From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.126; helo=mga18.intel.com; envelope-from=benjamin.you@intel.com; receiver=edk2-devel@lists.01.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (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 7C93920985980 for ; Wed, 30 May 2018 19:52:49 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 May 2018 19:52:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,462,1520924400"; d="scan'208";a="45254004" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga007.jf.intel.com with ESMTP; 30 May 2018 19:52:49 -0700 Received: from fmsmsx121.amr.corp.intel.com (10.18.125.36) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 30 May 2018 19:52:48 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx121.amr.corp.intel.com (10.18.125.36) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 30 May 2018 19:52:48 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.51]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.87]) with mapi id 14.03.0319.002; Thu, 31 May 2018 10:52:46 +0800 From: "You, Benjamin" To: Matt Delco CC: "edk2-devel@lists.01.org" , "Ma, Maurice" , "Agyeman, Prince" Thread-Topic: [PATCH] CorebootModulePkg/CbSupportDxe: Enable ACPI via cmd register Thread-Index: AQHT9gWwEf0JCLzh8EuUjXnZV8NjR6RH8s0A//9+rACAAbLGMA== Date: Thu, 31 May 2018 02:52:45 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNDIzMWZkNGQtNjU3ZC00Y2ZiLWJkNWYtZmVhMjU5NGFmY2JjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSHZIVXpcLzBHZkd3UEhTZGNhSkMzZzBoRmQzUnVRNXpIbXR3RWRQbDhOTkU2UWE5b3Rick9ObWNKSysrU0RZMncifQ== dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH] CorebootModulePkg/CbSupportDxe: Enable ACPI via cmd register X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 02:52:49 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIE1hdHQsDQoNClRoZSBvcmlnaW5hbCBTQ0lfRU4gc2V0dGluZyBjb2RlIHdhcyBhZGRlZCB0 byBjb3ZlciBzb21lIGVhcmx5IGJ1Z2d5IA0KZmlybXdhcmUgaW1wbGVtZW50YXRpb24gdGhhdCBm YWlscyB0byBlbmFibGUgU01NLCBhbmQvb3IgZmFpbHMgdG8gZmlsbCBGQURUIA0KcHJvcGVybHks IGFuZCBzdGlsbCBuZWVkcyBhbiBTQ0lfRU4gdG8gdHJhbnNpdGlvbiB0byBBQ1BJIG1vZGUuDQoN Ckhvd2V2ZXIsIGFzIHlvdSBwb2ludGVkIG91dCwgc2V0dGluZyBpdCBpbiBQYXlsb2FkIGlzIG5v dCB0aGUgY29ycmVjdCB3YXkNCiB0byBhZGRyZXNzIHRoZSBpc3N1ZSwgd2hpY2ggYWxzbyBoYXMg c29tZSBzaWRlIGVmZmVjdHMgYXMgaW4geW91ciBjYXNlLiANCkluc3RlYWQsIFBheWxvYWQgc2hv dWxkIG91dHB1dCBzb21lIHJlbWluZGluZyBtZXNzYWdlIHRvIGRldmVsb3BlciB0byBmaXggDQp0 aGUgZmlybXdhcmUgdGhhdCBydW5zIGJlZm9yZSBQYXlsb2FkLg0KDQpUaGFua3MsDQoNCi0gYmVu DQoNCj4gRnJvbTogTWF0dCBEZWxjbyBbbWFpbHRvOmRlbGNvQGdvb2dsZS5jb21dIA0KPiBTZW50 OiBXZWRuZXNkYXksIE1heSAzMCwgMjAxOCA0OjQwIFBNDQo+IFRvOiBZb3UsIEJlbmphbWluIDxi ZW5qYW1pbi55b3VAaW50ZWwuY29tPg0KPiBDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7IE1h LCBNYXVyaWNlIDxtYXVyaWNlLm1hQGludGVsLmNvbT47IEFneWVtYW4sIFByaW5jZSA8cHJpbmNl LmFneWVtYW5AaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIXSBDb3JlYm9vdE1vZHVs ZVBrZy9DYlN1cHBvcnREeGU6IEVuYWJsZSBBQ1BJIHZpYSBjbWQgcmVnaXN0ZXINCj4gDQo+IEhp LCB0aGFua3MgZm9yIHRha2luZyBhIGxvb2suICBJIGFncmVlIHRoYXQgdGhpcyBzZWVtcyBsaWtl IHRoZSBPUydzIHJlc3BvbnNpYmlsaXR5IHRvIGVuYWJsZSBBQ1BJIGFuZCBJIHdhcyB0ZW1wdGVk IHRvIGp1c3QgcmVtb3ZlIHRoZSBzZXR0aW5nIG9mIFNDSV9FTi4gIEhvd2V2ZXIsIEkgZmlndXJl ZCB0aGF0IHRoZXJlIHdhcyBsaWtlbHkgYSByZWFzb24gdGhhdCBzb21lb25lIGJvdGhlcmVkIHRv IGFkZCB0aGUgZnVuY3Rpb24gaW4gdGhlIGZpcnN0IHBsYWNlIHNvIEkgd2VudCB3aXRoIHdoYXQg c2VlbWVkIGxpa2UgdGhlIG1vcmUgY29uc2VydmF0aXZlIGZpeC4gIEkgY2FuIHRyeSB0ZXN0aW5n IHRoZSByZW1vdmFsIG9mIFNDSV9FTiB0aG91Z2ggSSdsbCBsaWtlbHkgYmUgYXQgYSByZW1vdGUg b2ZmaWNlIGZvciB0aGUgbmV4dCAyIGRheXMgc28gaXQgbWF5IGJlIDMgb3IgbW9yZSBkYXlzIGJl Zm9yZSBJIGNhbiB1cGRhdGUgdGhlIGZsYXNoIG9uIHRoZSBwbGF0Zm9ybSB0byBwZXJmb3JtIHRo ZSBleHBlcmltZW50Lg0KPiANCj4gT24gV2VkLCBNYXkgMzAsIDIwMTggYXQgMToyNyBBTSwgWW91 LCBCZW5qYW1pbiA8YmVuamFtaW4ueW91QGludGVsLmNvbT4gd3JvdGU6DQo+IEhpIE1hdHQsDQo+ IA0KPiBUaGlzIGlzIGluZGVlZCBhIGJ1Zy4gVGhlIFBheWxvYWQgc2hvdWxkIG5vdCBzZXQgdGhl IFNDSV9FTiBiaXQuIA0KPiANCj4gSG93ZXZlciwgdGhlIFBheWxvYWQgc2hvdWxkIG5vdCB0cmln Z2VyIGFuIFNNSSBlaXRoZXIuIEl0IGlzIE9TJ3MgDQo+IHJlc3BvbnNpYmlsaXR5IHRvIGVuYWJs ZSBBQ1BJIGJ5IGZvbGxvd2luZyBGQURUJ3MgaW5zdHJ1Y3Rpb24gdG8gd3JpdGUgDQo+IHNvbWUg dmFsdWUgdG8gc29tZSBwb3J0Lg0KPiANCj4gV2UgdGhpbmsgYSBiZXR0ZXIgZml4IG1pZ2h0IGJl Og0KPiAxKSBSZW1vdmUgdGhlIFNDSV9FTiBzZXR0aW5nIGNvZGUgaW4gUmVhZHlUb0Jvb3QgZXZl bnQgaGFuZGxlciwNCj4gMikgQWRkIHNvbWUgY2hlY2tpbmcgaW4gQ2JQYXJzZUZhZHRJbmZvKCkg aW4gQ2JQYXJzZUxpYi5jIHRvIG91dHB1dCBzb21lIA0KPiAgICB3YXJuaW5nIG1lc3NhZ2UgYW5k IEFTU0VSVCAoRkFMU0UpIGlmIEFMTCBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgDQo+ICAg IGFyZSBtZXQ6DQo+ICAgIC0gSEFSRFdBUkVfUkVEVUNFRF9BQ1BJIGlzIG5vdCBzZXQNCj4gICAg LSBTTUlfQ01EIGZpZWxkIGlzIHplcm8gKGluZGljYXRpbmcgbm8gbmVlZCB0byBzd2l0Y2ggbW9k ZSwgaGVuY2UgDQo+ICAgICAgdGhlIHBsYXRmb3JtIGJlaW5nIGluIEFDUEkgbW9kZSkNCj4gICAg LSBTQ0lfRU4gYml0IGlzIHplcm8gKGluZGljYXRpbmcgbm90IGluIEFDUEkgbW9kZSkNCj4gDQo+ IEl0ZW0gMikgYWJvdmUgaXMgdG8gcmVtaW5kIHRoZSBkZXZlbG9wZXIgdGhhdCBpbiB0aGlzIGNh c2UsIHRoZXJlIG1heSBiZSBhIA0KPiBidWcgaW4gdGhlIGZpcm13YXJlIHRoYXQgcnVucyBiZWZv cmUgdGhlIFBheWxvYWQuDQo+IA0KPiBDb3VsZCB5b3UgcGxlYXNlIHRyeSBvbiB5b3VyIHBsYXRm b3JtIHRvIGNvbXBsZXRlbHkgcmVtb3ZlIHRoZSBTQ0lfRU4gDQo+IHNldHRpbmcgY29kZSBpbiBS ZWFkVG9Cb290IGV2ZW50IGhhbmRsZXIsIGFuZCBzZWUgaWYgaXQgd29ya3MgcHJvcGVybHkgDQo+ IChlLmcuLCBBQ1BJIGV2ZW50cyBkZWxpdmVyZWQgY29ycmVjdGx5KT8NCj4gDQo+IFRoYW5rcywN Cj4gDQo+IC0gYmVuDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJv bTogTWF0dCBEZWxjbyBbbWFpbHRvOmRlbGNvQGdvb2dsZS5jb21dIA0KPiA+IFNlbnQ6IE1vbmRh eSwgTWF5IDI4LCAyMDE4IDU6NTcgQU0NCj4gPiBUbzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcN Cj4gPiBDYzogTWEsIE1hdXJpY2UgPG1hdXJpY2UubWFAaW50ZWwuY29tPjsgQWd5ZW1hbiwgUHJp bmNlIDxwcmluY2UuYWd5ZW1hbkBpbnRlbC5jb20+OyBZb3UsIEJlbmphbWluIDxiZW5qYW1pbi55 b3VAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFtQQVRDSF0gQ29yZWJvb3RNb2R1bGVQa2cvQ2JT dXBwb3J0RHhlOiBFbmFibGUgQUNQSSB2aWEgY21kIHJlZ2lzdGVyDQo+ID4gDQo+ID4gVGhlIGV4 aXN0aW5nIGNvZGUgc2V0cyB0aGUgU0NJX0VOIGJpdCBkaXJlY3RseSwgd2hpY2ggaXMgYSB2aW9s YXRpb24NCj4gPiBvZiB0aGUgQUNQSSBzcGVjICgiSXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9m IHRoZSBoYXJkd2FyZSB0byBzZXQgb3INCj4gPiByZXNldCB0aGlzIGJpdC4gT1NQTSBhbHdheXMg cHJlc2VydmVzIHRoaXMgYml0IHBvc2l0aW9uIikuIFRoZSBwcm9wZXINCj4gPiB3YXkgdG8gY2F1 c2UgdGhpcyBiaXQgdG8gYml0IHNldCBpcyB0byByZWZlcmVuY2UgdGhlIEZBRFQgdGFibGUgYW5k DQo+ID4gd3JpdGUgdGhlIHZhbHVlIG9mIEFDUElfRU5BQkxFIHRvIFNNSV9DTUQuICBUaGUgU01J IHdpbGwgaW4gdHVybiBzZXQNCj4gPiB0aGUgU0NJX0VOIGJpdC4NCj4gPiANCj4gPiBQcmlvciB0 byB0aGlzIGNoYW5nZSBBQ1BJIGV2ZW50cyB3ZXJlIG5vdCBiZWluZyBkZWxpdmVyZWQgYmVjYXVz ZQ0KPiA+IEFDUEkgd2FzIG5vdCBwcm9wZXJseSBlbmFibGVkIGFuZCB0aGUgT1MgYWxzbyBkaWQg bm90IGF0dGVtcHQNCj4gPiB0byBlbmFibGUgQUNQSSBzaW5jZSBpdCBzZWVzIHRoYXQgU0NJX0VO IGlzIGFscmVhZHkgc2V0LiAgQWZ0ZXIgdGhpcw0KPiA+IGNoYW5nZSBJIG9ic2VydmVkIHRoYXQg QUNQSSBldmVudHMgd2VyZSBub3cgYmVpbmcgZGVsaXZlcmVkIHByb3Blcmx5Lg0KPiA+IA0KPiA+ IENjOiBNYXVyaWNlIE1hIDxtYXVyaWNlLm1hQGludGVsLmNvbT4NCj4gPiBDYzogUHJpbmNlIEFn eWVtYW4gPHByaW5jZS5hZ3llbWFuQGludGVsLmNvbT4NCj4gPiBDYzogQmVuamFtaW4gWW91IDxi ZW5qYW1pbi55b3VAaW50ZWwuY29tPg0KPiA+IA0KPiA+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFu b0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjANCj4gPiBTaWduZWQtb2ZmLWJ5OiBNYXR0 IERlbGNvIDxkZWxjb0Bnb29nbGUuY29tPg0KPiA+IC0tLQ0KPiA+ICBDb3JlYm9vdE1vZHVsZVBr Zy9DYlN1cHBvcnREeGUvQ2JTdXBwb3J0RHhlLmMgfCA3OSArKysrKysrKysrKysrKysrLS0tDQo+ ID4gIC4uLi9DYlN1cHBvcnREeGUvQ2JTdXBwb3J0RHhlLmluZiAgICAgICAgICAgICB8ICAxICsN Cj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkN Cj4gPiANCj4gPiBkaWZmIC0tZ2l0IGEvQ29yZWJvb3RNb2R1bGVQa2cvQ2JTdXBwb3J0RHhlL0Ni U3VwcG9ydER4ZS5jIGIvQ29yZWJvb3RNb2R1bGVQa2cvQ2JTdXBwb3J0RHhlL0NiU3VwcG9ydER4 ZS5jDQo+ID4gaW5kZXggYzUyNmM5ZTg3MS4uNGM3OTE3ZmYyYSAxMDA3NTUNCj4gPiAtLS0gYS9D b3JlYm9vdE1vZHVsZVBrZy9DYlN1cHBvcnREeGUvQ2JTdXBwb3J0RHhlLmMNCj4gPiArKysgYi9D b3JlYm9vdE1vZHVsZVBrZy9DYlN1cHBvcnREeGUvQ2JTdXBwb3J0RHhlLmMNCj4gPiBAQCAtMTQs NyArMTQsMTAgQEANCj4gPiAgKiovDQo+ID4gICNpbmNsdWRlICJDYlN1cHBvcnREeGUuaCINCj4g PiAgDQo+ID4gLVVJTlROIG1QbUN0cmxSZWcgPSAwOw0KPiA+ICtCT09MRUFOIG1TbWlQb3J0Rm91 bmQgPSBGQUxTRTsNCj4gPiArVUlOVE4gbVNtaUNvbW1hbmRQb3J0ID0gMDsNCj4gPiArVUlOVDgg bUFjcGlFbmFibGUgPSAwOw0KPiA+ICsNCj4gPiAgLyoqDQo+ID4gICAgUmVzZXJ2ZSBNTUlPL0lP IHJlc291cmNlIGluIEdDRA0KPiA+ICANCj4gPiBAQCAtMTA3LDkgKzExMCw2MyBAQCBPblJlYWR5 VG9Cb290ICgNCj4gPiAgICAvLw0KPiA+ICAgIC8vIEVuYWJsZSBTQ0kNCj4gPiAgICAvLw0KPiA+ IC0gIElvT3IxNiAobVBtQ3RybFJlZywgQklUMCk7DQo+ID4gKyAgaWYgKCFtU21pUG9ydEZvdW5k KSB7DQo+ID4gKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiU01JIHBvcnQgbm90IGtub3duIHNv IGNhbiBub3QgZW5hYmxlIFNDSVxuIikpOw0KPiA+ICsgIH0gZWxzZSB7DQo+ID4gKyAgICBJb1dy aXRlOCAobVNtaUNvbW1hbmRQb3J0LCBtQWNwaUVuYWJsZSk7DQo+ID4gKyAgICBERUJVRyAoKERF QlVHX0VSUk9SLCAiRW5hYmxlIEFDUEkgYXQgMHglbHggd2l0aCAweCV4IGJlZm9yZSBib290XG4i LCAoVUlOVDY0KW1TbWlDb21tYW5kUG9ydCwgKFVJTlQzMiltQWNwaUVuYWJsZSkpOw0KPiA+ICsg IH0NCj4gPiArfQ0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAgTG9va3VwIHBvcnQgYW5kIHZhbHVl IGZvciBlbmFibGluZyBBQ1BJDQo+ID4gKw0KPiA+ICsgIEBwYXJhbVtpbl0gU3lzdGVtVGFibGUg ICAgQSBwb2ludGVyIHRvIHRoZSBFRkkgU3lzdGVtIFRhYmxlLg0KPiA+ICANCj4gPiAtICBERUJV RyAoKEVGSV9EX0VSUk9SLCAiRW5hYmxlIFNDSSBiaXQgYXQgMHglbHggYmVmb3JlIGJvb3RcbiIs IChVSU5UNjQpbVBtQ3RybFJlZykpOw0KPiA+ICsqKi8NCj4gPiArVk9JRA0KPiA+ICtGaW5kQWNw aUZhZHRUYWJsZUluZm8gKA0KPiA+ICsgIElOIEVGSV9TWVNURU1fVEFCTEUgICAqU3lzdGVtVGFi bGUNCj4gPiArICApDQo+ID4gK3sNCj4gPiArICBFRklfQUNQSV8yXzBfUk9PVF9TWVNURU1fREVT Q1JJUFRJT05fUE9JTlRFUiAgKlJzZHA7DQo+ID4gKyAgRUZJX0FDUElfREVTQ1JJUFRJT05fSEVB REVSICAgICAgICAgICAgICAgICAgICpSc2R0Ow0KPiA+ICsgIEVGSV9BQ1BJXzJfMF9GSVhFRF9B Q1BJX0RFU0NSSVBUSU9OX1RBQkxFICAgICAqRmFkdDsNCj4gPiArICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ID4gKyAgUnNkcCAgPSBOVUxM Ow0KPiA+ICsgIFJzZHQgID0gTlVMTDsNCj4gPiArICBGYWR0ICA9IE5VTEw7DQo+ID4gKw0KPiA+ ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IFN5c3RlbVRhYmxlLT5OdW1iZXJPZlRhYmxlRW50 cmllczsgSW5kZXgrKykgew0KPiA+ICsgICAgaWYgKENvbXBhcmVHdWlkICgmKFN5c3RlbVRhYmxl LT5Db25maWd1cmF0aW9uVGFibGVbSW5kZXhdLlZlbmRvckd1aWQpLCAmZ0VmaUFjcGkyMFRhYmxl R3VpZCkpIHsNCj4gPiArICAgICAgUnNkcCA9IFN5c3RlbVRhYmxlLT5Db25maWd1cmF0aW9uVGFi bGVbSW5kZXhdLlZlbmRvclRhYmxlOw0KPiA+ICsgICAgICBicmVhazsNCj4gPiArICAgIH0NCj4g PiArICB9DQo+ID4gKyAgaWYgKFJzZHAgPT0gTlVMTCkgew0KPiA+ICsgICAgcmV0dXJuOw0KPiA+ ICsgIH0NCj4gPiArDQo+ID4gKyAgUnNkdCA9IChFRklfQUNQSV9ERVNDUklQVElPTl9IRUFERVIg KikoVUlOVE4pIFJzZHAtPlJzZHRBZGRyZXNzOw0KPiA+ICsgIGlmIChSc2R0ID09IE5VTEwgfHwg UnNkdC0+U2lnbmF0dXJlICE9IEVGSV9BQ1BJXzJfMF9ST09UX1NZU1RFTV9ERVNDUklQVElPTl9U QUJMRV9TSUdOQVRVUkUpIHsNCj4gPiArICAgIHJldHVybjsNCj4gPiArICB9DQo+ID4gKyAgZm9y IChJbmRleCA9IHNpemVvZiAoRUZJX0FDUElfREVTQ1JJUFRJT05fSEVBREVSKTsgSW5kZXggPCBS c2R0LT5MZW5ndGg7IEluZGV4ID0gSW5kZXggKyBzaXplb2YgKFVJTlQzMikpIHsNCj4gPiArICAg IFVJTlQzMiBEYXRhMzIgID0gKihVSU5UMzIgKikgKChVSU5UOCAqKSBSc2R0ICsgSW5kZXgpOw0K PiA+ICsgICAgRmFkdCAgICA9IChFRklfQUNQSV8yXzBfRklYRURfQUNQSV9ERVNDUklQVElPTl9U QUJMRSAqKSAoVUlOVDMyICopIChVSU5UTikgRGF0YTMyOw0KPiA+ICsgICAgaWYgKEZhZHQtPkhl YWRlci5TaWduYXR1cmUgPT0gRUZJX0FDUElfMl8wX0ZJWEVEX0FDUElfREVTQ1JJUFRJT05fVEFC TEVfU0lHTkFUVVJFKSB7DQo+ID4gKyAgICAgIGJyZWFrOw0KPiA+ICsgICAgfQ0KPiA+ICsgIH0N Cj4gPiArDQo+ID4gKyAgaWYgKEZhZHQgPT0gTlVMTCB8fCBGYWR0LT5IZWFkZXIuU2lnbmF0dXJl ICE9IEVGSV9BQ1BJXzJfMF9GSVhFRF9BQ1BJX0RFU0NSSVBUSU9OX1RBQkxFX1NJR05BVFVSRSkg ew0KPiA+ICsgICAgcmV0dXJuOw0KPiA+ICsgIH0NCj4gPiArDQo+ID4gKyAgbVNtaVBvcnRGb3Vu ZCA9IFRSVUU7DQo+ID4gKyAgbVNtaUNvbW1hbmRQb3J0ID0gRmFkdC0+U21pQ21kOw0KPiA+ICsg IG1BY3BpRW5hYmxlID0gRmFkdC0+QWNwaUVuYWJsZTsNCj4gPiArICByZXR1cm47DQo+ID4gIH0N Cj4gPiAgDQo+ID4gIC8qKg0KPiA+IEBAIC0xMzMsNyArMTkwLDYgQEAgQ2JEeGVFbnRyeVBvaW50 ICgNCj4gPiAgICBFRklfRVZFTlQgIFJlYWR5VG9Cb290RXZlbnQ7DQo+ID4gICAgRUZJX0hPQl9H VUlEX1RZUEUgICpHdWlkSG9iOw0KPiA+ICAgIFNZU1RFTV9UQUJMRV9JTkZPICAqcFN5c3RlbVRh YmxlSW5mbzsNCj4gPiAtICBBQ1BJX0JPQVJEX0lORk8gICAgKnBBY3BpQm9hcmRJbmZvOw0KPiA+ ICAgIEZSQU1FX0JVRkZFUl9JTkZPICAqRmJJbmZvOw0KPiA+ICANCj4gPiAgICBTdGF0dXMgPSBF RklfU1VDQ0VTUzsNCj4gPiBAQCAtMTcyLDE0ICsyMjgsMTQgQEAgQ2JEeGVFbnRyeVBvaW50ICgN Cj4gPiAgICB9DQo+ID4gIA0KPiA+ICAgIC8vDQo+ID4gLSAgLy8gRmluZCB0aGUgYWNwaSBib2Fy ZCBpbmZvcm1hdGlvbiBndWlkIGhvYg0KPiA+ICsgIC8vIEZpbmQgdGhlIFNNSSBwb3J0IGluIHRo ZSBGQURUIHRhYmxlIGluIGFjcGkNCj4gPiAgICAvLw0KPiA+IC0gIEd1aWRIb2IgPSBHZXRGaXJz dEd1aWRIb2IgKCZnVWVmaUFjcGlCb2FyZEluZm9HdWlkKTsNCj4gPiAtICBBU1NFUlQgKEd1aWRI b2IgIT0gTlVMTCk7DQo+ID4gLSAgcEFjcGlCb2FyZEluZm8gPSAoQUNQSV9CT0FSRF9JTkZPICop R0VUX0dVSURfSE9CX0RBVEEgKEd1aWRIb2IpOw0KPiA+IC0NCj4gPiAtICBtUG1DdHJsUmVnID0g KFVJTlROKXBBY3BpQm9hcmRJbmZvLT5QbUN0cmxSZWdCYXNlOw0KPiA+IC0gIERFQlVHICgoRUZJ X0RfRVJST1IsICJQbUN0cmxSZWcgYXQgMHglbHhcbiIsIChVSU5UNjQpbVBtQ3RybFJlZykpOw0K PiA+ICsgIEZpbmRBY3BpRmFkdFRhYmxlSW5mbyhTeXN0ZW1UYWJsZSk7DQo+ID4gKyAgaWYgKG1T bWlQb3J0Rm91bmQpIHsNCj4gPiArICAgIERFQlVHICgoREVCVUdfRVJST1IsICJGb3VuZCBBQ1BJ IGVuYWJsZSBpbmZvIGluIEZBRFQ6IDB4JWx4IDB4JXhcbiIsIChVSU5UNjQpbVNtaUNvbW1hbmRQ b3J0LCAoVUlOVDMyKW1BY3BpRW5hYmxlKSk7DQo+ID4gKyAgfSBlbHNlIHsNCj4gPiArICAgIERF QlVHICgoREVCVUdfRVJST1IsICJGYWlsZWQgdG8gZmluZCBGQURUIGluZm8gZm9yIGVuYWJsaW5n IEFDUElcbiIpKTsNCj4gPiArICB9DQo+ID4gIA0KPiA+ICAgIC8vDQo+ID4gICAgLy8gRmluZCB0 aGUgZnJhbWUgYnVmZmVyIGluZm9ybWF0aW9uIGFuZCB1cGRhdGUgUENEcw0KPiA+IEBAIC0yMTIs NCArMjY4LDMgQEAgQ2JEeGVFbnRyeVBvaW50ICgNCj4gPiAgDQo+ID4gICAgcmV0dXJuIEVGSV9T VUNDRVNTOw0KPiA+ICB9DQo+ID4gLQ0KPiA+IGRpZmYgLS1naXQgYS9Db3JlYm9vdE1vZHVsZVBr Zy9DYlN1cHBvcnREeGUvQ2JTdXBwb3J0RHhlLmluZiBiL0NvcmVib290TW9kdWxlUGtnL0NiU3Vw cG9ydER4ZS9DYlN1cHBvcnREeGUuaW5mDQo+ID4gaW5kZXggOTkyNDUxODNlYS4uZTMzNGRhZmRi NyAxMDA2NDQNCj4gPiAtLS0gYS9Db3JlYm9vdE1vZHVsZVBrZy9DYlN1cHBvcnREeGUvQ2JTdXBw b3J0RHhlLmluZg0KPiA+ICsrKyBiL0NvcmVib290TW9kdWxlUGtnL0NiU3VwcG9ydER4ZS9DYlN1 cHBvcnREeGUuaW5mDQo+ID4gQEAgLTUxLDYgKzUxLDcgQEANCj4gPiAgDQo+ID4gIFtHdWlkc10N Cj4gPiAgICBnRWZpQWNwaVRhYmxlR3VpZA0KPiA+ICsgIGdFZmlBY3BpMjBUYWJsZUd1aWQNCj4g PiAgICBnRWZpU21iaW9zVGFibGVHdWlkDQo+ID4gICAgZ1VlZmlTeXN0ZW1UYWJsZUluZm9HdWlk DQo+ID4gICAgZ1VlZmlBY3BpQm9hcmRJbmZvR3VpZA0KPiA+IC0tIA0KPiA+IDIuMTcuMC45MjEu Z2YyMjY1OWFkNDYtZ29vZw0KDQo=