From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id CCCD0C7FE for ; Wed, 29 Apr 2015 16:25:35 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP; 29 Apr 2015 07:25:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,671,1422950400"; d="scan'208";a="487201798" Received: from orsmsx102.amr.corp.intel.com ([10.22.225.129]) by FMSMGA003.fm.intel.com with ESMTP; 29 Apr 2015 07:25:34 -0700 Received: from orsmsx157.amr.corp.intel.com (10.22.240.23) by ORSMSX102.amr.corp.intel.com (10.22.225.129) with Microsoft SMTP Server (TLS) id 14.3.224.2; Wed, 29 Apr 2015 07:25:34 -0700 Received: from fmsmsx152.amr.corp.intel.com (10.18.125.5) by ORSMSX157.amr.corp.intel.com (10.22.240.23) with Microsoft SMTP Server (TLS) id 14.3.224.2; Wed, 29 Apr 2015 07:25:34 -0700 Received: from fmsmsx113.amr.corp.intel.com ([169.254.13.26]) by FMSMSX152.amr.corp.intel.com ([169.254.6.233]) with mapi id 14.03.0224.002; Wed, 29 Apr 2015 07:25:33 -0700 From: "Wiles, Keith" To: "Wiles, Keith" , "Gonzalez Monroy, Sergio" Thread-Topic: [dpdk-dev] [RFC PATCH] Simplify the ifdefs in rte.app.mk. Thread-Index: AQHQgcdPfwe8z2shQ0ildd5QAAN8QJ1jEZ2A//+zQICAAVMXAIAAEjGAgAAEgwA= Date: Wed, 29 Apr 2015 14:25:32 +0000 Message-ID: References: <1430234463-9574-1-git-send-email-keith.wiles@intel.com> <553FB46D.9030609@intel.com> <5540907E.8060401@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.252.204.210] Content-Type: text/plain; charset="utf-8" Content-ID: <77661D15EBF48840BBC9483477046D5D@intel.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [RFC PATCH] Simplify the ifdefs in rte.app.mk. X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Apr 2015 14:25:37 -0000 DQoNCk9uIDQvMjkvMTUsIDk6MDkgQU0sICJXaWxlcywgS2VpdGgiIDxrZWl0aC53aWxlc0BpbnRl bC5jb20+IHdyb3RlOg0KDQo+DQo+DQo+T24gNC8yOS8xNSwgMzowNCBBTSwgIkdvbnphbGV6IE1v bnJveSwgU2VyZ2lvIg0KPjxzZXJnaW8uZ29uemFsZXoubW9ucm95QGludGVsLmNvbT4gd3JvdGU6 DQo+DQo+Pk9uIDI4LzA0LzIwMTUgMTc6NTAsIFdpbGVzLCBLZWl0aCB3cm90ZToNCj4+PiBIaSBT ZXJnaW8NCj4+Pg0KPj4+IE9uIDQvMjgvMTUsIDExOjI1IEFNLCAiR29uemFsZXogTW9ucm95LCBT ZXJnaW8iDQo+Pj4gPHNlcmdpby5nb256YWxlei5tb25yb3lAaW50ZWwuY29tPiB3cm90ZToNCj4+ Pg0KPj4+PiBPbiAyOC8wNC8yMDE1IDE2OjIxLCBLZWl0aCBXaWxlcyB3cm90ZToNCj4+Pj4+IFRy eWluZyB0byBzaW1wbGlmeSB0aGUgaWZkZWZzIGluIHJ0ZS5hcHAubWsgdG8gbWFrZSB0aGUgY29k ZQ0KPj4+Pj4gbW9yZSByZWFkYWJsZSBhbmQgbWFpbnRhaW5hYmxlIGJ5IG1vdmluZyBMRExJQlMg dmFyaWFibGUgdG8gdXNlDQo+Pj4+PiB0aGUgc2FtZSBzdHlsZSBhcyBMRExJQlMteSBiZWluZyB1 c2VkIGluIHRoZSByZXN0IG9mIHRoZSBjb2RlLg0KPj4+Pj4NCj4+Pj4+IFNpZ25lZC1vZmYtYnk6 IEtlaXRoIFdpbGVzIDxrZWl0aC53aWxlc0BpbnRlbC5jb20+DQo+Pj4+PiAtLS0NCj4+Pj4gKzEN Cj4+Pj4NCj4+Pj4gUGF0Y2ggbG9va3MgZ29vZCwganVzdCBhIGZldyBuaXRzOg0KPj4+Pj4gICAg bWsvcnRlLmFwcC5tayAgICAgfCAyNTMNCj4+Pj4+ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+Pj4gICAgbWsvcnRlLmhvc3RhcHAubWsg fCAgIDQgKy0NCj4+Pj4+ICAgIG1rL3J0ZS5zaGFyZWQubWsgIHwgIDEyICstLQ0KPj4+Pj4gICAg MyBmaWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAxOTUgZGVsZXRpb25zKC0pDQo+Pj4+ Pg0KPj4+Pj4gZGlmZiAtLWdpdCBhL21rL3J0ZS5hcHAubWsgYi9tay9ydGUuYXBwLm1rDQo+Pj4+ PiBpbmRleCA2MmE3NmFlLi5hZjM4OTc1IDEwMDY0NA0KPj4+Pj4gLS0tIGEvbWsvcnRlLmFwcC5t aw0KPj4+Pj4gKysrIGIvbWsvcnRlLmFwcC5taw0KPj4+Pj4gQEAgLTEsNyArMSw3IEBADQo+Pj4+ PiAgICAjICAgQlNEIExJQ0VOU0UNCj4+Pj4+ICAgICMNCj4+Pj4+IC0jICAgQ29weXJpZ2h0KGMp IDIwMTAtMjAxNCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4+Pj4+ IC0jICAgQ29weXJpZ2h0KGMpIDIwMTQgNldJTkQgUy5BLg0KPj4+Pj4gKyMgICBDb3B5cmlnaHQo YykgMjAxMC0yMDE1IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPj4+ Pj4gKyMgICBDb3B5cmlnaHQoYykgMjAxNSA2V0lORCBTLkEuDQo+Pj4+PiAgICAjICAgQWxsIHJp Z2h0cyByZXNlcnZlZC4NCj4+Pj4+ICAgICMNCj4+Pj4+ICAgICMgICBSZWRpc3RyaWJ1dGlvbiBh bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yDQo+Pj4+PndpdGhvdXQN Cj4+Pj4+IEBAIC01MSw3ICs1MSw3IEBAIExEU0NSSVBUID0gJChSVEVfTERTQ1JJUFQpDQo+Pj4+ PiAgICBlbmRpZg0KPj4+Pj4gICAgDQo+Pj4+PiAgICAjIGRlZmF1bHQgcGF0aCBmb3IgbGlicw0K Pj4+Pj4gLUxETElCUyArPSAtTCQoUlRFX1NES19CSU4pL2xpYg0KPj4+Pj4gK0xETElCUy15ID0g LUwkKFJURV9TREtfQklOKS9saWINCj4+Pj4+ICAgIA0KPj4+PiBJIHRoaW5rIHdlIHNob3VsZCBr ZWVwIHRoZSBjdXJyZW50IHZhbHVlIG9mIExETElCUy4NCj4+Pj4gU29tZSBhcHBzIChpZS4gZXhh bXBsZXMvZHBka19xYXQgKSBwcmVzZXQgTERMSUJTIGJlZm9yZSBpbmNsdWRpbmcNCj4+Pj4gcnRl LmFwcC5tay4NCj4+PiBJIGp1c3QgbW9kaWZpZWQgdGhlIGV4YW1wbGUgYXBwcyB0byB1c2UgYSBu ZXcgVkFSSUFCTEUgY2FsbGVkDQo+Pj5FWFRSQV9MRExJQlMNCj4+PiBpbnN0ZWFkIGFuZCBhZGRl ZCBpdCB0b3dhcmRzIHRoZSBib3R0b20gb2YgcnRlLmFwcC5tay4gSSB0aGluayBhZGRpbmcNCj4+ PnRoZQ0KPj4+IEVYVFJBX0xETElCUyBpcyB0aGUgcmlnaHQgc29sdXRpb24gaW5zdGVhZCBvZiB1 c2luZyBMRExJQlMgSU1PLg0KPj5GYWlyIGVub3VnaCA6KQ0KPj4NCj4+SSBzdXBwb3NlIGlzIHNl bWFudGljcywgYW5kIEkgbWF5IGJlIHdyb25nIGhlcmUsIGJ1dCBteSB1bmRlcnN0YW5kaW5nDQo+ PndhcyB0aGF0IEVYVFJBX3h4eHggdmFycyB3ZXJlIHRvIGJlIHVzZWQgZnJvbSB0aGUgY29tbWFu ZCBsaW5lIHRvIHBhc3MNCj4+YWRkaXRpb25hbCBmbGFncyBhbmQvb3Igb3ZlcnJpZGUgY2VydGFp biBkZWZhdWx0IGZsYWdzLCBhbmQgdGhhdA0KPj5DRkxBR1MvTERGTEFHUy9MRExJQlMgd2VyZSB1 c2VkIGZyb20gZWFjaCBhcHAvZXhhbXBsZSBtYWtlZmlsZSB0bw0KPj5zcGVjaWZ5IHRoZWlyIG93 biBmbGFncy4NCj4+DQo+PklNTyB3ZSBjb3VsZCBhY2hpZXZlIHRoZSBjb3JyZWN0IG9yZGVyIChp ZS4gZXhhbXBsZS9hcHANCj4+Q0ZMQUdTL0xERkxBR1MvTERMSUJTIGJlaW5nIGFkZGVkIGF0IHRo ZSBlbmQgdG8gb3ZlcnJpZGUgZGVmYXVsdCBmbGFncykNCj4+d2l0aG91dCB1c2luZyBFWFRSQV94 eHh4IHZhcnMgZnJvbSBtYWtlZmlsZXMuIFJlZ2FyZGluZyB0aGlzIHBhdGNoIGl0DQo+PndvdWxk IGJlIHByZXR0eSBzaW1wbGUgYnkganVzdCBhZGRpbmcgTERMSUJTIGF0IHRoZSBlbmQgb2YgTERM SUJTLXkuDQo+DQo+RG9lcyBhbnlvbmUgZWxzZSBoYXZlIGFuIG9waW5pb24gYWJvdXQgRVhUUkFf WFhYPw0KPg0KPkkganVzdCBkaWQgbm90IHJlYWxpemUgdGhlIEVYVFJBX1hYWCB3YXMgb25seSBm b3IgY29tbWFuZCBsaW5lLCBwZXJzb25hbGx5DQo+SSB3b3VsZCBoYXZlIHByZWZlcnJlZCBrZWVw aW5nIC5tayBpbnRlcm5hbCB2YXJpYWJsZXMgaW50ZXJuYWwgYW5kIGhhdmUNCj5leHRlcm5hbCB2 YXJpYWJsZXMgdG8gYXVnbWVudCB0aGUgaW50ZXJuYWwgdmFyaWFibGVzIGluc3RlYWQgb2YgdXNp bmcgdGhlDQo+aW50ZXJuYWwgb25lcyBpbiB0aGUgTWFrZWZpbGVzLiBTb21lb25lIGNvdWxkIGFi dXNlIHRoZSBpbnRlcm5hbA0KPnZhcmlhYmxlcy4NCj4NCj5Vc2luZyB0aGUgRVhUUkFfWFhYIHdp dGggYSDFkis9xZIgc2hvdWxkIGJlIHJlYXNvbmFibGUsIGNvcnJlY3Q/DQo+DQo+TGV0IG1lIGtu b3cgd2hpY2ggd2F5IEkgbmVlZCB0byB1cGRhdGUgdGhlIHBhdGNoLg0KDQpCcnVjZSBqdXN0IHBv aW50ZWQgdG8gdGhlIGZvbGxvd2luZw0KaHR0cDovL2RwZGsub3JnL2RvYy9ndWlkZXMvcHJvZ19n dWlkZS9kZXZfa2l0X2J1aWxkX3N5c3RlbS5odG1sIHNlc3Npb24NCjI4LjMuNg0KDQpJdCBzdGF0 ZXMgdGhlIEVYVFJBX1hYWCBjYW4gYmUgdXNlZCBvbiBjb21tYW5kIGxpbmUgb3IgTWFrZWZpbGVz Lg0KDQpUaGVuIEkganVzdCBuZWVkIHRvIHNlbmQgbXkgcGF0Y2ggd2l0aCB0aGUgY29ycmVjdGVk IHZlcnNpb24gbnVtYmVyLA0KY29ycmVjdD8NCj4NCj5SZWdhcmRzLA0KPisrS2VpdGgNCj4+DQo+ PlNlcmdpbw0KPj4+Pj4gICAgIw0KPj4+Pj4gICAgIyBJbmNsdWRlIGxpYnJhcmllcyBkZXBlbmRp bmcgb24gY29uZmlnIGlmIE5PX0FVVE9MSUJTIGlzIG5vdCBzZXQNCj4+Pj4+IEBAIC01OSwyMTUg KzU5LDk0IEBAIExETElCUyArPSAtTCQoUlRFX1NES19CSU4pL2xpYg0KPj4+Pj4gICAgIw0KPj4+ Pj4gICAgaWZlcSAoJChOT19BVVRPTElCUyksKQ0KPj4+Pj4gICAgDQo+Pj4+PiAtTERMSUJTICs9 IC0td2hvbGUtYXJjaGl2ZQ0KPj4+Pj4gK0xETElCUy15ICs9IC0td2hvbGUtYXJjaGl2ZQ0KPj4+ Pj4gICAgDQo+Pj4+PiAtaWZlcSAoJChDT05GSUdfUlRFX0JVSUxEX0NPTUJJTkVfTElCUykseSkN Cj4+Pj4+IC1MRExJQlMgKz0gLWwkKFJURV9MSUJOQU1FKQ0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiAr TERMSUJTLUNPTkZJR19SVEVfQlVJTERfQ09NQklORV9MSUJTKQkJKz0gLWwkKFJURV9MSUJOQU1F KQ0KPj4+Pj4gICAgDQo+Pj4+IEkgdGhpbmsgaGVyZSBpcyBtaXNzaW5nICQoIGJlZm9yZSBDT05G SUcuDQo+Pj4gT29vcHMgOi0pDQo+Pj4+PiAgICBpZmVxICgkKENPTkZJR19SVEVfQlVJTERfQ09N QklORV9MSUJTKSxuKQ0KPj4+Pj4gICAgDQo+Pj4+PiAtaWZlcSAoJChDT05GSUdfUlRFX0xJQlJU RV9ESVNUUklCVVRPUikseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfZGlzdHJpYnV0b3INCj4+ Pj4+IC1lbmRpZg0KPj4+Pj4gLQ0KPj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVfUkVP UkRFUikseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfcmVvcmRlcg0KPj4+Pj4gLWVuZGlmDQo+ Pj4+PiAtDQo+Pj4+PiAtaWZlcSAoJChDT05GSUdfUlRFX0xJQlJURV9LTkkpLHkpDQo+Pj4+PiAt aWZlcSAoJChDT05GSUdfUlRFX0VYRUNfRU5WX0xJTlVYQVBQKSx5KQ0KPj4+Pj4gLUxETElCUyAr PSAtbHJ0ZV9rbmkNCj4+Pj4+IC1lbmRpZg0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiAtDQo+Pj4+PiAt aWZlcSAoJChDT05GSUdfUlRFX0xJQlJURV9JVlNITUVNKSx5KQ0KPj4+Pj4gLWlmZXEgKCQoQ09O RklHX1JURV9FWEVDX0VOVl9MSU5VWEFQUCkseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfaXZz aG1lbQ0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiAtZW5kaWYNCj4+Pj4+IC0NCj4+Pj4+IC1pZmVxICgk KENPTkZJR19SVEVfTElCUlRFX1BJUEVMSU5FKSx5KQ0KPj4+Pj4gLUxETElCUyArPSAtbHJ0ZV9w aXBlbGluZQ0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiAtDQo+Pj4+PiAtaWZlcSAoJChDT05GSUdfUlRF X0xJQlJURV9UQUJMRSkseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfdGFibGUNCj4+Pj4+IC1l bmRpZg0KPj4+Pj4gLQ0KPj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVfUE9SVCkseSkN Cj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfcG9ydA0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiAtDQo+Pj4+ PiAtaWZlcSAoJChDT05GSUdfUlRFX0xJQlJURV9USU1FUikseSkNCj4+Pj4+IC1MRExJQlMgKz0g LWxydGVfdGltZXINCj4+Pj4+IC1lbmRpZg0KPj4+Pj4gLQ0KPj4+Pj4gLWlmZXEgKCQoQ09ORklH X1JURV9MSUJSVEVfSEFTSCkseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfaGFzaA0KPj4+Pj4g LWVuZGlmDQo+Pj4+PiAtDQo+Pj4+PiAtaWZlcSAoJChDT05GSUdfUlRFX0xJQlJURV9KT0JTVEFU UykseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfam9ic3RhdHMNCj4+Pj4+IC1lbmRpZg0KPj4+ Pj4gLQ0KPj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVfTFBNKSx5KQ0KPj4+Pj4gLUxE TElCUyArPSAtbHJ0ZV9scG0NCj4+Pj4+IC1lbmRpZg0KPj4+Pj4gLQ0KPj4+Pj4gLWlmZXEgKCQo Q09ORklHX1JURV9MSUJSVEVfUE9XRVIpLHkpDQo+Pj4+PiAtTERMSUJTICs9IC1scnRlX3Bvd2Vy DQo+Pj4+PiAtZW5kaWYNCj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJURV9ESVNUUklC VVRPUikJCSs9IC1scnRlX2Rpc3RyaWJ1dG9yDQo+Pj4+PiArTERMSUJTLSQoQ09ORklHX1JURV9M SUJSVEVfUkVPUkRFUikJCQkrPSAtbHJ0ZV9yZW9yZGVyDQo+Pj4+PiAgICANCj4+Pj4+IC1pZmVx ICgkKENPTkZJR19SVEVfTElCUlRFX0FDTCkseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfYWNs DQo+Pj4+PiAraWZlcSAoJCggQ09ORklHX1JURV9FWEVDX0VOVl9MSU5VWEFQUCkseSkNCj4+Pj4+ ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJURV9LTkkpIAkJCSs9IC1scnRlX2tuaQ0KPj4+Pj4g K0xETElCUy0kKENPTkZJR19SVEVfTElCUlRFX0lWU0hNRU0pIAkJKz0gLWxydGVfaXZzaG1lbQ0K Pj4+Pj4gICAgZW5kaWYNCj4+Pj4+ICAgIA0KPj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJS VEVfTUVURVIpLHkpDQo+Pj4+PiAtTERMSUJTICs9IC1scnRlX21ldGVyDQo+Pj4+PiAtZW5kaWYN Cj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJURV9QSVBFTElORSkJCSs9IC1scnRlX3Bp cGVsaW5lDQo+Pj4+PiArTERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVfVEFCTEUpCQkJKz0gLWxy dGVfdGFibGUNCj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJURV9QT1JUKQkJCSs9IC1s cnRlX3BvcnQNCj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJURV9USU1FUikJCQkrPSAt bHJ0ZV90aW1lcg0KPj4+Pj4gK0xETElCUy0kKENPTkZJR19SVEVfTElCUlRFX0hBU0gpCQkJKz0g LWxydGVfaGFzaA0KPj4+Pj4gK0xETElCUy0kKENPTkZJR19SVEVfTElCUlRFX0pPQlNUQVRTKQkJ Kz0gLWxydGVfam9ic3RhdHMNCj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJURV9MUE0p CQkJCSs9IC1scnRlX2xwbQ0KPj4+Pj4gK0xETElCUy0kKENPTkZJR19SVEVfTElCUlRFX1BPV0VS KQkJCSs9IC1scnRlX3Bvd2VyDQo+Pj4+PiArTERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVfQUNM KQkJCQkrPSAtbHJ0ZV9hY2wNCj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJURV9NRVRF UikJCQkrPSAtbHJ0ZV9tZXRlcg0KPj4+Pj4gICAgDQo+Pj4+PiAtaWZlcSAoJChDT05GSUdfUlRF X0xJQlJURV9TQ0hFRCkseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfc2NoZWQNCj4+Pj4+IC1M RExJQlMgKz0gLWxtDQo+Pj4+PiAtTERMSUJTICs9IC1scnQNCj4+Pj4+IC1lbmRpZg0KPj4+Pj4g K0xETElCUy0kKENPTkZJR19SVEVfTElCUlRFX1NDSEVEKQkJCSs9IC1scnRlX3NjaGVkDQo+Pj4+ PiArTERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVfU0NIRUQpCQkJKz0gLWxtDQo+Pj4+PiArTERM SUJTLSQoQ09ORklHX1JURV9MSUJSVEVfU0NIRUQpCQkJKz0gLWxydA0KPj4+Pj4gICAgDQo+Pj4+ PiAtaWZlcSAoJChDT05GSUdfUlRFX0xJQlJURV9WSE9TVCksIHkpDQo+Pj4+PiAtTERMSUJTICs9 IC1scnRlX3Zob3N0DQo+Pj4+PiAtZW5kaWYNCj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRFX0xJ QlJURV9WSE9TVCkJCQkrPSAtbHJ0ZV92aG9zdA0KPj4+Pj4gICAgDQo+Pj4+PiAgICBlbmRpZiAj ICEgQ09ORklHX1JURV9CVUlMRF9DT01CSU5FX0xJQlMNCj4+Pj4+ICAgIA0KPj4+Pj4gLWlmZXEg KCQoQ09ORklHX1JURV9MSUJSVEVfUE1EX1BDQVApLHkpDQo+Pj4+PiAtTERMSUJTICs9IC1scGNh cA0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiArTERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVfUE1EX1BD QVApCQkrPSAtbHBjYXANCj4+Pj4+ICAgIA0KPj4+Pj4gICAgaWZlcSANCj4+Pj4+KCQoQ09ORklH X1JURV9MSUJSVEVfVkhPU1QpJChDT05GSUdfUlRFX0xJQlJURV9WSE9TVF9VU0VSKSx5bikNCj4+ Pj4+IC1MRExJQlMgKz0gLWxmdXNlDQo+Pj4+PiArTERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVf VkhPU1QpCQkJKz0gLWxmdXNlDQo+Pj4+PiAgICBlbmRpZg0KPj4+PiBXZSBjb3VsZCByZW1vdmUg JChDT05GSUdfUlRFX0xJQlJURV9WSE9TVCkgZnJvbSB0aGUgaWZlcS4NCj4+PiBPSywgZmluZSB3 aXRoIG1lLg0KPj4+Pj4gICAgDQo+Pj4+PiAtaWZlcSAoJChDT05GSUdfUlRFX0xJQlJURV9NTFg0 X1BNRCkseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxpYnZlcmJzDQo+Pj4+PiAtZW5kaWYNCj4+Pj4+ ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJURV9NTFg0X1BNRCkJCSs9IC1saWJ2ZXJicw0KPj4+ Pj4gICAgDQo+Pj4+PiAtTERMSUJTICs9IC0tc3RhcnQtZ3JvdXANCj4+Pj4+ICtMRExJQlMteSAr PSAtLXN0YXJ0LWdyb3VwDQo+Pj4+PiAgICANCj4+Pj4+ICAgIGlmZXEgKCQoQ09ORklHX1JURV9C VUlMRF9DT01CSU5FX0xJQlMpLG4pDQo+Pj4+PiAgICANCj4+Pj4+IC1pZmVxICgkKENPTkZJR19S VEVfTElCUlRFX0tWQVJHUykseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfa3ZhcmdzDQo+Pj4+ PiAtZW5kaWYNCj4+Pj4+IC0NCj4+Pj4+IC1pZmVxICgkKENPTkZJR19SVEVfTElCUlRFX01CVUYp LHkpDQo+Pj4+PiAtTERMSUJTICs9IC1scnRlX21idWYNCj4+Pj4+IC1lbmRpZg0KPj4+Pj4gLQ0K Pj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVfSVBfRlJBRykseSkNCj4+Pj4+IC1MRExJ QlMgKz0gLWxydGVfaXBfZnJhZw0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiAtDQo+Pj4+PiAtaWZlcSAo JChDT05GSUdfUlRFX0xJQlJURV9FVEhFUikseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxldGhkZXYN Cj4+Pj4+IC1lbmRpZg0KPj4+Pj4gLQ0KPj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVf TUFMTE9DKSx5KQ0KPj4+Pj4gLUxETElCUyArPSAtbHJ0ZV9tYWxsb2MNCj4+Pj4+IC1lbmRpZg0K Pj4+Pj4gLQ0KPj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVfTUVNUE9PTCkseSkNCj4+ Pj4+IC1MRExJQlMgKz0gLWxydGVfbWVtcG9vbA0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiAtDQo+Pj4+ PiAtaWZlcSAoJChDT05GSUdfUlRFX0xJQlJURV9SSU5HKSx5KQ0KPj4+Pj4gLUxETElCUyArPSAt bHJ0ZV9yaW5nDQo+Pj4+PiAtZW5kaWYNCj4+Pj4+IC0NCj4+Pj4+IC1pZmVxICgkKENPTkZJR19S VEVfTElCUlRFX0VBTCkseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfZWFsDQo+Pj4+PiAtZW5k aWYNCj4+Pj4+IC0NCj4+Pj4+IC1pZmVxICgkKENPTkZJR19SVEVfTElCUlRFX0NNRExJTkUpLHkp DQo+Pj4+PiAtTERMSUJTICs9IC1scnRlX2NtZGxpbmUNCj4+Pj4+IC1lbmRpZg0KPj4+Pj4gLQ0K Pj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVfQ0ZHRklMRSkseSkNCj4+Pj4+IC1MRExJ QlMgKz0gLWxydGVfY2ZnZmlsZQ0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiArTERMSUJTLSQoQ09ORklH X1JURV9MSUJSVEVfS1ZBUkdTKQkJCSs9IC1scnRlX2t2YXJncw0KPj4+Pj4gK0xETElCUy0kKENP TkZJR19SVEVfTElCUlRFX01CVUYpCQkJKz0gLWxydGVfbWJ1Zg0KPj4+Pj4gK0xETElCUy0kKENP TkZJR19SVEVfTElCUlRFX0lQX0ZSQUcpCQkJKz0gLWxydGVfaXBfZnJhZw0KPj4+Pj4gK0xETElC Uy0kKENPTkZJR19SVEVfTElCUlRFX0VUSEVSKQkJCSs9IC1sZXRoZGV2DQo+Pj4+PiArTERMSUJT LSQoQ09ORklHX1JURV9MSUJSVEVfTUFMTE9DKQkJCSs9IC1scnRlX21hbGxvYw0KPj4+Pj4gK0xE TElCUy0kKENPTkZJR19SVEVfTElCUlRFX01FTVBPT0wpCQkJKz0gLWxydGVfbWVtcG9vbA0KPj4+ Pj4gK0xETElCUy0kKENPTkZJR19SVEVfTElCUlRFX1JJTkcpCQkJKz0gLWxydGVfcmluZw0KPj4+ Pj4gK0xETElCUy0kKENPTkZJR19SVEVfTElCUlRFX0VBTCkJCQkJKz0gLWxydGVfZWFsDQo+Pj4+ PiArTERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVfQ01ETElORSkJCQkrPSAtbHJ0ZV9jbWRsaW5l DQo+Pj4+PiArTERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVfQ0ZHRklMRSkJCQkrPSAtbHJ0ZV9j ZmdmaWxlDQo+Pj4+PiArTERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVfUE1EX0JPTkQpCQkrPSAt bHJ0ZV9wbWRfYm9uZA0KPj4+Pj4gICAgDQo+Pj4+PiAtaWZlcSAoJChDT05GSUdfUlRFX0xJQlJU RV9QTURfQk9ORCkseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfcG1kX2JvbmQNCj4+Pj4+IC1l bmRpZg0KPj4+Pj4gK0xETElCUy0kKENPTkZJR19SVEVfTElCUlRFX1BNRF9YRU5WSVJUKQkJKz0g LWxydGVfcG1kX3hlbnZpcnQNCj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJURV9QTURf WEVOVklSVCkJCSs9IC1seGVuc3RvcmUNCj4+Pj4+ICAgIA0KPj4+Pj4gLWlmZXEgKCQoQ09ORklH X1JURV9MSUJSVEVfUE1EX1hFTlZJUlQpLHkpDQo+Pj4+PiAtTERMSUJTICs9IC1scnRlX3BtZF94 ZW52aXJ0DQo+Pj4+PiAtTERMSUJTICs9IC1seGVuc3RvcmUNCj4+Pj4+IC1lbmRpZg0KPj4+Pj4g ICAgDQo+Pj4+PiAgICBpZmVxICgkKENPTkZJR19SVEVfQlVJTERfU0hBUkVEX0xJQiksbikNCj4+ Pj4+IC0jIHBsdWdpbnMgKGxpbmsgb25seSBpZiBzdGF0aWMgbGlicmFyaWVzKQ0KPj4+Pj4gLQ0K Pj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVfVk1YTkVUM19QTUQpLHkpDQo+Pj4+PiAt TERMSUJTICs9IC1scnRlX3BtZF92bXhuZXQzX3Vpbw0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiAtDQo+ Pj4+PiAtaWZlcSAoJChDT05GSUdfUlRFX0xJQlJURV9WSVJUSU9fUE1EKSx5KQ0KPj4+Pj4gLUxE TElCUyArPSAtbHJ0ZV9wbWRfdmlydGlvDQo+Pj4+PiAtZW5kaWYNCj4+Pj4+IC0NCj4+Pj4+IC1p ZmVxICgkKENPTkZJR19SVEVfTElCUlRFX0VOSUNfUE1EKSx5KQ0KPj4+Pj4gLUxETElCUyArPSAt bHJ0ZV9wbWRfZW5pYw0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiAtDQo+Pj4+PiAtaWZlcSAoJChDT05G SUdfUlRFX0xJQlJURV9JNDBFX1BNRCkseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfcG1kX2k0 MGUNCj4+Pj4+IC1lbmRpZg0KPj4+Pj4gLQ0KPj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJS VEVfRk0xMEtfUE1EKSx5KQ0KPj4+Pj4gLUxETElCUyArPSAtbHJ0ZV9wbWRfZm0xMGsNCj4+Pj4+ IC1lbmRpZg0KPj4+Pj4gLQ0KPj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVfSVhHQkVf UE1EKSx5KQ0KPj4+Pj4gLUxETElCUyArPSAtbHJ0ZV9wbWRfaXhnYmUNCj4+Pj4+IC1lbmRpZg0K Pj4+Pj4gLQ0KPj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVfRTEwMDBfUE1EKSx5KQ0K Pj4+Pj4gLUxETElCUyArPSAtbHJ0ZV9wbWRfZTEwMDANCj4+Pj4+IC1lbmRpZg0KPj4+Pj4gLQ0K Pj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVfTUxYNF9QTUQpLHkpDQo+Pj4+PiAtTERM SUJTICs9IC1scnRlX3BtZF9tbHg0DQo+Pj4+PiAtZW5kaWYNCj4+Pj4+IC0NCj4+Pj4+IC1pZmVx ICgkKENPTkZJR19SVEVfTElCUlRFX1BNRF9SSU5HKSx5KQ0KPj4+Pj4gLUxETElCUyArPSAtbHJ0 ZV9wbWRfcmluZw0KPj4+Pj4gLWVuZGlmDQo+Pj4+PiAtDQo+Pj4+PiAtaWZlcSAoJChDT05GSUdf UlRFX0xJQlJURV9QTURfUENBUCkseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfcG1kX3BjYXAN Cj4+Pj4+IC1lbmRpZg0KPj4+Pj4gLQ0KPj4+Pj4gLWlmZXEgKCQoQ09ORklHX1JURV9MSUJSVEVf UE1EX0FGX1BBQ0tFVCkseSkNCj4+Pj4+IC1MRExJQlMgKz0gLWxydGVfcG1kX2FmX3BhY2tldA0K Pj4+Pj4gLWVuZGlmDQo+Pj4+PiAgICANCj4+Pj4+IC1pZmVxICgkKENPTkZJR19SVEVfTElCUlRF X1BNRF9OVUxMKSx5KQ0KPj4+Pj4gLUxETElCUyArPSAtbHJ0ZV9wbWRfbnVsbA0KPj4+Pj4gLWVu ZGlmDQo+Pj4+PiAtDQo+Pj4+PiAtZW5kaWYgIyBwbHVnaW5zDQo+Pj4+PiArIyBwbHVnaW5zIChs aW5rIG9ubHkgaWYgc3RhdGljIGxpYnJhcmllcykNCj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRF X0xJQlJURV9WTVhORVQzX1BNRCkJCSs9IC1scnRlX3BtZF92bXhuZXQzX3Vpbw0KPj4+Pj4gK0xE TElCUy0kKENPTkZJR19SVEVfTElCUlRFX1ZJUlRJT19QTUQpCQkrPSAtbHJ0ZV9wbWRfdmlydGlv DQo+Pj4+PiArTERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVfRU5JQ19QTUQpCQkrPSAtbHJ0ZV9w bWRfZW5pYw0KPj4+Pj4gK0xETElCUy0kKENPTkZJR19SVEVfTElCUlRFX0k0MEVfUE1EKQkJKz0g LWxydGVfcG1kX2k0MGUNCj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJURV9GTTEwS19Q TUQpCQkrPSAtbHJ0ZV9wbWRfZm0xMGsNCj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJU RV9JWEdCRV9QTUQpCQkrPSAtbHJ0ZV9wbWRfaXhnYmUNCj4+Pj4+ICtMRExJQlMtJChDT05GSUdf UlRFX0xJQlJURV9FMTAwMF9QTUQpCQkrPSAtbHJ0ZV9wbWRfZTEwMDANCj4+Pj4+ICtMRExJQlMt JChDT05GSUdfUlRFX0xJQlJURV9NTFg0X1BNRCkJCSs9IC1scnRlX3BtZF9tbHg0DQo+Pj4+PiAr TERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVfUE1EX1JJTkcpCQkrPSAtbHJ0ZV9wbWRfcmluZw0K Pj4+Pj4gK0xETElCUy0kKENPTkZJR19SVEVfTElCUlRFX1BNRF9QQ0FQKQkJKz0gLWxydGVfcG1k X3BjYXANCj4+Pj4+ICtMRExJQlMtJChDT05GSUdfUlRFX0xJQlJURV9QTURfQUZfUEFDS0VUKQkr PSAtbHJ0ZV9wbWRfYWZfcGFja2V0DQo+Pj4+PiArTERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVf UE1EX05VTEwpCQkrPSAtbHJ0ZV9wbWRfbnVsbA0KPj4+Pj4gKw0KPj4+Pj4gK2VuZGlmICMgISAk KENPTkZJR19SVEVfQlVJTERfU0hBUkVEX0xJQikNCj4+Pj4+ICAgIA0KPj4+Pj4gICAgZW5kaWYg IyAhIENPTkZJR19SVEVfQlVJTERfQ09NQklORV9MSUJTDQo+Pj4+PiAgICANCj4+Pj4+IC1MRExJ QlMgKz0gJChFWEVDRU5WX0xETElCUykNCj4+Pj4+IC0NCj4+Pj4+IC1MRExJQlMgKz0gLS1lbmQt Z3JvdXANCj4+Pj4+IC0NCj4+Pj4+IC1MRExJQlMgKz0gLS1uby13aG9sZS1hcmNoaXZlDQo+Pj4+ PiArTERMSUJTLXkgKz0gJChFWEVDRU5WX0xETElCUykNCj4+Pj4+ICtMRExJQlMteSArPSAtLWVu ZC1ncm91cA0KPj4+Pj4gK0xETElCUy15ICs9IC0tbm8td2hvbGUtYXJjaGl2ZQ0KPj4+Pj4gICAg DQo+Pj4+PiAgICBlbmRpZiAjIGlmZXEgKCQoTk9fQVVUT0xJQlMpLCkNCj4+Pj4+ICAgIA0KPj4+ Pj4gLUxETElCUyArPSAkKENQVV9MRExJQlMpDQo+Pj4+PiArTERMSUJTLXkgKz0gJChDUFVfTERM SUJTKQ0KPj4+Pj4gICAgDQo+Pj4+PiAgICAuUEhPTlk6IGFsbA0KPj4+Pj4gICAgYWxsOiBpbnN0 YWxsDQo+Pj4+PiBAQCAtMjg2LDEwICsxNjUsMTAgQEAgaWZlcSAoJChMSU5LX1VTSU5HX0NDKSwx KQ0KPj4+Pj4gICAgb3ZlcnJpZGUgRVhUUkFfTERGTEFHUyA6PSAkKGNhbGwgbGlua2VycHJlZml4 LCQoRVhUUkFfTERGTEFHUykpDQo+Pj4+PiAgICBPX1RPX0VYRSA9ICQoQ0MpICQoQ0ZMQUdTKSAk KExERkxBR1NfJChAKSkgXA0KPj4+Pj4gICAgCS1XbCwtTWFwPSQoQCkubWFwLC0tY3JlZiAtbyAk QCAkKE9CSlMteSkgJChjYWxsDQo+Pj4+PiBsaW5rZXJwcmVmaXgsJChMREZMQUdTKSkgXA0KPj4+ Pj4gLQkkKEVYVFJBX0xERkxBR1MpICQoY2FsbCBsaW5rZXJwcmVmaXgsJChMRExJQlMpKQ0KPj4+ Pj4gKwkkKEVYVFJBX0xERkxBR1MpICQoY2FsbCBsaW5rZXJwcmVmaXgsJChMRExJQlMteSkpDQo+ Pj4+PiAgICBlbHNlDQo+Pj4+PiAgICBPX1RPX0VYRSA9ICQoTEQpICQoTERGTEFHUykgJChMREZM QUdTXyQoQCkpICQoRVhUUkFfTERGTEFHUykgXA0KPj4+Pj4gLQktTWFwPSQoQCkubWFwIC0tY3Jl ZiAtbyAkQCAkKE9CSlMteSkgJChMRExJQlMpDQo+Pj4+PiArCS1NYXA9JChAKS5tYXAgLS1jcmVm IC1vICRAICQoT0JKUy15KSAkKExETElCUy15KQ0KPj4+Pj4gICAgZW5kaWYNCj4+Pj4+ICAgIE9f VE9fRVhFX1NUUiA9ICQoc3Vic3QgJywnXCcnLCQoT19UT19FWEUpKSAjJyMgZml4IHN5bnRheA0K Pj4+Pj5oaWdobGlnaHQNCj4+Pj4+ICAgIE9fVE9fRVhFX0RJU1AgPSAkKGlmICQoViksIiQoT19U T19FWEVfU1RSKSIsIiAgTEQgJChAKSIpDQo+Pj4+PiBAQCAtMzAyLDEyICsxODEsMTIgQEAgT19U T19FWEVfRE8gPSBAc2V0IC1lOyBcDQo+Pj4+PiAgICAtaW5jbHVkZSAuJChBUFApLmNtZA0KPj4+ Pj4gICAgDQo+Pj4+PiAgICAjIHBhdGggd2hlcmUgbGlicmFyaWVzIGFyZSByZXRyaWV2ZWQNCj4+ Pj4+IC1MRExJQlNfUEFUSCA6PSAkKHN1YnN0IC1XbCQoY29tbWEpLUwsLCQoZmlsdGVyDQo+Pj4+ PiAtV2wkKGNvbW1hKS1MJSwkKExETElCUykpKQ0KPj4+Pj4gLUxETElCU19QQVRIICs9ICQoc3Vi c3QgLUwsLCQoZmlsdGVyIC1MJSwkKExETElCUykpKQ0KPj4+Pj4gK0xETElCU19QQVRIIDo9ICQo c3Vic3QgLVdsJChjb21tYSktTCwsJChmaWx0ZXINCj4+Pj4+IC1XbCQoY29tbWEpLUwlLCQoTERM SUJTLXkpKSkNCj4+Pj4+ICtMRExJQlNfUEFUSCArPSAkKHN1YnN0IC1MLCwkKGZpbHRlciAtTCUs JChMRExJQlMteSkpKQ0KPj4+Pj4gICAgDQo+Pj4+PiAgICAjIGxpc3Qgb2YgLmEgZmlsZXMgdGhh dCBhcmUgbGlua2VkIHRvIHRoaXMgYXBwbGljYXRpb24NCj4+Pj4+IC1MRExJQlNfTkFNRVMgOj0g JChwYXRzdWJzdCAtbCUsbGliJS5hLCQoZmlsdGVyIC1sJSwkKExETElCUykpKQ0KPj4+Pj4gLUxE TElCU19OQU1FUyArPSAkKHBhdHN1YnN0IC1XbCQoY29tbWEpLWwlLGxpYiUuYSwkKGZpbHRlcg0K Pj4+Pj4gLVdsJChjb21tYSktbCUsJChMRExJQlMpKSkNCj4+Pj4+ICtMRExJQlNfTkFNRVMgOj0g JChwYXRzdWJzdCAtbCUsbGliJS5hLCQoZmlsdGVyIC1sJSwkKExETElCUy15KSkpDQo+Pj4+PiAr TERMSUJTX05BTUVTICs9ICQocGF0c3Vic3QgLVdsJChjb21tYSktbCUsbGliJS5hLCQoZmlsdGVy DQo+Pj4+PiAtV2wkKGNvbW1hKS1sJSwkKExETElCUy15KSkpDQo+Pj4+PiAgICANCj4+Pj4+ICAg ICMgbGlzdCBvZiBmb3VuZCBsaWJyYXJpZXMgZmlsZXMgKHVzZWZ1bCBmb3IgZGVwcykuIElmIG5v dCBmb3VuZCwNCj4+Pj4+dGhlDQo+Pj4+PiAgICAjIGxpYnJhcnkgaXMgc2lsZW50bHkgaWdub3Jl ZCBhbmQgZGVwIHdvbid0IGJlIGNoZWNrZWQNCj4+Pj4+IGRpZmYgLS1naXQgYS9tay9ydGUuaG9z dGFwcC5tayBiL21rL3J0ZS5ob3N0YXBwLm1rDQo+Pj4+PiBpbmRleCBjNDRkMGY4Li41MWU4YzFk IDEwMDY0NA0KPj4+Pj4gLS0tIGEvbWsvcnRlLmhvc3RhcHAubWsNCj4+Pj4+ICsrKyBiL21rL3J0 ZS5ob3N0YXBwLm1rDQo+Pj4+PiBAQCAtNTgsNyArNTgsNyBAQCBidWlsZDogX3Bvc3RidWlsZA0K Pj4+Pj4gICAgZXhlMmNtZCA9ICQoc3RyaXAgJChjYWxsIGRvdGZpbGUsJChwYXRzdWJzdCAlLCUu Y21kLCQoMSkpKSkNCj4+Pj4+ICAgIA0KPj4+Pj4gICAgT19UT19FWEUgPSAkKEhPU1RDQykgJChI T1NUX0xERkxBR1MpICQoTERGTEFHU18kKEApKSBcDQo+Pj4+PiAtCSQoRVhUUkFfSE9TVF9MREZM QUdTKSAtbyAkQCAkKE9CSlMteSkgJChMRExJQlMpDQo+Pj4+PiArCSQoRVhUUkFfSE9TVF9MREZM QUdTKSAtbyAkQCAkKE9CSlMteSkgJChMRExJQlMteSkNCj4+Pj4+ICAgIE9fVE9fRVhFX1NUUiA9 ICQoc3Vic3QgJywnXCcnLCQoT19UT19FWEUpKSAjJyMgZml4IHN5bnRheA0KPj4+Pj5oaWdobGln aHQNCj4+Pj4+ICAgIE9fVE9fRVhFX0RJU1AgPSAkKGlmICQoViksIiQoT19UT19FWEVfU1RSKSIs IiAgSE9TVExEICQoQCkiKQ0KPj4+Pj4gICAgT19UT19FWEVfQ01EID0gImNtZF8kQCA9ICQoT19U T19FWEVfU1RSKSINCj4+Pj4+IEBAIC03Miw3ICs3Miw3IEBAIE9fVE9fRVhFX0RPID0gQHNldCAt ZTsgXA0KPj4+Pj4gICAgIyBsaXN0IG9mIC5hIGZpbGVzIHRoYXQgYXJlIGxpbmtlZCB0byB0aGlz IGFwcGxpY2F0aW9uDQo+Pj4+PiAgICBMRExJQlNfRklMRVMgOj0gJCh3aWxkY2FyZCBcDQo+Pj4+ PiAgICAJJChhZGRwcmVmaXggJChSVEVfT1VUUFVUKS9saWIvLCBcDQo+Pj4+PiAtCSQocGF0c3Vi c3QgLWwlLGxpYiUuYSwkKGZpbHRlciAtbCUsJChMRExJQlMpKSkpKQ0KPj4+Pj4gKwkkKHBhdHN1 YnN0IC1sJSxsaWIlLmEsJChmaWx0ZXIgLWwlLCQoTERMSUJTLXkpKSkpKQ0KPj4+Pj4gICAgDQo+ Pj4+PiAgICAjDQo+Pj4+PiAgICAjIENvbXBpbGUgZXhlY3V0YWJsZSBmaWxlIGlmIG5lZWRlZA0K Pj4+Pj4gZGlmZiAtLWdpdCBhL21rL3J0ZS5zaGFyZWQubWsgYi9tay9ydGUuc2hhcmVkLm1rDQo+ Pj4+PiBpbmRleCBmYzZiMGI0Li41NmYyMGJiIDEwMDY0NA0KPj4+Pj4gLS0tIGEvbWsvcnRlLnNo YXJlZC5taw0KPj4+Pj4gKysrIGIvbWsvcnRlLnNoYXJlZC5taw0KPj4+Pj4gQEAgLTYwLDEwICs2 MCwxMCBAQCBleGUyY21kID0gJChzdHJpcCAkKGNhbGwgZG90ZmlsZSwkKHBhdHN1YnN0DQo+Pj4+ PiAlLCUuY21kLCQoMSkpKSkNCj4+Pj4+ICAgIGlmZXEgKCQoTElOS19VU0lOR19DQyksMSkNCj4+ Pj4+ICAgIG92ZXJyaWRlIEVYVFJBX0xERkxBR1MgOj0gJChjYWxsIGxpbmtlcnByZWZpeCwkKEVY VFJBX0xERkxBR1MpKQ0KPj4+Pj4gICAgT19UT19TTyA9ICQoQ0MpICQoY2FsbCBsaW5rZXJwcmVm aXgsJChMREZMQUdTKSkgJChMREZMQUdTXyQoQCkpDQo+Pj4+PiAkKEVYVFJBX0xERkxBR1MpIFwN Cj4+Pj4+IC0JLXNoYXJlZCAtbyAkQCAkKE9CSlMteSkgJChjYWxsIGxpbmtlcnByZWZpeCwkKExE TElCUykpDQo+Pj4+PiArCS1zaGFyZWQgLW8gJEAgJChPQkpTLXkpICQoY2FsbCBsaW5rZXJwcmVm aXgsJChMRExJQlMteSkpDQo+Pj4+PiAgICBlbHNlDQo+Pj4+PiAgICBPX1RPX1NPID0gJChMRCkg JChMREZMQUdTKSAkKExERkxBR1NfJChAKSkgJChFWFRSQV9MREZMQUdTKSBcDQo+Pj4+PiAtCS1z aGFyZWQgLW8gJEAgJChPQkpTLXkpICQoTERMSUJTKQ0KPj4+Pj4gKwktc2hhcmVkIC1vICRAICQo T0JKUy15KSAkKExETElCUy15KQ0KPj4+Pj4gICAgZW5kaWYNCj4+Pj4+ICAgIA0KPj4+Pj4gICAg T19UT19TT19TVFIgPSAkKHN1YnN0ICcsJ1wnJywkKE9fVE9fU08pKSAjJyMgZml4IHN5bnRheCBo aWdobGlnaHQNCj4+Pj4+IEBAIC03NywxMiArNzcsMTIgQEAgT19UT19TT19ETyA9IEBzZXQgLWU7 IFwNCj4+Pj4+ICAgIC1pbmNsdWRlIC4kKFNIQVJFRCkuY21kDQo+Pj4+PiAgICANCj4+Pj4+ICAg ICMgcGF0aCB3aGVyZSBsaWJyYXJpZXMgYXJlIHJldHJpZXZlZA0KPj4+Pj4gLUxETElCU19QQVRI IDo9ICQoc3Vic3QgLVdsJChjb21tYSktTCwsJChmaWx0ZXINCj4+Pj4+IC1XbCQoY29tbWEpLUwl LCQoTERMSUJTKSkpDQo+Pj4+PiAtTERMSUJTX1BBVEggKz0gJChzdWJzdCAtTCwsJChmaWx0ZXIg LUwlLCQoTERMSUJTKSkpDQo+Pj4+PiArTERMSUJTX1BBVEggOj0gJChzdWJzdCAtV2wkKGNvbW1h KS1MLCwkKGZpbHRlcg0KPj4+Pj4gLVdsJChjb21tYSktTCUsJChMRExJQlMteSkpKQ0KPj4+Pj4g K0xETElCU19QQVRIICs9ICQoc3Vic3QgLUwsLCQoZmlsdGVyIC1MJSwkKExETElCUy15KSkpDQo+ Pj4+PiAgICANCj4+Pj4+ICAgICMgbGlzdCBvZiAuYSBmaWxlcyB0aGF0IGFyZSBsaW5rZWQgdG8g dGhpcyBhcHBsaWNhdGlvbg0KPj4+Pj4gLUxETElCU19OQU1FUyA6PSAkKHBhdHN1YnN0IC1sJSxs aWIlLmEsJChmaWx0ZXIgLWwlLCQoTERMSUJTKSkpDQo+Pj4+PiAtTERMSUJTX05BTUVTICs9ICQo cGF0c3Vic3QgLVdsJChjb21tYSktbCUsbGliJS5hLCQoZmlsdGVyDQo+Pj4+PiAtV2wkKGNvbW1h KS1sJSwkKExETElCUykpKQ0KPj4+Pj4gK0xETElCU19OQU1FUyA6PSAkKHBhdHN1YnN0IC1sJSxs aWIlLmEsJChmaWx0ZXIgLWwlLCQoTERMSUJTLXkpKSkNCj4+Pj4+ICtMRExJQlNfTkFNRVMgKz0g JChwYXRzdWJzdCAtV2wkKGNvbW1hKS1sJSxsaWIlLmEsJChmaWx0ZXINCj4+Pj4+IC1XbCQoY29t bWEpLWwlLCQoTERMSUJTLXkpKSkNCj4+Pj4+ICAgIA0KPj4+Pj4gICAgIyBsaXN0IG9mIGZvdW5k IGxpYnJhcmllcyBmaWxlcyAodXNlZnVsIGZvciBkZXBzKS4gSWYgbm90IGZvdW5kLA0KPj4+Pj50 aGUNCj4+Pj4+ICAgICMgbGlicmFyeSBpcyBzaWxlbnRseSBpZ25vcmVkIGFuZCBkZXAgd29uJ3Qg YmUgY2hlY2tlZA0KPj4+PiBTZXJnaW8NCj4+DQo+DQoNCg==