From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: xiaoyux.lu@intel.com) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by groups.io with SMTP; Sat, 18 May 2019 00:16:59 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 May 2019 00:16:57 -0700 X-ExtLoop1: 1 Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga004.fm.intel.com with ESMTP; 18 May 2019 00:16:57 -0700 Received: from fmsmsx102.amr.corp.intel.com (10.18.124.200) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sat, 18 May 2019 00:16:57 -0700 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by FMSMSX102.amr.corp.intel.com (10.18.124.200) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sat, 18 May 2019 00:16:56 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.129]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.136]) with mapi id 14.03.0415.000; Sat, 18 May 2019 15:16:55 +0800 From: "Xiaoyu Lu" To: Laszlo Ersek , "devel@edk2.groups.io" , "Wang, Jian J" Subject: Re: [edk2-devel] [PATCH v4 6/7] CryptoPkg: Upgrade OpenSSL to 1.1.1b Thread-Topic: [edk2-devel] [PATCH v4 6/7] CryptoPkg: Upgrade OpenSSL to 1.1.1b Thread-Index: AQHVDATfEk1kymO5CEKyXnJXViRYtaZvGqZA//+scoCAAbFVMA== Date: Sat, 18 May 2019 07:16:54 +0000 Message-ID: References: <1557993298-22205-1-git-send-email-xiaoyux.lu@intel.com> <1557993298-22205-7-git-send-email-xiaoyux.lu@intel.com> <1bd39ee7-5cf4-2897-4571-812029754475@redhat.com> <4e655317-cadd-4830-795a-35125c4b6594@redhat.com> In-Reply-To: <4e655317-cadd-4830-795a-35125c4b6594@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjI2NzAwNmEtOTA3ZS00OTQwLThlMWEtZWM1NmJkMGU5MzA0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiR0ZFVzhhTnRaOFhiR1BXaVpQTFhaVkNcL0FPSDFVOUxLaUx5ejFlWXV3ekdTUjhhTkw2cjNvcndmRWlxd3hqdzgifQ== x-ctpclassification: CTP_NT x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: xiaoyux.lu@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvLA0KDQo+Pk9uIDA1LzE3LzE5IDEzOjE0LCBMdSwgWGlhb3l1WCB3cm90ZToNCj4+IExh c3psbywNCj4+IA0KPj4gSSB0aGluayAoYikgaXMgYmV0dGVyIGFuZCBoYXZlIGFscmVhZHkgZG9u ZSB0aGlzLg0KPg0KPldoYXQgZG8geW91IG1lYW4gYnkgImFscmVhZHkgZG9uZSI/IEluIHlvdXIg cGVyc29uYWwgZGV2ZWxvcG1lbnQgdHJlZSBwZXJoYXBzPw0KDQpZZXMuIGh0dHBzOi8vZ2l0aHVi LmNvbS94aWFveXV4bHUvZWRrMi90cmVlL2J6XzEwODlfdXBncmFkZV90b19vcGVuc3NsXzFfMV8x Yl92NV93aXANCg0KVGhhbmtzDQpYaWFveXUNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N CkZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXSANClNlbnQ6IEZy aWRheSwgTWF5IDE3LCAyMDE5IDk6MTYgUE0NClRvOiBMdSwgWGlhb3l1WCA8eGlhb3l1eC5sdUBp bnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2Fu Z0BpbnRlbC5jb20+DQpDYzogWWUsIFRpbmcgPHRpbmcueWVAaW50ZWwuY29tPg0KU3ViamVjdDog UmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjQgNi83XSBDcnlwdG9Qa2c6IFVwZ3JhZGUgT3BlblNT TCB0byAxLjEuMWINCg0KT24gMDUvMTcvMTkgMTM6MTQsIEx1LCBYaWFveXVYIHdyb3RlOg0KPiBM YXN6bG8sDQo+IA0KPiBJIHRoaW5rIChiKSBpcyBiZXR0ZXIgYW5kIGhhdmUgYWxyZWFkeSBkb25l IHRoaXMuDQoNCldoYXQgZG8geW91IG1lYW4gYnkgImFscmVhZHkgZG9uZSI/IEluIHlvdXIgcGVy c29uYWwgZGV2ZWxvcG1lbnQgdHJlZSBwZXJoYXBzPw0KDQo+IEFib3V0IChiLzEpOiANCj4gDQo+ IE9uZSB0aGUgb25lIGhhbmQsIHRoZSBpbXBsZW1lbnRhdGlvbiBzdGlsbCBuZWVkIGRpc2N1c3Mg bGF0ZXIuIA0KPiBPbiB0aGUgb3RoZXIgaGFuZDoNCj4gDQo+IFJlZmVyIHRvIG9wZW5zc2wvSU5T VEFMTCB0aGUgbWVhbmluZyBvZiAtLXdpdGgtcmFuZC1zZWVkPW5vbmUNCj4gICAgDQo+ICAgPiAg ICAgICAgICAgICAgICAgbm9uZTogICAgICAgRGlzYWJsZSBhdXRvbWF0aWMgc2VlZGluZy4gVGhp cyBpcyB0aGUgZGVmYXVsdA0KPiAgID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIHNv bWUgb3BlcmF0aW5nIHN5c3RlbXMgd2hlcmUgbm8gc3VpdGFibGUNCj4gICA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBlbnRyb3B5IHNvdXJjZSBleGlzdHMsIG9yIG5vIHN1cHBvcnQgZm9y IGl0IGlzDQo+ICAgPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50ZWQgeWV0 Lg0KPiANCj4gSSB0aGluayB3aGVuIC0td2l0aC1yYW5kLXNlZWQ9bm9uZSBvcHRpb24gaXMgc2V0 LCB0aGUgYmVzdCB3YXkgdG8gaW1wbGVtZW50IHJhbmRfcG9vbF9hY3F1aXJlX2VudHJvcHkgc2hv dWxkIGxpa2UgdGhpczoNCj4gDQo+PiBzaXplX3QgcmFuZF9wb29sX2FjcXVpcmVfZW50cm9weShS QU5EX1BPT0wgKnBvb2wpIHsgIHJldHVybiANCj4+IHJhbmRfcG9vbF9lbnRyb3B5X2F2YWlsYWJs ZShwb29sKTsNCj4+IH0NCj4+DQo+PiBpbnQgcmFuZF9wb29sX2FkZF9ub25jZV9kYXRhKFJBTkRf UE9PTCAqcG9vbCkgeyAgLy8gSSB0aGluayANCj4+IFBlcmZvcm1hbmNlQ291bnRlciBpcyBhbiBv cHRpb25hbCBub25jZS4NCj4+ICBVSU5UNjQgZGF0YTsNCj4+ICBkYXRhID0gR2V0UGVyZm9ybWFu Y2VDb3VudGVyKCk7DQo+PiAgDQo+PiAgcmV0dXJuIHJhbmRfcG9vbF9hZGQocG9vbCwgKHVuc2ln bmVkIGNoYXIqKSZkYXRhLCBzaXplb2YoZGF0YSksIA0KPj4gMCk7Pn0NCj4+DQo+PiBpbnQgcmFu ZF9wb29sX2FkZF9hZGRpdGlvbmFsX2RhdGEoUkFORF9QT09MICpwb29sKSB7ICByZXR1cm4gMDsg fQ0KPiANCj4gV2l0aCB0aGlzLCB3ZSBoYW5kZWQgdGhlIFJhbmRfc2VlZCB3b3JrIHRvIGNhbGxl ci4gKGNhbGxlciBtdXN0IHByb3ZpZGUgc2FmZSBzZWVkKS4NCj4gDQo+IFdoYXQgZG8geW91IHRo aW5rPw0KDQpTb3JyeSwgbm8gaWRlYS4NCg0KVGhhbmtzDQpMYXN6bG8NCg0KPiANCj4gVGhhbmtz LA0KPiBYaWFveXUNCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExh c3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiBTZW50OiBGcmlkYXksIE1h eSAxNywgMjAxOSAxMjozMiBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEx1LCBYaWFv eXVYIDx4aWFveXV4Lmx1QGludGVsLmNvbT47IFdhbmcsIA0KPiBKaWFuIEogPGppYW4uai53YW5n QGludGVsLmNvbT4NCj4gQ2M6IFllLCBUaW5nIDx0aW5nLnllQGludGVsLmNvbT4NCj4gU3ViamVj dDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjQgNi83XSBDcnlwdG9Qa2c6IFVwZ3JhZGUgT3Bl blNTTCB0byANCj4gMS4xLjFiDQo+IA0KPiBIaSBKaWFuLA0KPiANCj4gT24gMDUvMTYvMTkgMDk6 NTQsIFhpYW95dSBsdSB3cm90ZToNCj4+IFJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUu b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg5DQo+Pg0KPj4gKiBVcGRhdGUgT3BlblNTTCBzdWJtb2R1 bGUgdG8gT3BlblNTTF8xXzFfMWINCj4+ICAgIE9wZW5TU0xfMV8xXzFiKDUwZWFhYzlmMzMzNzY2 NzI1OWRlNzI1NDUxZjIwMWU3ODQ1OTk2ODcpDQo+Pg0KPj4gKiBSdW4gcHJvY2Vzc19maWxlcy5w bCBzY3JpcHQgdG8gcmVnZW5lcmF0ZSBPcGVuc3NsTGliW0NyeXB0b10uaW5mDQo+PiAgIGFuZCBv cGVuc3NsY29uZi5oDQo+Pg0KPj4gKiBSZW1vdmUgLUROT19TWVNMT0cgZnJvbSBPUEVOU1NMX0ZM QUdTIGluIE9wZW5zc2xMaWJbQ3J5cHRvXS5pbmYsDQo+PiAgIGR1ZSB0byB1cHN0cmVhbSBPcGVu U1NMIGNvbW1pdCBjZmY1NWI5MGU5NWUoIkNsZWFuaW5nIFVFRkkNCj4+ICAgQnVpbGQgd2l0aCBh ZGRpdGlvbmFsIE9QRU5TU0xfU1lTX1VFRkkgZmxhZ3MiLCAyMDE3LTAzLTI5KSwNCj4+ICAgd2hp Y2ggd2FzIGZpcnN0IHJlbGVhc2VkIGFzIHBhcnQgb2YgT3BlblNTTF8xXzFfMS4NCj4+DQo+PiAq IFN0YXJ0aW5nIHdpdGggT3BlblNTTCBjb21taXQgOGE4ZDllMTkwNShmaXJzdCByZWxlYXNlIGlu DQo+PiAgIE9wZW5TU0xfMV8xXzEpLCB0aGUgT3BlblNTTF92ZXJzaW9uKCkgZnVuY3Rpb24gY2Fu IG5vIGxvbmdlcg0KPj4gICByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBzdHJpbmcgbGl0ZXJhbCAi Y29tcGlsZXI6IGluZm9ybWF0aW9uDQo+PiAgIG5vdCBhdmFpbGFibGUiLCBpbiB0aGUgY2FzZSBD RkxBR1MgbWFjcm8gaXMgbm90IGRlZmluZWQuDQo+PiAgIEluc3RlYWQsIHRoZSBmdW5jdGlvbiBu b3cgaGFzIGEgaGFyZCBkZXBlbmRlbmN5IG9uIHRoZSBnbG9iYWwNCj4+ICAgdmFyaWFibGUgJ2Nv bXBpbGVyX2ZsYWdzJy4gVGhpcyB2YXJpYWJsZSBpcyBub3JtYWxseSBwbGFjZWQNCj4+ICAgYnkg InV0aWwvbWtidWlsZGluZi5wbCIgaW50byAiYnVpbGRpbmYuaCIuIEluIGVkazIgd2UgZG9uJ3QN Cj4+ICAgcnVuIHRoYXQgc2NyaXB0IHdoZW5ldmVyIHdlIGJ1aWxkIE9wZW5TU0wsIHRoZXJlZm9y ZSB3ZQ0KPj4gICBtdXN0IHByb3ZpZGUgb3VyIG93biBkdW1teSAnY29tcGlsZXJfZmxhZ3MnLg0K Pj4NCj4+ICogRnJvbSBPcGVuU1NMXzFfMV8waSg5N2MwOTU5ZjI3YjI5NGZlMWViMTBiNTQ3MTQ1 ZWJlZjI1MjRiODk2KSB0bw0KPj4gICBPcGVuU1NMXzFfMV8xYig1MGVhYWM5ZjMzMzc2NjcyNTlk ZTcyNTQ1MWYyMDFlNzg0NTk5Njg3KSwgT3BlblNTTA0KPj4gICB1cGRhdGVkIERSQkcgLyBSQU5E IHRvIHJlcXVlc3Qgbm9uY2UgYW5kIGFkZGl0aW9uYWwgbG93IGVudHJvcHkNCj4+ICAgcmFuZG9t bmVzcyBmcm9tIHN5c3RlbShsaW5lIDIyOSBvcGVuc3NsL0NIQU5HRVMpLg0KPj4NCj4+ICAgU2lu Y2UgT3BlblNTTF8xXzFfMWIgZG9lc24ndCBmdWxseSBpbXBsZW1lbnQgcmFuZCBwb29sIGZ1bmN0 aW9ucw0KPj4gICBmb3IgVUVGSS4gV2UgbXVzdCBwcm92aWRlIGEgbWV0aG9kIHRvIGltcGxlbmV0 IHRoZXNlIG1ldGhvZC4NCj4+ICAgVFNDIGlzIHVzZWQgYXMgZmlyc3QgZW50cm9weSBzb3VyY2Ug aWYgaXQncyBhdmFpbGFiZSBvdGhlcndpc2UNCj4+ICAgZmFsbGJhY2sgdG8gVGltZXJMaWIuIEJ1 dCB3ZSBhcmUgbm90IHN1cmUgdGhlIGFtb3VudCBvZiByYW5kb21uZXNzDQo+PiAgIHRoZXkgcHJv dmlkZS4gSWYgeW91IHJlYWxseSBjYXJlIGFib3V0IHRoZSBzZWN1cml0eSwgb25lIGNob2ljZSBp cw0KPj4gICBvdmVycmlkZWQgaXQgd2l0aCBoYXJkd2FyZSBnZW5lcmF0b3IuDQo+Pg0KPj4gICBB ZGQgcmFuZF9wb29sLmMgdG8gaW1wbGVtZW50IHRoZXNlIGZ1bmN0aW9ucyByZXF1aXJlZCBieSBP cGVuU1NMDQo+PiAgICAgcmFuZF9wb29sX2FjcXVpcmVfZW50cm9weQ0KPj4gICAgIHJhbmRfcG9v bF9hZGRfbm9uY2VfZGF0YQ0KPj4gICAgIHJhbmRfcG9vbF9hZGRfYWRkaXRpb25hbF9kYXRhDQo+ PiAgICAgcmFuZF9wb29sX2luaXQNCj4+ICAgICByYW5kX3Bvb2xfY2xlYW51cA0KPj4gICAgIHJh bmRfcG9vbF9rZWVwX3JhbmRvbV9kZXZpY2VzX29wZW4NCj4+DQo+PiAgIEFuZCBhZGQgcmFuZF9w b29sX25vaXNlLiogZm9yIGdldHRpbmcgZW50cm9weSBub2lzZSBmcm9tIGRpZmZlcmVudA0KPj4g ICBhcmNoaXRlY3R1cmUuDQo+Pg0KPj4gKiBXZSBkb24ndCBuZWVkIG9zc2xfc3RvcmUgZnVuY3Rp b25zLiBXZSBleGNsdWRlIHJlbGF0aXZlIGZpbGVzDQo+PiAgIHRocm91Z2ggcHJvY2Vzc19maWxl cy5wbC4gQW5kIG9zc2xfc3RvcmVfY2xlYW51cF9pbnQgd2FzIGZpcnN0DQo+PiAgIGFkZGVkIGlu IGNyeXB0by9pbml0LmMgT3BlblNTTF8xXzFfMSg3MWE1NTE2ZCkuDQo+PiAgIFNvIGFkZCBhIG5l dyBmaWxlKG9zc2xfc3RvcmUuYykgdG8gaW1wbGVtZW50IG9zc2xfc3RvcmVfY2xlYW51cF9pbnQN Cj4+ICAgZnVuY3Rpb24uDQo+Pg0KPj4gKiBCVUZTSVogaXMgdXNlZCBieSBjcnlwdG8vZXZwL2V2 cF9rZXkuYyhPcGVuU1NMXzFfMV8xYikNCj4+ICAgQW5kIGl0IGlzIGRlY2xhcmVkIGluIHN0ZGlv LmguIFNvIGFkZCBpdCB0byBDcnRMaWJTdXBwb3J0LmguDQo+PiAgIEhlcmUncyBhIGRpc2N1c3Np b24gYWJvdXQgdGhpcy4NCj4+ICAgUmVmOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVu c3NsL2lzc3Vlcy84OTA0DQo+Pg0KPj4gQ2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+DQo+PiBDYzogVGluZyBZZSA8dGluZy55ZUBpbnRlbC5jb20+DQo+PiBTaWduZWQtb2Zm LWJ5OiBYaWFveXUgTHUgPHhpYW95dXgubHVAaW50ZWwuY29tPg0KPj4gLS0tDQo+PiAgQ3J5cHRv UGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLmluZiAgICAgICAgfCAgNjAgKysrLQ0K Pj4gIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkNyeXB0by5pbmYgIHwg IDUxICsrKy0NCj4+ICBDcnlwdG9Qa2cvTGlicmFyeS9JbmNsdWRlL0NydExpYlN1cHBvcnQuaCAg ICAgICAgICB8ICAxMyArLQ0KPj4gIENyeXB0b1BrZy9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9v cGVuc3NsY29uZi5oICAgIHwgIDU0ICsrKy0NCj4+ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3Ns TGliL2J1aWxkaW5mLmggICAgICAgICAgICB8ICAgMiArDQo+PiAgQ3J5cHRvUGtnL0xpYnJhcnkv T3BlbnNzbExpYi9yYW5kX3Bvb2xfbm9pc2UuaCAgICAgfCAgMjkgKysNCj4+ICBDcnlwdG9Qa2cv TGlicmFyeS9PcGVuc3NsTGliL29zc2xfc3RvcmUuYyAgICAgICAgICB8ICAxNyArKw0KPj4gIENy eXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFuZF9wb29sLmMgICAgICAgICAgIHwgMzE2ICsr KysrKysrKysrKysrKysrKysrKw0KPj4gIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFu ZF9wb29sX25vaXNlLmMgICAgIHwgIDI5ICsrDQo+PiAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNz bExpYi9yYW5kX3Bvb2xfbm9pc2VfdHNjLmMgfCAgNDMgKysrDQo+PiAgQ3J5cHRvUGtnL0xpYnJh cnkvT3BlbnNzbExpYi9vcGVuc3NsICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4+ICAxMSBmaWxl cyBjaGFuZ2VkLCA1ODQgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pICBjcmVhdGUgbW9k ZQ0KPj4gMTAwNjQ0IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFuZF9wb29sX25vaXNl LmgNCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9v c3NsX3N0b3JlLmMNCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL0xpYnJhcnkvT3Bl bnNzbExpYi9yYW5kX3Bvb2wuYw0KPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBDcnlwdG9Qa2cvTGli cmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbF9ub2lzZS5jDQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IA0KPj4gQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9yYW5kX3Bvb2xfbm9pc2VfdHNjLmMN Cj4gDQo+IEZvciB0aGlzIHBhdGNoLCBJIGNhbiBvZmZlciB0d28ga2luZHMgb2YgcmV2aWV3czoN Cj4gDQo+IC0tLSotLS0NCj4gDQo+IChhKSBJZiB5b3UgcHJlZmVyIHRvIHB1c2ggdGhpcyBwYXRj aCBpbiB0aGUgcHJlc2VudCBmb3JtICh0aGF0IGlzLCBleGFjdGx5IGFzIHBvc3RlZCksIHRoZW4g SSB3aWxsIG5vdCBnaXZlIGFueSBvZmZpY2lhbCBmZWVkYmFjayB0YWdzLCBkdWUgdG8gdGhlIGNy eXB0byBjb250ZW50cy4gSSB3aWxsIG5vdCBibG9jayB0aGUgcGF0Y2ggZWl0aGVyLCBzbyBpZiB5 b3UgYW5kIFRpbmcgYXJlIGZpbmUgd2l0aCB0aGUgcGF0Y2gsIGl0J3MgT0sgZm9yIHlvdSB0byBw dXNoIGl0LCBmcm9tIG15IHNpZGUuDQo+IA0KPiAtLS0qLS0tDQo+IA0KPiAoYikgQWx0ZXJuYXRp dmVseSwgeW91IGNvdWxkIHNwbGl0IHRoZSBwYXRjaCBpbiB0d28gaGFsdmVzLCBhcyBmb2xsb3dz Og0KPiANCj4gKGIvMSkgSW4gdGhlIGZpcnN0IGhhbGYsIGNvbGxlY3QgYWxsIHRoZSBodW5rcyBm b3IgdGhlIGZvbGxvd2luZyBmaWxlczoNCj4gDQo+IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xM aWIvb3NzbF9zdG9yZS5jDQo+IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFuZF9wb29s LmMNCj4gQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9yYW5kX3Bvb2xfbm9pc2UuYw0KPiBD cnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbF9ub2lzZS5oDQo+IENyeXB0b1Br Zy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFuZF9wb29sX25vaXNlX3RzYy5jDQo+IA0KPiBwbHVzIGlu Y2x1ZGUgdGhlIGNvbW1pdCBtZXNzYWdlIHBhcmFncmFwaHMgYWJvdXQgInJhbmRfcG9vbC5jIiBh bmQgIm9zc2xfc3RvcmUuYyIuDQo+IA0KPiBGb3IgdGhpcyBoYWxmIChiLzEpLCBJIHdpbGwgbm90 IGdpdmUgYW55IGZlZWRiYWNrLg0KPiANCj4gDQo+IChiLzIpIEluIHRoZSBzZWNvbmQgaGFsZiwg Y29sbGVjdCB0aGUgcmVzdCBvZiB0aGUgY2hhbmdlcywgdGhhdCBpcywgDQo+IHRoZSBodW5rcyBm b3IgdGhlIGZvbGxvd2luZyBmaWxlcyAvIHN1Ym1vZHVsZXMsIGFuZCB0aGUgcmVzdCBvZiB0aGUg DQo+IGNvbW1pdA0KPiBtZXNzYWdlOg0KPiANCj4gQ3J5cHRvUGtnL0xpYnJhcnkvSW5jbHVkZS9D cnRMaWJTdXBwb3J0LmgNCj4gQ3J5cHRvUGtnL0xpYnJhcnkvSW5jbHVkZS9vcGVuc3NsL29wZW5z c2xjb25mLmgNCj4gQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLmluZg0K PiBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJDcnlwdG8uaW5mDQo+IENy eXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvYnVpbGRpbmYuaA0KPiBDcnlwdG9Qa2cvTGlicmFy eS9PcGVuc3NsTGliL29wZW5zc2wNCj4gDQo+IEZvciB0aGUgKGIvMikgaGFsZiAqT05MWSosIHlv dSBjYW4gYWRkOg0KPiANCj4gUmV2aWV3ZWQtYnk6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhh dC5jb20+DQo+IA0KPiAtLS0qLS0tDQo+IA0KPiBJdCdzIHVwIHRvIHlvdSB3aGV0aGVyIHlvdSBw aWNrIChhKSBvciAoYikuDQo+IA0KPiBOb3JtYWxseSBJIHdvdWxkIHJlcXVlc3QgYSB2NSBzZXJp ZXMgZm9yIGltcGxlbWVudGluZyAoYiksIGJ1dCB3ZSdyZSANCj4gb3V0IG9mIHRpbWUuIElmIHRo ZSBjb21tdW5pdHkgdGhpbmtzIHRoYXQgc3BsaXR0aW5nIHVwIHRoaXMgcGF0Y2ggaW50byANCj4g aGFsdmVzIChiLzEpIGFuZCAoYi8yKSBpcyB0b28gaW50cnVzaXZlIGZvciBhIG1haW50YWluZXIg dG8gZG8gd2l0aG91dCANCj4gcHJvcGVyIHJldmlldywgdGhlbiBJIHN1Z2dlc3QgZ29pbmcgd2l0 aCAoYSkgLS0gYW5kIHRoZW4gSSdsbCBwcm92aWRlIA0KPiBubyBmZWVkYmFjayB0YWdzLiAoQnV0 LCBJIHdpbGwgYWxzbyBub3QgYmxvY2sgdGhlIHBhdGNoLCBzZWUgYWJvdmUuKQ0KPiANCj4gLi4u IFdlbGwsIGluIHRoZW9yeSBhbnl3YXksIFhpYW95dSBjb3VsZCB2ZXJ5IHF1aWNrbHkgc3VibWl0 IGEgdjUgDQo+IHNlcmllcywgc3BsaXR0aW5nIHRoaXMgcGF0Y2ggYXMgZXhwbGFpbmVkIHVuZGVy IChiKS4gSW4gdGhhdCBjYXNlLCB0aGUNCj4gKGIvMikgaGFsZiAtLSBhbmQgKk9OTFkqIHRoYXQg aGFsZiAtLSBvZiB0aGlzIHBhdGNoIGNvdWxkIGluY2x1ZGUgbXkgUi1iIGF0IG9uY2UuDQo+IA0K PiBTbywgcGxlYXNlIGRlY2lkZS4NCj4gDQo+IFRoYW5rcyENCj4gTGFzemxvDQo+IA0KPj4NCj4+ IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWIuaW5m DQo+PiBiL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYNCj4+IGlu ZGV4IGY0ZDc3NzJjMDY4Yy4uNjJkZDYxOTY5Y2IwIDEwMDY0NA0KPj4gLS0tIGEvQ3J5cHRvUGtn L0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLmluZg0KPj4gKysrIGIvQ3J5cHRvUGtnL0xp YnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLmluZg0KPj4gQEAgLTEsNyArMSw3IEBADQo+PiAg IyMgQGZpbGUNCj4+ICAjICBUaGlzIG1vZHVsZSBwcm92aWRlcyBPcGVuU1NMIExpYnJhcnkgaW1w bGVtZW50YXRpb24uDQo+PiAgIw0KPj4gLSMgIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTgsIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KPj4gcmVzZXJ2ZWQuPEJSPg0KPj4gKyMgIENv cHlyaWdodCAoYykgMjAxMCAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0K Pj4gK3Jlc2VydmVkLjxCUj4NCj4+ICAjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudCAgIyAgIyMgQEAgLTE1LDcgDQo+PiArMTUsNyBAQCBbRGVmaW5lc10NCj4+ ICAgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPj4gICAgTElCUkFSWV9D TEFTUyAgICAgICAgICAgICAgICAgID0gT3BlbnNzbExpYg0KPj4gICAgREVGSU5FIE9QRU5TU0xf UEFUSCAgICAgICAgICAgID0gb3BlbnNzbA0KPj4gLSAgREVGSU5FIE9QRU5TU0xfRkxBR1MgICAg ICAgICAgID0gLURMX0VORElBTiAtRE9QRU5TU0xfU01BTExfRk9PVFBSSU5UIC1EX0NSVF9TRUNV UkVfTk9fREVQUkVDQVRFIC1EX0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSAtRE5PX1NZU0xPRw0K Pj4gKyAgREVGSU5FIE9QRU5TU0xfRkxBR1MgICAgICAgICAgID0gLURMX0VORElBTiAtRE9QRU5T U0xfU01BTExfRk9PVFBSSU5UIC1EX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFIC1EX0NSVF9OT05T VERDX05PX0RFUFJFQ0FURQ0KPj4gIA0KPj4gICMNCj4+ICAjICBWQUxJRF9BUkNISVRFQ1RVUkVT ICAgICAgICAgICA9IElBMzIgWDY0IEFSTSBBQVJDSDY0DQo+PiBAQCAtMzIsNiArMzIsNyBAQCBb U291cmNlc10NCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYWVzL2Flc19taXNjLmMNCj4+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYWVzL2Flc19vZmIuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9hZXMvYWVzX3dyYXAuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9hcmlhL2FyaWEuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2FfYml0c3Ry LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYXNuMS9hX2QyaV9mcC5jDQo+PiAgICAk KE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYV9kaWdlc3QuYw0KPj4gQEAgLTU0LDYgKzU1LDcg QEAgW1NvdXJjZXNdDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYW1ldGhfbGli LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYXNuMS9hc24xX2Vyci5jDQo+PiAgICAk KE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYXNuMV9nZW4uYw0KPj4gKyAgJChPUEVOU1NMX1BB VEgpL2NyeXB0by9hc24xL2FzbjFfaXRlbV9saXN0LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vYXNuMS9hc24xX2xpYi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEv YXNuMV9wYXIuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2Fzbl9taW1lLmMN Cj4+IEBAIC0xNzIsNiArMTc0LDcgQEAgW1NvdXJjZXNdDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL2NvbmYvY29uZl9zc2wuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9jcHRf ZXJyLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vY3J5cHRsaWIuYw0KPj4gKyAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9jdHlwZS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRv L2N2ZXJzaW9uLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVzL2NiY19ja3NtLmMN Cj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVzL2NiY19lbmMuYw0KPj4gQEAgLTE4OSw3 ICsxOTIsNiBAQCBbU291cmNlc10NCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVzL3Bj YmNfZW5jLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVzL3F1ZF9ja3NtLmMNCj4+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVzL3JhbmRfa2V5LmMNCj4+IC0gICQoT1BFTlNT TF9QQVRIKS9jcnlwdG8vZGVzL3JwY19lbmMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9kZXMvc2V0X2tleS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Rlcy9zdHIya2V5 LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVzL3hjYmNfZW5jLmMNCj4+IEBAIC0y MDYsNiArMjA4LDcgQEAgW1NvdXJjZXNdDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Ro L2RoX3BtZXRoLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGgvZGhfcHJuLmMNCj4+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGgvZGhfcmZjNTExNC5jDQo+PiArICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL2RoL2RoX3JmYzc5MTkuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9kc28vZHNvX2RsLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZHNvL2Rzb19k bGZjbi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Rzby9kc29fZXJyLmMNCj4+IEBA IC0yMjgsNiArMjMxLDcgQEAgW1NvdXJjZXNdDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRv L2V2cC9lX2Flcy5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX2Flc19jYmNf aG1hY19zaGExLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VfYWVzX2NiY19o bWFjX3NoYTI1Ni5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX2FyaWEuYw0K Pj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9iZi5jDQo+PiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL2V2cC9lX2NhbWVsbGlhLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vZXZwL2VfY2FzdC5jDQo+PiBAQCAtMjQyLDYgKzI0Niw3IEBAIFtTb3VyY2VzXQ0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9yYzRfaG1hY19tZDUuYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9ldnAvZV9yYzUuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9ldnAvZV9zZWVkLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2Vfc200LmMN Cj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VfeGNiY19kLmMNCj4+ICAgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VuY29kZS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL2V2cC9ldnBfY25mLmMNCj4+IEBAIC0yNTksNiArMjY0LDcgQEAgW1NvdXJjZXNdDQo+PiAg ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9tX251bGwuYw0KPj4gICAgJChPUEVOU1NMX1BB VEgpL2NyeXB0by9ldnAvbV9yaXBlbWQuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9l dnAvbV9zaGExLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL21fc2hhMy5jDQo+ PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9tX3NpZ3Zlci5jDQo+PiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL2V2cC9tX3dwLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v ZXZwL25hbWVzLmMNCj4+IEBAIC0yNzEsMTAgKzI3NywxMCBAQCBbU291cmNlc10NCj4+ICAgICQo T1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL3Bfc2VhbC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL2V2cC9wX3NpZ24uYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvcF92 ZXJpZnkuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvcGJlX3NjcnlwdC5jDQo+ PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wbWV0aF9mbi5jDQo+PiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL2V2cC9wbWV0aF9nbi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL2V2cC9wbWV0aF9saWIuYw0KPj4gLSAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvc2Ny eXB0LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXhfZGF0YS5jDQo+PiAgICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL2dldGVudi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRv L2htYWMvaG1fYW1ldGguYw0KPj4gQEAgLTI4Myw2ICsyODksNyBAQCBbU291cmNlc10NCj4+ICAg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vaW5pdC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL2tkZi9oa2RmLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8va2RmL2tkZl9lcnIu Yw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9rZGYvc2NyeXB0LmMNCj4+ICAgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8va2RmL3RsczFfcHJmLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vbGhhc2gvbGhfc3RhdHMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9saGFz aC9saGFzaC5jDQo+PiBAQCAtMzYwLDE0ICszNjcsMTQgQEAgW1NvdXJjZXNdDQo+PiAgICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL3BrY3M3L3BrN19taW1lLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vcGtjczcvcGs3X3NtaW1lLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v cGtjczcvcGtjczdlcnIuYw0KPj4gLSAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yYW5kL21kX3Jh bmQuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yYW5kL2RyYmdfY3RyLmMNCj4+ICsg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9kcmJnX2xpYi5jDQo+PiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL3JhbmQvcmFuZF9lZ2QuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9yYW5kL3JhbmRfZXJyLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9yYW5k X2xpYi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvcmFuZF91bml4LmMNCj4+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9yYW5kX3Ztcy5jDQo+PiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL3JhbmQvcmFuZF93aW4uYw0KPj4gLSAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9yYW5kL3JhbmRmaWxlLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmM0L3Jj NF9lbmMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yYzQvcmM0X3NrZXkuYw0KPj4g ICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yc2EvcnNhX2FtZXRoLmMNCj4+IEBAIC0zNzksOCAr Mzg2LDggQEAgW1NvdXJjZXNdDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JzYS9yc2Ff Z2VuLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9saWIuYw0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9yc2EvcnNhX21ldGguYw0KPj4gKyAgJChPUEVOU1NMX1BB VEgpL2NyeXB0by9yc2EvcnNhX21wLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNh L3JzYV9ub25lLmMNCj4+IC0gICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9udWxsLmMN Cj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9vYWVwLmMNCj4+ICAgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9vc3NsLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vcnNhL3JzYV9wazEuYw0KPj4gQEAgLTM5MiwxNSArMzk5LDI3IEBAIFtTb3VyY2VzXQ0K Pj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yc2EvcnNhX3NzbC5jDQo+PiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL3JzYS9yc2FfeDkzMS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL3JzYS9yc2FfeDkzMWcuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9zaGEva2Vj Y2FrMTYwMC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3NoYS9zaGExX29uZS5jDQo+ PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3NoYS9zaGExZGdzdC5jDQo+PiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL3NoYS9zaGEyNTYuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9zaGEvc2hhNTEyLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc2lwaGFzaC9zaXBo YXNoLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc2lwaGFzaC9zaXBoYXNoX2FtZXRo LmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc2lwaGFzaC9zaXBoYXNoX3BtZXRoLmMN Cj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc20zL21fc20zLmMNCj4+ICsgICQoT1BFTlNT TF9QQVRIKS9jcnlwdG8vc20zL3NtMy5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3Nt NC9zbTQuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9zdGFjay9zdGFjay5jDQo+PiAg ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3RocmVhZHNfbm9uZS5jDQo+PiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL3RocmVhZHNfcHRocmVhZC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL3RocmVhZHNfd2luLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vdHh0X2RiL3R4 dF9kYi5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3VpL3VpX2Vyci5jDQo+PiArICAk KE9QRU5TU0xfUEFUSCkvY3J5cHRvL3VpL3VpX2xpYi5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL3VpL3VpX251bGwuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by91aS91aV9v cGVuc3NsLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vdWkvdWlfdXRpbC5jDQo+PiAg ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3VpZC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL3g1MDkvYnlfZGlyLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOS9ieV9m aWxlLmMNCj4+IEBAIC00NDUsNiArNDY0LDcgQEAgW1NvdXJjZXNdDQo+PiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL3g1MDl2My9wY3lfbm9kZS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL3g1MDl2My9wY3lfdHJlZS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3g1MDl2 My92M19hZGRyLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOXYzL3YzX2FkbWlz LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOXYzL3YzX2FrZXkuYw0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMvdjNfYWtleWEuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by94NTA5djMvdjNfYWx0LmMNCj4+IEBAIC00NzksMTIgKzQ5OSwxNCBAQCBb U291cmNlc10NCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9zc2wvZDFfbXNnLmMNCj4+ICAgICQoT1BF TlNTTF9QQVRIKS9zc2wvZDFfc3J0cC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL21ldGhv ZHMuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL3NzbC9wYWNrZXQuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL3NzbC9wcXVldWUuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9yZWNvcmQvZHRs czFfYml0bWFwLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9zc2wvcmVjb3JkL3JlY19sYXllcl9k MS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3JlY29yZC9yZWNfbGF5ZXJfczMuYw0KPj4g ICAgJChPUEVOU1NMX1BBVEgpL3NzbC9yZWNvcmQvc3NsM19idWZmZXIuYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL3NzbC9yZWNvcmQvc3NsM19yZWNvcmQuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgp L3NzbC9yZWNvcmQvc3NsM19yZWNvcmRfdGxzMTMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3Nz bC9zM19jYmMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9zM19lbmMuYw0KPj4gICAgJChP UEVOU1NMX1BBVEgpL3NzbC9zM19saWIuYw0KPj4gQEAgLTUwMiwyNSArNTI0LDQ1IEBAIFtTb3Vy Y2VzXQ0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9zc2xfc3RhdC5jDQo+PiAgICAkKE9QRU5T U0xfUEFUSCkvc3NsL3NzbF90eHQuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9zc2xfdXRz dC5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvc3NsL3N0YXRlbS9leHRlbnNpb25zLmMNCj4+ICsg ICQoT1BFTlNTTF9QQVRIKS9zc2wvc3RhdGVtL2V4dGVuc2lvbnNfY2xudC5jDQo+PiArICAkKE9Q RU5TU0xfUEFUSCkvc3NsL3N0YXRlbS9leHRlbnNpb25zX2N1c3QuYw0KPj4gKyAgJChPUEVOU1NM X1BBVEgpL3NzbC9zdGF0ZW0vZXh0ZW5zaW9uc19zcnZyLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9zc2wvc3RhdGVtL3N0YXRlbS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3N0YXRlbS9z dGF0ZW1fY2xudC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3N0YXRlbS9zdGF0ZW1fZHRs cy5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3N0YXRlbS9zdGF0ZW1fbGliLmMNCj4+ICAg ICQoT1BFTlNTTF9QQVRIKS9zc2wvc3RhdGVtL3N0YXRlbV9zcnZyLmMNCj4+ICAgICQoT1BFTlNT TF9QQVRIKS9zc2wvdDFfZW5jLmMNCj4+IC0gICQoT1BFTlNTTF9QQVRIKS9zc2wvdDFfZXh0LmMN Cj4+ICAgICQoT1BFTlNTTF9QQVRIKS9zc2wvdDFfbGliLmMNCj4+IC0gICQoT1BFTlNTTF9QQVRI KS9zc2wvdDFfcmVuZWcuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC90MV90cmNlLmMNCj4+ ICsgICQoT1BFTlNTTF9QQVRIKS9zc2wvdGxzMTNfZW5jLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9zc2wvdGxzX3NycC5jDQo+PiAgIyBBdXRvZ2VuZXJhdGVkIGZpbGVzIGxpc3QgZW5kcyBoZXJl DQo+PiAgDQo+PiArICBvc3NsX3N0b3JlLmMNCj4+ICsgIHJhbmRfcG9vbC5jDQo+PiArDQo+PiAr W1NvdXJjZXMuSWEzMl0NCj4+ICsgIHJhbmRfcG9vbF9ub2lzZV90c2MuYw0KPj4gKw0KPj4gK1tT b3VyY2VzLlg2NF0NCj4+ICsgIHJhbmRfcG9vbF9ub2lzZV90c2MuYw0KPj4gKw0KPj4gK1tTb3Vy Y2VzLkFSTV0NCj4+ICsgIHJhbmRfcG9vbF9ub2lzZS5jDQo+PiArDQo+PiArW1NvdXJjZXMuQUFS Q0g2NF0NCj4+ICsgIHJhbmRfcG9vbF9ub2lzZS5jDQo+PiArDQo+PiAgW1BhY2thZ2VzXQ0KPj4g ICAgTWRlUGtnL01kZVBrZy5kZWMNCj4+ICAgIENyeXB0b1BrZy9DcnlwdG9Qa2cuZGVjDQo+PiAg DQo+PiAgW0xpYnJhcnlDbGFzc2VzXQ0KPj4gKyAgQmFzZUxpYg0KPj4gICAgRGVidWdMaWINCj4+ ICsgIFRpbWVyTGliDQo+PiAgDQo+PiAgW0xpYnJhcnlDbGFzc2VzLkFSTV0NCj4+ICAgIEFybVNv ZnRGbG9hdExpYg0KPj4gZGlmZiAtLWdpdCBhL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIv T3BlbnNzbExpYkNyeXB0by5pbmYNCj4+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9P cGVuc3NsTGliQ3J5cHRvLmluZg0KPj4gaW5kZXggZmQxMmQxMTJlZGIyLi40OTU5OWE0MmQxODAg MTAwNjQ0DQo+PiAtLS0gYS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJD cnlwdG8uaW5mDQo+PiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xM aWJDcnlwdG8uaW5mDQo+PiBAQCAtMSw3ICsxLDcgQEANCj4+ICAjIyBAZmlsZQ0KPj4gICMgIFRo aXMgbW9kdWxlIHByb3ZpZGVzIE9wZW5TU0wgTGlicmFyeSBpbXBsZW1lbnRhdGlvbi4NCj4+ICAj DQo+PiAtIyAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgDQo+PiByZXNlcnZlZC48QlI+DQo+PiArIyAgQ29weXJpZ2h0IChjKSAyMDEwIC0g MjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+PiArcmVzZXJ2ZWQuPEJSPg0K Pj4gICMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50ICAjICAj IyBAQCAtMTUsNyANCj4+ICsxNSw3IEBAIFtEZWZpbmVzXQ0KPj4gICAgVkVSU0lPTl9TVFJJTkcg ICAgICAgICAgICAgICAgID0gMS4wDQo+PiAgICBMSUJSQVJZX0NMQVNTICAgICAgICAgICAgICAg ICAgPSBPcGVuc3NsTGliDQo+PiAgICBERUZJTkUgT1BFTlNTTF9QQVRIICAgICAgICAgICAgPSBv cGVuc3NsDQo+PiAtICBERUZJTkUgT1BFTlNTTF9GTEFHUyAgICAgICAgICAgPSAtRExfRU5ESUFO IC1ET1BFTlNTTF9TTUFMTF9GT09UUFJJTlQgLURfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUgLURf Q1JUX05PTlNURENfTk9fREVQUkVDQVRFIC1ETk9fU1lTTE9HDQo+PiArICBERUZJTkUgT1BFTlNT TF9GTEFHUyAgICAgICAgICAgPSAtRExfRU5ESUFOIC1ET1BFTlNTTF9TTUFMTF9GT09UUFJJTlQg LURfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUgLURfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFDQo+ PiAgDQo+PiAgIw0KPj4gICMgIFZBTElEX0FSQ0hJVEVDVFVSRVMgICAgICAgICAgID0gSUEzMiBY NjQgQVJNIEFBUkNINjQNCj4+IEBAIC0zMiw2ICszMiw3IEBAIFtTb3VyY2VzXQ0KPj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9hZXMvYWVzX21pc2MuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by9hZXMvYWVzX29mYi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Flcy9h ZXNfd3JhcC5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FyaWEvYXJpYS5jDQo+PiAg ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYV9iaXRzdHIuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9hc24xL2FfZDJpX2ZwLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vYXNuMS9hX2RpZ2VzdC5jDQo+PiBAQCAtNTQsNiArNTUsNyBAQCBbU291cmNlc10NCj4+ICAg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYXNuMS9hbWV0aF9saWIuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9hc24xL2FzbjFfZXJyLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vYXNuMS9hc24xX2dlbi5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYXNu MV9pdGVtX2xpc3QuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2FzbjFfbGli LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYXNuMS9hc24xX3Bhci5jDQo+PiAgICAk KE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYXNuX21pbWUuYw0KPj4gQEAgLTE3Miw2ICsxNzQs NyBAQCBbU291cmNlc10NCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vY29uZi9jb25mX3Nz bC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2NwdF9lcnIuYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9jcnlwdGxpYi5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRv L2N0eXBlLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vY3ZlcnNpb24uYw0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMvY2JjX2Nrc20uYw0KPj4gICAgJChPUEVOU1NMX1BB VEgpL2NyeXB0by9kZXMvY2JjX2VuYy5jDQo+PiBAQCAtMTg5LDcgKzE5Miw2IEBAIFtTb3VyY2Vz XQ0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMvcGNiY19lbmMuYw0KPj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9kZXMvcXVkX2Nrc20uYw0KPj4gICAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by9kZXMvcmFuZF9rZXkuYw0KPj4gLSAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMv cnBjX2VuYy5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Rlcy9zZXRfa2V5LmMNCj4+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVzL3N0cjJrZXkuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9kZXMveGNiY19lbmMuYw0KPj4gQEAgLTIwNiw2ICsyMDgsNyBAQCBbU291 cmNlc10NCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGgvZGhfcG1ldGguYw0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9kaC9kaF9wcm4uYw0KPj4gICAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by9kaC9kaF9yZmM1MTE0LmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGgv ZGhfcmZjNzkxOS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Rzby9kc29fZGwuYw0K Pj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kc28vZHNvX2RsZmNuLmMNCj4+ICAgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8vZHNvL2Rzb19lcnIuYw0KPj4gQEAgLTIyOCw2ICsyMzEsNyBAQCBb U291cmNlc10NCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VfYWVzLmMNCj4+ICAg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VfYWVzX2NiY19obWFjX3NoYTEuYw0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9hZXNfY2JjX2htYWNfc2hhMjU2LmMNCj4+ICsg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VfYXJpYS5jDQo+PiAgICAkKE9QRU5TU0xfUEFU SCkvY3J5cHRvL2V2cC9lX2JmLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2Vf Y2FtZWxsaWEuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9jYXN0LmMNCj4+ IEBAIC0yNDIsNiArMjQ2LDcgQEAgW1NvdXJjZXNdDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL2V2cC9lX3JjNF9obWFjX21kNS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2 cC9lX3JjNS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX3NlZWQuYw0KPj4g KyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9zbTQuYw0KPj4gICAgJChPUEVOU1NMX1BB VEgpL2NyeXB0by9ldnAvZV94Y2JjX2QuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9l dnAvZW5jb2RlLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2V2cF9jbmYuYw0K Pj4gQEAgLTI1OSw2ICsyNjQsNyBAQCBbU291cmNlc10NCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vZXZwL21fbnVsbC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9tX3Jp cGVtZC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9tX3NoYTEuYw0KPj4gKyAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvbV9zaGEzLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vZXZwL21fc2lndmVyLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZw L21fd3AuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvbmFtZXMuYw0KPj4gQEAg LTI3MSwxMCArMjc3LDEwIEBAIFtTb3VyY2VzXQ0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9ldnAvcF9zZWFsLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL3Bfc2lnbi5j DQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wX3ZlcmlmeS5jDQo+PiArICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wYmVfc2NyeXB0LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vZXZwL3BtZXRoX2ZuLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZw L3BtZXRoX2duLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL3BtZXRoX2xpYi5j DQo+PiAtICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9zY3J5cHQuYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9leF9kYXRhLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v Z2V0ZW52LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vaG1hYy9obV9hbWV0aC5jDQo+ PiBAQCAtMjgzLDYgKzI4OSw3IEBAIFtTb3VyY2VzXQ0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9pbml0LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8va2RmL2hrZGYuYw0KPj4g ICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9rZGYva2RmX2Vyci5jDQo+PiArICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL2tkZi9zY3J5cHQuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9r ZGYvdGxzMV9wcmYuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9saGFzaC9saF9zdGF0 cy5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2xoYXNoL2xoYXNoLmMNCj4+IEBAIC0z NjAsMTQgKzM2NywxNCBAQCBbU291cmNlc10NCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v cGtjczcvcGs3X21pbWUuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9wa2NzNy9wazdf c21pbWUuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9wa2NzNy9wa2NzN2Vyci5jDQo+ PiAtICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvbWRfcmFuZC5jDQo+PiArICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL3JhbmQvZHJiZ19jdHIuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9yYW5kL2RyYmdfbGliLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9y YW5kX2VnZC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvcmFuZF9lcnIuYw0K Pj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yYW5kL3JhbmRfbGliLmMNCj4+ICAgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9yYW5kX3VuaXguYw0KPj4gICAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by9yYW5kL3JhbmRfdm1zLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFu ZC9yYW5kX3dpbi5jDQo+PiAtICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvcmFuZGZpbGUu Yw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yYzQvcmM0X2VuYy5jDQo+PiAgICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL3JjNC9yYzRfc2tleS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL3JzYS9yc2FfYW1ldGguYw0KPj4gQEAgLTM3OSw4ICszODYsOCBAQCBbU291cmNlc10N Cj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9nZW4uYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9yc2EvcnNhX2xpYi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL3JzYS9yc2FfbWV0aC5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JzYS9yc2Ff bXAuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yc2EvcnNhX25vbmUuYw0KPj4gLSAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9yc2EvcnNhX251bGwuYw0KPj4gICAgJChPUEVOU1NMX1BB VEgpL2NyeXB0by9yc2EvcnNhX29hZXAuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9y c2EvcnNhX29zc2wuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yc2EvcnNhX3BrMS5j DQo+PiBAQCAtMzkyLDE1ICszOTksMjcgQEAgW1NvdXJjZXNdDQo+PiAgICAkKE9QRU5TU0xfUEFU SCkvY3J5cHRvL3JzYS9yc2Ffc3NsLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNh L3JzYV94OTMxLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV94OTMxZy5j DQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3NoYS9rZWNjYWsxNjAwLmMNCj4+ICAgICQo T1BFTlNTTF9QQVRIKS9jcnlwdG8vc2hhL3NoYTFfb25lLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vc2hhL3NoYTFkZ3N0LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc2hh L3NoYTI1Ni5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3NoYS9zaGE1MTIuYw0KPj4g KyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9zaXBoYXNoL3NpcGhhc2guYw0KPj4gKyAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9zaXBoYXNoL3NpcGhhc2hfYW1ldGguYw0KPj4gKyAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9zaXBoYXNoL3NpcGhhc2hfcG1ldGguYw0KPj4gKyAgJChPUEVOU1NMX1BB VEgpL2NyeXB0by9zbTMvbV9zbTMuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9zbTMv c20zLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc200L3NtNC5jDQo+PiAgICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL3N0YWNrL3N0YWNrLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vdGhyZWFkc19ub25lLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vdGhyZWFk c19wdGhyZWFkLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vdGhyZWFkc193aW4uYw0K Pj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by90eHRfZGIvdHh0X2RiLmMNCj4+ICsgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8vdWkvdWlfZXJyLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vdWkvdWlfbGliLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vdWkvdWlfbnVsbC5j DQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3VpL3VpX29wZW5zc2wuYw0KPj4gKyAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by91aS91aV91dGlsLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vdWlkLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOS9ieV9kaXIuYw0K Pj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5L2J5X2ZpbGUuYw0KPj4gQEAgLTQ0NSw2 ICs0NjQsNyBAQCBbU291cmNlc10NCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOXYz L3BjeV9ub2RlLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOXYzL3BjeV90cmVl LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOXYzL3YzX2FkZHIuYw0KPj4gKyAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMvdjNfYWRtaXMuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by94NTA5djMvdjNfYWtleS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL3g1MDl2My92M19ha2V5YS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3g1MDl2 My92M19hbHQuYw0KPj4gQEAgLTQ3NiwxMiArNDk2LDI5IEBAIFtTb3VyY2VzXQ0KPj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMvdjNlcnIuYw0KPj4gICMgQXV0b2dlbmVyYXRlZCBm aWxlcyBsaXN0IGVuZHMgaGVyZQ0KPj4gIA0KPj4gKyAgb3NzbF9zdG9yZS5jDQo+PiArICByYW5k X3Bvb2wuYw0KPj4gKw0KPj4gK1tTb3VyY2VzLklhMzJdDQo+PiArICByYW5kX3Bvb2xfbm9pc2Vf dHNjLmMNCj4+ICsNCj4+ICtbU291cmNlcy5YNjRdDQo+PiArICByYW5kX3Bvb2xfbm9pc2VfdHNj LmMNCj4+ICsNCj4+ICtbU291cmNlcy5BUk1dDQo+PiArICByYW5kX3Bvb2xfbm9pc2UuYw0KPj4g Kw0KPj4gK1tTb3VyY2VzLkFBUkNINjRdDQo+PiArICByYW5kX3Bvb2xfbm9pc2UuYw0KPj4gKw0K Pj4gIFtQYWNrYWdlc10NCj4+ICAgIE1kZVBrZy9NZGVQa2cuZGVjDQo+PiAgICBDcnlwdG9Qa2cv Q3J5cHRvUGtnLmRlYw0KPj4gIA0KPj4gIFtMaWJyYXJ5Q2xhc3Nlc10NCj4+ICsgIEJhc2VMaWIN Cj4+ICAgIERlYnVnTGliDQo+PiArICBUaW1lckxpYg0KPj4gIA0KPj4gIFtMaWJyYXJ5Q2xhc3Nl cy5BUk1dDQo+PiAgICBBcm1Tb2Z0RmxvYXRMaWINCj4+IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cv TGlicmFyeS9JbmNsdWRlL0NydExpYlN1cHBvcnQuaA0KPj4gYi9DcnlwdG9Qa2cvTGlicmFyeS9J bmNsdWRlL0NydExpYlN1cHBvcnQuaA0KPj4gaW5kZXggYjA1YzVkOTA4Y2UyLi41ODA2ZjUwZjc0 ODUgMTAwNjQ0DQo+PiAtLS0gYS9DcnlwdG9Qa2cvTGlicmFyeS9JbmNsdWRlL0NydExpYlN1cHBv cnQuaA0KPj4gKysrIGIvQ3J5cHRvUGtnL0xpYnJhcnkvSW5jbHVkZS9DcnRMaWJTdXBwb3J0LmgN Cj4+IEBAIC0yLDcgKzIsNyBAQA0KPj4gICAgUm9vdCBpbmNsdWRlIGZpbGUgb2YgQyBydW50aW1l IGxpYnJhcnkgdG8gc3VwcG9ydCBidWlsZGluZyB0aGUgdGhpcmQtcGFydHkNCj4+ICAgIGNyeXB0 b2dyYXBoaWMgbGlicmFyeS4NCj4+ICANCj4+IC1Db3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE3LCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyANCj4+IHJlc2VydmVkLjxCUj4NCj4+ICtDb3B5 cmlnaHQgKGMpIDIwMTAgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyANCj4+ ICtyZXNlcnZlZC48QlI+DQo+PiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4+ICANCj4+ICAqKi8NCj4+IEBAIC0yMSw2ICsyMSwxNyBAQCBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudCANCj4+ICNkZWZpbmUgTUFYX1NUUklO R19TSVpFICAweDEwMDANCj4+ICANCj4+ICAvLw0KPj4gKy8vIFdlIGFscmVhZHkgaGF2ZSAibm8t dWkiIGluIG91dCBDb25maWd1cmUgaW52b2NhdGlvbi4NCj4+ICsvLyBidXQgdGhlIGNvZGUgc3Rp bGwgZmFpbHMgdG8gY29tcGlsZS4NCj4+ICsvLyBSZWY6ICBodHRwczovL2dpdGh1Yi5jb20vb3Bl bnNzbC9vcGVuc3NsL2lzc3Vlcy84OTA0DQo+PiArLy8NCj4+ICsvLyBUaGlzIGlzIGRlZmluZWQg aW4gQ1JUIGxpYnJhcnkoc3RkaW8uaCkuDQo+PiArLy8NCj4+ICsjaWZuZGVmIEJVRlNJWg0KPj4g KyNkZWZpbmUgQlVGU0laICA4MTkyDQo+PiArI2VuZGlmDQo+PiArDQo+PiArLy8NCj4+ICAvLyBP cGVuU1NMIHJlbGllcyBvbiBleHBsaWNpdCBjb25maWd1cmF0aW9uIGZvciB3b3JkIHNpemUgaW4g DQo+PiBjcnlwdG8vYm4sICAvLyBidXQgd2Ugd2FudCBpdCB0byBiZSBhdXRvbWF0aWNhbGx5IGlu ZmVycmVkIGZyb20gdGhlIA0KPj4gdGFyZ2V0LiBTbyB3ZSAgLy8gYnlwYXNzIHdoYXQncyBpbiA8 b3BlbnNzbC9vcGVuc3NsY29uZi5oPiBmb3IgDQo+PiBPUEVOU1NMX1NZU19VRUZJLCBhbmQgZGlm ZiAtLWdpdCANCj4+IGEvQ3J5cHRvUGtnL0xpYnJhcnkvSW5jbHVkZS9vcGVuc3NsL29wZW5zc2xj b25mLmgNCj4+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvSW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25m LmgNCj4+IGluZGV4IDI4ZGQ5YWI5M2M2MS4uMDdmYTJkM2NlMjgwIDEwMDY0NA0KPj4gLS0tIGEv Q3J5cHRvUGtnL0xpYnJhcnkvSW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mLmgNCj4+ICsrKyBi L0NyeXB0b1BrZy9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oDQo+PiBAQCAt MTAsNiArMTAsOCBAQA0KPj4gICAqIGh0dHBzOi8vd3d3Lm9wZW5zc2wub3JnL3NvdXJjZS9saWNl bnNlLmh0bWwNCj4+ICAgKi8NCj4+ICANCj4+ICsjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3Nsdi5o Pg0KPj4gKw0KPj4gICNpZmRlZiAgX19jcGx1c3BsdXMNCj4+ICBleHRlcm4gIkMiIHsNCj4+ICAj ZW5kaWYNCj4+IEBAIC03NywxOCArNzksMjEgQEAgZXh0ZXJuICJDIiB7DQo+PiAgI2lmbmRlZiBP UEVOU1NMX05PX1NFRUQNCj4+ICAjIGRlZmluZSBPUEVOU1NMX05PX1NFRUQNCj4+ICAjZW5kaWYN Cj4+ICsjaWZuZGVmIE9QRU5TU0xfTk9fU00yDQo+PiArIyBkZWZpbmUgT1BFTlNTTF9OT19TTTIN Cj4+ICsjZW5kaWYNCj4+ICAjaWZuZGVmIE9QRU5TU0xfTk9fU1JQDQo+PiAgIyBkZWZpbmUgT1BF TlNTTF9OT19TUlANCj4+ICAjZW5kaWYNCj4+ICAjaWZuZGVmIE9QRU5TU0xfTk9fVFMNCj4+ICAj IGRlZmluZSBPUEVOU1NMX05PX1RTDQo+PiAgI2VuZGlmDQo+PiAtI2lmbmRlZiBPUEVOU1NMX05P X1VJDQo+PiAtIyBkZWZpbmUgT1BFTlNTTF9OT19VSQ0KPj4gLSNlbmRpZg0KPj4gICNpZm5kZWYg T1BFTlNTTF9OT19XSElSTFBPT0wNCj4+ICAjIGRlZmluZSBPUEVOU1NMX05PX1dISVJMUE9PTA0K Pj4gICNlbmRpZg0KPj4gKyNpZm5kZWYgT1BFTlNTTF9SQU5EX1NFRURfTk9ORQ0KPj4gKyMgZGVm aW5lIE9QRU5TU0xfUkFORF9TRUVEX05PTkUNCj4+ICsjZW5kaWYNCj4+ICAjaWZuZGVmIE9QRU5T U0xfTk9fQUZBTEdFTkcNCj4+ICAjIGRlZmluZSBPUEVOU1NMX05PX0FGQUxHRU5HDQo+PiAgI2Vu ZGlmDQo+PiBAQCAtMTIyLDYgKzEyNyw5IEBAIGV4dGVybiAiQyIgew0KPj4gICNpZm5kZWYgT1BF TlNTTF9OT19ERVBSRUNBVEVEDQo+PiAgIyBkZWZpbmUgT1BFTlNTTF9OT19ERVBSRUNBVEVEDQo+ PiAgI2VuZGlmDQo+PiArI2lmbmRlZiBPUEVOU1NMX05PX0RFVkNSWVBUT0VORw0KPj4gKyMgZGVm aW5lIE9QRU5TU0xfTk9fREVWQ1JZUFRPRU5HDQo+PiArI2VuZGlmDQo+PiAgI2lmbmRlZiBPUEVO U1NMX05PX0RHUkFNDQo+PiAgIyBkZWZpbmUgT1BFTlNTTF9OT19ER1JBTQ0KPj4gICNlbmRpZg0K Pj4gQEAgLTE1NSw2ICsxNjMsOSBAQCBleHRlcm4gIkMiIHsNCj4+ICAjaWZuZGVmIE9QRU5TU0xf Tk9fRVJSDQo+PiAgIyBkZWZpbmUgT1BFTlNTTF9OT19FUlINCj4+ICAjZW5kaWYNCj4+ICsjaWZu ZGVmIE9QRU5TU0xfTk9fRVhURVJOQUxfVEVTVFMNCj4+ICsjIGRlZmluZSBPUEVOU1NMX05PX0VY VEVSTkFMX1RFU1RTDQo+PiArI2VuZGlmDQo+PiAgI2lmbmRlZiBPUEVOU1NMX05PX0ZJTEVOQU1F Uw0KPj4gICMgZGVmaW5lIE9QRU5TU0xfTk9fRklMRU5BTUVTDQo+PiAgI2VuZGlmDQo+PiBAQCAt MjA5LDE1ICsyMjAsMjQgQEAgZXh0ZXJuICJDIiB7DQo+PiAgI2lmbmRlZiBPUEVOU1NMX05PX1RF U1RTDQo+PiAgIyBkZWZpbmUgT1BFTlNTTF9OT19URVNUUw0KPj4gICNlbmRpZg0KPj4gKyNpZm5k ZWYgT1BFTlNTTF9OT19UTFMxXzMNCj4+ICsjIGRlZmluZSBPUEVOU1NMX05PX1RMUzFfMw0KPj4g KyNlbmRpZg0KPj4gICNpZm5kZWYgT1BFTlNTTF9OT19VQlNBTg0KPj4gICMgZGVmaW5lIE9QRU5T U0xfTk9fVUJTQU4NCj4+ICAjZW5kaWYNCj4+ICsjaWZuZGVmIE9QRU5TU0xfTk9fVUlfQ09OU09M RQ0KPj4gKyMgZGVmaW5lIE9QRU5TU0xfTk9fVUlfQ09OU09MRQ0KPj4gKyNlbmRpZg0KPj4gICNp Zm5kZWYgT1BFTlNTTF9OT19VTklUX1RFU1QNCj4+ICAjIGRlZmluZSBPUEVOU1NMX05PX1VOSVRf VEVTVA0KPj4gICNlbmRpZg0KPj4gICNpZm5kZWYgT1BFTlNTTF9OT19XRUFLX1NTTF9DSVBIRVJT DQo+PiAgIyBkZWZpbmUgT1BFTlNTTF9OT19XRUFLX1NTTF9DSVBIRVJTICAjZW5kaWYNCj4+ICsj aWZuZGVmIE9QRU5TU0xfTk9fRFlOQU1JQ19FTkdJTkUNCj4+ICsjIGRlZmluZSBPUEVOU1NMX05P X0RZTkFNSUNfRU5HSU5FDQo+PiArI2VuZGlmDQo+PiAgI2lmbmRlZiBPUEVOU1NMX05PX0FGQUxH RU5HDQo+PiAgIyBkZWZpbmUgT1BFTlNTTF9OT19BRkFMR0VORw0KPj4gICNlbmRpZg0KPj4gQEAg LTIzNiwxNSArMjU2LDExIEBAIGV4dGVybiAiQyIgew0KPj4gICAqIGZ1bmN0aW9ucy4NCj4+ICAg Ki8NCj4+ICAjaWZuZGVmIERFQ0xBUkVfREVQUkVDQVRFRA0KPj4gLSMgaWYgZGVmaW5lZChPUEVO U1NMX05PX0RFUFJFQ0FURUQpDQo+PiAtIyAgZGVmaW5lIERFQ0xBUkVfREVQUkVDQVRFRChmKQ0K Pj4gLSMgZWxzZQ0KPj4gLSMgIGRlZmluZSBERUNMQVJFX0RFUFJFQ0FURUQoZikgICBmOw0KPj4g LSMgIGlmZGVmIF9fR05VQ19fDQo+PiAtIyAgIGlmIF9fR05VQ19fID4gMyB8fCAoX19HTlVDX18g PT0gMyAmJiBfX0dOVUNfTUlOT1JfXyA+IDApDQo+PiAtIyAgICB1bmRlZiBERUNMQVJFX0RFUFJF Q0FURUQNCj4+IC0jICAgIGRlZmluZSBERUNMQVJFX0RFUFJFQ0FURUQoZikgICAgZiBfX2F0dHJp YnV0ZV9fICgoZGVwcmVjYXRlZCkpOw0KPj4gLSMgICBlbmRpZg0KPj4gKyMgZGVmaW5lIERFQ0xB UkVfREVQUkVDQVRFRChmKSAgIGY7DQo+PiArIyBpZmRlZiBfX0dOVUNfXw0KPj4gKyMgIGlmIF9f R05VQ19fID4gMyB8fCAoX19HTlVDX18gPT0gMyAmJiBfX0dOVUNfTUlOT1JfXyA+IDApDQo+PiAr IyAgIHVuZGVmIERFQ0xBUkVfREVQUkVDQVRFRA0KPj4gKyMgICBkZWZpbmUgREVDTEFSRV9ERVBS RUNBVEVEKGYpICAgIGYgX19hdHRyaWJ1dGVfXyAoKGRlcHJlY2F0ZWQpKTsNCj4+ICAjICBlbmRp Zg0KPj4gICMgZW5kaWYNCj4+ICAjZW5kaWYNCj4+IEBAIC0yNjgsNiArMjg0LDE4IEBAIGV4dGVy biAiQyIgew0KPj4gICMgZGVmaW5lIE9QRU5TU0xfQVBJX0NPTVBBVCBPUEVOU1NMX01JTl9BUEkg ICNlbmRpZg0KPj4gIA0KPj4gKy8qDQo+PiArICogRG8gbm90IGRlcHJlY2F0ZSB0aGluZ3MgdG8g YmUgZGVwcmVjYXRlZCBpbiB2ZXJzaW9uIDEuMi4wIGJlZm9yZSANCj4+ICt0aGUNCj4+ICsgKiBP cGVuU1NMIHZlcnNpb24gbnVtYmVyIG1hdGNoZXMuDQo+PiArICovDQo+PiArI2lmIE9QRU5TU0xf VkVSU0lPTl9OVU1CRVIgPCAweDEwMjAwMDAwTA0KPj4gKyMgZGVmaW5lIERFUFJFQ0FURURJTl8x XzJfMChmKSAgIGY7DQo+PiArI2VsaWYgT1BFTlNTTF9BUElfQ09NUEFUIDwgMHgxMDIwMDAwMEwN Cj4+ICsjIGRlZmluZSBERVBSRUNBVEVESU5fMV8yXzAoZikgICBERUNMQVJFX0RFUFJFQ0FURUQo ZikNCj4+ICsjZWxzZQ0KPj4gKyMgZGVmaW5lIERFUFJFQ0FURURJTl8xXzJfMChmKQ0KPj4gKyNl bmRpZg0KPj4gKw0KPj4gICNpZiBPUEVOU1NMX0FQSV9DT01QQVQgPCAweDEwMTAwMDAwTA0KPj4g ICMgZGVmaW5lIERFUFJFQ0FURURJTl8xXzFfMChmKSAgIERFQ0xBUkVfREVQUkVDQVRFRChmKQ0K Pj4gICNlbHNlDQo+PiBAQCAtMjg2LDggKzMxNCw2IEBAIGV4dGVybiAiQyIgew0KPj4gICMgZGVm aW5lIERFUFJFQ0FURURJTl8wXzlfOChmKQ0KPj4gICNlbmRpZg0KPj4gIA0KPj4gLQ0KPj4gLQ0K Pj4gIC8qIEdlbmVyYXRlIDgwMzg2IGNvZGU/ICovDQo+PiAgI3VuZGVmIEkzODZfT05MWQ0KPj4g IA0KPj4gZGlmZiAtLWdpdCBhL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvYnVpbGRpbmYu aA0KPj4gYi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL2J1aWxkaW5mLmgNCj4+IGluZGV4 IGM1Y2EyOTNjNzI5Zi4uYjg0MGM4NjU2YTI4IDEwMDY0NA0KPj4gLS0tIGEvQ3J5cHRvUGtnL0xp YnJhcnkvT3BlbnNzbExpYi9idWlsZGluZi5oDQo+PiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9P cGVuc3NsTGliL2J1aWxkaW5mLmgNCj4+IEBAIC0xLDIgKzEsNCBAQA0KPj4gICNkZWZpbmUgUExB VEZPUk0gICJVRUZJIg0KPj4gICNkZWZpbmUgREFURSAgICAgICJGcmkgRGVjIDIyIDAxOjIzOjQ1 IFBEVCAyMDE3Ig0KPj4gKw0KPj4gK2NvbnN0IGNoYXIgKiBjb21waWxlcl9mbGFncyA9ICJjb21w aWxlcjogaW5mb3JtYXRpb24gbm90IGF2YWlsYWJsZSANCj4+ICtmcm9tIGVkazIiOw0KPj4gZGlm ZiAtLWdpdCBhL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFuZF9wb29sX25vaXNlLmgN Cj4+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9yYW5kX3Bvb2xfbm9pc2UuaA0KPj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNzVhY2M2ODZhOWYx DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGli L3JhbmRfcG9vbF9ub2lzZS5oDQo+PiBAQCAtMCwwICsxLDI5IEBADQo+PiArLyoqIEBmaWxlDQo+ PiArICBQcm92aWRlIHJhbmQgbm9pc2Ugc291cmNlLg0KPj4gKw0KPj4gK0NvcHlyaWdodCAoYykg MjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPj4gK1NQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+PiArDQo+PiArKiov DQo+PiArDQo+PiArI2lmbmRlZiBfX1JBTkRfUE9PTF9OT0lTRV9IX18NCj4+ICsjZGVmaW5lIF9f UkFORF9QT09MX05PSVNFX0hfXw0KPj4gKw0KPj4gKyNpbmNsdWRlIDxVZWZpL1VlZmlCYXNlVHlw ZS5oPg0KPj4gKw0KPj4gKy8qKg0KPj4gKyAgIEdldCA2NC1iaXQgbm9pc2Ugc291cmNlLg0KPj4g Kw0KPj4gKyAgIEBwYXJhbVtvdXRdIFJhbmQgICAgICAgICBCdWZmZXIgcG9pbnRlciB0byBzdG9y ZSA2NC1iaXQgbm9pc2Ugc291cmNlDQo+PiArDQo+PiArICAgQHJldHZhbCBUUlVFICAgICAgICAg ICAgIEdldCByYW5kb21uZXNzIHN1Y2Nlc3NmdWxseS4NCj4+ICsgICBAcmV0dmFsIEZBTFNFICAg ICAgICAgICAgRmFpbGVkIHRvIGdlbmVyYXRlDQo+PiArKiovDQo+PiArQk9PTEVBTg0KPj4gK0VG SUFQSQ0KPj4gK0dldFJhbmRvbU5vaXNlNjQgKA0KPj4gKyAgT1VUIFVJTlQ2NCAgICAgICAgICpS YW5kDQo+PiArICApOw0KPj4gKw0KPj4gKw0KPj4gKyNlbmRpZiAvLyBfX1JBTkRfUE9PTF9OT0lT RV9IX18NCj4+IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL29zc2xf c3RvcmUuYw0KPj4gYi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL29zc2xfc3RvcmUuYw0K Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uMjllMTUwNjA0 OGUzDQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3Ns TGliL29zc2xfc3RvcmUuYw0KPj4gQEAgLTAsMCArMSwxNyBAQA0KPj4gKy8qKiBAZmlsZQ0KPj4g KyAgRHVtbXkgaW1wbGVtZW50IG9zc2xfc3RvcmUoU3RvcmUgcmV0cmlldmFsIGZ1bmN0aW9ucykg Zm9yIFVFRkkuDQo+PiArDQo+PiArQ29weXJpZ2h0IChjKSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+PiArU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4+ICsNCj4+ICsqKi8NCj4+ICsNCj4+ICsvKg0KPj4gKyAq IFRoaXMgZnVuY3Rpb24gaXMgY2xlYW51cCBvc3NsIHN0b3JlLg0KPj4gKyAqDQo+PiArICogRHVt bXkgSW1wbGVtZW50IGZvciBVRUZJDQo+PiArICovDQo+PiArdm9pZCBvc3NsX3N0b3JlX2NsZWFu dXBfaW50KHZvaWQpDQo+PiArew0KPj4gK30NCj4+ICsNCj4+IGRpZmYgLS1naXQgYS9DcnlwdG9Q a2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbC5jDQo+PiBiL0NyeXB0b1BrZy9MaWJyYXJ5 L09wZW5zc2xMaWIvcmFuZF9wb29sLmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRl eCAwMDAwMDAwMDAwMDAuLjlkMmE0YWQxMzgyMw0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIv Q3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9yYW5kX3Bvb2wuYw0KPj4gQEAgLTAsMCArMSwz MTYgQEANCj4+ICsvKiogQGZpbGUNCj4+ICsgIE9wZW5TU0xfMV8xXzFiIGRvZXNuJ3QgaW1wbGVt ZW50IHJhbmRfcG9vbF8qIGZ1bmN0aW9ucyBmb3IgVUVGSS4NCj4+ICsgIFRoZSBmaWxlIGltcGxl bWVudCB0aGVzZSBmdW5jdGlvbnMuDQo+PiArDQo+PiArQ29weXJpZ2h0IChjKSAyMDE5LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+PiArU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4+ICsNCj4+ICsqKi8NCj4+ICsNCj4+ ICsjaW5jbHVkZSAiaW50ZXJuYWwvcmFuZF9pbnQuaCINCj4+ICsjaW5jbHVkZSA8b3BlbnNzbC9h ZXMuaD4NCj4+ICsNCj4+ICsjaW5jbHVkZSA8VWVmaS5oPg0KPj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L1RpbWVyTGliLmg+DQo+PiArDQo+PiArI2luY2x1ZGUgInJhbmRfcG9vbF9ub2lzZS5oIg0KPj4g Kw0KPj4gKy8qKg0KPj4gKyAgR2V0IHNvbWUgcmFuZG9tbmVzcyBmcm9tIGxvdy1vcmRlciBiaXRz IG9mIEdldFBlcmZvcm1hbmNlQ291bnRlciByZXN1bHRzLg0KPj4gKyAgQW5kIGNvbWJpbmUgdGhl bSB0byB0aGUgNjQtYml0IHZhbHVlDQo+PiArDQo+PiArICBAcGFyYW1bb3V0XSBSYW5kICAgIEJ1 ZmZlciBwb2ludGVyIHRvIHN0b3JlIHRoZSA2NC1iaXQgcmFuZG9tIHZhbHVlLg0KPj4gKw0KPj4g KyAgQHJldHZhbCBUUlVFICAgICAgICBSYW5kb20gbnVtYmVyIGdlbmVyYXRlZCBzdWNjZXNzZnVs bHkuDQo+PiArICBAcmV0dmFsIEZBTFNFICAgICAgIEZhaWxlZCB0byBnZW5lcmF0ZS4NCj4+ICsq Ki8NCj4+ICtTVEFUSUMNCj4+ICtCT09MRUFODQo+PiArRUZJQVBJDQo+PiArR2V0UmFuZE5vaXNl NjRGcm9tUGVyZm9ybWFuY2VDb3VudGVyKA0KPj4gKyAgT1VUIFVJTlQ2NCAgICAgICpSYW5kDQo+ PiArICApDQo+PiArew0KPj4gKyAgVUlOVDMyIEluZGV4Ow0KPj4gKyAgVUlOVDMyICpSYW5kUHRy Ow0KPj4gKw0KPj4gKyAgaWYgKE5VTEwgPT0gUmFuZCkgew0KPj4gKyAgICByZXR1cm4gRkFMU0U7 DQo+PiArICB9DQo+PiArDQo+PiArICBSYW5kUHRyID0gKFVJTlQzMiAqKSBSYW5kOw0KPj4gKw0K Pj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgMjsgSW5kZXggKyspIHsNCj4+ICsgICAgKlJh bmRQdHIgPSAoVUlOVDMyKSAoR2V0UGVyZm9ybWFuY2VDb3VudGVyICgpICYgMHhGRik7DQo+PiAr ICAgIE1pY3JvU2Vjb25kRGVsYXkgKDEwKTsNCj4+ICsgICAgUmFuZFB0cisrOw0KPj4gKyAgfQ0K Pj4gKw0KPj4gKyAgcmV0dXJuIFRSVUU7DQo+PiArfQ0KPj4gKw0KPj4gKy8qKg0KPj4gKyAgQ2Fs bHMgUmFuZG9tTnVtYmVyNjQgdG8gZmlsbA0KPj4gKyAgYSBidWZmZXIgb2YgYXJiaXRyYXJ5IHNp emUgd2l0aCByYW5kb20gYnl0ZXMuDQo+PiArDQo+PiArICBAcGFyYW1baW5dICAgTGVuZ3RoICAg ICAgICBTaXplIG9mIHRoZSBidWZmZXIsIGluIGJ5dGVzLCAgdG8gZmlsbCB3aXRoLg0KPj4gKyAg QHBhcmFtW291dF0gIFJhbmRCdWZmZXIgICAgUG9pbnRlciB0byB0aGUgYnVmZmVyIHRvIHN0b3Jl IHRoZSByYW5kb20gcmVzdWx0Lg0KPj4gKw0KPj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICAgUmFuZG9tIGJ5dGVzIGdlbmVyYXRpb24gc3VjY2VlZGVkLg0KPj4gKyAgQHJldHZhbCBFRklf Tk9UX1JFQURZICAgICAgRmFpbGVkIHRvIHJlcXVlc3QgcmFuZG9tIGJ5dGVzLg0KPj4gKw0KPj4g KyoqLw0KPj4gK1NUQVRJQw0KPj4gK0JPT0xFQU4NCj4+ICtFRklBUEkNCj4+ICtSYW5kR2V0Qnl0 ZXMgKA0KPj4gKyAgSU4gVUlOVE4gICAgICAgICBMZW5ndGgsDQo+PiArICBPVVQgVUlOVDggICAg ICAgICpSYW5kQnVmZmVyDQo+PiArICApDQo+PiArew0KPj4gKyAgQk9PTEVBTiAgICAgUmV0Ow0K Pj4gKyAgVUlOVDY0ICAgICAgVGVtcFJhbmQ7DQo+PiArDQo+PiArICBSZXQgPSBGQUxTRTsNCj4+ ICsNCj4+ICsgIHdoaWxlIChMZW5ndGggPiAwKSB7DQo+PiArICAgIC8vDQo+PiArICAgIC8vIEdl dCByYW5kb20gbm9pc2UgZnJvbSBwbGF0Zm9ybS4NCj4+ICsgICAgLy8gSWYgaXQgZmFpbGVkLCBm YWxsYmFjayB0byBQZXJmb3JtYW5jZUNvdW50ZXINCj4+ICsgICAgLy8gSWYgeW91IHJlYWxseSBj YXJlIGFib3V0IHNlY3VyaXR5LCB5b3UgbXVzdCBvdmVycmlkZQ0KPj4gKyAgICAvLyBHZXRSYW5k b21Ob2lzZTY0RnJvbVBsYXRmb3JtLg0KPj4gKyAgICAvLw0KPj4gKyAgICBSZXQgPSBHZXRSYW5k b21Ob2lzZTY0ICgmVGVtcFJhbmQpOw0KPj4gKyAgICBpZiAoUmV0ID09IEZBTFNFKSB7DQo+PiAr ICAgICAgUmV0ID0gR2V0UmFuZE5vaXNlNjRGcm9tUGVyZm9ybWFuY2VDb3VudGVyICgmVGVtcFJh bmQpOw0KPj4gKyAgICB9DQo+PiArICAgIGlmICghUmV0KSB7DQo+PiArICAgICAgcmV0dXJuIFJl dDsNCj4+ICsgICAgfQ0KPj4gKyAgICBpZiAoTGVuZ3RoID49IHNpemVvZiAoVGVtcFJhbmQpKSB7 DQo+PiArICAgICAgKigoVUlOVDY0KikgUmFuZEJ1ZmZlcikgPSBUZW1wUmFuZDsNCj4+ICsgICAg ICBSYW5kQnVmZmVyICs9IHNpemVvZiAoVUlOVDY0KTsNCj4+ICsgICAgICBMZW5ndGggLT0gc2l6 ZW9mIChUZW1wUmFuZCk7DQo+PiArICAgIH0gZWxzZSB7DQo+PiArICAgICAgQ29weU1lbSAoUmFu ZEJ1ZmZlciwgJlRlbXBSYW5kLCBMZW5ndGgpOw0KPj4gKyAgICAgIExlbmd0aCA9IDA7DQo+PiAr ICAgIH0NCj4+ICsgIH0NCj4+ICsNCj4+ICsgIHJldHVybiBSZXQ7DQo+PiArfQ0KPj4gKw0KPj4g Ky8qKg0KPj4gKyAgQ3JlYXRlcyBhIDEyOGJpdCByYW5kb20gdmFsdWUgdGhhdCBpcyBmdWxseSBm b3J3YXJkIGFuZCBiYWNrd2FyZCANCj4+ICtwcmVkaWN0aW9uIHJlc2lzdGFudCwNCj4+ICsgIHN1 aXRhYmxlIGZvciBzZWVkaW5nIGEgTklTVCBTUDgwMC05MCBDb21wbGlhbnQuDQo+PiArICBUaGlz IGZ1bmN0aW9uIHRha2VzIG11bHRpcGxlIHJhbmRvbSBudW1iZXJzIGZyb20gDQo+PiArUGVyZm9y bWFuY2VDb3VudGVyIHRvIGVuc3VyZSByZXNlZWRpbmcNCj4+ICsgIGFuZCBwZXJmb3JtcyBBRVMt Q0JDLU1BQyBvdmVyIHRoZSBkYXRhIHRvIGNvbXB1dGUgdGhlIHNlZWQgdmFsdWUuDQo+PiArDQo+ PiArICBAcGFyYW1bb3V0XSAgU2VlZEJ1ZmZlciAgICBQb2ludGVyIHRvIGEgMTI4Yml0IGJ1ZmZl ciB0byBzdG9yZSB0aGUgcmFuZG9tIHNlZWQuDQo+PiArDQo+PiArICBAcmV0dmFsIFRSVUUgICAg ICAgIFJhbmRvbSBzZWVkIGdlbmVyYXRpb24gc3VjY2VlZGVkLg0KPj4gKyAgQHJldHZhbCBGQUxT RSAgICAgIEZhaWxlZCB0byByZXF1ZXN0IHJhbmRvbSBieXRlcy4NCj4+ICsNCj4+ICsqKi8NCj4+ ICtTVEFUSUMNCj4+ICtCT09MRUFODQo+PiArRUZJQVBJDQo+PiArUmFuZEdldFNlZWQxMjggKA0K Pj4gKyAgT1VUIFVJTlQ4ICAgICAgICAqU2VlZEJ1ZmZlcg0KPj4gKyAgKQ0KPj4gK3sNCj4+ICsg IEJPT0xFQU4gICAgIFJldDsNCj4+ICsgIFVJTlQ4ICAgICAgIFJhbmRCeXRlWzE2XTsNCj4+ICsg IFVJTlQ4ICAgICAgIEtleVsxNl07DQo+PiArICBVSU5UOCAgICAgICBGZnZbMTZdOw0KPj4gKyAg VUlOVDggICAgICAgWG9yZWRbMTZdOw0KPj4gKyAgVUlOVDMyICAgICAgSW5kZXg7DQo+PiArICBV SU5UMzIgICAgICBJbmRleDI7DQo+PiArICBBRVNfS0VZICAgICBBRVNLZXk7DQo+PiArDQo+PiAr ICAvLw0KPj4gKyAgLy8gQ2hvc2UgYW4gYXJiaXRhcnkga2V5IGFuZCB6ZXJvIHRoZSBmZWVkX2Zv cndhcmRfdmFsdWUgKEZGVikgIC8vIA0KPj4gKyBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCAxNjsg SW5kZXgrKykgew0KPj4gKyAgICBLZXlbSW5kZXhdID0gKFVJTlQ4KSBJbmRleDsNCj4+ICsgICAg RmZ2W0luZGV4XSA9IDA7DQo+PiArICB9DQo+PiArDQo+PiArICBBRVNfc2V0X2VuY3J5cHRfa2V5 IChLZXksIDE2ICogOCwgJkFFU0tleSk7DQo+PiArDQo+PiArICAvLw0KPj4gKyAgLy8gUGVyZm9y bSBDQkNfTUFDIG92ZXIgMzIgKiAxMjggYml0IHZhbHVlcywgd2l0aCAxMHVzIGdhcHMgDQo+PiAr IGJldHdlZW4NCj4+ICsgMTI4IGJpdCB2YWx1ZSAgLy8gVGhlIDEwdXMgZ2FwcyB3aWxsIGVuc3Vy ZSBtdWx0aXBsZSByZXNlZWRzIHdpdGhpbiANCj4+ICsgdGhlIHN5c3RlbSB0aW1lIHdpdGggYSBs YXJnZSAgLy8gZGVzaWduIG1hcmdpbi4NCj4+ICsgIC8vDQo+PiArICBmb3IgKEluZGV4ID0gMDsg SW5kZXggPCAzMjsgSW5kZXgrKykgew0KPj4gKyAgICBNaWNyb1NlY29uZERlbGF5ICgxMCk7DQo+ PiArICAgIFJldCA9IFJhbmRHZXRCeXRlcyAoMTYsIFJhbmRCeXRlKTsNCj4+ICsgICAgaWYgKCFS ZXQpIHsNCj4+ICsgICAgICByZXR1cm4gUmV0Ow0KPj4gKyAgICB9DQo+PiArDQo+PiArICAgIC8v DQo+PiArICAgIC8vIFBlcmZvcm0gWE9SIG9wZXJhdGlvbnMgb24gdHdvIDEyOC1iaXQgdmFsdWUu DQo+PiArICAgIC8vDQo+PiArICAgIGZvciAoSW5kZXgyID0gMDsgSW5kZXgyIDwgMTY7IEluZGV4 MisrKSB7DQo+PiArICAgICAgWG9yZWRbSW5kZXgyXSA9IFJhbmRCeXRlW0luZGV4Ml0gXiBGZnZb SW5kZXgyXTsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBBRVNfZW5jcnlwdCAoWG9yZWQsIEZm diwgJkFFU0tleSk7ICB9DQo+PiArDQo+PiArICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCAxNjsg SW5kZXgrKykgew0KPj4gKyAgICBTZWVkQnVmZmVyW0luZGV4XSA9IEZmdltJbmRleF07DQo+PiAr ICB9DQo+PiArDQo+PiArICByZXR1cm4gUmV0Ow0KPj4gK30NCj4+ICsNCj4+ICsvKioNCj4+ICsg IEdlbmVyYXRlIGhpZ2gtcXVhbGl0eSBlbnRyb3B5IHNvdXJjZS4NCj4+ICsNCj4+ICsgIEBwYXJh bVtpbl0gICBMZW5ndGggICAgICAgIFNpemUgb2YgdGhlIGJ1ZmZlciwgaW4gYnl0ZXMsIHRvIGZp bGwgd2l0aC4NCj4+ICsgIEBwYXJhbVtvdXRdICBFbnRyb3B5ICAgICAgIFBvaW50ZXIgdG8gdGhl IGJ1ZmZlciB0byBzdG9yZSB0aGUgZW50cm9weSBkYXRhLg0KPj4gKw0KPj4gKyAgQHJldHZhbCBF RklfU1VDQ0VTUyAgICAgICAgRW50cm9weSBnZW5lcmF0aW9uIHN1Y2NlZWRlZC4NCj4+ICsgIEBy ZXR2YWwgRUZJX05PVF9SRUFEWSAgICAgIEZhaWxlZCB0byByZXF1ZXN0IHJhbmRvbSBkYXRhLg0K Pj4gKw0KPj4gKyoqLw0KPj4gK1NUQVRJQw0KPj4gK0JPT0xFQU4NCj4+ICtFRklBUEkNCj4+ICtS YW5kR2VuZXJhdGVFbnRyb3B5ICgNCj4+ICsgIElOIFVJTlROICAgICAgICAgTGVuZ3RoLA0KPj4g KyAgT1VUIFVJTlQ4ICAgICAgICAqRW50cm9weQ0KPj4gKyAgKQ0KPj4gK3sNCj4+ICsgIEJPT0xF QU4gICAgIFJldDsNCj4+ICsgIFVJTlROICAgICAgIEJsb2NrQ291bnQ7DQo+PiArICBVSU5UOCAg ICAgICBTZWVkWzE2XTsNCj4+ICsgIFVJTlQ4ICAgICAgICpQdHI7DQo+PiArDQo+PiArICBCbG9j a0NvdW50ID0gTGVuZ3RoIC8gMTY7DQo+PiArICBQdHIgICAgICAgID0gKFVJTlQ4ICopIEVudHJv cHk7DQo+PiArDQo+PiArICAvLw0KPj4gKyAgLy8gR2VuZXJhdGUgaGlnaC1xdWFsaXR5IHNlZWQg Zm9yIERSQkcgRW50cm9weSAgLy8gIHdoaWxlIA0KPj4gKyAoQmxvY2tDb3VudCA+IDApIHsNCj4+ ICsgICAgUmV0ID0gUmFuZEdldFNlZWQxMjggKFNlZWQpOw0KPj4gKyAgICBpZiAoIVJldCkgew0K Pj4gKyAgICAgIHJldHVybiBSZXQ7DQo+PiArICAgIH0NCj4+ICsgICAgQ29weU1lbSAoUHRyLCBT ZWVkLCAxNik7DQo+PiArDQo+PiArICAgIEJsb2NrQ291bnQtLTsNCj4+ICsgICAgUHRyID0gUHRy ICsgMTY7DQo+PiArICB9DQo+PiArDQo+PiArICAvLw0KPj4gKyAgLy8gUG9wdWxhdGUgdGhlIHJl bWFpbmVkIGRhdGEgYXMgcmVxdWVzdC4NCj4+ICsgIC8vDQo+PiArICBSZXQgPSBSYW5kR2V0U2Vl ZDEyOCAoU2VlZCk7DQo+PiArICBpZiAoIVJldCkgew0KPj4gKyAgICByZXR1cm4gUmV0Ow0KPj4g KyAgfQ0KPj4gKyAgQ29weU1lbSAoUHRyLCBTZWVkLCAoTGVuZ3RoICUgMTYpKTsNCj4+ICsNCj4+ ICsgIHJldHVybiBSZXQ7DQo+PiArfQ0KPj4gKw0KPj4gKy8qDQo+PiArICogQWRkIHJhbmRvbSBi eXRlcyB0byB0aGUgcG9vbCB0byBhY3F1aXJlIHJlcXVlc3RlZCBhbW91bnQgb2YgDQo+PiArZW50 cm9weQ0KPj4gKyAqDQo+PiArICogVGhpcyBmdW5jdGlvbiBpcyBwbGF0Zm9ybSBzcGVjaWZpYyBh bmQgdHJpZXMgdG8gYWNxdWlyZSB0aGUgDQo+PiArcmVxdWVzdGVkDQo+PiArICogYW1vdW50IG9m IGVudHJvcHkgYnkgcG9sbGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBlbnRyb3B5IHNvdXJjZXMuDQo+ PiArICoNCj4+ICsgKiBUaGlzIGlzIE9wZW5TU0wgcmVxdWlyZWQgaW50ZXJmYWNlLg0KPj4gKyAq Lw0KPj4gK3NpemVfdCByYW5kX3Bvb2xfYWNxdWlyZV9lbnRyb3B5KFJBTkRfUE9PTCAqcG9vbCkg ew0KPj4gKyAgQk9PTEVBTiAgUmV0Ow0KPj4gKyAgc2l6ZV90IGJ5dGVzX25lZWRlZDsNCj4+ICsg IHVuc2lnbmVkIGNoYXIgKiBidWZmZXI7DQo+PiArDQo+PiArICBieXRlc19uZWVkZWQgPSByYW5k X3Bvb2xfYnl0ZXNfbmVlZGVkKHBvb2wsIDEgLyplbnRyb3B5X2ZhY3RvciovKTsgDQo+PiArIGlm IChieXRlc19uZWVkZWQgPiAwKSB7DQo+PiArICAgIGJ1ZmZlciA9IHJhbmRfcG9vbF9hZGRfYmVn aW4ocG9vbCwgYnl0ZXNfbmVlZGVkKTsNCj4+ICsNCj4+ICsgICAgaWYgKGJ1ZmZlciAhPSBOVUxM KSB7DQo+PiArICAgICAgUmV0ID0gUmFuZEdlbmVyYXRlRW50cm9weShieXRlc19uZWVkZWQsIGJ1 ZmZlcik7DQo+PiArICAgICAgaWYgKEZBTFNFID09IFJldCkgew0KPj4gKyAgICAgICAgcmFuZF9w b29sX2FkZF9lbmQocG9vbCwgMCwgMCk7DQo+PiArICAgICAgfSBlbHNlIHsNCj4+ICsgICAgICAg IHJhbmRfcG9vbF9hZGRfZW5kKHBvb2wsIGJ5dGVzX25lZWRlZCwgOCAqIGJ5dGVzX25lZWRlZCk7 DQo+PiArICAgICAgfQ0KPj4gKyAgICB9DQo+PiArICB9DQo+PiArDQo+PiArICByZXR1cm4gcmFu ZF9wb29sX2VudHJvcHlfYXZhaWxhYmxlKHBvb2wpOw0KPj4gK30NCj4+ICsNCj4+ICsvKg0KPj4g KyAqIEltcGxlbWVudGF0aW9uIGZvciBVRUZJDQo+PiArICoNCj4+ICsgKiBUaGlzIGlzIE9wZW5T U0wgcmVxdWlyZWQgaW50ZXJmYWNlLg0KPj4gKyAqLw0KPj4gK2ludCByYW5kX3Bvb2xfYWRkX25v bmNlX2RhdGEoUkFORF9QT09MICpwb29sKSB7DQo+PiArICBzdHJ1Y3Qgew0KPj4gKyAgICBVSU5U NjQgIFJhbmQ7DQo+PiArICAgIFVJTlQ2NCAgVGltZXJWYWx1ZTsNCj4+ICsgIH0gZGF0YSA9IHsg MCB9Ow0KPj4gKw0KPj4gKyAgUmFuZEdldEJ5dGVzKDgsIChVSU5UOCAqKSYoZGF0YS5SYW5kKSk7 ICBkYXRhLlRpbWVyVmFsdWUgPSANCj4+ICsgR2V0UGVyZm9ybWFuY2VDb3VudGVyKCk7DQo+PiAr DQo+PiArICByZXR1cm4gcmFuZF9wb29sX2FkZChwb29sLCAodW5zaWduZWQgY2hhciopJmRhdGEs IHNpemVvZihkYXRhKSwgDQo+PiArMCk7IH0NCj4+ICsNCj4+ICsvKg0KPj4gKyAqIEltcGxlbWVu dGF0aW9uIGZvciBVRUZJDQo+PiArICoNCj4+ICsgKiBUaGlzIGlzIE9wZW5TU0wgcmVxdWlyZWQg aW50ZXJmYWNlLg0KPj4gKyAqLw0KPj4gK2ludCByYW5kX3Bvb2xfYWRkX2FkZGl0aW9uYWxfZGF0 YShSQU5EX1BPT0wgKnBvb2wpIHsNCj4+ICsgIHN0cnVjdCB7DQo+PiArICAgIFVJTlQ2NCAgUmFu ZDsNCj4+ICsgICAgVUlOVDY0ICBUaW1lclZhbHVlOw0KPj4gKyAgfSBkYXRhID0geyAwIH07DQo+ PiArDQo+PiArICBSYW5kR2V0Qnl0ZXMoOCwgKFVJTlQ4ICopJihkYXRhLlJhbmQpKTsgIGRhdGEu VGltZXJWYWx1ZSA9IA0KPj4gKyBHZXRQZXJmb3JtYW5jZUNvdW50ZXIoKTsNCj4+ICsNCj4+ICsg IHJldHVybiByYW5kX3Bvb2xfYWRkKHBvb2wsICh1bnNpZ25lZCBjaGFyKikmZGF0YSwgc2l6ZW9m KGRhdGEpLCANCj4+ICswKTsgfQ0KPj4gKw0KPj4gKy8qDQo+PiArICogRHVtbXkgSW1wbGVtZW10 YXRpb24gZm9yIFVFRkkNCj4+ICsgKg0KPj4gKyAqIFRoaXMgaXMgT3BlblNTTCByZXF1aXJlZCBp bnRlcmZhY2UuDQo+PiArICovDQo+PiAraW50IHJhbmRfcG9vbF9pbml0KHZvaWQpDQo+PiArew0K Pj4gKyAgcmV0dXJuIDE7DQo+PiArfQ0KPj4gKw0KPj4gKy8qDQo+PiArICogRHVtbXkgSW1wbGVt ZW10YXRpb24gZm9yIFVFRkkNCj4+ICsgKg0KPj4gKyAqIFRoaXMgaXMgT3BlblNTTCByZXF1aXJl ZCBpbnRlcmZhY2UuDQo+PiArICovDQo+PiArdm9pZCByYW5kX3Bvb2xfY2xlYW51cCh2b2lkKQ0K Pj4gK3sNCj4+ICt9DQo+PiArDQo+PiArLyoNCj4+ICsgKiBEdW1teSBJbXBsZW1lbXRhdGlvbiBm b3IgVUVGSQ0KPj4gKyAqDQo+PiArICogVGhpcyBpcyBPcGVuU1NMIHJlcXVpcmVkIGludGVyZmFj ZS4NCj4+ICsgKi8NCj4+ICt2b2lkIHJhbmRfcG9vbF9rZWVwX3JhbmRvbV9kZXZpY2VzX29wZW4o aW50IGtlZXApIHsgfQ0KPj4gKw0KPj4gZGlmZiAtLWdpdCBhL0NyeXB0b1BrZy9MaWJyYXJ5L09w ZW5zc2xMaWIvcmFuZF9wb29sX25vaXNlLmMNCj4+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNz bExpYi9yYW5kX3Bvb2xfbm9pc2UuYw0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4 IDAwMDAwMDAwMDAwMC4uYzE2ZWQ4YjQ1NDk2DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9D cnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbF9ub2lzZS5jDQo+PiBAQCAtMCww ICsxLDI5IEBADQo+PiArLyoqIEBmaWxlDQo+PiArICBQcm92aWRlIHJhbmQgbm9pc2Ugc291cmNl Lg0KPj4gKw0KPj4gK0NvcHlyaWdodCAoYykgMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPj4gK1NQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+PiArDQo+PiArKiovDQo+PiArDQo+PiArI2luY2x1ZGUgPExpYnJhcnkv QmFzZUxpYi5oPg0KPj4gKw0KPj4gKy8qKg0KPj4gKyAgR2V0IDY0LWJpdCBub2lzZSBzb3VyY2UN Cj4+ICsNCj4+ICsgIEBwYXJhbVtvdXRdIFJhbmQgICAgICAgICBCdWZmZXIgcG9pbnRlciB0byBz dG9yZSA2NC1iaXQgbm9pc2Ugc291cmNlDQo+PiArDQo+PiArICBAcmV0dmFsIEZBTFNFICAgICAg ICAgICAgRmFpbGVkIHRvIGdlbmVyYXRlDQo+PiArKiovDQo+PiArQk9PTEVBTg0KPj4gK0VGSUFQ SQ0KPj4gK0dldFJhbmRvbU5vaXNlNjQgKA0KPj4gKyAgT1VUIFVJTlQ2NCAgICAgICAgICpSYW5k DQo+PiArICApDQo+PiArew0KPj4gKyAgLy8NCj4+ICsgIC8vIFJldHVybiBGQUxTRSB3aWxsIGZh bGxiYWNrIHRvIHVzZSBQZXJmb3JtYWNlQ291bnRlciB0bw0KPj4gKyAgLy8gZ2VuZXJhdGUgbm9p c2UuDQo+PiArICAvLw0KPj4gKyAgcmV0dXJuIEZBTFNFOw0KPj4gK30NCj4+IGRpZmYgLS1naXQg YS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbF9ub2lzZV90c2MuYw0KPj4g Yi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbF9ub2lzZV90c2MuYw0KPj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNDE1ODEwNjIzMWZk DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGli L3JhbmRfcG9vbF9ub2lzZV90c2MuYw0KPj4gQEAgLTAsMCArMSw0MyBAQA0KPj4gKy8qKiBAZmls ZQ0KPj4gKyAgUHJvdmlkZSByYW5kIG5vaXNlIHNvdXJjZS4NCj4+ICsNCj4+ICtDb3B5cmlnaHQg KGMpIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4+ ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPj4gKw0KPj4g KyoqLw0KPj4gKw0KPj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4NCj4+ICsjaW5jbHVk ZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1RpbWVyTGliLmg+ DQo+PiArDQo+PiArLyoqDQo+PiArICBHZXQgNjQtYml0IG5vaXNlIHNvdXJjZQ0KPj4gKw0KPj4g KyAgQHBhcmFtW291dF0gUmFuZCAgICAgICAgIEJ1ZmZlciBwb2ludGVyIHRvIHN0b3JlIDY0LWJp dCBub2lzZSBzb3VyY2UNCj4+ICsNCj4+ICsgIEByZXR2YWwgVFJVRSAgICAgICAgICAgICBHZXQg cmFuZG9tbmVzcyBzdWNjZXNzZnVsbHkuDQo+PiArICBAcmV0dmFsIEZBTFNFICAgICAgICAgICAg RmFpbGVkIHRvIGdlbmVyYXRlDQo+PiArKiovDQo+PiArQk9PTEVBTg0KPj4gK0VGSUFQSQ0KPj4g K0dldFJhbmRvbU5vaXNlNjQgKA0KPj4gKyAgT1VUIFVJTlQ2NCAgICAgICAgICpSYW5kDQo+PiAr ICApDQo+PiArew0KPj4gKyAgVUlOVDMyIEluZGV4Ow0KPj4gKyAgVUlOVDMyICpSYW5kUHRyOw0K Pj4gKw0KPj4gKyAgaWYgKE5VTEwgPT0gUmFuZCkgew0KPj4gKyAgICByZXR1cm4gRkFMU0U7DQo+ PiArICB9DQo+PiArDQo+PiArICBSYW5kUHRyID0gKFVJTlQzMiAqKVJhbmQ7DQo+PiArDQo+PiAr ICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCAyOyBJbmRleCArKykgew0KPj4gKyAgICAqUmFuZFB0 ciA9IChVSU5UMzIpICgoQXNtUmVhZFRzYyAoKSkgJiAweEZGKTsNCj4+ICsgICAgUmFuZFB0cisr Ow0KPj4gKyAgICBNaWNyb1NlY29uZERlbGF5ICgxMCk7DQo+PiArICB9DQo+PiArDQo+PiArICBy ZXR1cm4gVFJVRTsNCj4+ICt9DQo+PiBkaWZmIC0tZ2l0IGEvQ3J5cHRvUGtnL0xpYnJhcnkvT3Bl bnNzbExpYi9vcGVuc3NsDQo+PiBiL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvb3BlbnNz bA0KPj4gaW5kZXggNzRmMmQ5YzFlYzVmLi41MGVhYWM5ZjMzMzcgMTYwMDAwDQo+PiAtLS0gYS9D cnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL29wZW5zc2wNCj4+ICsrKyBiL0NyeXB0b1BrZy9M aWJyYXJ5L09wZW5zc2xMaWIvb3BlbnNzbA0KPj4gQEAgLTEgKzEgQEANCj4+IC1TdWJwcm9qZWN0 IGNvbW1pdCA3NGYyZDljMWVjNWY1NTEwZTFkM2RhNWE5ZjAzYzI4ZGYwOTc3NzYyDQo+PiArU3Vi cHJvamVjdCBjb21taXQgNTBlYWFjOWYzMzM3NjY3MjU5ZGU3MjU0NTFmMjAxZTc4NDU5OTY4Nw0K Pj4NCj4gDQoNCg==