From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mail.openembedded.org (Postfix) with ESMTP id 4D93B6E660 for ; Tue, 15 Aug 2017 20:36:45 +0000 (UTC) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP; 15 Aug 2017 13:36:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,379,1498546800"; d="scan'208";a="1206038836" Received: from orsmsx101.amr.corp.intel.com ([10.22.225.128]) by fmsmga002.fm.intel.com with ESMTP; 15 Aug 2017 13:36:46 -0700 Received: from orsmsx158.amr.corp.intel.com (10.22.240.20) by ORSMSX101.amr.corp.intel.com (10.22.225.128) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 15 Aug 2017 13:36:46 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.211]) by ORSMSX158.amr.corp.intel.com ([169.254.10.102]) with mapi id 14.03.0319.002; Tue, 15 Aug 2017 13:36:45 -0700 From: "Wold, Saul" To: "openembedded-core@lists.openembedded.org" , "haris.okanovic@ni.com" Thread-Topic: [OE-core] [PATCH v5] kernel: Add support for multiple kernel packages Thread-Index: AQHTEFtq2ggN0l5aFk2DugYEjvjjlqJ7gTmAgAlcHQCAAYOzAA== Date: Tue, 15 Aug 2017 20:36:45 +0000 Message-ID: <1502829402.27472.49.camel@intel.com> References: <20170808153020.17537-1-haris.okanovic@ni.com> <1502231583.24039.62.camel@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.24.8.129] MIME-Version: 1.0 Cc: "josh.hernstrom@ni.com" Subject: Re: [PATCH v5] kernel: Add support for multiple kernel packages X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Aug 2017 20:36:47 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 T24gTW9uLCAyMDE3LTA4LTE0IGF0IDE2OjI5IC0wNTAwLCBIYXJpcyBPa2Fub3ZpYyB3cm90ZToN Cj4gDQo+IE9uIDA4LzA4LzIwMTcgMDU6MzMgUE0sIFdvbGQsIFNhdWwgd3JvdGU6DQo+ID4gDQo+ ID4gT24gVHVlLCAyMDE3LTA4LTA4IGF0IDEwOjMwIC0wNTAwLCBIYXJpcyBPa2Fub3ZpYyB3cm90 ZToNCj4gPiA+IA0KPiA+ID4gU29tZSBkaXN0cm9zIG1heSB3YW50IHRvIHByb3ZpZGUgYWx0ZXJu YXRlIGtlcm5lbCAiZmxhdm9ycyIgdmlhDQo+ID4gPiBmZWVkcw0KPiA+ID4gb3INCj4gPiA+IHdp dGhpbiBib290YWJsZSBpbWFnZXMuIEZvciBleGFtcGxlLCByZWFkaWx5IGF2YWlsYWJsZSBidWls ZHMNCj4gPiA+IHdoaWNoDQo+ID4gPiBwcm92aWRlIGNlcnRhaW4gZGlhZ25vc3RpYyBmZWF0dXJl cyBjYW4gZW5hYmxlIGRldmVsb3BlcnMgYW5kDQo+ID4gPiB0ZXN0ZXJzDQo+ID4gPiB0bw0KPiA+ ID4gbW9yZSBxdWlja2x5IHJlc29sdmUgaXNzdWVzIGJ5IGF2b2lkaW5nIGxlbmd0aHkga2VybmVs IGJ1aWxkcy4NCj4gPiA+IA0KPiA+ID4gVGhpcyBjaGFuZ2UgYWxsb3dzIGZvciBidWlsZGluZyBt dWx0aXBsZSBmbGF2b3JzIG9mIHRoZSBrZXJuZWwNCj4gPiA+IGFuZA0KPiA+ID4gbW9kdWxlIHBh Y2thZ2VzIGJ5IHRlbXBsYXRpemluZyBrZXJuZWwgcGFja2FnZSBuYW1lcyB2aWEgYSBuZXcNCj4g PiA+IEtFUk5FTF9QQUNLQUdFX05BTUUgdmFyaWFibGUgaW4ga2VybmVsLmJiY2xhc3MuIEl0IGRl ZmF1bHRzIHRvDQo+ID4gPiB0aGUNCj4gPiA+IG9sZA0KPiA+ID4gbmFtZSBvZiAia2VybmVsIiwg YnV0IGNhbiBiZSBvdmVycmlkZGVuIGJ5IGNlcnRhaW4gcmVjaXBlcw0KPiA+ID4gcHJvdmlkaW5n DQo+ID4gPiBhbHRlcm5hdGUga2VybmVsIGZsYXZvcnMuDQo+ID4gPiANCj4gPiA+IFRvIG1haW50 YWluIGNvbXBhdGliaWxpdHksIHJlY2lwZXMgcHJvdmlkaW5nIGFsdGVybmF0ZSBrZXJuZWwNCj4g PiA+IGZsYXZvcnMNCj4gPiA+IGNhbm5vdCBiZSB0aGUgInByZWZlcnJlZCBwcm92aWRlciIgZm9y IHZpcnR1YWwva2VybmVsLiBUaGlzIGlzDQo+ID4gPiBiZWNhdXNlDQo+ID4gPiBPRSBwdXRzIHRo ZSBwcmVmZXJyZWQgcHJvdmlkZXIncyBidWlsZCBhbmQgc291cmNlIGF0DQo+ID4gPiAidG1wLWds aWJjL3dvcmstc2hhcmVkLyRNQUNISU5FL2tlcm5lbC1idWlsZC1hcnRpZmFjdHMvIiBhbmQNCj4g PiA+ICJ0bXAtZ2xpYmMvd29yay1zaGFyZWQvJE1BQ0hJTkUva2VybmVsLXNvdXJjZS8iIGluc3Rl YWQgb2YNCj4gPiA+ICJ0bXAtZ2xpYmMvd29yay8qLyRQTi8iIGxpa2Ugb3RoZXIgcmVjaXBlcy4g VGhlcmVmb3JlLCByZWNpcGVzDQo+ID4gPiB1c2luZw0KPiA+ID4gdGhlDQo+ID4gPiBkZWZhdWx0 IEtFUk5FTF9QQUNLQUdFX05BTUU9Imtlcm5lbCIgZm9sbG93cyB0aGUgb2xkIHNlbWFudGljcyAt LQ0KPiA+ID4gYnVpbGQNCj4gPiA+IGluIHRoZSBvbGQgbG9jYXRpb24gYW5kIG1heSBiZSBwcmVm ZXJyZWQgcHJvdmlkZXIgLS0gd2hpbGUNCj4gPiA+IHJlY2lwZXMNCj4gPiA+IHVzaW5nDQo+ID4g PiBhbGwgb3RoZXIgS0VSTkVMX1BBQ0tBR0VfTkFNRSdzIGJ1aWxkIGZyb20gdGhlIG5vcm1hbCBX T1JLRElSIGFuZA0KPiA+ID4gZG9uJ3QNCj4gPiA+IHByb3ZpZGUgInZpcnR1YWwva2VybmVsIi4N Cj4gPiA+IA0KPiA+ID4gVGVzdGluZzoNCj4gPiA+IMKgIDEuIFByZXBlbmRlZCBgS0VSTkVMX1BB Q0tBR0VfTkFNRSA9ICJ0aW55LWxpbnV4ImAgdG8NCj4gPiA+IMKgwqDCoMKgwqBsaW51eC15b2N0 by10aW55XzQuOS5iYiBzbyB0aGF0IGl0IG1heSBidWlsZCBhbG9uZ3NpZGUNCj4gPiA+IMKgwqDC oMKgwqB0aGUgbWFpbiBrZXJuZWwuDQo+ID4gPiDCoCAyLiBgYml0YmFrZSBsaW51eC15b2N0byBs aW51eC15b2N0by10aW55YCB0byBidWlsZCBib3RoIGtlcm5lbA0KPiA+ID4gZmxhdm9ycy4NCj4g PiA+IMKgIDMuIFZlcmlmaWVkIGltYWdlIGFuZCBtb2R1bGVzIElQS3MgZXhpc3QgZm9yIGJvdGg6 DQo+ID4gPiDCoMKgwqDCoMKgdG1wLWdsaWJjL2RlcGxveS9pcGsvcWVtdXg4Ni9rZXJuZWwtKiBm b3IgbGludXgteW9jdG8NCj4gPiA+IMKgwqDCoMKgwqB0bXAtZ2xpYmMvZGVwbG95L2lway9xZW11 eDg2L3RpbnktbGludXgqIGZvciBsaW51eC15b2N0by0NCj4gPiA+IHRpbnkNCj4gPiA+IMKgIDQu IFZlcmlmaWVkIGxpbnV4LXlvY3RvIGlzIHRoZSAicHJlZmVycmVkIHByb3ZpZGVyIiwgYW5kIHdh cw0KPiA+ID4gYnVpbHQNCj4gPiA+IGluDQo+ID4gPiDCoMKgwqDCoMKgc2hhcmVkIGRpcmVjdG9y eTogdG1wLWdsaWJjL3dvcmstc2hhcmVkL3FlbXV4ODYva2VybmVsLSoNCj4gPiA+IMKgIDUuIEFw cGVuZGVkIGBDT1JFX0lNQUdFX0JBU0VfSU5TVEFMTCArPSAidGlueS1saW51eCJgIHRvDQo+ID4g PiDCoMKgwqDCoMKgY29yZS1pbWFnZS1iYXNlLmJiIHRvIGluY2x1ZGUgYm90aCBrZXJuZWwgZmxh dm9ycy4NCj4gPiA+IMKgIDYuIGBiaXRiYWtlIGNvcmUtaW1hZ2UtYmFzZWAgdG8gYnVpbGQgYW4g aW1hZ2UuDQo+ID4gPiDCoCA3LiBWZXJpZmllZCBpbWFnZSBjb250YWlucyB0d28gYnpJbWFnZSdz IHVuZGVyIC9ib290Lywgd2l0aA0KPiA+ID4gwqDCoMKgwqDCoCJ5b2N0by1zdGFuZGFyZCIgc2Vs ZWN0ZWQgdG8gYm9vdCB2aWEgc3ltbGluay4NCj4gPiA+IA0KPiA+IFRoYW5rIHlvdSBmb3IgY29u dGludWluZyB0byB3b3JrIG9uIHRoaXMuwqDCoEkgZGlkIGEgc2ltcGxlIHRlc3Qgb2YNCj4gPiBi dWlsZGluZyBhIHNpbmdsZSBrZXJuZWwgYW5kIGx0dG5nLW1vZHVsZXMgd2l0aG91dCB5b3VyIGNo YW5nZSBhbmQNCj4gPiB0aGVuDQo+ID4gYWRkZWQgdGhpcyBwYXRjaCBhbmQgdHJpZWQgbHR0bmct bW9kdWxlcyB3aXRoIG5vIGFkZGl0aW9uYWwgY2hhbmdlcw0KPiA+IHRvDQo+ID4gbXkgbG9jYWwu Y29uZiwganVzdCByZWd1bGFyIHNpbmdsZSBrZXJuZWwgd29ya2Zsb3cuDQo+ID4gDQo+ID4gSSBn b3QgdGhlIGZvbGxvd2luZyBpc3N1ZToNCj4gPiANCj4gPiBFUlJPUjogbHR0bmctbW9kdWxlcy0y LjkuMy1yMCBkb19wYWNrYWdlOiBFcnJvciBleGVjdXRpbmcgYSBweXRob24NCj4gPiBmdW5jdGlv biBpbiBleGVjX3B5dGhvbl9mdW5jKCkgYXV0b2dlbmVyYXRlZDoNCj4gPiANCj4gPiBUaGUgc3Rh Y2sgdHJhY2Ugb2YgcHl0aG9uIGNhbGxzIHRoYXQgcmVzdWx0ZWQgaW4gdGhpcw0KPiA+IGV4Y2Vw dGlvbi9mYWlsdXJlDQo+ID4gd2FzOg0KPiA+IEZpbGU6ICdleGVjX3B5dGhvbl9mdW5jKCkgYXV0 b2dlbmVyYXRlZCcsIGxpbmVubzogMiwgZnVuY3Rpb246DQo+ID4gPG1vZHVsZT4NCj4gPiDCoMKg wqDCoMKgwqAwMDAxOg0KPiA+IMKgICoqKiAwMDAyOnNwbGl0X2tlcm5lbF9tb2R1bGVfcGFja2Fn ZXMoZCkNCj4gPiDCoMKgwqDCoMKgwqAwMDAzOg0KPiA+IEZpbGU6ICcvc3J2L3NkYi9yZWxlYXNl cy9tYXN0ZXIvbWV0YS9jbGFzc2VzL2tlcm5lbC1tb2R1bGUtDQo+ID4gc3BsaXQuYmJjbGFzcycs IGxpbmVubzogMTM5LCBmdW5jdGlvbjogc3BsaXRfa2VybmVsX21vZHVsZV9wYWNrYWdlcw0KPiA+ IMKgwqDCoMKgwqDCoDAxMzU6wqDCoMKgwqBtb2R1bGVfcmVnZXggPSAnXiguKilcLms/byQnDQo+ ID4gwqDCoMKgwqDCoMKgMDEzNjoNCj4gPiDCoMKgwqDCoMKgwqAwMTM3OsKgwqDCoMKgbW9kdWxl X3BhdHRlcm5fcHJlZml4ID0NCj4gPiBkLmdldFZhcignS0VSTkVMX01PRFVMRV9QQUNLQUdFX1BS RUZJWCcpDQo+ID4gwqDCoMKgwqDCoMKgMDEzODrCoMKgwqDCoG1vZHVsZV9wYXR0ZXJuX3N1ZmZp eCA9DQo+ID4gZC5nZXRWYXIoJ0tFUk5FTF9NT0RVTEVfUEFDS0FHRV9TVUZGSVgnKQ0KPiA+IMKg ICoqKiAwMTM5OsKgwqDCoMKgbW9kdWxlX3BhdHRlcm4gPSBtb2R1bGVfcGF0dGVybl9wcmVmaXgg Kw0KPiA+IGtlcm5lbF9wYWNrYWdlX25hbWUgKyAnLW1vZHVsZS0lcycgKyBtb2R1bGVfcGF0dGVy bl9zdWZmaXgNCj4gPiDCoMKgwqDCoMKgwqAwMTQwOg0KPiA+IMKgwqDCoMKgwqDCoDAxNDE6wqDC oMKgwqBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwa2dfcG9zdGluc3RfbW9kdWxlcycpDQo+ID4gwqDC oMKgwqDCoMKgMDE0MjrCoMKgwqDCoHBvc3RybSA9IGQuZ2V0VmFyKCdwa2dfcG9zdHJtX21vZHVs ZXMnKQ0KPiA+IMKgwqDCoMKgwqDCoDAxNDM6DQo+ID4gRXhjZXB0aW9uOiBUeXBlRXJyb3I6IENh bid0IGNvbnZlcnQgJ05vbmVUeXBlJyBvYmplY3QgdG8gc3RyDQo+ID4gaW1wbGljaXRseQ0KPiA+ IA0KPiA+IEVSUk9SOiBsdHRuZy1tb2R1bGVzLTIuOS4zLXIwIGRvX3BhY2thZ2U6IEZ1bmN0aW9u IGZhaWxlZDoNCj4gPiBzcGxpdF9rZXJuZWxfbW9kdWxlX3BhY2thZ2VzDQo+ID4gRVJST1I6IExv Z2ZpbGUgb2YgZmFpbHVyZSBzdG9yZWQgaW46DQo+ID4gL3Nydi9zZGIvcmVsZWFzZXMvbWFzdGVy L2J1aWxkcy9jb3JlaTcvdG1wL3dvcmsvZ2VuZXJpY3g4Nl82NC1wb2t5LQ0KPiA+IGxpbnV4L2x0 dG5nLW1vZHVsZXMvMi45LjMtcjAvdGVtcC9sb2cuZG9fcGFja2FnZS44MDExNQ0KPiA+IE5PVEU6 IHJlY2lwZSBsdHRuZy1tb2R1bGVzLTIuOS4zLXIwOiB0YXNrIGRvX3BhY2thZ2U6IEZhaWxlZA0K PiA+IA0KPiA+IEkgYmVsaWV2ZSB0aGUgcHJvYmxlbSBpcyB0aGF0IEkgdHJpZWQgdG8gYnVpbGQg bHR0bmctbW9kdWxlcw0KPiA+IHN0YW5kYWxvbmUNCj4gPiBhbmQgc28gdGhlIGtlcm5lbC5iYmNs YXNzIGRvZXMgbm90IGdldCBpbnZvbHZlZCB0byBzZXQgdGhlDQo+ID4gS0VSTkVMX1BBQ0tBR0Vf TkFNRSBkZWZhdWx0Lg0KPiA+IA0KPiANCj4gQ29ycmVjdC4gSSBtaXN0YWtlbmx5IHRob3VnaCBl dmVyeXRoaW5nIHJlbGF0aW5nIHRvIGtlcm5lbCBidWlsZHPCoA0KPiBzb3VyY2VzIGtlcm5lbC5i YmNsYXNzLg0KPiANCj4gSSBhZGRlZCBhIGRlZmF1bHQgS0VSTkVMX1BBQ0tBR0VfTkFNRSB0byBr ZXJuZWwtbW9kdWxlLQ0KPiBzcGxpdC5iYmNsYXNzLMKgDQo+IGZvciB0aGUgbW9kdWxlLW9ubHkg Y2FzZS4gSG93ZXZlciwgSSdtIG5vdCBzdXJlIGlmIHRoZXJlJ3MgYSBiZXR0ZXLCoA0KPiBwbGFj ZSBmb3IgaXQuIFRob3VnaHRzPyAoUEFUQ0ggdjYgaW5jb21pbmcpDQo+IA0KSSB0aGluayB0aGUg YmV0dGVyIGlkZWEgbWlnaHQgYmUgdG8gcHV0IGluIGEgY2hlY2sgaWYgaXQncyBub3Qgc2V0IHRo ZW4NCnVzZSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBrZXJuZWwsIHJhdGhlciB0aGFuIGFkZGluZyBh bm90aGVyIGRlZmF1bHQNCnNldHRpbmcgb2YgS0VSTkVMX1BBQ0tBR0VfTkFNRSwgc2luY2UgdGhh dCB2YXJpYWJsZSB3aWxsIGJlIHNldCBhbnl0aW1lDQptdWx0aS1rZXJuZWwgaXMgZW5hYmxlZC4N Cg0KU2F1IQ0KDQo+ID4gDQo+ID4gSSBzZWUgdGhhdCB5b3VyIHByb2NlZHVyZSBhYm92ZSB3b3Jr cyBmb3IuDQo+ID4gDQo+ID4gVGhhbmtzIGFnYWluIGZvciB5b3VyIHdvcmssIHNvcnJ5IEkgYW0g ZmluZGluZyBpbnRlcmVzdGluZyBpc3N1ZXMNCj4gPiBzdGlsbC4NCj4gPiANCj4gDQo+IE5wLiBJ J20gZ2xhZCB3ZSdyZSByZXNvbHZpbmcgYWxsIHRoZXNlIGlzc3VlcyB1cCBmcm9udCBpbnN0ZWFk IG9mwqANCj4gZGVhbGluZyB3aXRoIGEgcGlsZSBvZiBidWcgcmVwb3J0cyENCj4gDQo+ID4gDQo+ ID4gU2F1IQ0KPiA+IA0KPiA+IA0KPiA+ID4gDQo+ID4gPiBEaXNjdXNzaW9uIHRocmVhZDoNCj4g PiA+IGh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwLTNBX19s aXN0cy5vcGVuZW1iDQo+ID4gPiBlZGRlZC5vcmdfcGlwZXJtYWlsX29wZW5lbWJlZGRlZC0yRGNv cmVfMjAxNS0NCj4gPiA+IDJERGVjZW1iJmQ9RHdJR2FRJmM9SV8wWXdvS3k3ejVMTVRWZHlPNllD aUUydXpJMWpqWlp1SVBlbGNTaml4QSZyDQo+ID4gPiA9OEJ6aXV3M0lhQ0dqeXJTQXBodUd3SG1W ZEhjVnd6YS0NCj4gPiA+IHNyVVl3TDlVX01zJm09aXVDMThqdkZObXkzN0tqbWNsT1hYQWZIaVhm eGZTaTVNZnFzY1BCOWlwcyZzPUlraXljDQo+ID4gPiBmQXJiVkRsdU1hcnlRYlpMVzhzWWF2VjY1 MUFELW5IYkpZU1hFdyZlPQ0KPiA+ID4gZXIvdGhyZWFkLmh0bWwjMTE0MTIyDQo+ID4gPiANCj4g PiA+IFNpZ25lZC1vZmYtYnk6IElvYW4tQWRyaWFuIFJhdGl1IDxhZHJpYW4ucmF0aXVAbmkuY29t Pg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogR3JhdGlhbiBDcmlzYW4gPGdyYXRpYW4uY3Jpc2FuQG5p LmNvbT4NCj4gPiA+IFNpZ25lZC1vZmYtYnk6IEhhcmlzIE9rYW5vdmljIDxoYXJpcy5va2Fub3Zp Y0BuaS5jb20+DQo+ID4gPiBDb2F1dGhvcmVkLWJ5OiBHcmF0aWFuIENyaXNhbiA8Z3JhdGlhbi5j cmlzYW5AbmkuY29tPg0KPiA+ID4gQ29hdXRob3JlZC1ieTogSGFyaXMgT2thbm92aWMgPGhhcmlz Lm9rYW5vdmljQG5pLmNvbT4NCj4gPiA+IENvYXV0aG9yZWQtYnk6IEpvc2ggSGVybnN0cm9tIDxq b3NoLmhlcm5zdHJvbUBuaS5jb20+DQo+ID4gPiAtLS0NCj4gPiA+IFtQQVRDSCB2Ml0gQ2hhbmdl IFNUQUdJTkdfS0VSTkVMX0RJUiBhbmQgU1RBR0lOR19LRVJORUxfQlVJTERESVINCj4gPiA+IHRv DQo+ID4gPiB0aGUNCj4gPiA+ICJ3b3JrIiBkaXJlY3RvcnkgaW4gYWx0ZXJuYXRlIGtlcm5lbCBi dWlsZHMsIGluc3RlYWQgb2YgIndvcmstDQo+ID4gPiBzaGFyZWQiLA0KPiA+ID4gc28NCj4gPiA+ IHRoYXQgdGhlIHR3byBidWlsZHMgZG9uJ3QgY2xvYmJlciBlYWNoIG90aGVyLg0KPiA+ID4gDQo+ ID4gPiBbUEFUQ0ggdjNdIEFuIHVwZGF0ZWQgdmVyc2lvbiBvZiB0aGlzIGNoYW5nZSByZWJhc2Vk IG9udG8gdGhlDQo+ID4gPiBjdXJyZW50DQo+ID4gPiBPRS1jb3JlIG1hc3Rlci4gQ2hhbmdlczoN Cj4gPiA+IMKgIC0gUmVtb3ZlIFBSRUZFUlJFRF9QUk9WSURFUiBjaGVjayBpbiBsaW51eC15b2N0 by5pbmMgaW4NCj4gPiA+IGFsdGVybmF0ZQ0KPiA+ID4gwqDCoMKgwqBrZXJuZWwgYnVpbGRzLCBz aW5jZSBhbHRlcm5hdGUga2VybmVscyBhcmVuJ3QgdGhlDQo+ID4gPiDCoMKgwqDCoFBSRUZFUlJF RF9QUk9WSURFUiBmb3IgdmlydHVhbC9rZXJuZWwgYnkgZGVmaW5pdGlvbi4NCj4gPiA+IMKgIC0g UmVtb3ZlICJ2aXJ0dWFsL2tlcm5lbCIgZnJvbSBQUk9WSURFUyBpbiBhbHRlcm5hdGUga2VybmVs DQo+ID4gPiBidWlsZHMuDQo+ID4gPiANCj4gPiA+IFtQQVRDSCB2NF0gQW5vdGhlciByZWJhc2Ug b250byBtYXN0ZXI7IG5vIGZ1bmN0aW9uYWwgY2hhbmdlLg0KPiA+ID4gSW1wcm92ZWQgZGVzY3Jp cHRpb24gYW5kIHRlc3Rpbmcgc3RlcHMuDQo+ID4gPiANCj4gPiA+IFtQQVRDSCB2NV0NCj4gPiA+ IMKgIC0gV2FybiB3aGVuIFBOID09IEtFUk5FTF9QQUNLQUdFX05BTUUgKGJ1ZyAjIDExOTA1KQ0K PiA+ID4gwqAgLSBBZGQgS0VSTkVMX0RFUExPWVNVQkRJUiB0byBhdm9pZCBERVBMT1lESVIgY29s bGlzaW9ucw0KPiA+ID4gDQo+ID4gPiBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20v djIvdXJsP3U9aHR0cHMtM0FfX2dpdGh1Yi5jb21faA0KPiA+ID4gYXJpc29rYW5vdmljX29wZW5l bWJlZGRlZC0NCj4gPiA+IDJEY29yZV90cmVlX2Rldl9ob2thbm92aV8mZD1Ed0lHYVEmYz1JXzBZ d29LeTd6NUxNVFZkeU82WUNpRTJ1ekkxDQo+ID4gPiBqalpadUlQZWxjU2ppeEEmcj04QnppdXcz SWFDR2p5clNBcGh1R3dIbVZkSGNWd3phLQ0KPiA+ID4gc3JVWXdMOVVfTXMmbT1pdUMxOGp2Rk5t eTM3S2ptY2xPWFhBZkhpWGZ4ZlNpNU1mcXNjUEI5aXBzJnM9ZnhTX2YNCj4gPiA+IDN4RC1BVUt0 NG1QY3ZOTkEtSTFleXZzMzBfWjMwc1ZRd2RSbHFzJmU9DQo+ID4gPiBtdWx0aS1rZXJuZWwtcGFj a2FnZXMtdjUNCj4gPiA+IC0tLQ0KPiA+ID4gwqAgbWV0YS9jbGFzc2VzL2tlcm5lbC1tb2R1bGUt c3BsaXQuYmJjbGFzc8KgwqB8wqDCoMKgOSArKy0NCj4gPiA+IMKgIG1ldGEvY2xhc3Nlcy9rZXJu ZWwuYmJjbGFzc8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHwgMTE0DQo+ID4gPiArKysr KysrKysrKysrKysrKysrLQ0KPiA+ID4gLS0tLS0tLS0tLQ0KPiA+ID4gwqAgbWV0YS9jb25mL2Rv Y3VtZW50YXRpb24uY29uZsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgMSArDQo+ ID4gPiDCoCBtZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LWR0Yi5pbmPCoMKgwqB8wqDC oMKgMiArLQ0KPiA+ID4gwqAgbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5p bmMgfMKgwqDCoDIgKy0NCj4gPiA+IMKgIDUgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygr KSwgNDcgZGVsZXRpb25zKC0pDQo+ID4gPiANCj4gPiA+IGRpZmYgLS1naXQgYS9tZXRhL2NsYXNz ZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNzDQo+ID4gPiBiL21ldGEvY2xhc3Nlcy9rZXJu ZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3MNCj4gPiA+IGluZGV4IDEwMzU1MjVkYWMuLjk3MTZjNTkz N2IgMTAwNjQ0DQo+ID4gPiAtLS0gYS9tZXRhL2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5i YmNsYXNzDQo+ID4gPiArKysgYi9tZXRhL2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNs YXNzDQo+ID4gPiBAQCAtMzAsNyArMzAsNyBAQCBkb19pbnN0YWxsX2FwcGVuZCgpIHsNCj4gPiA+ IMKgwqANCj4gPiA+IMKgIFBBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAic3BsaXRfa2VybmVs X21vZHVsZV9wYWNrYWdlcyAiDQo+ID4gPiDCoMKgDQo+ID4gPiAtS0VSTkVMX01PRFVMRVNfTUVU QV9QQUNLQUdFID89ICJrZXJuZWwtbW9kdWxlcyINCj4gPiA+ICtLRVJORUxfTU9EVUxFU19NRVRB X1BBQ0tBR0UgPz0gIiR7S0VSTkVMX1BBQ0tBR0VfTkFNRX0tbW9kdWxlcyINCj4gPiA+IMKgwqAN Cj4gPiA+IMKgIEtFUk5FTF9NT0RVTEVfUEFDS0FHRV9QUkVGSVggPz0gIiINCj4gPiA+IMKgIEtF Uk5FTF9NT0RVTEVfUEFDS0FHRV9TVUZGSVggPz0gIi0ke0tFUk5FTF9WRVJTSU9OfSINCj4gPiA+ IEBAIC0xMjksMTYgKzEyOSwxOSBAQCBweXRob24gc3BsaXRfa2VybmVsX21vZHVsZV9wYWNrYWdl cyAoKSB7DQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHBvc3RmaXggPSBmb3JtYXQu c3BsaXQoJyVzJylbMV0NCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZC5zZXRWYXIo J1JQUk9WSURFU18nICsgcGtnLCBwa2cucmVwbGFjZShwb3N0Zml4LA0KPiA+ID4gJycpKQ0KPiA+ ID4gwqDCoA0KPiA+ID4gK8KgwqDCoMKga2VybmVsX3BhY2thZ2VfbmFtZSA9IGQuZ2V0VmFyKCJL RVJORUxfUEFDS0FHRV9OQU1FIiwgVHJ1ZSkNCj4gPiA+ICvCoMKgwqDCoGtlcm5lbF92ZXJzaW9u ID0gZC5nZXRWYXIoIktFUk5FTF9WRVJTSU9OIiwgVHJ1ZSkNCj4gPiA+ICsNCj4gPiA+IMKgwqDC oMKgwqDCoG1vZHVsZV9yZWdleCA9ICdeKC4qKVwuaz9vJCcNCj4gPiA+IMKgwqANCj4gPiA+IMKg wqDCoMKgwqDCoG1vZHVsZV9wYXR0ZXJuX3ByZWZpeCA9DQo+ID4gPiBkLmdldFZhcignS0VSTkVM X01PRFVMRV9QQUNLQUdFX1BSRUZJWCcpDQo+ID4gPiDCoMKgwqDCoMKgwqBtb2R1bGVfcGF0dGVy bl9zdWZmaXggPQ0KPiA+ID4gZC5nZXRWYXIoJ0tFUk5FTF9NT0RVTEVfUEFDS0FHRV9TVUZGSVgn KQ0KPiA+ID4gLcKgwqDCoMKgbW9kdWxlX3BhdHRlcm4gPSBtb2R1bGVfcGF0dGVybl9wcmVmaXgg KyAna2VybmVsLW1vZHVsZS0lcycNCj4gPiA+ICsNCj4gPiA+IG1vZHVsZV9wYXR0ZXJuX3N1ZmZp eA0KPiA+ID4gK8KgwqDCoMKgbW9kdWxlX3BhdHRlcm4gPSBtb2R1bGVfcGF0dGVybl9wcmVmaXgg KyBrZXJuZWxfcGFja2FnZV9uYW1lDQo+ID4gPiArDQo+ID4gPiAnLW1vZHVsZS0lcycgKyBtb2R1 bGVfcGF0dGVybl9zdWZmaXgNCj4gPiA+IMKgwqANCj4gPiA+IMKgwqDCoMKgwqDCoHBvc3RpbnN0 ID0gZC5nZXRWYXIoJ3BrZ19wb3N0aW5zdF9tb2R1bGVzJykNCj4gPiA+IMKgwqDCoMKgwqDCoHBv c3RybSA9IGQuZ2V0VmFyKCdwa2dfcG9zdHJtX21vZHVsZXMnKQ0KPiA+ID4gwqDCoA0KPiA+ID4g LcKgwqDCoMKgbW9kdWxlcyA9IGRvX3NwbGl0X3BhY2thZ2VzKGQsDQo+ID4gPiByb290PScke25v bmFyY2hfYmFzZV9saWJkaXJ9L21vZHVsZXMnLCBmaWxlX3JlZ2V4PW1vZHVsZV9yZWdleCwNCj4g PiA+IG91dHB1dF9wYXR0ZXJuPW1vZHVsZV9wYXR0ZXJuLCBkZXNjcmlwdGlvbj0nJXMga2VybmVs IG1vZHVsZScsDQo+ID4gPiBwb3N0aW5zdD1wb3N0aW5zdCwgcG9zdHJtPXBvc3RybSwgcmVjdXJz aXZlPVRydWUsDQo+ID4gPiBob29rPWZyb2JfbWV0YWRhdGEsDQo+ID4gPiBleHRyYV9kZXBlbmRz PSdrZXJuZWwtJXMnICUgKGQuZ2V0VmFyKCJLRVJORUxfVkVSU0lPTiIpKSkNCj4gPiA+ICvCoMKg wqDCoG1vZHVsZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLA0KPiA+ID4gcm9vdD0nJHtub25hcmNo X2Jhc2VfbGliZGlyfS9tb2R1bGVzJywgZmlsZV9yZWdleD1tb2R1bGVfcmVnZXgsDQo+ID4gPiBv dXRwdXRfcGF0dGVybj1tb2R1bGVfcGF0dGVybiwgZGVzY3JpcHRpb249JyVzIGtlcm5lbCBtb2R1 bGUnLA0KPiA+ID4gcG9zdGluc3Q9cG9zdGluc3QsIHBvc3RybT1wb3N0cm0sIHJlY3Vyc2l2ZT1U cnVlLA0KPiA+ID4gaG9vaz1mcm9iX21ldGFkYXRhLA0KPiA+ID4gZXh0cmFfZGVwZW5kcz0nJXMt JXMnICUgKGtlcm5lbF9wYWNrYWdlX25hbWUsIGtlcm5lbF92ZXJzaW9uKSkNCj4gPiA+IMKgwqDC oMKgwqDCoGlmIG1vZHVsZXM6DQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoG1ldGFwa2cgPSBk LmdldFZhcignS0VSTkVMX01PRFVMRVNfTUVUQV9QQUNLQUdFJykNCj4gPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgZC5hcHBlbmRWYXIoJ1JERVBFTkRTXycgKyBtZXRhcGtnLCAnICcrJw0KPiA+ID4g Jy5qb2luKG1vZHVsZXMpKQ0KPiA+ID4gZGlmZiAtLWdpdCBhL21ldGEvY2xhc3Nlcy9rZXJuZWwu YmJjbGFzcw0KPiA+ID4gYi9tZXRhL2NsYXNzZXMva2VybmVsLmJiY2xhc3MNCj4gPiA+IGluZGV4 IDc2NzBjNzEwN2EuLjA3NjBiZmIyYzkgMTAwNjQ0DQo+ID4gPiAtLS0gYS9tZXRhL2NsYXNzZXMv a2VybmVsLmJiY2xhc3MNCj4gPiA+ICsrKyBiL21ldGEvY2xhc3Nlcy9rZXJuZWwuYmJjbGFzcw0K PiA+ID4gQEAgLTEsNiArMSw5IEBADQo+ID4gPiDCoCBpbmhlcml0IGxpbnV4LWtlcm5lbC1iYXNl IGtlcm5lbC1tb2R1bGUtc3BsaXQNCj4gPiA+IMKgwqANCj4gPiA+IC1QUk9WSURFUyArPSAidmly dHVhbC9rZXJuZWwiDQo+ID4gPiArS0VSTkVMX1BBQ0tBR0VfTkFNRSA/Pz0gImtlcm5lbCINCj4g PiA+ICtLRVJORUxfREVQTE9ZU1VCRElSID8/PSAiJHtAICIiIGlmDQo+ID4gPiAoZC5nZXRWYXIo IktFUk5FTF9QQUNLQUdFX05BTUUiLA0KPiA+ID4gVHJ1ZSkgPT0gImtlcm5lbCIpIGVsc2UgZC5n ZXRWYXIoIktFUk5FTF9QQUNLQUdFX05BTUUiLCBUcnVlKSB9Ig0KPiA+ID4gKw0KPiA+ID4gK1BS T1ZJREVTICs9ICIke0AgInZpcnR1YWwva2VybmVsIiBpZg0KPiA+ID4gKGQuZ2V0VmFyKCJLRVJO RUxfUEFDS0FHRV9OQU1FIiwgVHJ1ZSkgPT0gImtlcm5lbCIpIGVsc2UgIiIgfSINCj4gPiA+IMKg IERFUEVORFMgKz0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzDQo+ID4gPiB2aXJ0 dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2Mga21vZC1uYXRpdmUgYmMtbmF0aXZlIGx6b3AtbmF0aXZl Ig0KPiA+ID4gwqAgUEFDS0FHRV9XUklURV9ERVBTICs9ICJkZXBtb2R3cmFwcGVyLWNyb3NzIHZp cnR1YWwvdXBkYXRlLQ0KPiA+ID4gYWx0ZXJuYXRpdmVzLW5hdGl2ZSINCj4gPiA+IMKgwqANCj4g PiA+IEBAIC0zMiwxMSArMzUsMzIgQEAgS0VSTkVMX1ZFUlNJT05fUEtHX05BTUUgPSAiJHtAbGVn aXRpbWl6ZV9wYWNrDQo+ID4gPiBhZ2VfDQo+ID4gPiBuYW1lKGQuZ2V0VmFyKCdLRVJORUxfVkVS U0lPTicpDQo+ID4gPiDCoCBLRVJORUxfVkVSU0lPTl9QS0dfTkFNRVt2YXJkZXB2YWx1ZV0gPSAi JHtMSU5VWF9WRVJTSU9OfSINCj4gPiA+IMKgwqANCj4gPiA+IMKgIHB5dGhvbiBfX2Fub255bW91 cyAoKSB7DQo+ID4gPiArwqDCoMKgwqBwbiA9IGQuZ2V0VmFyKCJQTiIsIFRydWUpDQo+ID4gPiAr wqDCoMKgwqBrcG4gPSBkLmdldFZhcigiS0VSTkVMX1BBQ0tBR0VfTkFNRSIsIFRydWUpDQo+ID4g PiArDQo+ID4gPiArwqDCoMKgwqAjIFhYWCBSZW1vdmUgdGhpcyBhZnRlciBidWcgMTE5MDUgaXMg cmVzb2x2ZWQNCj4gPiA+ICvCoMKgwqDCoCPCoMKgRklMRVNfJHtLRVJORUxfUEFDS0FHRV9OQU1F fS1kZXYgZG9lc24ndCBleHBhbmQgY29ycmVjdGx5DQo+ID4gPiArwqDCoMKgwqBpZiBrcG4gPT0g cG46DQo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoGJiLndhcm4oIlNvbWUgcGFja2FnZXMgKEUuZy4g Ki1kZXYpIG1pZ2h0IGJlIG1pc3NpbmcgZHVlDQo+ID4gPiB0bw0KPiA+ID4gIg0KPiA+ID4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgImJ1ZyAxMTkwNSAodmFyaWFibGUgS0VSTkVM X1BBQ0tBR0VfTkFNRSA9PQ0KPiA+ID4gUE4pIikNCj4gPiA+ICsNCj4gPiA+ICvCoMKgwqDCoCMg VGhlIGRlZmF1bHQga2VybmVsIHJlY2lwZSBidWlsZHMgaW4gYSBzaGFyZWQgbG9jYXRpb24NCj4g PiA+IGRlZmluZWQNCj4gPiA+IGJ5DQo+ID4gPiArwqDCoMKgwqAjIGJpdGJha2UvZGlzdHJvIGNv bmZzOiBTVEFHSU5HX0tFUk5FTF9ESVIgYW5kDQo+ID4gPiBTVEFHSU5HX0tFUk5FTF9CVUlMRERJ Ui4NCj4gPiA+ICvCoMKgwqDCoCMgU2V0IHRoZXNlIHZhcmlhYmxlcyB0byBkaXJlY3RvcmllcyB1 bmRlciAke1dPUktESVJ9IGluDQo+ID4gPiBhbHRlcm5hdGUNCj4gPiA+ICvCoMKgwqDCoCMga2Vy bmVsIHJlY2lwZXMgKEkuZS4gd2hlcmUgS0VSTkVMX1BBQ0tBR0VfTkFNRSAhPSBrZXJuZWwpDQo+ ID4gPiBzbw0KPiA+ID4gdGhhdCB0aGV5DQo+ID4gPiArwqDCoMKgwqAjIG1heSBidWlsZCBpbiBw YXJhbGxlbCB3aXRoIHRoZSBkZWZhdWx0IGtlcm5lbCB3aXRob3V0DQo+ID4gPiBjbG9iYmVyaW5n Lg0KPiA+ID4gK8KgwqDCoMKgaWYga3BuICE9ICJrZXJuZWwiOg0KPiA+ID4gK8KgwqDCoMKgwqDC oMKgwqB3b3JrZGlyID0gZC5nZXRWYXIoIldPUktESVIiLCBUcnVlKQ0KPiA+ID4gK8KgwqDCoMKg wqDCoMKgwqBzb3VyY2VEaXIgPSBvcy5wYXRoLmpvaW4od29ya2RpciwgJ2tlcm5lbC1zb3VyY2Un KQ0KPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqBhcnRpZmFjdHNEaXIgPSBvcy5wYXRoLmpvaW4od29y a2RpciwgJ2tlcm5lbC1idWlsZC0NCj4gPiA+IGFydGlmYWN0cycpDQo+ID4gPiArwqDCoMKgwqDC oMKgwqDCoGQuc2V0VmFyKCJTVEFHSU5HX0tFUk5FTF9ESVIiLCBzb3VyY2VEaXIpDQo+ID4gPiAr wqDCoMKgwqDCoMKgwqDCoGQuc2V0VmFyKCJTVEFHSU5HX0tFUk5FTF9CVUlMRERJUiIsIGFydGlm YWN0c0RpcikNCj4gPiA+IMKgwqANCj4gPiA+IMKgwqDCoMKgwqDCoCMgTWVyZ2UgS0VSTkVMX0lN QUdFVFlQRSBhbmQgS0VSTkVMX0FMVF9JTUFHRVRZUEUgaW50bw0KPiA+ID4gS0VSTkVMX0lNQUdF VFlQRVMNCj4gPiA+IMKgwqDCoMKgwqDCoHR5cGUgPSBkLmdldFZhcignS0VSTkVMX0lNQUdFVFlQ RScpIG9yICIiDQo+ID4gPiDCoMKgwqDCoMKgwqBhbHR0eXBlID0gZC5nZXRWYXIoJ0tFUk5FTF9B TFRfSU1BR0VUWVBFJykgb3IgIiINCj4gPiA+IMKgwqDCoMKgwqDCoHR5cGVzID0gZC5nZXRWYXIo J0tFUk5FTF9JTUFHRVRZUEVTJykgb3IgIiINCj4gPiA+ICvCoMKgwqDCoGtuYW1lID0gZC5nZXRW YXIoJ0tFUk5FTF9QQUNLQUdFX05BTUUnLCBUcnVlKSBvciAia2VybmVsIg0KPiA+ID4gwqDCoMKg wqDCoMKgaWYgdHlwZSBub3QgaW4gdHlwZXMuc3BsaXQoKToNCj4gPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgdHlwZXMgPSAodHlwZSArICcgJyArIHR5cGVzKS5zdHJpcCgpDQo+ID4gPiDCoMKgwqDC oMKgwqBpZiBhbHR0eXBlIG5vdCBpbiB0eXBlcy5zcGxpdCgpOg0KPiA+ID4gQEAgLTUzLDIyICs3 NywyMiBAQCBweXRob24gX19hbm9ueW1vdXMgKCkgew0KPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqB0eXBlbG93ZXIgPSB0eXBlLmxvd2VyKCkNCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgaW1h Z2VkZXN0ID0gZC5nZXRWYXIoJ0tFUk5FTF9JTUFHRURFU1QnKQ0KPiA+ID4gwqDCoA0KPiA+ID4g LcKgwqDCoMKgwqDCoMKgwqBkLmFwcGVuZFZhcignUEFDS0FHRVMnLCAnICcgKyAna2VybmVsLWlt YWdlLScgKw0KPiA+ID4gdHlwZWxvd2VyKQ0KPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqBkLmFwcGVu ZFZhcignUEFDS0FHRVMnLCAnICVzLWltYWdlLSVzJyAlIChrbmFtZSwNCj4gPiA+IHR5cGVsb3dl cikpDQo+ID4gPiDCoMKgDQo+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoGQuc2V0VmFyKCdGSUxFU19r ZXJuZWwtaW1hZ2UtJyArIHR5cGVsb3dlciwgJy8nICsNCj4gPiA+IGltYWdlZGVzdA0KPiA+ID4g KyAnLycgKyB0eXBlICsgJy0ke0tFUk5FTF9WRVJTSU9OX05BTUV9JykNCj4gPiA+ICvCoMKgwqDC oMKgwqDCoMKgZC5zZXRWYXIoJ0ZJTEVTXycgKyBrbmFtZSArICctaW1hZ2UtJyArIHR5cGVsb3dl ciwgJy8nICsNCj4gPiA+IGltYWdlZGVzdCArICcvJyArIHR5cGUgKyAnLSR7S0VSTkVMX1ZFUlNJ T05fTkFNRX0nKQ0KPiA+ID4gwqDCoA0KPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqBkLmFwcGVuZFZh cignUkRFUEVORFNfa2VybmVsLWltYWdlJywgJyAnICsgJ2tlcm5lbC0NCj4gPiA+IGltYWdlLScg Kw0KPiA+ID4gdHlwZWxvd2VyKQ0KPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqBkLmFwcGVuZFZhcign UkRFUEVORFNfJXMtaW1hZ2UnICUga25hbWUsICcgJXMtaW1hZ2UtJXMnDQo+ID4gPiAlDQo+ID4g PiAoa25hbWUsIHR5cGVsb3dlcikpDQo+ID4gPiDCoMKgDQo+ID4gPiAtwqDCoMKgwqDCoMKgwqDC oGQuc2V0VmFyKCdQS0dfa2VybmVsLWltYWdlLScgKyB0eXBlbG93ZXIsICdrZXJuZWwtaW1hZ2Ut DQo+ID4gPiAnICsNCj4gPiA+IHR5cGVsb3dlciArICctJHtLRVJORUxfVkVSU0lPTl9QS0dfTkFN RX0nKQ0KPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqBkLnNldFZhcignUEtHXyVzLWltYWdlLSVzJyAl IChrbmFtZSx0eXBlbG93ZXIpLCAnJXMtDQo+ID4gPiBpbWFnZS0NCj4gPiA+ICVzLSR7S0VSTkVM X1ZFUlNJT05fUEtHX05BTUV9JyAlIChrbmFtZSwgdHlwZWxvd2VyKSkNCj4gPiA+IMKgwqANCj4g PiA+IC3CoMKgwqDCoMKgwqDCoMKgZC5zZXRWYXIoJ0FMTE9XX0VNUFRZX2tlcm5lbC1pbWFnZS0n ICsgdHlwZWxvd2VyLCAnMScpDQo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoGQuc2V0VmFyKCdBTExP V19FTVBUWV8lcy1pbWFnZS0lcycgJSAoa25hbWUsIHR5cGVsb3dlciksDQo+ID4gPiAnMScpDQo+ ID4gPiDCoMKgDQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoHByaW9yaXR5ID0gZC5nZXRWYXIo J0tFUk5FTF9QUklPUklUWScpDQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoHBvc3RpbnN0ID0g JyMhL2Jpbi9zaFxuJyArICd1cGRhdGUtYWx0ZXJuYXRpdmVzIC0tDQo+ID4gPiBpbnN0YWxsIC8n DQo+ID4gPiArIGltYWdlZGVzdCArICcvJyArIHR5cGUgKyAnICcgKyB0eXBlICsgJyAnICsgdHlw ZSArICctDQo+ID4gPiAke0tFUk5FTF9WRVJTSU9OX05BTUV9ICcgKyBwcmlvcml0eSArICcgfHwg dHJ1ZScgKyAnXG4nDQo+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoGQuc2V0VmFyKCdwa2dfcG9zdGlu c3Rfa2VybmVsLWltYWdlLScgKyB0eXBlbG93ZXIsDQo+ID4gPiBwb3N0aW5zdCkNCj4gPiA+ICvC oMKgwqDCoMKgwqDCoMKgZC5zZXRWYXIoJ3BrZ19wb3N0aW5zdF8nICsga25hbWUgKyAnLWltYWdl LScgKw0KPiA+ID4gdHlwZWxvd2VyLA0KPiA+ID4gcG9zdGluc3QpDQo+ID4gPiDCoMKgDQo+ID4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoHBvc3RybSA9ICcjIS9iaW4vc2hcbicgKyAndXBkYXRlLWFs dGVybmF0aXZlcyAtLXJlbW92ZScgDQo+ID4gPiArICcNCj4gPiA+ICcgKyB0eXBlICsgJyAnICsg dHlwZSArICctJHtLRVJORUxfVkVSU0lPTl9OQU1FfSB8fCB0cnVlJyArICdcbicNCj4gPiA+IC3C oMKgwqDCoMKgwqDCoMKgZC5zZXRWYXIoJ3BrZ19wb3N0cm1fa2VybmVsLWltYWdlLScgKyB0eXBl bG93ZXIsIHBvc3RybSkNCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgZC5zZXRWYXIoJ3BrZ19wb3N0 cm1fJXMtaW1hZ2UtJXMnICUgKGtuYW1lLCB0eXBlbG93ZXIpLA0KPiA+ID4gcG9zdHJtKQ0KPiA+ ID4gwqDCoA0KPiA+ID4gwqDCoMKgwqDCoMKgaW1hZ2UgPSBkLmdldFZhcignSU5JVFJBTUZTX0lN QUdFJykNCj4gPiA+IMKgwqDCoMKgwqDCoGlmIGltYWdlOg0KPiA+ID4gQEAgLTEyNiw5ICsxNTAs OSBAQCBiYXNlX2RvX3VucGFja19hcHBlbmQgKCkgew0KPiA+ID4gwqDCoA0KPiA+ID4gwqAgaW5o ZXJpdCBrZXJuZWwtYXJjaCBkZXBsb3kNCj4gPiA+IMKgwqANCj4gPiA+IC1QQUNLQUdFU19EWU5B TUlDICs9ICJea2VybmVsLW1vZHVsZS0uKiINCj4gPiA+IC1QQUNLQUdFU19EWU5BTUlDICs9ICJe a2VybmVsLWltYWdlLS4qIg0KPiA+ID4gLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5rZXJuZWwtZmly bXdhcmUtLioiDQo+ID4gPiArUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7S0VSTkVMX1BBQ0tBR0Vf TkFNRX0tbW9kdWxlLS4qIg0KPiA+ID4gK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke0tFUk5FTF9Q QUNLQUdFX05BTUV9LWltYWdlLS4qIg0KPiA+ID4gK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke0tF Uk5FTF9QQUNLQUdFX05BTUV9LWZpcm13YXJlLS4qIg0KPiA+ID4gwqDCoA0KPiA+ID4gwqAgZXhw b3J0IE9TID0gIiR7VEFSR0VUX09TfSINCj4gPiA+IMKgIGV4cG9ydCBDUk9TU19DT01QSUxFID0g IiR7VEFSR0VUX1BSRUZJWH0iDQo+ID4gPiBAQCAtMzcxLDkgKzM5NSw5IEBAIGRvX3NoYXJlZF93 b3JrZGlyX3NldHNjZW5lICgpIHsNCj4gPiA+IMKgwqANCj4gPiA+IMKgIGVtaXRfZGVwbW9kX3Br Z2RhdGEoKSB7DQo+ID4gPiDCoMKgCSMgU3Rhc2ggZGF0YSBmb3IgZGVwbW9kDQo+ID4gPiAtCWlu c3RhbGwgLWQgJHtQS0dERVNUV09SS30va2VybmVsLWRlcG1vZC8NCj4gPiA+IC0JZWNobyAiJHtL RVJORUxfVkVSU0lPTn0iID4gJHtQS0dERVNUV09SS30va2VybmVsLQ0KPiA+ID4gZGVwbW9kL2tl cm5lbC1hYml2ZXJzaW9uDQo+ID4gPiAtCWNwICR7Qn0vU3lzdGVtLm1hcCAke1BLR0RFU1RXT1JL fS9rZXJuZWwtDQo+ID4gPiBkZXBtb2QvU3lzdGVtLm1hcC0NCj4gPiA+ICR7S0VSTkVMX1ZFUlNJ T059DQo+ID4gPiArCWluc3RhbGwgLWQgJHtQS0dERVNUV09SS30vJHtLRVJORUxfUEFDS0FHRV9O QU1FfS1kZXBtb2QvDQo+ID4gPiArCWVjaG8gIiR7S0VSTkVMX1ZFUlNJT059IiA+DQo+ID4gPiAk e1BLR0RFU1RXT1JLfS8ke0tFUk5FTF9QQUNLQUdFX05BTUV9LQ0KPiA+ID4gZGVwbW9kLyR7S0VS TkVMX1BBQ0tBR0VfTkFNRX0tDQo+ID4gPiBhYml2ZXJzaW9uDQo+ID4gPiArCWNwICR7Qn0vU3lz dGVtLm1hcA0KPiA+ID4gJHtQS0dERVNUV09SS30vJHtLRVJORUxfUEFDS0FHRV9OQU1FfS0NCj4g PiA+IGRlcG1vZC9TeXN0ZW0ubWFwLSR7S0VSTkVMX1ZFUlNJT059DQo+ID4gPiDCoCB9DQo+ID4g PiDCoMKgDQo+ID4gPiDCoCBQQUNLQUdFRlVOQ1MgKz0gImVtaXRfZGVwbW9kX3BrZ2RhdGEiDQo+ ID4gPiBAQCAtMzg4LDcgKzQxMiw3IEBAIGRvX3NoYXJlZF93b3JrZGlyICgpIHsNCj4gPiA+IMKg wqAJIyBTdG9yZSB0aGUga2VybmVsIHZlcnNpb24gaW4gc3lzcm9vdHMgZm9yIG1vZHVsZS0NCj4g PiA+IGJhc2UuYmJjbGFzcw0KPiA+ID4gwqDCoAkjDQo+ID4gPiDCoMKgDQo+ID4gPiAtCWVjaG8g IiR7S0VSTkVMX1ZFUlNJT059IiA+ICRrZXJuZWxkaXIva2VybmVsLWFiaXZlcnNpb24NCj4gPiA+ ICsJZWNobyAiJHtLRVJORUxfVkVSU0lPTn0iID4NCj4gPiA+ICRrZXJuZWxkaXIvJHtLRVJORUxf UEFDS0FHRV9OQU1FfS1hYml2ZXJzaW9uDQo+ID4gPiDCoMKgDQo+ID4gPiDCoMKgCSMgQ29weSBm aWxlcyByZXF1aXJlZCBmb3IgbW9kdWxlIGJ1aWxkcw0KPiA+ID4gwqDCoAljcCBTeXN0ZW0ubWFw ICRrZXJuZWxkaXIvU3lzdGVtLm1hcC0ke0tFUk5FTF9WRVJTSU9OfQ0KPiA+ID4gQEAgLTQ4Niwy OCArNTEwLDI4IEBAIEVYUE9SVF9GVU5DVElPTlMgZG9fY29tcGlsZSBkb19pbnN0YWxsDQo+ID4g PiBkb19jb25maWd1cmUNCj4gPiA+IMKgwqANCj4gPiA+IMKgICMga2VybmVsLWJhc2UgYmVjb21l cyBrZXJuZWwtJHtLRVJORUxfVkVSU0lPTn0NCj4gPiA+IMKgICMga2VybmVsLWltYWdlIGJlY29t ZXMga2VybmVsLWltYWdlLSR7S0VSTkVMX1ZFUlNJT059DQo+ID4gPiAtUEFDS0FHRVMgPSAia2Vy bmVsIGtlcm5lbC1iYXNlIGtlcm5lbC12bWxpbnV4IGtlcm5lbC1pbWFnZQ0KPiA+ID4ga2VybmVs LQ0KPiA+ID4gZGV2IGtlcm5lbC1tb2R1bGVzIg0KPiA+ID4gK1BBQ0tBR0VTID0gIiR7S0VSTkVM X1BBQ0tBR0VfTkFNRX0gJHtLRVJORUxfUEFDS0FHRV9OQU1FfS1iYXNlDQo+ID4gPiAke0tFUk5F TF9QQUNLQUdFX05BTUV9LXZtbGludXggJHtLRVJORUxfUEFDS0FHRV9OQU1FfS1pbWFnZQ0KPiA+ ID4gJHtLRVJORUxfUEFDS0FHRV9OQU1FfS1kZXYgJHtLRVJORUxfUEFDS0FHRV9OQU1FfS1tb2R1 bGVzIg0KPiA+ID4gwqAgRklMRVNfJHtQTn0gPSAiIg0KPiA+ID4gLUZJTEVTX2tlcm5lbC1iYXNl ID0NCj4gPiA+ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L21vZHVsZXMvJHtLRVJORUxfVkVSU0lP Tn0vbW9kdWxlcy5vcmRlcg0KPiA+ID4gJHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2R1bGVzLyR7 S0VSTkVMX1ZFUlNJT059L21vZHVsZXMuYnVpbHRpbiINCj4gPiA+IC1GSUxFU19rZXJuZWwtaW1h Z2UgPSAiIg0KPiA+ID4gLUZJTEVTX2tlcm5lbC1kZXYgPSAiL2Jvb3QvU3lzdGVtLm1hcCogL2Jv b3QvTW9kdWxlLnN5bXZlcnMqDQo+ID4gPiAvYm9vdC9jb25maWcqICR7S0VSTkVMX1NSQ19QQVRI fQ0KPiA+ID4gJHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059 L2J1aWxkIg0KPiA+ID4gLUZJTEVTX2tlcm5lbC12bWxpbnV4ID0gIi9ib290L3ZtbGludXgtJHtL RVJORUxfVkVSU0lPTl9OQU1FfSINCj4gPiA+IC1GSUxFU19rZXJuZWwtbW9kdWxlcyA9ICIiDQo+ ID4gPiAtUkRFUEVORFNfa2VybmVsID0gImtlcm5lbC1iYXNlIg0KPiA+ID4gK0ZJTEVTXyR7S0VS TkVMX1BBQ0tBR0VfTkFNRX0tYmFzZSA9DQo+ID4gPiAiJHtub25hcmNoX2Jhc2VfbGliZGlyfS9t b2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L21vZHVsZXMub3JkZXINCj4gPiA+ICR7bm9uYXJjaF9i YXNlX2xpYmRpcn0vbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfS9tb2R1bGVzLmJ1aWx0aW4iDQo+ ID4gPiArRklMRVNfJHtLRVJORUxfUEFDS0FHRV9OQU1FfS1pbWFnZSA9ICIiDQo+ID4gPiArRklM RVNfJHtLRVJORUxfUEFDS0FHRV9OQU1FfS1kZXYgPSAiL2Jvb3QvU3lzdGVtLm1hcCoNCj4gPiA+ IC9ib290L01vZHVsZS5zeW12ZXJzKiAvYm9vdC9jb25maWcqICR7S0VSTkVMX1NSQ19QQVRIfQ0K PiA+ID4gJHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L2J1 aWxkIg0KPiA+ID4gK0ZJTEVTXyR7S0VSTkVMX1BBQ0tBR0VfTkFNRX0tdm1saW51eCA9ICIvYm9v dC92bWxpbnV4LQ0KPiA+ID4gJHtLRVJORUxfVkVSU0lPTl9OQU1FfSINCj4gPiA+ICtGSUxFU18k e0tFUk5FTF9QQUNLQUdFX05BTUV9LW1vZHVsZXMgPSAiIg0KPiA+ID4gK1JERVBFTkRTXyR7S0VS TkVMX1BBQ0tBR0VfTkFNRX0gPSAiJHtLRVJORUxfUEFDS0FHRV9OQU1FfS1iYXNlIg0KPiA+ID4g wqAgIyBBbGxvdyBtYWNoaW5lcyB0byBvdmVycmlkZSB0aGlzIGRlcGVuZGVuY3kgaWYga2VybmVs IGltYWdlDQo+ID4gPiBmaWxlcw0KPiA+ID4gYXJlDQo+ID4gPiDCoCAjIG5vdCB3YW50ZWQgaW4g aW1hZ2VzIGFzIHN0YW5kYXJkDQo+ID4gPiAtUkRFUEVORFNfa2VybmVsLWJhc2UgPz0gImtlcm5l bC1pbWFnZSINCj4gPiA+IC1QS0dfa2VybmVsLWltYWdlID0gImtlcm5lbC1pbWFnZS0ke0BsZWdp dGltaXplX3BhY2thZ2VfbmFtZSgnJHtLDQo+ID4gPiBFUk5FDQo+ID4gPiBMX1ZFUlNJT059Jyl9 Ig0KPiA+ID4gLVJERVBFTkRTX2tlcm5lbC1pbWFnZSArPSAiJHtAYmFzZV9jb25kaXRpb25hbCgn S0VSTkVMX0lNQUdFVFlQRScNCj4gPiA+ICwNCj4gPiA+ICd2bWxpbnV4JywgJ2tlcm5lbC12bWxp bnV4JywgJycsIGQpfSINCj4gPiA+IC1QS0dfa2VybmVsLWJhc2UgPSAia2VybmVsLSR7QGxlZ2l0 aW1pemVfcGFja2FnZV9uYW1lKCcke0tFUk5FTF9WDQo+ID4gPiBFUlNJDQo+ID4gPiBPTn0nKX0i DQo+ID4gPiAtUlBST1ZJREVTX2tlcm5lbC1iYXNlICs9ICJrZXJuZWwtJHtLRVJORUxfVkVSU0lP Tn0iDQo+ID4gPiAtQUxMT1dfRU1QVFlfa2VybmVsID0gIjEiDQo+ID4gPiAtQUxMT1dfRU1QVFlf a2VybmVsLWJhc2UgPSAiMSINCj4gPiA+IC1BTExPV19FTVBUWV9rZXJuZWwtaW1hZ2UgPSAiMSIN Cj4gPiA+IC1BTExPV19FTVBUWV9rZXJuZWwtbW9kdWxlcyA9ICIxIg0KPiA+ID4gLURFU0NSSVBU SU9OX2tlcm5lbC1tb2R1bGVzID0gIktlcm5lbCBtb2R1bGVzIG1ldGEgcGFja2FnZSINCj4gPiA+ IC0NCj4gPiA+IC1wa2dfcG9zdGluc3Rfa2VybmVsLWJhc2UgKCkgew0KPiA+ID4gK1JERVBFTkRT XyR7S0VSTkVMX1BBQ0tBR0VfTkFNRX0tYmFzZSA/PSAiJHtLRVJORUxfUEFDS0FHRV9OQU1FfS0N Cj4gPiA+IGltYWdlIg0KPiA+ID4gK1BLR18ke0tFUk5FTF9QQUNLQUdFX05BTUV9LWltYWdlID0g IiR7S0VSTkVMX1BBQ0tBR0VfTkFNRX0tDQo+ID4gPiBpbWFnZS0ke0ANCj4gPiA+IGxlZ2l0aW1p emVfcGFja2FnZV9uYW1lKCcke0tFUk5FTF9WRVJTSU9OfScpfSINCj4gPiA+ICtSREVQRU5EU18k e0tFUk5FTF9QQUNLQUdFX05BTUV9LWltYWdlICs9ICIke0BiYXNlX2NvbmRpdGlvbmFsKCdLDQo+ ID4gPiBFUk5FDQo+ID4gPiBMX0lNQUdFVFlQRScsICd2bWxpbnV4JywgJyR7S0VSTkVMX1BBQ0tB R0VfTkFNRX0tdm1saW51eCcsICcnLA0KPiA+ID4gZCl9Ig0KPiA+ID4gK1BLR18ke0tFUk5FTF9Q QUNLQUdFX05BTUV9LWJhc2UgPSAiJHtLRVJORUxfUEFDS0FHRV9OQU1FfS0ke0BsZWcNCj4gPiA+ IGl0aW0NCj4gPiA+IGl6ZV9wYWNrYWdlX25hbWUoJyR7S0VSTkVMX1ZFUlNJT059Jyl9Ig0KPiA+ ID4gK1JQUk9WSURFU18ke0tFUk5FTF9QQUNLQUdFX05BTUV9LWJhc2UgKz0NCj4gPiA+ICIke0tF Uk5FTF9QQUNLQUdFX05BTUV9LQ0KPiA+ID4gJHtLRVJORUxfVkVSU0lPTn0iDQo+ID4gPiArQUxM T1dfRU1QVFlfJHtLRVJORUxfUEFDS0FHRV9OQU1FfSA9ICIxIg0KPiA+ID4gK0FMTE9XX0VNUFRZ XyR7S0VSTkVMX1BBQ0tBR0VfTkFNRX0tYmFzZSA9ICIxIg0KPiA+ID4gK0FMTE9XX0VNUFRZXyR7 S0VSTkVMX1BBQ0tBR0VfTkFNRX0taW1hZ2UgPSAiMSINCj4gPiA+ICtBTExPV19FTVBUWV8ke0tF Uk5FTF9QQUNLQUdFX05BTUV9LW1vZHVsZXMgPSAiMSINCj4gPiA+ICtERVNDUklQVElPTl8ke0tF Uk5FTF9QQUNLQUdFX05BTUV9LW1vZHVsZXMgPSAiS2VybmVsIG1vZHVsZXMNCj4gPiA+IG1ldGEN Cj4gPiA+IHBhY2thZ2UiDQo+ID4gPiArDQo+ID4gPiArcGtnX3Bvc3RpbnN0XyR7S0VSTkVMX1BB Q0tBR0VfTkFNRX0tYmFzZSAoKSB7DQo+ID4gPiDCoMKgCWlmIFsgISAtZSAiJEQvbGliL21vZHVs ZXMvJHtLRVJORUxfVkVSU0lPTn0iIF07IHRoZW4NCj4gPiA+IMKgwqAJCW1rZGlyIC1wICREL2xp Yi9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059DQo+ID4gPiDCoMKgCWZpDQo+ID4gPiBAQCAtNTIx LDcgKzU0NSw3IEBAIHBrZ19wb3N0aW5zdF9rZXJuZWwtYmFzZSAoKSB7DQo+ID4gPiDCoCBQQUNL QUdFU1BMSVRGVU5DU19wcmVwZW5kID0gInNwbGl0X2tlcm5lbF9wYWNrYWdlcyAiDQo+ID4gPiDC oMKgDQo+ID4gPiDCoCBweXRob24gc3BsaXRfa2VybmVsX3BhY2thZ2VzICgpIHsNCj4gPiA+IC3C oMKgwqDCoGRvX3NwbGl0X3BhY2thZ2VzKGQsIHJvb3Q9JyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0v ZmlybXdhcmUnLA0KPiA+ID4gZmlsZV9yZWdleD0nXiguKilcLihiaW58Znd8Y2lzfGNzcHxkc3Ap JCcsDQo+ID4gPiBvdXRwdXRfcGF0dGVybj0na2VybmVsLQ0KPiA+ID4gZmlybXdhcmUtJXMnLCBk ZXNjcmlwdGlvbj0nRmlybXdhcmUgZm9yICVzJywgcmVjdXJzaXZlPVRydWUsDQo+ID4gPiBleHRy YV9kZXBlbmRzPScnKQ0KPiA+ID4gK8KgwqDCoMKgZG9fc3BsaXRfcGFja2FnZXMoZCwgcm9vdD0n JHtub25hcmNoX2Jhc2VfbGliZGlyfS9maXJtd2FyZScsDQo+ID4gPiBmaWxlX3JlZ2V4PSdeKC4q KVwuKGJpbnxmd3xjaXN8Y3NwfGRzcCkkJywNCj4gPiA+IG91dHB1dF9wYXR0ZXJuPScke0tFUk5F TF9QQUNLQUdFX05BTUV9LWZpcm13YXJlLSVzJywNCj4gPiA+IGRlc2NyaXB0aW9uPSdGaXJtd2Fy ZSBmb3IgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJykNCj4gPiA+IMKgIH0N Cj4gPiA+IMKgwqANCj4gPiA+IMKgICMgTWFueSBzY3JpcHRzIHdhbnQgdG8gbG9vayBpbiBhcmNo LyRhcmNoL2Jvb3QgZm9yIHRoZSBib290YWJsZQ0KPiA+ID4gQEAgLTYwNCwyMSArNjI4LDI3IEBA IE1PRFVMRV9UQVJCQUxMX1NZTUxJTktfTkFNRSA/PSAibW9kdWxlcy0NCj4gPiA+ICR7TUFDSElO RX0udGd6Ig0KPiA+ID4gwqAgTU9EVUxFX1RBUkJBTExfREVQTE9ZID89ICIxIg0KPiA+ID4gwqDC oA0KPiA+ID4gwqAga2VybmVsX2RvX2RlcGxveSgpIHsNCj4gPiA+ICsJZGVwbG95RGlyPSIke0RF UExPWURJUn0iDQo+ID4gPiArCWlmIFsgLW4gIiR7S0VSTkVMX0RFUExPWVNVQkRJUn0iIF07IHRo ZW4NCj4gPiA+ICsJCWRlcGxveURpcj0iJHtERVBMT1lESVJ9LyR7S0VSTkVMX0RFUExPWVNVQkRJ Un0iDQo+ID4gPiArCQlta2RpciAiJGRlcGxveURpciINCj4gPiA+ICsJZmkNCj4gPiA+ICsNCj4g PiA+IMKgwqAJZm9yIHR5cGUgaW4gJHtLRVJORUxfSU1BR0VUWVBFU30gOyBkbw0KPiA+ID4gwqDC oAkJYmFzZV9uYW1lPSR7dHlwZX0tJHtLRVJORUxfSU1BR0VfQkFTRV9OQU1FfQ0KPiA+ID4gLQkJ aW5zdGFsbCAtbSAwNjQ0ICR7S0VSTkVMX09VVFBVVF9ESVJ9LyR7dHlwZX0NCj4gPiA+ICR7REVQ TE9ZRElSfS8ke2Jhc2VfbmFtZX0uYmluDQo+ID4gPiArCQlpbnN0YWxsIC1tIDA2NDQgJHtLRVJO RUxfT1VUUFVUX0RJUn0vJHt0eXBlfQ0KPiA+ID4gJGRlcGxveURpci8ke2Jhc2VfbmFtZX0uYmlu DQo+ID4gPiDCoMKgCWRvbmUNCj4gPiA+IMKgwqAJaWYgWyAke01PRFVMRV9UQVJCQUxMX0RFUExP WX0gPSAiMSIgXSAmJiAoZ3JlcCAtcSAtaSAtZQ0KPiA+ID4gJ15DT05GSUdfTU9EVUxFUz15JCcg LmNvbmZpZyk7IHRoZW4NCj4gPiA+IMKgwqAJCW1rZGlyIC1wICR7RH0vbGliDQo+ID4gPiAtCQl0 YXIgLWN2emYNCj4gPiA+ICR7REVQTE9ZRElSfS8ke01PRFVMRV9UQVJCQUxMX0JBU0VfTkFNRX0N Cj4gPiA+IC1DICR7RH0gbGliDQo+ID4gPiAtCQlsbiAtc2YgJHtNT0RVTEVfVEFSQkFMTF9CQVNF X05BTUV9DQo+ID4gPiAke0RFUExPWURJUn0vJHtNT0RVTEVfVEFSQkFMTF9TWU1MSU5LX05BTUV9 DQo+ID4gPiArCQl0YXIgLWN2emYgJGRlcGxveURpci8ke01PRFVMRV9UQVJCQUxMX0JBU0VfTkFN RX0NCj4gPiA+IC1DDQo+ID4gPiAke0R9IGxpYg0KPiA+ID4gKwkJbG4gLXNmICR7TU9EVUxFX1RB UkJBTExfQkFTRV9OQU1FfQ0KPiA+ID4gJGRlcGxveURpci8ke01PRFVMRV9UQVJCQUxMX1NZTUxJ TktfTkFNRX0NCj4gPiA+IMKgwqAJZmkNCj4gPiA+IMKgwqANCj4gPiA+IMKgwqAJZm9yIHR5cGUg aW4gJHtLRVJORUxfSU1BR0VUWVBFU30gOyBkbw0KPiA+ID4gwqDCoAkJYmFzZV9uYW1lPSR7dHlw ZX0tJHtLRVJORUxfSU1BR0VfQkFTRV9OQU1FfQ0KPiA+ID4gwqDCoAkJc3ltbGlua19uYW1lPSR7 dHlwZX0tDQo+ID4gPiAke0tFUk5FTF9JTUFHRV9TWU1MSU5LX05BTUV9DQo+ID4gPiAtCQlsbiAt c2YgJHtiYXNlX25hbWV9LmJpbg0KPiA+ID4gJHtERVBMT1lESVJ9LyR7c3ltbGlua19uYW1lfS5i aW4NCj4gPiA+IC0JCWxuIC1zZiAke2Jhc2VfbmFtZX0uYmluICR7REVQTE9ZRElSfS8ke3R5cGV9 DQo+ID4gPiArCQlsbiAtc2YgJHtiYXNlX25hbWV9LmJpbg0KPiA+ID4gJGRlcGxveURpci8ke3N5 bWxpbmtfbmFtZX0uYmluDQo+ID4gPiArCQlsbiAtc2YgJHtiYXNlX25hbWV9LmJpbiAkZGVwbG95 RGlyLyR7dHlwZX0NCj4gPiA+IMKgwqAJZG9uZQ0KPiA+ID4gwqDCoA0KPiA+ID4gwqDCoAljZCAk e0J9DQo+ID4gPiBAQCAtNjI4LDggKzY1OCw4IEBAIGtlcm5lbF9kb19kZXBsb3koKSB7DQo+ID4g PiDCoMKgCQkJZWNobyAiQ29weWluZyBkZXBsb3kgJHt0eXBlfSBrZXJuZWwtDQo+ID4gPiBpbml0 cmFtZnMgaW1hZ2UgYW5kIHNldHRpbmcgdXAgbGlua3MuLi4iDQo+ID4gPiDCoMKgCQkJaW5pdHJh bWZzX2Jhc2VfbmFtZT0ke3R5cGV9LQ0KPiA+ID4gJHtJTklUUkFNRlNfQkFTRV9OQU1FfQ0KPiA+ ID4gwqDCoAkJCWluaXRyYW1mc19zeW1saW5rX25hbWU9JHt0eXBlfS0NCj4gPiA+IGluaXRyYW1m cy0NCj4gPiA+ICR7TUFDSElORX0NCj4gPiA+IC0JCQlpbnN0YWxsIC1tIDA2NDQNCj4gPiA+ICR7 S0VSTkVMX09VVFBVVF9ESVJ9LyR7dHlwZX0uaW5pdHJhbWZzDQo+ID4gPiAke0RFUExPWURJUn0v JHtpbml0cmFtZnNfYmFzZV9uYW1lfS5iaW4NCj4gPiA+IC0JCQlsbiAtc2YgJHtpbml0cmFtZnNf YmFzZV9uYW1lfS5iaW4NCj4gPiA+ICR7REVQTE9ZRElSfS8ke2luaXRyYW1mc19zeW1saW5rX25h bWV9LmJpbg0KPiA+ID4gKwkJCWluc3RhbGwgLW0gMDY0NA0KPiA+ID4gJHtLRVJORUxfT1VUUFVU X0RJUn0vJHt0eXBlfS5pbml0cmFtZnMNCj4gPiA+ICRkZXBsb3lEaXIvJHtpbml0cmFtZnNfYmFz ZV9uYW1lfS5iaW4NCj4gPiA+ICsJCQlsbiAtc2YgJHtpbml0cmFtZnNfYmFzZV9uYW1lfS5iaW4N Cj4gPiA+ICRkZXBsb3lEaXIvJHtpbml0cmFtZnNfc3ltbGlua19uYW1lfS5iaW4NCj4gPiA+IMKg wqAJCWZpDQo+ID4gPiDCoMKgCWRvbmUNCj4gPiA+IMKgIH0NCj4gPiA+IGRpZmYgLS1naXQgYS9t ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mDQo+ID4gPiBiL21ldGEvY29uZi9kb2N1bWVudGF0 aW9uLmNvbmYNCj4gPiA+IGluZGV4IDM1YjkxMDNiNGEuLmUwNjFiOThkZTMgMTAwNjQ0DQo+ID4g PiAtLS0gYS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mDQo+ID4gPiArKysgYi9tZXRhL2Nv bmYvZG9jdW1lbnRhdGlvbi5jb25mDQo+ID4gPiBAQCAtMjQ4LDYgKzI0OCw3IEBAIEtFUk5FTF9J TUFHRVRZUEVbZG9jXSA9ICJUaGUgdHlwZSBvZiBrZXJuZWwNCj4gPiA+IHRvDQo+ID4gPiBidWls ZCBmb3IgYSBkZXZpY2UsIHVzdWFsbHkgc2V0IGINCj4gPiA+IMKgIEtFUk5FTF9JTUFHRVRZUEVT W2RvY10gPSAiVGhlIGxpc3Qgb2YgdHlwZXMgb2Yga2VybmVsIHRvIGJ1aWxkDQo+ID4gPiBmb3Ig YQ0KPiA+ID4gZGV2aWNlLCB1c3VhbGx5IHNldCBieSB0aGUgbWFjaGluZSBjb25maWd1cmF0aW9u IGZpbGVzIGFuZA0KPiA+ID4gZGVmYXVsdHMNCj4gPiA+IHRvIEtFUk5FTF9JTUFHRVRZUEUuIg0K PiA+ID4gwqAgS0VSTkVMX01PRFVMRV9BVVRPTE9BRFtkb2NdID0gIkxpc3RzIGtlcm5lbCBtb2R1 bGVzIHRoYXQgbmVlZA0KPiA+ID4gdG8gYmUNCj4gPiA+IGF1dG8tbG9hZGVkIGR1cmluZyBib290 Ig0KPiA+ID4gwqAgS0VSTkVMX01PRFVMRV9QUk9CRUNPTkZbZG9jXSA9ICJMaXN0cyBrZXJuZWwg bW9kdWxlcyBmb3Igd2hpY2gNCj4gPiA+IHRoZQ0KPiA+ID4gYnVpbGQgc3lzdGVtIGV4cGVjdHMg dG8gZmluZCBtb2R1bGVfY29uZl8qIHZhbHVlcyB0aGF0IHNwZWNpZnkNCj4gPiA+IGNvbmZpZ3Vy YXRpb24gZm9yIGVhY2ggb2YgdGhlIG1vZHVsZXMiDQo+ID4gPiArS0VSTkVMX1BBQ0tBR0VfTkFN RVtkb2NdID0gIk5hbWUgcHJlZml4IGZvciBrZXJuZWwgcGFja2FnZXMuDQo+ID4gPiBEZWZhdWx0 cyB0byAna2VybmVsJy4iDQo+ID4gPiDCoCBLRVJORUxfUEFUSFtkb2NdID0gIlRoZSBsb2NhdGlv biBvZiB0aGUga2VybmVsIHNvdXJjZXMuIFRoaXMNCj4gPiA+IHZhcmlhYmxlIGlzIHNldCB0byB0 aGUgdmFsdWUgb2YgdGhlIFNUQUdJTkdfS0VSTkVMX0RJUiB3aXRoaW4gdGhlDQo+ID4gPiBtb2R1 bGUgY2xhc3MgKG1vZHVsZS5iYmNsYXNzKS4iDQo+ID4gPiDCoCBLRVJORUxfU1JDW2RvY10gPSAi VGhlIGxvY2F0aW9uIG9mIHRoZSBrZXJuZWwgc291cmNlcy4gVGhpcw0KPiA+ID4gdmFyaWFibGUN Cj4gPiA+IGlzIHNldCB0byB0aGUgdmFsdWUgb2YgdGhlIFNUQUdJTkdfS0VSTkVMX0RJUiB3aXRo aW4gdGhlIG1vZHVsZQ0KPiA+ID4gY2xhc3MNCj4gPiA+IChtb2R1bGUuYmJjbGFzcykuIg0KPiA+ ID4gwqAgS0ZFQVRVUkVfREVTQ1JJUFRJT05bZG9jXSA9ICJQcm92aWRlcyBhIHNob3J0IGRlc2Ny aXB0aW9uIG9mIGENCj4gPiA+IGNvbmZpZ3VyYXRpb24gZnJhZ21lbnQuIFlvdSB1c2UgdGhpcyB2 YXJpYWJsZSBpbiB0aGUgLnNjYyBmaWxlDQo+ID4gPiB0aGF0DQo+ID4gPiBkZXNjcmliZXMgYSBj b25maWd1cmF0aW9uIGZyYWdtZW50IGZpbGUuIg0KPiA+ID4gZGlmZiAtLWdpdCBhL21ldGEvcmVj aXBlcy1rZXJuZWwvbGludXgvbGludXgtZHRiLmluYw0KPiA+ID4gYi9tZXRhL3JlY2lwZXMtDQo+ ID4gPiBrZXJuZWwvbGludXgvbGludXgtZHRiLmluYw0KPiA+ID4gaW5kZXggMDE3NGM4MGQ4NS4u ZGE2NDY3YmY5ZiAxMDA2NDQNCj4gPiA+IC0tLSBhL21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgv bGludXgtZHRiLmluYw0KPiA+ID4gKysrIGIvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51 eC1kdGIuaW5jDQo+ID4gPiBAQCAtNCw3ICs0LDcgQEAgRklMRVNfa2VybmVsLWRldmljZXRyZWUg PQ0KPiA+ID4gIi8ke0tFUk5FTF9JTUFHRURFU1R9L2RldmljZXRyZWUqIg0KPiA+ID4gwqAgUEFD S0FHRV9XUklURV9ERVBTICs9ICJ2aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2ZXMtbmF0aXZlIg0K PiA+ID4gwqDCoA0KPiA+ID4gwqAgcHl0aG9uIF9fYW5vbnltb3VzICgpIHsNCj4gPiA+IC3CoMKg wqDCoGQuYXBwZW5kVmFyKCJQQUNLQUdFUyIsICIga2VybmVsLWRldmljZXRyZWUiKQ0KPiA+ID4g K8KgwqDCoMKgZC5hcHBlbmRWYXIoIlBBQ0tBR0VTIiwgIiAke0tFUk5FTF9QQUNLQUdFX05BTUV9 LQ0KPiA+ID4gZGV2aWNldHJlZSIpDQo+ID4gPiDCoCB9DQo+ID4gPiDCoMKgDQo+ID4gPiDCoCBu b3JtYWxpemVfZHRiICgpIHsNCj4gPiA+IGRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMta2VybmVs L2xpbnV4L2xpbnV4LXlvY3RvLmluYw0KPiA+ID4gYi9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4 L2xpbnV4LXlvY3RvLmluYw0KPiA+ID4gaW5kZXggNjM3NTA2YTJhOC4uNGUwY2UwMjlkYSAxMDA2 NDQNCj4gPiA+IC0tLSBhL21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8uaW5j DQo+ID4gPiArKysgYi9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYw0K PiA+ID4gQEAgLTEyLDcgKzEyLDcgQEAgSU5DX1BSID0gInI0Ig0KPiA+ID4gwqAgIyBQUkVGRVJS RURfUFJPVklERVIgZm9yIHZpcnR1YWwva2VybmVsLiBUaGlzIGF2b2lkcyBuZXR3b3JrDQo+ID4g PiBhY2Nlc3MNCj4gPiA+IHJlcXVpcmVkDQo+ID4gPiDCoCAjIGJ5IHRoZSB1c2Ugb2YgQVVUT1JF ViBTUkNSRVZzLCB3aGljaCBhcmUgdGhlIGRlZmF1bHQgZm9yIHRoaXMNCj4gPiA+IHJlY2lwZS4N Cj4gPiA+IMKgIHB5dGhvbiAoKSB7DQo+ID4gPiAtwqDCoMKgwqBpZiBkLmdldFZhcigiUFJFRkVS UkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsIikgIT0NCj4gPiA+IGQuZ2V0VmFyKCJQTiIpOg0K PiA+ID4gK8KgwqDCoMKgaWYgZC5nZXRWYXIoIktFUk5FTF9QQUNLQUdFX05BTUUiLCBUcnVlKSA9 PSAia2VybmVsIiBhbmQNCj4gPiA+IGQuZ2V0VmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVh bC9rZXJuZWwiLCBUcnVlKSAhPQ0KPiA+ID4gZC5nZXRWYXIoIlBOIiwNCj4gPiA+IFRydWUpOg0K PiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqBkLmRlbFZhcigiQkJfRE9OVF9DQUNIRSIpDQo+ID4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoHJhaXNlIGJiLnBhcnNlLlNraXBQYWNrYWdlKCJTZXQNCj4g PiA+IFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCB0byAlcyB0byBlbmFibGUgaXQi ICUNCj4gPiA+IChkLmdldFZhcigiUE4iKSkpDQo+ID4gPiDCoCB9DQo+ID4gPiAtLcKgDQo+ID4g PiAyLjEzLjI=