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 4A200200B32 for ; Thu, 23 Jun 2016 23:03:20 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 48A62160A69; Thu, 23 Jun 2016 21:03:20 +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 73F63160A35 for ; Thu, 23 Jun 2016 23:03:18 +0200 (CEST) Received: (qmail 28442 invoked by uid 500); 23 Jun 2016 21:03:16 -0000 Mailing-List: contact users-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@cloudstack.apache.org Delivered-To: mailing list users@cloudstack.apache.org Received: (qmail 27609 invoked by uid 99); 23 Jun 2016 21:03:16 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Jun 2016 21:03:16 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 9B922C180B for ; Thu, 23 Jun 2016 21:03:15 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.021 X-Spam-Level: X-Spam-Status: No, score=-0.021 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id VTiYeqRHnz3V for ; Thu, 23 Jun 2016 21:03:09 +0000 (UTC) Received: from smtp77.ord1c.emailsrvr.com (smtp77.ord1c.emailsrvr.com [108.166.43.77]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id D3F4E5F243 for ; Thu, 23 Jun 2016 21:03:07 +0000 (UTC) Received: from smtp26.relay.ord1c.emailsrvr.com (localhost.localdomain [127.0.0.1]) by smtp26.relay.ord1c.emailsrvr.com (SMTP Server) with ESMTP id 285F9380312 for ; Thu, 23 Jun 2016 17:03:01 -0400 (EDT) Received: from smtp192.mex05.mlsrvr.com (unknown [184.106.31.85]) by smtp26.relay.ord1c.emailsrvr.com (SMTP Server) with ESMTPS id B40AA380158 for ; Thu, 23 Jun 2016 17:03:00 -0400 (EDT) X-Sender-Id: davegarbus@spiceworks.com Received: from smtp192.mex05.mlsrvr.com ([UNAVAILABLE]. [184.106.31.85]) (using TLSv1 with cipher AES256-SHA) by 0.0.0.0:25 (trex/5.5.4); Thu, 23 Jun 2016 17:03:01 -0400 Received: from ORD2MBX02B.mex05.mlsrvr.com ([fe80::92e2:baff:fe11:e98c]) by ORD2HUB18.mex05.mlsrvr.com ([fe80::be30:5bff:feee:e728%15]) with mapi id 14.03.0279.002; Thu, 23 Jun 2016 16:03:00 -0500 From: Dave Garbus To: "users@cloudstack.apache.org" Subject: Re: Xenserver 6.5 live migration with local volumes Thread-Topic: Xenserver 6.5 live migration with local volumes Thread-Index: AdG1oaoTGNrdt5BwRMW+hWQkZ5DpXgAOJ7AAAAP8LpAABSilgAXvatMA Date: Thu, 23 Jun 2016 21:03:00 +0000 Message-ID: References: <4920C6F6-A051-492B-A411-E9084C8BC7F7@spiceworks.com> In-Reply-To: <4920C6F6-A051-492B-A411-E9084C8BC7F7@spiceworks.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [67.198.47.100] Content-Type: text/plain; charset="utf-8" Content-ID: <4DDDFEE790049344AB5A9AB1DA795F7F@mex05.mlsrvr.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 archived-at: Thu, 23 Jun 2016 21:03:20 -0000 SXMgdGhlcmUgYW55Ym9keSB0aGF0IHdhbnRzIHRvIHRha2UgdGhpcyBvbj8NCg0KVGhhbmtzLA0K DQotIERhdmUNCg0KPiBPbiBNYXkgMjQsIDIwMTYsIGF0IDEwOjU3IEFNLCBEYXZlIEdhcmJ1cyA8 ZGF2ZWdhcmJ1c0BzcGljZXdvcmtzLmNvbT4gd3JvdGU6DQo+IA0KPiBJIHVwZGF0ZWQgdGhlIGlz c3VlIHJlZmVyZW5jZWQgaW4gdGhpcyBlbWFpbCAoaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9q aXJhL2Jyb3dzZS9DTE9VRFNUQUNLLTkzNTMpIHRvIGluY2x1ZGUgQ2xvdWRTdGFjayA0LjggYXMg YW4gYWZmZWN0ZWQgdmVyc2lvbi4gSWYgd2UgY291bGQgYXQgbGVhc3QgZ2V0IHNvbWVvbmUgYXNz aWduZWQgdG8gaXQsIHRoYXTigJlkIGJlIGEgZ29vZCBzdGFydC4NCj4gDQo+IFRoYW5rcywNCj4g DQo+IC0gRGF2ZQ0KPiANCj4gT24gTWF5IDI0LCAyMDE2LCBhdCA5OjQyIEFNLCBJdmFuIERlcmJl bmV2IDxpdmFuLmRlcmJlbmV2QHRlY2gtY29ycHMuY29tPG1haWx0bzppdmFuLmRlcmJlbmV2QHRl Y2gtY29ycHMuY29tPj4gd3JvdGU6DQo+IA0KPiBJcyB0aGVyZSBhIHdheSBJIGNhbiBmaXggdGhp cyBvbiBteSBpbnN0YWxsYXRpb24sIHdpdGhvdXQgcmVjb21waWxpbmcgamFyIGZpbGVzPw0KPiAN Cj4gUmVnYXJkcywNCj4gSVQgZW5naW5lZXINCj4gRmFyaGVhcCwgUnVzc2lhDQo+IEl2YW4gRGVy YmVuZXYNCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEtvdXNoaWsg RGFzIFttYWlsdG86a291c2hpay5kYXNAYWNjZWxlcml0ZS5jb21dDQo+IFNlbnQ6IFR1ZXNkYXks IE1heSAyNCwgMjAxNiAyOjA2IFBNDQo+IFRvOiB1c2Vyc0BjbG91ZHN0YWNrLmFwYWNoZS5vcmc8 bWFpbHRvOnVzZXJzQGNsb3Vkc3RhY2suYXBhY2hlLm9yZz4NCj4gU3ViamVjdDogUmU6IFhlbnNl cnZlciA2LjUgbGl2ZSBtaWdyYXRpb24gd2l0aCBsb2NhbCB2b2x1bWVzDQo+IA0KPiBUaGlzIGlz IGEgcHJvZHVjdCBidWcgYW5kIG5lZWRzIHRvIGJlIGZpeGVkLiBUaGVyZSBpcyBzb21lIHNlcmlh bGl6YXRpb24gaXNzdWUgdGhhdCBuZWVkcyBmaXhpbmcuDQo+IA0KPiBJbiB0aGUgYmVsb3cgY29k ZSB2b2x1bWVUb0ZpbGVyIGlzIG51bGwgYXMgTWFwIGlzIG5vdCBhIHNlcmlhbGl6YWJsZSB0eXBl LiBJdCBuZWVkcyB0byBiZSByZXBsYWNlZCB3aXRoIGdldFZvbHVtZVRvRmlsZXJBc0xpc3QoKSBh bmQgdGhlbiB0aGUgZGF0YSBuZWVkcyB0byBiZSByZWFkIGFwcHJvcHJpYXRlbHkuDQo+IA0KPiAg ICAgICBmaW5hbCBNYXA8Vm9sdW1lVE8sIFN0b3JhZ2VGaWxlclRPPiB2b2x1bWVUb0ZpbGVyID0g Y29tbWFuZC5nZXRWb2x1bWVUb0ZpbGVyKCk7DQo+IA0KPiAtS291c2hpaw0KPiANCj4gT24gMjQv MDUvMTYsIDM6MjMgUE0sICJJdmFuIERlcmJlbmV2IiA8aXZhbi5kZXJiZW5ldkB0ZWNoLWNvcnBz LmNvbTxtYWlsdG86aXZhbi5kZXJiZW5ldkB0ZWNoLWNvcnBzLmNvbT4+IHdyb3RlOg0KPiANCj4g SGVsbG8hDQo+IEFmdGVyIHRoZSBtaWdyYXRpb24gb250byBYUyA2LjUgKGFuZCBpbnN0YWxsaW5n IGFsbCB0aGUgdXBkYXRlcykgYW5kIENTDQo+IDQuOCBJIGNhbid0IG1pZ3JhdGUgVk1zIHdpdGgg TG9jYWwgU3RvcmFnZQ0KPiANCj4gVGhlIGlzc3VlIGlzIHNpbWlsYXIgdG8gdGhpczoNCj4gaHR0 cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9DTE9VRFNUQUNLLTkzNTMsIGJ1dCBp dCBkb2Vzbid0IGhhdmUgYW55IHNvbHV0aW9ucyBBbnkgaWRlYXM/DQo+IA0KPiBFcnJvcnM6DQo+ IA0KPiAyMDE2LTA1LTI0IDEyOjEwOjE2LDQ0MCBERUJVRyBbYy5jLnYuVmlydHVhbE1hY2hpbmVQ b3dlclN0YXRlU3luY0ltcGxdDQo+IChEaXJlY3RBZ2VudENyb25Kb2ItMjY6Y3R4LWFiNDI1MGZm KSAobG9naWQ6NGZhOTJjMTMpIERvbmUgd2l0aCBwcm9jZXNzDQo+IG9mIFZNIHN0YXRlIHJlcG9y dC4gaG9zdDogMTM2NTkyDQo+IDIwMTYtMDUtMjQgMTI6MTA6MTYsNDUwIERFQlVHIFtjLmMuaC54 LnIuQ2l0cml4UmVzb3VyY2VCYXNlXQ0KPiAoRGlyZWN0QWdlbnQtMTMyOmN0eC1hOTdkNjBmYSkg KGxvZ2lkOjg3NDhiZmZlKSBMb29raW5nIGZvciBuZXR3b3JrDQo+IG5hbWVkIGNsb3VkLW1haW4N Cj4gMjAxNi0wNS0yNCAxMjoxMDoxNiw0NjYgREVCVUcgW2MuYy5oLnguci5Yc0xvY2FsTmV0d29y a10NCj4gKERpcmVjdEFnZW50LTEzMjpjdHgtYTk3ZDYwZmEpIChsb2dpZDo4NzQ4YmZmZSkgRm91 bmQgYSBuZXR3b3JrIGNhbGxlZA0KPiBjbG91ZC1tYWluIG9uIGhvc3Q9MTAuNy4xMzAuMTAzOw0K PiBOZXR3b3JrPTk2MzIwMjBiLTRkOTgtMWJlZC05YWU4LTQ3N2UwOTkzY2FiMDsNCj4gcGlmPTNj N2QxMTIxLTJiZGUtMjZjZi05NDc4LTE4ZTUxZmZjYTc1Zg0KPiAyMDE2LTA1LTI0IDEyOjEwOjE2 LDQ3NyBERUJVRyBbYy5jLmgueC5yLkNpdHJpeFJlc291cmNlQmFzZV0NCj4gKERpcmVjdEFnZW50 LTEzMjpjdHgtYTk3ZDYwZmEpIChsb2dpZDo4NzQ4YmZmZSkgQ3JlYXRpbmcgVkxBTiAxMDA3IG9u DQo+IGhvc3QgMTAuNy4xMzAuMTAzIG9uIGRldmljZSBldGgwDQo+IDIwMTYtMDUtMjQgMTI6MTA6 MTcsMTYzIERFQlVHIFtjLmMuaC54LnIuQ2l0cml4UmVzb3VyY2VCYXNlXQ0KPiAoRGlyZWN0QWdl bnQtMTMyOmN0eC1hOTdkNjBmYSkgKGxvZ2lkOjg3NDhiZmZlKSBWTEFOIGlzIGNyZWF0ZWQgZm9y DQo+IDEwMDcuICBUaGUgdXVpZCBpcyBlYzA1M2ZlZS0wNDI2LTk2NjUtMTUwYS03NzM5OTU2MjE5 NmINCj4gMjAxNi0wNS0yNCAxMjoxMDoxNywxNzAgV0FSTg0KPiBbYy5jLmgueC5yLncueC5YZW5T ZXJ2ZXI2MTBNaWdyYXRlV2l0aFN0b3JhZ2VDb21tYW5kV3JhcHBlcl0gKERpcmVjdEFnZW50LTEz MjpjdHgtYTk3ZDYwZmEpIChsb2dpZDo4NzQ4YmZmZSkgQ2F0Y2ggRXhjZXB0aW9uIGphdmEubGFu Zy5OdWxsUG9pbnRlckV4Y2VwdGlvbi4gU3RvcmFnZSBtb3Rpb24gZmFpbGVkIGR1ZSB0byBqYXZh LmxhbmcuTnVsbFBvaW50ZXJFeGNlcHRpb24gamF2YS5sYW5nLk51bGxQb2ludGVyRXhjZXB0aW9u DQo+ICAgICAgYXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLndyYXBw ZXIueGVuNjEwLlhlblNlcnZlcjYxME1pZ3JhdGVXaXRoU3RvcmFnZUNvbW1hbmRXcmFwcGVyLmV4 ZWN1dGUoWGVuU2VydmVyNjEwTWlncmF0ZVdpdGhTdG9yYWdlQ29tbWFuZFdyYXBwZXIuamF2YTo4 NikNCj4gICAgICBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3Jh cHBlci54ZW42MTAuWGVuU2VydmVyNjEwTWlncmF0ZVdpdGhTdG9yYWdlQ29tbWFuZFdyYXBwZXIu ZXhlY3V0ZShYZW5TZXJ2ZXI2MTBNaWdyYXRlV2l0aFN0b3JhZ2VDb21tYW5kV3JhcHBlci5qYXZh OjU0KQ0KPiAgICAgIGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS53 cmFwcGVyLnhlbmJhc2UuQ2l0cml4UmVxdWVzdFdyYXBwZXIuZXhlY3V0ZShDaXRyaXhSZXF1ZXN0 V3JhcHBlci5qYXZhOjEyMikNCj4gICAgICBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2 ZXIucmVzb3VyY2UuQ2l0cml4UmVzb3VyY2VCYXNlLmV4ZWN1dGVSZXF1ZXN0KENpdHJpeFJlc291 cmNlQmFzZS5qYXZhOjE2NzcpDQo+ICAgICAgYXQgY29tLmNsb3VkLmFnZW50Lm1hbmFnZXIuRGly ZWN0QWdlbnRBdHRhY2hlJFRhc2sucnVuSW5Db250ZXh0KERpcmVjdEFnZW50QXR0YWNoZS5qYXZh OjMxNSkNCj4gICAgICBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0Lk1h bmFnZWRDb250ZXh0UnVubmFibGUkMS5ydW4oTWFuYWdlZENvbnRleHRSdW5uYWJsZS5qYXZhOjQ5 KQ0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC5E ZWZhdWx0TWFuYWdlZENvbnRleHQkMS5jYWxsKERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjU2 KQ0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC5E ZWZhdWx0TWFuYWdlZENvbnRleHQuY2FsbFdpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4 dC5qYXZhOjEwMykNCj4gICAgICBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250 ZXh0LmltcGwuRGVmYXVsdE1hbmFnZWRDb250ZXh0LnJ1bldpdGhDb250ZXh0KERlZmF1bHRNYW5h Z2VkQ29udGV4dC5qYXZhOjUzKQ0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5h Z2VkLmNvbnRleHQuTWFuYWdlZENvbnRleHRSdW5uYWJsZS5ydW4oTWFuYWdlZENvbnRleHRSdW5u YWJsZS5qYXZhOjQ2KQ0KPiAgICAgIGF0IGphdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRS dW5uYWJsZUFkYXB0ZXIuY2FsbChFeGVjdXRvcnMuamF2YTo0NzEpDQo+ICAgICAgYXQgamF2YS51 dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0dXJlVGFzay5qYXZhOjI2MikNCj4gICAg ICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IkU2No ZWR1bGVkRnV0dXJlVGFzay5hY2Nlc3MkMjAxKFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5q YXZhOjE3OCkNCj4gICAgICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQ b29sRXhlY3V0b3IkU2NoZWR1bGVkRnV0dXJlVGFzay5ydW4oU2NoZWR1bGVkVGhyZWFkUG9vbEV4 ZWN1dG9yLmphdmE6MjkyKQ0KPiAgICAgIGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBv b2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0NSkNCj4gICAg ICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihU aHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTUpDQo+ICAgICAgYXQgamF2YS5sYW5nLlRocmVhZC5y dW4oVGhyZWFkLmphdmE6NzQ1KQ0KPiAyMDE2LTA1LTI0IDEyOjEwOjE3LDE3MSBERUJVRyBbYy5j LmEubS5EaXJlY3RBZ2VudEF0dGFjaGVdIChEaXJlY3RBZ2VudC0xMzI6Y3R4LWE5N2Q2MGZhKSAo bG9naWQ6ODc0OGJmZmUpIFNlcSAxMzY1ODktNDc5NjMzMzYwMzE0OTU3ODg3OiBSZXNwb25zZSBS ZWNlaXZlZDoNCj4gMjAxNi0wNS0yNCAxMjoxMDoxNywxNzEgREVCVUcgW2MuYy5hLnQuUmVxdWVz dF0NCj4gKERpcmVjdEFnZW50LTEzMjpjdHgtYTk3ZDYwZmEpIChsb2dpZDo4NzQ4YmZmZSkgU2Vx DQo+IDEzNjU4OS00Nzk2MzMzNjAzMTQ5NTc4ODc6IFByb2Nlc3Npbmc6ICB7IEFuczogLCBNZ210 SWQ6DQo+IDEyODQzNzQzMzk0MTI2NSwgdmlhOg0KPiAxMzY1ODkoY2xvdWRzdGFjay1jb21wdXRp bmcwMy1zYXIwMS50ZWNoLWNvcnBzLmNvbTxodHRwOi8vY2xvdWRzdGFjay1jb21wdXRpbmcwMy1z YXIwMS50ZWNoLWNvcnBzLmNvbT4pLCBWZXI6IHYxLCBGbGFnczoNCj4gMTEwLA0KPiBbeyJjb20u Y2xvdWQuYWdlbnQuYXBpLk1pZ3JhdGVXaXRoU3RvcmFnZUFuc3dlciI6eyJyZXN1bHQiOmZhbHNl LCJkZXRhaQ0KPiBscyI6IkV4Y2VwdGlvbjogamF2YS5sYW5nLk51bGxQb2ludGVyRXhjZXB0aW9u XG5NZXNzYWdlOiBudWxsXG5TdGFjazoNCj4gamF2YS5sYW5nLk51bGxQb2ludGVyRXhjZXB0aW9u XG5cdGF0DQo+IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS53cmFwcGVy LnhlbjYxMC5YZW5TZXJ2ZXI2MTBNaWdyDQo+IGF0ZVdpdGhTdG9yYWdlQ29tbWFuZFdyYXBwZXIu ZXhlY3V0ZShYZW5TZXJ2ZXI2MTBNaWdyYXRlV2l0aFN0b3JhZ2VDb21tDQo+IGFuZFdyYXBwZXIu amF2YTo4Nilcblx0YXQNCj4gY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNl LndyYXBwZXIueGVuNjEwLlhlblNlcnZlcjYxME1pZ3INCj4gYXRlV2l0aFN0b3JhZ2VDb21tYW5k V3JhcHBlci5leGVjdXRlKFhlblNlcnZlcjYxME1pZ3JhdGVXaXRoU3RvcmFnZUNvbW0NCj4gYW5k V3JhcHBlci5qYXZhOjU0KVxuXHRhdA0KPiBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIu cmVzb3VyY2Uud3JhcHBlci54ZW5iYXNlLkNpdHJpeFJlcXVlc3RXcg0KPiBhcHBlci5leGVjdXRl KENpdHJpeFJlcXVlc3RXcmFwcGVyLmphdmE6MTIyKVxuXHRhdA0KPiBjb20uY2xvdWQuaHlwZXJ2 aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2UuQ2l0cml4UmVzb3VyY2VCYXNlLmV4ZWN1dGVSZXF1ZQ0K PiBzdChDaXRyaXhSZXNvdXJjZUJhc2UuamF2YToxNjc3KVxuXHRhdA0KPiBjb20uY2xvdWQuYWdl bnQubWFuYWdlci5EaXJlY3RBZ2VudEF0dGFjaGUkVGFzay5ydW5JbkNvbnRleHQoRGlyZWN0QWdl bg0KPiB0QXR0YWNoZS5qYXZhOjMxNSlcblx0YXQNCj4gb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1h bmFnZWQuY29udGV4dC5NYW5hZ2VkQ29udGV4dFJ1bm5hYmxlJDEucnVuKE1hbmENCj4gZ2VkQ29u dGV4dFJ1bm5hYmxlLmphdmE6NDkpXG5cdGF0DQo+IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5h Z2VkLmNvbnRleHQuaW1wbC5EZWZhdWx0TWFuYWdlZENvbnRleHQkMS5jYWxsDQo+IChEZWZhdWx0 TWFuYWdlZENvbnRleHQuamF2YTo1Nilcblx0YXQNCj4gb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1h bmFnZWQuY29udGV4dC5pbXBsLkRlZmF1bHRNYW5hZ2VkQ29udGV4dC5jYWxsV2kNCj4gdGhDb250 ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjEwMylcblx0YXQNCj4gb3JnLmFwYWNoZS5j bG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRlZmF1bHRNYW5hZ2VkQ29udGV4dC5ydW5X aXQNCj4gaENvbnRleHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6NTMpXG5cdGF0DQo+IG9y Zy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuTWFuYWdlZENvbnRleHRSdW5uYWJs ZS5ydW4oTWFuYWdlDQo+IGRDb250ZXh0UnVubmFibGUuamF2YTo0Nilcblx0YXQNCj4gamF2YS51 dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFJ1bm5hYmxlQWRhcHRlci5jYWxsKEV4ZWN1dG9ycy5q YXZhOjQ3MSkNCj4gXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucnVuKEZ1 dHVyZVRhc2suamF2YToyNjIpXG5cdGF0DQo+IGphdmEudXRpbC5jb25jdXJyZW50LlNjaGVkdWxl ZFRocmVhZFBvb2xFeGVjdXRvciRTY2hlZHVsZWRGdXR1cmVUYXNrLmFjDQo+IGNlc3MkMjAxKFNj aGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjE3OClcblx0YXQNCj4gamF2YS51dGlsLmNv bmN1cnJlbnQuU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yJFNjaGVkdWxlZEZ1dHVyZVRhc2su cnU8aHR0cDovL1NjaGVkdWxlZEZ1dHVyZVRhc2sucnU+DQo+IG4oU2NoZWR1bGVkVGhyZWFkUG9v bEV4ZWN1dG9yLmphdmE6MjkyKVxuXHRhdA0KPiBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQ b29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYQ0KPiB2YToxMTQ1KVxu XHRhdA0KPiBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1 bihUaHJlYWRQb29sRXhlY3V0b3Iuag0KPiBhdmE6NjE1KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFk LnJ1bihUaHJlYWQuamF2YTo3NDUpXG4iLCJ3YWl0IjowfX1dIH0NCj4gMjAxNi0wNS0yNCAxMjox MDoxNywxNzEgREVCVUcgW2MuYy5hLm0uQWdlbnRBdHRhY2hlXQ0KPiAoRGlyZWN0QWdlbnQtMTMy OmN0eC1hOTdkNjBmYSkgKGxvZ2lkOjg3NDhiZmZlKSBTZXENCj4gMTM2NTg5LTQ3OTYzMzM2MDMx NDk1Nzg4NzogTm8gbW9yZSBjb21tYW5kcyBmb3VuZA0KPiAyMDE2LTA1LTI0IDEyOjEwOjE3LDE3 MSBERUJVRyBbYy5jLmEudC5SZXF1ZXN0XQ0KPiAoV29yay1Kb2ItRXhlY3V0b3ItMzpjdHgtNjAx YjEzMDcgam9iLTQ4NzQvam9iLTQ4NzUgY3R4LTYxOWM5ZDRlKQ0KPiAobG9naWQ6ODc0OGJmZmUp IFNlcSAxMzY1ODktNDc5NjMzMzYwMzE0OTU3ODg3OiBSZWNlaXZlZDogIHsgQW5zOiAsDQo+IE1n bXRJZDogMTI4NDM3NDMzOTQxMjY1LCB2aWE6DQo+IDEzNjU4OShjbG91ZHN0YWNrLWNvbXB1dGlu ZzAzLXNhcjAxLnRlY2gtY29ycHMuY29tPGh0dHA6Ly9jbG91ZHN0YWNrLWNvbXB1dGluZzAzLXNh cjAxLnRlY2gtY29ycHMuY29tPiksIFZlcjogdjEsIEZsYWdzOg0KPiAxMTAsIHsgTWlncmF0ZVdp dGhTdG9yYWdlQW5zd2VyIH0gfQ0KPiAyMDE2LTA1LTI0IDEyOjEwOjE3LDE3MSBFUlJPUg0KPiBb by5hLmMucy5tLlhlblNlcnZlclN0b3JhZ2VNb3Rpb25TdHJhdGVneV0NCj4gKFdvcmstSm9iLUV4 ZWN1dG9yLTM6Y3R4LTYwMWIxMzA3IGpvYi00ODc0L2pvYi00ODc1IGN0eC02MTljOWQ0ZSkNCj4g KGxvZ2lkOjg3NDhiZmZlKSBNaWdyYXRpb24gd2l0aCBzdG9yYWdlIG9mIHZtIFZNW1VzZXJ8aS0z LTI3MS1WTV0NCj4gZmFpbGVkLiBEZXRhaWxzOiBFeGNlcHRpb246IGphdmEubGFuZy5OdWxsUG9p bnRlckV4Y2VwdGlvbg0KPiBNZXNzYWdlOiBudWxsDQo+IFN0YWNrOiBqYXZhLmxhbmcuTnVsbFBv aW50ZXJFeGNlcHRpb24NCj4gICAgICBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIu cmVzb3VyY2Uud3JhcHBlci54ZW42MTAuWGVuU2VydmVyNjEwTWlncmF0ZVdpdGhTdG9yYWdlQ29t bWFuZFdyYXBwZXIuZXhlY3V0ZShYZW5TZXJ2ZXI2MTBNaWdyYXRlV2l0aFN0b3JhZ2VDb21tYW5k V3JhcHBlci5qYXZhOjg2KQ0KPiAgICAgIGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZl ci5yZXNvdXJjZS53cmFwcGVyLnhlbjYxMC5YZW5TZXJ2ZXI2MTBNaWdyYXRlV2l0aFN0b3JhZ2VD b21tYW5kV3JhcHBlci5leGVjdXRlKFhlblNlcnZlcjYxME1pZ3JhdGVXaXRoU3RvcmFnZUNvbW1h bmRXcmFwcGVyLmphdmE6NTQpDQo+ICAgICAgYXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2Vy dmVyLnJlc291cmNlLndyYXBwZXIueGVuYmFzZS5DaXRyaXhSZXF1ZXN0V3JhcHBlci5leGVjdXRl KENpdHJpeFJlcXVlc3RXcmFwcGVyLmphdmE6MTIyKQ0KPiAgICAgIGF0IGNvbS5jbG91ZC5oeXBl cnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuZXhlY3V0ZVJlcXVl c3QoQ2l0cml4UmVzb3VyY2VCYXNlLmphdmE6MTY3NykNCj4gICAgICBhdCBjb20uY2xvdWQuYWdl bnQubWFuYWdlci5EaXJlY3RBZ2VudEF0dGFjaGUkVGFzay5ydW5JbkNvbnRleHQoRGlyZWN0QWdl bnRBdHRhY2hlLmphdmE6MzE1KQ0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5h Z2VkLmNvbnRleHQuTWFuYWdlZENvbnRleHRSdW5uYWJsZSQxLnJ1bihNYW5hZ2VkQ29udGV4dFJ1 bm5hYmxlLmphdmE6NDkpDQo+ICAgICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQu Y29udGV4dC5pbXBsLkRlZmF1bHRNYW5hZ2VkQ29udGV4dCQxLmNhbGwoRGVmYXVsdE1hbmFnZWRD b250ZXh0LmphdmE6NTYpDQo+ICAgICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQu Y29udGV4dC5pbXBsLkRlZmF1bHRNYW5hZ2VkQ29udGV4dC5jYWxsV2l0aENvbnRleHQoRGVmYXVs dE1hbmFnZWRDb250ZXh0LmphdmE6MTAzKQ0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFj ay5tYW5hZ2VkLmNvbnRleHQuaW1wbC5EZWZhdWx0TWFuYWdlZENvbnRleHQucnVuV2l0aENvbnRl eHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6NTMpDQo+ICAgICAgYXQgb3JnLmFwYWNoZS5j bG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5NYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLnJ1bihNYW5h Z2VkQ29udGV4dFJ1bm5hYmxlLmphdmE6NDYpDQo+ICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJl bnQuRXhlY3V0b3JzJFJ1bm5hYmxlQWRhcHRlci5jYWxsKEV4ZWN1dG9ycy5qYXZhOjQ3MSkNCj4g ICAgICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5GdXR1cmVUYXNrLnJ1bihGdXR1cmVUYXNrLmph dmE6MjYyKQ0KPiAgICAgIGF0IGphdmEudXRpbC5jb25jdXJyZW50LlNjaGVkdWxlZFRocmVhZFBv b2xFeGVjdXRvciRTY2hlZHVsZWRGdXR1cmVUYXNrLmFjY2VzcyQyMDEoU2NoZWR1bGVkVGhyZWFk UG9vbEV4ZWN1dG9yLmphdmE6MTc4KQ0KPiAgICAgIGF0IGphdmEudXRpbC5jb25jdXJyZW50LlNj aGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciRTY2hlZHVsZWRGdXR1cmVUYXNrLnJ1bihTY2hlZHVs ZWRUaHJlYWRQb29sRXhlY3V0b3IuamF2YToyOTIpDQo+ICAgICAgYXQgamF2YS51dGlsLmNvbmN1 cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2 YToxMTQ1KQ0KPiAgICAgIGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRv ciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYxNSkNCj4gICAgICBhdCBqYXZh LmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpDQo+IA0KPiAyMDE2LTA1LTI0IDEyOjEw OjE3LDE3MSBFUlJPUg0KPiBbby5hLmMucy5tLlhlblNlcnZlclN0b3JhZ2VNb3Rpb25TdHJhdGVn eV0NCj4gKFdvcmstSm9iLUV4ZWN1dG9yLTM6Y3R4LTYwMWIxMzA3IGpvYi00ODc0L2pvYi00ODc1 IGN0eC02MTljOWQ0ZSkNCj4gKGxvZ2lkOjg3NDhiZmZlKSBjb3B5IGZhaWxlZA0KPiBjb20uY2xv dWQudXRpbHMuZXhjZXB0aW9uLkNsb3VkUnVudGltZUV4Y2VwdGlvbjogRXJyb3Igd2hpbGUgbWln cmF0aW5nDQo+IHRoZSB2bSBWTVtVc2VyfGktMy0yNzEtVk1dIHRvIGhvc3QgSG9zdFstMTM2NTg5 LVJvdXRpbmddLiBFeGNlcHRpb246DQo+IGphdmEubGFuZy5OdWxsUG9pbnRlckV4Y2VwdGlvbg0K PiBNZXNzYWdlOiBudWxsDQo+IFN0YWNrOiBqYXZhLmxhbmcuTnVsbFBvaW50ZXJFeGNlcHRpb24N Cj4gICAgICBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBl ci54ZW42MTAuWGVuU2VydmVyNjEwTWlncmF0ZVdpdGhTdG9yYWdlQ29tbWFuZFdyYXBwZXIuZXhl Y3V0ZShYZW5TZXJ2ZXI2MTBNaWdyYXRlV2l0aFN0b3JhZ2VDb21tYW5kV3JhcHBlci5qYXZhOjg2 KQ0KPiAgICAgIGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS53cmFw cGVyLnhlbjYxMC5YZW5TZXJ2ZXI2MTBNaWdyYXRlV2l0aFN0b3JhZ2VDb21tYW5kV3JhcHBlci5l eGVjdXRlKFhlblNlcnZlcjYxME1pZ3JhdGVXaXRoU3RvcmFnZUNvbW1hbmRXcmFwcGVyLmphdmE6 NTQpDQo+ICAgICAgYXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLndy YXBwZXIueGVuYmFzZS5DaXRyaXhSZXF1ZXN0V3JhcHBlci5leGVjdXRlKENpdHJpeFJlcXVlc3RX cmFwcGVyLmphdmE6MTIyKQ0KPiAgICAgIGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZl ci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuZXhlY3V0ZVJlcXVlc3QoQ2l0cml4UmVzb3Vy Y2VCYXNlLmphdmE6MTY3NykNCj4gICAgICBhdCBjb20uY2xvdWQuYWdlbnQubWFuYWdlci5EaXJl Y3RBZ2VudEF0dGFjaGUkVGFzay5ydW5JbkNvbnRleHQoRGlyZWN0QWdlbnRBdHRhY2hlLmphdmE6 MzE1KQ0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuTWFu YWdlZENvbnRleHRSdW5uYWJsZSQxLnJ1bihNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLmphdmE6NDkp DQo+ICAgICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRl ZmF1bHRNYW5hZ2VkQ29udGV4dCQxLmNhbGwoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6NTYp DQo+ICAgICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRl ZmF1bHRNYW5hZ2VkQ29udGV4dC5jYWxsV2l0aENvbnRleHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0 LmphdmE6MTAzKQ0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRl eHQuaW1wbC5EZWZhdWx0TWFuYWdlZENvbnRleHQucnVuV2l0aENvbnRleHQoRGVmYXVsdE1hbmFn ZWRDb250ZXh0LmphdmE6NTMpDQo+ICAgICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFn ZWQuY29udGV4dC5NYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLnJ1bihNYW5hZ2VkQ29udGV4dFJ1bm5h YmxlLmphdmE6NDYpDQo+ICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFJ1 bm5hYmxlQWRhcHRlci5jYWxsKEV4ZWN1dG9ycy5qYXZhOjQ3MSkNCj4gICAgICBhdCBqYXZhLnV0 aWwuY29uY3VycmVudC5GdXR1cmVUYXNrLnJ1bihGdXR1cmVUYXNrLmphdmE6MjYyKQ0KPiAgICAg IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciRTY2hl ZHVsZWRGdXR1cmVUYXNrLmFjY2VzcyQyMDEoU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLmph dmE6MTc4KQ0KPiAgICAgIGF0IGphdmEudXRpbC5jb25jdXJyZW50LlNjaGVkdWxlZFRocmVhZFBv b2xFeGVjdXRvciRTY2hlZHVsZWRGdXR1cmVUYXNrLnJ1bihTY2hlZHVsZWRUaHJlYWRQb29sRXhl Y3V0b3IuamF2YToyOTIpDQo+ICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9v bEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ1KQ0KPiAgICAg IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRo cmVhZFBvb2xFeGVjdXRvci5qYXZhOjYxNSkNCj4gICAgICBhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1 bihUaHJlYWQuamF2YTo3NDUpDQo+IA0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5z dG9yYWdlLm1vdGlvbi5YZW5TZXJ2ZXJTdG9yYWdlTW90aW9uU3RyYXRlZ3kubWlncmF0ZVZtV2l0 aFZvbHVtZXNXaXRoaW5DbHVzdGVyKFhlblNlcnZlclN0b3JhZ2VNb3Rpb25TdHJhdGVneS5qYXZh OjIxMikNCj4gICAgICBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2suc3RvcmFnZS5tb3Rpb24uWGVu U2VydmVyU3RvcmFnZU1vdGlvblN0cmF0ZWd5LmNvcHlBc3luYyhYZW5TZXJ2ZXJTdG9yYWdlTW90 aW9uU3RyYXRlZ3kuamF2YToxMTYpDQo+ICAgICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLnN0 b3JhZ2UubW90aW9uLkRhdGFNb3Rpb25TZXJ2aWNlSW1wbC5jb3B5QXN5bmMoRGF0YU1vdGlvblNl cnZpY2VJbXBsLmphdmE6OTApDQo+ICAgICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLnN0b3Jh Z2Uudm9sdW1lLlZvbHVtZVNlcnZpY2VJbXBsLm1pZ3JhdGVWb2x1bWVzKFZvbHVtZVNlcnZpY2VJ bXBsLmphdmE6MTE2MCkNCj4gICAgICBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2suZW5naW5lLm9y Y2hlc3RyYXRpb24uVm9sdW1lT3JjaGVzdHJhdG9yLm1pZ3JhdGVWb2x1bWVzKFZvbHVtZU9yY2hl c3RyYXRvci5qYXZhOjEwMDIpDQo+ICAgICAgYXQgY29tLmNsb3VkLnZtLlZpcnR1YWxNYWNoaW5l TWFuYWdlckltcGwub3JjaGVzdHJhdGVNaWdyYXRlV2l0aFN0b3JhZ2UoVmlydHVhbE1hY2hpbmVN YW5hZ2VySW1wbC5qYXZhOjIyNzQpDQo+ICAgICAgYXQgY29tLmNsb3VkLnZtLlZpcnR1YWxNYWNo aW5lTWFuYWdlckltcGwub3JjaGVzdHJhdGVNaWdyYXRlV2l0aFN0b3JhZ2UoVmlydHVhbE1hY2hp bmVNYW5hZ2VySW1wbC5qYXZhOjQ2MzgpDQo+ICAgICAgYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0 aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkNCj4gICAgICBhdCBzdW4ucmVm bGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29y SW1wbC5qYXZhOjU3KQ0KPiAgICAgIGF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nl c3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykNCj4g ICAgICBhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwNikN Cj4gICAgICBhdCBjb20uY2xvdWQudm0uVm1Xb3JrSm9iSGFuZGxlclByb3h5LmhhbmRsZVZtV29y a0pvYihWbVdvcmtKb2JIYW5kbGVyUHJveHkuamF2YToxMDcpDQo+ICAgICAgYXQgY29tLmNsb3Vk LnZtLlZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwuaGFuZGxlVm1Xb3JrSm9iKFZpcnR1YWxNYWNo aW5lTWFuYWdlckltcGwuamF2YTo0NzQxKQ0KPiAgICAgIGF0IGNvbS5jbG91ZC52bS5WbVdvcmtK b2JEaXNwYXRjaGVyLnJ1bkpvYihWbVdvcmtKb2JEaXNwYXRjaGVyLmphdmE6MTAyKQ0KPiAgICAg IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5mcmFtZXdvcmsuam9icy5pbXBsLkFzeW5jSm9iTWFu YWdlckltcGwkNS5ydW5JbkNvbnRleHQoQXN5bmNKb2JNYW5hZ2VySW1wbC5qYXZhOjU1NCkNCj4g ICAgICBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0Lk1hbmFnZWRDb250 ZXh0UnVubmFibGUkMS5ydW4oTWFuYWdlZENvbnRleHRSdW5uYWJsZS5qYXZhOjQ5KQ0KPiAgICAg IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC5EZWZhdWx0TWFu YWdlZENvbnRleHQkMS5jYWxsKERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjU2KQ0KPiAgICAg IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC5EZWZhdWx0TWFu YWdlZENvbnRleHQuY2FsbFdpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjEw MykNCj4gICAgICBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwu RGVmYXVsdE1hbmFnZWRDb250ZXh0LnJ1bldpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4 dC5qYXZhOjUzKQ0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRl eHQuTWFuYWdlZENvbnRleHRSdW5uYWJsZS5ydW4oTWFuYWdlZENvbnRleHRSdW5uYWJsZS5qYXZh OjQ2KQ0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5mcmFtZXdvcmsuam9icy5pbXBs LkFzeW5jSm9iTWFuYWdlckltcGwkNS5ydW4oQXN5bmNKb2JNYW5hZ2VySW1wbC5qYXZhOjUwMikN Cj4gICAgICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUnVubmFibGVBZGFwdGVy LmNhbGwoRXhlY3V0b3JzLmphdmE6NDcxKQ0KPiAgICAgIGF0IGphdmEudXRpbC5jb25jdXJyZW50 LkZ1dHVyZVRhc2sucnVuKEZ1dHVyZVRhc2suamF2YToyNjIpDQo+ICAgICAgYXQgamF2YS51dGls LmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0 b3IuamF2YToxMTQ1KQ0KPiAgICAgIGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xF eGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYxNSkNCj4gICAgICBh dCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpDQo+IDIwMTYtMDUtMjQgMTI6 MTA6MTcsMTgzIFdBUk4gIFtvLmEuYy5zLmQuT2JqZWN0SW5EYXRhU3RvcmVNYW5hZ2VySW1wbF0N Cj4gKFdvcmstSm9iLUV4ZWN1dG9yLTM6Y3R4LTYwMWIxMzA3IGpvYi00ODc0L2pvYi00ODc1IGN0 eC02MTljOWQ0ZSkNCj4gKGxvZ2lkOjg3NDhiZmZlKSBVbnN1cHBvcnRlZCBkYXRhIG9iamVjdCAo Vk9MVU1FLA0KPiBvcmcuYXBhY2hlLmNsb3Vkc3RhY2suc3RvcmFnZS5kYXRhc3RvcmUuUHJpbWFy eURhdGFTdG9yZUltcGxAMTQyYTkyYTIpLA0KPiBubyBuZWVkIHRvIGRlbGV0ZSBmcm9tIG9iamVj dCBpbiBzdG9yZSByZWYgdGFibGUNCj4gMjAxNi0wNS0yNCAxMjoxMDoxNywxODMgREVCVUcgW28u YS5jLmUuby5Wb2x1bWVPcmNoZXN0cmF0b3JdDQo+IChXb3JrLUpvYi1FeGVjdXRvci0zOmN0eC02 MDFiMTMwNyBqb2ItNDg3NC9qb2ItNDg3NSBjdHgtNjE5YzlkNGUpDQo+IChsb2dpZDo4NzQ4YmZm ZSkgRmFpbGVkIHRvIG1pZ3JhdGVkIHZtIFZNW1VzZXJ8aS0zLTI3MS1WTV0gYWxvbmcgd2l0aA0K PiBpdHMgdm9sdW1lcy4gY29tLmNsb3VkLnV0aWxzLmV4Y2VwdGlvbi5DbG91ZFJ1bnRpbWVFeGNl cHRpb246IEVycm9yDQo+IHdoaWxlIG1pZ3JhdGluZyB0aGUgdm0gVk1bVXNlcnxpLTMtMjcxLVZN XSB0byBob3N0DQo+IEhvc3RbLTEzNjU4OS1Sb3V0aW5nXS4gRXhjZXB0aW9uOiBqYXZhLmxhbmcu TnVsbFBvaW50ZXJFeGNlcHRpb24NCj4gTWVzc2FnZTogbnVsbA0KPiBTdGFjazogamF2YS5sYW5n Lk51bGxQb2ludGVyRXhjZXB0aW9uDQo+ICAgICAgYXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVu c2VydmVyLnJlc291cmNlLndyYXBwZXIueGVuNjEwLlhlblNlcnZlcjYxME1pZ3JhdGVXaXRoU3Rv cmFnZUNvbW1hbmRXcmFwcGVyLmV4ZWN1dGUoWGVuU2VydmVyNjEwTWlncmF0ZVdpdGhTdG9yYWdl Q29tbWFuZFdyYXBwZXIuamF2YTo4NikNCj4gICAgICBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54 ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci54ZW42MTAuWGVuU2VydmVyNjEwTWlncmF0ZVdpdGhT dG9yYWdlQ29tbWFuZFdyYXBwZXIuZXhlY3V0ZShYZW5TZXJ2ZXI2MTBNaWdyYXRlV2l0aFN0b3Jh Z2VDb21tYW5kV3JhcHBlci5qYXZhOjU0KQ0KPiAgICAgIGF0IGNvbS5jbG91ZC5oeXBlcnZpc29y LnhlbnNlcnZlci5yZXNvdXJjZS53cmFwcGVyLnhlbmJhc2UuQ2l0cml4UmVxdWVzdFdyYXBwZXIu ZXhlY3V0ZShDaXRyaXhSZXF1ZXN0V3JhcHBlci5qYXZhOjEyMikNCj4gICAgICBhdCBjb20uY2xv dWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2UuQ2l0cml4UmVzb3VyY2VCYXNlLmV4ZWN1 dGVSZXF1ZXN0KENpdHJpeFJlc291cmNlQmFzZS5qYXZhOjE2NzcpDQo+ICAgICAgYXQgY29tLmNs b3VkLmFnZW50Lm1hbmFnZXIuRGlyZWN0QWdlbnRBdHRhY2hlJFRhc2sucnVuSW5Db250ZXh0KERp cmVjdEFnZW50QXR0YWNoZS5qYXZhOjMxNSkNCj4gICAgICBhdCBvcmcuYXBhY2hlLmNsb3Vkc3Rh Y2subWFuYWdlZC5jb250ZXh0Lk1hbmFnZWRDb250ZXh0UnVubmFibGUkMS5ydW4oTWFuYWdlZENv bnRleHRSdW5uYWJsZS5qYXZhOjQ5KQ0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5t YW5hZ2VkLmNvbnRleHQuaW1wbC5EZWZhdWx0TWFuYWdlZENvbnRleHQkMS5jYWxsKERlZmF1bHRN YW5hZ2VkQ29udGV4dC5qYXZhOjU2KQ0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5t YW5hZ2VkLmNvbnRleHQuaW1wbC5EZWZhdWx0TWFuYWdlZENvbnRleHQuY2FsbFdpdGhDb250ZXh0 KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjEwMykNCj4gICAgICBhdCBvcmcuYXBhY2hlLmNs b3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuRGVmYXVsdE1hbmFnZWRDb250ZXh0LnJ1bldp dGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjUzKQ0KPiAgICAgIGF0IG9yZy5h cGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuTWFuYWdlZENvbnRleHRSdW5uYWJsZS5y dW4oTWFuYWdlZENvbnRleHRSdW5uYWJsZS5qYXZhOjQ2KQ0KPiAgICAgIGF0IGphdmEudXRpbC5j b25jdXJyZW50LkV4ZWN1dG9ycyRSdW5uYWJsZUFkYXB0ZXIuY2FsbChFeGVjdXRvcnMuamF2YTo0 NzEpDQo+ICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0dXJl VGFzay5qYXZhOjI2MikNCj4gICAgICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRU aHJlYWRQb29sRXhlY3V0b3IkU2NoZWR1bGVkRnV0dXJlVGFzay5hY2Nlc3MkMjAxKFNjaGVkdWxl ZFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjE3OCkNCj4gICAgICBhdCBqYXZhLnV0aWwuY29uY3Vy cmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IkU2NoZWR1bGVkRnV0dXJlVGFzay5ydW4o U2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MjkyKQ0KPiAgICAgIGF0IGphdmEudXRp bC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1 dG9yLmphdmE6MTE0NSkNCj4gICAgICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29s RXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTUpDQo+ICAgICAg YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ1KQ0KPiANCj4gMjAxNi0wNS0y NCAxMjoxMDoxNywxODMgSU5GTyAgW2MuYy52LlZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGxdDQo+ IChXb3JrLUpvYi1FeGVjdXRvci0zOmN0eC02MDFiMTMwNyBqb2ItNDg3NC9qb2ItNDg3NSBjdHgt NjE5YzlkNGUpDQo+IChsb2dpZDo4NzQ4YmZmZSkgTWlncmF0aW9uIHdhcyB1bnN1Y2Nlc3NmdWwu ICBDbGVhbmluZyB1cDoNCj4gVk1bVXNlcnxpLTMtMjcxLVZNXQ0KPiAyMDE2LTA1LTI0IDEyOjEw OjE3LDE4NCBXQVJOICBbby5hLmMuYWxlcnRzXQ0KPiAoV29yay1Kb2ItRXhlY3V0b3ItMzpjdHgt NjAxYjEzMDcgam9iLTQ4NzQvam9iLTQ4NzUgY3R4LTYxOWM5ZDRlKQ0KPiAobG9naWQ6ODc0OGJm ZmUpICBhbGVydFR5cGU6OiAxNyAvLyBkYXRhQ2VudGVySWQ6OiAxIC8vIHBvZElkOjogMSAvLw0K PiBjbHVzdGVySWQ6OiBudWxsIC8vIG1lc3NhZ2U6OiBVbmFibGUgdG8gbWlncmF0ZSB2bSBpLTMt MjcxLVZNIGZyb20gaG9zdA0KPiBjbG91ZHN0YWNrLWNvbXB1dGluZzAxLXNhcjAxLnRlY2gtY29y cHMuY29tPGh0dHA6Ly9jbG91ZHN0YWNrLWNvbXB1dGluZzAxLXNhcjAxLnRlY2gtY29ycHMuY29t PiBpbiB6b25lIHpvbmUxLnNhciBhbmQgcG9kDQo+IHpvbmUxLnNhcg0KPiAyMDE2LTA1LTI0IDEy OjEwOjE3LDE4NSBERUJVRyBbYy5jLmEuQWxlcnRNYW5hZ2VySW1wbF0NCj4gKFdvcmstSm9iLUV4 ZWN1dG9yLTM6Y3R4LTYwMWIxMzA3IGpvYi00ODc0L2pvYi00ODc1IGN0eC02MTljOWQ0ZSkNCj4g KGxvZ2lkOjg3NDhiZmZlKSBIYXZlIGFscmVhZHkgc2VudDogMSBlbWFpbHMgZm9yIGFsZXJ0IHR5 cGUgJzE3JyAtLQ0KPiBza2lwcGluZyBzZW5kIGVtYWlsDQo+IDIwMTYtMDUtMjQgMTI6MTA6MTcs MTg1IERFQlVHIFtjLmMuYS5tLkFnZW50QXR0YWNoZV0NCj4gKFdvcmstSm9iLUV4ZWN1dG9yLTM6 Y3R4LTYwMWIxMzA3IGpvYi00ODc0L2pvYi00ODc1IGN0eC02MTljOWQ0ZSkNCj4gKGxvZ2lkOjg3 NDhiZmZlKSBTZXEgMTM2NTg5LTQ3OTYzMzM2MDMxNDk1Nzg4ODogUm91dGVkIGZyb20NCj4gMTI4 NDM3NDMzOTQxMjY1DQo+IDIwMTYtMDUtMjQgMTI6MTA6MTcsMTg1IERFQlVHIFtjLmMuYS50LlJl cXVlc3RdDQo+IChXb3JrLUpvYi1FeGVjdXRvci0zOmN0eC02MDFiMTMwNyBqb2ItNDg3NC9qb2It NDg3NSBjdHgtNjE5YzlkNGUpDQo+IChsb2dpZDo4NzQ4YmZmZSkgU2VxIDEzNjU4OS00Nzk2MzMz NjAzMTQ5NTc4ODg6IFNlbmRpbmcgIHsgQ21kICwNCj4gTWdtdElkOiAxMjg0Mzc0MzM5NDEyNjUs IHZpYToNCj4gMTM2NTg5KGNsb3Vkc3RhY2stY29tcHV0aW5nMDMtc2FyMDEudGVjaC1jb3Jwcy5j b208aHR0cDovL2Nsb3Vkc3RhY2stY29tcHV0aW5nMDMtc2FyMDEudGVjaC1jb3Jwcy5jb20+KSwg VmVyOiB2MSwgRmxhZ3M6DQo+IDEwMDAxMSwNCj4gW3siY29tLmNsb3VkLmFnZW50LmFwaS5TdG9w Q29tbWFuZCI6eyJpc1Byb3h5IjpmYWxzZSwiZXhlY3V0ZUluU2VxdWVuY2UNCj4gIjpmYWxzZSwi Y2hlY2tCZWZvcmVDbGVhbnVwIjpmYWxzZSwidm1OYW1lIjoiaS0zLTI3MS1WTSIsIndhaXQiOjB9 fV0gfQ0KPiAyMDE2LTA1LTI0IDEyOjEwOjE3LDE4NSBERUJVRyBbYy5jLmEudC5SZXF1ZXN0XQ0K PiAoV29yay1Kb2ItRXhlY3V0b3ItMzpjdHgtNjAxYjEzMDcgam9iLTQ4NzQvam9iLTQ4NzUgY3R4 LTYxOWM5ZDRlKQ0KPiAobG9naWQ6ODc0OGJmZmUpIFNlcSAxMzY1ODktNDc5NjMzMzYwMzE0OTU3 ODg4OiBFeGVjdXRpbmc6ICB7IENtZCAsDQo+IE1nbXRJZDogMTI4NDM3NDMzOTQxMjY1LCB2aWE6 DQo+IDEzNjU4OShjbG91ZHN0YWNrLWNvbXB1dGluZzAzLXNhcjAxLnRlY2gtY29ycHMuY29tPGh0 dHA6Ly9jbG91ZHN0YWNrLWNvbXB1dGluZzAzLXNhcjAxLnRlY2gtY29ycHMuY29tPiksIFZlcjog djEsIEZsYWdzOg0KPiAxMDAwMTEsDQo+IFt7ImNvbS5jbG91ZC5hZ2VudC5hcGkuU3RvcENvbW1h bmQiOnsiaXNQcm94eSI6ZmFsc2UsImV4ZWN1dGVJblNlcXVlbmNlDQo+ICI6ZmFsc2UsImNoZWNr QmVmb3JlQ2xlYW51cCI6ZmFsc2UsInZtTmFtZSI6ImktMy0yNzEtVk0iLCJ3YWl0IjowfX1dIH0N Cj4gMjAxNi0wNS0yNCAxMjoxMDoxNywxODUgREVCVUcgW2MuYy5hLm0uRGlyZWN0QWdlbnRBdHRh Y2hlXQ0KPiAoRGlyZWN0QWdlbnQtMzQ6Y3R4LTY1ZWY1ODVhKSAobG9naWQ6OTI0YjViMDcpIFNl cQ0KPiAxMzY1ODktNDc5NjMzMzYwMzE0OTU3ODg4OiBFeGVjdXRpbmcgcmVxdWVzdA0KPiAyMDE2 LTA1LTI0IDEyOjEwOjE3LDE5NyBERUJVRyBbYy5jLmMuQ2FwYWNpdHlNYW5hZ2VySW1wbF0NCj4g KFdvcmstSm9iLUV4ZWN1dG9yLTM6Y3R4LTYwMWIxMzA3IGpvYi00ODc0L2pvYi00ODc1IGN0eC02 MTljOWQ0ZSkNCj4gKGxvZ2lkOjg3NDhiZmZlKSBWTSBzdGF0ZSB0cmFuc2l0dGVkIGZyb20gOk1p Z3JhdGluZyB0byBSdW5uaW5nIHdpdGgNCj4gZXZlbnQ6IE9wZXJhdGlvbkZhaWxlZHZtJ3Mgb3Jp Z2luYWwgaG9zdCBpZDogMTM2NTkyIG5ldyBob3N0IGlkOiAxMzY1OTINCj4gaG9zdCBpZCBiZWZv cmUgc3RhdGUgdHJhbnNpdGlvbjogMTM2NTg5DQo+IDIwMTYtMDUtMjQgMTI6MTA6MTcsMjAwIERF QlVHIFtjLmMuYy5DYXBhY2l0eU1hbmFnZXJJbXBsXQ0KPiAoV29yay1Kb2ItRXhlY3V0b3ItMzpj dHgtNjAxYjEzMDcgam9iLTQ4NzQvam9iLTQ4NzUgY3R4LTYxOWM5ZDRlKQ0KPiAobG9naWQ6ODc0 OGJmZmUpIEhvc3RzJ3MgYWN0dWFsIHRvdGFsIENQVTogMTU5NjAgYW5kIENQVSBhZnRlciBhcHBs eWluZw0KPiBvdmVycHJvdmlzaW9uaW5nOiAzOTkwMA0KPiAyMDE2LTA1LTI0IDEyOjEwOjE3LDIw MCBERUJVRyBbYy5jLmMuQ2FwYWNpdHlNYW5hZ2VySW1wbF0NCj4gKFdvcmstSm9iLUV4ZWN1dG9y LTM6Y3R4LTYwMWIxMzA3IGpvYi00ODc0L2pvYi00ODc1IGN0eC02MTljOWQ0ZSkNCj4gKGxvZ2lk Ojg3NDhiZmZlKSBIb3N0cydzIGFjdHVhbCB0b3RhbCBSQU06IDExNTQ5Njk3MjgwIGFuZCBSQU0g YWZ0ZXINCj4gYXBwbHlpbmcgb3ZlcnByb3Zpc2lvbmluZzogMTE1NDk2OTcwMjQNCj4gMjAxNi0w NS0yNCAxMjoxMDoxNywyMDAgREVCVUcgW2MuYy5jLkNhcGFjaXR5TWFuYWdlckltcGxdDQo+IChX b3JrLUpvYi1FeGVjdXRvci0zOmN0eC02MDFiMTMwNyBqb2ItNDg3NC9qb2ItNDg3NSBjdHgtNjE5 YzlkNGUpDQo+IChsb2dpZDo4NzQ4YmZmZSkgcmVsZWFzZSBjcHUgZnJvbSBob3N0OiAxMzY1ODks IG9sZCB1c2VkOg0KPiAzOTkwLHJlc2VydmVkOiAwLCBhY3R1YWwgdG90YWw6IDE1OTYwLCB0b3Rh bCB3aXRoIG92ZXJwcm92aXNpb25pbmc6DQo+IDM5OTAwOyBuZXcgdXNlZDogMTk5NSxyZXNlcnZl ZDowOyBtb3ZlZGZyb21yZXNlcnZlZDoNCj4gZmFsc2UsbW92ZVRvUmVzZXJ2ZXJlZGZhbHNlDQo+ IDIwMTYtMDUtMjQgMTI6MTA6MTcsMjAwIERFQlVHIFtjLmMuYy5DYXBhY2l0eU1hbmFnZXJJbXBs XQ0KPiAoV29yay1Kb2ItRXhlY3V0b3ItMzpjdHgtNjAxYjEzMDcgam9iLTQ4NzQvam9iLTQ4NzUg Y3R4LTYxOWM5ZDRlKQ0KPiAobG9naWQ6ODc0OGJmZmUpIHJlbGVhc2UgbWVtIGZyb20gaG9zdDog MTM2NTg5LCBvbGQgdXNlZDoNCj4gNTM2ODcwOTEyMCxyZXNlcnZlZDogMCwgdG90YWw6IDExNTQ5 Njk3MDI0OyBuZXcgdXNlZDoNCj4gNDI5NDk2NzI5NixyZXNlcnZlZDowOyBtb3ZlZGZyb21yZXNl cnZlZDogZmFsc2UsbW92ZVRvUmVzZXJ2ZXJlZGZhbHNlDQo+IDIwMTYtMDUtMjQgMTI6MTA6MTcs MjAxIERFQlVHIFtjLmMuYS5tLkRpcmVjdEFnZW50QXR0YWNoZV0gKERpcmVjdEFnZW50LTM0OmN0 eC02NWVmNTg1YSkgKGxvZ2lkOjg3NDhiZmZlKSBTZXEgMTM2NTg5LTQ3OTYzMzM2MDMxNDk1Nzg4 ODogUmVzcG9uc2UgUmVjZWl2ZWQ6DQo+IDIwMTYtMDUtMjQgMTI6MTA6MTcsMjAyIERFQlVHIFtj LmMuYS50LlJlcXVlc3RdDQo+IChEaXJlY3RBZ2VudC0zNDpjdHgtNjVlZjU4NWEpIChsb2dpZDo4 NzQ4YmZmZSkgU2VxDQo+IDEzNjU4OS00Nzk2MzMzNjAzMTQ5NTc4ODg6IFByb2Nlc3Npbmc6ICB7 IEFuczogLCBNZ210SWQ6DQo+IDEyODQzNzQzMzk0MTI2NSwgdmlhOg0KPiAxMzY1ODkoY2xvdWRz dGFjay1jb21wdXRpbmcwMy1zYXIwMS50ZWNoLWNvcnBzLmNvbTxodHRwOi8vY2xvdWRzdGFjay1j b21wdXRpbmcwMy1zYXIwMS50ZWNoLWNvcnBzLmNvbT4pLCBWZXI6IHYxLCBGbGFnczoNCj4gMTAs IFt7ImNvbS5jbG91ZC5hZ2VudC5hcGkuU3RvcEFuc3dlciI6eyJyZXN1bHQiOnRydWUsImRldGFp bHMiOiJWTQ0KPiBkb2VzIG5vdCBleGlzdCIsIndhaXQiOjB9fV0gfQ0KPiAyMDE2LTA1LTI0IDEy OjEwOjE3LDIwMiBERUJVRyBbYy5jLmEubS5BZ2VudEF0dGFjaGVdIChEaXJlY3RBZ2VudC0zNDpj dHgtNjVlZjU4NWEpIChsb2dpZDo4NzQ4YmZmZSkgU2VxIDEzNjU4OS00Nzk2MzMzNjAzMTQ5NTc4 ODg6IFVuYWJsZSB0byBmaW5kIGxpc3RlbmVyLg0KPiAyMDE2LTA1LTI0IDEyOjEwOjE3LDIxOCBF UlJPUiBbYy5jLnYuVm1Xb3JrSm9iSGFuZGxlclByb3h5XSAoV29yay1Kb2ItRXhlY3V0b3ItMzpj dHgtNjAxYjEzMDcgam9iLTQ4NzQvam9iLTQ4NzUgY3R4LTYxOWM5ZDRlKSAobG9naWQ6ODc0OGJm ZmUpIEludm9jYXRpb24gZXhjZXB0aW9uLCBjYXVzZWQgYnk6IGNvbS5jbG91ZC51dGlscy5leGNl cHRpb24uQ2xvdWRSdW50aW1lRXhjZXB0aW9uOiBGYWlsZWQgdG8gbWlncmF0ZWQgdm0gVk1bVXNl cnxpLTMtMjcxLVZNXSBhbG9uZyB3aXRoIGl0cyB2b2x1bWVzLg0KPiAyMDE2LTA1LTI0IDEyOjEw OjE3LDIxOCBJTkZPICBbYy5jLnYuVm1Xb3JrSm9iSGFuZGxlclByb3h5XSAoV29yay1Kb2ItRXhl Y3V0b3ItMzpjdHgtNjAxYjEzMDcgam9iLTQ4NzQvam9iLTQ4NzUgY3R4LTYxOWM5ZDRlKSAobG9n aWQ6ODc0OGJmZmUpIFJldGhyb3cgZXhjZXB0aW9uIGNvbS5jbG91ZC51dGlscy5leGNlcHRpb24u Q2xvdWRSdW50aW1lRXhjZXB0aW9uOiBGYWlsZWQgdG8gbWlncmF0ZWQgdm0gVk1bVXNlcnxpLTMt MjcxLVZNXSBhbG9uZyB3aXRoIGl0cyB2b2x1bWVzLg0KPiAyMDE2LTA1LTI0IDEyOjEwOjE3LDIx OCBERUJVRyBbYy5jLnYuVm1Xb3JrSm9iRGlzcGF0Y2hlcl0NCj4gKFdvcmstSm9iLUV4ZWN1dG9y LTM6Y3R4LTYwMWIxMzA3IGpvYi00ODc0L2pvYi00ODc1KSAobG9naWQ6ODc0OGJmZmUpDQo+IERv bmUgd2l0aCBydW4gb2YgVk0gd29yayBqb2I6IGNvbS5jbG91ZC52bS5WbVdvcmtNaWdyYXRlV2l0 aFN0b3JhZ2UgZm9yDQo+IFZNIDI3MSwgam9iIG9yaWdpbjogNDg3NA0KPiAyMDE2LTA1LTI0IDEy OjEwOjE3LDIxOCBFUlJPUiBbYy5jLnYuVm1Xb3JrSm9iRGlzcGF0Y2hlcl0NCj4gKFdvcmstSm9i LUV4ZWN1dG9yLTM6Y3R4LTYwMWIxMzA3IGpvYi00ODc0L2pvYi00ODc1KSAobG9naWQ6ODc0OGJm ZmUpDQo+IFVuYWJsZSB0byBjb21wbGV0ZSBBc3luY0pvYlZPIHtpZDo0ODc1LCB1c2VySWQ6IDE3 LCBhY2NvdW50SWQ6IDMsDQo+IGluc3RhbmNlVHlwZTogbnVsbCwgaW5zdGFuY2VJZDogbnVsbCwg Y21kOg0KPiBjb20uY2xvdWQudm0uVm1Xb3JrTWlncmF0ZVdpdGhTdG9yYWdlLCBjbWRJbmZvOg0K PiByTzBBQlhOeUFDVmpiMjB1WTJ4dmRXUXVkbTB1Vm0xWGIzSnJUV2xuY21GMFpWZHBkR2hUZEc5 eVlXZGxzZXc5ejZVeHRYTQ0KPiBDQUFOS0FBcGtaWE4wU0c5emRFbGtTZ0FKYzNKalNHOXpkRWxr VEFBTWRtOXNkVzFsVkc5UWIyOXNkQUFQVEdwaGRtRXZkWA0KPiBScGJDOU5ZWEE3ZUhJQUUyTnZi UzVqYkc5MVpDNTJiUzVXYlZkdmNtdWZtYlpXOENWbmF3SUFCRW9BQ1dGalkyOTFiblJKWg0KPiBF b0FCblZ6WlhKSlpFb0FCSFp0U1dSTUFBdG9ZVzVrYkdWeVRtRnRaWFFBRWt4cVlYWmhMMnhoYm1j dlUzUnlhVzVuTzNodw0KPiBBQUFBQUFBQUFBTUFBQUFBQUFBQUVRQUFBQUFBQUFFUGRBQVpWbWx5 ZEhWaGJFMWhZMmhwYm1WTllXNWhaMlZ5U1cxd2JBQQ0KPiBBQUFBQUFoV05BQUFBQUFBQ0ZaQnpj Z0FSYW1GMllTNTFkR2xzTGtoaGMyaE5ZWEFGQjlyQnd4WmcwUU1BQWtZQUNteHZZVw0KPiBSR1lX TjBiM0pKQUFsMGFISmxjMmh2YkdSNGNEOUFBQUFBQUFBUWR3Z0FBQUFRQUFBQUFIZywgY21kVmVy c2lvbjogMCwNCj4gc3RhdHVzOiBJTl9QUk9HUkVTUywgcHJvY2Vzc1N0YXR1czogMCwgcmVzdWx0 Q29kZTogMCwgcmVzdWx0OiBudWxsLA0KPiBpbml0TXNpZDogMTI4NDM3NDMzOTQxMjY1LCBjb21w bGV0ZU1zaWQ6IG51bGwsIGxhc3RVcGRhdGVkOiBudWxsLA0KPiBsYXN0UG9sbGVkOiBudWxsLCBj cmVhdGVkOiBUdWUgTWF5IDI0IDEyOjEwOjE2IE1TSyAyMDE2fSwgam9iDQo+IG9yaWdpbjo0ODc0 DQo+IGNvbS5jbG91ZC51dGlscy5leGNlcHRpb24uQ2xvdWRSdW50aW1lRXhjZXB0aW9uOiBGYWls ZWQgdG8gbWlncmF0ZWQgdm0gVk1bVXNlcnxpLTMtMjcxLVZNXSBhbG9uZyB3aXRoIGl0cyB2b2x1 bWVzLg0KPiAgICAgIGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5lbmdpbmUub3JjaGVzdHJhdGlv bi5Wb2x1bWVPcmNoZXN0cmF0b3IubWlncmF0ZVZvbHVtZXMoVm9sdW1lT3JjaGVzdHJhdG9yLmph dmE6MTAwNykNCj4gICAgICBhdCBjb20uY2xvdWQudm0uVmlydHVhbE1hY2hpbmVNYW5hZ2VySW1w bC5vcmNoZXN0cmF0ZU1pZ3JhdGVXaXRoU3RvcmFnZShWaXJ0dWFsTWFjaGluZU1hbmFnZXJJbXBs LmphdmE6MjI3NCkNCj4gICAgICBhdCBjb20uY2xvdWQudm0uVmlydHVhbE1hY2hpbmVNYW5hZ2Vy SW1wbC5vcmNoZXN0cmF0ZU1pZ3JhdGVXaXRoU3RvcmFnZShWaXJ0dWFsTWFjaGluZU1hbmFnZXJJ bXBsLmphdmE6NDYzOCkNCj4gICAgICBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3Nv ckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQ0KPiAgICAgIGF0IHN1bi5yZWZsZWN0Lk5hdGl2 ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6 NTcpDQo+ICAgICAgYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5p bnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQ0KPiAgICAgIGF0IGph dmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQ0KPiAgICAgIGF0 IGNvbS5jbG91ZC52bS5WbVdvcmtKb2JIYW5kbGVyUHJveHkuaGFuZGxlVm1Xb3JrSm9iKFZtV29y a0pvYkhhbmRsZXJQcm94eS5qYXZhOjEwNykNCj4gICAgICBhdCBjb20uY2xvdWQudm0uVmlydHVh bE1hY2hpbmVNYW5hZ2VySW1wbC5oYW5kbGVWbVdvcmtKb2IoVmlydHVhbE1hY2hpbmVNYW5hZ2Vy SW1wbC5qYXZhOjQ3NDEpDQo+ICAgICAgYXQgY29tLmNsb3VkLnZtLlZtV29ya0pvYkRpc3BhdGNo ZXIucnVuSm9iKFZtV29ya0pvYkRpc3BhdGNoZXIuamF2YToxMDIpDQo+ICAgICAgYXQgb3JnLmFw YWNoZS5jbG91ZHN0YWNrLmZyYW1ld29yay5qb2JzLmltcGwuQXN5bmNKb2JNYW5hZ2VySW1wbCQ1 LnJ1bkluQ29udGV4dChBc3luY0pvYk1hbmFnZXJJbXBsLmphdmE6NTU0KQ0KPiAgICAgIGF0IG9y Zy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuTWFuYWdlZENvbnRleHRSdW5uYWJs ZSQxLnJ1bihNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLmphdmE6NDkpDQo+ICAgICAgYXQgb3JnLmFw YWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRlZmF1bHRNYW5hZ2VkQ29udGV4 dCQxLmNhbGwoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6NTYpDQo+ICAgICAgYXQgb3JnLmFw YWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRlZmF1bHRNYW5hZ2VkQ29udGV4 dC5jYWxsV2l0aENvbnRleHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6MTAzKQ0KPiAgICAg IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC5EZWZhdWx0TWFu YWdlZENvbnRleHQucnVuV2l0aENvbnRleHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6NTMp DQo+ICAgICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5NYW5hZ2Vk Q29udGV4dFJ1bm5hYmxlLnJ1bihNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLmphdmE6NDYpDQo+ICAg ICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLmZyYW1ld29yay5qb2JzLmltcGwuQXN5bmNKb2JN YW5hZ2VySW1wbCQ1LnJ1bihBc3luY0pvYk1hbmFnZXJJbXBsLmphdmE6NTAyKQ0KPiAgICAgIGF0 IGphdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRSdW5uYWJsZUFkYXB0ZXIuY2FsbChFeGVj dXRvcnMuamF2YTo0NzEpDQo+ICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFz ay5ydW4oRnV0dXJlVGFzay5qYXZhOjI2MikNCj4gICAgICBhdCBqYXZhLnV0aWwuY29uY3VycmVu dC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjEx NDUpDQo+ICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdv cmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjE1KQ0KPiAgICAgIGF0IGphdmEubGFu Zy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0NSkNCj4gMjAxNi0wNS0yNCAxMjoxMDoxNywyMjAg REVCVUcgW28uYS5jLmYuai5pLkFzeW5jSm9iTWFuYWdlckltcGxdDQo+IChXb3JrLUpvYi1FeGVj dXRvci0zOmN0eC02MDFiMTMwNyBqb2ItNDg3NC9qb2ItNDg3NSkgKGxvZ2lkOjg3NDhiZmZlKQ0K PiBDb21wbGV0ZSBhc3luYyBqb2ItNDg3NSwgam9iU3RhdHVzOiBGQUlMRUQsIHJlc3VsdENvZGU6 IDAsIHJlc3VsdDoNCj4gck8wQUJYTnlBQzlqYjIwdVkyeHZkV1F1ZFhScGJITXVaWGhqWlhCMGFX OXVMa05zYjNWa1VuVnVkR2x0WlVWNFkyVndkR2wNCj4gdmJnQUFBQUJXVFU5eUF3QUJTUUFMWTNO RmNuSnZja052WkdWNGNnQWFhbUYyWVM1c1lXNW5MbEoxYm5ScGJXVkZlR05sY0gNCj4gUnBiMjZl WHdaSENqU0Q1UUlBQUhoeUFCTnFZWFpoTG14aGJtY3VSWGhqWlhCMGFXOXUwUDBmUGhvN0hNUUNB QUI0Y2dBVGENCj4gbUYyWVM1c1lXNW5MbFJvY205M1lXSnNaZFhHTlNjNWQ3akxBd0FFVEFBRlky RjFjMlYwQUJWTWFtRjJZUzlzWVc1bkwxUm8NCj4gY205M1lXSnNaVHRNQUExa1pYUmhhV3hOWlhO ellXZGxkQUFTVEdwaGRtRXZiR0Z1Wnk5VGRISnBibWM3V3dBS2MzUmhZMnQNCj4gVWNtRmpaWFFB SGx0TWFtRjJZUzlzWVc1bkwxTjBZV05yVkhKaFkyVkZiR1Z0Wlc1ME8wd0FGSE4xY0hCeVpYTnpa V1JGZUcNCj4gTmxjSFJwYjI1emRBQVFUR3BoZG1FdmRYUnBiQzlNYVhOME8zaHdjUUItQUFoMEFF SkdZV2xzWldRZ2RHOGdiV2xuY21GMFoNCj4gV1FnZG0wZ1ZrMWJWWE5sY254cExUTXRNamN4TFZa TlhTQmhiRzl1WnlCM2FYUm9JR2wwY3lCMmIyeDFiV1Z6TGlCMWNnQWUNCj4gVzB4cVlYWmhMbXho Ym1jdVUzUmhZMnRVY21GalpVVnNaVzFsYm5RN0FrWXFQRHo5SWprQ0FBQjRjQUFBQUJaemNnQWJh bUYNCj4gMllTNXNZVzVuTGxOMFlXTnJWSEpoWTJWRmJHVnRaVzUwWVFuRm1pWTIzWVVDQUFSSkFB cHNhVzVsVG5WdFltVnlUQUFPWkcNCj4gVmpiR0Z5YVc1blEyeGhjM054QUg0QUJVd0FDR1pwYkdW T1lXMWxjUUItQUFWTUFBcHRaWFJvYjJST1lXMWxjUUItQUFWNGMNCj4gQUFBQS05MEFEMXZjbWN1 WVhCaFkyaGxMbU5zYjNWa2MzUmhZMnN1Wlc1bmFXNWxMbTl5WTJobGMzUnlZWFJwYjI0dVZtOXMN Cj4gZFcxbFQzSmphR1Z6ZEhKaGRHOXlkQUFYVm05c2RXMWxUM0pqYUdWemRISmhkRzl5TG1waGRt RjBBQTV0YVdkeVlYUmxWbTkNCj4gc2RXMWxjM054QUg0QURBQUFDT0owQUNaamIyMHVZMnh2ZFdR dWRtMHVWbWx5ZEhWaGJFMWhZMmhwYm1WTllXNWhaMlZ5U1cNCj4gMXdiSFFBSGxacGNuUjFZV3hO WVdOb2FXNWxUV0Z1WVdkbGNrbHRjR3d1YW1GMllYUUFIVzl5WTJobGMzUnlZWFJsVFdsbmMNCj4g bUYwWlZkcGRHaFRkRzl5WVdkbGMzRUFmZ0FNQUFBU0huRUFmZ0FTY1FCLUFCTnhBSDRBRkhOeEFI NEFEUF9fX181MEFDUnoNCj4gZFc0dWNtVm1iR1ZqZEM1T1lYUnBkbVZOWlhSb2IyUkJZMk5sYzNO dmNrbHRjR3gwQUIxT1lYUnBkbVZOWlhSb2IyUkJZMk4NCj4gbGMzTnZja2x0Y0d3dWFtRjJZWFFB QjJsdWRtOXJaVEJ6Y1FCLUFBd0FBQUE1Y1FCLUFCZHhBSDRBR0hRQUJtbHVkbTlyWlgNCj4gTnhB SDRBREFBQUFDdDBBQ2h6ZFc0dWNtVm1iR1ZqZEM1RVpXeGxaMkYwYVc1blRXVjBhRzlrUVdOalpY TnpiM0pKYlhCc2QNCj4gQUFoUkdWc1pXZGhkR2x1WjAxbGRHaHZaRUZqWTJWemMyOXlTVzF3YkM1 cVlYWmhjUUItQUJ0emNRQi1BQXdBQUFKZWRBQVkNCj4gYW1GMllTNXNZVzVuTG5KbFpteGxZM1F1 VFdWMGFHOWtkQUFMVFdWMGFHOWtMbXBoZG1GeEFINEFHM054QUg0QURBQUFBR3QNCj4gMEFDSmpi MjB1WTJ4dmRXUXVkbTB1Vm0xWGIzSnJTbTlpU0dGdVpHeGxjbEJ5YjNoNWRBQWFWbTFYYjNKclNt OWlTR0Z1WkcNCj4geGxjbEJ5YjNoNUxtcGhkbUYwQUE5b1lXNWtiR1ZXYlZkdmNtdEtiMkp6Y1FC LUFBd0FBQktGY1FCLUFCSnhBSDRBRTNFQWYNCj4gZ0FsYzNFQWZnQU1BQUFBWm5RQUlHTnZiUzVq Ykc5MVpDNTJiUzVXYlZkdmNtdEtiMkpFYVhOd1lYUmphR1Z5ZEFBWVZtMVgNCj4gYjNKclNtOWlS R2x6Y0dGMFkyaGxjaTVxWVhaaGRBQUdjblZ1U205aWMzRUFmZ0FNQUFBQ0tuUUFQMjl5Wnk1aGNH RmphR1UNCj4gdVkyeHZkV1J6ZEdGamF5NW1jbUZ0WlhkdmNtc3VhbTlpY3k1cGJYQnNMa0Z6ZVc1 alNtOWlUV0Z1WVdkbGNrbHRjR3drTlgNCj4gUUFHRUZ6ZVc1alNtOWlUV0Z1WVdkbGNrbHRjR3d1 YW1GMllYUUFESEoxYmtsdVEyOXVkR1Y0ZEhOeEFINEFEQUFBQURGMEENCj4gRDV2Y21jdVlYQmhZ MmhsTG1Oc2IzVmtjM1JoWTJzdWJXRnVZV2RsWkM1amIyNTBaWGgwTGsxaGJtRm5aV1JEYjI1MFpY aDANCj4gVW5WdWJtRmliR1VrTVhRQUcwMWhibUZuWldSRGIyNTBaWGgwVW5WdWJtRmliR1V1YW1G MllYUUFBM0oxYm5OeEFINEFEQUENCj4gQUFEaDBBRUp2Y21jdVlYQmhZMmhsTG1Oc2IzVmtjM1Jo WTJzdWJXRnVZV2RsWkM1amIyNTBaWGgwTG1sdGNHd3VSR1ZtWVgNCj4gVnNkRTFoYm1GblpXUkRi MjUwWlhoMEpERjBBQnBFWldaaGRXeDBUV0Z1WVdkbFpFTnZiblJsZUhRdWFtRjJZWFFBQkdOaGIN Cj4gR3h6Y1FCLUFBd0FBQUJuZEFCQWIzSm5MbUZ3WVdOb1pTNWpiRzkxWkhOMFlXTnJMbTFoYm1G blpXUXVZMjl1ZEdWNGRDNXANCj4gYlhCc0xrUmxabUYxYkhSTllXNWhaMlZrUTI5dWRHVjRkSEVB ZmdBMWRBQVBZMkZzYkZkcGRHaERiMjUwWlhoMGMzRUFmZ0ENCj4gTUFBQUFOWEVBZmdBNGNRQi1B RFYwQUE1eWRXNVhhWFJvUTI5dWRHVjRkSE54QUg0QURBQUFBQzUwQUR4dmNtY3VZWEJoWTINCj4g aGxMbU5zYjNWa2MzUmhZMnN1YldGdVlXZGxaQzVqYjI1MFpYaDBMazFoYm1GblpXUkRiMjUwWlho MFVuVnVibUZpYkdWeEENCj4gSDRBTVhFQWZnQXljM0VBZmdBTUFBQUI5bkVBZmdBc2NRQi1BQzF4 QUg0QU1uTnhBSDRBREFBQUFkZDBBQzVxWVhaaExuVjANCj4gYVd3dVkyOXVZM1Z5Y21WdWRDNUZl R1ZqZFhSdmNuTWtVblZ1Ym1GaWJHVkJaR0Z3ZEdWeWRBQU9SWGhsWTNWMGIzSnpMbXANCj4gaGRt RnhBSDRBTm5OeEFINEFEQUFBQVFaMEFCOXFZWFpoTG5WMGFXd3VZMjl1WTNWeWNtVnVkQzVHZFhS MWNtVlVZWE5yZEENCj4gQVBSblYwZFhKbFZHRnpheTVxWVhaaGNRQi1BREp6Y1FCLUFBd0FBQVI1 ZEFBbmFtRjJZUzUxZEdsc0xtTnZibU4xY25KbGINCj4gblF1VkdoeVpXRmtVRzl2YkVWNFpXTjFk Rzl5ZEFBWFZHaHlaV0ZrVUc5dmJFVjRaV04xZEc5eUxtcGhkbUYwQUFseWRXNVgNCj4gYjNKclpY SnpjUUItQUF3QUFBSm5kQUF1YW1GMllTNTFkR2xzTG1OdmJtTjFjbkpsYm5RdVZHaHlaV0ZrVUc5 dmJFVjRaV04NCj4gMWRHOXlKRmR2Y210bGNuRUFmZ0JIY1FCLUFESnpjUUItQUF3QUFBTHBkQUFR YW1GMllTNXNZVzVuTGxSb2NtVmhaSFFBQzENCj4gUm9jbVZoWkM1cVlYWmhjUUItQURKemNnQW1h bUYyWVM1MWRHbHNMa052Ykd4bFkzUnBiMjV6SkZWdWJXOWthV1pwWVdKc1oNCj4gVXhwYzNUOER5 VXh0ZXlPRUFJQUFVd0FCR3hwYzNSeEFINEFCM2h5QUN4cVlYWmhMblYwYVd3dVEyOXNiR1ZqZEds dmJuTWsNCj4gVlc1dGIyUnBabWxoWW14bFEyOXNiR1ZqZEdsdmJobENBSURMWHZjZUFnQUJUQUFC WTNRQUZreHFZWFpoTDNWMGFXd3ZRMjkNCj4gc2JHVmpkR2x2Ymp0NGNITnlBQk5xWVhaaExuVjBh V3d1UVhKeVlYbE1hWE4wZUlIU0habkhZWjBEQUFGSkFBUnphWHBsZUgNCj4gQUFBQUFBZHdRQUFB QUFlSEVBZmdCVGVBQUFFSnAzQ0FBQUFBQUFBQUFBZUENCj4gMjAxNi0wNS0yNCAxMjoxMDoxNywy MjAgREVCVUcgW28uYS5jLmYuai5pLkFzeW5jSm9iTWFuYWdlckltcGxdDQo+IChXb3JrLUpvYi1F eGVjdXRvci0zOmN0eC02MDFiMTMwNyBqb2ItNDg3NC9qb2ItNDg3NSkgKGxvZ2lkOjg3NDhiZmZl KQ0KPiBQdWJsaXNoIGFzeW5jIGpvYi00ODc1IGNvbXBsZXRlIG9uIG1lc3NhZ2UgYnVzDQo+IDIw MTYtMDUtMjQgMTI6MTA6MTcsMjIwIERFQlVHIFtvLmEuYy5mLmouaS5Bc3luY0pvYk1hbmFnZXJJ bXBsXQ0KPiAoV29yay1Kb2ItRXhlY3V0b3ItMzpjdHgtNjAxYjEzMDcgam9iLTQ4NzQvam9iLTQ4 NzUpIChsb2dpZDo4NzQ4YmZmZSkNCj4gV2FrZSB1cCBqb2JzIHJlbGF0ZWQgdG8gam9iLTQ4NzUN Cj4gMjAxNi0wNS0yNCAxMjoxMDoxNywyMjAgREVCVUcgW28uYS5jLmYuai5pLkFzeW5jSm9iTWFu YWdlckltcGxdDQo+IChXb3JrLUpvYi1FeGVjdXRvci0zOmN0eC02MDFiMTMwNyBqb2ItNDg3NC9q b2ItNDg3NSkgKGxvZ2lkOjg3NDhiZmZlKQ0KPiBVcGRhdGUgZGIgc3RhdHVzIGZvciBqb2ItNDg3 NQ0KPiAyMDE2LTA1LTI0IDEyOjEwOjE3LDIyMSBERUJVRyBbby5hLmMuZi5qLmkuQXN5bmNKb2JN YW5hZ2VySW1wbF0NCj4gKFdvcmstSm9iLUV4ZWN1dG9yLTM6Y3R4LTYwMWIxMzA3IGpvYi00ODc0 L2pvYi00ODc1KSAobG9naWQ6ODc0OGJmZmUpDQo+IFdha2UgdXAgam9icyBqb2luZWQgd2l0aCBq b2ItNDg3NSBhbmQgZGlzam9pbiBhbGwgc3Viam9icyBjcmVhdGVkIGZyb20NCj4gam9iLSA0ODc1 DQo+IDIwMTYtMDUtMjQgMTI6MTA6MTcsMjMwIERFQlVHIFtvLmEuYy5mLmouaS5Bc3luY0pvYk1h bmFnZXJJbXBsXQ0KPiAoV29yay1Kb2ItRXhlY3V0b3ItMzpjdHgtNjAxYjEzMDcgam9iLTQ4NzQv am9iLTQ4NzUpIChsb2dpZDo4NzQ4YmZmZSkNCj4gRG9uZSBleGVjdXRpbmcgY29tLmNsb3VkLnZt LlZtV29ya01pZ3JhdGVXaXRoU3RvcmFnZSBmb3Igam9iLTQ4NzUNCj4gMjAxNi0wNS0yNCAxMjox MDoxNywyMzEgSU5GTyAgW28uYS5jLmYuai5pLkFzeW5jSm9iTW9uaXRvcl0NCj4gKFdvcmstSm9i LUV4ZWN1dG9yLTM6Y3R4LTYwMWIxMzA3IGpvYi00ODc0L2pvYi00ODc1KSAobG9naWQ6ODc0OGJm ZmUpDQo+IFJlbW92ZSBqb2ItNDg3NSBmcm9tIGpvYiBtb25pdG9yaW5nDQo+IDIwMTYtMDUtMjQg MTI6MTA6MTcsMjUyIEVSUk9SIFtjLmMuYS5BcGlBc3luY0pvYkRpc3BhdGNoZXJdDQo+IChBUEkt Sm9iLUV4ZWN1dG9yLTM6Y3R4LTZjZWVkMWExIGpvYi00ODc0KSAobG9naWQ6ODc0OGJmZmUpIFVu ZXhwZWN0ZWQNCj4gZXhjZXB0aW9uIHdoaWxlIGV4ZWN1dGluZw0KPiBvcmcuYXBhY2hlLmNsb3Vk c3RhY2suYXBpLmNvbW1hbmQuYWRtaW4udm0uTWlncmF0ZVZpcnR1YWxNYWNoaW5lV2l0aFZvbA0K PiB1bWVDbWQNCj4gY29tLmNsb3VkLnV0aWxzLmV4Y2VwdGlvbi5DbG91ZFJ1bnRpbWVFeGNlcHRp b246IEZhaWxlZCB0byBtaWdyYXRlZCB2bSBWTVtVc2VyfGktMy0yNzEtVk1dIGFsb25nIHdpdGgg aXRzIHZvbHVtZXMuDQo+ICAgICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLmVuZ2luZS5vcmNo ZXN0cmF0aW9uLlZvbHVtZU9yY2hlc3RyYXRvci5taWdyYXRlVm9sdW1lcyhWb2x1bWVPcmNoZXN0 cmF0b3IuamF2YToxMDA3KQ0KPiAgICAgIGF0IGNvbS5jbG91ZC52bS5WaXJ0dWFsTWFjaGluZU1h bmFnZXJJbXBsLm9yY2hlc3RyYXRlTWlncmF0ZVdpdGhTdG9yYWdlKFZpcnR1YWxNYWNoaW5lTWFu YWdlckltcGwuamF2YToyMjc0KQ0KPiAgICAgIGF0IGNvbS5jbG91ZC52bS5WaXJ0dWFsTWFjaGlu ZU1hbmFnZXJJbXBsLm9yY2hlc3RyYXRlTWlncmF0ZVdpdGhTdG9yYWdlKFZpcnR1YWxNYWNoaW5l TWFuYWdlckltcGwuamF2YTo0NjM4KQ0KPiAgICAgIGF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhv ZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpDQo+ICAgICAgYXQgc3VuLnJlZmxl Y3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3Nvcklt cGwuamF2YTo1NykNCj4gICAgICBhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNz b3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpDQo+ICAg ICAgYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDYpDQo+ ICAgICAgYXQgY29tLmNsb3VkLnZtLlZtV29ya0pvYkhhbmRsZXJQcm94eS5oYW5kbGVWbVdvcmtK b2IoVm1Xb3JrSm9iSGFuZGxlclByb3h5LmphdmE6MTA3KQ0KPiAgICAgIGF0IGNvbS5jbG91ZC52 bS5WaXJ0dWFsTWFjaGluZU1hbmFnZXJJbXBsLmhhbmRsZVZtV29ya0pvYihWaXJ0dWFsTWFjaGlu ZU1hbmFnZXJJbXBsLmphdmE6NDc0MSkNCj4gICAgICBhdCBjb20uY2xvdWQudm0uVm1Xb3JrSm9i RGlzcGF0Y2hlci5ydW5Kb2IoVm1Xb3JrSm9iRGlzcGF0Y2hlci5qYXZhOjEwMikNCj4gICAgICBh dCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2suZnJhbWV3b3JrLmpvYnMuaW1wbC5Bc3luY0pvYk1hbmFn ZXJJbXBsJDUucnVuSW5Db250ZXh0KEFzeW5jSm9iTWFuYWdlckltcGwuamF2YTo1NTQpDQo+ICAg ICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5NYW5hZ2VkQ29udGV4 dFJ1bm5hYmxlJDEucnVuKE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0OSkNCj4gICAgICBh dCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuRGVmYXVsdE1hbmFn ZWRDb250ZXh0JDEuY2FsbChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YTo1NikNCj4gICAgICBh dCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuRGVmYXVsdE1hbmFn ZWRDb250ZXh0LmNhbGxXaXRoQ29udGV4dChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YToxMDMp DQo+ICAgICAgYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRl ZmF1bHRNYW5hZ2VkQ29udGV4dC5ydW5XaXRoQ29udGV4dChEZWZhdWx0TWFuYWdlZENvbnRleHQu amF2YTo1MykNCj4gICAgICBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0 Lk1hbmFnZWRDb250ZXh0UnVubmFibGUucnVuKE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0 NikNCj4gICAgICBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2suZnJhbWV3b3JrLmpvYnMuaW1wbC5B c3luY0pvYk1hbmFnZXJJbXBsJDUucnVuKEFzeW5jSm9iTWFuYWdlckltcGwuamF2YTo1MDIpDQo+ ICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFJ1bm5hYmxlQWRhcHRlci5j YWxsKEV4ZWN1dG9ycy5qYXZhOjQ3MSkNCj4gICAgICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5G dXR1cmVUYXNrLnJ1bihGdXR1cmVUYXNrLmphdmE6MjYyKQ0KPiAgICAgIGF0IGphdmEudXRpbC5j b25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9y LmphdmE6MTE0NSkNCj4gICAgICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhl Y3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTUpDQo+ICAgICAgYXQg amF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ1KQ0KPiAyMDE2LTA1LTI0IDEyOjEw OjE3LDI1MyBERUJVRyBbby5hLmMuZi5qLmkuQXN5bmNKb2JNYW5hZ2VySW1wbF0NCj4gKEFQSS1K b2ItRXhlY3V0b3ItMzpjdHgtNmNlZWQxYTEgam9iLTQ4NzQpIChsb2dpZDo4NzQ4YmZmZSkgQ29t cGxldGUNCj4gYXN5bmMgam9iLTQ4NzQsIGpvYlN0YXR1czogRkFJTEVELCByZXN1bHRDb2RlOiA1 MzAsIHJlc3VsdDoNCj4gb3JnLmFwYWNoZS5jbG91ZHN0YWNrLmFwaS5yZXNwb25zZS5FeGNlcHRp b25SZXNwb25zZS9udWxsL3sidXVpZExpc3QiOlsNCj4gXSwiZXJyb3Jjb2RlIjo1MzAsImVycm9y dGV4dCI6IkZhaWxlZCB0byBtaWdyYXRlZCB2bQ0KPiBWTVtVc2VyfGktMy0yNzEtVk1dIGFsb25n IHdpdGggaXRzIHZvbHVtZXMuICJ9DQo+IDIwMTYtMDUtMjQgMTI6MTA6MTcsMjU0IERFQlVHIFtv LmEuYy5mLmouaS5Bc3luY0pvYk1hbmFnZXJJbXBsXQ0KPiAoQVBJLUpvYi1FeGVjdXRvci0zOmN0 eC02Y2VlZDFhMSBqb2ItNDg3NCkgKGxvZ2lkOjg3NDhiZmZlKSBQdWJsaXNoDQo+IGFzeW5jIGpv Yi00ODc0IGNvbXBsZXRlIG9uIG1lc3NhZ2UgYnVzDQo+IDIwMTYtMDUtMjQgMTI6MTA6MTcsMjU0 IERFQlVHIFtvLmEuYy5mLmouaS5Bc3luY0pvYk1hbmFnZXJJbXBsXQ0KPiAoQVBJLUpvYi1FeGVj dXRvci0zOmN0eC02Y2VlZDFhMSBqb2ItNDg3NCkgKGxvZ2lkOjg3NDhiZmZlKSBXYWtlIHVwDQo+ IGpvYnMgcmVsYXRlZCB0byBqb2ItNDg3NA0KPiAyMDE2LTA1LTI0IDEyOjEwOjE3LDI1NCBERUJV RyBbby5hLmMuZi5qLmkuQXN5bmNKb2JNYW5hZ2VySW1wbF0NCj4gKEFQSS1Kb2ItRXhlY3V0b3It MzpjdHgtNmNlZWQxYTEgam9iLTQ4NzQpIChsb2dpZDo4NzQ4YmZmZSkgVXBkYXRlIGRiDQo+IHN0 YXR1cyBmb3Igam9iLTQ4NzQNCj4gMjAxNi0wNS0yNCAxMjoxMDoxNywyNTUgREVCVUcgW28uYS5j LmYuai5pLkFzeW5jSm9iTWFuYWdlckltcGxdDQo+IChBUEktSm9iLUV4ZWN1dG9yLTM6Y3R4LTZj ZWVkMWExIGpvYi00ODc0KSAobG9naWQ6ODc0OGJmZmUpIFdha2UgdXANCj4gam9icyBqb2luZWQg d2l0aCBqb2ItNDg3NCBhbmQgZGlzam9pbiBhbGwgc3Viam9icyBjcmVhdGVkIGZyb20gam9iLQ0K PiA0ODc0DQo+IDIwMTYtMDUtMjQgMTI6MTA6MTcsMjYzIERFQlVHIFtvLmEuYy5mLmouaS5Bc3lu Y0pvYk1hbmFnZXJJbXBsXQ0KPiAoQVBJLUpvYi1FeGVjdXRvci0zOmN0eC02Y2VlZDFhMSBqb2It NDg3NCkgKGxvZ2lkOjg3NDhiZmZlKSBEb25lDQo+IGV4ZWN1dGluZw0KPiBvcmcuYXBhY2hlLmNs b3Vkc3RhY2suYXBpLmNvbW1hbmQuYWRtaW4udm0uTWlncmF0ZVZpcnR1YWxNYWNoaW5lV2l0aFZv bA0KPiB1bWVDbWQgZm9yIGpvYi00ODc0DQo+IDIwMTYtMDUtMjQgMTI6MTA6MTcsMjYzIElORk8g IFtvLmEuYy5mLmouaS5Bc3luY0pvYk1vbml0b3JdDQo+IChBUEktSm9iLUV4ZWN1dG9yLTM6Y3R4 LTZjZWVkMWExIGpvYi00ODc0KSAobG9naWQ6ODc0OGJmZmUpIFJlbW92ZQ0KPiBqb2ItNDg3NCBm cm9tIGpvYiBtb25pdG9yaW5nIF5DDQo+IA0KPiANCj4gUmVnYXJkcywNCj4gSVQgZW5naW5lZXIN Cj4gRmFyaGVhcCwgUnVzc2lhDQo+IEl2YW4gRGVyYmVuZXYNCj4gDQo+IA0KPiANCj4gDQo+IA0K PiBESVNDTEFJTUVSDQo+ID09PT09PT09PT0NCj4gVGhpcyBlLW1haWwgbWF5IGNvbnRhaW4gcHJp dmlsZWdlZCBhbmQgY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIHdoaWNoIGlzIHRoZSBwcm9wZXJ0 eSBvZiBBY2NlbGVyaXRlLCBhIFBlcnNpc3RlbnQgU3lzdGVtcyBidXNpbmVzcy4gSXQgaXMgaW50 ZW5kZWQgb25seSBmb3IgdGhlIHVzZSBvZiB0aGUgaW5kaXZpZHVhbCBvciBlbnRpdHkgdG8gd2hp Y2ggaXQgaXMgYWRkcmVzc2VkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50 LCB5b3UgYXJlIG5vdCBhdXRob3JpemVkIHRvIHJlYWQsIHJldGFpbiwgY29weSwgcHJpbnQsIGRp c3RyaWJ1dGUgb3IgdXNlIHRoaXMgbWVzc2FnZS4gSWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBj b21tdW5pY2F0aW9uIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYW5kIGRlbGV0 ZSBhbGwgY29waWVzIG9mIHRoaXMgbWVzc2FnZS4gQWNjZWxlcml0ZSwgYSBQZXJzaXN0ZW50IFN5 c3RlbXMgYnVzaW5lc3MgZG9lcyBub3QgYWNjZXB0IGFueSBsaWFiaWxpdHkgZm9yIHZpcnVzIGlu ZmVjdGVkIG1haWxzLg0KPiANCg0K