From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dang Duong Subject: Re: VLC could not decode the format "ssa " (SubStation Alpha subtitles) Date: Tue, 13 Mar 2018 09:01:47 +0700 Message-ID: References: <87y3ixr46x.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="001a11395eea2c6d02056741a4bd" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45974) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1evZGT-0000Kv-Hf for help-guix@gnu.org; Mon, 12 Mar 2018 22:02:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1evZGK-0004Kg-4f for help-guix@gnu.org; Mon, 12 Mar 2018 22:02:09 -0400 In-Reply-To: <87y3ixr46x.fsf@gnu.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: help-guix@gnu.org --001a11395eea2c6d02056741a4bd Content-Type: multipart/alternative; boundary="001a11395eea2c6cfe056741a4bb" --001a11395eea2c6cfe056741a4bb Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable My video.scm already has libass. I tried removing and reinstalling VLC but it doesn't work. Am I missing something? On Mon, Mar 12, 2018 at 5:14 PM, Ludovic Court=C3=A8s wrote: > Hello, > > Dang Duong skribis: > > > I have installed the latest version of VLC (2.2.8) on Trisquel 7.0 usin= g > > Guix. It works normally with .srt files but cannot open .ass files. I > tried > > installing libass but it still doesn't work. > > It seems that our vlc package lacks libass as an input: > > https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/ > packages/video.scm#n810 > > Could you try adding libass in the vlc package definition, then install > it, and see if it works? > > If you=E2=80=99re not familiar with Guix packaging, see > >, > and do not hesitate to ask for guidance here or on #guix on IRC! > > HTH, > Ludo=E2=80=99. > --001a11395eea2c6cfe056741a4bb Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
My video.scm already has libass. I tried removing and= reinstalling VLC but it doesn't work.
=C2=A0Am I missing some= thing?

O= n Mon, Mar 12, 2018 at 5:14 PM, Ludovic Court=C3=A8s <= ludo@gnu.org> wrote:
Hello,

Dang Duong <khanhduongdv@gmail= .com> skribis:

> I have installed the latest version of VLC (2.2.8) on Trisquel 7.0 usi= ng
> Guix. It works normally with .srt files but cannot open .ass files. I = tried
> installing libass but it still doesn't work.

It seems that our vlc package lacks libass as an input:

=C2=A0 https://git.savann= ah.gnu.org/cgit/guix.git/tree/gnu/packages/video.scm#n810

Could you try adding libass in the vlc package definition, then install
it, and see if it works?

If you=E2=80=99re not familiar with Guix packaging, see
<https://www.gnu.org/sof= tware/guix/manual/html_node/Defining-Packages.html>,
and do not hesitate to ask for guidance here or on #guix on IRC!

HTH,
Ludo=E2=80=99.

--001a11395eea2c6cfe056741a4bb-- --001a11395eea2c6d02056741a4bd Content-Type: text/x-scheme; charset="UTF-8"; name="video.scm" Content-Disposition: attachment; filename="video.scm" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jep0exbh0 Ozs7IEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBhY2thZ2UgbWFuYWdlbWVudCBmb3IgR05VCjs7 OyBDb3B5cmlnaHQgwqkgMjAxMywgMjAxNCwgMjAxNSwgMjAxNiBBbmRyZWFzIEVuZ2UgPGFuZHJl YXNAZW5nZS5mcj4KOzs7IENvcHlyaWdodCDCqSAyMDE0LCAyMDE1LCAyMDE2IERhdmlkIFRob21w c29uIDxkYXZldEBnbnUub3JnPgo7OzsgQ29weXJpZ2h0IMKpIDIwMTQsIDIwMTUsIDIwMTYgTWFy ayBIIFdlYXZlciA8bWh3QG5ldHJpcy5vcmc+Cjs7OyBDb3B5cmlnaHQgwqkgMjAxNSBUYXlsYW4g VWxyaWNoIEJhecSxcmzEsS9LYW1tZXIgPHRheWxhbmJheWlybGlAZ21haWwuY29tPgo7OzsgQ29w eXJpZ2h0IMKpIDIwMTUsIDIwMTYsIDIwMTcsIDIwMTggRWZyYWltIEZsYXNobmVyIDxlZnJhaW1A Zmxhc2huZXIuY28uaWw+Cjs7OyBDb3B5cmlnaHQgwqkgMjAxNSBBbmR5IFBhdHRlcnNvbiA8YWpw YXR0ZXJAdXdhdGVybG9vLmNhPgo7OzsgQ29weXJpZ2h0IMKpIDIwMTUgUmljYXJkbyBXdXJtdXMg PHJla2Fkb0BlbGVwaGx5Lm5ldD4KOzs7IENvcHlyaWdodCDCqSAyMDE1LCAyMDE2LCAyMDE3LCAy MDE4IEFsZXggVm9uZyA8YWxleHZvbmcxOTk1QGdtYWlsLmNvbT4KOzs7IENvcHlyaWdodCDCqSAy MDE2LCAyMDE3IEFsZXggR3JpZmZpbiA8YUBhamdyZi5jb20+Cjs7OyBDb3B5cmlnaHQgwqkgMjAx NiBLZWkgS2VicmVhdSA8a2tlYnJlYXVAcG9zdGVvLm5ldD4KOzs7IENvcHlyaWdodCDCqSAyMDE2 IERtaXRyeSBOaWtvbGFldiA8Y2FtZWx0aGVtYW5AZ21haWwuY29tPgo7OzsgQ29weXJpZ2h0IMKp IDIwMTYgQW5keSBQYXR0ZXJzb24gPGFqcGF0dGVyQHV3YXRlcmxvby5jYT4KOzs7IENvcHlyaWdo dCDCqSAyMDE2LCAyMDE3IG5nMCA8bmcwQGluZm90cm9waXF1ZS5vcmc+Cjs7OyBDb3B5cmlnaHQg wqkgMjAxNiBFcmljIEJhdmllciA8YmF2aWVyQG1lbWJlci5mc2Yub3JnPgo7OzsgQ29weXJpZ2h0 IMKpIDIwMTYgSmFuIE5pZXV3ZW5odWl6ZW4gPGphbm5la2VAZ251Lm9yZz4KOzs7IENvcHlyaWdo dCDCqSAyMDE3IEZlbmcgU2h1IDx0dW1hc2h1QDE2My5jb20+Cjs7OyBDb3B5cmlnaHQgwqkgMjAx NywgMjAxOCBUb2JpYXMgR2VlcmluY2t4LVJpY2UgPG1lQHRvYmlhcy5ncj4KOzs7IENvcHlyaWdo dCDCqSAyMDE3IENocmlzIE1hcnVzaWNoIDxjbW1hcnVzaWNoQGdtYWlsLmNvbT4KOzs7IENvcHly aWdodCDCqSAyMDE3IFRob21hcyBEYW5ja2FlcnQgPHBvc3RAdGhvbWFzZGFuY2thZXJ0LmJlPgo7 OzsgQ29weXJpZ2h0IMKpIDIwMTcgRXRoYW4gUi4gSm9uZXMgPGRvdWJsZXBsdXNnb29kMjNAZ21h aWwuY29tPgo7OzsgQ29weXJpZ2h0IMKpIDIwMTcgQ2zDqW1lbnQgTGFzc2lldXIgPGNsZW1lbnRA bGFzc2lldXIub3JnPgo7OzsgQ29weXJpZ2h0IMKpIDIwMTcgR3JlZ29yIEdpZXNlbiA8Z2llc2Vu QHphZWhsd2Vyay5uZXQ+Cjs7OyBDb3B5cmlnaHQgwqkgMjAxNywgMjAxOCBSdXRnZXIgSGVsbGlu ZyA8cmhlbGxpbmdAbXlrb2xhYi5jb20+Cjs7OyBDb3B5cmlnaHQgwqkgMjAxOCBSb2VsIEphbnNz ZW4gPHJvZWxAZ251Lm9yZz4KOzs7IENvcHlyaWdodCDCqSAyMDE4IE1hcml1cyBCYWtrZSA8bWJh a2tlQGZhc3RtYWlsLmNvbT4KOzs7Cjs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4K Ozs7Cjs7OyBHTlUgR3VpeCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5IGl0Cjs7OyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQo7OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cjs7OyB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCjs7Owo7OzsgR05VIEd1aXggaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Cjs7OyBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCjs7OyBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Cjs7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo7OzsKOzs7 IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCjs7OyBhbG9uZyB3aXRoIEdOVSBHdWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKKGRlZmluZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB2aWRl bykKICAjOnVzZS1tb2R1bGUgKGljZS05IG1hdGNoKQogICM6dXNlLW1vZHVsZSAoc3JmaSBzcmZp LTEpCiAgIzp1c2UtbW9kdWxlICgoZ3VpeCBsaWNlbnNlcykgIzpwcmVmaXggbGljZW5zZTopCiAg Izp1c2UtbW9kdWxlIChndWl4IHV0aWxzKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBwYWNrYWdlcykK ICAjOnVzZS1tb2R1bGUgKGd1aXggZG93bmxvYWQpCiAgIzp1c2UtbW9kdWxlIChndWl4IGdpdC1k b3dubG9hZCkKICAjOnVzZS1tb2R1bGUgKGd1aXggc3ZuLWRvd25sb2FkKQogICM6dXNlLW1vZHVs ZSAoZ3VpeCBidWlsZC1zeXN0ZW0gY21ha2UpCiAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5 c3RlbSBnbnUpCiAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBnbGliLW9yLWd0aykK ICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIG1lc29uKQogICM6dXNlLW1vZHVsZSAo Z3VpeCBidWlsZC1zeXN0ZW0gcHl0aG9uKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0 ZW0gd2FmKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzKQogICM6dXNlLW1vZHVsZSAoZ251 IHBhY2thZ2VzIGFsZ2VicmEpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYXVkaW8pCiAg Izp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYXV0b3Rvb2xzKQogICM6dXNlLW1vZHVsZSAoZ251 IHBhY2thZ2VzIGF2YWhpKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGJhc2UpCiAgIzp1 c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYmlzb24pCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn ZXMgYm9vc3QpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY2Ryb20pCiAgIzp1c2UtbW9k dWxlIChnbnUgcGFja2FnZXMgY2hlY2spCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY21h a2UpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY29tcHJlc3Npb24pCiAgIzp1c2UtbW9k dWxlIChnbnUgcGFja2FnZXMgY3BwKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGN1cmwp CiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZGF0YWJhc2VzKQogICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIGRlamFnbnUpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZG9jYm9v aykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBkb2N1bWVudGF0aW9uKQogICM6dXNlLW1v ZHVsZSAoZ251IHBhY2thZ2VzIGVsZikKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBmaWxl KQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGZsZXgpCiAgIzp1c2UtbW9kdWxlIChnbnUg cGFja2FnZXMgZm9udHV0aWxzKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGZyZWVkZXNr dG9wKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGZyaWJpZGkpCiAgIzp1c2UtbW9kdWxl IChnbnUgcGFja2FnZXMgZ2V0dGV4dCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnaG9z dHNjcmlwdCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnbCkKICAjOnVzZS1tb2R1bGUg KGdudSBwYWNrYWdlcyBnbGliKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGd1aWxlKQog ICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdub21lKQogICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIGdudXBnKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdzdHJlYW1lcikKICAj OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBndGspCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn ZXMgaW1hZ2UpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaW1hZ2VtYWdpY2spCiAgIzp1 c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaXNvLWNvZGVzKQogICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIGxpYnJlb2ZmaWNlKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpbnV4KQog ICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGx1YSkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcyBtNCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBtYW4pCiAgIzp1c2UtbW9kdWxl IChnbnUgcGFja2FnZXMgbXAzKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIG5jdXJzZXMp CiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgb2NyKQogICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIHBlcmwpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcGtnLWNvbmZpZykKICAj OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwb3B0KQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2th Z2VzIHB1bHNlYXVkaW8pCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcHl0aG9uKQogICM6 dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB5dGhvbi1jcnlwdG8pCiAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgcHl0aG9uLXdlYikKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBxdCkK ICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBydWJ5KQogICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIHNkbCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBzZXJpYWxpemF0aW9uKQog ICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHNoZWxscykKICAjOnVzZS1tb2R1bGUgKGdudSBw YWNrYWdlcyBzc2gpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdGV4aW5mbykKICAjOnVz ZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0ZXh0dXRpbHMpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFj a2FnZXMgdGxzKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHZlcnNpb24tY29udHJvbCkK ICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB2dWxrYW4pCiAgIzp1c2UtbW9kdWxlIChnbnUg cGFja2FnZXMgd2ViKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHdlYmtpdCkKICAjOnVz ZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB3eHdpZGdldHMpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFj a2FnZXMgeGRpc29yZykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4aXBoKQogICM6dXNl LW1vZHVsZSAoZ251IHBhY2thZ2VzIHhtbCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4 b3JnKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGFzc2VtYmx5KSkKCihkZWZpbmUtcHVi bGljIGFhbGliCiAgKHBhY2thZ2UKICAgIChuYW1lICJhYWxpYiIpCiAgICAodmVyc2lvbiAiMS40 cmM1IikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNo KQogICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgIm1pcnJvcjovL3NvdXJjZWZvcmdl L2FhLXByb2plY3QvYWEtbGliLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZl cnNpb24gIi8iIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgICAgICAgICAoc2hh MjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgICAgICIxdmtoMTlnYjc2YWd2 aDRoODd5c2JyZ3k4Mmhydzg4bG5zdmh5bmpmNHZuZzYyOWRtcGd2IikpKSkKICAgIChidWlsZC1z eXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChuYXRpdmUtaW5wdXRzCiAgICAgYCgoIm1ha2Vp bmZvIiAsdGV4aW5mbykpKQogICAgKGlucHV0cwogICAgIGAoKCJuY3Vyc2VzIiAsbmN1cnNlcykp KQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpwaGFzZXMKICAgICAgIChtb2RpZnktcGhhc2VzICVz dGFuZGFyZC1waGFzZXMKICAgICAgICAgKHJlcGxhY2UgJ2NvbmZpZ3VyZQogICAgICAgICAgICAg ICAgICAobGFtYmRhKiAoIzprZXkgYnVpbGQgaW5wdXRzIG91dHB1dHMgIzphbGxvdy1vdGhlci1r ZXlzKQogICAgICAgICAgICAgICAgICAgIDs7IFRoaXMgb2xkIGBjb25maWd1cmUnIHNjcmlwdCBk b2Vzbid0IHN1cHBvcnQKICAgICAgICAgICAgICAgICAgICA7OyB2YXJpYWJsZXMgcGFzc2VkIGFz IGFyZ3VtZW50cy4KICAgICAgICAgICAgICAgICAgICAobGV0ICgob3V0ICAgICAoYXNzb2MtcmVm IG91dHB1dHMgIm91dCIpKQogICAgICAgICAgICAgICAgICAgICAgICAgIChuY3Vyc2VzIChhc3Nv Yy1yZWYgaW5wdXRzICJuY3Vyc2VzIikpKQogICAgICAgICAgICAgICAgICAgICAgKHNldGVudiAi Q09ORklHX1NIRUxMIiAod2hpY2ggImJhc2giKSkKICAgICAgICAgICAgICAgICAgICAgICh6ZXJv PyAoc3lzdGVtKiAiLi9jb25maWd1cmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHN0cmluZy1hcHBlbmQgIi0tcHJlZml4PSIgb3V0KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICItLWJ1aWxkPSIgYnVpbGQpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgVGhlIGFuY2llbnQgY29uZmlnLmd1 ZXNzIGlzIHVuYWJsZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7 IGd1ZXNzIHRoZSBob3N0IHRyaXBsZXQgb24gbWlwczY0ZWwuCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAoaWYgKHN0cmluZz0/ICJtaXBzNjRlbC1saW51eCIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCVjdXJyZW50 LXN5c3RlbSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygi LS1ob3N0PW1pcHM2NGVsLXVua25vd24tbGludXgtZ251IikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOzsgVGhlIHNhbWUgaXMgYWxzbyB0cnVlIHdpdGggYWFyY2g2NC4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChpZiAoc3RyaW5nPT8gImFhcmNoNjQtbGlu dXgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICglY3VycmVudC1zeXN0ZW0pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICcoIi0taG9zdD1hYXJjaDY0LXVua25vd24tbGludXgtZ251IikKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIi0td2l0aC1uY3Vyc2VzPSIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuY3Vyc2VzKSkp KSkpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwOi8vYWEtcHJvamVjdC5zb3VyY2Vmb3JnZS5uZXQv YWFsaWIvIikKICAgIChzeW5vcHNpcyAiQVNDSUktYXJ0IGxpYnJhcnkiKQogICAgKGRlc2NyaXB0 aW9uCiAgICAgIkFBLWxpYiBpcyBhIGxvdyBsZXZlbCBnZnggbGlicmFyeSB3aGljaCBkb2VzIG5v dCByZXF1aXJlIGdyYXBoaWNzIGRldmljZS4KSW4gZmFjdCwgdGhlcmUgaXMgbm8gZ3JhcGhpY2Fs IG91dHB1dCBwb3NzaWJsZS4gIEFBLWxpYiByZXBsYWNlcyB0aG9zZQpvbGQtZmFzaGlvbmVkIG91 dHB1dCBtZXRob2RzIHdpdGggcG93ZXJmdWwgYXNjaWktYXJ0IHJlbmRlcmVyLiIpCiAgICAobGlj ZW5zZSBsaWNlbnNlOmxncGwyLjArKSkpCgooZGVmaW5lLXB1YmxpYyBsaWJhNTIKICAocGFja2Fn ZQogICAgKG5hbWUgImxpYmE1MiIpCiAgICAodmVyc2lvbiAiMC43LjQiKQogICAgKHNvdXJjZSAo b3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAgICAgICAgKHVy aSAoc3RyaW5nLWFwcGVuZAogICAgICAgICAgICAgICAgICAgIDs7IEEgbWlycm9yOi8vc291cmNl Zm9yZ2UgVVJJIGRvZXNuJ3Qgd29yaywgcHJlc3VtYWJseQogICAgICAgICAgICAgICAgICAgIDs7 IGJlY2F1c2UgdGhlIFNvdXJjZUZvcmdlIHByb2plY3QgaXMgbWlzY29uZmlndXJlZC4KICAgICAg ICAgICAgICAgICAgICAiaHR0cDovL2xpYmE1Mi5zb3VyY2Vmb3JnZS5uZXQvZmlsZXMvYTUyZGVj LSIgdmVyc2lvbgogICAgICAgICAgICAgICAgICAgICIudGFyLmd6IikpCiAgICAgICAgICAgICAg KHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMGN6Y2NwNGZj cGYyeWtwMTZ4Y3J6ZGZtbmlyY3oxeW5obHMzMzRxMzc0eGtuZDU3NDdkMiIpKQogICAgICAgICAg ICAgIChwYXRjaGVzIChzZWFyY2gtcGF0Y2hlcyAibGliYTUyLWVuYWJsZS1waWMucGF0Y2giCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJhNTItc2V0LXNvbmFtZS5w YXRjaCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYmE1Mi11c2Ut bXR1bmUtbm90LW1jcHUucGF0Y2giCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJsaWJhNTItbGluay13aXRoLWxpYm0ucGF0Y2giKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBn bnUtYnVpbGQtc3lzdGVtKQogICAgOzsgWFhYIFdlIG5lZWQgdG8gcnVuIC4vYm9vdHN0cmFwIGJl Y2F1c2Ugb2YgdGhlIGJ1aWxkIHN5c3RlbSBmaXhlcyBhYm92ZS4KICAgIChuYXRpdmUtaW5wdXRz CiAgICAgYCgoImF1dG9jb25mIiAsYXV0b2NvbmYpCiAgICAgICAoImF1dG9tYWtlIiAsYXV0b21h a2UpCiAgICAgICAoImxpYnRvb2wiICxsaWJ0b29sKSkpCiAgICAoYXJndW1lbnRzIGAoIzpjb25m aWd1cmUtZmxhZ3MgJygiLS1lbmFibGUtc2hhcmVkIikKICAgICAgICAgICAgICAgICAjOnBoYXNl cwogICAgICAgICAgICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAg ICAgICAgICAgICAgIDs7IFhYWCBXZSBuZWVkIHRvIHJ1biAuL2Jvb3RzdHJhcCBiZWNhdXNlIG9m IHRoZSBidWlsZAogICAgICAgICAgICAgICAgICAgOzsgc3lzdGVtIGZpeGVzIGFib3ZlLgogICAg ICAgICAgICAgICAgICAgKGFkZC1hZnRlcgogICAgICAgICAgICAgICAgICAgICd1bnBhY2sgJ2Jv b3RzdHJhcAogICAgICAgICAgICAgICAgICAgIChsYW1iZGEgXyAoemVybz8gKHN5c3RlbSogInNo IiAiYm9vdHN0cmFwIikpKSkpKSkKICAgIChob21lLXBhZ2UgImh0dHA6Ly9saWJhNTIuc291cmNl Zm9yZ2UubmV0LyIpCiAgICAoc3lub3BzaXMgIkFUU0MgQS81MiBzdHJlYW0gZGVjb2RlciIpCiAg ICAoZGVzY3JpcHRpb24gImxpYmE1MiBpcyBhIGxpYnJhcnkgZm9yIGRlY29kaW5nIEFUU0MgQS81 MiBzdHJlYW1zLiAgVGhlCkEvNTIgc3RhbmRhcmQgaXMgdXNlZCBpbiBhIHZhcmlldHkgb2YgYXBw bGljYXRpb25zLCBpbmNsdWRpbmcgZGlnaXRhbAp0ZWxldmlzaW9uIGFuZCBEVkQuICBJdCBpcyBh bHNvIGtub3duIGFzIEFDLTMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMispKSkKCihkZWZp bmUtcHVibGljIGxpYm1wZWcyCiAgKHBhY2thZ2UKICAgIChuYW1lICJsaWJtcGVnMiIpCiAgICAo dmVyc2lvbiAiMC41LjEiKQogICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhv ZCB1cmwtZmV0Y2gpCiAgICAgICAgICAgICAgOzsgQSBtaXJyb3I6Ly9zb3VyY2Vmb3JnZSBVUkkg ZG9lc24ndCB3b3JrLCBwcmVzdW1hYmx5CiAgICAgICAgICAgICAgOzsgYmVjYXVzZSB0aGUgU291 cmNlRm9yZ2UgcHJvamVjdCBpcyBtaXNjb25maWd1cmVkLgogICAgICAgICAgICAgICh1cmkgKHN0 cmluZy1hcHBlbmQgImh0dHA6Ly9saWJtcGVnMi5zb3VyY2Vmb3JnZS5uZXQvZmlsZXMvIgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIp KQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAg ICAgICAgIjFtM2kzMjJuMmZ3Z3J2YnMxeWNrN2c1bWQxZGJnMjJiaHE1eGRxbWpwejVtN2o0anhx bnkiKSkpKQogICAgKGlucHV0cwogICAgIGAoKCJsaWJ4MTEiICxsaWJ4MTEpCiAgICAgICAoImxp YnhleHQiICxsaWJ4ZXh0KQogICAgICAgKCJsaWJ4diIgLGxpYnh2KQogICAgICAgKCJsaWJzbSIg LGxpYnNtKQogICAgICAgKCJsaWJpY2UiICxsaWJpY2UpCiAgICAgICAoInNkbCIgLHNkbCkpKQog ICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKGhvbWUtcGFnZSAiaHR0cDov L2xpYm1wZWcyLnNvdXJjZWZvcmdlLm5ldC8iKQogICAgKHN5bm9wc2lzICJNUEVHMSBhbmQgTVBF RzIgdmlkZW8gZGVjb2RlciBsaWJyYXJ5IikKICAgIChkZXNjcmlwdGlvbgogICAgICJsaWJtcGVn MiBpcyBhIGxpYnJhcnkgd2hpY2ggY2FuIGRlY29kZSBNUEVHMSBhbmQgTVBFRzIgdmlkZW8gc3Ry ZWFtcy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwyKykpKQoKKGRlZmluZS1wdWJsaWMgbGli eDI2NAogIChwYWNrYWdlCiAgICAobmFtZSAibGlieDI2NCIpCiAgICAodmVyc2lvbiAiMjAxNzAz MTYtMjI0NSIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVybC1m ZXRjaCkKICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwczovL2Rvd25sb2Fk LnZpZGVvbGFuLm9yZy9wdWIveDI2NC9zbmFwc2hvdHMvIgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIngyNjQtc25hcHNob3QtIiB2ZXJzaW9uICIudGFyLmJ6MiIpKQogICAgICAg ICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjFz MW5udmwzYXh6MzhzdjRnMDlza2lqbDZrOW1iYm5nYmIxbnNoMjZ3NGRyMncyZ3l6YWQiKSkpKQog ICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1pbnB1dHMKICAg ICBgKCgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcpCiAgICAgICAoInlhc20iICx5YXNtKSkpCiAg ICA7OyBUT0RPOiBBZGQgZ3BhYyBpbnB1dAogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8g I2YgIDtubyBjaGVjayB0YXJnZXQKICAgICAgICM6Y29uZmlndXJlLWZsYWdzICcoIi0tZW5hYmxl LXNoYXJlZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgRG9uJ3QgYnVpbGQgdGhlIGNv bW1hbmQtbGluZSBwcm9ncmFtLiAgSWYgd2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsg d2FudCBpdCBsYXRlciwgd2Ugc2hvdWxkIGRvIHNvIGluIGEgZGlmZmVyZW50CiAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7IHBhY2thZ2UgdG8gYXZvaWQgYSBjaXJjdWxhciBkZXBlbmRlbmN5 ICh0aGUgeDI2NAogICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBwcm9ncmFtIGRlcGVuZHMg b24gZmZtcGVnIGFuZCBmZm1wZWcgZGVwZW5kcyBvbgogICAgICAgICAgICAgICAgICAgICAgICAg ICA7OyBsaWJ4MjY0KS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tZGlzYWJsZS1jbGki CgogICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBPbiBNSVBTLCB3ZSBtdXN0IHBhc3MgIi0t ZGlzYWJsZS1hc20iIG9yIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgY29uZmln dXJlIGZhaWxzIGFmdGVyIHByaW50aW5nOiAiWW91IHNwZWNpZmllZCBhCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIDs7IHByZS1NU0EgQ1BVIGluIHlvdXIgQ0ZMQUdTLiBJZiB5b3UgcmVhbGx5 IHdhbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgdG8gcnVuIG9uIHN1Y2ggYSBDUFUs IGNvbmZpZ3VyZSB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IC0tZGlzYWJsZS1h c20uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAsQChpZiAoc3RyaW5nLXByZWZpeD8gIm1p cHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3Ig KCVjdXJyZW50LXRhcmdldC1zeXN0ZW0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKCVjdXJyZW50LXN5c3RlbSkpKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnKCItLWRpc2FibGUtYXNtIikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJygpKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly93d3cudmlkZW9sYW4u b3JnL2RldmVsb3BlcnMveDI2NC5odG1sIikKICAgIChzeW5vcHNpcyAiSC4yNjQgdmlkZW8gY29k aW5nIGxpYnJhcnkiKQogICAgKGRlc2NyaXB0aW9uICJsaWJ4MjY0IGlzIGFuIGFkdmFuY2VkIGVu Y29kaW5nIGxpYnJhcnkgZm9yIGNyZWF0aW5nCkguMjY0IChNUEVHLTQgQVZDKSB2aWRlbyBzdHJl YW1zLiIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmdwbDIrICAgICAgICAgO21vc3QgZmls ZXMKICAgICAgICAgICAgICAgICAgIGxpY2Vuc2U6aXNjICAgICAgICAgICA7Y29tbW9uL3g4Ni94 ODZpbmMuYXNtCiAgICAgICAgICAgICAgICAgICBsaWNlbnNlOmxncGwyLjErICAgICAgO2V4dHJh cy9nZXRvcHQuYwogICAgICAgICAgICAgICAgICAgbGljZW5zZTpic2QtMyAgICAgICAgIDtleHRy YXMvaW50dHlwZXMuaAogICAgICAgICAgICAgICAgICAgKGxpY2Vuc2U6bm9uLWNvcHlsZWZ0IDtl eHRyYXMvY2wqLmgKICAgICAgICAgICAgICAgICAgICAiZmlsZTovL2V4dHJhcy9jbC5oIgogICAg ICAgICAgICAgICAgICAgICJTZWUgZXh0cmFzL2NsLmggaW4gdGhlIGRpc3RyaWJ1dGlvbi4iKSkp KSkKCihkZWZpbmUtcHVibGljIG1rdnRvb2xuaXgKICAocGFja2FnZQogICAgKG5hbWUgIm1rdnRv b2xuaXgiKQogICAgKHZlcnNpb24gIjEzLjAuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgog ICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRw czovL21rdnRvb2xuaXguZG93bmxvYWQvc291cmNlcy8iCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIG5hbWUgIi0iIHZlcnNpb24gIi50YXIueHoiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAo YmFzZTMyCiAgICAgICAgICIwaGtubm5ueDk2NjFpZ20xcjczZGM3YXF4bm5ybDVhOHl2eXZyMW5o ZDl5bW4ya2x3cGw1IikpCiAgICAgICAobW9kdWxlcyAnKChndWl4IGJ1aWxkIHV0aWxzKSkpCiAg ICAgICAoc25pcHBldAogICAgICAgICcoYmVnaW4KICAgICAgICAgICA7OyBEZWxldGUgYnVuZGxl ZCBsaWJyYXJpZXMuCiAgICAgICAgICAgKGZvci1lYWNoIGRlbGV0ZS1maWxlLXJlY3Vyc2l2ZWx5 CiAgICAgICAgICAgICAgICAgICAgICcoImxpYi9saWJlYm1sIgogICAgICAgICAgICAgICAgICAg ICAgICJsaWIvbGlibWF0cm9za2EiCiAgICAgICAgICAgICAgICAgICAgICAgImxpYi9ubG9obWFu bi1qc29uIgogICAgICAgICAgICAgICAgICAgICAgICJsaWIvcHVnaXhtbCIKICAgICAgICAgICAg ICAgICAgICAgICAibGliL3V0ZjgtY3BwIikpKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVp bGQtc3lzdGVtKQogICAgKGlucHV0cwogICAgIGAoKCJib29zdCIgLGJvb3N0KQogICAgICAgKCJi emlwMiIgLGJ6aXAyKQogICAgICAgKCJsaWJlYm1sIiAsbGliZWJtbCkKICAgICAgICgiZmxhYyIg LGZsYWMpCiAgICAgICAoImZpbGUiICxmaWxlKQogICAgICAgKCJsaWJtYXRyb3NrYSIgLGxpYm1h dHJvc2thKQogICAgICAgKCJsaWJvZ2ciICxsaWJvZ2cpCiAgICAgICAoImxpYnZvcmJpcyIgLGxp YnZvcmJpcykKICAgICAgICgibHpvIiAsbHpvKQogICAgICAgKCJwdWdpeG1sIiAscHVnaXhtbCkK ICAgICAgICgicXQiICxxdCkKICAgICAgICgidXRmY3BwIiAsdXRmY3BwKQogICAgICAgKCJ6bGli IiAsemxpYikpKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICBgKCgiZG9jYm9vay14c2wiICxkb2Ni b29rLXhzbCkKICAgICAgICgiZ2V0dGV4dCIgLGdldHRleHQtbWluaW1hbCkKICAgICAgICgiZ29v Z2xldGVzdCIgLGdvb2dsZXRlc3QpCiAgICAgICAoImxpYnhzbHQiICxsaWJ4c2x0KQogICAgICAg KCJubG9obWFubi1qc29uLWNwcCIgLG5sb2htYW5uLWpzb24tY3BwKQogICAgICAgKCJwZXJsIiAs cGVybCkKICAgICAgICgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcpCiAgICAgICAoInBvNGEiICxw bzRhKQogICAgICAgKCJydWJ5IiAscnVieSkpKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpjb25m aWd1cmUtZmxhZ3MKICAgICAgIChsaXN0IChzdHJpbmctYXBwZW5kICItLXdpdGgtYm9vc3Q9Igog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJib29z dCIpKQogICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIi0td2l0aC1kb2Nib29rLXhzbC1yb290 PSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAi ZG9jYm9vay14c2wiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIi94bWwveHNsL2RvY2Jv b2steHNsLSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICwocGFja2FnZS12ZXJzaW9uIGRv Y2Jvb2steHNsKSkKICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICItLXdpdGgtZXh0cmEtaW5j bHVkZXM9IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlYnVpbGQtaW5w dXRzICJubG9obWFubi1qc29uLWNwcCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2lu Y2x1ZGUvbmxvaG1hbm4iKSkKICAgICAgICAjOnBoYXNlcwogICAgICAgKG1vZGlmeS1waGFzZXMg JXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAoYWRkLWJlZm9yZSAnY29uZmlndXJlICdhZGQtZ29v Z2xldGVzdAogICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgKHN5bWxpbmsKICAgICAg ICAgICAgICAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImdvb2dsZXRl c3QiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvaW5jbHVkZS9ndGVzdCIpICJsaWIv Z3Rlc3QiKQogICAgICAgICAgICAgI3QpKQogICAgICAgICAocmVwbGFjZSAnYnVpbGQKICAgICAg ICAgICAobGFtYmRhIF8KICAgICAgICAgICAgIChsZXQgKCgtaiAobGlzdCAiLWoiIChudW1iZXIt PnN0cmluZyAocGFyYWxsZWwtam9iLWNvdW50KSkpKSkKICAgICAgICAgICAgICAgKHplcm8/IChh cHBseSBzeXN0ZW0qICJyYWtlIiAtaikpKSkpCiAgICAgICAgIChyZXBsYWNlICdjaGVjawogICAg ICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgKHplcm8/IChzeXN0ZW0qICJyYWtlIiAidGVz dHMvdW5pdCIpKSkpCiAgICAgICAgIChyZXBsYWNlICdpbnN0YWxsCiAgICAgICAgICAgKGxhbWJk YSBfCiAgICAgICAgICAgICAoemVybz8gKHN5c3RlbSogInJha2UiICJpbnN0YWxsIikpKSkpKSkK ICAgIChob21lLXBhZ2UgImh0dHBzOi8vbWt2dG9vbG5peC5kb3dubG9hZCIpCiAgICAoc3lub3Bz aXMgIlRvb2xzIHRvIGNyZWF0ZSwgYWx0ZXIgYW5kIGluc3BlY3QgTWF0cm9za2EgZmlsZXMiKQog ICAgKGRlc2NyaXB0aW9uCiAgICAgIk1LVlRvb2xOaXggcHJvdmlkZXMgdG9vbHMgZm9yIGdldHRp bmcgaW5mb3JtYXRpb24gYWJvdXQgTWF0cm9za2EgZmlsZXMKKEBjb2Rle21rdmluZm99KSwgZXh0 cmFjdGluZyB0cmFja3MvZGF0YSBmcm9tIE1hdHJvc2thIGZpbGVzIChAY29kZXtta3ZleHRyYWN0 fSkKYW5kIGNyZWF0aW5nIE1hdHJvc2thIGZpbGVzIGZyb20gb3RoZXIgbWVkaWEgZmlsZXMgKEBj b2Rle21rdm1lcmdlfSkuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMikpKQoKKGRlZmluZS1w dWJsaWMgeDI2NQogIChwYWNrYWdlCiAgICAobmFtZSAieDI2NSIpCiAgICAodmVyc2lvbiAiMi42 IikKICAgIChzb3VyY2UKICAgICAgKG9yaWdpbgogICAgICAgIChtZXRob2QgdXJsLWZldGNoKQog ICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8vZG93bmxvYWQudmlkZW9sYW4ub3Jn L3ZpZGVvbGFuL3gyNjUvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIngyNjVfIiB2ZXJz aW9uICIudGFyLmd6IikpCiAgICAgICAgKHNoYTI1NgogICAgICAgICAoYmFzZTMyCiAgICAgICAg ICAiMWd5ZDk0amt3ZGlpOTMwOG0wN255bXNieHJtcmNsODFjMGo4aTEwemhzbHIybWowN3cwdiIp KQogICAgICAgIChtb2R1bGVzICcoKGd1aXggYnVpbGQgdXRpbHMpKSkKICAgICAgICAoc25pcHBl dAogICAgICAgICAnKGRlbGV0ZS1maWxlLXJlY3Vyc2l2ZWx5ICJzb3VyY2UvY29tcGF0L2dldG9w dCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNtYWtlLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVu dHMKICAgICBgKCM6dGVzdHM/ICNmIDsgdGVzdHMgYXJlIHNraXBwZWQgaWYgY3B1LW9wdGltaXpl ZCBjb2RlIGlzbid0IGJ1aWx0CiAgICAgICA7OyBDdXJyZW50bHkgdGhlIHNvdXJjZSBjb2RlIGRv ZXNuJ3QgY2hlY2sgZm9yIGFhcmNoNjQKICAgICAgICxAKGlmIChzdHJpbmctcHJlZml4PyAiYWFy Y2g2NCIgKG9yICglY3VycmVudC10YXJnZXQtc3lzdGVtKSAoJWN1cnJlbnQtc3lzdGVtKSkpCiAg ICAgICAgICAgJygjOmNvbmZpZ3VyZS1mbGFncyAnKCItREVOQUJMRV9QSUM9VFJVRSIpKQogICAg ICAgICAgICcoKSkKICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRh cmQtcGhhc2VzCiAgICAgICAgIChhZGQtYmVmb3JlICdjb25maWd1cmUgJ3ByZXBhcmUtYnVpbGQK ICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAgICAgIChkZWxldGUtZmlsZS1yZWN1cnNpdmVs eSAiYnVpbGQiKQogICAgICAgICAgICAgKGNoZGlyICJzb3VyY2UiKQogICAgICAgICAgICAgI3Qp KSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cDovL3gyNjUub3JnLyIpCiAgICAoc3lub3BzaXMgIkxp YnJhcnkgZm9yIGVuY29kaW5nIGguMjY1L0hFVkMgdmlkZW8gc3RyZWFtcyIpCiAgICAoZGVzY3Jp cHRpb24gIngyNjUgaXMgYSBILjI2NSAvIEhFVkMgdmlkZW8gZW5jb2RlciBhcHBsaWNhdGlvbiBs aWJyYXJ5LApkZXNpZ25lZCB0byBlbmNvZGUgdmlkZW8gb3IgaW1hZ2VzIGludG8gYW4gSC4yNjUg LyBIRVZDIGVuY29kZWQgYml0c3RyZWFtLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmdwbDIrKSkp CgooZGVmaW5lLXB1YmxpYyBsaWJhc3MKICAocGFja2FnZQogICAgKG5hbWUgImxpYmFzcyIpCiAg ICAodmVyc2lvbiAiMC4xNC4wIikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgICht ZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQKICAgICAg ICAgICAgICAgICAgICAiaHR0cHM6Ly9naXRodWIuY29tL2xpYmFzcy9saWJhc3MvcmVsZWFzZXMv ZG93bmxvYWQvIgogICAgICAgICAgICAgICAgICAgIHZlcnNpb24gIi9saWJhc3MtIiB2ZXJzaW9u ICIudGFyLnh6IikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMy CiAgICAgICAgICAgICAgICAiMThpcXpubDRtYWJoajl5d2ZzejRrd3Zic3BsY3Yxamp4cTUwbnhz c3ZiajhteTEyNjd3OCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAg ICAobmF0aXZlLWlucHV0cwogICAgIGAoKCJwa2ctY29uZmlnIiAscGtnLWNvbmZpZykKICAgICAg ICgibmFzbSIgLG5hc20pKSkKICAgIChwcm9wYWdhdGVkLWlucHV0cwogICAgIGAoKCJmcmVldHlw ZSIgLGZyZWV0eXBlKQogICAgICAgKCJmcmliaWRpIiAsZnJpYmlkaSkKICAgICAgICgiZm9udGNv bmZpZyIgLGZvbnRjb25maWcpCiAgICAgICAoImhhcmZidXp6IiAsaGFyZmJ1enopCiAgICAgICAo ImVuY2EiICxlbmNhKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vbGliYXNz L2xpYmFzcyIpCiAgICAoc3lub3BzaXMgIlN1YnRpdGxlIHJlbmRlcmluZyBsaWJyYXJ5IGZvciB0 aGUgQVNTL1NTQSBmb3JtYXQiKQogICAgKGRlc2NyaXB0aW9uICJsaWJhc3MgaXMgYSBzdWJ0aXRs ZSByZW5kZXJpbmcgbGlicmFyeSBmb3IgdGhlCkFTUy9TU0EgKEFkdmFuY2VkIFN1YnN0YXRpb24g QWxwaGEvU3ViU3RhdGlvbiBBbHBoYSkgc3VidGl0bGUgZm9ybWF0LiIpCiAgICAobGljZW5zZSBs aWNlbnNlOmlzYykpKQoKKGRlZmluZS1wdWJsaWMgbGliY2FjYQogIChwYWNrYWdlCiAgICAobmFt ZSAibGliY2FjYSIpCiAgICAodmVyc2lvbiAiMC45OS5iZXRhMTkiKQogICAgKHNvdXJjZSAob3Jp Z2luCiAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAo c3RyaW5nLWFwcGVuZCAiaHR0cDovL2NhY2Euem95Lm9yZy9maWxlcy9saWJjYWNhL2xpYmNhY2Et IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAiLnRhci5neiIpKQog ICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAg ICAgIjF4M2o2eWZ5eGw1MmFkZ25hYnljcjBuMzhqOWh4Mmo3NGxhMGh6MG44Y25oOXJ5NGQycWoi KSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1pbnB1 dHMgYCgoInBrZy1jb25maWciICxwa2ctY29uZmlnKSkpCiAgICAoaW5wdXRzCiAgICAgYCgoImZy ZWVnbHV0IiAsZnJlZWdsdXQpCiAgICAgICAoImZ0Z2wiICxmdGdsKQogICAgICAgKCJpbWxpYjIi ICxpbWxpYjIpCiAgICAgICAoImxpYngxMSIgLGxpYngxMSkKICAgICAgICgibWVzYSIgLG1lc2Ep CiAgICAgICAoIm5jdXJzZXMiICxuY3Vyc2VzKQogICAgICAgKCJ6bGliIiAsemxpYikpKQogICAg KGhvbWUtcGFnZSAiaHR0cDovL2NhY2Euem95Lm9yZy93aWtpL2xpYmNhY2EiKQogICAgKHN5bm9w c2lzICJDb2xvdXIgQVNDSUktYXJ0IGxpYnJhcnkiKQogICAgKGRlc2NyaXB0aW9uICJsaWJjYWNh IGlzIGEgZ3JhcGhpY3MgbGlicmFyeSB0aGF0IG91dHB1dHMgdGV4dCBpbnN0ZWFkIG9mCnBpeGVs cywgc28gdGhhdCBpdCBjYW4gd29yayBvbiBvbGRlciB2aWRlbyBjYXJkcyBvciB0ZXh0IHRlcm1p bmFscy4gIEl0CnN1cHBvcnRzIFVuaWNvZGUsIDIwNDggY29sb3JzLCBkaXRoZXJpbmcgb2YgY29s b3IgaW1hZ2VzLCBhbmQgYWR2YW5jZWQgdGV4dApjYW52YXMgb3BlcmF0aW9ucy4iKQogICAgKGxp Y2Vuc2UgKGxpY2Vuc2U6ZnNmLWZyZWUgImZpbGU6Ly9DT1BZSU5HIikpKSkgO1dURlBMIHZlcnNp b24gMgoKKGRlZmluZS1wdWJsaWMgbGliZGNhCiAgKHBhY2thZ2UKICAgIChuYW1lICJsaWJkY2Ei KQogICAgKHZlcnNpb24gIjAuMC41IikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAg IChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQKICAg ICAgICAgICAgICAgICAgICAiaHR0cHM6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL3ZpZGVv bGFuL2xpYmRjYS8iCiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAiL2xpYmRjYS0iIHZlcnNp b24gIi50YXIuYnoyIikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFz ZTMyCiAgICAgICAgICAgICAgICAiMGhoNmE3bDh2dmNjc2Q1aTFma3Y5YXYyZ3p2OWZ5OG0wYjhq cHNuNXA2aGg0YmgyNTg2diIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0p CiAgICAoaG9tZS1wYWdlICJodHRwczovL3d3dy52aWRlb2xhbi5vcmcvZGV2ZWxvcGVycy9saWJk Y2EuaHRtbCIpCiAgICAoc3lub3BzaXMgIkRUUyBDb2hlcmVudCBBY291c3RpY3MgZGVjb2RlciIp CiAgICAoZGVzY3JpcHRpb24gImxpYmRjYSBpcyBhIGxpYnJhcnkgZm9yIGRlY29kaW5nIERUUyBD b2hlcmVudCBBY291c3RpY3MKc3RyZWFtcy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwyKykp KQoKKGRlZmluZS1wdWJsaWMgbGliZHYKICAocGFja2FnZQogICAgKG5hbWUgImxpYmR2IikKICAg ICh2ZXJzaW9uICIxLjAuMCIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0 aG9kIHVybC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kCiAgICAgICAg ICAgICAgICAgICAgIm1pcnJvcjovL3NvdXJjZWZvcmdlLyIgbmFtZSAiLyIgbmFtZSAiLyIKICAg ICAgICAgICAgICAgICAgICB2ZXJzaW9uICIvIiBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6Iikp CiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAg ICAgICAiMWZsOTZmMnhoMnNsa3YxaTFpeDdrcWs1NzZhMGFrMWQzM2N5bG0wbWJobTk2ZDA3NjFk MyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAobmF0aXZlLWlu cHV0cyBgKCgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcpKSkKICAgIChpbnB1dHMgYCgoImxpYnh2 IiAsbGlieHYpKSkKICAgIChob21lLXBhZ2UgImh0dHA6Ly9saWJkdi5zb3VyY2Vmb3JnZS5uZXQv IikKICAgIChzeW5vcHNpcyAiRFYgdmlkZW8gKElFQyA2MTgzNCBhbmQgU01QVEUgMzE0TSkgY29k ZWMiKQogICAgKGRlc2NyaXB0aW9uICJUaGUgUXVhc2FyIERWIGNvZGVjIChsaWJkdikgaXMgYSBz b2Z0d2FyZSBjb2RlYyBmb3IgRFYKdmlkZW8sIHRoZSBlbmNvZGluZyBmb3JtYXQgdXNlZCBieSBt b3N0IGRpZ2l0YWwgY2FtY29yZGVycywgdHlwaWNhbGx5IHRob3NlCnRoYXQgc3VwcG9ydCB0aGUg SUVFRSAxMzk0IChhLmsuYS4gRmlyZVdpcmUgb3IgaS5MaW5rKSBpbnRlcmZhY2UuICBMaWJkdiB3 YXMKZGV2ZWxvcGVkIGFjY29yZGluZyB0byB0aGUgb2ZmaWNpYWwgc3RhbmRhcmRzIGZvciBEViB2 aWRlbzogSUVDIDYxODM0IGFuZApTTVBURSAzMTRNLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmxn cGwyLjErKSkpCgooZGVmaW5lLXB1YmxpYyBsaWJtYXRyb3NrYQogIChwYWNrYWdlCiAgICAobmFt ZSAibGlibWF0cm9za2EiKQogICAgKHZlcnNpb24gIjEuNC44IikKICAgIChzb3VyY2UKICAgICAo b3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKHN0cmluZy1hcHBl bmQgImh0dHBzOi8vZGwubWF0cm9za2Eub3JnL2Rvd25sb2Fkcy8iCiAgICAgICAgICAgICAgICAg ICAgICAgICAgIG5hbWUgIi8iIG5hbWUgIi0iIHZlcnNpb24gIi50YXIueHoiKSkKICAgICAgIChz aGEyNTYKICAgICAgICAoYmFzZTMyCiAgICAgICAgICIxNG45c3c5NzRwcnIzeXA0eWpiN2FhZGk2 eDJ5ejVhMGhqdzhmczNxaWd5NXNoaDJwaXlxIikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1 aWxkLXN5c3RlbSkKICAgIChuYXRpdmUtaW5wdXRzCiAgICAgYCgoInBrZy1jb25maWciICxwa2ct Y29uZmlnKSkpCiAgICAoaW5wdXRzCiAgICAgYCgoImxpYmVibWwiICxsaWJlYm1sKSkpCiAgICAo aG9tZS1wYWdlICJodHRwczovL3d3dy5tYXRyb3NrYS5vcmciKQogICAgKHN5bm9wc2lzICJDKysg bGlicmFyeSB0byBwYXJzZSBNYXRyb3NrYSBmaWxlcyAoLm1rdiBhbmQgLm1rYSkiKQogICAgKGRl c2NyaXB0aW9uCiAgICAgIk1hdHJvc2thIGFpbXMgdG8gYmVjb21lIHRoZSBzdGFuZGFyZCBvZiBt dWx0aW1lZGlhIGNvbnRhaW5lciBmb3JtYXRzLgpJdCBpcyBiYXNlZCBvbiBAZGZue0VCTUx9IChF eHRlbnNpYmxlIEJpbmFyeSBNZXRhIExhbmd1YWdlKSwgYSBiaW5hcnkgZGVyaXZhdGl2ZQpvZiBY TUwuICBFQk1MIGVuYWJsZXMgdGhlIE1hdHJvc2thIERldmVsb3BtZW50IFRlYW0gdG8gZ2FpbiBz aWduaWZpY2FudAphZHZhbnRhZ2VzIGluIHRlcm1zIG9mIGZ1dHVyZSBmb3JtYXQgZXh0ZW5zaWJp bGl0eSwgd2l0aG91dCBicmVha2luZyBmaWxlCnN1cHBvcnQgaW4gb2xkIHBhcnNlcnMuCmxpYmVi bWwgaXMgYSBDKysgbGlicmFyeSB0byByZWFkIGFuZCB3cml0ZSBFQk1MIGZpbGVzLiIpCiAgICAo bGljZW5zZSBsaWNlbnNlOmxncGwyLjEpKSkKCihkZWZpbmUtcHVibGljIGxpYnZhCiAgKHBhY2th Z2UKICAgIChuYW1lICJsaWJ2YSIpCiAgICAodmVyc2lvbiAiMi4wLjAiKQogICAgKHNvdXJjZQog ICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgKHVyaSAobGlzdAog ICAgICAgICAgICAgOzsgTmV3ZXIgcmVsZWFzZXMgYXJlIG9ubHkgYXZhaWxhYmxlIG9uIEdpdEh1 Yi4KICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICJodHRwczovL2dpdGh1Yi5jb20vMDFvcmcv bGlidmEvcmVsZWFzZXMvZG93bmxvYWQvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVy c2lvbiAiL2xpYnZhLSIgdmVyc2lvbiAiLnRhci5iejIiKQogICAgICAgICAgICAgOzsgS2VlcCB0 aGUgb2xkIFVSTCBhcm91bmQgZm9yIGNvbXBhdGliaWxpdHkuCiAgICAgICAgICAgICAoc3RyaW5n LWFwcGVuZCAiaHR0cHM6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL3ZhYXBpL3JlbGVh c2VzLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJ2YS9saWJ2YS0iIHZlcnNpb24g Ii9saWJ2YS0iIHZlcnNpb24gIi50YXIuYnoyIikpKQogICAgICAgKHNoYTI1NgogICAgICAgIChi YXNlMzIgIjBjejVpNjJqbmlibW54MGk4MGk5eWlwcTM5djE2cXI2Znc0NjFmNmh2cmg5bGJ3aDIx bXYiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1p bnB1dHMKICAgICBgKCgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcpKSkKICAgIChpbnB1dHMKICAg ICBgKCgibGliZHJtIiAsbGliZHJtKQogICAgICAgKCJsaWJ4MTEiICxsaWJ4MTEpCiAgICAgICAo ImxpYnhleHQiICxsaWJ4ZXh0KQogICAgICAgKCJsaWJ4Zml4ZXMiICxsaWJ4Zml4ZXMpCiAgICAg ICAoIm1lc2EiICxtZXNhKSkpCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnBoYXNlcwogICAgICAg KG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAoYWRkLWJlZm9yZQogICAg ICAgICAgJ2J1aWxkICdmaXgtZGxvcGVuLXBhdGhzCiAgICAgICAgICAobGFtYmRhKiAoIzprZXkg b3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgIChsZXQgKChvdXQgKGFzc29j LXJlZiBvdXRwdXRzICJvdXQiKSkpCiAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJ2YS9kcm0v dmFfZHJtX2F1dGhfeDExLmMiCiAgICAgICAgICAgICAgICAoKCJcImxpYnZhLXgxMVxcLnNvXFwu JWRcIiIpCiAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIlwiIiBvdXQgIi9saWIvbGli dmEteDExLnNvLiVkXCIiKSkpKSkpKQogICAgICAgOzsgTW9zdCBkcml2ZXJzIGFyZSBpbiBtZXNh J3MgJHByZWZpeC9saWIvZHJpLCBzbyB1c2UgdGhhdC4gIChDYW4gYmUKICAgICAgIDs7IG92ZXJy aWRkZW4gYXQgcnVuLXRpbWUgdmlhIExJQlZBX0RSSVZFUlNfUEFUSC4pCiAgICAgICAjOmNvbmZp Z3VyZS1mbGFncwogICAgICAgKGxpc3QgKHN0cmluZy1hcHBlbmQgIi0td2l0aC1kcml2ZXJzLXBh dGg9IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRz ICJtZXNhIikgIi9saWIvZHJpIikpCiAgICAgICA7OyBIb3dldmVyLCB3ZSBjYW4ndCB3cml0ZSB0 byBtZXNhJ3Mgc3RvcmUgZGlyZWN0b3J5LCBzbyBvdmVycmlkZSB0aGUKICAgICAgIDs7IGZvbGxv d2luZyBtYWtlIHZhcmlhYmxlIHRvIGluc3RhbGwgdGhlIGR1bW15IGRyaXZlciB0byBsaWJ2YSdz CiAgICAgICA7OyAkcHJlZml4L2xpYi9kcmkgZGlyZWN0b3J5LgogICAgICAgIzptYWtlLWZsYWdz CiAgICAgICAobGlzdCAoc3RyaW5nLWFwcGVuZCAiZHVtbXlfZHJ2X3ZpZGVvX2xhZGlyPSIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgJW91dHB1dHMgIm91dCIpICIvbGli L2RyaSIpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lr aS9Tb2Z0d2FyZS92YWFwaS8iKQogICAgKHN5bm9wc2lzICJWaWRlbyBhY2NlbGVyYXRpb24gbGli cmFyeSIpCiAgICAoZGVzY3JpcHRpb24gIlRoZSBtYWluIG1vdGl2YXRpb24gZm9yIFZBLUFQSSAo VmlkZW8gQWNjZWxlcmF0aW9uIEFQSSkgaXMKdG8gZW5hYmxlIGhhcmR3YXJlIGFjY2VsZXJhdGVk IHZpZGVvIGRlY29kZS9lbmNvZGUgYXQgdmFyaW91cwplbnRyeS1wb2ludHMgKFZMRCwgSURDVCwg TW90aW9uIENvbXBlbnNhdGlvbiBldGMuKSBmb3IgcHJldmFpbGluZyBjb2RpbmcKc3RhbmRhcmRz IChNUEVHLTIsIE1QRUctNCBBU1AvSC4yNjMsIE1QRUctNCBBVkMvSC4yNjQsIGFuZCBWQy0xL1ZN VzMpLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBmZm1w ZWcKICAocGFja2FnZQogICAgKG5hbWUgImZmbXBlZyIpCiAgICAodmVyc2lvbiAiMy40LjIiKQog ICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAg ICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8vZmZtcGVnLm9yZy9yZWxlYXNlcy9m Zm1wZWctIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICIudGFyLnh6 IikpCiAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAg ICAgICAiMGg2cHJqbjFpamt6emhreWo4bWF6cDB3cHg3bTBuOXljYWRqeGFnZjljenFpcmJ5azRp YiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAoaW5wdXRzCiAg ICAgYCgoImZvbnRjb25maWciICxmb250Y29uZmlnKQogICAgICAgKCJmcmVldHlwZSIgLGZyZWV0 eXBlKQogICAgICAgKCJmcmVpMHItcGx1Z2lucyIgLGZyZWkwci1wbHVnaW5zKQogICAgICAgKCJn bnV0bHMiICxnbnV0bHMpCiAgICAgICAoIm9wdXMiICxvcHVzKQogICAgICAgKCJsYWRzcGEiICxs YWRzcGEpCiAgICAgICAoImxhbWUiICxsYW1lKQogICAgICAgKCJsaWJhc3MiICxsaWJhc3MpCiAg ICAgICAoImxpYmJsdXJheSIgLGxpYmJsdXJheSkKICAgICAgICgibGliY2FjYSIgLGxpYmNhY2Ep CiAgICAgICAoImxpYmNkaW8tcGFyYW5vaWEiICxsaWJjZGlvLXBhcmFub2lhKQogICAgICAgKCJs aWJ0aGVvcmEiICxsaWJ0aGVvcmEpCiAgICAgICAoImxpYnZhIiAsbGlidmEpCiAgICAgICAoImxp YnZkcGF1IiAsbGlidmRwYXUpCiAgICAgICAoImxpYnZvcmJpcyIgLGxpYnZvcmJpcykKICAgICAg ICgibGlidnB4IiAsbGlidnB4KQogICAgICAgKCJsaWJ4MTEiICxsaWJ4MTEpCiAgICAgICAoImxp YngyNjQiICxsaWJ4MjY0KQogICAgICAgKCJtZXNhIiAsbWVzYSkKICAgICAgICgib3BlbmFsIiAs b3BlbmFsKQogICAgICAgKCJwdWxzZWF1ZGlvIiAscHVsc2VhdWRpbykKICAgICAgICgic2RsIiAs c2RsMikKICAgICAgICgic294ciIgLHNveHIpCiAgICAgICAoInNwZWV4IiAsc3BlZXgpCiAgICAg ICAoInR3b2xhbWUiICx0d29sYW1lKQogICAgICAgKCJ4MjY1IiAseDI2NSkKICAgICAgICgieHZp ZCIgLHh2aWQpCiAgICAgICAoInpsaWIiICx6bGliKSkpCiAgICAobmF0aXZlLWlucHV0cwogICAg IGAoKCJiYyIgLGJjKQogICAgICAgKCJwZXJsIiAscGVybCkKICAgICAgICgicGtnLWNvbmZpZyIg LHBrZy1jb25maWcpCiAgICAgICAoInRleGluZm8iICx0ZXhpbmZvKQogICAgICAgKCJweXRob24i ICxweXRob24tMikgOyBzY3JpcHRzIHVzZSBpbnRlcnByZXRlciBweXRob24yCiAgICAgICAoInNw ZWV4IiAsc3BlZXgpCiAgICAgICAoInlhc20iICx5YXNtKSkpCiAgICAoYXJndW1lbnRzCiAgICAg YCgjOnRlc3QtdGFyZ2V0ICJmYXRlIgogICAgICAgIzpjb25maWd1cmUtZmxhZ3MKICAgICAgIDs7 IHBvc3NpYmxlIGFkZGl0aW9uYWwgaW5wdXRzOgogICAgICAgOzsgICAtLWVuYWJsZS1hdmlzeW50 aCAgICAgICAgZW5hYmxlIHJlYWRpbmcgb2YgQXZpU3ludGggc2NyaXB0CiAgICAgICA7OyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyBbbm9dCiAgICAgICA7OyAgIC0tZW5hYmxlLWxp YmFhY3BsdXMgICAgICBlbmFibGUgQUFDKyBlbmNvZGluZyB2aWEgbGliYWFjcGx1cyBbbm9dCiAg ICAgICA7OyAgIC0tZW5hYmxlLWxpYmNlbHQgICAgICAgICBlbmFibGUgQ0VMVCBkZWNvZGluZyB2 aWEgbGliY2VsdCBbbm9dCiAgICAgICA7OyAgIC0tZW5hYmxlLWxpYmRjMTM5NCAgICAgICBlbmFi bGUgSUlEQy0xMzk0IGdyYWJiaW5nIHVzaW5nIGxpYmRjMTM5NAogICAgICAgOzsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYW5kIGxpYnJhdzEzOTQgW25vXQogICAgICAgOzsgICAtLWVuYWJs ZS1saWJmYWFjICAgICAgICAgZW5hYmxlIEFBQyBlbmNvZGluZyB2aWEgbGliZmFhYyBbbm9dCiAg ICAgICA7OyAgIC0tZW5hYmxlLWxpYmZkay1hYWMgICAgICBlbmFibGUgQUFDIGRlL2VuY29kaW5n IHZpYSBsaWJmZGstYWFjIFtub10KICAgICAgIDs7ICAgLS1lbmFibGUtbGliZmxpdGUgICAgICAg IGVuYWJsZSBmbGl0ZSAodm9pY2Ugc3ludGhlc2lzKSBzdXBwb3J0IHZpYQogICAgICAgOzsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGliZmxpdGUgW25vXQogICAgICAgOzsgICAtLWVuYWJs ZS1saWJnbWUgICAgICAgICAgZW5hYmxlIEdhbWUgTXVzaWMgRW11IHZpYSBsaWJnbWUgW25vXQog ICAgICAgOzsgICAtLWVuYWJsZS1saWJnc20gICAgICAgICAgZW5hYmxlIEdTTSBkZS9lbmNvZGlu ZyB2aWEgbGliZ3NtIFtub10KICAgICAgIDs7ICAgLS1lbmFibGUtbGliaWVjNjE4ODMgICAgIGVu YWJsZSBpZWM2MTg4MyB2aWEgbGliaWVjNjE4ODMgW25vXQogICAgICAgOzsgICAtLWVuYWJsZS1s aWJpbGJjICAgICAgICAgZW5hYmxlIGlMQkMgZGUvZW5jb2RpbmcgdmlhIGxpYmlsYmMgW25vXQog ICAgICAgOzsgICAtLWVuYWJsZS1saWJtb2RwbHVnICAgICAgZW5hYmxlIE1vZFBsdWcgdmlhIGxp Ym1vZHBsdWcgW25vXQogICAgICAgOzsgICAtLWVuYWJsZS1saWJudXQgICAgICAgICAgZW5hYmxl IE5VVCAoZGUpbXV4aW5nIHZpYSBsaWJudXQsCiAgICAgICA7OyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBuYXRpdmUgKGRlKW11eGVyIGV4aXN0cyBbbm9dCiAgICAgICA7OyAgIC0tZW5hYmxl LWxpYm9wZW5jb3JlLWFtcm5iICAgIGVuYWJsZSBBTVItTkIgZGUvZW5jb2RpbmcgdmlhCiAgICAg ICA7OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYm9wZW5jb3JlLWFtcm5iIFtu b10KICAgICAgIDs7ICAgLS1lbmFibGUtbGlib3BlbmNvcmUtYW1yd2IgICAgZW5hYmxlIEFNUi1X QiBkZWNvZGluZyB2aWEKICAgICAgIDs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGlib3BlbmNvcmUtYW1yd2IgW25vXQogICAgICAgOzsgICAtLWVuYWJsZS1saWJvcGVuY3YgICAg ICAgZW5hYmxlIHZpZGVvIGZpbHRlcmluZyB2aWEgbGlib3BlbmN2IFtub10KICAgICAgIDs7ICAg LS1lbmFibGUtbGlib3BlbmpwZWcgICAgIGVuYWJsZSBKUEVHIDIwMDAgZGUvZW5jb2Rpbmcgdmlh CiAgICAgICA7OyAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcGVuSlBFRyBbbm9dCiAgICAg ICA7OyAgIC0tZW5hYmxlLWxpYnJ0bXAgICAgICAgICBlbmFibGUgUlRNUFtFXSBzdXBwb3J0IHZp YSBsaWJydG1wIFtub10KICAgICAgIDs7ICAgLS1lbmFibGUtbGlic2Nocm9lZGluZ2VyIGVuYWJs ZSBEaXJhYyBkZS9lbmNvZGluZyB2aWEKICAgICAgIDs7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnNjaHJvZWRpbmdlciBbbm9dCiAgICAgICA7OyAgIC0tZW5hYmxlLWxpYnNoaW5lICAg ICAgICBlbmFibGUgZml4ZWQtcG9pbnQgTVAzIGVuY29kaW5nIHZpYQogICAgICAgOzsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGlic2hpbmUgW25vXQogICAgICAgOzsgICAtLWVuYWJsZS1s aWJzc2ggICAgICAgICAgZW5hYmxlIFNGVFAgcHJvdG9jb2wgdmlhIGxpYnNzaCBbbm9dCiAgICAg ICA7OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlic3NoMiBkb2VzIG5vdCB3b3JrKQog ICAgICAgOzsgICAtLWVuYWJsZS1saWJzdGFnZWZyaWdodC1oMjY0ICBlbmFibGUgSC4yNjQgZGVj b2RpbmcgdmlhCiAgICAgICA7OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnN0 YWdlZnJpZ2h0IFtub10KICAgICAgIDs7ICAgLS1lbmFibGUtbGlidXR2aWRlbyAgICAgIGVuYWJs ZSBVdCBWaWRlbyBlbmNvZGluZyBhbmQgZGVjb2RpbmcgdmlhCiAgICAgICA7OyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ1dHZpZGVvIFtub10KICAgICAgIDs7ICAgLS1lbmFibGUtbGli djRsMiAgICAgICAgIGVuYWJsZSBsaWJ2NGwyL3Y0bC11dGlscyBbbm9dCiAgICAgICA7OyAgIC0t ZW5hYmxlLWxpYnZpZHN0YWIgICAgICBlbmFibGUgdmlkZW8gc3RhYmlsaXphdGlvbiB1c2luZwog ICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlkLnN0YWIgW25vXQogICAgICAg OzsgICAtLWVuYWJsZS1saWJ2by1hYWNlbmMgICAgZW5hYmxlIEFBQyBlbmNvZGluZyB2aWEgbGli dm8tYWFjZW5jIFtub10KICAgICAgIDs7ICAgLS1lbmFibGUtbGlidm8tYW1yd2JlbmMgIGVuYWJs ZSBBTVItV0IgZW5jb2RpbmcgdmlhCiAgICAgICA7OyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ2by1hbXJ3YmVuYyBbbm9dCiAgICAgICA7OyAgIC0tZW5hYmxlLWxpYndhdnBhY2sgICAg ICBlbmFibGUgd2F2cGFjayBlbmNvZGluZyB2aWEgbGlid2F2cGFjayBbbm9dCiAgICAgICA7OyAg IC0tZW5hYmxlLWxpYnhhdnMgICAgICAgICBlbmFibGUgQVZTIGVuY29kaW5nIHZpYSB4YXZzIFtu b10KICAgICAgIDs7ICAgLS1lbmFibGUtbGliem1xICAgICAgICAgIGVuYWJsZSBtZXNzYWdlIHBh c3NpbmcgdmlhIGxpYnptcSBbbm9dCiAgICAgICA7OyAgIC0tZW5hYmxlLWxpYnp2YmkgICAgICAg ICBlbmFibGUgdGVsZXRleHQgc3VwcG9ydCB2aWEgbGlienZiaSBbbm9dCiAgICAgICA7OyAgIC0t ZW5hYmxlLW9wZW5jbCAgICAgICAgICBlbmFibGUgT3BlbkNMIGNvZGUKICAgICAgICcoIi0tZW5h YmxlLWF2cmVzYW1wbGUiCiAgICAgICAgICItLWVuYWJsZS1ncGwiIDsgZW5hYmxlIG9wdGlvbmFs IGdwbCBsaWNlbnNlZCBwYXJ0cwogICAgICAgICAiLS1lbmFibGUtc2hhcmVkIgogICAgICAgICAi LS1lbmFibGUtZnJlaTByIgogICAgICAgICAiLS1lbmFibGUtZm9udGNvbmZpZyIKICAgICAgICAg Ii0tZW5hYmxlLWdudXRscyIKICAgICAgICAgIi0tZW5hYmxlLWxhZHNwYSIKICAgICAgICAgIi0t ZW5hYmxlLWxpYmFzcyIKICAgICAgICAgIi0tZW5hYmxlLWxpYmJsdXJheSIKICAgICAgICAgIi0t ZW5hYmxlLWxpYmNhY2EiCiAgICAgICAgICItLWVuYWJsZS1saWJjZGlvIgogICAgICAgICAiLS1l bmFibGUtbGliZnJlZXR5cGUiCiAgICAgICAgICItLWVuYWJsZS1saWJtcDNsYW1lIgogICAgICAg ICAiLS1lbmFibGUtbGlib3B1cyIKICAgICAgICAgIi0tZW5hYmxlLWxpYnB1bHNlIgogICAgICAg ICAiLS1lbmFibGUtbGlic294ciIKICAgICAgICAgIi0tZW5hYmxlLWxpYnNwZWV4IgogICAgICAg ICAiLS1lbmFibGUtbGlidGhlb3JhIgogICAgICAgICAiLS1lbmFibGUtbGlidHdvbGFtZSIKICAg ICAgICAgIi0tZW5hYmxlLWxpYnZvcmJpcyIKICAgICAgICAgIi0tZW5hYmxlLWxpYnZweCIKICAg ICAgICAgIi0tZW5hYmxlLWxpYnh2aWQiCiAgICAgICAgICItLWVuYWJsZS1saWJ4MjY0IgogICAg ICAgICAiLS1lbmFibGUtbGlieDI2NSIKICAgICAgICAgIi0tZW5hYmxlLW9wZW5hbCIKICAgICAg ICAgIi0tZW5hYmxlLW9wZW5nbCIKCiAgICAgICAgICItLWVuYWJsZS1ydW50aW1lLWNwdWRldGVj dCIKCiAgICAgICAgIDs7IFRoZSBIVE1MIHBhZ2VzIHRha2UgNy4yIE1pQgogICAgICAgICAiLS1k aXNhYmxlLWh0bWxwYWdlcyIKCiAgICAgICAgIDs7IFRoZSBzdGF0aWMgbGlicmFyaWVzIGFyZSAy MyBNaUIKICAgICAgICAgIi0tZGlzYWJsZS1zdGF0aWMiCgogICAgICAgICA7OyBSdW50aW1lIGNw dSBkZXRlY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIG9uCiAgICAgICAgIDs7IE1JUFMsIHNvIHdl IGRpc2FibGUgc29tZSBmZWF0dXJlcy4KICAgICAgICAgIi0tZGlzYWJsZS1taXBzMzJyMiIKICAg ICAgICAgIi0tZGlzYWJsZS1taXBzZHNwIgogICAgICAgICAiLS1kaXNhYmxlLW1pcHNkc3ByMiIK ICAgICAgICAgIi0tZGlzYWJsZS1taXBzZnB1IikKICAgICAgICM6cGhhc2VzCiAgICAgICAobW9k aWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgIChyZXBsYWNlCiAgICAgICAgICAn Y29uZmlndXJlCiAgICAgICAgICA7OyBjb25maWd1cmUgZG9lcyBub3Qgd29yayBmb2xsb3dlZCBi eSAiU0hFTEw9Li4uIiBhbmQKICAgICAgICAgIDs7ICJDT05GSUdfU0hFTEw9Li4uIjsgc2V0IGVu dmlyb25tZW50IHZhcmlhYmxlcyBpbnN0ZWFkCiAgICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0 cHV0cyBjb25maWd1cmUtZmxhZ3MgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAobGV0 ICgob3V0IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikpKQogICAgICAgICAgICAgIChzdWJzdGl0 dXRlKiAiY29uZmlndXJlIgogICAgICAgICAgICAgICAgKCgiIyEgL2Jpbi9zaCIpIChzdHJpbmct YXBwZW5kICIjISIgKHdoaWNoICJzaCIpKSkpCiAgICAgICAgICAgICAgKHNldGVudiAiU0hFTEwi ICh3aGljaCAiYmFzaCIpKQogICAgICAgICAgICAgIChzZXRlbnYgIkNPTkZJR19TSEVMTCIgKHdo aWNoICJiYXNoIikpCiAgICAgICAgICAgICAgKHplcm8/IChhcHBseSBzeXN0ZW0qCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiLi9jb25maWd1cmUiCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoc3RyaW5nLWFwcGVuZCAiLS1wcmVmaXg9IiBvdXQpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICA7OyBBZGQgJGxpYmRpciB0byB0aGUgUlVOUEFUSCBvZiBhbGwgdGhlIGJpbmFyaWVz LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIi0tZXh0cmEtbGRm bGFncz0tV2wsLXJwYXRoPSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG91dCAiL2xpYiIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmUtZmxh Z3MpKSkpKQogICAgICAgICAoYWRkLWJlZm9yZQogICAgICAgICAgJ2NoZWNrICdzZXQtbGQtbGli cmFyeS1wYXRoCiAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAgICAgOzsgQWxsb3cgJCh0b3Bf YnVpbGRkaXIpL2ZmbXBlZyB0byBmaW5kIGl0cyBkZXBlbmRlbmNpZXMgd2hlbgogICAgICAgICAg ICA7OyBydW5uaW5nIHRlc3RzLgogICAgICAgICAgICAobGV0KiAoKGRzbyAgKGZpbmQtZmlsZXMg Ii4iICJcXC5zbyQiKSkKICAgICAgICAgICAgICAgICAgIChwYXRoIChzdHJpbmctam9pbiAobWFw IGRpcm5hbWUgZHNvKSAiOiIpKSkKICAgICAgICAgICAgICAoZm9ybWF0ICN0ICJzZXR0aW5nIExE X0xJQlJBUllfUEFUSCB0byB+c34lIiBwYXRoKQogICAgICAgICAgICAgIChzZXRlbnYgIkxEX0xJ QlJBUllfUEFUSCIgcGF0aCkKICAgICAgICAgICAgICAjdCkpKSkpKQogICAgKGhvbWUtcGFnZSAi aHR0cHM6Ly93d3cuZmZtcGVnLm9yZy8iKQogICAgKHN5bm9wc2lzICJBdWRpbyBhbmQgdmlkZW8g ZnJhbWV3b3JrIikKICAgIChkZXNjcmlwdGlvbiAiRkZtcGVnIGlzIGEgY29tcGxldGUsIGNyb3Nz LXBsYXRmb3JtIHNvbHV0aW9uIHRvIHJlY29yZCwKY29udmVydCBhbmQgc3RyZWFtIGF1ZGlvIGFu ZCB2aWRlby4gIEl0IGluY2x1ZGVzIHRoZSBsaWJhdmNvZGVjCmF1ZGlvL3ZpZGVvIGNvZGVjIGxp YnJhcnkuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMispKSkKCihkZWZpbmUtcHVibGljIGZm bXBlZy0yLjgKICAocGFja2FnZQogICAgKGluaGVyaXQgZmZtcGVnKQogICAgKHZlcnNpb24gIjIu OC4xMyIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNo KQogICAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZCAiaHR0cHM6Ly9mZm1wZWcub3JnL3Jl bGVhc2VzL2ZmbXBlZy0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24g Ii50YXIueHoiKSkKICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAoYmFzZTMyCiAg ICAgICAgICAgICAgICIwaHlxcjM5MXBpa2E0dmd5bnY5MGJhY3oxMXdkcHFjcWZnajVoN2c1anJt Z3Z6NmhnajY4IikpKSkKICAgIChhcmd1bWVudHMKICAgICAoc3Vic3RpdHV0ZS1rZXl3b3JkLWFy Z3VtZW50cyAocGFja2FnZS1hcmd1bWVudHMgZmZtcGVnKQogICAgICAgKCgjOmNvbmZpZ3VyZS1m bGFncyBmbGFncykKICAgICAgICBgKG1hcCAobGFtYmRhIChmbGFnKQogICAgICAgICAgICAgICAg KGlmIChzdHJpbmc9PyBmbGFnICItLWRpc2FibGUtbWlwc2RzcCIpCiAgICAgICAgICAgICAgICAg ICAgIi0tZGlzYWJsZS1taXBzZHNwcjEiCiAgICAgICAgICAgICAgICAgICAgZmxhZykpCiAgICAg ICAgICAgICAgLGZsYWdzKSkpKSkpCgo7OyBBbm5veWluZ2x5IGVub3VnaCwgdGhlIGxhdGVzdCBt cHYgcmVsZWFzZSBkb2VzIG5vdCBidWlsZCB3aXRoIHRoZSBzdGFibGUKOzsgcmVsZWFzZSBvZiBm Zm1wZWcuIFVzZSBhIGdpdCBjb21taXQgdW50aWwgdGhlIHNpdHVhdGlvbiBpcyBmaXhlZC4KKGRl ZmluZS1wdWJsaWMgZmZtcGVnLWdpdAogIChsZXQgKChjb21taXQgIjNmODg3NDQwNjc3MzI4Yzlj ZmVkOTdhZDgxZDE0MDUxZmZhMzJhYWUiKQogICAgICAgIChyZXZpc2lvbiAiMSIpKQogICAgKHBh Y2thZ2UKICAgICAoaW5oZXJpdCBmZm1wZWcpCiAgICAgKG5hbWUgImZmbXBlZy1naXQiKQogICAg ICh2ZXJzaW9uIChzdHJpbmctYXBwZW5kICIzLjQtIiByZXZpc2lvbiAiLiIgKHN0cmluZy10YWtl IGNvbW1pdCA5KSkpCiAgICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhvZCBn aXQtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAg ICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9GRm1wZWcvRkZtcGVnLmdpdCIpCiAgICAg ICAgICAgICAgICAgICAgKGNvbW1pdCBjb21taXQpKSkKICAgICAgICAgICAgICAoZmlsZS1uYW1l IChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi1jaGVja291dCIpKQogICAgICAgICAg ICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjFiN24z ZzRtMnJidnJ3c2diZmw4d2w5MXo0MmcxbGQ0MmNsd3hzOHFwbDlueTVyd3o2c3EiKSkpKSkpKQoK KGRlZmluZS1wdWJsaWMgdmxjCiAgKHBhY2thZ2UKICAgIChuYW1lICJ2bGMiKQogICAgKHZlcnNp b24gIjIuMi44IikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgKG1ldGhvZCB1cmwt ZmV0Y2gpCiAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAgICAg ICAiaHR0cHM6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL3ZpZGVvbGFuL3ZsYy8iCiAgICAg ICAgICAgICAgICAgICB2ZXJzaW9uICIvdmxjLSIgdmVyc2lvbiAiLnRhci54eiIpKQogICAgICAg ICAgICAgKHNoYTI1NgogICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgICAgIjF2MzJz bnc0NnJrZ2JkcWR5M2Rzc2wyeTEzaThwMmNyMWN3MWkxOHI2dmRtaXkyNGR3NHYiKSkpKQogICAg KGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICBg KCgiZ2l0IiAsZ2l0KSA7IG5lZWRlZCBmb3IgYSB0ZXN0CiAgICAgICAoInBrZy1jb25maWciICxw a2ctY29uZmlnKSkpCiAgICA7OyBGSVhNRTogQWRkIG9wdGlvbmFsIGlucHV0cyBvbmNlIGF2YWls YWJsZS4KICAgIChpbnB1dHMKICAgICBgKCgiYWxzYS1saWIiICxhbHNhLWxpYikKICAgICAgICgi YXZhaGkiICxhdmFoaSkKICAgICAgICgiZGJ1cyIgLGRidXMpCiAgICAgICAoImZsYWMiICxmbGFj KQogICAgICAgKCJmZm1wZWciICxmZm1wZWctMi44KSAgICAgICAgICAgICAgIDtmYWlscyB0byBi dWlsZCBhZ2FpbnN0IGZmbXBlZyAzLjAKICAgICAgICgiZm9udGNvbmZpZyIgLGZvbnRjb25maWcp CiAgICAgICAoImZyZWV0eXBlIiAsZnJlZXR5cGUpCiAgICAgICAoImdudXRscyIgLGdudXRscykK ICAgICAgICgibGliYTUyIiAsbGliYTUyKQogICAgICAgKCJsaWJjZGRiIiAsbGliY2RkYikKICAg ICAgICgibGliZHZicHNpIiAsbGliZHZicHNpKQogICAgICAgKCJsaWJnY3J5cHQiICxsaWJnY3J5 cHQpCiAgICAgICAoImxpYmthdGUiICxsaWJrYXRlKQogICAgICAgKCJsaWJtYWQiICxsaWJtYWQp CiAgICAgICAoImxpYm9nZyIgLGxpYm9nZykKICAgICAgICgibGlicG5nIiAsbGlicG5nKQogICAg ICAgKCJsaWJzYW1wbGVyYXRlIiAsbGlic2FtcGxlcmF0ZSkKICAgICAgICgibGlic3NoMiIgLGxp YnNzaDIpCiAgICAgICAoImxpYnZvcmJpcyIgLGxpYnZvcmJpcykKICAgICAgICgibGlidGhlb3Jh IiAsbGlidGhlb3JhKQogICAgICAgKCJsaWJ4ZXh0IiAsbGlieGV4dCkKICAgICAgICgibGlieGki ICxsaWJ4aSkKICAgICAgICgibGlieGluZXJhbWEiICxsaWJ4aW5lcmFtYSkKICAgICAgICgibGli eG1sMiIgLGxpYnhtbDIpCiAgICAgICAoImxpYnhwbSIgLGxpYnhwbSkKICAgICAgICgibGl2ZW1l ZGlhLXV0aWxzIiAsbGl2ZW1lZGlhLXV0aWxzKQogICAgICAgKCJsdWEiICxsdWEtNS4xKQogICAg ICAgKCJtZXNhIiAsbWVzYSkKICAgICAgICgib3B1cyIgLG9wdXMpCiAgICAgICAoInBlcmwiICxw ZXJsKQogICAgICAgKCJwdWxzZWF1ZGlvIiAscHVsc2VhdWRpbykKICAgICAgICgicHl0aG9uIiAs cHl0aG9uLXdyYXBwZXIpCiAgICAgICAoInF0YmFzZSIgLHF0YmFzZSkKICAgICAgICgicXR4MTFl eHRyYXMiICxxdHgxMWV4dHJhcykKICAgICAgICgic2RsIiAsc2RsKQogICAgICAgKCJzZGwtaW1h Z2UiICxzZGwtaW1hZ2UpCiAgICAgICAoInNwZWV4IiAsc3BlZXgpCiAgICAgICAoIngyNjUiICx4 MjY1KQogICAgICAgKCJ4Y2ItdXRpbC1rZXlzeW1zIiAseGNiLXV0aWwta2V5c3ltcykpKQogICAg KGFyZ3VtZW50cwogICAgIGAoIzpjb25maWd1cmUtZmxhZ3MKICAgICAgIGAoIkNYWEZMQUdTPS1z dGQ9Z251KysxMSIKICAgICAgICAgLChzdHJpbmctYXBwZW5kICJMREZMQUdTPS1XbCwtcnBhdGgg LVdsLCIKICAgICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAi ZmZtcGVnIikKICAgICAgICAgICAgICAgICAgICAgICAgICIvbGliIikpICAgICAgICAgICAgICAg ICA7bmVlZGVkIGZvciB0aGUgdGVzdHMKCiAgICAgICAjOnBoYXNlcwogICAgICAgKG1vZGlmeS1w aGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ3BhdGNo LXNvdXJjZQogICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1r ZXlzKQogICAgICAgICAgICAgKGxldCAoKGxpdmVtZWRpYS11dGlscyAoYXNzb2MtcmVmIGlucHV0 cyAibGl2ZW1lZGlhLXV0aWxzIikpKQogICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogImNvbmZp Z3VyZSIKICAgICAgICAgICAgICAgICAoKCJMSVZFNTU1X1BSRUZJWD1cXCRcXHtMSVZFNTU1X1BS RUZJWC1cIi91c3JcIlxcfSIpCiAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICJMSVZF NTU1X1BSRUZJWD0iIGxpdmVtZWRpYS11dGlscykpKQogICAgICAgICAgICAgICA7OyBTb21lIG9m IHRoZSB0ZXN0cyByZXF1aXJlIHVzaW5nIHRoZSBkaXNwbGF5IHRvIHRlc3Qgb3V0IFZMQywKICAg ICAgICAgICAgICAgOzsgd2hpY2ggZmFpbHMgaW4gb3VyIHNhbmRib3hlZCBidWlsZCBzeXN0ZW0K ICAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJ0ZXN0L3J1bl92bGMuc2giCiAgICAgICAgICAg ICAgICAgKCgiLi92bGMgLS1pZ25vcmUtY29uZmlnIikgImVjaG8iKSkKICAgICAgICAgICAgICAg OzsgWFhYIExpa2VseSBub3QgbmVlZGVkIGZvciA+Mi4yLjYuCiAgICAgICAgICAgICAgIChzdWJz dGl0dXRlKiAibW9kdWxlcy9ndWkvcXQ0L2NvbXBvbmVudHMvaW50ZXJmYWNlX3dpZGdldHMuY3Bw IgogICAgICAgICAgICAgICAgICgoIjxxeDExaW5mb194MTEuaD4iKSAiPFF0WDExRXh0cmFzL3F4 MTFpbmZvX3gxMS5oPiIpKQogICAgICAgICAgICAgICAjdCkpKQogICAgICAgICAoYWRkLWFmdGVy ICdpbnN0YWxsICdyZWdlbmVyYXRlLXBsdWdpbi1jYWNoZQogICAgICAgICAgIChsYW1iZGEqICgj OmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgIDs7IFRoZSAnaW5z dGFsbC1leGVjLWhvb2snIHJ1bGUgaW4gdGhlIHRvcC1sZXZlbCBNYWtlZmlsZS5hbQogICAgICAg ICAgICAgOzsgZ2VuZXJhdGVzICdsaWIvdmxjL3BsdWdpbnMvcGx1Z2lucy5kYXQnLCBhIHBsdWdp biBjYWNoZSwgdXNpbmcKICAgICAgICAgICAgIDs7ICd2bGMtY2FjaGUtZ2VuJy4gIFRoaXMgZmls ZSBpbmNsdWRlcyB0aGUgbXRpbWUgb2YgdGhlIHBsdWdpbnMKICAgICAgICAgICAgIDs7IGl0IHJl ZmVyZW5jZXMuICBUaHVzLCB3ZSBmaXJzdCByZXNldCB0aGUgdGltZXN0YW1wcyBvZiBhbGwKICAg ICAgICAgICAgIDs7IHRoZXNlIGZpbGVzLCBhbmQgdGhlbiByZWdlbmVyYXRlIHRoZSBjYWNoZSBz dWNoIHRoYXQgdGhlCiAgICAgICAgICAgICA7OyBtdGltZXMgaXQgaW5jbHVkZXMgYXJlIGFsd2F5 cyB6ZXJvIGluc3RlYWQgb2YgYmVpbmcgZGVwZW5kZW50CiAgICAgICAgICAgICA7OyBvbiB0aGUg YnVpbGQgdGltZS4KICAgICAgICAgICAgIChsZXQqICgob3V0ICAgICAgIChhc3NvYy1yZWYgb3V0 cHV0cyAib3V0IikpCiAgICAgICAgICAgICAgICAgICAgKHBrZ2xpYmRpciAoc3RyaW5nLWFwcGVu ZCBvdXQgIi9saWIvdmxjIikpCiAgICAgICAgICAgICAgICAgICAgKHBsdWdpbmRpciAoc3RyaW5n LWFwcGVuZCBwa2dsaWJkaXIgIi9wbHVnaW5zIikpCiAgICAgICAgICAgICAgICAgICAgKGNhY2hl Z2VuICAoc3RyaW5nLWFwcGVuZCBwa2dsaWJkaXIgIi92bGMtY2FjaGUtZ2VuIikpKQogICAgICAg ICAgICAgICA7OyBUT0RPOiBGYWN0b3JpemUgJ3Jlc2V0LXRpbWVzdGFtcHMnLgogICAgICAgICAg ICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoZmlsZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg KGxldCAoKHMgKGxzdGF0IGZpbGUpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5s ZXNzIChlcT8gKHN0YXQ6dHlwZSBzKSAnc3ltbGluaykKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICh1dGltZSBmaWxlIDAgMCAwIDApKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAo ZmluZC1maWxlcyBwbHVnaW5kaXIpKQogICAgICAgICAgICAgICAoemVybz8gKHN5c3RlbSogY2Fj aGVnZW4gcGx1Z2luZGlyKSkpKSkpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vd3d3LnZpZGVv bGFuLm9yZy8iKQogICAgKHN5bm9wc2lzICJBdWRpbyBhbmQgdmlkZW8gZnJhbWV3b3JrIikKICAg IChkZXNjcmlwdGlvbiAiVkxDIGlzIGEgY3Jvc3MtcGxhdGZvcm0gbXVsdGltZWRpYSBwbGF5ZXIg YW5kIGZyYW1ld29yawp0aGF0IHBsYXlzIG1vc3QgbXVsdGltZWRpYSBmaWxlcyBhcyB3ZWxsIGFz IERWRCwgQXVkaW8gQ0QsIFZDRCwgYW5kIHZhcmlvdXMKdHJlYW1pbmcgcHJvdG9jb2xzLiIpCiAg ICAobGljZW5zZSBsaWNlbnNlOmdwbDIrKSkpCgooZGVmaW5lLXB1YmxpYyBtcGxheWVyCiAgKHBh Y2thZ2UKICAgIChuYW1lICJtcGxheWVyIikKICAgICh2ZXJzaW9uICIxLjMuMCIpCiAgICAoc291 cmNlIChvcmlnaW4KICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAg KHVyaSAoc3RyaW5nLWFwcGVuZAogICAgICAgICAgICAgICAgICAgImh0dHBzOi8vd3d3Lm1wbGF5 ZXJocS5odS9NUGxheWVyL3JlbGVhc2VzL01QbGF5ZXItIgogICAgICAgICAgICAgICAgICAgdmVy c2lvbiAiLnRhci54eiIpKQogICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgIChiYXNl MzIKICAgICAgICAgICAgICAgIjBod3FuMDRiZGtuYjJpYzg4eGQ3NXNtZmZ4eDYzc2N2ejB6dnd2 amI1Nm5xajluODlsMXMiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQog ICAgOzsgRklYTUU6IEFkZCBhZGRpdGlvbmFsIGlucHV0cyBvbmNlIGF2YWlsYWJsZS4KICAgIChu YXRpdmUtaW5wdXRzCiAgICAgYCgoInBrZy1jb25maWciICxwa2ctY29uZmlnKSkpCiAgICAoaW5w dXRzCiAgICAgYCgoImFsc2EtbGliIiAsYWxzYS1saWIpCiAgICAgICAoImNkcGFyYW5vaWEiICxj ZHBhcmFub2lhKQogICAgICAgKCJmZm1wZWciICxmZm1wZWcpCiAgICAgICAoImZvbnRjb25maWci ICxmb250Y29uZmlnKQogICAgICAgKCJmcmVldHlwZSIgLGZyZWV0eXBlKQo7OyAgICAgICAgKCJn aWZsaWIiICxnaWZsaWIpIDsgdXNlcyBRdWFudGl6ZUJ1ZmZlciwgcmVxdWlyZXMgdmVyc2lvbiA+ PSA1CiAgICAgICAoImxhbWUiICxsYW1lKQogICAgICAgKCJsaWJhc3MiICxsaWJhc3MpCiAgICAg ICAoImxpYmR2ZGNzcyIgLGxpYmR2ZGNzcykKICAgICAgICgibGliZHZkbmF2IiAsbGliZHZkbmF2 KQogICAgICAgKCJsaWJqcGVnIiAsbGlianBlZykKICAgICAgICgibGlibXBlZzIiICxsaWJtcGVn MikKICAgICAgICgibGlibXBnMTIzIiAsbXBnMTIzKSAgICAgICAgICAgICAgICAgICAgICA7IGF1 ZGlvIGNvZGVjIGZvciBNUDMKICAgICAgICgibGlicG5nIiAsbGlicG5nKQogICAgICAgKCJsaWJ0 aGVvcmEiICxsaWJ0aGVvcmEpCiAgICAgICAoImxpYnZkcGF1IiAsbGlidmRwYXUpCiAgICAgICAo ImxpYnZvcmJpcyIgLGxpYnZvcmJpcykKICAgICAgICgibGlieDExIiAsbGlieDExKQogICAgICAg KCJsaWJ4MjY0IiAsbGlieDI2NCkKICAgICAgICgibGlieGluZXJhbWEiICxsaWJ4aW5lcmFtYSkK ICAgICAgICgibGlieHYiICxsaWJ4dikKICAgICAgICgibGlieHhmODZkZ2EiICxsaWJ4eGY4NmRn YSkKICAgICAgICgibWVzYSIgLG1lc2EpCiAgICAgICAoIm9wdXMiICxvcHVzKQogICAgICAgKCJw ZXJsIiAscGVybCkKICAgICAgICgicHVsc2VhdWRpbyIgLHB1bHNlYXVkaW8pCiAgICAgICAoInB5 dGhvbiIgLHB5dGhvbi13cmFwcGVyKQogICAgICAgKCJzZGwiICxzZGwpCiAgICAgICAoInNwZWV4 IiAsc3BlZXgpCiAgICAgICAoInlhc20iICx5YXNtKQogICAgICAgKCJ6bGliIiAsemxpYikpKQog ICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YgOyBubyB0ZXN0IHRhcmdldAogICAgICAg IzpwaGFzZXMKICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAo cmVwbGFjZSAnY29uZmlndXJlCiAgICAgICAgICA7OyBjb25maWd1cmUgZG9lcyBub3Qgd29yayBm b2xsb3dlZCBieSAiU0hFTEw9Li4uIiBhbmQKICAgICAgICAgIDs7ICJDT05GSUdfU0hFTEw9Li4u Ijsgc2V0IGVudmlyb25tZW50IHZhcmlhYmxlcyBpbnN0ZWFkCiAgICAgICAgICAobGFtYmRhKiAo IzprZXkgaW5wdXRzIG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAobGV0 ICgob3V0IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikpCiAgICAgICAgICAgICAgICAgIChsaWJ4 MTEgKGFzc29jLXJlZiBpbnB1dHMgImxpYngxMSIpKSkKICAgICAgICAgICAgICAoc3Vic3RpdHV0 ZSogImNvbmZpZ3VyZSIKICAgICAgICAgICAgICAgICgoIiMhIC9iaW4vc2giKSAoc3RyaW5nLWFw cGVuZCAiIyEiICh3aGljaCAic2giKSkpKQogICAgICAgICAgICAgIChzZXRlbnYgIlNIRUxMIiAo d2hpY2ggImJhc2giKSkKICAgICAgICAgICAgICAoc2V0ZW52ICJDT05GSUdfU0hFTEwiICh3aGlj aCAiYmFzaCIpKQogICAgICAgICAgICAgICh6ZXJvPyAoc3lzdGVtKgogICAgICAgICAgICAgICAg ICAgICAgIi4vY29uZmlndXJlIgogICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQg Ii0tZXh0cmEtY2ZsYWdzPS1JIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGlieDExICIvaW5jbHVkZSIpIDsgdG8gZGV0ZWN0IGxpYngxMQogICAgICAgICAgICAgICAgICAg ICAgIi0tZGlzYWJsZS1mZm1wZWdfYSIgOyBkaXNhYmxlcyBidW5kbGVkIGZmbXBlZwogICAgICAg ICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIi0tcHJlZml4PSIgb3V0KQogICAgICAgICAg ICAgICAgICAgICAgOzsgRW5hYmxlIHJ1bnRpbWUgY3B1IGRldGVjdGlvbiB3aGVyZSBzdXBwb3J0 ZWQsCiAgICAgICAgICAgICAgICAgICAgICA7OyBhbmQgY2hvb3NlIGEgc3VpdGFibGUgdGFyZ2V0 LgogICAgICAgICAgICAgICAgICAgICAgLEAobWF0Y2ggKG9yICglY3VycmVudC10YXJnZXQtc3lz dGVtKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICglY3VycmVudC1zeXN0ZW0p KQogICAgICAgICAgICAgICAgICAgICAgICAgICgieDg2XzY0LWxpbnV4IgogICAgICAgICAgICAg ICAgICAgICAgICAgICAnKCItLWVuYWJsZS1ydW50aW1lLWNwdWRldGVjdGlvbiIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiLS10YXJnZXQ9eDg2XzY0LWxpbnV4IikpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgKCJpNjg2LWxpbnV4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAn KCItLWVuYWJsZS1ydW50aW1lLWNwdWRldGVjdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiLS10YXJnZXQ9aTY4Ni1saW51eCIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICgi bWlwczY0ZWwtbGludXgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICcoIi0tdGFyZ2V0PW1p cHMzLWxpbnV4IikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgKF8gKGxpc3QgKHN0cmluZy1h cHBlbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGFyZ2V0PSIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yICglY3VycmVudC10YXJnZXQtc3lz dGVtKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5peC1zeXN0ZW0t PmdudS10cmlwbGV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCVj dXJyZW50LXN5c3RlbSkpKSkpKSkKICAgICAgICAgICAgICAgICAgICAgICItLWRpc2FibGUtaXdt bXh0IikpKSkpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL3d3dy5tcGxheWVyaHEuaHUvZGVz aWduNy9uZXdzLmh0bWwiKQogICAgKHN5bm9wc2lzICJBdWRpbyBhbmQgdmlkZW8gcGxheWVyIikK ICAgIChkZXNjcmlwdGlvbiAiTVBsYXllciBpcyBhIG1vdmllIHBsYXllci4gIEl0IHBsYXlzIG1v c3QgTVBFRy9WT0IsIEFWSSwKT2dnL09HTSwgVklWTywgQVNGL1dNQS9XTVYsIFFUL01PVi9NUDQs IFJlYWxNZWRpYSwgTWF0cm9za2EsIE5VVCwKTnVwcGVsVmlkZW8sIEZMSSwgWVVWNE1QRUcsIEZJ TE0sIFJvUSwgUFZBIGZpbGVzLiAgT25lIGNhbiB3YXRjaCBWaWRlb0NELApTVkNELCBEVkQsIDNp dngsIERpdlggMy80LzUsIFdNViBhbmQgSC4yNjQgbW92aWVzLiIpCiAgICAobGljZW5zZSBsaWNl bnNlOmdwbDIpKSkKCihkZWZpbmUtcHVibGljIG1wdgogIChwYWNrYWdlCiAgICAobmFtZSAibXB2 IikKICAgICh2ZXJzaW9uICIwLjI4LjIiKQogICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAg ICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZAog ICAgICAgICAgICAgICAgICAgICJodHRwczovL2dpdGh1Yi5jb20vbXB2LXBsYXllci9tcHYvYXJj aGl2ZS92IiB2ZXJzaW9uCiAgICAgICAgICAgICAgICAgICAgIi50YXIuZ3oiKSkKICAgICAgICAg ICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgICAgICIxNWZw NHNhNWdscWhnaWRkNTR2czZrbmY5ZHA4MDl3c3p6c3FpcXo1bnlyaTRwaDE5bm1hIikpCiAgICAg ICAgICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFy Lmd6IikpKSkKICAgIChidWlsZC1zeXN0ZW0gd2FmLWJ1aWxkLXN5c3RlbSkKICAgIChuYXRpdmUt aW5wdXRzCiAgICAgYCgoInBlcmwiICxwZXJsKSA7IGZvciB6c2ggY29tcGxldGlvbiBmaWxlCiAg ICAgICAoInBrZy1jb25maWciICxwa2ctY29uZmlnKQogICAgICAgKCJweXRob24tZG9jdXRpbHMi ICxweXRob24tZG9jdXRpbHMpKSkKICAgIDs7IE1pc3NpbmcgZmVhdHVyZXM6IGxpYmd1ZXNzLCBW NEwyCiAgICAoaW5wdXRzCiAgICAgYCgoImFsc2EtbGliIiAsYWxzYS1saWIpCiAgICAgICAoImVu Y2EiICxlbmNhKQogICAgICAgKCJmZm1wZWciICxmZm1wZWctZ2l0KQogICAgICAgKCJqYWNrIiAs amFjay0xKQogICAgICAgKCJsYWRzcGEiICxsYWRzcGEpCiAgICAgICAoImxjbXMiICxsY21zKQog ICAgICAgKCJsaWJhc3MiICxsaWJhc3MpCiAgICAgICAoImxpYmJsdXJheSIgLGxpYmJsdXJheSkK ICAgICAgICgibGliY2FjYSIgLGxpYmNhY2EpCiAgICAgICAoImxpYmJzMmIiICxsaWJiczJiKQog ICAgICAgKCJsaWJjZGlvLXBhcmFub2lhIiAsbGliY2Rpby1wYXJhbm9pYSkKICAgICAgICgibGli ZHZkcmVhZCIgLGxpYmR2ZHJlYWQpCiAgICAgICAoImxpYmR2ZG5hdiIgLGxpYmR2ZG5hdikKICAg ICAgICgibGlianBlZyIgLGxpYmpwZWcpCiAgICAgICAoImxpYnZhIiAsbGlidmEpCiAgICAgICAo ImxpYnZkcGF1IiAsbGlidmRwYXUpCiAgICAgICAoImxpYngxMSIgLGxpYngxMSkKICAgICAgICgi bGlieGV4dCIgLGxpYnhleHQpCiAgICAgICAoImxpYnhpbmVyYW1hIiAsbGlieGluZXJhbWEpCiAg ICAgICAoImxpYnhyYW5kciIgLGxpYnhyYW5kcikKICAgICAgICgibGlieHNjcm5zYXZlciIgLGxp YnhzY3Juc2F2ZXIpCiAgICAgICAoImxpYnh2IiAsbGlieHYpCiAgICAgICA7OyBYWFg6IGx1YSA+ IDUuMiBpcyBub3QgY3VycmVudGx5IHN1cHBvcnRlZDsgc2VlCiAgICAgICA7OyB3YWZ0b29scy9j aGVja3MvY3VzdG9tLnB5CiAgICAgICAoImx1YSIgLGx1YS01LjIpCiAgICAgICAoIm1lc2EiICxt ZXNhKQogICAgICAgKCJtcGcxMjMiICxtcGcxMjMpCiAgICAgICAoInB1bHNlYXVkaW8iICxwdWxz ZWF1ZGlvKQogICAgICAgKCJyc291bmQiICxyc291bmQpCiAgICAgICAoInNoYWRlcmMiICxzaGFk ZXJjKQogICAgICAgKCJ2dWxrYW4taWNkLWxvYWRlciIgLHZ1bGthbi1pY2QtbG9hZGVyKQogICAg ICAgKCJ3YWYiICxweXRob24td2FmKQogICAgICAgKCJ3YXlsYW5kIiAsd2F5bGFuZCkKICAgICAg ICgid2F5bGFuZC1wcm90b2NvbHMiICx3YXlsYW5kLXByb3RvY29scykKICAgICAgICgibGlieGti Y29tbW9uIiwgbGlieGtiY29tbW9uKQogICAgICAgKCJ5b3V0dWJlLWRsIiAseW91dHViZS1kbCkK ICAgICAgICgiemxpYiIgLHpsaWIpKSkKICAgIChhcmd1bWVudHMKICAgICAnKCM6cGhhc2VzCiAg ICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgIChhZGQtYmVmb3Jl CiAgICAgICAgICAnY29uZmlndXJlICdzZXR1cC13YWYKICAgICAgICAgIChsYW1iZGEqICgjOmtl eSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAoY29weS1maWxlIChhc3Nv Yy1yZWYgaW5wdXRzICJ3YWYiKSAid2FmIikKICAgICAgICAgICAgKHNldGVudiAiQ0MiICJnY2Mi KSkpKQogICAgICAgIzpjb25maWd1cmUtZmxhZ3MgKGxpc3QgIi0tZW5hYmxlLWxpYm1wdi1zaGFy ZWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1lbmFibGUtY2RkYSIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICItLWVuYWJsZS1kdmRyZWFkIgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIi0tZW5hYmxlLWR2ZG5hdiIKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICItLWVuYWJsZS16c2gtY29tcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItLWRpc2FibGUtYnVpbGQtZGF0ZSIpCiAgICAgICA7OyBObyBjaGVjayBmdW5jdGlvbiBk ZWZpbmVkLgogICAgICAgIzp0ZXN0cz8gI2YpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9tcHYu aW8vIikKICAgIChzeW5vcHNpcyAiQXVkaW8gYW5kIHZpZGVvIHBsYXllciIpCiAgICAoZGVzY3Jp cHRpb24gIm1wdiBpcyBhIGdlbmVyYWwtcHVycG9zZSBhdWRpbyBhbmQgdmlkZW8gcGxheWVyLiAg SXQgaXMgYQpmb3JrIG9mIG1wbGF5ZXIyIGFuZCBNUGxheWVyLiAgSXQgc2hhcmVzIHNvbWUgZmVh dHVyZXMgd2l0aCB0aGUgZm9ybWVyCnByb2plY3RzIHdoaWxlIGludHJvZHVjaW5nIG1hbnkgbW9y ZS4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwyKykpKQoKKGRlZmluZS1wdWJsaWMgZ25vbWUt bXB2CiAgKHBhY2thZ2UKICAgIChuYW1lICJnbm9tZS1tcHYiKQogICAgKHZlcnNpb24gIjAuMTMi KQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAg ICAgKHVyaSAoc3RyaW5nLWFwcGVuZCAiaHR0cHM6Ly9naXRodWIuY29tL2dub21lLW1wdi9nbm9t ZS1tcHYvcmVsZWFzZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICIvZG93bmxvYWQvdiIg dmVyc2lvbiAiL2dub21lLW1wdi0iIHZlcnNpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAg Ii50YXIueHoiKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyCiAgICAgICAgICIxdzk0 NHlteXNzZ2ZjamljenJxNHNhaWc5MGNydzliOWhoZHNuY2hmYmpzdzE3M3FpOG41IikpKSkKICAg IChuYXRpdmUtaW5wdXRzCiAgICAgYCgoImludGx0b29sIiAsaW50bHRvb2wpCiAgICAgICAoInBr Zy1jb25maWciICxwa2ctY29uZmlnKSkpCiAgICAoaW5wdXRzCiAgICAgYCgoImd0aysiICxndGsr KQogICAgICAgKCJsaWJlcG94eSIgLGxpYmVwb3h5KQogICAgICAgKCJtcHYiICxtcHYpKSkKICAg IChidWlsZC1zeXN0ZW0gZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtKQogICAgKGhvbWUtcGFnZSAi aHR0cHM6Ly9naXRodWIuY29tL2dub21lLW1wdi9nbm9tZS1tcHYiKQogICAgKHN5bm9wc2lzICJH VEsrIGZyb250ZW5kIGZvciB0aGUgbXB2IG1lZGlhIHBsYXllciIpCiAgICAoZGVzY3JpcHRpb24g IkdOT01FIE1QViBpcyBhIHNpbXBsZSBHVEsrIGZyb250ZW5kIGZvciB0aGUgbXB2IG1lZGlhIHBs YXllci4KR05PTUUgTVBWIGludGVyYWN0cyB3aXRoIG1wdiB2aWEgdGhlIGNsaWVudCBBUEkgZXhw b3J0ZWQgYnkgbGlibXB2LCBhbGxvd2luZwphY2Nlc3MgdG8gbXB2J3MgcG93ZXJmdWwgcGxheWJh Y2sgY2FwYWJpbGl0aWVzLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmdwbDMrKSkpCgooZGVmaW5l LXB1YmxpYyBsaWJ2cHgKICAocGFja2FnZQogICAgKG5hbWUgImxpYnZweCIpCiAgICAodmVyc2lv biAiMS43LjAiKQogICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgOzsgWFhYOiBVcHN0 cmVhbSBkb2VzIG5vdCBwcm92aWRlIHRhcmJhbGxzIGZvciA+IDEuNi4xLgogICAgICAgICAgICAg IChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAg ICAgICAgICAgICAgICAgICAodXJsICJodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v d2VibS9saWJ2cHgiKQogICAgICAgICAgICAgICAgICAgIChjb21taXQgKHN0cmluZy1hcHBlbmQg InYiIHZlcnNpb24pKSkpCiAgICAgICAgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBu YW1lIHZlcnNpb24pKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2Uz MgogICAgICAgICAgICAgICAgIjB2dmg4OWh2cDhxZzlhbjl2Y213YjdkOWszbml4aHhhejZ6aTY1 cWRqbmQwaTU2a2tjejYiKSkKICAgICAgICAgICAgICAocGF0Y2hlcyAoc2VhcmNoLXBhdGNoZXMg ImxpYnZweC1DVkUtMjAxNi0yODE4LnBhdGNoIikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1 aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y29uZmlndXJlLWZsYWdzIChsaXN0 ICItLWVuYWJsZS1zaGFyZWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1hcz15 YXNtIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgTGltaXQgc2l6ZSB0byBhdm9p ZCBDVkUtMjAxNS0xMjU4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1zaXplLWxp bWl0PTE2Mzg0eDE2Mzg0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1h cHBlbmQgIi0tcHJlZml4PSIgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0IikpKQogICAgICAgIzpt YWtlLWZsYWdzICAobGlzdCAoc3RyaW5nLWFwcGVuZCAiTERGTEFHUz0tV2wsLXJwYXRoPSIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlb3V0cHV0 cyAib3V0IikgIi9saWIiKSkKICAgICAgICM6cGhhc2VzIChtb2RpZnktcGhhc2VzICVzdGFuZGFy ZC1waGFzZXMKICAgICAgICAgICAgICAgICAgKHJlcGxhY2UgJ2NvbmZpZ3VyZQogICAgICAgICAg ICAgICAgICAgIChsYW1iZGEqICgjOmtleSBjb25maWd1cmUtZmxhZ3MgIzphbGxvdy1vdGhlci1r ZXlzKQogICAgICAgICAgICAgICAgICAgICAgOzsgVGhlIGNvbmZpZ3VyZSBzY3JpcHQgZG9lcyBu b3QgdW5kZXJzdGFuZCBzb21lIG9mIHRoZSBHTlUKICAgICAgICAgICAgICAgICAgICAgIDs7IG9w dGlvbnMsIHNvIHdlIG9ubHkgYWRkIHRoZSBmbGFncyBzcGVjaWZpZWQgYWJvdmUuCiAgICAgICAg ICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICAiLi9jb25maWd1cmUiIGNvbmZpZ3VyZS1mbGFn cykpKSkKICAgICAgICM6dGVzdHM/ICNmKSkgOyBubyBjaGVjayB0YXJnZXQKICAgIChuYXRpdmUt aW5wdXRzCiAgICAgYCgoInBlcmwiICxwZXJsKQogICAgICAgKCJ5YXNtIiAseWFzbSkpKQogICAg KHN5bm9wc2lzICJWUDgvVlA5IHZpZGVvIGNvZGVjIikKICAgIChkZXNjcmlwdGlvbiAibGlidnB4 IGlzIGEgY29kZWMgZm9yIHRoZSBWUDgvVlA5IHZpZGVvIGNvbXByZXNzaW9uIGZvcm1hdC4iKQog ICAgKGxpY2Vuc2UgbGljZW5zZTpic2QtMykKICAgIChob21lLXBhZ2UgImh0dHBzOi8vd3d3Lndl Ym1wcm9qZWN0Lm9yZy8iKSkpCgooZGVmaW5lLXB1YmxpYyB5b3V0dWJlLWRsCiAgKHBhY2thZ2UK ICAgIChuYW1lICJ5b3V0dWJlLWRsIikKICAgICh2ZXJzaW9uICIyMDE4LjAyLjA4IikKICAgIChz b3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAg ICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8veXQtZGwub3JnL2Rvd25sb2Fkcy8iCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICIveW91dHViZS1kbC0iCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAg ICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAi MGlxNW1hdjc4Mmd6MGdtMDBycnkzdjdnZHhra3g0eTFrMHAyMHB2ejMyZ2E0aWQ1azFtZyIpKSkp CiAgICAoYnVpbGQtc3lzdGVtIHB5dGhvbi1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAg ICAgOzsgVGhlIHByb2JsZW0gaGVyZSBpcyB0aGF0IHRoZSBkaXJlY3RvcnkgZm9yIHRoZSBtYW4g cGFnZSBhbmQgY29tcGxldGlvbgogICAgIDs7IGZpbGVzIGlzIHJlbGF0aXZlLCBhbmQgZm9yIHNv bWUgcmVhc29uLCBzZXR1cC5weSB1c2VzIHRoZQogICAgIDs7IGF1dG8tZGV0ZWN0ZWQgc3lzLnBy ZWZpeCBpbnN0ZWFkIG9mIHRoZSB1c2VyLWRlZmluZWQgIi0tcHJlZml4PUZPTyIuCiAgICAgOzsg U28sIHdlIG5lZWQgcGFzcyB0aGUgcHJlZml4IGRpcmVjdGx5LiAgSW4gYWRkaXRpb24sIG1ha2Ug c3VyZSB0aGUgQmFzaAogICAgIDs7IGNvbXBsZXRpb24gZmlsZSBpcyBjYWxsZWQgJ3lvdXR1YmUt ZGwnIHJhdGhlciB0aGFuCiAgICAgOzsgJ3lvdXR1YmUtZGwuYmFzaC1jb21wbGV0aW9uJy4KICAg ICBgKCM6dGVzdHM/ICNmIDsgTWFueSB0ZXN0cyBmYWlsLiBUaGUgdGVzdCBzdWl0ZSBjYW4gYmUg cnVuIHdpdGggcHl0ZXN0LgogICAgICAgIzpwaGFzZXMgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJk LXBoYXNlcwogICAgICAgICAgICAgICAgICAoYWRkLWJlZm9yZSAnaW5zdGFsbCAnZml4LXRoZS1k YXRhLWRpcmVjdG9yaWVzCiAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IG91dHB1 dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHByZWZp eCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpKSkKICAgICAgICAgICAgICAgICAgICAgICAgKG1r ZGlyICJiYXNoLWNvbXBsZXRpb24iKQogICAgICAgICAgICAgICAgICAgICAgICAocmVuYW1lLWZp bGUgInlvdXR1YmUtZGwuYmFzaC1jb21wbGV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImJhc2gtY29tcGxldGlvbi95b3V0dWJlLWRsIikKICAgICAgICAgICAgICAg ICAgICAgICAgKHN1YnN0aXR1dGUqICJzZXR1cC5weSIKICAgICAgICAgICAgICAgICAgICAgICAg ICAoKCJ5b3V0dWJlLWRsXFwuYmFzaC1jb21wbGV0aW9uIikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgImJhc2gtY29tcGxldGlvbi95b3V0dWJlLWRsIikKICAgICAgICAgICAgICAgICAgICAg ICAgICAoKCInZXRjLyIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5k ICInIiBwcmVmaXggIi9ldGMvIikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgKCgiJ3NoYXJl LyIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICInIiBwcmVmaXgg Ii9zaGFyZS8iKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICN0KSkpKSkpCiAgICAoc3lub3Bz aXMgIkRvd25sb2FkIHZpZGVvcyBmcm9tIFlvdVR1YmUuY29tIGFuZCBvdGhlciBzaXRlcyIpCiAg ICAoZGVzY3JpcHRpb24KICAgICAiWW91dHViZS1kbCBpcyBhIHNtYWxsIGNvbW1hbmQtbGluZSBw cm9ncmFtIHRvIGRvd25sb2FkIHZpZGVvcyBmcm9tCllvdVR1YmUuY29tIGFuZCBtYW55IG1vcmUg c2l0ZXMuIikKICAgIChob21lLXBhZ2UgImh0dHBzOi8veXQtZGwub3JnIikKICAgIChsaWNlbnNl IGxpY2Vuc2U6cHVibGljLWRvbWFpbikpKQoKKGRlZmluZS1wdWJsaWMgeW91dHViZS1kbC1ndWkK ICAocGFja2FnZQogICAgKG5hbWUgInlvdXR1YmUtZGwtZ3VpIikKICAgICh2ZXJzaW9uICIwLjMu OCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAg ICAgICAodXJpIChweXBpLXVyaSAiWW91dHViZS1ETEciIHZlcnNpb24pKQogICAgICAgKHNoYTI1 NgogICAgICAgIChiYXNlMzIKICAgICAgICAgIjBuYXB4d3pnbHM1aWsxYnhicDk5dmx5MzJsMjN4 cGM0bmc1a3IyNGhmaGYyMXlwanlhZGIiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBweXRob24tYnVp bGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIDs7IEluIEd1aXgsIHd4cHl0aG9uIGhhcyBu b3QgeWV0IGJlZW4gcGFja2FnZWQgZm9yIFB5dGhvbiAzLgogICAgIGAoIzpweXRob24gLHB5dGhv bi0yCiAgICAgICA7OyBUaGlzIHBhY2thZ2UgaGFzIG5vIHRlc3RzLgogICAgICAgIzp0ZXN0cz8g I2YKICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2Vz CiAgICAgICAgIChhZGQtYmVmb3JlICdidWlsZCAncGF0Y2gtc291cmNlCiAgICAgICAgICAgKGxh bWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICA7OyBU aGUgeW91dHViZS1kbC1ndWkgcHJvZ3JhbSBsZXRzIHlvdSBjb25maWd1cmUgb3B0aW9ucy4gIFNv bWUgb2YKICAgICAgICAgICAgIDs7IHRoZW0gYXJlIHByb2JsZW1hdGljLCBzbyB3ZSBjaGFuZ2Ug dGhlaXIgZGVmYXVsdHMuCiAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInlvdXR1YmVfZGxfZ3Vp L29wdGlvbnNtYW5hZ2VyLnB5IgogICAgICAgICAgICAgICA7OyBXaGVuIHRoaXMgaXMgdHJ1ZSwg dGhlIGJ1aWxkZXIgcHJvY2VzcyB3aWxsIHRyeSAoYW5kIGZhaWwpIHRvCiAgICAgICAgICAgICAg IDs7IHdyaXRlIGxvZ3MgdG8gdGhlIGJ1aWxkZXIgdXNlcidzIGhvbWUgZGlyZWN0b3J5LgogICAg ICAgICAgICAgICAoKCInZW5hYmxlX2xvZyc6IFRydWUiKSAiJ2VuYWJsZV9sb2cnOiBGYWxzZSIp CiAgICAgICAgICAgICAgIDs7IFRoaXMgZGV0ZXJtaW5lcyB3aGljaCB5b3V0dWJlLWRsIHByb2dy YW0geW91dHViZS1kbC1ndWkgd2lsbAogICAgICAgICAgICAgICA7OyBydW4uICBJZiB3ZSBkb24n dCBzZXQgdGhpcywgdGhlbiB5b3V0dWJlLWRsLWd1aSBtaWdodCBkb3dubG9hZAogICAgICAgICAg ICAgICA7OyBhbiBhcmJpdHJhcnkgY29weSBmcm9tIHRoZSBJbnRlcm5ldCBpbnRvIHRoZSB1c2Vy J3MgaG9tZQogICAgICAgICAgICAgICA7OyBkaXJlY3RvcnkgYW5kIHJ1biBpdCwgc28gbGV0J3Mg bWFrZSBzdXJlIHlvdXR1YmUtZGwtZ3VpIHVzZXMKICAgICAgICAgICAgICAgOzsgdGhlIHlvdXR1 YmUtZGwgZnJvbSB0aGUgaW5wdXRzIGJ5IGRlZmF1bHQuCiAgICAgICAgICAgICAgICgoIid5b3V0 dWJlZGxfcGF0aCc6IHNlbGYuY29uZmlnX3BhdGgiKQogICAgICAgICAgICAgICAgKHN0cmluZy1h cHBlbmQgIid5b3V0dWJlZGxfcGF0aCc6ICciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoYXNzb2MtcmVmIGlucHV0cyAieW91dHViZS1kbCIpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiL2JpbiciKSkKICAgICAgICAgICAgICAgOzsgV2hlbiB0aGlzIGlzIFRydWUsIHdo ZW4geW91dHViZS1kbC1ndWkgaXMgZmluaXNoZWQgZG93bmxvYWRpbmcKICAgICAgICAgICAgICAg OzsgYSBmaWxlLCBpdCB3aWxsIHRyeSAoYW5kIHBvc3NpYmx5IGZhaWwpIHRvIG9wZW4gdGhlIGRp cmVjdG9yeQogICAgICAgICAgICAgICA7OyBjb250YWluaW5nIHRoZSBkb3dubG9hZGVkIGZpbGUu ICBUaGlzIGNhbiBmYWlsIGJlY2F1c2UgaXQKICAgICAgICAgICAgICAgOzsgYXNzdW1lcyB0aGF0 IHhkZy1vcGVuIGlzIGluIFBBVEguICBVbmZvcnR1bmF0ZWx5LCBzaW1wbHkKICAgICAgICAgICAg ICAgOzsgYWRkaW5nIHhkZy11dGlscyB0byB0aGUgcHJvcGFnYXRlZCBpbnB1dHMgaXMgbm90IGVu b3VnaCB0bwogICAgICAgICAgICAgICA7OyBtYWtlIHRoaXMgd29yaywgc28gZm9yIG5vdyB3ZSBz ZXQgdGhlIGRlZmF1bHQgdG8gRmFsc2UuCiAgICAgICAgICAgICAgICgoIidvcGVuX2RsX2Rpcic6 IFRydWUiKSAiJ29wZW5fZGxfZGlyJzogRmFsc2UiKSkKICAgICAgICAgICAgIDs7IFRoZSB5b3V0 dWJlLWRsIHByb2dyYW0gZnJvbSB0aGUgaW5wdXRzIGlzIGFjdHVhbGx5IGEgd3JhcHBlcgogICAg ICAgICAgICAgOzsgc2NyaXB0IHdyaXR0ZW4gaW4gYmFzaCwgc28gYXR0ZW1wdGluZyB0byBpbnZv a2UgaXQgYXMgYSBweXRob24KICAgICAgICAgICAgIDs7IHNjcmlwdCB3aWxsIGZhaWwuCiAgICAg ICAgICAgICAoc3Vic3RpdHV0ZSogInlvdXR1YmVfZGxfZ3VpL2Rvd25sb2FkZXJzLnB5IgogICAg ICAgICAgICAgICAoKCJjbWQgPSBcXFsncHl0aG9uJywgc2VsZlxcLnlvdXR1YmVkbF9wYXRoXFxd IikKICAgICAgICAgICAgICAgICJjbWQgPSBbc2VsZi55b3V0dWJlZGxfcGF0aF0iKSkKICAgICAg ICAgICAgIDs7IFVzZSByZWxhdGl2ZSBwYXRocyBmb3IgaW5zdGFsbGluZyBkYXRhIGZpbGVzIHNv IHlvdXR1YmUtZGwtZ3VpCiAgICAgICAgICAgICA7OyBpbnN0YWxscyB0aGUgZmlsZXMgcmVsYXRp dmUgdG8gaXRzIHByZWZpeCBpbiB0aGUgc3RvcmUsIHJhdGhlcgogICAgICAgICAgICAgOzsgdGhh biByZWxhdGl2ZSB0byAvLiAgQWxzbywgaW5zdGVhZCBvZiBpbnN0YWxsaW5nIGRhdGEgZmlsZXMg aW50bwogICAgICAgICAgICAgOzsgJHByZWZpeC91c3Ivc2hhcmUsIGluc3RhbGwgdGhlbSBpbnRv ICRwcmVmaXgvc2hhcmUgZm9yCiAgICAgICAgICAgICA7OyBjb25zaXN0ZW5jeSAoc2VlOiAoc3Rh bmRhcmRzKSBEaXJlY3RvcnkgVmFyaWFibGVzKS4KICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAi c2V0dXAucHkiCiAgICAgICAgICAgICAgICgoIj0gJy91c3Ivc2hhcmUiKSAiPSAnc2hhcmUiKSkK ICAgICAgICAgICAgIDs7IFVwZGF0ZSBnZXRfbG9jYWxlX2ZpbGUoKSBzbyBpdCBmaW5kcyB0aGUg aW5zdGFsbGVkIGxvY2FsaXphdGlvbgogICAgICAgICAgICAgOzsgZmlsZXMuCiAgICAgICAgICAg ICAoc3Vic3RpdHV0ZSogInlvdXR1YmVfZGxfZ3VpL3V0aWxzLnB5IgogICAgICAgICAgICAgICAo KCJvc1xcLnBhdGhcXC5qb2luXFwoJy91c3InLCAnc2hhcmUnIikKICAgICAgICAgICAgICAgIChz dHJpbmctYXBwZW5kICJvcy5wYXRoLmpvaW4oJyIKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChhc3NvYy1yZWYgJW91dHB1dHMgIm91dCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiJywgJ3NoYXJlJyIpKSkpKSkpKQogICAgKGlucHV0cwogICAgIGAoKCJweXRob24yLXd4 cHl0aG9uIiAscHl0aG9uMi13eHB5dGhvbikKICAgICAgICgieW91dHViZS1kbCIgLHlvdXR1YmUt ZGwpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9NclMwbTMwbjMveW91dHVi ZS1kbC1ndWkiKQogICAgKHN5bm9wc2lzCiAgICAgIkdVSSAoR3JhcGhpY2FsIFVzZXIgSW50ZXJm YWNlKSBmb3IgQGNvbW1hbmR7eW91dHViZS1kbH0iKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIllv dXR1YmUtZGxHIGlzIGEgR1VJIChHcmFwaGljYWwgVXNlciBJbnRlcmZhY2UpIGZvcgpAY29tbWFu ZHt5b3V0dWJlLWRsfS4gIFlvdSBjYW4gdXNlIGl0IHRvIGRvd25sb2FkIHZpZGVvcyBmcm9tIFlv dVR1YmUgYW5kIGFueQpvdGhlciBzaXRlIHRoYXQgeW91dHViZS1kbCBzdXBwb3J0cy4iKQogICAg KGxpY2Vuc2UgbGljZW5zZTp1bmxpY2Vuc2UpKSkKCihkZWZpbmUtcHVibGljIHlvdS1nZXQKICAo cGFja2FnZQogICAgKG5hbWUgInlvdS1nZXQiKQogICAgKHZlcnNpb24gIjAuNC4xMDExIikKICAg IChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAg ICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQKICAgICAgICAgICAgICAgICAgICAiaHR0cHM6Ly9n aXRodWIuY29tL3NvaW1vcnQveW91LWdldC9hcmNoaXZlL3YiCiAgICAgICAgICAgICAgICAgICAg dmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBl bmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgICAgICAgIChzaGEyNTYKICAg ICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjBjZGJoNXcwY2h3M2Rscndpem05 MWw2c2dra3p5N3A2aDAwNzJkYWk0eGJ3NXpnbGQzMWsiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBw eXRob24tYnVpbGQtc3lzdGVtKQogICAgKGlucHV0cwogICAgIGAoKCJmZm1wZWciICxmZm1wZWcp KSkgICAgICAgICAgICAgOyBmb3IgbXVsdGktcGFydCBhbmQgPj0xMDgwcCB2aWRlb3MKICAgIChh cmd1bWVudHMKICAgICBgKCM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQt cGhhc2VzCiAgICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAncXVhbGlmeS1pbnB1dC1yZWZlcmVu Y2VzCiAgICAgICAgICAgOzsgRXhwbGljaXRseSBpbnZva2UgdGhlIGlucHV0IGZmbXBlZywgaW5z dGVhZCBvZiB3aGljaGV2ZXIgb25lCiAgICAgICAgICAgOzsgaGFwcGVucyB0byBiZSBpbiB0aGUg dXNlcidzICRQQVRIIGF0IHJ1biB0aW1lLgogICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1 dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgKGxldCAoKGZmbXBlZyAoc3RyaW5n LWFwcGVuZCAoYXNzb2MtcmVmIGlucHV0cyAiZmZtcGVnIikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi9iaW4vZmZtcGVnIikpKQogICAgICAgICAgICAgICAoc3Vi c3RpdHV0ZSogInNyYy95b3VfZ2V0L3Byb2Nlc3Nvci9mZm1wZWcucHkiCiAgICAgICAgICAgICAg ICAgOzsgRG9uJ3QgYmxpbmRseSByZXBsYWNlIGFsbCBvY2N1cnJlbmNlcyBvZiDigJgnZmZtcGVn J+KAmTogdGhlCiAgICAgICAgICAgICAgICAgOzsgc2FtZSBzdHJpbmcgaXMgYWxzbyB1c2VkIHdo ZW4gc25pZmZpbmcgZmZtcGVnJ3Mgb3V0cHV0LgogICAgICAgICAgICAgICAgICgoIihGRk1QRUcg PT0gfFxcKCknZmZtcGVnJyIgXyBwcmVmaXgpCiAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBw ZW5kIHByZWZpeCAiJyIgZmZtcGVnICInIikpKQogICAgICAgICAgICAgICAjdCkpKSkKICAgICAg ICM6dGVzdHM/ICNmKSkgICAgICAgICAgICAgICAgICAgIDsgWFhYIHNvbWUgdGVzdHMgbmVlZCBJ bnRlcm5ldCBhY2Nlc3MKICAgIChzeW5vcHNpcyAiRG93bmxvYWQgdmlkZW9zLCBhdWRpbywgb3Ig aW1hZ2VzIGZyb20gV2ViIHNpdGVzIikKICAgIChkZXNjcmlwdGlvbgogICAgICJZb3UtR2V0IGlz IGEgY29tbWFuZC1saW5lIHV0aWxpdHkgdG8gZG93bmxvYWQgbWVkaWEgY29udGVudHMgKHZpZGVv cywKYXVkaW8sIGltYWdlcykgZnJvbSB0aGUgV2ViLiAgSXQgY2FuIHVzZSBlaXRoZXIgbXB2IG9y IHZsYyBmb3IgcGxheWJhY2suIikKICAgIChob21lLXBhZ2UgImh0dHBzOi8veW91LWdldC5vcmcv IikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIGxpYmJsdXJh eQogIChwYWNrYWdlCiAgICAobmFtZSAibGliYmx1cmF5IikKICAgICh2ZXJzaW9uICIxLjAuMiIp CiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAg ICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwczovL2Rvd25sb2FkLnZpZGVvbGFu Lm9yZy92aWRlb2xhbi8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lICIv IiB2ZXJzaW9uICIvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSAiLSIg dmVyc2lvbiAiLnRhci5iejIiKSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAg IChiYXNlMzIKICAgICAgICAgICAgICAgICIxenhmbncxeGJnaGNqN2Izeno1ZGpuZHY2Z3dzc3hk YTE5Y3oxbHJscXJrZzg1NzdyN2tkIikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5 c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y29uZmlndXJlLWZsYWdzICcoIi0tZGlzYWJs ZS1iZGphdmEtamFyIikKICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3Rh bmRhcmQtcGhhc2VzCiAgICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAncmVmZXItdG8tbGlieG1s Mi1pbi0ucGMtZmlsZQogICAgICAgICAgIDs7IEF2b2lkIHRoZSBuZWVkIHRvIHByb3BhZ2F0ZSBs aWJ4bWwyIGJ5IHJlZmVycmluZyB0byBpdAogICAgICAgICAgIDs7IGRpcmVjdGx5LCBhcyBpcyBh bHJlYWR5IGRvbmUgZm9yIGZvbnRjb25maWcgJiBmcmVldHlwZS4KICAgICAgICAgICAobGFtYmRh KiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgICAgICAgIChsZXQgKChs aWJ4bWwyIChhc3NvYy1yZWYgaW5wdXRzICJsaWJ4bWwyIikpKQogICAgICAgICAgICAgICAoc3Vi c3RpdHV0ZSogImNvbmZpZ3VyZSIKICAgICAgICAgICAgICAgICAoKCIgbGlieG1sLTIuMCIpICIi KSkKICAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJzcmMvbGliYmx1cmF5LnBjLmluIgogICAg ICAgICAgICAgICAgICgoIl5MaWJzLnByaXZhdGU6IiBmaWVsZCkKICAgICAgICAgICAgICAgICAg KHN0cmluZy1hcHBlbmQgZmllbGQgIiAtTCIgbGlieG1sMiAiL2xpYiAtbHhtbDIiKSkpCiAgICAg ICAgICAgICAgICN0KSkpCiAgICAgICAgIChhZGQtYmVmb3JlICdidWlsZCAnZml4LWRsb3Blbi1w YXRocwogICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlz KQogICAgICAgICAgICAgKGxldCAoKGxpYmFhY3MgKGFzc29jLXJlZiBpbnB1dHMgImxpYmFhY3Mi KSkKICAgICAgICAgICAgICAgICAgIChsaWJiZHBsdXMgKGFzc29jLXJlZiBpbnB1dHMgImxpYmJk cGx1cyIpKSkKICAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJzcmMvbGliYmx1cmF5L2Rpc2Mv YWFjcy5jIgogICAgICAgICAgICAgICAgICgoIlwibGliYWFjc1wiIikKICAgICAgICAgICAgICAg ICAgKHN0cmluZy1hcHBlbmQgIlwiIiBsaWJhYWNzICIvbGliL2xpYmFhY3NcIiIpKSkKICAgICAg ICAgICAgICAgKHN1YnN0aXR1dGUqICJzcmMvbGliYmx1cmF5L2Rpc2MvYmRwbHVzLmMiCiAgICAg ICAgICAgICAgICAgKCgiXCJsaWJiZHBsdXNcIiIpCiAgICAgICAgICAgICAgICAgIChzdHJpbmct YXBwZW5kICJcIiIgbGliYmRwbHVzICIvbGliL2xpYmJkcGx1c1wiIikpKQogICAgICAgICAgICAg ICAjdCkpKSkpKQogICAgKG5hdGl2ZS1pbnB1dHMgYCgoInBrZy1jb25maWciICxwa2ctY29uZmln KSkpCiAgICAoaW5wdXRzCiAgICAgYCgoImZvbnRjb25maWciICxmb250Y29uZmlnKQogICAgICAg KCJmcmVldHlwZSIgLGZyZWV0eXBlKQogICAgICAgKCJsaWJhYWNzIiAsbGliYWFjcykKICAgICAg ICgibGliYmRwbHVzIiAsbGliYmRwbHVzKQogICAgICAgKCJsaWJ4bWwyIiAsbGlieG1sMikpKQog ICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly93d3cudmlkZW9sYW4ub3JnL2RldmVsb3BlcnMvbGliYmx1 cmF5Lmh0bWwiKQogICAgKHN5bm9wc2lzICJCbHUtUmF5IERpc2MgcGxheWJhY2sgbGlicmFyeSIp CiAgICAoZGVzY3JpcHRpb24KICAgICAibGliYmx1cmF5IGlzIGEgbGlicmFyeSBkZXNpZ25lZCBm b3IgQmx1LVJheSBEaXNjIHBsYXliYWNrIGZvciBtZWRpYQpwbGF5ZXJzLCBsaWtlIFZMQyBvciBN UGxheWVyLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmxncGwyLjErKSkpCgooZGVmaW5lLXB1Ymxp YyBsaWJkdmRyZWFkCiAgKHBhY2thZ2UKICAgIChuYW1lICJsaWJkdmRyZWFkIikKICAgICh2ZXJz aW9uICI2LjAuMCIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVy bC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwczovL2Rvd25s b2FkLnZpZGVvbGFuLm9yZy92aWRlb2xhbi8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBuYW1lICIvIiB2ZXJzaW9uICIvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5iejIiKSkKICAgICAgICAgICAgICAoc2hhMjU2CiAg ICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgICAgICIwZGdyMjNmemNqaGI3Y2s1NHhr cjl6bWY0amNxM3BoMGR6M2ZieXZsYTFjNm5pOWlqZnhrIikpKSkKICAgIChidWlsZC1zeXN0ZW0g Z251LWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y29uZmlndXJlLWZsYWdz ICcoIi0td2l0aC1saWJkdmRjc3M9eWVzIikpKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICBgKCgi cGtnLWNvbmZpZyIgLHBrZy1jb25maWcpKSkKICAgIChwcm9wYWdhdGVkLWlucHV0cwogICAgIGAo KCJsaWJkdmRjc3MiICxsaWJkdmRjc3MpKSkKICAgIChob21lLXBhZ2UgImh0dHA6Ly9kdmRuYXYu bXBsYXllcmhxLmh1LyIpCiAgICAoc3lub3BzaXMgIkxpYnJhcnkgZm9yIHJlYWRpbmcgdmlkZW8g RFZEcyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiTGliZHZkcmVhZCBwcm92aWRlcyBhIHNpbXBs ZSBmb3VuZGF0aW9uIGZvciByZWFkaW5nIERWRCB2aWRlbwpkaXNrcy4gIEl0IHByb3ZpZGVzIHRo ZSBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgcmVxdWlyZWQgdG8gYWNjZXNzIG1hbnkKRFZEcy4gIEl0 IHBhcnNlcyBJRk8gZmlsZXMsIHJlYWRzIE5BVi1ibG9ja3MsIGFuZCBwZXJmb3JtcyBDU1MKYXV0 aGVudGljYXRpb24gYW5kIGRlc2NyYW1ibGluZyAoaWYgYW4gZXh0ZXJuYWwgbGliZHZkY3NzIGxp YnJhcnkgaXMKaW5zdGFsbGVkKS4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwyKykpKQoKKGRl ZmluZS1wdWJsaWMgZHZkYXV0aG9yCiAgKHBhY2thZ2UKICAgIChuYW1lICJkdmRhdXRob3IiKQog ICAgKHZlcnNpb24gIjAuNy4yIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0 aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgIm1pcnJvcjovL3NvdXJj ZWZvcmdlL2R2ZGF1dGhvci9kdmRhdXRob3ItIgogICAgICAgICAgICAgICAgICAgICAgICAgICB2 ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMgogICAgICAg ICAiMWRyZmM0N2hpa2Z6YzlkN2hqazM0cncxMGlxdzAxZDJ2d21uOTFwdjczcHB4NG5zajgxaCIp KSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAoaW5wdXRzCiAgICAg YCgoImxpYmR2ZHJlYWQiICxsaWJkdmRyZWFkKQogICAgICAgKCJsaWJwbmciICxsaWJwbmcpCiAg ICAgICAoImltYWdlbWFnaWNrIiAsaW1hZ2VtYWdpY2spCiAgICAgICAoImxpYnhtbDIiICxsaWJ4 bWwyKQogICAgICAgKCJmcmVldHlwZSIgLGZyZWV0eXBlKSkpCiAgICAobmF0aXZlLWlucHV0cwog ICAgIGAoKCJwa2ctY29uZmlnIiAscGtnLWNvbmZpZykpKQogICAgKHN5bm9wc2lzICJHZW5lcmF0 ZXMgYSBEVkQtVmlkZW8gbW92aWUgZnJvbSBhIE1QRUctMiBzdHJlYW0iKQogICAgKGRlc2NyaXB0 aW9uICJAY29tbWFuZHtkdmRhdXRob3J9IHdpbGwgZ2VuZXJhdGUgYSBEVkQtVmlkZW8gbW92aWUg ZnJvbSBhCk1QRUctMiBzdHJlYW0gY29udGFpbmluZyBWT0IgcGFja2V0cy4iKQogICAgKGhvbWUt cGFnZSAiaHR0cDovL2R2ZGF1dGhvci5zb3VyY2Vmb3JnZS5uZXQiKQogICAgKGxpY2Vuc2UgbGlj ZW5zZTpncGwzKykpKQoKKGRlZmluZS1wdWJsaWMgbGliZHZkbmF2CiAgKHBhY2thZ2UKICAgIChu YW1lICJsaWJkdmRuYXYiKQogICAgKHZlcnNpb24gIjYuMC4wIikKICAgIChzb3VyY2UgKG9yaWdp bgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKHN0 cmluZy1hcHBlbmQgImh0dHBzOi8vZG93bmxvYWQudmlkZW9sYW4ub3JnL3ZpZGVvbGFuLyIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgIi8iIHZlcnNpb24gIi8iCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lICItIiB2ZXJzaW9uICIudGFyLmJ6MiIp KQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAg ICAgICAgIjA2Mm5qY2tzbXBndzl5djM3Mzdxa2Y5M3IycHpoYXhpOXN6cWphYnBhOGQwMTBkcDM4 cGgiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1p bnB1dHMKICAgICBgKCgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcpKSkKICAgIChpbnB1dHMKICAg ICBgKCgibGliZHZkcmVhZCIgLGxpYmR2ZHJlYWQpKSkKICAgIChob21lLXBhZ2UgImh0dHA6Ly9k dmRuYXYubXBsYXllcmhxLmh1LyIpCiAgICAoc3lub3BzaXMgIkxpYnJhcnkgZm9yIHZpZGVvIERW RCBuYXZpZ2F0aW9uIGZlYXR1cmVzIikKICAgIChkZXNjcmlwdGlvbgogICAgICJMaWJkdmRuYXYg aXMgYSBsaWJyYXJ5IGZvciBkZXZlbG9wZXJzIG9mIG11bHRpbWVkaWEKYXBwbGljYXRpb25zLiAg SXQgYWxsb3dzIGVhc3kgdXNlIG9mIHNvcGhpc3RpY2F0ZWQgRFZEIG5hdmlnYXRpb24gZmVhdHVy ZXMKc3VjaCBhcyBEVkQgbWVudXMsIG11bHRpYW5nbGUgcGxheWJhY2sgYW5kIGV2ZW4gaW50ZXJh Y3RpdmUgRFZEIGdhbWVzLiAgQWxsCnRoaXMgZnVuY3Rpb25hbGl0eSBpcyBwcm92aWRlZCB0aHJv dWdoIGEgc2ltcGxlIEFQSSB3aGljaCBwcm92aWRlcyB0aGUgRFZECnBsYXliYWNrIGFzIGEgc2lu Z2xlIGxvZ2ljYWwgc3RyZWFtIG9mIGJsb2NrcywgaW50ZXJtaXR0ZWQgYnkgc3BlY2lhbApkdmRu YXYgZXZlbnRzIHRvIHJlcG9ydCBjZXJ0YWluIGNvbmRpdGlvbnMuICBUaGUgbWFpbiB1c2FnZSBv ZiBsaWJkdmRuYXYgaXMKYSBsb29wIHJlZ3VsYXJseSBjYWxsaW5nIGEgZnVuY3Rpb24gdG8gZ2V0 IHRoZSBuZXh0IGJsb2NrLCBzdXJyb3VuZGVkIGJ5CmFkZGl0aW9uYWwgY2FsbHMgdG8gdGVsbCB0 aGUgbGlicmFyeSBvZiB1c2VyIGludGVyYWN0aW9uLiAgVGhlIHdob2xlCkRWRCB2aXJ0dWFsIG1h Y2hpbmUgYW5kIGludGVybmFsIHBsYXliYWNrIHN0YXRlcyBhcmUgY29tcGxldGVseQplbmNhcHN1 bGF0ZWQuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMispKSkKCihkZWZpbmUtcHVibGljIGxp YmR2ZGNzcwogIChwYWNrYWdlCiAgICAobmFtZSAibGliZHZkY3NzIikKICAgICh2ZXJzaW9uICIx LjQuMSIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRj aCkKICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwczovL2Rvd25sb2FkLnZp ZGVvbGFuLm9yZy9wdWIvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSAi LyIgdmVyc2lvbiAiLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgIi0i IHZlcnNpb24gIi50YXIuYnoyIikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAg ICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMWI3YXd2eWFoaXZnbHA3cW1neDJnNTAwNWtjNW5w djI1N2d3N3d4ZHByanNueDkzZjF6YiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1z eXN0ZW0pCiAgICAoaG9tZS1wYWdlICJodHRwczovL3d3dy52aWRlb2xhbi5vcmcvZGV2ZWxvcGVy cy9saWJkdmRjc3MuaHRtbCIpCiAgICAoc3lub3BzaXMgIkxpYnJhcnkgZm9yIGFjY2Vzc2luZyBE VkRzIGFzIGJsb2NrIGRldmljZXMiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgImxpYmR2ZGNzcyBp cyBhIHNpbXBsZSBsaWJyYXJ5IGRlc2lnbmVkIGZvciBhY2Nlc3NpbmcgRFZEcyBsaWtlIGEgYmxv Y2sKZGV2aWNlIHdpdGhvdXQgaGF2aW5nIHRvIGJvdGhlciBhYm91dCB0aGUgZGVjcnlwdGlvbi4i KQogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwyKykpKQoKKGRlZmluZS1wdWJsaWMgc3J0MnZ0dAog IChwYWNrYWdlCiAgICAobmFtZSAic3J0MnZ0dCIpCiAgICAodmVyc2lvbiAiMC4xIikKICAgIChz b3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAg ICAgICh1cmkgKHN0cmluZy1hcHBlbmQKICAgICAgICAgICAgICAgICAgICAiaHR0cHM6Ly9maWxl cy5kdGhvbXBzb24udXMvc3J0MnZ0dC9zcnQydnR0LSIKICAgICAgICAgICAgICAgICAgICB2ZXJz aW9uICIudGFyLmd6IikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFz ZTMyCiAgICAgICAgICAgICAgICAiMTZiMzc3em5qbTZxbGdhNXliOGFqN2I3YmNpc2ExZ2hjbmoy bHJiMWQzMGx2eHA0bGlpZiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0p CiAgICAoaW5wdXRzCiAgICAgYCgoImd1aWxlIiAsZ3VpbGUtMi4wKSkpCiAgICAoc3lub3BzaXMg IlN1YlJpcCB0byBXZWJWVFQgc3VidGl0bGUgY29udmVydGVyIikKICAgIChkZXNjcmlwdGlvbiAi c3J0MnZ0dCBjb252ZXJ0cyBTdWJSaXAgZm9ybWF0dGVkIHN1YnRpdGxlcyB0byBXZWJWVFQgZm9y bWF0CmZvciB1c2Ugd2l0aCBIVE1MNSB2aWRlby4iKQogICAgKGhvbWUtcGFnZSAiaHR0cDovL2R0 aG9tcHNvbi51cy9wYWdlcy9zb2Z0d2FyZS9zcnQydnR0IikKICAgIChsaWNlbnNlIGxpY2Vuc2U6 Z3BsMyspKSkKCihkZWZpbmUtcHVibGljIGF2aWRlbXV4CiAgKHBhY2thZ2UKICAgIChuYW1lICJh dmlkZW11eCIpCiAgICAodmVyc2lvbiAiMi42LjEyIikKICAgIChzb3VyY2UgKG9yaWdpbgogICAg ICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBw ZW5kCiAgICAgICAgICAgICAgICAgICAibWlycm9yOi8vc291cmNlZm9yZ2UvIiBuYW1lICIvIiBu YW1lICIvIiB2ZXJzaW9uICIvIgogICAgICAgICAgICAgICAgICAgbmFtZSAiXyIgdmVyc2lvbiAi LnRhci5neiIpKQogICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgIChiYXNlMzIKICAg ICAgICAgICAgICAgIjBuejUyeWloOHNmZjUzaW5uZGtoMmRiYTc1OXhqenNoNGI4eGp3dzQxOWxj cGswcXA2a24iKSkKICAgICAgICAgICAgIChwYXRjaGVzIChzZWFyY2gtcGF0Y2hlcyAiYXZpZGVt dXgtaW5zdGFsbC10by1saWIucGF0Y2giKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjbWFrZS1idWls ZC1zeXN0ZW0pCiAgICAobmF0aXZlLWlucHV0cwogICAgIGAoKCJwa2ctY29uZmlnIiAscGtnLWNv bmZpZykpKQogICAgOzsgRklYTUU6IE9uY2UgcGFja2FnZWQsIGFkZCBsaWJyYXJpZXMgbm90IGZv dW5kIGR1cmluZyB0aGUgYnVpbGQuCiAgICAoaW5wdXRzCiAgICAgYCgoImFsc2EtbGliIiAsYWxz YS1saWIpCiAgICAgICAoImZvbnRjb25maWciICxmb250Y29uZmlnKQogICAgICAgKCJmcmVldHlw ZSIgLGZyZWV0eXBlKQogICAgICAgKCJmcmliaWRpIiAsZnJpYmlkaSkKICAgICAgICgiZ2x1IiAs Z2x1KQogICAgICAgKCJqYWNrIiAsamFjay0xKQogICAgICAgKCJsYW1lIiAsbGFtZSkKICAgICAg ICgibGlidmEiICxsaWJ2YSkKICAgICAgICgibGlidmRwYXUiICxsaWJ2ZHBhdSkKICAgICAgICgi bGlidm9yYmlzIiAsbGlidm9yYmlzKQogICAgICAgKCJsaWJ2cHgiICxsaWJ2cHgpCiAgICAgICAo ImxpYnh2IiAsbGlieHYpCiAgICAgICAoInBlcmwiICxwZXJsKQogICAgICAgKCJwdWxzZWF1ZGlv IiAscHVsc2VhdWRpbykKICAgICAgICgicHl0aG9uIiAscHl0aG9uLXdyYXBwZXIpCiAgICAgICAo InF0IiAscXQpIDsgRklYTUU6IHJlZW5hYmxlIG1vZHVsYXIgcXQgYWZ0ZXIgdXBkYXRlIC0gcmVx dWlyZXMgYnVpbGRpbmcKICAgICAgIDsoInF0YmFzZSIgLHF0YmFzZSkgd2l0aCAtc3RkPWdudSsr MTEuCiAgICAgICA7KCJxdHRvb2xzIiAscXR0b29scykKICAgICAgICgic2RsIiAsc2RsKQogICAg ICAgKCJzcWxpdGUiICxzcWxpdGUpCiAgICAgICAoInlhc20iICx5YXNtKQogICAgICAgKCJ6bGli IiAsemxpYikpKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YgOyBubyBjaGVjayB0 YXJnZXQKICAgICAgICM6cGhhc2VzCiAgICAgICA7OyBNYWtlIHN1cmUgZmlsZXMgaW5zaWRlIHRo ZSBpbmNsdWRlZCBmZm1wZWcgdGFyYmFsbCBhcmUKICAgICAgIDs7IHBhdGNoLXNoZWJhbmdlZC4K ICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgIChhZGQtYmVmb3Jl ICdwYXRjaC1zb3VyY2Utc2hlYmFuZ3MgJ3VucGFjay1mZm1wZWcKICAgICAgICAgKGxhbWJkYSBf CiAgICAgICAgICAgKHdpdGgtZGlyZWN0b3J5LWV4Y3Vyc2lvbiAiYXZpZGVtdXhfY29yZS9mZm1w ZWdfcGFja2FnZSIKICAgICAgICAgICAgIChzeXN0ZW0qICJ0YXIiICJ4ZiIgImZmbXBlZy0yLjcu Ni50YXIuYnoyIikKICAgICAgICAgICAgIChkZWxldGUtZmlsZSAiZmZtcGVnLTIuNy42LnRhci5i ejIiKSkpKQogICAgICAgKGFkZC1hZnRlciAncGF0Y2gtc291cmNlLXNoZWJhbmdzICdyZXBhY2st ZmZtcGVnCiAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICh3aXRoLWRpcmVjdG9yeS1leGN1 cnNpb24gImF2aWRlbXV4X2NvcmUvZmZtcGVnX3BhY2thZ2UiCiAgICAgICAgICAgICAoc3Vic3Rp dHV0ZSogImZmbXBlZy0yLjcuNi9jb25maWd1cmUiCiAgICAgICAgICAgICAgICgoIiMhIC9iaW4v c2giKSAoc3RyaW5nLWFwcGVuZCAiIyEiICh3aGljaCAic2giKSkpKQogICAgICAgICAgICAgKHN5 c3RlbSogInRhciIgImNqZiIgImZmbXBlZy0yLjcuNi50YXIuYnoyIiAiZmZtcGVnLTIuNy42Igog ICAgICAgICAgICAgICAgICAgICAgOzsgYXZvaWQgbm9uLWRldGVybWluaXNtIGluIHRoZSBhcmNo aXZlCiAgICAgICAgICAgICAgICAgICAgICAiLS1zb3J0PW5hbWUiICItLW10aW1lPUAwIgogICAg ICAgICAgICAgICAgICAgICAgIi0tb3duZXI9cm9vdDowIiAiLS1ncm91cD1yb290OjAiKQogICAg ICAgICAgICAgKGRlbGV0ZS1maWxlLXJlY3Vyc2l2ZWx5ICJmZm1wZWctMi43LjYiKSkpKQogICAg ICAgKHJlcGxhY2UgJ2NvbmZpZ3VyZQogICAgICAgICAobGFtYmRhIF8KICAgICAgICAgICA7OyBD b3B5LXBhc3RlIHNldHRpbmdzIGZyb20gdGhlIGNtYWtlIGJ1aWxkIHN5c3RlbS4KICAgICAgICAg ICAoc2V0ZW52ICJDTUFLRV9MSUJSQVJZX1BBVEgiIChnZXRlbnYgIkxJQlJBUllfUEFUSCIpKQog ICAgICAgICAgIChzZXRlbnYgIkNNQUtFX0lOQ0xVREVfUEFUSCIgKGdldGVudiAiQ19JTkNMVURF X1BBVEgiKSkpKQogICAgICAgKHJlcGxhY2UgJ2J1aWxkCiAgICAgICAgIChsYW1iZGEqICgjOmtl eSBpbnB1dHMgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgKGxldCoKICAg ICAgICAgICAgICgob3V0IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikpCiAgICAgICAgICAgICAg KGxpYiAoc3RyaW5nLWFwcGVuZCBvdXQgIi9saWIiKSkKICAgICAgICAgICAgICAodG9wIChnZXRj d2QpKQogICAgICAgICAgICAgIChzZGwgKGFzc29jLXJlZiBpbnB1dHMgInNkbCIpKQogICAgICAg ICAgICAgIChidWlsZF9jb21wb25lbnQKICAgICAgICAgICAgICAgIChsYW1iZGEqIChjb21wb25l bnQgc3JjZGlyICM6b3B0aW9uYWwgKGFyZ3MgJygpKSkKICAgICAgICAgICAgICAgICAgKGxldCAo KGJ1aWxkZGlyIChzdHJpbmctYXBwZW5kICJidWlsZF8iIGNvbXBvbmVudCkpKQogICAgICAgICAg ICAgICAgICAgIChta2RpciBidWlsZGRpcikKICAgICAgICAgICAgICAgICAgICAod2l0aC1kaXJl Y3RvcnktZXhjdXJzaW9uIGJ1aWxkZGlyCiAgICAgICAgICAgICAgICAgICAgICAoemVybz8KICAg ICAgICAgICAgICAgICAgICAgICAgKGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBs eSBzeXN0ZW0qICJjbWFrZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1EQ01B S0VfSU5TVEFMTF9SUEFUSF9VU0VfTElOS19QQVRIPVRSVUUiCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICItRENNQUtFX0lOU1RBTExfUFJFRklYPSIgb3V0 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiLURDTUFL RV9JTlNUQUxMX1JQQVRIPSIgbGliKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo c3RyaW5nLWFwcGVuZCAiLURDTUFLRV9TSEFSRURfTElOS0VSX0ZMQUdTPSIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlwiLVdsLC1ycGF0aD0iIGxpYiAi XCIiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiLURB VklERU1VWF9TT1VSQ0VfRElSPSIgdG9wKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoc3RyaW5nLWFwcGVuZCAiLURTRExfSU5DTFVERV9ESVI9IgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZGwgIi9pbmNsdWRlL1NETCIpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICIuLi8iIHNyY2RpcikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1ERU5BQkxFX1FUNT1UcnVlIgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzKQogICAgICAgICAgICAgICAgICAgICAgICAg KHN5c3RlbSogIm1ha2UiICItaiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG51 bWJlci0+c3RyaW5nIChwYXJhbGxlbC1qb2ItY291bnQpKSkKICAgICAgICAgICAgICAgICAgICAg ICAgIChzeXN0ZW0qICJtYWtlIiAiaW5zdGFsbCIpKSkpKSkpKQogICAgICAgICAgICAgKG1rZGly IG91dCkKICAgICAgICAgICAgIChhbmQgKGJ1aWxkX2NvbXBvbmVudCAiY29yZSIgImF2aWRlbXV4 X2NvcmUiKQogICAgICAgICAgICAgICAgICAoYnVpbGRfY29tcG9uZW50ICJjbGkiICJhdmlkZW11 eC9jbGkiKQogICAgICAgICAgICAgICAgICAoYnVpbGRfY29tcG9uZW50ICJxdDQiICJhdmlkZW11 eC9xdDQiKQogICAgICAgICAgICAgICAgICAoYnVpbGRfY29tcG9uZW50ICJwbHVnaW5zX2NvbW1v biIgImF2aWRlbXV4X3BsdWdpbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn KCItRFBMVUdJTl9VST1DT01NT04iKSkKICAgICAgICAgICAgICAgICAgKGJ1aWxkX2NvbXBvbmVu dCAicGx1Z2luc19jbGkiICJhdmlkZW11eF9wbHVnaW5zIgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJygiLURQTFVHSU5fVUk9Q0xJIikpCiAgICAgICAgICAgICAgICAgIChidWls ZF9jb21wb25lbnQgInBsdWdpbnNfcXQ0IiAiYXZpZGVtdXhfcGx1Z2lucyIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICcoIi1EUExVR0lOX1VJPVFUNCIpKQogICAgICAgICAgICAg ICAgICAoYnVpbGRfY29tcG9uZW50ICJwbHVnaW5zX3NldHRpbmdzIiAiYXZpZGVtdXhfcGx1Z2lu cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoIi1EUExVR0lOX1VJPVNFVFRJ TkdTIikpKQogICAgICAgICAgICAgOzsgUmVtb3ZlIC5leGUgYW5kIC5kbGwgZmlsZS4KICAgICAg ICAgICAgIChkZWxldGUtZmlsZS1yZWN1cnNpdmVseQogICAgICAgICAgICAgICAoc3RyaW5nLWFw cGVuZCBvdXQgIi9zaGFyZS9BRE02X2FkZG9ucyIpKSkpKQogICAgICAgKGRlbGV0ZSAnaW5zdGFs bCkpKSkKICAgIChob21lLXBhZ2UgImh0dHA6Ly9maXhvdW5ldC5mcmVlLmZyL2F2aWRlbXV4LyIp CiAgICAoc3lub3BzaXMgIlZpZGVvIGVkaXRvciIpCiAgICAoZGVzY3JpcHRpb24gIkF2aWRlbXV4 IGlzIGEgdmlkZW8gZWRpdG9yIGRlc2lnbmVkIGZvciBzaW1wbGUgY3V0dGluZywKZmlsdGVyaW5n IGFuZCBlbmNvZGluZyB0YXNrcy4gIEl0IHN1cHBvcnRzIG1hbnkgZmlsZSB0eXBlcywgaW5jbHVk aW5nIEFWSSwKRFZEIGNvbXBhdGlibGUgTVBFRyBmaWxlcywgTVA0IGFuZCBBU0YsIHVzaW5nIGEg dmFyaWV0eSBvZiBjb2RlY3MuICBUYXNrcwpjYW4gYmUgYXV0b21hdGVkIHVzaW5nIHByb2plY3Rz LCBqb2IgcXVldWUgYW5kIHBvd2VyZnVsIHNjcmlwdGluZwpjYXBhYmlsaXRpZXMuIikKICAgIChz dXBwb3J0ZWQtc3lzdGVtcyAnKCJ4ODZfNjQtbGludXgiICJpNjg2LWxpbnV4IiAiYXJtaGYtbGlu dXgiKSkKICAgIDs7IFNvZnR3YXJlIHdpdGggdmFyaW91cyBsaWNlbnNlcyBpcyBpbmNsdWRlZCwg c2VlIExpY2Vuc2UudHh0LgogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwyKykpKQoKKGRlZmluZS1w dWJsaWMgdmFwb3Vyc3ludGgKICAocGFja2FnZQogICAgKG5hbWUgInZhcG91cnN5bnRoIikKICAg ICh2ZXJzaW9uICIzNyIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9k IHVybC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kCiAgICAgICAgICAg ICAgICAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS92YXBvdXJzeW50aC92YXBvdXJzeW50aC9hcmNo aXZlL1IiCiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgICAg ICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIp KQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAg ICAgICAgIjFnM2hjMDc5anc0bXoxY21rdjJ5MjhwZGI1NTZ3cWM4cWw3aXJhdmdoMXJnOGozZjF6 aTUiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1p bnB1dHMKICAgICBgKCgiYXV0b2NvbmYiICxhdXRvY29uZikKICAgICAgICgiYXV0b21ha2UiICxh dXRvbWFrZSkKICAgICAgICgiY3l0aG9uIiAscHl0aG9uLWN5dGhvbikKICAgICAgICgibGlidG9v bCIgLGxpYnRvb2wpCiAgICAgICAoInBrZy1jb25maWciICxwa2ctY29uZmlnKQogICAgICAgKCJw eXRob24iICxweXRob24pCiAgICAgICAoInlhc20iICx5YXNtKSkpCiAgICAoaW5wdXRzCiAgICAg YCgoImZmbXBlZyIgLGZmbXBlZykKICAgICAgICgibGliYXNzIiAsbGliYXNzKQogICAgICAgKCJ0 ZXNzZXJhY3Qtb2NyIiAsdGVzc2VyYWN0LW9jcikKICAgICAgICgiemltZyIgLHppbWcpKSkKICAg IChhcmd1bWVudHMKICAgICAnKCM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRh cmQtcGhhc2VzCiAgICAgICAgIChhZGQtYWZ0ZXIKICAgICAgICAgICd1bnBhY2sgJ2F1dG9nZW4K ICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAoemVybz8gKHN5c3RlbSogInNoIiAiYXV0 b2dlbi5zaCIpKSkpKSkpCiAgICAoaG9tZS1wYWdlICJodHRwOi8vd3d3LnZhcG91cnN5bnRoLmNv bS8iKQogICAgKHN5bm9wc2lzICJWaWRlbyBwcm9jZXNzaW5nIGZyYW1ld29yayIpCiAgICAoZGVz Y3JpcHRpb24gIlZhcG91clN5bnRoIGlzIGEgQysrIGxpYnJhcnkgYW5kIFB5dGhvbiBtb2R1bGUg Zm9yIHZpZGVvCm1hbmlwdWxhdGlvbi4gIEl0IGFpbXMgdG8gYmUgYSBtb2Rlcm4gcmV3cml0ZSBv ZiBBdmlzeW50aCwgc3VwcG9ydGluZwptdWx0aXRocmVhZGluZywgZ2VuZXJhbGl6ZWQgY29sb3Jz cGFjZXMsIHBlciBmcmFtZSBwcm9wZXJ0aWVzLCBhbmQgdmlkZW9zIHdpdGgKZm9ybWF0IGNoYW5n ZXMuIikKICAgIDs7IHNyYy9jb3JlL2NwdWZlYXR1cmVzIG9ubHkgYWxsb3dzIHg4NiwgQVJNIG9y IFBQQwogICAgKHN1cHBvcnRlZC1zeXN0ZW1zIChmb2xkIGRlbGV0ZSAlc3VwcG9ydGVkLXN5c3Rl bXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCJtaXBzNjRlbC1saW51eCIgImFhcmNo NjQtbGludXgiKSkpCiAgICA7OyBBcyBzZWVuIGZyb20gdGhlIHNvdXJjZSBmaWxlcy4KICAgIChs aWNlbnNlIGxpY2Vuc2U6bGdwbDIuMSspKSkKCihkZWZpbmUtcHVibGljIHh2aWQKICAocGFja2Fn ZQogICAgKG5hbWUgInh2aWQiKQogICAgKHZlcnNpb24gIjEuMy40IikKICAgIChzb3VyY2UgKG9y aWdpbgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkg KHN0cmluZy1hcHBlbmQKICAgICAgICAgICAgICAgICAgICAiaHR0cDovL2Rvd25sb2Fkcy54dmlk Lm9yZy9kb3dubG9hZHMveHZpZGNvcmUtIgogICAgICAgICAgICAgICAgICAgIHZlcnNpb24gIi50 YXIuYnoyIikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAg ICAgICAgICAgICAgICAiMXh3Ym1wOXdxc2hjMGNrbTk3MHpkcGkweXZncXhscWcwczhia3o5OG1u cjhwMjA2N2JzeiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAo bmF0aXZlLWlucHV0cyBgKCgieWFzbSIgLHlhc20pKSkKICAgIChhcmd1bWVudHMKICAgICAnKCM6 cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgIChh ZGQtYmVmb3JlCiAgICAgICAgICAnY29uZmlndXJlICdwcmUtY29uZmlndXJlCiAgICAgICAgICAo bGFtYmRhIF8KICAgICAgICAgICAgKGNoZGlyICJidWlsZC9nZW5lcmljIikKICAgICAgICAgICAg KHN1YnN0aXR1dGUqICJjb25maWd1cmUiCiAgICAgICAgICAgICAgKCgiIyEgL2Jpbi9zaCIpIChz dHJpbmctYXBwZW5kICIjISIgKHdoaWNoICJzaCIpKSkpKSkpCiAgICAgICA7OyBObyAnY2hlY2sn IHRhcmdldC4KICAgICAgICM6dGVzdHM/ICNmKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vd3d3 Lnh2aWQuY29tLyIpCiAgICAoc3lub3BzaXMgIk1QRUctNCBQYXJ0IDIgQWR2YW5jZWQgU2ltcGxl IFByb2ZpbGUgdmlkZW8gY29kZWMiKQogICAgKGRlc2NyaXB0aW9uICJYdmlkIGlzIGFuIE1QRUct NCBQYXJ0IDIgQWR2YW5jZWQgU2ltcGxlIFByb2ZpbGUgKEFTUCkgdmlkZW8KY29kZWMgbGlicmFy eS4gIEl0IHVzZXMgQVNQIGZlYXR1cmVzIHN1Y2ggYXMgYi1mcmFtZXMsIGdsb2JhbCBhbmQgcXVh cnRlcgpwaXhlbCBtb3Rpb24gY29tcGVuc2F0aW9uLCBsdW1pIG1hc2tpbmcsIHRyZWxsaXMgcXVh bnRpemF0aW9uLCBhbmQgSC4yNjMsIE1QRUcKYW5kIGN1c3RvbSBxdWFudGl6YXRpb24gbWF0cmlj ZXMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMispKSkKCihkZWZpbmUtcHVibGljIHN0cmVh bWxpbmsKICAocGFja2FnZQogICAgKG5hbWUgInN0cmVhbWxpbmsiKQogICAgKHZlcnNpb24gIjAu MTAuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gp CiAgICAgICAodXJpIChweXBpLXVyaSAic3RyZWFtbGluayIgdmVyc2lvbikpCiAgICAgICAoc2hh MjU2CiAgICAgICAgKGJhc2UzMgogICAgICAgICAiMTcyOTl4bmQ5anppN20xZDJycjR4ZGxqNDdx NjRiemoyOTU3bmxzcmh3MGhza2RzMXM2aCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIHB5dGhvbi1i dWlsZC1zeXN0ZW0pCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vc3RyZWFtbGlu ay9zdHJlYW1saW5rIikKICAgIChuYXRpdmUtaW5wdXRzCiAgICAgYCgoInB5dGhvbi1weXRlc3Qi ICxweXRob24tcHl0ZXN0KQogICAgICAgKCJweXRob24tbW9jayIgLHB5dGhvbi1tb2NrKQogICAg ICAgKCJweXRob24tcmVxdWVzdHMtbW9jayIgLHB5dGhvbi1yZXF1ZXN0cy1tb2NrKSkpCiAgICAo cHJvcGFnYXRlZC1pbnB1dHMKICAgICBgKCgicHl0aG9uLXB5c29ja3MiICxweXRob24tcHlzb2Nr cykKICAgICAgICgicHl0aG9uLXdlYnNvY2tldC1jbGllbnQiICxweXRob24td2Vic29ja2V0LWNs aWVudCkKICAgICAgICgicHl0aG9uLWlzbzMxNjYiICxweXRob24taXNvMzE2NikKICAgICAgICgi cHl0aG9uLWlzbzYzOSIgLHB5dGhvbi1pc282MzkpCiAgICAgICAoInB5dGhvbi1weWNyeXB0b2Rv bWUiICxweXRob24tcHljcnlwdG9kb21lKQogICAgICAgKCJweXRob24tcmVxdWVzdHMiICxweXRo b24tcmVxdWVzdHMpKSkKICAgIChzeW5vcHNpcyAiRXh0cmFjdCBzdHJlYW1zIGZyb20gdmFyaW91 cyBzZXJ2aWNlcyIpCiAgICAoZGVzY3JpcHRpb24gIlN0cmVhbWxpbmsgaXMgY29tbWFuZC1saW5l IHV0aWxpdHkgdGhhdCBleHRyYWN0cyBzdHJlYW1zCmZyb20gc2l0ZXMgbGlrZSBUd2l0Y2gudHYg YW5kIHBpcGVzIHRoZW0gaW50byBhIHZpZGVvIHBsYXllciBvZiBjaG9pY2UuIikKICAgIChsaWNl bnNlIGxpY2Vuc2U6YnNkLTIpKSkKCihkZWZpbmUtcHVibGljIGxpdmVzdHJlYW1lcgogIChkZXBy ZWNhdGVkLXBhY2thZ2UgImxpdmVzdHJlYW1lciIgc3RyZWFtbGluaykpCgooZGVmaW5lLXB1Ymxp YyBtbHQKICAocGFja2FnZQogICAgKG5hbWUgIm1sdCIpCiAgICAodmVyc2lvbiAiNi40LjEiKQog ICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAg ICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZCAiaHR0cHM6Ly9naXRodWIuY29tL21sdGZyYW1l d29yay9tbHQvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyY2hpdmUvdiIg dmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBl bmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgICAgICAgIChzaGEyNTYKICAg ICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjEwbTNyeTBiMnB2cXgzYmszNHFo NWRxMzM3bm44cGtjMmd6Znloc2o0bnY5YWJza2xuNDciKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBn bnUtYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YgOyBubyB0 ZXN0cwogICAgICAgIzptYWtlLWZsYWdzICcoIkNDPWdjYyIpCiAgICAgICAjOmNvbmZpZ3VyZS1m bGFncwogICAgICAgKGxpc3QgIi0tZW5hYmxlLWdwbDMiCiAgICAgICAgICAgICAiLS1lbmFibGUt Z3BsIikKICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhh c2VzCiAgICAgICAgIChhZGQtYWZ0ZXIKICAgICAgICAgICdjb25maWd1cmUgJ292ZXJyaWRlLUxE RkxBR1MKICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5 cykKICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJjb25maWcubWFrIgogICAgICAgICAgICAgICgo IkxERkxBR1NcXCs9IikKICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIkxERkxBR1MrPS1X bCwtcnBhdGg9IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXNzb2MtcmVmIG91dHB1 dHMgIm91dCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvbGliICIpKSkKICAgICAg ICAgICAgI3QpKSkpKQogICAgKGlucHV0cwogICAgIGAoKCJhbHNhLWxpYiIgLGFsc2EtbGliKQog ICAgICAgKCJmZm1wZWciICxmZm1wZWcpCiAgICAgICAoImZmdHciICxmZnR3KQogICAgICAgKCJs aWJ4bWwyIiAsbGlieG1sMikKICAgICAgICgiamFjayIgLGphY2stMSkKICAgICAgICgibGFkc3Bh IiAsbGFkc3BhKQogICAgICAgKCJsaWJzYW1wbGVyYXRlIiAsbGlic2FtcGxlcmF0ZSkKICAgICAg ICgicHVsc2VhdWRpbyIgLHB1bHNlYXVkaW8pCiAgICAgICAoInNkbCIgLHNkbCkKICAgICAgICgi c294IiAsc294KSkpCiAgICAobmF0aXZlLWlucHV0cwogICAgIGAoKCJwa2ctY29uZmlnIiAscGtn LWNvbmZpZykpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly93d3cubWx0ZnJhbWV3b3JrLm9yZy8i KQogICAgKHN5bm9wc2lzICJBdXRob3IsIG1hbmFnZSwgYW5kIHJ1biBtdWx0aXRyYWNrIGF1ZGlv L3ZpZGVvIGNvbXBvc2l0aW9ucyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiTUxUIGlzIGEgbXVs dGltZWRpYSBmcmFtZXdvcmssIGRlc2lnbmVkIGFuZCBkZXZlbG9wZWQgZm9yIHRlbGV2aXNpb24K YnJvYWRjYXN0aW5nLiAgSXQgcHJvdmlkZXMgYSB0b29sa2l0IGZvciBicm9hZGNhc3RlcnMsIHZp ZGVvIGVkaXRvcnMsIG1lZGlhCnBsYXllcnMsIHRyYW5zY29kZXJzLCB3ZWIgc3RyZWFtZXJzIGFu ZCBtYW55IG1vcmUgdHlwZXMgb2YgYXBwbGljYXRpb25zLiAgVGhlCmZ1bmN0aW9uYWxpdHkgb2Yg dGhlIHN5c3RlbSBpcyBwcm92aWRlZCB2aWEgYW4gYXNzb3J0bWVudCBvZiByZWFkeSB0byB1c2UK dG9vbHMsIFhNTCBhdXRob3JpbmcgY29tcG9uZW50cywgYW5kIGFuIGV4dGVuc2libGUgcGx1Zy1p biBiYXNlZCBBUEkuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMykpKQoKKGRlZmluZS1wdWJs aWMgdjRsLXV0aWxzCiAgKHBhY2thZ2UKICAgIChuYW1lICJ2NGwtdXRpbHMiKQogICAgKHZlcnNp b24gIjEuMTIuNSIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVy bC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwczovL2xpbnV4 dHYub3JnL2Rvd25sb2Fkcy92NGwtdXRpbHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiL3Y0bC11dGlscy0iIHZlcnNpb24gIi50YXIuYnoyIikpCiAgICAgICAgICAgICAgKHNo YTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMDNnMmI0cml2cmls aW1jcDU3bXdybHNhM3F2cnhtazRzemEwOG15Z3dtcWJ2Y25pYzYwNiIpKSkpCiAgICAoYnVpbGQt c3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgJygjOmNvbmZpZ3Vy ZS1mbGFncwogICAgICAgKGxpc3QgKHN0cmluZy1hcHBlbmQgIi0td2l0aC11ZGV2ZGlyPSIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgJW91dHB1dHMgIm91dCIpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiL2xpYi91ZGV2IikKICAgICAgICAgICAgICJDWFhGTEFH Uz0tc3RkPWdudSsrMTEiKSkpCiAgICAobmF0aXZlLWlucHV0cwogICAgIGAoKCJwZXJsIiAscGVy bCkKICAgICAgICgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcpKSkKICAgIChpbnB1dHMKICAgICBg KCgiYWxzYS1saWIiICxhbHNhLWxpYikKICAgICAgICgiZ2x1IiAsZ2x1KQogICAgICAgKCJsaWJq cGVnIiAsbGlianBlZykKICAgICAgICgibGlieDExIiAsbGlieDExKQogICAgICAgKCJxdGJhc2Ui ICxxdGJhc2UpCiAgICAgICAoImV1ZGV2IiAsZXVkZXYpKSkKICAgIChzeW5vcHNpcyAiUmVhbHRp bWUgdmlkZW8gY2FwdHVyZSB1dGlsaXRpZXMgZm9yIExpbnV4IikKICAgIChkZXNjcmlwdGlvbiAi VGhlIHY0bC11dGlscyBwcm92aWRlIGEgc2VyaWVzIG9mIGxpYnJhcmllcyBhbmQgdXRpbGl0aWVz IHRvCmJlIHVzZWQgZm9yIHJlYWx0aW1lIHZpZGVvIGNhcHR1cmUgdmlhIExpbnV4LXNwZWNpZmlj IEFQSXMuIikKICAgIChob21lLXBhZ2UgImh0dHBzOi8vbGludXh0di5vcmcvd2lraS9pbmRleC5w aHAvVjRsLXV0aWxzIikKICAgIDs7IGxpYnY0bDIgaXMgTEdQTDIuMSssIHdoaWxlIHV0aWxpdGll cyBhcmUgR1BMMiBvbmx5LgogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpsZ3BsMi4xKyBsaWNl bnNlOmdwbDIpKSkpCgooZGVmaW5lLXB1YmxpYyBvYnMKICAocGFja2FnZQogICAgKG5hbWUgIm9i cyIpCiAgICAodmVyc2lvbiAiMjAuMS4zIikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAg ICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQg Imh0dHBzOi8vZ2l0aHViLmNvbS9qcDkwMDAvb2JzLXN0dWRpbyIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIvYXJjaGl2ZS8iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgICAg ICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oi KSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAg ICAgICAgICIxZzV6NnowNTB2MjV3aGM3bjN4dmc2bDIzOHdtZzVjcnA3aWh2azczcW5ndnp4cjhi ZzI4IikpKSkKICAgIChidWlsZC1zeXN0ZW0gY21ha2UtYnVpbGQtc3lzdGVtKQogICAgKGFyZ3Vt ZW50cwogICAgIGAoIzp0ZXN0cz8gI2YpKSA7IG5vIHRlc3RzCiAgICAobmF0aXZlLWlucHV0cwog ICAgIGAoKCJwa2ctY29uZmlnIiAscGtnLWNvbmZpZykpKQogICAgKGlucHV0cwogICAgIGAoKCJh bHNhLWxpYiIgLGFsc2EtbGliKQogICAgICAgKCJjdXJsIiAsY3VybCkKICAgICAgICgiZXVkZXYi ICxldWRldikKICAgICAgICgiZmZtcGVnIiAsZmZtcGVnKQogICAgICAgKCJmb250Y29uZmlnIiAs Zm9udGNvbmZpZykKICAgICAgICgiZnJlZXR5cGUiICxmcmVldHlwZSkKICAgICAgICgiamFjayIg LGphY2stMSkKICAgICAgICgiamFuc3NvbiIgLGphbnNzb24pCiAgICAgICAoImxpYngyNjQiICxs aWJ4MjY0KQogICAgICAgKCJsaWJ4Y29tcG9zaXRlIiAsbGlieGNvbXBvc2l0ZSkKICAgICAgICgi bWVzYSIgLG1lc2EpCiAgICAgICAoInB1bHNlYXVkaW8iICxwdWxzZWF1ZGlvKQogICAgICAgKCJx dGJhc2UiICxxdGJhc2UpCiAgICAgICAoInF0eDExZXh0cmFzIiAscXR4MTFleHRyYXMpCiAgICAg ICAoInNwZWV4IiAsc3BlZXgpCiAgICAgICAoInY0bC11dGlscyIgLHY0bC11dGlscykKICAgICAg ICgiemxpYiIgLHpsaWIpKSkKICAgIChzeW5vcHNpcyAiTGl2ZSBzdHJlYW1pbmcgc29mdHdhcmUi KQogICAgKGRlc2NyaXB0aW9uICJPcGVuIEJyb2FkY2FzdGVyIFNvZnR3YXJlIHByb3ZpZGVzIGEg Z3JhcGhpY2FsIGludGVyZmFjZSBmb3IKdmlkZW8gcmVjb3JkaW5nIGFuZCBsaXZlIHN0cmVhbWlu Zy4gIE9CUyBzdXBwb3J0cyBjYXB0dXJpbmcgYXVkaW8gYW5kIHZpZGVvCmZyb20gbWFueSBpbnB1 dCBzb3VyY2VzIHN1Y2ggYXMgd2ViY2FtcywgWDExIChmb3Igc2NyZWVuY2FzdGluZyksIFB1bHNl QXVkaW8sCmFuZCBKQUNLLiIpCiAgICAoaG9tZS1wYWdlICJodHRwczovL29ic3Byb2plY3QuY29t IikKICAgIChzdXBwb3J0ZWQtc3lzdGVtcyAnKCJ4ODZfNjQtbGludXgiICJpNjg2LWxpbnV4Iikp CiAgICAobGljZW5zZSBsaWNlbnNlOmdwbDIrKSkpCgooZGVmaW5lLXB1YmxpYyBsaWJ2ZHBhdQog IChwYWNrYWdlCiAgICAobmFtZSAibGlidmRwYXUiKQogICAgKHZlcnNpb24gIjEuMS4xIikKICAg IChzb3VyY2UKICAgICAgKG9yaWdpbgogICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAg ICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8vc2VjdXJlLmZyZWVkZXNrdG9wLm9yZy9+YXBs YXR0bmVyL3ZkcGF1LyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgIi0iIHZlcnNp b24gIi50YXIuYnoyIikpCiAgICAgICAgKHNoYTI1NgogICAgICAgICAoYmFzZTMyCiAgICAgICAg ICAiMGRucGIweWg3djZydmNreDgya3hnMDQ1cmQ5cmJzdzI1d2p2N2FkNW44aDk0czloMnlsNSIp KSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAobmF0aXZlLWlucHV0 cwogICAgIGAoKCJwa2ctY29uZmlnIiAscGtnLWNvbmZpZykpKQogICAgKGlucHV0cwogICAgIGAo KCJkcmkycHJvdG8iICxkcmkycHJvdG8pCiAgICAgICAoImxpYngxMSIgLGxpYngxMSAib3V0IikK ICAgICAgICgibGlieGV4dCIgLGxpYnhleHQpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vd2lr aS5mcmVlZGVza3RvcC5vcmcvd3d3L1NvZnR3YXJlL1ZEUEFVLyIpCiAgICAoc3lub3BzaXMgIlZp ZGVvIERlY29kZSBhbmQgUHJlc2VudGF0aW9uIEFQSSIpCiAgICAoZGVzY3JpcHRpb24gIlZEUEFV IGlzIHRoZSBWaWRlbyBEZWNvZGUgYW5kIFByZXNlbnRhdGlvbiBBUEkgZm9yIFVOSVguICBJdApw cm92aWRlcyBhbiBpbnRlcmZhY2UgdG8gdmlkZW8gZGVjb2RlIGFjY2VsZXJhdGlvbiBhbmQgcHJl c2VudGF0aW9uIGhhcmR3YXJlCnByZXNlbnQgaW4gbW9kZXJuIEdQVXMuIikKICAgIChsaWNlbnNl IChsaWNlbnNlOngxMS1zdHlsZSAiZmlsZTovL0NPUFlJTkciKSkpKQoKKGRlZmluZS1wdWJsaWMg dmRwYXVpbmZvCiAgKHBhY2thZ2UKICAgIChuYW1lICJ2ZHBhdWluZm8iKQogICAgKHZlcnNpb24g IjEuMCIpCiAgICAoc291cmNlCiAgICAgIChvcmlnaW4KICAgICAgICAobWV0aG9kIHVybC1mZXRj aCkKICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwczovL3NlY3VyZS5mcmVlZGVza3Rv cC5vcmcvfmFwbGF0dG5lci92ZHBhdS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1l ICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAgKHNoYTI1NgogICAgICAgICAoYmFzZTMy CiAgICAgICAgICAiMWkyYjBrOWg4cjBsbnhscmtncXptcmpha2dhdzNmMXlncXF3eng4dzY2NzZn ODVyY20yMCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAobmF0 aXZlLWlucHV0cwogICAgIGAoKCJwa2ctY29uZmlnIiAscGtnLWNvbmZpZykKICAgICAgICgibGli eDExIiAsbGlieDExKSkpCiAgICAocHJvcGFnYXRlZC1pbnB1dHMKICAgICBgKCgibGlidmRwYXUi ICxsaWJ2ZHBhdSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly93aWtpLmZyZWVkZXNrdG9wLm9y Zy93d3cvU29mdHdhcmUvVkRQQVUvIikKICAgIChzeW5vcHNpcyAiVG9vbCB0byBxdWVyeSB0aGUg Y2FwYWJpbGl0aWVzIG9mIGEgVkRQQVUgaW1wbGVtZW50YXRpb24iKQogICAgKGRlc2NyaXB0aW9u ICJWZHBhdWluZm8gaXMgYSB0b29sIHRvIHF1ZXJ5IHRoZSBjYXBhYmlsaXRpZXMgb2YgYSBWRFBB VQppbXBsZW1lbnRhdGlvbi4iKQogICAgKGxpY2Vuc2UgKGxpY2Vuc2U6eDExLXN0eWxlICJmaWxl Oi8vQ09QWUlORyIpKSkpCgooZGVmaW5lLXB1YmxpYyBsaWJ2ZHBhdS12YS1nbAogIChwYWNrYWdl CiAgICAobmFtZSAibGlidmRwYXUtdmEtZ2wiKQogICAgKHZlcnNpb24gIjAuNC4yIikKICAgIChz b3VyY2UKICAgICAgKG9yaWdpbgogICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICh1 cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8vZ2l0aHViLmNvbS9pLXJpbmF0L2xpYnZkcGF1LXZh LWdsLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxlYXNlcy9kb3dubG9hZC92IiB2 ZXJzaW9uICIvbGlidmRwYXUtdmEtZ2wtIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVy c2lvbiAiLnRhci5neiIpKQogICAgICAgIChzaGEyNTYKICAgICAgICAgKGJhc2UzMgogICAgICAg ICAgIjF4MmFnMWYyZndhNHloMWc1c3B2OTl3OXgxbTMzaGJ4bHF3eWhtMjA1c3NxMHJhMjM0Yngi KSkKICAgICAgICAocGF0Y2hlcyAoc2VhcmNoLXBhdGNoZXMgImxpYnZkcGF1LXZhLWdsLXVuYnVu ZGxlLnBhdGNoIikpCiAgICAgICAgKG1vZHVsZXMgJygoZ3VpeCBidWlsZCB1dGlscykpKQogICAg ICAgIChzbmlwcGV0ICcoZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkgIjNyZHBhcnR5IikpKSkKICAg IChidWlsZC1zeXN0ZW0gY21ha2UtYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgICco Izp0ZXN0cz8gI2YpKSA7IFRlc3RzIHJlcXVpcmUgYSBydW5uaW5nIFgxMSBzZXJ2ZXIsIHdpdGgg VkEtQVBJIHN1cHBvcnQuCiAgICAobmF0aXZlLWlucHV0cwogICAgIGAoKCJsaWJ2ZHBhdSIgLGxp YnZkcGF1KQogICAgICAgKCJwa2ctY29uZmlnIiAscGtnLWNvbmZpZykpKQogICAgKGlucHV0cwog ICAgIGAoKCJsaWJ2YSIgLGxpYnZhKQogICAgICAgKCJtZXNhIiAsbWVzYSkpKQogICAgKGhvbWUt cGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2ktcmluYXQvbGlidmRwYXUtdmEtZ2wiKQogICAgKHN5 bm9wc2lzICJWRFBBVSBkcml2ZXIgd2l0aCBWQS1BUEkvT3BlbkdMIGJhY2tlbmQiKQogICAgKGRl c2NyaXB0aW9uCiAgICAgIk1hbnkgYXBwbGljYXRpb25zIGNhbiB1c2UgVkRQQVUgdG8gYWNjZWxl cmF0ZSBwb3J0aW9ucyBvZiB0aGUgdmlkZW8KZGVjb2RpbmcgcHJvY2VzcyBhbmQgdmlkZW8gcG9z dC1wcm9jZXNzaW5nIHRvIHRoZSBHUFUgdmlkZW8gaGFyZHdhcmUuICBTaW5jZQp0aGVyZSBpcyBu byBWRFBBVSBhdmFpbGFibGUgb24gSW50ZWwgY2hpcHMsIHRoZXkgZmFsbCBiYWNrIHRvIGRpZmZl cmVudCBkcmF3aW5nCnRlY2huaXF1ZXMuICBUaGlzIGRyaXZlciB1c2VzIE9wZW5HTCB1bmRlciB0 aGUgaG9vZCB0byBhY2NlbGVyYXRlIGRyYXdpbmcgYW5kCnNjYWxpbmcgYW5kIFZBLUFQSSAoaWYg YXZhaWxhYmxlKSB0byBhY2NlbGVyYXRlIHZpZGVvIGRlY29kaW5nLiIpCiAgICAobGljZW5zZSBs aWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyByZWNvcmRteWRlc2t0b3AKICAocGFja2Fn ZQogICAgKG5hbWUgInJlY29yZG15ZGVza3RvcCIpCiAgICAodmVyc2lvbiAiMC4zLjguMSIpCiAg ICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAg ICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJtaXJyb3I6Ly9zb3VyY2Vmb3JnZS8iIG5hbWUg Ii8iIG5hbWUgIi8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICIv cmVjb3JkbXlkZXNrdG9wLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgICAgICAgIChzaGEy NTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjEzM2trbDVqMHI4Nzdk NDFiemo3a2owdmYzeG04eDgweXl4Mm44bnF4cnZhMzA0ZjU4aWsiKSkpKQogICAgKGJ1aWxkLXN5 c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKGlucHV0cyBgKCgicG9wdCIgLHBvcHQpCiAgICAg ICAgICAgICAgKCJ6bGliIiAsemxpYikKICAgICAgICAgICAgICAoImxpYngxMSIgLGxpYngxMSkK ICAgICAgICAgICAgICAoImxpYmljZSIgLGxpYmljZSkKICAgICAgICAgICAgICAoImxpYnNtIiAs bGlic20pCiAgICAgICAgICAgICAgKCJsaWJ4Zml4ZXMiICxsaWJ4Zml4ZXMpCiAgICAgICAgICAg ICAgKCJsaWJ4ZGFtYWdlIiAsbGlieGRhbWFnZSkKICAgICAgICAgICAgICAoImxpYnhleHQiICxs aWJ4ZXh0KQogICAgICAgICAgICAgICgiYWxzYS1saWIiICxhbHNhLWxpYikKICAgICAgICAgICAg ICAoImxpYnZvcmJpcyIgLGxpYnZvcmJpcykKICAgICAgICAgICAgICAoImxpYnRoZW9yYSIgLGxp YnRoZW9yYSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cDovL3JlY29yZG15ZGVza3RvcC5zb3VyY2Vm b3JnZS5uZXQvIikKICAgIChzeW5vcHNpcyAiRGVza3RvcCBzZXNzaW9uIHZpZGVvIHJlY29yZGVy IikKICAgIChkZXNjcmlwdGlvbgogICAgICJyZWNvcmRNeURlc2t0b3AgaXMgYSBjb21tYW5kLWxp bmUgdG9vbCB0aGF0IGNhcHR1cmVzIHRoZSBhY3Rpdml0eSBpbgp5b3VyIGdyYXBoaWNhbCBkZXNr dG9wIGFuZCBlbmNvZGVzIGl0IGFzIGEgdmlkZW8uICBUaGlzIGlzIGEgdXNlZnVsIHRvb2wgZm9y Cm1ha2luZyBAZGZue3NjcmVlbmNhc3RzfS4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwyKykp KQoKKGRlZmluZS1wdWJsaWMgc2ltcGxlc2NyZWVucmVjb3JkZXIKICAocGFja2FnZQogICAgKG5h bWUgInNpbXBsZXNjcmVlbnJlY29yZGVyIikKICAgICh2ZXJzaW9uICIwLjMuOSIpCiAgICAoc291 cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChz dHJpbmctYXBwZW5kICJodHRwczovL2dpdGh1Yi5jb20vTWFhcnRlbkJhZXJ0L3Nzci9hcmNoaXZl LyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAg KGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAg ICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMgogICAgICAgICAiMWduZjl3YmlxMmZjYnFjbjFh NW5mbXA4cjBueHJybGdoMndseTJtZmtrd3lteW5oeDBwayIpKSkpCiAgICAoYnVpbGQtc3lzdGVt IGNtYWtlLWJ1aWxkLXN5c3RlbSkKICAgIDs7IEFsdGhvdWdoIGxpYngxMSwgbGlieGZpeGVzLCBs aWJ4ZXh0IGFyZSBsaXN0ZWQgYXMgYnVpbGQgZGVwZW5kZW5jaWVzIGluCiAgICA7OyBSRUFETUUu bWQsIHRoZSBwcm9ncmFtIGJ1aWxkcyBhbmQgZnVuY3Rpb25zIHByb3Blcmx5IHdpdGhvdXQgdGhl bS4KICAgIDs7IEFzIGEgcmVzdWx0LCB0aGV5IGFyZSBvbWl0dGVkLiBQbGVhc2UgYWRkIHRoZW0g YmFjayBpZiBwcm9ibGVtcyBhcHBlYXIuCiAgICAoaW5wdXRzCiAgICAgYCgoImFsc2EtbGliIiAs YWxzYS1saWIpCiAgICAgICAoImZmbXBlZyIgLGZmbXBlZykKICAgICAgICgiZ2x1IiAsZ2x1KQog ICAgICAgKCJqYWNrIiAsamFjay0xKQogICAgICAgKCJsaWJ4aSIgLGxpYnhpKQogICAgICAgKCJw dWxzZWF1ZGlvIiAscHVsc2VhdWRpbykKICAgICAgICgicXQiICxxdCkpKQogICAgKG5hdGl2ZS1p bnB1dHMgYCgoInBrZy1jb25maWciICxwa2ctY29uZmlnKSkpCiAgICAoYXJndW1lbnRzCiAgICAg YCgjOmNvbmZpZ3VyZS1mbGFncwogICAgICAgKGxpc3QgIi1EV0lUSF9RVDU9VFJVRSIpCiAgICAg ICAjOnRlc3RzPyAjZikpICAgICAgICAgICAgICAgICAgICA7IG5vIHRlc3Qgc3VpdGUKICAgIDs7 IFVzaW5nIEhUVFBTIGNhdXNlcyBwYXJ0IG9mIHRoZSBwYWdlIHRvIGJlIGRpc3BsYXllZCBpbXBy b3Blcmx5LgogICAgKGhvbWUtcGFnZSAiaHR0cDovL3d3dy5tYWFydGVuYmFlcnQuYmUvc2ltcGxl c2NyZWVucmVjb3JkZXIvIikKICAgIChzeW5vcHNpcyAiU2NyZWVuIHJlY29yZGVyIikKICAgIChk ZXNjcmlwdGlvbiAiU2ltcGxlU2NyZWVuUmVjb3JkZXIgaXMgYW4gZWFzeSB0byB1c2Ugc2NyZWVu IHJlY29yZGVyIHdpdGgKYSBncmFwaGljYWwgdXNlciBpbnRlcmZhY2UuICBJdCBzdXBwb3J0cyBy ZWNvcmRpbmcgdGhlIGVudGlyZSBzY3JlZW4sIG9yIGEKcGFydCBvZiBpdCwgYW5kIGFsbG93cyBl bmNvZGluZyBpbiBtYW55IGRpZmZlcmVudCBjb2RlY3MgYW5kIGZpbGUgZm9ybWF0cy4KT3RoZXIg ZmVhdHVyZXMgaW5jbHVkZSBhIGxpdmUgcHJldmlldyBhbmQgbGl2ZSBzdHJlYW1pbmcuIikKICAg IChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6Z3BsMysgOyBtb3N0IGZpbGVzCiAgICAgICAgICAgICAg ICAgICBsaWNlbnNlOnpsaWIgOyBnbGluamVjdC9lbGZoYWNrcy4qCiAgICAgICAgICAgICAgICAg ICBsaWNlbnNlOmlzYyA7IGdsaW5qZWN0LyoKICAgICAgICAgICAgICAgICAgIGxpY2Vuc2U6eDEx KSkpKSA7IGJ1aWxkLWF1eC9pbnN0YWxsLXNoCgooZGVmaW5lLXB1YmxpYyBsaWJzbXBlZwogIChw YWNrYWdlCiAgICAobmFtZSAibGlic21wZWciKQogICAgKHZlcnNpb24gIjAuNC41IikKICAgIChz b3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2Qgc3ZuLWZldGNoKQogICAgICAgICAg ICAgICh1cmkgKHN2bi1yZWZlcmVuY2UKICAgICAgICAgICAgICAgICAgICAodXJsICJzdm46Ly9z dm4uaWNjdWx1cy5vcmcvc21wZWcvdHJ1bmsvIikKICAgICAgICAgICAgICAgICAgICAocmV2aXNp b24gNDAxKSkpIDsgbGFzdCByZXZpc2lvbiBiZWZvcmUgc21wZWcyIChmb3IgU0RMIDIuMCkKICAg ICAgICAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi1j aGVja291dCIpKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgog ICAgICAgICAgICAgICAgIjE4eWZrcjcwbHIxeDFoYzhzbm4ybGRuYnpkY2M3YjY0eG1rcXJmazh3 NTlncGc3c2wxeG4iKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAg KGFyZ3VtZW50cwogICAgIGAoIzpwaGFzZXMgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNl cwogICAgICAgICAgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2F1dG9nZW4uc2gKICAgICAg ICAgICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAgICAgICAgICAgICAgICh6ZXJvPyAoc3lz dGVtKiAic2giICJhdXRvZ2VuLnNoIikpKSkpKSkKICAgIChuYXRpdmUtaW5wdXRzCiAgICAgYCgo ImF1dG9jb25mIiAsYXV0b2NvbmYpCiAgICAgICAoImF1dG9tYWtlIiAsYXV0b21ha2UpKSkKICAg IChpbnB1dHMKICAgICBgKCgic2RsIiAsc2RsMikpKQogICAgKGhvbWUtcGFnZSAiaHR0cDovL2lj Y3VsdXMub3JnL3NtcGVnLyIpCiAgICAoc3lub3BzaXMgIlNETCBNUEVHIGRlY29kaW5nIGxpYnJh cnkiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlNNUEVHIChTREwgTVBFRyBQbGF5ZXIgTGlicmFy eSkgaXMgYSBmcmVlIE1QRUcxIHZpZGVvIHBsYXllciBsaWJyYXJ5CndpdGggc291bmQgc3VwcG9y dC4gIFZpZGVvIHBsYXliYWNrIGlzIGJhc2VkIG9uIHRoZSB1YmlxdWl0b3VzIEJlcmtlbGV5IE1Q RUcKcGxheWVyLCBtcGVnX3BsYXkgdjIuMi4gIEF1ZGlvIGlzIHBsYXllZCB0aHJvdWdoIGEgc2xp Z2h0bHkgbW9kaWZpZWQgbXBlZ3NvdW5kCmxpYnJhcnksIHBhcnQgb2Ygc3BsYXkgdjAuOC4yLiAg U01QRUcgc3VwcG9ydHMgTVBFRyBhdWRpbyAoTVAzKSwgTVBFRy0xIHZpZGVvLAphbmQgTVBFRyBz eXN0ZW0gc3RyZWFtcy4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpleHBhdAogICAgICAg ICAgICAgICAgICAgbGljZW5zZTpsZ3BsMi4xCiAgICAgICAgICAgICAgICAgICBsaWNlbnNlOmxn cGwyLjErCiAgICAgICAgICAgICAgICAgICBsaWNlbnNlOmdwbDIpKSkpCgooZGVmaW5lLXB1Ymxp YyBsaWJiZHBsdXMKICAocGFja2FnZQogICAgKG5hbWUgImxpYmJkcGx1cyIpCiAgICAodmVyc2lv biAiMC4xLjIiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgdXJsLWZl dGNoKQogICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZCAiaHR0cHM6Ly9mdHAudmlkZW9sYW4ub3Jn L3B1Yi92aWRlb2xhbi9saWJiZHBsdXMvIgogICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJz aW9uICIvIiBuYW1lICItIiB2ZXJzaW9uICIudGFyLmJ6MiIpKQogICAgICAgKHNoYTI1NgogICAg ICAgIChiYXNlMzIgIjAybjg3bHlzcW40a2cycWs3ZDFmZnJwOTZjNDR6a2RseGRqMG4xNmhiZ3Js cnBpd2xjZDYiKSkpKQogICAgKGlucHV0cwogICAgIGAoKCJsaWJnY3J5cHQiICxsaWJnY3J5cHQp KSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChob21lLXBhZ2UgImh0 dHBzOi8vd3d3LnZpZGVvbGFuLm9yZy9kZXZlbG9wZXJzL2xpYmJkcGx1cy5odG1sIikKICAgIChz eW5vcHNpcyAiTGlicmFyeSBmb3IgZGVjcnlwdGluZyBjZXJ0YWluIEJsdS1SYXkgZGlzY3MiKQog ICAgKGRlc2NyaXB0aW9uICJsaWJiZHBsdXMgaXMgYSBsaWJyYXJ5IHdoaWNoIGltcGxlbWVudHMg dGhlIEJEKyBTeXN0ZW0Kc3BlY2lmaWNhdGlvbnMuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6bGdw bDIuMSspKSkKCihkZWZpbmUtcHVibGljIGxpYmFhY3MKICAocGFja2FnZQogICAgKG5hbWUgImxp YmFhY3MiKQogICAgKHZlcnNpb24gIjAuOS4wIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAg ICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBz Oi8vZnRwLnZpZGVvbGFuLm9yZy9wdWIvdmlkZW9sYW4vbGliYWFjcy8iCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIHZlcnNpb24gIi8iIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuYnoyIikpCiAg ICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMWttczkyaTBjN2kxeWw2NTlrcWpmMTlsbTgx NzJwbnBpazVsc3hwMTl4cGhyNzR2dnEyNyIpKSkpCiAgICAoaW5wdXRzCiAgICAgYCgoImxpYmdj cnlwdCIgLGxpYmdjcnlwdCkpKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICBgKCgiYmlzb24iICxi aXNvbikKICAgICAgICgiZmxleCIgLGZsZXgpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxk LXN5c3RlbSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vd3d3LnZpZGVvbGFuLm9yZy9kZXZlbG9w ZXJzL2xpYmFhY3MuaHRtbCIpCiAgICAoc3lub3BzaXMgIkxpYnJhcnkgZm9yIGRlY3J5cHRpbmcg Y2VydGFpbiBCbHUtUmF5IGRpc2NzIikKICAgIChkZXNjcmlwdGlvbiAibGliYWFjcyBpcyBhIGxp YnJhcnkgd2hpY2ggaW1wbGVtZW50cyB0aGUgQWR2YW5jZWQgQWNjZXNzCkNvbnRlbnQgU3lzdGVt IHNwZWNpZmljYXRpb24uIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6bGdwbDIuMSspKSkKCihkZWZp bmUtcHVibGljIG1wcy15b3V0dWJlCiAgKHBhY2thZ2UKICAgIChuYW1lICJtcHMteW91dHViZSIp CiAgICAodmVyc2lvbiAiMC4yLjcuMSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAg KG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwczovL2dp dGh1Yi5jb20vbXBzLXlvdXR1YmUvbXBzLXlvdXR1YmUvIgogICAgICAgICAgICAgICAgICAgICAg ICAgICAiYXJjaGl2ZS92IiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoZmlsZS1uYW1lIChz dHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChzaGEyNTYK ICAgICAgICAoYmFzZTMyCiAgICAgICAgICIxczdoMzV5eDZmMHN6ZjhtbTg2MTJpYzkxM3czdjA1 bTJrd3BoamZjeG5wcTBhbW1oeWNpIikpKSkKICAgIChidWlsZC1zeXN0ZW0gcHl0aG9uLWJ1aWxk LXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICA7OyBUZXN0cyBuZWVkIHRvIGJlIGRpc2FibGVk IHVudGlsICM1NTYgdXBzdHJlYW0gaXMgZml4ZWQuIEl0IHJlYWRzIGFzIGlmIHRoZQogICAgIDs7 IHRlc3Qgc3VpdGUgcmVzdWx0cyBkaWZmZXIgZGVwZW5kaW5nIG9uIHRoZSBjb3VudHJ5IGFuZCBh bHNvIGludHJvZHVjZQogICAgIDs7IG5vbi1kZXRlcm1pbmlzbSBpbiB0aGUgdGVzdHMuCiAgICAg OzsgaHR0cHM6Ly9naXRodWIuY29tL21wcy15b3V0dWJlL21wcy15b3V0dWJlL2lzc3Vlcy81NTYK ICAgICBgKCM6dGVzdHM/ICNmKSkKICAgIChwcm9wYWdhdGVkLWlucHV0cwogICAgIGAoKCJweXRo b24tcGFmeSIgLHB5dGhvbi1wYWZ5KQogICAgICAgKCJweXRob24tcHlnb2JqZWN0IiAscHl0aG9u LXB5Z29iamVjdCkpKSA7IEZvciBtcHJpczIgc3VwcG9ydAogICAgKGhvbWUtcGFnZSAiaHR0cHM6 Ly9naXRodWIuY29tL21wcy15b3V0dWJlL21wcy15b3V0dWJlIikKICAgIChzeW5vcHNpcyAiVGVy bWluYWwgYmFzZWQgWW91VHViZSBwbGF5ZXIgYW5kIGRvd25sb2FkZXIiKQogICAgKGRlc2NyaXB0 aW9uCiAgICAgIkBjb2Rle21wcy15b3V0dWJlfSBpcyBiYXNlZCBvbiBtcHMsIGEgdGVybWluYWwg YmFzZWQgcHJvZ3JhbSB0bwpzZWFyY2gsIHN0cmVhbSBhbmQgZG93bmxvYWQgbXVzaWMuICBUaGlz IGltcGxlbWVudGF0aW9uIHVzZXMgWW91VHViZSBhcwphIHNvdXJjZSBvZiBjb250ZW50IGFuZCBj YW4gcGxheSBhbmQgZG93bmxvYWQgdmlkZW8gYXMgd2VsbCBhcyBhdWRpby4KSXQgY2FuIHVzZSBl aXRoZXIgbXB2IG9yIG1wbGF5ZXIgZm9yIHBsYXliYWNrLCBhbmQgZm9yIGNvbnZlcnNpb24gb2YK Zm9ybWF0cyBmZm1wZWcgb3IgbGliYXYgaXMgdXNlZC4gIFVzZXJzIHNob3VsZCBpbnN0YWxsIG9u ZSBvZiB0aGUKc3VwcG9ydGVkIHBsYXllcnMgaW4gYWRkaXRpb24gdG8gdGhpcyBwYWNrYWdlLiIp CiAgICAobGljZW5zZSBsaWNlbnNlOmdwbDMrKSkpCgooZGVmaW5lLXB1YmxpYyBoYW5kYnJha2UK ICAocGFja2FnZQogICAgKG5hbWUgImhhbmRicmFrZSIpCiAgICAodmVyc2lvbiAiMC4xMC41IikK ICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAg ICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8vaGFuZGJyYWtlLmZyL3JvdGF0 aW9uLnBocD9maWxlPSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJIYW5kQnJh a2UtIiB2ZXJzaW9uICIudGFyLmJ6MiIpKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKHN0cmlu Zy1hcHBlbmQgImhhbmRicmFrZS0iIHZlcnNpb24gIi50YXIuYnoyIikpCiAgICAgICAgICAgICAg KHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMXc3MjB5M2Jw bGt6MTg3d2d2eTRhNHhtMHZwcHBnNDVtbG5pNTVsNnlpOHYyYmZrMTRwdiIpKQogICAgICAgICAg ICAgIChwYXRjaGVzIChzZWFyY2gtcGF0Y2hlcyAiaGFuZGJyYWtlLXBrZy1jb25maWctcGF0aC5w YXRjaCIpKQogICAgICAgICAgICAgIChtb2R1bGVzICcoKGd1aXggYnVpbGQgdXRpbHMpKSkKICAg ICAgICAgICAgICAoc25pcHBldAogICAgICAgICAgICAgICA7OyBSZW1vdmUgYnVuZGxlZCBsaWJy YXJpZXMgYW5kIHNvdXJjZSBub3QgbmVjZXNzYXJ5IGZvcgogICAgICAgICAgICAgICA7OyBydW5u aW5nIHVuZGVyIGEgR05VIGVudmlyb25tZW50LgogICAgICAgICAgICAgICAnKGJlZ2luCiAgICAg ICAgICAgICAgICAgIChmb3ItZWFjaCBkZWxldGUtZmlsZS1yZWN1cnNpdmVseSAnKCJjb250cmli IiAibWFjb3N4IiAid2luIikpCiAgICAgICAgICAgICAgICAgICN0KSkpKQogICAgKGJ1aWxkLXN5 c3RlbSAgZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICBg KCgiYXV0b21ha2UiICxhdXRvbWFrZSkgICAgICAgICAgIDtndWkgc3VicGFja2FnZSBtdXN0IGJl IGJvb3RzdHJhcHBlZAogICAgICAgKCJhdXRvY29uZiIgLGF1dG9jb25mKQogICAgICAgKCJjdXJs IiAsY3VybCkgICAgICAgICAgICAgICAgICAgO25vdCBhY3R1YWxseSB1c2VkLCBidXQgdGVzdGVk IGZvcgogICAgICAgKCJpbnRsdG9vbCIgLGludGx0b29sKQogICAgICAgKCJsaWJ0b29sIiAsbGli dG9vbCkKICAgICAgICgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcpCiAgICAgICAoInB5dGhvbiIg LHB5dGhvbi0yKSkpICAgICAgICAgICA7Zm9yIGNvbmZpZ3VyYXRpb24KICAgIChpbnB1dHMKICAg ICBgKCgiYnppcDIiICxiemlwMikKICAgICAgICgiZGJ1cy1nbGliIiAsZGJ1cy1nbGliKQogICAg ICAgKCJmZm1wZWciICxmZm1wZWcpCiAgICAgICAoImZvbnRjb25maWciICxmb250Y29uZmlnKQog ICAgICAgKCJmcmVldHlwZSIgLGZyZWV0eXBlKQogICAgICAgKCJnbGliIiAsZ2xpYikKICAgICAg ICgiZ3N0cmVhbWVyIiAsZ3N0cmVhbWVyKQogICAgICAgKCJnc3QtcGx1Z2lucy1iYXNlIiAsZ3N0 LXBsdWdpbnMtYmFzZSkKICAgICAgICgiZ3RrKyIgLGd0ayspCiAgICAgICAoImxhbWUiICxsYW1l KQogICAgICAgKCJsaWJhc3MiICxsaWJhc3MpCiAgICAgICAoImxpYmJsdXJheSIgLGxpYmJsdXJh eSkKICAgICAgICgibGliZHZkbmF2IiAsbGliZHZkbmF2KQogICAgICAgKCJsaWJkdmRyZWFkIiAs bGliZHZkcmVhZCkKICAgICAgICgibGliZ3VkZXYiICxsaWJndWRldikKICAgICAgICgibGlibXBl ZzIiICxsaWJtcGVnMikKICAgICAgICgibGlibm90aWZ5IiAsbGlibm90aWZ5KQogICAgICAgKCJs aWJvZ2ciICxsaWJvZ2cpCiAgICAgICAoImxpYnNhbXBsZXJhdGUiICxsaWJzYW1wbGVyYXRlKQog ICAgICAgKCJsaWJ0aGVvcmEiICxsaWJ0aGVvcmEpCiAgICAgICAoImxpYnZvcmJpcyIgLGxpYnZv cmJpcykKICAgICAgICgibGlidnB4IiAsbGlidnB4KQogICAgICAgKCJsaWJ4bWwyIiAsbGlieG1s MikKICAgICAgICgibGlieDI2NCIgLGxpYngyNjQpCiAgICAgICAoIngyNjUiICx4MjY1KQogICAg ICAgKCJ6bGliIiAsemxpYikpKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0cz8gI2YgICAg ICAgICAgICAgO3Rlc3RzIHJlcXVpcmUgUnVieSBhbmQgY2xhaW0gdG8gYmUgdW5zdXBwb3J0ZWQK ICAgICAgICM6cGhhc2VzCiAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAg ICAgICAgIChhZGQtYmVmb3JlICdwYXRjaC1zb3VyY2Utc2hlYmFuZ3MgJ2Jvb3RzdHJhcC1ndGsK ICAgICAgICAgICA7OyBSdW4gYm9vdHN0cmFwIGFoZWFkIG9mIHRpbWUgc28gdGhhdCBzaGViYW5n cyBnZXQgcGF0Y2hlZC4KICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAgICAgIChzZXRlbnYg IkNPTkZJR19TSEVMTCIgKHdoaWNoICJzaCIpKQogICAgICAgICAgICAgKHNldGVudiAiTk9DT05G SUdVUkUiICIxIikKICAgICAgICAgICAgIDs7IFBhdGNoIHRoZSBNYWtlZmlsZSBzbyB0aGF0IGl0 IGRvZXNuJ3QgYm9vdHN0cmFwIGFnYWluLgogICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJndGsv bW9kdWxlLnJ1bGVzIgogICAgICAgICAgICAgICAoKCIuKmF1dG9nZW5cXC5zaC4qIikgIiIpKQog ICAgICAgICAgICAgKHplcm8/IChzeXN0ZW0qICJzaCIgIi4vZ3RrL2F1dG9nZW4uc2giKSkpKQog ICAgICAgICAoYWRkLWJlZm9yZSAnY29uZmlndXJlICdkaXNhYmxlLWNvbnRyaWIKICAgICAgICAg ICAobGFtYmRhIF8KICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAibWFrZS9pbmNsdWRlL21haW4u ZGVmcyIKICAgICAgICAgICAgICAgOzsgRGlzYWJsZSB1bmNvbmRpdGlvbmFsIGluY2x1c2lvbiBv ZiBzb21lICJjb250cmliIgogICAgICAgICAgICAgICA7OyBsaWJyYXJpZXMgKGZmbXBlZywgbGli dnB4LCBsaWJkdmRyZWFkLCBsaWJkdmRuYXYsCiAgICAgICAgICAgICAgIDs7IGFuZCBsaWJibHVy YXkpLCB3aGljaCB3b3VsZCBsZWFkIHRvIGZldGNoaW5nIGFuZAogICAgICAgICAgICAgICA7OyBi dWlsZGluZyBvZiB0aGVzZSBsaWJyYXJpZXMuICBVc2Ugb3VyIG93biBpbnN0ZWFkLgogICAgICAg ICAgICAgICAoKCJNT0RVTEVTIFxcKz0gY29udHJpYiIpICIjIE1PRFVMRVMgKz0gY29udHJpYiIp KQogICAgICAgICAgICAgI3QpKQogICAgICAgICAoYWRkLWJlZm9yZSAnY29uZmlndXJlICdmaXgt eDI2NS1saW5raW5nCiAgICAgICAgICAgKGxhbWJkYSBfCiAgICAgICAgICAgICAoc3Vic3RpdHV0 ZSogInRlc3QvbW9kdWxlLmRlZnMiCiAgICAgICAgICAgICAgIDs7IEZpeCBtaXNzaW5nIGxpYnJh cnkgZHVyaW5nIGxpbmtpbmcgZXJyb3IKICAgICAgICAgICAgICAgKCgiVEVTVC5HQ0MubCA9Iikg IlRFU1QuR0NDLmwgPSB4MjY1IikpCiAgICAgICAgICAgICAjdCkpCiAgICAgICAgIChyZXBsYWNl ICdjb25maWd1cmUKICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyBjb25maWd1cmUt ZmxhZ3MgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgOzsgJ2NvbmZpZ3VyZScgaXMg bm90IGFuIGF1dG9jb25mLWdlbmVyYXRlZCBzY3JpcHQsIGFuZAogICAgICAgICAgICAgOzsgZXJy b3JzIG9uIHVucmVjb2duaXplZCBhcmd1bWVudHMsCiAgICAgICAgICAgICA7OyBlLmcuIC0tZW5h YmxlLWZhc3QtaW5zdGFsbAogICAgICAgICAgICAgKGxldCAoKG91dCAoYXNzb2MtcmVmIG91dHB1 dHMgIm91dCIpKSkKICAgICAgICAgICAgICAgKHplcm8/IChhcHBseSBzeXN0ZW0qICIuL2NvbmZp Z3VyZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiLS1wcmVm aXg9IiBvdXQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIGNvbmZpZ3VyZS1mbGFn cyAnKCkpKSkpKSkKICAgICAgICAgKGFkZC1hZnRlciAnY29uZmlndXJlICdjaGRpci1idWlsZAog ICAgICAgICAgIChsYW1iZGEgXyAoY2hkaXIgIi4vYnVpbGQiKSAjdCkpKSkpCiAgICAoaG9tZS1w YWdlICJodHRwczovL2hhbmRicmFrZS5mciIpCiAgICAoc3lub3BzaXMgIlZpZGVvIHRyYW5zY29k ZXIiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIkhhbmRCcmFrZSBpcyBhIHRvb2wgZm9yIGNvbnZl cnRpbmcgdmlkZW8gZnJvbSBhbnkgZm9ybWF0IHRvIGEgc2VsZWN0aW9uCm9mIG1vZGVybiwgd2lk ZWx5IHN1cHBvcnRlZCBjb2RlY3MuIikKICAgIDs7IE1vc3QgdW5kZXIgR1BMIHZlcnNpb24gMiBv ciBsYXRlciwgYW5kIHBvcnRpb25zIHVuZGVyIEJTRCAzIENsYXVzZQogICAgKGxpY2Vuc2UgKGxp c3QgbGljZW5zZTpncGwyKyBsaWNlbnNlOmJzZC0zKSkpKQoKKGRlZmluZS1wdWJsaWMgb3Blbmgy NjQKICAocGFja2FnZQogICAgKG5hbWUgIm9wZW5oMjY0IikKICAgICh2ZXJzaW9uICIxLjcuMCIp CiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAg ICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwczovL2dpdGh1Yi5jb20vY2lzY28v IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSAiL2FyY2hpdmUvdiIgdmVy c2lvbiAiLnRhci5neiIpKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQg bmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAg ICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjBndjU3MWJxa3hrN2ljNjRkbWF2czFx OG5yN3A1OW1jZjRpYnFwNGxjMDcwZ242dzYxd3ciKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUt YnVpbGQtc3lzdGVtKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICBgKCgibmFzbSIgLG5hc20pCiAg ICAgICAoInB5dGhvbiIgLHB5dGhvbikpKQogICAgKGFyZ3VtZW50cwogICAgICcoIzptYWtlLWZs YWdzIChsaXN0IChzdHJpbmctYXBwZW5kICJQUkVGSVg9IiAoYXNzb2MtcmVmICVvdXRwdXRzICJv dXQiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAiQ0M9Z2NjIikKICAgICAgICM6dGVzdC10 YXJnZXQgInRlc3QiCiAgICAgICAjOnBoYXNlcyAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhh c2VzCiAgICAgICAgICAgICAgICAgIDs7IG5vIGNvbmZpZ3VyZSBzY3JpcHQKICAgICAgICAgICAg ICAgICAgKGRlbGV0ZSAnY29uZmlndXJlKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cDovL3d3dy5v cGVuaDI2NC5vcmcvIikKICAgIChzeW5vcHNpcyAiSDI2NCBkZWNvZGVyIGxpYnJhcnkiKQogICAg KGRlc2NyaXB0aW9uCiAgICAgIk9wZW5oMjY0IGlzIGEgbGlicmFyeSB3aGljaCBjYW4gZGVjb2Rl IEgyNjQgdmlkZW8gc3RyZWFtcy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpic2QtMikpKQoKKGRl ZmluZS1wdWJsaWMgbGlibXA0djIKICAocGFja2FnZQogICAgKG5hbWUgImxpYm1wNHYyIikKICAg ICh2ZXJzaW9uICIyLjAuMCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhv ZCB1cmwtZmV0Y2gpCiAgICAgICA7OyBYWFg6IFRoZSBuZXcgbG9jYXRpb24gb2YgdXBzdHJlYW0g aXMgdW5jZXJ0YWluIGFuZCB3aWxsIGJlY29tZSByZWxldmFudCB0aGUKICAgICAgIDs7IG1vbWVu dCB3aGVuIHRoZSBnb29nbGVjb2RlIGFyY2hpdmUgc2h1dHMgZG93bi4gSXQgaXMgcGFzdCB0aGUg ZGF0ZSBpdAogICAgICAgOzsgc2hvdWxkJ3ZlIGJlZW4gdHVybmVkIG9mZi4gSSB0cmllZCB0byBj b21tdW5pY2F0ZSB3aXRoIHVwc3RyZWFtLCBidXQgdGhpcwogICAgICAgOzsgd2Fzbid0IHZlcnkg cmVzcG9uc2l2ZSBhbmQgbm90IHZlcnkgaGVscGZ1bC4gVGhlIHNob3J0IHN1bW1hcnkgaXMsIGl0 IGlzCiAgICAgICA7OyBjaGFvcyB3aGVuIGl0IGNvbWVzIHRvIHRoZSBhbW91bnQgb2YgZm9ya3Mg YW5kIG9ubHkgdGltZSB3aWxsIHRlbGwgd2hlcmUKICAgICAgIDs7IHRoZSBuZXcgdXBzdHJlYW0g bG9jYXRpb24gaXMuCiAgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwczovL3N0b3JhZ2Uu Z29vZ2xlYXBpcy5jb20vZ29vZ2xlLSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUt YXJjaGl2ZS1kb3dubG9hZHMvdjIvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZS5n b29nbGUuY29tL21wNHYyL21wNHYyLSIgdmVyc2lvbiAiLnRhci5iejIiKSkKICAgICAgIChmaWxl LW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5iejIiKSkKICAgICAg IChzaGEyNTYKICAgICAgICAoYmFzZTMyCiAgICAgICAgICIwZjQzOGJpbWltc3Z4amJkcDR2c3I4 aGp3Mm53Z2dtaGF4Z2N3MDdnMnozNjFma2JqNjgzIikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251 LWJ1aWxkLXN5c3RlbSkKICAgIChvdXRwdXRzICcoIm91dCIKICAgICAgICAgICAgICAgInN0YXRp YyIpKSA7IDMuN01pQiAuYSBmaWxlCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnBoYXNlcwogICAg ICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAoYWRkLWFmdGVyICd1 bnBhY2sgJ3JlbW92ZS1kYXRlcwogICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgOzsg TWFrZSB0aGUgYnVpbGQgcmVwcm9kdWNpYmxlLgogICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJj b25maWd1cmUiCiAgICAgICAgICAgICAgICgoIlBST0pFQ1RfYnVpbGQ9XCJgZGF0ZWBcIiIpICJQ Uk9KRUNUX2J1aWxkPVwiXCIiKQogICAgICAgICAgICAgICAoKCJhY19hYnNfdG9wX2J1aWxkZGly PSRhY19wd2QiKSAiYWNfYWJzX3RvcF9idWlsZGRpcj1cIlwiIikpCiAgICAgICAgICAgICAjdCkp CiAgICAgICAgIChhZGQtYWZ0ZXIgJ2luc3RhbGwgJ21vdmUtc3RhdGljLWxpYnJhcmllcwogICAg ICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAg ICAgICAgIDs7IE1vdmUgc3RhdGljIGxpYnJhcmllcyB0byB0aGUgInN0YXRpYyIgb3V0cHV0Lgog ICAgICAgICAgICAgKGxldCogKChvdXQgICAgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKSkKICAg ICAgICAgICAgICAgICAgICAobGliICAgIChzdHJpbmctYXBwZW5kIG91dCAiL2xpYiIpKQogICAg ICAgICAgICAgICAgICAgIChzdGF0aWMgKGFzc29jLXJlZiBvdXRwdXRzICJzdGF0aWMiKSkKICAg ICAgICAgICAgICAgICAgICAoc2xpYiAgIChzdHJpbmctYXBwZW5kIHN0YXRpYyAiL2xpYiIpKSkK ICAgICAgICAgICAgICAgKG1rZGlyLXAgc2xpYikKICAgICAgICAgICAgICAgKGZvci1lYWNoIChs YW1iZGEgKGZpbGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnN0YWxsLWZpbGUgZmls ZSBzbGliKQogICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlLWZpbGUgZmlsZSkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyBsaWIgIlxcLmEkIikpCiAgICAgICAg ICAgICAgICN0KSkpKSkpCiAgICAobmF0aXZlLWlucHV0cwogICAgIGAoKCJoZWxwMm1hbiIgLGhl bHAybWFuKQogICAgICAgKCJkZWphZ251IiAsZGVqYWdudSkpKQogICAgKGhvbWUtcGFnZSAiaHR0 cHM6Ly9jb2RlLmdvb2dsZS5jb20vYXJjaGl2ZS9wL21wNHYyLyIpCiAgICAoc3lub3BzaXMgIkFQ SSB0byBjcmVhdGUgYW5kIG1vZGlmeSBtcDQgZmlsZXMiKQogICAgKGRlc2NyaXB0aW9uCiAgICAg IlRoZSBNUDR2MiBsaWJyYXJ5IHByb3ZpZGVzIGFuIEFQSSB0byBjcmVhdGUgYW5kIG1vZGlmeSBt cDQgZmlsZXMgYXMgZGVmaW5lZCBieQpJU08tSUVDOjE0NDk2LTE6MjAwMSBNUEVHLTQgU3lzdGVt cy4gIFRoaXMgZmlsZSBmb3JtYXQgaXMgZGVyaXZlZCBmcm9tIEFwcGxlJ3MgUXVpY2tUaW1lCmZp bGUgZm9ybWF0IHRoYXQgaGFzIGJlZW4gdXNlZCBhcyBhIG11bHRpbWVkaWEgZmlsZSBmb3JtYXQg aW4gYSB2YXJpZXR5IG9mIHBsYXRmb3JtcyBhbmQKYXBwbGljYXRpb25zLiAgSXQgaXMgYSB2ZXJ5 IHBvd2VyZnVsIGFuZCBleHRlbnNpYmxlIGZvcm1hdCB0aGF0IGNhbiBhY2NvbW1vZGF0ZQpwcmFj dGljYWxseSBhbnkgdHlwZSBvZiBtZWRpYS4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTptcGwxLjEp KSkKCihkZWZpbmUtcHVibGljIGxpYm1lZGlhaW5mbwogIChwYWNrYWdlCiAgICAobmFtZSAibGli bWVkaWFpbmZvIikKICAgICh2ZXJzaW9uICIwLjcuOTUiKQogICAgKHNvdXJjZSAob3JpZ2luCiAg ICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAoc3RyaW5n LWFwcGVuZCAiaHR0cHM6Ly9tZWRpYWFyZWEubmV0L2Rvd25sb2FkL3NvdXJjZS8iCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lICIvIiB2ZXJzaW9uIi8iCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBuYW1lICJfIiB2ZXJzaW9uICIudGFyLmJ6MiIpKQogICAg ICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAg IjFrY2hoNjI4NWIwN3o1bml4djYxOWhjOWdtbDJ5c2RheWljZGl2MzBmcnJscWl5eHF3NGIiKSkp KQogICAgOzsgVE9ETyBhZGQgYSBCaWcgQnVjayBCdW5ueSB3ZWJtIGZvciB0ZXN0cy4KICAgIChu YXRpdmUtaW5wdXRzCiAgICAgYCgoImF1dG9jb25mIiAsYXV0b2NvbmYpCiAgICAgICAoImF1dG9t YWtlIiAsYXV0b21ha2UpCiAgICAgICAoImxpYnRvb2wiICxsaWJ0b29sKQogICAgICAgKCJwa2ct Y29uZmlnIiAscGtnLWNvbmZpZykKICAgICAgICgiemxpYiIgLHpsaWIpCiAgICAgICAoInRpbnl4 bWwyIiAsdGlueXhtbDIpCiAgICAgICAoImN1cmwiICxjdXJsKQogICAgICAgKCJsaWJ6ZW4iICxs aWJ6ZW4pKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVu dHMKICAgICAnKCM6dGVzdHM/ICNmIDsgc2VlIGFib3ZlIFRPRE8KICAgICAgICM6cGhhc2VzCiAg ICAgICA7OyBidWlsZCBzY3JpcHRzIG5vdCBpbiByb290IG9mIGFyY2hpdmUKICAgICAgIChtb2Rp ZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdj aGFuZ2UtdG8tYnVpbGQtZGlyCiAgICAgICAgICAgKGxhbWJkYSBfCiAgICAgICAgICAgICAoY2hk aXIgIlByb2plY3QvR05VL0xpYnJhcnkiKQogICAgICAgICAgICAgI3QpKQogICAgICAgICAoYWRk LWFmdGVyICdjaGFuZ2UtdG8tYnVpbGQtZGlyICdhdXRvZ2VuCiAgICAgICAgICAgKGxhbWJkYSBf CiAgICAgICAgICAgICAoemVybz8gKHN5c3RlbSogInNoIiAiYXV0b2dlbi5zaCIpKSkpKSkpCiAg ICAoaG9tZS1wYWdlICJodHRwczovL21lZGlhYXJlYS5uZXQvZW4vTWVkaWFJbmZvIikKICAgIChz eW5vcHNpcyAiTGlicmFyeSBmb3IgcmV0cmlldmluZyBtZWRpYSBtZXRhZGF0YSIpCiAgICAoZGVz Y3JpcHRpb24gIk1lZGlhSW5mbyBpcyBhIGxpYnJhcnkgdXNlZCBmb3IgcmV0cmlldmluZyB0ZWNo bmljYWwKaW5mb3JtYXRpb24gYW5kIG90aGVyIG1ldGFkYXRhIGFib3V0IGF1ZGlvIG9yIHZpZGVv IGZpbGVzLiAgQSBub24tZXhoYXVzdGl2ZQpsaXN0IG9mIHRoZSBpbmZvcm1hdGlvbiBNZWRpYUlu Zm8gY2FuIHJldHJpZXZlIGZyb20gbWVkaWEgZmlsZXMgaW5jbHVkZToKCkBpdGVtaXplCkBpdGVt IEdlbmVyYWw6IHRpdGxlLCBhdXRob3IsIGRpcmVjdG9yLCBhbGJ1bSwgdHJhY2sgbnVtYmVyLCBk YXRlLCBkdXJhdGlvbi4uLgpAaXRlbSBWaWRlbzogY29kZWMsIGFzcGVjdCwgZnBzLCBiaXRyYXRl Li4uCkBpdGVtIEF1ZGlvOiBjb2RlYywgc2FtcGxlIHJhdGUsIGNoYW5uZWxzLCBsYW5ndWFnZSwg Yml0cmF0ZS4uLgpAaXRlbSBUZXh0OiBsYW5ndWFnZSBvZiBzdWJ0aXRsZQpAaXRlbSBDaGFwdGVy czogbnVtYmVyIG9mIGNoYXB0ZXJzLCBsaXN0IG9mIGNoYXB0ZXJzCkBlbmQgaXRlbWl6ZQoKTWVk aWFJbmZvIHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgZm9ybWF0czoKCkBpdGVtaXplCkBpdGVtIFZp ZGVvOiBNS1YsIE9HTSwgQVZJLCBEaXZYLCBXTVYsIFF1aWNrVGltZSwgUmVhbCwgTVBFRy0xLApN UEVHLTIsIE1QRUctNCwgRFZEIChWT0IpLi4uCkBpdGVtIFZpZGVvIENvZGVjczogRGl2WCwgWHZp RCwgTVNNUEVHNCwgQVNQLCBILjI2NCwgQVZDLi4uKQpAaXRlbSBBdWRpbzogT0dHLCBNUDMsIFdB ViwgUkEsIEFDMywgRFRTLCBBQUMsIE00QSwgQVUsIEFJRkYuLi4KQGl0ZW0gIFN1YnRpdGxlczog U1JULCBTU0EsIEFTUywgU0FNSS4uLgpAZW5kIGl0ZW1pemVcbiIpCiAgICAobGljZW5zZSBsaWNl bnNlOmJzZC0yKSkpCgo7OyBUT0RPIGFsc28gaGF2ZSBhIEdVSSB2ZXJzaW9uIGF2YWlsYWJsZQoo ZGVmaW5lLXB1YmxpYyBtZWRpYWluZm8KICAocGFja2FnZQogICAgKG5hbWUgIm1lZGlhaW5mbyIp CiAgICAodmVyc2lvbiAiMC43Ljk1IikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAg IChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0 dHBzOi8vbWVkaWFhcmVhLm5ldC9kb3dubG9hZC9zb3VyY2UvIgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbmFtZSAiLyIgdmVyc2lvbiAiLyIKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG5hbWUgIl8iIHZlcnNpb24gIi50YXIuYnoyIikpCiAgICAgICAgICAgICAg KHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMGR5NTFhM2k3 OWpwcG1nMWdpNGY2aDdqeDRoY2dua21maW00ZDdkM2dtbmxia2poOGFudiIpKSkpCiAgICAobmF0 aXZlLWlucHV0cwogICAgIGAoKCJhdXRvY29uZiIgLGF1dG9jb25mKQogICAgICAgKCJhdXRvbWFr ZSIgLGF1dG9tYWtlKQogICAgICAgKCJsaWJ0b29sIiAsbGlidG9vbCkKICAgICAgICgicGtnLWNv bmZpZyIgLHBrZy1jb25maWcpCiAgICAgICAoInpsaWIiICx6bGliKQogICAgICAgKCJsaWJtZWRp YWluZm8iLCBsaWJtZWRpYWluZm8pCiAgICAgICAoImxpYnplbiIgLGxpYnplbikpKQogICAgKGJ1 aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgICcoIzp0ZXN0 cz8gI2YgOyBsYWNrcyB0ZXN0cwogICAgICAgIzpwaGFzZXMKICAgICAgIDs7IGJ1aWxkIHNjcmlw dHMgbm90IGluIHJvb3Qgb2YgYXJjaGl2ZQogICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJk LXBoYXNlcwogICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NoYW5nZS10by1idWlsZC1kaXIK ICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAgICAgIChjaGRpciAiUHJvamVjdC9HTlUvQ0xJ IikKICAgICAgICAgICAgICN0KSkKICAgICAgICAgKGFkZC1hZnRlciAnY2hhbmdlLXRvLWJ1aWxk LWRpciAnYXV0b2dlbgogICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgKHplcm8/IChz eXN0ZW0qICJzaCIgImF1dG9nZW4uc2giKSkpKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9t ZWRpYWFyZWEubmV0L2VuL01lZGlhSW5mbyIpCiAgICAoc3lub3BzaXMgIlV0aWxpdHkgZm9yIHJl YWRpbmcgbWVkaWEgbWV0YWRhdGEiKQogICAgKGRlc2NyaXB0aW9uICJNZWRpYUluZm8gaXMgYSB1 dGlsaXR5IHVzZWQgZm9yIHJldHJpZXZpbmcgdGVjaG5pY2FsCmluZm9ybWF0aW9uIGFuZCBvdGhl ciBtZXRhZGF0YSBhYm91dCBhdWRpbyBvciB2aWRlbyBmaWxlcy4gIEl0IHN1cHBvcnRzIHRoZQpt YW55IGNvZGVjcyBhbmQgZm9ybWF0cyBzdXBwb3J0ZWQgYnkgbGlibWVkaWFpbmZvLiIpCiAgICAo bGljZW5zZSBsaWNlbnNlOmJzZC0yKSkpCgooZGVmaW5lLXB1YmxpYyBsaXZlbWVkaWEtdXRpbHMK ICAocGFja2FnZQogICAgKG5hbWUgImxpdmVtZWRpYS11dGlscyIpCiAgICAodmVyc2lvbiAiMjAx Ny4xMC4yOCIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVybC1m ZXRjaCkKICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAgICAg ICAgImh0dHBzOi8vZG93bmxvYWQudmlkZW9sYW4ub3JnL2NvbnRyaWIvbGl2ZTU1NS9saXZlLiIK ICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAgICAgICAgKHNo YTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMGY1a3hwYXlxbjN5 aGFicXJkMmNxbGM3NGk2eDJ4cjAxamZrYW5rMWxjaWx4bmZ5cnNucSIpKQogICAgICAgICAgICAg IChtb2R1bGVzICcoKGd1aXggYnVpbGQgdXRpbHMpKSkKICAgICAgICAgICAgICAoc25pcHBldAog ICAgICAgICAgICAgICA7OyBBcyBvZiBnbGliYyAyLjI2LCA8eGxvY2FsZS5oPiBubyBsb25nZXIg aXMuCiAgICAgICAgICAgICAgICcoc3Vic3RpdHV0ZSogImxpdmVNZWRpYS9pbmNsdWRlL0xvY2Fs ZS5oaCIKICAgICAgICAgICAgICAgICAgKCgieGxvY2FsZVxcLmgiKSAibG9jYWxlLmgiKSkpKSkK ICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICAn KCM6dGVzdHM/ICNmIDsgbm8gdGVzdHMKICAgICAgICM6bWFrZS1mbGFncyAobGlzdCAiQ0M9Z2Nj IgogICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICJMREZMQUdTPS1XbCwt cnBhdGg9IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1y ZWYgJW91dHB1dHMgIm91dCIpICIvbGliIikKICAgICAgICAgICAgICAgICAgICAgICAgICAoc3Ry aW5nLWFwcGVuZCAiUFJFRklYPSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoYXNzb2MtcmVmICVvdXRwdXRzICJvdXQiKSkpCiAgICAgICAjOnBoYXNlcyAobW9kaWZ5 LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAgICAgICAgIChhZGQtYmVmb3JlICdj b25maWd1cmUgJ2ZpeC1tYWtlZmlsZXMtZ2VuZXJhdGlvbgogICAgICAgICAgICAgICAgICAgIChs YW1iZGEgXwogICAgICAgICAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJnZW5NYWtlZmlsZXMi CiAgICAgICAgICAgICAgICAgICAgICAgICgoIi9iaW4vcm0iKSAicm0iKSkKICAgICAgICAgICAg ICAgICAgICAgICN0KSkKICAgICAgICAgICAgICAgICAgKHJlcGxhY2UgJ2NvbmZpZ3VyZQogICAg ICAgICAgICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgICAgICAgICAgKHplcm8/IChz eXN0ZW0qICIuL2dlbk1ha2VmaWxlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAibGludXgtd2l0aC1zaGFyZWQtbGlicmFyaWVzIikpKSkpKSkKICAgIChob21lLXBhZ2Ug Imh0dHA6Ly93d3cubGl2ZTU1NS5jb20vbGl2ZU1lZGlhLyIpCiAgICAoc3lub3BzaXMgIlNldCBv ZiBDKysgbGlicmFyaWVzIGZvciBtdWx0aW1lZGlhIHN0cmVhbWluZyIpCiAgICAoZGVzY3JpcHRp b24gIlRoaXMgY29kZSBmb3JtcyBhIHNldCBvZiBDKysgbGlicmFyaWVzIGZvciBtdWx0aW1lZGlh CnN0cmVhbWluZywgdXNpbmcgb3BlbiBzdGFuZGFyZCBwcm90b2NvbHMgKFJUUC9SVENQLCBSVFNQ LCBTSVApLiAgVGhlIGxpYnJhcmllcwpjYW4gYmUgdXNlZCB0byBzdHJlYW0sIHJlY2VpdmUsIGFu ZCBwcm9jZXNzIE1QRUcsIEguMjY1LCBILjI2NCwgSC4yNjMrLCBEViBvcgpKUEVHIHZpZGVvLCBh bmQgc2V2ZXJhbCBhdWRpbyBjb2RlY3MuICBUaGV5IGNhbiBlYXNpbHkgYmUgZXh0ZW5kZWQgdG8g c3VwcG9ydAphZGRpdGlvbmFsIChhdWRpbyBhbmQvb3IgdmlkZW8pIGNvZGVjcywgYW5kIGNhbiBh bHNvIGJlIHVzZWQgdG8gYnVpbGQgYmFzaWMKUlRTUCBvciBTSVAgY2xpZW50cyBhbmQgc2VydmVy cy4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpsZ3BsMyspKSkKCihkZWZpbmUtcHVibGljIGxpYmR2 YnBzaQogIChwYWNrYWdlCiAgICAobmFtZSAibGliZHZicHNpIikKICAgICh2ZXJzaW9uICIxLjMu MSIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkK ICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAgICAgICAgImh0 dHBzOi8vZG93bmxvYWQudmlkZW9sYW4ub3JnL3B1Yi9saWJkdmJwc2kvIgogICAgICAgICAgICAg ICAgICAgIHZlcnNpb24gIi9saWJkdmJwc2ktIiB2ZXJzaW9uICIudGFyLmJ6MiIpKQogICAgICAg ICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjA4 MjRyMDhrYXNwYnJyZzJkZDVkNDZzNDc1emI3ajU5YnJxa20yeTZ4M21kc25wbmcweW4iKSkpKQog ICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6 Ly93d3cudmlkZW9sYW4ub3JnL2RldmVsb3BlcnMvbGliZHZicHNpLmh0bWwiKQogICAgKHN5bm9w c2lzICJMaWJyYXJ5IGZvciBkZWNvZGluZyBhbmQgZ2VuZXJhdGlvbiBvZiBNUEVHIFRTIGFuZCBE VkIgUFNJCnRhYmxlcyIpCiAgICAoZGVzY3JpcHRpb24gImxpYmR2YnBzaSBpcyBhIHNpbXBsZSBs aWJyYXJ5IGRlc2lnbmVkIGZvciBkZWNvZGluZyBhbmQKZ2VuZXJhdGlvbiBvZiBNUEVHIFRTIGFu ZCBEVkIgUFNJIHRhYmxlcyBhY2NvcmRpbmcgdG8gc3RhbmRhcmRzIElTTy9JRUMgMTM4MThzCmFu ZCBJVFUtVCBILjIyMi4wLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmxncGwyLjEpKSkKCihkZWZp bmUtcHVibGljIGZmbXMyCiAgKHBhY2thZ2UKICAgIChuYW1lICJmZm1zMiIpCiAgICAodmVyc2lv biAiMi4yMyIpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vRkZNUy9mZm1zMiIp CiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAg ICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kIGhvbWUtcGFnZSAiL2FyY2hpdmUvIiB2ZXJz aW9uICIudGFyLmd6IikpCiAgICAgICAgICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBu YW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAg ICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMXZia2FiOHZycGx4ejV4Z2FnOGdnemt3 cDRmN25mMjg1cGQwbDJhN3p5NjZuNmkybTZ4aCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1i dWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgJygjOmNvbmZpZ3VyZS1mbGFncwogICAg ICAgKGxpc3QgIi0tZW5hYmxlLWF2cmVzYW1wbGUiKSkpCiAgICAoaW5wdXRzCiAgICAgYCgoInps aWIiICx6bGliKSkpCiAgICAocHJvcGFnYXRlZC1pbnB1dHMKICAgICBgKCgiZmZtcGVnIiAsZmZt cGVnKSkpCiAgICAobmF0aXZlLWlucHV0cwogICAgIGAoKCJwa2ctY29uZmlnIiAscGtnLWNvbmZp ZykpKQogICAgKHN5bm9wc2lzICJDcm9zcy1wbGF0Zm9ybSB3cmFwcGVyIGFyb3VuZCBmZm1wZWcv bGliYXYiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgICJGRk1wZWdTb3VyY2UgaXMgYSB3cmFwcGVy IGxpYnJhcnkgYXJvdW5kIGZmbXBlZy9saWJhdiB0aGF0IGFsbG93cwpwcm9ncmFtbWVycyB0byBh Y2Nlc3MgYSBzdGFuZGFyZCBBUEkgdG8gb3BlbiBhbmQgZGVjb21wcmVzcyBtZWRpYSBmaWxlcy4i KQogICAgOzsgc291cmNlcyBhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgYSBkaWZmZXJlbnQgbGljZW5z ZSB0aGF0IHRoZSBiaW5hcnkuCiAgICA7OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL0ZGTVMvZmZt czIvYmxvYi9tYXN0ZXIvQ09QWUlORwogICAgKGxpY2Vuc2UgbGljZW5zZTpncGwyKykpKTsgaW5o ZXJpdHMgZnJvbSBmZm1wZWcKCihkZWZpbmUtcHVibGljIGFlZ2lzdWIKICAocGFja2FnZQogICAg KG5hbWUgImFlZ2lzdWIiKQogICAgKHZlcnNpb24gIjMuMi4yIikKICAgIChzb3VyY2UgKG9yaWdp bgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKHN0 cmluZy1hcHBlbmQKICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly9mdHAuYWVnaXN1Yi5vcmcv cHViL2FyY2hpdmVzL3JlbGVhc2VzL3NvdXJjZS8iCiAgICAgICAgICAgICAgICAgICAgIG5hbWUg Ii0iIHZlcnNpb24gIi50YXIueHoiKSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAg ICAgIChiYXNlMzIKICAgICAgICAgICAgICAgICIxMWI4M3FhemM4aDBpaWR5ajFycHJubmpkaXZq MWxwcGh2cGEwOHk1M240MmJmYTM2cG41IikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxk LXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCM6Y29uZmlndXJlLWZsYWdzCiAgICAgICAo bGlzdCAiLS1kaXNhYmxlLXVwZGF0ZS1jaGVja2VyIgogICAgICAgICAgICAgIi0td2l0aG91dC1w b3J0YXVkaW8iCiAgICAgICAgICAgICAiLS13aXRob3V0LW9wZW5hbCIKICAgICAgICAgICAgICIt LXdpdGhvdXQtb3NzIikKICAgICAgIDs7IHRlc3RzIHJlcXVpcmUgYnVzdGVkLCBhIGx1YSBwYWNr YWdlIHdlIGRvbid0IGhhdmUgeWV0CiAgICAgICAjOnRlc3RzPyAjZgogICAgICAgIzpwaGFzZXMK ICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgKGFkZC1iZWZv cmUgJ2NvbmZpZ3VyZSAnZml4LWxkZmxhZ3MKICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAg ICAgIChzZXRlbnYgIkxERkxBR1MiICItcHRocmVhZCIpKSkpKSkKICAgIChpbnB1dHMKICAgICBg KCgiYm9vc3QiICxib29zdCkKICAgICAgICgiZGVza3RvcC1maWxlLXV0aWxzIiAsZGVza3RvcC1m aWxlLXV0aWxzKQogICAgICAgKCJmZm1zMiIgLGZmbXMyKQogICAgICAgKCJmZnR3IiAsZmZ0dykK ICAgICAgICgiaHVuc3BlbGwiICxodW5zcGVsbCkKICAgICAgICgibWVzYSIgLG1lc2EpCiAgICAg ICAoImxpYmFzcyIgLGxpYmFzcykKICAgICAgICgiYWxzYS1saWIiICxhbHNhLWxpYikKICAgICAg ICgicHVsc2VhdWRpbyIgLHB1bHNlYXVkaW8pCiAgICAgICAoImxpYngxMSIgLGxpYngxMSkKICAg ICAgICgiZnJlZXR5cGUiICxmcmVldHlwZSkKICAgICAgICgid3h3aWRnZXRzLWd0azIiICx3eHdp ZGdldHMtZ3RrMikpKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICBgKCgiaW50bHRvb2wiICxpbnRs dG9vbCkKICAgICAgICgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcpKSkKICAgIChob21lLXBhZ2Ug Imh0dHA6Ly93d3cuYWVnaXN1Yi5vcmcvIikKICAgIChzeW5vcHNpcyAiU3VidGl0bGUgZW5naW5l IikKICAgIChkZXNjcmlwdGlvbgogICAgICAiQWVnaXN1YiBpcyBhIHRvb2wgZm9yIGNyZWF0aW5n IGFuZCBtb2RpZnlpbmcgc3VidGl0bGVzLiAgQWVnaXN1YiBtYWtlcwppdCBxdWljayBhbmQgZWFz eSB0byB0aW1lIHN1YnRpdGxlcyB0byBhdWRpbywgYW5kIGZlYXR1cmVzIG1hbnkgcG93ZXJmdWwK dG9vbHMgZm9yIHN0eWxpbmcgdGhlbSwgaW5jbHVkaW5nIGEgYnVpbHQtaW4gcmVhbC10aW1lIHZp ZGVvIHByZXZpZXcuIikKICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6YnNkLTMgOyB0aGUgcGFj a2FnZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgYnNkLTMsIGV4Y2VwdAogICAgICAgICAgICAgICAg ICAgbGljZW5zZTptcGwxLjEgOyBmb3IgdmVuZG9yL3VuaXZlcnNhbGNoYXJkZXQgdW5kZXIgdGhl IG1wbDEuMQogICAgICAgICAgICAgICAgICAgbGljZW5zZTpleHBhdCkpKSkgOyBhbmQgc3JjL2ds IHRoYXQgaXMgdW5kZXIgYSBsaWNlbnNlIHNpbWlsYXIKICAgOyB0aGUgdGhlIEV4cGF0IGxpY2Vu c2UsIHdpdGggYSByZXdvcmRpbmcgKFNvZnR3YXJlIC0+IE1hdGVyaWFscykuIChjYWxsZWQgTUlU CiAgIDsgYnkgdXBzdHJlYW0pLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL0FlZ2lzdWIvQWVnaXN1 Yi9ibG9iL21hc3Rlci9MSUNFTkNFCiAgIDsgc3JjL01hdHJvc2thUGFyc2VyLihjfGgpIGlzIHVu ZGVyIGJzZC0zIHdpdGggcGVybWlzc2lvbiBmcm9tIHRoZSBhdXRob3IKCihkZWZpbmUtcHVibGlj IGdzdC10cmFuc2NvZGVyCiAgKHBhY2thZ2UKICAgIChuYW1lICJnc3QtdHJhbnNjb2RlciIpCiAg ICAodmVyc2lvbiAiMS4xMi4yIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0 aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8vZ2l0aHVi LmNvbS9waXRpdmkvZ3N0LXRyYW5zY29kZXIvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAi YXJjaGl2ZS8iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1h cHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKHNoYTI1NgogICAgICAg IChiYXNlMzIKICAgICAgICAgIjBjbndtcnNkMzIxczAyZmY5MW0zajI3eWRqN2Y4d2tzMGp2bXA1 YWRtbGhrYTZ6N3p4bTkiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBtZXNvbi1idWlsZC1zeXN0ZW0p CiAgICAoaW5wdXRzCiAgICAgYCgoImdvYmplY3QtaW50cm9zcGVjdGlvbiIgLGdvYmplY3QtaW50 cm9zcGVjdGlvbikKICAgICAgICgiZ2xpYiIgLGdsaWIpCiAgICAgICAoImdzdHJlYW1lciIgLGdz dHJlYW1lcikKICAgICAgICgiZ3N0LXBsdWdpbnMtYmFzZSIgLGdzdC1wbHVnaW5zLWJhc2UpKSkK ICAgIChuYXRpdmUtaW5wdXRzCiAgICAgYCgoInB5dGhvbiIgLHB5dGhvbikKICAgICAgICgicGtn LWNvbmZpZyIgLHBrZy1jb25maWcpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNv bS9waXRpdmkvZ3N0LXRyYW5zY29kZXIvIikKICAgIChzeW5vcHNpcyAiR1N0cmVhbWVyIFRyYW5z Y29kaW5nIEFQSSIpCiAgICAoZGVzY3JpcHRpb24gIkdTdHJlYW1lciBUcmFuc2NvZGluZyBBUEki KQogICAgKGxpY2Vuc2UgbGljZW5zZTpsZ3BsMi4xKSkpCgooZGVmaW5lLXB1YmxpYyBnYXZsCiAg KHBhY2thZ2UKICAgIChuYW1lICJnYXZsIikKICAgICh2ZXJzaW9uICIxLjQuMCIpCiAgICAoc291 cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAodXJpIChz dHJpbmctYXBwZW5kICJtaXJyb3I6Ly9zb3VyY2Vmb3JnZS9nbWVybGluLyIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgbmFtZSAiLyIgdmVyc2lvbiAiLyIKICAgICAgICAgICAgICAgICAgICAg ICAgICAgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgKGZpbGUtbmFtZSAoc3Ry aW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAoc2hhMjU2CiAg ICAgICAgKGJhc2UzMgogICAgICAgICAiMWtpa2tuOTcxYTE0enptN3N2aTcxOTBsZGMxNGZqYWkw eHlocGJjbXA0OHM3NTBzcmFqaSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0 ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgJygjOmNvbmZpZ3VyZS1mbGFncyAnKCJMSUJTPS1sbSIp KSkKICAgIChuYXRpdmUtaW5wdXRzCiAgICAgYCgoInBrZy1jb25maWciICxwa2ctY29uZmlnKQog ICAgICAgKCJkb3h5Z2VuIiAsZG94eWdlbikpKQogICAgKGhvbWUtcGFnZSAiaHR0cDovL2dtZXJs aW4uc291cmNlZm9yZ2UubmV0IikKICAgIChzeW5vcHNpcyAiTG93IGxldmVsIGxpYnJhcnkgZm9y IG11bHRpbWVkaWEgQVBJIGJ1aWxkaW5nIikKICAgIChkZXNjcmlwdGlvbgogICAgICJHYXZsIGlz IHNob3J0IGZvciBHbWVybGluIEF1ZGlvIFZpZGVvIExpYnJhcnkuICBJdCBpcyBhIGxvdyBsZXZl bApsaWJyYXJ5LCB1cG9uIHdoaWNoIG11bHRpbWVkaWEgQVBJcyBjYW4gYmUgYnVpbHQuICBHYXZs IGhhbmRsZXMgYWxsIHRoZQpkZXRhaWxzIG9mIGF1ZGlvIGFuZCB2aWRlbyBmb3JtYXRzIGxpa2Ug Y29sb3JzcGFjZXMsIHNhbXBsZSByYXRlcywKbXVsdGljaGFubmVsIGNvbmZpZ3VyYXRpb25zLCBl dGMuICBJdCBwcm92aWRlcyBzdGFuZGFyZGl6ZWQgZGVmaW5pdGlvbnMgZm9yCnRob3NlIGZvcm1h dHMgYXMgd2VsbCBhcyBjb250YWluZXIgc3RydWN0dXJlcyBmb3IgY2FycnlpbmcgYXVkaW8gc2Ft cGxlcyBvcgp2aWRlbyBpbWFnZXMgaW5zaWRlIGFuIGFwcGxpY2F0aW9uLgoKSW4gYWRkaXRpb24s IGl0IGhhbmRsZXMgdGhlIHNvbWV0aW1lcyB1Z2x5IHRhc2sgb2YgY29udmVydGluZyBiZXR3ZWVu IGFsbAp0aGVzZSBmb3JtYXRzIGFuZCBwcm92aWRlcyBzb21lIGVsZW1lbnRhcnkgb3BlcmF0aW9u cyAoY29weWluZywgc2NhbGluZywKYWxwaGEgYmxlbmRpbmcgZXRjKS4iKQogICAgKGxpY2Vuc2Ug bGljZW5zZTpncGwzKSkpCgooZGVmaW5lLXB1YmxpYyBmcmVpMHItcGx1Z2lucwogIChwYWNrYWdl CiAgICAobmFtZSAiZnJlaTByLXBsdWdpbnMiKQogICAgKHZlcnNpb24gIjEuNi4xIikKICAgIChz b3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1cmkg KHN0cmluZy1hcHBlbmQgImh0dHBzOi8vZmlsZXMuZHluZS5vcmcvZnJlaTByLyIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgImZyZWkwci1wbHVnaW5zLSIgdmVyc2lvbiAiLnRhci5neiIpKQog ICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIKICAgICAgICAgIjBwamkyNmZwZDBkcXJ4MWFr eWhxaTY3MjlzMzk0aXJsNzNkYWNueXhrNThpanFxNGRocDAiKSkpKQogICAgKGJ1aWxkLXN5c3Rl bSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzpwaGFzZXMKICAgICAg IChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgKGFkZC1hZnRlciAndW5w YWNrICdhdXRvdG9vbHMKICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAgICAgICh6ZXJvPyAo c3lzdGVtKiAic2giICJhdXRvZ2VuLnNoIikpKSkpKSkKICAgIDs7IFRPRE86IG9wZW5jdiBmb3Ig YWRkaXRpb25hbCBmYWNlIGRldGVjdGlvbiBmaWx0ZXJzCiAgICAoaW5wdXRzCiAgICAgYCgoImdh dmwiICxnYXZsKQogICAgICAgKCJjYWlybyIgLGNhaXJvKSkpCiAgICAobmF0aXZlLWlucHV0cwog ICAgIGAoKCJwa2ctY29uZmlnIiAscGtnLWNvbmZpZykKICAgICAgICgibGlidG9vbCIgLGxpYnRv b2wpCiAgICAgICAoImF1dG9tYWtlIiAsYXV0b21ha2UpCiAgICAgICAoImF1dG9jb25mIiAsYXV0 b2NvbmYpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vd3d3LmR5bmUub3JnL3NvZnR3YXJlL2Zy ZWkwci8iKQogICAgKHN5bm9wc2lzICJNaW5pbWFsaXN0aWMgcGx1Z2luIEFQSSBmb3IgdmlkZW8g ZWZmZWN0cyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiRnJlaTByIGlzIGEgbWluaW1hbGlzdGlj IHBsdWdpbiBBUEkgZm9yIHZpZGVvIGVmZmVjdHMuClRoZSBtYWluIGVtcGhhc2lzIGlzIG9uIHNp bXBsaWNpdHkgZm9yIGFuIEFQSSB0aGF0IHdpbGwgcm91bmQgdXAKdGhlIG1vc3QgY29tbW9uIHZp ZGVvIGVmZmVjdHMgaW50byBzaW1wbGUgZmlsdGVycywgc291cmNlcyBhbmQKbWl4ZXJzIHRoYXQg Y2FuIGJlIGNvbnRyb2xsZWQgYnkgcGFyYW1ldGVycy4gIEZyZWkwciB3YW50cyB0bwpwcm92aWRl IGEgd2F5IHRvIHNoYXJlIHRoZXNlIHNpbXBsZSBlZmZlY3RzIGJldHdlZW4gbWFueQphcHBsaWNh dGlvbnMsIGF2b2lkaW5nIHRoZWlyIHJlaW1wbGVtZW50YXRpb24gYnkgZGlmZmVyZW50IHByb2pl Y3RzLgpJdCBjb3VudHMgbW9yZSB0aGFuIDEwMCBwbHVnaW5zLiIpCiAgICAobGljZW5zZSAobGlz dCBsaWNlbnNlOmdwbDIrCiAgICAgICAgICAgICAgICAgICA7OyBUaGUgZm9sbG93aW5nIGZpbGVz IGFyZSBsaWNlbnNlZCBhcyBMR1BMMi4xKzoKICAgICAgICAgICAgICAgICAgIDs7IHNyYy9nZW5l cmF0b3IvaXNpbmcwci9pc2luZzByLmMKICAgICAgICAgICAgICAgICAgIDs7IHNyYy9nZW5lcmF0 b3Ivb25lY29sMHIvb25lY29sMHIuY3BwCiAgICAgICAgICAgICAgICAgICA7OyBzcmMvZ2VuZXJh dG9yL25vaXMwci9ub2lzMHIuY3BwCiAgICAgICAgICAgICAgICAgICA7OyBzcmMvZ2VuZXJhdG9y L2xpc3Nham91czByL2xpc3Nham91czByLmNwcAogICAgICAgICAgICAgICAgICAgOzsgc3JjL2Zp bHRlci9uZHZpL2dyYWRpZW50bHV0LmhwcAogICAgICAgICAgICAgICAgICAgOzsgc3JjL2ZpbHRl ci9uZHZpL25kdmkuY3BwCiAgICAgICAgICAgICAgICAgICA7OyBzcmMvZmlsdGVyL2ZhY2VkZXRl Y3QvZmFjZWRldGVjdC5jcHAKICAgICAgICAgICAgICAgICAgIGxpY2Vuc2U6bGdwbDIuMSspKSkp CgooZGVmaW5lLXB1YmxpYyBtb3Rpb24KICAocGFja2FnZQogICAgKG5hbWUgIm1vdGlvbiIpCiAg ICAodmVyc2lvbiAiNC4xLjEiKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9tb3Rpb24tcHJvamVj dC5naXRodWIuaW8vIikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2Qg dXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQKICAgICAgICAgICAg ICAgICAgICAiaHR0cHM6Ly9naXRodWIuY29tL01vdGlvbi1Qcm9qZWN0L21vdGlvbi9hcmNoaXZl LyIKICAgICAgICAgICAgICAgICAgICAicmVsZWFzZS0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAg ICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgICAg ICIxcW00aTh6cnFhZmw2MHN2MmZyaGl4dmtkMHdoMHI1amZjcmo1aTZnaGE3eXBsc3ZqeDEwIikp CiAgICAgICAgICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9u ICIudGFyLmd6IikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChu YXRpdmUtaW5wdXRzCiAgICAgYCgoImF1dG9jb25mIiAsKGF1dG9jb25mLXdyYXBwZXIpKQogICAg ICAgKCJhdXRvbWFrZSIgLGF1dG9tYWtlKQogICAgICAgKCJwa2ctY29uZmlnIiAscGtnLWNvbmZp ZykpKQogICAgKGlucHV0cwogICAgIGAoKCJsaWJqcGVnIiAsbGlianBlZykKICAgICAgICgiZmZt cGVnIiAsZmZtcGVnKQogICAgICAgKCJzcWxpdGUiICxzcWxpdGUpKSkKICAgIChhcmd1bWVudHMK ICAgICAnKCM6cGhhc2VzIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAg ICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdib290c3RyYXAKICAgICAgICAgICAgICAgICAg ICAobGFtYmRhIF8KICAgICAgICAgICAgICAgICAgICAgIChwYXRjaC1zaGViYW5nICJ2ZXJzaW9u LnNoIikKICAgICAgICAgICAgICAgICAgICAgIChpbnZva2UgImF1dG9yZWNvbmYiICItdmZpIikp KSkKICAgICAgICM6Y29uZmlndXJlLWZsYWdzICcoIi0tc3lzY29uZmRpcj0vZXRjIikKICAgICAg ICM6bWFrZS1mbGFncyAobGlzdCAoc3RyaW5nLWFwcGVuZCAic3lzY29uZmRpcj0iCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0 IikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2V0YyIpKQoKICAg ICAgICM6dGVzdHM/ICNmKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7bm8gJ2NoZWNr JyB0YXJnZXQKICAgIChzeW5vcHNpcyAiRGV0ZWN0IG1vdGlvbiBmcm9tIHZpZGVvIHNpZ25hbHMi KQogICAgKGRlc2NyaXB0aW9uCiAgICAgIk1vdGlvbiBpcyBhIHByb2dyYW0gdGhhdCBtb25pdG9y cyB0aGUgdmlkZW8gc2lnbmFsIGZyb20gb25lIG9yIG1vcmUKY2FtZXJhcyBhbmQgaXMgYWJsZSB0 byBkZXRlY3QgaWYgYSBzaWduaWZpY2FudCBwYXJ0IG9mIHRoZSBwaWN0dXJlIGhhcwpjaGFuZ2Vk LiAgT3IgaW4gb3RoZXIgd29yZHMsIGl0IGNhbiBkZXRlY3QgbW90aW9uLiIpCgogICAgOzsgU29t ZSBmaWxlcyBzYXkgInZlcnNpb24gMiIgYW5kIG90aGVycyAidmVyc2lvbiAyIG9yIGxhdGVyIi4K ICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMikpKQo= --001a11395eea2c6d02056741a4bd--