From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6A45621E11D1E for ; Thu, 14 Sep 2017 01:46:02 -0700 (PDT) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP; 14 Sep 2017 01:49:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,391,1500966000"; d="scan'208,217";a="151204076" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga005.fm.intel.com with ESMTP; 14 Sep 2017 01:49:00 -0700 Received: from fmsmsx113.amr.corp.intel.com (10.18.116.7) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 14 Sep 2017 01:49:00 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX113.amr.corp.intel.com (10.18.116.7) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 14 Sep 2017 01:48:59 -0700 Received: from shsmsx151.ccr.corp.intel.com ([169.254.3.98]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.219]) with mapi id 14.03.0319.002; Thu, 14 Sep 2017 16:48:43 +0800 From: "Yao, Jiewen" To: "Wang, Jian J" , Laszlo Ersek CC: "Dong, Eric" , "Justen, Jordan L" , "edk2-devel@lists.01.org" , "Wolman, Ayellet" , "Kinney, Michael D" , "Zeng, Star" , "Yao, Jiewen" Thread-Topic: [edk2] [PATCH 4/4] OvmfPkg/QemuVideoDxe: Update QemuVideoDxe driver to bypass NULL pointer detection if enabled. Thread-Index: AQHTLHJCRvj92DWVtkGelHpr0+5g4KKy8rOAgAAcvwCAACF6gIAAV2QAgACIDFD//3x/AIAAhj+Q Date: Thu, 14 Sep 2017 08:48:42 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503A9B268C@SHSMSX151.ccr.corp.intel.com> References: <20170913092507.12504-1-jian.j.wang@intel.com> <20170913092507.12504-5-jian.j.wang@intel.com> <848bc70b-b3f7-62fb-ef2d-df89ff8805a6@redhat.com> <4dd43619-552e-9d0e-3d2b-ca9c1f3b80a3@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C503A9B264A@SHSMSX151.ccr.corp.intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: [PATCH 4/4] OvmfPkg/QemuVideoDxe: Update QemuVideoDxe driver to bypass NULL pointer detection if enabled. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Sep 2017 08:46:02 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SWYgc28sIGNhbiB3ZSBlbmhhbmNlIHRoZSBHQ0QgaW1wbGVtZW50YXRpb24/DQoNCkkgdGhpbmsg dGhpcyBpcyBjb21wYXRpYmxlLCBiZWNhdXNlIHdlIGFsbG93IG1vcmUgdXNhZ2UuDQoNCkFuZCBt b3N0IGltcG9ydGFudCB3ZSBzdGlsbCBmb2xsb3cgc3BlYy4NCg0KVGhhbmsgeW91DQpZYW8gSmll d2VuDQoNCkZyb206IFdhbmcsIEppYW4gSg0KU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAxNCwg MjAxNyA0OjQ2IFBNDQpUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgTGFz emxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCkNjOiBEb25nLCBFcmljIDxlcmljLmRvbmdA aW50ZWwuY29tPjsgSnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47 IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBXb2xtYW4sIEF5ZWxsZXQgPGF5ZWxsZXQud29sbWFu QGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNv bT47IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTogW2VkazJd IFtQQVRDSCA0LzRdIE92bWZQa2cvUWVtdVZpZGVvRHhlOiBVcGRhdGUgUWVtdVZpZGVvRHhlIGRy aXZlciB0byBieXBhc3MgTlVMTCBwb2ludGVyIGRldGVjdGlvbiBpZiBlbmFibGVkLg0KDQpJdOKA mXMgYW4gaW1wbGVtZW50YXRpb24gbGltaXRhdGlvbi4gQWxsIHBhZ2UgYXR0cmlidXRlcyB3aWxs IGJlIGZpbHRlcmVkIG91dCBiZWZvcmUgY2FsbGluZyBDUFUgYXJjaCBwcm90b2NvbCB0byB1cGRh dGUgdGhlIGF0dHJpYnV0ZXMgKEdjZC5jKS4NCg0KRnJvbTogWWFvLCBKaWV3ZW4NClNlbnQ6IFRo dXJzZGF5LCBTZXB0ZW1iZXIgMTQsIDIwMTcgNDozOCBQTQ0KVG86IExhc3psbyBFcnNlayA8bGVy c2VrQHJlZGhhdC5jb208bWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPj47IFdhbmcsIEppYW4gSiA8 amlhbi5qLndhbmdAaW50ZWwuY29tPG1haWx0bzpqaWFuLmoud2FuZ0BpbnRlbC5jb20+Pg0KQ2M6 IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb208bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5j b20+PjsgSnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbTxtYWlsdG86 am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWls dG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+OyBXb2xtYW4sIEF5ZWxsZXQgPGF5ZWxsZXQud29s bWFuQGludGVsLmNvbTxtYWlsdG86YXllbGxldC53b2xtYW5AaW50ZWwuY29tPj47IEtpbm5leSwg TWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbTxtYWlsdG86bWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb20+PjsgWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbTxtYWlsdG86 c3Rhci56ZW5nQGludGVsLmNvbT4+DQpTdWJqZWN0OiBSRTogW2VkazJdIFtQQVRDSCA0LzRdIE92 bWZQa2cvUWVtdVZpZGVvRHhlOiBVcGRhdGUgUWVtdVZpZGVvRHhlIGRyaXZlciB0byBieXBhc3Mg TlVMTCBwb2ludGVyIGRldGVjdGlvbiBpZiBlbmFibGVkLg0KDQpISQ0KSSB3b25kZXIgaWYgaXQg aXMgc3BlYyBsaW1pdGF0aW9uIG9yIGltcGxlbWVudGF0aW9uIGxpbWl0YXRpb24uDQoNCklmIGl0 IGlzIGltcGxlbWVudGF0aW9uIGxpbWl0YXRpb24sIHdlIGNhbiBlbmhhbmNlIHRoZSBEeGVDb3Jl IHRvIGFsbG93IGl0Lg0KDQpUaGFuayB5b3UNCllhbyBKaWV3ZW4NCg0KRnJvbTogTGFzemxvIEVy c2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQpTZW50OiBUaHVyc2RheSwgU2VwdGVtYmVy IDE0LCAyMDE3IDQ6MzAgUE0NClRvOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNv bTxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPj4NCkNjOiBEb25nLCBFcmljIDxlcmljLmRv bmdAaW50ZWwuY29tPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29tPj47IEp1c3RlbiwgSm9yZGFu IEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb208bWFpbHRvOmpvcmRhbi5sLmp1c3RlbkBpbnRl bC5jb20+PjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMu MDEub3JnPjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4u eWFvQGludGVsLmNvbT4+OyBXb2xtYW4sIEF5ZWxsZXQgPGF5ZWxsZXQud29sbWFuQGludGVsLmNv bTxtYWlsdG86YXllbGxldC53b2xtYW5AaW50ZWwuY29tPj47IEtpbm5leSwgTWljaGFlbCBEIDxt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbTxtYWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+PjsgWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbTxtYWlsdG86c3Rhci56ZW5nQGlu dGVsLmNvbT4+DQpTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCA0LzRdIE92bWZQa2cvUWVtdVZp ZGVvRHhlOiBVcGRhdGUgUWVtdVZpZGVvRHhlIGRyaXZlciB0byBieXBhc3MgTlVMTCBwb2ludGVy IGRldGVjdGlvbiBpZiBlbmFibGVkLg0KDQpPbiAwOS8xNC8xNyAwNToxNywgV2FuZywgSmlhbiBK IHdyb3RlOg0KPiBGb3IgdGhlIHVzZSBvZiBhcmNoIHByb3RvY29sLCB0aGVyZSdzIG9uZSB0aGlu ZyBJIG1lbnRpb25lZCBpcyBub3QNCj4gYWNjdXJhdGUuIEkgYWN0dWFsbHkgdHJpZWQgZ0RTLT5T ZXRNZW1vcnlTcGFjZUF0dHJpYnV0ZXMoKSBidXQgaXQNCj4gY2Fubm90IGNoYW5nZSBwYWdlIGF0 dHJpYnV0ZXMuIFRoYXQncyB3aHkgSSBoYXZlIHRvIHR1cm4gdG8gY3B1IGFyY2gNCj4gcHJvdG9j b2wuDQpUaGFuayB5b3UgZm9yIHRoZSBleHBsYW5hdGlvbi4NCg0KSW4gdGhhdCBjYXNlLCB3ZSBj YW5ub3QgYXZvaWQgdmlvbGF0aW5nIHRoZSBQSSBzcGVjLiBJIGFncmVlIHdlIGNhbg0KYnJlYWsg dGhlIHNwZWMgaWYgaXQgaGFwcGVucyBmb3Igc2VjdXJpdHkgcHVycG9zZXMsIGJ1dCBpbiB0aGF0 IGNhc2UsIEkNCmJlbGlldmUgdGhhdCBoaWRpbmcgdGhlIGltcGxlbWVudGF0aW9uIGJlaGluZCBh IGxpYnJhcnkgY2xhc3MgaXMNCm1hbmRhdG9yeS4gVmlld2VkIGZyb20gdGhlIHNwZWMgc2lkZSwg YWNjZXNzaW5nIHRoZSBDUFUgQXJjaCBwcm90b2NvbCBpcw0KYSBoYWNrLCBhbmQgc28gaXQgc2hv dWxkIG5vdCBiZSBzcHJlYWQgdG8gdGhlIHNvdXJjZSBjb2RlIG9mIHNldmVyYWwNCmRyaXZlciBt b2R1bGVzLg0KDQpUaGFuayB5b3UsDQpMYXN6bG8NCg0KDQo+DQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNA bGlzdHMuMDEub3JnXSBPbiBCZWhhbGYgT2YgV2FuZywgSmlhbiBKDQo+IFNlbnQ6IFRodXJzZGF5 LCBTZXB0ZW1iZXIgMTQsIDIwMTcgOToxNyBBTQ0KPiBUbzogTGFzemxvIEVyc2VrIDxsZXJzZWtA cmVkaGF0LmNvbTxtYWlsdG86bGVyc2VrQHJlZGhhdC5jb20+Pg0KPiBDYzogRG9uZywgRXJpYyA8 ZXJpYy5kb25nQGludGVsLmNvbTxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+OyBKdXN0ZW4s IEpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPG1haWx0bzpqb3JkYW4ubC5qdXN0 ZW5AaW50ZWwuY29tPj47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVs QGxpc3RzLjAxLm9yZz47IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86 amlld2VuLnlhb0BpbnRlbC5jb20+PjsgV29sbWFuLCBBeWVsbGV0IDxheWVsbGV0LndvbG1hbkBp bnRlbC5jb208bWFpbHRvOmF5ZWxsZXQud29sbWFuQGludGVsLmNvbT4+OyBLaW5uZXksIE1pY2hh ZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb208bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPj47IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb208bWFpbHRvOnN0YXIu emVuZ0BpbnRlbC5jb20+Pg0KPiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCA0LzRdIE92bWZQ a2cvUWVtdVZpZGVvRHhlOiBVcGRhdGUgUWVtdVZpZGVvRHhlIGRyaXZlciB0byBieXBhc3MgTlVM TCBwb2ludGVyIGRldGVjdGlvbiBpZiBlbmFibGVkLg0KPg0KPiBUaGFua3MgZm9yIHRoZSBjb21t ZW50cyBhbmQgZ29vZCBhZHZpY2VzLiBTb3JyeSB0aGUgZm9ybWF0IGlzc3Vlcy4NCj4gVGhpcyBp cyBteSBmaXJzdCBwYXRjaCBmb3IgdGhpcyBwcm9qZWN0LiBUb28gbWFueSBkZXRhaWxzIGZvciBt ZSB0byBnZXQNCj4gZmFtaWxpYXIgd2l0aC4NCj4NCj4gKDEpIFN1cmUuDQo+ICgyKSBJJ2xsIGNo YW5nZSB0aGF0Lg0KPiAoMykgSSdsbCB1c2UgdGhlIHRvb2wgdG8gZW5zdXJlIHRoZSBwYXRjaCBm b3JtYXQuDQo+ICg0KSBJJ2xsIHJlbW92ZSB0aGUgJywnIGluIG5hbWUNCj4gKDUpIEknbGwgYWRk IG1vcmUgZGVzY3JpcHRpb24gYWJvdXQgaXQuDQo+ICg2KSBZb3UncmUgcmlnaHQuIEkgc2hvdWxk IHVzZSBTZXRNZW1vcnlTcGFjZUF0dHJpYnV0ZXMoKSBvZiBEWEUgc2VydmljZQ0KPiAgICAgIGlu c3RlYWQuIFRoZSBvbmx5IHJlYXNvbiBJIGRpZG4ndCBkbyBpdCBpcyB0aGF0IEkgZm91bmQNCj4g ICAgICAgR2V0TWVtb3J5U3BhY2VEZXNjcmlwdG9yKCkgZG9lc24ndCByZXR1cm4gdGhlIHNhbWUg aW5mb3JtYXRpb24NCj4gICAgICB3aGljaCBTZXRNZW1vcnlTcGFjZUF0dHJpYnV0ZXMoKSBqdXN0 IGNoYW5nZWQuIFNvIEkgZmVlbCB1c2luZyBDUFUNCj4gICAgIGFyY2ggcHJvdG9jb2wgaXMgYSBi aXQgc2FmZXIuIEFueXdheSwgSSdsbCBjaGFuZ2UgaXQuDQo+ICg3KSBJIGRpZCBwdXQgdGhvc2Ug bWFjcm9zIGluIHRoZSBpbnN0YWxsIGZ1bmN0aW9uIGJlZm9yZS4gVG8gcmVkdWNlIHRoZQ0KPiAg ICAgIG51bWJlciBvZiBjaGFuZ2VkIGZpbGVzLCBJIG1hZGUgY3VycmVudCBjaGFuZ2VzLiBZb3Un cmUgcmlnaHQgaXQncw0KPiAgICAgIG5vdCB3b3J0aHkuDQo+ICg4KSBVc2luZyBtYWNybyBjYW4g aGVscCB0aGUgcmVhZGFiaWxpdHksIHdoaWNoIGlzIG1vcmUgaW1wb3J0YW50IHRvIG1lLg0KPiAg ICAgSSBrbm93IGZ1bmN0aW9uIGNhbiBkbyB0aGUgc2FtZS4gQnV0IGl0IGxvb2tzIGEgYml0IGhl YXZ5IGluIHRoaXMgc2l0dWF0aW9uLg0KPiAgICAgSSBoYXZlIHRvIGFkbWl0IHJlcGxhY2luZyAg dGhlIG1hY3JvcyB3aXRoIGEgbGlicmFyeSBpcyBhIHZlcnkgZ29vZCBpZGVhLA0KPiAgICAgd2hp Y2ggYnJpbmdzIHRoZSBzYW1lIHJlYWRhYmlsaXR5LiBJIGRpZG4ndCB0aGluayBvZiB0aGF0IGJl Zm9yZS4gQWx0aG91Z2gNCj4gICAgIExpYnJhcnkgaXMgc3RpbGwgYSBsaXR0bGUgYml0IGhlYXZ5 IHRvIG1lIGJ1dCBpdCdzIGluIGEgZGlmZmVyZW50IHdheSwgSSB0aGluayBpdA0KPiAgICAgd29y dGggYSB0cnlpbmcuDQo+ICg5KSBQdXR0aW5nIGEgc3BhY2UgYmVmb3JlIG9wZW4gcGFyZW50aGVz aXMgaXMgZm9yY2VkIHN0eWxlPyBJZiBzbywgSSdsbCBhZGQgaXQuDQo+ICgxMCkgWW91J3JlIHJp Z2h0LiBVc2luZyBsaWJyYXJ5IGNhbiByZWR1Y2UgdGhlIGRpc3R1cmJzIHRvIGFmZmVjdGVkIGRy aXZlcnMNCj4gICAgICAgIGJ5IHRoaXMgZmVhdHVyZSB0byB0aGUgbWluaW11bS4NCj4NCj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxvIEVyc2VrIFttYWlsdG86bGVy c2VrQHJlZGhhdC5jb21dDQo+IFNlbnQ6IFRodXJzZGF5LCBTZXB0ZW1iZXIgMTQsIDIwMTcgNzoz NSBBTQ0KPiBUbzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb208bWFpbHRvOmpp YW4uai53YW5nQGludGVsLmNvbT4+DQo+IENjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWls dG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+OyBKdXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5q dXN0ZW5AaW50ZWwuY29tPG1haWx0bzpqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPj47IERvbmcs IEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb208bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+Pjsg S2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPG1haWx0bzptaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT4+OyBXb2xtYW4sIEF5ZWxsZXQgPGF5ZWxsZXQud29sbWFu QGludGVsLmNvbTxtYWlsdG86YXllbGxldC53b2xtYW5AaW50ZWwuY29tPj47IFlhbywgSmlld2Vu IDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+PjsgWmVu ZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbTxtYWlsdG86c3Rhci56ZW5nQGludGVsLmNvbT4+ DQo+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIDQvNF0gT3ZtZlBrZy9RZW11VmlkZW9EeGU6 IFVwZGF0ZSBRZW11VmlkZW9EeGUgZHJpdmVyIHRvIGJ5cGFzcyBOVUxMIHBvaW50ZXIgZGV0ZWN0 aW9uIGlmIGVuYWJsZWQuDQo+DQo+IEhpLA0KPg0KPiBzb21lIG9mIHRoZSBwb2ludHMgSSdtIGdv aW5nIHRvIG1ha2UgaGF2ZSBhbHJlYWR5IGJlZW4gcG9pbnRlZCBvdXQgYnkNCj4gSm9yZGFuOg0K Pg0KPiAoMSkgV2hlbiBwb3N0aW5nIGEgcGF0Y2ggc2VyaWVzLCBwbGVhc2UgY29sbGVjdCB0aGUg Q2M6IHRhZ3MgZnJvbSBhbGwgb2YNCj4gdGhlIHBhdGNoZXMsIGFuZCBhZGQgdGhlbSAqYWxsKiB0 byB0aGUgY292ZXIgbGV0dGVyLiBUaGlzIHdheSBldmVyeW9uZQ0KPiB3aWxsIGdldCBhIHBlcnNv bmFsIGNvcHkgb2YgdGhlIGdlbmVyYWwgZGVzY3JpcHRpb24uDQo+DQo+DQo+ICgyKSBUaGUgc3Vi amVjdCBsaW5lIGlzIHRvbyBsb25nLiBPbmUgcG9zc2libGUgc2ltcGxpZmljYXRpb246DQo+DQo+ IE92bWZQa2cvUWVtdVZpZGVvRHhlOiBieXBhc3MgTlVMTCBwb2ludGVyIGRldGVjdGlvbg0KPg0K Pg0KPiBPbiAwOS8xMy8xNyAxMToyNSwgV2FuZywgSmlhbiBKIHdyb3RlOg0KPj4gUWVtdVZpZGVv RHhlIGRyaXZlciB3aWxsIGluc3RhbGwgVkJFIFNISU0gaW50byBwYWdlIDAuIElmIE5VTEwgcG9p bnRlcg0KPj4gZGV0ZWN0aW9uIGlzIGVuYWJsZWQsIHBhZ2UgMCBtdXN0IGJlIGVuYWJsZWQgdGVt cG9yYXJpbHkgYmVmb3JlDQo+PiBpbnN0YWxsaW5nIGFuZCBkaXNhYmxlZCBhZ2FpbiBhZnRlcndh cmRzLiBGb3IgV2luZG93cyA3IGJvb3QsIEJJVDcgb2YNCj4+IFBjZE51bGxQb2ludGVyRGV0ZWN0 aW9uUHJvcGVydHlNYXNrIG11c3Qgc3RpbGwgYmUgc2V0IHRvIGF2b2lkIGhhbmcuDQo+DQo+ICgz KSBTdWJqZWN0IGxpbmUgYW5kIGNvbW1pdCBtZXNzYWdlIGJvdGggc2hvdWxkIG5vdCBleGNlZWQg NzQgY2hhcmFjdGVycw0KPiBsaW5lIGxlbmd0aC4gKE5vdCBzdXJlIGhvdyBtYW55IGNoYXJzIFBh dGNoQ2hlY2sucHkgYWN0dWFsbHkgZW5mb3JjZXMsIEkNCj4gYWx3YXlzIHN0aWNrIHdpdGggNzQs IGZvbGxvd2luZyB0aGUgTGludXgga2VybmVsIHRyYWRpdGlvbi4pDQo+DQo+IEkgcmV3cmFwcGVk IHRoZSBjb21taXQgbWVzc2FnZSBoZXJlIGZvciByZWFkYWJpbGl0eS4NCj4NCj4NCj4+DQo+PiBD YzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9AaW50 ZWwuY29tPj4NCj4+IENjOiBFcmljIERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb208bWFpbHRvOmVy aWMuZG9uZ0BpbnRlbC5jb20+Pg0KPj4gQ2M6IFN0YXIgWmVuZyA8c3Rhci56ZW5nQGludGVsLmNv bTxtYWlsdG86c3Rhci56ZW5nQGludGVsLmNvbT4+DQo+PiBDYzogTGFzemxvIEVyc2VrIDxsZXJz ZWtAcmVkaGF0LmNvbTxtYWlsdG86bGVyc2VrQHJlZGhhdC5jb20+Pg0KPj4gQ2M6IEp1c3Rlbiwg Sm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb208bWFpbHRvOmpvcmRhbi5sLmp1c3Rl bkBpbnRlbC5jb20+Pg0KPj4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbTxtYWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Pg0KPj4gQ2M6IFdv bG1hbiwgQXllbGxldCA8YXllbGxldC53b2xtYW5AaW50ZWwuY29tPG1haWx0bzpheWVsbGV0Lndv bG1hbkBpbnRlbC5jb20+Pg0KPj4gU3VnZ2VzdGVkLWJ5OiBXb2xtYW4sIEF5ZWxsZXQgPGF5ZWxs ZXQud29sbWFuQGludGVsLmNvbTxtYWlsdG86YXllbGxldC53b2xtYW5AaW50ZWwuY29tPj4NCj4+ IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjEN Cj4+IFNpZ25lZC1vZmYtYnk6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPG1h aWx0bzpqaWFuLmoud2FuZ0BpbnRlbC5jb20+Pg0KPg0KPiAoNCkgSSB0aGluayB0aGlzIGlzIGFs c28gc29tZXRoaW5nIHRoYXQgSm9yZGFuIGhhZCBwb2ludGVkIG91dCBhIGxvbmcNCj4gdGltZSBh Z28gKGFwb2xvZ2llcyBpZiBJIG1pcy1yZW1lbWJlcik6DQo+DQo+IFRoZSBzdHJpbmdzIGFmdGVy IHRoZSB0YWdzIHNob3VsZCBmb3JtIGNvcnJlY3QgZW1haWwgYWRkcmVzc2VzLCBhbmQgaWYNCj4g dGhlcmUgYXJlIHZhcmlvdXMgZW1haWwgbWV0YS1jaGFyYWN0ZXJzIGluIHRoZW0sIGxpa2UgIi4i IChkb3QpIGFuZCAiLCINCj4gKGNvbW1hKSwgdGhlbiB0aGV5IHNob3VsZCBiZSBxdW90ZWQsIGxp a2UgdGhpczoNCj4NCj4gQ2M6ICJKdXN0ZW4sIEpvcmRhbiBMIiA8am9yZGFuLmwuanVzdGVuQGlu dGVsLmNvbTxtYWlsdG86am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4+DQo+IENjOiAiS2lubmV5 LCBNaWNoYWVsIEQiIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbTxtYWlsdG86bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+Pg0KPiBDYzogIldvbG1hbiwgQXllbGxldCIgPGF5ZWxsZXQud29s bWFuQGludGVsLmNvbTxtYWlsdG86YXllbGxldC53b2xtYW5AaW50ZWwuY29tPj4NCj4gU3VnZ2Vz dGVkLWJ5OiAiV29sbWFuLCBBeWVsbGV0IiA8YXllbGxldC53b2xtYW5AaW50ZWwuY29tPG1haWx0 bzpheWVsbGV0LndvbG1hbkBpbnRlbC5jb20+Pg0KPiBTaWduZWQtb2ZmLWJ5OiAiV2FuZywgSmlh biBKIiA8amlhbi5qLndhbmdAaW50ZWwuY29tPG1haWx0bzpqaWFuLmoud2FuZ0BpbnRlbC5jb20+ Pg0KPg0KPiBJZiB5b3UgbG9vayBhdCB0aGUgYWN0dWFsIGFkZHJlc3NlcyBvbiB0aGUgZW1haWxz IHRoYXQgaGF2ZSBiZWVuIHNlbnQNCj4gb3V0LCB5b3UgY2FuIHNlZSB0aGV5IGFyZSBhbGwgbWFs Zm9ybWVkLiBGb3IgZXhhbXBsZSwgSSBoYXZlOg0KPg0KPiAiSm9yZGFuIEwgPGpvcmRhbi5sLmp1 c3RlbkBpbnRlbC5jb208bWFpbHRvOmpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+PiIgZm9yIEpv cmRhbiAtLSB0aGUgcGFydCBiZWZvcmUgdGhlDQo+IGNvbW1hIHdhcyB0YWtlbiB0byBiZSBhIHNl cGFyYXRlIGVtYWlsIGFkZHJlc3MgKGEgbWFsZm9ybWVkIG9uZSkuDQo+DQo+IEF0IGxlYXN0IGZv ciBteSByZXBseSwgSSBoYXZlIGZpeGVkIHVwIHRoZSBlbWFpbCBhZGRyZXNzZXMuDQo+DQo+DQo+ ICg1KSBUaGUgY29tbWl0IG1lc3NhZ2UgbWVudGlvbnMgQklUNyBvZiB0aGUgbmV3IFBDRC4NCj4N Cj4gRmlyc3QsIHRoYW5rcyBmb3IgY2hlY2tpbmcgV2luZG93cyA3IGJvb3QgKGFuZCBJJ20gaGFw cHkgdGhhdCBJIGdvdA0KPiBzdXNwaWNpb3VzIG9mIHRoZSBmZWF0dXJlIHdpdGggcmVnYXJkIHRv IFdpbmRvd3MgNykuIEkgdGhpbmsgQklUNyBpcyBhDQo+IGdvb2QgZmVhdHVyZS4NCj4NCj4gSG93 ZXZlciwgcGxlYXNlIGluY2x1ZGUgdGhlIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoYXQgZmVhdHVy ZSBpbiB0aGUNCj4gY29tbWl0IG1lc3NhZ2UgLS0gaXQgaXMgb25lIHNlbnRlbmNlOyAiRGlzYWJs ZSBOVUxMIHBvaW50ZXIgZGV0ZWN0aW9uDQo+IGp1c3QgYWZ0ZXIgRW5kT2ZEeGUuIg0KPg0KPiAo SSB0aGluayBCSVQ3IGlzIGEgcmVhbGx5IHNtYXJ0IGZlYXR1cmUsIGFuZCBJIGxpa2UgKmhvdyog aXQgaXMgdXNlZCBpbg0KPiAiTlVMTF9ERVRFQ1RJT05fRU5BQkxFRCIgYmVsb3cuIFRoZSBjaGVj ayBtZWFucywgImlmIHRoZSBwcm90ZWN0aW9uIGlzDQo+IGVuYWJsZWQgZm9yIERYRSwgYW5kICpu b3QgZGlzYWJsZWQqICg9PSBhbHNvIGVuYWJsZWQpIGFmdGVyIEVuZC1vZi1EeGUiLg0KPg0KPiBU aGlzIGRvZXNuJ3QgbWVhbiB0aGF0IEkgbGlrZSB0aGUgTlVMTF9ERVRFQ1RJT05fRU5BQkxFRCBt YWNybyBpdHNlbGY7DQo+IG1vcmUgb24gdGhhdCBiZWxvdy4pDQo+DQo+DQo+PiAtLS0NCj4+ICBP dm1mUGtnL1FlbXVWaWRlb0R4ZS9Ecml2ZXIuYyAgICAgICAgIHwgMTUgKysrKysrKysrKysrKyst DQo+PiAgT3ZtZlBrZy9RZW11VmlkZW9EeGUvUWVtdS5oICAgICAgICAgICB8IDE2ICsrKysrKysr KysrKysrKysNCj4+ICBPdm1mUGtnL1FlbXVWaWRlb0R4ZS9RZW11VmlkZW9EeGUuaW5mIHwgIDIg KysNCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkN Cj4+DQo+PiBkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9RZW11VmlkZW9EeGUvRHJpdmVyLmMgYi9Pdm1m UGtnL1FlbXVWaWRlb0R4ZS9Ecml2ZXIuYw0KPj4gaW5kZXggMGRjZTgwZTU5Yi4uZWUwZWVkNzIx NCAxMDA2NDQNCj4+IC0tLSBhL092bWZQa2cvUWVtdVZpZGVvRHhlL0RyaXZlci5jDQo+PiArKysg Yi9Pdm1mUGtnL1FlbXVWaWRlb0R4ZS9Ecml2ZXIuYw0KPj4gQEAgLTE5NCw2ICsxOTQsNyBAQCBR ZW11VmlkZW9Db250cm9sbGVyRHJpdmVyU3RhcnQgKA0KPj4gICAgUENJX1RZUEUwMCAgICAgICAg ICAgICAgICAgICAgICAgIFBjaTsNCj4+ICAgIFFFTVVfVklERU9fQ0FSRCAgICAgICAgICAgICAg ICAgICAqQ2FyZDsNCj4+ICAgIEVGSV9QQ0lfSU9fUFJPVE9DT0wgICAgICAgICAgICAgICAqQ2hp bGRQY2lJbzsNCj4+ICsgIEVGSV9DUFVfQVJDSF9QUk9UT0NPTCAgICAgICAgICAgICAqQ3B1Ow0K Pg0KPiAoNikgSSBiZWxpZXZlIEkgbWVudGlvbmVkIHRoaXMgaW4gdGhlIGVhcmxpZXIgZGlzY3Vz c2lvbiwgaW4gc29tZSBmb3JtLA0KPiBidXQgbm93IEknbGwgc2F5IGl0IGFnYWluOg0KPg0KPiBB IFVFRkkgZHJpdmVyIGhhcyBubyBidXNpbmVzcyBwb2tpbmcgYXQgdGhlIENQVSBBcmNoIHByb3Rv Y29sLiBUaGUgUEkNCj4gc3BlYyAoMS42KSBzdGF0ZXMsDQo+DQo+ICAgMTIuMyBDUFUgQXJjaGl0 ZWN0dXJhbCBQcm90b2NvbA0KPiAgIEVGSV9DUFVfQVJDSF9QUk9UT0NPTA0KPg0KPiAgIFN1bW1h cnkNCj4NCj4gICBBYnN0cmFjdHMgdGhlIHByb2Nlc3NvciBzZXJ2aWNlcyB0aGF0IGFyZSByZXF1 aXJlZCB0byBpbXBsZW1lbnQgc29tZQ0KPiAgIG9mIHRoZSBEWEUgc2VydmljZXMuIFRoaXMgcHJv dG9jb2wgbXVzdCBiZSBwcm9kdWNlZCBieSBhIGJvb3Qgc2VydmljZQ0KPiAgIG9yIHJ1bnRpbWUg RFhFIGRyaXZlciBhbmQgbWF5IG9ubHkgYmUgY29uc3VtZWQgYnkgdGhlIERYRSBGb3VuZGF0aW9u DQo+ICAgYW5kIERYRSBkcml2ZXJzIHRoYXQgcHJvZHVjZSBhcmNoaXRlY3R1cmFsIHByb3RvY29s cy4NCj4NCj4gVGhlIERYRSBjb3JlIGlzIG9idmlvdXNseSBmcmVlIHRvIHVzZSB0aGUgQ1BVIEFy Y2ggcHJvdG9jb2wsIGJ1dCBhIFVFRkkNCj4gZHJpdmVyIGlzIGZvcmJpZGRlbiBmcm9tIGl0LCAq ZXZlbiBpZiogd2Ugc2F5IHRoYXQsIGluIHRoaXMgVUVGSSBkcml2ZXIsDQo+IHdlIGFyZSBnb2lu ZyB0byB1c2UgRFhFIHNlcnZpY2VzLiAoV2hpY2ggY29tZSBmcm9tIHRoZSBQSSBzcGVjLCBhbmQg bm90DQo+IHRoZSBVRUZJIHNwZWMuKQ0KPg0KPiBUaGVyZWZvcmUsIGhlcmUgd2UgaGF2ZSB0byB1 c2UgZ0RTLT5TZXRNZW1vcnlTcGFjZUF0dHJpYnV0ZXMoKS4NCj4NCj4gVGhlIGdEUy0+U2V0TWVt b3J5U3BhY2VBdHRyaWJ1dGVzKCkgc2VydmljZSBkZXBlbmRzIG9uIHRoZSBDUFUgQXJjaA0KPiBw cm90b2NvbCwgYnkgdGhlIFBJIHNwZWMuIEl0IGlzIG5vdCBlYXN5IHRvIHNlZSwgYmVjYXVzZSB0 aGUgUEkgc3BlYyBoYXMNCj4gYSBmb3JtYXR0aW5nIGVycm9yIGluIHRoaXMgYXJlYS4gSWYgeW91 IGxvb2sgdW5kZXINCj4gR2V0TWVtb3J5U3BhY2VEZXNjcmlwdG9yKCksIHRoZXJlIGlzIGFuIGVy cm9yIGNvZGUNCj4NCj4gICBFRklfTk9UX0FWQUlMQUJMRV9ZRVQgIFRoZSBhdHRyaWJ1dGVzIGNh bm5vdCBiZSBzZXQgYmVjYXVzZSBDUFUNCj4gICAgICAgICAgICAgICAgICAgICAgICAgIGFyY2hp dGVjdHVyYWwgcHJvdG9jb2wgaXMgbm90IGF2YWlsYWJsZSB5ZXQuDQo+DQo+IE9idmlvdXNseSB0 aGlzIGVycm9yIGNvZGUgYmVsb25ncyB0byBTZXRNZW1vcnlTcGFjZUF0dHJpYnV0ZXMoKSwgbm90 DQo+IEdldE1lbW9yeVNwYWNlRGVzY3JpcHRvcigpLg0KPg0KPiBBbnl3YXksIGdEUyBzaG91bGQg YmUgdXNlZCwgYXJjaGl0ZWN0dXJhbCBwcm90b2NvbHMgc2hvdWxkbid0IGJlLg0KPg0KPg0KPj4N Cj4+ICAgIE9sZFRwbCA9IGdCUy0+UmFpc2VUUEwgKFRQTF9DQUxMQkFDSyk7DQo+Pg0KPj4gQEAg LTQ3OSw3ICs0ODAsMTkgQEAgUWVtdVZpZGVvQ29udHJvbGxlckRyaXZlclN0YXJ0ICgNCj4+ICAj aWYgZGVmaW5lZCBNREVfQ1BVX0lBMzIgfHwgZGVmaW5lZCBNREVfQ1BVX1g2NA0KPj4gICAgaWYg KFByaXZhdGUtPlZhcmlhbnQgPT0gUUVNVV9WSURFT19CT0NIU19NTUlPIHx8DQo+PiAgICAgICAg UHJpdmF0ZS0+VmFyaWFudCA9PSBRRU1VX1ZJREVPX0JPQ0hTKSB7DQo+PiAtICAgIEluc3RhbGxW YmVTaGltIChDYXJkLT5OYW1lLCBQcml2YXRlLT5HcmFwaGljc091dHB1dC5Nb2RlLT5GcmFtZUJ1 ZmZlckJhc2UpOw0KPj4gKyAgICAvLw0KPj4gKyAgICAvLyBQcmVwYXJlIENQVSBhcmNoIHByb3Rv Y29sIGZvciBOVUxMIHBvaW50ZXIgZGV0ZWN0aW9uDQo+PiArICAgIC8vDQo+PiArICAgIFN0YXR1 cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KPj4gKyAgICAgICAgICAgICAgICAgICAgJmdFZmlD cHVBcmNoUHJvdG9jb2xHdWlkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4+ICsg ICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSAmQ3B1DQo+PiArICAgICAgICAgICAgICAgICAg ICApOw0KPj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPj4gKw0KPj4gKyAgICBE SVNBQkxFX05VTExfREVURUNUSU9OKENwdSk7DQo+PiArICAgICAgSW5zdGFsbFZiZVNoaW0gKENh cmQtPk5hbWUsIFByaXZhdGUtPkdyYXBoaWNzT3V0cHV0Lk1vZGUtPkZyYW1lQnVmZmVyQmFzZSk7 DQo+PiArICAgIEVOQUJMRV9OVUxMX0RFVEVDVElPTihDcHUpOw0KPg0KPiAoNykgVGhlIE5VTEwg ZGV0ZWN0aW9uIGRpc2FibGluZyBhbmQgZW5hYmxpbmcgc2hvdWxkIGJyYWNrZXQgdGhlDQo+IGFm ZmVjdGVkIGNvZGUgYXMgdGlnaHRseSBhcyBwb3NzaWJsZS4NCj4NCj4gU28gcGxlYXNlIG1vdmUg dGhpcyBpbnRvIEluc3RhbGxWYmVTaGltKCkgYWNjb3JkaW5nbHkuDQo+DQo+DQo+PiAgICB9DQo+ PiAgI2VuZGlmDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL092bWZQa2cvUWVtdVZpZGVvRHhlL1FlbXUu aCBiL092bWZQa2cvUWVtdVZpZGVvRHhlL1FlbXUuaA0KPj4gaW5kZXggN2ZiYjI1YjNlZi4uYmIz YmM2ZWIwZiAxMDA2NDQNCj4+IC0tLSBhL092bWZQa2cvUWVtdVZpZGVvRHhlL1FlbXUuaA0KPj4g KysrIGIvT3ZtZlBrZy9RZW11VmlkZW9EeGUvUWVtdS5oDQo+PiBAQCAtMjUsNiArMjUsNyBAQA0K Pj4gICNpbmNsdWRlIDxQcm90b2NvbC9QY2lJby5oPg0KPj4gICNpbmNsdWRlIDxQcm90b2NvbC9E cml2ZXJTdXBwb3J0ZWRFZmlWZXJzaW9uLmg+DQo+PiAgI2luY2x1ZGUgPFByb3RvY29sL0Rldmlj ZVBhdGguaD4NCj4+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQ3B1Lmg+DQo+Pg0KPj4gICNpbmNsdWRl IDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+PiAgI2luY2x1ZGUgPExpYnJhcnkvVWVmaURyaXZlckVu dHJ5UG9pbnQuaD4NCj4+IEBAIC04Miw2ICs4MywyMSBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+Pg0K Pj4gICNkZWZpbmUgR1JBUEhJQ1NfT1VUUFVUX0lOVkFMSURFX01PREVfTlVNQkVSICAweGZmZmYN Cj4+DQo+PiArLy8NCj4+ICsvLyBWQkUgY29kZSB3aWxsIGFjY2VzcyBtZW1vcnkgYmV0d2VlbiAw LTQwOTUgd2hpY2ggd2lsbCBjYXVzZSBwYWdlIGZhdWx0IGV4Y2VwdGlvbg0KPj4gKy8vIGlmIE5V TEwgcG9pbnRlciBkZXRlY3Rpb24gbWVjaGFuaXNtIGlzIGVuYWJsZWQuIEZvbGxvd2luZyBtYWNy b3MgY2FuIGJlIHVzZWQgdG8NCj4+ICsvLyBkaXNhYmxlL2VuYWJsZSBOVUxMIHBvaW50ZXIgZGV0 ZWN0aW9uIGJlZm9yZS9hZnRlciBhY2Nlc3NpbmcgdGhvc2UgbWVtb3J5Lg0KPj4gKy8vDQo+PiAr I2RlZmluZSBOVUxMX0RFVEVDVElPTl9FTkFCTEVEICAoKFBjZEdldDgoUGNkTnVsbFBvaW50ZXJE ZXRlY3Rpb25Qcm9wZXJ0eU1hc2spICYgKEJJVDB8QklUNykpID09IEJJVDApDQo+PiArI2RlZmlu ZSBESVNBQkxFX05VTExfREVURUNUSU9OKENwdSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQo+PiArICBpZiAoTlVMTF9ERVRFQ1RJT05fRU5BQkxFRCkgeyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+PiArICAg IChDcHUpLT5TZXRNZW1vcnlBdHRyaWJ1dGVzKChDcHUpLCAwLCBFRklfUEFHRV9TSVpFLCAwKTsg ICAgICAgICAgICAgICAgICAgICBcDQo+PiArICB9DQo+PiArI2RlZmluZSBFTkFCTEVfTlVMTF9E RVRFQ1RJT04oQ3B1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQo+PiArICBpZiAoTlVMTF9ERVRFQ1RJT05fRU5BQkxFRCkgeyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+PiArICAgIChDcHUpLT5TZXRNZW1v cnlBdHRyaWJ1dGVzKChDcHUpLCAwLCBFRklfUEFHRV9TSVpFLCBFRklfTUVNT1JZX1JQKTsgICAg ICAgICBcDQo+PiArICB9DQo+PiArDQo+DQo+ICg4KSBJIGJlbGlldmUgSm9yZGFuIHRvbyBjb21t ZW50ZWQgb24gdGhlc2UgbWFjcm9zIGVsc2V3aGVyZSAodW5kZXINCj4gcGF0Y2ggMS80KS4NCj4N Cj4gSW4gbXkgb3BpbmlvbiwgdGhpcyBmdW5jdGlvbmFsaXR5IHNob3VsZCBiZSBleHRyYWN0ZWQg aW50byBhIGxpYnJhcnkNCj4gY2xhc3MsIHdpdGggYSBsaWJyYXJ5IGluc3RhbmNlIHRoYXQgaXMg c3VpdGFibGUgZm9yIGF0IGxlYXN0IFVFRklfRFJJVkVSDQo+IG1vZHVsZXMuIChNYXliZSBldmVu IGZvciBEWEVfRFJJVkVSIG1vZHVsZXMuKQ0KPg0KPiBZb3UgY291bGQgYWRkIGEgc2VwYXJhdGUg bGlicmFyeSBpbnN0YW5jZSBmb3IgU01NIGRyaXZlcnMsIGlmIHRoYXQgd2VyZQ0KPiBuZWNlc3Nh cnkuDQo+DQo+DQo+ICg5KSBTdHlsZSBjb21tZW50OiBwbGVhc2UgcHV0IG9uZSBzcGFjZSBjaGFy YWN0ZXIgYmV0d2VlbiB0aGUgZnVuY3Rpb24NCj4gZGVzaWduYXRvciBhbmQgdGhlIG9wZW5pbmcg cGFyZW50aGVzaXMuDQo+DQo+DQo+PiAgLy8NCj4+ICAvLyBRRU1VIFZpZGVvIFByaXZhdGUgRGF0 YSBTdHJ1Y3R1cmUNCj4+ICAvLw0KPj4gZGlmZiAtLWdpdCBhL092bWZQa2cvUWVtdVZpZGVvRHhl L1FlbXVWaWRlb0R4ZS5pbmYgYi9Pdm1mUGtnL1FlbXVWaWRlb0R4ZS9RZW11VmlkZW9EeGUuaW5m DQo+PiBpbmRleCA3YzdkNDI5YmNhLi41ZDE2NmViOTljIDEwMDY0NA0KPj4gLS0tIGEvT3ZtZlBr Zy9RZW11VmlkZW9EeGUvUWVtdVZpZGVvRHhlLmluZg0KPj4gKysrIGIvT3ZtZlBrZy9RZW11Vmlk ZW9EeGUvUWVtdVZpZGVvRHhlLmluZg0KPj4gQEAgLTcyLDcgKzcyLDkgQEANCj4+ICAgIGdFZmlH cmFwaGljc091dHB1dFByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAjIFBST1RPQ09MIEJZX1NU QVJUDQo+PiAgICBnRWZpRGV2aWNlUGF0aFByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAg IyBQUk9UT0NPTCBCWV9TVEFSVA0KPj4gICAgZ0VmaVBjaUlvUHJvdG9jb2xHdWlkICAgICAgICAg ICAgICAgICAgICAgICAgICMgUFJPVE9DT0wgVE9fU1RBUlQNCj4+ICsgIGdFZmlDcHVBcmNoUHJv dG9jb2xHdWlkDQo+Pg0KPj4gIFtQY2RdDQo+PiAgICBnT3B0aW9uUm9tUGtnVG9rZW5TcGFjZUd1 aWQuUGNkRHJpdmVyU3VwcG9ydGVkRWZpVmVyc2lvbg0KPj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rv a2VuU3BhY2VHdWlkLlBjZE51bGxQb2ludGVyRGV0ZWN0aW9uUHJvcGVydHlNYXNrDQo+DQo+ICgx MCkgSW5zdGVhZCBvZiB0aGVzZSwgdGhlIGxpYnJhcnkgY2xhc3MgdGhhdCBJIGRlc2NyaWJlZCB1 bmRlciAoOCkNCj4gc2hvdWxkIGJlIGFkZGVkIGhlcmUuDQo+DQo+IEFueSBmdXJ0aGVyIGRlcGVu ZGVuY2llcyBsaWtlIFBDRHMsIHByb3RvY29scyBldGMgc2hvdWxkIGJlIGluaGVyaXRlZCBieQ0K PiB0aGUgZHJpdmVyIHRocm91Z2ggdGhlIGxpYnJhcnkgaW5zdGFuY2UgdGhhdCB0aGUgcGxhdGZv cm0gRFNDIGZpbGUNCj4gcmVzb2x2ZXMgdGhlIGxpYnJhcnkgY2xhc3MgdG8uDQo+DQo+IEJvbnVz OiBzaG91bGQgeW91IHJlYWxpemUgdGhhdCB0aGUgZmVhdHVyZSBpcyBpbXBvc3NpYmxlIHRvIGlt cGxlbWVudA0KPiB3aXRob3V0IGFjY2Vzc2luZyB0aGUgQ1BVIEFyY2ggcHJvdG9jb2wgZGlyZWN0 bHksIHlvdSBjb3VsZCBoaWRlIHRoZQ0KPiBwcm90b2NvbCBHVUlEIGRlcGVuZGVuY3kgaW4gdGhl IGxpYnJhcnkgaW5zdGFuY2UgSU5GIGZpbGUsIGFuZCBJJ2QgYmUNCj4gbm9uZSB0aGUgd2lzZXIu DQo+DQo+IC4uLiBXZWxsLCBJIGNvdWxkIGF0IGxlYXN0IHByZXRlbmQgdGhhdC4gOikNCj4NCj4g VGhhbmtzLA0KPiBMYXN6bG8NCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gZWRrMi1kZXZlbEBsaXN0 cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KPiBodHRwczovL2xpc3Rz LjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCj4NCg==