From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: xiaoyux.lu@intel.com) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by groups.io with SMTP; Fri, 17 May 2019 04:15:01 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 May 2019 04:15:01 -0700 X-ExtLoop1: 1 Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by FMSMGA003.fm.intel.com with ESMTP; 17 May 2019 04:15:01 -0700 Received: from fmsmsx121.amr.corp.intel.com (10.18.125.36) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 17 May 2019 04:15:00 -0700 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by fmsmsx121.amr.corp.intel.com (10.18.125.36) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 17 May 2019 04:15:00 -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; Fri, 17 May 2019 19:14:58 +0800 From: "Xiaoyu Lu" To: Laszlo Ersek , "devel@edk2.groups.io" , "Wang, Jian J" CC: "Ye, Ting" 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 Date: Fri, 17 May 2019 11:14:57 +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> In-Reply-To: <1bd39ee7-5cf4-2897-4571-812029754475@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: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZDA4ZjA3YmMtYjg0Zi00MDFlLTljZWEtMGE4NmNlN2FjYjg3IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiYVZMdW44RU9vVXhjN2JmZDRCVllQVDB6S2JaKytiVUUwalVjTzJKcTZwRHdrbTNETUp1V1VJVGhweTZNbndsWCJ9 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 TGFzemxvLA0KDQpJIHRoaW5rIChiKSBpcyBiZXR0ZXIgYW5kIGhhdmUgYWxyZWFkeSBkb25lIHRo aXMuDQoNCkFib3V0IChiLzEpOiANCg0KT25lIHRoZSBvbmUgaGFuZCwgdGhlIGltcGxlbWVudGF0 aW9uIHN0aWxsIG5lZWQgZGlzY3VzcyBsYXRlci4gDQpPbiB0aGUgb3RoZXIgaGFuZDoNCg0KUmVm ZXIgdG8gb3BlbnNzbC9JTlNUQUxMIHRoZSBtZWFuaW5nIG9mIC0td2l0aC1yYW5kLXNlZWQ9bm9u ZQ0KICAgDQogID4gICAgICAgICAgICAgICAgIG5vbmU6ICAgICAgIERpc2FibGUgYXV0b21hdGlj IHNlZWRpbmcuIFRoaXMgaXMgdGhlIGRlZmF1bHQNCiAgPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgb24gc29tZSBvcGVyYXRpbmcgc3lzdGVtcyB3aGVyZSBubyBzdWl0YWJsZQ0KICA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyb3B5IHNvdXJjZSBleGlzdHMsIG9yIG5vIHN1 cHBvcnQgZm9yIGl0IGlzDQogID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVu dGVkIHlldC4NCg0KSSB0aGluayB3aGVuIC0td2l0aC1yYW5kLXNlZWQ9bm9uZSBvcHRpb24gaXMg c2V0LCB0aGUgYmVzdCB3YXkgdG8gaW1wbGVtZW50IHJhbmRfcG9vbF9hY3F1aXJlX2VudHJvcHkg c2hvdWxkIGxpa2UgdGhpczoNCg0KPnNpemVfdCByYW5kX3Bvb2xfYWNxdWlyZV9lbnRyb3B5KFJB TkRfUE9PTCAqcG9vbCkNCj57DQo+ICByZXR1cm4gcmFuZF9wb29sX2VudHJvcHlfYXZhaWxhYmxl KHBvb2wpOw0KPn0NCj4NCj5pbnQgcmFuZF9wb29sX2FkZF9ub25jZV9kYXRhKFJBTkRfUE9PTCAq cG9vbCkNCj57ICANCj4gIC8vIEkgdGhpbmsgUGVyZm9ybWFuY2VDb3VudGVyIGlzIGFuIG9wdGlv bmFsIG5vbmNlLg0KPiAgVUlOVDY0IGRhdGE7DQo+ICBkYXRhID0gR2V0UGVyZm9ybWFuY2VDb3Vu dGVyKCk7IA0KPiAgDQo+ICByZXR1cm4gcmFuZF9wb29sX2FkZChwb29sLCAodW5zaWduZWQgY2hh ciopJmRhdGEsIHNpemVvZihkYXRhKSwgMCk7Pn0NCj4NCj5pbnQgcmFuZF9wb29sX2FkZF9hZGRp dGlvbmFsX2RhdGEoUkFORF9QT09MICpwb29sKQ0KPnsNCj4gIHJldHVybiAwOw0KPn0NCg0KV2l0 aCB0aGlzLCB3ZSBoYW5kZWQgdGhlIFJhbmRfc2VlZCB3b3JrIHRvIGNhbGxlci4gKGNhbGxlciBt dXN0IHByb3ZpZGUgc2FmZSBzZWVkKS4NCg0KV2hhdCBkbyB5b3UgdGhpbms/DQoNClRoYW5rcywN ClhpYW95dQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogTGFzemxvIEVyc2Vr IFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dIA0KU2VudDogRnJpZGF5LCBNYXkgMTcsIDIwMTkg MTI6MzIgQU0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTHUsIFhpYW95dVggPHhpYW95dXgu bHVAaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQpDYzog WWUsIFRpbmcgPHRpbmcueWVAaW50ZWwuY29tPg0KU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBb UEFUQ0ggdjQgNi83XSBDcnlwdG9Qa2c6IFVwZ3JhZGUgT3BlblNTTCB0byAxLjEuMWINCg0KSGkg SmlhbiwNCg0KT24gMDUvMTYvMTkgMDk6NTQsIFhpYW95dSBsdSB3cm90ZToNCj4gUkVGOiBodHRw czovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTEwODkNCj4gDQo+ICog VXBkYXRlIE9wZW5TU0wgc3VibW9kdWxlIHRvIE9wZW5TU0xfMV8xXzFiDQo+ICAgIE9wZW5TU0xf MV8xXzFiKDUwZWFhYzlmMzMzNzY2NzI1OWRlNzI1NDUxZjIwMWU3ODQ1OTk2ODcpDQo+IA0KPiAq IFJ1biBwcm9jZXNzX2ZpbGVzLnBsIHNjcmlwdCB0byByZWdlbmVyYXRlIE9wZW5zc2xMaWJbQ3J5 cHRvXS5pbmYNCj4gICBhbmQgb3BlbnNzbGNvbmYuaA0KPiANCj4gKiBSZW1vdmUgLUROT19TWVNM T0cgZnJvbSBPUEVOU1NMX0ZMQUdTIGluIE9wZW5zc2xMaWJbQ3J5cHRvXS5pbmYsDQo+ICAgZHVl IHRvIHVwc3RyZWFtIE9wZW5TU0wgY29tbWl0IGNmZjU1YjkwZTk1ZSgiQ2xlYW5pbmcgVUVGSQ0K PiAgIEJ1aWxkIHdpdGggYWRkaXRpb25hbCBPUEVOU1NMX1NZU19VRUZJIGZsYWdzIiwgMjAxNy0w My0yOSksDQo+ICAgd2hpY2ggd2FzIGZpcnN0IHJlbGVhc2VkIGFzIHBhcnQgb2YgT3BlblNTTF8x XzFfMS4NCj4gDQo+ICogU3RhcnRpbmcgd2l0aCBPcGVuU1NMIGNvbW1pdCA4YThkOWUxOTA1KGZp cnN0IHJlbGVhc2UgaW4NCj4gICBPcGVuU1NMXzFfMV8xKSwgdGhlIE9wZW5TU0xfdmVyc2lvbigp IGZ1bmN0aW9uIGNhbiBubyBsb25nZXINCj4gICByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBzdHJp bmcgbGl0ZXJhbCAiY29tcGlsZXI6IGluZm9ybWF0aW9uDQo+ICAgbm90IGF2YWlsYWJsZSIsIGlu IHRoZSBjYXNlIENGTEFHUyBtYWNybyBpcyBub3QgZGVmaW5lZC4NCj4gICBJbnN0ZWFkLCB0aGUg ZnVuY3Rpb24gbm93IGhhcyBhIGhhcmQgZGVwZW5kZW5jeSBvbiB0aGUgZ2xvYmFsDQo+ICAgdmFy aWFibGUgJ2NvbXBpbGVyX2ZsYWdzJy4gVGhpcyB2YXJpYWJsZSBpcyBub3JtYWxseSBwbGFjZWQN Cj4gICBieSAidXRpbC9ta2J1aWxkaW5mLnBsIiBpbnRvICJidWlsZGluZi5oIi4gSW4gZWRrMiB3 ZSBkb24ndA0KPiAgIHJ1biB0aGF0IHNjcmlwdCB3aGVuZXZlciB3ZSBidWlsZCBPcGVuU1NMLCB0 aGVyZWZvcmUgd2UNCj4gICBtdXN0IHByb3ZpZGUgb3VyIG93biBkdW1teSAnY29tcGlsZXJfZmxh Z3MnLg0KPiANCj4gKiBGcm9tIE9wZW5TU0xfMV8xXzBpKDk3YzA5NTlmMjdiMjk0ZmUxZWIxMGI1 NDcxNDVlYmVmMjUyNGI4OTYpIHRvDQo+ICAgT3BlblNTTF8xXzFfMWIoNTBlYWFjOWYzMzM3NjY3 MjU5ZGU3MjU0NTFmMjAxZTc4NDU5OTY4NyksIE9wZW5TU0wNCj4gICB1cGRhdGVkIERSQkcgLyBS QU5EIHRvIHJlcXVlc3Qgbm9uY2UgYW5kIGFkZGl0aW9uYWwgbG93IGVudHJvcHkNCj4gICByYW5k b21uZXNzIGZyb20gc3lzdGVtKGxpbmUgMjI5IG9wZW5zc2wvQ0hBTkdFUykuDQo+IA0KPiAgIFNp bmNlIE9wZW5TU0xfMV8xXzFiIGRvZXNuJ3QgZnVsbHkgaW1wbGVtZW50IHJhbmQgcG9vbCBmdW5j dGlvbnMNCj4gICBmb3IgVUVGSS4gV2UgbXVzdCBwcm92aWRlIGEgbWV0aG9kIHRvIGltcGxlbmV0 IHRoZXNlIG1ldGhvZC4NCj4gICBUU0MgaXMgdXNlZCBhcyBmaXJzdCBlbnRyb3B5IHNvdXJjZSBp ZiBpdCdzIGF2YWlsYWJlIG90aGVyd2lzZQ0KPiAgIGZhbGxiYWNrIHRvIFRpbWVyTGliLiBCdXQg d2UgYXJlIG5vdCBzdXJlIHRoZSBhbW91bnQgb2YgcmFuZG9tbmVzcw0KPiAgIHRoZXkgcHJvdmlk ZS4gSWYgeW91IHJlYWxseSBjYXJlIGFib3V0IHRoZSBzZWN1cml0eSwgb25lIGNob2ljZSBpcw0K PiAgIG92ZXJyaWRlZCBpdCB3aXRoIGhhcmR3YXJlIGdlbmVyYXRvci4NCj4gDQo+ICAgQWRkIHJh bmRfcG9vbC5jIHRvIGltcGxlbWVudCB0aGVzZSBmdW5jdGlvbnMgcmVxdWlyZWQgYnkgT3BlblNT TA0KPiAgICAgcmFuZF9wb29sX2FjcXVpcmVfZW50cm9weQ0KPiAgICAgcmFuZF9wb29sX2FkZF9u b25jZV9kYXRhDQo+ICAgICByYW5kX3Bvb2xfYWRkX2FkZGl0aW9uYWxfZGF0YQ0KPiAgICAgcmFu ZF9wb29sX2luaXQNCj4gICAgIHJhbmRfcG9vbF9jbGVhbnVwDQo+ICAgICByYW5kX3Bvb2xfa2Vl cF9yYW5kb21fZGV2aWNlc19vcGVuDQo+IA0KPiAgIEFuZCBhZGQgcmFuZF9wb29sX25vaXNlLiog Zm9yIGdldHRpbmcgZW50cm9weSBub2lzZSBmcm9tIGRpZmZlcmVudA0KPiAgIGFyY2hpdGVjdHVy ZS4NCj4gDQo+ICogV2UgZG9uJ3QgbmVlZCBvc3NsX3N0b3JlIGZ1bmN0aW9ucy4gV2UgZXhjbHVk ZSByZWxhdGl2ZSBmaWxlcw0KPiAgIHRocm91Z2ggcHJvY2Vzc19maWxlcy5wbC4gQW5kIG9zc2xf c3RvcmVfY2xlYW51cF9pbnQgd2FzIGZpcnN0DQo+ICAgYWRkZWQgaW4gY3J5cHRvL2luaXQuYyBP cGVuU1NMXzFfMV8xKDcxYTU1MTZkKS4NCj4gICBTbyBhZGQgYSBuZXcgZmlsZShvc3NsX3N0b3Jl LmMpIHRvIGltcGxlbWVudCBvc3NsX3N0b3JlX2NsZWFudXBfaW50DQo+ICAgZnVuY3Rpb24uDQo+ IA0KPiAqIEJVRlNJWiBpcyB1c2VkIGJ5IGNyeXB0by9ldnAvZXZwX2tleS5jKE9wZW5TU0xfMV8x XzFiKQ0KPiAgIEFuZCBpdCBpcyBkZWNsYXJlZCBpbiBzdGRpby5oLiBTbyBhZGQgaXQgdG8gQ3J0 TGliU3VwcG9ydC5oLg0KPiAgIEhlcmUncyBhIGRpc2N1c3Npb24gYWJvdXQgdGhpcy4NCj4gICBS ZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvaXNzdWVzLzg5MDQNCj4gDQo+ IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiBDYzogVGluZyBZZSA8 dGluZy55ZUBpbnRlbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IFhpYW95dSBMdSA8eGlhb3l1eC5s dUBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVu c3NsTGliLmluZiAgICAgICAgfCAgNjAgKysrLQ0KPiAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNz bExpYi9PcGVuc3NsTGliQ3J5cHRvLmluZiAgfCAgNTEgKysrLQ0KPiAgQ3J5cHRvUGtnL0xpYnJh cnkvSW5jbHVkZS9DcnRMaWJTdXBwb3J0LmggICAgICAgICAgfCAgMTMgKy0NCj4gIENyeXB0b1Br Zy9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oICAgIHwgIDU0ICsrKy0NCj4g IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvYnVpbGRpbmYuaCAgICAgICAgICAgIHwgICAy ICsNCj4gIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFuZF9wb29sX25vaXNlLmggICAg IHwgIDI5ICsrDQo+ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL29zc2xfc3RvcmUuYyAg ICAgICAgICB8ICAxNyArKw0KPiAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9yYW5kX3Bv b2wuYyAgICAgICAgICAgfCAzMTYgKysrKysrKysrKysrKysrKysrKysrDQo+ICBDcnlwdG9Qa2cv TGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbF9ub2lzZS5jICAgICB8ICAyOSArKw0KPiAgQ3J5 cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9yYW5kX3Bvb2xfbm9pc2VfdHNjLmMgfCAgNDMgKysr DQo+ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL29wZW5zc2wgICAgICAgICAgICAgICB8 ICAgMiArLQ0KPiAgMTEgZmlsZXMgY2hhbmdlZCwgNTg0IGluc2VydGlvbnMoKyksIDMyIGRlbGV0 aW9ucygtKSAgY3JlYXRlIG1vZGUgDQo+IDEwMDY0NCBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3Ns TGliL3JhbmRfcG9vbF9ub2lzZS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL0xp YnJhcnkvT3BlbnNzbExpYi9vc3NsX3N0b3JlLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBDcnlw dG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbC5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9yYW5kX3Bvb2xfbm9pc2UuYw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFuZF9wb29sX25v aXNlX3RzYy5jDQoNCkZvciB0aGlzIHBhdGNoLCBJIGNhbiBvZmZlciB0d28ga2luZHMgb2YgcmV2 aWV3czoNCg0KLS0tKi0tLQ0KDQooYSkgSWYgeW91IHByZWZlciB0byBwdXNoIHRoaXMgcGF0Y2gg aW4gdGhlIHByZXNlbnQgZm9ybSAodGhhdCBpcywgZXhhY3RseSBhcyBwb3N0ZWQpLCB0aGVuIEkg d2lsbCBub3QgZ2l2ZSBhbnkgb2ZmaWNpYWwgZmVlZGJhY2sgdGFncywgZHVlIHRvIHRoZSBjcnlw dG8gY29udGVudHMuIEkgd2lsbCBub3QgYmxvY2sgdGhlIHBhdGNoIGVpdGhlciwgc28gaWYgeW91 IGFuZCBUaW5nIGFyZSBmaW5lIHdpdGggdGhlIHBhdGNoLCBpdCdzIE9LIGZvciB5b3UgdG8gcHVz aCBpdCwgZnJvbSBteSBzaWRlLg0KDQotLS0qLS0tDQoNCihiKSBBbHRlcm5hdGl2ZWx5LCB5b3Ug Y291bGQgc3BsaXQgdGhlIHBhdGNoIGluIHR3byBoYWx2ZXMsIGFzIGZvbGxvd3M6DQoNCihiLzEp IEluIHRoZSBmaXJzdCBoYWxmLCBjb2xsZWN0IGFsbCB0aGUgaHVua3MgZm9yIHRoZSBmb2xsb3dp bmcgZmlsZXM6DQoNCkNyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvb3NzbF9zdG9yZS5jDQpD cnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbC5jDQpDcnlwdG9Qa2cvTGlicmFy eS9PcGVuc3NsTGliL3JhbmRfcG9vbF9ub2lzZS5jDQpDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3Ns TGliL3JhbmRfcG9vbF9ub2lzZS5oDQpDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRf cG9vbF9ub2lzZV90c2MuYw0KDQpwbHVzIGluY2x1ZGUgdGhlIGNvbW1pdCBtZXNzYWdlIHBhcmFn cmFwaHMgYWJvdXQgInJhbmRfcG9vbC5jIiBhbmQgIm9zc2xfc3RvcmUuYyIuDQoNCkZvciB0aGlz IGhhbGYgKGIvMSksIEkgd2lsbCBub3QgZ2l2ZSBhbnkgZmVlZGJhY2suDQoNCg0KKGIvMikgSW4g dGhlIHNlY29uZCBoYWxmLCBjb2xsZWN0IHRoZSByZXN0IG9mIHRoZSBjaGFuZ2VzLCB0aGF0IGlz LCB0aGUgaHVua3MgZm9yIHRoZSBmb2xsb3dpbmcgZmlsZXMgLyBzdWJtb2R1bGVzLCBhbmQgdGhl IHJlc3Qgb2YgdGhlIGNvbW1pdA0KbWVzc2FnZToNCg0KQ3J5cHRvUGtnL0xpYnJhcnkvSW5jbHVk ZS9DcnRMaWJTdXBwb3J0LmgNCkNyeXB0b1BrZy9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9vcGVu c3NsY29uZi5oDQpDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWIuaW5mDQpD cnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJDcnlwdG8uaW5mDQpDcnlwdG9Q a2cvTGlicmFyeS9PcGVuc3NsTGliL2J1aWxkaW5mLmgNCkNyeXB0b1BrZy9MaWJyYXJ5L09wZW5z c2xMaWIvb3BlbnNzbA0KDQpGb3IgdGhlIChiLzIpIGhhbGYgKk9OTFkqLCB5b3UgY2FuIGFkZDoN Cg0KUmV2aWV3ZWQtYnk6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQoNCi0tLSot LS0NCg0KSXQncyB1cCB0byB5b3Ugd2hldGhlciB5b3UgcGljayAoYSkgb3IgKGIpLg0KDQpOb3Jt YWxseSBJIHdvdWxkIHJlcXVlc3QgYSB2NSBzZXJpZXMgZm9yIGltcGxlbWVudGluZyAoYiksIGJ1 dCB3ZSdyZSBvdXQgb2YgdGltZS4gSWYgdGhlIGNvbW11bml0eSB0aGlua3MgdGhhdCBzcGxpdHRp bmcgdXAgdGhpcyBwYXRjaCBpbnRvIGhhbHZlcyAoYi8xKSBhbmQgKGIvMikgaXMgdG9vIGludHJ1 c2l2ZSBmb3IgYSBtYWludGFpbmVyIHRvIGRvIHdpdGhvdXQgcHJvcGVyIHJldmlldywgdGhlbiBJ IHN1Z2dlc3QgZ29pbmcgd2l0aCAoYSkgLS0gYW5kIHRoZW4gSSdsbCBwcm92aWRlIG5vIGZlZWRi YWNrIHRhZ3MuIChCdXQsIEkgd2lsbCBhbHNvIG5vdCBibG9jayB0aGUgcGF0Y2gsIHNlZSBhYm92 ZS4pDQoNCi4uLiBXZWxsLCBpbiB0aGVvcnkgYW55d2F5LCBYaWFveXUgY291bGQgdmVyeSBxdWlj a2x5IHN1Ym1pdCBhIHY1IHNlcmllcywgc3BsaXR0aW5nIHRoaXMgcGF0Y2ggYXMgZXhwbGFpbmVk IHVuZGVyIChiKS4gSW4gdGhhdCBjYXNlLCB0aGUNCihiLzIpIGhhbGYgLS0gYW5kICpPTkxZKiB0 aGF0IGhhbGYgLS0gb2YgdGhpcyBwYXRjaCBjb3VsZCBpbmNsdWRlIG15IFItYiBhdCBvbmNlLg0K DQpTbywgcGxlYXNlIGRlY2lkZS4NCg0KVGhhbmtzIQ0KTGFzemxvDQoNCj4gDQo+IGRpZmYgLS1n aXQgYS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWIuaW5mIA0KPiBiL0Ny eXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYNCj4gaW5kZXggZjRkNzc3 MmMwNjhjLi42MmRkNjE5NjljYjAgMTAwNjQ0DQo+IC0tLSBhL0NyeXB0b1BrZy9MaWJyYXJ5L09w ZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYNCj4gKysrIGIvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNz bExpYi9PcGVuc3NsTGliLmluZg0KPiBAQCAtMSw3ICsxLDcgQEANCj4gICMjIEBmaWxlDQo+ICAj ICBUaGlzIG1vZHVsZSBwcm92aWRlcyBPcGVuU1NMIExpYnJhcnkgaW1wbGVtZW50YXRpb24uDQo+ ICAjDQo+IC0jICBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyANCj4gcmVzZXJ2ZWQuPEJSPg0KPiArIyAgQ29weXJpZ2h0IChjKSAyMDEwIC0g MjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+ICtyZXNlcnZlZC48QlI+DQo+ ICAjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudCAgIyAgIyMg QEAgLTE1LDcgKzE1LDcgDQo+IEBAIFtEZWZpbmVzXQ0KPiAgICBWRVJTSU9OX1NUUklORyAgICAg ICAgICAgICAgICAgPSAxLjANCj4gICAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0g T3BlbnNzbExpYg0KPiAgICBERUZJTkUgT1BFTlNTTF9QQVRIICAgICAgICAgICAgPSBvcGVuc3Ns DQo+IC0gIERFRklORSBPUEVOU1NMX0ZMQUdTICAgICAgICAgICA9IC1ETF9FTkRJQU4gLURPUEVO U1NMX1NNQUxMX0ZPT1RQUklOVCAtRF9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURSAtRF9DUlRfTk9O U1REQ19OT19ERVBSRUNBVEUgLUROT19TWVNMT0cNCj4gKyAgREVGSU5FIE9QRU5TU0xfRkxBR1Mg ICAgICAgICAgID0gLURMX0VORElBTiAtRE9QRU5TU0xfU01BTExfRk9PVFBSSU5UIC1EX0NSVF9T RUNVUkVfTk9fREVQUkVDQVRFIC1EX0NSVF9OT05TVERDX05PX0RFUFJFQ0FURQ0KPiAgDQo+ICAj DQo+ICAjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0IEFSTSBBQVJD SDY0DQo+IEBAIC0zMiw2ICszMiw3IEBAIFtTb3VyY2VzXQ0KPiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL2Flcy9hZXNfbWlzYy5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYWVzL2Fl c19vZmIuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Flcy9hZXNfd3JhcC5jDQo+ICsg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYXJpYS9hcmlhLmMNCj4gICAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by9hc24xL2FfYml0c3RyLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24x L2FfZDJpX2ZwLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2FfZGlnZXN0LmMN Cj4gQEAgLTU0LDYgKzU1LDcgQEAgW1NvdXJjZXNdDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vYXNuMS9hbWV0aF9saWIuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYXNu MV9lcnIuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYXNuMV9nZW4uYw0KPiAr ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYXNuMV9pdGVtX2xpc3QuYw0KPiAgICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYXNuMV9saWIuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL2FzbjEvYXNuMV9wYXIuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEv YXNuX21pbWUuYw0KPiBAQCAtMTcyLDYgKzE3NCw3IEBAIFtTb3VyY2VzXQ0KPiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL2NvbmYvY29uZl9zc2wuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL2NwdF9lcnIuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2NyeXB0bGliLmMNCj4g KyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9jdHlwZS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vY3ZlcnNpb24uYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Rlcy9jYmNfY2tz bS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVzL2NiY19lbmMuYw0KPiBAQCAtMTg5 LDcgKzE5Miw2IEBAIFtTb3VyY2VzXQ0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Rlcy9w Y2JjX2VuYy5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVzL3F1ZF9ja3NtLmMNCj4g ICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMvcmFuZF9rZXkuYw0KPiAtICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL2Rlcy9ycGNfZW5jLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9k ZXMvc2V0X2tleS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVzL3N0cjJrZXkuYw0K PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Rlcy94Y2JjX2VuYy5jDQo+IEBAIC0yMDYsNiAr MjA4LDcgQEAgW1NvdXJjZXNdDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGgvZGhfcG1l dGguYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2RoL2RoX3Bybi5jDQo+ICAgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8vZGgvZGhfcmZjNTExNC5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vZGgvZGhfcmZjNzkxOS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZHNvL2Rz b19kbC5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZHNvL2Rzb19kbGZjbi5jDQo+ICAg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZHNvL2Rzb19lcnIuYw0KPiBAQCAtMjI4LDYgKzIzMSw3 IEBAIFtTb3VyY2VzXQ0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX2Flcy5jDQo+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VfYWVzX2NiY19obWFjX3NoYTEuYw0KPiAg ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX2Flc19jYmNfaG1hY19zaGEyNTYuYw0KPiAr ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX2FyaWEuYw0KPiAgICAkKE9QRU5TU0xfUEFU SCkvY3J5cHRvL2V2cC9lX2JmLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9j YW1lbGxpYS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VfY2FzdC5jDQo+IEBA IC0yNDIsNiArMjQ2LDcgQEAgW1NvdXJjZXNdDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v ZXZwL2VfcmM0X2htYWNfbWQ1LmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9y YzUuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX3NlZWQuYw0KPiArICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX3NtNC5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vZXZwL2VfeGNiY19kLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZW5jb2Rl LmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZXZwX2NuZi5jDQo+IEBAIC0yNTks NiArMjY0LDcgQEAgW1NvdXJjZXNdDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL21f bnVsbC5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL21fcmlwZW1kLmMNCj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvbV9zaGExLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by9ldnAvbV9zaGEzLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvbV9z aWd2ZXIuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9tX3dwLmMNCj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvbmFtZXMuYw0KPiBAQCAtMjcxLDEwICsyNzcsMTAgQEAg W1NvdXJjZXNdDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL3Bfc2VhbC5jDQo+ICAg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL3Bfc2lnbi5jDQo+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vZXZwL3BfdmVyaWZ5LmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAv cGJlX3NjcnlwdC5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL3BtZXRoX2ZuLmMN Cj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvcG1ldGhfZ24uYw0KPiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL2V2cC9wbWV0aF9saWIuYw0KPiAtICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL2V2cC9zY3J5cHQuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V4X2RhdGEuYw0K PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2dldGVudi5jDQo+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vaG1hYy9obV9hbWV0aC5jDQo+IEBAIC0yODMsNiArMjg5LDcgQEAgW1NvdXJjZXNd DQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vaW5pdC5jDQo+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8va2RmL2hrZGYuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2tkZi9rZGZf ZXJyLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9rZGYvc2NyeXB0LmMNCj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9rZGYvdGxzMV9wcmYuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL2xoYXNoL2xoX3N0YXRzLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9saGFz aC9saGFzaC5jDQo+IEBAIC0zNjAsMTQgKzM2NywxNCBAQCBbU291cmNlc10NCj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9wa2NzNy9wazdfbWltZS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vcGtjczcvcGs3X3NtaW1lLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9wa2Nz Ny9wa2NzN2Vyci5jDQo+IC0gICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9tZF9yYW5kLmMN Cj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yYW5kL2RyYmdfY3RyLmMNCj4gKyAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9yYW5kL2RyYmdfbGliLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9yYW5kL3JhbmRfZWdkLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yYW5kL3Jh bmRfZXJyLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yYW5kL3JhbmRfbGliLmMNCj4g ICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yYW5kL3JhbmRfdW5peC5jDQo+ICAgICQoT1BFTlNT TF9QQVRIKS9jcnlwdG8vcmFuZC9yYW5kX3Ztcy5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vcmFuZC9yYW5kX3dpbi5jDQo+IC0gICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9yYW5k ZmlsZS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmM0L3JjNF9lbmMuYw0KPiAgICAk KE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JjNC9yYzRfc2tleS5jDQo+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vcnNhL3JzYV9hbWV0aC5jDQo+IEBAIC0zNzksOCArMzg2LDggQEAgW1NvdXJjZXNd DQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9nZW4uYw0KPiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL3JzYS9yc2FfbGliLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9yc2EvcnNhX21ldGguYw0KPiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JzYS9yc2FfbXAu Yw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JzYS9yc2Ffbm9uZS5jDQo+IC0gICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9udWxsLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9yc2EvcnNhX29hZXAuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JzYS9yc2Ff b3NzbC5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9wazEuYw0KPiBAQCAt MzkyLDE1ICszOTksMjcgQEAgW1NvdXJjZXNdDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v cnNhL3JzYV9zc2wuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JzYS9yc2FfeDkzMS5j DQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV94OTMxZy5jDQo+ICsgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8vc2hhL2tlY2NhazE2MDAuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL3NoYS9zaGExX29uZS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc2hhL3No YTFkZ3N0LmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9zaGEvc2hhMjU2LmMNCj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9zaGEvc2hhNTEyLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by9zaXBoYXNoL3NpcGhhc2guYw0KPiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3Np cGhhc2gvc2lwaGFzaF9hbWV0aC5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc2lwaGFz aC9zaXBoYXNoX3BtZXRoLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9zbTMvbV9zbTMu Yw0KPiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3NtMy9zbTMuYw0KPiArICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL3NtNC9zbTQuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3N0YWNr L3N0YWNrLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by90aHJlYWRzX25vbmUuYw0KPiAg ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3RocmVhZHNfcHRocmVhZC5jDQo+ICAgICQoT1BFTlNT TF9QQVRIKS9jcnlwdG8vdGhyZWFkc193aW4uYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRv L3R4dF9kYi90eHRfZGIuYw0KPiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3VpL3VpX2Vyci5j DQo+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vdWkvdWlfbGliLmMNCj4gKyAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by91aS91aV9udWxsLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by91 aS91aV9vcGVuc3NsLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by91aS91aV91dGlsLmMN Cj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by91aWQuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL3g1MDkvYnlfZGlyLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5L2J5 X2ZpbGUuYw0KPiBAQCAtNDQ1LDYgKzQ2NCw3IEBAIFtTb3VyY2VzXQ0KPiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL3g1MDl2My9wY3lfbm9kZS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8veDUwOXYzL3BjeV90cmVlLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMv djNfYWRkci5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOXYzL3YzX2FkbWlzLmMN Cj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMvdjNfYWtleS5jDQo+ICAgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8veDUwOXYzL3YzX2FrZXlhLmMNCj4gICAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by94NTA5djMvdjNfYWx0LmMNCj4gQEAgLTQ3OSwxMiArNDk5LDE0IEBAIFtTb3VyY2Vz XQ0KPiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL2QxX21zZy5jDQo+ICAgICQoT1BFTlNTTF9QQVRI KS9zc2wvZDFfc3J0cC5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9zc2wvbWV0aG9kcy5jDQo+ICsg ICQoT1BFTlNTTF9QQVRIKS9zc2wvcGFja2V0LmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9w cXVldWUuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3JlY29yZC9kdGxzMV9iaXRtYXAuYw0K PiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3JlY29yZC9yZWNfbGF5ZXJfZDEuYw0KPiAgICAkKE9Q RU5TU0xfUEFUSCkvc3NsL3JlY29yZC9yZWNfbGF5ZXJfczMuYw0KPiAgICAkKE9QRU5TU0xfUEFU SCkvc3NsL3JlY29yZC9zc2wzX2J1ZmZlci5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9zc2wvcmVj b3JkL3NzbDNfcmVjb3JkLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL3NzbC9yZWNvcmQvc3NsM19y ZWNvcmRfdGxzMTMuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3MzX2NiYy5jDQo+ICAgICQo T1BFTlNTTF9QQVRIKS9zc2wvczNfZW5jLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9zM19s aWIuYw0KPiBAQCAtNTAyLDI1ICs1MjQsNDUgQEAgW1NvdXJjZXNdDQo+ICAgICQoT1BFTlNTTF9Q QVRIKS9zc2wvc3NsX3N0YXQuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3NzbF90eHQuYw0K PiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3NzbF91dHN0LmMNCj4gKyAgJChPUEVOU1NMX1BBVEgp L3NzbC9zdGF0ZW0vZXh0ZW5zaW9ucy5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9zc2wvc3RhdGVt L2V4dGVuc2lvbnNfY2xudC5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9zc2wvc3RhdGVtL2V4dGVu c2lvbnNfY3VzdC5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9zc2wvc3RhdGVtL2V4dGVuc2lvbnNf c3J2ci5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9zc2wvc3RhdGVtL3N0YXRlbS5jDQo+ICAgICQo T1BFTlNTTF9QQVRIKS9zc2wvc3RhdGVtL3N0YXRlbV9jbG50LmMNCj4gICAgJChPUEVOU1NMX1BB VEgpL3NzbC9zdGF0ZW0vc3RhdGVtX2R0bHMuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3N0 YXRlbS9zdGF0ZW1fbGliLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9zdGF0ZW0vc3RhdGVt X3NydnIuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3QxX2VuYy5jDQo+IC0gICQoT1BFTlNT TF9QQVRIKS9zc2wvdDFfZXh0LmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC90MV9saWIuYw0K PiAtICAkKE9QRU5TU0xfUEFUSCkvc3NsL3QxX3JlbmVnLmMNCj4gICAgJChPUEVOU1NMX1BBVEgp L3NzbC90MV90cmNlLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL3NzbC90bHMxM19lbmMuYw0KPiAg ICAkKE9QRU5TU0xfUEFUSCkvc3NsL3Rsc19zcnAuYw0KPiAgIyBBdXRvZ2VuZXJhdGVkIGZpbGVz IGxpc3QgZW5kcyBoZXJlDQo+ICANCj4gKyAgb3NzbF9zdG9yZS5jDQo+ICsgIHJhbmRfcG9vbC5j DQo+ICsNCj4gK1tTb3VyY2VzLklhMzJdDQo+ICsgIHJhbmRfcG9vbF9ub2lzZV90c2MuYw0KPiAr DQo+ICtbU291cmNlcy5YNjRdDQo+ICsgIHJhbmRfcG9vbF9ub2lzZV90c2MuYw0KPiArDQo+ICtb U291cmNlcy5BUk1dDQo+ICsgIHJhbmRfcG9vbF9ub2lzZS5jDQo+ICsNCj4gK1tTb3VyY2VzLkFB UkNINjRdDQo+ICsgIHJhbmRfcG9vbF9ub2lzZS5jDQo+ICsNCj4gIFtQYWNrYWdlc10NCj4gICAg TWRlUGtnL01kZVBrZy5kZWMNCj4gICAgQ3J5cHRvUGtnL0NyeXB0b1BrZy5kZWMNCj4gIA0KPiAg W0xpYnJhcnlDbGFzc2VzXQ0KPiArICBCYXNlTGliDQo+ICAgIERlYnVnTGliDQo+ICsgIFRpbWVy TGliDQo+ICANCj4gIFtMaWJyYXJ5Q2xhc3Nlcy5BUk1dDQo+ICAgIEFybVNvZnRGbG9hdExpYg0K PiBkaWZmIC0tZ2l0IGEvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliQ3J5 cHRvLmluZiANCj4gYi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJDcnlw dG8uaW5mDQo+IGluZGV4IGZkMTJkMTEyZWRiMi4uNDk1OTlhNDJkMTgwIDEwMDY0NA0KPiAtLS0g YS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJDcnlwdG8uaW5mDQo+ICsr KyBiL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkNyeXB0by5pbmYNCj4g QEAgLTEsNyArMSw3IEBADQo+ICAjIyBAZmlsZQ0KPiAgIyAgVGhpcyBtb2R1bGUgcHJvdmlkZXMg T3BlblNTTCBMaWJyYXJ5IGltcGxlbWVudGF0aW9uLg0KPiAgIw0KPiAtIyAgQ29weXJpZ2h0IChj KSAyMDEwIC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+IHJlc2VydmVk LjxCUj4NCj4gKyMgIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTksIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIA0KPiArcmVzZXJ2ZWQuPEJSPg0KPiAgIyAgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQgICMgICMjIEBAIC0xNSw3ICsxNSw3IA0KPiBAQCBb RGVmaW5lc10NCj4gICAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ICAg IExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IE9wZW5zc2xMaWINCj4gICAgREVGSU5F IE9QRU5TU0xfUEFUSCAgICAgICAgICAgID0gb3BlbnNzbA0KPiAtICBERUZJTkUgT1BFTlNTTF9G TEFHUyAgICAgICAgICAgPSAtRExfRU5ESUFOIC1ET1BFTlNTTF9TTUFMTF9GT09UUFJJTlQgLURf Q1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUgLURfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIC1ETk9f U1lTTE9HDQo+ICsgIERFRklORSBPUEVOU1NMX0ZMQUdTICAgICAgICAgICA9IC1ETF9FTkRJQU4g LURPUEVOU1NMX1NNQUxMX0ZPT1RQUklOVCAtRF9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURSAtRF9D UlRfTk9OU1REQ19OT19ERVBSRUNBVEUNCj4gIA0KPiAgIw0KPiAgIyAgVkFMSURfQVJDSElURUNU VVJFUyAgICAgICAgICAgPSBJQTMyIFg2NCBBUk0gQUFSQ0g2NA0KPiBAQCAtMzIsNiArMzIsNyBA QCBbU291cmNlc10NCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hZXMvYWVzX21pc2MuYw0K PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Flcy9hZXNfb2ZiLmMNCj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9hZXMvYWVzX3dyYXAuYw0KPiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRv L2FyaWEvYXJpYS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYXNuMS9hX2JpdHN0ci5j DQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYXNuMS9hX2QyaV9mcC5jDQo+ICAgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8vYXNuMS9hX2RpZ2VzdC5jDQo+IEBAIC01NCw2ICs1NSw3IEBAIFtT b3VyY2VzXQ0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYW1ldGhfbGliLmMNCj4g ICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2FzbjFfZXJyLmMNCj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9hc24xL2FzbjFfZ2VuLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9hc24xL2FzbjFfaXRlbV9saXN0LmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24x L2FzbjFfbGliLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2FzbjFfcGFyLmMN Cj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2Fzbl9taW1lLmMNCj4gQEAgLTE3Miw2 ICsxNzQsNyBAQCBbU291cmNlc10NCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9jb25mL2Nv bmZfc3NsLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9jcHRfZXJyLmMNCj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9jcnlwdGxpYi5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vY3R5cGUuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2N2ZXJzaW9uLmMNCj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMvY2JjX2Nrc20uYw0KPiAgICAkKE9QRU5TU0xfUEFU SCkvY3J5cHRvL2Rlcy9jYmNfZW5jLmMNCj4gQEAgLTE4OSw3ICsxOTIsNiBAQCBbU291cmNlc10N Cj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMvcGNiY19lbmMuYw0KPiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL2Rlcy9xdWRfY2tzbS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vZGVzL3JhbmRfa2V5LmMNCj4gLSAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMvcnBjX2Vu Yy5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVzL3NldF9rZXkuYw0KPiAgICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL2Rlcy9zdHIya2V5LmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9kZXMveGNiY19lbmMuYw0KPiBAQCAtMjA2LDYgKzIwOCw3IEBAIFtTb3VyY2VzXQ0KPiAg ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2RoL2RoX3BtZXRoLmMNCj4gICAgJChPUEVOU1NMX1BB VEgpL2NyeXB0by9kaC9kaF9wcm4uYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2RoL2Ro X3JmYzUxMTQuYw0KPiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2RoL2RoX3JmYzc5MTkuYw0K PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Rzby9kc29fZGwuYw0KPiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL2Rzby9kc29fZGxmY24uYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRv L2Rzby9kc29fZXJyLmMNCj4gQEAgLTIyOCw2ICsyMzEsNyBAQCBbU291cmNlc10NCj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9hZXMuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL2V2cC9lX2Flc19jYmNfaG1hY19zaGExLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9ldnAvZV9hZXNfY2JjX2htYWNfc2hhMjU2LmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9ldnAvZV9hcmlhLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9iZi5jDQo+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VfY2FtZWxsaWEuYw0KPiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL2V2cC9lX2Nhc3QuYw0KPiBAQCAtMjQyLDYgKzI0Niw3IEBAIFtTb3Vy Y2VzXQ0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX3JjNF9obWFjX21kNS5jDQo+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VfcmM1LmMNCj4gICAgJChPUEVOU1NMX1BB VEgpL2NyeXB0by9ldnAvZV9zZWVkLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAv ZV9zbTQuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX3hjYmNfZC5jDQo+ICAg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VuY29kZS5jDQo+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vZXZwL2V2cF9jbmYuYw0KPiBAQCAtMjU5LDYgKzI2NCw3IEBAIFtTb3VyY2VzXQ0K PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9tX251bGwuYw0KPiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL2V2cC9tX3JpcGVtZC5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v ZXZwL21fc2hhMS5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL21fc2hhMy5jDQo+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL21fc2lndmVyLmMNCj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9ldnAvbV93cC5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZw L25hbWVzLmMNCj4gQEAgLTI3MSwxMCArMjc3LDEwIEBAIFtTb3VyY2VzXQ0KPiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL2V2cC9wX3NlYWwuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRv L2V2cC9wX3NpZ24uYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wX3ZlcmlmeS5j DQo+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL3BiZV9zY3J5cHQuYw0KPiAgICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wbWV0aF9mbi5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vZXZwL3BtZXRoX2duLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvcG1l dGhfbGliLmMNCj4gLSAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvc2NyeXB0LmMNCj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9leF9kYXRhLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9nZXRlbnYuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2htYWMvaG1fYW1ldGgu Yw0KPiBAQCAtMjgzLDYgKzI4OSw3IEBAIFtTb3VyY2VzXQ0KPiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL2luaXQuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2tkZi9oa2RmLmMNCj4g ICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9rZGYva2RmX2Vyci5jDQo+ICsgICQoT1BFTlNTTF9Q QVRIKS9jcnlwdG8va2RmL3NjcnlwdC5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8va2Rm L3RsczFfcHJmLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9saGFzaC9saF9zdGF0cy5j DQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vbGhhc2gvbGhhc2guYw0KPiBAQCAtMzYwLDE0 ICszNjcsMTQgQEAgW1NvdXJjZXNdDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcGtjczcv cGs3X21pbWUuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3BrY3M3L3BrN19zbWltZS5j DQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcGtjczcvcGtjczdlcnIuYw0KPiAtICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvbWRfcmFuZC5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vcmFuZC9kcmJnX2N0ci5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9k cmJnX2xpYi5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9yYW5kX2VnZC5jDQo+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9yYW5kX2Vyci5jDQo+ICAgICQoT1BFTlNT TF9QQVRIKS9jcnlwdG8vcmFuZC9yYW5kX2xpYi5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vcmFuZC9yYW5kX3VuaXguYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvcmFu ZF92bXMuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvcmFuZF93aW4uYw0KPiAt ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvcmFuZGZpbGUuYw0KPiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL3JjNC9yYzRfZW5jLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9y YzQvcmM0X3NrZXkuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JzYS9yc2FfYW1ldGgu Yw0KPiBAQCAtMzc5LDggKzM4Niw4IEBAIFtTb3VyY2VzXQ0KPiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL3JzYS9yc2FfZ2VuLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yc2EvcnNh X2xpYi5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9tZXRoLmMNCj4gKyAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9yc2EvcnNhX21wLmMNCj4gICAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by9yc2EvcnNhX25vbmUuYw0KPiAtICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JzYS9y c2FfbnVsbC5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9vYWVwLmMNCj4g ICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yc2EvcnNhX29zc2wuYw0KPiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL3JzYS9yc2FfcGsxLmMNCj4gQEAgLTM5MiwxNSArMzk5LDI3IEBAIFtTb3Vy Y2VzXQ0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JzYS9yc2Ffc3NsLmMNCj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9yc2EvcnNhX3g5MzEuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL3JzYS9yc2FfeDkzMWcuYw0KPiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3NoYS9r ZWNjYWsxNjAwLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9zaGEvc2hhMV9vbmUuYw0K PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3NoYS9zaGExZGdzdC5jDQo+ICAgICQoT1BFTlNT TF9QQVRIKS9jcnlwdG8vc2hhL3NoYTI1Ni5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v c2hhL3NoYTUxMi5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc2lwaGFzaC9zaXBoYXNo LmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9zaXBoYXNoL3NpcGhhc2hfYW1ldGguYw0K PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3NpcGhhc2gvc2lwaGFzaF9wbWV0aC5jDQo+ICsg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc20zL21fc20zLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by9zbTMvc20zLmMNCj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9zbTQvc200LmMN Cj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9zdGFjay9zdGFjay5jDQo+ICAgICQoT1BFTlNT TF9QQVRIKS9jcnlwdG8vdGhyZWFkc19ub25lLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by90aHJlYWRzX3B0aHJlYWQuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3RocmVhZHNf d2luLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by90eHRfZGIvdHh0X2RiLmMNCj4gKyAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by91aS91aV9lcnIuYw0KPiArICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL3VpL3VpX2xpYi5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vdWkvdWlfbnVs bC5jDQo+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vdWkvdWlfb3BlbnNzbC5jDQo+ICsgICQo T1BFTlNTTF9QQVRIKS9jcnlwdG8vdWkvdWlfdXRpbC5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vdWlkLmMNCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5L2J5X2Rpci5jDQo+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOS9ieV9maWxlLmMNCj4gQEAgLTQ0NSw2ICs0 NjQsNyBAQCBbU291cmNlc10NCj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMvcGN5 X25vZGUuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3g1MDl2My9wY3lfdHJlZS5jDQo+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOXYzL3YzX2FkZHIuYw0KPiArICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL3g1MDl2My92M19hZG1pcy5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8veDUwOXYzL3YzX2FrZXkuYw0KPiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3g1MDl2 My92M19ha2V5YS5jDQo+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOXYzL3YzX2FsdC5j DQo+IEBAIC00NzYsMTIgKzQ5NiwyOSBAQCBbU291cmNlc10NCj4gICAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by94NTA5djMvdjNlcnIuYw0KPiAgIyBBdXRvZ2VuZXJhdGVkIGZpbGVzIGxpc3QgZW5k cyBoZXJlDQo+ICANCj4gKyAgb3NzbF9zdG9yZS5jDQo+ICsgIHJhbmRfcG9vbC5jDQo+ICsNCj4g K1tTb3VyY2VzLklhMzJdDQo+ICsgIHJhbmRfcG9vbF9ub2lzZV90c2MuYw0KPiArDQo+ICtbU291 cmNlcy5YNjRdDQo+ICsgIHJhbmRfcG9vbF9ub2lzZV90c2MuYw0KPiArDQo+ICtbU291cmNlcy5B Uk1dDQo+ICsgIHJhbmRfcG9vbF9ub2lzZS5jDQo+ICsNCj4gK1tTb3VyY2VzLkFBUkNINjRdDQo+ ICsgIHJhbmRfcG9vbF9ub2lzZS5jDQo+ICsNCj4gIFtQYWNrYWdlc10NCj4gICAgTWRlUGtnL01k ZVBrZy5kZWMNCj4gICAgQ3J5cHRvUGtnL0NyeXB0b1BrZy5kZWMNCj4gIA0KPiAgW0xpYnJhcnlD bGFzc2VzXQ0KPiArICBCYXNlTGliDQo+ICAgIERlYnVnTGliDQo+ICsgIFRpbWVyTGliDQo+ICAN Cj4gIFtMaWJyYXJ5Q2xhc3Nlcy5BUk1dDQo+ICAgIEFybVNvZnRGbG9hdExpYg0KPiBkaWZmIC0t Z2l0IGEvQ3J5cHRvUGtnL0xpYnJhcnkvSW5jbHVkZS9DcnRMaWJTdXBwb3J0LmggDQo+IGIvQ3J5 cHRvUGtnL0xpYnJhcnkvSW5jbHVkZS9DcnRMaWJTdXBwb3J0LmgNCj4gaW5kZXggYjA1YzVkOTA4 Y2UyLi41ODA2ZjUwZjc0ODUgMTAwNjQ0DQo+IC0tLSBhL0NyeXB0b1BrZy9MaWJyYXJ5L0luY2x1 ZGUvQ3J0TGliU3VwcG9ydC5oDQo+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5L0luY2x1ZGUvQ3J0 TGliU3VwcG9ydC5oDQo+IEBAIC0yLDcgKzIsNyBAQA0KPiAgICBSb290IGluY2x1ZGUgZmlsZSBv ZiBDIHJ1bnRpbWUgbGlicmFyeSB0byBzdXBwb3J0IGJ1aWxkaW5nIHRoZSB0aGlyZC1wYXJ0eQ0K PiAgICBjcnlwdG9ncmFwaGljIGxpYnJhcnkuDQo+ICANCj4gLUNvcHlyaWdodCAoYykgMjAxMCAt IDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KPiByZXNlcnZlZC48QlI+DQo+ ICtDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyANCj4gK3Jlc2VydmVkLjxCUj4NCj4gIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+ICANCj4gICoqLw0KPiBAQCAtMjEsNiArMjEsMTcgQEAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQgIA0KPiAjZGVmaW5lIE1BWF9TVFJJ TkdfU0laRSAgMHgxMDAwDQo+ICANCj4gIC8vDQo+ICsvLyBXZSBhbHJlYWR5IGhhdmUgIm5vLXVp IiBpbiBvdXQgQ29uZmlndXJlIGludm9jYXRpb24uDQo+ICsvLyBidXQgdGhlIGNvZGUgc3RpbGwg ZmFpbHMgdG8gY29tcGlsZS4NCj4gKy8vIFJlZjogIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3Ns L29wZW5zc2wvaXNzdWVzLzg5MDQNCj4gKy8vDQo+ICsvLyBUaGlzIGlzIGRlZmluZWQgaW4gQ1JU IGxpYnJhcnkoc3RkaW8uaCkuDQo+ICsvLw0KPiArI2lmbmRlZiBCVUZTSVoNCj4gKyNkZWZpbmUg QlVGU0laICA4MTkyDQo+ICsjZW5kaWYNCj4gKw0KPiArLy8NCj4gIC8vIE9wZW5TU0wgcmVsaWVz IG9uIGV4cGxpY2l0IGNvbmZpZ3VyYXRpb24gZm9yIHdvcmQgc2l6ZSBpbiANCj4gY3J5cHRvL2Ju LCAgLy8gYnV0IHdlIHdhbnQgaXQgdG8gYmUgYXV0b21hdGljYWxseSBpbmZlcnJlZCBmcm9tIHRo ZSANCj4gdGFyZ2V0LiBTbyB3ZSAgLy8gYnlwYXNzIHdoYXQncyBpbiA8b3BlbnNzbC9vcGVuc3Ns Y29uZi5oPiBmb3IgDQo+IE9QRU5TU0xfU1lTX1VFRkksIGFuZCBkaWZmIC0tZ2l0IA0KPiBhL0Ny eXB0b1BrZy9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oIA0KPiBiL0NyeXB0 b1BrZy9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oDQo+IGluZGV4IDI4ZGQ5 YWI5M2M2MS4uMDdmYTJkM2NlMjgwIDEwMDY0NA0KPiAtLS0gYS9DcnlwdG9Qa2cvTGlicmFyeS9J bmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaA0KPiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9J bmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaA0KPiBAQCAtMTAsNiArMTAsOCBAQA0KPiAgICog aHR0cHM6Ly93d3cub3BlbnNzbC5vcmcvc291cmNlL2xpY2Vuc2UuaHRtbA0KPiAgICovDQo+ICAN Cj4gKyNpbmNsdWRlIDxvcGVuc3NsL29wZW5zc2x2Lmg+DQo+ICsNCj4gICNpZmRlZiAgX19jcGx1 c3BsdXMNCj4gIGV4dGVybiAiQyIgew0KPiAgI2VuZGlmDQo+IEBAIC03NywxOCArNzksMjEgQEAg ZXh0ZXJuICJDIiB7DQo+ICAjaWZuZGVmIE9QRU5TU0xfTk9fU0VFRA0KPiAgIyBkZWZpbmUgT1BF TlNTTF9OT19TRUVEDQo+ICAjZW5kaWYNCj4gKyNpZm5kZWYgT1BFTlNTTF9OT19TTTINCj4gKyMg ZGVmaW5lIE9QRU5TU0xfTk9fU00yDQo+ICsjZW5kaWYNCj4gICNpZm5kZWYgT1BFTlNTTF9OT19T UlANCj4gICMgZGVmaW5lIE9QRU5TU0xfTk9fU1JQDQo+ICAjZW5kaWYNCj4gICNpZm5kZWYgT1BF TlNTTF9OT19UUw0KPiAgIyBkZWZpbmUgT1BFTlNTTF9OT19UUw0KPiAgI2VuZGlmDQo+IC0jaWZu ZGVmIE9QRU5TU0xfTk9fVUkNCj4gLSMgZGVmaW5lIE9QRU5TU0xfTk9fVUkNCj4gLSNlbmRpZg0K PiAgI2lmbmRlZiBPUEVOU1NMX05PX1dISVJMUE9PTA0KPiAgIyBkZWZpbmUgT1BFTlNTTF9OT19X SElSTFBPT0wNCj4gICNlbmRpZg0KPiArI2lmbmRlZiBPUEVOU1NMX1JBTkRfU0VFRF9OT05FDQo+ ICsjIGRlZmluZSBPUEVOU1NMX1JBTkRfU0VFRF9OT05FDQo+ICsjZW5kaWYNCj4gICNpZm5kZWYg T1BFTlNTTF9OT19BRkFMR0VORw0KPiAgIyBkZWZpbmUgT1BFTlNTTF9OT19BRkFMR0VORw0KPiAg I2VuZGlmDQo+IEBAIC0xMjIsNiArMTI3LDkgQEAgZXh0ZXJuICJDIiB7DQo+ICAjaWZuZGVmIE9Q RU5TU0xfTk9fREVQUkVDQVRFRA0KPiAgIyBkZWZpbmUgT1BFTlNTTF9OT19ERVBSRUNBVEVEDQo+ ICAjZW5kaWYNCj4gKyNpZm5kZWYgT1BFTlNTTF9OT19ERVZDUllQVE9FTkcNCj4gKyMgZGVmaW5l IE9QRU5TU0xfTk9fREVWQ1JZUFRPRU5HDQo+ICsjZW5kaWYNCj4gICNpZm5kZWYgT1BFTlNTTF9O T19ER1JBTQ0KPiAgIyBkZWZpbmUgT1BFTlNTTF9OT19ER1JBTQ0KPiAgI2VuZGlmDQo+IEBAIC0x NTUsNiArMTYzLDkgQEAgZXh0ZXJuICJDIiB7DQo+ICAjaWZuZGVmIE9QRU5TU0xfTk9fRVJSDQo+ ICAjIGRlZmluZSBPUEVOU1NMX05PX0VSUg0KPiAgI2VuZGlmDQo+ICsjaWZuZGVmIE9QRU5TU0xf Tk9fRVhURVJOQUxfVEVTVFMNCj4gKyMgZGVmaW5lIE9QRU5TU0xfTk9fRVhURVJOQUxfVEVTVFMN Cj4gKyNlbmRpZg0KPiAgI2lmbmRlZiBPUEVOU1NMX05PX0ZJTEVOQU1FUw0KPiAgIyBkZWZpbmUg T1BFTlNTTF9OT19GSUxFTkFNRVMNCj4gICNlbmRpZg0KPiBAQCAtMjA5LDE1ICsyMjAsMjQgQEAg ZXh0ZXJuICJDIiB7DQo+ICAjaWZuZGVmIE9QRU5TU0xfTk9fVEVTVFMNCj4gICMgZGVmaW5lIE9Q RU5TU0xfTk9fVEVTVFMNCj4gICNlbmRpZg0KPiArI2lmbmRlZiBPUEVOU1NMX05PX1RMUzFfMw0K PiArIyBkZWZpbmUgT1BFTlNTTF9OT19UTFMxXzMNCj4gKyNlbmRpZg0KPiAgI2lmbmRlZiBPUEVO U1NMX05PX1VCU0FODQo+ICAjIGRlZmluZSBPUEVOU1NMX05PX1VCU0FODQo+ICAjZW5kaWYNCj4g KyNpZm5kZWYgT1BFTlNTTF9OT19VSV9DT05TT0xFDQo+ICsjIGRlZmluZSBPUEVOU1NMX05PX1VJ X0NPTlNPTEUNCj4gKyNlbmRpZg0KPiAgI2lmbmRlZiBPUEVOU1NMX05PX1VOSVRfVEVTVA0KPiAg IyBkZWZpbmUgT1BFTlNTTF9OT19VTklUX1RFU1QNCj4gICNlbmRpZg0KPiAgI2lmbmRlZiBPUEVO U1NMX05PX1dFQUtfU1NMX0NJUEhFUlMNCj4gICMgZGVmaW5lIE9QRU5TU0xfTk9fV0VBS19TU0xf Q0lQSEVSUw0KPiAgI2VuZGlmDQo+ICsjaWZuZGVmIE9QRU5TU0xfTk9fRFlOQU1JQ19FTkdJTkUN Cj4gKyMgZGVmaW5lIE9QRU5TU0xfTk9fRFlOQU1JQ19FTkdJTkUNCj4gKyNlbmRpZg0KPiAgI2lm bmRlZiBPUEVOU1NMX05PX0FGQUxHRU5HDQo+ICAjIGRlZmluZSBPUEVOU1NMX05PX0FGQUxHRU5H DQo+ICAjZW5kaWYNCj4gQEAgLTIzNiwxNSArMjU2LDExIEBAIGV4dGVybiAiQyIgew0KPiAgICog ZnVuY3Rpb25zLg0KPiAgICovDQo+ICAjaWZuZGVmIERFQ0xBUkVfREVQUkVDQVRFRA0KPiAtIyBp ZiBkZWZpbmVkKE9QRU5TU0xfTk9fREVQUkVDQVRFRCkNCj4gLSMgIGRlZmluZSBERUNMQVJFX0RF UFJFQ0FURUQoZikNCj4gLSMgZWxzZQ0KPiAtIyAgZGVmaW5lIERFQ0xBUkVfREVQUkVDQVRFRChm KSAgIGY7DQo+IC0jICBpZmRlZiBfX0dOVUNfXw0KPiAtIyAgIGlmIF9fR05VQ19fID4gMyB8fCAo X19HTlVDX18gPT0gMyAmJiBfX0dOVUNfTUlOT1JfXyA+IDApDQo+IC0jICAgIHVuZGVmIERFQ0xB UkVfREVQUkVDQVRFRA0KPiAtIyAgICBkZWZpbmUgREVDTEFSRV9ERVBSRUNBVEVEKGYpICAgIGYg X19hdHRyaWJ1dGVfXyAoKGRlcHJlY2F0ZWQpKTsNCj4gLSMgICBlbmRpZg0KPiArIyBkZWZpbmUg REVDTEFSRV9ERVBSRUNBVEVEKGYpICAgZjsNCj4gKyMgaWZkZWYgX19HTlVDX18NCj4gKyMgIGlm IF9fR05VQ19fID4gMyB8fCAoX19HTlVDX18gPT0gMyAmJiBfX0dOVUNfTUlOT1JfXyA+IDApDQo+ ICsjICAgdW5kZWYgREVDTEFSRV9ERVBSRUNBVEVEDQo+ICsjICAgZGVmaW5lIERFQ0xBUkVfREVQ UkVDQVRFRChmKSAgICBmIF9fYXR0cmlidXRlX18gKChkZXByZWNhdGVkKSk7DQo+ICAjICBlbmRp Zg0KPiAgIyBlbmRpZg0KPiAgI2VuZGlmDQo+IEBAIC0yNjgsNiArMjg0LDE4IEBAIGV4dGVybiAi QyIgew0KPiAgIyBkZWZpbmUgT1BFTlNTTF9BUElfQ09NUEFUIE9QRU5TU0xfTUlOX0FQSSAgI2Vu ZGlmDQo+ICANCj4gKy8qDQo+ICsgKiBEbyBub3QgZGVwcmVjYXRlIHRoaW5ncyB0byBiZSBkZXBy ZWNhdGVkIGluIHZlcnNpb24gMS4yLjAgYmVmb3JlIA0KPiArdGhlDQo+ICsgKiBPcGVuU1NMIHZl cnNpb24gbnVtYmVyIG1hdGNoZXMuDQo+ICsgKi8NCj4gKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVN QkVSIDwgMHgxMDIwMDAwMEwNCj4gKyMgZGVmaW5lIERFUFJFQ0FURURJTl8xXzJfMChmKSAgIGY7 DQo+ICsjZWxpZiBPUEVOU1NMX0FQSV9DT01QQVQgPCAweDEwMjAwMDAwTA0KPiArIyBkZWZpbmUg REVQUkVDQVRFRElOXzFfMl8wKGYpICAgREVDTEFSRV9ERVBSRUNBVEVEKGYpDQo+ICsjZWxzZQ0K PiArIyBkZWZpbmUgREVQUkVDQVRFRElOXzFfMl8wKGYpDQo+ICsjZW5kaWYNCj4gKw0KPiAgI2lm IE9QRU5TU0xfQVBJX0NPTVBBVCA8IDB4MTAxMDAwMDBMDQo+ICAjIGRlZmluZSBERVBSRUNBVEVE SU5fMV8xXzAoZikgICBERUNMQVJFX0RFUFJFQ0FURUQoZikNCj4gICNlbHNlDQo+IEBAIC0yODYs OCArMzE0LDYgQEAgZXh0ZXJuICJDIiB7DQo+ICAjIGRlZmluZSBERVBSRUNBVEVESU5fMF85Xzgo ZikNCj4gICNlbmRpZg0KPiAgDQo+IC0NCj4gLQ0KPiAgLyogR2VuZXJhdGUgODAzODYgY29kZT8g Ki8NCj4gICN1bmRlZiBJMzg2X09OTFkNCj4gIA0KPiBkaWZmIC0tZ2l0IGEvQ3J5cHRvUGtnL0xp YnJhcnkvT3BlbnNzbExpYi9idWlsZGluZi5oIA0KPiBiL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5z c2xMaWIvYnVpbGRpbmYuaA0KPiBpbmRleCBjNWNhMjkzYzcyOWYuLmI4NDBjODY1NmEyOCAxMDA2 NDQNCj4gLS0tIGEvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9idWlsZGluZi5oDQo+ICsr KyBiL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvYnVpbGRpbmYuaA0KPiBAQCAtMSwyICsx LDQgQEANCj4gICNkZWZpbmUgUExBVEZPUk0gICJVRUZJIg0KPiAgI2RlZmluZSBEQVRFICAgICAg IkZyaSBEZWMgMjIgMDE6MjM6NDUgUERUIDIwMTciDQo+ICsNCj4gK2NvbnN0IGNoYXIgKiBjb21w aWxlcl9mbGFncyA9ICJjb21waWxlcjogaW5mb3JtYXRpb24gbm90IGF2YWlsYWJsZSANCj4gK2Zy b20gZWRrMiI7DQo+IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3Jh bmRfcG9vbF9ub2lzZS5oIA0KPiBiL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFuZF9w b29sX25vaXNlLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAw Li43NWFjYzY4NmE5ZjENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9DcnlwdG9Qa2cvTGlicmFy eS9PcGVuc3NsTGliL3JhbmRfcG9vbF9ub2lzZS5oDQo+IEBAIC0wLDAgKzEsMjkgQEANCj4gKy8q KiBAZmlsZQ0KPiArICBQcm92aWRlIHJhbmQgbm9pc2Ugc291cmNlLg0KPiArDQo+ICtDb3B5cmln aHQgKGMpIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4N Cj4gK1NQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4g KyoqLw0KPiArDQo+ICsjaWZuZGVmIF9fUkFORF9QT09MX05PSVNFX0hfXw0KPiArI2RlZmluZSBf X1JBTkRfUE9PTF9OT0lTRV9IX18NCj4gKw0KPiArI2luY2x1ZGUgPFVlZmkvVWVmaUJhc2VUeXBl Lmg+DQo+ICsNCj4gKy8qKg0KPiArICAgR2V0IDY0LWJpdCBub2lzZSBzb3VyY2UuDQo+ICsNCj4g KyAgIEBwYXJhbVtvdXRdIFJhbmQgICAgICAgICBCdWZmZXIgcG9pbnRlciB0byBzdG9yZSA2NC1i aXQgbm9pc2Ugc291cmNlDQo+ICsNCj4gKyAgIEByZXR2YWwgVFJVRSAgICAgICAgICAgICBHZXQg cmFuZG9tbmVzcyBzdWNjZXNzZnVsbHkuDQo+ICsgICBAcmV0dmFsIEZBTFNFICAgICAgICAgICAg RmFpbGVkIHRvIGdlbmVyYXRlDQo+ICsqKi8NCj4gK0JPT0xFQU4NCj4gK0VGSUFQSQ0KPiArR2V0 UmFuZG9tTm9pc2U2NCAoDQo+ICsgIE9VVCBVSU5UNjQgICAgICAgICAqUmFuZA0KPiArICApOw0K PiArDQo+ICsNCj4gKyNlbmRpZiAvLyBfX1JBTkRfUE9PTF9OT0lTRV9IX18NCj4gZGlmZiAtLWdp dCBhL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvb3NzbF9zdG9yZS5jIA0KPiBiL0NyeXB0 b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvb3NzbF9zdG9yZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwMC4uMjllMTUwNjA0OGUzDQo+IC0tLSAvZGV2L251bGwN Cj4gKysrIGIvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9vc3NsX3N0b3JlLmMNCj4gQEAg LTAsMCArMSwxNyBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIER1bW15IGltcGxlbWVudCBvc3NsX3N0 b3JlKFN0b3JlIHJldHJpZXZhbCBmdW5jdGlvbnMpIGZvciBVRUZJLg0KPiArDQo+ICtDb3B5cmln aHQgKGMpIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4N Cj4gK1NQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4g KyoqLw0KPiArDQo+ICsvKg0KPiArICogVGhpcyBmdW5jdGlvbiBpcyBjbGVhbnVwIG9zc2wgc3Rv cmUuDQo+ICsgKg0KPiArICogRHVtbXkgSW1wbGVtZW50IGZvciBVRUZJDQo+ICsgKi8NCj4gK3Zv aWQgb3NzbF9zdG9yZV9jbGVhbnVwX2ludCh2b2lkKQ0KPiArew0KPiArfQ0KPiArDQo+IGRpZmYg LS1naXQgYS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbC5jIA0KPiBiL0Ny eXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFuZF9wb29sLmMNCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAwLi45ZDJhNGFkMTM4MjMNCj4gLS0tIC9kZXYvbnVs bA0KPiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbC5jDQo+IEBA IC0wLDAgKzEsMzE2IEBADQo+ICsvKiogQGZpbGUNCj4gKyAgT3BlblNTTF8xXzFfMWIgZG9lc24n dCBpbXBsZW1lbnQgcmFuZF9wb29sXyogZnVuY3Rpb25zIGZvciBVRUZJLg0KPiArICBUaGUgZmls ZSBpbXBsZW1lbnQgdGhlc2UgZnVuY3Rpb25zLg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTks IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gK1NQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyoqLw0KPiArDQo+ ICsjaW5jbHVkZSAiaW50ZXJuYWwvcmFuZF9pbnQuaCINCj4gKyNpbmNsdWRlIDxvcGVuc3NsL2Fl cy5oPg0KPiArDQo+ICsjaW5jbHVkZSA8VWVmaS5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVGlt ZXJMaWIuaD4NCj4gKw0KPiArI2luY2x1ZGUgInJhbmRfcG9vbF9ub2lzZS5oIg0KPiArDQo+ICsv KioNCj4gKyAgR2V0IHNvbWUgcmFuZG9tbmVzcyBmcm9tIGxvdy1vcmRlciBiaXRzIG9mIEdldFBl cmZvcm1hbmNlQ291bnRlciByZXN1bHRzLg0KPiArICBBbmQgY29tYmluZSB0aGVtIHRvIHRoZSA2 NC1iaXQgdmFsdWUNCj4gKw0KPiArICBAcGFyYW1bb3V0XSBSYW5kICAgIEJ1ZmZlciBwb2ludGVy IHRvIHN0b3JlIHRoZSA2NC1iaXQgcmFuZG9tIHZhbHVlLg0KPiArDQo+ICsgIEByZXR2YWwgVFJV RSAgICAgICAgUmFuZG9tIG51bWJlciBnZW5lcmF0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0 dmFsIEZBTFNFICAgICAgIEZhaWxlZCB0byBnZW5lcmF0ZS4NCj4gKyoqLw0KPiArU1RBVElDDQo+ ICtCT09MRUFODQo+ICtFRklBUEkNCj4gK0dldFJhbmROb2lzZTY0RnJvbVBlcmZvcm1hbmNlQ291 bnRlcigNCj4gKyAgT1VUIFVJTlQ2NCAgICAgICpSYW5kDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlO VDMyIEluZGV4Ow0KPiArICBVSU5UMzIgKlJhbmRQdHI7DQo+ICsNCj4gKyAgaWYgKE5VTEwgPT0g UmFuZCkgew0KPiArICAgIHJldHVybiBGQUxTRTsNCj4gKyAgfQ0KPiArDQo+ICsgIFJhbmRQdHIg PSAoVUlOVDMyICopIFJhbmQ7DQo+ICsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgMjsg SW5kZXggKyspIHsNCj4gKyAgICAqUmFuZFB0ciA9IChVSU5UMzIpIChHZXRQZXJmb3JtYW5jZUNv dW50ZXIgKCkgJiAweEZGKTsNCj4gKyAgICBNaWNyb1NlY29uZERlbGF5ICgxMCk7DQo+ICsgICAg UmFuZFB0cisrOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFRSVUU7DQo+ICt9DQo+ICsNCj4g Ky8qKg0KPiArICBDYWxscyBSYW5kb21OdW1iZXI2NCB0byBmaWxsDQo+ICsgIGEgYnVmZmVyIG9m IGFyYml0cmFyeSBzaXplIHdpdGggcmFuZG9tIGJ5dGVzLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0g ICBMZW5ndGggICAgICAgIFNpemUgb2YgdGhlIGJ1ZmZlciwgaW4gYnl0ZXMsICB0byBmaWxsIHdp dGguDQo+ICsgIEBwYXJhbVtvdXRdICBSYW5kQnVmZmVyICAgIFBvaW50ZXIgdG8gdGhlIGJ1ZmZl ciB0byBzdG9yZSB0aGUgcmFuZG9tIHJlc3VsdC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUND RVNTICAgICAgICBSYW5kb20gYnl0ZXMgZ2VuZXJhdGlvbiBzdWNjZWVkZWQuDQo+ICsgIEByZXR2 YWwgRUZJX05PVF9SRUFEWSAgICAgIEZhaWxlZCB0byByZXF1ZXN0IHJhbmRvbSBieXRlcy4NCj4g Kw0KPiArKiovDQo+ICtTVEFUSUMNCj4gK0JPT0xFQU4NCj4gK0VGSUFQSQ0KPiArUmFuZEdldEJ5 dGVzICgNCj4gKyAgSU4gVUlOVE4gICAgICAgICBMZW5ndGgsDQo+ICsgIE9VVCBVSU5UOCAgICAg ICAgKlJhbmRCdWZmZXINCj4gKyAgKQ0KPiArew0KPiArICBCT09MRUFOICAgICBSZXQ7DQo+ICsg IFVJTlQ2NCAgICAgIFRlbXBSYW5kOw0KPiArDQo+ICsgIFJldCA9IEZBTFNFOw0KPiArDQo+ICsg IHdoaWxlIChMZW5ndGggPiAwKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBHZXQgcmFuZG9tIG5v aXNlIGZyb20gcGxhdGZvcm0uDQo+ICsgICAgLy8gSWYgaXQgZmFpbGVkLCBmYWxsYmFjayB0byBQ ZXJmb3JtYW5jZUNvdW50ZXINCj4gKyAgICAvLyBJZiB5b3UgcmVhbGx5IGNhcmUgYWJvdXQgc2Vj dXJpdHksIHlvdSBtdXN0IG92ZXJyaWRlDQo+ICsgICAgLy8gR2V0UmFuZG9tTm9pc2U2NEZyb21Q bGF0Zm9ybS4NCj4gKyAgICAvLw0KPiArICAgIFJldCA9IEdldFJhbmRvbU5vaXNlNjQgKCZUZW1w UmFuZCk7DQo+ICsgICAgaWYgKFJldCA9PSBGQUxTRSkgew0KPiArICAgICAgUmV0ID0gR2V0UmFu ZE5vaXNlNjRGcm9tUGVyZm9ybWFuY2VDb3VudGVyICgmVGVtcFJhbmQpOw0KPiArICAgIH0NCj4g KyAgICBpZiAoIVJldCkgew0KPiArICAgICAgcmV0dXJuIFJldDsNCj4gKyAgICB9DQo+ICsgICAg aWYgKExlbmd0aCA+PSBzaXplb2YgKFRlbXBSYW5kKSkgew0KPiArICAgICAgKigoVUlOVDY0Kikg UmFuZEJ1ZmZlcikgPSBUZW1wUmFuZDsNCj4gKyAgICAgIFJhbmRCdWZmZXIgKz0gc2l6ZW9mIChV SU5UNjQpOw0KPiArICAgICAgTGVuZ3RoIC09IHNpemVvZiAoVGVtcFJhbmQpOw0KPiArICAgIH0g ZWxzZSB7DQo+ICsgICAgICBDb3B5TWVtIChSYW5kQnVmZmVyLCAmVGVtcFJhbmQsIExlbmd0aCk7 DQo+ICsgICAgICBMZW5ndGggPSAwOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVy biBSZXQ7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBDcmVhdGVzIGEgMTI4Yml0IHJhbmRvbSB2 YWx1ZSB0aGF0IGlzIGZ1bGx5IGZvcndhcmQgYW5kIGJhY2t3YXJkIA0KPiArcHJlZGljdGlvbiBy ZXNpc3RhbnQsDQo+ICsgIHN1aXRhYmxlIGZvciBzZWVkaW5nIGEgTklTVCBTUDgwMC05MCBDb21w bGlhbnQuDQo+ICsgIFRoaXMgZnVuY3Rpb24gdGFrZXMgbXVsdGlwbGUgcmFuZG9tIG51bWJlcnMg ZnJvbSBQZXJmb3JtYW5jZUNvdW50ZXIgDQo+ICt0byBlbnN1cmUgcmVzZWVkaW5nDQo+ICsgIGFu ZCBwZXJmb3JtcyBBRVMtQ0JDLU1BQyBvdmVyIHRoZSBkYXRhIHRvIGNvbXB1dGUgdGhlIHNlZWQg dmFsdWUuDQo+ICsNCj4gKyAgQHBhcmFtW291dF0gIFNlZWRCdWZmZXIgICAgUG9pbnRlciB0byBh IDEyOGJpdCBidWZmZXIgdG8gc3RvcmUgdGhlIHJhbmRvbSBzZWVkLg0KPiArDQo+ICsgIEByZXR2 YWwgVFJVRSAgICAgICAgUmFuZG9tIHNlZWQgZ2VuZXJhdGlvbiBzdWNjZWVkZWQuDQo+ICsgIEBy ZXR2YWwgRkFMU0UgICAgICBGYWlsZWQgdG8gcmVxdWVzdCByYW5kb20gYnl0ZXMuDQo+ICsNCj4g KyoqLw0KPiArU1RBVElDDQo+ICtCT09MRUFODQo+ICtFRklBUEkNCj4gK1JhbmRHZXRTZWVkMTI4 ICgNCj4gKyAgT1VUIFVJTlQ4ICAgICAgICAqU2VlZEJ1ZmZlcg0KPiArICApDQo+ICt7DQo+ICsg IEJPT0xFQU4gICAgIFJldDsNCj4gKyAgVUlOVDggICAgICAgUmFuZEJ5dGVbMTZdOw0KPiArICBV SU5UOCAgICAgICBLZXlbMTZdOw0KPiArICBVSU5UOCAgICAgICBGZnZbMTZdOw0KPiArICBVSU5U OCAgICAgICBYb3JlZFsxNl07DQo+ICsgIFVJTlQzMiAgICAgIEluZGV4Ow0KPiArICBVSU5UMzIg ICAgICBJbmRleDI7DQo+ICsgIEFFU19LRVkgICAgIEFFU0tleTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBDaG9zZSBhbiBhcmJpdGFyeSBrZXkgYW5kIHplcm8gdGhlIGZlZWRfZm9yd2FyZF92YWx1 ZSAoRkZWKSAgLy8gIA0KPiArIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IDE2OyBJbmRleCsrKSB7 DQo+ICsgICAgS2V5W0luZGV4XSA9IChVSU5UOCkgSW5kZXg7DQo+ICsgICAgRmZ2W0luZGV4XSA9 IDA7DQo+ICsgIH0NCj4gKw0KPiArICBBRVNfc2V0X2VuY3J5cHRfa2V5IChLZXksIDE2ICogOCwg JkFFU0tleSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUGVyZm9ybSBDQkNfTUFDIG92ZXIgMzIg KiAxMjggYml0IHZhbHVlcywgd2l0aCAxMHVzIGdhcHMgYmV0d2VlbiANCj4gKyAxMjggYml0IHZh bHVlICAvLyBUaGUgMTB1cyBnYXBzIHdpbGwgZW5zdXJlIG11bHRpcGxlIHJlc2VlZHMgd2l0aGlu IA0KPiArIHRoZSBzeXN0ZW0gdGltZSB3aXRoIGEgbGFyZ2UgIC8vIGRlc2lnbiBtYXJnaW4uDQo+ ICsgIC8vDQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IDMyOyBJbmRleCsrKSB7DQo+ICsg ICAgTWljcm9TZWNvbmREZWxheSAoMTApOw0KPiArICAgIFJldCA9IFJhbmRHZXRCeXRlcyAoMTYs IFJhbmRCeXRlKTsNCj4gKyAgICBpZiAoIVJldCkgew0KPiArICAgICAgcmV0dXJuIFJldDsNCj4g KyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFBlcmZvcm0gWE9SIG9wZXJhdGlvbnMg b24gdHdvIDEyOC1iaXQgdmFsdWUuDQo+ICsgICAgLy8NCj4gKyAgICBmb3IgKEluZGV4MiA9IDA7 IEluZGV4MiA8IDE2OyBJbmRleDIrKykgew0KPiArICAgICAgWG9yZWRbSW5kZXgyXSA9IFJhbmRC eXRlW0luZGV4Ml0gXiBGZnZbSW5kZXgyXTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBBRVNfZW5j cnlwdCAoWG9yZWQsIEZmdiwgJkFFU0tleSk7ICB9DQo+ICsNCj4gKyAgZm9yIChJbmRleCA9IDA7 IEluZGV4IDwgMTY7IEluZGV4KyspIHsNCj4gKyAgICBTZWVkQnVmZmVyW0luZGV4XSA9IEZmdltJ bmRleF07DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gUmV0Ow0KPiArfQ0KPiArDQo+ICsvKioN Cj4gKyAgR2VuZXJhdGUgaGlnaC1xdWFsaXR5IGVudHJvcHkgc291cmNlLg0KPiArDQo+ICsgIEBw YXJhbVtpbl0gICBMZW5ndGggICAgICAgIFNpemUgb2YgdGhlIGJ1ZmZlciwgaW4gYnl0ZXMsIHRv IGZpbGwgd2l0aC4NCj4gKyAgQHBhcmFtW291dF0gIEVudHJvcHkgICAgICAgUG9pbnRlciB0byB0 aGUgYnVmZmVyIHRvIHN0b3JlIHRoZSBlbnRyb3B5IGRhdGEuDQo+ICsNCj4gKyAgQHJldHZhbCBF RklfU1VDQ0VTUyAgICAgICAgRW50cm9weSBnZW5lcmF0aW9uIHN1Y2NlZWRlZC4NCj4gKyAgQHJl dHZhbCBFRklfTk9UX1JFQURZICAgICAgRmFpbGVkIHRvIHJlcXVlc3QgcmFuZG9tIGRhdGEuDQo+ ICsNCj4gKyoqLw0KPiArU1RBVElDDQo+ICtCT09MRUFODQo+ICtFRklBUEkNCj4gK1JhbmRHZW5l cmF0ZUVudHJvcHkgKA0KPiArICBJTiBVSU5UTiAgICAgICAgIExlbmd0aCwNCj4gKyAgT1VUIFVJ TlQ4ICAgICAgICAqRW50cm9weQ0KPiArICApDQo+ICt7DQo+ICsgIEJPT0xFQU4gICAgIFJldDsN Cj4gKyAgVUlOVE4gICAgICAgQmxvY2tDb3VudDsNCj4gKyAgVUlOVDggICAgICAgU2VlZFsxNl07 DQo+ICsgIFVJTlQ4ICAgICAgICpQdHI7DQo+ICsNCj4gKyAgQmxvY2tDb3VudCA9IExlbmd0aCAv IDE2Ow0KPiArICBQdHIgICAgICAgID0gKFVJTlQ4ICopIEVudHJvcHk7DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gR2VuZXJhdGUgaGlnaC1xdWFsaXR5IHNlZWQgZm9yIERSQkcgRW50cm9weSAgLy8g IHdoaWxlIA0KPiArIChCbG9ja0NvdW50ID4gMCkgew0KPiArICAgIFJldCA9IFJhbmRHZXRTZWVk MTI4IChTZWVkKTsNCj4gKyAgICBpZiAoIVJldCkgew0KPiArICAgICAgcmV0dXJuIFJldDsNCj4g KyAgICB9DQo+ICsgICAgQ29weU1lbSAoUHRyLCBTZWVkLCAxNik7DQo+ICsNCj4gKyAgICBCbG9j a0NvdW50LS07DQo+ICsgICAgUHRyID0gUHRyICsgMTY7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0K PiArICAvLyBQb3B1bGF0ZSB0aGUgcmVtYWluZWQgZGF0YSBhcyByZXF1ZXN0Lg0KPiArICAvLw0K PiArICBSZXQgPSBSYW5kR2V0U2VlZDEyOCAoU2VlZCk7DQo+ICsgIGlmICghUmV0KSB7DQo+ICsg ICAgcmV0dXJuIFJldDsNCj4gKyAgfQ0KPiArICBDb3B5TWVtIChQdHIsIFNlZWQsIChMZW5ndGgg JSAxNikpOw0KPiArDQo+ICsgIHJldHVybiBSZXQ7DQo+ICt9DQo+ICsNCj4gKy8qDQo+ICsgKiBB ZGQgcmFuZG9tIGJ5dGVzIHRvIHRoZSBwb29sIHRvIGFjcXVpcmUgcmVxdWVzdGVkIGFtb3VudCBv ZiANCj4gK2VudHJvcHkNCj4gKyAqDQo+ICsgKiBUaGlzIGZ1bmN0aW9uIGlzIHBsYXRmb3JtIHNw ZWNpZmljIGFuZCB0cmllcyB0byBhY3F1aXJlIHRoZSANCj4gK3JlcXVlc3RlZA0KPiArICogYW1v dW50IG9mIGVudHJvcHkgYnkgcG9sbGluZyBwbGF0Zm9ybSBzcGVjaWZpYyBlbnRyb3B5IHNvdXJj ZXMuDQo+ICsgKg0KPiArICogVGhpcyBpcyBPcGVuU1NMIHJlcXVpcmVkIGludGVyZmFjZS4NCj4g KyAqLw0KPiArc2l6ZV90IHJhbmRfcG9vbF9hY3F1aXJlX2VudHJvcHkoUkFORF9QT09MICpwb29s KSB7DQo+ICsgIEJPT0xFQU4gIFJldDsNCj4gKyAgc2l6ZV90IGJ5dGVzX25lZWRlZDsNCj4gKyAg dW5zaWduZWQgY2hhciAqIGJ1ZmZlcjsNCj4gKw0KPiArICBieXRlc19uZWVkZWQgPSByYW5kX3Bv b2xfYnl0ZXNfbmVlZGVkKHBvb2wsIDEgLyplbnRyb3B5X2ZhY3RvciovKTsgIA0KPiArIGlmIChi eXRlc19uZWVkZWQgPiAwKSB7DQo+ICsgICAgYnVmZmVyID0gcmFuZF9wb29sX2FkZF9iZWdpbihw b29sLCBieXRlc19uZWVkZWQpOw0KPiArDQo+ICsgICAgaWYgKGJ1ZmZlciAhPSBOVUxMKSB7DQo+ ICsgICAgICBSZXQgPSBSYW5kR2VuZXJhdGVFbnRyb3B5KGJ5dGVzX25lZWRlZCwgYnVmZmVyKTsN Cj4gKyAgICAgIGlmIChGQUxTRSA9PSBSZXQpIHsNCj4gKyAgICAgICAgcmFuZF9wb29sX2FkZF9l bmQocG9vbCwgMCwgMCk7DQo+ICsgICAgICB9IGVsc2Ugew0KPiArICAgICAgICByYW5kX3Bvb2xf YWRkX2VuZChwb29sLCBieXRlc19uZWVkZWQsIDggKiBieXRlc19uZWVkZWQpOw0KPiArICAgICAg fQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiByYW5kX3Bvb2xfZW50cm9weV9h dmFpbGFibGUocG9vbCk7DQo+ICt9DQo+ICsNCj4gKy8qDQo+ICsgKiBJbXBsZW1lbnRhdGlvbiBm b3IgVUVGSQ0KPiArICoNCj4gKyAqIFRoaXMgaXMgT3BlblNTTCByZXF1aXJlZCBpbnRlcmZhY2Uu DQo+ICsgKi8NCj4gK2ludCByYW5kX3Bvb2xfYWRkX25vbmNlX2RhdGEoUkFORF9QT09MICpwb29s KSB7DQo+ICsgIHN0cnVjdCB7DQo+ICsgICAgVUlOVDY0ICBSYW5kOw0KPiArICAgIFVJTlQ2NCAg VGltZXJWYWx1ZTsNCj4gKyAgfSBkYXRhID0geyAwIH07DQo+ICsNCj4gKyAgUmFuZEdldEJ5dGVz KDgsIChVSU5UOCAqKSYoZGF0YS5SYW5kKSk7ICBkYXRhLlRpbWVyVmFsdWUgPSANCj4gKyBHZXRQ ZXJmb3JtYW5jZUNvdW50ZXIoKTsNCj4gKw0KPiArICByZXR1cm4gcmFuZF9wb29sX2FkZChwb29s LCAodW5zaWduZWQgY2hhciopJmRhdGEsIHNpemVvZihkYXRhKSwgMCk7IA0KPiArfQ0KPiArDQo+ ICsvKg0KPiArICogSW1wbGVtZW50YXRpb24gZm9yIFVFRkkNCj4gKyAqDQo+ICsgKiBUaGlzIGlz IE9wZW5TU0wgcmVxdWlyZWQgaW50ZXJmYWNlLg0KPiArICovDQo+ICtpbnQgcmFuZF9wb29sX2Fk ZF9hZGRpdGlvbmFsX2RhdGEoUkFORF9QT09MICpwb29sKSB7DQo+ICsgIHN0cnVjdCB7DQo+ICsg ICAgVUlOVDY0ICBSYW5kOw0KPiArICAgIFVJTlQ2NCAgVGltZXJWYWx1ZTsNCj4gKyAgfSBkYXRh ID0geyAwIH07DQo+ICsNCj4gKyAgUmFuZEdldEJ5dGVzKDgsIChVSU5UOCAqKSYoZGF0YS5SYW5k KSk7ICBkYXRhLlRpbWVyVmFsdWUgPSANCj4gKyBHZXRQZXJmb3JtYW5jZUNvdW50ZXIoKTsNCj4g Kw0KPiArICByZXR1cm4gcmFuZF9wb29sX2FkZChwb29sLCAodW5zaWduZWQgY2hhciopJmRhdGEs IHNpemVvZihkYXRhKSwgMCk7IA0KPiArfQ0KPiArDQo+ICsvKg0KPiArICogRHVtbXkgSW1wbGVt ZW10YXRpb24gZm9yIFVFRkkNCj4gKyAqDQo+ICsgKiBUaGlzIGlzIE9wZW5TU0wgcmVxdWlyZWQg aW50ZXJmYWNlLg0KPiArICovDQo+ICtpbnQgcmFuZF9wb29sX2luaXQodm9pZCkNCj4gK3sNCj4g KyAgcmV0dXJuIDE7DQo+ICt9DQo+ICsNCj4gKy8qDQo+ICsgKiBEdW1teSBJbXBsZW1lbXRhdGlv biBmb3IgVUVGSQ0KPiArICoNCj4gKyAqIFRoaXMgaXMgT3BlblNTTCByZXF1aXJlZCBpbnRlcmZh Y2UuDQo+ICsgKi8NCj4gK3ZvaWQgcmFuZF9wb29sX2NsZWFudXAodm9pZCkNCj4gK3sNCj4gK30N Cj4gKw0KPiArLyoNCj4gKyAqIER1bW15IEltcGxlbWVtdGF0aW9uIGZvciBVRUZJDQo+ICsgKg0K PiArICogVGhpcyBpcyBPcGVuU1NMIHJlcXVpcmVkIGludGVyZmFjZS4NCj4gKyAqLw0KPiArdm9p ZCByYW5kX3Bvb2xfa2VlcF9yYW5kb21fZGV2aWNlc19vcGVuKGludCBrZWVwKSB7IH0NCj4gKw0K PiBkaWZmIC0tZ2l0IGEvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9yYW5kX3Bvb2xfbm9p c2UuYyANCj4gYi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbF9ub2lzZS5j DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwMC4uYzE2ZWQ4YjQ1 NDk2DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExp Yi9yYW5kX3Bvb2xfbm9pc2UuYw0KPiBAQCAtMCwwICsxLDI5IEBADQo+ICsvKiogQGZpbGUNCj4g KyAgUHJvdmlkZSByYW5kIG5vaXNlIHNvdXJjZS4NCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDE5 LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICtTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsqKi8NCj4gKw0K PiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArDQo+ICsvKioNCj4gKyAgR2V0IDY0 LWJpdCBub2lzZSBzb3VyY2UNCj4gKw0KPiArICBAcGFyYW1bb3V0XSBSYW5kICAgICAgICAgQnVm ZmVyIHBvaW50ZXIgdG8gc3RvcmUgNjQtYml0IG5vaXNlIHNvdXJjZQ0KPiArDQo+ICsgIEByZXR2 YWwgRkFMU0UgICAgICAgICAgICBGYWlsZWQgdG8gZ2VuZXJhdGUNCj4gKyoqLw0KPiArQk9PTEVB Tg0KPiArRUZJQVBJDQo+ICtHZXRSYW5kb21Ob2lzZTY0ICgNCj4gKyAgT1VUIFVJTlQ2NCAgICAg ICAgICpSYW5kDQo+ICsgICkNCj4gK3sNCj4gKyAgLy8NCj4gKyAgLy8gUmV0dXJuIEZBTFNFIHdp bGwgZmFsbGJhY2sgdG8gdXNlIFBlcmZvcm1hY2VDb3VudGVyIHRvDQo+ICsgIC8vIGdlbmVyYXRl IG5vaXNlLg0KPiArICAvLw0KPiArICByZXR1cm4gRkFMU0U7DQo+ICt9DQo+IGRpZmYgLS1naXQg YS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbF9ub2lzZV90c2MuYyANCj4g Yi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbF9ub2lzZV90c2MuYw0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMDAuLjQxNTgxMDYyMzFmZA0K PiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFu ZF9wb29sX25vaXNlX3RzYy5jDQo+IEBAIC0wLDAgKzEsNDMgQEANCj4gKy8qKiBAZmlsZQ0KPiAr ICBQcm92aWRlIHJhbmQgbm9pc2Ugc291cmNlLg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTks IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gK1NQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyoqLw0KPiArDQo+ ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1 Z0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVGltZXJMaWIuaD4NCj4gKw0KPiArLyoqDQo+ ICsgIEdldCA2NC1iaXQgbm9pc2Ugc291cmNlDQo+ICsNCj4gKyAgQHBhcmFtW291dF0gUmFuZCAg ICAgICAgIEJ1ZmZlciBwb2ludGVyIHRvIHN0b3JlIDY0LWJpdCBub2lzZSBzb3VyY2UNCj4gKw0K PiArICBAcmV0dmFsIFRSVUUgICAgICAgICAgICAgR2V0IHJhbmRvbW5lc3Mgc3VjY2Vzc2Z1bGx5 Lg0KPiArICBAcmV0dmFsIEZBTFNFICAgICAgICAgICAgRmFpbGVkIHRvIGdlbmVyYXRlDQo+ICsq Ki8NCj4gK0JPT0xFQU4NCj4gK0VGSUFQSQ0KPiArR2V0UmFuZG9tTm9pc2U2NCAoDQo+ICsgIE9V VCBVSU5UNjQgICAgICAgICAqUmFuZA0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQzMiBJbmRleDsN Cj4gKyAgVUlOVDMyICpSYW5kUHRyOw0KPiArDQo+ICsgIGlmIChOVUxMID09IFJhbmQpIHsNCj4g KyAgICByZXR1cm4gRkFMU0U7DQo+ICsgIH0NCj4gKw0KPiArICBSYW5kUHRyID0gKFVJTlQzMiAq KVJhbmQ7DQo+ICsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgMjsgSW5kZXggKyspIHsN Cj4gKyAgICAqUmFuZFB0ciA9IChVSU5UMzIpICgoQXNtUmVhZFRzYyAoKSkgJiAweEZGKTsNCj4g KyAgICBSYW5kUHRyKys7DQo+ICsgICAgTWljcm9TZWNvbmREZWxheSAoMTApOw0KPiArICB9DQo+ ICsNCj4gKyAgcmV0dXJuIFRSVUU7DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cvTGli cmFyeS9PcGVuc3NsTGliL29wZW5zc2wgDQo+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExp Yi9vcGVuc3NsDQo+IGluZGV4IDc0ZjJkOWMxZWM1Zi4uNTBlYWFjOWYzMzM3IDE2MDAwMA0KPiAt LS0gYS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL29wZW5zc2wNCj4gKysrIGIvQ3J5cHRv UGtnL0xpYnJhcnkvT3BlbnNzbExpYi9vcGVuc3NsDQo+IEBAIC0xICsxIEBADQo+IC1TdWJwcm9q ZWN0IGNvbW1pdCA3NGYyZDljMWVjNWY1NTEwZTFkM2RhNWE5ZjAzYzI4ZGYwOTc3NzYyDQo+ICtT dWJwcm9qZWN0IGNvbW1pdCA1MGVhYWM5ZjMzMzc2NjcyNTlkZTcyNTQ1MWYyMDFlNzg0NTk5Njg3 DQo+IA0KDQo=