From unknown Fri Mar 29 08:30:25 2024 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\\ssh\known_hosts file when the local Windows account username has non-Ascii characters Reply-To: Michael DePaulo , 566@bugs.x2go.org Resent-From: Michael DePaulo Resent-To: x2go-dev@lists.x2go.org Resent-CC: X2Go Developers X-Loop: owner@bugs.x2go.org Resent-Date: Tue, 09 Sep 2014 13:20:01 +0000 Resent-Message-ID: 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> <000001cfc60a$32831de0$978959a0$@gr> <20140901195103.Horde.HOAd34FDzvE7MwwNBCtaAg1@mail.das-netzwerkteam.de> <000001cfca83$2b11d830$81358890$@edu.gr> <20140908085833.Horde.1KVN9LjgQ3GOkz4EX-JZjA1@mail.das-netzwerkteam.de> Date: Tue, 9 Sep 2014 09:15:52 -0400 Message-ID: From: Michael DePaulo To: 566@bugs.x2go.org Cc: George Trakatelis , Mike Gabriel 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 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 >> 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\\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--