From unknown Mon Apr 13 07:31:06 2026
X-Loop: owner@bugs.x2go.org
Subject: Bug#566: [X2Go-Dev] Bug#566: X2Go Client for Windows 4.0.2.1 cannot create C:\Users\<username>\ssh\known_hosts file when the local Windows account username has non-Ascii characters
Reply-To: Michael DePaulo <mikedep333@gmail.com>, 566@bugs.x2go.org
Resent-From: Michael DePaulo <mikedep333@gmail.com>
Resent-To: x2go-dev@lists.x2go.org
Resent-CC: X2Go Developers <x2go-dev@lists.x2go.org>
X-Loop: owner@bugs.x2go.org
Resent-Date: Tue, 09 Sep 2014 13:20:01 +0000
Resent-Message-ID: <handler.566.B566.141026855620549@bugs.x2go.org>
Resent-Sender: owner@bugs.x2go.org
X-X2Go-PR-Message: followup 566
X-X2Go-PR-Package: x2goclient
X-X2Go-PR-Keywords: 
Received: via spool by 566-submit@bugs.x2go.org id=B566.141026855620549
          (code B ref 566); Tue, 09 Sep 2014 13:20:01 +0000
Received: (at 566) by bugs.x2go.org; 9 Sep 2014 13:15:56 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,
	T_DKIM_INVALID autolearn=ham version=3.3.2
Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 088C75DEAB
	for <566@bugs.x2go.org>; Tue,  9 Sep 2014 15:15:53 +0200 (CEST)
Received: by mail-wi0-f178.google.com with SMTP id hi2so1158151wib.11
        for <566@bugs.x2go.org>; Tue, 09 Sep 2014 06:15:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
         :cc:content-type;
        bh=TDMD9DInwGIgjGBdOjuJ1SEHzEqScXdfZ+LlhGVL6co=;
        b=D0I/h3otqjW9n6EzFZsH6j3QdsVQ79v6zt+RH/wtkiKzTcXmozRu9eYHidk2ReGUs9
         U0MSo66lqgmJEuUWrT90p6ci4hF3U10ZOOKF/Z9uiSdd6WTjx7/hpC3F8FO2gnCftBdg
         FSB5LOIAELZ2lOLDac/5sbwVFkssmOsXiBmsFmnYoss1zNGfOdEsDx9XCmBfA0vyX6sV
         G4aDMl3TorNwmTr2+ZZKyqVUEwvs8wdzHydB2ymhsviwfQ3bH4vfQlasaWdFm9U7qhWf
         3rqu2gGpu49TJoom/YRyd0JUoYZsX37W5ahCByn+CZuxKj44Gev2E+937Gg31M/VOAzh
         vOFA==
MIME-Version: 1.0
X-Received: by 10.194.87.41 with SMTP id u9mr3070000wjz.124.1410268552644;
 Tue, 09 Sep 2014 06:15:52 -0700 (PDT)
Received: by 10.180.106.39 with HTTP; Tue, 9 Sep 2014 06:15:52 -0700 (PDT)
In-Reply-To: <20140908085833.Horde.1KVN9LjgQ3GOkz4EX-JZjA1@mail.das-netzwerkteam.de>
References: <000001cfb552$3193a8a0$94baf9e0$@gr>
	<handler.566.B.140775428816658.ack@bugs.x2go.org>
	<000001cfc60a$32831de0$978959a0$@gr>
	<20140901195103.Horde.HOAd34FDzvE7MwwNBCtaAg1@mail.das-netzwerkteam.de>
	<CAMKht8gaM7uupVMhTkPR3pg2jcO5sBRHCbYkMV8kCf0EvKK8sg@mail.gmail.com>
	<CAMKht8jxisag8A9F3yFBSg3BQ+PODLzrayu90S0G8OaQKZXtfQ@mail.gmail.com>
	<000001cfca83$2b11d830$81358890$@edu.gr>
	<CAMKht8hMDouAZr0zh0jQ8HhA_COJOfC-d0BKY4u6hTcCDEoQmQ@mail.gmail.com>
	<20140908085833.Horde.1KVN9LjgQ3GOkz4EX-JZjA1@mail.das-netzwerkteam.de>
Date: Tue, 9 Sep 2014 09:15:52 -0400
Message-ID: <CAMKht8jjsK7nK-CyU6OeDMRBgJHx9SC89YQdWLLGL_4+0yVMvA@mail.gmail.com>
From: Michael DePaulo <mikedep333@gmail.com>
To: 566@bugs.x2go.org
Cc: George Trakatelis <trakatelis@uom.edu.gr>, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Content-Type: multipart/mixed; boundary=089e0102fb4e1e6d790502a1bce9

--089e0102fb4e1e6d790502a1bce9
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 8, 2014 at 4:58 AM, Mike Gabriel
<mike.gabriel@das-netzwerkteam.de> wrote:
> Hi Mike#2,
>
>
> On  So 07 Sep 2014 15:23:22 CEST, Michael DePaulo wrote:
>
>> On Sun, Sep 7, 2014 at 6:04 AM, George Trakatelis <trakatelis@uom.edu.gr=
>
>> wrote:
>> [...]
>>>
>>>
>>> a. Installed German keyboard. Hit ';' to produce an accented letter
>>> and -to my surprise- got =C3=B6. So I thought =C3=B6lexandr was the rig=
ht name to
>>> test for username.
>>>
>>> b. Created user =C3=B6lexandr and logged in as that user.
>>> The patch did not work, as you mentioned.
>>>
>>> c. As toLocal8Bit() returns the local 8-bit representation of a string,
>>> I changed the system locale for non-unicode programs to German.
>>> Now the patch worked!
>>>
>>> I think the patch solves the problem for the Windows users who use
>>> English
>>> as a foreign language and prefer having (non-Ascii) usernames in their
>>> native language.
>>>
>>> -George
>>>
>>> PS. A better title for the bug would be
>>>
>>> X2Go Client for Windows 4.0.2.1 cannot create
>>> C:\Users\<username>\ssh\known_hosts file when the local Windows account
>>> username has non-Ascii characters
>>
>>
>> Hi Mike#1 and George,
>>
>> 1. What do you think of using toUtf8() instead? I am hoping that will
>> fix the bug regardless of the locale.
>>
>> I tried changing it to that (bug566.utf8.test.patch), but it still did
>> not fix this bug with the greek username on my system with the locale
>> set to English. It did not introduce a regression for my ASCII user
>> account at least.
>>
>> If libssh needs to be recompiled for Unicode, I can do that. I just
>> recompiled it for bug #590.
>>
>> FYI: This is the API we are calling:
>>
>> http://api.libssh.org/stable/group__libssh__session.html#ga7a801b85800ba=
a3f4e16f5b47db0a73d
>
>
> I am getting the suspicion, that this is a libssh issue.
>
> X2Go Client and libssh should communicate via UTF-8 (because it is _the_
> encoding that applications use internally, nowadays) and libssh should
> handle whatever conversion (probably to UTF-16 wide string?) is necessary
> for creating files, being aware of usernames, etc.
>
>> 2. in sshmasterconnection.cpp, we also set "SSH_OPTIONS_USER" . I
>> think that we should also change its value from to.Ascii() to
>> toLocal8Bit() or toUtf8(). bug566.test.v2.patch has this change for
>> toLocal8Bit(), and bug566.utf8.test.patch has it for toUtf8().
>
>
> Same thing. SSH_OPTIONS_USER should be set as UTF-8 and libssh should
> convert to whatever encoding is needed.
>
> Greets,
> Mike
[...]

Hi Mike#1 and George,

1.

I believe the best approach is to try to compile libssh with unicode
support, and pass unicode values to it. There is no guarantee that a
user's username (and home dir path) is in the same language as the
language that is set for non-Unicode programs. After all, the
"Language for non-Unicode programs" is called the "system locale", it
applies to all users on the system.

If we have to for the 4.0.3.0 release of x2goclient, we should fix
this bug for the system locale only, and then fix the bug for all
languages/locales later.

2.

See bug 474 for George's patch for compiling libssh with MinGW 4.8.2.
It worked :)

3.

I made some progress compiling libssh 0.6.3 with Unicode support.

With MinGW 4.4, when I specified the following values in CMAKE, libssh
built successfully, but it did not seem to change anything.
CMAKE_EXE_LINKER_FLAGS:STRING=3D-municode
CMAKE_MODULE_LINKER_FLAGS:STRING=3D-municode
CMAKE_SHARED_LINKER_FLAGS:STRING=3D-municode
CMAKE_STATIC_LINKER_FLAGS:STRING=3D-municode

With MinGW 4.8.2, when I specify those values, libssh fails to build.
I've attached the output.

This is a positive sign because it implies that MinGW 4.8.2 supports
-municode, whereas MinGW 4.4 did not.

I plan to try to resolve this build failure later tonight.

-Mike#2

--089e0102fb4e1e6d790502a1bce9
Content-Type: text/plain; charset=US-ASCII; 
	name="libssh-0.6.3-fails-to-build-mingw4.8.2-and--municode.txt"
Content-Disposition: attachment; 
	filename="libssh-0.6.3-fails-to-build-mingw4.8.2-and--municode.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hzv9207h1

QzpceDJnb2J1aWxkc1xsaWJzc2hcYnVpbGQ+bWFrZSBjbGVhbg0KDQpDOlx4MmdvYnVpbGRzXGxp
YnNzaFxidWlsZD5tYWtlDQpbICAxJV0gQnVpbGRpbmcgQyBvYmplY3Qgc3JjL0NNYWtlRmlsZXMv
c3NoX3NoYXJlZC5kaXIvYWdlbnQuYy5vYmoNCkM6XHgyZ29idWlsZHNcbGlic3NoXHNyY1xhZ2Vu
dC5jOiBJbiBmdW5jdGlvbiAnYWdlbnRfdGFsayc6DQpDOlx4MmdvYnVpbGRzXGxpYnNzaFxzcmNc
YWdlbnQuYzozNDY6Mzogd2FybmluZzogJ3NzaF9sb2cnIGlzIGRlcHJlY2F0ZWQgKGRlY2xhcmVk
IGF0IEM6L3gyZ29idWlsZHMvbGlic3NoL2luY2x1ZGUvbGlic3NoL2xpYnNzaC5oOjQ1MykgWy1X
ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdDQogICBzc2hfbG9nKHNlc3Npb24sIFNTSF9MT0dfUEFD
S0VULCAiYWdlbnRfdGFsayAtIGxlbiBvZiByZXF1ZXN0OiAldSIsIGlubGVuKTsNCiAgIF4NCkM6
XHgyZ29idWlsZHNcbGlic3NoXHNyY1xhZ2VudC5jOjM1NTozOiB3YXJuaW5nOiBwYXNzaW5nIGFy
Z3VtZW50IDMgb2YgJ2FnZW50X3F1ZXJ5JyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg
W2VuYWJsZWQgYnkgZGVmYXVsdF0NCiAgIGFnZW50X3F1ZXJ5KCh2b2lkKilwYXlsb2FkLCBpbmxl
biArIDQsICZ0LCAmb3V0bGVuKTsNCiAgIF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBDOlx4Mmdv
YnVpbGRzXGxpYnNzaFxzcmNcYWdlbnQuYzo2ODowOg0KQzpceDJnb2J1aWxkc1xsaWJzc2hcc3Jj
XHdpbnBnbnRjLmg6MzE6NTogbm90ZTogZXhwZWN0ZWQgJ3ZvaWQgKionIGJ1dCBhcmd1bWVudCBp
cyBvZiB0eXBlICd1aW50OF90ICoqJw0KIGludCBhZ2VudF9xdWVyeSh2b2lkICppbiwgaW50IGlu
bGVuLCB2b2lkICoqb3V0LCBpbnQgKm91dGxlbik7DQogICAgIF4NCkM6XHgyZ29idWlsZHNcbGli
c3NoXHNyY1xhZ2VudC5jOjM2MjozOiB3YXJuaW5nOiAnc3NoX2xvZycgaXMgZGVwcmVjYXRlZCAo
ZGVjbGFyZWQgYXQgQzoveDJnb2J1aWxkcy9saWJzc2gvaW5jbHVkZS9saWJzc2gvbGlic3NoLmg6
NDUzKSBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10NCiAgIHNzaF9sb2coc2Vzc2lvbiwgU1NI
X0xPR19QQUNLRVQsICJhZ2VudF90YWxrIC0gcmVzcG9uc2UgbGVuZ3RoOiAldSIsIG91dGxlbik7
DQogICBeDQpDOlx4MmdvYnVpbGRzXGxpYnNzaFxzcmNcYWdlbnQuYzozNjc6NTogd2FybmluZzog
J3NzaF9sb2cnIGlzIGRlcHJlY2F0ZWQgKGRlY2xhcmVkIGF0IEM6L3gyZ29idWlsZHMvbGlic3No
L2luY2x1ZGUvbGlic3NoL2xpYnNzaC5oOjQ1MykgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNd
DQogICAgIHNzaF9sb2coc2Vzc2lvbiwgU1NIX0xPR19GVU5DVElPTlMsDQogICAgIF4NClsgIDMl
XSBCdWlsZGluZyBDIG9iamVjdCBzcmMvQ01ha2VGaWxlcy9zc2hfc2hhcmVkLmRpci9hdXRoLmMu
b2JqDQpbICA1JV0gQnVpbGRpbmcgQyBvYmplY3Qgc3JjL0NNYWtlRmlsZXMvc3NoX3NoYXJlZC5k
aXIvYmFzZTY0LmMub2JqDQpbICA3JV0gQnVpbGRpbmcgQyBvYmplY3Qgc3JjL0NNYWtlRmlsZXMv
c3NoX3NoYXJlZC5kaXIvYnVmZmVyLmMub2JqDQpbICA5JV0gQnVpbGRpbmcgQyBvYmplY3Qgc3Jj
L0NNYWtlRmlsZXMvc3NoX3NoYXJlZC5kaXIvY2FsbGJhY2tzLmMub2JqDQpbIDEwJV0gQnVpbGRp
bmcgQyBvYmplY3Qgc3JjL0NNYWtlRmlsZXMvc3NoX3NoYXJlZC5kaXIvY2hhbm5lbHMuYy5vYmoN
ClsgMTIlXSBCdWlsZGluZyBDIG9iamVjdCBzcmMvQ01ha2VGaWxlcy9zc2hfc2hhcmVkLmRpci9j
bGllbnQuYy5vYmoNClsgMTQlXSBCdWlsZGluZyBDIG9iamVjdCBzcmMvQ01ha2VGaWxlcy9zc2hf
c2hhcmVkLmRpci9jb25maWcuYy5vYmoNClsgMTYlXSBCdWlsZGluZyBDIG9iamVjdCBzcmMvQ01h
a2VGaWxlcy9zc2hfc2hhcmVkLmRpci9jb25uZWN0LmMub2JqDQpbIDE4JV0gQnVpbGRpbmcgQyBv
YmplY3Qgc3JjL0NNYWtlRmlsZXMvc3NoX3NoYXJlZC5kaXIvY3VydmUyNTUxOS5jLm9iag0KWyAy
MCVdIEJ1aWxkaW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL2RoLmMu
b2JqDQpbIDIxJV0gQnVpbGRpbmcgQyBvYmplY3Qgc3JjL0NNYWtlRmlsZXMvc3NoX3NoYXJlZC5k
aXIvZWNkaC5jLm9iag0KWyAyMyVdIEJ1aWxkaW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVzL3Nz
aF9zaGFyZWQuZGlyL2Vycm9yLmMub2JqDQpbIDI1JV0gQnVpbGRpbmcgQyBvYmplY3Qgc3JjL0NN
YWtlRmlsZXMvc3NoX3NoYXJlZC5kaXIvZ2V0cGFzcy5jLm9iag0KWyAyNyVdIEJ1aWxkaW5nIEMg
b2JqZWN0IHNyYy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL2luaXQuYy5vYmoNClsgMjklXSBC
dWlsZGluZyBDIG9iamVjdCBzcmMvQ01ha2VGaWxlcy9zc2hfc2hhcmVkLmRpci9rZXguYy5vYmoN
ClsgMzAlXSBCdWlsZGluZyBDIG9iamVjdCBzcmMvQ01ha2VGaWxlcy9zc2hfc2hhcmVkLmRpci9r
bm93bl9ob3N0cy5jLm9iag0KWyAzMiVdIEJ1aWxkaW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVz
L3NzaF9zaGFyZWQuZGlyL2xlZ2FjeS5jLm9iag0KWyAzNCVdIEJ1aWxkaW5nIEMgb2JqZWN0IHNy
Yy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL2xpYmNyeXB0by5jLm9iag0KWyAzNiVdIEJ1aWxk
aW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL2xvZy5jLm9iag0KWyAz
OCVdIEJ1aWxkaW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL21hdGNo
LmMub2JqDQpbIDQwJV0gQnVpbGRpbmcgQyBvYmplY3Qgc3JjL0NNYWtlRmlsZXMvc3NoX3NoYXJl
ZC5kaXIvbWVzc2FnZXMuYy5vYmoNClsgNDElXSBCdWlsZGluZyBDIG9iamVjdCBzcmMvQ01ha2VG
aWxlcy9zc2hfc2hhcmVkLmRpci9taXNjLmMub2JqDQpbIDQzJV0gQnVpbGRpbmcgQyBvYmplY3Qg
c3JjL0NNYWtlRmlsZXMvc3NoX3NoYXJlZC5kaXIvb3B0aW9ucy5jLm9iag0KWyA0NSVdIEJ1aWxk
aW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL3BhY2tldC5jLm9iag0K
WyA0NyVdIEJ1aWxkaW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL3Bh
Y2tldF9jYi5jLm9iag0KWyA0OSVdIEJ1aWxkaW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVzL3Nz
aF9zaGFyZWQuZGlyL3BhY2tldF9jcnlwdC5jLm9iag0KWyA1MCVdIEJ1aWxkaW5nIEMgb2JqZWN0
IHNyYy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL3BjYXAuYy5vYmoNClsgNTIlXSBCdWlsZGlu
ZyBDIG9iamVjdCBzcmMvQ01ha2VGaWxlcy9zc2hfc2hhcmVkLmRpci9wa2kuYy5vYmoNClsgNTQl
XSBCdWlsZGluZyBDIG9iamVjdCBzcmMvQ01ha2VGaWxlcy9zc2hfc2hhcmVkLmRpci9wb2xsLmMu
b2JqDQpbIDU2JV0gQnVpbGRpbmcgQyBvYmplY3Qgc3JjL0NNYWtlRmlsZXMvc3NoX3NoYXJlZC5k
aXIvc2Vzc2lvbi5jLm9iag0KWyA1OCVdIEJ1aWxkaW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVz
L3NzaF9zaGFyZWQuZGlyL3NjcC5jLm9iag0KWyA2MCVdIEJ1aWxkaW5nIEMgb2JqZWN0IHNyYy9D
TWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL3NvY2tldC5jLm9iag0KWyA2MSVdIEJ1aWxkaW5nIEMg
b2JqZWN0IHNyYy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL3N0cmluZy5jLm9iag0KWyA2MyVd
IEJ1aWxkaW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL3RocmVhZHMu
Yy5vYmoNClsgNjUlXSBCdWlsZGluZyBDIG9iamVjdCBzcmMvQ01ha2VGaWxlcy9zc2hfc2hhcmVk
LmRpci93cmFwcGVyLmMub2JqDQpbIDY3JV0gQnVpbGRpbmcgQyBvYmplY3Qgc3JjL0NNYWtlRmls
ZXMvc3NoX3NoYXJlZC5kaXIvd2lucGdudGMuYy5vYmoNClsgNjklXSBCdWlsZGluZyBDIG9iamVj
dCBzcmMvQ01ha2VGaWxlcy9zc2hfc2hhcmVkLmRpci9wa2lfY3J5cHRvLmMub2JqDQpbIDcwJV0g
QnVpbGRpbmcgQyBvYmplY3Qgc3JjL0NNYWtlRmlsZXMvc3NoX3NoYXJlZC5kaXIvc2Z0cC5jLm9i
ag0KWyA3MiVdIEJ1aWxkaW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGly
L3NmdHBzZXJ2ZXIuYy5vYmoNClsgNzQlXSBCdWlsZGluZyBDIG9iamVjdCBzcmMvQ01ha2VGaWxl
cy9zc2hfc2hhcmVkLmRpci9zZXJ2ZXIuYy5vYmoNClsgNzYlXSBCdWlsZGluZyBDIG9iamVjdCBz
cmMvQ01ha2VGaWxlcy9zc2hfc2hhcmVkLmRpci9iaW5kLmMub2JqDQpbIDc4JV0gQnVpbGRpbmcg
QyBvYmplY3Qgc3JjL0NNYWtlRmlsZXMvc3NoX3NoYXJlZC5kaXIvZ3ppcC5jLm9iag0KWyA4MCVd
IEJ1aWxkaW5nIEMgb2JqZWN0IHNyYy9DTWFrZUZpbGVzL3NzaF9zaGFyZWQuZGlyL2N1cnZlMjU1
MTlfcmVmLmMub2JqDQpMaW5raW5nIEMgc2hhcmVkIGxpYnJhcnkgbGlic3NoLmRsbA0KWyA4MCVd
IEJ1aWx0IHRhcmdldCBzc2hfc2hhcmVkDQpbIDgxJV0gQnVpbGRpbmcgQyBvYmplY3Qgc3JjL3Ro
cmVhZHMvQ01ha2VGaWxlcy9zc2hfdGhyZWFkc19zaGFyZWQuZGlyL3B0aHJlYWQuYy5vYmoNCkxp
bmtpbmcgQyBzaGFyZWQgbGlicmFyeSBsaWJzc2hfdGhyZWFkcy5kbGwNClsgODElXSBCdWlsdCB0
YXJnZXQgc3NoX3RocmVhZHNfc2hhcmVkDQpbIDgzJV0gQnVpbGRpbmcgQyBvYmplY3QgZXhhbXBs
ZXMvQ01ha2VGaWxlcy9leGVjLmRpci9leGVjLmMub2JqDQpbIDg1JV0gQnVpbGRpbmcgQyBvYmpl
Y3QgZXhhbXBsZXMvQ01ha2VGaWxlcy9leGVjLmRpci9hdXRoZW50aWNhdGlvbi5jLm9iag0KWyA4
NyVdIEJ1aWxkaW5nIEMgb2JqZWN0IGV4YW1wbGVzL0NNYWtlRmlsZXMvZXhlYy5kaXIva25vd25o
b3N0cy5jLm9iag0KWyA4OSVdIEJ1aWxkaW5nIEMgb2JqZWN0IGV4YW1wbGVzL0NNYWtlRmlsZXMv
ZXhlYy5kaXIvY29ubmVjdF9zc2guYy5vYmoNCkxpbmtpbmcgQyBleGVjdXRhYmxlIGV4ZWMuZXhl
DQpDOi94MmdvYnVpbGRzL2k2ODYtNC44LjItcmVsZWFzZS1wb3NpeC1kd2FyZi1ydF92My1yZXYz
L2Jpbi8uLi9saWIvZ2NjL2k2ODYtdzY0LW1pbmd3MzIvNC44LjIvLi4vLi4vLi4vLi4vaTY4Ni13
NjQtbWluZ3czMi9saWIvLi4vbGliL2xpYm1pbmd3MzIuYShsaWIzMl9saWJtaW5ndzMyX2EtY3J0
MF93Lm8pOmNydDBfdy5jOigudGV4dCsweDI5KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgd1dp
bk1haW5AMTYnDQpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVz
DQpleGFtcGxlc1xDTWFrZUZpbGVzXGV4ZWMuZGlyXGJ1aWxkLm1ha2U6MTc0OiByZWNpcGUgZm9y
IHRhcmdldCAnZXhhbXBsZXMvZXhlYy5leGUnIGZhaWxlZA0KbWluZ3czMi1tYWtlWzJdOiAqKiog
W2V4YW1wbGVzL2V4ZWMuZXhlXSBFcnJvciAxDQpDTWFrZUZpbGVzXE1ha2VmaWxlMjoyMzA6IHJl
Y2lwZSBmb3IgdGFyZ2V0ICdleGFtcGxlcy9DTWFrZUZpbGVzL2V4ZWMuZGlyL2FsbCcgZmFpbGVk
DQptaW5ndzMyLW1ha2VbMV06ICoqKiBbZXhhbXBsZXMvQ01ha2VGaWxlcy9leGVjLmRpci9hbGxd
IEVycm9yIDINCk1ha2VmaWxlOjEzNTogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkDQpt
aW5ndzMyLW1ha2U6ICoqKiBbYWxsXSBFcnJvciAyDQoNCkM6XHgyZ29idWlsZHNcbGlic3NoXGJ1
aWxkPg==
--089e0102fb4e1e6d790502a1bce9--
