Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 2656F200C31 for ; Wed, 8 Mar 2017 22:46:46 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 24D51160B86; Wed, 8 Mar 2017 21:46:46 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 3071D160B73 for ; Wed, 8 Mar 2017 22:46:44 +0100 (CET) Received: (qmail 84838 invoked by uid 500); 8 Mar 2017 21:46:43 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 84820 invoked by uid 99); 8 Mar 2017 21:46:42 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Mar 2017 21:46:42 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 1794EC14DF for ; Wed, 8 Mar 2017 21:46:42 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.522 X-Spam-Level: X-Spam-Status: No, score=-4.522 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, KAM_NUMSUBJECT=0.5, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=netapp.onmicrosoft.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 2VnzQETPp2WK for ; Wed, 8 Mar 2017 21:46:36 +0000 (UTC) Received: from mx141.netapp.com (mx141.netapp.com [216.240.21.12]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id EC48B60E08 for ; Wed, 8 Mar 2017 21:46:35 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.36,265,1486454400"; d="scan'208";a="188172660" Received: from hioexcmbx01-prd.hq.netapp.com ([10.122.105.34]) by mx141-out.netapp.com with ESMTP; 08 Mar 2017 13:37:23 -0800 Received: from VMWEXCCAS04-PRD.hq.netapp.com (10.122.105.20) by hioexcmbx01-prd.hq.netapp.com (10.122.105.34) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 8 Mar 2017 13:46:27 -0800 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (10.120.60.153) by VMWEXCCAS04-PRD.hq.netapp.com (10.122.105.20) with Microsoft SMTP Server (TLS) id 15.0.1210.3 via Frontend Transport; Wed, 8 Mar 2017 13:46:27 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.onmicrosoft.com; s=selector1-netapp-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=TYUyVFIjiLemqQKnFjC243KtPOaqNXIbZi8SBtWLCKA=; b=Dg7qJanOmoSqQa63l+3gejGQo7ILUIpJfY9j1Pkx//Mp2yz+sJiM3yVWkIIRn3L/6YxloBbjf7TqV4/XNnawMHDMZ6HStSG/C3GxRXGuyURpF7x6JWZf3e6ozCfx9qoI0D/KuTSDIxxPnmgeLatpxRjX/iyXKd/6qxuvoX24j6Y= Received: from CO1PR06MB329.namprd06.prod.outlook.com (10.141.69.16) by CO1PR06MB329.namprd06.prod.outlook.com (10.141.69.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 8 Mar 2017 21:46:26 +0000 Received: from CO1PR06MB329.namprd06.prod.outlook.com ([169.254.11.204]) by CO1PR06MB329.namprd06.prod.outlook.com ([169.254.11.204]) with mapi id 15.01.0947.020; Wed, 8 Mar 2017 21:46:26 +0000 From: "Tutkowski, Mike" To: "dev@cloudstack.apache.org" Subject: Re: :[VOTE] Apache Cloudstack 4.10.0.0 Thread-Topic: :[VOTE] Apache Cloudstack 4.10.0.0 Thread-Index: AQHSkikMiF/70fzRmE6npjfGt1rrCaGABEYAgAAfGQD//8/jAIABoHgAgAAEOZ///73IAIABdimAgAAEpwCAAAW9AIAAIBMAgAXiMQD//6cXgAAejUYAAAI0h1r//+aDgIAAAXUAgAB2lgCAAACJtv//zf2AgAHCo4D//5vKgA== Date: Wed, 8 Mar 2017 21:46:26 +0000 Message-ID: <6694D415-FC0C-4245-AA53-D25347607886@netapp.com> References: <0F7B3FF2-4BE7-4031-BCCD-A02FD5F04C2C@persistent.co.in> <9B80BC55-2820-4C10-98A6-C547CC01E334@netapp.com> <85B02644-EBEB-4EC5-904F-FF462BF2EDA3@netapp.com> <353b046b-9703-cb67-2355-3107b16995c4@renemoser.net> <529feb81-a228-4cce-9832-f8d93905c7b9@msgid.missiveapp.com> <2a05613d-a359-4f06-a99f-0ce1a09437ec@msgid.missiveapp.com> <70A6573D-3BE6-4C7D-A8D8-BF1EEE2E5C41@netapp.com> <4A34F783-5538-4C32-AB27-6A7ED0AAFC05@autodesk.com> <52D5653F-5974-4B2F-9F87-A6BC6D2CFB49@netapp.com> <6ACEACB1-B28C-43DA-9C7A-18EF97B67D1E@netapp.com> <244C0BB4-5FA5-482F-9505-2E040716E841@autodesk.com> <2770F7BE-C5BA-473B-89B2-D152677634BF@netapp.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: cloudstack.apache.org; dkim=none (message not signed) header.d=none;cloudstack.apache.org; dmarc=none action=none header.from=netapp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [208.185.63.6] x-ms-office365-filtering-correlation-id: f4966755-ed02-43a6-2fe5-08d4666c9258 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CO1PR06MB329; x-microsoft-exchange-diagnostics: 1;CO1PR06MB329;7:Qo1864Aa7OQaNHjQjGWPmerrzuLdv+57CmjDCiZrccEdZrFKfTcI6pqYm67IkgVNh1IMsqywpGepJgMAPEtbIRtsQiWYvEE7kKg4OmzZ6CmatkMkQ5bHdwGmx2ATJtDA1QpYhMwvcFBxw1KCAWVkCg7Gui3RYo1oX3N43O/S648ZeyjeJJSLhN+YdXWgkl3gE8TWrLZLoWByhKwSNt7tO3ct4Hz76rOR3zbWr7vTUowD+J57bzRhhi9TGWvcGiCTILn5/xcVlLNtPU2u5Yc4kZR2/s5Dclv/maxASMDtmVNs5xC9ylSGbLZfa1NKt98nbPXrzsikBOeLpM8y1HedIg== x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(93916979886435)(134217032509453)(72170088055959)(166708455590820)(192374486261705)(278021236550800)(206605131091896)(280631817467288)(61196332173343)(5213294742642); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6055026)(6041248)(20161123564025)(20161123555025)(20161123562025)(20161123560025)(20161123558025)(6072148);SRVR:CO1PR06MB329;BCL:0;PCL:0;RULEID:;SRVR:CO1PR06MB329; x-forefront-prvs: 02408926C4 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(39450400003)(377454003)(38564003)(24454002)(53754006)(377424004)(38730400002)(36756003)(6246003)(82746002)(76176999)(1720100001)(3660700001)(50986999)(2501003)(3846002)(66066001)(3280700002)(2351001)(83716003)(53936002)(189998001)(102836003)(8936002)(53386004)(110136004)(6116002)(53546006)(2906002)(122556002)(2900100001)(54356999)(106116001)(5660300001)(81166006)(86362001)(33656002)(575784001)(1730700003)(6306002)(6512007)(966004)(8676002)(6436002)(53946003)(7736002)(5640700003)(93886004)(305945005)(99286003)(19625305001)(15974865002)(2950100002)(25786008)(6486002)(6506006)(229853002)(6916009)(104396002)(579004)(559001)(19627235001);DIR:OUT;SFP:1101;SCL:1;SRVR:CO1PR06MB329;H:CO1PR06MB329.namprd06.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <2DA6B2296FA45F48BA2C8514E5E6C8B8@namprd06.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Mar 2017 21:46:26.1496 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4b0911a0-929b-4715-944b-c03745165b3a X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR06MB329 X-OriginatorOrg: netapp.com archived-at: Wed, 08 Mar 2017 21:46:46 -0000 SGksDQoNClN1cmUsIEkgY2FuIHB1bGwgdGhhdCBjb2RlIGFuZCB0ZXN0Lg0KDQpJIG1pZ2h0IGhh dmUgdG8gd2FpdCB1bnRpbCB0b21vcnJvdywgdGhvdWdoLCBiZWNhdXNlIEnigJltIGluIHRoZSBt aWRkbGUgb2YgdHJ5aW5nIHRvIHJlcHJvZHVjZSBDTE9VRFNUQUNLLTk4MjMuIE9uY2UgdGhhdCBp cyBkb25lLCBJIGNhbiBtb3ZlIG9uIHRvIHlvdXIgUFIuDQoNClRoYW5rcyENCk1pa2UNCg0KT24g My84LzE3LCAxOjQ1IFBNLCAiTmljb2xhcyBWYXpxdWV6IiA8bmljb3ZhenF1ZXo5MEBnbWFpbC5j b20+IHdyb3RlOg0KDQogICAgSGkgTWlrZSwNCiAgICANCiAgICBUaGFua3MgZm9yIHJlcG9ydGlu ZyB0aGlzIGlzc3VlISBXZSd2ZSBiZWVuIHdvcmtpbmcgb24gaXQgYW5kIGNyZWF0ZWQgdGhpcw0K ICAgIFBSOiBodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2Nsb3Vkc3RhY2svcHVsbC8xOTk0LiBX ZSd2ZSBiZWVuIHRlc3RpbmcgaXQNCiAgICBhbmQgc2VlbXMgdG8gYmUgc29sdmluZyB0aGUgaXNz dWVzIHJlcG9ydGVkLCBjYW4geW91IHBsZWFzZSByZXBlYXQgeW91cg0KICAgIHRlc3RzIG9uIGl0 Pw0KICAgIA0KICAgIFRoYW5rcywNCiAgICBOaWNvbGFzDQogICAgDQogICAgMjAxNy0wMy0wNyAy MTo1MiBHTVQtMDM6MDAgVHV0a293c2tpLCBNaWtlIDxNaWtlLlR1dGtvd3NraUBuZXRhcHAuY29t PjoNCiAgICANCiAgICA+IEhlcmXigJlzIHRoZSB0aWNrZXQ6DQogICAgPg0KICAgID4gaHR0cHM6 Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9DTE9VRFNUQUNLLTk4MjcNCiAgICA+DQog ICAgPiBPbiAzLzcvMTcsIDE6NTEgUE0sICJUdXRrb3dza2ksIE1pa2UiIDxNaWtlLlR1dGtvd3Nr aUBuZXRhcHAuY29tPiB3cm90ZToNCiAgICA+DQogICAgPiAgICAgWWVzLCBJIGNhbiBvcGVuIGEg dGlja2V0Lg0KICAgID4NCiAgICA+ICAgICA+IE9uIE1hciA3LCAyMDE3LCBhdCAxOjUwIFBNLCBT ZXJnZXkgTGV2aXRza2l5IDwNCiAgICA+IFNlcmdleS5MZXZpdHNraXlAYXV0b2Rlc2suY29tPiB3 cm90ZToNCiAgICA+ICAgICA+DQogICAgPiAgICAgPiBZZXMgdGhhdOKAmXMgdGhlIGJ1Zy4gQ2Fu IHlvdSBvcGVuIGEgdGlja2V0IGZvciB0aGlzPyBAIG52YXpxdWV6IGNhbg0KICAgID4geW91IHRh a2UgYSBsb29rPw0KICAgID4gICAgID4NCiAgICA+ICAgICA+IE9uIDMvNy8xNywgMTI6NDQgUE0s ICJUdXRrb3dza2ksIE1pa2UiIDxNaWtlLlR1dGtvd3NraUBuZXRhcHAuY29tPg0KICAgID4gd3Jv dGU6DQogICAgPiAgICAgPg0KICAgID4gICAgID4gICAgVGhpcyBkb2VzIHNlZW0gbWVzc2VkIHVw Lg0KICAgID4gICAgID4NCiAgICA+ICAgICA+ICAgIElmIEkgYWRkIGEgbmV3IHByaW1hcnkgc3Rv cmFnZSBhbmQgZ2l2ZSBpdCBhIHN0b3JhZ2UgdGFnLCB0aGUgdGFnDQogICAgPiBlbmRzIHVwIGlu IHN0b3JhZ2VfcG9vbF9kZXRhaWxzLg0KICAgID4gICAgID4NCiAgICA+ICAgICA+ICAgIElmIEkg ZWRpdCBhbiBleGlzdGluZyBzdG9yYWdlIHBvb2zigJlzIHN0b3JhZ2UgdGFncywgaXQgcGxhY2Vz IHRoZW0NCiAgICA+IGluIHN0b3JhZ2VfcG9vbF90YWdzLg0KICAgID4gICAgID4NCiAgICA+ICAg ICA+ICAgIE9uIDMvNy8xNywgMTozOSBQTSwgIlR1dGtvd3NraSwgTWlrZSIgPE1pa2UuVHV0a293 c2tpQG5ldGFwcC5jb20+DQogICAgPiB3cm90ZToNCiAgICA+ICAgICA+DQogICAgPiAgICAgPiAg ICAgICAgSSBiZWxpZXZlIEkgaGF2ZSBmb3VuZCBhbm90aGVyIGJ1ZyAob25lIHRoYXQgd2Ugc2hv dWxkIGVpdGhlcg0KICAgID4gZml4IG9yIGV4YW1pbmUgaW4gZGV0YWlsIGJlZm9yZSByZWxlYXNp bmcgNC4xMCkuDQogICAgPiAgICAgPg0KICAgID4gICAgID4gICAgICAgIEl0IGxvb2tzIGxpa2Ug d2UgaGF2ZSBhIG5ldyB0YWJsZTogY2xvdWQuc3RvcmFnZV9wb29sX3RhZ3MuDQogICAgPiAgICAg Pg0KICAgID4gICAgID4gICAgICAgIFRoZSBhZGRpdGlvbiBvZiB0aGlzIHRhYmxlIHNlZW1zIHRv IGhhdmUgYnJva2VuIHRoZQ0KICAgID4gbGlzdFN0b3JhZ2VUYWdzIEFQSSBjb21tYW5kLiBXaGVu IHRoaXMgY29tbWFuZCBydW5zLCBpdCBkb2VzbuKAmXQgcGljayB1cCBhbnkNCiAgICA+IHN0b3Jh Z2UgdGFncyBmb3IgbWUgKGFuZCBJIGtub3cgSSBoYXZlIG9uZSBzdG9yYWdlIHRhZykuDQogICAg PiAgICAgPg0KICAgID4gICAgID4gICAgICAgIFRoaXMgZGF0YSB1c2VkIHRvIGJlIHN0b3JlZCBp biB0aGUgY2xvdWQuc3RvcmFnZV9wb29sX2RldGFpbHMNCiAgICA+IHRhYmxlLiBJdOKAmXMgZ29v ZCB0byBwdXQgaXQgaW4gaXRzIG93biB0YWJsZSwgYnV0IHdpbGwgb3VyIHVwZ3JhZGUgcHJvY2Vz cw0KICAgID4gbW92ZSB0aGUgZXhpc3RpbmcgdGFncyBmcm9tIHN0b3JhZ2VfcG9vbF9kZXRhaWxz IHRvIHN0b3JhZ2VfcG9vbF90YWdzPw0KICAgID4gICAgID4NCiAgICA+ICAgICA+ICAgICAgICBJ IGhhdmUgbm90IHlldCBvcGVuZWQgYSB0aWNrZXQgZm9yIHRoaXMuIEkgd2FudCB0byBleGFtaW5l IGl0DQogICAgPiBhIGJpdCBtb3JlIGJlZm9yZSBkb2luZyBzby4NCiAgICA+ICAgICA+DQogICAg PiAgICAgPiAgICAgICAgT24gMy83LzE3LCA4OjEwIEFNLCAiVHV0a293c2tpLCBNaWtlIiA8DQog ICAgPiBNaWtlLlR1dGtvd3NraUBuZXRhcHAuY29tPiB3cm90ZToNCiAgICA+ICAgICA+DQogICAg PiAgICAgPiAgICAgICAgICAgIE5vIFZNIHNuYXBzaG90Lg0KICAgID4gICAgID4NCiAgICA+ICAg ICA+ICAgICAgICAgICAgSSB0cmllZCB3aGlsZSB0aGUgVk0gd2FzIGluIHRoZSBSdW5uaW5nIHN0 YXRlIGFuZCB0aGVuIEkNCiAgICA+IGFsc28gdHJpZWQgaW4gdGhlIFN0b3BwZWQgc3RhdGUuIFNh bWUgcmVzdWx0cy4NCiAgICA+ICAgICA+DQogICAgPiAgICAgPj4gT24gTWFyIDcsIDIwMTcsIGF0 IDc6NTQgQU0sIFNlcmdleSBMZXZpdHNraXkgPA0KICAgID4gU2VyZ2V5Lkxldml0c2tpeUBhdXRv ZGVzay5jb20+IHdyb3RlOg0KICAgID4gICAgID4+DQogICAgPiAgICAgPj4gSXMgVk0gaGFzIGFu IFZNc25hcGhzb3Q/IElzIFZNIGluIFN0b3BwZWQgc3RhdGU/DQogICAgPiAgICAgPj4NCiAgICA+ ICAgICA+PiBPbiAzLzYvMTcsIDEwOjMyIFBNLCAiVHV0a293c2tpLCBNaWtlIiA8TWlrZS5UdXRr b3dza2lAbmV0YXBwLmNvbT4NCiAgICA+IHdyb3RlOg0KICAgID4gICAgID4+DQogICAgPiAgICAg Pj4gICBJIHNlZW0gdG8gaGF2ZSBmb3VuZCBhbm90aGVyIGJsb2NrZXI6DQogICAgPiAgICAgPj4N CiAgICA+ICAgICA+PiAgIGh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvQ0xP VURTVEFDSy05ODIyDQogICAgPiAgICAgPj4NCiAgICA+ICAgICA+PiAgIE9uIDMvNi8xNywgOTo1 MSBQTSwgIlJhamFuaSBLYXJ1dHVyaSIgPHJhamFuaUBhcGFjaGUub3JnPiB3cm90ZToNCiAgICA+ ICAgICA+Pg0KICAgID4gICAgID4+ICAgICAgIFBScyBhcmUgcmVhZHkgZm9yIHRoZSBibG9ja2Vy cy4gV2FpdGluZyBmb3IgcmV2aWV3cyBhbmQgdGVzdA0KICAgID4gICAgID4+ICAgICAgIHJlc3Vs dHMuIE9uY2UgdGhleSBhcmUgcmVhZHksIEkgd2lsbCBtZXJnZSB0aGVtKGFuZCBhIGZldyBtb3Jl DQogICAgPiAgICAgPj4gICAgICAgYnVnIGZpeGVzKSBhbmQgY3JlYXRlIFJDMiAocHJvYmFibHkg dG9tb3Jyb3csIFdlZG5lc2RheSkNCiAgICA+ICAgICA+Pg0KICAgID4gICAgID4+ICAgICAgIFRo YW5rcywNCiAgICA+ICAgICA+Pg0KICAgID4gICAgID4+ICAgICAgIH4gUmFqYW5pDQogICAgPiAg ICAgPj4NCiAgICA+ICAgICA+PiAgICAgICBodHRwOi8vY2xvdWRwbGF0Zm9ybS5hY2NlbGVyaXRl LmNvbS8NCiAgICA+ICAgICA+Pg0KICAgID4gICAgID4+ICAgICAgIE9uIE1hcmNoIDMsIDIwMTcg YXQgNDozMCBQTSwgUmFqYW5pIEthcnV0dXJpICgNCiAgICA+IHJhamFuaUBhcGFjaGUub3JnKQ0K ICAgID4gICAgID4+ICAgICAgIHdyb3RlOg0KICAgID4gICAgID4+DQogICAgPiAgICAgPj4gICAg ICAgSSB3aWxsIGNyZWF0ZSBSQzIgb24gTW9uZGF5IHdpdGggdGhlIGZpeGVzIG1lbnRpb25lZCBp biBteQ0KICAgID4gICAgID4+ICAgICAgIHByZXZpb3VzIG1haWwuDQogICAgPiAgICAgPj4NCiAg ICA+ICAgICA+PiAgICAgICB+IFJhamFuaQ0KICAgID4gICAgID4+DQogICAgPiAgICAgPj4gICAg ICAgaHR0cDovL2Nsb3VkcGxhdGZvcm0uYWNjZWxlcml0ZS5jb20vDQogICAgPiAgICAgPj4NCiAg ICA+ICAgICA+PiAgICAgICBPbiBNYXJjaCAzLCAyMDE3IGF0IDI6MzYgUE0sIFJvaGl0IFlhZGF2 DQogICAgPiAgICAgPj4gICAgICAgKHJvaGl0LnlhZGF2QHNoYXBlYmx1ZS5jb20pIHdyb3RlOg0K ICAgID4gICAgID4+DQogICAgPiAgICAgPj4gICAgICAgVGhhbmtzIEtvdXNoaWssIEkgZGlkIG5v dCByZWFsaXplIEtpc2hhbiBoYWQgc2VudCB0aGlzDQogICAgPiBhbHJlYWR5Lg0KICAgID4gICAg ID4+ICAgICAgIExldCdzIGdldCBlaXRoZXIgb2YgdGhlIFBScyBtZXJnZWQgYW5kIGtpY2sgYSBS QzIuDQogICAgPiAgICAgPj4NCiAgICA+ICAgICA+PiAgICAgICBSZWdhcmRzLg0KICAgID4gICAg ID4+DQogICAgPiAgICAgPj4gICAgICAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N CiAgICA+ICAgICA+PiAgICAgICBGcm9tOiBLb3VzaGlrIERhcyA8a291c2hpay5kYXNAYWNjZWxl cml0ZS5jb20+DQogICAgPiAgICAgPj4gICAgICAgU2VudDogMDMgTWFyY2ggMjAxNyAxNDoxNDo1 Ng0KICAgID4gICAgID4+ICAgICAgIFRvOiBkZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnDQogICAg PiAgICAgPj4gICAgICAgU3ViamVjdDogUmU6IDpbVk9URV0gQXBhY2hlIENsb3Vkc3RhY2sgNC4x MC4wLjANCiAgICA+ICAgICA+Pg0KICAgID4gICAgID4+ICAgICAgIExvb2tzIGxpa2UgdGhlcmUg aXMgYWxyZWFkeSBhIFBSIGZvciB0aGUgc2FtZSBpc3N1ZQ0KICAgID4gICAgID4+ICAgICAgIGh0 dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvY2xvdWRzdGFjay9wdWxsLzE5ODIgZnJvbSBLaXNoYW4u DQogICAgPiAgICAgPj4NCiAgICA+ICAgICA+PiAgICAgICAtS291c2hpaw0KICAgID4gICAgID4+ DQogICAgPiAgICAgPj4gICAgICAgT24gMDMvMDMvMTcsIDE6NTggUE0sICJSb2hpdCBZYWRhdiIg PA0KICAgID4gcm9oaXQueWFkYXZAc2hhcGVibHVlLmNvbT4NCiAgICA+ICAgICA+PiAgICAgICB3 cm90ZToNCiAgICA+ICAgICA+Pg0KICAgID4gICAgID4+ICAgICAgIC0xIChiaW5kaW5nKQ0KICAg ID4gICAgID4+DQogICAgPiAgICAgPj4gICAgICAgQWxsLCBJJ3ZlIGZvdW5kIGFuIHVwZ3JhZGUg YmxvY2tlci4gUHJlIDQuNiB1c2VycyBhcmUgcmVxdWlyZWQNCiAgICA+ICAgICA+PiAgICAgICB0 byBzZWVkIDQuNiBzeXN0ZW12bXRlbXBsYXRlIHRvIHByb2NlZWQgd2l0aCB0aGUgdXBncmFkZQ0K ICAgID4gICAgID4+ICAgICAgIG90aGVyd2lzZSB1cGdyYWRlIGZhaWxzLCBhbmQgZnJvbSA0Ljkg dXBncmFkZSB0byA0LjEwIGRvZXMgbm8NCiAgICA+ICAgICA+PiAgICAgICBjaGVjay9lbmZvcmNl bWVudCB0aGF0IDQuMTAgYmFzZWQgc3lzdGVtdm10ZW1wbGF0ZSBoYXMgYmVlbg0KICAgID4gICAg ID4+ICAgICAgIHNlZWRlZC9yZWdpc3RlcmVkLCBub3IgdGhlIG1pbmltdW0gcmVxdWlyZWQgc3lz dGVtdm10ZW1wbGF0ZQ0KICAgID4gICAgID4+ICAgICAgIHZlcnNpb24gaXMgY2hhbmdlZCBmcm9t IDQuNi4wIHRvIDQuMTAuMC4NCiAgICA+ICAgICA+Pg0KICAgID4gICAgID4+ICAgICAgIEFmdGVy IHdlIGhhdmUgbWVyZ2VkIHRoZSBzdHJvbmdzd2FuL2phdmE4IFBSLCBJIGhhZCB1cGRhdGVkDQog ICAgPiB0aGUNCiAgICA+ICAgICA+PiAgICAgICB1cGdyYWRlIGRvY3Mgb24gaG93IHRvIHVwZ3Jh ZGUgdGhlIHN5c3RlbXZtdGVtcGxhdGUgaGVyZToNCiAgICA+ICAgICA+Pg0KICAgID4gICAgID4+ ICAgICAgIGh0dHA6Ly9kb2NzLmNsb3Vkc3RhY2suYXBhY2hlLm9yZy9wcm9qZWN0cy9jbG91ZHN0 YWNrLQ0KICAgID4gcmVsZWFzZS1ub3Rlcy9lbi80LjEwL3VwZ3JhZGUvdXBncmFkZS00LjkuaHRt bA0KICAgID4gICAgID4+DQogICAgPiAgICAgPj4gICAgICAgVXNpbmcgdGhlIGFib3ZlLCBJJ3Zl IHRyaWVkIHRvIGZpeCB0aGVzZSBpc3N1ZXMgaGVyZSwgcGxlYXNlDQogICAgPiAgICAgPj4gICAg ICAgcmV2aWV3IGFuZCBtZXJnZSBmb3IgUkMyOg0KICAgID4gICAgID4+DQogICAgPiAgICAgPj4g ICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS9jbG91ZHN0YWNrL3B1bGwvMTk4Mw0KICAg ID4gICAgID4+DQogICAgPiAgICAgPj4gICAgICAgPGh0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUv Y2xvdWRzdGFjay9wdWxsLzE5ODM+V2l0aCBhYm92ZQ0KICAgID4gZml4LA0KICAgID4gICAgID4+ ICAgICAgIHRoZSBhaW0gaXMgdGhhdCB1c2VycyBvbmx5IHNlZWQgdGhlIDQuMTAgc3lzdGVtdm10 ZW1wbGF0ZQ0KICAgID4gYmVmb3JlDQogICAgPiAgICAgPj4gICAgICAgdXBncmFkZSBhbmQgcG9z dC11cGdyYWRlIHRoZSB1cGdyYWRlIHBhdGhzIGZpeCB0aGUgZW50cmllcywNCiAgICA+ICAgICA+ PiAgICAgICBnbG9iYWwgc2V0dGluZyBldGMuDQogICAgPiAgICAgPj4NCiAgICA+ICAgICA+PiAg ICAgICBSZWdhcmRzLg0KICAgID4gICAgID4+DQogICAgPiAgICAgPj4gICAgICAgX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18NCiAgICA+ICAgICA+PiAgICAgICBGcm9tOiBUdXRrb3dz a2ksIE1pa2UgPE1pa2UuVHV0a293c2tpQG5ldGFwcC5jb20+DQogICAgPiAgICAgPj4gICAgICAg U2VudDogMDIgTWFyY2ggMjAxNyAyMjozOTowOA0KICAgID4gICAgID4+ICAgICAgIFRvOiBkZXZA Y2xvdWRzdGFjay5hcGFjaGUub3JnDQogICAgPiAgICAgPj4gICAgICAgU3ViamVjdDogUmU6IDpb Vk9URV0gQXBhY2hlIENsb3Vkc3RhY2sgNC4xMC4wLjANCiAgICA+ICAgICA+Pg0KICAgID4gICAg ID4+ICAgICAgIEkgcm9sbGVkIGJhY2sgdG8gbXkgbWFzdGVyIGJyYW5jaCBhdA0KICAgID4gICAg ID4+ICAgICAgIGRhNjZiMDZlN2Q1NjIzOTNkYTJlNGI1MjIwNjk0M2Y4YmFkNDlkMTAgYW5kIGl0 IHdvcmtzLg0KICAgID4gICAgID4+DQogICAgPiAgICAgPj4gICAgICAgSXQgYXBwZWFycyBzb21l dGhpbmcgdGhhdCB3ZW50IGludG8gYWZ0ZXIgdGhhdCBjb21taXQgaGFzDQogICAgPiBicm9rZW4N CiAgICA+ICAgICA+PiAgICAgICB0aGlzLiBJdCBsb29rcyBsaWtlIHRoaXMgU0hBIGlzIGFib3V0 IHR3byB3ZWVrcyBvbGQgYW5kIHRoYXQNCiAgICA+IDQzDQogICAgPiAgICAgPj4gICAgICAgY29t bWl0cyBoYXZlIGdvbmUgaW50byBtYXN0ZXIgc2luY2UgaXQuDQogICAgPiAgICAgPj4NCiAgICA+ ICAgICA+PiAgICAgICBPbiAzLzIvMTcsIDc6MDYgQU0sICJUdXRrb3dza2ksIE1pa2UiDQogICAg PiAgICAgPj4gICAgICAgPE1pa2UuVHV0a293c2tpQG5ldGFwcC5jb20+IHdyb3RlOg0KICAgID4g ICAgID4+DQogICAgPiAgICAgPj4gICAgICAgQWNjb3JkaW5nIHRvIHdoZXJlIHRoZSBjb2RlIGZh aWxzLCB0aG91Z2gsIGl0IGFwcGVhcnMgdG8gYmUgYQ0KICAgID4gICAgID4+ICAgICAgIG5ldHdv cmtpbmcgcHJvYmxlbS4gSWYgSSBzZXQgYSBicmVha3BvaW50IGJlZm9yZSB0aGUgZmFpbHVyZQ0K ICAgID4gYW5kDQogICAgPiAgICAgPj4gICAgICAgY2hhbmdlIGEgdmFyaWFibGUgdG8gc2F5IHRo YXQgc2VjdXJpdHkgZ3JvdXBzIGFyZSBub3QgYmVpbmcNCiAgICA+IHVzZWQsDQogICAgPiAgICAg Pj4gICAgICAgdGhlbiB0aGUgVk0gc3RhcnRzLg0KICAgID4gICAgID4+DQogICAgPiAgICAgPj4g ICAgICAgSSB0aGluayB0aGlzIGlzIGEgcmVjZW50bHkgaW50cm9kdWNlZCBwcm9ibGVtIGJlY2F1 c2UgSSBoYXZlDQogICAgPiAgICAgPj4gICAgICAgYW5vdGhlciBicmFuY2ggYmFzZWQgb2ZmIG9m IGEgc2xpZ2h0bHkgb2xkZXIgdmVyc2lvbiBvZiBtYXN0ZXINCiAgICA+ICAgICA+PiAgICAgICBh bmQgaXQgd29ya3MgZmluZSBoZXJlLg0KICAgID4gICAgID4+DQogICAgPiAgICAgPj4+IE9uIE1h ciAyLCAyMDE3LCBhdCA2OjUxIEFNLCBQaWVycmUtTHVjIERpb24NCiAgICA+ICAgICA+PiAgICAg ICA8cGRpb25AY2xvdWRvcHMuY29tPiB3cm90ZToNCiAgICA+ICAgICA+Pj4NCiAgICA+ICAgICA+ Pj4gSGkgTWlrZSwNCiAgICA+ICAgICA+Pj4gVHJ5IHZtIHdpdGggYXQgbGVhc3QgNTEyTUIgZm9y IG1lbW9yeS4NCiAgICA+ICAgICA+Pj4NCiAgICA+ICAgICA+Pj4+IE9uIE1hciAxLCAyMDE3IDE1 OjAxLCAiVHV0a293c2tpLCBNaWtlIg0KICAgID4gICAgID4+ICAgICAgIDxNaWtlLlR1dGtvd3Nr aUBuZXRhcHAuY29tPiB3cm90ZToNCiAgICA+ICAgICA+Pj4+DQogICAgPiAgICAgPj4+PiBJIHNl ZSB0aGUgZm9sbG93aW5nIGV4Y2VwdGlvbiB3aGVuIHRyeWluZyB0byBkZXBsb3kgYSB1c2VyIFZN DQogICAgPiAgICAgPj4gICAgICAgaW4gYSBCYXNpYw0KICAgID4gICAgID4+Pj4gWm9uZSB3aXRo IHR3byBYZW5TZXJ2ZXIgNi41IGhvc3RzIGluIG9uZSBjbHVzdGVyLiBNeSBzeXN0ZW0NCiAgICA+ ICAgICA+PiAgICAgICBWTXMgaGF2ZSBhbGwNCiAgICA+ICAgICA+Pj4+IGRlcGxveWVkIHByb3Bl cmx5LiBUaGUgdXNlciB0ZW1wbGF0ZSBnZXRzIGRvd25sb2FkZWQgZmluZS4gSQ0KICAgID4gICAg ID4+ICAgICAgIGNhbiBzZWUgdGhlDQogICAgPiAgICAgPj4+PiB1c2VyIFZNIGJlZ2luIHRvIHN0 YXJ0IG9uIGEgWGVuU2VydmVyIGhvc3QsIHRoZW4gaXQgZ29lcw0KICAgID4gICAgID4+ICAgICAg IGF3YXkuIFdlIHRoZW4NCiAgICA+ICAgICA+Pj4+IGF1dG9tYXRpY2FsbHkgdHJ5IG9uIHRoZSBv dGhlciBob3N0LiBJIGNhbiBzZWUgdGhlIFZNIGJlZ2luDQogICAgPiAgICAgPj4gICAgICAgdG8g c3RhcnQgdGhlcmUNCiAgICA+ICAgICA+Pj4+IGZvciBhIG1vbWVudCwgdGhlbiBpdCBnb2VzIGF3 YXkuDQogICAgPiAgICAgPj4+Pg0KICAgID4gICAgID4+Pj4gSSBhbSBqdXN0IGRlcGxveWluZyB0 aGUgdXNlciBWTeKAmXMgdGVtcGxhdGUgYW5kIHJvb3QgZGlzayB0bw0KICAgID4gICAgID4+ICAg ICAgIE5GUyAoc2FtZQ0KICAgID4gICAgID4+Pj4gcGxhY2Ugd2hlcmUgdGhlIHRlbXBsYXRlIGFu ZCByb290IGRpc2tzIG9mIG15IHN5c3RlbSBWTXMNCiAgICA+ICAgICA+PiAgICAgICBhcmUpLg0K ICAgID4gICAgID4+Pj4NCiAgICA+ICAgICA+Pj4+IEkgYW0gdXNpbmcgdGhlIGJ1aWx0LWluIFhl blNlcnZlciBDZW50T1MgNS42ICg2NCBiaXQpDQogICAgPiAgICAgPj4gICAgICAgdGVtcGxhdGUg d2l0aCAxDQogICAgPiAgICAgPj4+PiB2Q1BVLCA1MDAgTUh6LCBhbmQgMjU2IE1CIG1lbW9yeS4N CiAgICA+ICAgICA+Pj4+DQogICAgPiAgICAgPj4+PiBXQVJOIFtjLmMuYS5yLnYuVmlydHVhbFJv dXRpbmdSZXNvdXJjZV0NCiAgICA+ICAgICA+PiAgICAgICAoRGlyZWN0QWdlbnQtNzpjdHgtMzVh ZGVkNzgpDQogICAgPiAgICAgPj4+PiAobG9naWQ6YWFiOWMzMjApIEV4cGVjdGVkIDEgYW5zd2Vy cyB3aGlsZSBleGVjdXRpbmcNCiAgICA+ICAgICA+PiAgICAgICBWbURhdGFDb21tYW5kIGJ1dA0K ICAgID4gICAgID4+Pj4gcmVjZWl2ZWQgMg0KICAgID4gICAgID4+Pj4gV0FSTiBbYy5jLnYuVmly dHVhbE1hY2hpbmVQb3dlclN0YXRlU3luY0ltcGxdDQogICAgPiAgICAgPj4gICAgICAgKERpcmVj dEFnZW50Q3JvbkpvYi0xNDpjdHgtMjdmYjFhYzMpDQogICAgPiAgICAgPj4+PiAobG9naWQ6MmMz NDJmMjMpIFZNIHN0YXRlIHdhcyB1cGRhdGVkIGJ1dCB1cGRhdGUgdGltZSBpcw0KICAgID4gICAg ID4+ICAgICAgIG51bGw/ISB2bSBpZDogNg0KICAgID4gICAgID4+Pj4gSU5GTyBbby5hLmMuZi5q LmkuQXN5bmNKb2JNYW5hZ2VySW1wbF0NCiAgICA+ICAgICA+PiAgICAgICAoQXN5bmNKb2JNZ3It SGVhcnRiZWF0LTE6Y3R4LTJjN2QyZGNlKQ0KICAgID4gICAgID4+Pj4gKGxvZ2lkOmE1NmE5YThj KSBCZWdpbiBjbGVhbnVwIGV4cGlyZWQgYXN5bmMtam9icw0KICAgID4gICAgID4+Pj4gSU5GTyBb by5hLmMuZi5qLmkuQXN5bmNKb2JNYW5hZ2VySW1wbF0NCiAgICA+ICAgICA+PiAgICAgICAoQXN5 bmNKb2JNZ3ItSGVhcnRiZWF0LTE6Y3R4LTJjN2QyZGNlKQ0KICAgID4gICAgID4+Pj4gKGxvZ2lk OmE1NmE5YThjKSBFbmQgY2xlYW51cCBleHBpcmVkIGFzeW5jLWpvYnMNCiAgICA+ICAgICA+Pj4+ IElORk8gW2MuYy51LkFjY291bnRNYW5hZ2VySW1wbF0NCiAgICA+ICAgICA+PiAgICAgICAoQWNj b3VudENoZWNrZXItMTpjdHgtMzgzYTYzMmMpDQogICAgPiAgICAgPj4+PiAobG9naWQ6NTQxZTli YTUpIEZvdW5kIDAgcmVtb3ZlZCBhY2NvdW50cyB0byBjbGVhbnVwDQogICAgPiAgICAgPj4+PiBJ TkZPIFtjLmMudS5BY2NvdW50TWFuYWdlckltcGxdDQogICAgPiAgICAgPj4gICAgICAgKEFjY291 bnRDaGVja2VyLTE6Y3R4LTM4M2E2MzJjKQ0KICAgID4gICAgID4+Pj4gKGxvZ2lkOjU0MWU5YmE1 KSBGb3VuZCAwIGRpc2FibGVkIGFjY291bnRzIHRvIGNsZWFudXANCiAgICA+ICAgICA+Pj4+IElO Rk8gW2MuYy51LkFjY291bnRNYW5hZ2VySW1wbF0NCiAgICA+ICAgICA+PiAgICAgICAoQWNjb3Vu dENoZWNrZXItMTpjdHgtMzgzYTYzMmMpDQogICAgPiAgICAgPj4+PiAobG9naWQ6NTQxZTliYTUp IEZvdW5kIDAgaW5hY3RpdmUgZG9tYWlucyB0byBjbGVhbnVwDQogICAgPiAgICAgPj4+PiBJTkZP IFtjLmMudS5BY2NvdW50TWFuYWdlckltcGxdDQogICAgPiAgICAgPj4gICAgICAgKEFjY291bnRD aGVja2VyLTE6Y3R4LTM4M2E2MzJjKQ0KICAgID4gICAgID4+Pj4gKGxvZ2lkOjU0MWU5YmE1KSBG b3VuZCAwIGRpc2FibGVkIHByb2plY3RzIHRvIGNsZWFudXANCiAgICA+ICAgICA+Pj4+IFdBUk4g W2MuYy5oLnguci5DaXRyaXhSZXNvdXJjZUJhc2VdDQogICAgPiAgICAgPj4gICAgICAgKERpcmVj dEFnZW50LTE2OmN0eC03YzkwMTQ0MykNCiAgICA+ICAgICA+Pj4+IChsb2dpZDphYWI5YzMyMCkg Y2FsbEhvc3RQbHVnaW4gZmFpbGVkIGZvciBjbWQ6DQogICAgPiAgICAgPj4gICAgICAgZGVmYXVs dF9uZXR3b3JrX3J1bGVzIHdpdGgNCiAgICA+ICAgICA+Pj4+IGFyZ3Mgc2VjSXBzOiAwOiwgdm1O YW1lOiBpLTItNi1WTSwgdm1JRDogNiwgdm1JUDoNCiAgICA+ICAgICA+PiAgICAgICAxMC4xMTcu NDAuNTMsIHZtTUFDOg0KICAgID4gICAgID4+Pj4gMDY6YjI6ZjQ6MDA6MDA6MjIsIGR1ZSB0byBU aGVyZSB3YXMgYSBmYWlsdXJlIGNvbW11bmljYXRpbmcNCiAgICA+ICAgICA+PiAgICAgICB3aXRo IHRoZQ0KICAgID4gICAgID4+Pj4gcGx1Z2luLg0KICAgID4gICAgID4+Pj4gV0FSTiBbYy5jLmgu eC5yLncueC5DaXRyaXhTdGFydENvbW1hbmRXcmFwcGVyXQ0KICAgID4gICAgID4+Pj4gKERpcmVj dEFnZW50LTE2OmN0eC03YzkwMTQ0MykgKGxvZ2lkOmFhYjljMzIwKSBDYXRjaA0KICAgID4gICAg ID4+ICAgICAgIEV4Y2VwdGlvbjogY2xhc3MNCiAgICA+ICAgICA+Pj4+IGNvbS5jbG91ZC51dGls cy5leGNlcHRpb24uQ2xvdWRSdW50aW1lRXhjZXB0aW9uIGR1ZSB0bw0KICAgID4gICAgID4+Pj4g Y29tLmNsb3VkLnV0aWxzLmV4Y2VwdGlvbi5DbG91ZFJ1bnRpbWVFeGNlcHRpb246DQogICAgPiAg ICAgPj4gICAgICAgY2FsbEhvc3RQbHVnaW4gZmFpbGVkDQogICAgPiAgICAgPj4+PiBmb3IgY21k OiBkZWZhdWx0X25ldHdvcmtfcnVsZXMgd2l0aCBhcmdzIHNlY0lwczogMDosIHZtTmFtZToNCiAg ICA+ICAgICA+PiAgICAgICBpLTItNi1WTSwNCiAgICA+ICAgICA+Pj4+IHZtSUQ6IDYsIHZtSVA6 IDEwLjExNy40MC41Mywgdm1NQUM6IDA2OmIyOmY0OjAwOjAwOjIyLCBkdWUgdG8NCiAgICA+ICAg ICA+PiAgICAgICBUaGVyZSB3YXMgYQ0KICAgID4gICAgID4+Pj4gZmFpbHVyZSBjb21tdW5pY2F0 aW5nIHdpdGggdGhlIHBsdWdpbi4NCiAgICA+ICAgICA+Pj4+IGNvbS5jbG91ZC51dGlscy5leGNl cHRpb24uQ2xvdWRSdW50aW1lRXhjZXB0aW9uOg0KICAgID4gICAgID4+ICAgICAgIGNhbGxIb3N0 UGx1Z2luIGZhaWxlZA0KICAgID4gICAgID4+Pj4gZm9yIGNtZDogZGVmYXVsdF9uZXR3b3JrX3J1 bGVzIHdpdGggYXJncyBzZWNJcHM6IDA6LCB2bU5hbWU6DQogICAgPiAgICAgPj4gICAgICAgaS0y LTYtVk0sDQogICAgPiAgICAgPj4+PiB2bUlEOiA2LCB2bUlQOiAxMC4xMTcuNDAuNTMsIHZtTUFD OiAwNjpiMjpmNDowMDowMDoyMiwgZHVlIHRvDQogICAgPiAgICAgPj4gICAgICAgVGhlcmUgd2Fz IGENCiAgICA+ICAgICA+Pj4+IGZhaWx1cmUgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBwbHVnaW4u DQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIGNvbS5jbG91ZC5oeXBlcnZp c29yLnhlbnNlcnZlci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQogICAgPiAgICAgPj4+ PiBjYWxsSG9zdFBsdWdpbihDaXRyaXhSZXNvdXJjZUJhc2UuamF2YTozMzgpDQogICAgPiAgICAg Pj4+PiBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci54 ZW5iYXNlLg0KICAgID4gICAgID4+Pj4NCiAgICA+ICAgICA+PiAgICAgICBDaXRyaXhTdGFydENv bW1hbmRXcmFwcGVyLmV4ZWN1dGUoQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBlci4NCiAgICA+IGph dmE6MTg4KQ0KICAgID4gICAgID4+Pj4gYXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVy LnJlc291cmNlLndyYXBwZXIueGVuYmFzZS4NCiAgICA+ICAgICA+Pj4+DQogICAgPiAgICAgPj4g ICAgICAgQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBlci5leGVjdXRlKENpdHJpeFN0YXJ0Q29tbWFu ZFdyYXBwZXIuDQogICAgPiBqYXZhOjUzKQ0KICAgID4gICAgID4+Pj4gYXQgY29tLmNsb3VkLmh5 cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLndyYXBwZXIuDQogICAgPiAgICAgPj4+Pg0KICAg ID4gICAgID4+ICAgICAgIHhlbmJhc2UuQ2l0cml4UmVxdWVzdFdyYXBwZXIuZXhlY3V0ZShDaXRy aXhSZXF1ZXN0V3JhcHBlci4NCiAgICA+IGphdmE6MTIyKQ0KICAgID4gICAgID4+Pj4gYXQNCiAg ICA+ICAgICA+PiAgICAgICBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uu Q2l0cml4UmVzb3VyY2VCYXNlLg0KICAgID4gICAgID4+Pj4gZXhlY3V0ZVJlcXVlc3QoQ2l0cml4 UmVzb3VyY2VCYXNlLmphdmE6MTY5MSkNCiAgICA+ICAgICA+Pj4+IGF0DQogICAgPiAgICAgPj4g ICAgICAgY29tLmNsb3VkLmFnZW50Lm1hbmFnZXIuRGlyZWN0QWdlbnRBdHRhY2hlJFRhc2sucnVu SW5Db250ZXh0KA0KICAgID4gICAgID4+Pj4gRGlyZWN0QWdlbnRBdHRhY2hlLmphdmE6MzE1KQ0K ICAgID4gICAgID4+Pj4gYXQNCiAgICA+ICAgICA+PiAgICAgICBvcmcuYXBhY2hlLmNsb3Vkc3Rh Y2subWFuYWdlZC5jb250ZXh0Lg0KICAgID4gTWFuYWdlZENvbnRleHRSdW5uYWJsZSQxLnJ1bigN CiAgICA+ICAgICA+Pj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0OSkNCiAgICA+ICAg ICA+Pj4+IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC4NCiAg ICA+ICAgICA+Pj4+IERlZmF1bHRNYW5hZ2VkQ29udGV4dCQxLmNhbGwoRGVmYXVsdE1hbmFnZWRD b250ZXh0LmphdmE6NTYpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIG9y Zy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC4NCiAgICA+IERlZmF1bHRN YW5hZ2VkQ29udGV4dC4NCiAgICA+ICAgICA+Pj4+IGNhbGxXaXRoQ29udGV4dChEZWZhdWx0TWFu YWdlZENvbnRleHQuamF2YToxMDMpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAg ICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC4NCiAgICA+IERl ZmF1bHRNYW5hZ2VkQ29udGV4dC4NCiAgICA+ICAgICA+Pj4+IHJ1bldpdGhDb250ZXh0KERlZmF1 bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjUzKQ0KICAgID4gICAgID4+Pj4gYXQNCiAgICA+ICAgICA+ PiAgICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0Lg0KICAgID4gTWFu YWdlZENvbnRleHRSdW5uYWJsZS5ydW4oDQogICAgPiAgICAgPj4+PiBNYW5hZ2VkQ29udGV4dFJ1 bm5hYmxlLmphdmE6NDYpDQogICAgPiAgICAgPj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5F eGVjdXRvcnMkUnVubmFibGVBZGFwdGVyLg0KICAgID4gICAgID4+Pj4gY2FsbChFeGVjdXRvcnMu amF2YTo1MTEpDQogICAgPiAgICAgPj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5GdXR1cmVU YXNrLnJ1bihGdXR1cmVUYXNrLmphdmE6MjY2KQ0KICAgID4gICAgID4+Pj4gYXQgamF2YS51dGls LmNvbmN1cnJlbnQuU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yJA0KICAgID4gICAgID4+Pj4N CiAgICA+ICAgICA+PiAgICAgICBTY2hlZHVsZWRGdXR1cmVUYXNrLmFjY2VzcyQyMDEoU2NoZWR1 bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLg0KICAgID4gamF2YToxODApDQogICAgPiAgICAgPj4+PiBh dCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IkDQogICAg PiAgICAgPj4+PiBTY2hlZHVsZWRGdXR1cmVUYXNrLnJ1bihTY2hlZHVsZWRUaHJlYWRQb29sRXhl Y3V0b3IuamF2YToyOTMpDQogICAgPiAgICAgPj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5U aHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKA0KICAgID4gICAgID4+Pj4gVGhyZWFkUG9vbEV4 ZWN1dG9yLmphdmE6MTE0MikNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50 LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKA0KICAgID4gICAgID4+Pj4gVGhyZWFkUG9v bEV4ZWN1dG9yLmphdmE6NjE3KQ0KICAgID4gICAgID4+Pj4gYXQgamF2YS5sYW5nLlRocmVhZC5y dW4oVGhyZWFkLmphdmE6NzQ1KQ0KICAgID4gICAgID4+Pj4gV0FSTiBbYy5jLmgueC5yLkNpdHJp eFJlc291cmNlQmFzZV0NCiAgICA+ICAgICA+PiAgICAgICAoRGlyZWN0QWdlbnQtMTY6Y3R4LTdj OTAxNDQzKQ0KICAgID4gICAgID4+Pj4gKGxvZ2lkOmFhYjljMzIwKSBVbmFibGUgdG8gc3RhcnQg aS0yLTYtVk0gZHVlIHRvDQogICAgPiAgICAgPj4+PiBjb20uY2xvdWQudXRpbHMuZXhjZXB0aW9u LkNsb3VkUnVudGltZUV4Y2VwdGlvbjoNCiAgICA+ICAgICA+PiAgICAgICBjYWxsSG9zdFBsdWdp biBmYWlsZWQNCiAgICA+ICAgICA+Pj4+IGZvciBjbWQ6IGRlZmF1bHRfbmV0d29ya19ydWxlcyB3 aXRoIGFyZ3Mgc2VjSXBzOiAwOiwgdm1OYW1lOg0KICAgID4gICAgID4+ICAgICAgIGktMi02LVZN LA0KICAgID4gICAgID4+Pj4gdm1JRDogNiwgdm1JUDogMTAuMTE3LjQwLjUzLCB2bU1BQzogMDY6 YjI6ZjQ6MDA6MDA6MjIsIGR1ZSB0bw0KICAgID4gICAgID4+ICAgICAgIFRoZXJlIHdhcyBhDQog ICAgPiAgICAgPj4+PiBmYWlsdXJlIGNvbW11bmljYXRpbmcgd2l0aCB0aGUgcGx1Z2luLg0KICAg ID4gICAgID4+Pj4gYXQNCiAgICA+ICAgICA+PiAgICAgICBjb20uY2xvdWQuaHlwZXJ2aXNvci54 ZW5zZXJ2ZXIucmVzb3VyY2UuQ2l0cml4UmVzb3VyY2VCYXNlLg0KICAgID4gICAgID4+Pj4gY2Fs bEhvc3RQbHVnaW4oQ2l0cml4UmVzb3VyY2VCYXNlLmphdmE6MzM4KQ0KICAgID4gICAgID4+Pj4g YXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLndyYXBwZXIueGVuYmFz ZS4NCiAgICA+ICAgICA+Pj4+DQogICAgPiAgICAgPj4gICAgICAgQ2l0cml4U3RhcnRDb21tYW5k V3JhcHBlci5leGVjdXRlKENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuDQogICAgPiBqYXZhOjE4 OCkNCiAgICA+ICAgICA+Pj4+IGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNv dXJjZS53cmFwcGVyLnhlbmJhc2UuDQogICAgPiAgICAgPj4+Pg0KICAgID4gICAgID4+ICAgICAg IENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuZXhlY3V0ZShDaXRyaXhTdGFydENvbW1hbmRXcmFw cGVyLg0KICAgID4gamF2YTo1MykNCiAgICA+ICAgICA+Pj4+IGF0IGNvbS5jbG91ZC5oeXBlcnZp c29yLnhlbnNlcnZlci5yZXNvdXJjZS53cmFwcGVyLg0KICAgID4gICAgID4+Pj4NCiAgICA+ICAg ICA+PiAgICAgICB4ZW5iYXNlLkNpdHJpeFJlcXVlc3RXcmFwcGVyLmV4ZWN1dGUoQ2l0cml4UmVx dWVzdFdyYXBwZXIuDQogICAgPiBqYXZhOjEyMikNCiAgICA+ICAgICA+Pj4+IGF0DQogICAgPiAg ICAgPj4gICAgICAgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLkNpdHJp eFJlc291cmNlQmFzZS4NCiAgICA+ICAgICA+Pj4+IGV4ZWN1dGVSZXF1ZXN0KENpdHJpeFJlc291 cmNlQmFzZS5qYXZhOjE2OTEpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAg IGNvbS5jbG91ZC5hZ2VudC5tYW5hZ2VyLkRpcmVjdEFnZW50QXR0YWNoZSRUYXNrLnJ1bkluQ29u dGV4dCgNCiAgICA+ICAgICA+Pj4+IERpcmVjdEFnZW50QXR0YWNoZS5qYXZhOjMxNSkNCiAgICA+ ICAgICA+Pj4+IGF0DQogICAgPiAgICAgPj4gICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1h bmFnZWQuY29udGV4dC4NCiAgICA+IE1hbmFnZWRDb250ZXh0UnVubmFibGUkMS5ydW4oDQogICAg PiAgICAgPj4+PiBNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLmphdmE6NDkpDQogICAgPiAgICAgPj4+ PiBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuDQogICAgPiAg ICAgPj4+PiBEZWZhdWx0TWFuYWdlZENvbnRleHQkMS5jYWxsKERlZmF1bHRNYW5hZ2VkQ29udGV4 dC5qYXZhOjU2KQ0KICAgID4gICAgID4+Pj4gYXQNCiAgICA+ICAgICA+PiAgICAgICBvcmcuYXBh Y2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuDQogICAgPiBEZWZhdWx0TWFuYWdl ZENvbnRleHQuDQogICAgPiAgICAgPj4+PiBjYWxsV2l0aENvbnRleHQoRGVmYXVsdE1hbmFnZWRD b250ZXh0LmphdmE6MTAzKQ0KICAgID4gICAgID4+Pj4gYXQNCiAgICA+ICAgICA+PiAgICAgICBv cmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuDQogICAgPiBEZWZhdWx0 TWFuYWdlZENvbnRleHQuDQogICAgPiAgICAgPj4+PiBydW5XaXRoQ29udGV4dChEZWZhdWx0TWFu YWdlZENvbnRleHQuamF2YTo1MykNCiAgICA+ICAgICA+Pj4+IGF0DQogICAgPiAgICAgPj4gICAg ICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC4NCiAgICA+IE1hbmFnZWRD b250ZXh0UnVubmFibGUucnVuKA0KICAgID4gICAgID4+Pj4gTWFuYWdlZENvbnRleHRSdW5uYWJs ZS5qYXZhOjQ2KQ0KICAgID4gICAgID4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0 b3JzJFJ1bm5hYmxlQWRhcHRlci4NCiAgICA+ICAgICA+Pj4+IGNhbGwoRXhlY3V0b3JzLmphdmE6 NTExKQ0KICAgID4gICAgID4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5y dW4oRnV0dXJlVGFzay5qYXZhOjI2NikNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEudXRpbC5jb25j dXJyZW50LlNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciQNCiAgICA+ICAgICA+Pj4+DQogICAg PiAgICAgPj4gICAgICAgU2NoZWR1bGVkRnV0dXJlVGFzay5hY2Nlc3MkMjAxKFNjaGVkdWxlZFRo cmVhZFBvb2xFeGVjdXRvci4NCiAgICA+IGphdmE6MTgwKQ0KICAgID4gICAgID4+Pj4gYXQgamF2 YS51dGlsLmNvbmN1cnJlbnQuU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yJA0KICAgID4gICAg ID4+Pj4gU2NoZWR1bGVkRnV0dXJlVGFzay5ydW4oU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9y LmphdmE6MjkzKQ0KICAgID4gICAgID4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFk UG9vbEV4ZWN1dG9yLnJ1bldvcmtlcigNCiAgICA+ICAgICA+Pj4+IFRocmVhZFBvb2xFeGVjdXRv ci5qYXZhOjExNDIpDQogICAgPiAgICAgPj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJl YWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bigNCiAgICA+ICAgICA+Pj4+IFRocmVhZFBvb2xFeGVj dXRvci5qYXZhOjYxNykNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRo cmVhZC5qYXZhOjc0NSkNCiAgICA+ICAgICA+Pj4+IElORk8gW28uYS5jLmUuby5OZXR3b3JrT3Jj aGVzdHJhdG9yXQ0KICAgID4gICAgID4+ICAgICAgIChOZXR3b3JrLVNjYXZlbmdlci0xOmN0eC0y MDU4ZDVhYykNCiAgICA+ICAgICA+Pj4+IChsb2dpZDpiZjg4ODVhMCkgTmV0d29ya0dhcmJhZ2VD b2xsZWN0b3IgdXNlcyAnMjAnIHNlY29uZHMNCiAgICA+ICAgICA+PiAgICAgICBmb3IgR0MgaW50 ZXJ2YWwuDQogICAgPiAgICAgPj4+PiBXQVJOIFtjLmMuaC54LnIuQ2l0cml4UmVzb3VyY2VCYXNl XQ0KICAgID4gICAgID4+ICAgICAgIChEaXJlY3RBZ2VudC0xNjpjdHgtN2M5MDE0NDMpDQogICAg PiAgICAgPj4+PiAobG9naWQ6YWFiOWMzMjApIFVuYWJsZSB0byBjbGVhbiB1cCBWQkQgZHVlIHRv DQogICAgPiAgICAgPj4+PiBZb3UgZ2F2ZSBhbiBpbnZhbGlkIG9iamVjdCByZWZlcmVuY2UuIFRo ZSBvYmplY3QgbWF5IGhhdmUNCiAgICA+ICAgICA+PiAgICAgICByZWNlbnRseSBiZWVuDQogICAg PiAgICAgPj4+PiBkZWxldGVkLiBUaGUgY2xhc3MgcGFyYW1ldGVyIGdpdmVzIHRoZSB0eXBlIG9m IHJlZmVyZW5jZQ0KICAgID4gICAgID4+ICAgICAgIGdpdmVuLCBhbmQgdGhlDQogICAgPiAgICAg Pj4+PiBoYW5kbGUgcGFyYW1ldGVyIGVjaG9lcyB0aGUgYmFkIHZhbHVlIGdpdmVuLg0KICAgID4g ICAgID4+Pj4gYXQgY29tLnhlbnNvdXJjZS54ZW5hcGkuVHlwZXMuY2hlY2tSZXNwb25zZShUeXBl cy5qYXZhOjY5MykNCiAgICA+ICAgICA+Pj4+IGF0DQogICAgPiAgICAgPj4gICAgICAgY29tLnhl bnNvdXJjZS54ZW5hcGkuQ29ubmVjdGlvbi5kaXNwYXRjaChDb25uZWN0aW9uLmphdmE6Mzk1KQ0K ICAgID4gICAgID4+Pj4gYXQNCiAgICA+ICAgICA+PiAgICAgICBjb20uY2xvdWQuaHlwZXJ2aXNv ci54ZW5zZXJ2ZXIucmVzb3VyY2UuDQogICAgPiBYZW5TZXJ2ZXJDb25uZWN0aW9uUG9vbCQNCiAg ICA+ICAgICA+Pj4+DQogICAgPiAgICAgPj4gICAgICAgWGVuU2VydmVyQ29ubmVjdGlvbi5kaXNw YXRjaChYZW5TZXJ2ZXJDb25uZWN0aW9uUG9vbC5qYXZhOg0KICAgID4gNDU3KQ0KICAgID4gICAg ID4+Pj4gYXQgY29tLnhlbnNvdXJjZS54ZW5hcGkuVkJELnVucGx1ZyhWQkQuamF2YToxMTA5KQ0K ICAgID4gICAgID4+Pj4gYXQNCiAgICA+ICAgICA+PiAgICAgICBjb20uY2xvdWQuaHlwZXJ2aXNv ci54ZW5zZXJ2ZXIucmVzb3VyY2UuQ2l0cml4UmVzb3VyY2VCYXNlLg0KICAgID4gICAgID4+Pj4g aGFuZGxlVm1TdGFydEZhaWx1cmUoQ2l0cml4UmVzb3VyY2VCYXNlLmphdmE6MzU3NikNCiAgICA+ ICAgICA+Pj4+IGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS53cmFw cGVyLnhlbmJhc2UuDQogICAgPiAgICAgPj4+Pg0KICAgID4gICAgID4+ICAgICAgIENpdHJpeFN0 YXJ0Q29tbWFuZFdyYXBwZXIuZXhlY3V0ZShDaXRyaXhTdGFydENvbW1hbmRXcmFwcGVyLg0KICAg ID4gamF2YToyMTApDQogICAgPiAgICAgPj4+PiBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5z ZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci54ZW5iYXNlLg0KICAgID4gICAgID4+Pj4NCiAgICA+ICAg ICA+PiAgICAgICBDaXRyaXhTdGFydENvbW1hbmRXcmFwcGVyLmV4ZWN1dGUoQ2l0cml4U3RhcnRD b21tYW5kV3JhcHBlci4NCiAgICA+IGphdmE6NTMpDQogICAgPiAgICAgPj4+PiBhdCBjb20uY2xv dWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci4NCiAgICA+ICAgICA+Pj4+ DQogICAgPiAgICAgPj4gICAgICAgeGVuYmFzZS5DaXRyaXhSZXF1ZXN0V3JhcHBlci5leGVjdXRl KENpdHJpeFJlcXVlc3RXcmFwcGVyLg0KICAgID4gamF2YToxMjIpDQogICAgPiAgICAgPj4+PiBh dA0KICAgID4gICAgID4+ICAgICAgIGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNv dXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQogICAgPiAgICAgPj4+PiBleGVjdXRlUmVxdWVzdChD aXRyaXhSZXNvdXJjZUJhc2UuamF2YToxNjkxKQ0KICAgID4gICAgID4+Pj4gYXQNCiAgICA+ICAg ICA+PiAgICAgICBjb20uY2xvdWQuYWdlbnQubWFuYWdlci5EaXJlY3RBZ2VudEF0dGFjaGUkVGFz ay5ydW5JbkNvbnRleHQoDQogICAgPiAgICAgPj4+PiBEaXJlY3RBZ2VudEF0dGFjaGUuamF2YToz MTUpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIG9yZy5hcGFjaGUuY2xv dWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuDQogICAgPiBNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlJDEu cnVuKA0KICAgID4gICAgID4+Pj4gTWFuYWdlZENvbnRleHRSdW5uYWJsZS5qYXZhOjQ5KQ0KICAg ID4gICAgID4+Pj4gYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBs Lg0KICAgID4gICAgID4+Pj4gRGVmYXVsdE1hbmFnZWRDb250ZXh0JDEuY2FsbChEZWZhdWx0TWFu YWdlZENvbnRleHQuamF2YTo1NikNCiAgICA+ICAgICA+Pj4+IGF0DQogICAgPiAgICAgPj4gICAg ICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLg0KICAgID4gRGVm YXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgID4gICAgID4+Pj4gY2FsbFdpdGhDb250ZXh0KERlZmF1 bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjEwMykNCiAgICA+ICAgICA+Pj4+IGF0DQogICAgPiAgICAg Pj4gICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLg0KICAg ID4gRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgID4gICAgID4+Pj4gcnVuV2l0aENvbnRleHQo RGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6NTMpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4g ICAgID4+ICAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuDQogICAg PiBNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLnJ1bigNCiAgICA+ICAgICA+Pj4+IE1hbmFnZWRDb250 ZXh0UnVubmFibGUuamF2YTo0NikNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJy ZW50LkV4ZWN1dG9ycyRSdW5uYWJsZUFkYXB0ZXIuDQogICAgPiAgICAgPj4+PiBjYWxsKEV4ZWN1 dG9ycy5qYXZhOjUxMSkNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LkZ1 dHVyZVRhc2sucnVuKEZ1dHVyZVRhc2suamF2YToyNjYpDQogICAgPiAgICAgPj4+PiBhdCBqYXZh LnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IkDQogICAgPiAgICAg Pj4+Pg0KICAgID4gICAgID4+ICAgICAgIFNjaGVkdWxlZEZ1dHVyZVRhc2suYWNjZXNzJDIwMShT Y2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IuDQogICAgPiBqYXZhOjE4MCkNCiAgICA+ICAgICA+ Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciQN CiAgICA+ICAgICA+Pj4+IFNjaGVkdWxlZEZ1dHVyZVRhc2sucnVuKFNjaGVkdWxlZFRocmVhZFBv b2xFeGVjdXRvci5qYXZhOjI5MykNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJy ZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoDQogICAgPiAgICAgPj4+PiBUaHJlYWRQ b29sRXhlY3V0b3IuamF2YToxMTQyKQ0KICAgID4gICAgID4+Pj4gYXQgamF2YS51dGlsLmNvbmN1 cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oDQogICAgPiAgICAgPj4+PiBUaHJl YWRQb29sRXhlY3V0b3IuamF2YTo2MTcpDQogICAgPiAgICAgPj4+PiBhdCBqYXZhLmxhbmcuVGhy ZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpDQogICAgPiAgICAgPj4+PiBXQVJOIFtjLmMuaC54LnIu Q2l0cml4UmVzb3VyY2VCYXNlXQ0KICAgID4gICAgID4+ICAgICAgIChEaXJlY3RBZ2VudC0xNjpj dHgtN2M5MDE0NDMpDQogICAgPiAgICAgPj4+PiAobG9naWQ6YWFiOWMzMjApIFVuYWJsZSB0byBj bGVhbiB1cCBWQkQgZHVlIHRvDQogICAgPiAgICAgPj4+PiBZb3UgZ2F2ZSBhbiBpbnZhbGlkIG9i amVjdCByZWZlcmVuY2UuIFRoZSBvYmplY3QgbWF5IGhhdmUNCiAgICA+ICAgICA+PiAgICAgICBy ZWNlbnRseSBiZWVuDQogICAgPiAgICAgPj4+PiBkZWxldGVkLiBUaGUgY2xhc3MgcGFyYW1ldGVy IGdpdmVzIHRoZSB0eXBlIG9mIHJlZmVyZW5jZQ0KICAgID4gICAgID4+ICAgICAgIGdpdmVuLCBh bmQgdGhlDQogICAgPiAgICAgPj4+PiBoYW5kbGUgcGFyYW1ldGVyIGVjaG9lcyB0aGUgYmFkIHZh bHVlIGdpdmVuLg0KICAgID4gICAgID4+Pj4gYXQgY29tLnhlbnNvdXJjZS54ZW5hcGkuVHlwZXMu Y2hlY2tSZXNwb25zZShUeXBlcy5qYXZhOjY5MykNCiAgICA+ICAgICA+Pj4+IGF0DQogICAgPiAg ICAgPj4gICAgICAgY29tLnhlbnNvdXJjZS54ZW5hcGkuQ29ubmVjdGlvbi5kaXNwYXRjaChDb25u ZWN0aW9uLmphdmE6Mzk1KQ0KICAgID4gICAgID4+Pj4gYXQNCiAgICA+ICAgICA+PiAgICAgICBj b20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2UuDQogICAgPiBYZW5TZXJ2ZXJD b25uZWN0aW9uUG9vbCQNCiAgICA+ICAgICA+Pj4+DQogICAgPiAgICAgPj4gICAgICAgWGVuU2Vy dmVyQ29ubmVjdGlvbi5kaXNwYXRjaChYZW5TZXJ2ZXJDb25uZWN0aW9uUG9vbC5qYXZhOg0KICAg ID4gNDU3KQ0KICAgID4gICAgID4+Pj4gYXQgY29tLnhlbnNvdXJjZS54ZW5hcGkuVkJELnVucGx1 ZyhWQkQuamF2YToxMTA5KQ0KICAgID4gICAgID4+Pj4gYXQNCiAgICA+ICAgICA+PiAgICAgICBj b20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2UuQ2l0cml4UmVzb3VyY2VCYXNl Lg0KICAgID4gICAgID4+Pj4gaGFuZGxlVm1TdGFydEZhaWx1cmUoQ2l0cml4UmVzb3VyY2VCYXNl LmphdmE6MzU3NikNCiAgICA+ICAgICA+Pj4+IGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNl cnZlci5yZXNvdXJjZS53cmFwcGVyLnhlbmJhc2UuDQogICAgPiAgICAgPj4+Pg0KICAgID4gICAg ID4+ICAgICAgIENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuZXhlY3V0ZShDaXRyaXhTdGFydENv bW1hbmRXcmFwcGVyLg0KICAgID4gamF2YToyMTApDQogICAgPiAgICAgPj4+PiBhdCBjb20uY2xv dWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci54ZW5iYXNlLg0KICAgID4g ICAgID4+Pj4NCiAgICA+ICAgICA+PiAgICAgICBDaXRyaXhTdGFydENvbW1hbmRXcmFwcGVyLmV4 ZWN1dGUoQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBlci4NCiAgICA+IGphdmE6NTMpDQogICAgPiAg ICAgPj4+PiBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBl ci4NCiAgICA+ICAgICA+Pj4+DQogICAgPiAgICAgPj4gICAgICAgeGVuYmFzZS5DaXRyaXhSZXF1 ZXN0V3JhcHBlci5leGVjdXRlKENpdHJpeFJlcXVlc3RXcmFwcGVyLg0KICAgID4gamF2YToxMjIp DQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIGNvbS5jbG91ZC5oeXBlcnZp c29yLnhlbnNlcnZlci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQogICAgPiAgICAgPj4+ PiBleGVjdXRlUmVxdWVzdChDaXRyaXhSZXNvdXJjZUJhc2UuamF2YToxNjkxKQ0KICAgID4gICAg ID4+Pj4gYXQNCiAgICA+ICAgICA+PiAgICAgICBjb20uY2xvdWQuYWdlbnQubWFuYWdlci5EaXJl Y3RBZ2VudEF0dGFjaGUkVGFzay5ydW5JbkNvbnRleHQoDQogICAgPiAgICAgPj4+PiBEaXJlY3RB Z2VudEF0dGFjaGUuamF2YTozMTUpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAg ICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuDQogICAgPiBNYW5hZ2Vk Q29udGV4dFJ1bm5hYmxlJDEucnVuKA0KICAgID4gICAgID4+Pj4gTWFuYWdlZENvbnRleHRSdW5u YWJsZS5qYXZhOjQ5KQ0KICAgID4gICAgID4+Pj4gYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1h bmFnZWQuY29udGV4dC5pbXBsLg0KICAgID4gICAgID4+Pj4gRGVmYXVsdE1hbmFnZWRDb250ZXh0 JDEuY2FsbChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YTo1NikNCiAgICA+ICAgICA+Pj4+IGF0 DQogICAgPiAgICAgPj4gICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4 dC5pbXBsLg0KICAgID4gRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgID4gICAgID4+Pj4gY2Fs bFdpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjEwMykNCiAgICA+ICAgICA+ Pj4+IGF0DQogICAgPiAgICAgPj4gICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQu Y29udGV4dC5pbXBsLg0KICAgID4gRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgID4gICAgID4+ Pj4gcnVuV2l0aENvbnRleHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6NTMpDQogICAgPiAg ICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5h Z2VkLmNvbnRleHQuDQogICAgPiBNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLnJ1bigNCiAgICA+ICAg ICA+Pj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0NikNCiAgICA+ICAgICA+Pj4+IGF0 IGphdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRSdW5uYWJsZUFkYXB0ZXIuDQogICAgPiAg ICAgPj4+PiBjYWxsKEV4ZWN1dG9ycy5qYXZhOjUxMSkNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEu dXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucnVuKEZ1dHVyZVRhc2suamF2YToyNjYpDQogICAg PiAgICAgPj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhl Y3V0b3IkDQogICAgPiAgICAgPj4+Pg0KICAgID4gICAgID4+ICAgICAgIFNjaGVkdWxlZEZ1dHVy ZVRhc2suYWNjZXNzJDIwMShTY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IuDQogICAgPiBqYXZh OjE4MCkNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlNjaGVkdWxlZFRo cmVhZFBvb2xFeGVjdXRvciQNCiAgICA+ICAgICA+Pj4+IFNjaGVkdWxlZEZ1dHVyZVRhc2sucnVu KFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjI5MykNCiAgICA+ICAgICA+Pj4+IGF0 IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoDQogICAg PiAgICAgPj4+PiBUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQyKQ0KICAgID4gICAgID4+Pj4g YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oDQog ICAgPiAgICAgPj4+PiBUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTcpDQogICAgPiAgICAgPj4+ PiBhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpDQogICAgPiAgICAgPj4+ PiBXQVJOIFtjLmMuaC54LnIuQ2l0cml4UmVzb3VyY2VCYXNlXQ0KICAgID4gICAgID4+ICAgICAg IChEaXJlY3RBZ2VudC0xNjpjdHgtN2M5MDE0NDMpDQogICAgPiAgICAgPj4+PiAobG9naWQ6YWFi OWMzMjApIFVuYWJsZSB0byBjbGVhbnVwIFZJRg0KICAgID4gICAgID4+Pj4gWW91IGdhdmUgYW4g aW52YWxpZCBvYmplY3QgcmVmZXJlbmNlLiBUaGUgb2JqZWN0IG1heSBoYXZlDQogICAgPiAgICAg Pj4gICAgICAgcmVjZW50bHkgYmVlbg0KICAgID4gICAgID4+Pj4gZGVsZXRlZC4gVGhlIGNsYXNz IHBhcmFtZXRlciBnaXZlcyB0aGUgdHlwZSBvZiByZWZlcmVuY2UNCiAgICA+ICAgICA+PiAgICAg ICBnaXZlbiwgYW5kIHRoZQ0KICAgID4gICAgID4+Pj4gaGFuZGxlIHBhcmFtZXRlciBlY2hvZXMg dGhlIGJhZCB2YWx1ZSBnaXZlbi4NCiAgICA+ICAgICA+Pj4+IGF0IGNvbS54ZW5zb3VyY2UueGVu YXBpLlR5cGVzLmNoZWNrUmVzcG9uc2UoVHlwZXMuamF2YTo2OTMpDQogICAgPiAgICAgPj4+PiBh dA0KICAgID4gICAgID4+ICAgICAgIGNvbS54ZW5zb3VyY2UueGVuYXBpLkNvbm5lY3Rpb24uZGlz cGF0Y2goQ29ubmVjdGlvbi5qYXZhOjM5NSkNCiAgICA+ICAgICA+Pj4+IGF0DQogICAgPiAgICAg Pj4gICAgICAgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLg0KICAgID4g WGVuU2VydmVyQ29ubmVjdGlvblBvb2wkDQogICAgPiAgICAgPj4+Pg0KICAgID4gICAgID4+ICAg ICAgIFhlblNlcnZlckNvbm5lY3Rpb24uZGlzcGF0Y2goWGVuU2VydmVyQ29ubmVjdGlvblBvb2wu amF2YToNCiAgICA+IDQ1NykNCiAgICA+ICAgICA+Pj4+IGF0IGNvbS54ZW5zb3VyY2UueGVuYXBp LlZJRi51bnBsdWcoVklGLmphdmE6OTIxKQ0KICAgID4gICAgID4+Pj4gYXQNCiAgICA+ICAgICA+ PiAgICAgICBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2UuQ2l0cml4UmVz b3VyY2VCYXNlLg0KICAgID4gICAgID4+Pj4gaGFuZGxlVm1TdGFydEZhaWx1cmUoQ2l0cml4UmVz b3VyY2VCYXNlLmphdmE6MzU4NCkNCiAgICA+ICAgICA+Pj4+IGF0IGNvbS5jbG91ZC5oeXBlcnZp c29yLnhlbnNlcnZlci5yZXNvdXJjZS53cmFwcGVyLnhlbmJhc2UuDQogICAgPiAgICAgPj4+Pg0K ICAgID4gICAgID4+ICAgICAgIENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuZXhlY3V0ZShDaXRy aXhTdGFydENvbW1hbmRXcmFwcGVyLg0KICAgID4gamF2YToyMTApDQogICAgPiAgICAgPj4+PiBh dCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci54ZW5iYXNl Lg0KICAgID4gICAgID4+Pj4NCiAgICA+ICAgICA+PiAgICAgICBDaXRyaXhTdGFydENvbW1hbmRX cmFwcGVyLmV4ZWN1dGUoQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBlci4NCiAgICA+IGphdmE6NTMp DQogICAgPiAgICAgPj4+PiBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3Vy Y2Uud3JhcHBlci4NCiAgICA+ICAgICA+Pj4+DQogICAgPiAgICAgPj4gICAgICAgeGVuYmFzZS5D aXRyaXhSZXF1ZXN0V3JhcHBlci5leGVjdXRlKENpdHJpeFJlcXVlc3RXcmFwcGVyLg0KICAgID4g amF2YToxMjIpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIGNvbS5jbG91 ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQogICAg PiAgICAgPj4+PiBleGVjdXRlUmVxdWVzdChDaXRyaXhSZXNvdXJjZUJhc2UuamF2YToxNjkxKQ0K ICAgID4gICAgID4+Pj4gYXQNCiAgICA+ICAgICA+PiAgICAgICBjb20uY2xvdWQuYWdlbnQubWFu YWdlci5EaXJlY3RBZ2VudEF0dGFjaGUkVGFzay5ydW5JbkNvbnRleHQoDQogICAgPiAgICAgPj4+ PiBEaXJlY3RBZ2VudEF0dGFjaGUuamF2YTozMTUpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4g ICAgID4+ICAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuDQogICAg PiBNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlJDEucnVuKA0KICAgID4gICAgID4+Pj4gTWFuYWdlZENv bnRleHRSdW5uYWJsZS5qYXZhOjQ5KQ0KICAgID4gICAgID4+Pj4gYXQgb3JnLmFwYWNoZS5jbG91 ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLg0KICAgID4gICAgID4+Pj4gRGVmYXVsdE1hbmFn ZWRDb250ZXh0JDEuY2FsbChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YTo1NikNCiAgICA+ICAg ICA+Pj4+IGF0DQogICAgPiAgICAgPj4gICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFn ZWQuY29udGV4dC5pbXBsLg0KICAgID4gRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgID4gICAg ID4+Pj4gY2FsbFdpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjEwMykNCiAg ICA+ICAgICA+Pj4+IGF0DQogICAgPiAgICAgPj4gICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNr Lm1hbmFnZWQuY29udGV4dC5pbXBsLg0KICAgID4gRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAg ID4gICAgID4+Pj4gcnVuV2l0aENvbnRleHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6NTMp DQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIG9yZy5hcGFjaGUuY2xvdWRz dGFjay5tYW5hZ2VkLmNvbnRleHQuDQogICAgPiBNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLnJ1bigN CiAgICA+ICAgICA+Pj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0NikNCiAgICA+ICAg ICA+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRSdW5uYWJsZUFkYXB0ZXIu DQogICAgPiAgICAgPj4+PiBjYWxsKEV4ZWN1dG9ycy5qYXZhOjUxMSkNCiAgICA+ICAgICA+Pj4+ IGF0IGphdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucnVuKEZ1dHVyZVRhc2suamF2YToy NjYpDQogICAgPiAgICAgPj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJl YWRQb29sRXhlY3V0b3IkDQogICAgPiAgICAgPj4+Pg0KICAgID4gICAgID4+ICAgICAgIFNjaGVk dWxlZEZ1dHVyZVRhc2suYWNjZXNzJDIwMShTY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IuDQog ICAgPiBqYXZhOjE4MCkNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlNj aGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciQNCiAgICA+ICAgICA+Pj4+IFNjaGVkdWxlZEZ1dHVy ZVRhc2sucnVuKFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjI5MykNCiAgICA+ICAg ICA+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3Jr ZXIoDQogICAgPiAgICAgPj4+PiBUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQyKQ0KICAgID4g ICAgID4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtl ci5ydW4oDQogICAgPiAgICAgPj4+PiBUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTcpDQogICAg PiAgICAgPj4+PiBhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpDQogICAg PiAgICAgPj4+PiBJTkZPIFtjLmMudi5WaXJ0dWFsTWFjaGluZU1hbmFnZXJJbXBsXQ0KICAgID4g ICAgID4+ICAgICAgIChXb3JrLUpvYi1FeGVjdXRvci0yOmN0eC1iYzEwNDM4MA0KICAgID4gICAg ID4+Pj4gam9iLTI1L2pvYi0yNyBjdHgtOGM5NDZhNWIpIChsb2dpZDphYWI5YzMyMCkgVW5hYmxl IHRvIHN0YXJ0DQogICAgPiAgICAgPj4gICAgICAgVk0gb24NCiAgICA+ICAgICA+Pj4+IEhvc3Rb LTItUm91dGluZ10gZHVlIHRvIFVuYWJsZSB0byBzdGFydCBpLTItNi1WTSBkdWUgdG8NCiAgICA+ ICAgICA+Pj4+IEVSUk9SIFtjLmMudi5WbVdvcmtKb2JIYW5kbGVyUHJveHldDQogICAgPiAgICAg Pj4gICAgICAgKFdvcmstSm9iLUV4ZWN1dG9yLTI6Y3R4LWJjMTA0MzgwDQogICAgPiAgICAgPj4+ PiBqb2ItMjUvam9iLTI3IGN0eC04Yzk0NmE1YikgKGxvZ2lkOmFhYjljMzIwKSBJbnZvY2F0aW9u DQogICAgPiAgICAgPj4gICAgICAgZXhjZXB0aW9uLCBjYXVzZWQNCiAgICA+ICAgICA+Pj4+IGJ5 OiBjb20uY2xvdWQuZXhjZXB0aW9uLkluc3VmZmljaWVudFNlcnZlckNhcGFjaXR5RXhjZXB0aW9u Og0KICAgID4gICAgID4+ICAgICAgIFVuYWJsZSB0bw0KICAgID4gICAgID4+Pj4gY3JlYXRlIGEg ZGVwbG95bWVudCBmb3IgVk1bVXNlcnxpLTItNi1WTV1TY29wZT1pbnRlcmZhY2UNCiAgICA+ICAg ICA+Pj4+IGNvbS5jbG91ZC5kYy5EYXRhQ2VudGVyOyBpZD0xDQogICAgPiAgICAgPj4+PiBJTkZP IFtjLmMudi5WbVdvcmtKb2JIYW5kbGVyUHJveHldDQogICAgPiAgICAgPj4gICAgICAgKFdvcmst Sm9iLUV4ZWN1dG9yLTI6Y3R4LWJjMTA0MzgwDQogICAgPiAgICAgPj4+PiBqb2ItMjUvam9iLTI3 IGN0eC04Yzk0NmE1YikgKGxvZ2lkOmFhYjljMzIwKSBSZXRocm93DQogICAgPiAgICAgPj4gICAg ICAgZXhjZXB0aW9uDQogICAgPiAgICAgPj4+PiBjb20uY2xvdWQuZXhjZXB0aW9uLkluc3VmZmlj aWVudFNlcnZlckNhcGFjaXR5RXhjZXB0aW9uOg0KICAgID4gICAgID4+ICAgICAgIFVuYWJsZSB0 byBjcmVhdGUNCiAgICA+ICAgICA+Pj4+IGEgZGVwbG95bWVudCBmb3IgVk1bVXNlcnxpLTItNi1W TV1TY29wZT1pbnRlcmZhY2UNCiAgICA+ICAgICA+Pj4+IGNvbS5jbG91ZC5kYy5EYXRhQ2VudGVy OyBpZD0xDQogICAgPiAgICAgPj4+PiBFUlJPUiBbYy5jLnYuVm1Xb3JrSm9iRGlzcGF0Y2hlcl0N CiAgICA+ICAgICA+PiAgICAgICAoV29yay1Kb2ItRXhlY3V0b3ItMjpjdHgtYmMxMDQzODANCiAg ICA+ICAgICA+Pj4+IGpvYi0yNS9qb2ItMjcpIChsb2dpZDphYWI5YzMyMCkgVW5hYmxlIHRvIGNv bXBsZXRlIEFzeW5jSm9iVk8NCiAgICA+ICAgICA+PiAgICAgICB7aWQ6MjcsDQogICAgPiAgICAg Pj4+PiB1c2VySWQ6IDIsIGFjY291bnRJZDogMiwgaW5zdGFuY2VUeXBlOiBudWxsLCBpbnN0YW5j ZUlkOg0KICAgID4gICAgID4+ICAgICAgIG51bGwsIGNtZDoNCiAgICA+ICAgICA+Pj4+IGNvbS5j bG91ZC52bS5WbVdvcmtTdGFydCwgY21kSW5mbzoNCiAgICA+ICAgICA+PiAgICAgICByTzBBQlhO eUFCaGpiMjB1WTJ4dmRXUXVkbTB1Vm0NCiAgICA+ICAgICA+Pj4+IDFYYjNKclUzUmhjblI5Y01H c3Z4ejczZ0lBQzBvQUJHUmpTV1JNQUFaaGRtOXBaSE4wQURCTVkyOXRMMg0KICAgID4gICAgID4+ Pj4gTnNiM1ZrTDJSbGNHeHZlUzlFWlhCc2IzbHRaVzUwVUd4aGJtNWxjaVJGZUdOc2RXUmxUR2x6 ZER0TUFBDQogICAgPiAgICAgPj4+PiBsamJIVnpkR1Z5U1dSMEFCQk1hbUYyWVM5c1lXNW5MMHh2 Ym1jN1RBQUdhRzl6ZEVsa2NRQi0NCiAgICA+ICAgICA+Pj4+IEFBSk1BQXRxYjNWeWJtRnNUbUZ0 WlhRQUVreHFZWFpoTDJ4aGJtY3ZVM1J5YVc1bk8wd0FFWEJvZVhOcA0KICAgID4gICAgID4+Pj4N CiAgICA+ICAgICA+PiAgICAgICBZMkZzVG1WMGQyOXlhMGxrY1FCLUFBSk1BQWR3YkdGdWJtVnlj UUItDQogICAgPiBBQU5NQUFWd2IyUkpaSEVBZmdBQ1RBQUdjRzl2YkUNCiAgICA+ICAgICA+Pj4+ DQogICAgPiAgICAgPj4gICAgICAgbGtjUUItQUFKTUFBbHlZWGRRWVhKaGJYTjBBQTlNYW1GMllT DQogICAgPiA5MWRHbHNMMDFoY0R0TUFBMXlaWE5sY25aaGRHbHZia2xrY1FCLQ0KICAgID4gICAg ID4+Pj4NCiAgICA+ICAgICA+PiAgICAgICBBQU40Y2dBVFkyOXRMbU5zYjNWa0xuWnRMbFp0VjI5 eWE1LQ0KICAgID4gWnRsYndKV2RyQWdBRVNnQUpZV05qYjNWdWRFbGtTDQogICAgPiAgICAgPj4+ Pg0KICAgID4gICAgID4+ICAgICAgIGdBR2RYTmxja2xrU2dBRWRtMUpaRXdBQzJoaGJtUnNaWEpP WVcxbGNRQi0NCiAgICA+IEFBTjRjQUFBQUFBQUFBQUNBQUFBQUFBQUFBSUFBQQ0KICAgID4gICAg ID4+Pj4gQUFBQUFBQm5RQUdWWnBjblIxWVd4TllXTm9hVzVsVFdGdVlXZGxja2x0Y0d3QUFBQUFB QUFBQUhCd2NIDQogICAgPiAgICAgPj4+PiBCd2NIQndjM0lBRVdwaGRtRXVkWFJwYkM1SVlYTm9U V0Z3QlFmYXdjTVdZTkVEQUFKR0FBcHNiMkZrUm0NCiAgICA+ICAgICA+Pj4+IEZqZEc5eVNRQUpk R2h5WlhOb2IyeGtlSEFfUUFBQUFBQUFESGNJQUFBQUVBQUFBQUYwQUFwV2JWDQogICAgPiAgICAg Pj4+PiBCaGMzTjNiM0prZEFBY2NrOHdRVUpZVVVGRWJrNW9aRzFXYTFnelFtaGpNMDR6WWpOS2Ez aHcsDQogICAgPiAgICAgPj4gICAgICAgY21kVmVyc2lvbjogMCwNCiAgICA+ICAgICA+Pj4+IHN0 YXR1czogSU5fUFJPR1JFU1MsIHByb2Nlc3NTdGF0dXM6IDAsIHJlc3VsdENvZGU6IDAsIHJlc3Vs dDoNCiAgICA+ICAgICA+PiAgICAgICBudWxsLA0KICAgID4gICAgID4+Pj4gaW5pdE1zaWQ6IDUy MjM3NjE3Nzk3LCBjb21wbGV0ZU1zaWQ6IG51bGwsIGxhc3RVcGRhdGVkOiBudWxsLA0KICAgID4g ICAgID4+ICAgICAgIGxhc3RQb2xsZWQ6DQogICAgPiAgICAgPj4+PiBudWxsLCBjcmVhdGVkOiBX ZWQgTWFyIDAxIDEyOjUxOjMyIE1TVCAyMDE3fSwgam9iIG9yaWdpbjoyNQ0KICAgID4gICAgID4+ Pj4gY29tLmNsb3VkLmV4Y2VwdGlvbi5JbnN1ZmZpY2llbnRTZXJ2ZXJDYXBhY2l0eUV4Y2VwdGlv bjoNCiAgICA+ICAgICA+PiAgICAgICBVbmFibGUgdG8gY3JlYXRlDQogICAgPiAgICAgPj4+PiBh IGRlcGxveW1lbnQgZm9yIFZNW1VzZXJ8aS0yLTYtVk1dU2NvcGU9aW50ZXJmYWNlDQogICAgPiAg ICAgPj4+PiBjb20uY2xvdWQuZGMuRGF0YUNlbnRlcjsgaWQ9MQ0KICAgID4gICAgID4+Pj4gYXQg Y29tLmNsb3VkLnZtLlZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwub3JjaGVzdHJhdGVTdGFydCgN CiAgICA+ICAgICA+Pj4+IFZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwuamF2YTo5NjEpDQogICAg PiAgICAgPj4+PiBhdCBjb20uY2xvdWQudm0uVmlydHVhbE1hY2hpbmVNYW5hZ2VySW1wbC5vcmNo ZXN0cmF0ZVN0YXJ0KA0KICAgID4gICAgID4+Pj4gVmlydHVhbE1hY2hpbmVNYW5hZ2VySW1wbC5q YXZhOjQ2NjEpDQogICAgPiAgICAgPj4+PiBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nl c3NvckltcGwuaW52b2tlMChOYXRpdmUNCiAgICA+ICAgICA+PiAgICAgICBNZXRob2QpDQogICAg PiAgICAgPj4+PiBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tl KA0KICAgID4gICAgID4+Pj4gTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NjIpDQogICAg PiAgICAgPj4+PiBhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmlu dm9rZSgNCiAgICA+ICAgICA+Pj4+IERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0 MykNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0 aG9kLmphdmE6NDk4KQ0KICAgID4gICAgID4+Pj4gYXQgY29tLmNsb3VkLnZtLlZtV29ya0pvYkhh bmRsZXJQcm94eS5oYW5kbGVWbVdvcmtKb2IoDQogICAgPiAgICAgPj4+PiBWbVdvcmtKb2JIYW5k bGVyUHJveHkuamF2YToxMDcpDQogICAgPiAgICAgPj4+PiBhdCBjb20uY2xvdWQudm0uVmlydHVh bE1hY2hpbmVNYW5hZ2VySW1wbC5oYW5kbGVWbVdvcmtKb2IoDQogICAgPiAgICAgPj4+PiBWaXJ0 dWFsTWFjaGluZU1hbmFnZXJJbXBsLmphdmE6NDgyMikNCiAgICA+ICAgICA+Pj4+IGF0IGNvbS5j bG91ZC52bS5WbVdvcmtKb2JEaXNwYXRjaGVyLnJ1bkpvYigNCiAgICA+ICAgICA+Pj4+IFZtV29y a0pvYkRpc3BhdGNoZXIuamF2YToxMDIpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ ICAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5mcmFtZXdvcmsuam9icy5pbXBsLg0KICAgID4g QXN5bmNKb2JNYW5hZ2VySW1wbCQ1Lg0KICAgID4gICAgID4+Pj4gcnVuSW5Db250ZXh0KEFzeW5j Sm9iTWFuYWdlckltcGwuamF2YTo1NTQpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ ICAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuDQogICAgPiBNYW5h Z2VkQ29udGV4dFJ1bm5hYmxlJDEucnVuKA0KICAgID4gICAgID4+Pj4gTWFuYWdlZENvbnRleHRS dW5uYWJsZS5qYXZhOjQ5KQ0KICAgID4gICAgID4+Pj4gYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNr Lm1hbmFnZWQuY29udGV4dC5pbXBsLg0KICAgID4gICAgID4+Pj4gRGVmYXVsdE1hbmFnZWRDb250 ZXh0JDEuY2FsbChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YTo1NikNCiAgICA+ICAgICA+Pj4+ IGF0DQogICAgPiAgICAgPj4gICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29u dGV4dC5pbXBsLg0KICAgID4gRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgID4gICAgID4+Pj4g Y2FsbFdpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjEwMykNCiAgICA+ICAg ICA+Pj4+IGF0DQogICAgPiAgICAgPj4gICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFn ZWQuY29udGV4dC5pbXBsLg0KICAgID4gRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgID4gICAg ID4+Pj4gcnVuV2l0aENvbnRleHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6NTMpDQogICAg PiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5t YW5hZ2VkLmNvbnRleHQuDQogICAgPiBNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLnJ1bigNCiAgICA+ ICAgICA+Pj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0NikNCiAgICA+ICAgICA+Pj4+ IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5mcmFtZXdvcmsuam9icy5pbXBsLg0KICAgID4gICAg ID4+Pj4gQXN5bmNKb2JNYW5hZ2VySW1wbCQ1LnJ1bihBc3luY0pvYk1hbmFnZXJJbXBsLmphdmE6 NTAyKQ0KICAgID4gICAgID4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFJ1 bm5hYmxlQWRhcHRlci4NCiAgICA+ICAgICA+Pj4+IGNhbGwoRXhlY3V0b3JzLmphdmE6NTExKQ0K ICAgID4gICAgID4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0 dXJlVGFzay5qYXZhOjI2NikNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50 LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoDQogICAgPiAgICAgPj4+PiBUaHJlYWRQb29s RXhlY3V0b3IuamF2YToxMTQyKQ0KICAgID4gICAgID4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJl bnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oDQogICAgPiAgICAgPj4+PiBUaHJlYWRQ b29sRXhlY3V0b3IuamF2YTo2MTcpDQogICAgPiAgICAgPj4+PiBhdCBqYXZhLmxhbmcuVGhyZWFk LnJ1bihUaHJlYWQuamF2YTo3NDUpDQogICAgPiAgICAgPj4+PiBJTkZPIFtvLmEuYy5mLmouaS5B c3luY0pvYk1vbml0b3JdDQogICAgPiAgICAgPj4gICAgICAgKFdvcmstSm9iLUV4ZWN1dG9yLTI6 Y3R4LWJjMTA0MzgwDQogICAgPiAgICAgPj4+PiBqb2ItMjUvam9iLTI3KSAobG9naWQ6YWFiOWMz MjApIFJlbW92ZSBqb2ItMjcgZnJvbSBqb2INCiAgICA+ICAgICA+PiAgICAgICBtb25pdG9yaW5n DQogICAgPiAgICAgPj4+PiBXQVJOIFtvLmEuYy5hbGVydHNdIChBUEktSm9iLUV4ZWN1dG9yLTE6 Y3R4LWY3ODcyMDFkIGpvYi0yNQ0KICAgID4gICAgID4+Pj4gY3R4LTU2MzU2YzFhKSAobG9naWQ6 YWFiOWMzMjApIGFsZXJ0VHlwZTo6IDggLy8NCiAgICA+ICAgICA+PiAgICAgICBkYXRhQ2VudGVy SWQ6OiAxIC8vDQogICAgPiAgICAgPj4+PiBwb2RJZDo6IDEgLy8gY2x1c3RlcklkOjogbnVsbCAv LyBtZXNzYWdlOjogRmFpbGVkIHRvIGRlcGxveQ0KICAgID4gICAgID4+ICAgICAgIFZtIHdpdGgg SWQ6IDYsDQogICAgPiAgICAgPj4+PiBvbiBIb3N0IHdpdGggSWQ6IG51bGwNCiAgICA+ICAgICA+ Pj4+IEVSUk9SIFtjLmMuYS5BcGlBc3luY0pvYkRpc3BhdGNoZXJdDQogICAgPiAgICAgPj4gICAg ICAgKEFQSS1Kb2ItRXhlY3V0b3ItMTpjdHgtZjc4NzIwMWQNCiAgICA+ICAgICA+Pj4+IGpvYi0y NSkgKGxvZ2lkOmFhYjljMzIwKSBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGlsZSBleGVjdXRpbmcN CiAgICA+ICAgICA+Pj4+IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5hcGkuY29tbWFuZC5hZG1pbi52 bS5EZXBsb3lWTUNtZEJ5QWRtaW4NCiAgICA+ICAgICA+Pj4+IGNvbS5jbG91ZC51dGlscy5leGNl cHRpb24uQ2xvdWRSdW50aW1lRXhjZXB0aW9uOiBVbmFibGUgdG8NCiAgICA+ICAgICA+PiAgICAg ICBzdGFydCBhIFZNIGR1ZQ0KICAgID4gICAgID4+Pj4gdG8gaW5zdWZmaWNpZW50IGNhcGFjaXR5 DQogICAgPiAgICAgPj4+PiBhdCBjb20uY2xvdWQudm0uVmlydHVhbE1hY2hpbmVNYW5hZ2VySW1w bC5zdGFydCgNCiAgICA+ICAgICA+Pj4+IFZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwuamF2YTo2 MjMpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIG9yZy5hcGFjaGUuY2xv dWRzdGFjay5lbmdpbmUuY2xvdWQuZW50aXR5LmFwaS4NCiAgICA+IFZNRW50aXR5TWFuYWdlcklt cGwuDQogICAgPiAgICAgPj4+PiBkZXBsb3lWaXJ0dWFsTWFjaGluZShWTUVudGl0eU1hbmFnZXJJ bXBsLmphdmE6MjQyKQ0KICAgID4gICAgID4+Pj4gYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLmVu Z2luZS5jbG91ZC5lbnRpdHkuYXBpLg0KICAgID4gICAgID4+Pj4NCiAgICA+ICAgICA+PiAgICAg ICBWaXJ0dWFsTWFjaGluZUVudGl0eUltcGwuZGVwbG95KA0KICAgID4gVmlydHVhbE1hY2hpbmVF bnRpdHlJbXBsLmphdmE6MjEyKQ0KICAgID4gICAgID4+Pj4gYXQgY29tLmNsb3VkLnZtLlVzZXJW bU1hbmFnZXJJbXBsLnN0YXJ0VmlydHVhbE1hY2hpbmUoDQogICAgPiAgICAgPj4+PiBVc2VyVm1N YW5hZ2VySW1wbC5qYXZhOjQwODQpDQogICAgPiAgICAgPj4+PiBhdCBjb20uY2xvdWQudm0uVXNl clZtTWFuYWdlckltcGwuc3RhcnRWaXJ0dWFsTWFjaGluZSgNCiAgICA+ICAgICA+Pj4+IFVzZXJW bU1hbmFnZXJJbXBsLmphdmE6MzY4MikNCiAgICA+ICAgICA+Pj4+IGF0IGNvbS5jbG91ZC52bS5V c2VyVm1NYW5hZ2VySW1wbC5zdGFydFZpcnR1YWxNYWNoaW5lKA0KICAgID4gICAgID4+Pj4gVXNl clZtTWFuYWdlckltcGwuamF2YTozNjcwKQ0KICAgID4gICAgID4+Pj4gYXQgc3VuLnJlZmxlY3Qu TmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlDQogICAgPiAgICAgPj4gICAg ICAgTWV0aG9kKQ0KICAgID4gICAgID4+Pj4gYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNj ZXNzb3JJbXBsLmludm9rZSgNCiAgICA+ICAgICA+Pj4+IE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1w bC5qYXZhOjYyKQ0KICAgID4gICAgID4+Pj4gYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhv ZEFjY2Vzc29ySW1wbC5pbnZva2UoDQogICAgPiAgICAgPj4+PiBEZWxlZ2F0aW5nTWV0aG9kQWNj ZXNzb3JJbXBsLmphdmE6NDMpDQogICAgPiAgICAgPj4+PiBhdCBqYXZhLmxhbmcucmVmbGVjdC5N ZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjQ5OCkNCiAgICA+ICAgICA+Pj4+IGF0IG9yZy5zcHJp bmdmcmFtZXdvcmsuYW9wLnN1cHBvcnQuQW9wVXRpbHMuDQogICAgPiAgICAgPj4+PiBpbnZva2VK b2lucG9pbnRVc2luZ1JlZmxlY3Rpb24oQW9wVXRpbHMuamF2YTozMzMpDQogICAgPiAgICAgPj4+ PiBhdA0KICAgID4gICAgID4+ICAgICAgIG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLmZyYW1ld29y ay5SZWZsZWN0aXZlTWV0aG9kSW52b2NhdGlvbi4NCiAgICA+ICAgICA+Pj4+IGludm9rZUpvaW5w b2ludChSZWZsZWN0aXZlTWV0aG9kSW52b2NhdGlvbi5qYXZhOjE5MCkNCiAgICA+ICAgICA+Pj4+ IGF0DQogICAgPiAgICAgPj4gICAgICAgb3JnLnNwcmluZ2ZyYW1ld29yay5hb3AuZnJhbWV3b3Jr LlJlZmxlY3RpdmVNZXRob2RJbnZvY2F0aW9uLg0KICAgID4gICAgID4+Pj4gcHJvY2VlZChSZWZs ZWN0aXZlTWV0aG9kSW52b2NhdGlvbi5qYXZhOjE1NykNCiAgICA+ICAgICA+Pj4+IGF0IG9yZy5h cGFjaGUuY2xvdWRzdGFjay5uZXR3b3JrLmNvbnRyYWlsLm1hbmFnZW1lbnQuDQogICAgPiAgICAg Pj4+PiBFdmVudFV0aWxzJEV2ZW50SW50ZXJjZXB0b3IuaW52b2tlKEV2ZW50VXRpbHMuamF2YTox MDcpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIG9yZy5zcHJpbmdmcmFt ZXdvcmsuYW9wLmZyYW1ld29yay5SZWZsZWN0aXZlTWV0aG9kSW52b2NhdGlvbi4NCiAgICA+ICAg ICA+Pj4+IHByb2NlZWQoUmVmbGVjdGl2ZU1ldGhvZEludm9jYXRpb24uamF2YToxNjgpDQogICAg PiAgICAgPj4+PiBhdCBjb20uY2xvdWQuZXZlbnQuQWN0aW9uRXZlbnRJbnRlcmNlcHRvci5pbnZv a2UoDQogICAgPiAgICAgPj4+PiBBY3Rpb25FdmVudEludGVyY2VwdG9yLmphdmE6NTEpDQogICAg PiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9w LmZyYW1ld29yay5SZWZsZWN0aXZlTWV0aG9kSW52b2NhdGlvbi4NCiAgICA+ICAgICA+Pj4+IHBy b2NlZWQoUmVmbGVjdGl2ZU1ldGhvZEludm9jYXRpb24uamF2YToxNjgpDQogICAgPiAgICAgPj4+ PiBhdA0KICAgID4gICAgID4+ICAgICAgIG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLmludGVyY2Vw dG9yLg0KICAgID4gRXhwb3NlSW52b2NhdGlvbkludGVyY2VwdG9yLg0KICAgID4gICAgID4+Pj4g aW52b2tlKEV4cG9zZUludm9jYXRpb25JbnRlcmNlcHRvci5qYXZhOjkyKQ0KICAgID4gICAgID4+ Pj4gYXQNCiAgICA+ICAgICA+PiAgICAgICBvcmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5mcmFtZXdv cmsuUmVmbGVjdGl2ZU1ldGhvZEludm9jYXRpb24uDQogICAgPiAgICAgPj4+PiBwcm9jZWVkKFJl ZmxlY3RpdmVNZXRob2RJbnZvY2F0aW9uLmphdmE6MTc5KQ0KICAgID4gICAgID4+Pj4gYXQgb3Jn LnNwcmluZ2ZyYW1ld29yay5hb3AuZnJhbWV3b3JrLkpka0R5bmFtaWNBb3BQcm94eS4NCiAgICA+ ICAgICA+Pj4+IGludm9rZShKZGtEeW5hbWljQW9wUHJveHkuamF2YToyMTMpDQogICAgPiAgICAg Pj4+PiBhdCBjb20uc3VuLnByb3h5LiRQcm94eTE4Ni5zdGFydFZpcnR1YWxNYWNoaW5lKFVua25v d24NCiAgICA+ICAgICA+PiAgICAgICBTb3VyY2UpDQogICAgPiAgICAgPj4+PiBhdCBvcmcuYXBh Y2hlLmNsb3Vkc3RhY2suYXBpLmNvbW1hbmQuYWRtaW4udm0uDQogICAgPiAgICAgPj4+PiBEZXBs b3lWTUNtZEJ5QWRtaW4uZXhlY3V0ZShEZXBsb3lWTUNtZEJ5QWRtaW4uamF2YTo1MCkNCiAgICA+ ICAgICA+Pj4+IGF0DQogICAgPiAgICAgPj4gICAgICAgY29tLmNsb3VkLmFwaS5BcGlEaXNwYXRj aGVyLmRpc3BhdGNoKEFwaURpc3BhdGNoZXIuamF2YToxNTApDQogICAgPiAgICAgPj4+PiBhdCBj b20uY2xvdWQuYXBpLkFwaUFzeW5jSm9iRGlzcGF0Y2hlci5ydW5Kb2IoDQogICAgPiAgICAgPj4+ PiBBcGlBc3luY0pvYkRpc3BhdGNoZXIuamF2YToxMDgpDQogICAgPiAgICAgPj4+PiBhdA0KICAg ID4gICAgID4+ICAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5mcmFtZXdvcmsuam9icy5pbXBs Lg0KICAgID4gQXN5bmNKb2JNYW5hZ2VySW1wbCQ1Lg0KICAgID4gICAgID4+Pj4gcnVuSW5Db250 ZXh0KEFzeW5jSm9iTWFuYWdlckltcGwuamF2YTo1NTQpDQogICAgPiAgICAgPj4+PiBhdA0KICAg ID4gICAgID4+ICAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuDQog ICAgPiBNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlJDEucnVuKA0KICAgID4gICAgID4+Pj4gTWFuYWdl ZENvbnRleHRSdW5uYWJsZS5qYXZhOjQ5KQ0KICAgID4gICAgID4+Pj4gYXQgb3JnLmFwYWNoZS5j bG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLg0KICAgID4gICAgID4+Pj4gRGVmYXVsdE1h bmFnZWRDb250ZXh0JDEuY2FsbChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YTo1NikNCiAgICA+ ICAgICA+Pj4+IGF0DQogICAgPiAgICAgPj4gICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1h bmFnZWQuY29udGV4dC5pbXBsLg0KICAgID4gRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgID4g ICAgID4+Pj4gY2FsbFdpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjEwMykN CiAgICA+ICAgICA+Pj4+IGF0DQogICAgPiAgICAgPj4gICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0 YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLg0KICAgID4gRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0K ICAgID4gICAgID4+Pj4gcnVuV2l0aENvbnRleHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6 NTMpDQogICAgPiAgICAgPj4+PiBhdA0KICAgID4gICAgID4+ICAgICAgIG9yZy5hcGFjaGUuY2xv dWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuDQogICAgPiBNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLnJ1 bigNCiAgICA+ICAgICA+Pj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0NikNCiAgICA+ ICAgICA+Pj4+IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5mcmFtZXdvcmsuam9icy5pbXBsLg0K ICAgID4gICAgID4+Pj4gQXN5bmNKb2JNYW5hZ2VySW1wbCQ1LnJ1bihBc3luY0pvYk1hbmFnZXJJ bXBsLmphdmE6NTAyKQ0KICAgID4gICAgID4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRXhl Y3V0b3JzJFJ1bm5hYmxlQWRhcHRlci4NCiAgICA+ICAgICA+Pj4+IGNhbGwoRXhlY3V0b3JzLmph dmE6NTExKQ0KICAgID4gICAgID4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFz ay5ydW4oRnV0dXJlVGFzay5qYXZhOjI2NikNCiAgICA+ICAgICA+Pj4+IGF0IGphdmEudXRpbC5j b25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoDQogICAgPiAgICAgPj4+PiBU aHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQyKQ0KICAgID4gICAgID4+Pj4gYXQgamF2YS51dGls LmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oDQogICAgPiAgICAgPj4+ PiBUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTcpDQogICAgPiAgICAgPj4+PiBhdCBqYXZhLmxh bmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpDQogICAgPiAgICAgPj4+PiBDYXVzZWQgYnk6 DQogICAgPiAgICAgPj4gICAgICAgY29tLmNsb3VkLmV4Y2VwdGlvbi5JbnN1ZmZpY2llbnRTZXJ2 ZXJDYXBhY2l0eUV4Y2VwdGlvbjoNCiAgICA+ICAgICA+Pj4+IFVuYWJsZSB0byBjcmVhdGUgYSBk ZXBsb3ltZW50IGZvcg0KICAgID4gICAgID4+ICAgICAgIFZNW1VzZXJ8aS0yLTYtVk1dU2NvcGU9 aW50ZXJmYWNlDQogICAgPiAgICAgPj4+PiBjb20uY2xvdWQuZGMuRGF0YUNlbnRlcjsgaWQ9MQ0K ICAgID4gICAgID4+Pj4gYXQgY29tLmNsb3VkLnZtLlZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwu b3JjaGVzdHJhdGVTdGFydCgNCiAgICA+ICAgICA+Pj4+IFZpcnR1YWxNYWNoaW5lTWFuYWdlcklt cGwuamF2YTo5NjEpDQogICAgPiAgICAgPj4+PiBhdCBjb20uY2xvdWQudm0uVmlydHVhbE1hY2hp bmVNYW5hZ2VySW1wbC5vcmNoZXN0cmF0ZVN0YXJ0KA0KICAgID4gICAgID4+Pj4gVmlydHVhbE1h Y2hpbmVNYW5hZ2VySW1wbC5qYXZhOjQ2NjEpDQogICAgPiAgICAgPj4+PiBhdCBzdW4ucmVmbGVj dC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUNCiAgICA+ICAgICA+PiAg ICAgICBNZXRob2QpDQogICAgPiAgICAgPj4+PiAuLi4gMTggbW9yZQ0KICAgID4gICAgID4+Pj4N CiAgICA+ICAgICA+Pj4+IE9uIDMvMS8xNywgODo1MiBBTSwgIlBpZXJyZS1MdWMgRGlvbiIgPHBk aW9uODkxQGFwYWNoZS5vcmc+DQogICAgPiAgICAgPj4gICAgICAgd3JvdGU6DQogICAgPiAgICAg Pj4+Pg0KICAgID4gICAgID4+Pj4gRG8gd2Ugc3VwcG9ydCBjZW50b3M2IHdpdGggdGhpcyA0LjEw IG9uIGpkazg/DQogICAgPiAgICAgPj4+Pg0KICAgID4gICAgID4+Pj4gQmVjYXVzZSBJIGRpZCBu b3QgaGFkIG11Y2ggc3VjY2VzcyB0byBpbnN0YWxsIDQuMTAgamRrOCBvbg0KICAgID4gICAgID4+ ICAgICAgIGNlbnRvczYNCiAgICA+ICAgICA+Pj4+IGFuZCBpdA0KICAgID4gICAgID4+Pj4gd291 bGQgbWFrZSBtb3JlIHNlbnNlIHRvIGRyb3Agc3VwcG9ydCBvZiBjZW50b3M2IHNvIG91cg0KICAg ID4gICAgID4+ICAgICAgIHBhY2thZ2VzIHdvdWxkDQogICAgPiAgICAgPj4+PiB1c2UNCiAgICA+ ICAgICA+Pj4+IGNlbnRvczcgd2l0aCBkaXN0cm8gcGFja2FnZXMgZm9yIHRvbWNhdDcgYW5kIGpk azguIFNob3VsZA0KICAgID4gICAgID4+ICAgICAgIGFsc28gYmUgdGhlDQogICAgPiAgICAgPj4+ PiBzYW1lDQogICAgPiAgICAgPj4+PiB3aXRoIHVidW50dSAxNi4wNCB0aGF0IHVzZSBqZGs4IGFu ZCB0b21jYXQ3IGJ5IGRlZmF1bHQgPw0KICAgID4gICAgID4+Pj4NCiAgICA+ICAgICA+Pj4+DQog ICAgPiAgICAgPj4+PiB0aGFua3MsDQogICAgPiAgICAgPj4+Pg0KICAgID4gICAgID4+Pj4NCiAg ICA+ICAgICA+Pj4+PiBPbiBXZWQsIE1hciAxLCAyMDE3IGF0IDk6MDEgQU0sIFJlbmUgTW9zZXIN CiAgICA+ICAgICA+PiAgICAgICA8bWFpbEByZW5lbW9zZXIubmV0PiB3cm90ZToNCiAgICA+ICAg ICA+Pj4+Pg0KICAgID4gICAgID4+Pj4+IEhpDQogICAgPiAgICAgPj4+Pj4NCiAgICA+ICAgICA+ Pj4+PiBXaGlsZSBub3QgYmUgZGlyZWN0bHkgcmVsYXRlZCB0byB0aGUgY2xvZHVzdGFjayBqYXZh IHNvdXJjZQ0KICAgID4gICAgID4+ICAgICAgIGNvZGUsIGFueQ0KICAgID4gICAgID4+Pj4+IFJQ TSBjcmVhdGVkIHVzaW5nIHRoZSBzcGVjcyBmcm9tIHRoZSByZXBvIGUuZy4gZnJvbQ0KICAgID4g ICAgID4+ICAgICAgIHBhY2thZ2VzL2NlbnRvczcNCiAgICA+ICAgICA+Pj4+PiBhbmQgcHJvY2Vl ZGluZyBhbiB1cGdyYWRlLCB3aWxsIGhpdCBDTE9VRFNUQUNLLTk3NjUsIFBSDQogICAgPiAgICAg Pj4+Pj4gaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS9jbG91ZHN0YWNrL3B1bGwvMTkyMyBmaXhl cyB0aGUNCiAgICA+ICAgICA+PiAgICAgICBpc3N1ZS4NCiAgICA+ICAgICA+Pj4+Pg0KICAgID4g ICAgID4+Pj4+IFJlZ2FyZHMNCiAgICA+ICAgICA+Pj4+PiBSZW7DqQ0KICAgID4gICAgID4+Pj4+ DQogICAgPiAgICAgPj4+Pj4NCiAgICA+ICAgICA+Pj4+Pj4gT24gMDMvMDEvMjAxNyAwMjoxMiBB TSwgUmFqYW5pIEthcnV0dXJpIHdyb3RlOg0KICAgID4gICAgID4+Pj4+PiBIaSBBbGwsDQogICAg PiAgICAgPj4+Pj4+DQogICAgPiAgICAgPj4+Pj4+IEkndmUgY3JlYXRlZCBhIDQuMTAuMC4wIHJl bGVhc2UsIHdpdGggdGhlIGZvbGxvd2luZw0KICAgID4gICAgID4+ICAgICAgIGFydGlmYWN0cyB1 cA0KICAgID4gICAgID4+Pj4gZm9yIGENCiAgICA+ICAgICA+Pj4+PiB2b3RlOg0KICAgID4gICAg ID4+Pj4+Pg0KICAgID4gICAgID4+Pj4+PiBHaXQgQnJhbmNoIGFuZCBDb21taXQNCiAgICA+ICAg ICA+Pj4+Pj4gU0g6aHR0cHM6Ly9naXQtd2lwLXVzLmFwYWNoZS5vcmcvcmVwb3MvYXNmP3A9Y2xv dWRzdGFjay4NCiAgICA+ICAgICA+Pj4+PiBnaXQ7YT1zaG9ydGxvZztoPXJlZnMvaGVhZHMvNC4x MC4wLjAtUkMyMDE3MDMwMVQwNjM0DQogICAgPiAgICAgPj4+Pj4+IENvbW1pdDo3YzFkMDAzYjUy NjliMzc1ZDg3ZjRmNmNmZmY4YTE0NGYwNjA4YjY3DQogICAgPiAgICAgPj4+Pj4+IDxodHRwczov L2dpdC13aXAtdXMuYXBhY2hlLm9yZy9yZXBvcy9hc2Y/cD1jbG91ZHN0YWNrLg0KICAgID4gICAg ID4+Pj4+IGdpdDthPXNob3J0bG9nO2g9cmVmcy9oZWFkcy80LjEwLjAuMC1SQzIwMTcwMzAxVDA2 MzRDb21taXQ6DQogICAgPiAgICAgPj4+Pj4gN2MxZDAwM2I1MjY5YjM3NWQ4N2Y0ZjZjZmZmOGEx NDRmMDYwOGI2Nz4NCiAgICA+ICAgICA+Pj4+Pj4NCiAgICA+ICAgICA+Pj4+Pj4gU291cmNlIHJl bGVhc2UgKGNoZWNrc3VtcyBhbmQgc2lnbmF0dXJlcyBhcmUgYXZhaWxhYmxlIGF0DQogICAgPiAg ICAgPj4gICAgICAgdGhlIHNhbWUNCiAgICA+ICAgICA+Pj4+Pj4NCiAgICA+ICAgICA+PiAgICAg ICBsb2NhdGlvbik6aHR0cHM6Ly9kaXN0LmFwYWNoZS5vcmcvcmVwb3MvZGlzdC9kZXYvY2xvdWRz dGFjay8NCiAgICA+ICAgICA+Pj4+IDQuMTAuMC4wLw0KICAgID4gICAgID4+Pj4+Pg0KICAgID4g ICAgID4+Pj4+PiBQR1AgcmVsZWFzZSBrZXlzIChzaWduZWQgdXNpbmcNCiAgICA+ICAgICA+Pj4+ Pj4gQ0JCNDQ4MjEpOmh0dHBzOi8vZGlzdC5hcGFjaGUub3JnL3JlcG9zL2Rpc3QvcmVsZWFzZS8N CiAgICA+ICAgICA+Pj4+IGNsb3Vkc3RhY2svS0VZUw0KICAgID4gICAgID4+Pj4+Pg0KICAgID4g ICAgID4+Pj4+PiBWb3RlIHdpbGwgYmUgb3BlbiBmb3IgNzIgaG91cnMuDQogICAgPiAgICAgPj4+ Pj4+DQogICAgPiAgICAgPj4+Pj4+IEZvciBzYW5pdHkgaW4gdGFsbHlpbmcgdGhlIHZvdGUsIGNh biBQTUMgbWVtYmVycyBwbGVhc2UgYmUNCiAgICA+ICAgICA+PiAgICAgICBzdXJlIHRvDQogICAg PiAgICAgPj4+Pj4+IGluZGljYXRlICIoYmluZGluZykiIHdpdGggdGhlaXIgdm90ZT8NCiAgICA+ ICAgICA+Pj4+Pj4NCiAgICA+ICAgICA+Pj4+Pj4gWyBdICsxIGFwcHJvdmUNCiAgICA+ICAgICA+ Pj4+Pj4gWyBdICswIG5vIG9waW5pb24NCiAgICA+ICAgICA+Pj4+Pj4gWyBdIC0xIGRpc2FwcHJv dmUgKGFuZCByZWFzb24gd2h5KQ0KICAgID4gICAgID4+Pj4+Pg0KICAgID4gICAgID4+Pj4+Pg0K ICAgID4gICAgID4+Pj4+Pg0KICAgID4gICAgID4+Pj4+PiB+UmFqYW5pDQogICAgPiAgICAgPj4+ Pj4+IGh0dHA6Ly9jbG91ZHBsYXRmb3JtLmFjY2VsZXJpdGUuY29tLw0KICAgID4gICAgID4+Pj4+ Pg0KICAgID4gICAgID4+Pj4+DQogICAgPiAgICAgPj4+Pg0KICAgID4gICAgID4+Pj4NCiAgICA+ ICAgICA+Pj4+DQogICAgPiAgICAgPj4NCiAgICA+ICAgICA+PiAgICAgICByb2hpdC55YWRhdkBz aGFwZWJsdWUuY29tDQogICAgPiAgICAgPj4gICAgICAgd3d3LnNoYXBlYmx1ZS5jb208aHR0cDov L3d3dy5zaGFwZWJsdWUuY29tDQogICAgPiAgICAgPj4gICAgICAgKCBodHRwOi8vd3d3LnNoYXBl Ymx1ZS5jb208aHR0cDovL3d3dy5zaGFwZWJsdWUuY29tICk+DQogICAgPiAgICAgPj4gICAgICAg NTMgQ2hhbmRvcyBQbGFjZSwgQ292ZW50IEdhcmRlbiwgTG9uZG9uIFdDMk4gNEhTVUsNCiAgICA+ ICAgICA+PiAgICAgICBAc2hhcGVibHVlDQogICAgPiAgICAgPj4NCiAgICA+ICAgICA+PiAgICAg ICBESVNDTEFJTUVSDQogICAgPiAgICAgPj4gICAgICAgPT09PT09PT09PQ0KICAgID4gICAgID4+ ICAgICAgIFRoaXMgZS1tYWlsIG1heSBjb250YWluIHByaXZpbGVnZWQgYW5kIGNvbmZpZGVudGlh bA0KICAgID4gaW5mb3JtYXRpb24NCiAgICA+ICAgICA+PiAgICAgICB3aGljaCBpcyB0aGUgcHJv cGVydHkgb2YgQWNjZWxlcml0ZSwgYSBQZXJzaXN0ZW50IFN5c3RlbXMNCiAgICA+ICAgICA+PiAg ICAgICBidXNpbmVzcy4gSXQgaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHVzZSBvZiB0aGUgaW5k aXZpZHVhbCBvcg0KICAgID4gICAgID4+ICAgICAgIGVudGl0eSB0byB3aGljaCBpdCBpcyBhZGRy ZXNzZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZA0KICAgID4gICAgID4+ICAgICAgIHJl Y2lwaWVudCwgeW91IGFyZSBub3QgYXV0aG9yaXplZCB0byByZWFkLCByZXRhaW4sIGNvcHksDQog ICAgPiBwcmludCwNCiAgICA+ICAgICA+PiAgICAgICBkaXN0cmlidXRlIG9yIHVzZSB0aGlzIG1l c3NhZ2UuIElmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMNCiAgICA+ICAgICA+PiAgICAgICBjb21t dW5pY2F0aW9uIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYW5kIGRlbGV0ZQ0K ICAgID4gYWxsDQogICAgPiAgICAgPj4gICAgICAgY29waWVzIG9mIHRoaXMgbWVzc2FnZS4gQWNj ZWxlcml0ZSwgYSBQZXJzaXN0ZW50IFN5c3RlbXMNCiAgICA+IGJ1c2luZXNzDQogICAgPiAgICAg Pj4gICAgICAgZG9lcyBub3QgYWNjZXB0IGFueSBsaWFiaWxpdHkgZm9yIHZpcnVzIGluZmVjdGVk IG1haWxzLg0KICAgID4gICAgID4+DQogICAgPiAgICAgPj4gICAgICAgcm9oaXQueWFkYXZAc2hh cGVibHVlLmNvbQ0KICAgID4gICAgID4+ICAgICAgIHd3dy5zaGFwZWJsdWUuY29tICggaHR0cDov L3d3dy5zaGFwZWJsdWUuY29tICkNCiAgICA+ICAgICA+PiAgICAgICA1MyBDaGFuZG9zIFBsYWNl LCBDb3ZlbnQgR2FyZGVuLCBMb25kb24gV0MyTiA0SFNVSw0KICAgID4gICAgID4+ICAgICAgIEBz aGFwZWJsdWUNCiAgICA+ICAgICA+Pg0KICAgID4gICAgID4+DQogICAgPiAgICAgPj4NCiAgICA+ ICAgICA+DQogICAgPiAgICAgPg0KICAgID4gICAgID4NCiAgICA+ICAgICA+DQogICAgPiAgICAg Pg0KICAgID4gICAgID4NCiAgICA+DQogICAgPg0KICAgID4NCiAgICANCg0K