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; Mon, 13 May 2019 22:21:35 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 May 2019 22:21:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,467,1549958400"; d="scan'208";a="171459410" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga002.fm.intel.com with ESMTP; 13 May 2019 22:21:34 -0700 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 13 May 2019 22:21:34 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx120.amr.corp.intel.com (10.18.124.208) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 13 May 2019 22:21:33 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.129]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.70]) with mapi id 14.03.0415.000; Tue, 14 May 2019 13:21:32 +0800 From: "Xiaoyu lu" To: "devel@edk2.groups.io" , "lersek@redhat.com" CC: "Wang, Jian J" Subject: Re: [edk2-devel] [PATCH 2/3] CryptoPkg: Upgrade openssl to 1.1.1b Thread-Topic: [edk2-devel] [PATCH 2/3] CryptoPkg: Upgrade openssl to 1.1.1b Thread-Index: AQHU/mPRrraRa60NDEWE8oh7E4eGA6ZS6FWAgAGDbmD//+T5gIAVuzWA Date: Tue, 14 May 2019 05:21:31 +0000 Message-ID: References: <1556525727-14875-1-git-send-email-xiaoyux.lu@intel.com> <1556525727-14875-3-git-send-email-xiaoyux.lu@intel.com> <52ce3b53-83dc-9fdd-2580-1b39535f6b93@redhat.com> In-Reply-To: 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: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjBkNzBiOTItY2RiMS00MmQzLTg2MzEtMzVmY2I5ZTc0OTg1IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiMzVoVVRXYXgyUCtGVnVPdzRkVzB1QlpBWkR0bEl0UGVFNCsybTV6bDBDN3JycG9jZ3ZjeEpPSEdXVW0xeG10USJ9 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 SGkgTGFzemxvOg0KCUknbSBzb3JyeSBJIG1pc3NlZCB0aGlzIGVtYWlsLCBhbmQgYWxzbyBzb3Jy eSBmb3IgSSBkaWRuJ3QgdW5kZXJzdGFuZCB5b3VyIHBvaW50cy4NCglJIGZvY3VzIG9uIHdoYXQg dGhlIGN1cnJlbnQgY29kZSBoYXMsIHNvIHdoYXQgdG8gYWRkLiBJIHNob3VsZCBwYXkgbW9yZSBh dHRlbnRpb24gdG8gd2h5IEkgbmVlZCB0byBjaGFuZ2UgaXQuIFlvdXIgYXBwcm9hY2ggaXMgYmV0 dGVyLiBCZXR0ZXIgdG8gbWFrZSByZXZpZXcgZWFzaWVyLg0KCUFib3V0ICdzdHVwaWQnLCBDYW4g SSBjaGFuZ2UgJ3N0dXBpZCcgdG8gJ2JhZCcuIEkgdXNlZCB0aGUgd3Jvbmcgd29yZCBtYWRlIHlv dSBmZWVsIGJhZCwgSSBhcG9sb2dpemUuIENvbW1lbnQgKDExKSBpdCBpcyBub3Qgb2ZmZW5zaXZl IHRvIG1lLiBJIGFncmVlIHdpdGggeW91ciBwb2ludC4gV2hlbiB5b3UgcG9pbnQgb3V0LCBJIGlt bWVkaWF0ZWx5IGZlbHQgdGhhdCBteSBpbXBsZW1lbnRhdGlvbiB3YXMgYmFkLiBBbmQgdGhpcyBk dW1teSBpbXBsZW1lbnQgaXMgdW5zYWZlLCBpdCBzaG91bGQgYmUgcG9pbnRlZCBvdXQuIA0KDQog ICAgSSdtIGdyYXRlZnVsIGZvciB5b3VyIHBhdGllbmNlIGFuZCBzdGVwIGJ5IHN0ZXAgZ3VpZGlu ZyBtZS4gQ2FuIHlvdSBnaXZlIG1lIGEgY2hhbmdlIGFuZCBkb24ndCBnaXZlIHVwIG9uIHRoaXM/ DQoNClRoYW5rcw0KWGlhb3l1DQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogZGV2 ZWxAZWRrMi5ncm91cHMuaW8gW21haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pb10gT24gQmVoYWxm IE9mIExhc3psbyBFcnNlaw0KU2VudDogVHVlc2RheSwgQXByaWwgMzAsIDIwMTkgMTE6MzIgUE0N ClRvOiBMdSwgWGlhb3l1WCA8eGlhb3l1eC5sdUBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vw cy5pbw0KQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgWWUsIFRpbmcg PHRpbmcueWVAaW50ZWwuY29tPg0KU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggMi8z XSBDcnlwdG9Qa2c6IFVwZ3JhZGUgb3BlbnNzbCB0byAxLjEuMWINCg0KSGksDQoNCk9uIDA0LzMw LzE5IDEyOjAwLCBMdSwgWGlhb3l1WCB3cm90ZToNCj4gVGhhbmsgeW91IExhc3psby4NCj4gSSB3 aWxsIG1vZGlmeSB0aGUgcG9pbnRlZCBvdXQuDQo+IA0KPiAoMSk6IA0KPiBXaGVuIE9QRU5TU0xf U1lTX1VFRkkgaXMgZGVmaW5lZCwgTk9fU1lTTE9HIHdpbGwgYmUgZGVmaW5lZCAoZV9vcy5oIGxp bmUgNDcpLg0KPiANCj4gKDIpOg0KPiBPcGVuU1NMIG9ubHkgc3VwcG9ydCBzZWVkaW5nIE5PTkUg aW4gVUVGSShyYW5kX3VuaXguYyBsaW5lIDkzKS4gDQo+IFRoaXMgZmxhZyB3aWxsIG5vdCBiZSBh ZGRlZCBpbnRvIG9wZW5zc2xjb25mLmggYXV0b21hdGljYWxseSBhZnRlciBydW4gDQo+IG9wZW5z c2wgQ29uZmlndXJlIHNjcmlwdCB3aXRoIG5vLXNlZWQgcGFyYW1hdGVyLiBzbyBhZGQgaXQgbWFu dWFsbHkuDQoNCkZvciB0aGUgYWJvdmUgdHdvIHBvaW50cywgcGxlYXNlIHJlYWxpemUgdGhhdCBJ J20gYXNraW5nIGZvciBPcGVuU1NMICpjb21taXQqIHJlZmVyZW5jZXMsIG5vdCBqdXN0IGNvZGUg bG9jYXRpb25zLiBJdCBtZWFucyB0aGF0IG9uY2UgeW91IGxvY2F0ZSB0aGUgY29kZSByZXNwb25z aWJsZSwgeW91IHNob3VsZCBwbGVhc2UgcnVuICJnaXQgYmxhbWUiIG9uIHRoZSBhZmZlY3RlZCBj b2RlIGxvY2F0aW9uLCBhbmQgbWVudGlvbiB0aGUgT3BlblNTTCAqZ2l0IGNvbW1pdCBoYXNoKiBp biB0aGUgZWRrMiBwYXRjaCB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgY2hhbmdlLg0KDQpG b3IgZXhhbXBsZTogaW4gb3JkZXIgdG8gYWRkcmVzcyBteSByZXF1ZXN0ICgxKSwgeW91IHdvdWxk IHJ1bg0KDQokIGdpdCBibGFtZSAtLSBlX29zLmgNCg0KdGhlbiBsb29rIGF0IHRoZSBmb2xsb3dp bmcgY29udGV4dDoNCg0KICAgICA0NCBjZmY1NWI5MGU5NWUxIChRaW4gTG9uZyAgICAgICAgICAg ICAgICAyMDE3LTAzLTE1IDIzOjMzOjU3ICswODAwICA0NCkgIyBpZiBkZWZpbmVkKE9QRU5TU0xf U1lTX1ZYV09SS1MpIHx8IGRlZmluZWQoT1BFTlNTTF9TWVNfVUVGSSkNCiAgICAgNDUgM2U4M2U2 ODZiYTJlMiAoUmljaGFyZCBMZXZpdHRlICAgICAgICAgMjAwMi0wMi0xNCAxNTozNzozOCArMDAw MCAgNDUpICMgIGRlZmluZSBOT19DSE1PRA0KICAgICA0NiAzZTgzZTY4NmJhMmUyIChSaWNoYXJk IExldml0dGUgICAgICAgICAyMDAyLTAyLTE0IDE1OjM3OjM4ICswMDAwICA0NikgIyAgZGVmaW5l IE5PX1NZU0xPRw0KICAgICA0NyAwZjExM2YzZWU0ZDYyIChNYXR0IENhc3dlbGwgICAgICAgICAg ICAyMDE1LTAxLTIyIDAzOjQwOjU1ICswMDAwICA0NykgIyBlbmRpZg0KDQphbmQgdGhlbiB3cml0 ZSBpbiB0aGUgY29tbWl0IG1lc3NhZ2UsDQoNCiIiIg0KRHVlIHRvIE9wZW5TU0wgY29tbWl0IGNm ZjU1YjkwZTk1ZSAoIkNsZWFuaW5nIFVFRkkgQnVpbGQgd2l0aCBhZGRpdGlvbmFsIE9QRU5TU0xf U1lTX1VFRkkgZmxhZ3MiLCAyMDE3LTAzLTI5KSwgd2UgY2FuIHJlbW92ZSBOT19TWVNMT0cgZnJv bSB0aGUgSU5GIGZpbGUuDQoiIiINCg0KQW5kIHRoZW4sIHdoZW4gSSByZXZpZXcgdGhlIHBhdGNo LCBJIGNhbiBydW4NCg0KJCBnaXQgc2hvdyBjZmY1NWI5MGU5NWUNCg0Kb24gbXkgZW5kLCBhbmQg Y29uZmlybSB0aGF0IHlvdSBhcmUgY29ycmVjdC4NCg0KVGhlIHNhbWUgYXBwbGllcyB0byBldmVy eSBvdGhlciByZXF1ZXN0LCB3aGVyZSBJIGFzayBmb3IgYW4gdXBzdHJlYW0gT3BlblNTTCAqY29t bWl0KiByZWZlcmVuY2UuDQoNCj4gDQo+ICgzKToNCj4gQWx0aG91Z2ggdGhpcyB2YXJpYWJsZSBo YXMgYWxyZWFkeSBiZWVuIHNldCBpbiBzb21lIGJ1aWxkIGVudmlyb25tZW50LCANCj4gdGhpcyBp cyBqdXN0IGZvciBPcGVuU1NMIGNvbXBpbGF0aW9uIGZvciBvdGhlciBlbnZpcm9ubWVudCB3aGlj aCBub3QgZGVmaW5lZCB0aGUgZmxhZy4NCg0KVGhpcyBkb2Vzbid0IGFuc3dlciBteSBxdWVzdGlv bnMgLyByZXF1ZXN0cy4gSSBtYWRlIHR3byBjb21tZW50czoNCg0KKGEpIHBsZWFzZSBjb25zaWRl ciBzcGVsbGluZyBvdXQgdGhlc2UgZ2NjIHdhcm5pbmcgb3B0aW9ucyB3aXRoIGZpbmVyIGdyYW51 bGFyaXR5LCB0aGF0IGlzLCB0byBjb3ZlciAqb25seSogdGhlIGZvbGxvd2luZyB0b29sY2hhaW5z Og0KDQotIERFQlVHXyhHQ0M0OHxHQ0M0OSlfKEFSTXxBQVJDSDY0KSAgIC0tIDQgY2FzZXMNCi0g REVCVUdfKEdDQzQ4fEdDQzQ5fEdDQzUpXyhJQTMyfFg2NCkgLS0gNiBjYXNlcw0KDQpidXQsIEkn ZCBiZSBmaW5lIGlmIHRoZSBDcnlwdG9Qa2cgbWFpbnRhaW5lciBkaXNhZ3JlZWQgd2l0aCBtZSwg YW5kIHByZWZlcnJlZCB5b3VyIGN1cnJlbnQgc29sdXRpb24uDQoNCihiKSByZWdhcmRsZXNzIG9m ICpob3cqIHlvdSBhZGQgdGhlc2UgZmxhZ3MsIHdpdGggY29hcnNlIGdyYW51bGFyaXR5IG9yIGZp bmUgZ3JhbnVsYXJpdHksIHBsZWFzZSBzcGxpdCB0aGVtIHRvIGEgc2VwYXJhdGUgcGF0Y2gsIGJl Zm9yZSB0aGUgY3VycmVudCBwYXRjaC4NCg0KPiAoNCk6DQo+IGFncmVlDQo+IA0KPiAoNSk6DQo+ IE15IG1pc3Rha2UuIEkgd2lsbCBjaGFuZ2UgdGhlIGNvbW1pdCBtZXNzYWdlcy4NCj4gDQo+ICg2 KToNCj4gQmV0d2VlbiBPcGVuU1NMXzFfMV8waSg5N2MwOTU5ZjI3YjI5NGZlMWViMTBiNTQ3MTQ1 ZWJlZjI1MjRiODk2KSBhbmQgDQo+IE9wZW5TU0xfMV8xXzFiKDUwZWFhYzlmMzMzNzY2NzI1OWRl NzI1NDUxZjIwMWU3ODQ1OTk2ODcpLCBPcGVuU1NMIA0KPiB1cGRhdGVkIERSQkcgLyBSQU5EIHRv IHJlcXVlc3Qgbm9uY2UgYW5kIGFkZGl0aW9uYWwgbG93IGVudHJvcHkgDQo+IHJhbmRvbW5lc3Mg ZnJvbSBzeXN0ZW0obGluZSAyMjkgb3BlbnNzbC9DSEFOR0VTKS4NCj4gDQo+IFNpbmNlIE9wZW5T U0xfMV8xXzFiIGRvZXNuJ3QgZnVsbHkgaW1wbGVtZW50IHJhbmRvbW5lc3MgZ2VuZXJhdGlvbiBm b3IgVUVGSS4NCj4gU28gSSBhZGRlZCB0aGVzZSBmdW5jdGlvbnMuDQoNCkxldCBtZSByZS1zdGF0 ZSBteSBwb2ludCAoNiksIHNvIGl0J3MgY2xlYXJlcjoNCg0KLSB0aGUgY29tbWl0IG1lc3NhZ2Ug b24gdGhlIHBhdGNoIGN1cnJlbnRseSBzdGF0ZXMgc29tZXRoaW5nIHRoYXQgaXMgbm90IHRydWUg KGJlY2F1c2Ugd2UgYXJlIG5vdCBpbXBsZW1lbnRpbmcgZnVuY3Rpb25zIHRoYXQgdGhlIGNvbW1p dCBtZXNzYWdlIGxpc3RzKQ0KDQotIHRoZSBjb21taXQgbWVzc2FnZSBvbiB0aGUgcGF0Y2ggZG9l cyBub3Qgc3RhdGUgZnVuY3Rpb25zIHRoYXQgd2UgKmRvKiBpbXBsZW1lbnQuDQoNCi0gaXQncyBp bmRlZWQgdmVyeSB1c2VmdWwgaWYgeW91IHBvaW50IG91dCAqd2hlbiogdGhlIHNlcGFyYXRlIHJh bmRvbSBwb29sIHJlcXVpcmVtZW50IHdhcyBmb3JtZWQgaW4gT3BlblNTTCwgYnV0IHRoZSBhYm92 ZSBjb2RlIGxvY2F0aW9uIGlzIGluc3VmZmljaWVudCwgaW4gaXRzZWxmLiBQbGVhc2UgcHJvdmlk ZSBhbiBPcGVuU1NMIGNvbW1pdCBoYXNoLCB1c2luZyAiZ2l0IGJsYW1lIi4gKEhvcGVmdWxseSwg dGhlIE9wZW5TU0wgY29tbWl0IHdpbGwgYWxzbyBsZWFkIHRoZSByZWFkZXIgdG8gYW4gT3BlblNT TCBwdWxsIHJlcXVlc3QuKQ0KDQo+IA0KPiAoNyk6DQo+IEJVRlNJWiB1c2VkIGluIGV2cF9rZXku YyANCj4gT3BlblNTTF8xXzFfMWIoNTBlYWFjOWYzMzM3NjY3MjU5ZGU3MjU0NTFmMjAxZTc4NDU5 OTY4NykNCj4gVGhpcyBpcyBkZWZpbmVkIGluIENSVCBsaWJyYXJ5KHN0ZGlvLmgpLg0KDQpJIHRo aW5rIHlvdSBtaXN1bmRlcnN0b29kIG15IHF1ZXN0aW9uLg0KDQpNeSBxdWVzdGlvbiBpczogd2h5 IGlzIGl0IG5lY2Vzc2FyeSBmb3IgZWRrMiB0byBkZWZpbmUgQlVGU0laICpub3cqLCB3aGVuIHRo ZSBlZGsyICNkZWZpbmUgdXNlZCB0byBiZSB1bm5lY2Vzc2FyeSBiZWZvcmU/DQoNCldoYXQgaXMg dGhlIE9wZW5TU0wgY2hhbmdlICpleGFjdGx5KiAoPSB0aGUgT3BlblNTTCBjb21taXQpIHRoYXQg Zm9yY2VzIHVzIHRvIGRlZmluZSBCVUZTSVogKm5vdyo/DQoNCkFuZCBvbmNlIHdlIGlkZW50aWZ5 IHRoYXQgY2hhbmdlLCBjYW4gd2UgZGV0ZXJtaW5lIGlmIGl0IGlzIGFuIGludGVudGlvbmFsIGNo YW5nZSBpbiBPcGVuU1NMICh0aGF0IGlzLCBhbiBleHBsaWNpdCBuZXcgcmVxdWlyZW1lbnQgb24g ZWRrMiksIG9yIGEgYnVnIGluIE9wZW5TU0wgKGkuZS4gZWRrMiBzaG91bGRuJ3QgYmUgZXhwZWN0 ZWQsIGluIGZhY3QsIHRvICNkZWZpbmUgQlVGU0laKT8NCg0KUGxlYXNlIGNvbnNpZGVyIHRoZSBm b2xsb3dpbmcgKGFuY2llbnQhKSBPcGVuU1NMIGNvbW1pdDoNCg0KY29tbWl0IGE2M2Q1ZWFhYjI4 YTIwNDYzODE4YjQzYTc2Y2U4YWNkMTlkNTg4MTINCkF1dGhvcjogUmljaGFyZCBMZXZpdHRlIDxs ZXZpdHRlQG9wZW5zc2wub3JnPg0KRGF0ZTogICBTdW4gTWF5IDYgMjM6MTk6MzcgMjAwMSArMDAw MA0KDQogICAgQWRkIGEgZ2VuZXJhbCB1c2VyIGludGVyZmFjZSBBUEkuICBUaGlzIGlzIGRlc2ln bmVkIHRvIHJlcGxhY2UgdGhpbmdzDQogICAgbGlrZSBkZXNfcmVhZF9wYXNzd29yZCBhbmQgZnJp ZW5kcyAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSBmdW5jdGlvbnMNCiAgICB1c2luZyB0aGlzIG5l dyBBUEkgYXJlIHByb3ZpZGVkKS4gIFRoZSBwdXJwb3NlIGlzIHRvIHJlbW92ZSBwcm9tcHRpbmcN CiAgICBmdW5jdGlvbnMgZnJvbSB0aGUgREVTIGNvZGUgc2VjdGlvbiBhcyB3ZWxsIGFzIHByb3Zp ZGUgZm9yIHByb21wdGluZw0KICAgIHRocm91Z2ggZGlhbG9nIGJveGVzIGluIGEgd2luZG93IHN5 c3RlbSBhbmQgdGhlIGxpa2UuDQoNClRoaXMgY29tbWl0IGFkZGVkIG11bHRpcGxlIEJVRlNJWiBy ZWZlcmVuY2VzIHRvICJldnBfa2V5LmMnIGluIHRoZSB5ZWFyICoyMDAxKi4NCg0KJCBnaXQgc2hv dyBhNjNkNWVhYWIyOGEgLS0gY3J5cHRvL2V2cC9ldnBfa2V5LmMNCg0KU28gd2h5IGlzIGl0IG5l Y2Vzc2FyeSBmb3IgZWRrMiB0byAjZGVmaW5lIEJVRlNJWiBvbmx5IG5vdz8gV2hhdCBpcyB0aGUg KnJlY2VudCogT3BlblNTTCBjb21taXQgdGhhdCBtYWtlcyBpdCBuZWNlc3Nhcnk/DQoNCj4gDQo+ ICg4KToNCj4gYWdyZWUNCj4gDQo+ICg5KToNCj4gTXkgbWlzdGFrZS4gSSB3aWxsIHJlbW92ZSBp dC4NCj4gDQo+ICgxMCk6DQo+IE15IG1pc3Rha2UuDQo+IA0KPiAoMTEpOg0KPiBJIHRoaW5rIHRo ZSByYW5kb20gZnVuY3Rpb24gaW4gb3BlbnNzbCBpcyBub3QgdmVyeSBpbXBvcnQsIGJlY2F1c2Ug aXQgaXNuJ3QgdXNlZCB0byBnZW5lcmF0ZSBrZXlzIGluIFVFRkksIGl0IGlzIG9ubHkgdXNlZCB0 byB2ZXJpZnkgdGhpbmdzLiANCj4gU28gSSBkdW1teSBpbXBsZW1lbnQgaXQuDQo+IA0KPiBJIHdp bGwgY29uc3VsdCByZWxldmFudCBleHBlcnRzIGhvdyB0byBpbXBsZW1lbnQgaXQuIA0KPiANCj4g VGhhbmsgeW91IGZvciB5b3VyIHJldmlldy4gQW5kIFNvcnJ5IGZvciBteSBzdHVwaWQgZnVuY3Rp b24gaW1wbGVtZW50YXRpb24uDQoNCkkgbmV2ZXIgc2FpZCAob3IgaW1wbGllZCkgaXQgd2FzIHN0 dXBpZCAtLSBpdCBpcyBuYWl2ZSwgeWVzLCBhbmQgaW5zZWN1cmUsIGJ1dCBJIGRvbid0IHVzZSB0 aGUgd29yZCAic3R1cGlkIiBvbiB0aGlzIG1haWxpbmcgbGlzdC4NCg0KICBodHRwczovL3d3dy50 aWFub2NvcmUub3JnL2NvYy5odG1sDQoNCkkgZGlkIHNheSwNCg0KIklmIHdlIGV2ZXIgc2hpcCBj b2RlIGxpa2UgdGhpcywgd2UnbGwgYmUgdGhlIGxhdWdoaW5nIHN0b2NrIG9mIHRoZSBzZWN1cml0 eSB3b3JsZCwgZXZlbiB0aG91Z2ggdGhlIGNvZGUgaXMgY2xlYXJseSAxMDAlIHdlbGwtaW50ZW5k ZWQsIGkuZS4gYXMgYSBzdHViIG9ubHkiDQoNCndoaWNoIEkgdGhpbmsgd2FzIG5vdCBvZmZlbnNp dmUuIEEgZ29vZCBwb3J0aW9uIG9mIHRoZSBzZWN1cml0eSBhbmFseXN0IHBvcHVsYXRpb24gaXMg a25vd24gdG8gYmUgYWJyYXNpdmUsIGFuZCBwcm9uZSB0byByaWRpY3VsZSBuYWl2ZSBzb2x1dGlv bnMuIE15IHN0YXRlbWVudCBkaWRuJ3QgbWVhbiB0aGF0ICpJKiB3b3VsZCBsYXVnaCBhdCB0aGUg Y29kZSwgcXVpdGUgdGhlIG9wcG9zaXRlOiBJIHN0YXRlZCB0aGUgY29kZSB3YXMgY2xlYXJseSAx MDAlIHdlbGwtaW50ZW5kZWQuDQoNCklmIG15IGNvbW1lbnQgc3RpbGwgZmVsdCBvZmZlbnNpdmUs IEkgYXBvbG9naXplOyBpdCB3YXNuJ3QgbXkgaW50ZW50Lg0KDQpUaGFua3MNCkxhc3psbw0KDQo+ IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMYXN6bG8gRXJzZWsgW21h aWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj4gU2VudDogVHVlc2RheSwgQXByaWwgMzAsIDIwMTkg MjowMiBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEx1LCBYaWFveXVYIDx4aWFveXV4 Lmx1QGludGVsLmNvbT4NCj4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29t PjsgWWUsIFRpbmcgPHRpbmcueWVAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2 ZWxdIFtQQVRDSCAyLzNdIENyeXB0b1BrZzogVXBncmFkZSBvcGVuc3NsIHRvIA0KPiAxLjEuMWIN Cj4gDQo+IFByZWxpbWluYXJ5IGNvbW1lbnRzOg0KPiANCj4gT24gMDQvMjkvMTkgMTA6MTUsIFhp YW95dSBsdSB3cm90ZToNCj4+IEZyb206IFhpYW95dSBMdSA8eGlhb3l1eC5sdUBpbnRlbC5jb20+ DQo+Pg0KPj4gUkVGOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dp P2lkPTEwODkNCj4+DQo+PiAqIHVwZGF0ZSBvcGVuc3NsIHN1Ym1vZHVsZSB0byBPcGVuU1NMXzFf MV8xYg0KPiANCj4gU2VlbXMgT0sgKGF0IDUwZWFhYzlmMzMzNzY2NzI1OWRlNzI1NDUxZjIwMWU3 ODQ1OTk2ODcpLg0KPiANCj4+ICogcnVuIHByb2Nlc3NfZmlsZXMucGwgc2NyaXB0IHRvIHJlZ2Vu ZXJhdGUgT3BlbnNzbExpYltDcnlwdG9dLmluZg0KPiANCj4gT0ssIEkgYWdyZWUgdGhpcyBoYXMg dG8gYmUgaW4gdGhlIHNhbWUgY29tbWl0IGFzIHRoZSBzdWJtb2R1bGUgdXBkYXRlLg0KPiANCj4+ ICogcmVtb3ZlIE5PX1NZU0xPRyBmcm9tIE9wZW5zc2xMaWJbQ3J5cHRvXS5pbmYNCj4gDQo+ICgx KSBJbiB0aGUgY29tbWl0IG1lc3NhZ2UsIGluZGljYXRlIHRoZSB1cHN0cmVhbSBPcGVuU1NMIGNv bW1pdCB0aGF0IGp1c3RpZmllcyB0aGUgZWRrMiBjaGFuZ2UuDQo+IA0KPj4gKiBhZGQgLURPUEVO U1NMX1JBTkRfU0VFRF9OT05FIHRvIE9wZW5zc2xMaWJbQ3J5cHRvXS5pbmYNCj4gDQo+ICgyKSBU aGUgdXBzdHJlYW0gT3BlblNTTCBjaGFuZ2UganVzdGlmeWluZyB0aGlzIGNoYW5nZSBzaG91bGQg YmUgaWRlbnRpZmllZCBpbiB0aGUgY29tbWl0IG1lc3NhZ2UsIHBsZWFzZS4NCj4gDQo+PiAqIGFk ZCAtV25vLWVycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlIGZvciBHQ0MgaW4gDQo+PiBPcGVu c3NsTGliW0NyeXB0b10uaW5mDQo+IA0KPiAoMykgSSBkb24ndCB1bmRlcnN0YW5kIHdoeSB0aGlz IGlzIG5lY2Vzc2FyeS4gSW4gdGhlIElORiBmaWxlcywgdW5kZXIgDQo+IFtCdWlsZE9wdGlvbnNd LCB3ZSB1c2UgdGhlICI9Iiwgbm90ICI9PSIgb3BlcmF0b3IsIHRvIGFwcGVuZCAobm90DQo+IG92 ZXJ3cml0ZSkgdGhlIGJ1aWxkIG9wdGlvbnMuDQo+IA0KPiBBbmQgIi1Xbm8tdW51c2VkLWJ1dC1z ZXQtdmFyaWFibGUiIGlzIGFscmVhZHkgcGFydCBvZiAiQmFzZVRvb2xzL0NvbmYvdG9vbHNfZGVm LnRlbXBsYXRlIi4uLg0KPiANCj4gQWgsIGJ1aWxkaW5nIE9wZW5TU0wgcmVxdWlyZXMgd2lkZXIg Y292ZXJhZ2UgdGhhbiB3aGF0IHdlIHByZWZlciBpbiAiQmFzZVRvb2xzL0NvbmYvdG9vbHNfZGVm LnRlbXBsYXRlIi4gTmFtZWx5LCB0aGUgZm9sbG93aW5nIGJ1aWxkIGNvbmZpZ3MgYXJlIChpbnRl bnRpb25hbGx5KSBub3Qgc2lsZW5jZWQgaW4gQmFzZVRvb2xzOg0KPiANCj4gLSBERUJVR18oR0ND NDh8R0NDNDkpXyhBUk18QUFSQ0g2NCkgICAtLSA0IGNhc2VzDQo+IC0gREVCVUdfKEdDQzQ4fEdD QzQ5fEdDQzUpXyhJQTMyfFg2NCkgLS0gNiBjYXNlcw0KPiANCj4gSSB0aGluayBJJ2QgcHJlZmVy IGlmIHdlIGRpZG4ndCBpbmNsdWRlIHJlZHVuZGFudCBidWlsZCBvcHRpb25zLCBhbmQgb25seSBz cGVjaWZpZWQgaW4gT3BlbnNzbExpYiouaW5mIHdoYXQncyBub3QgY292ZXJlZCBpbiBCYXNlVG9v bHMuIEJ1dCwgSSdsbCBsZXQgdGhlIENyeXB0b1BrZyBtYWludGFpbmVycyBkZWNpZGUsIG9mIGNv dXJzZS4NCj4gDQo+IA0KPiBSZWdhcmRsZXNzIG9mIHRoZSBvcHRpb25zIHdlIGNob29zZSwgSSB0 aGluayB0aGlzIGNoYW5nZSAoYW5kIHRoZSBwYXJhbGxlbCBjaGFuZ2UgZm9yIFZTKSBzaG91bGQg YmUgZG9uZSBpbiBhIHNlcGFyYXRlIHBhdGNoLCAqYmVmb3JlKiBhZHZhbmNpbmcgdGhlIE9wZW5T U0wgc3VibW9kdWxlLiBUaGUgcHJlLXBhdGNoIHN1Ym1vZHVsZSB3aWxsIGJ1aWxkIGp1c3QgZmlu ZSB3aXRoIHRoZXNlIGFkZGl0aW9uYWwgInNpbGVuY2VyIiBmbGFncywgYW5kIHB1dHRpbmcgdGhl bSBpbiBwbGFjZSBiZWZvcmUgdGhlIHN1Ym1vZHVsZSB1cGRhdGUgaGVscHMgZGVjcmVhc2UgdGhl IHNpemUgb2YgdGhlIGltcG9ydGFudCBwYXRjaC4NCj4gDQo+PiAqIGFkZCAvd2Q0MTMyIC93ZDQ3 MDAgL3dkNDMxMCBmb3IgVmlzdWFsIFN0dWRpbyBjb21waWxlciBpbiANCj4+IE9wZW5zc2xMaWJb Q3J5cHRvXS5pbmYNCj4+ICogYWRkIGNvbXBpbGVyX2ZsYWdzIHRvIGJ1aWxkaW5mLmggZmlsZS4N Cj4gDQo+ICg0KSBJIGd1ZXNzIHRoaXMgaGFzIHRvIGJlIGluIHRoZSBwYXRjaCB0aGF0IGFkdmFu Y2VzIHRoZSBzdWJtb2R1bGUsIHllcy4NCj4gDQo+IChUZWNobmljYWxseSB3ZSBjb3VsZCBhZGQg aXQgZWFybGllciwgYnV0IGl0J3MganVzdCBhIHNtYWxsIGh1bmssIGFuZCB3b3VsZG4ndCBtYWtl IG11Y2ggc2Vuc2UgaW4gc2VwYXJhdGlvbikuDQo+IA0KPiBIb3dldmVyLCBwbGVhc2UgcHJvdmlk ZSBhbiB1cHN0cmVhbSBPcGVuU1NMIGNvbW1pdCBoYXNoLCBpbiB0aGUgZWRrMiBjb21taXQgbWVz c2FnZSwgdGhhdCByZXF1aXJlcyB0aGlzIGNoYW5nZS4NCj4gDQo+IA0KPj4gb3BlbnNzbCAxLjEu MWIgZG9lc24ndCBpbXBsZW1lbnQgcmFuZG9tbmVzcyBnZW5lcmF0aW9uIGZvciBVRUZJLg0KPj4g U28gYWRkIGEgbmV3IGZpbGUocmFuZF9wb29sLmMpIHRvIGltcGxlbWVudCB0aGVzZSBmb2xsb3dp bmcgZnVuY3Rpb25zLg0KPiANCj4gKDUpIFBsZWFzZSBwcm92aWRlIGFuIE9wZW5TU0wgY29tbWl0 IHJlZmVyZW5jZSB0aGF0IHJlcXVpcmVzIHRoaXMgZnVuY3Rpb25hbGl0eSBpbiBlZGsyLg0KPiAN Cj4+ICogZG9fcmFuZF9pbml0DQo+PiAqIHJhbmRfZHJiZ19nZXRfbm9uY2UNCj4+ICogcmFuZF9k cmJnX2dldF9lbnRyb3B5DQo+PiAqIHJhbmRfZHJiZ19nZXRfYWRkaXRpb25hbF9kYXRhDQo+IA0K PiAoNikgVGhpcyBwYXRjaCBpbXBsZW1lbnRzIG5vbmUgb2YgdGhlIGFib3ZlIGZ1bmN0aW9ucy4N Cj4gDQo+IFRoZSBwYXRjaCBkb2VzIGltcGxlbWVudDoNCj4gLSByYW5kX3Bvb2xfYWNxdWlyZV9l bnRyb3B5DQo+IC0gcmFuZF9wb29sX2FkZF9ub25jZV9kYXRhDQo+IC0gcmFuZF9wb29sX2FkZF9h ZGRpdGlvbmFsX2RhdGENCj4gLSByYW5kX3Bvb2xfaW5pdA0KPiAtIHJhbmRfcG9vbF9jbGVhbnVw DQo+IC0gcmFuZF9wb29sX2tlZXBfcmFuZG9tX2RldmljZXNfb3Blbg0KPiANCj4gYnV0IHRob3Nl IGFyZSBub3QgZG9jdW1lbnRlZCBpbiB0aGUgY29tbWl0IG1lc3NhZ2UuDQo+IA0KPiBJZiB0aGUg ZnVuY3Rpb25zIHRoYXQgeW91IGxpc3RlZCBpbiB0aGUgY29tbWl0IG1lc3NhZ2UgY2FsbCBvdXIg ZHVtbXkgZnVuY3Rpb25zLCB0aGF0J3MgZmluZSwgd2UgY2FuIHBvaW50IHRoYXQgb3V0IHNlcGFy YXRlbHksIGJ1dCB3ZSdyZSBub3QgaW1wbGVtZW50aW5nIGRvX3JhbmRfaW5pdCBvciByYW5kX2Ry YmdfKi4NCj4gDQo+IFBsZWFzZSBjbGVhbiB1cCB0aGUgY29tbWl0IG1lc3NhZ2UsIGluY2x1ZGlu ZyBhIG1lbnRpb24gb2YgdGhlIE9wZW5TU0wgY29tbWl0IHdoZXJlIHRoZSBwbGF0Zm9ybS1zcGVj aWZpYyByYW5kb20gcG9vbCBmZWF0dXJlIHdhcyBpbnRyb2R1Y2VkLg0KPiANCj4gKE1vcmUgb24g dGhpcyBiZWxvdy4pDQo+IA0KPiANCj4+IFdlIGRvbid0IG5lZWQgb3NzbF9zdG9yZSBmdW5jdGlv bnMuIFNvIGR1bW15IGltcGxlbWVudCB0aGVtLg0KPj4gYWRkIGEgbmV3IGZpbGUob3NzbF9zdG9y ZS5jKSB0byBpbXBsZW1lbnQgb3NzbF9zdG9yZV9jbGVhbnVwX2ludCBmdW5jdGlvbi4NCj4+DQo+ PiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4+IENjOiBUaW5nIFll IDx0aW5nLnllQGludGVsLmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IFhpYW95dSBMdSA8eGlhb3l1 eC5sdUBpbnRlbC5jb20+DQo+PiAtLS0NCj4+ICBDcnlwdG9Qa2cvTGlicmFyeS9JbmNsdWRlL0Ny dExpYlN1cHBvcnQuaCAgICAgICAgIHwgIDcgKysrDQo+PiAgQ3J5cHRvUGtnL0xpYnJhcnkvSW5j bHVkZS9vcGVuc3NsL29wZW5zc2xjb25mLmggICB8IDU0ICsrKysrKysrKysrKystLS0tLQ0KPj4g IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYgICAgICAgfCA2MCAr KysrKysrKysrKysrKystLS0tLQ0KPj4gIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3Bl bnNzbExpYkNyeXB0by5pbmYgfCA1MSArKysrKysrKysrKysrLS0tLQ0KPj4gIENyeXB0b1BrZy9M aWJyYXJ5L09wZW5zc2xMaWIvYnVpbGRpbmYuaCAgICAgICAgICAgfCAgMiArDQo+PiAgQ3J5cHRv UGtnL0xpYnJhcnkvT3BlbnNzbExpYi9vcGVuc3NsICAgICAgICAgICAgICB8ICAyICstDQo+PiAg Q3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9vc3NsX3N0b3JlLmMgICAgICAgICB8IDIxICsr KysrKysNCj4+ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbC5jICAgICAg ICAgIHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICA4IGZpbGVzIGNoYW5nZWQsIDIy NSBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkgIGNyZWF0ZSBtb2RlDQo+PiAxMDA2NDQg Q3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9vc3NsX3N0b3JlLmMNCj4+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9yYW5kX3Bvb2wuYw0KPj4NCj4+ IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cvTGlicmFyeS9JbmNsdWRlL0NydExpYlN1cHBvcnQuaA0K Pj4gYi9DcnlwdG9Qa2cvTGlicmFyeS9JbmNsdWRlL0NydExpYlN1cHBvcnQuaA0KPj4gaW5kZXgg YjA1YzVkOS4uN2M3M2EwYyAxMDA2NDQNCj4+IC0tLSBhL0NyeXB0b1BrZy9MaWJyYXJ5L0luY2x1 ZGUvQ3J0TGliU3VwcG9ydC5oDQo+PiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9JbmNsdWRlL0Ny dExpYlN1cHBvcnQuaA0KPj4gQEAgLTIxLDYgKzIxLDEzIEBAIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50IA0KPj4gI2RlZmluZSBNQVhfU1RSSU5HX1NJWkUgIDB4 MTAwMA0KPj4gIA0KPj4gIC8vDQo+PiArLy8gRGVmYXVsdCBidWZmZXIgc2l6ZSB1c2VkIGluIGV2 cF9rZXkuYyAvLyAjaWZuZGVmIEJVRlNJWiAjZGVmaW5lIA0KPj4gK0JVRlNJWiAgODE5MiAjZW5k aWYNCj4+ICsNCj4+ICsvLw0KPj4gIC8vIE9wZW5TU0wgcmVsaWVzIG9uIGV4cGxpY2l0IGNvbmZp Z3VyYXRpb24gZm9yIHdvcmQgc2l6ZSBpbiANCj4+IGNyeXB0by9ibiwgIC8vIGJ1dCB3ZSB3YW50 IGl0IHRvIGJlIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQgZnJvbSB0aGUgDQo+PiB0YXJnZXQuIFNv IHdlICAvLyBieXBhc3Mgd2hhdCdzIGluIDxvcGVuc3NsL29wZW5zc2xjb25mLmg+IGZvciANCj4+ IE9QRU5TU0xfU1lTX1VFRkksIGFuZA0KPiANCj4gKDcpIElzIHRoaXMgYSBidWcgaW4gT3BlblNT TCAodGhhdCBpcywgYWJzZW5jZSBvZiBCVUZTSVopLCBvciByZWFsbHkgYSBuZXcgcmVxdWlyZW1l bnQ/DQo+IA0KPiBJZiBpdCdzIGEgYnVnLCB3ZSBzaG91bGQgZmlsZSBhIHRpY2tldCwgYW5kIHJl ZmVyZW5jZSB0aGF0IGluIHRoZSBjb21taXQgbWVzc2FnZS4NCj4gDQo+IElmIGl0IGlzIGEganVz dGlmaWVkIHJlcXVpcmVtZW50LCB0aGVuIHdlIHNob3VsZCBpZGVudGlmeSB0aGUgT3BlblNTTCBj b21taXQgaGFzaCBpbiB0aGUgY29tbWl0IG1lc3NhZ2UuDQo+IA0KPj4gZGlmZiAtLWdpdCBhL0Ny eXB0b1BrZy9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oDQo+PiBiL0NyeXB0 b1BrZy9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oDQo+PiBpbmRleCAyOGRk OWFiLi41NzAzMTliIDEwMDY0NA0KPj4gLS0tIGEvQ3J5cHRvUGtnL0xpYnJhcnkvSW5jbHVkZS9v cGVuc3NsL29wZW5zc2xjb25mLmgNCj4+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5L0luY2x1ZGUv b3BlbnNzbC9vcGVuc3NsY29uZi5oDQo+PiBAQCAtMTAsNiArMTAsOCBAQA0KPj4gICAqIGh0dHBz Oi8vd3d3Lm9wZW5zc2wub3JnL3NvdXJjZS9saWNlbnNlLmh0bWwNCj4+ICAgKi8NCj4+ICANCj4+ ICsjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3Nsdi5oPg0KPj4gKw0KPj4gICNpZmRlZiAgX19jcGx1 c3BsdXMNCj4+ICBleHRlcm4gIkMiIHsNCj4+ICAjZW5kaWYNCj4+IEBAIC03NywxOCArNzksMjEg QEAgZXh0ZXJuICJDIiB7DQo+PiAgI2lmbmRlZiBPUEVOU1NMX05PX1NFRUQNCj4+ICAjIGRlZmlu ZSBPUEVOU1NMX05PX1NFRUQNCj4+ICAjZW5kaWYNCj4+ICsjaWZuZGVmIE9QRU5TU0xfTk9fU00y DQo+PiArIyBkZWZpbmUgT1BFTlNTTF9OT19TTTINCj4+ICsjZW5kaWYNCj4+ICAjaWZuZGVmIE9Q RU5TU0xfTk9fU1JQDQo+PiAgIyBkZWZpbmUgT1BFTlNTTF9OT19TUlANCj4+ICAjZW5kaWYNCj4+ ICAjaWZuZGVmIE9QRU5TU0xfTk9fVFMNCj4+ICAjIGRlZmluZSBPUEVOU1NMX05PX1RTDQo+PiAg I2VuZGlmDQo+PiAtI2lmbmRlZiBPUEVOU1NMX05PX1VJDQo+PiAtIyBkZWZpbmUgT1BFTlNTTF9O T19VSQ0KPj4gLSNlbmRpZg0KPj4gICNpZm5kZWYgT1BFTlNTTF9OT19XSElSTFBPT0wNCj4+ICAj IGRlZmluZSBPUEVOU1NMX05PX1dISVJMUE9PTA0KPj4gICNlbmRpZg0KPj4gKyNpZm5kZWYgT1BF TlNTTF9SQU5EX1NFRURfT1MNCj4+ICsjIGRlZmluZSBPUEVOU1NMX1JBTkRfU0VFRF9PUw0KPj4g KyNlbmRpZg0KPj4gICNpZm5kZWYgT1BFTlNTTF9OT19BRkFMR0VORw0KPj4gICMgZGVmaW5lIE9Q RU5TU0xfTk9fQUZBTEdFTkcNCj4+ICAjZW5kaWYNCj4+IEBAIC0xMjIsNiArMTI3LDkgQEAgZXh0 ZXJuICJDIiB7DQo+PiAgI2lmbmRlZiBPUEVOU1NMX05PX0RFUFJFQ0FURUQNCj4+ICAjIGRlZmlu ZSBPUEVOU1NMX05PX0RFUFJFQ0FURUQNCj4+ICAjZW5kaWYNCj4+ICsjaWZuZGVmIE9QRU5TU0xf Tk9fREVWQ1JZUFRPRU5HDQo+PiArIyBkZWZpbmUgT1BFTlNTTF9OT19ERVZDUllQVE9FTkcNCj4+ ICsjZW5kaWYNCj4+ICAjaWZuZGVmIE9QRU5TU0xfTk9fREdSQU0NCj4+ICAjIGRlZmluZSBPUEVO U1NMX05PX0RHUkFNDQo+PiAgI2VuZGlmDQo+PiBAQCAtMTU1LDYgKzE2Myw5IEBAIGV4dGVybiAi QyIgew0KPj4gICNpZm5kZWYgT1BFTlNTTF9OT19FUlINCj4+ICAjIGRlZmluZSBPUEVOU1NMX05P X0VSUg0KPj4gICNlbmRpZg0KPj4gKyNpZm5kZWYgT1BFTlNTTF9OT19FWFRFUk5BTF9URVNUUw0K Pj4gKyMgZGVmaW5lIE9QRU5TU0xfTk9fRVhURVJOQUxfVEVTVFMNCj4+ICsjZW5kaWYNCj4+ICAj aWZuZGVmIE9QRU5TU0xfTk9fRklMRU5BTUVTDQo+PiAgIyBkZWZpbmUgT1BFTlNTTF9OT19GSUxF TkFNRVMNCj4+ICAjZW5kaWYNCj4+IEBAIC0yMDksMTUgKzIyMCwyNCBAQCBleHRlcm4gIkMiIHsN Cj4+ICAjaWZuZGVmIE9QRU5TU0xfTk9fVEVTVFMNCj4+ICAjIGRlZmluZSBPUEVOU1NMX05PX1RF U1RTDQo+PiAgI2VuZGlmDQo+PiArI2lmbmRlZiBPUEVOU1NMX05PX1RMUzFfMw0KPj4gKyMgZGVm aW5lIE9QRU5TU0xfTk9fVExTMV8zDQo+PiArI2VuZGlmDQo+PiAgI2lmbmRlZiBPUEVOU1NMX05P X1VCU0FODQo+PiAgIyBkZWZpbmUgT1BFTlNTTF9OT19VQlNBTg0KPj4gICNlbmRpZg0KPj4gKyNp Zm5kZWYgT1BFTlNTTF9OT19VSV9DT05TT0xFDQo+PiArIyBkZWZpbmUgT1BFTlNTTF9OT19VSV9D T05TT0xFDQo+PiArI2VuZGlmDQo+PiAgI2lmbmRlZiBPUEVOU1NMX05PX1VOSVRfVEVTVA0KPj4g ICMgZGVmaW5lIE9QRU5TU0xfTk9fVU5JVF9URVNUDQo+PiAgI2VuZGlmDQo+PiAgI2lmbmRlZiBP UEVOU1NMX05PX1dFQUtfU1NMX0NJUEhFUlMNCj4+ICAjIGRlZmluZSBPUEVOU1NMX05PX1dFQUtf U1NMX0NJUEhFUlMgICNlbmRpZg0KPj4gKyNpZm5kZWYgT1BFTlNTTF9OT19EWU5BTUlDX0VOR0lO RQ0KPj4gKyMgZGVmaW5lIE9QRU5TU0xfTk9fRFlOQU1JQ19FTkdJTkUNCj4+ICsjZW5kaWYNCj4+ ICAjaWZuZGVmIE9QRU5TU0xfTk9fQUZBTEdFTkcNCj4+ICAjIGRlZmluZSBPUEVOU1NMX05PX0FG QUxHRU5HDQo+PiAgI2VuZGlmDQo+PiBAQCAtMjM2LDE1ICsyNTYsMTEgQEAgZXh0ZXJuICJDIiB7 DQo+PiAgICogZnVuY3Rpb25zLg0KPj4gICAqLw0KPj4gICNpZm5kZWYgREVDTEFSRV9ERVBSRUNB VEVEDQo+PiAtIyBpZiBkZWZpbmVkKE9QRU5TU0xfTk9fREVQUkVDQVRFRCkNCj4+IC0jICBkZWZp bmUgREVDTEFSRV9ERVBSRUNBVEVEKGYpDQo+PiAtIyBlbHNlDQo+PiAtIyAgZGVmaW5lIERFQ0xB UkVfREVQUkVDQVRFRChmKSAgIGY7DQo+PiAtIyAgaWZkZWYgX19HTlVDX18NCj4+IC0jICAgaWYg X19HTlVDX18gPiAzIHx8IChfX0dOVUNfXyA9PSAzICYmIF9fR05VQ19NSU5PUl9fID4gMCkNCj4+ IC0jICAgIHVuZGVmIERFQ0xBUkVfREVQUkVDQVRFRA0KPj4gLSMgICAgZGVmaW5lIERFQ0xBUkVf REVQUkVDQVRFRChmKSAgICBmIF9fYXR0cmlidXRlX18gKChkZXByZWNhdGVkKSk7DQo+PiAtIyAg IGVuZGlmDQo+PiArIyBkZWZpbmUgREVDTEFSRV9ERVBSRUNBVEVEKGYpICAgZjsNCj4+ICsjIGlm ZGVmIF9fR05VQ19fDQo+PiArIyAgaWYgX19HTlVDX18gPiAzIHx8IChfX0dOVUNfXyA9PSAzICYm IF9fR05VQ19NSU5PUl9fID4gMCkNCj4+ICsjICAgdW5kZWYgREVDTEFSRV9ERVBSRUNBVEVEDQo+ PiArIyAgIGRlZmluZSBERUNMQVJFX0RFUFJFQ0FURUQoZikgICAgZiBfX2F0dHJpYnV0ZV9fICgo ZGVwcmVjYXRlZCkpOw0KPj4gICMgIGVuZGlmDQo+PiAgIyBlbmRpZg0KPj4gICNlbmRpZg0KPj4g QEAgLTI2OCw2ICsyODQsMTggQEAgZXh0ZXJuICJDIiB7DQo+PiAgIyBkZWZpbmUgT1BFTlNTTF9B UElfQ09NUEFUIE9QRU5TU0xfTUlOX0FQSSAgI2VuZGlmDQo+PiAgDQo+PiArLyoNCj4+ICsgKiBE byBub3QgZGVwcmVjYXRlIHRoaW5ncyB0byBiZSBkZXByZWNhdGVkIGluIHZlcnNpb24gMS4yLjAg YmVmb3JlIA0KPj4gK3RoZQ0KPj4gKyAqIE9wZW5TU0wgdmVyc2lvbiBudW1iZXIgbWF0Y2hlcy4N Cj4+ICsgKi8NCj4+ICsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAyMDAwMDBMDQo+ PiArIyBkZWZpbmUgREVQUkVDQVRFRElOXzFfMl8wKGYpICAgZjsNCj4+ICsjZWxpZiBPUEVOU1NM X0FQSV9DT01QQVQgPCAweDEwMjAwMDAwTA0KPj4gKyMgZGVmaW5lIERFUFJFQ0FURURJTl8xXzJf MChmKSAgIERFQ0xBUkVfREVQUkVDQVRFRChmKQ0KPj4gKyNlbHNlDQo+PiArIyBkZWZpbmUgREVQ UkVDQVRFRElOXzFfMl8wKGYpDQo+PiArI2VuZGlmDQo+PiArDQo+PiAgI2lmIE9QRU5TU0xfQVBJ X0NPTVBBVCA8IDB4MTAxMDAwMDBMDQo+PiAgIyBkZWZpbmUgREVQUkVDQVRFRElOXzFfMV8wKGYp ICAgREVDTEFSRV9ERVBSRUNBVEVEKGYpDQo+PiAgI2Vsc2UNCj4+IEBAIC0yODYsOCArMzE0LDYg QEAgZXh0ZXJuICJDIiB7DQo+PiAgIyBkZWZpbmUgREVQUkVDQVRFRElOXzBfOV84KGYpDQo+PiAg I2VuZGlmDQo+PiAgDQo+PiAtDQo+PiAtDQo+PiAgLyogR2VuZXJhdGUgODAzODYgY29kZT8gKi8N Cj4+ICAjdW5kZWYgSTM4Nl9PTkxZDQo+PiAgDQo+IA0KPiBNeSB1bmRlcnN0YW5kaW5nIGlzIHRo YXQgIm9wZW5zc2xjb25mLmgiIGlzIGEgZ2VuZXJhdGVkIGZpbGUsIHNvIEkgDQo+IHdvbid0IGFz ayBmb3IgY29tbWVudHMgb24gdGhlc2UgY2hhbmdlcy4gSG93ZXZlciwNCj4gDQo+ICg4KSBwbGVh c2UgZ28gYmFjayB0byB0aGUgcGFydCBvZiB0aGUgY29tbWl0IG1lc3NhZ2Ugd2hlcmUgaXQgbWVu dGlvbnMgInByb2Nlc3NfZmlsZXMucGwiLCBhbmQgcGxlYXNlIGFsc28gc3RhdGUgdGhhdCAib3Bl bnNzbGNvbmYuaCIgaXMgcmVnZW5lcmF0ZWQsIGluIGFkZGl0aW9uIHRvIHRoZSBmaWxlIGxpc3Rz IGluIHRoZSBJTkYgZmlsZXMuDQo+IA0KPj4gZGlmZiAtLWdpdCBhL0NyeXB0b1BrZy9MaWJyYXJ5 L09wZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYNCj4+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNz bExpYi9PcGVuc3NsTGliLmluZg0KPj4gaW5kZXggNTMwYWM1Zi4uYWVlOTAzMiAxMDA2NDQNCj4+ IC0tLSBhL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYNCj4+ICsr KyBiL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYNCj4+IEBAIC0x NSwxMyArMTUsMTUgQEANCj4+ICAgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEu MA0KPj4gICAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gT3BlbnNzbExpYg0KPj4g ICAgREVGSU5FIE9QRU5TU0xfUEFUSCAgICAgICAgICAgID0gb3BlbnNzbA0KPj4gLSAgREVGSU5F IE9QRU5TU0xfRkxBR1MgICAgICAgICAgID0gLURMX0VORElBTiAtRE9QRU5TU0xfU01BTExfRk9P VFBSSU5UIC1EX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFIC1EX0NSVF9OT05TVERDX05PX0RFUFJF Q0FURSAtRE5PX1NZU0xPRw0KPj4gKyAgREVGSU5FIE9QRU5TU0xfRkxBR1MgICAgICAgICAgID0g LURMX0VORElBTiAtRE9QRU5TU0xfU01BTExfRk9PVFBSSU5UIC1EX0NSVF9TRUNVUkVfTk9fREVQ UkVDQVRFIC1EX0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSAtRE9QRU5TU0xfUkFORF9TRUVEX05P TkUNCj4+ICANCj4+ICAjDQo+PiAgIyAgVkFMSURfQVJDSElURUNUVVJFUyAgICAgICAgICAgPSBJ QTMyIFg2NCBBUk0gQUFSQ0g2NA0KPj4gICMNCj4+ICANCj4+ICBbU291cmNlc10NCj4+ICsgIG9z c2xfc3RvcmUuYw0KPj4gKyAgcmFuZF9wb29sLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9lX29z LmgNCj4+ICAjIEF1dG9nZW5lcmF0ZWQgZmlsZXMgbGlzdCBzdGFydHMgaGVyZQ0KPj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9hZXMvYWVzX2NiYy5jDQo+PiBAQCAtMzIsNiArMzQsNyBAQA0K Pj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hZXMvYWVzX21pc2MuYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9hZXMvYWVzX29mYi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL2Flcy9hZXNfd3JhcC5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FyaWEvYXJp YS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYV9iaXRzdHIuYw0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2FfZDJpX2ZwLmMNCj4+ICAgICQoT1BFTlNTTF9Q QVRIKS9jcnlwdG8vYXNuMS9hX2RpZ2VzdC5jDQo+PiBAQCAtNTQsNiArNTcsNyBAQA0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2FtZXRoX2xpYi5jDQo+PiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL2FzbjEvYXNuMV9lcnIuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9hc24xL2FzbjFfZ2VuLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYXNuMS9hc24x X2l0ZW1fbGlzdC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYXNuMV9saWIu Yw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2FzbjFfcGFyLmMNCj4+ICAgICQo T1BFTlNTTF9QQVRIKS9jcnlwdG8vYXNuMS9hc25fbWltZS5jDQo+PiBAQCAtMTcyLDYgKzE3Niw3 IEBADQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2NvbmYvY29uZl9zc2wuYw0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9jcHRfZXJyLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vY3J5cHRsaWIuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9jdHlwZS5jDQo+ PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2N2ZXJzaW9uLmMNCj4+ICAgICQoT1BFTlNTTF9Q QVRIKS9jcnlwdG8vZGVzL2NiY19ja3NtLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v ZGVzL2NiY19lbmMuYw0KPj4gQEAgLTE4OSw3ICsxOTQsNiBAQA0KPj4gICAgJChPUEVOU1NMX1BB VEgpL2NyeXB0by9kZXMvcGNiY19lbmMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9k ZXMvcXVkX2Nrc20uYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMvcmFuZF9rZXku Yw0KPj4gLSAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMvcnBjX2VuYy5jDQo+PiAgICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL2Rlcy9zZXRfa2V5LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vZGVzL3N0cjJrZXkuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMveGNi Y19lbmMuYw0KPj4gQEAgLTIwNiw2ICsyMTAsNyBAQA0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9kaC9kaF9wbWV0aC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2RoL2RoX3By bi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2RoL2RoX3JmYzUxMTQuYw0KPj4gKyAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9kaC9kaF9yZmM3OTE5LmMNCj4+ICAgICQoT1BFTlNTTF9Q QVRIKS9jcnlwdG8vZHNvL2Rzb19kbC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Rz by9kc29fZGxmY24uYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kc28vZHNvX2Vyci5j DQo+PiBAQCAtMjI4LDYgKzIzMyw3IEBADQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2 cC9lX2Flcy5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX2Flc19jYmNfaG1h Y19zaGExLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VfYWVzX2NiY19obWFj X3NoYTI1Ni5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX2FyaWEuYw0KPj4g ICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9iZi5jDQo+PiAgICAkKE9QRU5TU0xfUEFU SCkvY3J5cHRvL2V2cC9lX2NhbWVsbGlhLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v ZXZwL2VfY2FzdC5jDQo+PiBAQCAtMjQyLDYgKzI0OCw3IEBADQo+PiAgICAkKE9QRU5TU0xfUEFU SCkvY3J5cHRvL2V2cC9lX3JjNF9obWFjX21kNS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL2V2cC9lX3JjNS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX3NlZWQu Yw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9zbTQuYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9ldnAvZV94Y2JjX2QuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9ldnAvZW5jb2RlLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2V2cF9j bmYuYw0KPj4gQEAgLTI1OSw2ICsyNjYsNyBAQA0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9ldnAvbV9udWxsLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL21fcmlwZW1k LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL21fc2hhMS5jDQo+PiArICAkKE9Q RU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9tX3NoYTMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9ldnAvbV9zaWd2ZXIuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvbV93 cC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9uYW1lcy5jDQo+PiBAQCAtMjcx LDEwICsyNzksMTAgQEANCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL3Bfc2VhbC5j DQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wX3NpZ24uYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9ldnAvcF92ZXJpZnkuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9ldnAvcGJlX3NjcnlwdC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9w bWV0aF9mbi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wbWV0aF9nbi5jDQo+ PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wbWV0aF9saWIuYw0KPj4gLSAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9ldnAvc2NyeXB0LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vZXhfZGF0YS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2dldGVudi5jDQo+PiAg ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2htYWMvaG1fYW1ldGguYw0KPj4gQEAgLTI4Myw2ICsy OTEsNyBAQA0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9pbml0LmMNCj4+ICAgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8va2RmL2hrZGYuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9rZGYva2RmX2Vyci5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2tkZi9zY3J5cHQu Yw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9rZGYvdGxzMV9wcmYuYw0KPj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9saGFzaC9saF9zdGF0cy5jDQo+PiAgICAkKE9QRU5TU0xfUEFU SCkvY3J5cHRvL2xoYXNoL2xoYXNoLmMNCj4+IEBAIC0zNjAsMTQgKzM2OSwxNCBAQA0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9wa2NzNy9wazdfbWltZS5jDQo+PiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL3BrY3M3L3BrN19zbWltZS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL3BrY3M3L3BrY3M3ZXJyLmMNCj4+IC0gICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9t ZF9yYW5kLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9kcmJnX2N0ci5jDQo+ PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvZHJiZ19saWIuYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9yYW5kL3JhbmRfZWdkLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vcmFuZC9yYW5kX2Vyci5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQv cmFuZF9saWIuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yYW5kL3JhbmRfdW5peC5j DQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvcmFuZF92bXMuYw0KPj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9yYW5kL3JhbmRfd2luLmMNCj4+IC0gICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vcmFuZC9yYW5kZmlsZS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3Jj NC9yYzRfZW5jLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmM0L3JjNF9za2V5LmMN Cj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9hbWV0aC5jDQo+PiBAQCAtMzc5 LDggKzM4OCw4IEBADQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JzYS9yc2FfZ2VuLmMN Cj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9saWIuYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9yc2EvcnNhX21ldGguYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2Ny eXB0by9yc2EvcnNhX21wLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9u b25lLmMNCj4+IC0gICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9udWxsLmMNCj4+ICAg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9vYWVwLmMNCj4+ICAgICQoT1BFTlNTTF9Q QVRIKS9jcnlwdG8vcnNhL3JzYV9vc3NsLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v cnNhL3JzYV9wazEuYw0KPj4gQEAgLTM5MiwxNSArNDAxLDI3IEBADQo+PiAgICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL3JzYS9yc2Ffc3NsLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v cnNhL3JzYV94OTMxLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV94OTMx Zy5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3NoYS9rZWNjYWsxNjAwLmMNCj4+ICAg ICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc2hhL3NoYTFfb25lLmMNCj4+ICAgICQoT1BFTlNTTF9Q QVRIKS9jcnlwdG8vc2hhL3NoYTFkZ3N0LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v c2hhL3NoYTI1Ni5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3NoYS9zaGE1MTIuYw0K Pj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9zaXBoYXNoL3NpcGhhc2guYw0KPj4gKyAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9zaXBoYXNoL3NpcGhhc2hfYW1ldGguYw0KPj4gKyAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9zaXBoYXNoL3NpcGhhc2hfcG1ldGguYw0KPj4gKyAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9zbTMvbV9zbTMuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9z bTMvc20zLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vc200L3NtNC5jDQo+PiAgICAk KE9QRU5TU0xfUEFUSCkvY3J5cHRvL3N0YWNrL3N0YWNrLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vdGhyZWFkc19ub25lLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vdGhy ZWFkc19wdGhyZWFkLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vdGhyZWFkc193aW4u Yw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by90eHRfZGIvdHh0X2RiLmMNCj4+ICsgICQo T1BFTlNTTF9QQVRIKS9jcnlwdG8vdWkvdWlfZXJyLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vdWkvdWlfbGliLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vdWkvdWlfbnVs bC5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3VpL3VpX29wZW5zc2wuYw0KPj4gKyAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by91aS91aV91dGlsLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vdWlkLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOS9ieV9kaXIu Yw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5L2J5X2ZpbGUuYw0KPj4gQEAgLTQ0 NSw2ICs0NjYsNyBAQA0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMvcGN5X25v ZGUuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMvcGN5X3RyZWUuYw0KPj4g ICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMvdjNfYWRkci5jDQo+PiArICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL3g1MDl2My92M19hZG1pcy5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL3g1MDl2My92M19ha2V5LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUw OXYzL3YzX2FrZXlhLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOXYzL3YzX2Fs dC5jDQo+PiBAQCAtNDc5LDEyICs1MDEsMTQgQEANCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9zc2wv ZDFfbXNnLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9zc2wvZDFfc3J0cC5jDQo+PiAgICAkKE9Q RU5TU0xfUEFUSCkvc3NsL21ldGhvZHMuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL3NzbC9wYWNr ZXQuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9wcXVldWUuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL3NzbC9yZWNvcmQvZHRsczFfYml0bWFwLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9z c2wvcmVjb3JkL3JlY19sYXllcl9kMS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3JlY29y ZC9yZWNfbGF5ZXJfczMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9yZWNvcmQvc3NsM19i dWZmZXIuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9yZWNvcmQvc3NsM19yZWNvcmQuYw0K Pj4gKyAgJChPUEVOU1NMX1BBVEgpL3NzbC9yZWNvcmQvc3NsM19yZWNvcmRfdGxzMTMuYw0KPj4g ICAgJChPUEVOU1NMX1BBVEgpL3NzbC9zM19jYmMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3Nz bC9zM19lbmMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9zM19saWIuYw0KPj4gQEAgLTUw MiwxNiArNTI2LDE5IEBADQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3NzbF9zdGF0LmMNCj4+ ICAgICQoT1BFTlNTTF9QQVRIKS9zc2wvc3NsX3R4dC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkv c3NsL3NzbF91dHN0LmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9zc2wvc3RhdGVtL2V4dGVuc2lv bnMuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL3NzbC9zdGF0ZW0vZXh0ZW5zaW9uc19jbG50LmMN Cj4+ICsgICQoT1BFTlNTTF9QQVRIKS9zc2wvc3RhdGVtL2V4dGVuc2lvbnNfY3VzdC5jDQo+PiAr ICAkKE9QRU5TU0xfUEFUSCkvc3NsL3N0YXRlbS9leHRlbnNpb25zX3NydnIuYw0KPj4gICAgJChP UEVOU1NMX1BBVEgpL3NzbC9zdGF0ZW0vc3RhdGVtLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9z c2wvc3RhdGVtL3N0YXRlbV9jbG50LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9zc2wvc3RhdGVt L3N0YXRlbV9kdGxzLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9zc2wvc3RhdGVtL3N0YXRlbV9s aWIuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC9zdGF0ZW0vc3RhdGVtX3NydnIuYw0KPj4g ICAgJChPUEVOU1NMX1BBVEgpL3NzbC90MV9lbmMuYw0KPj4gLSAgJChPUEVOU1NMX1BBVEgpL3Nz bC90MV9leHQuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL3NzbC90MV9saWIuYw0KPj4gLSAgJChP UEVOU1NMX1BBVEgpL3NzbC90MV9yZW5lZy5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvc3NsL3Qx X3RyY2UuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL3NzbC90bHMxM19lbmMuYw0KPj4gICAgJChP UEVOU1NMX1BBVEgpL3NzbC90bHNfc3JwLmMNCj4+ICAjIEF1dG9nZW5lcmF0ZWQgZmlsZXMgbGlz dCBlbmRzIGhlcmUNCj4+ICANCj4+IEBAIC01MjEsNiArNTQ4LDcgQEANCj4+ICANCj4+ICBbTGli cmFyeUNsYXNzZXNdDQo+PiAgICBEZWJ1Z0xpYg0KPj4gKyAgSW50cmluc2ljTGliDQo+IA0KPiAo OSkgSW50cmluc2ljTGliIG1ha2VzIHNlbnNlIChmcm9tIHRoZSBwcmV2aW91cyBwYXRjaCksIGJ1 dCB0aGUgY29tbWl0IG1lc3NhZ2Ugb24gdGhpcyBwYXRjaCBzaG91bGQgc3RhdGUgd2h5IGV4YWN0 bHkgaXQgaXMgbmVlZGVkLg0KPiANCj4gV2hhdCBjYWxscyBfZnRvbDIoKSBpbiBPcGVuU1NMPyBB bmQgd2hpY2ggY29tbWl0IGludHJvZHVjZWQgaXQ/DQo+IA0KPj4gIA0KPj4gIFtMaWJyYXJ5Q2xh c3Nlcy5BUk1dDQo+PiAgICBBcm1Tb2Z0RmxvYXRMaWINCj4+IEBAIC01MzAsMTcgKzU1OCwyMCBA QA0KPj4gICAgIyBEaXNhYmxlcyB0aGUgZm9sbG93aW5nIFZpc3VhbCBTdHVkaW8gY29tcGlsZXIg d2FybmluZ3MgYnJvdWdodCBieSBvcGVuc3NsIHNvdXJjZSwNCj4+ICAgICMgc28gd2UgZG8gbm90 IGJyZWFrIHRoZSBidWlsZCB3aXRoIC9XWCBvcHRpb246DQo+PiAgICAjICAgQzQwOTA6ICdmdW5j dGlvbicgOiBkaWZmZXJlbnQgJ2NvbnN0JyBxdWFsaWZpZXJzDQo+PiArICAjICAgQzQxMzI6ICdv YmplY3QnIDogY29uc3Qgb2JqZWN0IHNob3VsZCBiZSBpbml0aWFsaXplZCAodGxzMTNfZW5jLmMp DQo+PiAgICAjICAgQzQyNDQ6IGNvbnZlcnNpb24gZnJvbSB0eXBlMSB0byB0eXBlMiwgcG9zc2li bGUgbG9zcyBvZiBkYXRhDQo+PiAgICAjICAgQzQyNDU6IGNvbnZlcnNpb24gZnJvbSB0eXBlMSB0 byB0eXBlMiwgc2lnbmVkL3Vuc2lnbmVkIG1pc21hdGNoDQo+PiAgICAjICAgQzQyNjc6IGNvbnZl cnNpb24gZnJvbSBzaXplX3QgdG8gdHlwZSwgcG9zc2libGUgbG9zcyBvZiBkYXRhDQo+PiAgICAj ICAgQzQzMDY6ICdpZGVudGlmaWVyJyA6IGNvbnZlcnNpb24gZnJvbSAndHlwZTEnIHRvICd0eXBl Micgb2YgZ3JlYXRlciBzaXplDQo+PiArICAjICAgQzQzMTA6IGNhc3QgdHJ1bmNhdGVzIGNvbnN0 YW50IHZhbHVlDQo+PiAgICAjICAgQzQzODk6ICdvcGVyYXRvcicgOiBzaWduZWQvdW5zaWduZWQg bWlzbWF0Y2ggKHh4eHgpDQo+PiArICAjICAgQzQ3MDA6IHVuaW5pdGlhbGl6ZWQgbG9jYWwgdmFy aWFibGUgJ25hbWUnIHVzZWQuIChjb25mX3NhcC5jKDcxKSkNCj4+ICAgICMgICBDNDcwMjogdW5y ZWFjaGFibGUgY29kZQ0KPj4gICAgIyAgIEM0NzA2OiBhc3NpZ25tZW50IHdpdGhpbiBjb25kaXRp b25hbCBleHByZXNzaW9uDQo+PiAgICAjICAgQzQ4MTk6IFRoZSBmaWxlIGNvbnRhaW5zIGEgY2hh cmFjdGVyIHRoYXQgY2Fubm90IGJlIHJlcHJlc2VudGVkIGluIHRoZSBjdXJyZW50IGNvZGUgcGFn ZQ0KPj4gICAgIw0KPj4gLSAgTVNGVDoqXypfSUEzMl9DQ19GTEFHUyAgID0gLVVfV0lOMzIgLVVf V0lONjQgLVVfTVNDX1ZFUiAkKE9QRU5TU0xfRkxBR1MpIC93ZDQwOTAgL3dkNDI0NCAvd2Q0MjQ1 IC93ZDQyNjcgL3dkNDM4OSAvd2Q0NzAyIC93ZDQ3MDYgL3dkNDgxOQ0KPj4gLSAgTVNGVDoqXypf WDY0X0NDX0ZMQUdTICAgID0gLVVfV0lOMzIgLVVfV0lONjQgLVVfTVNDX1ZFUiAkKE9QRU5TU0xf RkxBR1MpIC93ZDQwOTAgL3dkNDI0NCAvd2Q0MjQ1IC93ZDQyNjcgL3dkNDMwNiAvd2Q0Mzg5IC93 ZDQ3MDIgL3dkNDcwNiAvd2Q0ODE5DQo+PiArICBNU0ZUOipfKl9JQTMyX0NDX0ZMQUdTICAgPSAt VV9XSU4zMiAtVV9XSU42NCAtVV9NU0NfVkVSICQoT1BFTlNTTF9GTEFHUykgL3dkNDA5MCAvd2Q0 MTMyIC93ZDQyNDQgL3dkNDI0NSAvd2Q0MjY3IC93ZDQzMTAgL3dkNDM4OSAvd2Q0NzAwIC93ZDQ3 MDIgL3dkNDcwNiAvd2Q0ODE5DQo+PiArICBNU0ZUOipfKl9YNjRfQ0NfRkxBR1MgICAgPSAtVV9X SU4zMiAtVV9XSU42NCAtVV9NU0NfVkVSICQoT1BFTlNTTF9GTEFHUykgL3dkNDA5MCAvd2Q0MTMy IC93ZDQyNDQgL3dkNDI0NSAvd2Q0MjY3IC93ZDQzMDYgL3dkNDMxMCAvd2Q0NzAwIC93ZDQzODkg L3dkNDcwMiAvd2Q0NzA2IC93ZDQ4MTkNCj4+ICANCj4+ICAgIElOVEVMOipfKl9JQTMyX0NDX0ZM QUdTICA9IC1VX1dJTjMyIC1VX1dJTjY0IC1VX01TQ19WRVIgLVVfX0lDQyAkKE9QRU5TU0xfRkxB R1MpIC93DQo+PiAgICBJTlRFTDoqXypfWDY0X0NDX0ZMQUdTICAgPSAtVV9XSU4zMiAtVV9XSU42 NCAtVV9NU0NfVkVSIC1VX19JQ0MgJChPUEVOU1NMX0ZMQUdTKSAvdw0KPj4gQEAgLTU1MCwxMSAr NTgxLDEyIEBADQo+PiAgICAjICAgLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkOiB0aGVyZSBl eGlzdCBzb21lIG90aGVyIHBhdGhzIGZvciB3aGljaCB0aGUgdmFyaWFibGUgaXMgbm90IGluaXRp YWxpemVkLg0KPj4gICAgIyAgIC1XZXJyb3I9Zm9ybWF0OiBDaGVjayBjYWxscyB0byBwcmludGYg YW5kIHNjYW5mLCBldGMuLCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgYXJndW1lbnRzIHN1cHBsaWVk IGhhdmUNCj4+ICAgICMgICAgICAgICAgICAgICAgICAgdHlwZXMgYXBwcm9wcmlhdGUgdG8gdGhl IGZvcm1hdCBzdHJpbmcgc3BlY2lmaWVkLg0KPj4gKyAgIyAgIC1XZXJyb3I9dW51c2VkLWJ1dC1z ZXQtdmFyaWFibGU6IFdhcm4gd2hlbmV2ZXIgYSBsb2NhbCB2YXJpYWJsZSBpcyBhc3NpZ25lZCB0 bywgYnV0IG90aGVyd2lzZSB1bnVzZWQgKGFzaWRlIGZyb20gaXRzIGRlY2xhcmF0aW9uKS4NCj4+ ICAgICMNCj4+IC0gIEdDQzoqXypfSUEzMl9DQ19GTEFHUyAgICA9IC1VX1dJTjMyIC1VX1dJTjY0 ICQoT1BFTlNTTF9GTEFHUykgLVduby1lcnJvcj1tYXliZS11bmluaXRpYWxpemVkDQo+PiAtICBH Q0M6Kl8qX1g2NF9DQ19GTEFHUyAgICAgPSAtVV9XSU4zMiAtVV9XSU42NCAkKE9QRU5TU0xfRkxB R1MpIC1Xbm8tZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZCAtV25vLWVycm9yPWZvcm1hdCAtV25v LWZvcm1hdCAtRE5PX01TQUJJX1ZBX0ZVTkNTDQo+PiAtICBHQ0M6Kl8qX0FSTV9DQ19GTEFHUyAg ICAgPSAkKE9QRU5TU0xfRkxBR1MpIC1Xbm8tZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZA0KPj4g LSAgR0NDOipfKl9BQVJDSDY0X0NDX0ZMQUdTID0gJChPUEVOU1NMX0ZMQUdTKSANCj4+IC1Xbm8t ZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZCAtV25vLWZvcm1hdA0KPj4gKyAgR0NDOipfKl9JQTMy X0NDX0ZMQUdTICAgID0gLVVfV0lOMzIgLVVfV0lONjQgJChPUEVOU1NMX0ZMQUdTKSAtV25vLWVy cm9yPW1heWJlLXVuaW5pdGlhbGl6ZWQgLVduby1lcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJs ZQ0KPj4gKyAgR0NDOipfKl9YNjRfQ0NfRkxBR1MgICAgID0gLVVfV0lOMzIgLVVfV0lONjQgJChP UEVOU1NMX0ZMQUdTKSAtV25vLWVycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWQgLVduby1lcnJvcj1m b3JtYXQgLVduby1mb3JtYXQgLVduby1lcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZSAtRE5P X01TQUJJX1ZBX0ZVTkNTDQo+PiArICBHQ0M6Kl8qX0FSTV9DQ19GTEFHUyAgICAgPSAkKE9QRU5T U0xfRkxBR1MpIC1Xbm8tZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZCAtV25vLWVycm9yPXVudXNl ZC1idXQtc2V0LXZhcmlhYmxlDQo+PiArICBHQ0M6Kl8qX0FBUkNINjRfQ0NfRkxBR1MgPSAkKE9Q RU5TU0xfRkxBR1MpIA0KPj4gKyAtV25vLWVycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWQgLVduby1m b3JtYXQgDQo+PiArIC1Xbm8tZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGUNCj4+ICANCj4+ ICAgICMgc3VwcHJlc3MgdGhlIGZvbGxvd2luZyB3YXJuaW5ncyBpbiBvcGVuc3NsIHNvIHdlIGRv bid0IGJyZWFrIHRoZSBidWlsZCB3aXRoIHdhcm5pbmdzLWFzLWVycm9yczoNCj4+ICAgICMgMTI5 NTogRGVwcmVjYXRlZCBkZWNsYXJhdGlvbiA8ZW50aXR5PiAtIGdpdmUgYXJnIHR5cGVzIGRpZmYg DQo+PiAtLWdpdCBhL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkNyeXB0 by5pbmYNCj4+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliQ3J5cHRv LmluZg0KPj4gaW5kZXggMjMxMDEwMC4uMGE1MWYxNyAxMDA2NDQNCj4+IC0tLSBhL0NyeXB0b1Br Zy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkNyeXB0by5pbmYNCj4+ICsrKyBiL0NyeXB0 b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkNyeXB0by5pbmYNCj4+IEBAIC0xNSwx MyArMTUsMTUgQEANCj4+ICAgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0K Pj4gICAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gT3BlbnNzbExpYg0KPj4gICAg REVGSU5FIE9QRU5TU0xfUEFUSCAgICAgICAgICAgID0gb3BlbnNzbA0KPj4gLSAgREVGSU5FIE9Q RU5TU0xfRkxBR1MgICAgICAgICAgID0gLURMX0VORElBTiAtRE9QRU5TU0xfU01BTExfRk9PVFBS SU5UIC1EX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFIC1EX0NSVF9OT05TVERDX05PX0RFUFJFQ0FU RSAtRE5PX1NZU0xPRw0KPj4gKyAgREVGSU5FIE9QRU5TU0xfRkxBR1MgICAgICAgICAgID0gLURM X0VORElBTiAtRE9QRU5TU0xfU01BTExfRk9PVFBSSU5UIC1EX0NSVF9TRUNVUkVfTk9fREVQUkVD QVRFIC1EX0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSAtRE9QRU5TU0xfUkFORF9TRUVEX05PTkUN Cj4+ICANCj4+ICAjDQo+PiAgIyAgVkFMSURfQVJDSElURUNUVVJFUyAgICAgICAgICAgPSBJQTMy IFg2NCBBUk0gQUFSQ0g2NA0KPj4gICMNCj4+ICANCj4+ICBbU291cmNlc10NCj4+ICsgIG9zc2xf c3RvcmUuYw0KPj4gKyAgcmFuZF9wb29sLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9lX29zLmgN Cj4+ICAjIEF1dG9nZW5lcmF0ZWQgZmlsZXMgbGlzdCBzdGFydHMgaGVyZQ0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9hZXMvYWVzX2NiYy5jDQo+PiBAQCAtMzIsNiArMzQsNyBAQA0KPj4g ICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hZXMvYWVzX21pc2MuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9hZXMvYWVzX29mYi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRv L2Flcy9hZXNfd3JhcC5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FyaWEvYXJpYS5j DQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYV9iaXRzdHIuYw0KPj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2FfZDJpX2ZwLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vYXNuMS9hX2RpZ2VzdC5jDQo+PiBAQCAtNTQsNiArNTcsNyBAQA0KPj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2FtZXRoX2xpYi5jDQo+PiAgICAkKE9QRU5TU0xfUEFU SCkvY3J5cHRvL2FzbjEvYXNuMV9lcnIuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9h c24xL2FzbjFfZ2VuLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vYXNuMS9hc24xX2l0 ZW1fbGlzdC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2FzbjEvYXNuMV9saWIuYw0K Pj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9hc24xL2FzbjFfcGFyLmMNCj4+ICAgICQoT1BF TlNTTF9QQVRIKS9jcnlwdG8vYXNuMS9hc25fbWltZS5jDQo+PiBAQCAtMTcyLDYgKzE3Niw3IEBA DQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2NvbmYvY29uZl9zc2wuYw0KPj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9jcHRfZXJyLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vY3J5cHRsaWIuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9jdHlwZS5jDQo+PiAg ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2N2ZXJzaW9uLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vZGVzL2NiY19ja3NtLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZGVz L2NiY19lbmMuYw0KPj4gQEAgLTE4OSw3ICsxOTQsNiBAQA0KPj4gICAgJChPUEVOU1NMX1BBVEgp L2NyeXB0by9kZXMvcGNiY19lbmMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMv cXVkX2Nrc20uYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMvcmFuZF9rZXkuYw0K Pj4gLSAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMvcnBjX2VuYy5jDQo+PiAgICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL2Rlcy9zZXRfa2V5LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vZGVzL3N0cjJrZXkuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kZXMveGNiY19l bmMuYw0KPj4gQEAgLTIwNiw2ICsyMTAsNyBAQA0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9kaC9kaF9wbWV0aC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2RoL2RoX3Bybi5j DQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2RoL2RoX3JmYzUxMTQuYw0KPj4gKyAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9kaC9kaF9yZmM3OTE5LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vZHNvL2Rzb19kbC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2Rzby9k c29fZGxmY24uYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9kc28vZHNvX2Vyci5jDQo+ PiBAQCAtMjI4LDYgKzIzMyw3IEBADQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9l X2Flcy5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX2Flc19jYmNfaG1hY19z aGExLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2VfYWVzX2NiY19obWFjX3No YTI1Ni5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX2FyaWEuYw0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9iZi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL2V2cC9lX2NhbWVsbGlhLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZw L2VfY2FzdC5jDQo+PiBAQCAtMjQyLDYgKzI0OCw3IEBADQo+PiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL2V2cC9lX3JjNF9obWFjX21kNS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRv L2V2cC9lX3JjNS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9lX3NlZWQuYw0K Pj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvZV9zbTQuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9ldnAvZV94Y2JjX2QuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9ldnAvZW5jb2RlLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL2V2cF9jbmYu Yw0KPj4gQEAgLTI1OSw2ICsyNjYsNyBAQA0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9l dnAvbV9udWxsLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL21fcmlwZW1kLmMN Cj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL21fc2hhMS5jDQo+PiArICAkKE9QRU5T U0xfUEFUSCkvY3J5cHRvL2V2cC9tX3NoYTMuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9ldnAvbV9zaWd2ZXIuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9ldnAvbV93cC5j DQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9uYW1lcy5jDQo+PiBAQCAtMjcxLDEw ICsyNzksMTAgQEANCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vZXZwL3Bfc2VhbC5jDQo+ PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wX3NpZ24uYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9ldnAvcF92ZXJpZnkuYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9ldnAvcGJlX3NjcnlwdC5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wbWV0 aF9mbi5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wbWV0aF9nbi5jDQo+PiAg ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2V2cC9wbWV0aF9saWIuYw0KPj4gLSAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9ldnAvc2NyeXB0LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8v ZXhfZGF0YS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2dldGVudi5jDQo+PiAgICAk KE9QRU5TU0xfUEFUSCkvY3J5cHRvL2htYWMvaG1fYW1ldGguYw0KPj4gQEAgLTI4Myw2ICsyOTEs NyBAQA0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9pbml0LmMNCj4+ICAgICQoT1BFTlNT TF9QQVRIKS9jcnlwdG8va2RmL2hrZGYuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9r ZGYva2RmX2Vyci5jDQo+PiArICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL2tkZi9zY3J5cHQuYw0K Pj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9rZGYvdGxzMV9wcmYuYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9saGFzaC9saF9zdGF0cy5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkv Y3J5cHRvL2xoYXNoL2xoYXNoLmMNCj4+IEBAIC0zNjAsMTQgKzM2OSwxNCBAQA0KPj4gICAgJChP UEVOU1NMX1BBVEgpL2NyeXB0by9wa2NzNy9wazdfbWltZS5jDQo+PiAgICAkKE9QRU5TU0xfUEFU SCkvY3J5cHRvL3BrY3M3L3BrN19zbWltZS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRv L3BrY3M3L3BrY3M3ZXJyLmMNCj4+IC0gICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9tZF9y YW5kLmMNCj4+ICsgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmFuZC9kcmJnX2N0ci5jDQo+PiAr ICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvZHJiZ19saWIuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9yYW5kL3JhbmRfZWdkLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlw dG8vcmFuZC9yYW5kX2Vyci5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvcmFu ZF9saWIuYw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by9yYW5kL3JhbmRfdW5peC5jDQo+ PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JhbmQvcmFuZF92bXMuYw0KPj4gICAgJChPUEVO U1NMX1BBVEgpL2NyeXB0by9yYW5kL3JhbmRfd2luLmMNCj4+IC0gICQoT1BFTlNTTF9QQVRIKS9j cnlwdG8vcmFuZC9yYW5kZmlsZS5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JjNC9y YzRfZW5jLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcmM0L3JjNF9za2V5LmMNCj4+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9hbWV0aC5jDQo+PiBAQCAtMzc5LDgg KzM4OCw4IEBADQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5cHRvL3JzYS9yc2FfZ2VuLmMNCj4+ ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9saWIuYw0KPj4gICAgJChPUEVOU1NM X1BBVEgpL2NyeXB0by9yc2EvcnNhX21ldGguYw0KPj4gKyAgJChPUEVOU1NMX1BBVEgpL2NyeXB0 by9yc2EvcnNhX21wLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9ub25l LmMNCj4+IC0gICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9udWxsLmMNCj4+ICAgICQo T1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNhL3JzYV9vYWVwLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRI KS9jcnlwdG8vcnNhL3JzYV9vc3NsLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8vcnNh L3JzYV9wazEuYw0KPj4gQEAgLTM5MiwxNSArNDAxLDI3IEBADQo+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 ICs0NjYsNyBAQA0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMvcGN5X25vZGUu Yw0KPj4gICAgJChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMvcGN5X3RyZWUuYw0KPj4gICAg JChPUEVOU1NMX1BBVEgpL2NyeXB0by94NTA5djMvdjNfYWRkci5jDQo+PiArICAkKE9QRU5TU0xf UEFUSCkvY3J5cHRvL3g1MDl2My92M19hZG1pcy5jDQo+PiAgICAkKE9QRU5TU0xfUEFUSCkvY3J5 cHRvL3g1MDl2My92M19ha2V5LmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOXYz L3YzX2FrZXlhLmMNCj4+ICAgICQoT1BFTlNTTF9QQVRIKS9jcnlwdG8veDUwOXYzL3YzX2FsdC5j DQo+PiBAQCAtNDgyLDYgKzUwNCw3IEBADQo+PiAgDQo+PiAgW0xpYnJhcnlDbGFzc2VzXQ0KPj4g ICAgRGVidWdMaWINCj4+ICsgIEludHJpbnNpY0xpYg0KPj4gIA0KPj4gIFtMaWJyYXJ5Q2xhc3Nl cy5BUk1dDQo+PiAgICBBcm1Tb2Z0RmxvYXRMaWINCj4+IEBAIC00OTEsMTcgKzUxNCwyMCBAQA0K Pj4gICAgIyBEaXNhYmxlcyB0aGUgZm9sbG93aW5nIFZpc3VhbCBTdHVkaW8gY29tcGlsZXIgd2Fy bmluZ3MgYnJvdWdodCBieSBvcGVuc3NsIHNvdXJjZSwNCj4+ICAgICMgc28gd2UgZG8gbm90IGJy ZWFrIHRoZSBidWlsZCB3aXRoIC9XWCBvcHRpb246DQo+PiAgICAjICAgQzQwOTA6ICdmdW5jdGlv bicgOiBkaWZmZXJlbnQgJ2NvbnN0JyBxdWFsaWZpZXJzDQo+PiArICAjICAgQzQxMzI6ICdvYmpl Y3QnIDogY29uc3Qgb2JqZWN0IHNob3VsZCBiZSBpbml0aWFsaXplZCAodGxzMTNfZW5jLmMpDQo+ PiAgICAjICAgQzQyNDQ6IGNvbnZlcnNpb24gZnJvbSB0eXBlMSB0byB0eXBlMiwgcG9zc2libGUg bG9zcyBvZiBkYXRhDQo+PiAgICAjICAgQzQyNDU6IGNvbnZlcnNpb24gZnJvbSB0eXBlMSB0byB0 eXBlMiwgc2lnbmVkL3Vuc2lnbmVkIG1pc21hdGNoDQo+PiAgICAjICAgQzQyNjc6IGNvbnZlcnNp b24gZnJvbSBzaXplX3QgdG8gdHlwZSwgcG9zc2libGUgbG9zcyBvZiBkYXRhDQo+PiAgICAjICAg QzQzMDY6ICdpZGVudGlmaWVyJyA6IGNvbnZlcnNpb24gZnJvbSAndHlwZTEnIHRvICd0eXBlMicg b2YgZ3JlYXRlciBzaXplDQo+PiArICAjICAgQzQzMTA6IGNhc3QgdHJ1bmNhdGVzIGNvbnN0YW50 IHZhbHVlDQo+PiAgICAjICAgQzQzODk6ICdvcGVyYXRvcicgOiBzaWduZWQvdW5zaWduZWQgbWlz bWF0Y2ggKHh4eHgpDQo+PiArICAjICAgQzQ3MDA6IHVuaW5pdGlhbGl6ZWQgbG9jYWwgdmFyaWFi bGUgJ25hbWUnIHVzZWQuIChjb25mX3NhcC5jKDcxKSkNCj4+ICAgICMgICBDNDcwMjogdW5yZWFj aGFibGUgY29kZQ0KPj4gICAgIyAgIEM0NzA2OiBhc3NpZ25tZW50IHdpdGhpbiBjb25kaXRpb25h bCBleHByZXNzaW9uDQo+PiAgICAjICAgQzQ4MTk6IFRoZSBmaWxlIGNvbnRhaW5zIGEgY2hhcmFj dGVyIHRoYXQgY2Fubm90IGJlIHJlcHJlc2VudGVkIGluIHRoZSBjdXJyZW50IGNvZGUgcGFnZQ0K Pj4gICAgIw0KPj4gLSAgTVNGVDoqXypfSUEzMl9DQ19GTEFHUyAgID0gLVVfV0lOMzIgLVVfV0lO NjQgLVVfTVNDX1ZFUiAkKE9QRU5TU0xfRkxBR1MpIC93ZDQwOTAgL3dkNDI0NCAvd2Q0MjQ1IC93 ZDQyNjcgL3dkNDM4OSAvd2Q0NzAyIC93ZDQ3MDYgL3dkNDgxOQ0KPj4gLSAgTVNGVDoqXypfWDY0 X0NDX0ZMQUdTICAgID0gLVVfV0lOMzIgLVVfV0lONjQgLVVfTVNDX1ZFUiAkKE9QRU5TU0xfRkxB R1MpIC93ZDQwOTAgL3dkNDI0NCAvd2Q0MjQ1IC93ZDQyNjcgL3dkNDMwNiAvd2Q0Mzg5IC93ZDQ3 MDIgL3dkNDcwNiAvd2Q0ODE5DQo+PiArICBNU0ZUOipfKl9JQTMyX0NDX0ZMQUdTICAgPSAtVV9X SU4zMiAtVV9XSU42NCAtVV9NU0NfVkVSICQoT1BFTlNTTF9GTEFHUykgL3dkNDA5MCAvd2Q0MTMy IC93ZDQyNDQgL3dkNDI0NSAvd2Q0MjY3IC93ZDQzMTAgL3dkNDM4OSAvd2Q0NzAwIC93ZDQ3MDIg L3dkNDcwNiAvd2Q0ODE5DQo+PiArICBNU0ZUOipfKl9YNjRfQ0NfRkxBR1MgICAgPSAtVV9XSU4z MiAtVV9XSU42NCAtVV9NU0NfVkVSICQoT1BFTlNTTF9GTEFHUykgL3dkNDA5MCAvd2Q0MTMyIC93 ZDQyNDQgL3dkNDI0NSAvd2Q0MjY3IC93ZDQzMDYgL3dkNDMxMCAvd2Q0NzAwIC93ZDQzODkgL3dk NDcwMiAvd2Q0NzA2IC93ZDQ4MTkNCj4+ICANCj4+ICAgIElOVEVMOipfKl9JQTMyX0NDX0ZMQUdT ICA9IC1VX1dJTjMyIC1VX1dJTjY0IC1VX01TQ19WRVIgLVVfX0lDQyAkKE9QRU5TU0xfRkxBR1Mp IC93DQo+PiAgICBJTlRFTDoqXypfWDY0X0NDX0ZMQUdTICAgPSAtVV9XSU4zMiAtVV9XSU42NCAt VV9NU0NfVkVSIC1VX19JQ0MgJChPUEVOU1NMX0ZMQUdTKSAvdw0KPj4gQEAgLTUxMSwxMSArNTM3 LDEyIEBADQo+PiAgICAjICAgLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkOiB0aGVyZSBleGlz dCBzb21lIG90aGVyIHBhdGhzIGZvciB3aGljaCB0aGUgdmFyaWFibGUgaXMgbm90IGluaXRpYWxp emVkLg0KPj4gICAgIyAgIC1XZXJyb3I9Zm9ybWF0OiBDaGVjayBjYWxscyB0byBwcmludGYgYW5k IHNjYW5mLCBldGMuLCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgYXJndW1lbnRzIHN1cHBsaWVkIGhh dmUNCj4+ICAgICMgICAgICAgICAgICAgICAgICAgdHlwZXMgYXBwcm9wcmlhdGUgdG8gdGhlIGZv cm1hdCBzdHJpbmcgc3BlY2lmaWVkLg0KPj4gKyAgIyAgIC1XZXJyb3I9dW51c2VkLWJ1dC1zZXQt dmFyaWFibGU6IFdhcm4gd2hlbmV2ZXIgYSBsb2NhbCB2YXJpYWJsZSBpcyBhc3NpZ25lZCB0bywg YnV0IG90aGVyd2lzZSB1bnVzZWQgKGFzaWRlIGZyb20gaXRzIGRlY2xhcmF0aW9uKS4NCj4+ICAg ICMNCj4+IC0gIEdDQzoqXypfSUEzMl9DQ19GTEFHUyAgICA9IC1VX1dJTjMyIC1VX1dJTjY0ICQo T1BFTlNTTF9GTEFHUykgLVduby1lcnJvcj1tYXliZS11bmluaXRpYWxpemVkDQo+PiAtICBHQ0M6 Kl8qX1g2NF9DQ19GTEFHUyAgICAgPSAtVV9XSU4zMiAtVV9XSU42NCAkKE9QRU5TU0xfRkxBR1Mp IC1Xbm8tZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZCAtV25vLWVycm9yPWZvcm1hdCAtV25vLWZv cm1hdCAtRE5PX01TQUJJX1ZBX0ZVTkNTDQo+PiAtICBHQ0M6Kl8qX0FSTV9DQ19GTEFHUyAgICAg PSAkKE9QRU5TU0xfRkxBR1MpIC1Xbm8tZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZA0KPj4gLSAg R0NDOipfKl9BQVJDSDY0X0NDX0ZMQUdTID0gJChPUEVOU1NMX0ZMQUdTKSANCj4+IC1Xbm8tZXJy b3I9bWF5YmUtdW5pbml0aWFsaXplZCAtV25vLWZvcm1hdA0KPj4gKyAgR0NDOipfKl9JQTMyX0ND X0ZMQUdTICAgID0gLVVfV0lOMzIgLVVfV0lONjQgJChPUEVOU1NMX0ZMQUdTKSAtV25vLWVycm9y PW1heWJlLXVuaW5pdGlhbGl6ZWQgLVduby1lcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZQ0K Pj4gKyAgR0NDOipfKl9YNjRfQ0NfRkxBR1MgICAgID0gLVVfV0lOMzIgLVVfV0lONjQgJChPUEVO U1NMX0ZMQUdTKSAtV25vLWVycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWQgLVduby1lcnJvcj1mb3Jt YXQgLVduby1mb3JtYXQgLVduby1lcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZSAtRE5PX01T QUJJX1ZBX0ZVTkNTDQo+PiArICBHQ0M6Kl8qX0FSTV9DQ19GTEFHUyAgICAgPSAkKE9QRU5TU0xf RkxBR1MpIC1Xbm8tZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZCAtV25vLWVycm9yPXVudXNlZC1i dXQtc2V0LXZhcmlhYmxlDQo+PiArICBHQ0M6Kl8qX0FBUkNINjRfQ0NfRkxBR1MgPSAkKE9QRU5T U0xfRkxBR1MpIA0KPj4gKyAtV25vLWVycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWQgLVduby1mb3Jt YXQgDQo+PiArIC1Xbm8tZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGUNCj4+ICANCj4+ICAg ICMgc3VwcHJlc3MgdGhlIGZvbGxvd2luZyB3YXJuaW5ncyBpbiBvcGVuc3NsIHNvIHdlIGRvbid0 IGJyZWFrIHRoZSBidWlsZCB3aXRoIHdhcm5pbmdzLWFzLWVycm9yczoNCj4+ICAgICMgMTI5NTog RGVwcmVjYXRlZCBkZWNsYXJhdGlvbiA8ZW50aXR5PiAtIGdpdmUgYXJnIHR5cGVzIGRpZmYgDQo+ PiAtLWdpdCBhL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvYnVpbGRpbmYuaA0KPj4gYi9D cnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL2J1aWxkaW5mLmgNCj4+IGluZGV4IGM1Y2EyOTMu LjViM2I1MGIgMTAwNjQ0DQo+PiAtLS0gYS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL2J1 aWxkaW5mLmgNCj4+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvYnVpbGRpbmYu aA0KPj4gQEAgLTEsMiArMSw0IEBADQo+PiAgI2RlZmluZSBQTEFURk9STSAgIlVFRkkiDQo+PiAg I2RlZmluZSBEQVRFICAgICAgIkZyaSBEZWMgMjIgMDE6MjM6NDUgUERUIDIwMTciDQo+PiArDQo+ PiArY29uc3QgY2hhciAqIGNvbXBpbGVyX2ZsYWdzID0gIiI7DQo+PiBkaWZmIC0tZ2l0IGEvQ3J5 cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9vcGVuc3NsDQo+PiBiL0NyeXB0b1BrZy9MaWJyYXJ5 L09wZW5zc2xMaWIvb3BlbnNzbA0KPj4gaW5kZXggNzRmMmQ5Yy4uNTBlYWFjOSAxNjAwMDANCj4+ IC0tLSBhL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvb3BlbnNzbA0KPj4gKysrIGIvQ3J5 cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9vcGVuc3NsDQo+PiBAQCAtMSArMSBAQA0KPj4gLVN1 YnByb2plY3QgY29tbWl0IDc0ZjJkOWMxZWM1ZjU1MTBlMWQzZGE1YTlmMDNjMjhkZjA5Nzc3NjIN Cj4+ICtTdWJwcm9qZWN0IGNvbW1pdCA1MGVhYWM5ZjMzMzc2NjcyNTlkZTcyNTQ1MWYyMDFlNzg0 NTk5Njg3DQo+PiBkaWZmIC0tZ2l0IGEvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9vc3Ns X3N0b3JlLmMNCj4+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9vc3NsX3N0b3JlLmMN Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwLi5mMDQ5ZWRkDQo+PiAt LS0gL2Rldi9udWxsDQo+PiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL29zc2xf c3RvcmUuYw0KPj4gQEAgLTAsMCArMSwyMSBAQA0KPj4gKy8qKiBAZmlsZQ0KPj4gKyAgNjQtYml0 IE1hdGggV29ya2VyIEZ1bmN0aW9uLg0KPj4gKyAgVGhlIDMyLWJpdCB2ZXJzaW9ucyBvZiBDIGNv bXBpbGVyIGdlbmVyYXRlIGNhbGxzIHRvIGxpYnJhcnkgDQo+PiArcm91dGluZXMNCj4+ICsgIHRv IGhhbmRsZSA2NC1iaXQgbWF0aC4gVGhlc2UgZnVuY3Rpb25zIHVzZSBub24tc3RhbmRhcmQgY2Fs bGluZyBjb252ZW50aW9ucy4NCj4+ICsNCj4+ICtDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gDQo+ICgxMCkgRGlkbid0IHlv dSB3YW50IHRvIGluY2x1ZGUgIjIwMTkiIGhlcmU/DQo+IA0KPj4gK1NQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+PiArDQo+PiArKiovDQo+PiArDQo+PiArDQo+ PiArLyoNCj4+ICsgKiBUaGlzIGZ1bmN0aW9uIGlzIGNsZWFudXAgb3NzbCBzdG9yZS4NCj4+ICsg Kg0KPj4gKyAqIEluIFVFRkkgZW52aXJvbm1lbnQgd2UgZG9uJ3QgdXNlIG9zc2wgc3RvcmUgZnVu Y3Rpb25zLg0KPj4gKyAqDQo+PiArICogRHVtbXkgSW1wbGVtZW50IGZvciBVRUZJDQo+PiArICov DQo+PiArdm9pZCBvc3NsX3N0b3JlX2NsZWFudXBfaW50KHZvaWQpDQo+PiArew0KPj4gK30NCj4+ IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbC5jDQo+ PiBiL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcmFuZF9wb29sLmMNCj4+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwLi4xMWQwNjQ2DQo+PiAtLS0gL2Rldi9udWxs DQo+PiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3JhbmRfcG9vbC5jDQo+PiBA QCAtMCwwICsxLDY5IEBADQo+PiArLyoqIEBmaWxlDQo+PiArICA2NC1iaXQgTWF0aCBXb3JrZXIg RnVuY3Rpb24uDQo+PiArICBUaGUgMzItYml0IHZlcnNpb25zIG9mIEMgY29tcGlsZXIgZ2VuZXJh dGUgY2FsbHMgdG8gbGlicmFyeSANCj4+ICtyb3V0aW5lcw0KPj4gKyAgdG8gaGFuZGxlIDY0LWJp dCBtYXRoLiBUaGVzZSBmdW5jdGlvbnMgdXNlIG5vbi1zdGFuZGFyZCBjYWxsaW5nIGNvbnZlbnRp b25zLg0KPj4gKw0KPj4gK0NvcHlyaWdodCAoYykgMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPj4gK1NQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+PiArDQo+PiArKiovDQo+PiArDQo+PiArI2luY2x1ZGUgImludGVy bmFsL3JhbmRfaW50LmgiDQo+PiArDQo+PiArLyoNCj4+ICsgKiBBZGQgcmFuZG9tIGJ5dGVzIHRv IHRoZSBwb29sIHRvIGFjcXVpcmUgcmVxdWVzdGVkIGFtb3VudCBvZiANCj4+ICtlbnRyb3B5DQo+ PiArICoNCj4+ICsgKiBUaGlzIGZ1bmN0aW9uIGlzIHBsYXRmb3JtIHNwZWNpZmljIGFuZCB0cmll cyB0byBhY3F1aXJlIHRoZSANCj4+ICtyZXF1ZXN0ZWQNCj4+ICsgKiBhbW91bnQgb2YgZW50cm9w eSBieSBwb2xsaW5nIHBsYXRmb3JtIHNwZWNpZmljIGVudHJvcHkgc291cmNlcy4NCj4+ICsgKg0K Pj4gKyAqIElmIHRoZSBmdW5jdGlvbiBzdWNjZWVkcyBpbiBhY3F1aXJpbmcgYXQgbGVhc3QgDQo+ PiArfGVudHJvcHlfcmVxdWVzdGVkfCBiaXRzDQo+PiArICogb2YgZW50cm9weSwgdGhlIHRvdGFs IGVudHJvcHkgY291bnQgaXMgcmV0dXJuZWQuIElmIGl0IGZhaWxzLCBpdCANCj4+ICtyZXR1cm5z DQo+PiArICogYW4gZW50cm9weSBjb3VudCBvZiAwLg0KPj4gKyAqDQo+PiArICogRHVtbXkgSW1w bGVtZW50IGZvciBVRUZJDQo+PiArICovDQo+PiArc2l6ZV90IHJhbmRfcG9vbF9hY3F1aXJlX2Vu dHJvcHkoUkFORF9QT09MICpwb29sKSB7DQo+PiArICByZXR1cm4gMTAwOw0KPj4gK30NCj4+ICsN Cj4+ICsvKg0KPj4gKyAqIER1bW15IEltcGxlbWVudGF0aW9uIGZvciBVRUZJDQo+PiArICovDQo+ PiAraW50IHJhbmRfcG9vbF9hZGRfbm9uY2VfZGF0YShSQU5EX1BPT0wgKnBvb2wpIHsNCj4+ICsg IHN0YXRpYyBjaGFyIGRlZmF1bHRfbm9uY2VbXSA9ICJ1ZWZpIGRlZmF1bHQgbm9uY2UgZGF0YS4i Ow0KPj4gKyAgcmV0dXJuIHJhbmRfcG9vbF9hZGQocG9vbCwgKHVuc2lnbmVkIGNoYXIqKSZkZWZh dWx0X25vbmNlLCANCj4+ICtzaXplb2YoZGVmYXVsdF9ub25jZSksIDApOyB9DQo+PiArDQo+PiAr LyoNCj4+ICsgKiBEdW1teSBJbXBsZW1lbnRhdGlvbiBmb3IgVUVGSQ0KPj4gKyAqLw0KPj4gK2lu dCByYW5kX3Bvb2xfYWRkX2FkZGl0aW9uYWxfZGF0YShSQU5EX1BPT0wgKnBvb2wpIHsNCj4+ICsg IHN0YXRpYyBjaGFyIGRlZmF1bHRfYWRkaXRpb25hbFtdID0gInVlZmkgZGVmYXVsdCBhZGRpdGlv bmFsIA0KPj4gK2RhdGEuIjsNCj4+ICsNCj4+ICsgIHJldHVybiByYW5kX3Bvb2xfYWRkKHBvb2ws ICh1bnNpZ25lZCBjaGFyKikmZGVmYXVsdF9hZGRpdGlvbmFsLCANCj4+ICtzaXplb2YoZGVmYXVs dF9hZGRpdGlvbmFsKSwgMCk7IH0NCj4+ICsNCj4+ICsvKg0KPj4gKyAqIER1bW15IEltcGxlbWVt dGF0aW9uIGZvciBVRUZJDQo+PiArICovDQo+PiAraW50IHJhbmRfcG9vbF9pbml0KHZvaWQpDQo+ PiArew0KPj4gKyAgcmV0dXJuIDE7DQo+PiArfQ0KPj4gKw0KPj4gKy8qDQo+PiArICogRHVtbXkg SW1wbGVtZW10YXRpb24gZm9yIFVFRkkNCj4+ICsgKi8NCj4+ICt2b2lkIHJhbmRfcG9vbF9jbGVh bnVwKHZvaWQpDQo+PiArew0KPj4gK30NCj4+ICsNCj4+ICsvKg0KPj4gKyAqIER1bW15IEltcGxl bWVtdGF0aW9uIGZvciBVRUZJDQo+PiArICovDQo+PiArdm9pZCByYW5kX3Bvb2xfa2VlcF9yYW5k b21fZGV2aWNlc19vcGVuKGludCBrZWVwKSB7IH0NCj4+DQo+IA0KPiAoMTEpIEkgdGhpbmsgdGhl c2UgZnVuY3Rpb24gZGVmaW5pdGlvbnMgYXJlIHdyb25nLCBhbmQgaW5zZWN1cmUuDQo+IA0KPiBU aGV5IHN1Z2dlc3QgdGhhdCB3ZSBhcmUgY2FwYWJsZSBvZiBwb3B1bGF0aW5nIGFuIGVudHJvcHkg cG9vbC4gV2UgYXJlbid0Lg0KPiANCj4gVGhlcmVmb3JlLCBhbGwgb2YgdGhlIGFib3ZlIGZ1bmN0 aW9ucyB0aGF0ICpjYW4qIGZhaWwsIGZyb20gYW4gQVBJIHBlcnNwZWN0aXZlLCAqc2hvdWxkKiBm YWlsLiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBzaG91bGQgYWxsIHJldHVybiB6ZXJvOg0KPiAN Cj4gLSByYW5kX3Bvb2xfaW5pdA0KPiAtIHJhbmRfcG9vbF9hZGRfbm9uY2VfZGF0YQ0KPiAtIHJh bmRfcG9vbF9hZGRfYWRkaXRpb25hbF9kYXRhDQo+IC0gcmFuZF9wb29sX2FjcXVpcmVfZW50cm9w eQ0KPiANCj4gKEkndmUgY2hlY2tlZCB0aGUgQVBJIGRvY3MgaW4gImNyeXB0by9pbmNsdWRlL2lu dGVybmFsL3JhbmRfaW50LmgiLikNCj4gDQo+IEhlcmUncyB3aHkuIEluIGVkazIsIHdlIGNhbm5v dCBwcm92aWRlIHRoZSByZXF1ZXN0ZWQgcmFuZG9tIHBvb2wgZnVuY3Rpb25hbGl0eSwgdGhlcmVm b3JlIG5vIGhpZ2hlci1sZXZlbCBmYWNpbGl0eSBpbiBPcGVuU1NMIHNob3VsZCBldmVyIHJlbHkg b24gdGhlc2UgbG93LWxldmVsIGZ1bmN0aW9ucywgd2hlbiB3ZSBidWlsZCBPcGVuU1NMIGZvciBl ZGsyLg0KPiANCj4gSWYgd2UgbWlzcyBhIGNvZGUtcGF0aCBpbiBPcGVuU1NMIGFuZCBPcGVuU1NM IGVuZHMgdXAgY2FsbGluZyBvbmUgb2Ygb3VyIHN0dWIgZnVuY3Rpb25zLCB0aGVuIHRoZSBhZmZl Y3RlZCBoaWdoZXItbGV2ZWwgT3BlblNTTCBmdW5jdGlvbmFsaXR5IHNob3VsZCBmYWlsIGxvdWQg YW5kIGNsZWFyLiBPdGhlcndpc2UsIHdlIG9wZW4gdXAgb3Vyc2VsdmVzIHRvIGNhdGFzdHJvcGhp YyBzZWN1cml0eSBpc3N1ZXMuDQo+IA0KPiBUaGUgdmFyaWFibGUgbmFtZSAiZGVmYXVsdF9ub25j ZSIgaXMsIGluIGl0c2VsZiwgYSBjb21wbGV0ZSBzZWN1cml0eSBmaWFzY28sIGdpdmVuIHRoYXQg Im5vbmNlIiBzdGFuZHMgZm9yICJudW1iZXIgdXNlZCBvbmNlIiBpbiBjcnlwdG9ncmFwaHkuIElm IHdlIGV2ZXIgc2hpcCBjb2RlIGxpa2UgdGhpcywgd2UnbGwgYmUgdGhlIGxhdWdoaW5nIHN0b2Nr IG9mIHRoZSBzZWN1cml0eSB3b3JsZCwgZXZlbiB0aG91Z2ggdGhlIGNvZGUgaXMgY2xlYXJseSAx MDAlIHdlbGwtaW50ZW5kZWQsIGkuZS4gYXMgYSBzdHViIG9ubHkuDQo+IA0KPiAgIGh0dHBzOi8v eGtjZC5jb20vMjIxLw0KPiANCj4gTm93LCBpZiBPcGVuU1NMIDEuMS4xYiBjYW5ub3Qgd29yayBm b3IgdXMsIGluIGNhc2Ugd2UgcmV0dXJuIHplcm8gZnJvbSBlYWNoIG9mIHRoZSBhYm92ZSBmdW5j dGlvbnMsIHRoZW4gT3BlblNTTCAxLjEuMWIgaXMgdW5zdWl0YWJsZSBmb3IgYWRvcHRpb24gaW4g ZWRrMi4gVGhlbiB3ZSBoYXZlIHNvbWUgd29yayB0byBkbyBvbiBPcGVuU1NMIDEuMS4xOg0KPiBw cmVmZXJhYmx5LCB0aGUgZW50aXJlIGhpZ2hlci1sZXZlbCBmYWNpbGl0eSBpbiBPcGVuU1NMIHRo YXQgZGVwZW5kcyBvbiB0aGUgcmFuZG9tIHBvb2wgQVBJIHNob3VsZCBiZSBwb3NzaWJsZSB0byBk aXNhYmxlIGF0IGJ1aWxkIHRpbWUuDQo+IA0KPiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgLyB3aGVy ZSBhZGRpdGlvbmFsIGNvZGUgY29udHJpYnV0aW9ucyB0byBPcGVuU1NMIGFyZSBuZWNlc3Nhcnku IEknbSBub3QgYSBzZWN1cml0eSBwcm9mZXNzaW9uYWwgbXlzZWxmIGFuZCBJIHByb2JhYmx5IHdv dWxkbid0IG9mZmVyIGltbWVkaWF0ZWx5IHRvIHdyaXRlIE9wZW5TU0wgcGF0Y2hlcywgYnV0IEkg dGhpbmsgSSBjb3VsZCByZWFjaCBvdXQgdG8gY3J5cHRvIHBlb3BsZSBAUkggZm9yIGhlbHAuDQo+ IA0KPiBUaGFua3MhDQo+IExhc3psbw0KPiANCg0KDQoNCg0K