From unknown Thu Jun 19 16:24:22 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#70803 <70803@debbugs.gnu.org> To: bug#70803 <70803@debbugs.gnu.org> Subject: Status: [PATCH] gnu: wm.scm: Add Binwarp to stumpwm-contrib Reply-To: bug#70803 <70803@debbugs.gnu.org> Date: Thu, 19 Jun 2025 23:24:22 +0000 retitle 70803 [PATCH] gnu: wm.scm: Add Binwarp to stumpwm-contrib reassign 70803 guix-patches submitter 70803 not emma severity 70803 normal tag 70803 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon May 06 12:03:27 2024 Received: (at submit) by debbugs.gnu.org; 6 May 2024 16:03:27 +0000 Received: from localhost ([127.0.0.1]:38833 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s40oF-0006Nv-Pr for submit@debbugs.gnu.org; Mon, 06 May 2024 12:03:27 -0400 Received: from lists.gnu.org ([2001:470:142::17]:58258) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s40cm-0006GX-Cn for submit@debbugs.gnu.org; Mon, 06 May 2024 11:51:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s40cE-00086k-Qe for guix-patches@gnu.org; Mon, 06 May 2024 11:50:59 -0400 Received: from mail-40137.protonmail.ch ([185.70.40.137]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s40cA-0005ue-Tt for guix-patches@gnu.org; Mon, 06 May 2024 11:50:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1715010651; x=1715269851; bh=5i3ukUHzHEiv4YtpbHk+hpvJhQ9TIuT83+1ThmV5Jt0=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=Xh0hIInC4yo2pLdAzAqUiFW21KretY3f05QobOqFOz1/7Z4ZOeAbQ3T91KqGJNbKW P4RO8swfs+4FaR10KWxwOgkNQgfiMPts9rInGBejb9H0xXMw/ZMphHeY+3dNtmzT6v 3IZsAqHeXAGrRHspYCtejMQPTW7Wxxe+Wg/rKdU6Ikc9SJDXQF/ppQ9SivMkNVS0qG 8mJBb4YYyS4ibmjSx3VioD8wFQi8dpV6tPJZMtijQN711Wst/xHU/c3su1XJBmaKEf xaqXLMJbncKV9zbbZ9zs1Vl5G/DtQUdirc97f+MJzwvrXYPrKBhqlG8oBFDx6Mo9tH wyB7oC6t281FA== Date: Mon, 06 May 2024 15:50:45 +0000 To: "guix-patches@gnu.org" From: not emma Subject: [PATCH] gnu: wm.scm: Add Binwarp to stumpwm-contrib Message-ID: Feedback-ID: 84785949:user:proton X-Pm-Message-ID: f0f69b20e157f0fc9e460bf29c6f4b24342d0aa9 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_V0bG35OYHhuda3UaGKbXWsOWjDFMv9ujDHCPTjJjhsY" Received-SPF: pass client-ip=185.70.40.137; envelope-from=bigbookofbug@proton.me; helo=mail-40137.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.7 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: This adds binwarp from the stumpwm-contrib repository - first patch so let me know if there's anything missing :) --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -71,6 +71,7 @@ ;;; Copyright © 2024 chris ;;; Copyright © 2024 Erik Eduardo Alonso Hernández ;;; [...] Content analysis details: (1.7 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.1 URIBL_SBL_A Contains URL's A record listed in the Spamhaus SBL blocklist [URIs: erikeduardo.xyz] 0.6 URIBL_SBL Contains an URL's NS IP listed in the Spamhaus SBL blocklist [URIs: erikeduardo.xyz] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 HTML_MESSAGE BODY: HTML included in message X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 06 May 2024 12:03:22 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) This is a multi-part message in MIME format. --b1_V0bG35OYHhuda3UaGKbXWsOWjDFMv9ujDHCPTjJjhsY Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 VGhpcyBhZGRzIGJpbndhcnAgZnJvbSB0aGUgc3R1bXB3bS1jb250cmliIHJlcG9zaXRvcnkgLSBm aXJzdCBwYXRjaCBzbyBsZXQgbWUga25vdyBpZiB0aGVyZSdzIGFueXRoaW5nIG1pc3NpbmcgOikK Ci0tLSBhL2dudS9wYWNrYWdlcy93bS5zY20KKysrIGIvZ251L3BhY2thZ2VzL3dtLnNjbQpAQCAt NzEsNiArNzEsNyBAQAo7OzsgQ29weXJpZ2h0IMKpIDIwMjQgY2hyaXMgPGNocmlzQGJ1bWJsZWhl YWQuY29tPgo7OzsgQ29weXJpZ2h0IMKpIDIwMjQgRXJpayBFZHVhcmRvIEFsb25zbyBIZXJuw6Fu ZGV6IDxlcmlrQGVyaWtlZHVhcmRvLnh5ej4KOzs7IENvcHlyaWdodCDCqSAyMDI0IEphbWVzIFNt aXRoIDxqc3VidW50dXhwQGRpc3Jvb3Qub3JnPgorOzs7IENvcHlyaWdodCDCqSAyMDI0IGJpZ2J1 ZyA8YmlnYm9va29mYnVnQHByb3Rvbi5tZT4KOzs7Cjs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBH TlUgR3VpeC4KOzs7CkBAIC0yNTkwLDYgKzI1OTEsMjIgQEAgKGRlZmluZS1wdWJsaWMgc2JjbC1z dHVtcHdtLXBhbWl4ZXIKY29udHJvbCBtb2R1bGUgZm9yIFN0dW1wV00uIikKKGxpY2Vuc2UgbGlj ZW5zZTpncGwzKSkpKQoKKyhkZWZpbmUtcHVibGljIHNiY2wtc3R1bXB3bS1iaW53YXJwCisgKHBh Y2thZ2UKKyAoaW5oZXJpdCBzdHVtcHdtLWNvbnRyaWIpCisgKG5hbWUgInNiY2wtc3R1bXB3bS1i aW53YXJwIikKKyAoYXJndW1lbnRzCisgJygjOmFzZC1zeXN0ZW1zICcoImJpbndhcnAiKQorICM6 dGVzdHM/ICNmCisgIzpwaGFzZXMKKyAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCisg KGFkZC1hZnRlciAndW5wYWNrICdjaGRpcgorIChsYW1iZGEgXyAoY2hkaXIgInV0aWwvYmlud2Fy cCIpICN0KSkpKSkKKyAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vc3R1bXB3bS9zdHVt cHdtLWNvbnRyaWIiKQorIChzeW5vcHNpcyAiS2V5Ym9hcmQtZHJpdmVuIGRpdmlkZS1hbmQtY29u cXVlciBtb3VzZSBjb250cm9sIG1vZGUuIikKKyAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBw cm92aWRlcyBhIG5ldyBrZXlib2FyZC1kcml2ZW4ga2V5bWFwLiIpCisgKGxpY2Vuc2UgKGxpc3Qg bGljZW5zZTpncGwyKyBsaWNlbnNlOmdwbDMrIGxpY2Vuc2U6YnNkLTIpKSkpCisKKGRlZmluZS1w dWJsaWMgc2JjbC1zdHVtcHdtLXR0Zi1mb250cwoocGFja2FnZSAoaW5oZXJpdCBzdHVtcHdtLWNv bnRyaWIpCgpTZW50IHdpdGggW1Byb3RvbiBNYWlsXShodHRwczovL3Byb3Rvbi5tZS8pIHNlY3Vy ZSBlbWFpbC4= --b1_V0bG35OYHhuda3UaGKbXWsOWjDFMv9ujDHCPTjJjhsY Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwg MjU1KTsiPjxzcGFuPlRoaXMgYWRkcyBiaW53YXJwIGZyb20gdGhlIHN0dW1wd20tY29udHJpYiBy ZXBvc2l0b3J5IC0gZmlyc3QgcGF0Y2ggc28gbGV0IG1lIGtub3cgaWYgdGhlcmUncyBhbnl0aGlu ZyBtaXNzaW5nIDopPGJyPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPjxicj48L3NwYW4+PC9kaXY+ PGRpdj48c3Bhbj4tLS0gYS9nbnUvcGFja2FnZXMvd20uc2NtPC9zcGFuPjwvZGl2PjxkaXY+PHNw YW4+KysrIGIvZ251L3BhY2thZ2VzL3dtLnNjbTwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPkBAIC03 MSw2ICs3MSw3IEBAPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7Ozs7IENvcHlyaWdodCDC qSAyMDI0IGNocmlzICZsdDs8YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9s bG93IG5vb3BlbmVyIiBocmVmPSJtYWlsdG86Y2hyaXNAYnVtYmxlaGVhZC5jb20iPmNocmlzQGJ1 bWJsZWhlYWQuY29tPC9hPiZndDs8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDs7OzsgQ29w eXJpZ2h0IMKpIDIwMjQgRXJpayBFZHVhcmRvIEFsb25zbyBIZXJuw6FuZGV6ICZsdDtlcmlrQGVy aWtlZHVhcmRvLnh5eiZndDs8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDs7OzsgQ29weXJp Z2h0IMKpIDIwMjQgSmFtZXMgU21pdGggJmx0OzxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVm ZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIGhyZWY9Im1haWx0bzpqc3VidW50dXhwQGRpc3Jvb3Qu b3JnIj5qc3VidW50dXhwQGRpc3Jvb3Qub3JnPC9hPiZndDs8L3NwYW4+PC9kaXY+PGRpdj48c3Bh bj4rOzs7IENvcHlyaWdodCDCqSAyMDI0IGJpZ2J1ZyAmbHQ7PGEgdGFyZ2V0PSJfYmxhbmsiIHJl bD0ibm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciIgaHJlZj0ibWFpbHRvOmJpZ2Jvb2tvZmJ1 Z0Bwcm90b24ubWUiPmJpZ2Jvb2tvZmJ1Z0Bwcm90b24ubWU8L2E+Jmd0Ozwvc3Bhbj48L2Rpdj48 ZGl2PjxzcGFuPiZuYnNwOzs7Ozwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOzs7OyBUaGlz IGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDs7 Ozs8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj5AQCAtMjU5MCw2ICsyNTkxLDIyIEBAIChkZWZpbmUt cHVibGljIHNiY2wtc3R1bXB3bS1wYW1peGVyPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7 Y29udHJvbCBtb2R1bGUgZm9yIFN0dW1wV00uIik8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsobGljZW5zZSBsaWNlbnNlOmdwbDMpKSkpPC9zcGFuPjwv ZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+KyhkZWZpbmUtcHVibGljIHNiY2wtc3R1bXB3 bS1iaW53YXJwPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+KyAmbmJzcDsgJm5ic3A7KHBhY2thZ2U8 L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4rICZuYnNwOyAmbmJzcDsgKGluaGVyaXQgc3R1bXB3bS1j b250cmliKTwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPisgJm5ic3A7ICZuYnNwOyAobmFtZSAic2Jj bC1zdHVtcHdtLWJpbndhcnAiKTwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPisgJm5ic3A7ICZuYnNw OyAoYXJndW1lbnRzPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+KyAmbmJzcDsgJm5ic3A7ICZuYnNw OycoIzphc2Qtc3lzdGVtcyAnKCJiaW53YXJwIik8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4rICZu YnNwOyAmbmJzcDsgJm5ic3A7ICM6dGVzdHM/ICNmPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+KyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAjOnBoYXNlczwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPisgJm5i c3A7ICZuYnNwOyAmbmJzcDsgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlczwvc3Bhbj48 L2Rpdj48ZGl2PjxzcGFuPisgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyhhZGQtYWZ0ZXIgJ3VucGFjayAn Y2hkaXI8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4rICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAobGFtYmRhIF8gKGNoZGlyICJ1dGlsL2Jpbndh cnAiKSAjdCkpKSkpPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+KyAmbmJzcDsgJm5ic3A7ICZuYnNw Oyhob21lLXBhZ2UgIjxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cg bm9vcGVuZXIiIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9zdHVtcHdtL3N0dW1wd20tY29udHJp YiI+aHR0cHM6Ly9naXRodWIuY29tL3N0dW1wd20vc3R1bXB3bS1jb250cmliPC9hPiIpPC9zcGFu PjwvZGl2PjxkaXY+PHNwYW4+KyAmbmJzcDsgJm5ic3A7ICZuYnNwOyhzeW5vcHNpcyAiS2V5Ym9h cmQtZHJpdmVuIGRpdmlkZS1hbmQtY29ucXVlciBtb3VzZSBjb250cm9sIG1vZGUuIik8L3NwYW4+ PC9kaXY+PGRpdj48c3Bhbj4rICZuYnNwOyAmbmJzcDsgJm5ic3A7KGRlc2NyaXB0aW9uICJUaGlz IHBhY2thZ2UgcHJvdmlkZXMgYSBuZXcga2V5Ym9hcmQtZHJpdmVuIGtleW1hcC4iKTwvc3Bhbj48 L2Rpdj48ZGl2PjxzcGFuPisgJm5ic3A7ICZuYnNwOyAmbmJzcDsobGljZW5zZSAobGlzdCBsaWNl bnNlOmdwbDIrIGxpY2Vuc2U6Z3BsMysgbGljZW5zZTpic2QtMikpKSk8L3NwYW4+PC9kaXY+PGRp dj48c3Bhbj4rPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7KGRlZmluZS1wdWJsaWMgc2Jj bC1zdHVtcHdtLXR0Zi1mb250czwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDso cGFja2FnZTwvc3Bhbj48L2Rpdj48c3Bhbj4mbmJzcDsgJm5ic3A7ICZuYnNwOyhpbmhlcml0IHN0 dW1wd20tY29udHJpYik8L3NwYW4+PGJyPjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2Pg0KPGRpdiBjbGFzcz0icHJv dG9ubWFpbF9zaWduYXR1cmVfYmxvY2siIHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMt c2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPg0KICAgIDxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2ln bmF0dXJlX2Jsb2NrLXVzZXIgcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stZW1wdHkiPg0KICAg ICAgICANCiAgICAgICAgICAgIDwvZGl2Pg0KICAgIA0KICAgICAgICAgICAgPGRpdiBjbGFzcz0i cHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIj4NCiAgICAgICAgU2VudCB3aXRoIDxh IHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3Byb3Rvbi5tZS8iIHJlbD0ibm9vcGVuZXIg bm9yZWZlcnJlciI+UHJvdG9uIE1haWw8L2E+IHNlY3VyZSBlbWFpbC4NCiAgICA8L2Rpdj4NCjwv ZGl2Pg0K --b1_V0bG35OYHhuda3UaGKbXWsOWjDFMv9ujDHCPTjJjhsY-- From debbugs-submit-bounces@debbugs.gnu.org Thu May 09 10:58:36 2024 Received: (at 70803) by debbugs.gnu.org; 9 May 2024 14:58:36 +0000 Received: from localhost ([127.0.0.1]:55779 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s55EC-00044R-F2 for submit@debbugs.gnu.org; Thu, 09 May 2024 10:58:36 -0400 Received: from mout01.posteo.de ([185.67.36.65]:60527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s55E9-00044L-5b for 70803@debbugs.gnu.org; Thu, 09 May 2024 10:58:35 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id AC104240028 for <70803@debbugs.gnu.org>; Thu, 9 May 2024 16:58:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1715266680; bh=W3ZOt8nC20M7Bk26n6vOwj+jFfmu4b2b3+5WncaqxOE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: From; b=QwsQoVpaBKW3wVbXa7+4jKk5exQZ8hNNntQD8Vm1n0wCXSjsas4st3TGZLOJ+ZFh/ Nnz9uNKKP42cjlioERA9JW1u3t/6me7zKUYGIkz1PcZHilnunoUmRLOdQCbgN2uC7c eA7qr8D/VhzAdJM0zBlHq28QEaYXm0GcF5BOPz/gJMuzvw22x5W53nC2zPslYR0rUV fgWg+ZpRX4wLNvDDGcb1SJd9h46BpWl+L7XN9r5TxjAyG5KTKLNjLvRSpORbUltOMe S5mCY2TzzhJoJoA7z93vzbtKDHdYVIgn88y5Rdon9c0sxAkliTi+KZ0oN6WQHTHPg+ hzhM33yMA2o7Q== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4VZw9g61Zsz6tlh; Thu, 9 May 2024 16:57:59 +0200 (CEST) From: Guillaume Le Vaillant To: not emma Subject: Re: [bug#70803] [PATCH] gnu: wm.scm: Add Binwarp to stumpwm-contrib In-Reply-To: (not emma via Guix-patches via's message of "Mon, 06 May 2024 15:50:45 +0000") References: Date: Thu, 09 May 2024 14:57:58 +0000 Message-ID: <87v83noww9.fsf@kitej> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70803 Cc: 70803@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Hi. The patch you sent is corrupted and does not apply. It looks like your email client destroyed the indentation. Could you send the patch again after setting your email client not to do that? You can also sent the patch as an attached file if your email client refuses to cooperate. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCZjzkdg8cZ2x2QHBvc3Rl by5uZXQACgkQa+ggit8h/j86lQEAhS0o+HcGKWiHI1BDeGByReI7j22XNbZ1nFrQ teJ8yrUA/jU5Mksu7RXEkXlwndhgVOEz9SpPbRzlp9bEjNR43Gsl =Bpp5 -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu May 09 11:30:44 2024 Received: (at 70803) by debbugs.gnu.org; 9 May 2024 15:30:44 +0000 Received: from localhost ([127.0.0.1]:55905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s55jI-0004Q0-Lh for submit@debbugs.gnu.org; Thu, 09 May 2024 11:30:44 -0400 Received: from mail-4324.protonmail.ch ([185.70.43.24]:36663) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s55jG-0004Ps-4q for 70803@debbugs.gnu.org; Thu, 09 May 2024 11:30:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1715268604; x=1715527804; bh=5zVXCp0/Fu+Ru07PiR3VWYR/Ugwlhe0NG4hhd02ZLFc=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=AdDLO2+i1SZdAuvWgTXBqeIKhxpZ/Ar19UIPxNqA8cvcumeSChel/TBEA1TG8EaYY 2w0JdmjW+vvAf55GGcRLlDE26CrAUcxDk4CaJ/G0x/R9N1wJFX6IBWFp104VZYHW5d a5ORI2ta5IQ4nHZ40zEaBLBAT3W9ZEcJV1Anhs/NYLIyvdQHsDzarv82zsHsOdcocE HcyxKrZrT34OEudfCXEP+bBvbHF9228yWRPU/ChkkL+hCGoCdEkrLKj3dNCzHcF0Pz JS3NtKKr/EFqtBTH0YrJM5Ky25vjvD+8nXuOQmrjxzta5d3N8L3r5ouR9NTTwOwxTR oPZxBZaBvMNSg== Date: Thu, 09 May 2024 15:29:58 +0000 To: "70803@debbugs.gnu.org" <70803@debbugs.gnu.org> From: not emma Subject: Fw: Re: [bug#70803] [PATCH] gnu: wm.scm: Add Binwarp to stumpwm-contrib Message-ID: <9f4Lh2XMAGhxkqKVzuBVJUv_N26pr9ozlniKAvJkVQyO7u5nCkkS6oSKnRQRyQUUmDq-xDjnqp9bwnNR3XDrwH3q-uj_VaoNk35lmBMaTX8=@proton.me> In-Reply-To: References: <87v83noww9.fsf@kitej> Feedback-ID: 84785949:user:proton X-Pm-Message-ID: 89c0636eb5310cb577fb31425b1cc10222ba08e6 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_CjxkiuITA7aDnCQ6KqQTZUp9Mo5CLoLzfpDqMfZvqBY" X-Debbugs-Envelope-To: 70803 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" This is a multi-part message in MIME format. --b1_CjxkiuITA7aDnCQ6KqQTZUp9Mo5CLoLzfpDqMfZvqBY Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Sent with Proton Mail secure email. ------- Forwarded Message ------- From: not emma Date: On Thursday, May 9th, 2024 at 3:27 PM Subject: Re: [bug#70803] [PATCH] gnu: wm.scm: Add Binwarp to stumpwm-contri= b To: Guillaume Le Vaillant > Thanks for the heads up! I'm attaching the diff as a text file - and will= attatch the the modified wm.scm as well >=20 >=20 >=20 >=20 > Sent with Proton Mail secure email. >=20 >=20 > On Thursday, May 9th, 2024 at 2:57 PM, Guillaume Le Vaillant glv@posteo.n= et wrote: >=20 > > Hi. > > The patch you sent is corrupted and does not apply. > > It looks like your email client destroyed the indentation. Could you > > send the patch again after setting your email client not to do that? > > You can also sent the patch as an attached file if your email client > > refuses to cooperate. --b1_CjxkiuITA7aDnCQ6KqQTZUp9Mo5CLoLzfpDqMfZvqBY Content-Type: text/plain; name=binwarp-diff.txt Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=binwarp-diff.txt ZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy93bS5zY20gYi9nbnUvcGFja2FnZXMvd20uc2NtCmlu ZGV4IGY0YzZkYmRhMGEuLjE5NDE0ZWVjNTMgMTAwNjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy93bS5z Y20KKysrIGIvZ251L3BhY2thZ2VzL3dtLnNjbQpAQCAtNzEsNiArNzEsNyBAQAogOzs7IENvcHly aWdodCDCqSAyMDI0IGNocmlzIDxjaHJpc0BidW1ibGVoZWFkLmNvbT4KIDs7OyBDb3B5cmlnaHQg wqkgMjAyNCBFcmlrIEVkdWFyZG8gQWxvbnNvIEhlcm7DoW5kZXogPGVyaWtAZXJpa2VkdWFyZG8u eHl6PgogOzs7IENvcHlyaWdodCDCqSAyMDI0IEphbWVzIFNtaXRoIDxqc3VidW50dXhwQGRpc3Jv b3Qub3JnPgorOzs7IENvcHlyaWdodCDCqSAyMDI0IGJpZ2J1ZyA8YmlnYm9va29mYnVnQHByb3Rv bi5tZT4KIDs7OwogOzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBHdWl4LgogOzs7CkBAIC0y NTkwLDYgKzI1OTEsMjIgQEAgKGRlZmluZS1wdWJsaWMgc2JjbC1zdHVtcHdtLXBhbWl4ZXIKIGNv bnRyb2wgbW9kdWxlIGZvciBTdHVtcFdNLiIpCiAgICAgICAobGljZW5zZSBsaWNlbnNlOmdwbDMp KSkpCiAKKyhkZWZpbmUtcHVibGljIHNiY2wtc3R1bXB3bS1iaW53YXJwCisgICAgKHBhY2thZ2UK KyAgICAgKGluaGVyaXQgc3R1bXB3bS1jb250cmliKQorICAgICAobmFtZSAic2JjbC1zdHVtcHdt LWJpbndhcnAiKQorICAgICAoYXJndW1lbnRzCisgICAgICAnKCM6YXNkLXN5c3RlbXMgJygiYmlu d2FycCIpCisJIzp0ZXN0cz8gI2YKKwkjOnBoYXNlcworCShtb2RpZnktcGhhc2VzICVzdGFuZGFy ZC1waGFzZXMKKwkJICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAnY2hkaXIKKwkJCQkgIChsYW1i ZGEgXyAoY2hkaXIgInV0aWwvYmlud2FycCIpICN0KSkpKSkKKyAgICAgIChob21lLXBhZ2UgImh0 dHBzOi8vZ2l0aHViLmNvbS9zdHVtcHdtL3N0dW1wd20tY29udHJpYiIpCisgICAgICAoc3lub3Bz aXMgIktleWJvYXJkLWRyaXZlbiBkaXZpZGUtYW5kLWNvbnF1ZXIgbW91c2UgY29udHJvbCBtb2Rl LiIpCisgICAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBhIG5ldyBrZXli b2FyZC1kcml2ZW4ga2V5bWFwLiIpCisgICAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmdwbDIr IGxpY2Vuc2U6Z3BsMysgbGljZW5zZTpic2QtMikpKSkKKwogKGRlZmluZS1wdWJsaWMgc2JjbC1z dHVtcHdtLXR0Zi1mb250cwogICAocGFja2FnZQogICAgIChpbmhlcml0IHN0dW1wd20tY29udHJp YikK --b1_CjxkiuITA7aDnCQ6KqQTZUp9Mo5CLoLzfpDqMfZvqBY Content-Type: text/x-scheme; name=wm.scm Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=wm.scm Ozs7IEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBhY2thZ2UgbWFuYWdlbWVudCBmb3IgR05VCjs7 OyBDb3B5cmlnaHQgwqkgMjAxNSBFcmljIER2b3JzYWsgPGVyaWNAZHZvcnNhay5mcj4KOzs7IENv cHlyaWdodCDCqSAyMDE1IFNpbmnFoWEgQmnEkWluIDxzaW5pc2FAYmlkaW4uZXU+Cjs7OyBDb3B5 cmlnaHQgwqkgMjAxNSwgMjAxNiwgMjAyMiBFcmljIEJhdmllciA8YmF2aWVyQHBvc3Rlby5uZXQ+ Cjs7OyBDb3B5cmlnaHQgwqkgMjAxNSB4ZDFsZSA8ZWxpc3AudmltQGdtYWlsLmNvbT4KOzs7IENv cHlyaWdodCDCqSAyMDE1IFBhdWwgdmFuIGRlciBXYWx0IDxwYXVsQGRlbmtuZXJkLm9yZz4KOzs7 IENvcHlyaWdodCDCqSAyMDE2IERhbm55IE1pbG9zYXZsamV2aWMgPGRhbm55bUBzY3JhdGNocG9z dC5vcmc+Cjs7OyBDb3B5cmlnaHQgwqkgMjAxNiwgMjAxOSwgMjAyMCwgMjAyMywgMjAyNCBFZnJh aW0gRmxhc2huZXIgPGVmcmFpbUBmbGFzaG5lci5jby5pbD4KOzs7IENvcHlyaWdodCDCqSAyMDE2 IEFsIE1jRWxyYXRoIDxoZWxsb0B5cm5zLm9yZz4KOzs7IENvcHlyaWdodCDCqSAyMDE2IENhcmxv IFphbmNhbmFybyA8Y2FybG9AemFuY2FuYXJvLmlkLmF1Pgo7OzsgQ29weXJpZ2h0IMKpIDIwMTYg MjAxOSwgMjAyMS0yMDIyIEx1ZG92aWMgQ291cnTDqHMgPGx1ZG9AZ251Lm9yZz4KOzs7IENvcHly aWdodCDCqSAyMDE2LCAyMDE3LCAyMDE4LCAyMDIwIE5pa2l0YSA8bmlraXRhQG4wLmlzPgo7Ozsg Q29weXJpZ2h0IMKpIDIwMTYgZG9uY2F0bmlwIDxnbm9wYXBAZ21haWwuY29tPgo7OzsgQ29weXJp Z2h0IMKpIDIwMTYgSXZhbiBWaWxhdGEgaSBCYWxhZ3VlciA8aXZhbkBzZWxpZG9yLm5ldD4KOzs7 IENvcHlyaWdodCDCqSAyMDE3IE1la2VvciBNZWxpcmUgPG1la2Vvci5tZWxpcmVAZ21haWwuY29t Pgo7OzsgQ29weXJpZ2h0IMKpIDIwMTcsIDIwMTksIDIwMjAgTWFyaXVzIEJha2tlIDxtYXJpdXNA Z251Lm9yZz4KOzs7IENvcHlyaWdodCDCqSAyMDE3LCAyMDIwLCAyMDIxIE9sZWcgUHlraGFsb3Yg PGdvLndpZ3VzdEBnbWFpbC5jb20+Cjs7OyBDb3B5cmlnaHQgwqkgMjAxOOKAkzIwMjEgVG9iaWFz IEdlZXJpbmNreC1SaWNlIDxtZUB0b2JpYXMuZ3I+Cjs7OyBDb3B5cmlnaHQgwqkgMjAxOCBQaWVy cmUtQW50b2luZSBSb3VieSA8Y29udGFjdEBwYXJvdWJ5LmZyPgo7OzsgQ29weXJpZ2h0IMKpIDIw MTgsIDIwMTkgTWVpeW8gUGVuZyA8bWVpeW9AcmlzZXVwLm5ldD4KOzs7IENvcHlyaWdodCDCqSAy MDE5IFJ1dGdlciBIZWxsaW5nIDxyaGVsbGluZ0BteWtvbGFiLmNvbT4KOzs7IENvcHlyaWdodCDC qSAyMDE5IFRpbW90aHkgU2FtcGxlIDxzYW1wbGV0QG5neXJvLmNvbT4KOzs7IENvcHlyaWdodCDC qSAyMDE5IEfDoWJvciBCb3Nrb3ZpdHMgPGJvc2tvdml0c0BnbWFpbC5jb20+Cjs7OyBDb3B5cmln aHQgwqkgMjAxOSBLeWxlIEFuZHJld3MgPGt5bGUuYy5hbmRyZXdzQGdtYWlsLmNvbT4KOzs7IENv cHlyaWdodCDCqSAyMDE5IEluZ28gUnVobmtlIDxncnVtYmVsQGdtYWlsLmNvbT4KOzs7IENvcHly aWdodCDCqSAyMDE5IFRhbmd1eSBMZSBDYXJyb3VyIDx0YW5ndXlAYmlvbmVsYW5kLm9yZz4KOzs7 IENvcHlyaWdodCDCqSAyMDE5IEpvaG4gU29vIDxqc29vMUBhc3UuZWR1Pgo7OzsgQ29weXJpZ2h0 IMKpIDIwMTgsIDIwMTkgUGllcnJlIExhbmdsb2lzIDxwaWVycmUubGFuZ2xvaXNAZ214LmNvbT4K Ozs7IENvcHlyaWdodCDCqSAyMDE2LCAyMDE3IEFuZHkgUGF0dGVyc29uIDxhanBhdHRlckB1d2F0 ZXJsb28uY2E+Cjs7OyBDb3B5cmlnaHQgwqkgMjAxOSBFdmFuIFN0cmF3IDxldmFuLnN0cmF3OTlA Z21haWwuY29tPgo7OzsgQ29weXJpZ2h0IMKpIDIwMTkgQnJldHQgR2lsaW8gPGJyZXR0Z0BnbnUu b3JnPgo7OzsgQ29weXJpZ2h0IMKpIDIwMTkgTm9vZGxlcyEgPG5ub29kbGVAY2hpcnUubm8+Cjs7 OyBDb3B5cmlnaHQgwqkgMjAxOSwgMjAyMCBBbGV4YW5kcnUtU2VyZ2l1IE1hcnRvbiA8YnJvd24x MjE0MDdAbWVtYmVyLmZzZi5vcmc+Cjs7OyBDb3B5cmlnaHQgwqkgMjAyMCwgMjAyMSBOaWNvbGFz IEdvYXppb3UgPG1haWxAbmljb2xhc2dvYXppb3UuZnI+Cjs7OyBDb3B5cmlnaHQgwqkgMjAyMCBC cmljZSBXYWVnZW5laXJlIDxicmljZUB3YWVnZW5laS5yZT4KOzs7IENvcHlyaWdodCDCqSAyMDIw IEJvcmlzIEEuIERla3NodGV5biA8aGFybGVxdWluNzhAZ21haWwuY29tPgo7OzsgQ29weXJpZ2h0 IMKpIDIwMjAgTWFyY2luIEthcnBlem8gPHNpcm1hY2lrQHdpb28ud2F3LnBsPgo7OzsgQ29weXJp Z2h0IMKpIDIwMjAgRXVBbmRyZWggPGV1QGV1YW5kcmUub3JnPgo7OzsgQ29weXJpZ2h0IMKpIDIw MjAgTWljaGFlbCBSb2hsZWRlciA8bWlrZUByb2hsZWRlci5kZT4KOzs7IENvcHlyaWdodCDCqSAy MDIwLCAyMDIyLCAyMDIzIEd1aWxsYXVtZSBMZSBWYWlsbGFudCA8Z2x2QHBvc3Rlby5uZXQ+Cjs7 OyBDb3B5cmlnaHQgwqkgMjAyMCBCLiBXaWxzb24gPGVsYWV4dW90ZWVAd2lsc29uYi5jb20+Cjs7 OyBDb3B5cmlnaHQgwqkgMjAyMCBOaWtsYXMgRWtsdW5kIDxuaWtsYXMuZWtsdW5kQHBvc3Rlby5u ZXQ+Cjs7OyBDb3B5cmlnaHQgwqkgMjAyMCBSb2JlcnQgU21pdGggPHJvYmVydHNtaXRoQHBvc3Rl by5uZXQ+Cjs7OyBDb3B5cmlnaHQgwqkgMjAyMSwgMjAyMywgMjAyNCBaaGVuZyBKdW5qaWUgPDg3 MzIxNjA3MUBxcS5jb20+Cjs7OyBDb3B5cmlnaHQgwqkgMjAyMSBTaGFybGF0YW4gSGVsbHNlaGVy IDxzaGFybGF0YW51c0BnbWFpbC5jb20+Cjs7OyBDb3B5cmlnaHQgwqkgMjAyMSBxYmxhZGUgPHFi bGFkZUBwcm90b25tYWlsLmNvbT4KOzs7IENvcHlyaWdodCDCqSAyMDIxIGxhc25lc25lIDxsYXNu ZXNuZUBsYWd1bnBvc3ByYXNpaG9wcmUub3JnPgo7OzsgQ29weXJpZ2h0IMKpIDIwMjEsIDIwMjIg UGV0ciBIb2RpbmEgPHBob2RpbmFAcHJvdG9ubWFpbC5jb20+Cjs7OyBDb3B5cmlnaHQgwqkgMjAy MSwgMjAyMyBqZ2FydCA8amdhcnRAZGlzbWFpbC5kZT4KOzs7IENvcHlyaWdodCDCqSAyMDIxIERp c3NlbWluYXRlIERpc3NlbnQgPGRpc3NlbWluYXRlZGlzc2VudEBwcm90b25tYWlsLmNvbT4KOzs7 IENvcHlyaWdodCDCqSAyMDIyIEpvaG4gS2VoYXlpYXMgPGpvaG4ua2VoYXlpYXNAcHJvdG9ubWFp bC5jb20+Cjs7OyBDb3B5cmlnaHQgwqkgMjAyMiBHYWJyaWVsIFdpY2tpIDxnYWJyaWVsQGVybGlr b24uY2g+Cjs7OyBDb3B5cmlnaHQgwqkgMjAyMiBKYWkgVmV0cml2ZWxhbiA8amFpdmV0cml2ZWxh bkBnbWFpbC5jb20+Cjs7OyBDb3B5cmlnaHQgwqkgMjAyMiBEYW5pZWwgTWVpw59uZXIgPGRhbmll bC5tZWlzc25lci1pNGtAcnVoci11bmktYm9jaHVtLmRlPgo7OzsgQ29weXJpZ2h0IMKpIDIwMjIg UGllci1IdWd1ZXMgUGVsbGVyaW4gPHBoQGhleWtpbW8uY29tPgo7OzsgQ29weXJpZ2h0IMKpIDIw MjIgTWF4aW0gQ291cm5veWVyIDxtYXhpbS5jb3Vybm95ZXJAZ21haWwuY29tPgo7OzsgQ29weXJp Z2h0IMKpIDIwMjIgbXVyYWRtIDxtYWlsQG11cmFkbS5uZXQ+Cjs7OyBDb3B5cmlnaHQgwqkgMjAy MiBFbGFpcyBQbGF5ZXIgPGVsYWlzQGZhc3RtYWlsLmNvbT4KOzs7IENvcHlyaWdodCDCqSAyMDIy LCAyMDIzIFRyZXZvciBSaWNoYXJkcyA8dHJldkB0cmV2ZGV2LmNhPgo7OzsgQ29weXJpZ2h0IMKp IDIwMjIgRnJlZHJpayBTYWxvbW9uc3NvbiA8cGxhdHRmb3RAcG9zdGVvLm5ldD4KOzs7IENvcHly aWdodCDCqSAyMDIyICggPHBhcmVuQGRpc3Jvb3Qub3JnPgo7OzsgQ29weXJpZ2h0IMKpIDIwMjIg emFtZm9mZXggPHphbWZvZmV4QHR3ZGIubW9lPgo7OzsgQ29weXJpZ2h0IMKpIDIwMjMgR2Ficmll bCBXaWNraSA8Z2FicmllbEBlcmxpa29uLmNoPgo7OzsgQ29weXJpZ2h0IMKpIDIwMjMgSm9uYXRo YW4gQnJpZWxhbWllciA8am9uYXRoYW4uYnJpZWxtYWllckB3ZWIuZGU+Cjs7OyBDb3B5cmlnaHQg wqkgMjAyMyBWZXNzZWwgV2F2ZSA8dmVzc2Vsd2F2ZUBkaXNyb290Lm9yZz4KOzs7IENvcHlyaWdo dCDCqSAyMDIzIE5pY29sYXMgR3JhdmVzIDxuZ3JhdmVzQG5ncmF2ZXMuZnI+Cjs7OyBDb3B5cmln aHQgwqkgMjAyMywgMjAyNCBKYWVtZSBTaWZhdCA8amFlbWVAcnVuYm94LmNvbT4KOzs7IENvcHly aWdodCDCqSAyMDIzIEpvc3NlbGluIFBvaXJldCA8ZGV2QGpwb2lyZXQueHl6Pgo7OzsgQ29weXJp Z2h0IMKpIDIwMjQgVGltb3RlaiBMYXphciA8dGltb3Rlai5sYXphckBhcmFuZW8uc2k+Cjs7OyBD b3B5cmlnaHQgwqkgMjAyNCBBaG1hZCBEcmFpZGkgPGEuci5kcmFpZGlAcmVkc2NyaXB0Lm9yZz4K Ozs7IENvcHlyaWdodCDCqSAyMDI0IGNocmlzIDxjaHJpc0BidW1ibGVoZWFkLmNvbT4KOzs7IENv cHlyaWdodCDCqSAyMDI0IEVyaWsgRWR1YXJkbyBBbG9uc28gSGVybsOhbmRleiA8ZXJpa0Blcmlr ZWR1YXJkby54eXo+Cjs7OyBDb3B5cmlnaHQgwqkgMjAyNCBKYW1lcyBTbWl0aCA8anN1YnVudHV4 cEBkaXNyb290Lm9yZz4KOzs7IENvcHlyaWdodCDCqSAyMDI0IGJpZ2J1ZyA8YmlnYm9va29mYnVn QHByb3Rvbi5tZT4KOzs7Cjs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KOzs7Cjs7 OyBHTlUgR3VpeCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5IGl0Cjs7OyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQo7OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cjs7OyB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCjs7Owo7OzsgR05VIEd1aXggaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Cjs7OyBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCjs7OyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCjs7OyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo7OzsKOzs7IFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCjs7OyBhbG9uZyB3aXRoIEdOVSBHdWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgoKKGRlZmluZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB3bSkKICAjOnVz ZS1tb2R1bGUgKChndWl4IGxpY2Vuc2VzKSAjOnByZWZpeCBsaWNlbnNlOikKICAjOnVzZS1tb2R1 bGUgKGd1aXggcGFja2FnZXMpCiAgIzp1c2UtbW9kdWxlIChndWl4IGRvd25sb2FkKQogICM6dXNl LW1vZHVsZSAoZ3VpeCBnZXhwKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBnaXQtZG93bmxvYWQpCiAg Izp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBhc2RmKQogICM6dXNlLW1vZHVsZSAoZ3Vp eCBidWlsZC1zeXN0ZW0gY2FyZ28pCiAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBj bWFrZSkKICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGNvcHkpCiAgIzp1c2UtbW9k dWxlIChndWl4IGJ1aWxkLXN5c3RlbSBnbnUpCiAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5 c3RlbSBoYXNrZWxsKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gbWVzb24pCiAg Izp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBwZXJsKQogICM6dXNlLW1vZHVsZSAoZ3Vp eCBidWlsZC1zeXN0ZW0gcHl0aG9uKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0g dHJpdmlhbCkKICAjOnVzZS1tb2R1bGUgKGd1aXggdXRpbHMpCiAgIzp1c2UtbW9kdWxlIChnbnUg cGFja2FnZXMpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYmFzaCkKICAjOnVzZS1tb2R1 bGUgKGdudSBwYWNrYWdlcyBhZG1pbikKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBhdXRv dG9vbHMpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYmFzZSkKICAjOnVzZS1tb2R1bGUg KGdudSBwYWNrYWdlcyBiaXNvbikKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBidWlsZC10 b29scykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjYWxlbmRhcikKICAjOnVzZS1tb2R1 bGUgKGdudSBwYWNrYWdlcyBjaGVjaykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjb21w cmVzc2lvbikKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjcmF0ZXMtaW8pCiAgIzp1c2Ut bW9kdWxlIChnbnUgcGFja2FnZXMgY3JhdGVzLWdyYXBoaWNzKQogICM6dXNlLW1vZHVsZSAoZ251 IHBhY2thZ2VzIGRhdGFzdHJ1Y3R1cmVzKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGRv Y2Jvb2spCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZG9jdW1lbnRhdGlvbikKICAjOnVz ZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBmbGV4KQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2Vz IGZvbnR1dGlscykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBmcmVlZGVza3RvcCkKICAj OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBmcmliaWRpKQogICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIGdhd2spCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ2V0dGV4dCkKICAjOnVz ZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnbCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBn bGliKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdwZXJmKQogICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIGd0aykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnbm9tZSkKICAj OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBoYXNrZWxsLWNoZWNrKQogICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIGhhc2tlbGwtd2ViKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGhh c2tlbGwteHl6KQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGltYWdlKQogICM6dXNlLW1v ZHVsZSAoZ251IHBhY2thZ2VzIGltYWdlbWFnaWNrKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2th Z2VzIGxpYmV2ZW50KQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpYmZmaSkKICAjOnVz ZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBsaW51eCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl cyBsaXNwLWNoZWNrKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpc3AteHl6KQogICM6 dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxvZ2dpbmcpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFj a2FnZXMgbHVhKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIG1hbikKICAjOnVzZS1tb2R1 bGUgKGdudSBwYWNrYWdlcyBtcGQpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcGNpdXRp bHMpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbXVzaWMpCiAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgcGNyZSkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwZXJsKQogICM6 dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBrZy1jb25maWcpCiAgIzp1c2UtbW9kdWxlIChnbnUg cGFja2FnZXMgcHJldHR5LXByaW50KQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB1bHNl YXVkaW8pCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcHl0aG9uKQogICM6dXNlLW1vZHVs ZSAoZ251IHBhY2thZ2VzIHB5dGhvbi1idWlsZCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl cyBweXRob24tY3J5cHRvKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB5dGhvbi14eXop CiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcmVhZGxpbmUpCiAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgc2VyaWFsaXphdGlvbikKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBz cGhpbngpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgc3Vja2xlc3MpCiAgIzp1c2UtbW9k dWxlIChnbnUgcGFja2FnZXMgdGV4aW5mbykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0 ZXh0dXRpbHMpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdGltZSkKICAjOnVzZS1tb2R1 bGUgKGdudSBwYWNrYWdlcyB3ZWIpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgeGRpc29y ZykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4bWwpCiAgIzp1c2UtbW9kdWxlIChnbnUg cGFja2FnZXMgeG9yZykpCgooZGVmaW5lLXB1YmxpYyBic3B3bQogIChwYWNrYWdlCiAgICAobmFt ZSAiYnNwd20iKQogICAgKHZlcnNpb24gIjAuOS4xMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdp bgogICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAg ICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vYmFza2VydmlsbGUvYnNwd20iKQog ICAgICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCiAgICAgICAoZmlsZS1uYW1lIChnaXQtZmls ZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMHFs djdiNGMybW1qZmQ2NXkxMDBkMTF4OGlxeWc1ZjZsZml3czNjZ21wamlkaGR5Z254YyIpKSkpCiAg ICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAoaW5wdXRzCiAgICAgKGxpc3Qg bGlieGNiCiAgICAgICAgICAgbGlieGluZXJhbWEKICAgICAgICAgICBzeGhrZAogICAgICAgICAg IHhjYi11dGlsCiAgICAgICAgICAgeGNiLXV0aWwta2V5c3ltcwogICAgICAgICAgIHhjYi11dGls LXdtKSkKICAgIChhcmd1bWVudHMKICAgICAobGlzdCAjOnBoYXNlcwogICAgICAgICAgICN+KG1v ZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgICAgICAoZGVsZXRlICdjb25m aWd1cmUpKSAgICAgICAgICAgOyBubyBjb25maWd1cmUgc2NyaXB0CiAgICAgICAgICAgIzp0ZXN0 cz8gI2YgICAgICAgICAgICAgICAgICAgICAgOyBubyBjaGVjayB0YXJnZXQKICAgICAgICAgICAj Om1ha2UtZmxhZ3MKICAgICAgICAgICAjfihsaXN0IChzdHJpbmctYXBwZW5kICJDQz0iICMkKGNj LWZvci10YXJnZXQpKQogICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIlBSRUZJWD0i ICMkb3V0cHV0KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2Jhc2tlcnZp bGxlL2JzcHdtIikKICAgIChzeW5vcHNpcyAiVGlsaW5nIHdpbmRvdyBtYW5hZ2VyIGJhc2VkIG9u IGJpbmFyeSBzcGFjZSBwYXJ0aXRpb25pbmciKQogICAgKGRlc2NyaXB0aW9uICJic3B3bSBpcyBh IHRpbGluZyB3aW5kb3cgbWFuYWdlciB0aGF0IHJlcHJlc2VudHMgd2luZG93cyBhcwp0aGUgbGVh dmVzIG9mIGEgZnVsbCBiaW5hcnkgdHJlZS4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpic2QtMikp KQoKKGRlZmluZS1wdWJsaWMgY2FnZQogIChwYWNrYWdlCiAgICAobmFtZSAiY2FnZSIpCiAgICAo dmVyc2lvbiAiMC4xLjUiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2Qg Z2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgKHVybCAi aHR0cHM6Ly9naXRodWIuY29tL2NhZ2Uta2lvc2svY2FnZSIpCiAgICAgICAgICAgICAoY29tbWl0 IChzdHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQogICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZp bGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgKHNoYTI1NiAoYmFzZTMyICIxMXNnOXgwOHps Mm5yN2E3MjNoNDYya256NWxmNThzZ3ZraHYxbWdjOXozaGhraHZic2phIikpKSkKICAgIChidWls ZC1zeXN0ZW0gbWVzb24tYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1pbnB1dHMgKGxpc3QgcGtn LWNvbmZpZyBzY2RvYwogICAgICAgICAgICAgICAgICAgICAgICAgOzsgZm9yIHdheWxhbmQtc2Nh bm5lcgogICAgICAgICAgICAgICAgICAgICAgICAgd2F5bGFuZCkpCiAgICAoaW5wdXRzIChsaXN0 IHdheWxhbmQgd2xyb290cy0wLjE2IGxpYnhrYmNvbW1vbikpCiAgICAoaG9tZS1wYWdlICJodHRw czovL2dpdGh1Yi5jb20vY2FnZS1raW9zay9jYWdlIikKICAgIChzeW5vcHNpcyAiV2F5bGFuZCBr aW9zayIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBhIFdheWxhbmQg QGRmbntraW9za30sIHdoaWNoIHJ1bnMgYQpzaW5nbGUsIG1heGltaXplZCBhcHBsaWNhdGlvbi4i KQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgaGVyYnN0bHVm dHdtCiAgKHBhY2thZ2UKICAgIChuYW1lICJoZXJic3RsdWZ0d20iKQogICAgKHZlcnNpb24gIjAu OS41IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkK ICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8vaGVyYnN0bHVmdHdtLm9yZy90YXJi YWxscy9oZXJic3RsdWZ0d20tIgogICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICIu dGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMDFjMWY1MDQxYmJsZzhk N3AxMmpreW5kNTd4aTFmcnh5NjFxc3JkY3hncDUxNDRuMW01aiIpKQogICAgICAgKGZpbGUtbmFt ZSAoc3RyaW5nLWFwcGVuZCAiaGVyYnN0bHVmdHdtLSIgdmVyc2lvbiAiLnRhci5neiIpKSkpCiAg ICAoYnVpbGQtc3lzdGVtIGNtYWtlLWJ1aWxkLXN5c3RlbSkKICAgIChpbnB1dHMKICAgICAobGlz dCBkemVuCiAgICAgICAgICAgZG1lbnUKICAgICAgICAgICBnbGliCiAgICAgICAgICAgZ2xpYm1t CiAgICAgICAgICAgeHRlcm0KICAgICAgICAgICB4c2V0cm9vdAogICAgICAgICAgIGxpYngxMQog ICAgICAgICAgIGxpYnhjdXJzb3IKICAgICAgICAgICBsaWJ4ZXh0CiAgICAgICAgICAgbGlieGZp eGVzCiAgICAgICAgICAgbGlieGluZXJhbWEKICAgICAgICAgICBsaWJ4cmFuZHIKICAgICAgICAg ICBsaWJ4ZnQpKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCBhc2NpaWRvYyBwa2ctY29u ZmlnIHB5dGhvbikpCiAgICAoYXJndW1lbnRzCiAgICAgJygjOnRlc3RzPyAjZgogICAgICAgIzpj b25maWd1cmUtZmxhZ3MKICAgICAgIChsZXQgKChvdXQgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0 IikpKQogICAgICAgICAobGlzdCAiLURDQz1nY2MiCiAgICAgICAgICAgICAgIChzdHJpbmctYXBw ZW5kICItRENNQUtFX0lOU1RBTExfU1lTQ09ORl9QUkVGSVg9IiBvdXQgIi9ldGMiKQogICAgICAg ICAgICAgICAoc3RyaW5nLWFwcGVuZCAiLURCQVNIQ09NUExFVElPTkRJUj0iIG91dCAiL2V0Yy9i YXNoX2NvbXBsZXRpb24uZCIpKSkKICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNl cyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgIChhZGQtYmVmb3JlICdjb25maWd1cmUgJ2xpbmst bGlieGN1cnNvcgogICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgOzsgbGliWDExIHdp bGwgZGxvcGVuIGxpYlhjdXJzb3IgdG8gbG9hZCBjdXJzb3JzLgogICAgICAgICAgICAgKHNldGVu diAiTERGTEFHUyIgIi1sWGN1cnNvciIpKSkKICAgICAgICAgKGFkZC1hZnRlciAnaW5zdGFsbCAn aW5zdGFsbC14c2Vzc2lvbgogICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxs b3ctb3RoZXIta2V5cykKICAgICAgICAgICAgIChsZXQqICgob3V0IChhc3NvYy1yZWYgb3V0cHV0 cyAib3V0IikpCiAgICAgICAgICAgICAgICAgICAgKHhzZXNzaW9ucyAoc3RyaW5nLWFwcGVuZCBv dXQgIi9zaGFyZS94c2Vzc2lvbnMiKSkpCiAgICAgICAgICAgICAgIChta2Rpci1wIHhzZXNzaW9u cykKICAgICAgICAgICAgICAgKGNhbGwtd2l0aC1vdXRwdXQtZmlsZQogICAgICAgICAgICAgICAg ICAgKHN0cmluZy1hcHBlbmQgeHNlc3Npb25zICIvaGVyYnN0bHVmdHdtLmRlc2t0b3AiKQogICAg ICAgICAgICAgICAgIChsYW1iZGEgKHBvcnQpCiAgICAgICAgICAgICAgICAgICAoZm9ybWF0IHBv cnQgIn4KICAgICAgICAgICAgICAgICAgICAgW0Rlc2t0b3AgRW50cnldfkAKICAgICAgICAgICAg ICAgICAgICAgTmFtZT1oZXJic3RsdWZ0d21+QAogICAgICAgICAgICAgICAgICAgICBDb21tZW50 PU1hbnVhbCB0aWxpbmcgd2luZG93IG1hbmFnZXJ+QAogICAgICAgICAgICAgICAgICAgICBFeGVj PX5hL2Jpbi9oZXJic3RsdWZ0d21+QAogICAgICAgICAgICAgICAgICAgICBUeXBlPVhTZXNzaW9u fiUiIG91dCkpKQogICAgICAgICAgICAgICAjdCkpKSkpKQogICAgKHN5bm9wc2lzICJUaWxpbmcg d2luZG93IG1hbmFnZXIgZm9yIFgxMSIpCiAgICAoZGVzY3JpcHRpb24gImhlcmJzdGx1ZnR3bSBp cyBhIG1hbnVhbCB0aWxpbmcgd2luZG93IG1hbmFnZXIgZm9yIFgxMSB1c2luZwpYbGliIGFuZCBH TGliLiAgSXRzIG1haW4gZmVhdHVyZXMgYXJlOgoKQGl0ZW1pemUKQGl0ZW0KVGhlIGxheW91dCBp cyBiYXNlZCBvbiBzcGxpdHRpbmcgZnJhbWVzIGludG8gc3ViZnJhbWVzIHdoaWNoIGNhbiBiZSBz cGxpdAphZ2FpbiBvciBjYW4gYmUgZmlsbGVkIHdpdGggd2luZG93cyAoc2ltaWxhciB0byBpMyBv ciBtdXNjYSkuCgpAaXRlbQpUYWdzIChvciB3b3Jrc3BhY2VzIG9yIHZpcnR1YWwgZGVza3RvcHMg b3Ig4oCmKSBjYW4gYmUgYWRkZWQvcmVtb3ZlZCBhdCBydW50aW1lLgpFYWNoIHRhZyBjb250YWlu cyBhbiBvd24gbGF5b3V0LgoKQGl0ZW0KRXhhY3RseSBvbmUgdGFnIGlzIHZpZXdlZCBvbiBlYWNo IG1vbml0b3IuICBUaGUgdGFncyBhcmUgbW9uaXRvciBpbmRlcGVuZGVudAooc2ltaWxhciB0byBY bW9uYWQpLgoKQGl0ZW0KSXQgaXMgY29uZmlndXJlZCBhdCBydW50aW1lIHZpYSBJUEMgY2FsbHMg ZnJvbSBAY29tbWFuZHtoZXJic3RjbGllbnR9LiAgU28gdGhlCmNvbmZpZ3VyYXRpb24gZmlsZSBp cyBqdXN0IGEgc2NyaXB0IHdoaWNoIGlzIHJ1biBvbiBzdGFydHVwIChzaW1pbGFyIHRvIHdtaWkK b3IgbXVzY2EpLgoKQGVuZCBpdGVtaXplIikKICAgIChob21lLXBhZ2UgImh0dHBzOi8vaGVyYnN0 bHVmdHdtLm9yZyIpCiAgICAobGljZW5zZSBsaWNlbnNlOmJzZC0yKSkpCgooZGVmaW5lLXB1Ymxp YyBpM3N0YXR1cwogIChwYWNrYWdlCiAgICAobmFtZSAiaTNzdGF0dXMiKQogICAgKHZlcnNpb24g IjIuMTQiKQogICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0 Y2gpCiAgICAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZCAiaHR0cHM6Ly9pM3dtLm9yZy9p M3N0YXR1cy9pM3N0YXR1cy0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJz aW9uICIudGFyLnh6IikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFz ZTMyCiAgICAgICAgICAgICAgICAiMDkyOWNoaHZ5cTloZzRzY3BjejhyOXpuM3M5anZiZzZhODZr M3dxYTc3cWc4NXJoNGthdyIpKQogICAgICAgICAgICAgIChzbmlwcGV0CiAgICAgICAgICAgICAg IDs7IERlbGV0ZSB0aGUgcHJlZ2VuZXJhdGVkIG1hbiBwYWdlLCB0byBiZSByZWJ1aWx0IGZyb20g c291cmNlLgogICAgICAgICAgICAgICAnKGRlbGV0ZS1maWxlICJtYW4vaTNzdGF0dXMuMSIpKSkp CiAgICAoYnVpbGQtc3lzdGVtIG1lc29uLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAg ICAobGlzdCAjOmNvbmZpZ3VyZS1mbGFncwogICAgICAgICAgICcobGlzdCAiLURtYW5zPVRydWUi KQogICAgICAgICAgICM6dGVzdHM/ICNmKSkgICAgICAgICAgICAgICAgOyBubyB0ZXN0IHN1aXRl CiAgICAoaW5wdXRzCiAgICAgKGxpc3QgYWxzYS1saWIKICAgICAgICAgICBsaWJjb25mdXNlCiAg ICAgICAgICAgbGlibmwKICAgICAgICAgICB5YWpsCiAgICAgICAgICAgcHVsc2VhdWRpbykpCiAg ICAobmF0aXZlLWlucHV0cwogICAgIChsaXN0IGFzY2lpZG9jCiAgICAgICAgICAgcGVybAogICAg ICAgICAgIHBrZy1jb25maWcKICAgICAgICAgICBkb2Nib29rLXhzbCBsaWJ4bWwyICAgICAgICAg IDsgZm9yIFhNTF9DQVRBTE9HX0ZJTEVTCiAgICAgICAgICAgeG1sdG8pKQogICAgKGhvbWUtcGFn ZSAiaHR0cHM6Ly9pM3dtLm9yZy9pM3N0YXR1cy8iKQogICAgKHN5bm9wc2lzICJTdGF0dXMgYmFy IGZvciBpM2JhciwgZHplbjIsIHhtb2JhciBvciBzaW1pbGFyIHByb2dyYW1zIikKICAgIChkZXNj cmlwdGlvbiAiaTNzdGF0dXMgaXMgYSBzbWFsbCBwcm9ncmFtIGZvciBnZW5lcmF0aW5nIGEgc3Rh dHVzIGJhciBmb3IKaTNiYXIsIGR6ZW4yLCB4bW9iYXIgb3Igc2ltaWxhciBwcm9ncmFtcy4gIEl0 IGlzIGRlc2lnbmVkIHRvIGJlIHZlcnkgZWZmaWNpZW50CmJ5IGlzc3VpbmcgYSB2ZXJ5IHNtYWxs IG51bWJlciBvZiBzeXN0ZW0gY2FsbHMsIGFzIG9uZSBnZW5lcmFsbHkgd2FudHMgdG8KdXBkYXRl IHN1Y2ggYSBzdGF0dXMgbGluZSBldmVyeSBzZWNvbmQuICBUaGlzIGVuc3VyZXMgdGhhdCBldmVu IHVuZGVyIGhpZ2gKbG9hZCwgeW91ciBzdGF0dXMgYmFyIGlzIHVwZGF0ZWQgY29ycmVjdGx5LiAg QWxzbywgaXQgc2F2ZXMgYSBiaXQgb2YgZW5lcmd5IGJ5Cm5vdCBob2dnaW5nIHlvdXIgQ1BVIGFz IG11Y2ggYXMgc3Bhd25pbmcgdGhlIGNvcnJlc3BvbmRpbmcgYW1vdW50IG9mIHNoZWxsCmNvbW1h bmRzIHdvdWxkLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmJzZC0zKSkpCgooZGVmaW5lLXB1Ymxp YyBpMy13bQogIChwYWNrYWdlCiAgICAobmFtZSAiaTMtd20iKQogICAgKHZlcnNpb24gIjQuMjIi KQogICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAg ICAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZCAiaHR0cHM6Ly9pM3dtLm9yZy9kb3dubG9h ZHMvaTMtIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAiLnRhci54 eiIpKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAg ICAgICAgICAgIjBqcnlhNHJoaDQ2c2l2bG1xYXFjNG45YWJwcDF5bjFhamhpNjE2Z243NWN4d2w4 cmpxcjgiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBtZXNvbi1idWlsZC1zeXN0ZW0pCiAgICAoYXJn dW1lbnRzCiAgICAgKGxpc3QKICAgICAgOzsgVGhlIHRlc3Qgc3VpdGUgcmVxdWlyZXMgdGhlIHVu cGFja2FnZWQgWGVwaHlyIFggc2VydmVyLgogICAgICAjOnRlc3RzPyAjZgogICAgICAjOnBoYXNl cwogICAgICAjfihtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgIChhZGQt YWZ0ZXIgJ2luc3RhbGwgJ3BhdGNoLXNlc3Npb24tZmlsZQogICAgICAgICAgICAobGFtYmRhIF8K ICAgICAgICAgICAgICAobGV0ICgoaTMgKHN0cmluZy1hcHBlbmQgIyRvdXRwdXQgIi9iaW4vaTMi KSkKICAgICAgICAgICAgICAgICAgICAoaTMtd2l0aC1zaG1sb2cgKHN0cmluZy1hcHBlbmQgIyRv dXRwdXQgIi9iaW4vaTMtd2l0aC1zaG1sb2ciKSkpCiAgICAgICAgICAgICAgICAoc3Vic3RpdHV0 ZSogKHN0cmluZy1hcHBlbmQgIyRvdXRwdXQgIi9zaGFyZS94c2Vzc2lvbnMvaTMuZGVza3RvcCIp CiAgICAgICAgICAgICAgICAgICgoIkV4ZWM9aTMiKSAoc3RyaW5nLWFwcGVuZCAiRXhlYz0iIGkz KSkpCiAgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogKHN0cmluZy1hcHBlbmQgIyRvdXRwdXQg Ii9zaGFyZS94c2Vzc2lvbnMvaTMtd2l0aC1zaG1sb2cuZGVza3RvcCIpCiAgICAgICAgICAgICAg ICAgICgoIkV4ZWM9aTMtd2l0aC1zaG1sb2ciKSAoc3RyaW5nLWFwcGVuZCAiRXhlYz0iIGkzLXdp dGgtc2htbG9nKSkpKSkpCiAgICAgICAgICAgKGFkZC1hZnRlciAncGF0Y2gtc2Vzc2lvbi1maWxl ICd3cmFwLXBlcmwtYmluCiAgICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxs b3ctb3RoZXIta2V5cykKICAgICAgICAgICAgICAgKGxldCogKChpMy1zYXZlLXRyZWUgKHN0cmlu Zy1hcHBlbmQgIyRvdXRwdXQgIi9iaW4vaTMtc2F2ZS10cmVlIikpCiAgICAgICAgICAgICAgICAg ICAgICAocGVybC1saWItbmFtZXMgJygicGVybC1hbnlldmVudCIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJwZXJsLWFueWV2ZW50LWkzIgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInBlcmwtanNvbi14cyIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJwZXJsLWNvbW1vbi1zZW5zZSIKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJwZXJsLXR5cGVzLXNlcmlhbGlzZXIiKSkKICAgICAg ICAgICAgICAgICAgICAgIChwZXJsLWxpYi1wYXRocwogICAgICAgICAgICAgICAgICAgICAgICht YXAgKGxhbWJkYSAobmFtZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1h cHBlbmQgKGFzc29jLXJlZiBpbnB1dHMgbmFtZSkgIi9saWIvcGVybDUvc2l0ZV9wZXJsIikpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJsLWxpYi1uYW1lcykpKQogICAgICAgICAgICAg ICAgICh3cmFwLXByb2dyYW0gaTMtc2F2ZS10cmVlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBgKCJQRVJMNUxJQiIgIjoiIHByZWZpeCAscGVybC1saWItcGF0aHMpKSkpKSkpKQogICAg KGlucHV0cwogICAgIChsaXN0IGxpYnhjYgogICAgICAgICAgIHhjYi11dGlsCiAgICAgICAgICAg eGNiLXV0aWwtY3Vyc29yCiAgICAgICAgICAgeGNiLXV0aWwta2V5c3ltcwogICAgICAgICAgIHhj Yi11dGlsLXdtCiAgICAgICAgICAgeGNiLXV0aWwteHJtCiAgICAgICAgICAgbGlieGtiY29tbW9u CiAgICAgICAgICAgbGliZXYKICAgICAgICAgICB5YWpsCiAgICAgICAgICAgeG1sdG8KICAgICAg ICAgICBwZXJsCiAgICAgICAgICAgcGVybC1hbnlldmVudC1pMwogICAgICAgICAgIHBlcmwtanNv bi14cwogICAgICAgICAgIHBlcmwtY29tbW9uLXNlbnNlCiAgICAgICAgICAgcGVybC10eXBlcy1z ZXJpYWxpc2VyCiAgICAgICAgICAgcGVybC1wb2Qtc2ltcGxlCiAgICAgICAgICAgbGlieDExCiAg ICAgICAgICAgcGNyZTIKICAgICAgICAgICBzdGFydHVwLW5vdGlmaWNhdGlvbgogICAgICAgICAg IHBhbmdvCiAgICAgICAgICAgY2Fpcm8pKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCB3 aGljaAogICAgICAgICAgIHBlcmwKICAgICAgICAgICBwa2ctY29uZmlnCiAgICAgICAgICAgYXNj aWlkb2MKICAgICAgICAgICA7OyBGb3IgYnVpbGRpbmcgdGhlIGRvY3VtZW50YXRpb24uCiAgICAg ICAgICAgbGlieG1sMgogICAgICAgICAgIGRvY2Jvb2steHNsKSkKICAgIChob21lLXBhZ2UgImh0 dHBzOi8vaTN3bS5vcmcvIikKICAgIChzeW5vcHNpcyAiVGlsaW5nIHdpbmRvdyBtYW5hZ2VyIikK ICAgIChkZXNjcmlwdGlvbiAiaTMgaXMgYSB0aWxpbmcgWDExIHdpbmRvdyBtYW5hZ2VyIHRoYXQg ZHluYW1pY2FsbHkgbWFuYWdlcwp0aWxlZCwgc3RhY2tlZCwgYW5kIHRhYmJlZCB3aW5kb3cgbGF5 b3V0cy4KCmkzIHByaW1hcmlseSB0YXJnZXRzIGFkdmFuY2VkIHVzZXJzLiAgV2luZG93cyBhcmUg bWFuYWdlZCBtYW51YWxseSBhbmQgb3JnYW5pc2VkCmluc2lkZSBjb250YWluZXJzLCB3aGljaCBj YW4gYmUgc3BsaXQgdmVydGljYWxseSBvciBob3Jpem9udGFsbHksIGFuZCBvcHRpb25hbGx5CnJl c2l6ZWQuCgppMyB1c2VzIGEgcGxhaW4tdGV4dCBjb25maWd1cmF0aW9uIGZpbGUsIGFuZCBjYW4g YmUgZXh0ZW5kZWQgYW5kIGNvbnRyb2xsZWQgZnJvbQptYW55IHByb2dyYW1taW5nIGxhbmd1YWdl cy4iKQogICAgKHByb3BlcnRpZXMKICAgICBgKCh1cHN0cmVhbS1uYW1lIC4gImkzIikKICAgICAg IChyZWxlYXNlLW1vbml0b3JpbmctdXJsIC4gImh0dHBzOi8vaTN3bS5vcmcvZG93bmxvYWRzIikp KQogICAgKGxpY2Vuc2UgbGljZW5zZTpic2QtMykpKQoKKGRlZmluZS1wdWJsaWMgaTMtZ2Fwcwog IChkZXByZWNhdGVkLXBhY2thZ2UgImkzLWdhcHMiIGkzLXdtKSkKCihkZWZpbmUtcHVibGljIGkz bG9jawogIChwYWNrYWdlCiAgICAobmFtZSAiaTNsb2NrIikKICAgICh2ZXJzaW9uICIyLjEzIikK ICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAg ICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8vaTN3bS5vcmcvaTNsb2NrL2kz bG9jay0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICIudGFyLmJ6 MiIpKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAg ICAgICAgICAgIjAyc3pqc2F6N3JxcmRrZDByMm53Z3dhODVjNGh3ZnJjc2t4dzdyeWs2OTVrbWpj Zmh6djMiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2 ZS1pbnB1dHMKICAgICAobGlzdCBwa2ctY29uZmlnKSkKICAgIChpbnB1dHMKICAgICAobGlzdCBj YWlybwogICAgICAgICAgIGxpYmV2CiAgICAgICAgICAgbGludXgtcGFtCiAgICAgICAgICAgbGli eGNiCiAgICAgICAgICAgbGlieGtiY29tbW9uCiAgICAgICAgICAgeGNiLXV0aWwKICAgICAgICAg ICB4Y2ItdXRpbC1pbWFnZQogICAgICAgICAgIHhjYi11dGlsLXhybSkpCiAgICAoaG9tZS1wYWdl ICJodHRwczovL2kzd20ub3JnL2kzbG9jay8iKQogICAgKHN5bm9wc2lzICJMaWdodHdlaWdodCBz Y3JlZW4gbG9ja2VyIikKICAgIChkZXNjcmlwdGlvbgogICAgICJpM2xvY2sgaXMgYSBzaW1wbGUg WDExIHNjcmVlbiBsb2NrZXIgZGV2ZWxvcGVkIGFsb25nc2lkZSB0aGUgaTMgcHJvamVjdC4KRGVz cGl0ZSB0aGUgbmFtZSBpdCBzaG91bGQgd29yayB3aXRoIGFueSBYMTEgd2luZG93IG1hbmFnZXIu IikKICAgIChsaWNlbnNlIGxpY2Vuc2U6YnNkLTMpKSkKCihkZWZpbmUtcHVibGljIGkzbG9jay1i bHVyCiAgKHBhY2thZ2UKICAgIChuYW1lICJpM2xvY2stYmx1ciIpCiAgICAodmVyc2lvbiAiMi4x MCIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkK ICAgICAgICAgICAgICAodXJpCiAgICAgICAgICAgICAgIChnaXQtcmVmZXJlbmNlCiAgICAgICAg ICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20va2FydWxvbnQvaTNsb2NrLWJsdXIiKQog ICAgICAgICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCiAgICAgICAgICAgICAgKGZpbGUtbmFt ZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgICAgICAgIChzaGEyNTYKICAg ICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjFiZDVucmxnYTVnMXN6MWY2NGdu YzNkcXk4eWZycjRxMXNzNTlrcnltYnB4YTFoaGY1NWMiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBn bnUtYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCBwa2ctY29uZmln IGF1dG9tYWtlIGF1dG9jb25mKSkKICAgIChpbnB1dHMKICAgICAobGlzdCBjYWlybwogICAgICAg ICAgIG1lc2EKICAgICAgICAgICBsaWJldgogICAgICAgICAgIGxpbnV4LXBhbQogICAgICAgICAg IGxpYnhjYgogICAgICAgICAgIGxpYnhrYmNvbW1vbgogICAgICAgICAgIHhjYi11dGlsCiAgICAg ICAgICAgeGNiLXV0aWwtaW1hZ2UKICAgICAgICAgICB4Y2ItdXRpbC14cm0pKQogICAgKGhvbWUt cGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2thcnVsb250L2kzbG9jay1ibHVyIikKICAgIChzeW5v cHNpcyAiTGlnaHR3ZWlnaHQgc2NyZWVuIGxvY2tlciB3aXRoIHRyYW5zcGFyZW50IGJsdXJyaW5n IGJhY2tncm91bmQiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlNpbXBsZSBYMTEgc2NyZWVuIGxv Y2tlciB3aXRoIHRyYW5zcGFyZW50IGJsdXJyaW5nIGJhY2tncm91bmQgZGV2ZWxvcGVkCmFsb25n c2lkZSB0aGUgaTMgcHJvamVjdC4gIERlc3BpdGUgdGhlIG5hbWUgaXQgc2hvdWxkIHdvcmsgd2l0 aCBhbnkgWDExIHdpbmRvdwptYW5hZ2VyLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkp CgooZGVmaW5lLXB1YmxpYyBpM2Jsb2NrcwogIChwYWNrYWdlCiAgICAobmFtZSAiaTNibG9ja3Mi KQogICAgKHZlcnNpb24gIjEuNSIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAo bWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAg ICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL3Zpdmllbi9pM2Jsb2NrcyIp CiAgICAgICAgICAgICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCiAgICAgICAgICAgICAgKHNo YTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMHY4bXdubThxenB2 NnhucXZyazQzczRiOWl5bGQ0bmFxemJheGs0bGRxMXFraGFpMHdzdiIpKQogICAgICAgICAgICAg IChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkpKQogICAgKGJ1aWxkLXN5 c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCBhdXRv Y29uZiBhdXRvbWFrZSBwa2ctY29uZmlnKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHVi LmNvbS92aXZpZW4vaTNibG9ja3MiKQogICAgKHN5bm9wc2lzICJNaW5pbWFsaXN0IHNjaGVkdWxl ciBmb3Igc3RhdHVzIGJhciBzY3JpcHRzIikKICAgIChkZXNjcmlwdGlvbiAiaTNibG9ja3MgZXhl Y3V0ZXMgeW91ciBjb21tYW5kIGxpbmVzIGFuZCBnZW5lcmF0ZXMgYQpzdGF0dXMgbGluZSBmcm9t IHRoZWlyIG91dHB1dC4gIFRoZSBnZW5lcmF0ZWQgbGluZSBpcyBtZWFudCB0byBiZSBkaXNwbGF5 ZWQgYnkKdGhlIGkzIHdpbmRvdyBtYW5hZ2VyIHRocm91Z2ggaXRzIGkzYmFyIGNvbXBvbmVudCwg YXMgYW4gYWx0ZXJuYXRpdmUgdG8KaTNzdGF0dXMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3Bs MyspKSkKCihkZWZpbmUtcHVibGljIHBlcmwtYW55ZXZlbnQtaTMKICAocGFja2FnZQogICAgKG5h bWUgInBlcmwtYW55ZXZlbnQtaTMiKQogICAgKHZlcnNpb24gIjAuMTciKQogICAgKHNvdXJjZSAo b3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAgICAgICAgKHVy aSAoc3RyaW5nLWFwcGVuZCAibWlycm9yOi8vY3Bhbi9hdXRob3JzL2lkL00vTVMvTVNUUExCRy8i CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQW55RXZlbnQtSTMtIiB2ZXJzaW9u ICIudGFyLmd6IikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMy CiAgICAgICAgICAgICAgICAiMHF2ZDlicTE2anl5N3YzbWE4MnFjbnZ6OWo1MDNidzBtaDdoNTVn a2pmN2lyNjJjazBqayIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIHBlcmwtYnVpbGQtc3lzdGVtKQog ICAgKHByb3BhZ2F0ZWQtaW5wdXRzCiAgICAgKGxpc3QgcGVybC1hbnlldmVudCBwZXJsLWpzb24t eHMpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9tZXRhY3Bhbi5vcmcvcmVsZWFzZS9BbnlFdmVu dC1JMyIpCiAgICAoc3lub3BzaXMKICAgICAiQ29tbXVuaWNhdGUgd2l0aCB0aGUgaTMgd2luZG93 IG1hbmFnZXIgdGhyb3VnaCBwZXJsIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIG1vZHVs ZSBjb25uZWN0cyB0byB0aGUgaTMgd2luZG93IG1hbmFnZXIgdXNpbmcgdGhlIFVOSVggc29ja2V0 CmJhc2VkIElQQyBpbnRlcmZhY2UgaXQgcHJvdmlkZXMgKGlmIGVuYWJsZWQgaW4gdGhlIGNvbmZp Z3VyYXRpb24gZmlsZSkuCllvdSBjYW4gdGhlbiBzdWJzY3JpYmUgdG8gZXZlbnRzIG9yIHNlbmQg bWVzc2FnZXMgYW5kIHJlY2VpdmUgdGhlaXIgcmVwbGllcy4iKQogICAgOzsgQ2FuIGJlIHVzZWQg d2l0aCBlaXRoZXIgbGljZW5zZS4KICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6Z3BsMysgbGlj ZW5zZTpwZXJsLWxpY2Vuc2UpKSkpCgooZGVmaW5lLXB1YmxpYyBweXRob24taTMtcHkKICAocGFj a2FnZQogICAgKG5hbWUgInB5dGhvbi1pMy1weSIpCiAgICAodmVyc2lvbiAiMC42LjUiKQogICAg KHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIDs7IFRoZSBsYXRlc3QgcmVsZWFzZSBpcyBub3Qg dGFnZ2VkIGluIEdpdCBub3IgaGFzIGFuIGVudHJ5IGluIFB5UGksCiAgICAgICA7OyBidXQgdGhl cmUgaXMgc3RpbGwgYSBjbGVhciBjb21taXQgZm9yIGl0LCBhbmQgaXQncyBiZWVuIHRoZSBsYXN0 IG9uZQogICAgICAgOzsgZm9yIHllYXJzLgogICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAg ICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5j b20vemliZXJuYS9pMy1weSIpCiAgICAgICAgICAgICAoY29tbWl0ICIyN2Y4OGE2MTZlOWVjYzM0 MGU3ZDA0MWQzZDAwNzgyZjhhMTk2NGMxIikpKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNl MzIKICAgICAgICAgIjFubTcxOWRjMnhxbGxsN3ZqNGM0bTdtcGpiMjdscG4zYmczYzY2Z2Fqdm5y ejJ4MW5teHMiKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVy c2lvbiAiLWNoZWNrb3V0IikpKSkKICAgIChidWlsZC1zeXN0ZW0gcHl0aG9uLWJ1aWxkLXN5c3Rl bSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmIDsgbm8gdGVzdHMgeWV0CiAgICAg ICAjOnBoYXNlcyAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAgICAg ICAgIChhZGQtYWZ0ZXIgJ2luc3RhbGwgJ2luc3RhbGwtZG9jCiAgICAgICAgICAgICAgICAgICAg OzsgQ29weSByZWFkbWUgZmlsZSB0byBkb2N1bWVudGF0aW9uIGRpcmVjdG9yeS4KICAgICAgICAg ICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAg ICAgICAgICAgICAgICAgICAgICAobGV0ICgoZG9jIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYg b3V0cHV0cyAib3V0IikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi9zaGFyZS9kb2MvIiAsbmFtZSkpKQogICAgICAgICAgICAgICAgICAgICAgICAoaW5z dGFsbC1maWxlICJSRUFETUUubWQiIGRvYykKICAgICAgICAgICAgICAgICAgICAgICAgOzsgQXZv aWQgdW5zcGVjaWZpZWQgcmV0dXJuIHZhbHVlLgogICAgICAgICAgICAgICAgICAgICAgICAjdCkp KSkpKQogICAgKHByb3BhZ2F0ZWQtaW5wdXRzCiAgICAgKGxpc3QgaTMtd20pKQogICAgKGhvbWUt cGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3ppYmVybmEvaTMtcHkiKQogICAgKHN5bm9wc2lzICJQ eXRob24gaW50ZXJmYWNlIHRvIHRoZSBpMyB3aW5kb3cgbWFuYWdlciIpCiAgICAoZGVzY3JpcHRp b24gIlRoaXMgcGFja2FnZSBhbGxvd3MgeW91IHRvIGludGVyYWN0IGZyb20gYSBQeXRob24gcHJv Z3JhbQp3aXRoIHRoZSBpMyB3aW5kb3cgbWFuYWdlciB2aWEgaXRzIElQQyBzb2NrZXQuICBJdCBj YW4gc2VuZCBjb21tYW5kcyBhbmQgb3RoZXIKa2luZHMgb2YgbWVzc2FnZXMgdG8gaTMsIHNlbGVj dCB0aGUgYWZmZWN0ZWQgY29udGFpbmVycywgZmlsdGVyIHJlc3VsdHMgYW5kCnN1YnNjcmliZSB0 byBldmVudHMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMyspKSkKCihkZWZpbmUtcHVibGlj IHF0aWxlCiAgKHBhY2thZ2UKICAgIChuYW1lICJxdGlsZSIpCiAgICAodmVyc2lvbiAiMC4xOC4x IikKICAgIChzb3VyY2UKICAgICAgKG9yaWdpbgogICAgICAgIChtZXRob2QgdXJsLWZldGNoKQog ICAgICAgICh1cmkgKHB5cGktdXJpICJxdGlsZSIgdmVyc2lvbikpCiAgICAgICAgKHNoYTI1Ngog ICAgICAgICAgKGJhc2UzMiAiMTRoYjI2eGt6YTdicnZrZDQyNzZqNjBteGQzenNhczcyaWg2eTBj cTNqMDYwaXptMTg2NSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIHB5dGhvbi1idWlsZC1zeXN0ZW0p CiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnRlc3RzPyAjZiA7IFRlc3RzIHJlcXVpcmUgWHZmYiBh bmQgd3JpdGFibGUgdGVtcC9jYWNoZSBzcGFjZQogICAgICAgIzpwaGFzZXMKICAgICAgIChtb2Rp ZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdw YXRjaC1wYXRocwogICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhl ci1rZXlzKQogICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJsaWJxdGlsZS9wYW5nb2NmZmkucHki CiAgICAgICAgICAgICAgICgoIl5nb2JqZWN0ID0gZmZpLmRsb3Blbi4qIikKICAgICAgICAgICAg ICAgICAoc3RyaW5nLWFwcGVuZCAiZ29iamVjdCA9IGZmaS5kbG9wZW4oXCIiCiAgICAgICAgICAg ICAgICAgIChhc3NvYy1yZWYgaW5wdXRzICJnbGliIikgIi9saWIvbGliZ29iamVjdC0yLjAuc28u MFwiKVxuIikpCiAgICAgICAgICAgICAgICAoKCJecGFuZ28gPSBmZmkuZGxvcGVuLioiKQogICAg ICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICJwYW5nbyA9IGZmaS5kbG9wZW4oXCIiCiAgICAg ICAgICAgICAgICAgIChhc3NvYy1yZWYgaW5wdXRzICJwYW5nbyIpICIvbGliL2xpYnBhbmdvLTEu MC5zby4wXCIpXG4iKSkKICAgICAgICAgICAgICAgICgoIl5wYW5nb2NhaXJvID0gZmZpLmRsb3Bl bi4qIikKICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAicGFuZ29jYWlybyA9IGZmaS5k bG9wZW4oXCIiCiAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgaW5wdXRzICJwYW5nbyIpICIv bGliL2xpYnBhbmdvY2Fpcm8tMS4wLnNvLjBcIilcbiIpKSkpKQogICAgICAgKGFkZC1hZnRlciAn aW5zdGFsbCAnaW5zdGFsbC14c2Vzc2lvbgogICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRw dXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgIChsZXQqICgob3V0IChhc3NvYy1y ZWYgb3V0cHV0cyAib3V0IikpCiAgICAgICAgICAgICAgICAgICAgKHhzZXNzaW9ucyAoc3RyaW5n LWFwcGVuZCBvdXQgIi9zaGFyZS94c2Vzc2lvbnMiKSkKICAgICAgICAgICAgICAgICAgICAocXRp bGUgKHN0cmluZy1hcHBlbmQgb3V0ICIvYmluL3F0aWxlIHN0YXJ0IikpKQogICAgICAgICAgICAg ICAobWtkaXItcCB4c2Vzc2lvbnMpCiAgICAgICAgICAgICAgIChjb3B5LWZpbGUgInJlc291cmNl cy9xdGlsZS5kZXNrdG9wIiAoc3RyaW5nLWFwcGVuZCB4c2Vzc2lvbnMgIi9xdGlsZS5kZXNrdG9w IikpCiAgICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAoc3RyaW5nLWFwcGVuZCB4c2Vzc2lvbnMg Ii9xdGlsZS5kZXNrdG9wIikKICAgICAgICAgICAgICAgICAoKCJxdGlsZSBzdGFydCIpIHF0aWxl KSkpKSkpKSkKICAgIChpbnB1dHMKICAgICAgKGxpc3QgZ2xpYiBwYW5nbyBwdWxzZWF1ZGlvKSkK ICAgIChwcm9wYWdhdGVkLWlucHV0cwogICAgICAobGlzdCBweXRob24tY2Fpcm9jZmZpCiAgICAg ICAgICAgIHB5dGhvbi1jZmZpCiAgICAgICAgICAgIHB5dGhvbi1kYXRldXRpbAogICAgICAgICAg ICBweXRob24tZGJ1cy1uZXh0CiAgICAgICAgICAgIHB5dGhvbi1pd2xpYgogICAgICAgICAgICBw eXRob24ta2V5cmluZwogICAgICAgICAgICBweXRob24tbXBkMgogICAgICAgICAgICBweXRob24t cHl4ZGcKICAgICAgICAgICAgcHl0aG9uLXhjZmZpYikpCiAgICAobmF0aXZlLWlucHV0cwogICAg ICAobGlzdCBwa2ctY29uZmlnCiAgICAgICAgICAgIHB5dGhvbi1mbGFrZTgKICAgICAgICAgICAg cHl0aG9uLXBlcDgtbmFtaW5nCiAgICAgICAgICAgIHB5dGhvbi1wc3V0aWwKICAgICAgICAgICAg cHl0aG9uLXB5dGVzdC1jb3YKICAgICAgICAgICAgcHl0aG9uLXNldHVwdG9vbHMtc2NtKSkKICAg IChob21lLXBhZ2UgImh0dHA6Ly9xdGlsZS5vcmciKQogICAgKHN5bm9wc2lzICJIYWNrYWJsZSB0 aWxpbmcgd2luZG93IG1hbmFnZXIgd3JpdHRlbiBhbmQgY29uZmlndXJlZCBpbiBQeXRob24iKQog ICAgKGRlc2NyaXB0aW9uICJRdGlsZSBpcyBzaW1wbGUsIHNtYWxsLCBhbmQgZXh0ZW5zaWJsZS4g IEl0J3MgZWFzeSB0byB3cml0ZQp5b3VyIG93biBsYXlvdXRzLCB3aWRnZXRzLCBhbmQgYnVpbHQt aW4gY29tbWFuZHMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVi bGljIHF1aWNrc3dpdGNoLWkzCiAgKGxldCAoKGNvbW1pdCAiZWQ2OTJiMWU4ZjQzYjk1YmQ5MDdj ZWQyNjIzOGNlOGNjYjJlZDI4ZiIpCiAgICAgICAgKHJldmlzaW9uICIxIikpIDsgR3VpeCBwYWNr YWdlIHJldmlzaW9uCiAgICAocGFja2FnZQogICAgICAobmFtZSAicXVpY2tzd2l0Y2gtaTMiKQog ICAgICAodmVyc2lvbiAoc3RyaW5nLWFwcGVuZCAiMi4yLSIgcmV2aXNpb24gIi4iCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctdGFrZSBjb21taXQgNykpKQogICAgICAoc291 cmNlCiAgICAgICAob3JpZ2luCiAgICAgICAgIDs7IFRoZSBsYXRlc3QgY29tbWl0IGlzIGEgZmV3 IHllYXJzIG9sZCBhbmQganVzdCBhIGNvdXBsZSBjb21taXRzCiAgICAgICAgIDs7IGFmdGVyIHRo ZSBsYXN0IHRhZ2dlZCByZWxlYXNlLCBzbyB3ZSB1c2UgdGhhdCBsYXRlc3QgY29tbWl0CiAgICAg ICAgIDs7IGluc3RlYWQgb2YgdGhlIHJlbGVhc2UuCiAgICAgICAgIChtZXRob2QgZ2l0LWZldGNo KQogICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAgICh1cmwgImh0dHBz Oi8vZ2l0aHViLmNvbS9wcm94eXBva2UvcXVpY2tzd2l0Y2gtZm9yLWkzIikKICAgICAgICAgICAg ICAgKGNvbW1pdCBjb21taXQpKSkKICAgICAgICAgKHNoYTI1NgogICAgICAgICAgKGJhc2UzMgog ICAgICAgICAgICIwNDQ3MDc3c2FtYTgwamNkZzVwNjR6anN2YWZtejVyYmRyaXJobTFhZGNkamhr aDZpcWM1IikpCiAgICAgICAgIChwYXRjaGVzIChzZWFyY2gtcGF0Y2hlcyAicXVpY2tzd2l0Y2gt Zml4LWRtZW51LWNoZWNrLnBhdGNoIikpCiAgICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBl bmQgbmFtZSAiLSIgdmVyc2lvbiAiLWNoZWNrb3V0IikpKSkKICAgICAgKGJ1aWxkLXN5c3RlbSBw eXRob24tYnVpbGQtc3lzdGVtKQogICAgICAoYXJndW1lbnRzCiAgICAgICBgKCM6dGVzdHM/ICNm IDsgbm8gdGVzdHMgeWV0CiAgICAgICAgICM6cGhhc2VzIChtb2RpZnktcGhhc2VzICVzdGFuZGFy ZC1waGFzZXMKICAgICAgICAgICAgICAgICAgICAoYWRkLWFmdGVyICdpbnN0YWxsICdpbnN0YWxs LWRvYwogICAgICAgICAgICAgICAgICAgICAgOzsgQ29weSByZWFkbWUgZmlsZSB0byBkb2N1bWVu dGF0aW9uIGRpcmVjdG9yeS4KICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBv dXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAo KGRvYyAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9zaGFyZS9kb2MvIiAsbmFt ZSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgIChpbnN0YWxsLWZpbGUgIlJFQURNRS5yc3Qi IGRvYykKICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBBdm9pZCB1bnNwZWNpZmllZCByZXR1 cm4gdmFsdWUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgI3QpKSkpKSkKICAgICAgKGlucHV0 cwogICAgICAgKGxpc3QgcHl0aG9uLWkzLXB5IGRtZW51KSkKICAgICAgKGhvbWUtcGFnZSAiaHR0 cHM6Ly9naXRodWIuY29tL3Byb3h5cG9rZS9xdWlja3N3aXRjaC1mb3ItaTMiKQogICAgICAoc3lu b3BzaXMgIlF1aWNrbHkgY2hhbmdlIHRvIGFuZCBsb2NhdGUgd2luZG93cyBpbiB0aGUgaTMgd2lu ZG93IG1hbmFnZXIiKQogICAgICAoZGVzY3JpcHRpb24KICAgICAgICJUaGlzIHV0aWxpdHkgZm9y IHRoZSBpMyB3aW5kb3cgbWFuYWdlciBhbGxvd3MgeW91IHRvIHF1aWNrbHkgc3dpdGNoIHRvCmFu ZCBsb2NhdGUgd2luZG93cyBvbiBhbGwgeW91ciB3b3Jrc3BhY2VzLCB1c2luZyBhbiBpbnRlcmFj dGl2ZSBkbWVudQpwcm9tcHQuIikKICAgICAgKGxpY2Vuc2UgbGljZW5zZTp3dGZwbDIpKSkpCgoo ZGVmaW5lLXB1YmxpYyBpM2xvY2stY29sb3IKICAocGFja2FnZQogICAgKG5hbWUgImkzbG9jay1j b2xvciIpCiAgICAodmVyc2lvbiAiMi4xMy5jLjQiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4K ICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAg ICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL1JheW1vMTExL2kzbG9jay1jb2xvciIp CiAgICAgICAgICAgICAoY29tbWl0IHZlcnNpb24pKSkKICAgICAgIChmaWxlLW5hbWUgKGdpdC1m aWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIx bG55aDhzcGJmMWFyNHhhbjV2N3E4aTJpNTFhcTFpNjBremJma245dzN3YTBqemY5ZjNkIikpKSkK ICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBg KCM6dGVzdHM/ICNmKSkgICAgICAgICAgICAgICAgICAgIDsgbm8gdGVzdHMgaW5jbHVkZWQKICAg IChpbnB1dHMKICAgICAobGlzdCBjYWlybwogICAgICAgICAgIGxpYmV2CiAgICAgICAgICAgbGli anBlZy10dXJibwogICAgICAgICAgIGxpYnhjYgogICAgICAgICAgIGxpYnhrYmNvbW1vbgogICAg ICAgICAgIGxpbnV4LXBhbQogICAgICAgICAgIHhjYi11dGlsCiAgICAgICAgICAgeGNiLXV0aWwt aW1hZ2UKICAgICAgICAgICB4Y2ItdXRpbC14cm0pKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAo bGlzdCBhdXRvY29uZiBhdXRvbWFrZSBwa2ctY29uZmlnKSkKICAgIChob21lLXBhZ2UgImh0dHBz Oi8vZ2l0aHViLmNvbS9SYXltbzExMS9pM2xvY2stY29sb3IiKQogICAgKHN5bm9wc2lzICJTY3Jl ZW4gbG9ja2VyIHdpdGggY29sb3IgY29uZmlndXJhdGlvbiBzdXBwb3J0IikKICAgIChkZXNjcmlw dGlvbgogICAgICJpM2xvY2stY29sb3IgaXMgYSBzaW1wbGVyIFgxMSBzY3JlZW4gbG9ja2VyIGRl cml2ZWQgZnJvbSBpM2xvY2suCkZlYXR1cmVzIGluY2x1ZGU6CgpAZW51bWVyYXRlCkBpdGVtIGZv cmtpbmcgcHJvY2VzcywgdGhlIGxvY2tlZCBzY3JlZW4gaXMgcHJlc2VydmVkIHdoZW4geW91IHN1 c3BlbmQgdG8gUkFNOwpAaXRlbSBzcGVjaWZ5IGJhY2tncm91bmQgY29sb3Igb3IgaW1hZ2UgdG8g YmUgZGlzcGxheWVkIGluIHRoZSBsb2NrIHNjcmVlbjsKQGl0ZW0gbWFueSBhZGRpdGlvbmFsIGNv bG9yIG9wdGlvbnMuCkBlbmQgZW51bWVyYXRlIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6YnNkLTMp KSkKCihkZWZpbmUtcHVibGljIGkzbG9jay1mYW5jeQogIChwYWNrYWdlCiAgICAobmFtZSAiaTNs b2NrLWZhbmN5IikKICAgICh2ZXJzaW9uICIwLjIiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4K ICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAg ICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL21lc2thcnVuZS9pM2xvY2stZmFuY3ki KQogICAgICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCiAgICAgICAoZmlsZS1uYW1lIChnaXQt ZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAi MTFnMmtraW0zM3JhMzhkMW04OTdzcTFpZmFqdzE3aXl3OW1yN3NnMXE4aTJpYmw0bGZzaSIpKSkp CiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAg YCgjOnRlc3RzPyAjZiAgICAgICAgICAgICAgICAgICAgICA7IG5vIHRlc3RzIGluY2x1ZGVkCiAg ICAgICAjOnBoYXNlcwogICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAg ICAgICAocmVwbGFjZSAnY29uZmlndXJlCiAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0 cyBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgIChsZXQqICgob3V0IChh c3NvYy1yZWYgb3V0cHV0cyAib3V0IikpCiAgICAgICAgICAgICAgICAgICAgKGljb25zIChzdHJp bmctYXBwZW5kIG91dCAiL3NoYXJlL2kzbG9jay1mYW5jeS9pY29ucy8iKSkKICAgICAgICAgICAg ICAgICAgICAod21jdHJsIChzZWFyY2gtaW5wdXQtZmlsZSBpbnB1dHMgIi9iaW4vd21jdHJsIikp CiAgICAgICAgICAgICAgICAgICAgKG1jb252ZXJ0IChzZWFyY2gtaW5wdXQtZmlsZSBpbnB1dHMg Ii9iaW4vY29udmVydCIpKQogICAgICAgICAgICAgICAgICAgIChtaW1wb3J0IChzZWFyY2gtaW5w dXQtZmlsZSBpbnB1dHMgIi9iaW4vaW1wb3J0IikpCiAgICAgICAgICAgICAgICAgICAgKGF3ayAo c2VhcmNoLWlucHV0LWZpbGUgaW5wdXRzICIvYmluL2dhd2siKSkpCgogICAgICAgICAgICAgICAo c3Vic3RpdHV0ZSogImxvY2siCiAgICAgICAgICAgICAgICAgKCgiXFwkXFwoY29tbWFuZCAtViB3 bWN0cmxcXCkiKSB3bWN0cmwpCiAgICAgICAgICAgICAgICAgKCgiY29udmVydCIpIG1jb252ZXJ0 KQogICAgICAgICAgICAgICAgICgoInNob3Q9XFwoaW1wb3J0IikgKHN0cmluZy1hcHBlbmQgInNo b3Q9XCgiIG1pbXBvcnQpKQogICAgICAgICAgICAgICAgICgoImF3ayAtRiIpIChzdHJpbmctYXBw ZW5kIGF3ayAiIC1GIikpCiAgICAgICAgICAgICAgICAgKCgiIGF3ayIpIGF3aykKICAgICAgICAg ICAgICAgICAoKCJcXCRzY3JpcHRwYXRoL2ljb25zLyIpIGljb25zKSkKICAgICAgICAgICAgICAg I3QpKSkKICAgICAgICAgKGRlbGV0ZSAnYnVpbGQpCiAgICAgICAgIChyZXBsYWNlICdpbnN0YWxs CiAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyBvdXRwdXRzICM6YWxsb3ctb3RoZXIt a2V5cykKICAgICAgICAgICAgIChsZXQqICgob3V0IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0Iikp CiAgICAgICAgICAgICAgICAgICAgKGJpbiAoc3RyaW5nLWFwcGVuZCBvdXQgIi9iaW4iKSkKICAg ICAgICAgICAgICAgICAgICAoaWNvbnMgKHN0cmluZy1hcHBlbmQgb3V0ICIvc2hhcmUvaTNsb2Nr LWZhbmN5L2ljb25zLyIpKSkKCiAgICAgICAgICAgICAgIChpbnN0YWxsLWZpbGUgImxvY2siIGJp bikKICAgICAgICAgICAgICAgKHJlbmFtZS1maWxlIChzdHJpbmctYXBwZW5kIGJpbiAiL2xvY2si KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgYmluICIvaTNsb2Nr LWZhbmN5IikpCiAgICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5ICJpY29ucyIgaWNvbnMp CiAgICAgICAgICAgICAgICN0KSkpKSkpCiAgICAoaW5wdXRzCiAgICAgKGxpc3QgaW1hZ2VtYWdp Y2sgd21jdHJsIGkzbG9jayBnYXdrKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNv bS9tZXNrYXJ1bmUvaTNsb2NrLWZhbmN5IikKICAgIChzeW5vcHNpcyAiU2NyZWVuIGxvY2tlciB3 aXRoIHNjcmVlbnNob3QgZnVuY3Rpb24iKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIkBjb2Rle2kz bG9jay1mYW5jeX0gaXMgYSBCYXNoIHNjcmlwdCB0aGF0IHRha2VzIGEgc2NyZWVuc2hvdCBvZgp0 aGUgZGVza3RvcCwgYmx1cnMgdGhlIGJhY2tncm91bmQgYW5kIGFkZHMgYSBsb2NrIGljb24gYW5k IHRleHQuCkl0IHJlcXVpcmVzIEBjb2Rle2kzbG9jay1jb2xvcn0gb3IgQGNvZGV7aTNsb2NrfSBh bmQgY2FuIG9wdGlvbmFsbHkKYmUgcGFzc2VkIGFueSBzY3JlZW5zaG90IHV0aWwgbGlrZSBAY29k ZXtzY3JvdH0uClRoaXMgc2NyZWVuIGxvY2tlciBjYW4gYmUgdXNlZCB3aXRoIGFueSB3aW5kb3cg bWFuYWdlciBvcgpkZXNrdG9wIGVudmlyb25tZW50LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4 cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBpY2V3bQogIChwYWNrYWdlCiAgICAobmFtZSAiaWNld20i KQogICAgKHZlcnNpb24gIjMuNC43IikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAg IChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQKICAg ICAgICAgICAgICAgICAgICAiaHR0cHM6Ly9naXRodWIuY29tL2ljZS13bS9pY2V3bS9yZWxlYXNl cy9kb3dubG9hZC8iCiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAiL2ljZXdtLSIgdmVyc2lv biAiLnRhci5seiIpKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2Uz MgogICAgICAgICAgICAgICAgIjBjMWM5cXdhcTlrZGxtYTVrZnF6anp6bTZ3azNid3c2YjdtdzRi M2o3NmZuN21zNDk4MnMiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQog ICAgKG5hdGl2ZS1pbnB1dHMgKGxpc3QgcGtnLWNvbmZpZykpCiAgICAoaW5wdXRzIChsaXN0IGZv bnRjb25maWcKICAgICAgICAgICAgICAgICAgZnJpYmlkaQogICAgICAgICAgICAgICAgICBnbGli ICAgICAgICAgICAgICAgICAgO2ZvciBpY2V3bS1tZW51LWZkbwogICAgICAgICAgICAgICAgICBp bWxpYjIKICAgICAgICAgICAgICAgICAgbGliaWNlCiAgICAgICAgICAgICAgICAgIGxpYmpwZWct dHVyYm8KICAgICAgICAgICAgICAgICAgbGlic20KICAgICAgICAgICAgICAgICAgbGlieGNvbXBv c2l0ZQogICAgICAgICAgICAgICAgICBsaWJ4ZGFtYWdlCiAgICAgICAgICAgICAgICAgIGxpYnhl eHQKICAgICAgICAgICAgICAgICAgbGlieGZpeGVzCiAgICAgICAgICAgICAgICAgIGxpYnhmdAog ICAgICAgICAgICAgICAgICBsaWJ4aW5lcmFtYQogICAgICAgICAgICAgICAgICBsaWJ4cG0KICAg ICAgICAgICAgICAgICAgbGlieHJhbmRyCiAgICAgICAgICAgICAgICAgIGxpYnhyZW5kZXIKICAg ICAgICAgICAgICAgICAgbGlieDExCiAgICAgICAgICAgICAgICAgIGx6aXAKICAgICAgICAgICAg ICAgICAgcGVybCkpCiAgICAoYXJndW1lbnRzCiAgICAgKGxpc3QgIzpwaGFzZXMKICAgICAgICAg ICAjfihtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgICAgICAgKGFkZC1h ZnRlciAndW5wYWNrICdza2lwLWZhaWxpbmctdGVzdAogICAgICAgICAgICAgICAgIDs7IHN0cnRl c3QuY2MgdGVzdHMgZmFpbGluZyBkdWUgdG8gJEhPTUUgYW5kIC9ldGMgc2V0dXAKICAgICAgICAg ICAgICAgICA7OyBkaWZmZXJlbmNlIHVuZGVyIGd1aXgKICAgICAgICAgICAgICAgICAobGFtYmRh IF8KICAgICAgICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAic3JjL01ha2VmaWxlLmluIgogICAg ICAgICAgICAgICAgICAgICAoKCJURVNUUyA9IHN0cnRlc3RcXCRcXChFWEVFWFRcXCkiKQogICAg ICAgICAgICAgICAgICAgICAgIlRFU1RTID0gIikpKSkpKSkKICAgIChob21lLXBhZ2UgImh0dHBz Oi8vaWNlLXdtLm9yZy8iKQogICAgKHN5bm9wc2lzICJXaW5kb3cgbWFuYWdlciBmb3IgdGhlIFgg V2luZG93IFN5c3RlbSIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiSWNlV00gaXMgYSB3aW5kb3cg bWFuYWdlciBmb3IgdGhlIFggV2luZG93IFN5c3RlbS4gIFRoZSBnb2FsIG9mIEljZVdNIGlzCnNw ZWVkLCBzaW1wbGljaXR5LCBhbmQgbm90IGdldHRpbmcgaW4gdGhlIHVzZXLigJlzIHdheS4gIEl0 IGNvbWVzIHdpdGggYSB0YXNrYmFyCndpdGggcGFnZXIsIGdsb2JhbCBhbmQgcGVyLXdpbmRvdyBr ZXliaW5kaW5ncyBhbmQgYSBkeW5hbWljIG1lbnUgc3lzdGVtLgpBcHBsaWNhdGlvbiB3aW5kb3dz IGNhbiBiZSBtYW5hZ2VkIGJ5IGtleWJvYXJkIGFuZCBtb3VzZS4gIFdpbmRvd3MgY2FuIGJlCmlj b25pZmllZCB0byB0aGUgdGFza2JhciwgdG8gdGhlIHRyYXksIHRvIHRoZSBkZXNrdG9wIG9yIGJl IG1hZGUgaGlkZGVuLiAgVGhleQphcmUgY29udHJvbGxhYmxlIGJ5IGEgcXVpY2sgc3dpdGNoIHdp bmRvdyAoQWx0K1RhYikgYW5kIGluIGEgd2luZG93IGxpc3QuICBBCmhhbmRmdWwgb2YgY29uZmln dXJhYmxlIGZvY3VzIG1vZGVscyBhcmUgbWVudS1zZWxlY3RhYmxlLiAgU2V0dXBzIHdpdGgKbXVs dGlwbGUgbW9uaXRvcnMgYXJlIHN1cHBvcnRlZCBieSBSYW5kUiBhbmQgWGluZXJhbWEuICBJY2VX TSBpcyB2ZXJ5CmNvbmZpZ3VyYWJsZSwgdGhlbWVhYmxlIGFuZCB3ZWxsIGRvY3VtZW50ZWQuICBJ dCBpbmNsdWRlcyBhbiBvcHRpb25hbCBleHRlcm5hbApiYWNrZ3JvdW5kIHdhbGxwYXBlciBtYW5h Z2VyIHdpdGggdHJhbnNwYXJlbmN5IHN1cHBvcnQsIGEgc2ltcGxlIHNlc3Npb24KbWFuYWdlciBh bmQgYSBzeXN0ZW0gdHJheS4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpsZ3BsMi4wKSkpCgooZGVm aW5lLXB1YmxpYyB4bW9uYWQKICAocGFja2FnZQogICAgKG5hbWUgInhtb25hZCIpCiAgICAodmVy c2lvbiAiMC4xNy4xIikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2Qg dXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKGhhY2thZ2UtdXJpICJ4bW9uYWQiIHZlcnNp b24pKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAg ICAgICAgICAgIjFhcHF3eXFtYzUxZ2FtZmdzdmxhbnpxcWlnOXF2anNzODlpYmNhbWhuaGExZ3Mx azRqbDgiKSkKICAgICAgICAgICAgICAocGF0Y2hlcyAoc2VhcmNoLXBhdGNoZXMgInhtb25hZC1k eW5hbWljLWxpbmtpbmcucGF0Y2giKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBoYXNrZWxsLWJ1aWxk LXN5c3RlbSkKICAgIChwcm9wZXJ0aWVzICcoKHVwc3RyZWFtLW5hbWUgLiAieG1vbmFkIikpKQog ICAgKGlucHV0cyAobGlzdCBnaGMteDExIGdoYy1kYXRhLWRlZmF1bHQtY2xhc3MgZ2hjLXNldGxv Y2FsZSkpCiAgICAobmF0aXZlLWlucHV0cyAobGlzdCBnaGMtcXVpY2tjaGVjayBnaGMtcXVpY2tj aGVjay1jbGFzc2VzKSkKICAgIChhcmd1bWVudHMKICAgICAgKGxpc3QKICAgICAgICM6cGhhc2Vz CiAgICAgICAjfihtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgICAoYWRk LWFmdGVyICdpbnN0YWxsICdpbnN0YWxsLXhzZXNzaW9uCiAgICAgICAgICAgICAobGFtYmRhIF8K ICAgICAgICAgICAgICAgKGxldCAoKHhzZXNzaW9ucyAoc3RyaW5nLWFwcGVuZCAjJG91dHB1dCAi L3NoYXJlL3hzZXNzaW9ucyIpKSkKICAgICAgICAgICAgICAgICAobWtkaXItcCB4c2Vzc2lvbnMp CiAgICAgICAgICAgICAgICAgKGNhbGwtd2l0aC1vdXRwdXQtZmlsZSAoc3RyaW5nLWFwcGVuZCB4 c2Vzc2lvbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICIveG1vbmFkLmRlc2t0b3AiKQogICAgICAgICAgICAgICAgICAobGFtYmRhIChwb3J0 KQogICAgICAgICAgICAgICAgICAgIChmb3JtYXQgcG9ydCAifgogICAgICAgICAgICAgICAgICAg ICBbRGVza3RvcCBFbnRyeV1+QAogICAgICAgICAgICAgICAgICAgICBOYW1lPX5hfkAKICAgICAg ICAgICAgICAgICAgICAgQ29tbWVudD14bW9uYWQgd2luZG93IG1hbmFnZXJ+QAogICAgICAgICAg ICAgICAgICAgICBFeGVjPX5hL2Jpbi94bW9uYWR+QAogICAgICAgICAgICAgICAgICAgICBUeXBl PUFwcGxpY2F0aW9ufiUiICMkbmFtZSAjJG91dHB1dCkpKSkpKSkKICAgICAgICM6Y2FiYWwtcmV2 aXNpb24gJygiMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiMXJnd3JueWI3a2lqemwybXFt OGtzMm55ZGgzN3E1dmtiZzQ0MDByZzluNngxM3cycjliMyIpKSkKICAgIChob21lLXBhZ2UgImh0 dHA6Ly94bW9uYWQub3JnIikKICAgIChzeW5vcHNpcyAiVGlsaW5nIHdpbmRvdyBtYW5hZ2VyIikK ICAgIChkZXNjcmlwdGlvbgogICAgICJYbW9uYWQgaXMgYSB0aWxpbmcgd2luZG93IG1hbmFnZXIg Zm9yIFguICBXaW5kb3dzIGFyZSBhcnJhbmdlZAphdXRvbWF0aWNhbGx5IHRvIHRpbGUgdGhlIHNj cmVlbiB3aXRob3V0IGdhcHMgb3Igb3ZlcmxhcCwgbWF4aW1pc2luZyBzY3JlZW4KdXNlLiAgQWxs IGZlYXR1cmVzIG9mIHRoZSB3aW5kb3cgbWFuYWdlciBhcmUgYWNjZXNzaWJsZSBmcm9tIHRoZSBr ZXlib2FyZDogYQptb3VzZSBpcyBzdHJpY3RseSBvcHRpb25hbC4gIFhtb25hZCBpcyB3cml0dGVu IGFuZCBleHRlbnNpYmxlIGluIEhhc2tlbGwuCkN1c3RvbSBsYXlvdXQgYWxnb3JpdGhtcywgYW5k IG90aGVyIGV4dGVuc2lvbnMsIG1heSBiZSB3cml0dGVuIGJ5IHRoZSB1c2VyIGluCmNvbmZpZyBm aWxlcy4gIExheW91dHMgYXJlIGFwcGxpZWQgZHluYW1pY2FsbHksIGFuZCBkaWZmZXJlbnQgbGF5 b3V0cyBtYXkgYmUKdXNlZCBvbiBlYWNoIHdvcmtzcGFjZS4gIFhpbmVyYW1hIGlzIGZ1bGx5IHN1 cHBvcnRlZCwgYWxsb3dpbmcgd2luZG93cyB0byBiZQp0aWxlZCBvbiBzZXZlcmFsIHNjcmVlbnMu IikKICAgIChsaWNlbnNlIGxpY2Vuc2U6YnNkLTMpKSkKCihkZWZpbmUtcHVibGljIGdoYy14bW9i YXIKICAocGFja2FnZQogICAgKG5hbWUgImdoYy14bW9iYXIiKQogICAgKHZlcnNpb24gIjAuNDYi KQogICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAg ICAgICAgICAgICAgKHVyaSAoaGFja2FnZS11cmkgInhtb2JhciIgdmVyc2lvbikpCiAgICAgICAg ICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMGds cGlxN2MwcXdmY3huYzJmbGd6ajdhZm01bTFhOWdoend3Y3E3ZjhxMjdtMjFrZGRyZCIpKSkpCiAg ICAoYnVpbGQtc3lzdGVtIGhhc2tlbGwtYnVpbGQtc3lzdGVtKQogICAgKHByb3BlcnRpZXMgJygo dXBzdHJlYW0tbmFtZSAuICJ4bW9iYXIiKSkpCiAgICAobmF0aXZlLWlucHV0cwogICAgIChsaXN0 IGdoYy1oc3BlYyBoc3BlYy1kaXNjb3ZlcikpCiAgICAoaW5wdXRzCiAgICAgKGxpc3QgZ2hjLWFs c2EtY29yZQogICAgICAgICAgIGdoYy1hbHNhLW1peGVyCiAgICAgICAgICAgZ2hjLWRidXMKICAg ICAgICAgICBnaGMtaGlub3RpZnkKICAgICAgICAgICBnaGMtaHR0cC1jbGllbnQtdGxzCiAgICAg ICAgICAgZ2hjLWh0dHAtY29uZHVpdAogICAgICAgICAgIGdoYy1odHRwLXR5cGVzCiAgICAgICAg ICAgZ2hjLWxpYm1wZAogICAgICAgICAgIGdoYy1uZXRsaW5rCiAgICAgICAgICAgZ2hjLWNlcmVh bAogICAgICAgICAgIGdoYy1vbGQtbG9jYWxlCiAgICAgICAgICAgZ2hjLXBhcnNlYy1udW1iZXJz CiAgICAgICAgICAgZ2hjLXJlZ2V4LWNvbXBhdAogICAgICAgICAgIGdoYy10ZW1wb3JhcnkKICAg ICAgICAgICBnaGMtdGltZXpvbmUtb2xzb24KICAgICAgICAgICBnaGMtdGltZXpvbmUtc2VyaWVz CiAgICAgICAgICAgZ2hjLXgxMQogICAgICAgICAgIGdoYy14MTEteGZ0CiAgICAgICAgICAgZ2hj LWNhaXJvCiAgICAgICAgICAgZ2hjLXBhbmdvCiAgICAgICAgICAgbGlieHBtKSkKICAgIChhcmd1 bWVudHMKICAgICBgKCM6Y29uZmlndXJlLWZsYWdzIChsaXN0ICItLWZsYWdzPWFsbF9leHRlbnNp b25zIikKICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhh c2VzCiAgICAgICAgIChhZGQtYWZ0ZXIgJ2luc3RhbGwgJ3JlbW92ZS1iaW5hcmllcwogICAgICAg ICAgICAgKGxhbWJkYSogKCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAg ICAgICAgICAoZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJl ZiBvdXRwdXRzICJvdXQiKSAiL2JpbiIpKSkpCiAgICAgICAgIChhZGQtYmVmb3JlICdidWlsZCAn cGF0Y2gtdGVzdC1zaGViYW5nCiAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFs bG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInRlc3QvWG1vYmFyL1Bs dWdpbnMvTW9uaXRvcnMvQWxzYVNwZWMuaHMiCiAgICAgICAgICAgICAgICgoIi9iaW4vYmFzaCIp ICh3aGljaCAiYmFzaCIpKSkpKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly94bW9iYXIub3Jn IikKICAgIChzeW5vcHNpcyAiSGFza2VsbCBsaWJyYXJ5IGZvciBtaW5pbWFsaXN0aWMgdGV4dCBi YXNlZCBzdGF0dXMgYmFycyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiQGNvZGV7Z2hjLXhtb2Jh cn0gaXMgdGhlIGhhc2tlbGwgbGlicmFyeSB0aGF0IEBjb2Rle3htb2Jhcn0gaXMgYmFzZWQgb24u Ckl0IGNhbiBiZSB1c2VkIHRvIGV4dGVuZCBAY29kZXt4bW9iYXJ9IHdpdGggb3RoZXIgSGFza2Vs bCBjb2RlLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmJzZC0zKSkpCgooZGVmaW5lLXB1YmxpYyB4 bW9iYXIKICAocGFja2FnZQogICAgKGluaGVyaXQgZ2hjLXhtb2JhcikKICAgIChuYW1lICJ4bW9i YXIiKQogICAgKGlucHV0cwogICAgIChsaXN0IGdoYy14bW9iYXIKICAgICAgICAgICBsaWJ4cG0p KQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjb25maWd1cmUtZmxhZ3MgKGxpc3QgIi0tZmxhZ3M9 YWxsX2V4dGVuc2lvbnMiICJleGU6eG1vYmFyIikKICAgICAgIDs7IEhhZGRvY2sgZG9jdW1lbnRh dGlvbiBpcyBmb3IgdGhlIGxpYnJhcnkuCiAgICAgICAjOmhhZGRvY2s/ICNmCiAgICAgICA7OyBU ZXN0cyBhcmUgZm9yIHRoZSBsaWJyYXJ5LgogICAgICAgIzp0ZXN0cz8gI2YpKQogICAgKHN5bm9w c2lzICJNaW5pbWFsaXN0aWMgdGV4dCBiYXNlZCBzdGF0dXMgYmFyIikKICAgIChkZXNjcmlwdGlv bgogICAgICJAY29kZXt4bW9iYXJ9IGlzIGEgbGlnaHR3ZWlnaHQsIHRleHQtYmFzZWQsIHN0YXR1 cyBiYXIgd3JpdHRlbiBpbgpIYXNrZWxsLiAgSXQgd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQgdG8g YmUgdXNlZCB0b2dldGhlciB3aXRoIFhtb25hZCwgYnV0IGl0CmlzIGFsc28gdXNhYmxlIHdpdGgg YW55IG90aGVyIHdpbmRvdyBtYW5hZ2VyLiAgV2hpbGUgeG1vYmFyIGlzIHdyaXR0ZW4gaW4KSGFz a2VsbCwgbm8ga25vd2xlZGdlIG9mIHRoZSBsYW5ndWFnZSBpcyByZXF1aXJlZCB0byBpbnN0YWxs IGFuZCB1c2UgaXQuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6YnNkLTMpKSkKCihkZWZpbmUtcHVi bGljIHllZ2FuZXNoCiAgKHBhY2thZ2UKICAgIChuYW1lICJ5ZWdhbmVzaCIpCiAgICAodmVyc2lv biAiMi40IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCgogICAgICAgKG1ldGhvZCB1cmwtZmV0 Y2gpCiAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwOi8vZG13aXQuY29tL3llZ2FuZXNo L3llZ2FuZXNoLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAgIChi YXNlMzIgIjA0ZGpmeWphYjNjNXk5ejl4OHpkMHhjeDBqeXkzNXpxN2NsOWRkcjRwcGY2azVreTZp a3kiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBoYXNrZWxsLWJ1aWxkLXN5c3RlbSkKICAgIChpbnB1 dHMKICAgICAobGlzdCBnaGMtc3RyaWN0IGdoYy14ZGctYmFzZWRpcikpCiAgICAoaG9tZS1wYWdl ICJodHRwOi8vZG13aXQuY29tL3llZ2FuZXNoLyIpCiAgICAoc3lub3BzaXMgIlNtYWxsIHdyYXBw ZXIgYXJvdW5kIGRtZW51IikKICAgIChkZXNjcmlwdGlvbiAiQGNvZGV7eWVnYW5lc2h9IGlzIGEg c21hbGwgd3JhcHBlciBhcm91bmQgZGVtbnUuICBMaWtlCmRtZW51LCBpdCBhY2NlcHRzIGlucHV0 IG9uIHN0ZGluIGFuZCB3cml0ZXMgdGhlIGNob3NlbiByZXN1bHQgb24gc3Rkb3V0LgpVbmxpa2Ug ZG1lbnUsIGl0IG1hbmdsZXMgdGhlIGlucHV0IGJlZm9yZSBpdCBwcmVzZW50cyBpdHMgY2hvaWNl cy4gIEluCnBhcnRpY3VsYXIsIGl0IGRpc3BsYXlzIGNvbW1vbmx5LWNob3NlbiBvcHRpb25zIGJl Zm9yZSB1bmNvbW1vbiBvbmVzLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmJzZC0zKSkpCgooZGVm aW5lLXB1YmxpYyBnaGMteG1vbmFkLWNvbnRyaWIKICAocGFja2FnZQogICAgKG5hbWUgImdoYy14 bW9uYWQtY29udHJpYiIpCiAgICAodmVyc2lvbiAiMC4xNy4xIikKICAgIChzb3VyY2UgKG9yaWdp bgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKGhh Y2thZ2UtdXJpICJ4bW9uYWQtY29udHJpYiIgdmVyc2lvbikpCiAgICAgICAgICAgICAgKHNoYTI1 NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMGx3ajh4a3lhdzZoMHJ2 M2x6MmpkcXJ3eno3eWdoZm1uaHBuZHlna2Izd2d5aHZxNmR4YiIpKSkpCiAgICAoYnVpbGQtc3lz dGVtIGhhc2tlbGwtYnVpbGQtc3lzdGVtKQogICAgKHByb3BlcnRpZXMgJygodXBzdHJlYW0tbmFt ZSAuICJ4bW9uYWQtY29udHJpYiIpKSkKICAgIChpbnB1dHMgKGxpc3QgZ2hjLXJhbmRvbSBnaGMt eDExIHhtb25hZCBnaGMtdXRmOC1zdHJpbmcgZ2hjLXgxMS14ZnQpKQogICAgKG5hdGl2ZS1pbnB1 dHMgKGxpc3QgZ2hjLXF1aWNrY2hlY2sgZ2hjLWhzcGVjKSkKICAgIChhcmd1bWVudHMKICAgICBg KCM6Y2FiYWwtcmV2aXNpb24gKCIxIgogICAgICAgICAgICAgICAgICAgICAgICAgIjBkYzluYm4w a2F3OThyZ3BpMXJxOG5wNjAxempoZHIxeTB5ZGc2eWI4Mnd3YXFhd3FsNnoiKSkpCiAgICAoaG9t ZS1wYWdlICJodHRwczovL3htb25hZC5vcmcvIikKICAgIChzeW5vcHNpcyAiVGhpcmQgcGFydHkg ZXh0ZW5zaW9ucyBmb3IgeG1vbmFkIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlyZCBwYXJ0 eSB0aWxpbmcgYWxnb3JpdGhtcywgY29uZmlndXJhdGlvbnMsIGFuZCBzY3JpcHRzIHRvIFhtb25h ZCwgYQp0aWxpbmcgd2luZG93IG1hbmFnZXIgZm9yIFguIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6 YnNkLTMpKSkKCihkZWZpbmUtcHVibGljIGV2aWx3bQogIChwYWNrYWdlCiAgICAobmFtZSAiZXZp bHdtIikKICAgICh2ZXJzaW9uICIxLjMuMSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAg ICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwOi8v d3d3LjY4MDkub3JnLnVrL2V2aWx3bS9kbC9ldmlsd20tIgogICAgICAgICAgICAgICAgICAgICAg ICAgICB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMgog ICAgICAgICAiMWpyeTM2cWtnMmwwMnYzN3p2enN6eHZ4bTJkOGM2MnoyNWdrczVnZHFxamw5aWZi cHYxaiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAoaW5wdXRz CiAgICAgKGxpc3QgbGlieDExIGxpYnhleHQgbGlieHJhbmRyKSkKICAgIChhcmd1bWVudHMKICAg ICBgKCM6bW9kdWxlcyAoKHNyZmkgc3JmaS0yNikKICAgICAgICAgICAgICAgICAgKGd1aXggYnVp bGQgdXRpbHMpCiAgICAgICAgICAgICAgICAgIChndWl4IGJ1aWxkIGdudS1idWlsZC1zeXN0ZW0p KQogICAgICAgIzptYWtlLWZsYWdzIChsZXQgKChpbnB1dHMgKG1hcCAoY3V0IGFzc29jLXJlZiAl YnVpbGQtaW5wdXRzIDw+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn KCJsaWJ4MTEiICJsaWJ4ZXh0IiAibGlieHJhbmRyIikpKQogICAgICAgICAgICAgICAgICAgICAg ICAgIChqb2luIChsYW1iZGEgKHByb2Mgc3RycykKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChzdHJpbmctam9pbiAobWFwIHByb2Mgc3RycykgIiAiKSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgKGRhc2gtSSAoY3V0IHN0cmluZy1hcHBlbmQgIi1JIiA8PiAiL2luY2x1ZGUi KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAoZGFzaC1MIChjdXQgc3RyaW5nLWFwcGVuZCAi LUwiIDw+ICIvbGliIikpKQogICAgICAgICAgICAgICAgICAgICAgYCgiZGVza3RvcGZpbGVzZGly PSQocHJlZml4KS9zaGFyZS94c2Vzc2lvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICwoc3Ry aW5nLWFwcGVuZCAicHJlZml4PSIgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0IikpCiAgICAgICAg ICAgICAgICAgICAgICAgICwoc3RyaW5nLWFwcGVuZCAiQ1BQRkxBR1M9IiAoam9pbiBkYXNoLUkg aW5wdXRzKSkKICAgICAgICAgICAgICAgICAgICAgICAgLChzdHJpbmctYXBwZW5kICJMREZMQUdT PSIgKGpvaW4gZGFzaC1MIGlucHV0cykpKSkKICAgICAgICM6dGVzdHM/ICNmICAgICAgICAgICAg ICAgICAgICAgIDtubyB0ZXN0cwogICAgICAgIzpwaGFzZXMgKG1vZGlmeS1waGFzZXMgJXN0YW5k YXJkLXBoYXNlcwogICAgICAgICAgICAgICAgICAoZGVsZXRlICdjb25maWd1cmUpKSkpIDtubyBj b25maWd1cmUgc2NyaXB0CiAgICAoaG9tZS1wYWdlICJodHRwczovL3d3dy42ODA5Lm9yZy51ay9l dmlsd20vIikKICAgIChzeW5vcHNpcyAiTWluaW1hbGlzdCB3aW5kb3cgbWFuYWdlciBmb3IgdGhl IFggV2luZG93IFN5c3RlbSIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiZXZpbHdtIGlzIGEgbWlu aW1hbGlzdCB3aW5kb3cgbWFuYWdlciBiYXNlZCBvbiBhZXdtLCBleHRlbmRlZCB0byBmZWF0dXJl Cm1hbnkga2V5Ym9hcmQgY29udHJvbHMgd2l0aCByZXBvc2l0aW9uaW5nIGFuZCBtYXhpbWl6ZSB0 b2dnbGVzLCBzb2xpZCB3aW5kb3cKZHJhZ3MsIHNuYXAtdG8tYm9yZGVyIHN1cHBvcnQsIGFuZCB2 aXJ0dWFsIGRlc2t0b3BzLiIpCiAgICAobGljZW5zZSAobGljZW5zZTp4MTEtc3R5bGUgImZpbGU6 Ly8vUkVBRE1FIikpKSkKCihkZWZpbmUtcHVibGljIGZsdXhib3gKICAocGFja2FnZQogICAgKG5h bWUgImZsdXhib3giKQogICAgKHZlcnNpb24gIjEuMy43IikKICAgIChzeW5vcHNpcyAiU21hbGwg YW5kIGZhc3Qgd2luZG93IG1hbmFnZXIiKQogICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAg ICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZCAi bWlycm9yOi8vc291cmNlZm9yZ2UvZmx1eGJveC9mbHV4Ym94LyIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZlcnNpb24gIi9mbHV4Ym94LSIgdmVyc2lvbiAiLnRhci54eiIpKQog ICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAg ICAgIjFoMWY3MHk0MHFkMjI1ZHF4OTM3dnpiNGsyY3oyMTlhZ20xenZuanhha241amt6N2IzN3ci KSkKICAgICAgICAgICAgICAocGF0Y2hlcwogICAgICAgICAgICAgICAoc2VhcmNoLXBhdGNoZXMg ImZsdXhib3gtMS4zLjctbm8tZHluYW1pYy1jdXJzb3IucGF0Y2giCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiZmx1eGJveC0xLjMuNy1nY2MucGF0Y2giKSkpKQogICAgKGJ1aWxkLXN5 c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzptYWtlLWZsYWdz ICcoIkNQUEZMQUdTPS1VX19USU1FX18iKSA7dWdseSwgYnV0IGZvciByZXByb2R1Y2liaWxpdHkK ICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAg ICAgICAgIChhZGQtYmVmb3JlICdib290c3RyYXAgJ2ZvcmNlLWJvb3RzdHJhcAogICAgICAgICAg IChsYW1iZGEgXwogICAgICAgICAgICAgKGRlbGV0ZS1maWxlICJjb25maWd1cmUiKSkpCiAgICAg ICAgIChhZGQtYWZ0ZXIgJ2luc3RhbGwgJ2luc3RhbGwtdmltLWZpbGVzCiAgICAgICAgICAgKGxh bWJkYSogKCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgKGxl dCogKChvdXQgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKSkKICAgICAgICAgICAgICAgICAgICAo c3ludGF4IChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCAi L3NoYXJlL3ZpbS92aW1maWxlcy9wYWNrL2d1aXgvc3RhcnQvZmx1eGJveC9zeW50YXgiKSkpCiAg ICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5ICIzcmQvdmltL3ZpbS9zeW50YXgiIHN5bnRh eCkKICAgICAgICAgICAgICAgI3QpKSkKICAgICAgICAgKGFkZC1hZnRlciAnaW5zdGFsbCAnaW5z dGFsbC14c2Vzc2lvbgogICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ct b3RoZXIta2V5cykKICAgICAgICAgICAgIChsZXQqICgob3V0IChhc3NvYy1yZWYgb3V0cHV0cyAi b3V0IikpCiAgICAgICAgICAgICAgICAgICAgKHhzZXNzaW9ucyAoc3RyaW5nLWFwcGVuZCBvdXQg Ii9zaGFyZS94c2Vzc2lvbnMiKSkpCiAgICAgICAgICAgICAgIChta2Rpci1wIHhzZXNzaW9ucykK ICAgICAgICAgICAgICAgKGNhbGwtd2l0aC1vdXRwdXQtZmlsZQogICAgICAgICAgICAgICAgIChz dHJpbmctYXBwZW5kIHhzZXNzaW9ucyAiL2ZsdXhib3guZGVza3RvcCIpCiAgICAgICAgICAgICAg ICAgKGxhbWJkYSAocG9ydCkKICAgICAgICAgICAgICAgICAgIChmb3JtYXQgcG9ydCAifgogICAg ICAgICAgICAgICAgICAgICBbRGVza3RvcCBFbnRyeV1+QAogICAgICAgICAgICAgICAgICAgICBO YW1lPX5hfkAKICAgICAgICAgICAgICAgICAgICAgQ29tbWVudD1+YX5ACiAgICAgICAgICAgICAg ICAgICAgIEV4ZWM9fmEvYmluL3N0YXJ0Zmx1eGJveH5ACiAgICAgICAgICAgICAgICAgICAgIFR5 cGU9QXBwbGljYXRpb25+JSIgLG5hbWUgLHN5bm9wc2lzIG91dCkpKQogICAgICAgICAgICAgICAj dCkpKSkpKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCBhdXRvY29uZiBhdXRvbWFrZSBn bnUtZ2V0dGV4dCBwa2ctY29uZmlnKSkKICAgIChpbnB1dHMKICAgICAobGlzdCBmcmVldHlwZQog ICAgICAgICAgIGZyaWJpZGkKICAgICAgICAgICBpbWxpYjIKICAgICAgICAgICBsaWJ4MTEKICAg ICAgICAgICBsaWJ4Y3Vyc29yCiAgICAgICAgICAgbGlieGV4dAogICAgICAgICAgIGxpYnhmdAog ICAgICAgICAgIGxpYnhpbmVyYW1hCiAgICAgICAgICAgbGlieHBtCiAgICAgICAgICAgbGlieHJh bmRyCiAgICAgICAgICAgbGlieHJlbmRlcikpCiAgICAoZGVzY3JpcHRpb24gIkZsdXhib3ggaXMg YSB3aW5kb3cgbWFuYWdlci4gIEl0IGlzIGxpZ2h0IG9uIHJlc291cmNlcwphbmQgZWFzeSB0byBo YW5kbGUgeWV0IGZ1bGwgb2YgZmVhdHVyZXMgdG8gbWFrZSBhbiBlYXN5IGFuZCBmYXN0IGRlc2t0 b3AKZXhwZXJpZW5jZS4iKQogICAgKGhvbWUtcGFnZSAiaHR0cDovL2ZsdXhib3gub3JnLyIpCiAg ICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBmYmF1dG9zdGFydAog IChwYWNrYWdlCiAgICAobmFtZSAiZmJhdXRvc3RhcnQiKQogICAgKHZlcnNpb24gIjIuNzE4Mjgx ODI4IikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2QgZ2l0LWZldGNo KQogICAgICAgICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICAgICAgICAg KHVybCAiaHR0cHM6Ly9naXRodWIuY29tL3BhdWx0YWcvZmJhdXRvc3RhcnQuZ2l0IikKICAgICAg ICAgICAgICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCiAgICAgICAgICAgICAgKGZpbGUtbmFt ZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICItY2hlY2tvdXQiKSkKICAgICAgICAg ICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgICAgICIxM2g2 ajVraGk1YXhxaGZsemhheXpndnloeHlsbWs1dnNnaW4yMzVqaTQ0MG16ZDUxNmd6IikpKSkKICAg IChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChuYXRpdmUtaW5wdXRzCiAgICAg KGxpc3QgYXV0b2NvbmYgYXV0b21ha2UpKQogICAgKHN5bm9wc2lzICJYREcgYXV0b3N0YXJ0ZXIg Zm9yIEZsdXhib3ggd2luZG93IG1hbmFnZXIiKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIHBhY2th Z2UgcHJvdmlkZXMgYW4gYXV0b3N0YXJ0ZXIgY29tcGxhaW50IHdpdGgKdGhlIFhERyBBdXRvc3Rh cnQgc3BlY2lmaWNhdGlvbi4iKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3Bh dWx0YWcvZmJhdXRvc3RhcnQiKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmlu ZS1wdWJsaWMgZm5vdHQKICAocGFja2FnZQogICAgKG5hbWUgImZub3R0IikKICAgICh2ZXJzaW9u ICIxLjQuMSIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIGdpdC1m ZXRjaCkKICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAgICAg ICAgKHVybCAiaHR0cHM6Ly9jb2RlYmVyZy5vcmcvZG5rbC9mbm90dCIpCiAgICAgICAgICAgICAg ICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCiAgICAgICAgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZp bGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAg ICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjBmbWp2bXNtMmlrY21kenJmNnh3eXE2dnhiOXAx ZGQzYmh2ejNidmk3cTdyYjJnOGg4cGkiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBtZXNvbi1idWls ZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzIGAoIzpidWlsZC10eXBlICJyZWxlYXNlIikpCiAgICAo bmF0aXZlLWlucHV0cwogICAgIChsaXN0IHBrZy1jb25maWcKICAgICAgICAgICB3YXlsYW5kLXBy b3RvY29scwogICAgICAgICAgIHRsbGlzdAogICAgICAgICAgIHNjZG9jKSkKICAgIChpbnB1dHMK ICAgICAobGlzdCB3bHJvb3RzLTAuMTYgd2F5bGFuZCBmY2Z0IGRidXMgbGlicG5nKSkKICAgICho b21lLXBhZ2UgImh0dHBzOi8vY29kZWJlcmcub3JnL2Rua2wvZm5vdHQiKQogICAgKHN5bm9wc2lz ICJLZXlib2FyZCBkcml2ZW4gYW5kIGxpZ2h0d2VpZ2h0IFdheWxhbmQgbm90aWZpY2F0aW9uIGRh ZW1vbiIpCiAgICAoZGVzY3JpcHRpb24gIkZub3R0IGlzIGEga2V5Ym9hcmQgZHJpdmVuIGFuZCBs aWdodHdlaWdodCBub3RpZmljYXRpb24gZGFlbW9uCmZvciB3bHJvb3RzLWJhc2VkIFdheWxhbmQg Y29tcG9zaXRvcnMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVi bGljIGF3ZXNvbWUKICAocGFja2FnZQogICAgKG5hbWUgImF3ZXNvbWUiKQogICAgKHZlcnNpb24g IjQuMyIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gp CiAgICAgICAodXJpIChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAiaHR0cHM6Ly9naXRodWIu Y29tL2F3ZXNvbWVXTS9hd2Vzb21lLXJlbGVhc2VzL3Jhdy9tYXN0ZXIvIgogICAgICAgICAgICAg ImF3ZXNvbWUtIiB2ZXJzaW9uICIudGFyLnh6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJh c2UzMiAiMGxxcHc0MDFta2ttcDl3Z2J2cm1tNDVicXEyajkzNTdsNGlyd2RxdjZsMTMwNXBsczlr cSIpKQogICAgICAgKG1vZHVsZXMgJygoZ3VpeCBidWlsZCB1dGlscykKICAgICAgICAgICAgICAg ICAgKHNyZmkgc3JmaS0xOSkpKQogICAgICAgKHNuaXBwZXQKICAgICAgICAnKGJlZ2luCiAgICAg ICAgICAgOzsgUmVtb3ZlIG5vbi1yZXByb2R1Y2libGUgdGltZXN0YW1wIGFuZCB1c2UgdGhlIGRh dGUgb2YKICAgICAgICAgICA7OyB0aGUgc291cmNlIGZpbGUgaW5zdGVhZC4KICAgICAgICAgICAo c3Vic3RpdHV0ZSogImNvbW1vbi92ZXJzaW9uLmMiCiAgICAgICAgICAgICAoKCJfX0RBVEVfXyBc IiBcIiBfX1RJTUVfXyIpCiAgICAgICAgICAgICAgKGRhdGUtPnN0cmluZwogICAgICAgICAgICAg ICAodGltZS11dGMtPmRhdGUKICAgICAgICAgICAgICAgIChtYWtlLXRpbWUgdGltZS11dGMgMCAo c3RhdDptdGltZSAoc3RhdCAiYXdlc29tZS5jIikpKSkKICAgICAgICAgICAgICAgIlwifmNcIiIp KSkKICAgICAgICAgICAjdCkpCiAgICAgICAocGF0Y2hlcwogICAgICAgIChzZWFyY2gtcGF0Y2hl cyAiYXdlc29tZS1yZXByb2R1Y2libGUtcG5nLnBhdGNoIgogICAgICAgICAgICAgICAgICAgICAg ICAiYXdlc29tZS00LjMtZm5vLWNvbW1vbi5wYXRjaCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNt YWtlLWJ1aWxkLXN5c3RlbSkKICAgIChuYXRpdmUtaW5wdXRzCiAgICAgKGxpc3QgYXNjaWlkb2MK ICAgICAgICAgICBkb2Nib29rLXhzbAogICAgICAgICAgIGRveHlnZW4KICAgICAgICAgICBncGVy ZgogICAgICAgICAgIGltYWdlbWFnaWNrCiAgICAgICAgICAgbGlieG1sMiA7Zm9yIFhNTF9DQVRB TE9HX0ZJTEVTCiAgICAgICAgICAgbHVhLWxkb2MKICAgICAgICAgICBwa2ctY29uZmlnCiAgICAg ICAgICAgeG1sdG8pKQogICAgKGlucHV0cwogICAgIChsaXN0IGNhaXJvCiAgICAgICAgICAgZGJ1 cwogICAgICAgICAgIGdkay1waXhidWYKICAgICAgICAgICBnbGliCiAgICAgICAgICAgZ29iamVj dC1pbnRyb3NwZWN0aW9uCiAgICAgICAgICAgaW1saWIyCiAgICAgICAgICAgbGliZXYKICAgICAg ICAgICBsaWJ4Y2IKICAgICAgICAgICBsaWJ4Y3Vyc29yCiAgICAgICAgICAgbGlieGRnLWJhc2Vk aXIKICAgICAgICAgICBsaWJ4a2Jjb21tb24KICAgICAgICAgICBsdWEKICAgICAgICAgICBsdWEt bGdpCiAgICAgICAgICAgcGFuZ28KICAgICAgICAgICBzdGFydHVwLW5vdGlmaWNhdGlvbgogICAg ICAgICAgIHhjYi11dGlsCiAgICAgICAgICAgeGNiLXV0aWwtY3Vyc29yCiAgICAgICAgICAgeGNi LXV0aWwtaW1hZ2UKICAgICAgICAgICB4Y2ItdXRpbC1rZXlzeW1zCiAgICAgICAgICAgeGNiLXV0 aWwtcmVuZGVydXRpbAogICAgICAgICAgIHhjYi11dGlsLXhybQogICAgICAgICAgIHhjYi11dGls LXdtKSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6bW9kdWxlcyAoKGd1aXggYnVpbGQgY21ha2Ut YnVpbGQtc3lzdGVtKQogICAgICAgICAgICAgICAgICAoZ3VpeCBidWlsZCB1dGlscykKICAgICAg ICAgICAgICAgICAgKGljZS05IG1hdGNoKSkKICAgICAgIDs7IExldCBjb21wcmVzc2lvbiBoYXBw ZW4gaW4gb3VyICdjb21wcmVzcy1kb2N1bWVudGF0aW9uJyBwaGFzZQogICAgICAgOzsgc28gdGhh dCAnLS1uby1uYW1lJyBpcyB1c2VkLCB3aGljaCByZW1vdmVzIHRpbWVzdGFtcHMgZnJvbQogICAg ICAgOzsgZ3ppcCBvdXRwdXQuCiAgICAgICAjOmNvbmZpZ3VyZS1mbGFncwogICAgICAgJygiLURD T01QUkVTU19NQU5QQUdFUz1vZmYiKQogICAgICAgOzsgQnVpbGRpbmcgYXdlc29tZSBpbiBpdHMg c291cmNlIGRpcmVjdG9yeSBpcyBubyBsb25nZXIKICAgICAgIDs7IHN1cHBvcnRlZC4KICAgICAg ICM6b3V0LW9mLXNvdXJjZT8gI3QKICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNl cyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgIChhZGQtYmVmb3JlICdjb25maWd1cmUgJ3NldC1w YXRocwogICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlz KQogICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJsaWIvYXdmdWwvY29tcGxldGlvbi5sdWEiCiAg ICAgICAgICAgICAgICgoIi91c3IvYmluL2VudiIpCiAgICAgICAgICAgICAgICAiIikpCiAgICAg ICAgICAgICA7OyBUaGUgYnVpbGQgcHJvY2VzcyBuZWVkcyB0byBsb2FkIENhaXJvIGR5bmFtaWNh bGx5LgogICAgICAgICAgICAgKGxldCogKChjYWlybyAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVm IGlucHV0cyAiY2Fpcm8iKSAiL2xpYiIpKQogICAgICAgICAgICAgICAgICAgIChsdWEtdmVyc2lv biAsKHZlcnNpb24tbWFqb3IrbWlub3IgKHBhY2thZ2UtdmVyc2lvbiBsdWEpKSkKICAgICAgICAg ICAgICAgICAgICAobHVhLWRlcGVuZGVuY2llcwogICAgICAgICAgICAgICAgICAgICAoZmlsdGVy IChtYXRjaC1sYW1iZGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgobGFiZWwgLiBf KSAoc3RyaW5nLXByZWZpeD8gImx1YS0iIGxhYmVsKSkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW5wdXRzKSkKICAgICAgICAgICAgICAgICAgICAobHVhLXBhdGgKICAgICAgICAgICAg ICAgICAgICAgKHN0cmluZy1qb2luCiAgICAgICAgICAgICAgICAgICAgICAobWFwIChtYXRjaC1s YW1iZGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF8gLiBkaXIpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkaXIgIi9zaGFyZS9sdWEvIiBsdWEtdmVyc2lvbiAiLz8ubHVhOyIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRpciAiL3NoYXJlL2x1YS8iIGx1YS12ZXJzaW9uICIvPy8/ Lmx1YSIpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgbHVhLWRlcGVuZGVuY2llcykKICAg ICAgICAgICAgICAgICAgICAgICI7IikpCiAgICAgICAgICAgICAgICAgICAgKGx1YS1jcGF0aAog ICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4KICAgICAgICAgICAgICAgICAgICAgICht YXAgKG1hdGNoLWxhbWJkYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoXyAuIGRpcikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRpciAiL2xpYi9sdWEvIiBsdWEtdmVyc2lvbiAiLz8uc287Igog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyICIvbGliL2x1YS8iIGx1YS12ZXJzaW9u ICIvPy8/LnNvIikpKQogICAgICAgICAgICAgICAgICAgICAgICAgICBsdWEtZGVwZW5kZW5jaWVz KQogICAgICAgICAgICAgICAgICAgICAgIjsiKSkpCiAgICAgICAgICAgICAgIChzZXRlbnYgIkxE X0xJQlJBUllfUEFUSCIgY2Fpcm8pCiAgICAgICAgICAgICAgIChzZXRlbnYgIkxVQV9QQVRIIiAo c3RyaW5nLWFwcGVuZCAiPy5sdWE7IiBsdWEtcGF0aCkpCiAgICAgICAgICAgICAgIChzZXRlbnYg IkxVQV9DUEFUSCIgbHVhLWNwYXRoKQogICAgICAgICAgICAgICAoc2V0ZW52ICJIT01FIiAoZ2V0 Y3dkKSkKICAgICAgICAgICAgICAgKHNldGVudiAiWERHX0NBQ0hFX0hPTUUiIChnZXRjd2QpKSkp KQogICAgICAgICAocmVwbGFjZSAnY2hlY2sKICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAg ICAgIDs7IFRoZXJlIGFyZW4ndCBhbnkgdGVzdHMsIHNvIGp1c3QgbWFrZSBzdXJlIHRoZSBiaW5h cnkKICAgICAgICAgICAgIDs7IGdldHMgYnVpbHQgYW5kIGNhbiBiZSBydW4gc3VjY2Vzc2Z1bGx5 LgogICAgICAgICAgICAgKGludm9rZSAiLi4vYnVpbGQvYXdlc29tZSIgIi12IikpKQogICAgICAg ICAoYWRkLWFmdGVyICdpbnN0YWxsICdwYXRjaC1zZXNzaW9uLWZpbGUKICAgICAgICAgICAobGFt YmRhKiAoIzprZXkgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAobGV0 KiAoKG91dCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpKQogICAgICAgICAgICAgICAgICAgIChh d2Vzb21lIChzdHJpbmctYXBwZW5kIG91dCAiL2Jpbi9hd2Vzb21lIikpKQogICAgICAgICAgICAg ICAoc3Vic3RpdHV0ZSogKHN0cmluZy1hcHBlbmQgb3V0ICIvc2hhcmUveHNlc3Npb25zL2F3ZXNv bWUuZGVza3RvcCIpCiAgICAgICAgICAgICAgICAgKCgiRXhlYz1hd2Vzb21lIikgKHN0cmluZy1h cHBlbmQgIkV4ZWM9IiBhd2Vzb21lKSkpCiAgICAgICAgICAgICAgICN0KSkpCiAgICAgICAgIChh ZGQtYWZ0ZXIgJ2luc3RhbGwgJ3dyYXAKICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRz IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgKGxldCogKChhd2Vzb21l IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikpCiAgICAgICAgICAgICAgICAgICAgKGNhaXJvIChz dHJpbmctYXBwZW5kIChhc3NvYy1yZWYgaW5wdXRzICJjYWlybyIpICIvbGliIikpCiAgICAgICAg ICAgICAgICAgICAgKGx1YS12ZXJzaW9uICwodmVyc2lvbi1tYWpvcittaW5vciAocGFja2FnZS12 ZXJzaW9uIGx1YSkpKQogICAgICAgICAgICAgICAgICAgIChsdWEtbGdpIChhc3NvYy1yZWYgaW5w dXRzICJsdWEtbGdpIikpKQogICAgICAgICAgICAgICAod3JhcC1wcm9ncmFtIChzdHJpbmctYXBw ZW5kIGF3ZXNvbWUgIi9iaW4vYXdlc29tZSIpCiAgICAgICAgICAgICAgICAgYCgiTFVBX1BBVEgi ICI7IiBzdWZmaXgKICAgICAgICAgICAgICAgICAgICgsKGZvcm1hdCAjZiAifmEvc2hhcmUvbHVh L35hLz8ubHVhIiBsdWEtbGdpIGx1YS12ZXJzaW9uKSkpCiAgICAgICAgICAgICAgICAgYCgiTFVB X0NQQVRIIiAiOyIgc3VmZml4CiAgICAgICAgICAgICAgICAgICAoLChmb3JtYXQgI2YgIn5hL2xp Yi9sdWEvfmEvPy5zbyIgbHVhLWxnaSBsdWEtdmVyc2lvbikpKQogICAgICAgICAgICAgICAgIGAo IkdJX1RZUEVMSUJfUEFUSCIgIjoiIHByZWZpeCAoLChnZXRlbnYgIkdJX1RZUEVMSUJfUEFUSCIp KSkKICAgICAgICAgICAgICAgICBgKCJMRF9MSUJSQVJZX1BBVEgiIHN1ZmZpeCAoLGNhaXJvKSkp CiAgICAgICAgICAgICAgICN0KSkpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2F3ZXNvbWV3 bS5vcmcvIikKICAgIChzeW5vcHNpcyAiSGlnaGx5IGNvbmZpZ3VyYWJsZSB3aW5kb3cgbWFuYWdl ciIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiQXdlc29tZSBoYXMgYmVlbiBkZXNpZ25lZCBhcyBh IGZyYW1ld29yayB3aW5kb3cgbWFuYWdlci4gIEl0IGlzIGZhc3QsIHNtYWxsLApkeW5hbWljIGFu ZCBleHRlbnNpYmxlIHVzaW5nIHRoZSBMdWEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UuIikKICAgIChs aWNlbnNlIGxpY2Vuc2U6Z3BsMispKSkKCihkZWZpbmUtcHVibGljIG1lbnVtYWtlcgogIChwYWNr YWdlCiAgICAobmFtZSAibWVudW1ha2VyIikKICAgICh2ZXJzaW9uICIwLjk5LjE0IikKICAgIChz b3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkg KHN0cmluZy1hcHBlbmQgIm1pcnJvcjovL3NvdXJjZWZvcmdlL21lbnVtYWtlci8iCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICJtZW51bWFrZXItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAg ICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMG5ubmMxYXd2aHE1cHBsdmNsYXAzaGE2MWc5MjA5 YmNhNnpxZ3BzbTFmNTNmcTc1dnM4aSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1z eXN0ZW0pCiAgICAoaW5wdXRzCiAgICAgKGxpc3QgcHl0aG9uKSkKICAgIChzeW5vcHNpcyAiSGV1 cmlzdGljcy1kcml2ZW4gbWVudSBnZW5lcmF0b3IiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIk1l bnVNYWtlciBpcyBhIG1lbnUgZ2VuZXJhdGlvbiB1dGlsaXR5IGZvciBhIG51bWJlciBvZiBYIHdp bmRvdwptYW5hZ2VycyBhbmQgZGVza3RvcCBlbnZpcm9ubWVudHMuICBJdCBpcyBjYXBhYmxlIG9m IGZpbmRpbmcgbG90cyBvZgppbnN0YWxsZWQgcHJvZ3JhbXMgYW5kIGdlbmVyYXRpbmcgYSByb290 IG1lbnUgY29uc2lzdGVudCBhY3Jvc3MgYWxsCnN1cHBvcnRlZCB3aW5kb3cgbWFuYWdlcnMsIHNv IG9uZSB3aWxsIGdldCAoYWxtb3N0KSB0aGUgc2FtZSBtZW51IGluCmFsbCBvZiB0aGVtLiAgQ3Vy cmVudGx5IHN1cHBvcnRlZCB3aW5kb3cgbWFuYWdlcnMgaW5jbHVkZToKCkBlbnVtZXJhdGUKQGl0 ZW0gQmxhY2tCb3gKQGl0ZW0gRGVza21lbnUKQGl0ZW0gRmx1eEJveApAaXRlbSBJY2VXTQpAaXRl bSBPcGVuQm94CkBpdGVtIFBla1dNCkBpdGVtIFdpbmRvd01ha2VyCkBpdGVtIFhGQ0UKQGVuZCBl bnVtZXJhdGVcbiIpCiAgICAoaG9tZS1wYWdlICJodHRwczovL21lbnVtYWtlci5zb3VyY2Vmb3Jn ZS5uZXQvIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6YnNkLTIpKSkKCihkZWZpbmUtcHVibGljIGtl eWJpbmRlcgogIChwYWNrYWdlCiAgICAobmFtZSAia2V5YmluZGVyIikKICAgICh2ZXJzaW9uICIw LjMuMiIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gp CiAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwczovL2dpdGh1Yi5jb20va3VwZmVybGF1 bmNoZXIva2V5YmluZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAiL3JlbGVhc2VzL2Rv d25sb2FkLyIgbmFtZSAiLTMuMC12IiB2ZXJzaW9uICIvIgogICAgICAgICAgICAgICAgICAgICAg ICAgICBuYW1lICItMy4wLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKGZpbGUtbmFtZSAo c3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2 CiAgICAgICAgKGJhc2UzMgogICAgICAgICAiMDgzMGlod25hbHc1OXBwMXh6cnAzN2RuNThuOHZ3 Yjh6YXNubTRhMWg4MXYzeDdkeHF6NiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1z eXN0ZW0pCiAgICAoaW5wdXRzCiAgICAgKGxpc3QgZ3RrKyBnb2JqZWN0LWludHJvc3BlY3Rpb24p KQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCBndGstZG9jIHBrZy1jb25maWcpKQogICAg KHN5bm9wc2lzICJMaWJyYXJ5IGZvciByZWdpc3RlcmluZyBnbG9iYWwga2V5Ym9hcmQgc2hvcnRj dXRzLCBHdGszIHZlcnNpb24iKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIktleWJpbmRlciBpcyBh IGxpYnJhcnkgZm9yIHJlZ2lzdGVyaW5nIGdsb2JhbCBrZXlib2FyZCBzaG9ydGN1dHMuCktleWJp bmRlciB3b3JrcyB3aXRoIEdUSy1iYXNlZCBhcHBsaWNhdGlvbnMgdXNpbmcgdGhlIFggV2luZG93 IFN5c3RlbS4iKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2t1cGZlcmxhdW5j aGVyL2tleWJpbmRlciIpCiAgICAobGljZW5zZSBsaWNlbnNlOngxMSkpKQoKKGRlZmluZS1wdWJs aWMga2V5YmluZGVyLTMuMAogIChkZXByZWNhdGVkLXBhY2thZ2UgImtleWJpbmRlci0zLjAiIGtl eWJpbmRlcikpCgooZGVmaW5lLXB1YmxpYyBzYW5kYmFyCiAgKHBhY2thZ2UKICAgIChuYW1lICJz YW5kYmFyIikKICAgICh2ZXJzaW9uICIwLjEiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAg ICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAg ICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2tvbHVubWkvc2FuZGJhciIpCiAgICAgICAg ICAgICAoY29tbWl0IChzdHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQogICAgICAgKGZpbGUt bmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgKHNoYTI1NgogICAgICAg IChiYXNlMzIgIjA5MTJjcjJxMmtnNG5xZHd5OTc4a3BtZGNqMmNqejNnbmxjYjI4bnk5ejNjcHJ4 dnl2eHEiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKGFyZ3Vt ZW50cwogICAgIChsaXN0ICM6cGhhc2VzCiAgICAgICAgICAgI34obW9kaWZ5LXBoYXNlcyAlc3Rh bmRhcmQtcGhhc2VzCiAgICAgICAgICAgICAoZGVsZXRlICdjb25maWd1cmUpKSAgICAgICA7bm8g Y29uZmlndXJlIHNjcmlwdAogICAgICAgICAgICM6dGVzdHM/ICNmICAgICAgICAgICAgIDtubyBj aGVjayB0YXJnZXQKICAgICAgICAgICAjOm1ha2UtZmxhZ3MKICAgICAgICAgICAjfihsaXN0IChz dHJpbmctYXBwZW5kICJDQz0iICMkKGNjLWZvci10YXJnZXQpKQogICAgICAgICAgICAgICAgICAg KHN0cmluZy1hcHBlbmQgIlBSRUZJWD0iICMkb3V0cHV0KSkpKQogICAgKGlucHV0cyAobGlzdCBm Y2Z0IHdheWxhbmQpKQogICAgKG5hdGl2ZS1pbnB1dHMgKGxpc3QgcGtnLWNvbmZpZyB3YXlsYW5k LXByb3RvY29scykpCiAgICAoc3lub3BzaXMgIkRXTS1saWtlIGJhciBmb3IgdGhlIFJpdmVyIFdh eWxhbmQgY29tcG9zaXRvciIpCiAgICAoZGVzY3JpcHRpb24gIlNhbmRiYXIgaXMgYSBtaW5pbWFs aXN0IERXTS1saWtlIGJhciBkZXNpZ25lZCBmb3IgUml2ZXIsCmEgV2F5bGFuZCBjb21wb3NpdG9y LiAgSXQgaXMgdHJpZ2dlcmVkIHRocm91Z2ggY29tbWFuZHMgc2VudCB2aWEgc3RhbmRhcmQKaW5w dXQsIHByb3ZpZGluZyBleHRlbnNpdmUgY3VzdG9taXphdGlvbiBvcHRpb25zLiAgVGhpcyBiZWhh dmlvciBhbGxvd3MgdXNlcnMKdG8gZHluYW1pY2FsbHkgYWRqdXN0IHN0YXR1cyB0ZXh0LCB2aXNp YmlsaXR5LCBhbmQgYmFyIGxvY2F0aW9uLCBtYWtpbmcKU2FuZGJhciBhbiBpZGVhbCBjaG9pY2Ug Zm9yIHRob3NlIHNlZWtpbmcgYSBsaWdodHdlaWdodCBhbmQgaGFja2FibGUgYmFyCnNvbHV0aW9u IGluIHRoZWlyIFdheWxhbmQgZW52aXJvbm1lbnQuIikKICAgIDs7ICAgICAgICAgICAgIExJQ0VO U0UgICAgICBMSUNFTlNFLmR0YW8KICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6Z3BsMyBsaWNl bnNlOmV4cGF0KSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9rb2x1bm1pL3Nh bmRiYXIiKSkpCgooZGVmaW5lLXB1YmxpYyBzcGVjdHJ3bQogIChwYWNrYWdlCiAgICAobmFtZSAi c3BlY3Ryd20iKQogICAgKHZlcnNpb24gIjMuMi4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2lu CiAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAg ICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9jb25mb3JtYWwvc3BlY3Ryd20iKQog ICAgICAgICAgICAgKGNvbW1pdAogICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICJTUEVDVFJX TV8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIChzdHJpbmctc3Bs aXQgdmVyc2lvbiAjXC4pICJfIikpKSkpCiAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1l IG5hbWUgdmVyc2lvbikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMWRmcXk1ZjBz MW52NnJxa3o5bGowMDZ2eXBtcDRyd3hkNXZjemZrM25kenFnbmgxOWt3NiIpKSkpCiAgICAoYnVp bGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOm1ha2Ut ZmxhZ3MgKGxldCAoKHBrZy1jb25maWcgKGxhbWJkYSAoZmxhZykKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIiQoc2hlbGwgcGtnLWNvbmZpZyAiIGZsYWcgIiAiCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhmdCBmb250Y29uZmlnIHgxMSBs aWJwbmcpIikpKSkKICAgICAgICAgICAgICAgICAgICAgIChsaXN0CiAgICAgICAgICAgICAgICAg ICAgICAgIkNDPWdjYyIKICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiUFJF RklYPSIgJW91dHB1dCkKICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiSU5D Uz0tSS4gIiAocGtnLWNvbmZpZyAiLS1jZmxhZ3MiKSkKICAgICAgICAgICAgICAgICAgICAgICAo c3RyaW5nLWFwcGVuZCAiTElCUz0iIChwa2ctY29uZmlnICItLWxpYnMiKSAiIC1sbSIpKSkKICAg ICAgICM6dGVzdHM/ICNmICAgICAgICAgICAgICAgICAgICAgIDtubyB0ZXN0IHN1aXRlCiAgICAg ICAjOnBoYXNlcwogICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAg ICAoYWRkLWJlZm9yZSAnYnVpbGQgJ2NoYW5nZS1kaXIKICAgICAgICAgICAobGFtYmRhIF8KICAg ICAgICAgICAgIChjaGRpciAibGludXgiKSAjdCkpCiAgICAgICAgIChhZGQtYWZ0ZXIgJ2NoYW5n ZS1kaXIgJ3BhdGNoLW1ha2VmaWxlCiAgICAgICAgICAgKGxhbWJkYSBfCiAgICAgICAgICAgICAo c3Vic3RpdHV0ZSogIk1ha2VmaWxlIgogICAgICAgICAgICAgICAoKCItZyIpICIiKSkpKQogICAg ICAgICAoZGVsZXRlICdjb25maWd1cmUpKSkpICAgICAgICAgO25vICdjb25maWd1cmUnIGV4aXN0 cwogICAgKGlucHV0cwogICAgIGAoKCJmcmVldHlwZSIgLGZyZWV0eXBlKQogICAgICAgKCJmb250 Y29uZmlnIiAsZm9udGNvbmZpZykKICAgICAgICgibGlieDExIiAsbGlieDExKQogICAgICAgKCJs aWJ4Y3Vyc29yIiAsbGlieGN1cnNvcikKICAgICAgICgibGlieHJhbmRyIiAsbGlieHJhbmRyKQog ICAgICAgKCJsaWJ4dHN0IiAsbGlieHRzdCkKICAgICAgICgibGlieGZ0IiAsbGlieGZ0KQogICAg ICAgKCJ4Y2ItdXRpbCIgLHhjYi11dGlsKQogICAgICAgKCJ4Y2ItdXRpbC13bSIgLHhjYi11dGls LXdtKQogICAgICAgKCJ4Y2ItdXRpbC1rZXlzeW1zIiAseGNiLXV0aWwta2V5c3ltcykpKQogICAg KG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCBsaWJ4dCBwa2ctY29uZmlnKSkKICAgIChzeW5vcHNp cyAiTWluaW1hbGlzdGljIGF1dG9tYXRpYyB0aWxpbmcgd2luZG93IG1hbmFnZXIiKQogICAgKGRl c2NyaXB0aW9uCiAgICAgIlNwZWN0cndtIGlzIGEgc21hbGwgZHluYW1pYyB0aWxpbmcgYW5kIHJl cGFyZW50aW5nIHdpbmRvdyBtYW5hZ2VyIGZvciBYMTEuCkl0IGlzIGluc3BpcmVkIGJ5IFhtb25h ZCBhbmQgZHdtLiAgSXRzIG1ham9yIGZlYXR1cmVzIGluY2x1ZGU6CgpAaXRlbWl6ZQpAaXRlbSBO YXZpZ2F0aW9uIGFueXdoZXJlIG9uIGFsbCBzY3JlZW5zIHdpdGggZWl0aGVyIHRoZSBrZXlib2Fy ZCBvciBtb3VzZQpAaXRlbSBDdXN0b21pemFibGUgc3RhdHVzIGJhcgpAaXRlbSBSZXN0YXJ0YWJs ZSB3aXRob3V0IGxvc2luZyBzdGF0ZQpAaXRlbSBRdWljayBsYXVuY2ggbWVudQpAaXRlbSBNYW55 IHNjcmVlbiBsYXlvdXRzIHBvc3NpYmxlIHdpdGggYSBmZXcgc2ltcGxlIGtleSBzdHJva2VzCkBp dGVtIE1vdmUvcmVzaXplIGZsb2F0aW5nIHdpbmRvd3MKQGl0ZW0gRXh0ZW5kZWQgV2luZG93IE1h bmFnZXIgSGludHMgKEBkZm57RVdNSH0pIHN1cHBvcnQKQGl0ZW0gQ29uZmlndXJhYmxlIHRpbGlu ZwpAaXRlbSBBZGp1c3RhYmxlIHRpbGUgZ2FwIGFsbG93cyBmb3IgYSB0cnVlIG9uZSBwaXhlbCBi b3JkZXIKQGl0ZW0gQ3VzdG9taXphYmxlIGNvbG9ycyBhbmQgYm9yZGVyIHdpZHRoCkBlbmQgaXRl bWl6ZVxuIikKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9jb25mb3JtYWwvc3Bl Y3Ryd20iKQogICAgKGxpY2Vuc2UgbGljZW5zZTppc2MpKSkKCihkZWZpbmUtcHVibGljIGN3bQog IChwYWNrYWdlCiAgICAobmFtZSAiY3dtIikKICAgICh2ZXJzaW9uICI3LjEiKQogICAgKHNvdXJj ZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAoc3Ry aW5nLWFwcGVuZCAiaHR0cHM6Ly9sZWFobmV1a2lyY2hlbi5vcmcvcmVsZWFzZXMvY3dtLSIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1 NgogICAgICAgIChiYXNlMzIgIjE0NXhqd2FtMTExOTR3Mmlyc3ZzNHoweGduMGpkaWp4Zm14Njdn cWQxbjBqOGc1d2FuMmEiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQog ICAgKGFyZ3VtZW50cwogICAgIChsaXN0CiAgICAgICM6dGVzdHM/ICNmCiAgICAgICM6bWFrZS1m bGFncyAjfihsaXN0IChzdHJpbmctYXBwZW5kICJDQz0iICMkKGNjLWZvci10YXJnZXQpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiUFJFRklYPSIgIyRvdXRwdXQp KQogICAgICAjOnBoYXNlcwogICAgICAjfihtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMK ICAgICAgICAgIChkZWxldGUgJ2NvbmZpZ3VyZSkKICAgICAgICAgIChhZGQtYWZ0ZXIgJ2J1aWxk ICdpbnN0YWxsLXhzZXNzaW9uCiAgICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgIDs7 IEFkZCBhIC5kZXNrdG9wIGZpbGUgdG8geHNlc3Npb25zLgogICAgICAgICAgICAgIChsZXQgKCh4 c2Vzc2lvbnMgKHN0cmluZy1hcHBlbmQgIyRvdXRwdXQgIi9zaGFyZS94c2Vzc2lvbnMiKSkpCiAg ICAgICAgICAgICAgICAobWtkaXItcCB4c2Vzc2lvbnMpCiAgICAgICAgICAgICAgICAobWFrZS1k ZXNrdG9wLWVudHJ5LWZpbGUKICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCB4c2Vzc2lv bnMgIi9jd20uZGVza3RvcCIpCiAgICAgICAgICAgICAgICAgIzpuYW1lICJjd20iCiAgICAgICAg ICAgICAgICAgIzpleGVjIChzdHJpbmctYXBwZW5kICMkb3V0cHV0ICIvYmluL2N3bSIpCiAgICAg ICAgICAgICAgICAgIzp0cnktZXhlYyAoc3RyaW5nLWFwcGVuZCAjJG91dHB1dCAiL2Jpbi9jd20i KQogICAgICAgICAgICAgICAgICM6Y29tbWVudCAnKCgjZiAiT3BlbkJTRCBDYWxtIFdpbmRvdyBN YW5hZ2VyIGZvcmsiKSkpKSkpKSkpCiAgICAobmF0aXZlLWlucHV0cwogICAgIChsaXN0IGJpc29u IHBrZy1jb25maWcpKQogICAgKGlucHV0cwogICAgIChsaXN0IGxpYnhyYW5kciBsaWJ4ZnQgbGli eGluZXJhbWEpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2xlYWhuZXVraXJj aGVuL2N3bSIpCiAgICAoc3lub3BzaXMgIk9wZW5CU0QgZm9yayBvZiB0aGUgQ2FsbSBXaW5kb3cg TWFuYWdlciIpCiAgICAoZGVzY3JpcHRpb24gIkN3bSBpcyBhIHN0YWNraW5nIHdpbmRvdyBtYW5h Z2VyIGZvciBYMTEuICBJdCBpcyBhbiBPcGVuQlNECnByb2plY3QgZGVyaXZlZCBmcm9tIHRoZSBv cmlnaW5hbCBDYWxtIFdpbmRvdyBNYW5hZ2VyLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmlzYykp KQoKKGRlZmluZS1wdWJsaWMgZHVuc3QKICAocGFja2FnZQogICAgKG5hbWUgImR1bnN0IikKICAg ICh2ZXJzaW9uICIxLjEwLjAiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRo b2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgKHVy bCAiaHR0cHM6Ly9naXRodWIuY29tL2R1bnN0LXByb2plY3QvZHVuc3QiKQogICAgICAgICAgICAg KGNvbW1pdCAoc3RyaW5nLWFwcGVuZCAidiIgdmVyc2lvbikpKSkKICAgICAgIChmaWxlLW5hbWUg KGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFz ZTMyICIxZDZtYzNhYzR6MTZpd2dxOTkzNGcxeWMzNDEyeGwwaHd2NXZzNDB5Y2ZtYXNtOHFiamdh IikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMK ICAgICAobGlzdAogICAgICAjOnRlc3RzPyAjZiA7bm8gY2hlY2sgdGFyZ2V0CiAgICAgICM6bWFr ZS1mbGFncyAjfihsaXN0IChzdHJpbmctYXBwZW5kICJDQz0iCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMkKGNjLWZvci10YXJnZXQpKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiUFJFRklYPSIgJW91dHB1dCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIlNZU0NPTkZESVI9IiAlb3V0cHV0ICIvZXRj IikKICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgT3RoZXJ3aXNlIGl0IHRyaWVzIHRvIGlu c3RhbGwgc2VydmljZSBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IHRvICJkYnVz IiBzdG9yZSBkaXJlY3RvcnkuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBw ZW5kICJTRVJWSUNFRElSX0RCVVM9IiAlb3V0cHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIvc2hhcmUvZGJ1cy0xL3NlcnZpY2VzIikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgImR1bnN0aWZ5IikKICAgICAgIzpwaGFzZXMgI34obW9kaWZ5LXBoYXNlcyAl c3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAgICAgICAgICAoZGVsZXRlICdjb25maWd1cmUpKSkp CiAgICAobmF0aXZlLWlucHV0cyAobGlzdCBwa2ctY29uZmlnIHBlcmwgO2ZvciBwb2QybWFuCiAg ICAgICAgICAgICAgICAgICAgICAgICB3aGljaCkpCiAgICAoaW5wdXRzIChsaXN0IGRidXMKICAg ICAgICAgICAgICAgICAgKGxpYnJzdmctZm9yLXN5c3RlbSkgO2ZvciBzdmcgc3VwcG9ydAogICAg ICAgICAgICAgICAgICBnbGliCiAgICAgICAgICAgICAgICAgIGNhaXJvCiAgICAgICAgICAgICAg ICAgIHBhbmdvCiAgICAgICAgICAgICAgICAgIGxpYm5vdGlmeSA7Zm9yIGR1bnN0aWZ5CiAgICAg ICAgICAgICAgICAgIGxpYngxMQogICAgICAgICAgICAgICAgICBsaWJ4c2NybnNhdmVyCiAgICAg ICAgICAgICAgICAgIGxpYnhpbmVyYW1hCiAgICAgICAgICAgICAgICAgIGxpYnhyYW5kcgogICAg ICAgICAgICAgICAgICBsaWJ4ZGctYmFzZWRpcgogICAgICAgICAgICAgICAgICB3YXlsYW5kKSkg O2ZvciB3YXlsYW5kIHN1cHBvcnQKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZHVuc3QtcHJvamVj dC5vcmcvIikKICAgIChzeW5vcHNpcyAiQ3VzdG9taXphYmxlIGFuZCBsaWdodHdlaWdodCBub3Rp ZmljYXRpb24gZGFlbW9uIikKICAgIChkZXNjcmlwdGlvbgogICAgICJEdW5zdCBpcyBhIGhpZ2hs eSBjb25maWd1cmFibGUgYW5kIG1pbmltYWxpc3RpYyBub3RpZmljYXRpb24gZGFlbW9uLgpJdCBw cm92aWRlcyBAY29kZXtvcmcuZnJlZWRlc2t0b3AuTm90aWZpY2F0aW9uc30gRC1CdXMgc2Vydmlj ZSwgc28gaXQgaXMKc3RhcnRlZCBhdXRvbWF0aWNhbGx5IG9uIHRoZSBmaXJzdCBjYWxsIHZpYSBE LUJ1cy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpic2QtMykpKQoKKGRlZmluZS1wdWJsaWMgZHds CiAgKHBhY2thZ2UKICAgIChuYW1lICJkd2wiKQogICAgKHZlcnNpb24gIjAuNCIpCiAgICAoc291 cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICAgICAg ICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9n aXRodWIuY29tL2RqcG9obHkvZHdsIikKICAgICAgICAgICAgICAgICAgICAoY29tbWl0IChzdHJp bmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKGdpdC1m aWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAg ICAgIChiYXNlMzIKICAgICAgICAgICAgICAgICIwcGowaDN6ZDJmNjBoeHBhdnBtZ3ppZDFzajdo ZjltNWNnY2xiYWNrbGpxcTRncHdsdmlyIikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxk LXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmICAgICAgICAgICAgICAg ICAgICAgIDsgbm8gdGVzdHMKICAgICAgICM6bWFrZS1mbGFncwogICAgICAgKGxpc3QKICAgICAg ICAoc3RyaW5nLWFwcGVuZCAiQ0M9IiAsKGNjLWZvci10YXJnZXQpKQogICAgICAgIChzdHJpbmct YXBwZW5kICJQUkVGSVg9IiAoYXNzb2MtcmVmICVvdXRwdXRzICJvdXQiKSkpCiAgICAgICAjOnBo YXNlcwogICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAoZGVs ZXRlICdjb25maWd1cmUpKSkpICAgICAgICAgOyBubyBjb25maWd1cmUKICAgIChuYXRpdmUtaW5w dXRzCiAgICAgKGxpc3QgcGtnLWNvbmZpZykpCiAgICAoaW5wdXRzCiAgICAgKGxpc3Qgd2xyb290 cy0wLjE2KSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9kanBvaGx5L2R3bCIp CiAgICAoc3lub3BzaXMgIkR5bmFtaWMgd2luZG93IG1hbmFnZXIgZm9yIFdheWxhbmQiKQogICAg KGRlc2NyaXB0aW9uCiAgICAgIkBjb21tYW5ke2R3bH0gaXMgYSBjb21wYWN0LCBoYWNrYWJsZSBj b21wb3NpdG9yIGZvciBXYXlsYW5kIGJhc2VkIG9uCndscm9vdHMuICBJdCBpcyBpbnRlbmRlZCB0 byBmaWxsIHRoZSBzYW1lIHNwYWNlIGluIHRoZSBXYXlsYW5kIHdvcmxkIHRoYXQgZHdtCmRvZXMg aW4gWDExLCBwcmltYXJpbHkgaW4gdGVybXMgb2YgcGhpbG9zb3BoeSwgYW5kIHNlY29uZGFyaWx5 IGluIHRlcm1zIG9mCmZ1bmN0aW9uYWxpdHkuICBMaWtlIGR3bSwgZHdsIGlzIGVhc3kgdG8gdW5k ZXJzdGFuZCBhbmQgaGFjayBvbiwgZHVlIHRvIGEKbGltaXRlZCBzaXplIGFuZCBhIGZldyBleHRl cm5hbCBkZXBlbmRlbmNpZXMuICBJdCBpcyBjb25maWd1cmFibGUgdmlhCkBmaWxle2NvbmZpZy5o fS4iKQogICAgOzsgICAgICAgICAgICAgTElDRU5TRSAgICAgICBMSUNFTlNFLmR3bSAgIExJQ0VO U0UudGlueXdsCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmdwbDMrIGxpY2Vuc2U6ZXhwYXQg bGljZW5zZTpjYzApKSkpCgooZGVmaW5lLXB1YmxpYyBuaXRyb2dlbgogIChwYWNrYWdlCiAgICAo bmFtZSAibml0cm9nZW4iKQogICAgKHZlcnNpb24gIjEuNi4xIikKICAgIChzb3VyY2UgKG9yaWdp bgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKHN0 cmluZy1hcHBlbmQgImh0dHA6Ly9naXRodWIuY29tL2wzaWIvbml0cm9nZW4vIgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInJlbGVhc2VzL2Rvd25sb2FkLyIgdmVyc2lvbiAiLyIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgIi0iIHZlcnNpb24gIi50YXIu Z3oiKSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAg ICAgICAgICAgICIwemMzZmwxbWJocTBpeW5keTR5c215OHZ2NWM3eHdmNTRyYmdhbXpmaGZ2c2dk cTE2MHBsIikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChpbnB1 dHMKICAgICAobGlzdCBndGsrLTIgZ3RrbW0tMiBnbGliIGdsaWJtbSkpCiAgICAobmF0aXZlLWlu cHV0cwogICAgIChsaXN0IHBrZy1jb25maWcpKQogICAgKGhvbWUtcGFnZSAiaHR0cDovL3Byb2pl Y3RzLmwzaWIub3JnL25pdHJvZ2VuLyIpCiAgICAoc3lub3BzaXMgIkJhY2tncm91bmQgYnJvd3Nl ciBhbmQgc2V0dGVyIGZvciBYIHdpbmRvd3MiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMg cGFja2FnZSBpcyBhIGJhY2tncm91bmQgYnJvd3NlciBhbmQgc2V0dGVyIGZvciBYIHdpbmRvd3Mu ICBJdCdzCmZlYXR1cmVzIGFyZToKCkBpdGVtaXplCkBpdGVtIE11bHRpaGVhZCBhbmQgWGluZXJh bWEgYXdhcmUKQGl0ZW0gUmVjYWxsIG1vZGUgdG8gdXNlZCB2aWEgc3RhcnR1cCBzY3JpcHQKQGl0 ZW0gVXNlcyBmcmVlZGVza3RvcC5vcmcgc3RhbmRhcmQgZm9yIHRodW1ibmFpbHMKQGl0ZW0gQ2Fu IHNldCBHTk9NRSBiYWNrZ3JvdW5kCkBpdGVtIENvbW1hbmQgbGllIHNldCBtb2RlcyBmb3Igc2Ny aXB0IHVzZQpAaXRlbSBJbm90aWZ5IG1vbml0b3Jpbmcgb2YgYnJvd3NlIGRpcmVjdG9yeQpAaXRl bSBMYXp5IGxvYWRpbmcgb2YgdGh1bWJuYWlscyAtIGNvbnNlcnZlcyBtZW1vcnkKQGl0ZW0gXCJB dXRvbWF0aWNcIiBzZXQgbW9kZSAtIGRldGVybWluZXMgYmVzdCBtb2RlIHRvIHNldCBhbiBpbWFn ZSBiYXNlZCBvbgppdHMgc2l6ZQpAaXRlbSBEaXNwbGF5IHByZXZpZXcgaW1hZ2VzIGluIGEgdGls ZWQgaWNvbiBsYXlvdXQKQGVuZCBpdGVtaXplIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMisp KSkKCihkZWZpbmUtcHVibGljIHBvbHliYXIKICAocGFja2FnZQogICAgKG5hbWUgInBvbHliYXIi KQogICAgKHZlcnNpb24gIjMuNy4xIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAo bWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8vZ2l0 aHViLmNvbS9wb2x5YmFyL3BvbHliYXIvcmVsZWFzZXMvIgogICAgICAgICAgICAgICAgICAgICAg ICAgICAiZG93bmxvYWQvIiB2ZXJzaW9uICIvcG9seWJhci0iIHZlcnNpb24gIi50YXIuZ3oiKSkK ICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwM3p6MmMzY2t4cWJ3aXhjMnFoc25hc3E0 ajRzZmlhNzF2NzVsaTl3OTdkMGJjd2F2cmp4IikpKSkKICAgIChidWlsZC1zeXN0ZW0gY21ha2Ut YnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIDs7IFRlc3QgaXMgZGlzYWJsZWQgYmVj YXVzZSBpdCByZXF1aXJlcyBkb3dubG9hZGluZyBnb29nbGV0ZXN0IGZyb20gdGhlCiAgICAgOzsg SW50ZXJuZXQuCiAgICAgKGxpc3QgIzp0ZXN0cz8gI2YKICAgICAgICAgICAjOnBoYXNlcwogICAg ICAgICAgICN+KG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgICAgICA7 OyBNYWtlIHBvbHliYXIgZmluZCBpdHMgZGVmYXVsdCBjb25maWd1cmF0aW9uIGZpbGUgaW4gdGhl CiAgICAgICAgICAgICAgIDs7IHN0b3JlLgogICAgICAgICAgICAgICAoYWRkLWFmdGVyICd1bnBh Y2sgJ3BhdGNoLWNvbmZpZy1wYXRoCiAgICAgICAgICAgICAgICAgKGxhbWJkYSBfCiAgICAgICAg ICAgICAgICAgICAoc3Vic3RpdHV0ZSogIkNNYWtlTGlzdHMudHh0IgogICAgICAgICAgICAgICAg ICAgICAoKCIvZXRjIikgKHN0cmluZy1hcHBlbmQgIyRvdXRwdXQgIi9ldGMiKSkpCiAgICAgICAg ICAgICAgICAgICAoc3Vic3RpdHV0ZSogInNyYy91dGlscy9maWxlLmNwcCIKICAgICAgICAgICAg ICAgICAgICAgKCgiXCIvZXRjXCIiKSAoc3RyaW5nLWFwcGVuZCAiXCIiICMkb3V0cHV0ICIvZXRj XCIiKSkpKSkpKSkKICAgIChpbnB1dHMKICAgICAobGlzdCBhbHNhLWxpYgogICAgICAgICAgIGNh aXJvCiAgICAgICAgICAgaTMtd20KICAgICAgICAgICBqc29uY3BwCiAgICAgICAgICAgbGlibXBk Y2xpZW50CiAgICAgICAgICAgbGlibmwKICAgICAgICAgICBsaWJ1dgogICAgICAgICAgIGxpYnhj YgogICAgICAgICAgIHB1bHNlYXVkaW8KICAgICAgICAgICB4Y2ItcHJvdG8KICAgICAgICAgICB4 Y2ItdXRpbAogICAgICAgICAgIHhjYi11dGlsLWN1cnNvcgogICAgICAgICAgIHhjYi11dGlsLWlt YWdlCiAgICAgICAgICAgeGNiLXV0aWwtd20KICAgICAgICAgICB4Y2ItdXRpbC14cm0pKQogICAg KG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCBwa2ctY29uZmlnCiAgICAgICAgICAgcHl0aG9uLXNw aGlueCA7IGZvciB0aGUgbWFudWFsCiAgICAgICAgICAgcHl0aG9uKSkgICAgICA7IHhjYi1wcm90 byBkZXBlbmRzIG9uIHB5dGhvbiAzCiAgICAoaG9tZS1wYWdlICJodHRwczovL3BvbHliYXIuZ2l0 aHViLmlvLyIpCiAgICAoc3lub3BzaXMgIkZhc3QgYW5kIGVhc3ktdG8tdXNlIHN0YXR1cyBiYXIi KQogICAgKGRlc2NyaXB0aW9uICJQb2x5YmFyIGFpbXMgdG8gaGVscCB1c2VycyBidWlsZCBiZWF1 dGlmdWwgYW5kIGhpZ2hseQpjdXN0b21pemFibGUgc3RhdHVzIGJhcnMgZm9yIHRoZWlyIGRlc2t0 b3AgZW52aXJvbm1lbnQuICBJdCBoYXMgYnVpbHQtaW4KZnVuY3Rpb25hbGl0eSB0byBkaXNwbGF5 IGluZm9ybWF0aW9uIGFib3V0IHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgc2VydmljZXMuIikKICAg IChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIHdscm9vdHMKICAocGFj a2FnZQogICAgKG5hbWUgIndscm9vdHMiKQogICAgKHZlcnNpb24gIjAuMTcuMSIpCiAgICAoc291 cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAodXJpIChn aXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGxhYi5mcmVlZGVza3Rv cC5vcmcvd2xyb290cy93bHJvb3RzIikKICAgICAgICAgICAgIChjb21taXQgdmVyc2lvbikpKQog ICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgKHNo YTI1NgogICAgICAgIChiYXNlMzIgIjFoajRncTV2eDhpbjY1NjIyeXZqbThid3FrdzJ2cGM1NTZr OW15OTk3YTBobjByaWNqMzciKSkKICAgICAgICAgOzsgVGhpcyBwYXRjaCBjYW4gYmUgcmVtb3Zl ZCBvbmNlIGh3ZGF0YSBpbiBHdWl4IHN1cHBvcnRzIHBrZy1jb25maWcKICAgICAgICAgKHBhdGNo ZXMgKHNlYXJjaC1wYXRjaGVzICJ3bHJvb3RzLWh3ZGF0YS1mYWxsYmFjay5wYXRjaCIpKSkpCiAg ICAoYnVpbGQtc3lzdGVtIG1lc29uLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBg KCM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAg IChhZGQtYmVmb3JlICdjb25maWd1cmUgJ2hhcmRjb2RlLXBhdGhzCiAgICAgICAgICAgKGxhbWJk YSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAoc3Vic3Rp dHV0ZSogInh3YXlsYW5kL3NlcnZlci5jIgogICAgICAgICAgICAgICAoKCJYd2F5bGFuZCIpIChz dHJpbmctYXBwZW5kIChhc3NvYy1yZWYgaW5wdXRzCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG9yZy1zZXJ2ZXIteHdheWxhbmQiKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvYmluL1h3YXlsYW5kIikp KQogICAgICAgICAgICAgI3QpKQogICAgICAgICAoYWRkLWJlZm9yZSAnY29uZmlndXJlICdmaXgt bWVzb24tZmlsZQogICAgICAgICAgIChsYW1iZGEqICgjOmtleSBuYXRpdmUtaW5wdXRzIGlucHV0 cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogImJhY2tlbmQv ZHJtL21lc29uLmJ1aWxkIgogICAgICAgICAgICAgICAoKCIvdXNyL3NoYXJlL2h3ZGF0YS9wbnAu aWRzIikKICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgKG9yIG5hdGl2 ZS1pbnB1dHMgaW5wdXRzKSAiaHdkYXRhIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICIvc2hhcmUvaHdkYXRhL3BucC5pZHMiKSkpKSkpKSkKICAgIChwcm9wYWdhdGVkLWlucHV0cwog ICAgIChsaXN0IDs7IEFzIHJlcXVpcmVkIGJ5IHdscm9vdHMucGMuCiAgICAgICAgICAgZXVkZXYK ICAgICAgICAgICBsaWJkaXNwbGF5LWluZm8KICAgICAgICAgICBsaWJpbnB1dC1taW5pbWFsCiAg ICAgICAgICAgbGlieGtiY29tbW9uCiAgICAgICAgICAgbWVzYQogICAgICAgICAgIHBpeG1hbgog ICAgICAgICAgIGxpYnNlYXQKICAgICAgICAgICB3YXlsYW5kCiAgICAgICAgICAgd2F5bGFuZC1w cm90b2NvbHMKICAgICAgICAgICB4Y2ItdXRpbC1lcnJvcnMKICAgICAgICAgICB4Y2ItdXRpbC13 bQogICAgICAgICAgIHhvcmctc2VydmVyLXh3YXlsYW5kKSkKICAgIChuYXRpdmUtaW5wdXRzCiAg ICAgKGNvbnMqCiAgICAgICBgKCxod2RhdGEgInBucCIpCiAgICAgICBwa2ctY29uZmlnCiAgICAg ICB3YXlsYW5kCiAgICAgICAoaWYgKCVjdXJyZW50LXRhcmdldC1zeXN0ZW0pCiAgICAgICAgIChs aXN0IHBrZy1jb25maWctZm9yLWJ1aWxkKQogICAgICAgICAnKCkpKSkKICAgIChob21lLXBhZ2Ug Imh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy93bHJvb3RzL3dscm9vdHMvIikKICAgIChz eW5vcHNpcyAiUGx1Z2dhYmxlLCBjb21wb3NhYmxlLCB1bm9waW5pb25hdGVkIG1vZHVsZXMgZm9y IGJ1aWxkaW5nIGEKV2F5bGFuZCBjb21wb3NpdG9yIikKICAgIChkZXNjcmlwdGlvbiAid2xyb290 cyBpcyBhIHNldCBvZiBwbHVnZ2FibGUsIGNvbXBvc2FibGUsIHVub3BpbmlvbmF0ZWQKbW9kdWxl cyBmb3IgYnVpbGRpbmcgYSBXYXlsYW5kIGNvbXBvc2l0b3IuIikKICAgIChsaWNlbnNlIGxpY2Vu c2U6ZXhwYXQpKSkgIDsgTUlUIGxpY2Vuc2UKCihkZWZpbmUtcHVibGljIHdscm9vdHMtMC4xNgog IChwYWNrYWdlCiAgICAoaW5oZXJpdCB3bHJvb3RzKQogICAgKG5hbWUgIndscm9vdHMtMC4xNiIp CiAgICAodmVyc2lvbiAiMC4xNi4yIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAo bWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAg ICh1cmwgImh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy93bHJvb3RzL3dscm9vdHMiKQog ICAgICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCiAgICAgICAoZmlsZS1uYW1lIChnaXQtZmls ZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMW0x Mm52NmF2Z256NjI2aDNnaXFwNmdjeDQ0dzF3cTZ6MGp5NzgwbXg4ejI1NWljN3ExNSIpKSkpCiAg ICAocHJvcGFnYXRlZC1pbnB1dHMgKG1vZGlmeS1pbnB1dHMgKHBhY2thZ2UtcHJvcGFnYXRlZC1p bnB1dHMgd2xyb290cykKICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxldGUgbGliZGlzcGxh eS1pbmZvKSkpKSkKCihkZWZpbmUtcHVibGljIHdscm9vdHMtMC4xNQogIChwYWNrYWdlCiAgICAo aW5oZXJpdCB3bHJvb3RzKQogICAgKG5hbWUgIndscm9vdHMtMC4xNSIpCiAgICAodmVyc2lvbiAi MC4xNS4xIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIGdpdC1mZXRj aCkKICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICh1cmwgImh0dHBzOi8v Z2l0bGFiLmZyZWVkZXNrdG9wLm9yZy93bHJvb3RzL3dscm9vdHMiKQogICAgICAgICAgICAgKGNv bW1pdCB2ZXJzaW9uKSkpCiAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lICJ3bHJvb3Rz IiB2ZXJzaW9uKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwMHM3M25oaTNzYzQ4 bDQyNmpkbHF3cGNsZzQxa3gxaHYweWs0eXhoYnp3MTlncXBmbTFoIikpKSkpKQoKKGRlZmluZS1w dWJsaWMgd2wtbWlycm9yCiAgKHBhY2thZ2UKICAgIChuYW1lICJ3bC1taXJyb3IiKQogICAgKHZl cnNpb24gIjAuMTYuMiIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9k IGdpdC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAg ICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL0ZlcmRpMjY1L3dsLW1pcnJvciIpCiAg ICAgICAgICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5nLWFwcGVuZCAidiIgdmVyc2lvbikpKSkK ICAgICAgICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAg ICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAg ICAiMWpkeWNyOXZmNXNrYmY1NWtibTJoYzN6bDNxZzU4eDNiYjZ4cWtmOXF4MTRtNHJhbWNkaiIp KSkpCiAgICAoYnVpbGQtc3lzdGVtIGNtYWtlLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMK ICAgICAobGlzdCAjOnRlc3RzPyAjZiAgICAgICAgICAgICAgICAgIDtObyB0ZXN0cy4KICAgICAg ICAgICAjOmNvbmZpZ3VyZS1mbGFncwogICAgICAgICAgICN+KGxpc3QgIi1ESU5TVEFMTF9ET0NV TUVOVEFUSU9OPU9OIgogICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIi1EV0xfUFJP VE9DT0xfRElSPSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMkKHRoaXMtcGFj a2FnZS1pbnB1dCAid2F5bGFuZC1wcm90b2NvbHMiKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIi9zaGFyZS93YXlsYW5kLXByb3RvY29scyIpCiAgICAgICAgICAgICAgICAgICAo c3RyaW5nLWFwcGVuZCAiLURXTFJfUFJPVE9DT0xfRElSPSIKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICMkKHRoaXMtcGFja2FnZS1pbnB1dCAid2xyLXByb3RvY29scyIpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL3NoYXJlL3dsci1wcm90b2NvbHMiKSkpKQog ICAgKGlucHV0cyAobGlzdCBlZ2wtd2F5bGFuZCBtZXNhIHdheWxhbmQgd2F5bGFuZC1wcm90b2Nv bHMgd2xyLXByb3RvY29scykpCiAgICAobmF0aXZlLWlucHV0cyAobGlzdCBwa2ctY29uZmlnIHNj ZG9jKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9GZXJkaTI2NS93bC1taXJy b3IiKQogICAgKHN5bm9wc2lzICJTaW1wbGUgV2F5bGFuZCBvdXRwdXQgbWlycm9yIGNsaWVudCIp CiAgICAoZGVzY3JpcHRpb24KICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIEBjb21tYW5ke3ds LW1pcnJvcn0sIGEgc29sdXRpb24gdG8gQGNvZGV7c3dheX0ncwpsYWNrIG9mIG91dHB1dCBtaXJy b3JpbmcgYnkgbWlycm9yaW5nIGFuIG91dHB1dCBvbnRvIGEgY2xpZW50IHN1cmZhY2UuICBJdCBo YXMKdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKCkBpdGVtaXplCkBpdGVtIE1pcnJvciBhbiBvdXRw dXQgb250byBhIHJlc2l6YWJsZSB3aW5kb3cuCkBpdGVtIE1pcnJvciBhbiBvdXRwdXQgb250byBh bm90aGVyIG91dHB1dCBieSBmdWxsc2NyZWVuaW5nIHRoZSB3aW5kb3cuCkBpdGVtIFJlYWN0IHRv IGNoYW5nZXMgaW4gb3V0cHV0IHNjYWxlIChpbmNsdWRpbmcgZnJhY3Rpb25hbCBzY2FsaW5nKS4K QGl0ZW0gUHJlc2VydmUgYXNwZWN0IHJhdGlvLgpAaXRlbSBDb3JyZWN0IGZsaXBwZWQgb3Igcm90 YXRlZCBvdXRwdXRzLgpAaXRlbSBDdXN0b20gZmxpcHMgb3Igcm90YXRpb25zLgpAaXRlbSBNaXJy b3IgY3VzdG9tIHJlZ2lvbnMgb2Ygb3V0cHV0cy4KQGl0ZW0gUmVjZWl2ZSBhZGRpdGlvbmFsIG9w dGlvbnMgb24gc3RkaW4gZm9yIGNoYW5naW5nIHRoZSBtaXJyb3JlZCBzY3JlZW4gb3IKcmVnaW9u IG9uIHRoZSBmbHkuCkBlbmQgaXRlbWl6ZSIpCiAgICAobGljZW5zZSBsaWNlbnNlOmdwbDMpKSkK CihkZWZpbmUtcHVibGljIHdtZW51CiAgKHBhY2thZ2UKICAgIChuYW1lICJ3bWVudSIpCiAgICAo dmVyc2lvbiAiMC4xLjciKQogICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhv ZCBnaXQtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAg ICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0LnNyLmh0L35hZG5hbm8vd21lbnUiKQogICAgICAg ICAgICAgICAgICAgIChjb21taXQgdmVyc2lvbikpKQogICAgICAgICAgICAgIChmaWxlLW5hbWUg KGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAg ICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgICAgICIwd2puNjhyNWN4NHp2dzdzYnk2c2sy aXA1aDRmbjBqYmdiMW5hc205bnNnanB2NjNwbnBtIikpKSkKICAgIChidWlsZC1zeXN0ZW0gbWVz b24tYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1pbnB1dHMgKGFwcGVuZCAoaWYgKCVjdXJyZW50 LXRhcmdldC1zeXN0ZW0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBmb3Igd2F5 bGFuZC1zY2FubmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBwa2ctY29u ZmlnLWZvci1idWlsZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2F5bGFu ZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGxpc3QgcGtnLWNvbmZpZyBzY2RvYykpKQogICAgKGlucHV0cyAobGlzdCBjYWly byBwYW5nbyB3YXlsYW5kIGxpYnhrYmNvbW1vbiB3YXlsYW5kLXByb3RvY29scykpCiAgICAoaG9t ZS1wYWdlICJodHRwczovL2dpdC5zci5odC9+YWRuYW5vL3dtZW51IikKICAgIChzeW5vcHNpcyAi RHluYW1pYyBtZW51IGZvciBXYXlsYW5kIikKICAgIChkZXNjcmlwdGlvbiAiQGNvbW1hbmR7d21l bnV9IGlzIGEgZHluYW1pYyBtZW51IGZvciBXYXlsYW5kLCB3aGljaCByZWFkcyBhIGxpc3QKb2Yg bmV3bGluZS1zZXBhcmF0ZWQgaXRlbXMgZnJvbSBzdGRpbi4gIFdoZW4gdGhlIHVzZXIgc2VsZWN0 cyBhbiBpdGVtIGFuZCBwcmVzc2VzClJldHVybiwgdGhlaXIgY2hvaWNlIGlzIHByaW50ZWQgdG8g c3Rkb3V0IGFuZCB3bWVudSB0ZXJtaW5hdGVzLiAgRW50ZXJpbmcgdGV4dCB3aWxsCm5hcnJvdyB0 aGUgaXRlbXMgdG8gdGhvc2UgbWF0Y2hpbmcgdGhlIHRva2VucyBpbiB0aGUgaW5wdXQuIikKICAg IChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIHN3YXkKICAocGFja2Fn ZQogICAgKG5hbWUgInN3YXkiKQogICAgKHZlcnNpb24gIjEuOSIpCiAgICAoc291cmNlCiAgICAg KG9yaWdpbgogICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAodXJpIChnaXQtcmVmZXJl bmNlCiAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vc3dheXdtL3N3YXkiKQog ICAgICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCiAgICAgICAoZmlsZS1uYW1lIChnaXQtZmls ZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMW4z NnZncGk0YmcyZ2tpcTRmYW00a2hseTF6OWJqaW5tamNsenE1dmZ4MHo4aDdhNWJ6eiIpKSkpCiAg ICAoYnVpbGQtc3lzdGVtIG1lc29uLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICAo bGlzdAogICAgICA7OyBlbG9naW5kIGlzIHByb3BhZ2F0ZWQgYnkgd2xyb290cyAtPiBsaWJzZWF0 CiAgICAgIDs7IGFuZCB3b3VsZCBvdGhlcndpc2Ugc2hhZG93IGJhc3UuCiAgICAgICM6Y29uZmln dXJlLWZsYWdzCiAgICAgICN+JygiLURzZC1idXMtcHJvdmlkZXI9YmFzdSIpCiAgICAgICM6cGhh c2VzCiAgICAgICN+KG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgKGFk ZC1iZWZvcmUgJ2NvbmZpZ3VyZSAnaGFyZGNvZGUtcGF0aHMKICAgICAgICAgICAgKGxhbWJkYSog KCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAgOzsgSGFyZGNv ZGUgcGF0aCB0byBzd2F5YmcuCiAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJzd2F5L2NvbmZp Zy5jIgogICAgICAgICAgICAgICAgKCgic3RyZHVwLi5zd2F5YmcuLiIpCiAgICAgICAgICAgICAg ICAgKGZvcm1hdCAjZiAic3RyZHVwKFwifmFcIikiCiAgICAgICAgICAgICAgICAgICAgICAgICAo c2VhcmNoLWlucHV0LWZpbGUgaW5wdXRzICJiaW4vc3dheWJnIikpKSkpKSkpKQogICAgKGlucHV0 cyAobGlzdCBiYXN1CiAgICAgICAgICAgICAgICAgIGNhaXJvCiAgICAgICAgICAgICAgICAgIGdk ay1waXhidWYKICAgICAgICAgICAgICAgICAganNvbi1jCiAgICAgICAgICAgICAgICAgIGxpYmV2 ZGV2CiAgICAgICAgICAgICAgICAgIGxpYmlucHV0LW1pbmltYWwKICAgICAgICAgICAgICAgICAg bGlieGtiY29tbW9uCiAgICAgICAgICAgICAgICAgIHBhbmdvCiAgICAgICAgICAgICAgICAgIHBj cmUyCiAgICAgICAgICAgICAgICAgIHN3YXliZwogICAgICAgICAgICAgICAgICB3YXlsYW5kCiAg ICAgICAgICAgICAgICAgIHdscm9vdHMpKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAoY29ucyog bGludXgtcGFtIG1lc2EgcGtnLWNvbmZpZyBzY2RvYyB3YXlsYW5kLXByb3RvY29scwogICAgICAg ICAgICAoaWYgKCVjdXJyZW50LXRhcmdldC1zeXN0ZW0pCiAgICAgICAgICAgICAgKGxpc3QgcGtn LWNvbmZpZy1mb3ItYnVpbGQKICAgICAgICAgICAgICAgICAgICB3YXlsYW5kKQogICAgICAgICAg ICAgICcoKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3N3YXl3bS9zd2F5 IikKICAgIChzeW5vcHNpcyAiV2F5bGFuZCBjb21wb3NpdG9yIGNvbXBhdGlibGUgd2l0aCBpMyIp CiAgICAoZGVzY3JpcHRpb24gIlN3YXkgaXMgYSBpMy1jb21wYXRpYmxlIFdheWxhbmQgY29tcG9z aXRvci4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgc3dh eWZ4CiAgKHBhY2thZ2UKICAgIChpbmhlcml0IHN3YXkpCiAgICAobmFtZSAic3dheWZ4IikKICAg ICh2ZXJzaW9uICIwLjMuMiIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0 aG9kIGdpdC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAg ICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL1dpbGxQb3dlcjMzMDkvc3dheWZ4 IikKICAgICAgICAgICAgICAgICAgICAoY29tbWl0IHZlcnNpb24pKSkKICAgICAgICAgICAgICAo ZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAgICAgICAgKHNo YTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMTNkOGljZDQ1ajkz N2pna2lkcjdjeWp5czRubnZ4aDRpbHA3bWwwaTJtbDM5aXB2MDFxdiIpKSkpCiAgICAoYnVpbGQt c3lzdGVtIG1lc29uLWJ1aWxkLXN5c3RlbSkKICAgIChpbnB1dHMgKGxpc3QgYmFzdQogICAgICAg ICAgICAgICAgICBjYWlybwogICAgICAgICAgICAgICAgICBnZGstcGl4YnVmCiAgICAgICAgICAg ICAgICAgIGpzb24tYwogICAgICAgICAgICAgICAgICBsaWJldmRldgogICAgICAgICAgICAgICAg ICBsaWJpbnB1dC1taW5pbWFsCiAgICAgICAgICAgICAgICAgIGxpYnhrYmNvbW1vbgogICAgICAg ICAgICAgICAgICBwYW5nbwogICAgICAgICAgICAgICAgICBwY3JlMgogICAgICAgICAgICAgICAg ICBzd2F5YmcKICAgICAgICAgICAgICAgICAgd2F5bGFuZAogICAgICAgICAgICAgICAgICB3bHJv b3RzLTAuMTYpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL1dpbGxQb3dlcjMz MDkvc3dheWZ4IikKICAgIChzeW5vcHNpcyAiU3dheSBGb3JrIHdpdGggZXh0cmEgb3B0aW9ucyBh bmQgZWZmZWN0cyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiRm9yayBvZiBTd2F5LCBhIFdheWxh bmQgY29tcG9zaXRvciBjb21wYXRpYmxlIHdpdGggaTMuICBTd2F5RlgKYWRkcyBleHRyYSBvcHRp b25zIGFuZCBlZmZlY3RzIHRvIHRoZSBvcmlnaW5hbCBTd2F5LCBzdWNoIGFzIGJsdXIsIHJvdW5k ZWQKY29ybmVycywgc2hhZG93cywgaW5hY3RpdmUgd2luZG93IGRpbW1pbmcsIGV0Yy4iKQogICAg KGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgc3dheWlkbGUKICAocGFj a2FnZQogICAgKG5hbWUgInN3YXlpZGxlIikKICAgICh2ZXJzaW9uICIxLjguMCIpCiAgICAoc291 cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAodXJpIChn aXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vc3dheXdt L3N3YXlpZGxlIikKICAgICAgICAgICAgIChjb21taXQgdmVyc2lvbikpKQogICAgICAgKGZpbGUt bmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgKHNoYTI1NgogICAgICAg IChiYXNlMzIgIjB5MHFkcXp4OTBrdms2bDgwZGFybGR2aXpyN3A1ZzY1Ym5ibGh4bHE1YTJyZ3Zz OWhrcHgiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBtZXNvbi1idWlsZC1zeXN0ZW0pCiAgICAoYXJn dW1lbnRzCiAgICAgYCgjOmNvbmZpZ3VyZS1mbGFncyAnKCItRGxvZ2luZC1wcm92aWRlcj1lbG9n aW5kIikpKQogICAgKGlucHV0cyAobGlzdCBlbG9naW5kIHdheWxhbmQpKQogICAgKG5hdGl2ZS1p bnB1dHMgKGxpc3QgcGtnLWNvbmZpZyBzY2RvYyB3YXlsYW5kLXByb3RvY29scykpCiAgICAoaG9t ZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vc3dheXdtL3N3YXlpZGxlIikKICAgIChzeW5vcHNp cyAiSWRsZSBtYW5hZ2VtZW50IGRhZW1vbiBmb3IgV2F5bGFuZCBjb21wb3NpdG9ycyIpCiAgICAo ZGVzY3JpcHRpb24gIlN3YXlpZGxlIGlzIGEgaWRsZSBtYW5hZ2VtZW50IGRhZW1vbiBmb3IgV2F5 bGFuZCBjb21wb3NpdG9ycy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKSA7IE1JVCBs aWNlbnNlCgooZGVmaW5lLXB1YmxpYyBzd2F5bG9jawogIChwYWNrYWdlCiAgICAobmFtZSAic3dh eWxvY2siKQogICAgKHZlcnNpb24gIjEuNy4yIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAg ICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAg ICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9zd2F5d20vc3dheWxvY2siKQogICAgICAg ICAgICAgKGNvbW1pdCAoc3RyaW5nLWFwcGVuZCAidiIgdmVyc2lvbikpKSkKICAgICAgIChmaWxl LW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgIChzaGEyNTYKICAgICAg ICAoYmFzZTMyICIwM2pyandsd3hrY3lkNm05YTFiYndhcGFzbno3Yjdhd3M3aDB5NmppZ2ptNG00 NzhwaHY2IikpKSkKICAgIChidWlsZC1zeXN0ZW0gbWVzb24tYnVpbGQtc3lzdGVtKQogICAgKGlu cHV0cyAoYXBwZW5kIChpZiAoJWN1cnJlbnQtdGFyZ2V0LXN5c3RlbSkKICAgICAgICAgICAgICAg ICAgICAgICAgKGxpc3Qgd2F5bGFuZC1wcm90b2NvbHMpCiAgICAgICAgICAgICAgICAgICAgICAg ICcoKSkKICAgICAgICAgICAgICAgICAgICAobGlzdCBjYWlybyBnZGstcGl4YnVmIGxpYnhrYmNv bW1vbiBsaW51eC1wYW0gd2F5bGFuZCkpKQogICAgKG5hdGl2ZS1pbnB1dHMgKGFwcGVuZCAoaWYg KCVjdXJyZW50LXRhcmdldC1zeXN0ZW0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo bGlzdCBwa2ctY29uZmlnLWZvci1idWlsZCB3YXlsYW5kKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJygpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBwYW5nbyBwa2ct Y29uZmlnIHNjZG9jIHdheWxhbmQtcHJvdG9jb2xzKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczov L2dpdGh1Yi5jb20vc3dheXdtL3N3YXlsb2NrIikKICAgIChzeW5vcHNpcyAiU2NyZWVuIGxvY2tp bmcgdXRpbGl0eSBmb3IgV2F5bGFuZCBjb21wb3NpdG9ycyIpCiAgICAoZGVzY3JpcHRpb24gIlN3 YXlsb2NrIGlzIGEgc2NyZWVuIGxvY2tpbmcgdXRpbGl0eSBmb3IgV2F5bGFuZCBjb21wb3NpdG9y cy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKSA7IE1JVCBsaWNlbnNlCgooZGVmaW5l LXB1YmxpYyBzd2F5bG9jay1lZmZlY3RzCiAgKHBhY2thZ2UKICAgIChpbmhlcml0IHN3YXlsb2Nr KQogICAgKG5hbWUgInN3YXlsb2NrLWVmZmVjdHMiKQogICAgKHZlcnNpb24gIjEuNy4wLjAiKQog ICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAg KHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29t L2ppcnV0a2Evc3dheWxvY2stZWZmZWN0cyIpCiAgICAgICAgICAgICAoY29tbWl0IChzdHJpbmct YXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQogICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBu YW1lIHZlcnNpb24pKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIKICAgICAgICAgIjBj Z3BiemRweGo2YmJwYThqd3FsMXNuZ2hqMjFtaHJ5eXZqNnNrNDZnNjZscXZ3bHJxYmoiKSkpKQog ICAgKGFyZ3VtZW50cwogICAgIChsaXN0ICM6Y29uZmlndXJlLWZsYWdzICN+JygiLURzc2U9ZmFs c2UiKSkpCiAgICAoc3lub3BzaXMgIlNjcmVlbiBsb2NraW5nIHV0aWxpdHkgZm9yIFdheWxhbmQg Y29tcG9zaXRvcnMgd2l0aCBlZmZlY3RzIikKICAgIChkZXNjcmlwdGlvbiAiQGNvZGV7U3dheWxv Y2stZWZmZWN0c30gaXMgYSBmb3JrIG9mIHN3YXlsb2NrIHdpdGggYWRkaXRpb25hbApmZWF0dXJl cywgc3VjaCBhcyB0aGUgYWJpbGl0eSB0byB0YWtlIGEgc2NyZWVuc2hvdCBhcyB0aGUgYmFja2dy b3VuZCBpbWFnZSwKZGlzcGxheSBhIGNsb2NrIG9yIGFwcGx5IGltYWdlIG1hbmlwdWxhdGlvbiB0 ZWNobmlxdWVzIHRvIHRoZSBiYWNrZ3JvdW5kIGltYWdlLiIpCiAgICAoaG9tZS1wYWdlICJodHRw czovL2dpdGh1Yi5jb20vamlydXRrYS9zd2F5bG9jay1lZmZlY3RzIikpKQoKKGRlZmluZS1wdWJs aWMgc3dheWJnCiAgKHBhY2thZ2UKICAgIChuYW1lICJzd2F5YmciKQogICAgKHZlcnNpb24gIjEu MCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAg ICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1 Yi5jb20vc3dheXdtL3N3YXliZyIpCiAgICAgICAgICAgICAoY29tbWl0IHZlcnNpb24pKSkKICAg ICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgIChzaGEy NTYKICAgICAgICAoYmFzZTMyICIxbG1xejVibWlnOTBncTJtN2x3ZjAyZDJnN3o0aHpmOGZocXo3 OGM4dms5MmM2cDR4d2JjIikpKSkKICAgIChidWlsZC1zeXN0ZW0gbWVzb24tYnVpbGQtc3lzdGVt KQogICAgKGlucHV0cwogICAgIChjb25zKiBjYWlybyBnZGstcGl4YnVmIHdheWxhbmQKICAgICAg ICAgICAgKGlmICglY3VycmVudC10YXJnZXQtc3lzdGVtKQogICAgICAgICAgICAgIChsaXN0IHdh eWxhbmQtcHJvdG9jb2xzKQogICAgICAgICAgICAgICcoKSkpKQogICAgKG5hdGl2ZS1pbnB1dHMK ICAgICAoY29ucyogcGtnLWNvbmZpZyBzY2RvYyB3YXlsYW5kLXByb3RvY29scwogICAgICAgICAg ICAoaWYgKCVjdXJyZW50LXRhcmdldC1zeXN0ZW0pCiAgICAgICAgICAgICAgKGxpc3QgcGtnLWNv bmZpZy1mb3ItYnVpbGQgd2F5bGFuZCkKICAgICAgICAgICAgICAnKCkpKSkKICAgIChob21lLXBh Z2UgImh0dHBzOi8vZ2l0aHViLmNvbS9zd2F5d20vc3dheSIpCiAgICAoc3lub3BzaXMgIlNjcmVl biB3YWxscGFwZXIgdXRpbGl0eSBmb3IgV2F5bGFuZCBjb21wb3NpdG9ycyIpCiAgICAoZGVzY3Jp cHRpb24gIlN3YXliZyBpcyBhIHdhbGxwYXBlciB1dGlsaXR5IGZvciBXYXlsYW5kIGNvbXBvc2l0 b3JzLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpIDsgTUlUIGxpY2Vuc2UKCihkZWZp bmUtcHVibGljIHN3d3cKICAocGFja2FnZQogICAgKG5hbWUgInN3d3ciKQogICAgKHZlcnNpb24g IjAuOC4yIikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgICAgKG1ldGhvZCBnaXQt ZmV0Y2gpCiAgICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAg ICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vTEdGYWUvc3d3dyIpCiAgICAgICAgICAg ICAgICAgICAgICAoY29tbWl0IChzdHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQogICAgICAg ICAgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAg ICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgICAg ICAgIjFwczEwZHY2YThhMGhpdzdwOGtnNjRtZjgxcHZhdnNrbXluNXhwYmZ3NmhyYzk5MXZkbHoi KSkKICAgICAgICAgICAgICAgIChtb2R1bGVzICcoKGd1aXggYnVpbGQgdXRpbHMpKSkKICAgICAg ICAgICAgICAgIChzbmlwcGV0CiAgICAgICAgICAgICAgICAgJyhiZWdpbiAoc3Vic3RpdHV0ZSog InV0aWxzL0NhcmdvLnRvbWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICgoIlwiPShbWzpk aWdpdDpdXSsoXFwuW1s6ZGlnaXQ6XV0rKSopIiBfIHZlcnNpb24pCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiXCJeIiB2ZXJzaW9uKSkpKSkpKQogICAgKGJ1aWxk LXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgKGxpc3QKICAg ICAgIzppbnN0YWxsLXNvdXJjZT8gI2YKICAgICAgIzpjYXJnby1pbnB1dHMKICAgICAgYCgoInJ1 c3QtbG9nIiAscnVzdC1sb2ctMC40KQogICAgICAgICgicnVzdC1zaW1wbGVsb2ciICxydXN0LXNp bXBsZWxvZy0wLjEyKQogICAgICAgICgicnVzdC13YXlsYW5kLWNsaWVudCIgLHJ1c3Qtd2F5bGFu ZC1jbGllbnQtMC4zMSkKICAgICAgICAoInJ1c3Qtc21pdGhheS1jbGllbnQtdG9vbGtpdCIgLHJ1 c3Qtc21pdGhheS1jbGllbnQtdG9vbGtpdC0wLjE4KQogICAgICAgICgicnVzdC1uaXgiICxydXN0 LW5peC0wLjI3KQogICAgICAgICgicnVzdC1rZXlmcmFtZSIgLHJ1c3Qta2V5ZnJhbWUtMSkKICAg ICAgICAoInJ1c3Qtcmt5diIgLHJ1c3Qtcmt5di0wLjcpCiAgICAgICAgKCJydXN0LXJheW9uIiAs cnVzdC1yYXlvbi0xKQogICAgICAgICgicnVzdC1zcGluLXNsZWVwIiAscnVzdC1zcGluLXNsZWVw LTEpCiAgICAgICAgKCJydXN0LXNkLW5vdGlmeSIgLHJ1c3Qtc2Qtbm90aWZ5LTAuNCkKICAgICAg ICAoInJ1c3QtaW1hZ2UiICxydXN0LWltYWdlLTAuMjQpCiAgICAgICAgKCJydXN0LWZhc3QtaW1h Z2UtcmVzaXplIiAscnVzdC1mYXN0LWltYWdlLXJlc2l6ZS0yKQogICAgICAgICgicnVzdC1jbGFw IiAscnVzdC1jbGFwLTQpCiAgICAgICAgKCJydXN0LXJhbmQiICxydXN0LXJhbmQtMC44KQogICAg ICAgICgicnVzdC1sYXp5LXN0YXRpYyIgLHJ1c3QtbGF6eS1zdGF0aWMtMSkKICAgICAgICAoInJ1 c3QtbHp6enoiICxydXN0LWx6enp6LTEpKQogICAgICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0 cwogICAgICBgKCgicnVzdC1yYW5kIiAscnVzdC1yYW5kLTAuOCkKICAgICAgICAoInJ1c3QtYXNz ZXJ0LWNtZCIgLHJ1c3QtYXNzZXJ0LWNtZC0yKQogICAgICAgICgicnVzdC1jcml0ZXJpb24iICxy dXN0LWNyaXRlcmlvbi0wLjUpKQogICAgICAjOnBoYXNlcwogICAgICAjfihtb2RpZnktcGhhc2Vz ICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgIChhZGQtYmVmb3JlICdidWlsZCAnYnVpbGQtZG9j dW1lbnRhdGlvbgogICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3Ro ZXIta2V5cykKICAgICAgICAgICAgICAoaW52b2tlICJkb2MvZ2VuLnNoIikpKQogICAgICAgICAg KHJlcGxhY2UgJ2luc3RhbGwKICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IG91dHB1dHMgIzph bGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgIChsZXQqICgob3V0IChhc3NvYy1yZWYgb3V0 cHV0cyAib3V0IikpCiAgICAgICAgICAgICAgICAgICAgIChiaW4gKHN0cmluZy1hcHBlbmQgb3V0 ICIvYmluIikpCiAgICAgICAgICAgICAgICAgICAgIChzaGFyZSAoc3RyaW5nLWFwcGVuZCBvdXQg Ii9zaGFyZSIpKQogICAgICAgICAgICAgICAgICAgICAobWFuMSAoc3RyaW5nLWFwcGVuZCBzaGFy ZSAiL21hbi9tYW4xIikpCiAgICAgICAgICAgICAgICAgICAgIChzd3d3IChjYXIgKGZpbmQtZmls ZXMgInRhcmdldCIgIl5zd3d3JCIpKSkKICAgICAgICAgICAgICAgICAgICAgKHN3d3ctZGFlbW9u IChjYXIgKGZpbmQtZmlsZXMgInRhcmdldCIgIl5zd3d3LWRhZW1vbiQiKSkpCiAgICAgICAgICAg ICAgICAgICAgIChiYXNoLWNvbXBsZXRpb25zLWRpcgogICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1hcHBlbmQgc2hhcmUgIi9iYXNoLWNvbXBsZXRpb24vY29tcGxldGlvbnMiKSkKICAgICAg ICAgICAgICAgICAgICAgKHpzaC1jb21wbGV0aW9ucy1kaXIKICAgICAgICAgICAgICAgICAgICAg IChzdHJpbmctYXBwZW5kIHNoYXJlICIvenNoL3NpdGUtZnVuY3Rpb25zIikpCiAgICAgICAgICAg ICAgICAgICAgIChmaXNoLWNvbXBsZXRpb25zLWRpcgogICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1hcHBlbmQgc2hhcmUgIi9maXNoL3ZlbmRvcl9jb21wbGV0aW9ucy5kIikpCiAgICAgICAg ICAgICAgICAgICAgIChlbHZpc2gtY29tcGxldGlvbnMtZGlyCiAgICAgICAgICAgICAgICAgICAg ICAoc3RyaW5nLWFwcGVuZCBzaGFyZSAiL2VsdmlzaC9saWIiKSkpCiAgICAgICAgICAgICAgICAo aW5zdGFsbC1maWxlIHN3d3cgYmluKQogICAgICAgICAgICAgICAgKGluc3RhbGwtZmlsZSBzd3d3 LWRhZW1vbiBiaW4pCiAgICAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSAiZG9jL2dlbmVy YXRlZCIgbWFuMSkKICAgICAgICAgICAgICAgIChpbnN0YWxsLWZpbGUgImNvbXBsZXRpb25zL3N3 d3cuYmFzaCIgYmFzaC1jb21wbGV0aW9ucy1kaXIpCiAgICAgICAgICAgICAgICAoaW5zdGFsbC1m aWxlICJjb21wbGV0aW9ucy9fc3d3dyIgenNoLWNvbXBsZXRpb25zLWRpcikKICAgICAgICAgICAg ICAgIChpbnN0YWxsLWZpbGUgImNvbXBsZXRpb25zL3N3d3cuZmlzaCIgZmlzaC1jb21wbGV0aW9u cy1kaXIpCiAgICAgICAgICAgICAgICAoaW5zdGFsbC1maWxlICJjb21wbGV0aW9ucy9zd3d3LmVs diIgZWx2aXNoLWNvbXBsZXRpb25zLWRpcikpKSkKICAgICAgICAgIChhZGQtYWZ0ZXIgJ2luc3Rh bGwgJ3dyYXAtYmluYXJpZXMKICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyBpbnB1 dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgKGxldCAoKG91dCAoYXNzb2MtcmVm IG91dHB1dHMgIm91dCIpKQogICAgICAgICAgICAgICAgICAgKGx6NCAoYXNzb2MtcmVmIGlucHV0 cyAibHo0IikpKQogICAgICAgICAgICAgICAod3JhcC1wcm9ncmFtIChzdHJpbmctYXBwZW5kIG91 dCAiL2Jpbi9zd3d3IikKICAgICAgICAgICAgICAgICBgKCJQQVRIIiBwcmVmaXggKCwoc3RyaW5n LWFwcGVuZCBsejQgIi9iaW4iKSkpKQogICAgICAgICAgICAgICAod3JhcC1wcm9ncmFtIChzdHJp bmctYXBwZW5kIG91dCAiL2Jpbi9zd3d3LWRhZW1vbiIpCiAgICAgICAgICAgICAgICAgYCgiUEFU SCIgcHJlZml4ICgsKHN0cmluZy1hcHBlbmQgbHo0ICIvYmluIikpKSkpKSkpKSkKICAgIChuYXRp dmUtaW5wdXRzIChsaXN0IHNjZG9jKSkKICAgIChpbnB1dHMgKGxpc3QgYmFzaC1taW5pbWFsIGx6 NCkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vTEdGYWUvc3d3dyIpCiAgICAo c3lub3BzaXMKICAgICAiRWZmaWNpZW50IGFuaW1hdGVkIHdhbGxwYXBlciBkYWVtb24gZm9yIHdh eWxhbmQgY29udHJvbGxlZCBhdCBydW50aW1lIikKICAgIChkZXNjcmlwdGlvbgogICAgICJBIFNv bHV0aW9uIHRvIHlvdXIgV2F5bGFuZCBXYWxscGFwZXIgV29lcyAoc3d3dykuICBJdCB1c2VzIG1p bmltYWwgcmVzb3VyY2VzCmFuZCBwcm92aWRlcyBhbmltYXRpb25zIGZvciBzd2l0Y2hpbmcgYmV0 d2VlbiBiYWNrZ3JvdW5kcy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwzKykpKQoKKGRlZmlu ZS1wdWJsaWMgc3dheW5vdGlmaWNhdGlvbmNlbnRlcgogIChwYWNrYWdlCiAgICAobmFtZSAic3dh eW5vdGlmaWNhdGlvbmNlbnRlciIpCiAgICAodmVyc2lvbiAiMC44LjAiKQogICAgKHNvdXJjZSAo b3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgICAgICAgKHVy aSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHVi LmNvbS9FcmlrUmVpZGVyL1N3YXlOb3RpZmljYXRpb25DZW50ZXIiKQogICAgICAgICAgICAgICAg ICAgIChjb21taXQgKHN0cmluZy1hcHBlbmQgInYiIHZlcnNpb24pKSkpCiAgICAgICAgICAgICAg KGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgICAgICAgIChz aGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMiAiMWMzZ2Q2bWxyMjA5anp6cmg1am13czJsYXdu bjNncjZzbXZ6Y3c3NGtrcGkzd3ZzN2wwayIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIG1lc29uLWJ1 aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMgKGxpc3QgIzpjb25maWd1cmUtZmxhZ3MgI34obGlz dCAiLURzeXN0ZW1kLXNlcnZpY2U9ZmFsc2UiKSkpCiAgICAobmF0aXZlLWlucHV0cwogICAgIChs aXN0IGAoLGdsaWIgImJpbiIpCiAgICAgICAgICAgZ29iamVjdC1pbnRyb3NwZWN0aW9uCiAgICAg ICAgICAgcGtnLWNvbmZpZwogICAgICAgICAgIHB5dGhvbi1taW5pbWFsCiAgICAgICAgICAgc2Nk b2MKICAgICAgICAgICB2YWxhKSkKICAgIChpbnB1dHMKICAgICAobGlzdCBqc29uLWdsaWIKICAg ICAgICAgICBnbGliCiAgICAgICAgICAgZ3RrKwogICAgICAgICAgIGd0ay1sYXllci1zaGVsbAog ICAgICAgICAgIGxpYmhhbmR5CiAgICAgICAgICAgbGliZ2VlCiAgICAgICAgICAgcHVsc2VhdWRp bwogICAgICAgICAgIHdheWxhbmQtcHJvdG9jb2xzKSkKICAgIChzeW5vcHNpcyAiTm90aWZpY2F0 aW9uIGRhZW1vbiB3aXRoIGEgZ3JhcGhpY2FsIGludGVyZmFjZSIpCiAgICAoZGVzY3JpcHRpb24K ICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGEgbm90aWZpY2F0aW9uIGRhZW1vbiBmb3IgdGhl IFN3YXkgV2F5bGFuZApjb21wb3NpdG9yeSwgc3VwcG9ydGluZyB0aGUgZm9sbG93aW5nIGZlYXR1 ZXJzOgoKQGl0ZW1pemUKQGl0ZW0gS2V5Ym9hcmQgc2hvcnRjdXRzCkBpdGVtIE5vdGlmaWNhdGlv biBib2R5IG1hcmt1cCB3aXRoIGltYWdlIHN1cHBvcnQKQGl0ZW0gQSBwYW5lbCB0byB2aWV3IHBy ZXZpb3VzIG5vdGlmaWNhdGlvbnMKQGl0ZW0gU2hvdyBhbGJ1bSBhcnQgZm9yIG5vdGlmaWNhdGlv bnMgbGlrZSBTcG90aWZ5CkBpdGVtIERvIG5vdCBkaXN0dXJiCkBpdGVtIENsaWNrIG5vdGlmaWNh dGlvbiB0byBleGVjdXRlIGRlZmF1bHQgYWN0aW9uCkBpdGVtIFNob3cgYWx0ZXJuYXRpdmUgbm90 aWZpY2F0aW9uIGFjdGlvbnMKQGl0ZW0gQ3VzdG9taXphdGlvbiB0aHJvdWdoIGEgQ1NTIGZpbGUK QGl0ZW0gVHJhY2twYWQvbW91c2UgZ2VzdHVyZSB0byBjbG9zZSBub3RpZmljYXRpb24KQGl0ZW0g VGhlIHNhbWUgZmVhdHVyZXMgYXMgYW55IG90aGVyIGJhc2ljIG5vdGlmaWNhdGlvbiBkYWVtb24K QGl0ZW0gQmFzaWMgY29uZmlndXJhdGlvbiB0aHJvdWdoIGEgSlNPTiBjb25maWcgZmlsZQpAaXRl bSBIb3QtcmVsb2FkIGNvbmZpZyB0aHJvdWdoIHN3YXluYy1jbGllbnQKQGVuZCBpdGVtaXplIikK ICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9FcmlrUmVpZGVyL1N3YXlOb3RpZmlj YXRpb25DZW50ZXIiKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJs aWMgd2F5YmFyCiAgKHBhY2thZ2UKICAgIChuYW1lICJ3YXliYXIiKQogICAgKHZlcnNpb24gIjAu MTAuMiIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gp CiAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAodXJsICJodHRwczovL2dp dGh1Yi5jb20vQWxleGF5cy9XYXliYXIiKQogICAgICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkp CiAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAo c2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMGg4YW5temhiaW1nZGpuYmc3OWFsMzJkNWFjYmZ5cmgz c2Y4d2NzYngxMjk2cXBkNmFmNiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIG1lc29uLWJ1aWxkLXN5 c3RlbSkKICAgIChhcmd1bWVudHMKICAgICAobGlzdCAjOmNvbmZpZ3VyZS1mbGFncyAjfihsaXN0 ICItLXdyYXAtbW9kZT1ub2Rvd25sb2FkIikpKQogICAgKGlucHV0cyAobGlzdCBkYXRlCiAgICAg ICAgICAgICAgICAgIGZtdAogICAgICAgICAgICAgICAgICBndGstbGF5ZXItc2hlbGwKICAgICAg ICAgICAgICAgICAgZ3RrbW0tMwogICAgICAgICAgICAgICAgICBqc29uY3BwCiAgICAgICAgICAg ICAgICAgIGxpYmRidXNtZW51CiAgICAgICAgICAgICAgICAgIGxpYmV2ZGV2CiAgICAgICAgICAg ICAgICAgIGxpYmlucHV0LW1pbmltYWwKICAgICAgICAgICAgICAgICAgbGlibXBkY2xpZW50CiAg ICAgICAgICAgICAgICAgIGxpYm5sCiAgICAgICAgICAgICAgICAgIGxpYnhtbDIKICAgICAgICAg ICAgICAgICAgcGlwZXdpcmUKICAgICAgICAgICAgICAgICAgcGxheWVyY3RsCiAgICAgICAgICAg ICAgICAgIHB1bHNlYXVkaW8KICAgICAgICAgICAgICAgICAgc3BkbG9nCiAgICAgICAgICAgICAg ICAgIHdheWxhbmQKICAgICAgICAgICAgICAgICAgd2lyZXBsdW1iZXIpKQogICAgKG5hdGl2ZS1p bnB1dHMKICAgICAobGlzdCBgKCxnbGliICJiaW4iKSBwa2ctY29uZmlnIHNjZG9jIHdheWxhbmQt cHJvdG9jb2xzKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9BbGV4YXlzL1dh eWJhciIpCiAgICAoc3lub3BzaXMgIldheWxhbmQgYmFyIGZvciBTd2F5IGFuZCBXbHJvb3RzIGJh c2VkIGNvbXBvc2l0b3JzIikKICAgIChkZXNjcmlwdGlvbiAiV2F5YmFyIGlzIGEgaGlnaGx5IGN1 c3RvbWlzYWJsZSBXYXlsYW5kIGJhciBmb3IgU3dheSBhbmQKV2xyb290cyBiYXNlZCBjb21wb3Np dG9ycy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKSA7IE1JVCBsaWNlbnNlCgooZGVm aW5lLXB1YmxpYyB3YXliYXItY3B1LWhpc3RvZ3JhbQogIChwYWNrYWdlCiAgICAobmFtZSAid2F5 YmFyLWNwdS1oaXN0b2dyYW0iKQogICAgKHZlcnNpb24gIjAuNC4yIikKICAgIChzb3VyY2UKICAg ICAob3JpZ2luCiAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICh1cmkgKGdpdC1yZWZl cmVuY2UKICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0LnNyLmh0L35wbGF0dGZvdC93YXli YXItY3B1LWhpc3RvZ3JhbSIpCiAgICAgICAgICAgICAoY29tbWl0IChzdHJpbmctYXBwZW5kIHZl cnNpb24pKSkpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMgogICAgICAgICAiMDAxcHlm MWpkbWYyNDc4cGxuZ2dkN2RrZmk2ODhxd2k4OWRiMmp3ZnA0enphMzY0MG5hNiIpKQogICAgICAg KGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKSkpCiAgICAoYnVpbGQtc3lz dGVtIG1lc29uLWJ1aWxkLXN5c3RlbSkKICAgIChuYXRpdmUtaW5wdXRzCiAgICAgKGxpc3QgcGtn LWNvbmZpZykpCiAgICAoaW5wdXRzCiAgICAgKGxpc3QganNvbmNwcAogICAgICAgICAgIGZtdCkp CiAgICAoc3lub3BzaXMgIkNQVSBoaXN0b2dyYW0gZm9yIHdheWJhciIpCiAgICAoZGVzY3JpcHRp b24KICAgICAiQ3VzdG9tIG1vZHVsZSBmb3Igd2F5YmFyIHRvIHNob3cgQ1BVIHVzYWdlIGFzIGEg aGlzdG9ncmFtLiAgQSBjb21wYWN0IHdheQp0byBzZWUgaG93IG1hbnkgY29yZXMgYXJlIGFjdGl2 ZSwgY29tcGFyZWQgdG8gaGF2aW5nIGEgYmFyIGZvciBlYWNoCmNvcmUvdGhyZWFkLiIpCiAgICAo aG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vcGxhdHRmb3QvY3B1LWhpc3RvZ3JhbS8iKQog ICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgd2F5YmFyLWV4cGVy aW1lbnRhbAogIChsZXQgKChiYXNlIHdheWJhcikpCiAgICAocGFja2FnZS9pbmhlcml0IGJhc2UK ICAgICAgKG5hbWUgIndheWJhci1leHBlcmltZW50YWwiKQogICAgICAoYXJndW1lbnRzCiAgICAg ICAoc3Vic3RpdHV0ZS1rZXl3b3JkLWFyZ3VtZW50cyAocGFja2FnZS1hcmd1bWVudHMgYmFzZSkK ICAgICAgICAgKCgjOmNvbmZpZ3VyZS1mbGFncyBmbGFncyAnKCkpCiAgICAgICAgICAjfihjb25z ICItRGV4cGVyaW1lbnRhbD10cnVlIgogICAgICAgICAgICAgICAgICAjJGZsYWdzKSkpKQogICAg ICAoc3lub3BzaXMgIldheWJhciB3aXRoIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyIpKSkpCgooZGVm aW5lLXB1YmxpYyB3bHItcmFuZHIKICAocGFja2FnZQogICAgKG5hbWUgIndsci1yYW5kciIpCiAg ICAodmVyc2lvbiAiMC40LjEiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRo b2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgKHVy bCAiaHR0cHM6Ly9naXQuc3IuaHQvfmVtZXJzaW9uL3dsci1yYW5kciIpCiAgICAgICAgICAgICAo Y29tbWl0IChzdHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQogICAgICAgKGZpbGUtbmFtZSAo Z2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNl MzIgIjFrbDVhd3djbG1sZmN4ZnowanA4Z3pwZzJ2ZmZzbDljaGZpbHlzZnN2MW1xMTFhOTZpZnMi KSkpKQogICAgKGJ1aWxkLXN5c3RlbSBtZXNvbi1idWlsZC1zeXN0ZW0pCiAgICAoaW5wdXRzIChs aXN0IHdheWxhbmQpKQogICAgKG5hdGl2ZS1pbnB1dHMgKGxpc3QgcGtnLWNvbmZpZykpCiAgICAo aG9tZS1wYWdlICJodHRwczovL3NyLmh0L35lbWVyc2lvbi93bHItcmFuZHIiKQogICAgKHN5bm9w c2lzICJVdGlsaXR5IHRvIG1hbmFnZSBXYXlsYW5kIGNvbXBvc2l0b3Igb3V0cHV0cyIpCiAgICAo ZGVzY3JpcHRpb24gIndsci1yYW5kciBpcyBhIHV0aWxpdHkgdG8gbWFuYWdlIG91dHB1dHMgb2Yg YSBXYXlsYW5kIGNvbXBvc2l0b3IuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkgOyBN SVQgbGljZW5zZQoKKGRlZmluZS1wdWJsaWMgbWFrbwogIChwYWNrYWdlCiAgICAobmFtZSAibWFr byIpCiAgICAodmVyc2lvbiAiMS44LjAiKQogICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAg ICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQog ICAgICAgICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9lbWVyc2lvbi9tYWtv IikKICAgICAgICAgICAgICAgICAgICAoY29tbWl0IChzdHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9u KSkpKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9u KSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAg ICAgICAgICIwNWcxZ3A2MXFkOW45dzRscTkyNWk0d2dyeWFndmFoNng0ODlnMTdqN3JudzU5cTRx aGRpIikpKSkKICAgIChidWlsZC1zeXN0ZW0gbWVzb24tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3Vt ZW50cwogICAgIChsaXN0ICM6cGhhc2VzCiAgICAgICAgICAgI34obW9kaWZ5LXBoYXNlcyAlc3Rh bmRhcmQtcGhhc2VzCiAgICAgICAgICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAncGF0Y2gtbWFr b2N0bAogICAgICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhl ci1rZXlzKQogICAgICAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJtYWtvY3RsIgogICAgICAg ICAgICAgICAgICAgICAoKCJeQlVTQ1RMPS4qJCIpCiAgICAgICAgICAgICAgICAgICAgICAoc3Ry aW5nLWFwcGVuZAogICAgICAgICAgICAgICAgICAgICAgICJCVVNDVEw9IgogICAgICAgICAgICAg ICAgICAgICAgIChzZWFyY2gtaW5wdXQtZmlsZSBpbnB1dHMgImJpbi9iYXN1Y3RsIikKICAgICAg ICAgICAgICAgICAgICAgICAiXG4iKSkKICAgICAgICAgICAgICAgICAgICAgKCgianEgIikKICAg ICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAgICAgICAgICAg KHNlYXJjaC1pbnB1dC1maWxlIGlucHV0cyAiYmluL2pxIikKICAgICAgICAgICAgICAgICAgICAg ICAiICIpKSkpKSkpKQogICAgKGlucHV0cyAobGlzdCBiYXN1IGNhaXJvIGdkay1waXhidWYganEg cGFuZ28gd2F5bGFuZCkpCiAgICAobmF0aXZlLWlucHV0cyAobGlzdCBwa2ctY29uZmlnIHNjZG9j IHdheWxhbmQtcHJvdG9jb2xzKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vd2F5bGFuZC5lbWVy c2lvbi5mci9tYWtvIikKICAgIChzeW5vcHNpcyAiTGlnaHR3ZWlnaHQgV2F5bGFuZCBub3RpZmlj YXRpb24gZGFlbW9uIikKICAgIChkZXNjcmlwdGlvbiAiTWFrbyBpcyBhIGxpZ2h0d2VpZ2h0IG5v dGlmaWNhdGlvbiBkYWVtb24gZm9yIFdheWxhbmQKY29tcG9zaXRvcnMgdGhhdCBzdXBwb3J0IHRo ZSBsYXllci1zaGVsbCBwcm90b2NvbC4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKSA7 IE1JVCBsaWNlbnNlCgooZGVmaW5lLXB1YmxpYyBrYW5zaGkKICAocGFja2FnZQogICAgKG5hbWUg ImthbnNoaSIpCiAgICAodmVyc2lvbiAiMS41LjEiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4K ICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAg ICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXQuc3IuaHQvfmVtZXJzaW9uL2thbnNoaSIpCiAgICAg ICAgICAgICAoY29tbWl0IChzdHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQogICAgICAgKGZp bGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgKHNoYTI1NgogICAg ICAgIChiYXNlMzIgIjFtYzJ6Y3Fzdjc5eTc2ODJud2kxZ244cDc1MXp3ZmxtOXppcmw5OHYycTJr dngzMzRrOGEiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBtZXNvbi1idWlsZC1zeXN0ZW0pCiAgICAo aW5wdXRzIChsaXN0IHdheWxhbmQpKQogICAgKG5hdGl2ZS1pbnB1dHMgKGxpc3QgcGtnLWNvbmZp ZyBzY2RvYykpCiAgICAoaG9tZS1wYWdlICJodHRwczovL3dheWxhbmQuZW1lcnNpb24uZnIva2Fu c2hpIikKICAgIChzeW5vcHNpcyAiSG90c3dhcHBhYmxlIG91dHB1dCBwcm9maWxlcyBmb3IgV2F5 bGFuZCIpCiAgICAoZGVzY3JpcHRpb24gIkthbnNoaSBhbGxvd3MgeW91IHRvIGRlZmluZSBvdXRw dXQgcHJvZmlsZXMgdGhhdCBhcmUKYXV0b21hdGljYWxseSBlbmFibGVkIGFuZCBkaXNhYmxlZCBv biBob3RwbHVnLiAgS2Fuc2hpIGNhbiBiZSB1c2VkIHdpdGgKV2F5bGFuZCBjb21wb3NpdG9ycyBz dXBwb3J0aW5nIHRoZSB3bHItb3V0cHV0LW1hbmFnZW1lbnQgcHJvdG9jb2wuIikKICAgIChsaWNl bnNlIGxpY2Vuc2U6ZXhwYXQpKSkgOyBNSVQgbGljZW5zZQoKKGRlZmluZS1wdWJsaWMgd2Rpc3Bs YXlzCiAgKHBhY2thZ2UKICAgIChuYW1lICJ3ZGlzcGxheXMiKQogICAgKHZlcnNpb24gIjEuMS4x IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAg ICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHVi LmNvbS9hcnRpemlyay93ZGlzcGxheXMuZ2l0IikKICAgICAgICAgICAgIChjb21taXQgdmVyc2lv bikpKQogICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAg ICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjA2eWRjbWZkaWNzMnFxamIxNHA3Njd4czhraGQ4 Nm5hbmNkZDl6OGoxMWgyZ3B2d3pudm4iKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBtZXNvbi1idWls ZC1zeXN0ZW0pCiAgICAoaW5wdXRzIChsaXN0IGd0aysgbGliZXBveHkgd2F5bGFuZCkpCiAgICAo bmF0aXZlLWlucHV0cyAobGlzdCBgKCxnbGliICJiaW4iKSBwa2ctY29uZmlnKSkKICAgIChob21l LXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9hcnRpemlyay93ZGlzcGxheXMiKQogICAgKHN5bm9w c2lzICJDb25maWd1cmluZyBkaXNwbGF5cyBpbiBXYXlsYW5kIGNvbXBvc2l0b3JzIikKICAgIChk ZXNjcmlwdGlvbiAiQGNvbW1hbmR7d2Rpc3BsYXlzfSBpcyBhIGdyYXBoaWNhbCBhcHBsaWNhdGlv biBmb3IKY29uZmlndXJpbmcgZGlzcGxheXMgaW4gV2F5bGFuZCBjb21wb3NpdG9ycyB0aGF0IGlt cGxlbWVudHMgdGhlCndsci1vdXRwdXQtbWFuYWdlbWVudC11bnN0YWJsZS12MSBwcm90b2NvbC4i KQogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwzKykpKQoKKGRlZmluZS1wdWJsaWMgc3R1bXB3bQog IChwYWNrYWdlCiAgICAobmFtZSAic3R1bXB3bSIpCiAgICAodmVyc2lvbiAiMjIuMTEiKQogICAg KHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgKHVy aSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL3N0 dW1wd20vc3R1bXB3bSIpCiAgICAgICAgICAgICAoY29tbWl0IHZlcnNpb24pKSkKICAgICAgIChm aWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgInN0dW1wd20iIHZlcnNpb24pKQogICAgICAgKHNoYTI1 NgogICAgICAgIChiYXNlMzIgIjF3eGdkZG1rZ21wbWw0NGEzbTZiZDh5NTI5YjEzanoxNGFweHhp cG1pajEwd3pwZ2F5NmQiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBhc2RmLWJ1aWxkLXN5c3RlbS9z YmNsKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCBzYmNsLWZpYXNjbwogICAgICAgICAg IHRleGluZm8KCiAgICAgICAgICAgOzsgVG8gYnVpbGQgdGhlIG1hbnVhbC4KICAgICAgICAgICBh dXRvY29uZgogICAgICAgICAgIGF1dG9tYWtlKSkKICAgIChpbnB1dHMKICAgICAobGlzdCBzYmNs LWFsZXhhbmRyaWEKICAgICAgICAgICBzYmNsLWNsLXBwY3JlCiAgICAgICAgICAgc2JjbC1jbHgp KQogICAgKG91dHB1dHMgJygib3V0IiAibGliIikpCiAgICAoYXJndW1lbnRzCiAgICAgKGxpc3QK ICAgICAgIzpwaGFzZXMKICAgICAgI34obW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAg ICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2ZpeC10ZXN0cwogICAgICAgICAgICAobGFtYmRh IF8KICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInN0dW1wd20tdGVzdHMuYXNkIgogICAgICAg ICAgICAgICAgKCgiXCJBTEwtVEVTVFNcIiIpCiAgICAgICAgICAgICAgICAgIlwiUlVOLVBBQ0tB R0UtVEVTVFNcIiA6cGFja2FnZSIpKSkpCiAgICAgICAgICAoYWRkLWFmdGVyICdjcmVhdGUtYXNk Zi1jb25maWd1cmF0aW9uICdidWlsZC1wcm9ncmFtCiAgICAgICAgICAgIChsYW1iZGEqICgjOmtl eSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgICAoYnVpbGQtcHJvZ3Jh bQogICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIp ICIvYmluL3N0dW1wd20iKQogICAgICAgICAgICAgICBvdXRwdXRzCiAgICAgICAgICAgICAgICM6 ZW50cnktcHJvZ3JhbSAnKChzdHVtcHdtOnN0dW1wd20pIDApKSkpCiAgICAgICAgICAoYWRkLWFm dGVyICdidWlsZC1wcm9ncmFtICdjcmVhdGUtZGVza3RvcC1maWxlCiAgICAgICAgICAgIChsYW1i ZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgICAobGV0 KiAoKG91dCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpKQogICAgICAgICAgICAgICAgICAgICAo eHNlc3Npb25zIChzdHJpbmctYXBwZW5kIG91dCAiL3NoYXJlL3hzZXNzaW9ucyIpKSkKICAgICAg ICAgICAgICAgIChta2Rpci1wIHhzZXNzaW9ucykKICAgICAgICAgICAgICAgIChjYWxsLXdpdGgt b3V0cHV0LWZpbGUKICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCB4c2Vzc2lvbnMg Ii9zdHVtcHdtLmRlc2t0b3AiKQogICAgICAgICAgICAgICAgICAobGFtYmRhIChmaWxlKQogICAg ICAgICAgICAgICAgICAgIChmb3JtYXQgZmlsZQogICAgICAgICAgICAgICAgICAgICAgICJbRGVz a3RvcCBFbnRyeV1+QAogICAgICAgICAgICAgICAgICAgICAgICBOYW1lPXN0dW1wd21+QAogICAg ICAgICAgICAgICAgICAgICAgICBDb21tZW50PVRoZSBTdHVtcCBXaW5kb3cgTWFuYWdlcn5ACiAg ICAgICAgICAgICAgICAgICAgICAgIEV4ZWM9fmEvYmluL3N0dW1wd21+QAogICAgICAgICAgICAg ICAgICAgICAgICBUcnlFeGVjPX5AKn5hL2Jpbi9zdHVtcHdtfkAKICAgICAgICAgICAgICAgICAg ICAgICAgSWNvbj1+QAogICAgICAgICAgICAgICAgICAgICAgICBUeXBlPUFwcGxpY2F0aW9ufiUi CiAgICAgICAgICAgICAgICAgICAgICAgb3V0KSkpKSkpCiAgICAgICAgICAoYWRkLWFmdGVyICdp bnN0YWxsICdpbnN0YWxsLW1hbnVhbAogICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgKG1ha2Ut ZmxhZ3MgJygpKSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgICAobGV0 KiAoKG91dCAgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKSkKICAgICAgICAgICAgICAgICAgICAg KGluZm8gKHN0cmluZy1hcHBlbmQgb3V0ICIvc2hhcmUvaW5mbyIpKSkKICAgICAgICAgICAgICAg IChpbnZva2UgIi4vYXV0b2dlbi5zaCIpCiAgICAgICAgICAgICAgICAoaW52b2tlICJzaCIgIi4v Y29uZmlndXJlIiAiU0hFTEw9c2giKQogICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAibWFr ZSIgInN0dW1wd20uaW5mbyIgbWFrZS1mbGFncykKICAgICAgICAgICAgICAgIChpbnN0YWxsLWZp bGUgInN0dW1wd20uaW5mbyIgaW5mbykpKSkKICAgICAgICAgIChhZGQtYWZ0ZXIgJ2luc3RhbGwt bWFudWFsICdyZW1vdmUtdGVtcG9yYXJ5LWNhY2hlCiAgICAgICAgICAgIChsYW1iZGEqICgjOmtl eSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgICAoZGVsZXRlLWZpbGUt cmVjdXJzaXZlbHkgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRwdXRzICJsaWIiKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLy5jYWNo ZSIpKSkpKSkpCiAgICAoc3lub3BzaXMgIldpbmRvdyBtYW5hZ2VyIHdyaXR0ZW4gaW4gQ29tbW9u IExpc3AiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlN0dW1wd20gaXMgYSB3aW5kb3cgbWFuYWdl ciB3cml0dGVuIGVudGlyZWx5IGluIENvbW1vbiBMaXNwLgpJdCBhdHRlbXB0cyB0byBiZSBoaWdo bHkgY3VzdG9taXphYmxlIHdoaWxlIHJlbHlpbmcgZW50aXJlbHkgb24gdGhlIGtleWJvYXJkCmZv ciBpbnB1dC4gIFRoZXNlIGRlc2lnbiBkZWNpc2lvbnMgcmVmbGVjdCB0aGUgZ3Jvd2luZyBwb3B1 bGFyaXR5IG9mCnByb2R1Y3RpdmUsIGN1c3RvbWl6YWJsZSBsaXNwIGJhc2VkIHN5c3RlbXMuIikK ICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVtcHdtL3N0dW1wd20iKQogICAg KGxpY2Vuc2UgbGljZW5zZTpncGwyKykKICAgIChwcm9wZXJ0aWVzIGAoKGNsLXNvdXJjZS12YXJp YW50IC4gLChkZWxheSBjbC1zdHVtcHdtKSkpKSkpCgooZGVmaW5lLXB1YmxpYyBjbC1zdHVtcHdt CiAgKHBhY2thZ2UKICAgIChpbmhlcml0IChzYmNsLXBhY2thZ2UtPmNsLXNvdXJjZS1wYWNrYWdl IHN0dW1wd20pKQogICAgKG5hbWUgImNsLXN0dW1wd20iKSkpCgooZGVmaW5lLXB1YmxpYyBzdHVt cHdtK3NseW5rCiAgKHBhY2thZ2UKICAgIChpbmhlcml0IHN0dW1wd20pCiAgICAobmFtZSAic3R1 bXB3bS13aXRoLXNseW5rIikKICAgIChvdXRwdXRzICcoIm91dCIpKQogICAgKGlucHV0cwogICAg IGAoKCJzdHVtcHdtIiAsc3R1bXB3bSAibGliIikKICAgICAgICgic2x5bmsiICxzYmNsLXNseW5r KSkpCiAgICAoYXJndW1lbnRzCiAgICAgKHN1YnN0aXR1dGUta2V5d29yZC1hcmd1bWVudHMgKHBh Y2thZ2UtYXJndW1lbnRzIHN0dW1wd20pCiAgICAgICAoKCM6cGhhc2VzIHBoYXNlcykKICAgICAg ICBgKG1vZGlmeS1waGFzZXMgLHBoYXNlcwogICAgICAgICAgIChyZXBsYWNlICdidWlsZC1wcm9n cmFtCiAgICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzIG91dHB1dHMgIzphbGxvdy1v dGhlci1rZXlzKQogICAgICAgICAgICAgICAobGV0KiAoKG91dCAoYXNzb2MtcmVmIG91dHB1dHMg Im91dCIpKQogICAgICAgICAgICAgICAgICAgICAgKHByb2dyYW0gKHN0cmluZy1hcHBlbmQgb3V0 ICIvYmluL3N0dW1wd20iKSkpCiAgICAgICAgICAgICAgICAgKHNldGVudiAiSE9NRSIgIi90bXAi KQogICAgICAgICAgICAgICAgIChidWlsZC1wcm9ncmFtIHByb2dyYW0gb3V0cHV0cwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICM6ZW50cnktcHJvZ3JhbSAnKChzdHVtcHdtOnN0dW1w d20pIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpkZXBlbmRlbmNpZXMgJygi c3R1bXB3bSIgInNseW5rIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmRlcGVu ZGVuY3ktcHJlZml4ZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFwIChsYW1i ZGEgKGlucHV0KSAoYXNzb2MtcmVmIGlucHV0cyBpbnB1dCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnKCJzdHVtcHdtIiAic2x5bmsiKSkpCiAgICAgICAgICAgICAgICAg I3QpKSkKICAgICAgICAgICAoZGVsZXRlICdjb3B5LXNvdXJjZSkKICAgICAgICAgICAoZGVsZXRl ICdidWlsZCkKICAgICAgICAgICAoZGVsZXRlICdjaGVjaykKICAgICAgICAgICAoZGVsZXRlICdy ZW1vdmUtdGVtcG9yYXJ5LWNhY2hlKQogICAgICAgICAgIChkZWxldGUgJ2NsZWFudXApKSkpKSkp CgooZGVmaW5lIHN0dW1wd20tY29udHJpYgogIChsZXQgKChjb21taXQgIjQ2MTNhOTU2YWRkN2Ex Nzk4NmEzYjI2YzM0MTIyOTQ2NmNkMTNmMWQiKQogICAgICAgIChyZXZpc2lvbiAiNSIpKQogICAg KHBhY2thZ2UKICAgICAgKG5hbWUgInN0dW1wd20tY29udHJpYiIpCiAgICAgICh2ZXJzaW9uIChn aXQtdmVyc2lvbiAiMC4wLjEiIHJldmlzaW9uIGNvbW1pdCkpIDtubyB1cHN0cmVhbSByZWxlYXNl CiAgICAgIChzb3VyY2UKICAgICAgIChvcmlnaW4KICAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gp CiAgICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6 Ly9naXRodWIuY29tL3N0dW1wd20vc3R1bXB3bS1jb250cmliIikKICAgICAgICAgICAgICAgKGNv bW1pdCBjb21taXQpKSkKICAgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZl cnNpb24pKQogICAgICAgICAoc2hhMjU2CiAgICAgICAgICAoYmFzZTMyICIxZzhoMnZkNXFzbWFp ejZpeGx4OXlrcnY2YTA4aXpta2YwanMxOGZ2bGp2em5weWhzem56IikpKSkKICAgICAgKGJ1aWxk LXN5c3RlbSBhc2RmLWJ1aWxkLXN5c3RlbS9zYmNsKQogICAgICAoaW5wdXRzCiAgICAgICBgKCgi c3R1bXB3bSIgLHN0dW1wd20gImxpYiIpKSkKICAgICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRo dWIuY29tL3N0dW1wd20vc3R1bXB3bS1jb250cmliIikKICAgICAgKHN5bm9wc2lzICJTdHVtcFdN IGV4dHJhIG1vZHVsZXMiKQogICAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRl cyBleHRyYSBtb2R1bGVzIGZvciBTdHVtcFdNLiIpCiAgICAgIChsaWNlbnNlIChsaXN0IGxpY2Vu c2U6Z3BsMisgbGljZW5zZTpncGwzKyBsaWNlbnNlOmJzZC0yKSkpKSkKCihkZWZpbmUtcHVibGlj IHN0dW1waXNoCiAgKHBhY2thZ2UKICAgIChpbmhlcml0IHN0dW1wd20tY29udHJpYikKICAgIChu YW1lICJzdHVtcGlzaCIpCiAgICAoaW5wdXRzCiAgICAgKGxpc3QgYmFzaCBybHdyYXAgeHByb3Ap KQogICAgKGJ1aWxkLXN5c3RlbSB0cml2aWFsLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMK ICAgICAnKCM6bW9kdWxlcyAoKGd1aXggYnVpbGQgdXRpbHMpKQogICAgICAgIzpidWlsZGVyCiAg ICAgICAoYmVnaW4KICAgICAgICAgKHVzZS1tb2R1bGVzIChndWl4IGJ1aWxkIHV0aWxzKSkKICAg ICAgICAgKGNvcHktcmVjdXJzaXZlbHkgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJzb3VyY2Ui KSAiLiIpCiAgICAgICAgIChjaGRpciAidXRpbC9zdHVtcGlzaCIpCiAgICAgICAgIChzdWJzdGl0 dXRlKiAic3R1bXBpc2giCiAgICAgICAgICAgKCgicmx3cmFwIikgKHNlYXJjaC1pbnB1dC1maWxl ICVidWlsZC1pbnB1dHMgIi9iaW4vcmx3cmFwIikpCiAgICAgICAgICAgKCgieHByb3AiKSAoc2Vh cmNoLWlucHV0LWZpbGUgJWJ1aWxkLWlucHV0cyAiL2Jpbi94cHJvcCIpKQogICAgICAgICAgICgo Ii9iaW4vc2giKSAoc2VhcmNoLWlucHV0LWZpbGUgJWJ1aWxkLWlucHV0cyAiL2Jpbi9iYXNoIikp KQogICAgICAgICAoaW5zdGFsbC1maWxlICJzdHVtcGlzaCIgKHN0cmluZy1hcHBlbmQgJW91dHB1 dCAiL2JpbiIpKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3N0dW1wd20v c3R1bXB3bS1jb250cmliIikKICAgIChzeW5vcHNpcyAiU3R1bXBXTSBpbnRlcmFjdGl2ZSBzaGVs bCIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBhIFN0dW1wV00gaW50 ZXJhY3RpdmUgc2hlbGwuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6Z3BsMisgbGljZW5z ZTpncGwzKyBsaWNlbnNlOmJzZC0yKSkpKQoKKGRlZmluZS1wdWJsaWMgc2JjbC1zdHVtcHdtLXBh bWl4ZXIKICAobGV0ICgoY29tbWl0ICJhYTgyMDUzM2M4MGVhMWFmNWEwZTEwN2NlYTI1ZWFmMzRl NjlkYzI0IikKICAgICAgICAocmV2aXNpb24gIjEiKSkKICAgIChwYWNrYWdlCiAgICAgIChuYW1l ICJzYmNsLXN0dW1wd20tcGFtaXhlciIpCiAgICAgICh2ZXJzaW9uIChnaXQtdmVyc2lvbiAiMC4x LjEiIHJldmlzaW9uIGNvbW1pdCkpCiAgICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAg ICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNl CiAgICAgICAgICAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vSnVua2VyL3N0 dW1wd20tcGFtaXhlciIpCiAgICAgICAgICAgICAgICAgICAgICAoY29tbWl0IGNvbW1pdCkpKQog ICAgICAgICAgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQog ICAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAg ICAgICAgICAgIjBkamNycjE2Yng0MGw3YjYwZDRqNTA3dms1bDQyZmRnbWpwZ3Juazg2ejFiYTh3 bHFpbTgiKSkpKQogICAgICAoaW5wdXRzIChsaXN0IHBhbWl4ZXIgYCgsc3R1bXB3bSAibGliIikp KQogICAgICAoYnVpbGQtc3lzdGVtIGFzZGYtYnVpbGQtc3lzdGVtL3NiY2wpCiAgICAgIChhcmd1 bWVudHMKICAgICAgIChsaXN0ICM6YXNkLXN5c3RlbXMgJycoInBhbWl4ZXIiKQogICAgICAgICAg ICAgIzpwaGFzZXMKICAgICAgICAgICAgICN+KG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNl cwogICAgICAgICAgICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAncGF0Y2gtcGFtaXhlcgogICAg ICAgICAgICAgICAgICAgKGxhbWJkYSBfCiAgICAgICAgICAgICAgICAgICAgIChzdWJzdGl0dXRl KiAicGFtaXhlci5saXNwIgogICAgICAgICAgICAgICAgICAgICAgICgoIlwicGFtaXhlciBcIiIp CiAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICJcIiIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyQodGhpcy1wYWNrYWdlLWlucHV0ICJwYW1peGVy IikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9iaW4vcGFtaXhlciBc IiIpKSkpKSkpKQogICAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vSnVua2VyL3N0 dW1wd20tcGFtaXhlciIpCiAgICAgIChzeW5vcHNpcyAiU3R1bXBXTSBQYW1peGVyIE1vZHVsZSIp CiAgICAgIChkZXNjcmlwdGlvbgogICAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBhIG1pbmlt YWxpc3RpYyBQdWxzZWF1ZGlvIHZvbHVtZSBhbmQgbWljcm9waG9uZQpjb250cm9sIG1vZHVsZSBm b3IgU3R1bXBXTS4iKQogICAgICAobGljZW5zZSBsaWNlbnNlOmdwbDMpKSkpCgooZGVmaW5lLXB1 YmxpYyBzYmNsLXN0dW1wd20tYmlud2FycAogICAgKHBhY2thZ2UKICAgICAoaW5oZXJpdCBzdHVt cHdtLWNvbnRyaWIpCiAgICAgKG5hbWUgInNiY2wtc3R1bXB3bS1iaW53YXJwIikKICAgICAoYXJn dW1lbnRzCiAgICAgICcoIzphc2Qtc3lzdGVtcyAnKCJiaW53YXJwIikKCSM6dGVzdHM/ICNmCgkj OnBoYXNlcwoJKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwoJCSAgICAgICAoYWRkLWFm dGVyICd1bnBhY2sgJ2NoZGlyCgkJCQkgIChsYW1iZGEgXyAoY2hkaXIgInV0aWwvYmlud2FycCIp ICN0KSkpKSkKICAgICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3N0dW1wd20vc3R1 bXB3bS1jb250cmliIikKICAgICAgKHN5bm9wc2lzICJLZXlib2FyZC1kcml2ZW4gZGl2aWRlLWFu ZC1jb25xdWVyIG1vdXNlIGNvbnRyb2wgbW9kZS4iKQogICAgICAoZGVzY3JpcHRpb24gIlRoaXMg cGFja2FnZSBwcm92aWRlcyBhIG5ldyBrZXlib2FyZC1kcml2ZW4ga2V5bWFwLiIpCiAgICAgIChs aWNlbnNlIChsaXN0IGxpY2Vuc2U6Z3BsMisgbGljZW5zZTpncGwzKyBsaWNlbnNlOmJzZC0yKSkp KQoKKGRlZmluZS1wdWJsaWMgc2JjbC1zdHVtcHdtLXR0Zi1mb250cwogIChwYWNrYWdlCiAgICAo aW5oZXJpdCBzdHVtcHdtLWNvbnRyaWIpCiAgICAobmFtZSAic2JjbC1zdHVtcHdtLXR0Zi1mb250 cyIpCiAgICAoaW5wdXRzCiAgICAgYCgoInN0dW1wd20iICxzdHVtcHdtICJsaWIiKQogICAgICAg KCJjbHgtdHJ1ZXR5cGUiICxzYmNsLWNseC10cnVldHlwZSkpKQogICAgKGFyZ3VtZW50cwogICAg ICcoIzphc2Qtc3lzdGVtcyAnKCJ0dGYtZm9udHMiKQogICAgICAgIzp0ZXN0cz8gI2YKICAgICAg ICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAg IChhZGQtYWZ0ZXIgJ3VucGFjayAnY2hkaXIKICAgICAgICAgICAobGFtYmRhIF8gKGNoZGlyICJ1 dGlsL3R0Zi1mb250cyIpICN0KSkpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNv bS9zdHVtcHdtL3N0dW1wd20tY29udHJpYiIpCiAgICAoc3lub3BzaXMgIkltcGxlbWVudGF0aW9u IG9mIFRURiBmb250IHJlbmRlcmluZyBmb3IgTGlzcCIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMg cGFja2FnZSBwcm92aWRlcyBhIExpc3AgaW1wbGVtZW50YXRpb24gb2YgVFRGIGZvbnQKcmVuZGVy aW5nLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmdwbDIrIGxpY2Vuc2U6Z3BsMysgbGlj ZW5zZTpic2QtMikpKSkKCihkZWZpbmUtcHVibGljIHNiY2wtc3R1bXB3bS1wYXNzCiAgKHBhY2th Z2UKICAgIChpbmhlcml0IHN0dW1wd20tY29udHJpYikKICAgIChuYW1lICJzYmNsLXN0dW1wd20t cGFzcyIpCiAgICAoYXJndW1lbnRzCiAgICAgJygjOmFzZC1zeXN0ZW1zICcoInBhc3MiKQogICAg ICAgIzp0ZXN0cz8gI2YKICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3Rh bmRhcmQtcGhhc2VzCiAgICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAnY2hkaXIKICAgICAgICAg ICAobGFtYmRhIF8gKGNoZGlyICJ1dGlsL3Bhc3MiKSAjdCkpKSkpCiAgICAoaG9tZS1wYWdlICJo dHRwczovL2dpdGh1Yi5jb20vc3R1bXB3bS9zdHVtcHdtLWNvbnRyaWIiKQogICAgKHN5bm9wc2lz ICJJbnRlZ3JhdGUgQGNvZGV7cGFzc30gd2l0aCBTdHVtcFdNIikKICAgIChkZXNjcmlwdGlvbiAi VGhpcyBwYWNrYWdlIHByb3ZpZGVzIGFuIGludGVyZmFjZSB3aGljaCBpbnRlZ3JhdGVzCnBhc3N3 b3JkLXN0b3JlIGludG8gU3R1bXBXTS4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpncGwy KyBsaWNlbnNlOmdwbDMrIGxpY2Vuc2U6YnNkLTIpKSkpCgooZGVmaW5lLXB1YmxpYyBzYmNsLXN0 dW1wd20tZ2xvYmFsd2luZG93cwogIChwYWNrYWdlCiAgICAoaW5oZXJpdCBzdHVtcHdtLWNvbnRy aWIpCiAgICAobmFtZSAic2JjbC1zdHVtcHdtLWdsb2JhbHdpbmRvd3MiKQogICAgKGFyZ3VtZW50 cwogICAgICcoIzphc2Qtc3lzdGVtcyAnKCJnbG9iYWx3aW5kb3dzIikKICAgICAgICM6dGVzdHM/ ICNmCiAgICAgICAjOnBoYXNlcwogICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNl cwogICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NoZGlyCiAgICAgICAgICAgKGxhbWJkYSBf IChjaGRpciAidXRpbC9nbG9iYWx3aW5kb3dzIikgI3QpKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0 cHM6Ly9naXRodWIuY29tL3N0dW1wd20vc3R1bXB3bS1jb250cmliIikKICAgIChzeW5vcHNpcyAi TWFuaXB1bGF0ZSBhbGwgd2luZG93cyBpbiB0aGUgY3VycmVudCBYIHNlc3Npb24iKQogICAgKGRl c2NyaXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSBTdHVtcFdNIG1vZHVsZSB0byBtYW5p cHVsYXRlIGFsbAp3aW5kb3dzIGluIHRoZSBjdXJyZW50IFggc2Vzc2lvbi4iKQogICAgKGxpY2Vu c2UgKGxpc3QgbGljZW5zZTpncGwyKyBsaWNlbnNlOmdwbDMrIGxpY2Vuc2U6YnNkLTIpKSkpCgoo ZGVmaW5lLXB1YmxpYyBzYmNsLXN0dW1wd20tc3dtLWdhcHMKICAocGFja2FnZQogICAgKGluaGVy aXQgc3R1bXB3bS1jb250cmliKQogICAgKG5hbWUgInNiY2wtc3R1bXB3bS1zd20tZ2FwcyIpCiAg ICAoYXJndW1lbnRzCiAgICAgJygjOmFzZC1zeXN0ZW1zICcoInN3bS1nYXBzIikKICAgICAgICM6 dGVzdHM/ICNmCiAgICAgICAjOnBoYXNlcwogICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJk LXBoYXNlcwogICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NoZGlyCiAgICAgICAgICAgKGxh bWJkYSBfIChjaGRpciAidXRpbC9zd20tZ2FwcyIpICN0KSkpKSkKICAgIChob21lLXBhZ2UgImh0 dHBzOi8vZ2l0aHViLmNvbS9zdHVtcHdtL3N0dW1wd20tY29udHJpYiIpCiAgICAoc3lub3BzaXMg IkdhcHMgYmV0d2VlbiB3aW5kb3dzIGZvciBTdHVtcFdNIikKICAgIChkZXNjcmlwdGlvbiAiVGhp cyBwYWNrYWdlIHByb3ZpZGVzIGEgU3R1bXBXTSBtb2R1bGUgd2hpY2ggYWRkcyBnYXBzCmJldHdl ZW4gd2luZG93cy4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpncGwyKyBsaWNlbnNlOmdw bDMrIGxpY2Vuc2U6YnNkLTIpKSkpCgooZGVmaW5lLXB1YmxpYyBzYmNsLXN0dW1wd20tbmV0CiAg KHBhY2thZ2UKICAgIChpbmhlcml0IHN0dW1wd20tY29udHJpYikKICAgIChuYW1lICJzYmNsLXN0 dW1wd20tbmV0IikKICAgIChhcmd1bWVudHMKICAgICAnKCM6YXNkLXN5c3RlbXMgJygibmV0IikK ICAgICAgICM6dGVzdHM/ICNmCiAgICAgICAjOnBoYXNlcwogICAgICAgKG1vZGlmeS1waGFzZXMg JXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NoZGlyIChsYW1i ZGEgXyAoY2hkaXIgIm1vZGVsaW5lL25ldCIpICN0KSkpKSkKICAgIChob21lLXBhZ2UKICAgICAi aHR0cHM6Ly9naXRodWIuY29tL3N0dW1wd20vc3R1bXB3bS1jb250cmliL3RyZWUvbWFzdGVyL21v ZGVsaW5lL25ldCIpCiAgICAoc3lub3BzaXMgIk1vZGVsaW5lIHN1cHBvcnQgZm9yIG5ldHdvcmsg Y29ubmVjdGl2aXR5IikKICAgIChkZXNjcmlwdGlvbiAiTW9kZWxpbmUgc3VwcG9ydCBmb3IgbmV0 d29yayBjb25uZWN0aXZpdHkuIikKICAgIChzdXBwb3J0ZWQtc3lzdGVtcwogICAgIChmaWx0ZXIg KGxhbWJkYSAoYSkgKHN0cmluZy1jb250YWlucyBhICJsaW51eCIpKSAlc3VwcG9ydGVkLXN5c3Rl bXMpKQogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwzKykpKQoKKGRlZmluZS1wdWJsaWMgc2JjbC1z dHVtcHdtLXdpZmkKICAocGFja2FnZQogICAgKGluaGVyaXQgc3R1bXB3bS1jb250cmliKQogICAg KG5hbWUgInNiY2wtc3R1bXB3bS13aWZpIikKICAgIChhcmd1bWVudHMKICAgICAnKCM6YXNkLXN5 c3RlbXMgJygid2lmaSIpCiAgICAgICAjOnRlc3RzPyAjZgogICAgICAgIzpwaGFzZXMKICAgICAg IChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgKGFkZC1hZnRlciAndW5w YWNrICdjaGRpciAobGFtYmRhIF8gKGNoZGlyICJtb2RlbGluZS93aWZpIikgI3QpKSkpKQogICAg KGhvbWUtcGFnZQogICAgICJodHRwczovL2dpdGh1Yi5jb20vc3R1bXB3bS9zdHVtcHdtLWNvbnRy aWIvdHJlZS9tYXN0ZXIvbW9kZWxpbmUvd2lmaSIpCiAgICAoc3lub3BzaXMgIk1vZGVsaW5lIHN1 cHBvcnQgZm9yIHdpZmkgY29ubmVjdGl2aXR5IikKICAgIChkZXNjcmlwdGlvbiAiTW9kZWxpbmUg c3VwcG9ydCBmb3Igd2lmaSBjb25uZWN0aXZpdHkuIikKICAgIChzdXBwb3J0ZWQtc3lzdGVtcwog ICAgIChmaWx0ZXIgKGxhbWJkYSAoYSkgKHN0cmluZy1jb250YWlucyBhICJsaW51eCIpKSAlc3Vw cG9ydGVkLXN5c3RlbXMpKQogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwzKykpKQoKKGRlZmluZS1w dWJsaWMgc2JjbC1zdHVtcHdtLXN0dW1wdHJheQogIChwYWNrYWdlCiAgICAoaW5oZXJpdCBzdHVt cHdtLWNvbnRyaWIpCiAgICAobmFtZSAic2JjbC1zdHVtcHdtLXN0dW1wdHJheSIpCiAgICAoYXJn dW1lbnRzCiAgICAgJygjOmFzZC1zeXN0ZW1zICcoInN0dW1wdHJheSIpCiAgICAgICAjOnRlc3Rz PyAjZgogICAgICAgIzpwaGFzZXMKICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFz ZXMKICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdjaGRpciAobGFtYmRhIF8gKGNoZGlyICJt b2RlbGluZS9zdHVtcHRyYXkiKSAjdCkpKSkpCiAgICAoaW5wdXRzCiAgICAgYCgoInN0dW1wd20i ICxzdHVtcHdtICJsaWIiKQogICAgICAgKCJ4ZW1iZWQiICxzYmNsLWNseC14ZW1iZWQpCiAgICAg ICAoImFsZXhhbmRyaWEiICxzYmNsLWFsZXhhbmRyaWEpKSkKICAgIChob21lLXBhZ2UKICAgICAi aHR0cHM6Ly9naXRodWIuY29tL3N0dW1wd20vc3R1bXB3bS1jb250cmliL3RyZWUvbWFzdGVyL21v ZGVsaW5lL3N0dW1wdHJheSIpCiAgICAoc3lub3BzaXMgIk1vZGVsaW5lIHN1cHBvcnQgZm9yIHN0 dW1wdHJheSBjb25uZWN0aXZpdHkiKQogICAgKGRlc2NyaXB0aW9uICJNb2RlbGluZSBzdXBwb3J0 IGZvciBzdHVtcHRyYXkgY29ubmVjdGl2aXR5LiIpCiAgICAoc3VwcG9ydGVkLXN5c3RlbXMKICAg ICAoZmlsdGVyIChsYW1iZGEgKGEpIChzdHJpbmctY29udGFpbnMgYSAibGludXgiKSkgJXN1cHBv cnRlZC1zeXN0ZW1zKSkKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMyspKSkKCihkZWZpbmUtcHVi bGljIHNiY2wtc3R1bXB3bS1rYmQtbGF5b3V0cwogIChwYWNrYWdlCiAgICAoaW5oZXJpdCBzdHVt cHdtLWNvbnRyaWIpCiAgICAobmFtZSAic2JjbC1zdHVtcHdtLWtiZC1sYXlvdXRzIikKICAgIChh cmd1bWVudHMKICAgICAnKCM6YXNkLXN5c3RlbXMgJygia2JkLWxheW91dHMiKQogICAgICAgIzph c2Qtb3BlcmF0aW9uICJjb21waWxlLXN5c3RlbSIKICAgICAgICM6dGVzdHM/ICNmCiAgICAgICAj OnBoYXNlcwogICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAo YWRkLWFmdGVyICd1bnBhY2sgJ2NoZGlyIChsYW1iZGEgXyAoY2hkaXIgInV0aWwva2JkLWxheW91 dHMiKSAjdCkpKSkpCiAgICAoaG9tZS1wYWdlCiAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVt cHdtL3N0dW1wd20tY29udHJpYi90cmVlL21hc3Rlci91dGlsL2tiZC1sYXlvdXRzIikKICAgIChz eW5vcHNpcyAiS2V5Ym9hcmQgbGF5b3V0IHN3aXRjaGVyIGZvciBTdHVtcFdNIikKICAgIChkZXNj cmlwdGlvbiAiS2V5Ym9hcmQgbGF5b3V0IHN3aXRjaGVyIGZvciBTdHVtcFdNIikKICAgIChsaWNl bnNlIGxpY2Vuc2U6Z3BsMyspKSkKCihkZWZpbmUtcHVibGljIHNiY2wtc3R1bXB3bS1udW1wYWQt bGF5b3V0cwogIChwYWNrYWdlCiAgICAoaW5oZXJpdCBzdHVtcHdtLWNvbnRyaWIpCiAgICAobmFt ZSAic2JjbC1zdHVtcHdtLW51bXBhZC1sYXlvdXRzIikKICAgIChhcmd1bWVudHMKICAgICAnKCM6 YXNkLXN5c3RlbXMgJygibnVtcGFkLWxheW91dHMiKQogICAgICAgIzp0ZXN0cz8gI2YKICAgICAg ICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAg IChhZGQtYWZ0ZXIgJ3VucGFjayAnY2hkaXIKICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAg ICAgIChjaGRpciAidXRpbC9udW1wYWQtbGF5b3V0cyIpKSkpKSkKICAgIChob21lLXBhZ2UKICAg ICAiaHR0cHM6Ly9naXRodWIuY29tL3N0dW1wd20vc3R1bXB3bS1jb250cmliL3RyZWUvbWFzdGVy L3V0aWwvbnVtcGFkLWxheW91dHMiKQogICAgKHN5bm9wc2lzICJLZXlib2FyZCBudW1wYWQgbGF5 b3V0cyBmb3IgU3R1bXBXTSIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgaXMgYSBtb2R1bGUgZm9y IGhhbmRsaW5nIGRpZmZlcmVudCBrZXlib2FyZHMgbnVtcGFkCmxheW91dHMgaW4gU3R1bXBXTS4i KQogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwzKykpKQoKKGRlZmluZS1wdWJsaWMgc2JjbC1zdHVt cHdtLWNwdQogIChwYWNrYWdlCiAgICAoaW5oZXJpdCBzdHVtcHdtLWNvbnRyaWIpCiAgICAobmFt ZSAic2JjbC1zdHVtcHdtLWNwdSIpCiAgICAoYXJndW1lbnRzCiAgICAgJygjOmFzZC1zeXN0ZW1z ICcoImNwdSIpCiAgICAgICAjOnRlc3RzPyAjZgogICAgICAgIzpwaGFzZXMKICAgICAgIChtb2Rp ZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdj aGRpcgogICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgKGNoZGlyICJtb2RlbGluZS9j cHUiKSkpKSkpCiAgICAoaG9tZS1wYWdlCiAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVtcHdt L3N0dW1wd20tY29udHJpYi90cmVlL21hc3Rlci9tb2RlbGluZS9jcHUiKQogICAgKHN5bm9wc2lz ICJNb2RlbGluZSBzdXBwb3J0IGZvciBDUFUgaW5mbyIpCiAgICAoZGVzY3JpcHRpb24gIk1vZGVs aW5lIHN1cHBvcnQgZm9yIENQVSBpbmZvLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmdwbDMrKSkp CgooZGVmaW5lLXB1YmxpYyBzYmNsLXN0dW1wd20tZGlzawogIChwYWNrYWdlCiAgICAoaW5oZXJp dCBzdHVtcHdtLWNvbnRyaWIpCiAgICAobmFtZSAic2JjbC1zdHVtcHdtLWRpc2siKQogICAgKGFy Z3VtZW50cwogICAgICcoIzphc2Qtc3lzdGVtcyAnKCJkaXNrIikKICAgICAgICM6dGVzdHM/ICNm CiAgICAgICAjOnBoYXNlcwogICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwog ICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NoZGlyCiAgICAgICAgICAgKGxhbWJkYSBfIChj aGRpciAibW9kZWxpbmUvZGlzayIpICN0KSkpKSkKICAgIChpbnB1dHMKICAgICBgKCgic3R1bXB3 bSIgLHN0dW1wd20gImxpYiIpCiAgICAgICAoImNsLWRpc2tzcGFjZSIgLHNiY2wtY2wtZGlza3Nw YWNlKQogICAgICAgKCJjbC1tb3VudC1pbmZvIiAsc2JjbC1jbC1tb3VudC1pbmZvKSkpCiAgICAo aG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vc3R1bXB3bS9zdHVtcHdtLWNvbnRyaWIiKQog ICAgKHN5bm9wc2lzICJTdHVtcFdNIG1vZGVsaW5lIHN1cHBvcnQgdG8gc2hvdyBkaXNrIHVzYWdl IikKICAgIChkZXNjcmlwdGlvbiAiU3R1bXBXTSBtb2RlbGluZSBzdXBwb3J0IHRvIHNob3cgZGlz ayB1c2FnZSIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmdwbDIrIGxpY2Vuc2U6Z3BsMysp KSkpCgooZGVmaW5lLXB1YmxpYyBzYmNsLXN0dW1wd20tbWVtCiAgKHBhY2thZ2UKICAgIChpbmhl cml0IHN0dW1wd20tY29udHJpYikKICAgIChuYW1lICJzYmNsLXN0dW1wd20tbWVtIikKICAgIChh cmd1bWVudHMKICAgICAnKCM6YXNkLXN5c3RlbXMgJygibWVtIikKICAgICAgICM6dGVzdHM/ICNm CiAgICAgICAjOnBoYXNlcwogICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwog ICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NoZGlyCiAgICAgICAgICAgKGxhbWJkYSBfCiAg ICAgICAgICAgICAoY2hkaXIgIm1vZGVsaW5lL21lbSIpKSkpKSkKICAgIChob21lLXBhZ2UKICAg ICAiaHR0cHM6Ly9naXRodWIuY29tL3N0dW1wd20vc3R1bXB3bS1jb250cmliL3RyZWUvbWFzdGVy L21vZGVsaW5lL21lbSIpCiAgICAoc3lub3BzaXMgIk1vZGVsaW5lIHN1cHBvcnQgZm9yIG1lbW9y eSBpbmZvIikKICAgIChkZXNjcmlwdGlvbiAiTW9kZWxpbmUgc3VwcG9ydCBmb3IgbWVtb3J5IGlu Zm8uIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMyspKSkKCihkZWZpbmUtcHVibGljIHNiY2wt c3R1bXB3bS13aW5uZXItbW9kZQogIChwYWNrYWdlCiAgICAoaW5oZXJpdCBzdHVtcHdtLWNvbnRy aWIpCiAgICAobmFtZSAic2JjbC1zdHVtcHdtLXdpbm5lci1tb2RlIikKICAgIChhcmd1bWVudHMK ICAgICAnKCM6YXNkLXN5c3RlbXMgJygid2lubmVyLW1vZGUiKQogICAgICAgIzp0ZXN0cz8gI2YK ICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAg ICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAnY2hkaXIKICAgICAgICAgICAobGFtYmRhIF8KICAg ICAgICAgICAgIChjaGRpciAidXRpbC93aW5uZXItbW9kZSIpKSkpKSkKICAgIChob21lLXBhZ2UK ICAgICAiaHR0cHM6Ly9naXRodWIuY29tL3N0dW1wd20vc3R1bXB3bS1jb250cmliL3RyZWUvbWFz dGVyL3V0aWwvd2lubmVyLW1vZGUiKQogICAgKHN5bm9wc2lzICJFbWFjcycgd2lubmVyLW1vZGUg Zm9yIFN0dW1wV00iKQogICAgKGRlc2NyaXB0aW9uICJUaGlzIG1vZHVsZSBwcm92aWRlcyBhIHdp bm5lci1tb2RlIGZvciBTdHVtcFdNIHNpbWlsYXIgdG8gdGhlCm9uZSBpbiBFbWFjcy4iKQogICAg KGxpY2Vuc2UgbGljZW5zZTpncGwzKykpKQoKKGRlZmluZS1wdWJsaWMgc2JjbC1zdHVtcHdtLXNj cmVlbnNob3QKICAocGFja2FnZQogICAgKGluaGVyaXQgc3R1bXB3bS1jb250cmliKQogICAgKG5h bWUgInNiY2wtc3R1bXB3bS1zY3JlZW5zaG90IikKICAgIChpbnB1dHMKICAgICBgKCgic3R1bXB3 bSIgLHN0dW1wd20gImxpYiIpCiAgICAgICAoInpwbmciICxzYmNsLXpwbmcpKSkKICAgIChhcmd1 bWVudHMKICAgICAnKCM6YXNkLXN5c3RlbXMgJygic2NyZWVuc2hvdCIpCiAgICAgICAjOnRlc3Rz PyAjZgogICAgICAgIzpwaGFzZXMKICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFz ZXMKICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdjaGRpcgogICAgICAgICAgIChsYW1iZGEg XwogICAgICAgICAgICAgKGNoZGlyICJ1dGlsL3NjcmVlbnNob3QiKSkpCiAgICAgICAgIChhZGQt YWZ0ZXIgJ2NoZGlyICdmaXgtYnVpbGQKICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAgICAg IChzdWJzdGl0dXRlKiAic2NyZWVuc2hvdC5hc2QiCiAgICAgICAgICAgICAgICgoIiM6enBuZyIp CiAgICAgICAgICAgICAgICAiIzpzdHVtcHdtICM6enBuZyIpKSkpKSkpCiAgICAoaG9tZS1wYWdl CiAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVtcHdtL3N0dW1wd20tY29udHJpYi90cmVlL21h c3Rlci91dGlsL3NjcmVlbnNob3QiKQogICAgKHN5bm9wc2lzICJTY3JlZW5zaG90cyBmb3IgU3R1 bXBXTSIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgU3R1bXBXTSBtb2R1bGUgY2FuIHRha2Ugc2Ny ZWVuc2hvdHMgYW5kIHN0b3JlIHRoZW0gYXMKUE5HIGZpbGVzLiIpCiAgICAobGljZW5zZSBsaWNl bnNlOmdwbDMrKSkpCgooZGVmaW5lLXB1YmxpYyBzYmNsLXN0dW1wd20taG9zdG5hbWUKICAocGFj a2FnZQogICAgKGluaGVyaXQgc3R1bXB3bS1jb250cmliKQogICAgKG5hbWUgInNiY2wtc3R1bXB3 bS1ob3N0bmFtZSIpCiAgICAoYXJndW1lbnRzCiAgICAgJygjOmFzZC1zeXN0ZW1zICcoImhvc3Ru YW1lIikKICAgICAgICM6dGVzdHM/ICNmCiAgICAgICAjOnBoYXNlcwogICAgICAgKG1vZGlmeS1w aGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NoZGly CiAgICAgICAgICAgKGxhbWJkYSBfCiAgICAgICAgICAgICAoY2hkaXIgIm1vZGVsaW5lL2hvc3Ru YW1lIikpKSkpKQogICAgKGhvbWUtcGFnZQogICAgICJodHRwczovL2dpdGh1Yi5jb20vc3R1bXB3 bS9zdHVtcHdtLWNvbnRyaWIvdHJlZS9tYXN0ZXIvbW9kZWxpbmUvaG9zdG5hbWUiKQogICAgKHN5 bm9wc2lzICJQdXQgaG9zdG5hbWUgaW4gdGhlIFN0dW1wV00gbW9kZWxpbmUiKQogICAgKGRlc2Ny aXB0aW9uICJUaGlzIFN0dW1wV00gbW9kdWxlIHB1dHMgdGhlIGhvc3RuYW1lIGluIHRoZSBTdHVt cFdNCm1vZGVsaW5lLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmdwbDMrKSkpCgooZGVmaW5lLXB1 YmxpYyBzYmNsLXN0dW1wd20tbm90aWZ5CiAgKHBhY2thZ2UKICAgIChpbmhlcml0IHN0dW1wd20t Y29udHJpYikKICAgIChuYW1lICJzYmNsLXN0dW1wd20tbm90aWZ5IikKICAgIChidWlsZC1zeXN0 ZW0gYXNkZi1idWlsZC1zeXN0ZW0vc2JjbCkKICAgIChpbnB1dHMKICAgICAobGlzdCBzYmNsLWJv cmRlYXV4LXRocmVhZHMKICAgICAgICAgICBzYmNsLWRidXMKICAgICAgICAgICBzYmNsLXhtbC1l bWl0dGVyCiAgICAgICAgICAgKGxpc3Qgc3R1bXB3bSAibGliIikpKQogICAgKGFyZ3VtZW50cwog ICAgICcoIzphc2Qtc3lzdGVtcyAnKCJub3RpZnkiKQogICAgICAgIzpwaGFzZXMKICAgICAgICht b2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNr ICdjaGRpcgogICAgICAgICAgIChsYW1iZGEgXyAoY2hkaXIgInV0aWwvbm90aWZ5IikpKSkpKQog ICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3N0dW1wd20vc3R1bXB3bS1jb250cmli IikKICAgIChzeW5vcHNpcyAiTm90aWZpY2F0aW9ucyBzZXJ2ZXIgZm9yIFN0dW1wV00iKQogICAg KGRlc2NyaXB0aW9uICJUaGlzIG1vZHVsZSBpbXBsZW1lbnRzIG9yZy5mcmVlZGVza3RvcC5Ob3Rp ZmljYXRpb25zCmludGVyZmFjZVtmbjpkYnVzLXNwZWNdLiAgSXQgc2hvd3Mgbm90aWZpY2F0aW9u cyB1c2luZyBzdHVtcHdtOm1lc3NhZ2UKYnkgZGVmYXVsdC4iKQogICAgKGxpY2Vuc2UgbGljZW5z ZTpncGwzKykpKQoKKGRlZmluZS1wdWJsaWMgc2JjbC1zdHVtcHdtLWJhdHRlcnktcG9ydGFibGUK ICAocGFja2FnZQogICAgKGluaGVyaXQgc3R1bXB3bS1jb250cmliKQogICAgKG5hbWUgInNiY2wt c3R1bXB3bS1iYXR0ZXJ5LXBvcnRhYmxlIikKICAgIChidWlsZC1zeXN0ZW0gYXNkZi1idWlsZC1z eXN0ZW0vc2JjbCkKICAgIChpbnB1dHMKICAgICAobGlzdCBzYmNsLWNsLXBwY3JlCiAgICAgICAg ICAgKGxpc3Qgc3R1bXB3bSAibGliIikpKQogICAgKGFyZ3VtZW50cwogICAgICcoIzphc2Qtc3lz dGVtcyAnKCJiYXR0ZXJ5LXBvcnRhYmxlIikKICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5 LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAnY2hk aXIKICAgICAgICAgICAobGFtYmRhIF8gKGNoZGlyICJtb2RlbGluZS9iYXR0ZXJ5LXBvcnRhYmxl IikpKSkpKQogICAgKHN5bm9wc2lzICJCYXR0ZXJ5IGxldmVsIGluZGljYXRvciBmb3IgU3R1bXBX TSIpCiAgICAoZGVzY3JpcHRpb24gIlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgYmF0dGVyeSBsZXZl bCBpbmRpY2F0b3IgZm9yIHRoZQptb2RlbGluZS4gIEl0IGNhbiBiZSBkaXNwbGF5ZWQgaW4gdGhl IG1vZGVsaW5lIHdpdGggJUIuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6ZXhwYXQgbGlj ZW5zZTpncGwzKykpKSkKCihkZWZpbmUtcHVibGljIGxlbW9uYmFyCiAgKHBhY2thZ2UKICAgIChu YW1lICJsZW1vbmJhciIpCiAgICAodmVyc2lvbiAiMS40IikKICAgIChzb3VyY2UgKG9yaWdpbgog ICAgICAgICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgICAgICAgICh1cmkgKGdpdC1y ZWZlcmVuY2UKICAgICAgICAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vTGVt b25Cb3kvYmFyIikKICAgICAgICAgICAgICAgICAgICAoY29tbWl0IChzdHJpbmctYXBwZW5kICJ2 IiB2ZXJzaW9uKSkpKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFt ZSB2ZXJzaW9uKSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIK ICAgICAgICAgICAgICAgICIwc20xbHh4ZjB5Mm44N252YzhtejZpNm16YjMyZjRxYWI4MHBwYjI4 aWJyd2ZpcjZqc2xuIikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAg IChhcmd1bWVudHMKICAgICAobGlzdAogICAgICAjOnRlc3RzPyAjZiAgICAgICAgICAgICAgICAg ICAgICAgO25vIHRlc3Qgc3VpdGUKICAgICAgIzptYWtlLWZsYWdzCiAgICAgICN+KGxpc3QgIyQo c3RyaW5nLWFwcGVuZCAiQ0M9IiAoY2MtZm9yLXRhcmdldCkpCiAgICAgICAgICAgICAgKHN0cmlu Zy1hcHBlbmQgIlBSRUZJWD0iICMkb3V0cHV0KSkKICAgICAgIzpwaGFzZXMKICAgICAgI34obW9k aWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAoZGVsZXRlICdjb25maWd1cmUp KSkpCiAgICAoaW5wdXRzCiAgICAgKGxpc3QgbGlieGNiKSkKICAgIChuYXRpdmUtaW5wdXRzCiAg ICAgKGxpc3QgcGVybCkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vTGVtb25C b3kvYmFyIikKICAgIChzeW5vcHNpcyAiRmVhdGhlcndlaWdodCBzdGF0dXMgYmFyIikKICAgIChk ZXNjcmlwdGlvbgogICAgICJAY29kZXtsZW1vbmJhcn0gKGZvcm1lcmx5IGtub3duIGFzIEBjb2Rl e2Jhcn0pIGlzIGEgbGlnaHR3ZWlnaHQKYmFyIGVudGlyZWx5IGJhc2VkIG9uIFhDQi4gIFByb3Zp ZGVzIGZ1bGwgVVRGLTggc3VwcG9ydCwgYmFzaWMKZm9ybWF0dGluZywgUmFuZFIgYW5kIFhpbmVy YW1hIHN1cHBvcnQgYW5kIEVXTUggY29tcGxpYW5jZSB3aXRob3V0Cndhc3RpbmcgeW91ciBwcmVj aW91cyBtZW1vcnkuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6eDExKSkpCgooZGVmaW5lLXB1Ymxp YyBsZW1vbmJhci14ZnQKICA7OyBVcHN0cmVhbSB2Mi4wIHRhZyBpcyBzZXZlcmFsIHllYXJzIGJl aGluZCBIRUFECiAgKGxldCAoKGNvbW1pdCAiNDgxZTEyMzYzZTJhMGZlMGRkZDIxNzZhOGUwMDMz OTJiZTkwZWQwMiIpKQogICAgKHBhY2thZ2UKICAgICAgKGluaGVyaXQgbGVtb25iYXIpCiAgICAg IChuYW1lICJsZW1vbmJhci14ZnQiKQogICAgICAodmVyc2lvbiAoc3RyaW5nLWFwcGVuZCAiMi4w LiIgKHN0cmluZy10YWtlIGNvbW1pdCA3KSkpCiAgICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAg ICAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgICAgICAgICAodXJpIChnaXQtcmVm ZXJlbmNlCiAgICAgICAgICAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vZHJz Y3JlYW0vbGVtb25iYXIteGZ0IikKICAgICAgICAgICAgICAgICAgICAgIChjb21taXQgY29tbWl0 KSkpCiAgICAgICAgICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lv bikpCiAgICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgICAgKGJhc2UzMgogICAg ICAgICAgICAgICAgICAiMDU4OGczN2gxOGx2NTBoN3c4dmZid2h2YzNpYWpoN3NkcjUzODQ4c3Bh aWY5OW5oM21oNCIpKSkpCiAgICAgIChpbnB1dHMKICAgICAgIChtb2RpZnktaW5wdXRzIChwYWNr YWdlLWlucHV0cyBsZW1vbmJhcikKICAgICAgICAgKHByZXBlbmQgZnJlZXR5cGUgbGlieGZ0IGxp YngxMSkpKQogICAgICAoYXJndW1lbnRzCiAgICAgICAoc3Vic3RpdHV0ZS1rZXl3b3JkLWFyZ3Vt ZW50cyAocGFja2FnZS1hcmd1bWVudHMgbGVtb25iYXIpCiAgICAgICAgICgoIzptYWtlLWZsYWdz IG1ha2UtZmxhZ3MpCiAgICAgICAgICAjfigjJEBtYWtlLWZsYWdzCiAgICAgICAgICAgICAoZm9y bWF0ICNmICJDRkxBR1M9fmEgLURWRVJTSU9OPSd+cyciCiAgICAgICAgICAgICAgICAgICAgIChz dHJpbmctYXBwZW5kCiAgICAgICAgICAgICAgICAgICAgICAiLUkiICMkKHRoaXMtcGFja2FnZS1p bnB1dCAiZnJlZXR5cGUiKQogICAgICAgICAgICAgICAgICAgICAgIi9pbmNsdWRlL2ZyZWV0eXBl MiIpCiAgICAgICAgICAgICAgICAgICAgICMkdmVyc2lvbikpKSkpCiAgICAgIChob21lLXBhZ2Ug Imh0dHBzOi8vZ2l0aHViLmNvbS9kcnNjcmVhbS9sZW1vbmJhci14ZnQiKQogICAgICAoc3lub3Bz aXMKICAgICAgIChzdHJpbmctYXBwZW5kCiAgICAgICAgKHBhY2thZ2Utc3lub3BzaXMgbGVtb25i YXIpCiAgICAgICAgIiB3aXRoIGZvbnRjb25maWcgc3VwcG9ydCIpKQogICAgICAoZGVzY3JpcHRp b24KICAgICAgIChzdHJpbmctYXBwZW5kCiAgICAgICAgKHBhY2thZ2UtZGVzY3JpcHRpb24gbGVt b25iYXIpCiAgICAgICAgIlRoaXMgaXMgYSBmb3JrIG9mIHRoZSBAY29kZXtsZW1vbmJhcn0gcGFj a2FnZSB0aGF0IGFkZHMgZm9udGNvbmZpZwpzdXBwb3J0LCBmb3IgZWFzaWVyIHVuaWNvZGUgdXNh Z2UuIikpKSkpCgooZGVmaW5lLXB1YmxpYyB4Y2xpY2tyb290CiAgKHBhY2thZ2UKICAgIChuYW1l ICJ4Y2xpY2tyb290IikKICAgICh2ZXJzaW9uICIxLjMiKQogICAgKHNvdXJjZSAob3JpZ2luCiAg ICAgICAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAoZ2l0LXJl ZmVyZW5jZQogICAgICAgICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9waGls bGJ1c2gveGNsaWNrcm9vdCIpCiAgICAgICAgICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5nLWFw cGVuZCAidiIgdmVyc2lvbikpKSkKICAgICAgICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1u YW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAo YmFzZTMyCiAgICAgICAgICAgICAgICAiMHduc2Z4dmg0djAycjJqanloMm42amZrYmoyZG5hMmhs bTZhbmw0YjM2bHdqaTc0OWsyayIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0 ZW0pCiAgICAoaW5wdXRzCiAgICAgKGxpc3QgbGlieDExKSkKICAgIChhcmd1bWVudHMKICAgICBg KCM6dGVzdHM/ICNmIDtubyB0ZXN0IHN1aXRlCiAgICAgICAjOm1ha2UtZmxhZ3MKICAgICAgIChs aXN0ICwoc3RyaW5nLWFwcGVuZCAiQ0M9IiAoY2MtZm9yLXRhcmdldCkpCiAgICAgICAgICAgICAo c3RyaW5nLWFwcGVuZCAiUFJFRklYPSIgJW91dHB1dCkpCiAgICAgICAjOnBoYXNlcwogICAgICAg KG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAoZGVsZXRlICdjb25maWd1 cmUpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vcGhpbGxidXNoL3hjbGlj a3Jvb3QiKQogICAgKHN5bm9wc2lzICJSdW4gYSBjb21tYW5kIHdoZW4gYSBtb3VzZSBidXR0b24g aXMgcHJlc3NlZCBvbiB0aGUgcm9vdCB3aW5kb3ciKQogICAgKGRlc2NyaXB0aW9uICJAY29kZXt4 Y2xpY2tyb290fSBydW5zIGEgY29tbWFuZCBldmVyeSB0aW1lIGEgZ2l2ZW4gbW91c2UKYnV0dG9u IGlzIHByZXNzZWQgb24gdGhlIHJvb3Qgd2luZG93LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOnB1 YmxpYy1kb21haW4pKSkKCihkZWZpbmUtcHVibGljIHhpbml0cmMteHNlc3Npb24KICAobGV0ICgo Y29tbWl0ICJjYmZjNzdhMWNjYWYwN2I3ZDhhMzVmNGQ4MDA3YzcxMDJmMzY1Mzc0IikKICAgICAg ICAocmV2aXNpb24gIjAiKSkKICAgIChwYWNrYWdlCiAgICAgIChuYW1lICJ4aW5pdHJjLXhzZXNz aW9uIikKICAgICAgKHZlcnNpb24gKGdpdC12ZXJzaW9uICIxIiByZXZpc2lvbiBjb21taXQpKQog ICAgICAoc291cmNlCiAgICAgICAob3JpZ2luCiAgICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQog ICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAgICh1cmwgImh0dHBzOi8v YXVyLmFyY2hsaW51eC5vcmcveGluaXQteHNlc3Npb24uZ2l0IikKICAgICAgICAgICAgICAgKGNv bW1pdCBjb21taXQpKSkKICAgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZl cnNpb24pKQogICAgICAgICAoc2hhMjU2CiAgICAgICAgICAoYmFzZTMyICIxMm52M3F5amh5Mmw5 bWNiNTQ3ZjQxNGQ4Ymo3OW1oZGhzcmEwZzh4N3g3MWIxeHhsMTViIikpKSkKICAgICAgKGJ1aWxk LXN5c3RlbSBjb3B5LWJ1aWxkLXN5c3RlbSkKICAgICAgKGFyZ3VtZW50cwogICAgICAgKGxpc3QK ICAgICAgICAjOnBoYXNlcwogICAgICAgICN+KG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNl cwogICAgICAgICAgICAoYWRkLWFmdGVyICdpbnN0YWxsICdwYXRjaC14c2Vzc2lvbi1maWxlCiAg ICAgICAgICAgICAgKGxhbWJkYSBfCiAgICAgICAgICAgICAgICAobGV0KiAoKHhpbml0cmMtZGVz a3RvcAogICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAjJG91dHB1dCAiL3No YXJlL3hzZXNzaW9ucy94aW5pdHJjLmRlc2t0b3AiKSkKICAgICAgICAgICAgICAgICAgICAgICAo eGluaXRyYy1oZWxwZXIKICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIyRv dXRwdXQgIi9iaW4veGluaXRyY3Nlc3Npb24taGVscGVyIikpKQogICAgICAgICAgICAgICAgICAo c3Vic3RpdHV0ZSogeGluaXRyYy1kZXNrdG9wCiAgICAgICAgICAgICAgICAgICAgKCgiRXhlYz14 aW5pdHJjc2Vzc2lvbi1oZWxwZXIiKQogICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVu ZCAiRXhlYz0iIHhpbml0cmMtaGVscGVyKSkpKSkpKQogICAgICAgICM6aW5zdGFsbC1wbGFuCiAg ICAgICAgI34obGlzdCAnKCJ4aW5pdHJjc2Vzc2lvbi1oZWxwZXIiICJiaW4vIikKICAgICAgICAg ICAgICAgICcoInhpbml0cmMuZGVza3RvcCIgInNoYXJlL3hzZXNzaW9ucy8iKSkpKQogICAgICAo aG9tZS1wYWdlICJodHRwczovL2F1ci5hcmNobGludXgub3JnL3BhY2thZ2VzL3hpbml0LXhzZXNz aW9uLyIpCiAgICAgIChzeW5vcHNpcyAiVXNlIH4vLnhpbml0cmMgYXMgYW4geHNlc3Npb24gZnJv bSB5b3VyIGRpc3BsYXkgbWFuYWdlciIpCiAgICAgIChkZXNjcmlwdGlvbgogICAgICAgIlhpbml0 cmMteHNlc3Npb24gYWxsb3dzIEBjb2Rle34vLnhpbml0cmN9IHRvIGJlIHJ1biBhcyBhIHNlc3Np b24gZnJvbQp5b3VyIGRpc3BsYXkgbWFuYWdlci4gIE1ha2UgQGNvZGV7fi8ueGluaXRyY30gZXhl Y3V0YWJsZSBhbmQgdXNlIHRoaXMgcGFja2FnZQppbiB5b3VyIHN5c3RlbSBjb25maWd1cmF0aW9u IGhhdmUgdGhpcyB4c2Vzc2lvbiBhdmFpbGFibGUgdG8geW91ciBkaXNwbGF5Cm1hbmFnZXIuIikK ICAgICAgKGxpY2Vuc2UgbGljZW5zZTpncGwzKSkpKQoKKGRlZmluZS1wdWJsaWMgeG1lbnUKICAo cGFja2FnZQogICAgKG5hbWUgInhtZW51IikKICAgICh2ZXJzaW9uICI0LjUuNSIpCiAgICAoc291 cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICAgICAg ICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9n aXRodWIuY29tL3BoaWxsYnVzaC94bWVudSIpCiAgICAgICAgICAgICAgICAgICAgKGNvbW1pdCAo c3RyaW5nLWFwcGVuZCAidiIgdmVyc2lvbikpKSkKICAgICAgICAgICAgICAoZmlsZS1uYW1lIChn aXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAg ICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMHFneGtydjlqbm5uZjNweDd6aDBwYWY4 eHNyNGJjcGYwZjJucTl6eTAxMm0yMTQyMjNocyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1i dWlsZC1zeXN0ZW0pCiAgICAoaW5wdXRzCiAgICAgKGxpc3QgbGlieDExIGxpYnhpbmVyYW1hIGxp YnhmdCBmcmVldHlwZSBpbWxpYjIpKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2Yg O25vIHRlc3Qgc3VpdGUKICAgICAgICM6bWFrZS1mbGFncwogICAgICAgKGxpc3QgKHN0cmluZy1h cHBlbmQgIkNDPSIgLChjYy1mb3ItdGFyZ2V0KSkKICAgICAgICAgICAgIChzdHJpbmctYXBwZW5k ICJQUkVGSVg9IiAlb3V0cHV0KQogICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIkNGTEFHUz0i CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0 cyAiZnJlZXR5cGUiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9pbmNsdWRlL2ZyZWV0 eXBlMiIpKQogICAgICAgIzpwaGFzZXMKICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1w aGFzZXMKICAgICAgICAgKGRlbGV0ZSAnY29uZmlndXJlKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0 cHM6Ly9naXRodWIuY29tL3BoaWxsYnVzaC94bWVudSIpCiAgICAoc3lub3BzaXMgIk1lbnUgdXRp bGl0eSBmb3IgWCIpCiAgICAoZGVzY3JpcHRpb24gIkBjb2Rle3htZW51fSByZWNlaXZlcyBhIG1l bnUgc3BlY2lmaWNhdGlvbiBpbiBzdGRpbiwgc2hvd3MKYSBtZW51IGZvciB0aGUgdXNlciB0byBz ZWxlY3Qgb25lIG9mIHRoZSBvcHRpb25zLCBhbmQgb3V0cHV0cyB0aGUgb3B0aW9uCnNlbGVjdGVk IHRvIHN0ZG91dC4gIEl0IGNhbiBiZSBjb250cm9sbGVkIGJvdGggdmlhIG1vdXNlIGFuZCB2aWEg a2V5Ym9hcmQuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6cHVibGljLWRvbWFpbikpKQoKKGRlZmlu ZS1wdWJsaWMgaWRlc2sKICAocGFja2FnZQogICAgKG5hbWUgImlkZXNrIikKICAgICh2ZXJzaW9u ICIwLjcuNSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0 Y2gpCiAgICAgICAodXJpIChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAibWlycm9yOi8vc291 cmNlZm9yZ2UvaWRlc2svaWRlc2svaWRlc2stIiB2ZXJzaW9uCiAgICAgICAgICAgICAiL2lkZXNr LSIgdmVyc2lvbiAiLnRhci5iejIiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyCiAg ICAgICAgICIxbHhrMnl2Z3lzeHdsNTE0emM4Mmx3cjFkd2M4Y2Q2MnNsZ3I1bHpkaGpiZHJ4Znlt ZHlsIikpCiAgICAgICAobW9kdWxlcyAnKChndWl4IGJ1aWxkIHV0aWxzKQogICAgICAgICAgICAg ICAgICAoaWNlLTkgZm9ybWF0KSkpCiAgICAgICAoc25pcHBldAogICAgICAgICcobGV0KiAoKGZp bGUgICAgICJzcmMvRGVza3RvcENvbmZpZy5jcHAiKQogICAgICAgICAgICAgICAgKHRlbXBsYXRl IChzdHJpbmctYXBwZW5kIGZpbGUgIi5YWFhYWFgiKSkKICAgICAgICAgICAgICAgIChvdXQgICAg ICAobWtzdGVtcCEgdGVtcGxhdGUpKQogICAgICAgICAgICAgICAgKHN0ICAgICAgIChzdGF0IGZp bGUpKQogICAgICAgICAgICAgICAgKG1vZGUgICAgIChzdGF0Om1vZGUgc3QpKSkKICAgICAgICAg ICAoY2FsbC13aXRoLWFzY2lpLWlucHV0LWZpbGUgZmlsZQogICAgICAgICAgICAgKGxhbWJkYSAo cCkKICAgICAgICAgICAgICAgKGZvcm1hdCBvdXQgIn57fmF+JX59IiAnKCIjaW5jbHVkZSA8dW5p c3RkLmg+IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiNpbmNsdWRl IDxzeXMvc3RhdC5oPiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIj aW5jbHVkZSA8c3lzL3R5cGVzLmg+IikpCiAgICAgICAgICAgICAgIChkdW1wLXBvcnQgcCBvdXQp CiAgICAgICAgICAgICAgIChjbG9zZSBvdXQpCiAgICAgICAgICAgICAgIChjaG1vZCB0ZW1wbGF0 ZSBtb2RlKQogICAgICAgICAgICAgICAocmVuYW1lLWZpbGUgdGVtcGxhdGUgZmlsZSkKICAgICAg ICAgICAgICAgI3QpKSkpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAg IChpbnB1dHMKICAgICAobGlzdCBsaWJ4MTEKICAgICAgICAgICBsaWJ4ZnQKICAgICAgICAgICBs aWJ4cG0KICAgICAgICAgICBsaWJwbmcKICAgICAgICAgICBmcmVldHlwZQogICAgICAgICAgIGlt bGliMi0xLjcKICAgICAgICAgICBzZWQpKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCBw a2ctY29uZmlnKSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmKSkgO25vIHRlc3Qg c3VpdGUKICAgIChob21lLXBhZ2UgImh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2lk ZXNrLyIpCiAgICAoc3lub3BzaXMgIkFkZCBpY29ucyBvbiBYIGRlc2t0b3AgYW5kIHNldCBiYWNr Z3JvdW5kIGltYWdlIGZvciB3YWxscGFwZXIiKQogICAgKGRlc2NyaXB0aW9uICJJZGVzayBpcyBw cm9ncmFtIHRoYXQgZHJhd3MgZGVza3RvcCBpY29ucy4gIEVhY2ggaWNvbiB3aWxsCmV4ZWN1dGUg YSBzaGVsbCBjb21tYW5kIG9uIGEgY29uZmlndXJhYmxlIGFjdGlvbi4gIFRoZSBpY29ucyBjYW4g YmUgbW92ZWQgb24KdGhlIGRlc2t0b3AgYnkgZHJhZ2dpbmcgdGhlbSwgYW5kIHRoZSBpY29ucyB3 aWxsIHJlbWVtYmVyIHRoZWlyIHBvc2l0aW9ucyBvbgpzdGFydC11cC4iKQogICAgKGxpY2Vuc2Ug bGljZW5zZTpic2QtMykpKQoKKGRlZmluZS1wdWJsaWMgeG5vdGlmeQogIChwYWNrYWdlCiAgICAo bmFtZSAieG5vdGlmeSIpCiAgICAodmVyc2lvbiAiMC44LjEiKQogICAgKHNvdXJjZSAob3JpZ2lu CiAgICAgICAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAoZ2l0 LXJlZmVyZW5jZQogICAgICAgICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9w aGlsbGJ1c2gveG5vdGlmeSIpCiAgICAgICAgICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5nLWFw cGVuZCAidiIgdmVyc2lvbikpKSkKICAgICAgICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1u YW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAo YmFzZTMyCiAgICAgICAgICAgICAgICAiMWp4bXM0bWQybXdmamdtMnBnZzN2YWtwcDMzODAwamJu OWhubDBqNGp5ZmM5ZjFja2JzdiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0 ZW0pCiAgICAoaW5wdXRzCiAgICAgKGxpc3QgbGlieDExIGxpYnhmdCBsaWJ4aW5lcmFtYSBpbWxp YjIpKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzptYWtlLWZsYWdzCiAgICAgICAobGlzdCAoc3Ry aW5nLWFwcGVuZCAiQ0M9IiAsKGNjLWZvci10YXJnZXQpKQogICAgICAgICAgICAgKHN0cmluZy1h cHBlbmQgIlBSRUZJWD0iICVvdXRwdXQpCiAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiQ0ZM QUdTPSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgKGFzc29jLXJlZiAlYnVpbGQt aW5wdXRzICJmcmVldHlwZSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2luY2x1ZGUv ZnJlZXR5cGUyIikpCiAgICAgICAjOnRlc3RzPyAjZiA7bm8gdGVzdCBzdWl0ZQogICAgICAgIzpw aGFzZXMKICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgKGRl bGV0ZSAnY29uZmlndXJlKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3Bo aWxsYnVzaC94bm90aWZ5IikKICAgIChzeW5vcHNpcyAiRGlzcGxheXMgYSBub3RpZmljYXRpb24g b24gdGhlIHNjcmVlbiIpCiAgICAoZGVzY3JpcHRpb24gIlhOb3RpZnkgcmVjZWl2ZXMgYSBub3Rp ZmljYXRpb24gc3BlY2lmaWNhdGlvbiBpbiBzdGRpbiBhbmQKc2hvd3MgYSBub3RpZmljYXRpb24g Zm9yIHRoZSB1c2VyIG9uIHRoZSBzY3JlZW4uIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQp KSkKCihkZWZpbmUtcHVibGljIGNhZ2VicmVhawogIChwYWNrYWdlCiAgICAobmFtZSAiY2FnZWJy ZWFrIikKICAgICh2ZXJzaW9uICIyLjMuMSIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAg ICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNl CiAgICAgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL3Byb2plY3QtcmVw by9jYWdlYnJlYWsiKQogICAgICAgICAgICAgICAgICAgIChjb21taXQgdmVyc2lvbikpKQogICAg ICAgICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAg ICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgICAgICIw ZmlyanBwN3F3NGtiMmgxemg1cHY1azB4ZjBqdng2eDByMHM3ajZ5N2RobGg1ajBzMDBxIikpKSkK ICAgIChidWlsZC1zeXN0ZW0gbWVzb24tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAg IChsaXN0CiAgICAgICM6Y29uZmlndXJlLWZsYWdzICN+KGxpc3QgIi1EeHdheWxhbmQ9dHJ1ZSIg Ii1EbWFuLXBhZ2VzPXRydWUiKQogICAgICA7OyBYWFg6IFJ1bm5pbmcgY2FnZWJyZWFrIHRlc3Rz IG5lZWQgbW9yZSB0b29scywgc3VjaCBhczogY2xhbmctZm9ybWF0LAogICAgICA7OyBzaGVsbGNo ZWNrLCBnaXQsIGdudXBnIC4uLgogICAgICAjOnRlc3RzPyAjZgogICAgICAjOnBoYXNlcwogICAg ICAjfihtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgIChhZGQtYWZ0ZXIg J3VucGFjayAnZml4LWRhdGEtZGlyCiAgICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAg IChzdWJzdGl0dXRlKiAnKCJjYWdlYnJlYWsuYyIgIm1lc29uLmJ1aWxkIikKICAgICAgICAgICAg ICAgICgoIi9ldGMvIikgKHN0cmluZy1hcHBlbmQgIyRvdXRwdXQgIi9ldGMvIikpCiAgICAgICAg ICAgICAgICAoKCIvdXNyL3NoYXJlLyIpIChzdHJpbmctYXBwZW5kICMkb3V0cHV0ICIvdXNyL3No YXJlLyIpKSkpKSkpKQogICAgKG5hdGl2ZS1pbnB1dHMgKGxpc3QgcGtnLWNvbmZpZyBzY2RvYykp CiAgICAoaW5wdXRzIChsaXN0IGxpYmV2ZGV2IHBhbmdvIHdscm9vdHMpKQogICAgKGhvbWUtcGFn ZSAiaHR0cHM6Ly9naXRodWIuY29tL3Byb2plY3QtcmVwby9jYWdlYnJlYWsiKQogICAgKHN5bm9w c2lzICJUaWxpbmcgd2F5bGFuZCBjb21wb3NpdG9yIGluc3BpcmVkIGJ5IHJhdHBvaXNvbiIpCiAg ICAoZGVzY3JpcHRpb24KICAgICAiQGNvbW1hbmR7Y2FnZWJyZWFrfSBpcyBhIHNsaW0sIGtleWJv YXJkLWNvbnRyb2xsZWQsIHRpbGluZyBjb21wb3NpdG9yCmZvciB3YXlsYW5kIGNvbmNlcHR1YWxs eSBiYXNlZCBvbiB0aGUgWDExIHdpbmRvdyBtYW5hZ2VyCkBjb21tYW5ke3JhdHBvaXNvbn0uIikK ICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIGxpYmRpc3BsYXkt aW5mbwogIChsZXQgKChjb21taXQgImViZWUzNTkzNWRhZDAxNDc4YWUxYWU1ZWFkMjk4YzRjZDgw MThhYzIiKQogICAgICAgIChyZXZpc2lvbiAiMCIpKQogICAgKHBhY2thZ2UKICAgICAgKG5hbWUg ImxpYmRpc3BsYXktaW5mbyIpCiAgICAgICh2ZXJzaW9uIChnaXQtdmVyc2lvbiAiMC4yLjAtZGV2 IiByZXZpc2lvbiBjb21taXQpKQogICAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGxhYi5mcmVl ZGVza3RvcC5vcmcvZW1lcnNpb24vbGliZGlzcGxheS1pbmZvIikKICAgICAgKHNvdXJjZQogICAg ICAgKG9yaWdpbgogICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICAgKHVyaSAoZ2l0 LXJlZmVyZW5jZSAodXJsIGhvbWUtcGFnZSkgKGNvbW1pdCBjb21taXQpKSkKICAgICAgICAgKGZp bGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgICAoc2hhMjU2CiAg ICAgICAgICAoYmFzZTMyICIxbHk4YWNkanhuOGw1NXkwd2MwN243cGI2cnpoOWRwcjF2YnNha2Rp YjJ6cmwwaTV5aDNhIikpKSkKICAgICAgKGJ1aWxkLXN5c3RlbSBtZXNvbi1idWlsZC1zeXN0ZW0p CiAgICAgIChhcmd1bWVudHMKICAgICAgIChsaXN0CiAgICAgICAgIzpwaGFzZXMgI34obW9kaWZ5 LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAgICAgICAgICAgIChhZGQtYmVmb3Jl ICdjb25maWd1cmUgJ2ZpeC1tZXNvbi1maWxlCiAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJk YSogKCM6a2V5IG5hdGl2ZS1pbnB1dHMgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAg ICAgICAgICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAibWVzb24uYnVpbGQiCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICgoIi91c3Ivc2hhcmUvaHdkYXRhL3BucC5pZHMiKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiAob3IgbmF0aXZlLWlu cHV0cyBpbnB1dHMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJod2RhdGEiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi9zaGFyZS9od2RhdGEvcG5wLmlkcyIpKSkpKSkpKQogICAgICAobmF0aXZlLWlucHV0 cyAobGlzdCBgKCxod2RhdGEgInBucCIpIHB5dGhvbikpCiAgICAgIChzeW5vcHNpcyAiRURJRCBh bmQgRGlzcGxheUlEIGxpYnJhcnkiKQogICAgICAoZGVzY3JpcHRpb24KICAgICAgICJUaGlzIHBh Y2thZ2UgcHJvdmlkZXMgYSBsaWJyYXJ5IHRvIHJlYWQgQGFjcm9ueW17RURJRCwgRXh0ZW5kZWQK RGlzcGxheSBJZGVudGlmaWNhdGlvbiBEYXRhfSBhbmQgRGlzcGxheUlEIG1ldGFkYXRhIGZyb20g ZGlzcGxheSBkZXZpY2VzLiAgSXQKaGFzIHRoZSBmb2xsb3dpbmcgZ29hbHM6CgpAZW51bWVyYXRl CkBpdGVtClByb3ZpZGUgYSBzZXQgb2YgaGlnaC1sZXZlbCwgZWFzeS10by11c2UsIG9waW5pb25h dGVkIGZ1bmN0aW9ucwphcyB3ZWxsIGFzIGxvdy1sZXZlbCBmdW5jdGlvbnMgdG8gYWNjZXNzIGRl dGFpbGVkIGluZm9ybWF0aW9uLgpAaXRlbQpTaW1wbGljaXR5IGFuZCBjb3JyZWN0bmVzcyBvdmVy IHBlcmZvcm1hbmNlIGFuZCByZXNvdXJjZSB1c2FnZS4KQGl0ZW0KV2VsbC10ZXN0ZWQgYW5kIGZ1 enplZC4KQGVuZCBlbnVtZXJhdGUiKQogICAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpKQoK KGRlZmluZS1wdWJsaWMgbGlidWNsCiAgKHBhY2thZ2UKICAgIChuYW1lICJsaWJ1Y2wiKQogICAg KHZlcnNpb24gIjAuOC4yIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9k IGdpdC1mZXRjaCkKICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICh1cmwg Imh0dHBzOi8vZ2l0aHViLmNvbS92c3Rha2hvdi9saWJ1Y2wvIikKICAgICAgICAgICAgIChjb21t aXQgdmVyc2lvbikpKQogICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNp b24pKQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFqOG5weW1qaGNuemJ3aHgxd2dn cjg4MTQ4Y2dhOTIxNDM4ZmxmMXNuN213MWI5ZHI1NWYiKSkpKQogICAgKG5hdGl2ZS1pbnB1dHMK ICAgICAobGlzdCBhdXRvY29uZiBhdXRvbWFrZSBwa2ctY29uZmlnIGxpYnRvb2wpKQogICAgKGJ1 aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0 cz8gI2YpKSA7OyBubyB0ZXN0cwogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3Zz dGFraG92L2xpYnVjbCIpCiAgICAoc3lub3BzaXMgIlVuaXZlcnNhbCBjb25maWd1cmF0aW9uIGxh bmd1YWdlIChVQ0wpIHBhcnNlciIpCiAgICAgKGRlc2NyaXB0aW9uICJsaWJ1Y2wgaW1wbGVtZW50 cyBhIGNvbmZpZ3VyYXRpb24gbGFuZ3VhZ2UgdGhhdCBpcyBlYXN5IHRvCnJlYWQgYW5kIHdyaXRl LCBhbmQgY29tcGF0aWJsZSB3aXRoIEpTT04uIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6YnNkLTIp KSkKCihkZWZpbmUtcHVibGljIGxhYndjCiAgKHBhY2thZ2UKICAgIChuYW1lICJsYWJ3YyIpCiAg ICAodmVyc2lvbiAiMC43LjEiKQogICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgKG1l dGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAg ICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9sYWJ3Yy9sYWJ3YyIpCiAgICAg ICAgICAgICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCiAgICAgICAgICAgICAgKGZpbGUtbmFt ZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgICAgICAgIChzaGEyNTYKICAg ICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjA5ajZwNHAyYzAwcnBjcjY1cjZp Z2owbGxmYWJsZzVqMmQxeXM4N2t5aDg1OGRoYWpwemEiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBt ZXNvbi1idWlsZC1zeXN0ZW0pCiAgICAobmF0aXZlLWlucHV0cwogICAgIChsaXN0IHBrZy1jb25m aWcgZ2V0dGV4dC1taW5pbWFsIHNjZG9jKSkKICAgIChpbnB1dHMKICAgICAobGlzdCBjYWlybwog ICAgICAgICAgIGdsaWIKICAgICAgICAgICBsaWJyc3ZnCiAgICAgICAgICAgbGlieGNiCiAgICAg ICAgICAgbGlieG1sMgogICAgICAgICAgIHBhbmdvCiAgICAgICAgICAgd2xyb290cykpCiAgICAo aG9tZS1wYWdlICJodHRwczovL2xhYndjLmdpdGh1Yi5pbyIpCiAgICAoc3lub3BzaXMgIldpbmRv dy1zdGFja2luZyBjb21wb3NpdG9yIGZvciBXYXlsYW5kIikKICAgIChkZXNjcmlwdGlvbgogICAg ICJMYWJ3YyBpcyBsaWdodHdlaWdodCBhbmQgaW5kZXBlbmRlbnQgd2l0aCBhIGZvY3VzIG9uIHNp bXBseSBzdGFja2luZwp3aW5kb3dzIHdlbGwgYW5kIHJlbmRlcmluZyBzb21lIHdpbmRvdyBkZWNv cmF0aW9ucywgaXQgaXMgaW5zcGlyZWQgYnkgT3BlbmJveC4KSXQgdGFrZXMgYSBuby1ibGluZy9m cmlsbHMgYXBwcm9hY2ggYW5kIHNheXMgbm8gdG8gZmVhdHVyZXMgc3VjaCBhcyBpY29ucwooZXhj ZXB0IHdpbmRvdyBidXR0b25zKSwgYW5pbWF0aW9ucywgZGVjb3JhdGl2ZSBncmFkaWVudHMgYW5k IGFueSBvdGhlcgpvcHRpb25zIG5vdCByZXF1aXJlZCB0byByZWFzb25hYmx5IHJlbmRlciBjb21t b24gdGhlbWVzLiAgSXQgcmVsaWVzIG9uIGNsaWVudHMKZm9yIHBhbmVscywgc2NyZWVuc2hvdHMs IHdhbGxwYXBlcnMgYW5kIHNvIG9uIHRvIGNyZWF0ZSBhIGZ1bGwgZGVza3RvcAplbnZpcm9ubWVu dC4KCkxhYndjIHRyaWVzIHRvIHN0YXkgaW4ga2VlcGluZyB3aXRoIHdscm9vdHMgYW5kIHN3YXkg aW4gdGVybXMgb2YgZ2VuZXJhbAphcHByb2FjaCBhbmQgY29kaW5nIHN0eWxlLgoKTGFid2MgaGFz IG5vIHJlbGlhbmNlIG9uIGFueSBwYXJ0aWN1bGFyIERlc2t0b3AgRW52aXJvbm1lbnQsIERlc2t0 b3AgU2hlbGwgb3IKc2Vzc2lvbi4gIE5vciBkb2VzIGl0IGRlcGVuZCBvbiBhbnkgVUkgdG9vbGtp dHMgc3VjaCBhcyBRdCBvciBHVEsuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMikpKQoKKGRl ZmluZS1wdWJsaWMgaGlrYXJpCiAgKHBhY2thZ2UKICAgIChuYW1lICJoaWthcmkiKQogICAgKHZl cnNpb24gIjIuMy4zIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVy bC1mZXRjaCkKICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8vaGlrYXJpLmFjbWVs YWJzLnNwYWNlL3JlbGVhc2VzLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpa2FyaS0i IHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxcWpk OWRocG12NzVpZGY2amp6d2ZmOHdnbGlhZDRkMGFmOHBpaDk1MjZwMTR2cm55d3MwIikpKSkKICAg IChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChuYXRpdmUtaW5wdXRzCiAgICAg KGxpc3QgYm1ha2UgcGtnLWNvbmZpZyB3YXlsYW5kLXByb3RvY29scykpCiAgICAoaW5wdXRzCiAg ICAgKGxpc3QgY2Fpcm8KICAgICAgICAgICBsaWJpbnB1dC1taW5pbWFsCiAgICAgICAgICAgbGli dWNsCiAgICAgICAgICAgbGlieGtiY29tbW9uCiAgICAgICAgICAgbGludXgtcGFtCiAgICAgICAg ICAgcGFuZ28KICAgICAgICAgICB3YXlsYW5kCiAgICAgICAgICAgd2xyb290cy0wLjE1KSkKICAg IChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmICAgICAgICAgICAgICAgICAgICAgIDsgbm8g dGVzdHMKICAgICAgICM6bWFrZS1mbGFncwogICAgICAgKGxpc3QKICAgICAgICAoc3RyaW5nLWFw cGVuZCAiUFJFRklYPSIgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0IikpCiAgICAgICAgKHN0cmlu Zy1hcHBlbmQgIkNDPSIgLChjYy1mb3ItdGFyZ2V0KSkKICAgICAgICAiV0lUSF9YV0FZTEFORD1Z RVMiCiAgICAgICAgIldJVEhfU0NSRUVOQ09QWT1ZRVMiCiAgICAgICAgIldJVEhfTEFZRVJTSEVM TD1ZRVMiCiAgICAgICAgIldJVEhfVklSVFVBTF9JTlBVVD1ZRVMiKQogICAgICAgIzpwaGFzZXMK ICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgKGRlbGV0ZSAn Y29uZmlndXJlKQogICAgICAgICAocmVwbGFjZSAnYnVpbGQKICAgICAgICAgICAobGFtYmRhKiAo IzprZXkgaW5wdXRzIG91dHB1dHMgbWFrZS1mbGFncyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAg ICAgICAgICAoYXBwbHkgaW52b2tlICJibWFrZSIgbWFrZS1mbGFncykpKQogICAgICAgICAocmVw bGFjZSAnaW5zdGFsbAogICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgb3V0cHV0cyBt YWtlLWZsYWdzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgIChhcHBseSBpbnZva2Ug ImJtYWtlIiAiaW5zdGFsbCIgbWFrZS1mbGFncykpKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6 Ly9oaWthcmkuYWNtZWxhYnMuc3BhY2UvIikKICAgIChzeW5vcHNpcyAiU3RhY2tpbmcgV2F5bGFu ZCBjb21wb3NpdG9yIHdpdGggdGlsaW5nIGNhcGFiaWxpdGllcyIpCiAgICAoZGVzY3JpcHRpb24K ICAgICAiSGlrYXJpIGlzIGEgc3RhY2tpbmcgV2F5bGFuZCBjb21wb3NpdG9yIHdpdGggYWRkaXRp b25hbCB0aWxpbmcKY2FwYWJpbGl0aWVzLiAgSXQgaXMgaGVhdmlseSBpbnNwaXJlZCBieSB0aGUg Q2FsbSBXaW5kb3cgbWFuYWdlcihjd20pLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmJzZC0yKSkp CgooZGVmaW5lLXB1YmxpYyBqd20KICAocGFja2FnZQogICAgKG5hbWUgImp3bSIpCiAgICAodmVy c2lvbiAiMi40LjMiKQogICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhvZCB1 cmwtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZAogICAgICAgICAgICAg ICAgICAgICJodHRwczovL2dpdGh1Yi5jb20vam9ld2luZy9qd20vcmVsZWFzZXMvZG93bmxvYWQv IgogICAgICAgICAgICAgICAgICAgICJ2IiB2ZXJzaW9uICIvandtLSIgdmVyc2lvbiAiLnRhci54 eiIpKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAg ICAgICAgICAgIjFhdjdyOXNwMjZyNWw3NHp2d2RteXl5emF2MjltdzViYWZpaHA3eTMzdnNqcWto NHdmemYiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKGFyZ3Vt ZW50cwogICAgIChsaXN0CiAgICAgICM6dGVzdHM/ICNmICAgOyBubyBjaGVjayB0YXJnZXQKICAg ICAgIzpwaGFzZXMKICAgICAgI34obW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAg ICAgICAoYWRkLWFmdGVyICdpbnN0YWxsICdpbnN0YWxsLXhzZXNzaW9uCiAgICAgICAgICAgIChs YW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgICAo bGV0KiAoKG91dCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpKQogICAgICAgICAgICAgICAgICAg ICAoeHNlc3Npb25zIChzdHJpbmctYXBwZW5kIG91dCAiL3NoYXJlL3hzZXNzaW9ucyIpKSkKICAg ICAgICAgICAgICAgIChta2Rpci1wIHhzZXNzaW9ucykKICAgICAgICAgICAgICAgIChjYWxsLXdp dGgtb3V0cHV0LWZpbGUKICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCB4c2Vzc2lv bnMgIi9qd20uZGVza3RvcCIpCiAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHBvcnQpCiAgICAg ICAgICAgICAgICAgICAgKGZvcm1hdCBwb3J0ICJ+CiAgICAgICAgICAgICAgICAgICAgIFtEZXNr dG9wIEVudHJ5XX5ACiAgICAgICAgICAgICAgICAgICAgIE5hbWU9andtfkAKICAgICAgICAgICAg ICAgICAgICAgQ29tbWVudD1Kb2UncyBXaW5kb3cgTWFuYWdlcn5ACiAgICAgICAgICAgICAgICAg ICAgIEV4ZWM9fmEvYmluL2p3bX5ACiAgICAgICAgICAgICAgICAgICAgIFR5cGU9WFNlc3Npb25+ JSIgb3V0KSkpKSkpKSkpCiAgICAobmF0aXZlLWlucHV0cyAobGlzdCBwa2ctY29uZmlnKSkKICAg IChpbnB1dHMKICAgICAobGlzdCBjYWlybwogICAgICAgICAgIGxpYmpwZWctdHVyYm8KICAgICAg ICAgICBsaWJwbmcKICAgICAgICAgICAobGlicnN2Zy1mb3Itc3lzdGVtKQogICAgICAgICAgIGxp YnhleHQKICAgICAgICAgICBsaWJ4aW5lcmFtYQogICAgICAgICAgIGxpYnhtdQogICAgICAgICAg IGxpYnhwbQogICAgICAgICAgIGxpYnhyZW5kZXIKICAgICAgICAgICBsaWJ4dAogICAgICAgICAg IHBhbmdvKSkKICAgIChob21lLXBhZ2UgImh0dHA6Ly9qb2V3aW5nLm5ldC9wcm9qZWN0cy9qd20i KQogICAgKHN5bm9wc2lzICJKb2UncyBXaW5kb3cgTWFuYWdlciIpCiAgICAoZGVzY3JpcHRpb24K ICAgICAiSldNIGlzIGEgbGlnaHQtd2VpZ2h0IHdpbmRvdyBtYW5hZ2VyIGZvciB0aGUgWDExIFdp bmRvdyBTeXN0ZW0uICBpdCBpcwp3cml0dGVuIGluIEMgYW5kIHVzZXMgb25seSBYbGliIGF0IGEg bWluaW11bS4gIEJlY2F1c2Ugb2YgaXRzIHNtYWxsIGZvb3RwcmludCwKaXQgbWFrZXMgYSBnb29k IHdpbmRvdyBtYW5hZ2VyIGZvciBvbGRlciBjb21wdXRlcnMgYW5kIGxlc3MgcG93ZXJmdWwgc3lz dGVtcywKc3VjaCBhcyB0aGUgUmFzcGJlcnJ5IFBpLCB0aG91Z2ggaXQgaXMgcGVyZmVjdGx5IGNh cGFibGUgb2YgcnVubmluZyBvbiBtb2Rlcm4Kc3lzdGVtcy4iKQogICAgKGxpY2Vuc2UgbGljZW5z ZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgbWp3bQogIChwYWNrYWdlCiAgICAobmFtZSAibWp3 bSIpCiAgICAodmVyc2lvbiAiNC4xLjAiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAg IChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAg ICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2NoaWt1L21qd20iKQogICAgICAgICAgICAgKGNv bW1pdCAoc3RyaW5nLWFwcGVuZCAidiIgdmVyc2lvbikpKSkKICAgICAgIChmaWxlLW5hbWUgKGdp dC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMy ICIwbGdmcDJ4aWRodm1iajR6cXZ6ejlnOHp3Ym42bXowcGdhY2M1N2I0M2hhNTIzdmFtc2pxIikp KSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAg ICAobGlzdAogICAgICAjOnRlc3RzPyAjZiAgIDsgbm8gY2hlY2sgdGFyZ2V0CiAgICAgICM6cGhh c2VzCiAgICAgICN+KG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgKGFk ZC1hZnRlciAndW5wYWNrICdwYXRjaC1zdWJjYXRlZ29yeS5oCiAgICAgICAgICAgIChsYW1iZGEq ICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgIChzdWJzdGl0 dXRlKiAiaW5jbHVkZS9zdWJjYXRlZ29yeS5oIgogICAgICAgICAgICAgICAgOzsgaWNvbiBuYW1l IHNob3VsZCBiZSBhcHBsaWNhdGlvbi1vdGhlciBpbnN0ZWFkIG9mCiAgICAgICAgICAgICAgICA7 OyBhcHBsaWNhdGlvbi1vdGhlcnMuCiAgICAgICAgICAgICAgICAoKCJhcHBsaWNhdGlvbnMtb3Ro ZXJzIikgImFwcGxpY2F0aW9ucy1vdGhlciIpKSkpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczov L2dpdGh1Yi5jb20vY2hpa3UvbWp3bSIpCiAgICAoc3lub3BzaXMgIkNyZWF0ZSBtZW51IGZvciBK V00iKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIk1KV00gY2FuIGNyZWF0ZSBKV00ncyBtZW51IGZy b20gKGZyZWVkZXNrdG9wKSBkZXNrdG9wIGZpbGVzIGFuZCB0aGUKZ2VuZXJhdGVkIGZpbGUgY2Fu IGJlIGluY2x1ZGUgaW4gdGhlIHJvb3RtZW51IHNlY3Rpb24gb2YgeW91ciBqd20gY29uZmlnCmZp bGUuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMispKSkKCihkZWZpbmUtcHVibGljIGRldm91 cgogIChwYWNrYWdlCiAgICAobmFtZSAiZGV2b3VyIikKICAgICh2ZXJzaW9uICIxMiIpCiAgICAo c291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAodXJp IChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vc2Fs bWFuLWFiZWRpbi9kZXZvdXIiKQogICAgICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCiAgICAg ICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAoc2hhMjU2 CiAgICAgICAgKGJhc2UzMiAiMXFxNWw2ZDBmbjhhemc3c2o3YTRtMmpzbWhscHN3bDU3OTNjbGN4 czFwMzR2eTR3YjJscCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAg ICAoaW5wdXRzCiAgICAgKGxpc3QgbGlieDExKSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVz dHM/ICNmICAgICAgICAgICAgICAgICAgICAgIDtubyB0ZXN0cwogICAgICAgIzpwaGFzZXMKICAg ICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgKGRlbGV0ZSAnY29u ZmlndXJlKSkgICAgICAgICAgIDtubyBjb25maWd1cmUgc2NyaXB0CiAgICAgICAjOm1ha2UtZmxh Z3MKICAgICAgIChsaXN0IChzdHJpbmctYXBwZW5kICJDQz0iICwoY2MtZm9yLXRhcmdldCkpCiAg ICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiQklOX0RJUj0iICVvdXRwdXQgIi9iaW4iKSkpKQog ICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3NhbG1hbi1hYmVkaW4vZGV2b3VyIikK ICAgIChzeW5vcHNpcyAiWDExIHdpbmRvdyBzd2FsbG93ZXIiKQogICAgKGRlc2NyaXB0aW9uCiAg ICAgIkBjb21tYW5ke2Rldm91cn0gaGlkZXMgeW91ciBjdXJyZW50IHdpbmRvdyBiZWZvcmUgbGF1 bmNoaW5nIGFuIGV4dGVybmFsCnByb2dyYW0gYW5kIHVuaGlkZXMgaXQgYWZ0ZXIgcXVpdHRpbmcu IikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMikpKQoKKGRlZmluZS1wdWJsaWMgdHJheWVyLXNy ZwogIChwYWNrYWdlCiAgICAobmFtZSAidHJheWVyLXNyZyIpCiAgICAodmVyc2lvbiAiMS4xLjgi KQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAg ICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIu Y29tL3Nhcmdvbi90cmF5ZXItc3JnIikKICAgICAgICAgICAgIChjb21taXQgKHN0cmluZy1hcHBl bmQgInRyYXllci0iIHZlcnNpb24pKSkpCiAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1l IG5hbWUgdmVyc2lvbikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMgogICAgICAgICAi MW12aHdhcWE5Ym5nOXdoM2pnM2I3eThnbDducHJieWRtaGc5NjN4ZzByMDc2anl6djBjZyIpKSkp CiAgICAobmF0aXZlLWlucHV0cwogICAgIChsaXN0IGxpYnhtdSBwa2ctY29uZmlnKSkKICAgIChp bnB1dHMKICAgICAobGlzdCBsaWJ4MTEgZ2RrLXBpeGJ1ZiBndGsrLTIpKQogICAgKGJ1aWxkLXN5 c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2Yg OyBUaGVyZSBhcmUgbm8gdGVzdHMuCiAgICAgICAjOm1ha2UtZmxhZ3MKICAgICAgIChsZXQgKChv dXQgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0IikpKQogICAgICAgICAobGlzdCAoc3RyaW5nLWFw cGVuZCAiQ0M9IiAsKGNjLWZvci10YXJnZXQpKQogICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVu ZCAiUFJFRklYPSIgJW91dHB1dCkpKQogICAgICAgIzpwaGFzZXMKICAgICAgIChtb2RpZnktcGhh c2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgKHJlcGxhY2UgJ2NvbmZpZ3VyZQogICAgICAg ICAgIChsYW1iZGEqICgjOmtleSBjb25maWd1cmUtZmxhZ3MgIzphbGxvdy1vdGhlci1rZXlzKQog ICAgICAgICAgICAgKGFwcGx5IGludm9rZSAiLi9jb25maWd1cmUiIGNvbmZpZ3VyZS1mbGFncykp KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3Nhcmdvbi90cmF5ZXItc3Jn IikKICAgIChzeW5vcHNpcyAiTWluaW1hbCBHVEsgYmFzZWQgc3lzdGVtIHRyYXkiKQogICAgKGRl c2NyaXB0aW9uCiAgICAgIkBjb21tYW5ke3RyYXllcn0gaXMgc21hbGwgcHJvZ3JhbSBkZXNpZ25l ZCB0byBwcm92aWRlIHN5c3RyYXkKZnVuY3Rpb25hbGl0eSBwcmVzZW50IGluIEdOT01FL0tERSBk ZXNrdG9wIGVudmlyb25tZW50cyBmb3Igd2luZG93IG1hbmFnZXJzCndoaWNoIGRvIG5vdCBzdXBw b3J0IGl0LiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyB3 bG9nb3V0CiAgKHBhY2thZ2UKICAgIChuYW1lICJ3bG9nb3V0IikKICAgICh2ZXJzaW9uICIxLjEu MSIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkK ICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAgICAgICAgKHVy bCAiaHR0cHM6Ly9naXRodWIuY29tL0FydHN5TWFjYXcvd2xvZ291dCIpCiAgICAgICAgICAgICAg ICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCiAgICAgICAgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZp bGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAg ICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjFzd2h6a3FremxpNTljODlwdnJha2Z2aWNkMDB4 N2dhODYwYzN4MnBiYjR5M3h6aXFmdmkiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBtZXNvbi1idWls ZC1zeXN0ZW0pCiAgICAobmF0aXZlLWlucHV0cwogICAgIChsaXN0IHBrZy1jb25maWcgc2Nkb2Mp KQogICAgKGlucHV0cwogICAgIChsaXN0IGd0ay1sYXllci1zaGVsbCBndGsrKSkKICAgIChhcmd1 bWVudHMKICAgICAnKCM6dGVzdHM/ICNmCiAgICAgICAjOnBoYXNlcwogICAgICAgKG1vZGlmeS1w aGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgICdwYXRj aC1zb3VyY2UtcGF0aHMKICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyAjOmFsbG93 LW90aGVyLWtleXMpCiAgICAgICAgICAgICAobGV0ICgob3V0IChhc3NvYy1yZWYgb3V0cHV0cyAi b3V0IikpKQogICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogIm1haW4uYyIKICAgICAgICAgICAg ICAgICAoKCIvdXNyL3NoYXJlIikgKHN0cmluZy1hcHBlbmQgb3V0ICIvc2hhcmUiKSkKICAgICAg ICAgICAgICAgICAoKCIvZXRjIikgKHN0cmluZy1hcHBlbmQgb3V0ICIvZXRjIikpKSkKICAgICAg ICAgICAgICN0KSkpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9BcnRzeU1h Y2F3L3dsb2dvdXQiKQogICAgKHN5bm9wc2lzICJMb2dvdXQgbWVudSBmb3IgV2F5bGFuZCIpCiAg ICAoZGVzY3JpcHRpb24gIndsb2dvdXQgaXMgYSBsb2dvdXQgbWVudSBmb3IgV2F5bGFuZCBlbnZp cm9ubWVudHMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGlj IGJlcnJ5CiAgKHBhY2thZ2UKICAgIChuYW1lICJiZXJyeSIpCiAgICAodmVyc2lvbiAiMC4xLjEy IikKICAgIChzb3VyY2UKICAgICAgKG9yaWdpbgogICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQog ICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHVi LmNvbS9qbGVydmluL2JlcnJ5IikKICAgICAgICAgIChjb21taXQgdmVyc2lvbikpKQogICAgICAg IChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgICAoc2hhMjU2 CiAgICAgICAgICAoYmFzZTMyICIweWdxemdpN25jYzZ3aHZ3ZGlmZHMyY3E5Y2xscTlmaGlxbmln eDg1OWhiZG5mNDUzaG40IikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkK ICAgIChhcmd1bWVudHMKICAgICBgKCM6dGVzdHM/ICNmIDsgVGhlcmUgYXJlIG5vIHRlc3RzLgog ICAgICAgIzptYWtlLWZsYWdzCiAgICAgICAsI34obGlzdCAoc3RyaW5nLWFwcGVuZCAiQ0M9IiAj JChjYy1mb3ItdGFyZ2V0KSkKICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICJwcmVmaXg9 IiAjJG91dHB1dCkKICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICJDRkxBR1M9IgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMg ImZyZWV0eXBlIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvaW5jbHVkZS9mcmVl dHlwZTIiKSkKICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQt cGhhc2VzCiAgICAgICAgIChkZWxldGUgJ2NvbmZpZ3VyZSkKICAgICAgICAgKGFkZC1hZnRlciAn YnVpbGQgJ2luc3RhbGwteHNlc3Npb24KICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0 cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAobGV0KiAoKG91dHB1dCAoYXNzb2Mt cmVmIG91dHB1dHMgIm91dCIpKQogICAgICAgICAgICAgICAgICAgICh4c2Vzc2lvbnMgKHN0cmlu Zy1hcHBlbmQgb3V0cHV0ICIvc2hhcmUveHNlc3Npb25zIikpKQogICAgICAgICAgICAgICAobWtk aXItcCB4c2Vzc2lvbnMpCiAgICAgICAgICAgICAgICh3aXRoLW91dHB1dC10by1maWxlIChzdHJp bmctYXBwZW5kIHhzZXNzaW9ucyAiL2JlcnJ5LmRlc2t0b3AiKQogICAgICAgICAgICAgICAgIChs YW1iZGEgXwogICAgICAgICAgICAgICAgICAgKGZvcm1hdCAjdAogICAgICAgICAgICAgICAgICAg ICJcCltEZXNrdG9wIEVudHJ5XX5ACk5hbWU9YmVycnl+QApDb21tZW50PUJlcnJ5IFdpbmRvdyBN YW5hZ2VyfkAKRXhlYz1+YS9iaW4vYmVycnl+QApUcnlFeGVjPX5AKn5hL2Jpbi9iZXJyeX5ACklj b249fkAKVHlwZT1BcHBsaWNhdGlvbn4lIgogICAgICAgICAgICAgICAgICAgIG91dHB1dCkpKSkp KSkpKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCBwa2ctY29uZmlnKSkKICAgIChpbnB1 dHMKICAgICAgKGxpc3QgZnJlZXR5cGUKICAgICAgICAgICAgZm9udGNvbmZpZwogICAgICAgICAg ICBsaWJ4ZXh0CiAgICAgICAgICAgIGxpYngxMQogICAgICAgICAgICBsaWJ4ZnQKICAgICAgICAg ICAgbGlieGluZXJhbWEpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9iZXJyeXdtLm9yZy8iKQog ICAgKHN5bm9wc2lzICJIZWFsdGh5LCBieXRlLXNpemVkIHdpbmRvdyBtYW5hZ2VyIikKICAgIChk ZXNjcmlwdGlvbgogICAgICJAY29kZXtiZXJyeX0gaXMgYSBoZWFsdGh5LCBiaXRlLXNpemVkIHdp bmRvdyBtYW5hZ2VyIHdyaXR0ZW4gaW4gQyB1c2luZyBYTGliLiIpCiAgICAobGljZW5zZSBsaWNl bnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBhdml6bwogIChwYWNrYWdlCiAgICAobmFtZSAi YXZpem8iKQogICAgKHZlcnNpb24gIjEuMyIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAg ICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNl CiAgICAgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL21pc3RlcmRhbmIv YXZpem8iKQogICAgICAgICAgICAgICAgICAgIChjb21taXQgdmVyc2lvbikpKQogICAgICAgICAg ICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgICAgICAg ICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgICAgICIwMXYxYzkz NzZwYmpuZHloajlyNmYyMTRremhpdmwxbTlwa2wwNXNka2NqMHY2bjB3Z3NuIikpKSkKICAgIChi dWlsZC1zeXN0ZW0gbWVzb24tYnVpbGQtc3lzdGVtKQogICAgKGlucHV0cyAobGlzdCBndGsrKSkK ICAgIChuYXRpdmUtaW5wdXRzCiAgICAgKGxpc3QgdmFsYQogICAgICAgICAgIGAoLGdsaWIgImJp biIpCiAgICAgICAgICAgZ29iamVjdC1pbnRyb3NwZWN0aW9uCiAgICAgICAgICAgZ3RrLWxheWVy LXNoZWxsCiAgICAgICAgICAgcGtnLWNvbmZpZykpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dp dGh1Yi5jb20vbWlzdGVyZGFuYi9hdml6byIpCiAgICAoc3lub3BzaXMgIk5vdGlmaWNhdGlvbiBk YWVtb24gZm9yIFN3YXkiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIkF2aXpvIGlzIGEgc2ltcGxl IG5vdGlmaWNhdGlvbiBkYWVtb24gZm9yIFN3YXksIG1haW5seSBpbnRlbmRlZCB0byBiZQp1c2Vk IGZvciBtdWx0aW1lZGlhIGtleXMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMyspKSkKCihk ZWZpbmUtcHVibGljIGdyaW1zaG90CiAgKHBhY2thZ2UKICAgIChuYW1lICJncmltc2hvdCIpCiAg ICAodmVyc2lvbiAiMS45LWNvbnRyaWIuMCIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAg ICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNl CiAgICAgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL09jdG9wdXNFVC9z d2F5LWNvbnRyaWIiKQogICAgICAgICAgICAgICAgICAgIChjb21taXQgdmVyc2lvbikpKQogICAg ICAgICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAg ICAgICAgICAoc25pcHBldCAjfihkZWxldGUtZmlsZSAiZ3JpbXNob3QuMSIpKQogICAgICAgICAg ICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjE2ZmE4 bDgxemp5MjVuc2t5MWk1MjVoYjd6anBycXo3NG1iaXJtOWI3NnB2a3NzY2hkdjUiKSkpKQogICAg KGJ1aWxkLXN5c3RlbSBjb3B5LWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICAobGlz dCAjOmluc3RhbGwtcGxhbiAjfmAoKCJncmltc2hvdCIgImJpbi8iKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoImdyaW1zaG90LjEiICJzaGFyZS9tYW4vbWFuMS8iKSkKICAgICAgICAg ICAjOnBoYXNlcyAjfihtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgICAg ICAgICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdwYXRjaC1zY3JpcHQtZGVwZW5kZW5jaWVz CiAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93 LW90aGVyLWtleXMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogImdy aW1zaG90IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCJcXGIoZGF0ZXxncmltfGpx fG5vdGlmeS1zZW5kfHNsdXJwfHN3YXltc2d8d2wtY29weSlcXGIiCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXyBiaW5hcnkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo c2VhcmNoLWlucHV0LWZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dHMg KHN0cmluZy1hcHBlbmQgImJpbi8iIGJpbmFyeSkpKSkpKQogICAgICAgICAgICAgICAgICAgICAg ICAoYWRkLWFmdGVyICdwYXRjaC1zY3JpcHQtZGVwZW5kZW5jaWVzICdidWlsZC1tYW4tcGFnZQog ICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHdpdGgtaW5wdXQtZnJvbS1maWxlICJncmltc2hvdC4xLnNjZCIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGxhbWJkYSBfCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHdpdGgtb3V0cHV0LXRvLWZpbGUgImdyaW1zaG90LjEiCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGludm9rZSAic2Nkb2MiKSkpKSkpKSkpKQogICAgKG5hdGl2ZS1pbnB1dHMgKGxpc3Qgc2Nk b2MpKQogICAgKGlucHV0cyAobGlzdCBjb3JldXRpbHMKICAgICAgICAgICAgICAgICAgZ3JpbQog ICAgICAgICAgICAgICAgICBqcQogICAgICAgICAgICAgICAgICBsaWJub3RpZnkKICAgICAgICAg ICAgICAgICAgc2x1cnAKICAgICAgICAgICAgICAgICAgc3dheQogICAgICAgICAgICAgICAgICB3 bC1jbGlwYm9hcmQpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL09jdG9wdXNF VC9zd2F5LWNvbnRyaWIiKQogICAgKHN5bm9wc2lzICJTY3JlZW5zaG90IHV0aWxpdHkgZm9yIHRo ZSBTd2F5IHdpbmRvdyBtYW5hZ2VyIikKICAgIChkZXNjcmlwdGlvbiAiR3JpbXNob3QgaXMgYSBz Y3JlZW5zaG90IHV0aWxpdHkgZm9yIEBjb2Rle3N3YXl9LiAgSXQgcHJvdmlkZXMKYW4gaW50ZXJm YWNlIG92ZXIgQGNvZGV7Z3JpbX0sIEBjb2Rle3NsdXJwfSBhbmQgQGNvZGV7anF9LCBhbmQgc3Vw cG9ydHMgc3RvcmluZwp0aGUgc2NyZWVuc2hvdCBlaXRoZXIgZGlyZWN0bHkgdG8gdGhlIGNsaXBi b2FyZCB1c2luZyBAY29kZXt3bC1jb3B5fSBvciB0byBhCmZpbGUuIikKICAgIChsaWNlbnNlIGxp Y2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIHdsZAogIChsZXQgKChjb21taXQgIjY1ODY3 MzYxNzZlZjUwYTg4MDI1YWJhZTgzNWUyOWE3Y2E5ODAxMjYiKQogICAgICAgIChyZXZpc2lvbiAi MSIpKQogICAgKHBhY2thZ2UKICAgICAgKG5hbWUgIndsZCIpCiAgICAgICh2ZXJzaW9uIChnaXQt dmVyc2lvbiAiMCIgcmV2aXNpb24gY29tbWl0KSkKICAgICAgKHNvdXJjZSAob3JpZ2luCiAgICAg ICAgICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICAgICAgICAgICh1cmkgKGdpdC1y ZWZlcmVuY2UKICAgICAgICAgICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9t aWNoYWVsZm9ybmV5L3dsZCIpCiAgICAgICAgICAgICAgICAgICAgICAoY29tbWl0IGNvbW1pdCkp KQogICAgICAgICAgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24p KQogICAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAg ICAgICAgICAgICAgIjBxa2QzcThwMXM3Mng2ODhnODNma2NhcnJ6MmgyMDkwNHJwZDh6NDRxbDZr c2dyajlicDMiKSkpKQogICAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAg IChhcmd1bWVudHMKICAgICAgIGAoIzp0ZXN0cz8gI2YgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA7IG5vIHRlc3RzCiAgICAgICAgICM6bWFrZS1mbGFncyAobGlzdCAoc3RyaW5nLWFwcGVu ZCAiQ0M9IiAsKGNjLWZvci10YXJnZXQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1hcHBlbmQgIlBSRUZJWD0iICVvdXRwdXQpKQogICAgICAgICAjOnBoYXNlcyAobW9kaWZ5 LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZSAnY29u ZmlndXJlKSkpKQogICAgICAoaW5wdXRzIChsaXN0IGZvbnRjb25maWcKICAgICAgICAgICAgICAg ICAgICBsaWJkcm0KICAgICAgICAgICAgICAgICAgICBwaXhtYW4KICAgICAgICAgICAgICAgICAg ICB3YXlsYW5kKSkKICAgICAgKHByb3BhZ2F0ZWQtaW5wdXRzIChsaXN0IGZvbnRjb25maWcgcGl4 bWFuKSkKICAgICAgKG5hdGl2ZS1pbnB1dHMgKGxpc3QgcGtnLWNvbmZpZykpCiAgICAgIChob21l LXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9taWNoYWVsZm9ybmV5L3dsZCIpCiAgICAgIChzeW5v cHNpcyAiUHJpbWl0aXZlIGRyYXdpbmcgbGlicmFyeSBmb3IgV2F5bGFuZCIpCiAgICAgIChkZXNj cmlwdGlvbiAid2xkIGlzIGEgZHJhd2luZyBsaWJyYXJ5IHRoYXQgdGFyZ2V0cyBXYXlsYW5kLiIp CiAgICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkpCgooZGVmaW5lLXB1YmxpYyBzd2MKICAo bGV0ICgoY29tbWl0ICJhN2I2MTU1NjdmODNkOWU0OGQ1ODUyNTEwMTUwNDhjNDQxY2EwMjM5IikK ICAgICAgICAocmV2aXNpb24gIjEiKSkKICAgIChwYWNrYWdlCiAgICAgIChuYW1lICJzd2MiKQog ICAgICAodmVyc2lvbiAoZ2l0LXZlcnNpb24gIjAiIHJldmlzaW9uIGNvbW1pdCkpCiAgICAgIChz b3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAg ICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAgICAgICAgICAodXJsICJo dHRwczovL2dpdGh1Yi5jb20vbWljaGFlbGZvcm5leS9zd2MiKQogICAgICAgICAgICAgICAgICAg ICAgKGNvbW1pdCBjb21taXQpKSkKICAgICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAg ICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAgICIxOXJwYndwaTgxcG05MmZraHNtYng3cHph Z3BhaDVtOWloNWg1azNtOGR5NnI4aWhkaDM1IikpCiAgICAgICAgICAgICAgICAoZmlsZS1uYW1l IChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpKSkKICAgICAgKGJ1aWxkLXN5c3RlbSBnbnUt YnVpbGQtc3lzdGVtKQogICAgICAoYXJndW1lbnRzCiAgICAgICBgKCM6dGVzdHM/ICNmIDtubyB0 ZXN0cwogICAgICAgICAjOm1ha2UtZmxhZ3MgKGxpc3QgKHN0cmluZy1hcHBlbmQgIkNDPSIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwoY2MtZm9yLXRhcmdldCkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiUFJFRklYPSIgJW91 dHB1dCkpCiAgICAgICAgICM6cGhhc2VzIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMK ICAgICAgICAgICAgICAgICAgICAoZGVsZXRlICdjb25maWd1cmUpKSkpCiAgICAgIChpbnB1dHMg KGxpc3QgbGliZHJtCiAgICAgICAgICAgICAgICAgICAgbGliaW5wdXQKICAgICAgICAgICAgICAg ICAgICBsaWJ4Y2IKICAgICAgICAgICAgICAgICAgICBsaWJ4a2Jjb21tb24KICAgICAgICAgICAg ICAgICAgICB3YXlsYW5kCiAgICAgICAgICAgICAgICAgICAgd2F5bGFuZC1wcm90b2NvbHMKICAg ICAgICAgICAgICAgICAgICB3bGQKICAgICAgICAgICAgICAgICAgICB4Y2ItdXRpbC13bSkpCiAg ICAgIChuYXRpdmUtaW5wdXRzIChsaXN0IHBrZy1jb25maWcpKQogICAgICAoaG9tZS1wYWdlICJo dHRwczovL2dpdGh1Yi5jb20vbWljaGFlbGZvcm5leS9zd2MiKQogICAgICAoc3lub3BzaXMgIkxp YnJhcnkgZm9yIG1ha2luZyBhIHNpbXBsZSBXYXlsYW5kIGNvbXBvc2l0b3IiKQogICAgICAoZGVz Y3JpcHRpb24KICAgICAgICJzd2MgaXMgYSBzbWFsbCBXYXlsYW5kIGNvbXBvc2l0b3IgaW1wbGVt ZW50ZWQgYXMgYSBsaWJyYXJ5LgoKSXQgaGFzIGJlZW4gZGVzaWduZWQgcHJpbWFyaWx5IHdpdGgg dGlsaW5nIHdpbmRvdyBtYW5hZ2VycyBpbiBtaW5kLiAgQWRkaXRpb25hbGx5LApub3RhYmxlIGZl YXR1cmVzIGluY2x1ZGU6CkBpdGVtaXplCkBpdGVtIEVhc3kgdG8gZm9sbG93IGNvZGUgYmFzZQpA aXRlbSBYV2F5bGFuZCBzdXBwb3J0CkBpdGVtIENhbiBwbGFjZSBib3JkZXJzIGFyb3VuZCB3aW5k b3dzCkBlbmQgaXRlbWl6ZSIpCiAgICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkpCgooZGVm aW5lLXB1YmxpYyB2ZWxveAogIChsZXQgKChjb21taXQgImZjYzA0MTI2NTUzOWJlZmQ5MDdhNjRl ZTNhNTM2Y2IyNDg5ZmZiOTkiKQogICAgICAgIChyZXZpc2lvbiAiMSIpKQogICAgKHBhY2thZ2UK ICAgICAgKG5hbWUgInZlbG94IikKICAgICAgKHZlcnNpb24gKGdpdC12ZXJzaW9uICIwIiByZXZp c2lvbiBjb21taXQpKQogICAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAgIChtZXRo b2QgZ2l0LWZldGNoKQogICAgICAgICAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAg ICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hhZWxmb3JuZXkvdmVs b3giKQogICAgICAgICAgICAgICAgICAgICAgKGNvbW1pdCBjb21taXQpKSkKICAgICAgICAgICAg ICAgIChzaGEyNTYKICAgICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAgICIw ZDExYm1hZzV6d21hczNyZjFiN3g1aGpsYTd3cHhxNzBucjg2ZHozeDlyN2NhbDA0bXltIikpCiAg ICAgICAgICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpKSkK ICAgICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgICAoYXJndW1lbnRzCiAg ICAgICBgKCM6dGVzdHM/ICNmIDtubyB0ZXN0cwogICAgICAgICAjOm1ha2UtZmxhZ3MgKGxpc3Qg KHN0cmluZy1hcHBlbmQgIkNDPSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICwoY2MtZm9yLXRhcmdldCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3Ry aW5nLWFwcGVuZCAiUFJFRklYPSIgJW91dHB1dCkpCiAgICAgICAgICM6cGhhc2VzIChtb2RpZnkt cGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgICAgICAgICAgICAoZGVsZXRlICdjb25m aWd1cmUpKSkpCiAgICAgIChpbnB1dHMgKGxpc3QgbGliaW5wdXQgbGlieGtiY29tbW9uIHdheWxh bmQgd2xkKSkKICAgICAgKHByb3BhZ2F0ZWQtaW5wdXRzIChsaXN0IHN3YykpCiAgICAgIChuYXRp dmUtaW5wdXRzIChsaXN0IHBrZy1jb25maWcpKQogICAgICAoaG9tZS1wYWdlICJodHRwczovL2dp dGh1Yi5jb20vbWljaGFlbGZvcm5leS92ZWxveCIpCiAgICAgIChzeW5vcHNpcyAiU2ltcGxlIHdp bmRvdyBtYW5hZ2VyIGJhc2VkIG9uIHN3YyIpCiAgICAgIChkZXNjcmlwdGlvbiAidmVsb3ggaXMg YSBzaW1wbGUgd2luZG93IG1hbmFnZXIgZm9yIFdheWxhbmQgYmFzZWQgb24gc3djLgpJdCBpcyBp bnNwaXJlZCBieSBkd20gYW5kIHhtb25hZC4iKQogICAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0 KSkpKQoKKGRlZmluZS1wdWJsaWMgd3NiZwogIChsZXQgKChjb21taXQgIjE1YjBkMGY2OTEwZWE5 N2I5YmNjNDcxNjk1ZmFjMDcyNzA5NTVkZDIiKQogICAgICAgIChyZXZpc2lvbiAiMCIpCiAgICAg ICAgOzsgVXBzdHJlYW0gaGFzIG5vIHZlcnNpb24gdGFncywgYnV0IG1lc29uLmJ1aWxkIGNvbnRh aW5zIHRoZSBjb3JyZWN0CiAgICAgICAgOzsgdmVyc2lvbiBudW1iZXIuCiAgICAgICAgKHZlcnNp b24gIjAuMS4wIikpCiAgICAocGFja2FnZQogICAgICAoaW5oZXJpdCBzd2F5YmcpCiAgICAgIChu YW1lICJ3c2JnIikKICAgICAgKHZlcnNpb24gKGdpdC12ZXJzaW9uIHZlcnNpb24gcmV2aXNpb24g Y29tbWl0KSkKICAgICAgKHNvdXJjZQogICAgICAgKG9yaWdpbgogICAgICAgICAobWV0aG9kIGdp dC1mZXRjaCkKICAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgICAodXJs ICJodHRwczovL2dpdGh1Yi5jb20vc2FpYmllci93c2JnIikKICAgICAgICAgICAgICAgKGNvbW1p dCBjb21taXQpKSkKICAgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNp b24pKQogICAgICAgICAoc2hhMjU2CiAgICAgICAgICAoYmFzZTMyICIxNXhybndwNTRrZ2hpZ3gw Nnk0cW1tbjFxOWYyNmZ4NGNhd3lsNGtjYnFycnpmYmJqMWc2IikpKSkKICAgICAgKGhvbWUtcGFn ZSAiaHR0cHM6Ly9naXRodWIuY29tL3NhaWJpZXIvd3NiZyIpCiAgICAgIChzeW5vcHNpcyAiV29y a3NwYWNlIHdhbGxwYXBlciB0b29sIGZvciBTd2F5IikKICAgICAgKGRlc2NyaXB0aW9uICJXYWxs cGFwZXIgdXRpbGl0eSBmb3IgU3dheSB3aXRoIHN1cHBvcnQgZm9yIHBlci13b3Jrc3BhY2UKY29u ZmlndXJhdGlvbi4iKSkpKQoKKGRlZmluZS1wdWJsaWMgeWFtYmFyLXdheWxhbmQKICAocGFja2Fn ZQogICAgKG5hbWUgInlhbWJhci13YXlsYW5kIikKICAgICh2ZXJzaW9uICIxLjEwLjAiKQogICAg KGhvbWUtcGFnZSAiaHR0cHM6Ly9jb2RlYmVyZy5vcmcvZG5rbC95YW1iYXIiKQogICAgKHNvdXJj ZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0 LXJlZmVyZW5jZQogICAgICAgICAgICAgKHVybCBob21lLXBhZ2UpCiAgICAgICAgICAgICAoY29t bWl0IHZlcnNpb24pKSkKICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJz aW9uKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyCiAgICAgICAgICIxNGx4aGd5eWlh N3N4eXFqd2E5c2twczBqOXFscHFpOHk3aHZic2FpZHJ3bXk0ODU3Y3pyIikpKSkKICAgIChidWls ZC1zeXN0ZW0gbWVzb24tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIChsaXN0CiAg ICAgICM6YnVpbGQtdHlwZSAicmVsZWFzZSIKICAgICAgIzpjb25maWd1cmUtZmxhZ3MgI34nKCIt RGJfbHRvPXRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLURiYWNrZW5kLXgxMT1k aXNhYmxlZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICItRGJhY2tlbmQtd2F5bGFuZD1l bmFibGVkIikpKQogICAgKG5hdGl2ZS1pbnB1dHMgKGxpc3QgcGtnLWNvbmZpZwogICAgICAgICAg ICAgICAgICAgICAgICAgdGxsaXN0CiAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4CiAgICAg ICAgICAgICAgICAgICAgICAgICBiaXNvbgogICAgICAgICAgICAgICAgICAgICAgICAgc2Nkb2MK ICAgICAgICAgICAgICAgICAgICAgICAgIHdheWxhbmQtcHJvdG9jb2xzKSkKICAgIChpbnB1dHMg KGxpc3QgZmNmdAogICAgICAgICAgICAgICAgICB3YXlsYW5kCiAgICAgICAgICAgICAgICAgIHBp cGV3aXJlCiAgICAgICAgICAgICAgICAgIGxpYnlhbWwKICAgICAgICAgICAgICAgICAgcGl4bWFu CiAgICAgICAgICAgICAgICAgIGFsc2EtbGliCiAgICAgICAgICAgICAgICAgIGpzb24tYwogICAg ICAgICAgICAgICAgICBsaWJtcGRjbGllbnQKICAgICAgICAgICAgICAgICAgZXVkZXYpKQogICAg KHN5bm9wc2lzICJYMTEgYW5kIFdheWxhbmQgc3RhdHVzIHBhbmVsIikKICAgIChkZXNjcmlwdGlv bgogICAgICJAY29tbWFuZHt5YW1iYXJ9IGlzIGEgbGlnaHR3ZWlnaHQgYW5kIGNvbmZpZ3VyYWJs ZSBzdGF0dXMgcGFuZWwgKGJhciwKZm9yIHNob3J0KSBmb3IgWDExIGFuZCBXYXlsYW5kLCB0aGF0 IGdvZXMgdG8gZ3JlYXQgbGVuZ3RocyB0byBiZSBib3RoIENQVSBhbmQKYmF0dGVyeSBlZmZpY2ll bnQtLS1wb2xsaW5nIGlzIG9ubHkgZG9uZSB3aGVuIGFic29sdXRlbHkgbmVjZXNzYXJ5LiIpCiAg ICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCg== --b1_CjxkiuITA7aDnCQ6KqQTZUp9Mo5CLoLzfpDqMfZvqBY-- From debbugs-submit-bounces@debbugs.gnu.org Thu May 09 12:19:50 2024 Received: (at 70803) by debbugs.gnu.org; 9 May 2024 16:19:50 +0000 Received: from localhost ([127.0.0.1]:56123 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s56Uo-0007kE-DT for submit@debbugs.gnu.org; Thu, 09 May 2024 12:19:50 -0400 Received: from mout01.posteo.de ([185.67.36.65]:43141) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s56Uj-0007k0-LL for 70803@debbugs.gnu.org; Thu, 09 May 2024 12:19:48 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 10CA2240027 for <70803@debbugs.gnu.org>; Thu, 9 May 2024 18:19:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1715271553; bh=jYrqZxN/DvAlsYhRArV8zDkQ1R923RuC+KrTkrkyR0o=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: From; b=n0evlVMChgZPpYfk0t5/FKbRJ4DLBrNXoDNEWsKDrJJunMLCKWcf7mvDwwTbzpGwx GnCdMCNGQw/0VtHturdRYhsrA1Pk5M+TJXIsD947F1lcZyrkuFaFbxEcJCZzqNSPhW v9VKxLJc0LQ84Ayk2dI4alkVwXKjtmr1U2MGEpP5YoIvmIlKEGAqvN6K/0UuPflSyw br0CYo0SZW4fVw7Uam40G/4X9jktHoeOJM7IchQjVOS9zJNIFk5LaWuKoWLhQ5/u26 vCgNRpiR1Fe2Ujrz5Om76LwciwNs4g1jvzrgXa5n0UbWFXXQM9lpO1t7sCZflZy7Rq uk7j4fA4KCg0A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4VZxzN0Q4Mz6tvb; Thu, 9 May 2024 18:19:11 +0200 (CEST) From: Guillaume Le Vaillant To: not emma Subject: Re: [bug#70803] [PATCH] gnu: wm.scm: Add Binwarp to stumpwm-contrib In-Reply-To: <9f4Lh2XMAGhxkqKVzuBVJUv_N26pr9ozlniKAvJkVQyO7u5nCkkS6oSKnRQRyQUUmDq-xDjnqp9bwnNR3XDrwH3q-uj_VaoNk35lmBMaTX8=@proton.me> (not emma via Guix-patches via's message of "Thu, 09 May 2024 15:29:58 +0000") References: <87v83noww9.fsf@kitej> <9f4Lh2XMAGhxkqKVzuBVJUv_N26pr9ozlniKAvJkVQyO7u5nCkkS6oSKnRQRyQUUmDq-xDjnqp9bwnNR3XDrwH3q-uj_VaoNk35lmBMaTX8=@proton.me> Date: Thu, 09 May 2024 16:19:10 +0000 Message-ID: <87r0ebot4x.fsf@kitej> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70803 Cc: "70803@debbugs.gnu.org" <70803@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Patch applied as 360fea15cb25d0cdf55ec55488956257a0219fe4 with a few minor modifications. Thanks. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCZjz3fg8cZ2x2QHBvc3Rl by5uZXQACgkQa+ggit8h/j8wJgD/ff/CYzyG49+38PhpZKS+q/IIarUFTbKMJhTf xph5pRQA/1/esbjDpr/pRpahkycBUdsGgr9V1XWkBMafrcBPHy39 =N6jh -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu May 09 12:22:17 2024 Received: (at 70803-done) by debbugs.gnu.org; 9 May 2024 16:22:17 +0000 Received: from localhost ([127.0.0.1]:56140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s56XB-0007oy-8T for submit@debbugs.gnu.org; Thu, 09 May 2024 12:22:17 -0400 Received: from mout02.posteo.de ([185.67.36.66]:37151) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s56X9-0007oo-Lr for 70803-done@debbugs.gnu.org; Thu, 09 May 2024 12:22:16 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 4F8F6240105 for <70803-done@debbugs.gnu.org>; Thu, 9 May 2024 18:21:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1715271703; bh=lHZ9a+XiV5epK7xMYM6DNSvfPlei7cSv9nKUpTAkcrw=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=onUHJgYp9SrqFxuvQjm0O9GbYZV+EQM5jzvRR+IeJOoX+6HY+ttr30J09FKuIUiZh nTg0l7Up/HjYR944170XwkoM2SAqo16u+OcQPdUejLp5yxIpUJJBhhyquddOcXnc1t lrsAxpx/mPpt740Vyas1dk8eUAMp3rnxm0H7o/rUkZ2fvhD8j1l6igYEN/zy9QgAGI M06aiTN2ca04QZoRrl0VunHmd31wdu3hAmfrm7Xidx4G4We0eRJCF4JEBmuBeUD8uE awBSCPqKsdmtnwnLN6KnO60lHyk5/yQQYb7oT0BQr+jQKAT57P6IagOtXEgSavzh+O c5feXJzy8o2nw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4VZy2G4ZZCz6txl for <70803-done@debbugs.gnu.org>; Thu, 9 May 2024 18:21:42 +0200 (CEST) From: Guillaume Le Vaillant To: 70803-done@debbugs.gnu.org Subject: Re: [bug#70803] [PATCH] gnu: wm.scm: Add Binwarp to stumpwm-contrib In-Reply-To: <87r0ebot4x.fsf@kitej> (Guillaume Le Vaillant's message of "Thu, 09 May 2024 18:19:10 +0200") References: <87v83noww9.fsf@kitej> <9f4Lh2XMAGhxkqKVzuBVJUv_N26pr9ozlniKAvJkVQyO7u5nCkkS6oSKnRQRyQUUmDq-xDjnqp9bwnNR3XDrwH3q-uj_VaoNk35lmBMaTX8=@proton.me> <87r0ebot4x.fsf@kitej> Date: Thu, 09 May 2024 16:21:42 +0000 Message-ID: <87msozot0p.fsf@kitej> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70803-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Closing. From unknown Thu Jun 19 16:24:22 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 07 Jun 2024 11:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator