Return-Path: Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists.linuxfoundation.org (Postfix) with ESMTP id B99C6C000E for ; Fri, 2 Jul 2021 20:06:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id A19A660596 for ; Fri, 2 Jul 2021 20:06:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.099 X-Spam-Level: X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: smtp3.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=achow101.com Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AwbiaycNAu_p for ; Fri, 2 Jul 2021 20:06:00 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 Received: from mail-0201.mail-europe.com (mail-0201.mail-europe.com [51.77.79.158]) by smtp3.osuosl.org (Postfix) with ESMTPS id AF28260087 for ; Fri, 2 Jul 2021 20:05:59 +0000 (UTC) Date: Fri, 02 Jul 2021 20:05:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=achow101.com; s=protonmail3; t=1625256350; bh=XIzi/y0uqXsHSZd4E0GI8zkZ2ADDsmwINzBDdaYWzsc=; h=Date:To:From:Reply-To:Subject:In-Reply-To:References:From; b=lKcRQuVgSv+pSfEPWHPM0GNRgbVO7vfTo1D3nE1ypCaunU93E/4z0BFk26hMJ3Qqf 2RCWVT/q0+nLDOE34pN9cs2J7eTzUKMnBn/R1awZiYUUz89L4wjTzwzsA5vMBsCdkI 45fHNMBnbgPjxfJ4LR9euNbbB91yYcQtcCsXD2ELK7RMZt2tbKMefcmnyfd2Zw8LmL +ZvwD8qOOv5F1krWTX0NmH0Tg55sxabto6vi/Xvecf+x4RlehkB+kfOE2F0ZWQ2K+H eHNgXIFW2nU1bVpl6ZZ8lzvxXTamyAE1Fb+bJFUeUfRw1mJtsJ3Hve2T7XjNpJwUSH 07QC2yMihbnSw== To: Jeremy , Bitcoin Protocol Discussion From: Andrew Chow Reply-To: Andrew Chow Message-ID: <08950fa0-36ba-5411-fee4-cf0d5c229ca6@achow101.com> In-Reply-To: References: <1eb7b635-094c-a583-7dc0-21cea58ed1fb@achow101.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_ahB6xoqnR1BOdjxJAvSZVWgLarU87XLyvHmqc34KUCI" X-Mailman-Approved-At: Fri, 02 Jul 2021 20:23:53 +0000 Subject: Re: [bitcoin-dev] BIP Proposals for Output Script Descriptors X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Jul 2021 20:06:03 -0000 This is a multi-part message in MIME format. --b1_ahB6xoqnR1BOdjxJAvSZVWgLarU87XLyvHmqc34KUCI Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SSd2ZSBvcGVuZWQgYSBQUiBhZ2FpbnN0IG15IG93biBCSVBzIGZvcmsgZm9yIHJldmlldzogaHR0 cHM6Ly9naXRodWIuY29tL2FjaG93MTAxL2JpcHMvcHVsbC8zCgpBbmRyZXcKCk9uIDYvMjkvMjEg MTE6NDEgUE0sIEplcmVteSB3cm90ZToKCj4gS3Vkb3MsIHRoaXMgaXMgZmFudGFzdGljIQo+Cj4g SXQgbWlnaHQgYmUgZWFzaWVyLCBzaW5jZSB0aGVyZSBpcyBhIHRvbiBvZiBjb250ZW50IGhlcmUs IGZvciB5b3UgdG8gb3BlbiB1cCBzb21lIFdJUCBQUnMgdG8gY29sbGVjdCBmZWVkYmFjaz8KPiAt LQo+IFtASmVyZW15UnViaW5dKGh0dHBzOi8vdHdpdHRlci5jb20vSmVyZW15UnViaW4pCj4KPiBP biBUdWUsIEp1biAyOSwgMjAyMSBhdCAyOjE1IFBNIEFuZHJldyBDaG93IHZpYSBiaXRjb2luLWRl diA8Yml0Y29pbi1kZXZAbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZz4gd3JvdGU6Cj4KPj4gSGkg QWxsLAo+Pgo+PiBJJ3ZlIGJlZW4gd29ya2luZyBvbiBmb3JtYWxpemluZyB0aGUgT3V0cHV0IFNj cmlwdCBEZXNjcmlwdG9ycyB0aGF0IGhhdmUKPj4gYmVlbiBhdmFpbGFibGUgaW4gQml0Y29pbiBD b3JlIGZvciBhIHdoaWxlIGludG8gQklQcy4gU2luY2UgZGVzY3JpcHRvcnMKPj4gYXJlIG1vZHVs YXIgYW5kIGhhdmUgb3B0aW9uYWwgY29tcG9uZW50cywgSSd2ZSBkZWNpZGVkIHRvIHNwbGl0IGl0 IGludG8KPj4gNyBCSVBzLCByYXRoZXIgdGhhbiBhIHNpbmdsZSBvbmUuIFRoZSBmaXJzdCBkZXNj cmliZXMgZGVzY3JpcHRvcnMgaW4KPj4gZ2VuZXJhbCBhbmQgZG9lcyBub3Qgc3BlY2lmeSBhbnkg cGFydGljdWxhciBkZXNjcmlwdG9yLiBIb3dldmVyIGl0IGRvZXMKPj4gZGVzY3JpYmUgdGhlIGdl bmVyYWwgb3BlcmF0aW9uLCBrZXkgZXhwcmVzc2lvbnMgKGluY2x1ZGluZyBkZXJpdmF0aW9uCj4+ IHBhdGhzIGFuZCBrZXkgb3JpZ2luIGluZm8pLCBhbmQgdGhlIGRlc2NyaXB0b3IgY2hlY2tzdW0u IFRoZSBmb2xsb3dpbmcgNgo+PiBCSVBzIHNwZWNpZnkgdGhlIGFjdHVhbCBkZXNjcmlwdG9ycyB0 aGVtc2VsdmVzLiBUaGVzZSBhcmUgbm9uLXNlZ3dpdAo+PiBkZXNjcmlwdG9yIChwaywgcGtoLCBz aCksIHNlZ3dpdCBkZXNjcmlwdG9ycyAod3BraCwgd3NoKSwgbXVsdGlzaWcKPj4gZGVzY3JpcHRv cnMgKG11bHRpLCBzb3J0ZWRtdWx0aSksIHRoZSB0YXByb290IGRlc2NyaXB0b3IgKHRyKSwgdGhl IGNvbWJvCj4+IGRlc2NyaXB0b3IsIGFuZCBvcGFxdWUgZGVzY3JpcHRvcnMgKHJhdywgYWRkciku IFRoaXMgc2VwYXJhdGlvbiBpcyBzbwo+PiB0aGF0IGltcGxlbWVudG9ycyBjYW4gY2hvb3NlIHRv IG5vdCBpbXBsZW1lbnQgc29tZSBkZXNjcmlwdG9ycyBhbmQgc3RpbGwKPj4gc2F5IHdoaWNoIGRl c2NyaXB0b3JzIHRoZXkgc3VwcG9ydCB3aXRob3V0IGJlaW5nIHRvbyBkaWZmaWN1bHQgdG8KPj4g dW5kZXJzdGFuZC4KPj4KPj4gVGhlIHRleHQgb2YgYWxsIG9mIHRoZSBkb2N1bWVudHMgYXJlIGJl bG93LCBhbmQgdGhleSBjYW4gYWxzbyBiZSBmb3VuZAo+PiBvbiBnaXRodWI6aHR0cHM6Ly9naXRo dWIuY29tL2FjaG93MTAxL2JpcHMvdHJlZS9kZXNjcmlwdG9ycy8KPj4KPj4gVGhhbmtzLAo+PiBB bmRyZXcgQ2hvdwo+Pgo+PiAtLS0KPj4KPj4gPHByZT4KPj4gQklQOiBiaXAtZGVzY3JpcHRvcnMt Z2VuZXJhbAo+PiBMYXllcjogQXBwbGljYXRpb25zCj4+IFRpdGxlOiBPdXRwdXQgU2NyaXB0IERl c2NyaXB0b3JzIEdlbmVyYWwgT3BlcmF0aW9uCj4+IEF1dGhvcjogUGlldGVyIFd1aWxsZSA8cGll dGVyQHd1aWxsZS5uZXQ+Cj4+IEFuZHJldyBDaG93IDxhbmRyZXdAYWNob3cxMDEuY29tPgo+PiBD b21tZW50cy1TdW1tYXJ5OiBObyBjb21tZW50cyB5ZXQuCj4+IENvbW1lbnRzLVVSSToKPj4gaHR0 cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYmlwcy93aWtpL0NvbW1lbnRzOkJJUC1kZXNjcmlwdG9y cy1nZW5lcmFsCj4+IFN0YXR1czogRHJhZnQKPj4gVHlwZTogSW5mb3JtYXRpb25hbAo+PiBDcmVh dGVkOiAyMDIxLTA2LTI3Cj4+IExpY2Vuc2U6IEJTRC0yLUNsYXVzZQo+PiA8L3ByZT4KPj4KPj4g PT1BYnN0cmFjdD09Cj4+Cj4+IE91dHB1dCBTY3JpcHQgRGVzY3JpcHRvcnMgYXJlIGEgc2ltcGxl IGxhbmd1YWdlIHdoaWNoIGNhbiBiZSB1c2VkIHRvCj4+IGRlc2NyaWJlIGNvbGxlY3Rpb25zIG9m b3V0cHV0IHNjcmlwdHMuCj4+IFRoZXJlIGNhbiBiZSBtYW55IGRpZmZlcmVudCBkZXNjcmlwdG9y IGZyYWdtZW50cyBhbmQgZnVuY3Rpb25zLgo+PiBUaGlzIGRvY3VtZW50IGRlc2NyaWJlcyB0aGUg Z2VuZXJhbCBzeW50YXggZm9yIGRlc2NyaXB0b3JzLCBkZXNjcmlwdG9yCj4+IGNoZWNrc3Vtcywg YW5kIGNvbW1vbiBleHByZXNzaW9ucy4KPj4KPj4gPT1Db3B5cmlnaHQ9PQo+Pgo+PiBUaGlzIEJJ UCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNEIDItY2xhdXNlIGxpY2Vuc2UuCj4+Cj4+ID09TW90 aXZhdGlvbj09Cj4+Cj4+IEJpdGNvaW4gd2FsbGV0cyB0cmFkaXRpb25hbGx5IGhhdmUgc3RvcmVk IGEgc2V0IG9mIGtleXMgd2hpY2ggYXJlIGxhdGVyCj4+IHNlcmlhbGl6ZWQgYW5kIG11dGF0ZWQg dG8gcHJvZHVjZSB0aGUgb3V0cHV0IHNjcmlwdHMgdGhhdCB0aGUgd2FsbGV0Cj4+IHdhdGNoZXMg YW5kIHRoZSBhZGRyZXNzZXMgaXQgcHJvdmlkZXMgdG8gdXNlcnMuCj4+IFR5cGljYWxseSBiYWNr dXBzIGhhdmUgY29uc2lzdGVkIG9mIHNvbGVseSB0aGUgcHJpdmF0ZSBrZXlzLCBub3dhZGF5cwo+ PiBwcmltYXJpbHkgaW4gdGhlIGZvcm0gb2YgQklQIDM5IG1uZW1vbmljcy4KPj4gSG93ZXZlciB0 aGlzIGJhY2t1cCBzb2x1dGlvbiBpcyBpbnN1ZmZpZW50LCBlc3BlY2lhbGx5IHNpbmNlIHRoZQo+ PiBpbnRyb2R1Y3Rpb24gb2YgU2VncmVnYXRlZCBXaXRuZXNzIHdoaWNoIGFkZGVkIG5ldyBvdXRw dXQgdHlwZXMuCj4+IEdpdmVuIGp1c3QgdGhlIHByaXZhdGUga2V5cywgaXQgaXMgbm90IHBvc3Np YmxlIGZvciByZXN0b3JlZCB3YWxsZXRzIHRvCj4+IGtub3cgd2hpY2gga2luZHMgb2Ygb3V0cHV0 IHNjcmlwdHMgYW5kIGFkZHJlc3NlcyB0byBwcm9kdWNlLgo+PiBUaGlzIGhhcyBsZWFkIHRvIGlu Y29tcGF0aWJpbGl0aWVzIGJldHdlZW4gd2FsbGV0cyB3aGVuIHJlc3RvcmluZyBhCj4+IGJhY2t1 cCBvciBleHBvcnRpbmcgZGF0YSBmb3IgYSB3YXRjaCBvbmx5IHdhbGxldC4KPj4KPj4gRnVydGhl ciBjb21wbGljYXRpbmcgbWF0dGVycyBhcmUgQklQIDMyIGRlcml2YXRpb24gcGF0aHMuCj4+IEFs dGhvdWdoIEJJUHMgNDQsIDQ5LCBhbmQgODQgaGF2ZSBzcGVjaWZpZWQgc3RhbmRhcmQgQklQIDMy IGRlcml2YXRpb24KPj4gcGF0aHMgZm9yIGRpZmZlcmVudCBvdXRwdXQgc2NyaXB0cyBhbmQgYWRk cmVzc2VzLCBub3QgYWxsIHdhbGxldHMKPj4gc3VwcG9ydCB0aGVtIG5vciB1c2UgdGhvc2UgZGVy aXZhdGlvbiBwYXRocy4KPj4gVGhlIGxhY2sgb2YgZGVyaXZhdGlvbiBwYXRoIGluZm9ybWF0aW9u IGluIHRoZXNlIGJhY2t1cHMgYW5kIGV4cG9ydHMKPj4gbGVhZHMgdG8gZnVydGhlciBpbmNvbXBh dGliaWxpdGllcyBiZXR3ZWVuIHdhbGxldHMuCj4+Cj4+IEN1cnJlbnQgc29sdXRpb25zIHRvIHRo ZXNlIGlzc3VlcyBoYXZlIG5vdCBiZWVuIGdlbmVyaWMgYW5kIGNhbiBiZQo+PiB2aWV3ZWQgYXMg YmVpbmcgbGF5ZXIgdmlvbGF0aW9ucy4KPj4gU29sdXRpb25zIHN1Y2ggYXMgaW50cm9kdWNpbmcg ZGlmZmVyZW50IHZlcnNpb24gYnl0ZXMgZm9yIGV4dGVuZGVkIGtleQo+PiBzZXJpYWxpemF0aW9u IGJvdGggYXJlIGEgbGF5ZXIgdmlvbGF0aW9uIChrZXkgZGVyaXZhdGlvbiBzaG91bGQgYmUKPj4g c2VwYXJhdGUgZnJvbSBzY3JpcHQgdHlwZSBtZWFuaW5nKSBhbmQgc3BlY2lmaWMgb25seSB0byBh IHBhcnRpY3VsYXIKPj4gZGVyaXZhdGlvbiBwYXRoIGFuZCBzY3JpcHQgdHlwZS4KPj4KPj4gT3V0 cHV0IFNjcmlwdCBEZXNjcmlwdG9ycyBpbnRyb2R1Y2VzIGEgZ2VuZXJpYyBzb2x1dGlvbiB0byB0 aGVzZSBpc3N1ZXMuCj4+IFNjcmlwdCB0eXBlcyBhcmUgc3BlY2lmaWVkIGV4cGxpY2l0bHkgdGhy b3VnaCB0aGUgdXNlIG9mIFNjcmlwdCBFeHByZXNzaW9ucy4KPj4gS2V5IGRlcml2YXRpb24gcGF0 aHMgYXJlIHNwZWNpZmllZCBleHBsaWNpdGx5IGluIEtleSBFeHByZXNzaW9ucy4KPj4gVGhlc2Ug YWxsb3cgZm9yIGNyZWF0aW5nIHdhbGxldCBiYWNrdXBzIGFuZCBleHBvcnRzIHdoaWNoIHNwZWNp ZnkgdGhlCj4+IGV4YWN0IHNjcmlwdHMsIHN1YnNjcmlwdHMgKHJlZGVlbVNjcmlwdCwgd2l0bmVz c1NjcmlwdCwgZXRjLiksIGFuZCBrZXlzCj4+IHRvIHByb2R1Y2UuCj4+IFdpdGggdGhlIGdlbmVy YWwgc3RydWN0dXJlIHNwZWNpZmllZCBpbiB0aGlzIEJJUCwgbmV3IFNjcmlwdCBFeHByZXNzaW9u cwo+PiBjYW4gYmUgaW50cm9kdWNlZCBhcyBuZXcgc2NyaXB0IHR5cGVzIGFyZSBhZGRlZC4KPj4g TGFzdGx5LCB0aGUgdXNlIG9mIGNvbW1vbiB0ZXJtaW5vbG9neSBhbmQgZXhpc3Rpbmcgc3RhbmRh cmRzIGFsbG93IGZvcgo+PiBPdXRwdXQgU2NyaXB0IERlc2NyaXB0b3JzIHRvIGJlIGVuZ2luZWVy IHJlYWRhYmxlIHNvIHRoYXQgdGhlIHJlc3VsdHMKPj4gY2FuIGJlIHVuZGVyc3Rvb2QgYXQgYSBn bGFuY2UuCj4+Cj4+ID09U3BlY2lmaWNhdGlvbj09Cj4+Cj4+IERlc2NyaXB0b3JzIGNvbnNpc3Qg b2Ygc2V2ZXJhbCB0eXBlcyBvZiBleHByZXNzaW9ucy4KPj4gVGhlIHRvcCBsZXZlbCBleHByZXNz aW9uIGlzIGEgPHR0PlNDUklQVDwvdHQ+Lgo+PiBUaGlzIGV4cHJlc3Npb24gbWF5IGJlIGZvbGxv d2VkIGJ5IDx0dD4jQ0hFQ0tTVU08L3R0Piwgd2hlcmUKPj4gPHR0PkNIRUNLU1VNPC90dD4gaXMg YW4gOCBjaGFyYWN0ZXIgYWxwaGFudW1lcmljIGRlc2NyaXB0b3IgY2hlY2tzdW0uCj4+Cj4+ID09 PVNjcmlwdCBFeHByZXNzaW9ucz09PQo+Pgo+PiBTY3JpcHQgRXhwcmVzc2lvbnMgKGRlbm90ZWQg PHR0PlNDUklQVDwvdHQ+KSBhcmUgZXhwcmVzc2lvbnMgd2hpY2gKPj4gY29ycmVzcG9uZCBkaXJl Y3RseSB3aXRoIGEgQml0Y29pbiBzY3JpcHQuCj4+IFRoZXNlIGV4cHJlc3Npb25zIGFyZSB3cml0 dGVuIGFzIGZ1bmN0aW9ucyBhbmQgdGFrZSBhcmd1bWVudHMuCj4+IFN1Y2ggZXhwcmVzc2lvbnMg aGF2ZSBhIHNjcmlwdCB0ZW1wbGF0ZSB3aGljaCBpcyBmaWxsZWQgd2l0aCB0aGUKPj4gYXJndW1l bnRzIGNvcnJlc3BvbmRpbmdseS4KPj4gRXhwcmVzc2lvbnMgYXJlIHdyaXR0ZW4gd2l0aCBhIGh1 bWFuIHJlYWRhYmxlIGlkZW50aWZpZXIgc3RyaW5nIHdpdGggdGhlCj4+IGFyZ3VtZW50cyBlbmNs b3NlZCB3aXRoIHBhcmVudGhlc2VzLgo+PiBUaGUgaWRlbnRpZmllciBzdHJpbmcgc2hvdWxkIGJl IGFscGhhbnVtZXJpYyBhbmQgbWF5IGluY2x1ZGUgdW5kZXJzY29yZXMuCj4+Cj4+IFRoZSBhcmd1 bWVudHMgdG8gYSBzY3JpcHQgZXhwcmVzc2lvbiBhcmUgZGVmaW5lZCBieSB0aGF0IGV4cHJlc3Np b24gaXRzZWxmLgo+PiBUaGV5IGNvdWxkIGJlIGEgc2NyaXB0IGV4cHJlc3Npb24sIGEga2V5IGV4 cHJlc3Npb24sIG9yIHNvbWUgb3RoZXIKPj4gZXhwcmVzc2lvbiBlbnRpcmVseS4KPj4KPj4gPT09 S2V5IEV4cHJlc3Npb25zPT09Cj4+Cj4+IEEgY29tbW9uIGV4cHJlc3Npb24gdXNlZCBhcyBhbiBh cmd1bWVudCB0byBzY3JpcHQgZXhwcmVzc2lvbnMgYXJlIGtleQo+PiBleHByZXNzaW9ucyAoZGVu b3RlZCA8dHQ+S0VZPC90dD4pLgo+PiBUaGVzZSByZXByZXNlbnQgYSBwdWJsaWMgb3IgcHJpdmF0 ZSBrZXkgYW5kLCBvcHRpb25hbGx5LCBpbmZvcm1hdGlvbgo+PiBhYm91dCB0aGUgb3JpZ2luIG9m IHRoYXQga2V5Lgo+PiBLZXkgZXhwcmVzc2lvbnMgY2FuIG9ubHkgYmUgdXNlZCBhcyBhcmd1bWVu dHMgdG8gc2NyaXB0IGV4cHJlc3Npb25zLgo+Pgo+PiBLZXkgZXhwcmVzc2lvbnMgY29uc2lzdCBv ZjoKPj4gKiBPcHRpb25hbGx5LCBrZXkgb3JpZ2luIGluZm9ybWF0aW9uLCBjb25zaXN0aW5nIG9m Ogo+PiAqKiBBbiBvcGVuIGJyYWNrZXQgPHR0Pls8L3R0Pgo+PiAqKiBFeGFjdGx5IDggaGV4IGNo YXJhY3RlcnMgZm9yIHRoZSBmaW5nZXJwcmludCBvZiB0aGUga2V5IHdoZXJlIHRoZQo+PiBkZXJp dmF0aW9uIHN0YXJ0cyAoc2VlIEJJUCAzMiBmb3IgZGV0YWlscykKPj4gKiogRm9sbG93ZWQgYnkg emVybyBvciBtb3JlIDx0dD4vTlVNPC90dD4gb3IgPHR0Pi9OVU0nPC90dD4gcGF0aAo+PiBlbGVt ZW50cyB0byBpbmRpY2F0ZSB0aGUgdW5oYXJkZW5lZCBvciBoYXJkZW5lZCBkZXJpdmF0aW9uIHN0 ZXBzIGJldHdlZW4KPj4gdGhlIGZpbmdlcnByaW50IGFuZCB0aGUga2V5IHRoYXQgZm9sbG93cy4K Pj4gKiogQSBjbG9zaW5nIGJyYWNrZXQgPHR0Pl08L3R0Pgo+PiAqIEZvbGxvd2VkIGJ5IHRoZSBh Y3R1YWwga2V5LCB3aGljaCBpcyBlaXRoZXI6Cj4+ICoqIEEgaGV4IGVuY29kZWQgcHVibGljIGtl eSwgd2hpY2ggZGVwZW5kaW5nIHRoZSBzY3JpcHQgZXhwcmVzc2lvbiwgbWF5Cj4+IGJlIGVpdGhl cjoKPj4gKioqIDY2IGhleCBjaGFyYWN0ZXIgc3RyaW5nIGJlZ2lubmluZyB3aXRoIDx0dD4wMjwv dHQ+IG9yIDx0dD4wMzwvdHQ+Cj4+IHJlcHJlc2VudGluZyBhIGNvbXByZXNzZWQgcHVibGljIGtl eQo+PiAqKiogMTMwIGhleCBjaGFyYWN0ZXIgc3RyaW5nIGJlZ2lubmluZyB3aXRoIDx0dD4wNDwv dHQ+IHJlcHJlc2VudGluZyBhbgo+PiB1bmNvbXByZXNzZWQgcHVibGljIGtleQo+PiAqKiogNjQg aGV4IGNoYXJhY3RlciBzdHJpbmcgcmVwcmVzZW50aW5nIGFuIHgtb25seSBwdWJsaWMga2V5Cj4+ ICoqIEEgW1tbaHR0cHM6Ly9lbi5iaXRjb2luLml0L3dpa2kvV2FsbGV0X2ltcG9ydF9mb3JtYXR8 V0lGXShodHRwczovL2VuLmJpdGNvaW4uaXQvd2lraS9XYWxsZXRfaW1wb3J0X2Zvcm1hdCU3Q1dJ RildXSBlbmNvZGVkCj4+IHByaXZhdGUga2V5Cj4+ICoqIDx0dD54cHViPC90dD4gZW5jb2RlZCBl eHRlbmRlZCBwdWJsaWMga2V5IG9yIDx0dD54cHJ2PC90dD4gZW5jb2RlZAo+PiBleHRlbmRlZCBw cml2YXRlIGtleSAoYXMgZGVmaW5lZCBpbiBCSVAgMzIpCj4+ICoqKiBGb2xsb3dlZCBieSB6ZXJv IG9yIG1vcmUgPHR0Pi9OVU08L3R0PiBvciA8dHQ+L05VTSc8L3R0PiBwYXRoCj4+IGVsZW1lbnRz IGluZGljYXRpbmcgQklQIDMyIGRlcml2YXRpb24gc3RlcHMgdG8gYmUgdGFrZW4gYWZ0ZXIgdGhl IGdpdmVuCj4+IGV4dGVuZGVkIGtleS4KPj4gKioqIE9wdGlvbmFsbHkgZm9sbG93ZWQgYnkgYSBz aW5nbGUgPHR0Pi8qPC90dD4gb3IgPHR0Pi8qJzwvdHQ+IGZpbmFsCj4+IHN0ZXAgdG8gZGVub3Rl IGFsbCBkaXJlY3QgdW5oYXJkZW5lZCBvciBoYXJkZW5lZCBjaGlsZHJlbi4KPj4KPj4gSWYgdGhl IDx0dD5LRVk8L3R0PiBpcyBhIEJJUCAzMiBleHRlbmRlZCBrZXksIGJlZm9yZSBvdXRwdXQgc2Ny aXB0cyBjYW4KPj4gYmUgY3JlYXRlZCwgY2hpbGQga2V5cyBtdXN0IGJlIGRlcml2ZWQgdXNpbmcg dGhlIGRlcml2YXRpb24gaW5mb3JtYXRpb24KPj4gdGhhdCBmb2xsb3dzIHRoZSBleHRlbmRlZCBr ZXkuCj4+IFdoZW4gdGhlIGZpbmFsIHN0ZXAgaXMgPHR0Pi8qPC90dD4gb3IgPHR0Pi8qJzwvdHQ+ LCBhbiBvdXRwdXQgc2NyaXB0Cj4+IHdpbGwgYmUgcHJvZHVjZWQgZm9yIGV2ZXJ5IGNoaWxkIGtl eSBpbmRleC4KPj4gVGhlIGRlcml2ZWQga2V5IG11c3QgYmUgc2VyaWFsaXplZCBhcyBhIGNvbXBy ZXNzZWQgcHVibGljIGtleS4KPj4KPj4gSW4gdGhlIGFib3ZlIHNwZWNpZmljYXRpb24sIHRoZSBo YXJkZW5lZCBpbmRpY2F0b3IgPHR0Pic8L3R0PiBtYXkgYmUKPj4gcmVwbGFjZWQgd2l0aCBhbHRl cm5hdGl2ZSBoYXJkbmVuZWQgaW5kaWNhdG9ycyBvZiA8dHQ+aDwvdHQ+IG9yIDx0dD5IPC90dD4u Cj4+Cj4+ID09PUNoYXJhY3RlciBTZXQ9PT0KPj4KPj4gVGhlIGV4cHJlc3Npb25zIHVzZWQgaW4g ZGVzY3JpcHRvcnMgbXVzdCBvbmx5IGNvbnRhaW4gY2hhcmFjdGVycyB3aXRoaW4KPj4gdGhpcyBj aGFyYWN0ZXIgc2V0IHNvIHRoYXQgdGhlIGRlc2NyaXB0b3IgY2hlY2tzdW0gd2lsbCB3b3JrLgo+ Pgo+PiBUaGUgYWxsb3dlZCBjaGFyYWN0ZXJzIGFyZToKPj4gPHByZT4KPj4gMDEyMzQ1Njc4OSgp W10sJy8qYWJjZGVmZ2hAOiQle30KPj4gSUpLTE1OT1BRUlNUVVZXWFlaJistLjs8PT4/IV5ffH4K Pj4gaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hgIyJcPHNwYWNlPgo+PiA8L3ByZT4KPj4gTm90 ZSB0aGF0IDx0dD48c3BhY2U+PC90dD4gb24gdGhlIGxhc3QgbGluZSBpcyBhIHNwYWNlIGNoYXJh Y3Rlci4KPj4KPj4gVGhpcyBjaGFyYWN0ZXIgc2V0IGlzIHdyaXR0ZW4gYXMgMyBncm91cHMgb2Yg MzIgY2hhcmFjdGVycyBpbiB0aGlzCj4+IHNwZWNpZmljIG9yZGVyIHNvIHRoYXQgdGhlIGNoZWNr c3VtIGJlbG93IGNhbiBpZGVudGlmeSBtb3JlIGVycm9ycy4KPj4gVGhlIGZpcnN0IGdyb3VwIGFy ZSB0aGUgbW9zdCBjb21tb24gInVucHJvdGVjdGVkIiBjaGFyYWN0ZXJzIChpLmUuCj4+IHRoaW5n cyBzdWNoIGFzIGhleCBhbmQga2V5cGF0aHMgdGhhdCBkbyBub3QgYWxyZWFkeSBoYXZlIHRoZWly IG93bgo+PiBjaGVja3N1bXMpLgo+PiBDYXNlIGVycm9ycyBjYXVzZSBhbiBvZmZzZXQgdGhhdCBp cyBhIG11bHRpcGxlIG9mIDMyIHdoaWxlIGFzIG1hbnkKPj4gYWxwaGFiZXRpYyBjaGFyYWN0ZXJz IGFyZSBpbiB0aGUgc2FtZSBncm91cCB3aGlsZSBmb2xsb3dpbmcgdGhlIHByZXZpb3VzCj4+IHJl c3RyaWN0aW9ucy4KPj4KPj4gPT09Q2hlY2tzdW09PT0KPj4KPj4gRm9sbHdpbmcgdGhlIHRvcCBs ZXZlbCBzY3JpcHQgZXhwcmVzc2lvbiBpcyBhIHNpbmdsZSBvY3RvdGhvcnBlCj4+ICg8dHQ+Izwv dHQ+KSBmb2xsb3dlZCBieSB0aGUgOCBjaGFyYWN0ZXIgY2hlY2tzdW0uCj4+IFRoZSBjaGVja3N1 bSBpcyBhbiBlcnJvciBjb3JyZWN0aW5nIGNoZWNrc3VtIHNpbWlsYXIgdG8gYmVjaDMyLgo+Pgo+ PiBUaGUgY2hlY2tzdW0gaGFzIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoKPj4gKiBNaXN0YWtl cyBpbiBhIGRlc2NyaXB0b3Igc3RyaW5nIGFyZSBtZWFzdXJlZCBpbiAic3ltYm9sIGVycm9ycyIu IFRoZQo+PiBoaWdoZXIgdGhlIG51bWJlciBvZiBzeW1ib2wgZXJyb3JzLCB0aGUgaGFyZGVyIGl0 IGlzIHRvIGRldGVjdDoKPj4gKiogQW4gZXJyb3Igc3Vic3RpdHV0aW5nIGEgY2hhcmFjdGVyIGZy b20KPj4gPHR0PjAxMjM0NTY3ODkoKVtdLCcvKmFiY2RlZmdoQDokJXt9PC90dD4gZm9yIGFub3Ro ZXIgaW4gdGhhdCBzZXQgYWx3YXlzCj4+IGNvdW50cyBhcyAxIHN5bWJvbCBlcnJvci4KPj4gKioq IE5vdGUgdGhhdCBoZXggZW5jb2RlZCBrZXlzIGFyZSBjb3ZlcmVkIGJ5IHRoZXNlIGNoYXJhY3Rl cnMuIEV4dGVuZGVkCj4+IGtleXMgKDx0dD54cHViPC90dD4gYW5kIDx0dD54cHJ2PC90dD4pIHVz ZSBvdGhlciBjaGFyYWN0ZXJzIHRvbywgYnV0Cj4+IGFsc28gaGF2ZSB0aGVpciBvd24gY2hlY2tz dW0gbWVjaGFuc2ltLgo+PiAqKiogPHR0PlNDUklQVDwvdHQ+IGV4cHJlc3Npb24gZnVuY3Rpb24g bmFtZXMgdXNlIG90aGVyIGNoYXJhY3RlcnMsIGJ1dAo+PiBtaXN0YWtlcyBpbiB0aGVzZSB3b3Vs ZCBnZW5lcmFsbHkgcmVzdWx0IGluIGFuIHVucGFyc2FibGUgZGVzY3JpcHRvci4KPj4gKiogQSBj YXNlIGVycm9yIGFsd2F5cyBjb3VudHMgYXMgMSBzeW1ib2wgZXJyb3IuCj4+ICoqIEFueSBvdGhl ciAxIGNoYXJhY3RlciBzdWJzdGl0dXRpb24gZXJyb3IgY291bnRzIGFzIDEgb3IgMiBzeW1ib2wg ZXJyb3JzLgo+PiAqIEFueSAxIHN5bWJvbCBlcnJvciBpcyBhbHdheXMgZGV0ZWN0ZWQuCj4+ICog QW55IDIgb3IgMyBzeW1ib2wgZXJyb3IgaW4gYSBkZXNjcmlwdG9yIG9mIHVwIHRvIDQ5MTU0IGNo YXJhY3RlcnMgaXMKPj4gYWx3YXlzIGRldGVjdGVkLgo+PiAqIEFueSA0IHN5bWJvbCBlcnJvciBp biBhIGRlc2NyaXB0b3Igb2YgdXAgdG8gNTA3IGNoYXJhY3RlcnMgaXMgYWx3YXlzCj4+IGRldGVj dGVkLgo+PiAqIEFueSA1IHN5bWJvbCBlcnJvciBpbiBhIGRlc2NyaXB0b3Igb2YgdXAgdG8gNzcg Y2hhcmFjdGVycyBpcyBhbHdheXMKPj4gZGV0ZWN0ZWQuCj4+ICogSXMgb3B0aW1pemVkIHRvIG1p bmltaXplIHRoZSBjaGFuY2Ugb2YgYSA1IHN5bWJvbCBlcnJvciBpbiBhCj4+IGRlc2NyaXB0b3Ig dXAgdG8gMzg3IGNoYXJhY3RlcnMgaXMgdW5kZXRlY3RlZAo+PiAqIFJhbmRvbSBlcnJvcnMgaGF2 ZSBhIGNoYW5jZSBvZiAxIGluIDI8c3VwZXI+NDA8L3N1cGVyPiBvZiBiZWluZwo+PiB1bmRldGVj dGVkLgo+Pgo+PiBUaGUgY2hlY2tzdW0gaXRzZWxmIHVzZXMgdGhlIHNhbWUgY2hhcmFjdGVyIHNl dCBhcyBiZWNoMzI6Cj4+IDx0dD5xcHpyeTl4OGdmMnR2ZHcwczNqbjU0a2hjZTZtdWE3bDwvdHQ+ Cj4+Cj4+IFZhbGlkIGRlc2NyaXB0b3Igc3RyaW5ncyB3aXRoIGEgY2hlY2tzdW0gbXVzdCBwYXNz IHRoZSBjcml0ZXJpYSBmb3IKPj4gdmFsaWRpdHkgc3BlY2lmaWVkIGJ5IHRoZSBQeXRob24zIGNv ZGUgc25pcHBldCBiZWxvdy4KPj4gVGhlIGZ1bmN0aW9uIDx0dD5kZXNjc3VtX2NoZWNrPC90dD4g bXVzdCByZXR1cm4gdHJ1ZSB3aGVuIGl0cyBhcmd1bWVudAo+PiA8dHQ+czwvdHQ+IGlzIGEgZGVz Y3JpcHRvciBjb25zaXN0aW5nIGluIHRoZSBmb3JtIDx0dD5TQ1JJUFQjQ0hFQ0tTVU08L3R0Pi4K Pj4KPj4gPHByZT4KPj4gSU5QVVRfQ0hBUlNFVCA9Cj4+ICIwMTIzNDU2Nzg5KClbXSwnLyphYmNk ZWZnaEA6JCV7fUlKS0xNTk9QUVJTVFVWV1hZWiYrLS47PD0+PyFeX3x+aWprbG1ub3BxcnN0dXZ3 eHl6QUJDREVGR0hgI1wiXFwKPj4gIgo+PiBDSEVDS1NVTV9DSEFSU0VUID0gInFwenJ5OXg4Z2Yy dHZkdzBzM2puNTRraGNlNm11YTdsIgo+PiBHRU5FUkFUT1IgPSBbMHhmNWRlZTUxOTg5LCAweGE5 ZmRjYTMzMTIsIDB4MWJhYjEwZTMyZCwgMHgzNzA2YjE2NzdhLAo+PiAweDY0NGQ2MjZmZmRdCj4+ Cj4+IGRlZiBkZXNjc3VtX3BvbHltb2Qoc3ltYm9scyk6Cj4+ICIiIkludGVybmFsIGZ1bmN0aW9u IHRoYXQgY29tcHV0ZXMgdGhlIGRlc2NyaXB0b3IgY2hlY2tzdW0uIiIiCj4+IGNoayA9IDEKPj4g Zm9yIHZhbHVlIGluIHN5bWJvbHM6Cj4+IHRvcCA9IGNoayA+PiAzNQo+PiBjaGsgPSAoY2hrICYg MHg3ZmZmZmZmZmYpIDw8IDUgXiB2YWx1ZQo+PiBmb3IgaSBpbiByYW5nZSg1KToKPj4gY2hrIF49 IEdFTkVSQVRPUltpXSBpZiAoKHRvcCA+PiBpKSAmIDEpIGVsc2UgMAo+PiByZXR1cm4gY2hrCj4+ Cj4+IGRlZiBkZXNjc3VtX2V4cGFuZChzKToKPj4gIiIiSW50ZXJuYWwgZnVuY3Rpb24gdGhhdCBk b2VzIHRoZSBjaGFyYWN0ZXIgdG8gc3ltYm9sIGV4cGFuc2lvbiIiIgo+PiBncm91cHMgPSBbXQo+ PiBzeW1ib2xzID0gW10KPj4gZm9yIGMgaW4gczoKPj4gaWYgbm90IGMgaW4gSU5QVVRfQ0hBUlNF VDoKPj4gcmV0dXJuIE5vbmUKPj4gdiA9IElOUFVUX0NIQVJTRVQuZmluZChjKQo+PiBzeW1ib2xz LmFwcGVuZCh2ICYgMzEpCj4+IGdyb3Vwcy5hcHBlbmQodiA+PiA1KQo+PiBpZiBsZW4oZ3JvdXBz KSA9PSAzOgo+PiBzeW1ib2xzLmFwcGVuZChncm91cHNbMF0gKiA5ICsgZ3JvdXBzWzFdICogMyAr IGdyb3Vwc1syXSkKPj4gZ3JvdXBzID0gW10KPj4gaWYgbGVuKGdyb3VwcykgPT0gMToKPj4gc3lt Ym9scy5hcHBlbmQoZ3JvdXBzWzBdKQo+PiBlbGlmIGxlbihncm91cHMpID09IDI6Cj4+IHN5bWJv bHMuYXBwZW5kKGdyb3Vwc1swXSAqIDMgKyBncm91cHNbMV0pCj4+IHJldHVybiBzeW1ib2xzCj4+ Cj4+IGRlZiBkZXNjc3VtX2NoZWNrKHMpOgo+PiAiIiJWZXJpZnkgdGhhdCB0aGUgY2hlY2tzdW0g aXMgY29ycmVjdCBpbiBhIGRlc2NyaXB0b3IiIiIKPj4gaWYgc1stOV0gIT0gJyMnOgo+PiByZXR1 cm4gRmFsc2UKPj4gaWYgbm90IGFsbCh4IGluIENIRUNLU1VNX0NIQVJTRVQgZm9yIHggaW4gc1st ODpdKToKPj4gcmV0dXJuIEZhbHNlCj4+IHN5bWJvbHMgPSBkZXNjc3VtX2V4cGFuZChzWzotOV0p ICsgW0NIRUNLU1VNX0NIQVJTRVQuZmluZCh4KSBmb3IgeAo+PiBpbiBzWy04Ol1dCj4+IHJldHVy biBkZXNjc3VtX3BvbHltb2Qoc3ltYm9scykgPT0gMQo+PiA8L3ByZT4KPj4KPj4gVGhpcyBpbXBs ZW1lbnRzIGEgQkNIIGNvZGUgdGhhdCBoYXMgdGhlIHByb3BlcnRpZXMgZGVzY3JpYmVkIGFib3Zl Lgo+PiBUaGUgZW50aXJlIGRlc2NyaXB0b3Igc3RyaW5nIGlzIGZpcnN0IHByb2Nlc3NlZCBpbnRv IGFuIGFycmF5IG9mIHN5bWJvbHMuCj4+IFRoZSBzeW1ib2wgZm9yIGVhY2ggY2hhcmFjdGVyIGlz IGl0cyBwb3NpdGlvbiB3aXRoaW4gaXRzIGdyb3VwLgo+PiBBZnRlciBldmVyeSAzcmQgc3ltYm9s LCBhIDR0aCBzeW1ib2wgaXMgaW5zZXJ0ZWQgd2hpY2ggcmVwcmVzZW50cyB0aGUKPj4gZ3JvdXAg bnVtYmVycyBjb21iaW5lZCB0b2dldGhlci4KPj4gVGhpcyBtZWFucyB0aGF0IGEgY2hhbmdlIHRo YXQgb25seSBhZmZlY3RzIHRoZSBwb3NpdGlvbiB3aXRoaW4gYSBncm91cCwKPj4gb3Igb25seSBh IGdyb3VwIG51bWJlciBjaGFuZ2UsIHdpbGwgb25seSBhZmZlY3QgYSBzaW5nbGUgc3ltYm9sLgo+ Pgo+PiBUbyBjb25zdHJ1Y3QgYSB2YWxpZCBjaGVja3N1bSBnaXZlbiBhIHNjcmlwdCBleHByZXNz aW9uLCB0aGUgY29kZSBiZWxvdwo+PiBjYW4gYmUgdXNlZDoKPj4KPj4gPHByZT4KPj4gZGVmIGRl c2NzdW1fY3JlYXRlKHMpOgo+PiAiIiJBZGQgYSBjaGVja3N1bSB0byBhIGRlc2NyaXB0b3Igd2l0 aG91dCIiIgo+PiBzeW1ib2xzID0gZGVzY3N1bV9leHBhbmQocykgKyBbMCwgMCwgMCwgMCwgMCwg MCwgMCwgMF0KPj4gY2hlY2tzdW0gPSBkZXNjc3VtX3BvbHltb2Qoc3ltYm9scykgXiAxCj4+IHJl dHVybiBzICsgJyMnICsgJycuam9pbihDSEVDS1NVTV9DSEFSU0VUWyhjaGVja3N1bSA+PiAoNSAq ICg3IC0KPj4gaSkpKSAmIDMxXSBmb3IgaSBpbiByYW5nZSg4KSkKPj4KPj4gPC9wcmU+Cj4+Cj4+ ID09QmFja3dhcmRzIENvbXBhdGliaWxpdHk9PQo+Pgo+PiBPdXRwdXQgc2NyaXB0IGRlc2NyaXB0 b3JzIGFyZSBhbiBlbnRpcmVseSBuZXcgbGFuZ3VhZ2Ugd2hpY2ggaXMgbm90Cj4+IGNvbXBhdGli bGUgd2l0aCBhbnkgZXhpc3Rpbmcgc29mdHdhcmUuCj4+IEhvd2V2ZXIgbWFueSBjb21wb25lbnRz IG9mIHRoZSBleHByZXNzaW9ucyByZXVzZSBlbmNvZGluZ3MgYW5kCj4+IHNlcmlhbGl6YXRpb25z IGRlZmluZWQgYnkgcHJldmlvdXMgQklQcy4KPj4KPj4gT3V0cHV0IHNjcmlwdCBkZXNjcmlwdG9y cyBhcmUgZGVzaWduZWQgZm9yIGZ1dHVyZSBleHRlbnNpb24gd2l0aCBmdXJ0aGVyCj4+IGZyYWdt ZW50IHR5cGVzIGFuZCBuZXcgc2NyaXB0IGV4cHJlc3Npb25zLgo+PiBUaGVzZSB3aWxsIGJlIHNw ZWNpZmllZCBpbiBhZGRpdGlvbmFsIEJJUHMuCj4+Cj4+ID09UmVmZXJlbmNlIEltcGxlbW50YXRp b249PQo+Pgo+PiBEZXNjcmlwdG9ycyBoYXZlIGJlZW4gaW1wbGVtZW50ZWQgaW4gQml0Y29pbiBD b3JlIHNpbmNlIHZlcnNpb24gMC4xNy4KPj4KPj4gLS0tCj4+Cj4+IDxwcmU+Cj4+IEJJUDogYmlw LWRlc2NyaXB0b3JzLXNlZ3dpdAo+PiBMYXllcjogQXBwbGljYXRpb25zCj4+IFRpdGxlOiBzZWd3 aXQgT3V0cHV0IFNjcmlwdCBEZXNjcmlwdG9ycwo+PiBBdXRob3I6IFBpZXRlciBXdWlsbGUgPHBp ZXRlckB3dWlsbGUubmV0Pgo+PiBBbmRyZXcgQ2hvdyA8YW5kcmV3QGFjaG93MTAxLmNvbT4KPj4g Q29tbWVudHMtU3VtbWFyeTogTm8gY29tbWVudHMgeWV0Lgo+PiBDb21tZW50cy1VUkk6Cj4+IGh0 dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpcHMvd2lraS9Db21tZW50czpCSVAtZGVzY3JpcHRv cnMtc2Vnd2l0Cj4+IFN0YXR1czogRHJhZnQKPj4gVHlwZTogSW5mb3JtYXRpb25hbAo+PiBDcmVh dGVkOiAyMDIxLTA2LTI3Cj4+IExpY2Vuc2U6IEJTRC0yLUNsYXVzZQo+PiA8L3ByZT4KPj4KPj4g PT1BYnN0cmFjdD09Cj4+Cj4+IFRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIDx0dD53cGtoKCk8L3R0 PiwgYW5kIDx0dD53c2goKTwvdHQ+IG91dHB1dAo+PiBzY3JpcHQgZGVzY3JpcHRvcnMuCj4+IDx0 dD53cGtoKCk8L3R0PiBkZXNjcmlwdG9ycyB0YWtlIGEga2V5IGFuZCBwcm9kdWNlcyBhIFAyV1BL SCBvdXRwdXQgc2NyaXB0Lgo+PiA8dHQ+d3NoKCk8L3R0PiBkZXNjcmlwdG9ycyB0YWtlIGEgc2Ny aXB0IGFuZCBwcm9kdWNlcyBhIFAyV1NIIG91dHB1dCBzY3JpcHQuCj4+Cj4+ID09Q29weXJpZ2h0 PT0KPj4KPj4gVGhpcyBCSVAgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRCAyLWNsYXVzZSBsaWNl bnNlLgo+Pgo+PiA9PU1vdGl2YXRpb249PQo+Pgo+PiBTZWdyZWdhdGVkIFdpdG5lc3MgYWRkZWQg MiBhZGRpdGlvbmFsIHN0YW5kYXJkIG91dHB1dCBzY3JpcHQgZm9ybWF0czoKPj4gUDJXUEtIIGFu ZCBQMldTSC4KPj4gVGhlc2UgZXhwcmVzc2lvbnMgYWxsb3cgc3BlY2lmeWluZyB0aG9zZSBmb3Jt YXRzIGFzIGEgZGVzY3JpcHRvci4KPj4KPj4gPT1TcGVjaWZpY2F0aW9uPT0KPj4KPj4gVHdvIG5l dyBzY3JpcHQgZXhwcmVzc2lvbnMgYXJlIGRlZmluZWQ6IDx0dD53cGtoKCk8L3R0PiwgYW5kIDx0 dD53c2goKTwvdHQ+Lgo+Pgo+PiA9PT08dHQ+d3BraCgpPC90dD49PT0KPj4KPj4gVGhlIDx0dD53 cGtoKEtFWSk8L3R0PiBleHByZXNzaW9uIGNhbiBiZSB1c2VkIGFzIGEgdG9wIGxldmVsIGV4cHJl c3Npb24sCj4+IG9yIGluc2lkZSBvZiBhIDx0dD5zaCgpPC90dD4gZGVzY3JpcHRvci4KPj4gSXQg dGFrZXMgYSBzaW5nbGUga2V5IGV4cHJlc3Npb24gYXMgYW4gYXJndW1lbnQgYW5kIHByb2R1Y2Vz IGEgUDJXUEtICj4+IG91dHB1dCBzY3JpcHQuCj4+IE9ubHkga2V5cyB3aGljaCBhcmUvaGFzIGNv bXByZXNzZWQgcHVibGljIGtleXMgY2FuIGJlIGNvbnRhaW5lZCBpbiBhCj4+IDx0dD53cGtoKCk8 L3R0PiBleHByZXNzaW9uLgo+Pgo+PiBUaGUgb3V0cHV0IHNjcmlwdCBwcm9kdWNlZCBpczoKPj4g PHByZT4KPj4gT1BfMCA8S0VZX2hhc2gxNjA+Cj4+IDwvcHJlPgo+Pgo+PiA9PT08dHQ+d3NoKCk8 L3R0Pj09PQo+Pgo+PiBUaGUgPHR0PndzaChTQ1JJUFQpPC90dD4gZXhwcmVzc2lvbiBjYW4gYmUg dXNlZCBhcyBhIHRvcCBsZXZlbAo+PiBleHByZXNzaW9uLCBvciBpbnNpZGUgb2YgYSA8dHQ+c2go KTwvdHQ+IGRlc2NyaXB0b3IuCj4+IEl0IHRha2VzIGEgc2luZ2xlIHNjcmlwdCBleHByZXNzaW9u IGFzIGFuIGFyZ3VtZW50IGFuZCBwcm9kdWNlcyBhIFAyV1NICj4+IG91dHB1dCBzY3JpcHQuCj4+ IDx0dD53c2goKTwvdHQ+IGV4cHJlc3Npb25zIGFsc28gY3JlYXRlIGEgd2l0bmVzc1NjcmlwdCB3 aGljaCBpcyByZXF1aXJlZAo+PiBpbiBvcmRlciB0byBzcGVuZCBvdXRwdXRzIHdoaWNoIHVzZSBp dHMgb3V0cHV0IHNjcmlwdC4KPj4gVGhpcyByZWRlZW1TY3JpcHQgaXMgdGhlIG91dHB1dCBzY3Jp cHQgcHJvZHVjZWQgYnkgdGhlIDx0dD5TQ1JJUFQ8L3R0Pgo+PiBhcmd1bWVudCB0byA8dHQ+d3No KCk8L3R0Pi4KPj4gQW55IGtleSBleHByZXNzaW9uIGZvdW5kIGluIGFueSBzY3JpcHQgZXhwcmVz c2lvbiBjb250YWluZWQgYnkgYQo+PiA8dHQ+d3NoKCk8L3R0PiBleHByZXNzaW9uIG11c3Qgb25s eSBwcm9kdWNlIGNvbXByZXNlZCBwdWJsaWMga2V5cy4KPj4KPj4gVGhlIG91dHB1dCBzY3JpcHQg cHJvZHVjZWQgaXM6Cj4+IDxwcmU+Cj4+IE9QXzAgPFNDUklQVF9zaGEyNTY+Cj4+IDwvcHJlPgo+ Pgo+PiA9PVRlc3QgVmVjdG9ycz09Cj4+Cj4+IFRCRAo+Pgo+PiA9PUJhY2t3YXJkcyBDb21wYXRp YmlsaXR5PT0KPj4KPj4gPHR0Pndwa2goKTwvdHQ+LCBhbmQgPHR0PndzaCgpPC90dD4gZGVzY3Jp cHRvcnMgdXNlIHRoZSBmb3JtYXQgYW5kCj4+IGdlbmVyYWwgb3BlcmF0aW9uIHNwZWNpZmllZCBp bgo+PiBbW2JpcC1kZXNjcmlwdG9yLWdlbmVyYWwubWVkaWF3aWtpfGJpcC1kZXNjcmlwdG9yLWdl bmVyYWxdXS4KPj4gQXMgdGhlc2UgYXJlIGEgd2hvbGx5IG5ldyBkZXNjcmlwdG9ycywgdGhleSBh cmUgbm90IGNvbXBhdGlibGUgd2l0aCBhbnkKPj4gaW1wbGVtZW50YXRpb24uCj4+IEhvd2V2ZXIg dGhlIHNjcmlwdHMgcHJvZHVjZWQgYXJlIHN0YW5kYXJkIHNjcmlwdHMgc28gZXhpc3Rpbmcgc29m dHdhcmUKPj4gYXJlIGxpa2VseSB0byBiZSBmYW1pbGlhciB3aXRoIHRoZW0uCj4+Cj4+ID09UmVm ZXJlbmNlIEltcGxlbW50YXRpb249PQo+Pgo+PiA8dHQ+d3BraCgpPC90dD4sIGFuZCA8dHQ+d3No KCk8L3R0PiBkZXNjcmlwdG9ycyBoYXZlIGJlZW4gaW1wbGVtZW50ZWQgaW4KPj4gQml0Y29pbiBD b3JlIHNpbmNlIHZlcnNpb24gMC4xNy4KPj4KPj4gLS0tCj4+Cj4+IDxwcmU+Cj4+IEJJUDogYmlw LWRlc2NyaXB0b3JzLW5vbi1zZWd3aXQKPj4gTGF5ZXI6IEFwcGxpY2F0aW9ucwo+PiBUaXRsZTog Tm9uLXNlZ3dpdCBPdXRwdXQgU2NyaXB0IERlc2NyaXB0b3JzCj4+IEF1dGhvcjogUGlldGVyIFd1 aWxsZSA8cGlldGVyQHd1aWxsZS5uZXQ+Cj4+IEFuZHJldyBDaG93IDxhbmRyZXdAYWNob3cxMDEu Y29tPgo+PiBDb21tZW50cy1TdW1tYXJ5OiBObyBjb21tZW50cyB5ZXQuCj4+IENvbW1lbnRzLVVS SToKPj4gaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYmlwcy93aWtpL0NvbW1lbnRzOkJJUC1k ZXNjcmlwdG9ycy1ub24tc2Vnd2l0Cj4+IFN0YXR1czogRHJhZnQKPj4gVHlwZTogSW5mb3JtYXRp b25hbAo+PiBDcmVhdGVkOiAyMDIxLTA2LTI3Cj4+IExpY2Vuc2U6IEJTRC0yLUNsYXVzZQo+PiA8 L3ByZT4KPj4KPj4gPT1BYnN0cmFjdD09Cj4+Cj4+IFRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIDx0 dD5waygpPC90dD4sIDx0dD5wa2goKTwvdHQ+LCBhbmQgPHR0PnNoKCk8L3R0Pgo+PiBvdXRwdXQg c2NyaXB0IGRlc2NyaXB0b3JzLgo+PiA8dHQ+cGsoKTwvdHQ+IGRlc2NyaXB0b3JzIHRha2UgYSBr ZXkgYW5kIHByb2R1Y2VzIGEgUDJQSyBvdXRwdXQgc2NyaXB0Lgo+PiA8dHQ+cGtoKCk8L3R0PiBk ZXNjcmlwdG9ycyB0YWtlIGEga2V5IGFuZCBwcm9kdWNlcyBhIFAyUEtIIG91dHB1dCBzY3JpcHQu Cj4+IDx0dD5zaCgpPC90dD4gZGVzY3JpcHRvcnMgdGFrZSBhIHNjcmlwdCBhbmQgcHJvZHVjZXMg YSBQMlNIIG91dHB1dCBzY3JpcHQuCj4+Cj4+ID09Q29weXJpZ2h0PT0KPj4KPj4gVGhpcyBCSVAg aXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRCAyLWNsYXVzZSBsaWNlbnNlLgo+Pgo+PiA9PU1vdGl2 YXRpb249PQo+Pgo+PiBQcmlvciB0byB0aGUgYWN0aXZhdGlvbiBvZiBTZWdyZWdhdGVkIFdpdG5l c3MsIHRoZXJlIHdlcmUgMyBtYWluCj4+IHN0YW5kYXJkIG91dHB1dCBzY3JpcHQgZm9ybWF0czog UDJQSywgUDJQS0gsIGFuZCBQMlNILgo+PiBUaGVzZSBleHByZXNzaW9ucyBhbGxvdyBzcGVjaWZ5 aW5nIHRob3NlIGZvcm1hdHMgYXMgYSBkZXNjcmlwdG9yLgo+Pgo+PiA9PVNwZWNpZmljYXRpb249 PQo+Pgo+PiBUaHJlZSBuZXcgc2NyaXB0IGV4cHJlc3Npb25zIGFyZSBkZWZpbmVkOiA8dHQ+cGso KTwvdHQ+LCA8dHQ+cGtoKCk8L3R0PiwKPj4gYW5kIDx0dD5zaCgpPC90dD4uCj4+Cj4+ID09PTx0 dD5waygpPC90dD49PT0KPj4KPj4gVGhlIDx0dD5wayhLRVkpPC90dD4gZXhwcmVzc2lvbiBjYW4g YmUgdXNlZCBpbiBhbnkgY29udGV4dCBvciBsZXZlbCBvZiBhCj4+IGRlc2NyaXB0b3IuCj4+IEl0 IHRha2VzIGEgc2luZ2xlIGtleSBleHByZXNzaW9uIGFzIGFuIGFyZ3VtZW50IGFuZCBwcm9kdWNl cyBhIFAyUEsKPj4gb3V0cHV0IHNjcmlwdC4KPj4gRGVwZW5kaW5nIG9uIHRoZSBoaWdoZXIgbGV2 ZWwgZGVzY3JpcHRvcnMsIHRoZXJlIG1heSBiZSByZXN0cmljdGlvbnMgb24KPj4gdGhlIHR5cGUg b2YgcHVibGljIGtleXMgdGhhdCBjYW4gYmUgaW5jbHVkZWQuCj4+IFN1Y2ggcmVzdHJpY3Rpb25z IHdpbGwgYmUgc3BlY2lmaWVkIGJ5IHRob3NlIGRlc2NyaXB0b3JzLgo+Pgo+PiBUaGUgb3V0cHV0 IHNjcmlwdCBwcm9kdWNlZCBpczoKPj4gPHByZT4KPj4gPEtFWT4gT1BfQ0hFQ0tTSUcKPj4gPC9w cmU+Cj4+Cj4+ID09PTx0dD5wa2goKTwvdHQ+PT09Cj4+Cj4+IFRoZSA8dHQ+cGtoKEtFWSk8L3R0 PiBleHByZXNzaW9uIGNhbiBiZSB1c2VkIGFzIGEgdG9wIGxldmVsIGV4cHJlc3Npb24sCj4+IG9y IGluc2lkZSBvZiBlaXRoZXIgYSA8dHQ+c2goKTwvdHQ+IG9yIDx0dD53c2goKTwvdHQ+IGRlc2Ny aXB0b3IuCj4+IEl0IHRha2VzIGEgc2luZ2xlIGtleSBleHByZXNzaW9uIGFzIGFuIGFyZ3VtZW50 IGFuZCBwcm9kdWNlcyBhIFAyUEtICj4+IG91dHB1dCBzY3JpcHQuCj4+IERlcGVuZGluZyBvbiB0 aGUgaGlnaGVyIGxldmVsIGRlc2NyaXB0b3JzLCB0aGVyZSBtYXkgYmUgcmVzdHJpY3Rpb25zIG9u Cj4+IHRoZSB0eXBlIG9mIHB1YmxpYyBrZXlzIHRoYXQgY2FuIGJlIGluY2x1ZGVkLgo+PiBTdWNo IHJlc3RyaWN0aW9ucyB3aWxsIGJlIHNwZWNpZmllZCBieSB0aG9zZSBkZXNjcmlwdG9ycy4KPj4K Pj4gVGhlIG91dHB1dCBzY3JpcHQgcHJvZHVjZWQgaXM6Cj4+IDxwcmU+Cj4+IE9QX0RVUCBPUF9I QVNIMTYwIDxLRVlfaGFzaDE2MD4gT1BfRVFVQUxWRVJJRlkgT1BfQ0hFQ0tTSUcKPj4gPC9wcmU+ Cj4+Cj4+ID09PTx0dD5zaCgpPC90dD49PT0KPj4KPj4gVGhlIDx0dD5zaChTQ1JJUFQpPC90dD4g ZXhwcmVzc2lvbiBjYW4gb25seSBiZSB1c2VkIGFzIGEgdG9wIGxldmVsCj4+IGV4cHJlc3Npb24u Cj4+IEl0IHRha2VzIGEgc2luZ2xlIHNjcmlwdCBleHByZXNzaW9uIGFzIGFuIGFyZ3VtZW50IGFu ZCBwcm9kdWNlcyBhIFAyU0gKPj4gb3V0cHV0IHNjcmlwdC4KPj4gPHR0PnNoKCk8L3R0PiBleHBy ZXNzaW9ucyBhbHNvIGNyZWF0ZSBhIHJlZGVlbVNjcmlwdCB3aGljaCBpcyByZXF1aXJlZAo+PiBp biBvcmRlciB0byBzcGVuZCBvdXRwdXRzIHdoaWNoIHVzZSBpdHMgb3V0cHV0IHNjcmlwdC4KPj4g VGhpcyByZWRlZW1TY3JpcHQgaXMgdGhlIG91dHB1dCBzY3JpcHQgcHJvZHVjZWQgYnkgdGhlIDx0 dD5TQ1JJUFQ8L3R0Pgo+PiBhcmd1bWVudCB0byA8dHQ+c2goKTwvdHQ+Lgo+Pgo+PiBUaGUgb3V0 cHV0IHNjcmlwdCBwcm9kdWNlZCBpczoKPj4gPHByZT4KPj4gT1BfSEFTSDE2MCA8U0NSSVBUX2hh c2gxNjA+IE9QX0VRVUFMCj4+IDwvcHJlPgo+Pgo+PiA9PVRlc3QgVmVjdG9ycz09Cj4+Cj4+IFRC RAo+Pgo+PiA9PUJhY2t3YXJkcyBDb21wYXRpYmlsaXR5PT0KPj4KPj4gPHR0PnBrKCk8L3R0Piwg PHR0PnBraCgpPC90dD4sIGFuZCA8dHQ+c2goKTwvdHQ+IGRlc2NyaXB0b3JzIHVzZSB0aGUKPj4g Zm9ybWF0IGFuZCBnZW5lcmFsIG9wZXJhdGlvbiBzcGVjaWZpZWQgaW4KPj4gW1tiaXAtZGVzY3Jp cHRvci1nZW5lcmFsLm1lZGlhd2lraXxiaXAtZGVzY3JpcHRvci1nZW5lcmFsXV0uCj4+IEFzIHRo ZXNlIGFyZSBhIHdob2xseSBuZXcgZGVzY3JpcHRvcnMsIHRoZXkgYXJlIG5vdCBjb21wYXRpYmxl IHdpdGggYW55Cj4+IGltcGxlbWVudGF0aW9uLgo+PiBIb3dldmVyIHRoZSBzY3JpcHRzIHByb2R1 Y2VkIGFyZSBzdGFuZGFyZCBzY3JpcHRzIHNvIGV4aXN0aW5nIHNvZnR3YXJlCj4+IGFyZSBsaWtl bHkgdG8gYmUgZmFtaWxpYXIgd2l0aCB0aGVtLgo+Pgo+PiA9PVJlZmVyZW5jZSBJbXBsZW1udGF0 aW9uPT0KPj4KPj4gPHR0PnBrKCk8L3R0PiwgPHR0PnBraCgpPC90dD4sIGFuZCA8dHQ+c2goKTwv dHQ+IGRlc2NyaXB0b3JzIGhhdmUgYmVlbgo+PiBpbXBsZW1lbnRlZCBpbiBCaXRjb2luIENvcmUg c2luY2UgdmVyc2lvbiAwLjE3Lgo+Pgo+PiAtLS0KPj4KPj4gPHByZT4KPj4gQklQOiBiaXAtZGVz Y3JpcHRvcnMtdHIKPj4gTGF5ZXI6IEFwcGxpY2F0aW9ucwo+PiBUaXRsZTogdHIoKSBPdXRwdXQg U2NyaXB0IERlc2NyaXB0b3JzCj4+IEF1dGhvcjogUGlldGVyIFd1aWxsZSA8cGlldGVyQHd1aWxs ZS5uZXQ+Cj4+IEFuZHJldyBDaG93IDxhbmRyZXdAYWNob3cxMDEuY29tPgo+PiBDb21tZW50cy1T dW1tYXJ5OiBObyBjb21tZW50cyB5ZXQuCj4+IENvbW1lbnRzLVVSSToKPj4gaHR0cHM6Ly9naXRo dWIuY29tL2JpdGNvaW4vYmlwcy93aWtpL0NvbW1lbnRzOkJJUC1kZXNjcmlwdG9ycy10cgo+PiBT dGF0dXM6IERyYWZ0Cj4+IFR5cGU6IEluZm9ybWF0aW9uYWwKPj4gQ3JlYXRlZDogMjAyMS0wNi0y Nwo+PiBMaWNlbnNlOiBCU0QtMi1DbGF1c2UKPj4gPC9wcmU+Cj4+Cj4+ID09QWJzdHJhY3Q9PQo+ Pgo+PiBUaGlzIGRvY3VtZW50IHNwZWNpZmllcyA8dHQ+dHIoKTwvdHQ+IG91dHB1dCBzY3JpcHQg ZGVzY3JpcHRvcnMuCj4+IDx0dD50cigpPC90dD4gZGVzY3JpcHRvcnMgdGFrZSBhIGtleSBhbmQg b3B0aW9uYWxseSBhIHRyZWUgb2Ygc2NyaXB0cwo+PiBhbmQgcHJvZHVjZXMgYSBQMlRSIG91dHB1 dCBzY3JpcHQuCj4+Cj4+ID09Q29weXJpZ2h0PT0KPj4KPj4gVGhpcyBCSVAgaXMgbGljZW5zZWQg dW5kZXIgdGhlIEJTRCAyLWNsYXVzZSBsaWNlbnNlLgo+Pgo+PiA9PU1vdGl2YXRpb249PQo+Pgo+ PiBUYXByb290IGFkZGVkIG9uZSBhZGRpdGlvbmFsIHN0YW5kYXJkIG91dHB1dCBzY3JpcHQgZm9y bWF0OiBQMlRSLgo+PiBUaGVzZSBleHByZXNzaW9ucyBhbGxvdyBzcGVjaWZ5aW5nIHRob3NlIGZv cm1hdHMgYXMgYSBkZXNjcmlwdG9yLgo+Pgo+PiA9PVNwZWNpZmljYXRpb249PQo+Pgo+PiBBIG5l dyBzY3JpcHQgZXhwcmVzc2lvbnMgYXJlIGRlZmluZWQ6IDx0dD50cigpPC90dD4uCj4+IEEgbmV3 IGV4cHJlc3Npb24gaXMgZGVmaW5lZDogVHJlZSBFeHByZXNzaW9ucwo+Pgo+PiA9PT1UcmVlIEV4 cHJlc3Npb249PT0KPj4KPj4gQSBUcmVlIEV4cHJlc3Npb24gKGRlbm90ZWQgPHR0PlRSRUU8L3R0 PikgaXMgYW4gZXhwcmVzc2lvbiB3aGljaAo+PiByZXByZXNlbnRzIGEgdHJlZSBvZiBzY3JpcHRz Lgo+PiBUaGUgd2F5IHRoZSB0cmVlIGlzIHJlcHJlc2VudGVkIGluIGFuIG91dHB1dCBzY3JpcHQg aXMgZGVwZW5kZW50IG9uIHRoZQo+PiBoaWdoZXIgbGV2ZWwgZXhwcmVzc2lvbnMuCj4+Cj4+IEEg VHJlZSBFeHByZXNzaW9uIGlzOgo+PiAqIEFueSBTY3JpcHQgRXhwcmVzc2lvbiB0aGF0IGlzIGFs bG93ZWQgYXQgdGhlIGxldmVsIHRoaXMgVHJlZQo+PiBFeHByZXNzaW9uIGlzIGluLgo+PiAqIEEg cGFpciBvZiBUcmVlIEV4cHJlc3Npb25zIGNvbnNpc3Rpbmcgb2Y6Cj4+ICoqIEFuIG9wZW4gYnJh Y2UgPHR0Pns8L3R0Pgo+PiAqKiBBIFRyZWUgRXhwcmVzc2lvbgo+PiAqKiBBIGNvbW1hIDx0dD4s PC90dD4KPj4gKiogQSBUcmVlIEV4cHJlc3Npb24KPj4gKiogQSBjbG9zaW5nIGJyYW5jZSA8dHQ+ fTwvdHQ+Cj4+Cj4+ID09PTx0dD50cigpPC90dD49PT0KPj4KPj4gVGhlIDx0dD50cihLRVkpPC90 dD4gb3IgPHR0PnRyKEtFWSwgVFJFRSk8L3R0PiBleHByZXNzaW9uIGNhbiBvbmx5IGJlCj4+IHVz ZWQgYXMgYSB0b3AgbGV2ZWwgZXhwcmVzc2lvbi4KPj4gQWxsIGtleSBleHByZXNzaW9ucyB1bmRl ciBhbnkgPHR0PnRyKCk8L3R0PiBleHByZXNzaW9uIG11c3QgY3JlYXRlCj4+IHgtb25seSBwdWJs aWMga2V5cy4KPj4KPj4gPHR0PnRyKEtFWTwvdHQ+IHRha2VzIGEgc2luZ2xlIGtleSBleHByZXNz aW9uIGFzIGFuIGFyZ3VtZW50IGFuZAo+PiBwcm9kdWNlcyBhIFAyVFIgb3V0cHV0IHNjcmlwdCB3 aGljaCBkb2VzIG5vdCBoYXZlIGEgc2NyaXB0IHBhdGguCj4+IFRoZSBrZXlzIHByb2R1Y2VkIGJ5 IHRoZSBrZXkgZXhwcmVzc2lvbiBhcmUgdXNlZCBhcyB0aGUgaW50ZXJuYWwga2V5IGFzCj4+IHNw ZWNpZmllZCBieSBbW2JpcC0wMzQxLm1lZGlhd2lraSNjaXRlX3JlZi0yMi0wfEJJUCAzNDFdXS4K Pj4gU3BlY2lmaWNhbGx5LCAiSWYgdGhlIHNwZW5kaW5nIGNvbmRpdGlvbnMgZG8gbm90IHJlcXVp cmUgYSBzY3JpcHQgcGF0aCwKPj4gdGhlIG91dHB1dCBrZXkgc2hvdWxkIGNvbW1pdCB0byBhbiB1 bnNwZW5kYWJsZSBzY3JpcHQgcGF0aCBpbnN0ZWFkIG9mCj4+IGhhdmluZyBubyBzY3JpcHQgcGF0 aC4KPj4gVGhpcyBjYW4gYmUgYWNoaWV2ZWQgYnkgY29tcHV0aW5nIHRoZSBvdXRwdXQga2V5IHBv aW50IGFzICcnUSA9IFAgKwo+PiBpbnQoaGFzaDxzdWI+VGFwVHdlYWs8L3N1Yj4oYnl0ZXMoUCkp KUcnJy4iCj4+Cj4+IDxwcmU+Cj4+IGludGVybmFsX2tleTogbGlmdF94KEtFWSkKPj4gMzJfYnl0 ZV9vdXRwdXRfa2V5OiBpbnRlcm5hbF9rZXkgKyBpbnQoSGFzaFRhcFR3ZWFrKGJ5dGVzKGludGVy bmFsX2tleSkpKUcKPj4gc2NyaXB0UHViS2V5OiBPUF8xIDwzMl9ieXRlX291dHB1dF9rZXk+Cj4+ IDwvcHJlPgo+Pgo+PiA8dHQ+dHIoS0VZLCBUUkVFKTwvdHQ+IHRha2VzIGEga2V5IGV4cHJlc3Np b24gYXMgdGhlIGZpcnN0IGFyZ3VtZW50LCBhbmQKPj4gYSB0cmVlIGV4cHJlc3Npb24gYXMgdGhl IHNlY29uZCBhcmd1bWVudCBhbmQgcHJvZHVjZXMgYSBQMlRSIG91dHB1dAo+PiBzY3JpcHQgd2hp Y2ggaGFzIGEgc2NyaXB0IHBhdGguCj4+IFRoZSBrZXlzIHByb2R1Y2VkIGJ5IHRoZSBmaXJzdCBr ZXkgZXhwcmVzc2lvbiBhcmUgdXNlZCBhcyB0aGUgaW50ZXJuYWwKPj4ga2V5IGFzIHNwZWNpZmll ZCBieQo+PiBbW2JpcC0wMzQxLm1lZGlhd2lraSNDb25zdHJ1Y3RpbmdfYW5kX3NwZW5kaW5nX1Rh cHJvb3Rfb3V0cHV0c3xCSVAgMzQxXV0uCj4+IFRoZSBUcmVlIGV4cHJlc3Npb24gYmVjb21lcyB0 aGUgVGFwcm9vdCBzY3JpcHQgdHJlZSBhcyBkZXNjcmliZWQgaW4gQklQIDM0MS4KPj4gQSBtZXJr bGUgcm9vdCBpcyBjb21wdXRlZCBmcm9tIHRoaXMgdHJlZSBhbmQgY29tYmluZWQgd2l0aCB0aGUg aW50ZXJuYWwKPj4ga2V5IHRvIGNyZWF0ZSB0aGUgVGFwcm9vdCBvdXRwdXQga2V5Lgo+Pgo+PiA8 cHJlPgo+PiBpbnRlcm5hbF9rZXk6IGxpZnRfeChLRVkpCj4+IG1lcmtsZV9yb290OiBIYXNoVGFw QnJhbmNoKFRSRUUpCj4+IDMyX2J5dGVfb3V0cHV0X2tleTogaW50ZXJuYWxfa2V5ICsgaW50KEhh c2hUYXBUd2VhayhieXRlcyhpbnRlcm5hbF9rZXkpCj4+IHx8IG1lcmtsZV9yb290KSlHCj4+IHNj cmlwdFB1YktleTogT1BfMSA8MzJfYnl0ZV9vdXRwdXRfa2V5Pgo+PiA8L3ByZT4KPj4KPj4gPT1U ZXN0IFZlY3RvcnM9PQo+Pgo+PiBUQkQKPj4KPj4gPT1CYWNrd2FyZHMgQ29tcGF0aWJpbGl0eT09 Cj4+Cj4+IDx0dD50cigpPC90dD4gZGVzY3JpcHRvcnMgdXNlIHRoZSBmb3JtYXQgYW5kIGdlbmVy YWwgb3BlcmF0aW9uIHNwZWNpZmllZAo+PiBpbiBbW2JpcC1kZXNjcmlwdG9yLWdlbmVyYWwubWVk aWF3aWtpfGJpcC1kZXNjcmlwdG9yLWdlbmVyYWxdXS4KPj4gQXMgdGhlc2UgYXJlIGEgd2hvbGx5 IG5ldyBkZXNjcmlwdG9ycywgdGhleSBhcmUgbm90IGNvbXBhdGlibGUgd2l0aCBhbnkKPj4gaW1w bGVtZW50YXRpb24uCj4+IEhvd2V2ZXIgdGhlIHNjcmlwdHMgcHJvZHVjZWQgYXJlIHN0YW5kYXJk IHNjcmlwdHMgc28gZXhpc3Rpbmcgc29mdHdhcmUKPj4gYXJlIGxpa2VseSB0byBiZSBmYW1pbGlh ciB3aXRoIHRoZW0uCj4+Cj4+IFRyZWUgRXhwcmVzc2lvbnMgYXJlIGxhcmdlbHkgaW5jb21wYXRp YmxlIHdpdGggZXhpc3Rpbmcgc2NyaXB0Cj4+IGV4cHJlc3Npb25zIGR1ZSB0byB0aGUgcmVzdHJp Y3Rpb25zIGluIHRob3NlIGV4cHJlc3Npb25zLgo+PiBBcyBvZiAyMDIxLTA2LTI3LCB0aGUgb25s eSBhbGxvd2VkIHNjcmlwdCBleHByZXNzaW9uIHRoYXQgY2FuIGJlIHVzZWQgaW4KPj4gYSB0cmVl IGV4cHJlc3Npb24gaXMgPHR0PnBrKCk8L3R0Pi4KPj4gSG93ZXZlciB0aGVyZSB3aWxsIGJlIGZ1 dHVyZSBCSVBzIHRoYXQgc3BlY2lmeSBzY3JpcHQgZXhwcmVzc2lvbnMgdGhhdAo+PiBjYW4gYmUg dXNlZCBpbiB0cmVlIGV4cHJlc3Npb25zLgo+Pgo+PiA9PVJlZmVyZW5jZSBJbXBsZW1udGF0aW9u PT0KPj4KPj4gPHR0PnRyKCk8L3R0PiBkZXNjcmlwdG9ycyBoYXZlIGJlZW4gaW1wbGVtZW50ZWQg aW4gQml0Y29pbiBDb3JlIHNpbmNlCj4+IHZlcnNpb24gMjIuMC4KPj4KPj4gLS0tCj4+Cj4+IDxw cmU+Cj4+IEJJUDogYmlwLWRlc2NyaXB0b3JzLW11bHRpCj4+IExheWVyOiBBcHBsaWNhdGlvbnMK Pj4gVGl0bGU6IE11bHRpc2lnIE91dHB1dCBTY3JpcHQgRGVzY3JpcHRvcnMKPj4gQXV0aG9yOiBQ aWV0ZXIgV3VpbGxlIDxwaWV0ZXJAd3VpbGxlLm5ldD4KPj4gQW5kcmV3IENob3cgPGFuZHJld0Bh Y2hvdzEwMS5jb20+Cj4+IENvbW1lbnRzLVN1bW1hcnk6IE5vIGNvbW1lbnRzIHlldC4KPj4gQ29t bWVudHMtVVJJOgo+PiBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzL3dpa2kvQ29tbWVu dHM6QklQLWRlc2NyaXB0b3JzLW11bHRpCj4+IFN0YXR1czogRHJhZnQKPj4gVHlwZTogSW5mb3Jt YXRpb25hbAo+PiBDcmVhdGVkOiAyMDIxLTA2LTI3Cj4+IExpY2Vuc2U6IEJTRC0yLUNsYXVzZQo+ PiA8L3ByZT4KPj4KPj4gPT1BYnN0cmFjdD09Cj4+Cj4+IFRoaXMgZG9jdW1lbnQgc3BlY2lmaWVz IDx0dD5tdWx0aSgpPC90dD4sIGFuZCA8dHQ+c29ydGVkbXVsdGkoKTwvdHQ+Cj4+IG91dHB1dCBz Y3JpcHQgZGVzY3JpcHRvcnMuCj4+IEJvdGggZnVuY3Rpb25zIHRha2UgYSB0aHJlc2hvbGQgYW5k IG9uZSBvciBtb3JlIHB1YmxpYyBrZXlzIGFuZCBwcm9kdWNlCj4+IGEgbXVsdGlzaWcgb3V0cHV0 IHNjcmlwdC4KPj4gPHR0Pm11bHRpKCk8L3R0PiBzcGVjaWZpZXMgdGhlIHB1YmxpYyBrZXlzIGlu IHRoZSBvdXRwdXQgc2NyaXB0IGluIHRoZQo+PiBvcmRlciBnaXZlbiBpbiB0aGUgZGVzY3JpcHRv ciB3aGlsZSA8dHQ+c29ydGVkbXVsdGkoKTwvdHQ+IHNvcnRzIHRoZQo+PiBwdWJsaWMga2V5cyBs ZXhpY29ncmFwaGljYWxseSB3aGVuIHRoZSBvdXRwdXQgc2NyaXB0IGlzIHByb2R1Y2VkLgo+Pgo+ PiA9PUNvcHlyaWdodD09Cj4+Cj4+IFRoaXMgQklQIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qg Mi1jbGF1c2UgbGljZW5zZS4KPj4KPj4gPT1Nb3RpdmF0aW9uPT0KPj4KPj4gVGhlIG1vc3QgY29t bW9uIGNvbXBsZXggc2NyaXB0IHVzZWQgaW4gQml0Y29pbiBpcyBhIHRocmVzaG9sZCBtdWx0aXNp Zy4KPj4gVGhlc2UgZXhwcmVzc2lvbnMgYWxsb3cgc3BlY2lmeWluZyBtdWx0aXNpZyBzY3JpcHRz IGFzIGEgZGVzY3JpcHRvci4KPj4KPj4gPT1TcGVjaWZpY2F0aW9uPT0KPj4KPj4gVHdvIG5ldyBz Y3JpcHQgZXhwcmVzc2lvbnMgYXJlIGRlZmluZWQ6IDx0dD5tdWx0aSgpPC90dD4sIGFuZAo+PiA8 dHQ+c29ydGVkbXVsdGkoKTwvdHQ+Lgo+PiBCb3RoIGV4cHJlc3Npb25zIHByb2R1Y2UgdGhlIHNj cmlwdHMgb2YgdGhlIHNhbWUgdGVtcGxhdGUgYW5kIHRha2UgdGhlCj4+IHNhbWUgYXJndW1lbnRz Lgo+PiBUaGV5IGFyZSB3cml0dGVuIGFzIDx0dD5tdWx0aShrLEtFWV8xLEtFWV8yLC4uLixLRVlf bik8L3R0Pi4KPj4gPHR0Pms8L3R0PiBpcyB0aGUgdGhyZXNob2xkIC0gdGhlIG51bWJlciBvZiBr ZXlzIHRoYXQgbXVzdCBzaWduIHRoZQo+PiBpbnB1dCBmb3IgdGhlIHNjcmlwdCB0byBiZSB2YWxp ZC4KPj4gPHR0PktFWV8xLEtFWV8yLC4uLixLRVlfbjwvdHQ+IGFyZSB0aGUga2V5IGV4cHJlc3Np b25zIGZvciB0aGUgbXVsdGlzaWcuCj4+IDx0dD5rPC90dD4gbXVzdCBiZSBsZXNzIHRoYW4gb3Ig ZXF1YWwgdG8gPHR0Pm48dHQ+Lgo+Pgo+PiA8dHQ+bXVsdGkoKTwvdHQ+IGFuZCA8dHQ+c29ydGVk bXVsdGkoKTwvdHQ+IGV4cHJlc3Npb25zIGNhbiBiZSB1c2VkIGFzIGEKPj4gdG9wIGxldmVsIGV4 cHJlc3Npb24sIG9yIGluc2lkZSBvZiBlaXRoZXIgYSA8dHQ+c2goKTwvdHQ+IG9yCj4+IDx0dD53 c2goKTwvdHQ+IGRlc2NyaXB0b3IuCj4+IERlcGVuZGluZyBvbiB0aGUgaGlnaGVyIGxldmVsIGRl c2NyaXB0b3JzLCB0aGVyZSBtYXkgYmUgcmVzdHJpY3Rpb25zIG9uCj4+IHRoZSB0eXBlIG9mIHB1 YmxpYyBrZXlzIHRoYXQgY2FuIGJlIGluY2x1ZGVkLgo+Pgo+PiBEZXBlbmRpbmcgb24gdGhlIGhp Z2hlciBsZXZlbCBkZXNjcmlwdG9ycywgdGhlcmUgYXJlIGFsc28gcmVzdHJpY3Rpb25zCj4+IG9u IHRoZSBudW1iZXIgb2Yga2V5cyB0aGF0IGNhbiBiZSBwcmVzZW50LCBpLmUuIHRoZSBtYXhpbXVt IHZhbHVlIG9mCj4+IDx0dD5uPC90dD4uCj4+IFdoZW4gdXNlZCBhdCB0aGUgdG9wIGxldmVsLCB0 aGVyZSBjYW4gb25seSBiZSBhdCBtb3N0IDMga2V5cy4KPj4gV2hlbiB1c2VkIGluc2lkZSBvZiBh IDx0dD5zaCgpPC90dD4gZXhwcmVzc2lvbiwgdGhlcmUgY2FuIG9ubHkgYmUgbW9zdAo+PiAxNSBj b21wcmVzc2VkIHB1YmxpYyBrZXlzICh0aGlzIGlzIGxpbWl0ZWQgYnkgdGhlIFAyU0ggc2NyaXB0 IGxpbWl0KS4KPj4gT3RoZXJ3aXNlIHRoZSBtYXhpbXVtIG51bWJlciBvZiBrZXlzIGlzIDIwLgo+ Pgo+PiBUaGUgb3V0cHV0IHNjcmlwdCBwcm9kdWNlZCBhbHNvIGRlcGVuZHMgb24gdGhlIHZhbHVl IG9mIDx0dD5rPC90dD4uIElmCj4+IDx0dD5rPC90dD4gaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRv IDE2Ogo+PiA8cHJlPgo+PiBPUF9rIEtFWV8xIEtFWV8yIC4uLiBLRVlfbiBPUF9DSEVDS01VTFRJ U0lHCj4+IDwvcHJlPgo+Pgo+PiBpZiA8dHQ+azwvdHQ+IGlzIGdyZWF0ZXIgdGhhbiAxNjoKPj4g PHByZT4KPj4gayBLRVlfMSBLRVlfMiAuLi4gS0VZX24gT1BfQ0hFQ0tNVUxUSVNJRwo+PiA8L3By ZT4KPj4KPj4gPT09PHR0PnNvcnRlZG11bHRpKCk8L3R0Pj09PQo+Pgo+PiBUaGUgb25seSBjaGFu Z2UgZm9yIDx0dD5zb3J0ZWRtdWx0aSgpPC90dD4gaXMgdGhhdCB0aGUga2V5cyBhcmUgc29ydGVk Cj4+IGxleGljb2dyYXBoaWNhbGx5IHByaW9yIHRvIHRoZSBjcmVhdGlvbiBvZiB0aGUgb3V0cHV0 IHNjcmlwdC4KPj4gVGhpcyBzb3J0aW5nIGlzIG9uIHRoZSBrZXlzIHRoYXQgYXJlIHRvIGJlIHB1 dCBpbnRvIHRoZSBvdXRwdXQgc2NyaXB0LAo+PiBpLmUuIGFmdGVyIGFsbCBleHRlbmRlZCBrZXlz IGFyZSBkZXJpdmVkLgo+Pgo+PiA9PT1NdWx0aXBsZSBFeHRlbmRlZCBLZXlzPC90dD49PT0KPj4K Pj4gV2hlbiBvbmUgb3IgbW9yZSB0aGUga2V5IGV4cHJlc3Npb25zIGluIGEgPHR0Pm11bHRpKCk8 L3R0PiBvcgo+PiA8dHQ+c29ydGVkbXVsdGkoKTwvdHQ+IGV4cHJlc3Npb24gYXJlIGV4dGVuZGVk IGtleXMsIHRoZSBkZXJpdmVkIGtleXMKPj4gdXNlIHRoZSBzYW1lIGNoaWxkIGluZGV4Lgo+PiBU aGlzIGNoYW5nZXMgdGhlIGtleXMgaW4gbG9ja3N0ZXAgYW5kIGFsbG93cyBmb3Igb3V0cHV0IHNj cmlwdHMgdG8gYmUKPj4gaW5kZXhlZCBpbiB0aGUgc2FtZSB3YXkgdGhhdCB0aGUgZGVyaXZlZCBr ZXlzIGFyZSBpbmRleGVkLgo+Pgo+PiA9PVRlc3QgVmVjdG9ycz09Cj4+Cj4+IFRCRAo+Pgo+PiA9 PUJhY2t3YXJkcyBDb21wYXRpYmlsaXR5PT0KPj4KPj4gPHR0Pm11bHRpKCk8L3R0PiwgYW5kIDx0 dD5zb3J0ZWRtdWx0aSgpPC90dD4gZGVzY3JpcHRvcnMgdXNlIHRoZSBmb3JtYXQKPj4gYW5kIGdl bmVyYWwgb3BlcmF0aW9uIHNwZWNpZmllZCBpbgo+PiBbW2JpcC1kZXNjcmlwdG9yLWdlbmVyYWwu bWVkaWF3aWtpfGJpcC1kZXNjcmlwdG9yLWdlbmVyYWxdXS4KPj4gQXMgdGhlc2UgYXJlIGEgd2hv bGx5IG5ldyBkZXNjcmlwdG9ycywgdGhleSBhcmUgbm90IGNvbXBhdGlibGUgd2l0aCBhbnkKPj4g aW1wbGVtZW50YXRpb24uCj4+IEhvd2V2ZXIgdGhlIHNjcmlwdHMgcHJvZHVjZWQgYXJlIHN0YW5k YXJkIHNjcmlwdHMgc28gZXhpc3Rpbmcgc29mdHdhcmUKPj4gYXJlIGxpa2VseSB0byBiZSBmYW1p bGlhciB3aXRoIHRoZW0uCj4+Cj4+ID09UmVmZXJlbmNlIEltcGxlbW50YXRpb249PQo+Pgo+PiA8 dHQ+bXVsdGkoKTwvdHQ+LCBhbmQgPHR0Pm11bHRpKCk8L3R0PiBkZXNjcmlwdG9ycyBoYXZlIGJl ZW4gaW1wbGVtZW50ZWQKPj4gaW4gQml0Y29pbiBDb3JlIHNpbmNlIHZlcnNpb24gMC4xNy4KPj4K Pj4gLS0tCj4+Cj4+IDxwcmU+Cj4+IEJJUDogYmlwLWRlc2NyaXB0b3JzLWNvbWJvCj4+IExheWVy OiBBcHBsaWNhdGlvbnMKPj4gVGl0bGU6IGNvbWJvKCkgT3V0cHV0IFNjcmlwdCBEZXNjcmlwdG9y cwo+PiBBdXRob3I6IFBpZXRlciBXdWlsbGUgPHBpZXRlckB3dWlsbGUubmV0Pgo+PiBBbmRyZXcg Q2hvdyA8YW5kcmV3QGFjaG93MTAxLmNvbT4KPj4gQ29tbWVudHMtU3VtbWFyeTogTm8gY29tbWVu dHMgeWV0Lgo+PiBDb21tZW50cy1VUkk6Cj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2Jp cHMvd2lraS9Db21tZW50czpCSVAtZGVzY3JpcHRvcnMtY29tYm8KPj4gU3RhdHVzOiBEcmFmdAo+ PiBUeXBlOiBJbmZvcm1hdGlvbmFsCj4+IENyZWF0ZWQ6IDIwMjEtMDYtMjcKPj4gTGljZW5zZTog QlNELTItQ2xhdXNlCj4+IDwvcHJlPgo+Pgo+PiA9PUFic3RyYWN0PT0KPj4KPj4gVGhpcyBkb2N1 bWVudCBzcGVjaWZpZXMgPHR0PmNvbWJvKCk8L3R0PiBvdXRwdXQgc2NyaXB0IGRlc2NyaXB0b3Jz Lgo+PiBUaGVzZSB0YWtlIGEga2V5IGFuZCBwcm9kdWNlIFAyUEssIFAyUEtILCBQMldQS0gsIGFu ZCBQMlNILVAyV1BLSCBvdXRwdXQKPj4gc2NyaXB0cyBpZiBhcHBsaWNhYmxlIHRvIHRoZSBrZXku Cj4+Cj4+ID09Q29weXJpZ2h0PT0KPj4KPj4gVGhpcyBCSVAgaXMgbGljZW5zZWQgdW5kZXIgdGhl IEJTRCAyLWNsYXVzZSBsaWNlbnNlLgo+Pgo+PiA9PU1vdGl2YXRpb249PQo+Pgo+PiBJbiBvcmRl ciB0byBtYWtlIHRoZSB0cmFuc2l0aW9uIGZyb20gdHJhZGl0aW9uYWwga2V5IGJhc2VkIHdhbGxl dHMgdG8KPj4gZGVzY3JpcHRvciBiYXNlZCB3YWxsZXRzIGVhc2llciwgaXQgaXMgdXNlZnVsIHRv IGJlIGFibGUgdG8gdGFrZSBhIGtleQo+PiBhbmQgcHJvZHVjZSB0aGUgc2NyaXB0cyB3aGljaCBo YXZlIHRyYWRpdGlvbmFsbHkgYmVlbiBwcm9kdWNlZCBieSB3YWxsZXQKPj4gc29mdHdhcmUuCj4+ Cj4+ID09U3BlY2lmaWNhdGlvbj09Cj4+Cj4+IEEgbmV3IHRvcCBsZXZlbCBzY3JpcHQgZXhwcmVz c2lvbiBpcyBkZWZpbmVkOiA8dHQ+Y29tYm8oS0VZKTwvdHQ+Lgo+PiBUaGlzIGV4cHJlc3Npb24g Y2FuIG9ubHkgYmUgdXNlZCBhcyBhIHRvcCBsZXZlbCBleHByZXNzaW9uLgo+PiBJdCB0YWtlcyBh IHNpbmdsZSBrZXkgZXhwcmVzc2lvbiBhcyBhbiBhcmd1bWVudCBhbmQgcHJvZHVjZXMgZWl0aGVy IDIgb3IKPj4gNCBvdXRwdXQgc2NyaXB0cywgZGVwZW5kaW5nIG9uIHRoZSBrZXkuCj4+IEEgPHR0 PmNvbWJvKCk8L3R0PiBleHByZXNzaW9uIGFsd2F5cyBwcm9kdWNlcyBhIFAyUEsgYW5kIFAyUEtI IHNjcmlwdCwKPj4gdGhlIHNhbWUgYXMgcHV0dGluZyB0aGUga2V5IGluIGJvdGggYSA8dHQ+cGso KTwvdHQ+IGFuZCBhIDx0dD5wa2goKTwvdHQ+Cj4+IGV4cHJlc3Npb24uCj4+IElmIHRoZSBrZXkg aXMvaGFzIGEgY29tcHJlc3NlZCBwdWJsaWMga2V5LCB0aGVuIFAyV1BLSCBhbmQgUDJTSC1QMldQ S0gKPj4gc2NyaXB0cyBhcmUgYWxzbyBwcm9kdWNlZCwgdGhlIHNhbWUgYXMgcHV0dGluZyB0aGUg a2V5IGluIGJvdGggYQo+PiA8dHQ+d3BraCgpPC90dD4gYW5kIDx0dD5zaCh3cGtoKCkpPC90dD4g ZXhwcmVzc2lvbi4KPj4KPj4gPT1UZXN0IFZlY3RvcnM9PQo+Pgo+PiBUQkQKPj4KPj4gPT1CYWNr d2FyZHMgQ29tcGF0aWJpbGl0eT09Cj4+Cj4+IDx0dD5jb21ibygpPC90dD4gZGVzY3JpcHRvcnMg dXNlIHRoZSBmb3JtYXQgYW5kIGdlbmVyYWwgb3BlcmF0aW9uCj4+IHNwZWNpZmllZCBpbiBbW2Jp cC1kZXNjcmlwdG9yLWdlbmVyYWwubWVkaWF3aWtpfGJpcC1kZXNjcmlwdG9yLWdlbmVyYWxdXS4K Pj4gQXMgdGhpcyBpcyBhIHdob2xseSBuZXcgZGVzY3JpcHRvciwgaXQgaXMgbm90IGNvbXBhdGli bGUgd2l0aCBhbnkKPj4gaW1wbGVtZW50YXRpb24uCj4+IEhvd2V2ZXIgdGhlIHNjcmlwdHMgcHJv ZHVjZWQgYXJlIHN0YW5kYXJkIHNjcmlwdHMgc28gZXhpc3Rpbmcgc29mdHdhcmUKPj4gYXJlIGxp a2VseSB0byBiZSBmYW1pbGlhciB3aXRoIHRoZW0uCj4+Cj4+ID09UmVmZXJlbmNlIEltcGxlbW50 YXRpb249PQo+Pgo+PiA8dHQ+Y29tYm88L3R0PiBkZXNjcmlwdG9ycyBoYXZlIGJlZW4gaW1wbGVt ZW50ZWQgaW4gQml0Y29pbiBDb3JlIHNpbmNlCj4+IHZlcnNpb24gMC4xNy4KPj4KPj4gLS0tCj4+ Cj4+IDxwcmU+Cj4+IEJJUDogYmlwLWRlc2NyaXB0b3JzLWVuY2FwCj4+IExheWVyOiBBcHBsaWNh dGlvbnMKPj4gVGl0bGU6IHJhdygpIGFuZCBhZGRyKCkgT3V0cHV0IFNjcmlwdCBEZXNjcmlwdG9y cwo+PiBBdXRob3I6IEFuZHJldyBDaG93IDxhbmRyZXdAYWNob3cxMDEuY29tPgo+PiBQaWV0ZXIg V3VpbGxlIDxwaWV0ZXJAd3VpbGxlLm5ldD4KPj4gQ29tbWVudHMtU3VtbWFyeTogTm8gY29tbWVu dHMgeWV0Lgo+PiBDb21tZW50cy1VUkk6Cj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2Jp cHMvd2lraS9Db21tZW50czpCSVAtZGVzY3JpcHRvcnMtcmF3Cj4+IFN0YXR1czogRHJhZnQKPj4g VHlwZTogSW5mb3JtYXRpb25hbAo+PiBDcmVhdGVkOiAyMDIxLTA2LTI3Cj4+IExpY2Vuc2U6IEJT RC0yLUNsYXVzZQo+PiA8L3ByZT4KPj4KPj4gPT1BYnN0cmFjdD09Cj4+Cj4+IFRoaXMgZG9jdW1l bnQgc3BlY2lmaWVzIDx0dD5yYXcoKTwvdHQ+IGFuZCA8dHQ+YWRkcigpPC90dD4gb3V0cHV0IHNj cmlwdAo+PiBkZXNjcmlwdG9ycy4KPj4gPHR0PnJhdygpPC90dD4gZW5jYXBzdWxhdGVzIGEgcmF3 IHNjcmlwdCBhcyBhIGRlc2NyaXB0b3IuCj4+IDx0dD5hZGRyKCk8L3R0PiBlbmNhcHN1bGF0ZXMg YW4gYWRkcmVzcyBhcyBhIGRlc2NyaXB0b3IuCj4+Cj4+ID09Q29weXJpZ2h0PT0KPj4KPj4gVGhp cyBCSVAgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRCAyLWNsYXVzZSBsaWNlbnNlLgo+Pgo+PiA9 PU1vdGl2YXRpb249PQo+Pgo+PiBJbiBvcmRlciB0byBtYWtlIGRlc2NyaXB0b3JzIG1heGltYWxs eSBjb21wYXRpYmxlIHdpdGggc2NyaXB0cyBpbiB1c2UKPj4gdG9kYXksIGl0IGlzIHVzZWZ1bCB0 byBiZSBhYmxlIHRvIHdyYXAgYW55IGFyYml0cmFyeSBvdXRwdXQgc2NyaXB0IG9yIGFuCj4+IGFk ZHJlc3MgaW50byBhIGRlc2NyaXB0b3IuCj4+Cj4+ID09U3BlY2lmaWNhdGlvbj09Cj4+Cj4+IFR3 byBuZXcgc2NyaXB0IGV4cHJlc3Npb25zIGFyZSBkZWZpbmVkOiA8dHQ+cmF3KCk8L3R0PiBhbmQg PHR0PmFkZHIoKTwvdHQ+Lgo+Pgo+PiA9PT08dHQ+cmF3KCk8L3R0Pj09PQo+Pgo+PiBUaGUgPHR0 PnJhdyhIRVgpPC90dD4gZXhwcmVzc2lvbiBjYW4gb25seSBiZSB1c2VkIGFzIGEgdG9wIGxldmVs IGRlc2NyaXB0b3IuCj4+IEFzIHRoZSBhcmd1bWVudCwgaXQgdGFrZXMgYSBoZXggc3RyaW5nIHJl cHJlc2VudGluZyBhIEJpdGNvaW4gc2NyaXB0Lgo+PiBUaGUgb3V0cHV0IHNjcmlwdCBwcm9kdWNl ZCBieSB0aGlzIGRlc2NyaXB0b3IgaXMgdGhlIHNjcmlwdCByZXByZXNlbnRlZAo+PiBieSA8dHQ+ SEVYPC90dD4uCj4+Cj4+ID09PTx0dD5hZGRyKCk8L3R0Pj09PQo+Pgo+PiBUaGUgPHR0PmFkZHIo QUREUik8L3R0PiBleHByZXNzaW9uIGNhbiBvbmx5IGJlIHVzZWQgYXMgYSB0b3AgbGV2ZWwKPj4g ZGVzY3JpcHRvci4KPj4gSXQgdGFrZXMgYW4gYWRkcmVzcyBhcyBpdHMgc2luZ2xlIGFyZ3VtZW50 Lgo+PiBUaGUgb3V0cHV0IHNjcmlwdCBwcm9kdWNlZCBieSB0aGlzIGRlc2NyaXB0b3IgaXMgdGhl IG91dHB1dCBzY3JpcHQKPj4gcHJvZHVjZWQgYnkgdGhlIGFkZHJlc3MgPHR0PkFERFI8L3R0Pi4K Pj4KPj4gPT1UZXN0IFZlY3RvcnM9PQo+Pgo+PiBUQkQKPj4KPj4gPT1CYWNrd2FyZHMgQ29tcGF0 aWJpbGl0eT09Cj4+Cj4+IDx0dD5yYXcoKTwvdHQ+IGFuZCA8dHQ+YWRkcigpPC90dD4gZGVzY3Jp cHRvcnMgdXNlIHRoZSBmb3JtYXQgYW5kCj4+IGdlbmVyYWwgb3BlcmF0aW9uIHNwZWNpZmllZCBp bgo+PiBbW2JpcC1kZXNjcmlwdG9yLWdlbmVyYWwubWVkaWF3aWtpfGJpcC1kZXNjcmlwdG9yLWdl bmVyYWxdXS4KPj4gQXMgdGhpcyBpcyBhIHdob2xseSBuZXcgZGVzY3JpcHRvciwgaXQgaXMgbm90 IGNvbXBhdGlibGUgd2l0aCBhbnkKPj4gaW1wbGVtZW50YXRpb24uCj4+IFRoZSByZXVzZSBvZiBl eGlzdGluZyBCaXRjb2luIGFkZHJlc3NlcyBhbGxvd3MgZm9yIHRoaXMgdG8gYmUgbW9yZQo+PiBl YXNpbHkgaW1wbGVtZW50ZWQuCj4+Cj4+ID09UmVmZXJlbmNlIEltcGxlbW50YXRpb249PQo+Pgo+ PiA8dHQ+cmF3KCk8L3R0PiBhbmQgPHR0PmFkZHI8L3R0PiBkZXNjcmlwdG9ycyBoYXZlIGJlZW4g aW1wbGVtZW50ZWQgaW4KPj4gQml0Y29pbiBDb3JlIHNpbmNlIHZlcnNpb24gMC4xNy4KPj4KPj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gYml0Y29p bi1kZXYgbWFpbGluZyBsaXN0Cj4+IGJpdGNvaW4tZGV2QGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5v cmcKPj4gaHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8v Yml0Y29pbi1kZXY= --b1_ahB6xoqnR1BOdjxJAvSZVWgLarU87XLyvHmqc34KUCI Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGh0bWw+PGhlYWQ+DQogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50 PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCiAgPC9oZWFkPg0KICA8Ym9keSB0ZXh0PSIj MDAwMDAwIiBiZ2NvbG9yPSIjRkZGRkZGIj4NCiAgICBJJiMzOTt2ZSBvcGVuZWQgYSBQUiBhZ2Fp bnN0IG15IG93biBCSVBzIGZvcmsgZm9yIHJldmlldzoNCiAgICA8YSBjbGFzcz0ibW96LXR4dC1s aW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYWNob3cxMDEvYmlwcy9wdWxs LzMiPmh0dHBzOi8vZ2l0aHViLmNvbS9hY2hvdzEwMS9iaXBzL3B1bGwvMzwvYT48YnIvPg0KICAg IDxici8+DQogICAgQW5kcmV3PGJyLz4NCiAgICA8YnIvPg0KICAgIDxkaXYgY2xhc3M9Im1vei1j aXRlLXByZWZpeCI+T24gNi8yOS8yMSAxMTo0MSBQTSwgSmVyZW15IHdyb3RlOjxici8+DQogICAg PC9kaXY+DQogICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2l0ZT0ibWlkOkNBRDV4d2hnOXNu bythQUJnVXRpd2hCbzhtTHJtajVtOVdvd0dqblVmdi1mMXBTYnNod0BtYWlsLmdtYWlsLmNvbSI+ DQogICAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRt bDsgY2hhcnNldD1VVEYtOCIvPg0KICAgICAgPGRpdiBkaXI9Imx0ciI+DQogICAgICAgIDxkaXYg Y2xhc3M9ImdtYWlsX2RlZmF1bHQiIHN0eWxlPSJmb250LWZhbWlseTphcmlhbCxoZWx2ZXRpY2Es c2Fucy1zZXJpZjtmb250LXNpemU6c21hbGw7Y29sb3I6IzAwMDAwMCI+S3Vkb3MsDQogICAgICAg ICAgdGhpcyBpcyBmYW50YXN0aWMhPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX2Rl ZmF1bHQiIHN0eWxlPSJmb250LWZhbWlseTphcmlhbCxoZWx2ZXRpY2Esc2Fucy1zZXJpZjtmb250 LXNpemU6c21hbGw7Y29sb3I6IzAwMDAwMCI+PGJyLz4NCiAgICAgICAgPC9kaXY+DQogICAgICAg IDxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiIHN0eWxlPSJmb250LWZhbWlseTphcmlhbCxoZWx2 ZXRpY2Esc2Fucy1zZXJpZjtmb250LXNpemU6c21hbGw7Y29sb3I6IzAwMDAwMCI+SXQNCiAgICAg ICAgICBtaWdodCBiZSBlYXNpZXIsIHNpbmNlIHRoZXJlIGlzIGEgdG9uIG9mIGNvbnRlbnQgaGVy ZSwgZm9yIHlvdQ0KICAgICAgICAgIHRvIG9wZW4gdXAgc29tZSBXSVAgUFJzIHRvIGNvbGxlY3Qg ZmVlZGJhY2s/PC9kaXY+DQogICAgICAgIDxkaXY+DQogICAgICAgICAgPGRpdiBkaXI9Imx0ciIg Y2xhc3M9ImdtYWlsX3NpZ25hdHVyZSIgZGF0YS1zbWFydG1haWw9ImdtYWlsX3NpZ25hdHVyZSI+ DQogICAgICAgICAgICA8ZGl2IGRpcj0ibHRyIj4tLTxici8+DQogICAgICAgICAgICAgIDxhIGhy ZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vSmVyZW15UnViaW4iIHRhcmdldD0iX2JsYW5rIiBtb3ot ZG8tbm90LXNlbmQ9InRydWUiPkBKZXJlbXlSdWJpbjwvYT48L2Rpdj4NCiAgICAgICAgICA8L2Rp dj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxici8+DQogICAgICA8L2Rpdj4NCiAgICAgIDxi ci8+DQogICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+DQogICAgICAgIDxkaXYgZGlyPSJs dHIiIGNsYXNzPSJnbWFpbF9hdHRyIj5PbiBUdWUsIEp1biAyOSwgMjAyMSBhdCAyOjE1DQogICAg ICAgICAgUE0gQW5kcmV3IENob3cgdmlhIGJpdGNvaW4tZGV2ICZsdDs8YSBocmVmPSJtYWlsdG86 Yml0Y29pbi1kZXZAbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZyIgbW96LWRvLW5vdC1zZW5kPSJ0 cnVlIj5iaXRjb2luLWRldkBsaXN0cy5saW51eGZvdW5kYXRpb24ub3JnPC9hPiZndDsNCiAgICAg ICAgICB3cm90ZTo8YnIvPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGJsb2NrcXVvdGUgY2xh c3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4DQowLjhleDtib3JkZXIt bGVmdC13aWR0aDoxcHg7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9yZGVyLWxlZnQtY29sb3I6 cmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij5IaQ0KICAgICAgICAgIEFsbCw8YnIv Pg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgSSYjMzk7dmUgYmVlbiB3b3JraW5nIG9uIGZv cm1hbGl6aW5nIHRoZSBPdXRwdXQgU2NyaXB0IERlc2NyaXB0b3JzDQogICAgICAgICAgdGhhdCBo YXZlPGJyLz4NCiAgICAgICAgICBiZWVuIGF2YWlsYWJsZSBpbiBCaXRjb2luIENvcmUgZm9yIGEg d2hpbGUgaW50byBCSVBzLiBTaW5jZQ0KICAgICAgICAgIGRlc2NyaXB0b3JzPGJyLz4NCiAgICAg ICAgICBhcmUgbW9kdWxhciBhbmQgaGF2ZSBvcHRpb25hbCBjb21wb25lbnRzLCBJJiMzOTt2ZSBk ZWNpZGVkIHRvDQogICAgICAgICAgc3BsaXQgaXQgaW50bzxici8+DQogICAgICAgICAgNyBCSVBz LCByYXRoZXIgdGhhbiBhIHNpbmdsZSBvbmUuIFRoZSBmaXJzdCBkZXNjcmliZXMNCiAgICAgICAg ICBkZXNjcmlwdG9ycyBpbjxici8+DQogICAgICAgICAgZ2VuZXJhbCBhbmQgZG9lcyBub3Qgc3Bl Y2lmeSBhbnkgcGFydGljdWxhciBkZXNjcmlwdG9yLg0KICAgICAgICAgIEhvd2V2ZXIgaXQgZG9l czxici8+DQogICAgICAgICAgZGVzY3JpYmUgdGhlIGdlbmVyYWwgb3BlcmF0aW9uLCBrZXkgZXhw cmVzc2lvbnMgKGluY2x1ZGluZw0KICAgICAgICAgIGRlcml2YXRpb248YnIvPg0KICAgICAgICAg IHBhdGhzIGFuZCBrZXkgb3JpZ2luIGluZm8pLCBhbmQgdGhlIGRlc2NyaXB0b3IgY2hlY2tzdW0u IFRoZQ0KICAgICAgICAgIGZvbGxvd2luZyA2PGJyLz4NCiAgICAgICAgICBCSVBzIHNwZWNpZnkg dGhlIGFjdHVhbCBkZXNjcmlwdG9ycyB0aGVtc2VsdmVzLiBUaGVzZSBhcmUNCiAgICAgICAgICBu b24tc2Vnd2l0PGJyLz4NCiAgICAgICAgICBkZXNjcmlwdG9yIChwaywgcGtoLCBzaCksIHNlZ3dp dCBkZXNjcmlwdG9ycyAod3BraCwgd3NoKSwNCiAgICAgICAgICBtdWx0aXNpZzxici8+DQogICAg ICAgICAgZGVzY3JpcHRvcnMgKG11bHRpLCBzb3J0ZWRtdWx0aSksIHRoZSB0YXByb290IGRlc2Ny aXB0b3IgKHRyKSwNCiAgICAgICAgICB0aGUgY29tYm88YnIvPg0KICAgICAgICAgIGRlc2NyaXB0 b3IsIGFuZCBvcGFxdWUgZGVzY3JpcHRvcnMgKHJhdywgYWRkcikuIFRoaXMNCiAgICAgICAgICBz ZXBhcmF0aW9uIGlzIHNvPGJyLz4NCiAgICAgICAgICB0aGF0IGltcGxlbWVudG9ycyBjYW4gY2hv b3NlIHRvIG5vdCBpbXBsZW1lbnQgc29tZSBkZXNjcmlwdG9ycw0KICAgICAgICAgIGFuZCBzdGls bDxici8+DQogICAgICAgICAgc2F5IHdoaWNoIGRlc2NyaXB0b3JzIHRoZXkgc3VwcG9ydCB3aXRo b3V0IGJlaW5nIHRvbyBkaWZmaWN1bHQNCiAgICAgICAgICB0bzxici8+DQogICAgICAgICAgdW5k ZXJzdGFuZC48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVGhlIHRleHQgb2YgYWxs IG9mIHRoZSBkb2N1bWVudHMgYXJlIGJlbG93LCBhbmQgdGhleSBjYW4gYWxzbw0KICAgICAgICAg IGJlIGZvdW5kPGJyLz4NCiAgICAgICAgICBvbiBnaXRodWI6PGEgaHJlZj0iaHR0cHM6Ly9naXRo dWIuY29tL2FjaG93MTAxL2JpcHMvdHJlZS9kZXNjcmlwdG9ycy8iIHJlbD0ibm9yZWZlcnJlciIg dGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+aHR0cHM6Ly9naXRodWIuY29t L2FjaG93MTAxL2JpcHMvdHJlZS9kZXNjcmlwdG9ycy88L2E+PGJyLz4NCiAgICAgICAgICA8YnIv Pg0KICAgICAgICAgIFRoYW5rcyw8YnIvPg0KICAgICAgICAgIEFuZHJldyBDaG93PGJyLz4NCiAg ICAgICAgICA8YnIvPg0KICAgICAgICAgIC0tLTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAg ICAgICAmbHQ7cHJlJmd0Ozxici8+DQogICAgICAgICAgwqDCoCBCSVA6IGJpcC1kZXNjcmlwdG9y cy1nZW5lcmFsPGJyLz4NCiAgICAgICAgICDCoMKgIExheWVyOiBBcHBsaWNhdGlvbnM8YnIvPg0K ICAgICAgICAgIMKgwqAgVGl0bGU6IE91dHB1dCBTY3JpcHQgRGVzY3JpcHRvcnMgR2VuZXJhbCBP cGVyYXRpb248YnIvPg0KICAgICAgICAgIMKgwqAgQXV0aG9yOiBQaWV0ZXIgV3VpbGxlICZsdDs8 YSBocmVmPSJtYWlsdG86cGlldGVyQHd1aWxsZS5uZXQiIHRhcmdldD0iX2JsYW5rIiBtb3otZG8t bm90LXNlbmQ9InRydWUiPnBpZXRlckB3dWlsbGUubmV0PC9hPiZndDs8YnIvPg0KICAgICAgICAg IMKgwqDCoMKgwqDCoMKgwqDCoMKgIEFuZHJldyBDaG93ICZsdDs8YSBocmVmPSJtYWlsdG86YW5k cmV3QGFjaG93MTAxLmNvbSIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+ YW5kcmV3QGFjaG93MTAxLmNvbTwvYT4mZ3Q7PGJyLz4NCiAgICAgICAgICDCoMKgIENvbW1lbnRz LVN1bW1hcnk6IE5vIGNvbW1lbnRzIHlldC48YnIvPg0KICAgICAgICAgIMKgwqAgQ29tbWVudHMt VVJJOjxici8+DQogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4v Ymlwcy93aWtpL0NvbW1lbnRzOkJJUC1kZXNjcmlwdG9ycy1nZW5lcmFsIiByZWw9Im5vcmVmZXJy ZXIiIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPmh0dHBzOi8vZ2l0aHVi LmNvbS9iaXRjb2luL2JpcHMvd2lraS9Db21tZW50czpCSVAtZGVzY3JpcHRvcnMtZ2VuZXJhbDwv YT48YnIvPg0KICAgICAgICAgIMKgwqAgU3RhdHVzOiBEcmFmdDxici8+DQogICAgICAgICAgwqDC oCBUeXBlOiBJbmZvcm1hdGlvbmFsPGJyLz4NCiAgICAgICAgICDCoMKgIENyZWF0ZWQ6IDIwMjEt MDYtMjc8YnIvPg0KICAgICAgICAgIMKgwqAgTGljZW5zZTogQlNELTItQ2xhdXNlPGJyLz4NCiAg ICAgICAgICAmbHQ7L3ByZSZndDs8YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1B YnN0cmFjdD09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIE91dHB1dCBTY3JpcHQg RGVzY3JpcHRvcnMgYXJlIGEgc2ltcGxlIGxhbmd1YWdlIHdoaWNoIGNhbiBiZQ0KICAgICAgICAg IHVzZWQgdG88YnIvPg0KICAgICAgICAgIGRlc2NyaWJlIGNvbGxlY3Rpb25zIG9mb3V0cHV0IHNj cmlwdHMuPGJyLz4NCiAgICAgICAgICBUaGVyZSBjYW4gYmUgbWFueSBkaWZmZXJlbnQgZGVzY3Jp cHRvciBmcmFnbWVudHMgYW5kDQogICAgICAgICAgZnVuY3Rpb25zLjxici8+DQogICAgICAgICAg VGhpcyBkb2N1bWVudCBkZXNjcmliZXMgdGhlIGdlbmVyYWwgc3ludGF4IGZvciBkZXNjcmlwdG9y cywNCiAgICAgICAgICBkZXNjcmlwdG9yPGJyLz4NCiAgICAgICAgICBjaGVja3N1bXMsIGFuZCBj b21tb24gZXhwcmVzc2lvbnMuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgID09Q29w eXJpZ2h0PT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVGhpcyBCSVAgaXMgbGlj ZW5zZWQgdW5kZXIgdGhlIEJTRCAyLWNsYXVzZSBsaWNlbnNlLjxici8+DQogICAgICAgICAgPGJy Lz4NCiAgICAgICAgICA9PU1vdGl2YXRpb249PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAg ICAgICBCaXRjb2luIHdhbGxldHMgdHJhZGl0aW9uYWxseSBoYXZlIHN0b3JlZCBhIHNldCBvZiBr ZXlzIHdoaWNoDQogICAgICAgICAgYXJlIGxhdGVyPGJyLz4NCiAgICAgICAgICBzZXJpYWxpemVk IGFuZCBtdXRhdGVkIHRvIHByb2R1Y2UgdGhlIG91dHB1dCBzY3JpcHRzIHRoYXQgdGhlDQogICAg ICAgICAgd2FsbGV0PGJyLz4NCiAgICAgICAgICB3YXRjaGVzIGFuZCB0aGUgYWRkcmVzc2VzIGl0 IHByb3ZpZGVzIHRvIHVzZXJzLjxici8+DQogICAgICAgICAgVHlwaWNhbGx5IGJhY2t1cHMgaGF2 ZSBjb25zaXN0ZWQgb2Ygc29sZWx5IHRoZSBwcml2YXRlIGtleXMsDQogICAgICAgICAgbm93YWRh eXM8YnIvPg0KICAgICAgICAgIHByaW1hcmlseSBpbiB0aGUgZm9ybSBvZiBCSVAgMzkgbW5lbW9u aWNzLjxici8+DQogICAgICAgICAgSG93ZXZlciB0aGlzIGJhY2t1cCBzb2x1dGlvbiBpcyBpbnN1 ZmZpZW50LCBlc3BlY2lhbGx5IHNpbmNlDQogICAgICAgICAgdGhlPGJyLz4NCiAgICAgICAgICBp bnRyb2R1Y3Rpb24gb2YgU2VncmVnYXRlZCBXaXRuZXNzIHdoaWNoIGFkZGVkIG5ldyBvdXRwdXQN CiAgICAgICAgICB0eXBlcy48YnIvPg0KICAgICAgICAgIEdpdmVuIGp1c3QgdGhlIHByaXZhdGUg a2V5cywgaXQgaXMgbm90IHBvc3NpYmxlIGZvciByZXN0b3JlZA0KICAgICAgICAgIHdhbGxldHMg dG88YnIvPg0KICAgICAgICAgIGtub3cgd2hpY2gga2luZHMgb2Ygb3V0cHV0IHNjcmlwdHMgYW5k IGFkZHJlc3NlcyB0byBwcm9kdWNlLjxici8+DQogICAgICAgICAgVGhpcyBoYXMgbGVhZCB0byBp bmNvbXBhdGliaWxpdGllcyBiZXR3ZWVuIHdhbGxldHMgd2hlbg0KICAgICAgICAgIHJlc3Rvcmlu ZyBhPGJyLz4NCiAgICAgICAgICBiYWNrdXAgb3IgZXhwb3J0aW5nIGRhdGEgZm9yIGEgd2F0Y2gg b25seSB3YWxsZXQuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIEZ1cnRoZXIgY29t cGxpY2F0aW5nIG1hdHRlcnMgYXJlIEJJUCAzMiBkZXJpdmF0aW9uIHBhdGhzLjxici8+DQogICAg ICAgICAgQWx0aG91Z2ggQklQcyA0NCwgNDksIGFuZCA4NCBoYXZlIHNwZWNpZmllZCBzdGFuZGFy ZCBCSVAgMzINCiAgICAgICAgICBkZXJpdmF0aW9uPGJyLz4NCiAgICAgICAgICBwYXRocyBmb3Ig ZGlmZmVyZW50IG91dHB1dCBzY3JpcHRzIGFuZCBhZGRyZXNzZXMsIG5vdCBhbGwNCiAgICAgICAg ICB3YWxsZXRzPGJyLz4NCiAgICAgICAgICBzdXBwb3J0IHRoZW0gbm9yIHVzZSB0aG9zZSBkZXJp dmF0aW9uIHBhdGhzLjxici8+DQogICAgICAgICAgVGhlIGxhY2sgb2YgZGVyaXZhdGlvbiBwYXRo IGluZm9ybWF0aW9uIGluIHRoZXNlIGJhY2t1cHMgYW5kDQogICAgICAgICAgZXhwb3J0czxici8+ DQogICAgICAgICAgbGVhZHMgdG8gZnVydGhlciBpbmNvbXBhdGliaWxpdGllcyBiZXR3ZWVuIHdh bGxldHMuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIEN1cnJlbnQgc29sdXRpb25z IHRvIHRoZXNlIGlzc3VlcyBoYXZlIG5vdCBiZWVuIGdlbmVyaWMgYW5kDQogICAgICAgICAgY2Fu IGJlPGJyLz4NCiAgICAgICAgICB2aWV3ZWQgYXMgYmVpbmcgbGF5ZXIgdmlvbGF0aW9ucy48YnIv Pg0KICAgICAgICAgIFNvbHV0aW9ucyBzdWNoIGFzIGludHJvZHVjaW5nIGRpZmZlcmVudCB2ZXJz aW9uIGJ5dGVzIGZvcg0KICAgICAgICAgIGV4dGVuZGVkIGtleTxici8+DQogICAgICAgICAgc2Vy aWFsaXphdGlvbiBib3RoIGFyZSBhIGxheWVyIHZpb2xhdGlvbiAoa2V5IGRlcml2YXRpb24NCiAg ICAgICAgICBzaG91bGQgYmU8YnIvPg0KICAgICAgICAgIHNlcGFyYXRlIGZyb20gc2NyaXB0IHR5 cGUgbWVhbmluZykgYW5kIHNwZWNpZmljIG9ubHkgdG8gYQ0KICAgICAgICAgIHBhcnRpY3VsYXI8 YnIvPg0KICAgICAgICAgIGRlcml2YXRpb24gcGF0aCBhbmQgc2NyaXB0IHR5cGUuPGJyLz4NCiAg ICAgICAgICA8YnIvPg0KICAgICAgICAgIE91dHB1dCBTY3JpcHQgRGVzY3JpcHRvcnMgaW50cm9k dWNlcyBhIGdlbmVyaWMgc29sdXRpb24gdG8NCiAgICAgICAgICB0aGVzZSBpc3N1ZXMuPGJyLz4N CiAgICAgICAgICBTY3JpcHQgdHlwZXMgYXJlIHNwZWNpZmllZCBleHBsaWNpdGx5IHRocm91Z2gg dGhlIHVzZSBvZg0KICAgICAgICAgIFNjcmlwdCBFeHByZXNzaW9ucy48YnIvPg0KICAgICAgICAg IEtleSBkZXJpdmF0aW9uIHBhdGhzIGFyZSBzcGVjaWZpZWQgZXhwbGljaXRseSBpbiBLZXkNCiAg ICAgICAgICBFeHByZXNzaW9ucy48YnIvPg0KICAgICAgICAgIFRoZXNlIGFsbG93IGZvciBjcmVh dGluZyB3YWxsZXQgYmFja3VwcyBhbmQgZXhwb3J0cyB3aGljaA0KICAgICAgICAgIHNwZWNpZnkg dGhlPGJyLz4NCiAgICAgICAgICBleGFjdCBzY3JpcHRzLCBzdWJzY3JpcHRzIChyZWRlZW1TY3Jp cHQsIHdpdG5lc3NTY3JpcHQsIGV0Yy4pLA0KICAgICAgICAgIGFuZCBrZXlzPGJyLz4NCiAgICAg ICAgICB0byBwcm9kdWNlLjxici8+DQogICAgICAgICAgV2l0aCB0aGUgZ2VuZXJhbCBzdHJ1Y3R1 cmUgc3BlY2lmaWVkIGluIHRoaXMgQklQLCBuZXcgU2NyaXB0DQogICAgICAgICAgRXhwcmVzc2lv bnM8YnIvPg0KICAgICAgICAgIGNhbiBiZSBpbnRyb2R1Y2VkIGFzIG5ldyBzY3JpcHQgdHlwZXMg YXJlIGFkZGVkLjxici8+DQogICAgICAgICAgTGFzdGx5LCB0aGUgdXNlIG9mIGNvbW1vbiB0ZXJt aW5vbG9neSBhbmQgZXhpc3Rpbmcgc3RhbmRhcmRzDQogICAgICAgICAgYWxsb3cgZm9yPGJyLz4N CiAgICAgICAgICBPdXRwdXQgU2NyaXB0IERlc2NyaXB0b3JzIHRvIGJlIGVuZ2luZWVyIHJlYWRh YmxlIHNvIHRoYXQgdGhlDQogICAgICAgICAgcmVzdWx0czxici8+DQogICAgICAgICAgY2FuIGJl IHVuZGVyc3Rvb2QgYXQgYSBnbGFuY2UuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAg ID09U3BlY2lmaWNhdGlvbj09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIERlc2Ny aXB0b3JzIGNvbnNpc3Qgb2Ygc2V2ZXJhbCB0eXBlcyBvZiBleHByZXNzaW9ucy48YnIvPg0KICAg ICAgICAgIFRoZSB0b3AgbGV2ZWwgZXhwcmVzc2lvbiBpcyBhICZsdDt0dCZndDtTQ1JJUFQmbHQ7 L3R0Jmd0Oy48YnIvPg0KICAgICAgICAgIFRoaXMgZXhwcmVzc2lvbiBtYXkgYmUgZm9sbG93ZWQg YnkNCiAgICAgICAgICAmbHQ7dHQmZ3Q7I0NIRUNLU1VNJmx0Oy90dCZndDssIHdoZXJlPGJyLz4N CiAgICAgICAgICAmbHQ7dHQmZ3Q7Q0hFQ0tTVU0mbHQ7L3R0Jmd0OyBpcyBhbiA4IGNoYXJhY3Rl ciBhbHBoYW51bWVyaWMNCiAgICAgICAgICBkZXNjcmlwdG9yIGNoZWNrc3VtLjxici8+DQogICAg ICAgICAgPGJyLz4NCiAgICAgICAgICA9PT1TY3JpcHQgRXhwcmVzc2lvbnM9PT08YnIvPg0KICAg ICAgICAgIDxici8+DQogICAgICAgICAgU2NyaXB0IEV4cHJlc3Npb25zIChkZW5vdGVkICZsdDt0 dCZndDtTQ1JJUFQmbHQ7L3R0Jmd0OykgYXJlDQogICAgICAgICAgZXhwcmVzc2lvbnMgd2hpY2g8 YnIvPg0KICAgICAgICAgIGNvcnJlc3BvbmQgZGlyZWN0bHkgd2l0aCBhIEJpdGNvaW4gc2NyaXB0 Ljxici8+DQogICAgICAgICAgVGhlc2UgZXhwcmVzc2lvbnMgYXJlIHdyaXR0ZW4gYXMgZnVuY3Rp b25zIGFuZCB0YWtlIGFyZ3VtZW50cy48YnIvPg0KICAgICAgICAgIFN1Y2ggZXhwcmVzc2lvbnMg aGF2ZSBhIHNjcmlwdCB0ZW1wbGF0ZSB3aGljaCBpcyBmaWxsZWQgd2l0aA0KICAgICAgICAgIHRo ZTxici8+DQogICAgICAgICAgYXJndW1lbnRzIGNvcnJlc3BvbmRpbmdseS48YnIvPg0KICAgICAg ICAgIEV4cHJlc3Npb25zIGFyZSB3cml0dGVuIHdpdGggYSBodW1hbiByZWFkYWJsZSBpZGVudGlm aWVyDQogICAgICAgICAgc3RyaW5nIHdpdGggdGhlPGJyLz4NCiAgICAgICAgICBhcmd1bWVudHMg ZW5jbG9zZWQgd2l0aCBwYXJlbnRoZXNlcy48YnIvPg0KICAgICAgICAgIFRoZSBpZGVudGlmaWVy IHN0cmluZyBzaG91bGQgYmUgYWxwaGFudW1lcmljIGFuZCBtYXkgaW5jbHVkZQ0KICAgICAgICAg IHVuZGVyc2NvcmVzLjxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUaGUgYXJndW1l bnRzIHRvIGEgc2NyaXB0IGV4cHJlc3Npb24gYXJlIGRlZmluZWQgYnkgdGhhdA0KICAgICAgICAg IGV4cHJlc3Npb24gaXRzZWxmLjxici8+DQogICAgICAgICAgVGhleSBjb3VsZCBiZSBhIHNjcmlw dCBleHByZXNzaW9uLCBhIGtleSBleHByZXNzaW9uLCBvciBzb21lDQogICAgICAgICAgb3RoZXI8 YnIvPg0KICAgICAgICAgIGV4cHJlc3Npb24gZW50aXJlbHkuPGJyLz4NCiAgICAgICAgICA8YnIv Pg0KICAgICAgICAgID09PUtleSBFeHByZXNzaW9ucz09PTxici8+DQogICAgICAgICAgPGJyLz4N CiAgICAgICAgICBBIGNvbW1vbiBleHByZXNzaW9uIHVzZWQgYXMgYW4gYXJndW1lbnQgdG8gc2Ny aXB0IGV4cHJlc3Npb25zDQogICAgICAgICAgYXJlIGtleTxici8+DQogICAgICAgICAgZXhwcmVz c2lvbnMgKGRlbm90ZWQgJmx0O3R0Jmd0O0tFWSZsdDsvdHQmZ3Q7KS48YnIvPg0KICAgICAgICAg IFRoZXNlIHJlcHJlc2VudCBhIHB1YmxpYyBvciBwcml2YXRlIGtleSBhbmQsIG9wdGlvbmFsbHks DQogICAgICAgICAgaW5mb3JtYXRpb248YnIvPg0KICAgICAgICAgIGFib3V0IHRoZSBvcmlnaW4g b2YgdGhhdCBrZXkuPGJyLz4NCiAgICAgICAgICBLZXkgZXhwcmVzc2lvbnMgY2FuIG9ubHkgYmUg dXNlZCBhcyBhcmd1bWVudHMgdG8gc2NyaXB0DQogICAgICAgICAgZXhwcmVzc2lvbnMuPGJyLz4N CiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIEtleSBleHByZXNzaW9ucyBjb25zaXN0IG9mOjxi ci8+DQogICAgICAgICAgKiBPcHRpb25hbGx5LCBrZXkgb3JpZ2luIGluZm9ybWF0aW9uLCBjb25z aXN0aW5nIG9mOjxici8+DQogICAgICAgICAgKiogQW4gb3BlbiBicmFja2V0ICZsdDt0dCZndDtb Jmx0Oy90dCZndDs8YnIvPg0KICAgICAgICAgICoqIEV4YWN0bHkgOCBoZXggY2hhcmFjdGVycyBm b3IgdGhlIGZpbmdlcnByaW50IG9mIHRoZSBrZXkNCiAgICAgICAgICB3aGVyZSB0aGU8YnIvPg0K ICAgICAgICAgIGRlcml2YXRpb24gc3RhcnRzIChzZWUgQklQIDMyIGZvciBkZXRhaWxzKTxici8+ DQogICAgICAgICAgKiogRm9sbG93ZWQgYnkgemVybyBvciBtb3JlICZsdDt0dCZndDsvTlVNJmx0 Oy90dCZndDsgb3INCiAgICAgICAgICAmbHQ7dHQmZ3Q7L05VTSYjMzk7Jmx0Oy90dCZndDvCoCBw YXRoPGJyLz4NCiAgICAgICAgICBlbGVtZW50cyB0byBpbmRpY2F0ZSB0aGUgdW5oYXJkZW5lZCBv ciBoYXJkZW5lZCBkZXJpdmF0aW9uDQogICAgICAgICAgc3RlcHMgYmV0d2Vlbjxici8+DQogICAg ICAgICAgdGhlIGZpbmdlcnByaW50IGFuZCB0aGUga2V5IHRoYXQgZm9sbG93cy48YnIvPg0KICAg ICAgICAgICoqIEEgY2xvc2luZyBicmFja2V0ICZsdDt0dCZndDtdJmx0Oy90dCZndDs8YnIvPg0K ICAgICAgICAgICogRm9sbG93ZWQgYnkgdGhlIGFjdHVhbCBrZXksIHdoaWNoIGlzIGVpdGhlcjo8 YnIvPg0KICAgICAgICAgICoqIEEgaGV4IGVuY29kZWQgcHVibGljIGtleSwgd2hpY2ggZGVwZW5k aW5nIHRoZSBzY3JpcHQNCiAgICAgICAgICBleHByZXNzaW9uLCBtYXk8YnIvPg0KICAgICAgICAg IGJlIGVpdGhlcjo8YnIvPg0KICAgICAgICAgICoqKiA2NiBoZXggY2hhcmFjdGVyIHN0cmluZyBi ZWdpbm5pbmcgd2l0aA0KICAgICAgICAgICZsdDt0dCZndDswMiZsdDsvdHQmZ3Q7IG9yICZsdDt0 dCZndDswMyZsdDsvdHQmZ3Q7PGJyLz4NCiAgICAgICAgICByZXByZXNlbnRpbmcgYSBjb21wcmVz c2VkIHB1YmxpYyBrZXk8YnIvPg0KICAgICAgICAgICoqKiAxMzAgaGV4IGNoYXJhY3RlciBzdHJp bmcgYmVnaW5uaW5nIHdpdGgNCiAgICAgICAgICAmbHQ7dHQmZ3Q7MDQmbHQ7L3R0Jmd0OyByZXBy ZXNlbnRpbmcgYW48YnIvPg0KICAgICAgICAgIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5PGJyLz4N CiAgICAgICAgICAqKiogNjQgaGV4IGNoYXJhY3RlciBzdHJpbmcgcmVwcmVzZW50aW5nIGFuIHgt b25seSBwdWJsaWMga2V5PGJyLz4NCiAgICAgICAgICAqKiBBIFtbPGEgaHJlZj0iaHR0cHM6Ly9l bi5iaXRjb2luLml0L3dpa2kvV2FsbGV0X2ltcG9ydF9mb3JtYXQlN0NXSUYiIHJlbD0ibm9yZWZl cnJlciIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+aHR0cHM6Ly9lbi5i aXRjb2luLml0L3dpa2kvV2FsbGV0X2ltcG9ydF9mb3JtYXR8V0lGPC9hPl1dDQogICAgICAgICAg ZW5jb2RlZDxici8+DQogICAgICAgICAgcHJpdmF0ZSBrZXk8YnIvPg0KICAgICAgICAgICoqICZs dDt0dCZndDt4cHViJmx0Oy90dCZndDsgZW5jb2RlZCBleHRlbmRlZCBwdWJsaWMga2V5IG9yDQog ICAgICAgICAgJmx0O3R0Jmd0O3hwcnYmbHQ7L3R0Jmd0OyBlbmNvZGVkPGJyLz4NCiAgICAgICAg ICBleHRlbmRlZCBwcml2YXRlIGtleSAoYXMgZGVmaW5lZCBpbiBCSVAgMzIpPGJyLz4NCiAgICAg ICAgICAqKiogRm9sbG93ZWQgYnkgemVybyBvciBtb3JlICZsdDt0dCZndDsvTlVNJmx0Oy90dCZn dDsgb3INCiAgICAgICAgICAmbHQ7dHQmZ3Q7L05VTSYjMzk7Jmx0Oy90dCZndDsgcGF0aDxici8+ DQogICAgICAgICAgZWxlbWVudHMgaW5kaWNhdGluZyBCSVAgMzIgZGVyaXZhdGlvbiBzdGVwcyB0 byBiZSB0YWtlbiBhZnRlcg0KICAgICAgICAgIHRoZSBnaXZlbjxici8+DQogICAgICAgICAgZXh0 ZW5kZWQga2V5Ljxici8+DQogICAgICAgICAgKioqIE9wdGlvbmFsbHkgZm9sbG93ZWQgYnkgYSBz aW5nbGUgJmx0O3R0Jmd0Oy8qJmx0Oy90dCZndDsgb3INCiAgICAgICAgICAmbHQ7dHQmZ3Q7Lyom IzM5OyZsdDsvdHQmZ3Q7IGZpbmFsPGJyLz4NCiAgICAgICAgICBzdGVwIHRvIGRlbm90ZSBhbGwg ZGlyZWN0IHVuaGFyZGVuZWQgb3IgaGFyZGVuZWQgY2hpbGRyZW4uPGJyLz4NCiAgICAgICAgICA8 YnIvPg0KICAgICAgICAgIElmIHRoZSAmbHQ7dHQmZ3Q7S0VZJmx0Oy90dCZndDsgaXMgYSBCSVAg MzIgZXh0ZW5kZWQga2V5LA0KICAgICAgICAgIGJlZm9yZSBvdXRwdXQgc2NyaXB0cyBjYW48YnIv Pg0KICAgICAgICAgIGJlIGNyZWF0ZWQsIGNoaWxkIGtleXMgbXVzdCBiZSBkZXJpdmVkIHVzaW5n IHRoZSBkZXJpdmF0aW9uDQogICAgICAgICAgaW5mb3JtYXRpb248YnIvPg0KICAgICAgICAgIHRo YXQgZm9sbG93cyB0aGUgZXh0ZW5kZWQga2V5Ljxici8+DQogICAgICAgICAgV2hlbiB0aGUgZmlu YWwgc3RlcCBpcyAmbHQ7dHQmZ3Q7LyombHQ7L3R0Jmd0OyBvcg0KICAgICAgICAgICZsdDt0dCZn dDsvKiYjMzk7Jmx0Oy90dCZndDssIGFuIG91dHB1dCBzY3JpcHQ8YnIvPg0KICAgICAgICAgIHdp bGwgYmUgcHJvZHVjZWQgZm9yIGV2ZXJ5IGNoaWxkIGtleSBpbmRleC48YnIvPg0KICAgICAgICAg IFRoZSBkZXJpdmVkIGtleSBtdXN0IGJlIHNlcmlhbGl6ZWQgYXMgYSBjb21wcmVzc2VkIHB1Ymxp YyBrZXkuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIEluIHRoZSBhYm92ZSBzcGVj aWZpY2F0aW9uLCB0aGUgaGFyZGVuZWQgaW5kaWNhdG9yDQogICAgICAgICAgJmx0O3R0Jmd0OyYj Mzk7Jmx0Oy90dCZndDsgbWF5IGJlPGJyLz4NCiAgICAgICAgICByZXBsYWNlZCB3aXRoIGFsdGVy bmF0aXZlIGhhcmRuZW5lZCBpbmRpY2F0b3JzIG9mDQogICAgICAgICAgJmx0O3R0Jmd0O2gmbHQ7 L3R0Jmd0OyBvciAmbHQ7dHQmZ3Q7SCZsdDsvdHQmZ3Q7Ljxici8+DQogICAgICAgICAgPGJyLz4N CiAgICAgICAgICA9PT1DaGFyYWN0ZXIgU2V0PT09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAg ICAgICAgIFRoZSBleHByZXNzaW9ucyB1c2VkIGluIGRlc2NyaXB0b3JzIG11c3Qgb25seSBjb250 YWluDQogICAgICAgICAgY2hhcmFjdGVycyB3aXRoaW48YnIvPg0KICAgICAgICAgIHRoaXMgY2hh cmFjdGVyIHNldCBzbyB0aGF0IHRoZSBkZXNjcmlwdG9yIGNoZWNrc3VtIHdpbGwgd29yay48YnIv Pg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVGhlIGFsbG93ZWQgY2hhcmFjdGVycyBhcmU6 PGJyLz4NCiAgICAgICAgICAmbHQ7cHJlJmd0Ozxici8+DQogICAgICAgICAgMDEyMzQ1Njc4OSgp W10sJiMzOTsvKmFiY2RlZmdoQDokJXt9PGJyLz4NCiAgICAgICAgICBJSktMTU5PUFFSU1RVVldY WVomYW1wOystLjsmbHQ7PSZndDs/IV5ffH48YnIvPg0KICAgICAgICAgIGlqa2xtbm9wcXJzdHV2 d3h5ekFCQ0RFRkdIYCMmIzM0O1wmbHQ7c3BhY2UmZ3Q7PGJyLz4NCiAgICAgICAgICAmbHQ7L3By ZSZndDs8YnIvPg0KICAgICAgICAgIE5vdGUgdGhhdCAmbHQ7dHQmZ3Q7Jmx0O3NwYWNlJmd0OyZs dDsvdHQmZ3Q7IG9uIHRoZSBsYXN0IGxpbmUNCiAgICAgICAgICBpcyBhIHNwYWNlIGNoYXJhY3Rl ci48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVGhpcyBjaGFyYWN0ZXIgc2V0IGlz IHdyaXR0ZW4gYXMgMyBncm91cHMgb2YgMzIgY2hhcmFjdGVycyBpbg0KICAgICAgICAgIHRoaXM8 YnIvPg0KICAgICAgICAgIHNwZWNpZmljIG9yZGVyIHNvIHRoYXQgdGhlIGNoZWNrc3VtIGJlbG93 IGNhbiBpZGVudGlmeSBtb3JlDQogICAgICAgICAgZXJyb3JzLjxici8+DQogICAgICAgICAgVGhl IGZpcnN0IGdyb3VwIGFyZSB0aGUgbW9zdCBjb21tb24gJiMzNDt1bnByb3RlY3RlZCYjMzQ7IGNo YXJhY3RlcnMNCiAgICAgICAgICAoaS5lLjxici8+DQogICAgICAgICAgdGhpbmdzIHN1Y2ggYXMg aGV4IGFuZCBrZXlwYXRocyB0aGF0IGRvIG5vdCBhbHJlYWR5IGhhdmUgdGhlaXINCiAgICAgICAg ICBvd248YnIvPg0KICAgICAgICAgIGNoZWNrc3VtcykuPGJyLz4NCiAgICAgICAgICBDYXNlIGVy cm9ycyBjYXVzZSBhbiBvZmZzZXQgdGhhdCBpcyBhIG11bHRpcGxlIG9mIDMyIHdoaWxlIGFzDQog ICAgICAgICAgbWFueTxici8+DQogICAgICAgICAgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzIGFyZSBp biB0aGUgc2FtZSBncm91cCB3aGlsZSBmb2xsb3dpbmcNCiAgICAgICAgICB0aGUgcHJldmlvdXM8 YnIvPg0KICAgICAgICAgIHJlc3RyaWN0aW9ucy48YnIvPg0KICAgICAgICAgIDxici8+DQogICAg ICAgICAgPT09Q2hlY2tzdW09PT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgRm9s bHdpbmcgdGhlIHRvcCBsZXZlbCBzY3JpcHQgZXhwcmVzc2lvbiBpcyBhIHNpbmdsZQ0KICAgICAg ICAgIG9jdG90aG9ycGU8YnIvPg0KICAgICAgICAgICgmbHQ7dHQmZ3Q7IyZsdDsvdHQmZ3Q7KSBm b2xsb3dlZCBieSB0aGUgOCBjaGFyYWN0ZXIgY2hlY2tzdW0uPGJyLz4NCiAgICAgICAgICBUaGUg Y2hlY2tzdW0gaXMgYW4gZXJyb3IgY29ycmVjdGluZyBjaGVja3N1bSBzaW1pbGFyIHRvDQogICAg ICAgICAgYmVjaDMyLjxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUaGUgY2hlY2tz dW0gaGFzIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczo8YnIvPg0KICAgICAgICAgICogTWlzdGFr ZXMgaW4gYSBkZXNjcmlwdG9yIHN0cmluZyBhcmUgbWVhc3VyZWQgaW4gJiMzNDtzeW1ib2wNCiAg ICAgICAgICBlcnJvcnMmIzM0Oy4gVGhlPGJyLz4NCiAgICAgICAgICBoaWdoZXIgdGhlIG51bWJl ciBvZiBzeW1ib2wgZXJyb3JzLCB0aGUgaGFyZGVyIGl0IGlzIHRvDQogICAgICAgICAgZGV0ZWN0 Ojxici8+DQogICAgICAgICAgKiogQW4gZXJyb3Igc3Vic3RpdHV0aW5nIGEgY2hhcmFjdGVyIGZy b208YnIvPg0KICAgICAgICAgICZsdDt0dCZndDswMTIzNDU2Nzg5KClbXSwmIzM5Oy8qYWJjZGVm Z2hAOiQle30mbHQ7L3R0Jmd0OyBmb3INCiAgICAgICAgICBhbm90aGVyIGluIHRoYXQgc2V0IGFs d2F5czxici8+DQogICAgICAgICAgY291bnRzIGFzIDEgc3ltYm9sIGVycm9yLjxici8+DQogICAg ICAgICAgKioqIE5vdGUgdGhhdCBoZXggZW5jb2RlZCBrZXlzIGFyZSBjb3ZlcmVkIGJ5IHRoZXNl DQogICAgICAgICAgY2hhcmFjdGVycy4gRXh0ZW5kZWQ8YnIvPg0KICAgICAgICAgIGtleXMgKCZs dDt0dCZndDt4cHViJmx0Oy90dCZndDsgYW5kICZsdDt0dCZndDt4cHJ2Jmx0Oy90dCZndDspDQog ICAgICAgICAgdXNlIG90aGVyIGNoYXJhY3RlcnMgdG9vLCBidXQ8YnIvPg0KICAgICAgICAgIGFs c28gaGF2ZSB0aGVpciBvd24gY2hlY2tzdW0gbWVjaGFuc2ltLjxici8+DQogICAgICAgICAgKioq ICZsdDt0dCZndDtTQ1JJUFQmbHQ7L3R0Jmd0OyBleHByZXNzaW9uIGZ1bmN0aW9uIG5hbWVzIHVz ZQ0KICAgICAgICAgIG90aGVyIGNoYXJhY3RlcnMsIGJ1dDxici8+DQogICAgICAgICAgbWlzdGFr ZXMgaW4gdGhlc2Ugd291bGQgZ2VuZXJhbGx5IHJlc3VsdCBpbiBhbiB1bnBhcnNhYmxlDQogICAg ICAgICAgZGVzY3JpcHRvci48YnIvPg0KICAgICAgICAgICoqIEEgY2FzZSBlcnJvciBhbHdheXMg Y291bnRzIGFzIDEgc3ltYm9sIGVycm9yLjxici8+DQogICAgICAgICAgKiogQW55IG90aGVyIDEg Y2hhcmFjdGVyIHN1YnN0aXR1dGlvbiBlcnJvciBjb3VudHMgYXMgMSBvciAyDQogICAgICAgICAg c3ltYm9sIGVycm9ycy48YnIvPg0KICAgICAgICAgICogQW55IDEgc3ltYm9sIGVycm9yIGlzIGFs d2F5cyBkZXRlY3RlZC48YnIvPg0KICAgICAgICAgICogQW55IDIgb3IgMyBzeW1ib2wgZXJyb3Ig aW4gYSBkZXNjcmlwdG9yIG9mIHVwIHRvIDQ5MTU0DQogICAgICAgICAgY2hhcmFjdGVycyBpczxi ci8+DQogICAgICAgICAgYWx3YXlzIGRldGVjdGVkLjxici8+DQogICAgICAgICAgKiBBbnkgNCBz eW1ib2wgZXJyb3IgaW4gYSBkZXNjcmlwdG9yIG9mIHVwIHRvIDUwNyBjaGFyYWN0ZXJzDQogICAg ICAgICAgaXMgYWx3YXlzPGJyLz4NCiAgICAgICAgICBkZXRlY3RlZC48YnIvPg0KICAgICAgICAg ICogQW55IDUgc3ltYm9sIGVycm9yIGluIGEgZGVzY3JpcHRvciBvZiB1cCB0byA3NyBjaGFyYWN0 ZXJzIGlzDQogICAgICAgICAgYWx3YXlzPGJyLz4NCiAgICAgICAgICBkZXRlY3RlZC48YnIvPg0K ICAgICAgICAgICogSXMgb3B0aW1pemVkIHRvIG1pbmltaXplIHRoZSBjaGFuY2Ugb2YgYSA1IHN5 bWJvbCBlcnJvciBpbiBhPGJyLz4NCiAgICAgICAgICBkZXNjcmlwdG9yIHVwIHRvIDM4NyBjaGFy YWN0ZXJzIGlzIHVuZGV0ZWN0ZWQ8YnIvPg0KICAgICAgICAgICogUmFuZG9tIGVycm9ycyBoYXZl IGEgY2hhbmNlIG9mIDEgaW4NCiAgICAgICAgICAyJmx0O3N1cGVyJmd0OzQwJmx0Oy9zdXBlciZn dDsgb2YgYmVpbmc8YnIvPg0KICAgICAgICAgIHVuZGV0ZWN0ZWQuPGJyLz4NCiAgICAgICAgICA8 YnIvPg0KICAgICAgICAgIFRoZSBjaGVja3N1bSBpdHNlbGYgdXNlcyB0aGUgc2FtZSBjaGFyYWN0 ZXIgc2V0IGFzIGJlY2gzMjo8YnIvPg0KICAgICAgICAgICZsdDt0dCZndDtxcHpyeTl4OGdmMnR2 ZHcwczNqbjU0a2hjZTZtdWE3bCZsdDsvdHQmZ3Q7PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAg ICAgICAgIFZhbGlkIGRlc2NyaXB0b3Igc3RyaW5ncyB3aXRoIGEgY2hlY2tzdW0gbXVzdCBwYXNz IHRoZQ0KICAgICAgICAgIGNyaXRlcmlhIGZvcjxici8+DQogICAgICAgICAgdmFsaWRpdHkgc3Bl Y2lmaWVkIGJ5IHRoZSBQeXRob24zIGNvZGUgc25pcHBldCBiZWxvdy48YnIvPg0KICAgICAgICAg IFRoZSBmdW5jdGlvbiAmbHQ7dHQmZ3Q7ZGVzY3N1bV9jaGVjayZsdDsvdHQmZ3Q7IG11c3QgcmV0 dXJuDQogICAgICAgICAgdHJ1ZSB3aGVuIGl0cyBhcmd1bWVudDxici8+DQogICAgICAgICAgJmx0 O3R0Jmd0O3MmbHQ7L3R0Jmd0OyBpcyBhIGRlc2NyaXB0b3IgY29uc2lzdGluZyBpbiB0aGUgZm9y bQ0KICAgICAgICAgICZsdDt0dCZndDtTQ1JJUFQjQ0hFQ0tTVU0mbHQ7L3R0Jmd0Oy48YnIvPg0K ICAgICAgICAgIDxici8+DQogICAgICAgICAgJmx0O3ByZSZndDs8YnIvPg0KICAgICAgICAgIElO UFVUX0NIQVJTRVQgPTxici8+DQomIzM0OzAxMjM0NTY3ODkoKVtdLCYjMzk7LyphYmNkZWZnaEA6 JCV7fUlKS0xNTk9QUVJTVFVWV1hZWiZhbXA7Ky0uOyZsdDs9Jmd0Oz8hXl98fmlqa2xtbm9wcXJz dHV2d3h5ekFCQ0RFRkdIYCNcJiMzNDtcXDxici8+DQogICAgICAgICAgJiMzNDs8YnIvPg0KICAg ICAgICAgIENIRUNLU1VNX0NIQVJTRVQgPSAmIzM0O3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNl Nm11YTdsJiMzNDs8YnIvPg0KICAgICAgICAgIEdFTkVSQVRPUiA9IFsweGY1ZGVlNTE5ODksIDB4 YTlmZGNhMzMxMiwgMHgxYmFiMTBlMzJkLA0KICAgICAgICAgIDB4MzcwNmIxNjc3YSw8YnIvPg0K ICAgICAgICAgIDB4NjQ0ZDYyNmZmZF08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAg ZGVmIGRlc2NzdW1fcG9seW1vZChzeW1ib2xzKTo8YnIvPg0KICAgICAgICAgIMKgwqDCoMKgICYj MzQ7JiMzNDsmIzM0O0ludGVybmFsIGZ1bmN0aW9uIHRoYXQgY29tcHV0ZXMgdGhlIGRlc2NyaXB0 b3INCiAgICAgICAgICBjaGVja3N1bS4mIzM0OyYjMzQ7JiMzNDs8YnIvPg0KICAgICAgICAgIMKg wqDCoMKgIGNoayA9IDE8YnIvPg0KICAgICAgICAgIMKgwqDCoMKgIGZvciB2YWx1ZSBpbiBzeW1i b2xzOjxici8+DQogICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoCB0b3AgPSBjaGsgJmd0OyZndDsg MzU8YnIvPg0KICAgICAgICAgIMKgwqDCoMKgwqDCoMKgwqAgY2hrID0gKGNoayAmYW1wOyAweDdm ZmZmZmZmZikgJmx0OyZsdDsgNSBeIHZhbHVlPGJyLz4NCiAgICAgICAgICDCoMKgwqDCoMKgwqDC oMKgIGZvciBpIGluIHJhbmdlKDUpOjxici8+DQogICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGNoayBePSBHRU5FUkFUT1JbaV0gaWYgKCh0b3AgJmd0OyZndDsgaSkgJmFtcDsgMSkN CiAgICAgICAgICBlbHNlIDA8YnIvPg0KICAgICAgICAgIMKgwqDCoMKgIHJldHVybiBjaGs8YnIv Pg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgZGVmIGRlc2NzdW1fZXhwYW5kKHMpOjxici8+ DQogICAgICAgICAgwqDCoMKgwqAgJiMzNDsmIzM0OyYjMzQ7SW50ZXJuYWwgZnVuY3Rpb24gdGhh dCBkb2VzIHRoZSBjaGFyYWN0ZXIgdG8gc3ltYm9sDQogICAgICAgICAgZXhwYW5zaW9uJiMzNDsm IzM0OyYjMzQ7PGJyLz4NCiAgICAgICAgICDCoMKgwqDCoCBncm91cHMgPSBbXTxici8+DQogICAg ICAgICAgwqDCoMKgwqAgc3ltYm9scyA9IFtdPGJyLz4NCiAgICAgICAgICDCoMKgwqDCoCBmb3Ig YyBpbiBzOjxici8+DQogICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoCBpZiBub3QgYyBpbiBJTlBV VF9DSEFSU0VUOjxici8+DQogICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVy biBOb25lPGJyLz4NCiAgICAgICAgICDCoMKgwqDCoMKgwqDCoMKgIHYgPSBJTlBVVF9DSEFSU0VU LmZpbmQoYyk8YnIvPg0KICAgICAgICAgIMKgwqDCoMKgwqDCoMKgwqAgc3ltYm9scy5hcHBlbmQo diAmYW1wOyAzMSk8YnIvPg0KICAgICAgICAgIMKgwqDCoMKgwqDCoMKgwqAgZ3JvdXBzLmFwcGVu ZCh2ICZndDsmZ3Q7IDUpPGJyLz4NCiAgICAgICAgICDCoMKgwqDCoMKgwqDCoMKgIGlmIGxlbihn cm91cHMpID09IDM6PGJyLz4NCiAgICAgICAgICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3lt Ym9scy5hcHBlbmQoZ3JvdXBzWzBdICogOSArIGdyb3Vwc1sxXSAqIDMgKw0KICAgICAgICAgIGdy b3Vwc1syXSk8YnIvPg0KICAgICAgICAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBncm91cHMg PSBbXTxici8+DQogICAgICAgICAgwqDCoMKgwqAgaWYgbGVuKGdyb3VwcykgPT0gMTo8YnIvPg0K ICAgICAgICAgIMKgwqDCoMKgwqDCoMKgwqAgc3ltYm9scy5hcHBlbmQoZ3JvdXBzWzBdKTxici8+ DQogICAgICAgICAgwqDCoMKgwqAgZWxpZiBsZW4oZ3JvdXBzKSA9PSAyOjxici8+DQogICAgICAg ICAgwqDCoMKgwqDCoMKgwqDCoCBzeW1ib2xzLmFwcGVuZChncm91cHNbMF0gKiAzICsgZ3JvdXBz WzFdKTxici8+DQogICAgICAgICAgwqDCoMKgwqAgcmV0dXJuIHN5bWJvbHM8YnIvPg0KICAgICAg ICAgIDxici8+DQogICAgICAgICAgZGVmIGRlc2NzdW1fY2hlY2socyk6PGJyLz4NCiAgICAgICAg ICDCoMKgwqDCoCAmIzM0OyYjMzQ7JiMzNDtWZXJpZnkgdGhhdCB0aGUgY2hlY2tzdW0gaXMgY29y cmVjdCBpbiBhIGRlc2NyaXB0b3ImIzM0OyYjMzQ7JiMzNDs8YnIvPg0KICAgICAgICAgIMKgwqDC oMKgIGlmIHNbLTldICE9ICYjMzk7IyYjMzk7Ojxici8+DQogICAgICAgICAgwqDCoMKgwqDCoMKg wqDCoCByZXR1cm4gRmFsc2U8YnIvPg0KICAgICAgICAgIMKgwqDCoMKgIGlmIG5vdCBhbGwoeCBp biBDSEVDS1NVTV9DSEFSU0VUIGZvciB4IGluIHNbLTg6XSk6PGJyLz4NCiAgICAgICAgICDCoMKg wqDCoMKgwqDCoMKgIHJldHVybiBGYWxzZTxici8+DQogICAgICAgICAgwqDCoMKgwqAgc3ltYm9s cyA9IGRlc2NzdW1fZXhwYW5kKHNbOi05XSkgKw0KICAgICAgICAgIFtDSEVDS1NVTV9DSEFSU0VU LmZpbmQoeCkgZm9yIHg8YnIvPg0KICAgICAgICAgIGluIHNbLTg6XV08YnIvPg0KICAgICAgICAg IMKgwqDCoMKgIHJldHVybiBkZXNjc3VtX3BvbHltb2Qoc3ltYm9scykgPT0gMTxici8+DQogICAg ICAgICAgJmx0Oy9wcmUmZ3Q7PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFRoaXMg aW1wbGVtZW50cyBhIEJDSCBjb2RlIHRoYXQgaGFzIHRoZSBwcm9wZXJ0aWVzIGRlc2NyaWJlZA0K ICAgICAgICAgIGFib3ZlLjxici8+DQogICAgICAgICAgVGhlIGVudGlyZSBkZXNjcmlwdG9yIHN0 cmluZyBpcyBmaXJzdCBwcm9jZXNzZWQgaW50byBhbiBhcnJheQ0KICAgICAgICAgIG9mIHN5bWJv bHMuPGJyLz4NCiAgICAgICAgICBUaGUgc3ltYm9sIGZvciBlYWNoIGNoYXJhY3RlciBpcyBpdHMg cG9zaXRpb24gd2l0aGluIGl0cw0KICAgICAgICAgIGdyb3VwLjxici8+DQogICAgICAgICAgQWZ0 ZXIgZXZlcnkgM3JkIHN5bWJvbCwgYSA0dGggc3ltYm9sIGlzIGluc2VydGVkIHdoaWNoDQogICAg ICAgICAgcmVwcmVzZW50cyB0aGU8YnIvPg0KICAgICAgICAgIGdyb3VwIG51bWJlcnMgY29tYmlu ZWQgdG9nZXRoZXIuPGJyLz4NCiAgICAgICAgICBUaGlzIG1lYW5zIHRoYXQgYSBjaGFuZ2UgdGhh dCBvbmx5IGFmZmVjdHMgdGhlIHBvc2l0aW9uIHdpdGhpbg0KICAgICAgICAgIGEgZ3JvdXAsPGJy Lz4NCiAgICAgICAgICBvciBvbmx5IGEgZ3JvdXAgbnVtYmVyIGNoYW5nZSwgd2lsbCBvbmx5IGFm ZmVjdCBhIHNpbmdsZQ0KICAgICAgICAgIHN5bWJvbC48YnIvPg0KICAgICAgICAgIDxici8+DQog ICAgICAgICAgVG8gY29uc3RydWN0IGEgdmFsaWQgY2hlY2tzdW0gZ2l2ZW4gYSBzY3JpcHQgZXhw cmVzc2lvbiwgdGhlDQogICAgICAgICAgY29kZSBiZWxvdzxici8+DQogICAgICAgICAgY2FuIGJl IHVzZWQ6PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgICZsdDtwcmUmZ3Q7PGJyLz4N CiAgICAgICAgICBkZWYgZGVzY3N1bV9jcmVhdGUocyk6PGJyLz4NCiAgICAgICAgICDCoMKgwqDC oCAmIzM0OyYjMzQ7JiMzNDtBZGQgYSBjaGVja3N1bSB0byBhIGRlc2NyaXB0b3Igd2l0aG91dCYj MzQ7JiMzNDsmIzM0Ozxici8+DQogICAgICAgICAgwqDCoMKgwqAgc3ltYm9scyA9IGRlc2NzdW1f ZXhwYW5kKHMpICsgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdPGJyLz4NCiAgICAgICAgICDCoMKg wqDCoCBjaGVja3N1bSA9IGRlc2NzdW1fcG9seW1vZChzeW1ib2xzKSBeIDE8YnIvPg0KICAgICAg ICAgIMKgwqDCoMKgIHJldHVybiBzICsgJiMzOTsjJiMzOTsgKyAmIzM5OyYjMzk7LmpvaW4oQ0hF Q0tTVU1fQ0hBUlNFVFsoY2hlY2tzdW0NCiAgICAgICAgICAmZ3Q7Jmd0OyAoNSAqICg3IC08YnIv Pg0KICAgICAgICAgIGkpKSkgJmFtcDsgMzFdIGZvciBpIGluIHJhbmdlKDgpKTxici8+DQogICAg ICAgICAgPGJyLz4NCiAgICAgICAgICAmbHQ7L3ByZSZndDs8YnIvPg0KICAgICAgICAgIDxici8+ DQogICAgICAgICAgPT1CYWNrd2FyZHMgQ29tcGF0aWJpbGl0eT09PGJyLz4NCiAgICAgICAgICA8 YnIvPg0KICAgICAgICAgIE91dHB1dCBzY3JpcHQgZGVzY3JpcHRvcnMgYXJlIGFuIGVudGlyZWx5 IG5ldyBsYW5ndWFnZSB3aGljaA0KICAgICAgICAgIGlzIG5vdDxici8+DQogICAgICAgICAgY29t cGF0aWJsZSB3aXRoIGFueSBleGlzdGluZyBzb2Z0d2FyZS48YnIvPg0KICAgICAgICAgIEhvd2V2 ZXIgbWFueSBjb21wb25lbnRzIG9mIHRoZSBleHByZXNzaW9ucyByZXVzZSBlbmNvZGluZ3MgYW5k PGJyLz4NCiAgICAgICAgICBzZXJpYWxpemF0aW9ucyBkZWZpbmVkIGJ5IHByZXZpb3VzIEJJUHMu PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIE91dHB1dCBzY3JpcHQgZGVzY3JpcHRv cnMgYXJlIGRlc2lnbmVkIGZvciBmdXR1cmUgZXh0ZW5zaW9uDQogICAgICAgICAgd2l0aCBmdXJ0 aGVyPGJyLz4NCiAgICAgICAgICBmcmFnbWVudCB0eXBlcyBhbmQgbmV3IHNjcmlwdCBleHByZXNz aW9ucy48YnIvPg0KICAgICAgICAgIFRoZXNlIHdpbGwgYmUgc3BlY2lmaWVkIGluIGFkZGl0aW9u YWwgQklQcy48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1SZWZlcmVuY2UgSW1w bGVtbnRhdGlvbj09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIERlc2NyaXB0b3Jz IGhhdmUgYmVlbiBpbXBsZW1lbnRlZCBpbiBCaXRjb2luIENvcmUgc2luY2UNCiAgICAgICAgICB2 ZXJzaW9uIDAuMTcuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIC0tLTxici8+DQog ICAgICAgICAgPGJyLz4NCiAgICAgICAgICAmbHQ7cHJlJmd0Ozxici8+DQogICAgICAgICAgwqDC oCBCSVA6IGJpcC1kZXNjcmlwdG9ycy1zZWd3aXQ8YnIvPg0KICAgICAgICAgIMKgwqAgTGF5ZXI6 IEFwcGxpY2F0aW9uczxici8+DQogICAgICAgICAgwqDCoCBUaXRsZTogc2Vnd2l0IE91dHB1dCBT Y3JpcHQgRGVzY3JpcHRvcnM8YnIvPg0KICAgICAgICAgIMKgwqAgQXV0aG9yOiBQaWV0ZXIgV3Vp bGxlICZsdDs8YSBocmVmPSJtYWlsdG86cGlldGVyQHd1aWxsZS5uZXQiIHRhcmdldD0iX2JsYW5r IiBtb3otZG8tbm90LXNlbmQ9InRydWUiPnBpZXRlckB3dWlsbGUubmV0PC9hPiZndDs8YnIvPg0K ICAgICAgICAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgIEFuZHJldyBDaG93ICZsdDs8YSBocmVmPSJt YWlsdG86YW5kcmV3QGFjaG93MTAxLmNvbSIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2Vu ZD0idHJ1ZSI+YW5kcmV3QGFjaG93MTAxLmNvbTwvYT4mZ3Q7PGJyLz4NCiAgICAgICAgICDCoMKg IENvbW1lbnRzLVN1bW1hcnk6IE5vIGNvbW1lbnRzIHlldC48YnIvPg0KICAgICAgICAgIMKgwqAg Q29tbWVudHMtVVJJOjxici8+DQogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29t L2JpdGNvaW4vYmlwcy93aWtpL0NvbW1lbnRzOkJJUC1kZXNjcmlwdG9ycy1zZWd3aXQiIHJlbD0i bm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+aHR0cHM6 Ly9naXRodWIuY29tL2JpdGNvaW4vYmlwcy93aWtpL0NvbW1lbnRzOkJJUC1kZXNjcmlwdG9ycy1z ZWd3aXQ8L2E+PGJyLz4NCiAgICAgICAgICDCoMKgIFN0YXR1czogRHJhZnQ8YnIvPg0KICAgICAg ICAgIMKgwqAgVHlwZTogSW5mb3JtYXRpb25hbDxici8+DQogICAgICAgICAgwqDCoCBDcmVhdGVk OiAyMDIxLTA2LTI3PGJyLz4NCiAgICAgICAgICDCoMKgIExpY2Vuc2U6IEJTRC0yLUNsYXVzZTxi ci8+DQogICAgICAgICAgJmx0Oy9wcmUmZ3Q7PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAg ICAgID09QWJzdHJhY3Q9PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUaGlzIGRv Y3VtZW50IHNwZWNpZmllcyAmbHQ7dHQmZ3Q7d3BraCgpJmx0Oy90dCZndDssIGFuZA0KICAgICAg ICAgICZsdDt0dCZndDt3c2goKSZsdDsvdHQmZ3Q7IG91dHB1dDxici8+DQogICAgICAgICAgc2Ny aXB0IGRlc2NyaXB0b3JzLjxici8+DQogICAgICAgICAgJmx0O3R0Jmd0O3dwa2goKSZsdDsvdHQm Z3Q7IGRlc2NyaXB0b3JzIHRha2UgYSBrZXkgYW5kDQogICAgICAgICAgcHJvZHVjZXMgYSBQMldQ S0ggb3V0cHV0IHNjcmlwdC48YnIvPg0KICAgICAgICAgICZsdDt0dCZndDt3c2goKSZsdDsvdHQm Z3Q7IGRlc2NyaXB0b3JzIHRha2UgYSBzY3JpcHQgYW5kDQogICAgICAgICAgcHJvZHVjZXMgYSBQ MldTSCBvdXRwdXQgc2NyaXB0Ljxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICA9PUNv cHlyaWdodD09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFRoaXMgQklQIGlzIGxp Y2Vuc2VkIHVuZGVyIHRoZSBCU0QgMi1jbGF1c2UgbGljZW5zZS48YnIvPg0KICAgICAgICAgIDxi ci8+DQogICAgICAgICAgPT1Nb3RpdmF0aW9uPT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAg ICAgICAgU2VncmVnYXRlZCBXaXRuZXNzIGFkZGVkIDIgYWRkaXRpb25hbCBzdGFuZGFyZCBvdXRw dXQgc2NyaXB0DQogICAgICAgICAgZm9ybWF0czo8YnIvPg0KICAgICAgICAgIFAyV1BLSCBhbmQg UDJXU0guPGJyLz4NCiAgICAgICAgICBUaGVzZSBleHByZXNzaW9ucyBhbGxvdyBzcGVjaWZ5aW5n IHRob3NlIGZvcm1hdHMgYXMgYQ0KICAgICAgICAgIGRlc2NyaXB0b3IuPGJyLz4NCiAgICAgICAg ICA8YnIvPg0KICAgICAgICAgID09U3BlY2lmaWNhdGlvbj09PGJyLz4NCiAgICAgICAgICA8YnIv Pg0KICAgICAgICAgIFR3byBuZXcgc2NyaXB0IGV4cHJlc3Npb25zIGFyZSBkZWZpbmVkOg0KICAg ICAgICAgICZsdDt0dCZndDt3cGtoKCkmbHQ7L3R0Jmd0OywgYW5kICZsdDt0dCZndDt3c2goKSZs dDsvdHQmZ3Q7Ljxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICA9PT0mbHQ7dHQmZ3Q7 d3BraCgpJmx0Oy90dCZndDs9PT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVGhl ICZsdDt0dCZndDt3cGtoKEtFWSkmbHQ7L3R0Jmd0OyBleHByZXNzaW9uIGNhbiBiZSB1c2VkIGFz IGENCiAgICAgICAgICB0b3AgbGV2ZWwgZXhwcmVzc2lvbiw8YnIvPg0KICAgICAgICAgIG9yIGlu c2lkZSBvZiBhICZsdDt0dCZndDtzaCgpJmx0Oy90dCZndDsgZGVzY3JpcHRvci48YnIvPg0KICAg ICAgICAgIEl0IHRha2VzIGEgc2luZ2xlIGtleSBleHByZXNzaW9uIGFzIGFuIGFyZ3VtZW50IGFu ZCBwcm9kdWNlcyBhDQogICAgICAgICAgUDJXUEtIPGJyLz4NCiAgICAgICAgICBvdXRwdXQgc2Ny aXB0Ljxici8+DQogICAgICAgICAgT25seSBrZXlzIHdoaWNoIGFyZS9oYXMgY29tcHJlc3NlZCBw dWJsaWMga2V5cyBjYW4gYmUNCiAgICAgICAgICBjb250YWluZWQgaW4gYTxici8+DQogICAgICAg ICAgJmx0O3R0Jmd0O3dwa2goKSZsdDsvdHQmZ3Q7IGV4cHJlc3Npb24uPGJyLz4NCiAgICAgICAg ICA8YnIvPg0KICAgICAgICAgIFRoZSBvdXRwdXQgc2NyaXB0IHByb2R1Y2VkIGlzOjxici8+DQog ICAgICAgICAgJmx0O3ByZSZndDs8YnIvPg0KICAgICAgICAgIE9QXzAgJmx0O0tFWV9oYXNoMTYw Jmd0Ozxici8+DQogICAgICAgICAgJmx0Oy9wcmUmZ3Q7PGJyLz4NCiAgICAgICAgICA8YnIvPg0K ICAgICAgICAgID09PSZsdDt0dCZndDt3c2goKSZsdDsvdHQmZ3Q7PT09PGJyLz4NCiAgICAgICAg ICA8YnIvPg0KICAgICAgICAgIFRoZSAmbHQ7dHQmZ3Q7d3NoKFNDUklQVCkmbHQ7L3R0Jmd0OyBl eHByZXNzaW9uIGNhbiBiZSB1c2VkIGFzDQogICAgICAgICAgYSB0b3AgbGV2ZWw8YnIvPg0KICAg ICAgICAgIGV4cHJlc3Npb24sIG9yIGluc2lkZSBvZiBhICZsdDt0dCZndDtzaCgpJmx0Oy90dCZn dDsNCiAgICAgICAgICBkZXNjcmlwdG9yLjxici8+DQogICAgICAgICAgSXQgdGFrZXMgYSBzaW5n bGUgc2NyaXB0IGV4cHJlc3Npb24gYXMgYW4gYXJndW1lbnQgYW5kDQogICAgICAgICAgcHJvZHVj ZXMgYSBQMldTSDxici8+DQogICAgICAgICAgb3V0cHV0IHNjcmlwdC48YnIvPg0KICAgICAgICAg ICZsdDt0dCZndDt3c2goKSZsdDsvdHQmZ3Q7IGV4cHJlc3Npb25zIGFsc28gY3JlYXRlIGENCiAg ICAgICAgICB3aXRuZXNzU2NyaXB0IHdoaWNoIGlzIHJlcXVpcmVkPGJyLz4NCiAgICAgICAgICBp biBvcmRlciB0byBzcGVuZCBvdXRwdXRzIHdoaWNoIHVzZSBpdHMgb3V0cHV0IHNjcmlwdC48YnIv Pg0KICAgICAgICAgIFRoaXMgcmVkZWVtU2NyaXB0IGlzIHRoZSBvdXRwdXQgc2NyaXB0IHByb2R1 Y2VkIGJ5IHRoZQ0KICAgICAgICAgICZsdDt0dCZndDtTQ1JJUFQmbHQ7L3R0Jmd0Ozxici8+DQog ICAgICAgICAgYXJndW1lbnQgdG8gJmx0O3R0Jmd0O3dzaCgpJmx0Oy90dCZndDsuPGJyLz4NCiAg ICAgICAgICBBbnkga2V5IGV4cHJlc3Npb24gZm91bmQgaW4gYW55IHNjcmlwdCBleHByZXNzaW9u IGNvbnRhaW5lZCBieQ0KICAgICAgICAgIGE8YnIvPg0KICAgICAgICAgICZsdDt0dCZndDt3c2go KSZsdDsvdHQmZ3Q7IGV4cHJlc3Npb24gbXVzdCBvbmx5IHByb2R1Y2UNCiAgICAgICAgICBjb21w cmVzZWQgcHVibGljIGtleXMuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFRoZSBv dXRwdXQgc2NyaXB0IHByb2R1Y2VkIGlzOjxici8+DQogICAgICAgICAgJmx0O3ByZSZndDs8YnIv Pg0KICAgICAgICAgIE9QXzAgJmx0O1NDUklQVF9zaGEyNTYmZ3Q7PGJyLz4NCiAgICAgICAgICAm bHQ7L3ByZSZndDs8YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1UZXN0IFZlY3Rv cnM9PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUQkQ8YnIvPg0KICAgICAgICAg IDxici8+DQogICAgICAgICAgPT1CYWNrd2FyZHMgQ29tcGF0aWJpbGl0eT09PGJyLz4NCiAgICAg ICAgICA8YnIvPg0KICAgICAgICAgICZsdDt0dCZndDt3cGtoKCkmbHQ7L3R0Jmd0OywgYW5kICZs dDt0dCZndDt3c2goKSZsdDsvdHQmZ3Q7DQogICAgICAgICAgZGVzY3JpcHRvcnMgdXNlIHRoZSBm b3JtYXQgYW5kPGJyLz4NCiAgICAgICAgICBnZW5lcmFsIG9wZXJhdGlvbiBzcGVjaWZpZWQgaW48 YnIvPg0KICAgICAgICAgIFtbYmlwLWRlc2NyaXB0b3ItZ2VuZXJhbC5tZWRpYXdpa2l8YmlwLWRl c2NyaXB0b3ItZ2VuZXJhbF1dLjxici8+DQogICAgICAgICAgQXMgdGhlc2UgYXJlIGEgd2hvbGx5 IG5ldyBkZXNjcmlwdG9ycywgdGhleSBhcmUgbm90IGNvbXBhdGlibGUNCiAgICAgICAgICB3aXRo IGFueTxici8+DQogICAgICAgICAgaW1wbGVtZW50YXRpb24uPGJyLz4NCiAgICAgICAgICBIb3dl dmVyIHRoZSBzY3JpcHRzIHByb2R1Y2VkIGFyZSBzdGFuZGFyZCBzY3JpcHRzIHNvIGV4aXN0aW5n DQogICAgICAgICAgc29mdHdhcmU8YnIvPg0KICAgICAgICAgIGFyZSBsaWtlbHkgdG8gYmUgZmFt aWxpYXIgd2l0aCB0aGVtLjxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICA9PVJlZmVy ZW5jZSBJbXBsZW1udGF0aW9uPT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgJmx0 O3R0Jmd0O3dwa2goKSZsdDsvdHQmZ3Q7LCBhbmQgJmx0O3R0Jmd0O3dzaCgpJmx0Oy90dCZndDsN CiAgICAgICAgICBkZXNjcmlwdG9ycyBoYXZlIGJlZW4gaW1wbGVtZW50ZWQgaW48YnIvPg0KICAg ICAgICAgIEJpdGNvaW4gQ29yZSBzaW5jZSB2ZXJzaW9uIDAuMTcuPGJyLz4NCiAgICAgICAgICA8 YnIvPg0KICAgICAgICAgIC0tLTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICAmbHQ7 cHJlJmd0Ozxici8+DQogICAgICAgICAgwqDCoCBCSVA6IGJpcC1kZXNjcmlwdG9ycy1ub24tc2Vn d2l0PGJyLz4NCiAgICAgICAgICDCoMKgIExheWVyOiBBcHBsaWNhdGlvbnM8YnIvPg0KICAgICAg ICAgIMKgwqAgVGl0bGU6IE5vbi1zZWd3aXQgT3V0cHV0IFNjcmlwdCBEZXNjcmlwdG9yczxici8+ DQogICAgICAgICAgwqDCoCBBdXRob3I6IFBpZXRlciBXdWlsbGUgJmx0OzxhIGhyZWY9Im1haWx0 bzpwaWV0ZXJAd3VpbGxlLm5ldCIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1 ZSI+cGlldGVyQHd1aWxsZS5uZXQ8L2E+Jmd0Ozxici8+DQogICAgICAgICAgwqDCoMKgwqDCoMKg wqDCoMKgwqAgQW5kcmV3IENob3cgJmx0OzxhIGhyZWY9Im1haWx0bzphbmRyZXdAYWNob3cxMDEu Y29tIiB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5hbmRyZXdAYWNob3cx MDEuY29tPC9hPiZndDs8YnIvPg0KICAgICAgICAgIMKgwqAgQ29tbWVudHMtU3VtbWFyeTogTm8g Y29tbWVudHMgeWV0Ljxici8+DQogICAgICAgICAgwqDCoCBDb21tZW50cy1VUkk6PGJyLz4NCiAg ICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzL3dpa2kvQ29t bWVudHM6QklQLWRlc2NyaXB0b3JzLW5vbi1zZWd3aXQiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0 PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+aHR0cHM6Ly9naXRodWIuY29tL2JpdGNv aW4vYmlwcy93aWtpL0NvbW1lbnRzOkJJUC1kZXNjcmlwdG9ycy1ub24tc2Vnd2l0PC9hPjxici8+ DQogICAgICAgICAgwqDCoCBTdGF0dXM6IERyYWZ0PGJyLz4NCiAgICAgICAgICDCoMKgIFR5cGU6 IEluZm9ybWF0aW9uYWw8YnIvPg0KICAgICAgICAgIMKgwqAgQ3JlYXRlZDogMjAyMS0wNi0yNzxi ci8+DQogICAgICAgICAgwqDCoCBMaWNlbnNlOiBCU0QtMi1DbGF1c2U8YnIvPg0KICAgICAgICAg ICZsdDsvcHJlJmd0Ozxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICA9PUFic3RyYWN0 PT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVGhpcyBkb2N1bWVudCBzcGVjaWZp ZXMgJmx0O3R0Jmd0O3BrKCkmbHQ7L3R0Jmd0OywNCiAgICAgICAgICAmbHQ7dHQmZ3Q7cGtoKCkm bHQ7L3R0Jmd0OywgYW5kICZsdDt0dCZndDtzaCgpJmx0Oy90dCZndDs8YnIvPg0KICAgICAgICAg IG91dHB1dCBzY3JpcHQgZGVzY3JpcHRvcnMuPGJyLz4NCiAgICAgICAgICAmbHQ7dHQmZ3Q7cGso KSZsdDsvdHQmZ3Q7IGRlc2NyaXB0b3JzIHRha2UgYSBrZXkgYW5kIHByb2R1Y2VzDQogICAgICAg ICAgYSBQMlBLIG91dHB1dCBzY3JpcHQuPGJyLz4NCiAgICAgICAgICAmbHQ7dHQmZ3Q7cGtoKCkm bHQ7L3R0Jmd0OyBkZXNjcmlwdG9ycyB0YWtlIGEga2V5IGFuZCBwcm9kdWNlcw0KICAgICAgICAg IGEgUDJQS0ggb3V0cHV0IHNjcmlwdC48YnIvPg0KICAgICAgICAgICZsdDt0dCZndDtzaCgpJmx0 Oy90dCZndDsgZGVzY3JpcHRvcnMgdGFrZSBhIHNjcmlwdCBhbmQNCiAgICAgICAgICBwcm9kdWNl cyBhIFAyU0ggb3V0cHV0IHNjcmlwdC48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAg PT1Db3B5cmlnaHQ9PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUaGlzIEJJUCBp cyBsaWNlbnNlZCB1bmRlciB0aGUgQlNEIDItY2xhdXNlIGxpY2Vuc2UuPGJyLz4NCiAgICAgICAg ICA8YnIvPg0KICAgICAgICAgID09TW90aXZhdGlvbj09PGJyLz4NCiAgICAgICAgICA8YnIvPg0K ICAgICAgICAgIFByaW9yIHRvIHRoZSBhY3RpdmF0aW9uIG9mIFNlZ3JlZ2F0ZWQgV2l0bmVzcywg dGhlcmUgd2VyZSAzDQogICAgICAgICAgbWFpbjxici8+DQogICAgICAgICAgc3RhbmRhcmQgb3V0 cHV0IHNjcmlwdCBmb3JtYXRzOiBQMlBLLCBQMlBLSCwgYW5kIFAyU0guPGJyLz4NCiAgICAgICAg ICBUaGVzZSBleHByZXNzaW9ucyBhbGxvdyBzcGVjaWZ5aW5nIHRob3NlIGZvcm1hdHMgYXMgYQ0K ICAgICAgICAgIGRlc2NyaXB0b3IuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgID09 U3BlY2lmaWNhdGlvbj09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFRocmVlIG5l dyBzY3JpcHQgZXhwcmVzc2lvbnMgYXJlIGRlZmluZWQ6DQogICAgICAgICAgJmx0O3R0Jmd0O3Br KCkmbHQ7L3R0Jmd0OywgJmx0O3R0Jmd0O3BraCgpJmx0Oy90dCZndDssPGJyLz4NCiAgICAgICAg ICBhbmQgJmx0O3R0Jmd0O3NoKCkmbHQ7L3R0Jmd0Oy48YnIvPg0KICAgICAgICAgIDxici8+DQog ICAgICAgICAgPT09Jmx0O3R0Jmd0O3BrKCkmbHQ7L3R0Jmd0Oz09PTxici8+DQogICAgICAgICAg PGJyLz4NCiAgICAgICAgICBUaGUgJmx0O3R0Jmd0O3BrKEtFWSkmbHQ7L3R0Jmd0OyBleHByZXNz aW9uIGNhbiBiZSB1c2VkIGluIGFueQ0KICAgICAgICAgIGNvbnRleHQgb3IgbGV2ZWwgb2YgYTxi ci8+DQogICAgICAgICAgZGVzY3JpcHRvci48YnIvPg0KICAgICAgICAgIEl0IHRha2VzIGEgc2lu Z2xlIGtleSBleHByZXNzaW9uIGFzIGFuIGFyZ3VtZW50IGFuZCBwcm9kdWNlcyBhDQogICAgICAg ICAgUDJQSzxici8+DQogICAgICAgICAgb3V0cHV0IHNjcmlwdC48YnIvPg0KICAgICAgICAgIERl cGVuZGluZyBvbiB0aGUgaGlnaGVyIGxldmVsIGRlc2NyaXB0b3JzLCB0aGVyZSBtYXkgYmUNCiAg ICAgICAgICByZXN0cmljdGlvbnMgb248YnIvPg0KICAgICAgICAgIHRoZSB0eXBlIG9mIHB1Ymxp YyBrZXlzIHRoYXQgY2FuIGJlIGluY2x1ZGVkLjxici8+DQogICAgICAgICAgU3VjaCByZXN0cmlj dGlvbnMgd2lsbCBiZSBzcGVjaWZpZWQgYnkgdGhvc2UgZGVzY3JpcHRvcnMuPGJyLz4NCiAgICAg ICAgICA8YnIvPg0KICAgICAgICAgIFRoZSBvdXRwdXQgc2NyaXB0IHByb2R1Y2VkIGlzOjxici8+ DQogICAgICAgICAgJmx0O3ByZSZndDs8YnIvPg0KICAgICAgICAgICZsdDtLRVkmZ3Q7IE9QX0NI RUNLU0lHPGJyLz4NCiAgICAgICAgICAmbHQ7L3ByZSZndDs8YnIvPg0KICAgICAgICAgIDxici8+ DQogICAgICAgICAgPT09Jmx0O3R0Jmd0O3BraCgpJmx0Oy90dCZndDs9PT08YnIvPg0KICAgICAg ICAgIDxici8+DQogICAgICAgICAgVGhlICZsdDt0dCZndDtwa2goS0VZKSZsdDsvdHQmZ3Q7IGV4 cHJlc3Npb24gY2FuIGJlIHVzZWQgYXMgYQ0KICAgICAgICAgIHRvcCBsZXZlbCBleHByZXNzaW9u LDxici8+DQogICAgICAgICAgb3IgaW5zaWRlIG9mIGVpdGhlciBhICZsdDt0dCZndDtzaCgpJmx0 Oy90dCZndDsgb3INCiAgICAgICAgICAmbHQ7dHQmZ3Q7d3NoKCkmbHQ7L3R0Jmd0OyBkZXNjcmlw dG9yLjxici8+DQogICAgICAgICAgSXQgdGFrZXMgYSBzaW5nbGUga2V5IGV4cHJlc3Npb24gYXMg YW4gYXJndW1lbnQgYW5kIHByb2R1Y2VzIGENCiAgICAgICAgICBQMlBLSDxici8+DQogICAgICAg ICAgb3V0cHV0IHNjcmlwdC48YnIvPg0KICAgICAgICAgIERlcGVuZGluZyBvbiB0aGUgaGlnaGVy IGxldmVsIGRlc2NyaXB0b3JzLCB0aGVyZSBtYXkgYmUNCiAgICAgICAgICByZXN0cmljdGlvbnMg b248YnIvPg0KICAgICAgICAgIHRoZSB0eXBlIG9mIHB1YmxpYyBrZXlzIHRoYXQgY2FuIGJlIGlu Y2x1ZGVkLjxici8+DQogICAgICAgICAgU3VjaCByZXN0cmljdGlvbnMgd2lsbCBiZSBzcGVjaWZp ZWQgYnkgdGhvc2UgZGVzY3JpcHRvcnMuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAg IFRoZSBvdXRwdXQgc2NyaXB0IHByb2R1Y2VkIGlzOjxici8+DQogICAgICAgICAgJmx0O3ByZSZn dDs8YnIvPg0KICAgICAgICAgIE9QX0RVUCBPUF9IQVNIMTYwICZsdDtLRVlfaGFzaDE2MCZndDsg T1BfRVFVQUxWRVJJRlkNCiAgICAgICAgICBPUF9DSEVDS1NJRzxici8+DQogICAgICAgICAgJmx0 Oy9wcmUmZ3Q7PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgID09PSZsdDt0dCZndDtz aCgpJmx0Oy90dCZndDs9PT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVGhlICZs dDt0dCZndDtzaChTQ1JJUFQpJmx0Oy90dCZndDsgZXhwcmVzc2lvbiBjYW4gb25seSBiZQ0KICAg ICAgICAgIHVzZWQgYXMgYSB0b3AgbGV2ZWw8YnIvPg0KICAgICAgICAgIGV4cHJlc3Npb24uPGJy Lz4NCiAgICAgICAgICBJdCB0YWtlcyBhIHNpbmdsZSBzY3JpcHQgZXhwcmVzc2lvbiBhcyBhbiBh cmd1bWVudCBhbmQNCiAgICAgICAgICBwcm9kdWNlcyBhIFAyU0g8YnIvPg0KICAgICAgICAgIG91 dHB1dCBzY3JpcHQuPGJyLz4NCiAgICAgICAgICAmbHQ7dHQmZ3Q7c2goKSZsdDsvdHQmZ3Q7IGV4 cHJlc3Npb25zIGFsc28gY3JlYXRlIGENCiAgICAgICAgICByZWRlZW1TY3JpcHQgd2hpY2ggaXMg cmVxdWlyZWQ8YnIvPg0KICAgICAgICAgIGluIG9yZGVyIHRvIHNwZW5kIG91dHB1dHMgd2hpY2gg dXNlIGl0cyBvdXRwdXQgc2NyaXB0Ljxici8+DQogICAgICAgICAgVGhpcyByZWRlZW1TY3JpcHQg aXMgdGhlIG91dHB1dCBzY3JpcHQgcHJvZHVjZWQgYnkgdGhlDQogICAgICAgICAgJmx0O3R0Jmd0 O1NDUklQVCZsdDsvdHQmZ3Q7PGJyLz4NCiAgICAgICAgICBhcmd1bWVudCB0byAmbHQ7dHQmZ3Q7 c2goKSZsdDsvdHQmZ3Q7Ljxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUaGUgb3V0 cHV0IHNjcmlwdCBwcm9kdWNlZCBpczo8YnIvPg0KICAgICAgICAgICZsdDtwcmUmZ3Q7PGJyLz4N CiAgICAgICAgICBPUF9IQVNIMTYwICZsdDtTQ1JJUFRfaGFzaDE2MCZndDsgT1BfRVFVQUw8YnIv Pg0KICAgICAgICAgICZsdDsvcHJlJmd0Ozxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAg ICA9PVRlc3QgVmVjdG9ycz09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFRCRDxi ci8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICA9PUJhY2t3YXJkcyBDb21wYXRpYmlsaXR5 PT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgJmx0O3R0Jmd0O3BrKCkmbHQ7L3R0 Jmd0OywgJmx0O3R0Jmd0O3BraCgpJmx0Oy90dCZndDssIGFuZA0KICAgICAgICAgICZsdDt0dCZn dDtzaCgpJmx0Oy90dCZndDsgZGVzY3JpcHRvcnMgdXNlIHRoZTxici8+DQogICAgICAgICAgZm9y bWF0IGFuZCBnZW5lcmFsIG9wZXJhdGlvbiBzcGVjaWZpZWQgaW48YnIvPg0KICAgICAgICAgIFtb YmlwLWRlc2NyaXB0b3ItZ2VuZXJhbC5tZWRpYXdpa2l8YmlwLWRlc2NyaXB0b3ItZ2VuZXJhbF1d Ljxici8+DQogICAgICAgICAgQXMgdGhlc2UgYXJlIGEgd2hvbGx5IG5ldyBkZXNjcmlwdG9ycywg dGhleSBhcmUgbm90IGNvbXBhdGlibGUNCiAgICAgICAgICB3aXRoIGFueTxici8+DQogICAgICAg ICAgaW1wbGVtZW50YXRpb24uPGJyLz4NCiAgICAgICAgICBIb3dldmVyIHRoZSBzY3JpcHRzIHBy b2R1Y2VkIGFyZSBzdGFuZGFyZCBzY3JpcHRzIHNvIGV4aXN0aW5nDQogICAgICAgICAgc29mdHdh cmU8YnIvPg0KICAgICAgICAgIGFyZSBsaWtlbHkgdG8gYmUgZmFtaWxpYXIgd2l0aCB0aGVtLjxi ci8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICA9PVJlZmVyZW5jZSBJbXBsZW1udGF0aW9u PT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgJmx0O3R0Jmd0O3BrKCkmbHQ7L3R0 Jmd0OywgJmx0O3R0Jmd0O3BraCgpJmx0Oy90dCZndDssIGFuZA0KICAgICAgICAgICZsdDt0dCZn dDtzaCgpJmx0Oy90dCZndDsgZGVzY3JpcHRvcnMgaGF2ZSBiZWVuPGJyLz4NCiAgICAgICAgICBp bXBsZW1lbnRlZCBpbiBCaXRjb2luIENvcmUgc2luY2UgdmVyc2lvbiAwLjE3Ljxici8+DQogICAg ICAgICAgPGJyLz4NCiAgICAgICAgICAtLS08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAg ICAgJmx0O3ByZSZndDs8YnIvPg0KICAgICAgICAgIMKgwqAgQklQOiBiaXAtZGVzY3JpcHRvcnMt dHI8YnIvPg0KICAgICAgICAgIMKgwqAgTGF5ZXI6IEFwcGxpY2F0aW9uczxici8+DQogICAgICAg ICAgwqDCoCBUaXRsZTogdHIoKSBPdXRwdXQgU2NyaXB0IERlc2NyaXB0b3JzPGJyLz4NCiAgICAg ICAgICDCoMKgIEF1dGhvcjogUGlldGVyIFd1aWxsZSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnBpZXRl ckB3dWlsbGUubmV0IiB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5waWV0 ZXJAd3VpbGxlLm5ldDwvYT4mZ3Q7PGJyLz4NCiAgICAgICAgICDCoMKgwqDCoMKgwqDCoMKgwqDC oCBBbmRyZXcgQ2hvdyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFuZHJld0BhY2hvdzEwMS5jb20iIHRh cmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPmFuZHJld0BhY2hvdzEwMS5jb208 L2E+Jmd0Ozxici8+DQogICAgICAgICAgwqDCoCBDb21tZW50cy1TdW1tYXJ5OiBObyBjb21tZW50 cyB5ZXQuPGJyLz4NCiAgICAgICAgICDCoMKgIENvbW1lbnRzLVVSSTo8YnIvPg0KICAgICAgICAg IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpcHMvd2lraS9Db21tZW50czpC SVAtZGVzY3JpcHRvcnMtdHIiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiIG1vei1k by1ub3Qtc2VuZD0idHJ1ZSI+aHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYmlwcy93aWtpL0Nv bW1lbnRzOkJJUC1kZXNjcmlwdG9ycy10cjwvYT48YnIvPg0KICAgICAgICAgIMKgwqAgU3RhdHVz OiBEcmFmdDxici8+DQogICAgICAgICAgwqDCoCBUeXBlOiBJbmZvcm1hdGlvbmFsPGJyLz4NCiAg ICAgICAgICDCoMKgIENyZWF0ZWQ6IDIwMjEtMDYtMjc8YnIvPg0KICAgICAgICAgIMKgwqAgTGlj ZW5zZTogQlNELTItQ2xhdXNlPGJyLz4NCiAgICAgICAgICAmbHQ7L3ByZSZndDs8YnIvPg0KICAg ICAgICAgIDxici8+DQogICAgICAgICAgPT1BYnN0cmFjdD09PGJyLz4NCiAgICAgICAgICA8YnIv Pg0KICAgICAgICAgIFRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzICZsdDt0dCZndDt0cigpJmx0Oy90 dCZndDsgb3V0cHV0DQogICAgICAgICAgc2NyaXB0IGRlc2NyaXB0b3JzLjxici8+DQogICAgICAg ICAgJmx0O3R0Jmd0O3RyKCkmbHQ7L3R0Jmd0OyBkZXNjcmlwdG9ycyB0YWtlIGEga2V5IGFuZA0K ICAgICAgICAgIG9wdGlvbmFsbHkgYSB0cmVlIG9mIHNjcmlwdHM8YnIvPg0KICAgICAgICAgIGFu ZCBwcm9kdWNlcyBhIFAyVFIgb3V0cHV0IHNjcmlwdC48YnIvPg0KICAgICAgICAgIDxici8+DQog ICAgICAgICAgPT1Db3B5cmlnaHQ9PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBU aGlzIEJJUCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNEIDItY2xhdXNlIGxpY2Vuc2UuPGJyLz4N CiAgICAgICAgICA8YnIvPg0KICAgICAgICAgID09TW90aXZhdGlvbj09PGJyLz4NCiAgICAgICAg ICA8YnIvPg0KICAgICAgICAgIFRhcHJvb3QgYWRkZWQgb25lIGFkZGl0aW9uYWwgc3RhbmRhcmQg b3V0cHV0IHNjcmlwdCBmb3JtYXQ6DQogICAgICAgICAgUDJUUi48YnIvPg0KICAgICAgICAgIFRo ZXNlIGV4cHJlc3Npb25zIGFsbG93IHNwZWNpZnlpbmcgdGhvc2UgZm9ybWF0cyBhcyBhDQogICAg ICAgICAgZGVzY3JpcHRvci48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1TcGVj aWZpY2F0aW9uPT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgQSBuZXcgc2NyaXB0 IGV4cHJlc3Npb25zIGFyZSBkZWZpbmVkOg0KICAgICAgICAgICZsdDt0dCZndDt0cigpJmx0Oy90 dCZndDsuPGJyLz4NCiAgICAgICAgICBBIG5ldyBleHByZXNzaW9uIGlzIGRlZmluZWQ6IFRyZWUg RXhwcmVzc2lvbnM8YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT09VHJlZSBFeHBy ZXNzaW9uPT09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIEEgVHJlZSBFeHByZXNz aW9uIChkZW5vdGVkICZsdDt0dCZndDtUUkVFJmx0Oy90dCZndDspIGlzIGFuDQogICAgICAgICAg ZXhwcmVzc2lvbiB3aGljaDxici8+DQogICAgICAgICAgcmVwcmVzZW50cyBhIHRyZWUgb2Ygc2Ny aXB0cy48YnIvPg0KICAgICAgICAgIFRoZSB3YXkgdGhlIHRyZWUgaXMgcmVwcmVzZW50ZWQgaW4g YW4gb3V0cHV0IHNjcmlwdCBpcw0KICAgICAgICAgIGRlcGVuZGVudCBvbiB0aGU8YnIvPg0KICAg ICAgICAgIGhpZ2hlciBsZXZlbCBleHByZXNzaW9ucy48YnIvPg0KICAgICAgICAgIDxici8+DQog ICAgICAgICAgQSBUcmVlIEV4cHJlc3Npb24gaXM6PGJyLz4NCiAgICAgICAgICAqIEFueSBTY3Jp cHQgRXhwcmVzc2lvbiB0aGF0IGlzIGFsbG93ZWQgYXQgdGhlIGxldmVsIHRoaXMgVHJlZTxici8+ DQogICAgICAgICAgRXhwcmVzc2lvbiBpcyBpbi48YnIvPg0KICAgICAgICAgICogQSBwYWlyIG9m IFRyZWUgRXhwcmVzc2lvbnMgY29uc2lzdGluZyBvZjo8YnIvPg0KICAgICAgICAgICoqIEFuIG9w ZW4gYnJhY2UgJmx0O3R0Jmd0O3smbHQ7L3R0Jmd0Ozxici8+DQogICAgICAgICAgKiogQSBUcmVl IEV4cHJlc3Npb248YnIvPg0KICAgICAgICAgICoqIEEgY29tbWEgJmx0O3R0Jmd0OywmbHQ7L3R0 Jmd0Ozxici8+DQogICAgICAgICAgKiogQSBUcmVlIEV4cHJlc3Npb248YnIvPg0KICAgICAgICAg ICoqIEEgY2xvc2luZyBicmFuY2UgJmx0O3R0Jmd0O30mbHQ7L3R0Jmd0Ozxici8+DQogICAgICAg ICAgPGJyLz4NCiAgICAgICAgICA9PT0mbHQ7dHQmZ3Q7dHIoKSZsdDsvdHQmZ3Q7PT09PGJyLz4N CiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFRoZSAmbHQ7dHQmZ3Q7dHIoS0VZKSZsdDsvdHQm Z3Q7IG9yICZsdDt0dCZndDt0cihLRVksDQogICAgICAgICAgVFJFRSkmbHQ7L3R0Jmd0OyBleHBy ZXNzaW9uIGNhbiBvbmx5IGJlPGJyLz4NCiAgICAgICAgICB1c2VkIGFzIGEgdG9wIGxldmVsIGV4 cHJlc3Npb24uPGJyLz4NCiAgICAgICAgICBBbGwga2V5IGV4cHJlc3Npb25zIHVuZGVyIGFueSAm bHQ7dHQmZ3Q7dHIoKSZsdDsvdHQmZ3Q7DQogICAgICAgICAgZXhwcmVzc2lvbiBtdXN0IGNyZWF0 ZTxici8+DQogICAgICAgICAgeC1vbmx5IHB1YmxpYyBrZXlzLjxici8+DQogICAgICAgICAgPGJy Lz4NCiAgICAgICAgICAmbHQ7dHQmZ3Q7dHIoS0VZJmx0Oy90dCZndDsgdGFrZXMgYSBzaW5nbGUg a2V5IGV4cHJlc3Npb24gYXMNCiAgICAgICAgICBhbiBhcmd1bWVudCBhbmQ8YnIvPg0KICAgICAg ICAgIHByb2R1Y2VzIGEgUDJUUiBvdXRwdXQgc2NyaXB0IHdoaWNoIGRvZXMgbm90IGhhdmUgYSBz Y3JpcHQNCiAgICAgICAgICBwYXRoLjxici8+DQogICAgICAgICAgVGhlIGtleXMgcHJvZHVjZWQg YnkgdGhlIGtleSBleHByZXNzaW9uIGFyZSB1c2VkIGFzIHRoZQ0KICAgICAgICAgIGludGVybmFs IGtleSBhczxici8+DQogICAgICAgICAgc3BlY2lmaWVkIGJ5IFtbYmlwLTAzNDEubWVkaWF3aWtp I2NpdGVfcmVmLTIyLTB8QklQIDM0MV1dLjxici8+DQogICAgICAgICAgU3BlY2lmaWNhbGx5LCAm IzM0O0lmIHRoZSBzcGVuZGluZyBjb25kaXRpb25zIGRvIG5vdCByZXF1aXJlIGENCiAgICAgICAg ICBzY3JpcHQgcGF0aCw8YnIvPg0KICAgICAgICAgIHRoZSBvdXRwdXQga2V5IHNob3VsZCBjb21t aXQgdG8gYW4gdW5zcGVuZGFibGUgc2NyaXB0IHBhdGgNCiAgICAgICAgICBpbnN0ZWFkIG9mPGJy Lz4NCiAgICAgICAgICBoYXZpbmcgbm8gc2NyaXB0IHBhdGguPGJyLz4NCiAgICAgICAgICBUaGlz IGNhbiBiZSBhY2hpZXZlZCBieSBjb21wdXRpbmcgdGhlIG91dHB1dCBrZXkgcG9pbnQgYXMgJiMz OTsmIzM5O1ENCiAgICAgICAgICA9IFAgKzxici8+DQogICAgICAgICAgaW50KGhhc2gmbHQ7c3Vi Jmd0O1RhcFR3ZWFrJmx0Oy9zdWImZ3Q7KGJ5dGVzKFApKSlHJiMzOTsmIzM5Oy4mIzM0Ozxici8+ DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICAmbHQ7cHJlJmd0Ozxici8+DQogICAgICAgICAg aW50ZXJuYWxfa2V5OsKgwqDCoMKgwqDCoCBsaWZ0X3goS0VZKTxici8+DQogICAgICAgICAgMzJf Ynl0ZV9vdXRwdXRfa2V5OiBpbnRlcm5hbF9rZXkgKw0KICAgICAgICAgIGludChIYXNoVGFwVHdl YWsoYnl0ZXMoaW50ZXJuYWxfa2V5KSkpRzxici8+DQogICAgICAgICAgc2NyaXB0UHViS2V5OsKg wqDCoMKgwqDCoCBPUF8xICZsdDszMl9ieXRlX291dHB1dF9rZXkmZ3Q7PGJyLz4NCiAgICAgICAg ICAmbHQ7L3ByZSZndDs8YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgJmx0O3R0Jmd0 O3RyKEtFWSwgVFJFRSkmbHQ7L3R0Jmd0OyB0YWtlcyBhIGtleSBleHByZXNzaW9uIGFzDQogICAg ICAgICAgdGhlIGZpcnN0IGFyZ3VtZW50LCBhbmQ8YnIvPg0KICAgICAgICAgIGEgdHJlZSBleHBy ZXNzaW9uIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgYW5kIHByb2R1Y2VzIGEgUDJUUg0KICAgICAg ICAgIG91dHB1dDxici8+DQogICAgICAgICAgc2NyaXB0IHdoaWNoIGhhcyBhIHNjcmlwdCBwYXRo Ljxici8+DQogICAgICAgICAgVGhlIGtleXMgcHJvZHVjZWQgYnkgdGhlIGZpcnN0IGtleSBleHBy ZXNzaW9uIGFyZSB1c2VkIGFzIHRoZQ0KICAgICAgICAgIGludGVybmFsPGJyLz4NCiAgICAgICAg ICBrZXkgYXMgc3BlY2lmaWVkIGJ5PGJyLz4NCltbYmlwLTAzNDEubWVkaWF3aWtpI0NvbnN0cnVj dGluZ19hbmRfc3BlbmRpbmdfVGFwcm9vdF9vdXRwdXRzfEJJUA0KICAgICAgICAgIDM0MV1dLjxi ci8+DQogICAgICAgICAgVGhlIFRyZWUgZXhwcmVzc2lvbiBiZWNvbWVzIHRoZSBUYXByb290IHNj cmlwdCB0cmVlIGFzDQogICAgICAgICAgZGVzY3JpYmVkIGluIEJJUCAzNDEuPGJyLz4NCiAgICAg ICAgICBBIG1lcmtsZSByb290IGlzIGNvbXB1dGVkIGZyb20gdGhpcyB0cmVlIGFuZCBjb21iaW5l ZCB3aXRoIHRoZQ0KICAgICAgICAgIGludGVybmFsPGJyLz4NCiAgICAgICAgICBrZXkgdG8gY3Jl YXRlIHRoZSBUYXByb290IG91dHB1dCBrZXkuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAg ICAgICZsdDtwcmUmZ3Q7PGJyLz4NCiAgICAgICAgICBpbnRlcm5hbF9rZXk6wqDCoMKgwqDCoMKg IGxpZnRfeChLRVkpPGJyLz4NCiAgICAgICAgICBtZXJrbGVfcm9vdDrCoMKgwqDCoMKgwqDCoCBI YXNoVGFwQnJhbmNoKFRSRUUpPGJyLz4NCiAgICAgICAgICAzMl9ieXRlX291dHB1dF9rZXk6IGlu dGVybmFsX2tleSArDQogICAgICAgICAgaW50KEhhc2hUYXBUd2VhayhieXRlcyhpbnRlcm5hbF9r ZXkpPGJyLz4NCiAgICAgICAgICB8fCBtZXJrbGVfcm9vdCkpRzxici8+DQogICAgICAgICAgc2Ny aXB0UHViS2V5OsKgwqDCoMKgwqDCoCBPUF8xICZsdDszMl9ieXRlX291dHB1dF9rZXkmZ3Q7PGJy Lz4NCiAgICAgICAgICAmbHQ7L3ByZSZndDs8YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAg ICAgPT1UZXN0IFZlY3RvcnM9PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUQkQ8 YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1CYWNrd2FyZHMgQ29tcGF0aWJpbGl0 eT09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgICZsdDt0dCZndDt0cigpJmx0Oy90 dCZndDsgZGVzY3JpcHRvcnMgdXNlIHRoZSBmb3JtYXQgYW5kDQogICAgICAgICAgZ2VuZXJhbCBv cGVyYXRpb24gc3BlY2lmaWVkPGJyLz4NCiAgICAgICAgICBpbg0KICAgICAgICAgIFtbYmlwLWRl c2NyaXB0b3ItZ2VuZXJhbC5tZWRpYXdpa2l8YmlwLWRlc2NyaXB0b3ItZ2VuZXJhbF1dLjxici8+ DQogICAgICAgICAgQXMgdGhlc2UgYXJlIGEgd2hvbGx5IG5ldyBkZXNjcmlwdG9ycywgdGhleSBh cmUgbm90IGNvbXBhdGlibGUNCiAgICAgICAgICB3aXRoIGFueTxici8+DQogICAgICAgICAgaW1w bGVtZW50YXRpb24uPGJyLz4NCiAgICAgICAgICBIb3dldmVyIHRoZSBzY3JpcHRzIHByb2R1Y2Vk IGFyZSBzdGFuZGFyZCBzY3JpcHRzIHNvIGV4aXN0aW5nDQogICAgICAgICAgc29mdHdhcmU8YnIv Pg0KICAgICAgICAgIGFyZSBsaWtlbHkgdG8gYmUgZmFtaWxpYXIgd2l0aCB0aGVtLjxici8+DQog ICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUcmVlIEV4cHJlc3Npb25zIGFyZSBsYXJnZWx5IGlu Y29tcGF0aWJsZSB3aXRoIGV4aXN0aW5nIHNjcmlwdDxici8+DQogICAgICAgICAgZXhwcmVzc2lv bnMgZHVlIHRvIHRoZSByZXN0cmljdGlvbnMgaW4gdGhvc2UgZXhwcmVzc2lvbnMuPGJyLz4NCiAg ICAgICAgICBBcyBvZiAyMDIxLTA2LTI3LCB0aGUgb25seSBhbGxvd2VkIHNjcmlwdCBleHByZXNz aW9uIHRoYXQgY2FuDQogICAgICAgICAgYmUgdXNlZCBpbjxici8+DQogICAgICAgICAgYSB0cmVl IGV4cHJlc3Npb24gaXMgJmx0O3R0Jmd0O3BrKCkmbHQ7L3R0Jmd0Oy48YnIvPg0KICAgICAgICAg IEhvd2V2ZXIgdGhlcmUgd2lsbCBiZSBmdXR1cmUgQklQcyB0aGF0IHNwZWNpZnkgc2NyaXB0DQog ICAgICAgICAgZXhwcmVzc2lvbnMgdGhhdDxici8+DQogICAgICAgICAgY2FuIGJlIHVzZWQgaW4g dHJlZSBleHByZXNzaW9ucy48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1SZWZl cmVuY2UgSW1wbGVtbnRhdGlvbj09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgICZs dDt0dCZndDt0cigpJmx0Oy90dCZndDsgZGVzY3JpcHRvcnMgaGF2ZSBiZWVuIGltcGxlbWVudGVk IGluDQogICAgICAgICAgQml0Y29pbiBDb3JlIHNpbmNlPGJyLz4NCiAgICAgICAgICB2ZXJzaW9u IDIyLjAuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIC0tLTxici8+DQogICAgICAg ICAgPGJyLz4NCiAgICAgICAgICAmbHQ7cHJlJmd0Ozxici8+DQogICAgICAgICAgwqDCoCBCSVA6 IGJpcC1kZXNjcmlwdG9ycy1tdWx0aTxici8+DQogICAgICAgICAgwqDCoCBMYXllcjogQXBwbGlj YXRpb25zPGJyLz4NCiAgICAgICAgICDCoMKgIFRpdGxlOiBNdWx0aXNpZyBPdXRwdXQgU2NyaXB0 IERlc2NyaXB0b3JzPGJyLz4NCiAgICAgICAgICDCoMKgIEF1dGhvcjogUGlldGVyIFd1aWxsZSAm bHQ7PGEgaHJlZj0ibWFpbHRvOnBpZXRlckB3dWlsbGUubmV0IiB0YXJnZXQ9Il9ibGFuayIgbW96 LWRvLW5vdC1zZW5kPSJ0cnVlIj5waWV0ZXJAd3VpbGxlLm5ldDwvYT4mZ3Q7PGJyLz4NCiAgICAg ICAgICDCoMKgwqDCoMKgwqDCoMKgwqDCoCBBbmRyZXcgQ2hvdyAmbHQ7PGEgaHJlZj0ibWFpbHRv OmFuZHJld0BhY2hvdzEwMS5jb20iIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRy dWUiPmFuZHJld0BhY2hvdzEwMS5jb208L2E+Jmd0Ozxici8+DQogICAgICAgICAgwqDCoCBDb21t ZW50cy1TdW1tYXJ5OiBObyBjb21tZW50cyB5ZXQuPGJyLz4NCiAgICAgICAgICDCoMKgIENvbW1l bnRzLVVSSTo8YnIvPg0KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9iaXRj b2luL2JpcHMvd2lraS9Db21tZW50czpCSVAtZGVzY3JpcHRvcnMtbXVsdGkiIHJlbD0ibm9yZWZl cnJlciIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+aHR0cHM6Ly9naXRo dWIuY29tL2JpdGNvaW4vYmlwcy93aWtpL0NvbW1lbnRzOkJJUC1kZXNjcmlwdG9ycy1tdWx0aTwv YT48YnIvPg0KICAgICAgICAgIMKgwqAgU3RhdHVzOiBEcmFmdDxici8+DQogICAgICAgICAgwqDC oCBUeXBlOiBJbmZvcm1hdGlvbmFsPGJyLz4NCiAgICAgICAgICDCoMKgIENyZWF0ZWQ6IDIwMjEt MDYtMjc8YnIvPg0KICAgICAgICAgIMKgwqAgTGljZW5zZTogQlNELTItQ2xhdXNlPGJyLz4NCiAg ICAgICAgICAmbHQ7L3ByZSZndDs8YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1B YnN0cmFjdD09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFRoaXMgZG9jdW1lbnQg c3BlY2lmaWVzICZsdDt0dCZndDttdWx0aSgpJmx0Oy90dCZndDssIGFuZA0KICAgICAgICAgICZs dDt0dCZndDtzb3J0ZWRtdWx0aSgpJmx0Oy90dCZndDs8YnIvPg0KICAgICAgICAgIG91dHB1dCBz Y3JpcHQgZGVzY3JpcHRvcnMuPGJyLz4NCiAgICAgICAgICBCb3RoIGZ1bmN0aW9ucyB0YWtlIGEg dGhyZXNob2xkIGFuZCBvbmUgb3IgbW9yZSBwdWJsaWMga2V5cw0KICAgICAgICAgIGFuZCBwcm9k dWNlPGJyLz4NCiAgICAgICAgICBhIG11bHRpc2lnIG91dHB1dCBzY3JpcHQuPGJyLz4NCiAgICAg ICAgICAmbHQ7dHQmZ3Q7bXVsdGkoKSZsdDsvdHQmZ3Q7IHNwZWNpZmllcyB0aGUgcHVibGljIGtl eXMgaW4gdGhlDQogICAgICAgICAgb3V0cHV0IHNjcmlwdCBpbiB0aGU8YnIvPg0KICAgICAgICAg IG9yZGVyIGdpdmVuIGluIHRoZSBkZXNjcmlwdG9yIHdoaWxlDQogICAgICAgICAgJmx0O3R0Jmd0 O3NvcnRlZG11bHRpKCkmbHQ7L3R0Jmd0OyBzb3J0cyB0aGU8YnIvPg0KICAgICAgICAgIHB1Ymxp YyBrZXlzIGxleGljb2dyYXBoaWNhbGx5IHdoZW4gdGhlIG91dHB1dCBzY3JpcHQgaXMNCiAgICAg ICAgICBwcm9kdWNlZC48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1Db3B5cmln aHQ9PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUaGlzIEJJUCBpcyBsaWNlbnNl ZCB1bmRlciB0aGUgQlNEIDItY2xhdXNlIGxpY2Vuc2UuPGJyLz4NCiAgICAgICAgICA8YnIvPg0K ICAgICAgICAgID09TW90aXZhdGlvbj09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAg IFRoZSBtb3N0IGNvbW1vbiBjb21wbGV4IHNjcmlwdCB1c2VkIGluIEJpdGNvaW4gaXMgYSB0aHJl c2hvbGQNCiAgICAgICAgICBtdWx0aXNpZy48YnIvPg0KICAgICAgICAgIFRoZXNlIGV4cHJlc3Np b25zIGFsbG93IHNwZWNpZnlpbmcgbXVsdGlzaWcgc2NyaXB0cyBhcyBhDQogICAgICAgICAgZGVz Y3JpcHRvci48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1TcGVjaWZpY2F0aW9u PT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVHdvIG5ldyBzY3JpcHQgZXhwcmVz c2lvbnMgYXJlIGRlZmluZWQ6DQogICAgICAgICAgJmx0O3R0Jmd0O211bHRpKCkmbHQ7L3R0Jmd0 OywgYW5kPGJyLz4NCiAgICAgICAgICAmbHQ7dHQmZ3Q7c29ydGVkbXVsdGkoKSZsdDsvdHQmZ3Q7 Ljxici8+DQogICAgICAgICAgQm90aCBleHByZXNzaW9ucyBwcm9kdWNlIHRoZSBzY3JpcHRzIG9m IHRoZSBzYW1lIHRlbXBsYXRlIGFuZA0KICAgICAgICAgIHRha2UgdGhlPGJyLz4NCiAgICAgICAg ICBzYW1lIGFyZ3VtZW50cy48YnIvPg0KICAgICAgICAgIFRoZXkgYXJlIHdyaXR0ZW4gYXMNCiAg ICAgICAgICAmbHQ7dHQmZ3Q7bXVsdGkoayxLRVlfMSxLRVlfMiwuLi4sS0VZX24pJmx0Oy90dCZn dDsuPGJyLz4NCiAgICAgICAgICAmbHQ7dHQmZ3Q7ayZsdDsvdHQmZ3Q7IGlzIHRoZSB0aHJlc2hv bGQgLSB0aGUgbnVtYmVyIG9mIGtleXMNCiAgICAgICAgICB0aGF0IG11c3Qgc2lnbiB0aGU8YnIv Pg0KICAgICAgICAgIGlucHV0IGZvciB0aGUgc2NyaXB0IHRvIGJlIHZhbGlkLjxici8+DQogICAg ICAgICAgJmx0O3R0Jmd0O0tFWV8xLEtFWV8yLC4uLixLRVlfbiZsdDsvdHQmZ3Q7IGFyZSB0aGUg a2V5DQogICAgICAgICAgZXhwcmVzc2lvbnMgZm9yIHRoZSBtdWx0aXNpZy48YnIvPg0KICAgICAg ICAgICZsdDt0dCZndDtrJmx0Oy90dCZndDsgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8N CiAgICAgICAgICAmbHQ7dHQmZ3Q7biZsdDt0dCZndDsuPGJyLz4NCiAgICAgICAgICA8YnIvPg0K ICAgICAgICAgICZsdDt0dCZndDttdWx0aSgpJmx0Oy90dCZndDsgYW5kDQogICAgICAgICAgJmx0 O3R0Jmd0O3NvcnRlZG11bHRpKCkmbHQ7L3R0Jmd0OyBleHByZXNzaW9ucyBjYW4gYmUgdXNlZCBh cw0KICAgICAgICAgIGE8YnIvPg0KICAgICAgICAgIHRvcCBsZXZlbCBleHByZXNzaW9uLCBvciBp bnNpZGUgb2YgZWl0aGVyIGENCiAgICAgICAgICAmbHQ7dHQmZ3Q7c2goKSZsdDsvdHQmZ3Q7IG9y PGJyLz4NCiAgICAgICAgICAmbHQ7dHQmZ3Q7d3NoKCkmbHQ7L3R0Jmd0OyBkZXNjcmlwdG9yLjxi ci8+DQogICAgICAgICAgRGVwZW5kaW5nIG9uIHRoZSBoaWdoZXIgbGV2ZWwgZGVzY3JpcHRvcnMs IHRoZXJlIG1heSBiZQ0KICAgICAgICAgIHJlc3RyaWN0aW9ucyBvbjxici8+DQogICAgICAgICAg dGhlIHR5cGUgb2YgcHVibGljIGtleXMgdGhhdCBjYW4gYmUgaW5jbHVkZWQuPGJyLz4NCiAgICAg ICAgICA8YnIvPg0KICAgICAgICAgIERlcGVuZGluZyBvbiB0aGUgaGlnaGVyIGxldmVsIGRlc2Ny aXB0b3JzLCB0aGVyZSBhcmUgYWxzbw0KICAgICAgICAgIHJlc3RyaWN0aW9uczxici8+DQogICAg ICAgICAgb24gdGhlIG51bWJlciBvZiBrZXlzIHRoYXQgY2FuIGJlIHByZXNlbnQsIGkuZS4gdGhl IG1heGltdW0NCiAgICAgICAgICB2YWx1ZSBvZjxici8+DQogICAgICAgICAgJmx0O3R0Jmd0O24m bHQ7L3R0Jmd0Oy48YnIvPg0KICAgICAgICAgIFdoZW4gdXNlZCBhdCB0aGUgdG9wIGxldmVsLCB0 aGVyZSBjYW4gb25seSBiZSBhdCBtb3N0IDMga2V5cy48YnIvPg0KICAgICAgICAgIFdoZW4gdXNl ZCBpbnNpZGUgb2YgYSAmbHQ7dHQmZ3Q7c2goKSZsdDsvdHQmZ3Q7IGV4cHJlc3Npb24sDQogICAg ICAgICAgdGhlcmUgY2FuIG9ubHkgYmUgbW9zdDxici8+DQogICAgICAgICAgMTUgY29tcHJlc3Nl ZCBwdWJsaWMga2V5cyAodGhpcyBpcyBsaW1pdGVkIGJ5IHRoZSBQMlNIIHNjcmlwdA0KICAgICAg ICAgIGxpbWl0KS48YnIvPg0KICAgICAgICAgIE90aGVyd2lzZSB0aGUgbWF4aW11bSBudW1iZXIg b2Yga2V5cyBpcyAyMC48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVGhlIG91dHB1 dCBzY3JpcHQgcHJvZHVjZWQgYWxzbyBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBvZg0KICAgICAgICAg ICZsdDt0dCZndDtrJmx0Oy90dCZndDsuIElmPGJyLz4NCiAgICAgICAgICAmbHQ7dHQmZ3Q7ayZs dDsvdHQmZ3Q7IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxNjo8YnIvPg0KICAgICAgICAgICZs dDtwcmUmZ3Q7PGJyLz4NCiAgICAgICAgICBPUF9rIEtFWV8xIEtFWV8yIC4uLiBLRVlfbiBPUF9D SEVDS01VTFRJU0lHPGJyLz4NCiAgICAgICAgICAmbHQ7L3ByZSZndDs8YnIvPg0KICAgICAgICAg IDxici8+DQogICAgICAgICAgaWYgJmx0O3R0Jmd0O2smbHQ7L3R0Jmd0OyBpcyBncmVhdGVyIHRo YW4gMTY6PGJyLz4NCiAgICAgICAgICAmbHQ7cHJlJmd0Ozxici8+DQogICAgICAgICAgayBLRVlf MSBLRVlfMiAuLi4gS0VZX24gT1BfQ0hFQ0tNVUxUSVNJRzxici8+DQogICAgICAgICAgJmx0Oy9w cmUmZ3Q7PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgID09PSZsdDt0dCZndDtzb3J0 ZWRtdWx0aSgpJmx0Oy90dCZndDs9PT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAg VGhlIG9ubHkgY2hhbmdlIGZvciAmbHQ7dHQmZ3Q7c29ydGVkbXVsdGkoKSZsdDsvdHQmZ3Q7IGlz IHRoYXQNCiAgICAgICAgICB0aGUga2V5cyBhcmUgc29ydGVkPGJyLz4NCiAgICAgICAgICBsZXhp Y29ncmFwaGljYWxseSBwcmlvciB0byB0aGUgY3JlYXRpb24gb2YgdGhlIG91dHB1dCBzY3JpcHQu PGJyLz4NCiAgICAgICAgICBUaGlzIHNvcnRpbmcgaXMgb24gdGhlIGtleXMgdGhhdCBhcmUgdG8g YmUgcHV0IGludG8gdGhlIG91dHB1dA0KICAgICAgICAgIHNjcmlwdCw8YnIvPg0KICAgICAgICAg IGkuZS4gYWZ0ZXIgYWxsIGV4dGVuZGVkIGtleXMgYXJlIGRlcml2ZWQuPGJyLz4NCiAgICAgICAg ICA8YnIvPg0KICAgICAgICAgID09PU11bHRpcGxlIEV4dGVuZGVkIEtleXMmbHQ7L3R0Jmd0Oz09 PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBXaGVuIG9uZSBvciBtb3JlIHRoZSBr ZXkgZXhwcmVzc2lvbnMgaW4gYQ0KICAgICAgICAgICZsdDt0dCZndDttdWx0aSgpJmx0Oy90dCZn dDsgb3I8YnIvPg0KICAgICAgICAgICZsdDt0dCZndDtzb3J0ZWRtdWx0aSgpJmx0Oy90dCZndDsg ZXhwcmVzc2lvbiBhcmUgZXh0ZW5kZWQNCiAgICAgICAgICBrZXlzLCB0aGUgZGVyaXZlZCBrZXlz PGJyLz4NCiAgICAgICAgICB1c2UgdGhlIHNhbWUgY2hpbGQgaW5kZXguPGJyLz4NCiAgICAgICAg ICBUaGlzIGNoYW5nZXMgdGhlIGtleXMgaW4gbG9ja3N0ZXAgYW5kIGFsbG93cyBmb3Igb3V0cHV0 DQogICAgICAgICAgc2NyaXB0cyB0byBiZTxici8+DQogICAgICAgICAgaW5kZXhlZCBpbiB0aGUg c2FtZSB3YXkgdGhhdCB0aGUgZGVyaXZlZCBrZXlzIGFyZSBpbmRleGVkLjxici8+DQogICAgICAg ICAgPGJyLz4NCiAgICAgICAgICA9PVRlc3QgVmVjdG9ycz09PGJyLz4NCiAgICAgICAgICA8YnIv Pg0KICAgICAgICAgIFRCRDxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICA9PUJhY2t3 YXJkcyBDb21wYXRpYmlsaXR5PT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgJmx0 O3R0Jmd0O211bHRpKCkmbHQ7L3R0Jmd0OywgYW5kDQogICAgICAgICAgJmx0O3R0Jmd0O3NvcnRl ZG11bHRpKCkmbHQ7L3R0Jmd0OyBkZXNjcmlwdG9ycyB1c2UgdGhlIGZvcm1hdDxici8+DQogICAg ICAgICAgYW5kIGdlbmVyYWwgb3BlcmF0aW9uIHNwZWNpZmllZCBpbjxici8+DQogICAgICAgICAg W1tiaXAtZGVzY3JpcHRvci1nZW5lcmFsLm1lZGlhd2lraXxiaXAtZGVzY3JpcHRvci1nZW5lcmFs XV0uPGJyLz4NCiAgICAgICAgICBBcyB0aGVzZSBhcmUgYSB3aG9sbHkgbmV3IGRlc2NyaXB0b3Jz LCB0aGV5IGFyZSBub3QgY29tcGF0aWJsZQ0KICAgICAgICAgIHdpdGggYW55PGJyLz4NCiAgICAg ICAgICBpbXBsZW1lbnRhdGlvbi48YnIvPg0KICAgICAgICAgIEhvd2V2ZXIgdGhlIHNjcmlwdHMg cHJvZHVjZWQgYXJlIHN0YW5kYXJkIHNjcmlwdHMgc28gZXhpc3RpbmcNCiAgICAgICAgICBzb2Z0 d2FyZTxici8+DQogICAgICAgICAgYXJlIGxpa2VseSB0byBiZSBmYW1pbGlhciB3aXRoIHRoZW0u PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgID09UmVmZXJlbmNlIEltcGxlbW50YXRp b249PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICAmbHQ7dHQmZ3Q7bXVsdGkoKSZs dDsvdHQmZ3Q7LCBhbmQgJmx0O3R0Jmd0O211bHRpKCkmbHQ7L3R0Jmd0Ow0KICAgICAgICAgIGRl c2NyaXB0b3JzIGhhdmUgYmVlbiBpbXBsZW1lbnRlZDxici8+DQogICAgICAgICAgaW4gQml0Y29p biBDb3JlIHNpbmNlIHZlcnNpb24gMC4xNy48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAg ICAgLS0tPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgICZsdDtwcmUmZ3Q7PGJyLz4N CiAgICAgICAgICDCoMKgIEJJUDogYmlwLWRlc2NyaXB0b3JzLWNvbWJvPGJyLz4NCiAgICAgICAg ICDCoMKgIExheWVyOiBBcHBsaWNhdGlvbnM8YnIvPg0KICAgICAgICAgIMKgwqAgVGl0bGU6IGNv bWJvKCkgT3V0cHV0IFNjcmlwdCBEZXNjcmlwdG9yczxici8+DQogICAgICAgICAgwqDCoCBBdXRo b3I6IFBpZXRlciBXdWlsbGUgJmx0OzxhIGhyZWY9Im1haWx0bzpwaWV0ZXJAd3VpbGxlLm5ldCIg dGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+cGlldGVyQHd1aWxsZS5uZXQ8 L2E+Jmd0Ozxici8+DQogICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQW5kcmV3IENob3cg Jmx0OzxhIGhyZWY9Im1haWx0bzphbmRyZXdAYWNob3cxMDEuY29tIiB0YXJnZXQ9Il9ibGFuayIg bW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5hbmRyZXdAYWNob3cxMDEuY29tPC9hPiZndDs8YnIvPg0K ICAgICAgICAgIMKgwqAgQ29tbWVudHMtU3VtbWFyeTogTm8gY29tbWVudHMgeWV0Ljxici8+DQog ICAgICAgICAgwqDCoCBDb21tZW50cy1VUkk6PGJyLz4NCiAgICAgICAgICA8YSBocmVmPSJodHRw czovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzL3dpa2kvQ29tbWVudHM6QklQLWRlc2NyaXB0b3Jz LWNvbWJvIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9 InRydWUiPmh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpcHMvd2lraS9Db21tZW50czpCSVAt ZGVzY3JpcHRvcnMtY29tYm88L2E+PGJyLz4NCiAgICAgICAgICDCoMKgIFN0YXR1czogRHJhZnQ8 YnIvPg0KICAgICAgICAgIMKgwqAgVHlwZTogSW5mb3JtYXRpb25hbDxici8+DQogICAgICAgICAg wqDCoCBDcmVhdGVkOiAyMDIxLTA2LTI3PGJyLz4NCiAgICAgICAgICDCoMKgIExpY2Vuc2U6IEJT RC0yLUNsYXVzZTxici8+DQogICAgICAgICAgJmx0Oy9wcmUmZ3Q7PGJyLz4NCiAgICAgICAgICA8 YnIvPg0KICAgICAgICAgID09QWJzdHJhY3Q9PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAg ICAgICBUaGlzIGRvY3VtZW50IHNwZWNpZmllcyAmbHQ7dHQmZ3Q7Y29tYm8oKSZsdDsvdHQmZ3Q7 IG91dHB1dA0KICAgICAgICAgIHNjcmlwdCBkZXNjcmlwdG9ycy48YnIvPg0KICAgICAgICAgIFRo ZXNlIHRha2UgYSBrZXkgYW5kIHByb2R1Y2UgUDJQSywgUDJQS0gsIFAyV1BLSCwgYW5kDQogICAg ICAgICAgUDJTSC1QMldQS0ggb3V0cHV0PGJyLz4NCiAgICAgICAgICBzY3JpcHRzIGlmIGFwcGxp Y2FibGUgdG8gdGhlIGtleS48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1Db3B5 cmlnaHQ9PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUaGlzIEJJUCBpcyBsaWNl bnNlZCB1bmRlciB0aGUgQlNEIDItY2xhdXNlIGxpY2Vuc2UuPGJyLz4NCiAgICAgICAgICA8YnIv Pg0KICAgICAgICAgID09TW90aXZhdGlvbj09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAg ICAgIEluIG9yZGVyIHRvIG1ha2UgdGhlIHRyYW5zaXRpb24gZnJvbSB0cmFkaXRpb25hbCBrZXkg YmFzZWQNCiAgICAgICAgICB3YWxsZXRzIHRvPGJyLz4NCiAgICAgICAgICBkZXNjcmlwdG9yIGJh c2VkIHdhbGxldHMgZWFzaWVyLCBpdCBpcyB1c2VmdWwgdG8gYmUgYWJsZSB0bw0KICAgICAgICAg IHRha2UgYSBrZXk8YnIvPg0KICAgICAgICAgIGFuZCBwcm9kdWNlIHRoZSBzY3JpcHRzIHdoaWNo IGhhdmUgdHJhZGl0aW9uYWxseSBiZWVuIHByb2R1Y2VkDQogICAgICAgICAgYnkgd2FsbGV0PGJy Lz4NCiAgICAgICAgICBzb2Z0d2FyZS48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAg PT1TcGVjaWZpY2F0aW9uPT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgQSBuZXcg dG9wIGxldmVsIHNjcmlwdCBleHByZXNzaW9uIGlzIGRlZmluZWQ6DQogICAgICAgICAgJmx0O3R0 Jmd0O2NvbWJvKEtFWSkmbHQ7L3R0Jmd0Oy48YnIvPg0KICAgICAgICAgIFRoaXMgZXhwcmVzc2lv biBjYW4gb25seSBiZSB1c2VkIGFzIGEgdG9wIGxldmVsIGV4cHJlc3Npb24uPGJyLz4NCiAgICAg ICAgICBJdCB0YWtlcyBhIHNpbmdsZSBrZXkgZXhwcmVzc2lvbiBhcyBhbiBhcmd1bWVudCBhbmQg cHJvZHVjZXMNCiAgICAgICAgICBlaXRoZXIgMiBvcjxici8+DQogICAgICAgICAgNCBvdXRwdXQg c2NyaXB0cywgZGVwZW5kaW5nIG9uIHRoZSBrZXkuPGJyLz4NCiAgICAgICAgICBBICZsdDt0dCZn dDtjb21ibygpJmx0Oy90dCZndDsgZXhwcmVzc2lvbiBhbHdheXMgcHJvZHVjZXMgYQ0KICAgICAg ICAgIFAyUEsgYW5kIFAyUEtIIHNjcmlwdCw8YnIvPg0KICAgICAgICAgIHRoZSBzYW1lIGFzIHB1 dHRpbmcgdGhlIGtleSBpbiBib3RoIGENCiAgICAgICAgICAmbHQ7dHQmZ3Q7cGsoKSZsdDsvdHQm Z3Q7IGFuZCBhICZsdDt0dCZndDtwa2goKSZsdDsvdHQmZ3Q7PGJyLz4NCiAgICAgICAgICBleHBy ZXNzaW9uLjxici8+DQogICAgICAgICAgSWYgdGhlIGtleSBpcy9oYXMgYSBjb21wcmVzc2VkIHB1 YmxpYyBrZXksIHRoZW4gUDJXUEtIIGFuZA0KICAgICAgICAgIFAyU0gtUDJXUEtIPGJyLz4NCiAg ICAgICAgICBzY3JpcHRzIGFyZSBhbHNvIHByb2R1Y2VkLCB0aGUgc2FtZSBhcyBwdXR0aW5nIHRo ZSBrZXkgaW4gYm90aA0KICAgICAgICAgIGE8YnIvPg0KICAgICAgICAgICZsdDt0dCZndDt3cGto KCkmbHQ7L3R0Jmd0OyBhbmQNCiAgICAgICAgICAmbHQ7dHQmZ3Q7c2god3BraCgpKSZsdDsvdHQm Z3Q7IGV4cHJlc3Npb24uPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgID09VGVzdCBW ZWN0b3JzPT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVEJEPGJyLz4NCiAgICAg ICAgICA8YnIvPg0KICAgICAgICAgID09QmFja3dhcmRzIENvbXBhdGliaWxpdHk9PTxici8+DQog ICAgICAgICAgPGJyLz4NCiAgICAgICAgICAmbHQ7dHQmZ3Q7Y29tYm8oKSZsdDsvdHQmZ3Q7IGRl c2NyaXB0b3JzIHVzZSB0aGUgZm9ybWF0IGFuZA0KICAgICAgICAgIGdlbmVyYWwgb3BlcmF0aW9u PGJyLz4NCiAgICAgICAgICBzcGVjaWZpZWQgaW4NCiAgICAgICAgICBbW2JpcC1kZXNjcmlwdG9y LWdlbmVyYWwubWVkaWF3aWtpfGJpcC1kZXNjcmlwdG9yLWdlbmVyYWxdXS48YnIvPg0KICAgICAg ICAgIEFzIHRoaXMgaXMgYSB3aG9sbHkgbmV3IGRlc2NyaXB0b3IsIGl0IGlzIG5vdCBjb21wYXRp YmxlIHdpdGgNCiAgICAgICAgICBhbnk8YnIvPg0KICAgICAgICAgIGltcGxlbWVudGF0aW9uLjxi ci8+DQogICAgICAgICAgSG93ZXZlciB0aGUgc2NyaXB0cyBwcm9kdWNlZCBhcmUgc3RhbmRhcmQg c2NyaXB0cyBzbyBleGlzdGluZw0KICAgICAgICAgIHNvZnR3YXJlPGJyLz4NCiAgICAgICAgICBh cmUgbGlrZWx5IHRvIGJlIGZhbWlsaWFyIHdpdGggdGhlbS48YnIvPg0KICAgICAgICAgIDxici8+ DQogICAgICAgICAgPT1SZWZlcmVuY2UgSW1wbGVtbnRhdGlvbj09PGJyLz4NCiAgICAgICAgICA8 YnIvPg0KICAgICAgICAgICZsdDt0dCZndDtjb21ibyZsdDsvdHQmZ3Q7IGRlc2NyaXB0b3JzIGhh dmUgYmVlbiBpbXBsZW1lbnRlZA0KICAgICAgICAgIGluIEJpdGNvaW4gQ29yZSBzaW5jZTxici8+ DQogICAgICAgICAgdmVyc2lvbiAwLjE3Ljxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAg ICAtLS08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgJmx0O3ByZSZndDs8YnIvPg0K ICAgICAgICAgIMKgwqAgQklQOiBiaXAtZGVzY3JpcHRvcnMtZW5jYXA8YnIvPg0KICAgICAgICAg IMKgwqAgTGF5ZXI6IEFwcGxpY2F0aW9uczxici8+DQogICAgICAgICAgwqDCoCBUaXRsZTogcmF3 KCkgYW5kIGFkZHIoKSBPdXRwdXQgU2NyaXB0IERlc2NyaXB0b3JzPGJyLz4NCiAgICAgICAgICDC oMKgIEF1dGhvcjogQW5kcmV3IENob3cgJmx0OzxhIGhyZWY9Im1haWx0bzphbmRyZXdAYWNob3cx MDEuY29tIiB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5hbmRyZXdAYWNo b3cxMDEuY29tPC9hPiZndDs8YnIvPg0KICAgICAgICAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgIFBp ZXRlciBXdWlsbGUgJmx0OzxhIGhyZWY9Im1haWx0bzpwaWV0ZXJAd3VpbGxlLm5ldCIgdGFyZ2V0 PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+cGlldGVyQHd1aWxsZS5uZXQ8L2E+Jmd0 Ozxici8+DQogICAgICAgICAgwqDCoCBDb21tZW50cy1TdW1tYXJ5OiBObyBjb21tZW50cyB5ZXQu PGJyLz4NCiAgICAgICAgICDCoMKgIENvbW1lbnRzLVVSSTo8YnIvPg0KICAgICAgICAgIDxhIGhy ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpcHMvd2lraS9Db21tZW50czpCSVAtZGVz Y3JpcHRvcnMtcmF3IiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90 LXNlbmQ9InRydWUiPmh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpcHMvd2lraS9Db21tZW50 czpCSVAtZGVzY3JpcHRvcnMtcmF3PC9hPjxici8+DQogICAgICAgICAgwqDCoCBTdGF0dXM6IERy YWZ0PGJyLz4NCiAgICAgICAgICDCoMKgIFR5cGU6IEluZm9ybWF0aW9uYWw8YnIvPg0KICAgICAg ICAgIMKgwqAgQ3JlYXRlZDogMjAyMS0wNi0yNzxici8+DQogICAgICAgICAgwqDCoCBMaWNlbnNl OiBCU0QtMi1DbGF1c2U8YnIvPg0KICAgICAgICAgICZsdDsvcHJlJmd0Ozxici8+DQogICAgICAg ICAgPGJyLz4NCiAgICAgICAgICA9PUFic3RyYWN0PT08YnIvPg0KICAgICAgICAgIDxici8+DQog ICAgICAgICAgVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgJmx0O3R0Jmd0O3JhdygpJmx0Oy90dCZn dDsgYW5kDQogICAgICAgICAgJmx0O3R0Jmd0O2FkZHIoKSZsdDsvdHQmZ3Q7IG91dHB1dCBzY3Jp cHQ8YnIvPg0KICAgICAgICAgIGRlc2NyaXB0b3JzLjxici8+DQogICAgICAgICAgJmx0O3R0Jmd0 O3JhdygpJmx0Oy90dCZndDsgZW5jYXBzdWxhdGVzIGEgcmF3IHNjcmlwdCBhcyBhDQogICAgICAg ICAgZGVzY3JpcHRvci48YnIvPg0KICAgICAgICAgICZsdDt0dCZndDthZGRyKCkmbHQ7L3R0Jmd0 OyBlbmNhcHN1bGF0ZXMgYW4gYWRkcmVzcyBhcyBhDQogICAgICAgICAgZGVzY3JpcHRvci48YnIv Pg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1Db3B5cmlnaHQ9PTxici8+DQogICAgICAg ICAgPGJyLz4NCiAgICAgICAgICBUaGlzIEJJUCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNEIDIt Y2xhdXNlIGxpY2Vuc2UuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgID09TW90aXZh dGlvbj09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIEluIG9yZGVyIHRvIG1ha2Ug ZGVzY3JpcHRvcnMgbWF4aW1hbGx5IGNvbXBhdGlibGUgd2l0aCBzY3JpcHRzDQogICAgICAgICAg aW4gdXNlPGJyLz4NCiAgICAgICAgICB0b2RheSwgaXQgaXMgdXNlZnVsIHRvIGJlIGFibGUgdG8g d3JhcCBhbnkgYXJiaXRyYXJ5IG91dHB1dA0KICAgICAgICAgIHNjcmlwdCBvciBhbjxici8+DQog ICAgICAgICAgYWRkcmVzcyBpbnRvIGEgZGVzY3JpcHRvci48YnIvPg0KICAgICAgICAgIDxici8+ DQogICAgICAgICAgPT1TcGVjaWZpY2F0aW9uPT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAg ICAgICAgVHdvIG5ldyBzY3JpcHQgZXhwcmVzc2lvbnMgYXJlIGRlZmluZWQ6DQogICAgICAgICAg Jmx0O3R0Jmd0O3JhdygpJmx0Oy90dCZndDsgYW5kICZsdDt0dCZndDthZGRyKCkmbHQ7L3R0Jmd0 Oy48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT09Jmx0O3R0Jmd0O3JhdygpJmx0 Oy90dCZndDs9PT08YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVGhlICZsdDt0dCZn dDtyYXcoSEVYKSZsdDsvdHQmZ3Q7IGV4cHJlc3Npb24gY2FuIG9ubHkgYmUgdXNlZA0KICAgICAg ICAgIGFzIGEgdG9wIGxldmVsIGRlc2NyaXB0b3IuPGJyLz4NCiAgICAgICAgICBBcyB0aGUgYXJn dW1lbnQsIGl0IHRha2VzIGEgaGV4IHN0cmluZyByZXByZXNlbnRpbmcgYSBCaXRjb2luDQogICAg ICAgICAgc2NyaXB0Ljxici8+DQogICAgICAgICAgVGhlIG91dHB1dCBzY3JpcHQgcHJvZHVjZWQg YnkgdGhpcyBkZXNjcmlwdG9yIGlzIHRoZSBzY3JpcHQNCiAgICAgICAgICByZXByZXNlbnRlZDxi ci8+DQogICAgICAgICAgYnkgJmx0O3R0Jmd0O0hFWCZsdDsvdHQmZ3Q7Ljxici8+DQogICAgICAg ICAgPGJyLz4NCiAgICAgICAgICA9PT0mbHQ7dHQmZ3Q7YWRkcigpJmx0Oy90dCZndDs9PT08YnIv Pg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgVGhlICZsdDt0dCZndDthZGRyKEFERFIpJmx0 Oy90dCZndDsgZXhwcmVzc2lvbiBjYW4gb25seSBiZQ0KICAgICAgICAgIHVzZWQgYXMgYSB0b3Ag bGV2ZWw8YnIvPg0KICAgICAgICAgIGRlc2NyaXB0b3IuPGJyLz4NCiAgICAgICAgICBJdCB0YWtl cyBhbiBhZGRyZXNzIGFzIGl0cyBzaW5nbGUgYXJndW1lbnQuPGJyLz4NCiAgICAgICAgICBUaGUg b3V0cHV0IHNjcmlwdCBwcm9kdWNlZCBieSB0aGlzIGRlc2NyaXB0b3IgaXMgdGhlIG91dHB1dA0K ICAgICAgICAgIHNjcmlwdDxici8+DQogICAgICAgICAgcHJvZHVjZWQgYnkgdGhlIGFkZHJlc3Mg Jmx0O3R0Jmd0O0FERFImbHQ7L3R0Jmd0Oy48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAg ICAgPT1UZXN0IFZlY3RvcnM9PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUQkQ8 YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPT1CYWNrd2FyZHMgQ29tcGF0aWJpbGl0 eT09PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgICZsdDt0dCZndDtyYXcoKSZsdDsv dHQmZ3Q7IGFuZCAmbHQ7dHQmZ3Q7YWRkcigpJmx0Oy90dCZndDsNCiAgICAgICAgICBkZXNjcmlw dG9ycyB1c2UgdGhlIGZvcm1hdCBhbmQ8YnIvPg0KICAgICAgICAgIGdlbmVyYWwgb3BlcmF0aW9u IHNwZWNpZmllZCBpbjxici8+DQogICAgICAgICAgW1tiaXAtZGVzY3JpcHRvci1nZW5lcmFsLm1l ZGlhd2lraXxiaXAtZGVzY3JpcHRvci1nZW5lcmFsXV0uPGJyLz4NCiAgICAgICAgICBBcyB0aGlz IGlzIGEgd2hvbGx5IG5ldyBkZXNjcmlwdG9yLCBpdCBpcyBub3QgY29tcGF0aWJsZSB3aXRoDQog ICAgICAgICAgYW55PGJyLz4NCiAgICAgICAgICBpbXBsZW1lbnRhdGlvbi48YnIvPg0KICAgICAg ICAgIFRoZSByZXVzZSBvZiBleGlzdGluZyBCaXRjb2luIGFkZHJlc3NlcyBhbGxvd3MgZm9yIHRo aXMgdG8gYmUNCiAgICAgICAgICBtb3JlPGJyLz4NCiAgICAgICAgICBlYXNpbHkgaW1wbGVtZW50 ZWQuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgID09UmVmZXJlbmNlIEltcGxlbW50 YXRpb249PTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICAmbHQ7dHQmZ3Q7cmF3KCkm bHQ7L3R0Jmd0OyBhbmQgJmx0O3R0Jmd0O2FkZHImbHQ7L3R0Jmd0Ow0KICAgICAgICAgIGRlc2Ny aXB0b3JzIGhhdmUgYmVlbiBpbXBsZW1lbnRlZCBpbjxici8+DQogICAgICAgICAgQml0Y29pbiBD b3JlIHNpbmNlIHZlcnNpb24gMC4xNy48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAg X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnIvPg0KICAg ICAgICAgIGJpdGNvaW4tZGV2IG1haWxpbmcgbGlzdDxici8+DQogICAgICAgICAgPGEgaHJlZj0i bWFpbHRvOmJpdGNvaW4tZGV2QGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmciIHRhcmdldD0iX2Js YW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPmJpdGNvaW4tZGV2QGxpc3RzLmxpbnV4Zm91bmRh dGlvbi5vcmc8L2E+PGJyLz4NCiAgICAgICAgICA8YSBocmVmPSJodHRwczovL2xpc3RzLmxpbnV4 Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby9iaXRjb2luLWRldiIgcmVsPSJub3JlZmVy cmVyIiB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5odHRwczovL2xpc3Rz LmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby9iaXRjb2luLWRldjwvYT48YnIv Pg0KICAgICAgICA8L2Jsb2NrcXVvdGU+DQogICAgICA8L2Rpdj4NCiAgICA8L2Jsb2NrcXVvdGU+ DQogICAgPGJyLz4NCg0KDQo8L2JvZHk+PC9odG1sPg== --b1_ahB6xoqnR1BOdjxJAvSZVWgLarU87XLyvHmqc34KUCI--