From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=benjamin.you@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (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 A1289210E0F94 for ; Thu, 31 May 2018 19:34:06 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 May 2018 19:34:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,464,1520924400"; d="scan'208";a="55635198" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga003.jf.intel.com with ESMTP; 31 May 2018 19:34:05 -0700 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 31 May 2018 19:34:05 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx120.amr.corp.intel.com (10.18.124.208) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 31 May 2018 19:34:04 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.51]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.82]) with mapi id 14.03.0319.002; Fri, 1 Jun 2018 10:34:02 +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+rACAAbLGMIAAvaQAgAC0JUD//5PygIAAiEsA Date: Fri, 1 Jun 2018 02:34:01 +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: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYTQ1Yzg3MmEtNGU3Ni00ZGY4LTk1ODMtODkyYzU1NTBhMThjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiYXhPS1NSbTRCYkVFS1N2WjErVDhpXC9mcjlhT2NwcjlrNXp6VHUzK05CTFQ0bnRLQ3AwNVpcL1RldGVqWFRpSDk4In0= 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: Fri, 01 Jun 2018 02:34:07 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWF0dCwNCg0KU3VyZS4gSSB3aWxsIHByZXBhcmUgYSBwYXRjaCBmb3IgdGhpcy4NCg0KVGhh bmtzLA0KDQotIGJlbg0KDQo+IEZyb206IE1hdHQgRGVsY28gW21haWx0bzpkZWxjb0Bnb29nbGUu Y29tXSANCj4gU2VudDogRnJpZGF5LCBKdW5lIDEsIDIwMTggMTA6MTMgQU0NCj4gVG86IFlvdSwg QmVuamFtaW4gPGJlbmphbWluLnlvdUBpbnRlbC5jb20+DQo+IENjOiBlZGsyLWRldmVsQGxpc3Rz LjAxLm9yZzsgTWEsIE1hdXJpY2UgPG1hdXJpY2UubWFAaW50ZWwuY29tPjsgQWd5ZW1hbiwgUHJp bmNlIDxwcmluY2UuYWd5ZW1hbkBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIENv cmVib290TW9kdWxlUGtnL0NiU3VwcG9ydER4ZTogRW5hYmxlIEFDUEkgdmlhIGNtZCByZWdpc3Rl cg0KPiANCj4gTm9ybWFsbHkgSSB3b3VsZCBwcm92aWRlIGEgcGF0Y2gsIGJ1dCBJJ20gbm90IHN1 cmUgSSdkIGFkZCBjb3JyZWN0bHkgYWRkIHRoZSBjaGVja3MgdGhhdCB3ZXJlIHByb3Bvc2VkIGZv ciBDYlBhcnNlRmFkdEluZm8oKS4gIEknZCBhbHNvIGhhdmUgdG8gZ28gdGhyb3VnaCBhbiBjb21w YW55LWludGVybmFsIHJldmlldyBwcm9jZXNzIHJlZ2FyZGluZyBlZGsyJ3MgY29udHJpYnV0b3Ig bGljZW5zZSBhZ3JlZW1lbnQgKEkgaW5jb3JyZWN0bHkgYXNzdW1lZCB0aGlzIGhhZCBhbHJlYWR5 IGJlZW4gZG9uZSB3aGVuIEkgcHJvdmlkZWQgdGhlIGluaXRpYWwgcGF0Y2gpLiAgVGhpcyByZXZp ZXcgbWlnaHQgcmVxdWlyZSB0aGF0IEkgcGxhY2UgYW4gYXBhY2hlMiBsaWNlbnNlIGFuZCBjb21w YW55IGNvcHlyaWdodCBvbiBwYXRjaCBjb250cmlidXRpb25zLCBhbmQgSSdkIGZlZWwgcmVhbGx5 IG9kZCBhYm91dCBwcm92aWRpbmcgYSBwYXRjaCB0aGF0IGFkZGVkIGEgbGljZW5zZSBidXQgb3Ro ZXJ3aXNlIG1lcmVseSBkZWxldGVkIHRoZSBsaW5lcyB0aGF0IG1vZGlmeSB0aGUgcmVnaXN0ZXIu ICBTbywgZm9yIHRoaXMgcGFydGljdWxhciBpc3N1ZSBpdCBtaWdodCBiZSBjbGVhbmVyLCBmYXN0 ZXIsIGFuZCBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCBpZiBJIGRpZG4ndCBwcm92aWRlIGEgcGF0Y2gu DQo+IA0KPiA+IE9uIFRodSwgTWF5IDMxLCAyMDE4IGF0IDU6NDQgUE0sIFlvdSwgQmVuamFtaW4g PGJlbmphbWluLnlvdUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+IEhpLCBNYXR0LA0KPiA+IA0KPiA+ IFRoYW5rcy4gV291bGQgeW91IGxpa2UgdG8gcHJvdmlkZSBhbiB1cGRhdGVkIHBhdGNoPw0KPiA+ IA0KPiA+IFRoYW5rcywNCj4gPiANCj4gPiAtIGJlbg0KPiA+IA0KPiA+ID4gRnJvbTogTWF0dCBE ZWxjbyBbbWFpbHRvOmRlbGNvQGdvb2dsZS5jb21dIA0KPiA+ID4gU2VudDogRnJpZGF5LCBKdW5l IDEsIDIwMTggNTo1NSBBTQ0KPiA+ID4gVG86IFlvdSwgQmVuamFtaW4gPGJlbmphbWluLnlvdUBp bnRlbC5jb20+DQo+ID4gPiBDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7IE1hLCBNYXVyaWNl IDxtYXVyaWNlLm1hQGludGVsLmNvbT47IEFneWVtYW4sIFByaW5jZSA8cHJpbmNlLmFneWVtYW5A aW50ZWwuY29tPg0KPiA+ID4gU3ViamVjdDogUmU6IFtQQVRDSF0gQ29yZWJvb3RNb2R1bGVQa2cv Q2JTdXBwb3J0RHhlOiBFbmFibGUgQUNQSSB2aWEgY21kIHJlZ2lzdGVyDQo+ID4gPiANCj4gPiA+ IEhpLA0KPiA+ID4gDQo+ID4gPiBJIGNvbW1lbnRlZCBvdXQgdGhlIGJvZHkgb2YgT25SZWFkeVRv Qm9vdCgpIGFuZCB0aGUgcmVzdWx0IGlzIGFzIGV4cGVjdGVkIChpLmUuLCBBQ1BJIGV2ZW50cyBh cmUgc3RpbGwgcmVjZWl2ZWQsIHByZXN1bWFibHkgYmVjYXVzZSB0aGUgT1MgZW5hYmxlZCBBQ1BJ IGZvciBpdHNlbGYpLg0KPiA+ID4gDQo+ID4gPiA+IE9uIFdlZCwgTWF5IDMwLCAyMDE4IGF0IDc6 NTIgUE0sIFlvdSwgQmVuamFtaW4gPGJlbmphbWluLnlvdUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+ ID4gPiBIaSwgTWF0dCwNCj4gPiA+ID4gDQo+ID4gPiA+IFRoZSBvcmlnaW5hbCBTQ0lfRU4gc2V0 dGluZyBjb2RlIHdhcyBhZGRlZCB0byBjb3ZlciBzb21lIGVhcmx5IGJ1Z2d5IA0KPiA+ID4gPiBm aXJtd2FyZSBpbXBsZW1lbnRhdGlvbiB0aGF0IGZhaWxzIHRvIGVuYWJsZSBTTU0sIGFuZC9vciBm YWlscyB0byBmaWxsIEZBRFQgDQo+ID4gPiA+IHByb3Blcmx5LCBhbmQgc3RpbGwgbmVlZHMgYW4g U0NJX0VOIHRvIHRyYW5zaXRpb24gdG8gQUNQSSBtb2RlLg0KPiA+ID4gPiANCj4gPiA+ID4gSG93 ZXZlciwgYXMgeW91IHBvaW50ZWQgb3V0LCBzZXR0aW5nIGl0IGluIFBheWxvYWQgaXMgbm90IHRo ZSBjb3JyZWN0IHdheQ0KPiA+ID4gPiAgdG8gYWRkcmVzcyB0aGUgaXNzdWUsIHdoaWNoIGFsc28g aGFzIHNvbWUgc2lkZSBlZmZlY3RzIGFzIGluIHlvdXIgY2FzZS4gDQo+ID4gPiA+IEluc3RlYWQs IFBheWxvYWQgc2hvdWxkIG91dHB1dCBzb21lIHJlbWluZGluZyBtZXNzYWdlIHRvIGRldmVsb3Bl ciB0byBmaXggDQo+ID4gPiA+IHRoZSBmaXJtd2FyZSB0aGF0IHJ1bnMgYmVmb3JlIFBheWxvYWQu DQo+ID4gPiA+IA0KPiA+ID4gPiBUaGFua3MsDQo+ID4gPiA+IA0KPiA+ID4gPiAtIGJlbg0KPiA+ ID4gPiANCj4gPiA+ID4gPiBGcm9tOiBNYXR0IERlbGNvIFttYWlsdG86ZGVsY29AZ29vZ2xlLmNv bV0gDQo+ID4gPiA+ID4gU2VudDogV2VkbmVzZGF5LCBNYXkgMzAsIDIwMTggNDo0MCBQTQ0KPiA+ ID4gPiA+IFRvOiBZb3UsIEJlbmphbWluIDxiZW5qYW1pbi55b3VAaW50ZWwuY29tPg0KPiA+ID4g PiA+IENjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsgTWEsIE1hdXJpY2UgPG1hdXJpY2UubWFA aW50ZWwuY29tPjsgQWd5ZW1hbiwgUHJpbmNlIDxwcmluY2UuYWd5ZW1hbkBpbnRlbC5jb20+DQo+ ID4gPiA+ID4gU3ViamVjdDogUmU6IFtQQVRDSF0gQ29yZWJvb3RNb2R1bGVQa2cvQ2JTdXBwb3J0 RHhlOiBFbmFibGUgQUNQSSB2aWEgY21kIHJlZ2lzdGVyDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4g SGksIHRoYW5rcyBmb3IgdGFraW5nIGEgbG9vay4gIEkgYWdyZWUgdGhhdCB0aGlzIHNlZW1zIGxp a2UgdGhlIE9TJ3MgcmVzcG9uc2liaWxpdHkgdG8gZW5hYmxlIEFDUEkgYW5kIEkgd2FzIHRlbXB0 ZWQgdG8ganVzdCByZW1vdmUgdGhlIHNldHRpbmcgb2YgU0NJX0VOLiAgSG93ZXZlciwgSSBmaWd1 cmVkIHRoYXQgdGhlcmUgd2FzIGxpa2VseSBhIHJlYXNvbiB0aGF0IHNvbWVvbmUgYm90aGVyZWQg dG8gYWRkIHRoZSBmdW5jdGlvbiBpbiB0aGUgZmlyc3QgcGxhY2Ugc28gSSB3ZW50IHdpdGggd2hh dCBzZWVtZWQgbGlrZSB0aGUgbW9yZSBjb25zZXJ2YXRpdmUgZml4LiAgSSBjYW4gdHJ5IHRlc3Rp bmcgdGhlIHJlbW92YWwgb2YgU0NJX0VOIHRob3VnaCBJJ2xsIGxpa2VseSBiZSBhdCBhIHJlbW90 ZSBvZmZpY2UgZm9yIHRoZSBuZXh0IDIgZGF5cyBzbyBpdCBtYXkgYmUgMyBvciBtb3JlIGRheXMg YmVmb3JlIEkgY2FuIHVwZGF0ZSB0aGUgZmxhc2ggb24gdGhlIHBsYXRmb3JtIHRvIHBlcmZvcm0g dGhlIGV4cGVyaW1lbnQuDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gT24gV2VkLCBNYXkgMzAsIDIw MTggYXQgMToyNyBBTSwgWW91LCBCZW5qYW1pbiA8YmVuamFtaW4ueW91QGludGVsLmNvbT4gd3Jv dGU6DQo+ID4gPiA+ID4gSGkgTWF0dCwNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBUaGlzIGlzIGlu ZGVlZCBhIGJ1Zy4gVGhlIFBheWxvYWQgc2hvdWxkIG5vdCBzZXQgdGhlIFNDSV9FTiBiaXQuIA0K PiA+ID4gPiA+IA0KPiA+ID4gPiA+IEhvd2V2ZXIsIHRoZSBQYXlsb2FkIHNob3VsZCBub3QgdHJp Z2dlciBhbiBTTUkgZWl0aGVyLiBJdCBpcyBPUydzIA0KPiA+ID4gPiA+IHJlc3BvbnNpYmlsaXR5 IHRvIGVuYWJsZSBBQ1BJIGJ5IGZvbGxvd2luZyBGQURUJ3MgaW5zdHJ1Y3Rpb24gdG8gd3JpdGUg DQo+ID4gPiA+ID4gc29tZSB2YWx1ZSB0byBzb21lIHBvcnQuDQo+ID4gPiA+ID4gDQo+ID4gPiA+ ID4gV2UgdGhpbmsgYSBiZXR0ZXIgZml4IG1pZ2h0IGJlOg0KPiA+ID4gPiA+IDEpIFJlbW92ZSB0 aGUgU0NJX0VOIHNldHRpbmcgY29kZSBpbiBSZWFkeVRvQm9vdCBldmVudCBoYW5kbGVyLA0KPiA+ ID4gPiA+IDIpIEFkZCBzb21lIGNoZWNraW5nIGluIENiUGFyc2VGYWR0SW5mbygpIGluIENiUGFy c2VMaWIuYyB0byBvdXRwdXQgc29tZSANCj4gPiA+ID4gPiAgICB3YXJuaW5nIG1lc3NhZ2UgYW5k IEFTU0VSVCAoRkFMU0UpIGlmIEFMTCBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgDQo+ID4g PiA+ID4gICAgYXJlIG1ldDoNCj4gPiA+ID4gPiAgICAtIEhBUkRXQVJFX1JFRFVDRURfQUNQSSBp cyBub3Qgc2V0DQo+ID4gPiA+ID4gICAgLSBTTUlfQ01EIGZpZWxkIGlzIHplcm8gKGluZGljYXRp bmcgbm8gbmVlZCB0byBzd2l0Y2ggbW9kZSwgaGVuY2UgDQo+ID4gPiA+ID4gICAgICB0aGUgcGxh dGZvcm0gYmVpbmcgaW4gQUNQSSBtb2RlKQ0KPiA+ID4gPiA+ICAgIC0gU0NJX0VOIGJpdCBpcyB6 ZXJvIChpbmRpY2F0aW5nIG5vdCBpbiBBQ1BJIG1vZGUpDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4g SXRlbSAyKSBhYm92ZSBpcyB0byByZW1pbmQgdGhlIGRldmVsb3BlciB0aGF0IGluIHRoaXMgY2Fz ZSwgdGhlcmUgbWF5IGJlIGEgDQo+ID4gPiA+ID4gYnVnIGluIHRoZSBmaXJtd2FyZSB0aGF0IHJ1 bnMgYmVmb3JlIHRoZSBQYXlsb2FkLg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IENvdWxkIHlvdSBw bGVhc2UgdHJ5IG9uIHlvdXIgcGxhdGZvcm0gdG8gY29tcGxldGVseSByZW1vdmUgdGhlIFNDSV9F TiANCj4gPiA+ID4gPiBzZXR0aW5nIGNvZGUgaW4gUmVhZFRvQm9vdCBldmVudCBoYW5kbGVyLCBh bmQgc2VlIGlmIGl0IHdvcmtzIHByb3Blcmx5IA0KPiA+ID4gPiA+IChlLmcuLCBBQ1BJIGV2ZW50 cyBkZWxpdmVyZWQgY29ycmVjdGx5KT8NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBUaGFua3MsDQo+ ID4gPiA+ID4gDQo+ID4gPiA+ID4gLSBiZW4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiBGcm9tOiBNYXR0IERlbGNvIFttYWls dG86ZGVsY29AZ29vZ2xlLmNvbV0gDQo+ID4gPiA+ID4gPiBTZW50OiBNb25kYXksIE1heSAyOCwg MjAxOCA1OjU3IEFNDQo+ID4gPiA+ID4gPiBUbzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4g PiA+ID4gPiA+IENjOiBNYSwgTWF1cmljZSA8bWF1cmljZS5tYUBpbnRlbC5jb20+OyBBZ3llbWFu LCBQcmluY2UgPHByaW5jZS5hZ3llbWFuQGludGVsLmNvbT47IFlvdSwgQmVuamFtaW4gPGJlbmph bWluLnlvdUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBTdWJqZWN0OiBbUEFUQ0hdIENvcmVib290 TW9kdWxlUGtnL0NiU3VwcG9ydER4ZTogRW5hYmxlIEFDUEkgdmlhIGNtZCByZWdpc3Rlcg0KPiA+ ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBUaGUgZXhpc3RpbmcgY29kZSBzZXRzIHRoZSBTQ0lfRU4g Yml0IGRpcmVjdGx5LCB3aGljaCBpcyBhIHZpb2xhdGlvbg0KPiA+ID4gPiA+ID4gb2YgdGhlIEFD UEkgc3BlYyAoIkl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgaGFyZHdhcmUgdG8gc2V0 IG9yDQo+ID4gPiA+ID4gPiByZXNldCB0aGlzIGJpdC4gT1NQTSBhbHdheXMgcHJlc2VydmVzIHRo aXMgYml0IHBvc2l0aW9uIikuIFRoZSBwcm9wZXINCj4gPiA+ID4gPiA+IHdheSB0byBjYXVzZSB0 aGlzIGJpdCB0byBiaXQgc2V0IGlzIHRvIHJlZmVyZW5jZSB0aGUgRkFEVCB0YWJsZSBhbmQNCj4g PiA+ID4gPiA+IHdyaXRlIHRoZSB2YWx1ZSBvZiBBQ1BJX0VOQUJMRSB0byBTTUlfQ01ELiAgVGhl IFNNSSB3aWxsIGluIHR1cm4gc2V0DQo+ID4gPiA+ID4gPiB0aGUgU0NJX0VOIGJpdC4NCj4gPiA+ ID4gPiA+IA0KPiA+ID4gPiA+ID4gUHJpb3IgdG8gdGhpcyBjaGFuZ2UgQUNQSSBldmVudHMgd2Vy ZSBub3QgYmVpbmcgZGVsaXZlcmVkIGJlY2F1c2UNCj4gPiA+ID4gPiA+IEFDUEkgd2FzIG5vdCBw cm9wZXJseSBlbmFibGVkIGFuZCB0aGUgT1MgYWxzbyBkaWQgbm90IGF0dGVtcHQNCj4gPiA+ID4g PiA+IHRvIGVuYWJsZSBBQ1BJIHNpbmNlIGl0IHNlZXMgdGhhdCBTQ0lfRU4gaXMgYWxyZWFkeSBz ZXQuICBBZnRlciB0aGlzDQo+ID4gPiA+ID4gPiBjaGFuZ2UgSSBvYnNlcnZlZCB0aGF0IEFDUEkg ZXZlbnRzIHdlcmUgbm93IGJlaW5nIGRlbGl2ZXJlZCBwcm9wZXJseS4NCj4gPiA+ID4gPiA+IA0K PiA+ID4gPiA+ID4gQ2M6IE1hdXJpY2UgTWEgPG1hdXJpY2UubWFAaW50ZWwuY29tPg0KPiA+ID4g PiA+ID4gQ2M6IFByaW5jZSBBZ3llbWFuIDxwcmluY2UuYWd5ZW1hbkBpbnRlbC5jb20+DQo+ID4g PiA+ID4gPiBDYzogQmVuamFtaW4gWW91IDxiZW5qYW1pbi55b3VAaW50ZWwuY29tPg0KPiA+ID4g PiA+ID4gDQo+ID4gPiA+ID4gPiBDb250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1 dGlvbiBBZ3JlZW1lbnQgMS4wDQo+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBNYXR0IERlbGNv IDxkZWxjb0Bnb29nbGUuY29tPg0KPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiAgQ29yZWJv b3RNb2R1bGVQa2cvQ2JTdXBwb3J0RHhlL0NiU3VwcG9ydER4ZS5jIHwgNzkgKysrKysrKysrKysr KysrKy0tLQ0KPiA+ID4gPiA+ID4gIC4uLi9DYlN1cHBvcnREeGUvQ2JTdXBwb3J0RHhlLmluZiAg ICAgICAgICAgICB8ICAxICsNCj4gPiA+ID4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDY4IGluc2Vy dGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBkaWZm IC0tZ2l0IGEvQ29yZWJvb3RNb2R1bGVQa2cvQ2JTdXBwb3J0RHhlL0NiU3VwcG9ydER4ZS5jIGIv Q29yZWJvb3RNb2R1bGVQa2cvQ2JTdXBwb3J0RHhlL0NiU3VwcG9ydER4ZS5jDQo+ID4gPiA+ID4g PiBpbmRleCBjNTI2YzllODcxLi40Yzc5MTdmZjJhIDEwMDc1NQ0KPiA+ID4gPiA+ID4gLS0tIGEv Q29yZWJvb3RNb2R1bGVQa2cvQ2JTdXBwb3J0RHhlL0NiU3VwcG9ydER4ZS5jDQo+ID4gPiA+ID4g PiArKysgYi9Db3JlYm9vdE1vZHVsZVBrZy9DYlN1cHBvcnREeGUvQ2JTdXBwb3J0RHhlLmMNCj4g PiA+ID4gPiA+IEBAIC0xNCw3ICsxNCwxMCBAQA0KPiA+ID4gPiA+ID4gICoqLw0KPiA+ID4gPiA+ ID4gICNpbmNsdWRlICJDYlN1cHBvcnREeGUuaCINCj4gPiA+ID4gPiA+ICANCj4gPiA+ID4gPiA+ IC1VSU5UTiBtUG1DdHJsUmVnID0gMDsNCj4gPiA+ID4gPiA+ICtCT09MRUFOIG1TbWlQb3J0Rm91 bmQgPSBGQUxTRTsNCj4gPiA+ID4gPiA+ICtVSU5UTiBtU21pQ29tbWFuZFBvcnQgPSAwOw0KPiA+ ID4gPiA+ID4gK1VJTlQ4IG1BY3BpRW5hYmxlID0gMDsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4g PiA+ICAvKioNCj4gPiA+ID4gPiA+ICAgIFJlc2VydmUgTU1JTy9JTyByZXNvdXJjZSBpbiBHQ0QN Cj4gPiA+ID4gPiA+ICANCj4gPiA+ID4gPiA+IEBAIC0xMDcsOSArMTEwLDYzIEBAIE9uUmVhZHlU b0Jvb3QgKA0KPiA+ID4gPiA+ID4gICAgLy8NCj4gPiA+ID4gPiA+ICAgIC8vIEVuYWJsZSBTQ0kN Cj4gPiA+ID4gPiA+ICAgIC8vDQo+ID4gPiA+ID4gPiAtICBJb09yMTYgKG1QbUN0cmxSZWcsIEJJ VDApOw0KPiA+ID4gPiA+ID4gKyAgaWYgKCFtU21pUG9ydEZvdW5kKSB7DQo+ID4gPiA+ID4gPiAr ICAgIERFQlVHICgoREVCVUdfRVJST1IsICJTTUkgcG9ydCBub3Qga25vd24gc28gY2FuIG5vdCBl bmFibGUgU0NJXG4iKSk7DQo+ID4gPiA+ID4gPiArICB9IGVsc2Ugew0KPiA+ID4gPiA+ID4gKyAg ICBJb1dyaXRlOCAobVNtaUNvbW1hbmRQb3J0LCBtQWNwaUVuYWJsZSk7DQo+ID4gPiA+ID4gPiAr ICAgIERFQlVHICgoREVCVUdfRVJST1IsICJFbmFibGUgQUNQSSBhdCAweCVseCB3aXRoIDB4JXgg YmVmb3JlIGJvb3RcbiIsIChVSU5UNjQpbVNtaUNvbW1hbmRQb3J0LCAoVUlOVDMyKW1BY3BpRW5h YmxlKSk7DQo+ID4gPiA+ID4gPiArICB9DQo+ID4gPiA+ID4gPiArfQ0KPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4gKy8qKg0KPiA+ID4gPiA+ID4gKyAgTG9va3VwIHBvcnQgYW5kIHZhbHVlIGZv ciBlbmFibGluZyBBQ1BJDQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICBAcGFyYW1baW5d IFN5c3RlbVRhYmxlICAgIEEgcG9pbnRlciB0byB0aGUgRUZJIFN5c3RlbSBUYWJsZS4NCj4gPiA+ ID4gPiA+ICANCj4gPiA+ID4gPiA+IC0gIERFQlVHICgoRUZJX0RfRVJST1IsICJFbmFibGUgU0NJ IGJpdCBhdCAweCVseCBiZWZvcmUgYm9vdFxuIiwgKFVJTlQ2NCltUG1DdHJsUmVnKSk7DQo+ID4g PiA+ID4gPiArKiovDQo+ID4gPiA+ID4gPiArVk9JRA0KPiA+ID4gPiA+ID4gK0ZpbmRBY3BpRmFk dFRhYmxlSW5mbyAoDQo+ID4gPiA+ID4gPiArICBJTiBFRklfU1lTVEVNX1RBQkxFICAgKlN5c3Rl bVRhYmxlDQo+ID4gPiA+ID4gPiArICApDQo+ID4gPiA+ID4gPiArew0KPiA+ID4gPiA+ID4gKyAg RUZJX0FDUElfMl8wX1JPT1RfU1lTVEVNX0RFU0NSSVBUSU9OX1BPSU5URVIgICpSc2RwOw0KPiA+ ID4gPiA+ID4gKyAgRUZJX0FDUElfREVTQ1JJUFRJT05fSEVBREVSICAgICAgICAgICAgICAgICAg ICpSc2R0Ow0KPiA+ID4gPiA+ID4gKyAgRUZJX0FDUElfMl8wX0ZJWEVEX0FDUElfREVTQ1JJUFRJ T05fVEFCTEUgICAgICpGYWR0Ow0KPiA+ID4gPiA+ID4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiA+ID4gPiA+ID4gKyAgUnNkcCAgPSBO VUxMOw0KPiA+ID4gPiA+ID4gKyAgUnNkdCAgPSBOVUxMOw0KPiA+ID4gPiA+ID4gKyAgRmFkdCAg PSBOVUxMOw0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAgZm9yIChJbmRleCA9IDA7IElu ZGV4IDwgU3lzdGVtVGFibGUtPk51bWJlck9mVGFibGVFbnRyaWVzOyBJbmRleCsrKSB7DQo+ID4g PiA+ID4gPiArICAgIGlmIChDb21wYXJlR3VpZCAoJihTeXN0ZW1UYWJsZS0+Q29uZmlndXJhdGlv blRhYmxlW0luZGV4XS5WZW5kb3JHdWlkKSwgJmdFZmlBY3BpMjBUYWJsZUd1aWQpKSB7DQo+ID4g PiA+ID4gPiArICAgICAgUnNkcCA9IFN5c3RlbVRhYmxlLT5Db25maWd1cmF0aW9uVGFibGVbSW5k ZXhdLlZlbmRvclRhYmxlOw0KPiA+ID4gPiA+ID4gKyAgICAgIGJyZWFrOw0KPiA+ID4gPiA+ID4g KyAgICB9DQo+ID4gPiA+ID4gPiArICB9DQo+ID4gPiA+ID4gPiArICBpZiAoUnNkcCA9PSBOVUxM KSB7DQo+ID4gPiA+ID4gPiArICAgIHJldHVybjsNCj4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4g PiA+ICsNCj4gPiA+ID4gPiA+ICsgIFJzZHQgPSAoRUZJX0FDUElfREVTQ1JJUFRJT05fSEVBREVS ICopKFVJTlROKSBSc2RwLT5Sc2R0QWRkcmVzczsNCj4gPiA+ID4gPiA+ICsgIGlmIChSc2R0ID09 IE5VTEwgfHwgUnNkdC0+U2lnbmF0dXJlICE9IEVGSV9BQ1BJXzJfMF9ST09UX1NZU1RFTV9ERVND UklQVElPTl9UQUJMRV9TSUdOQVRVUkUpIHsNCj4gPiA+ID4gPiA+ICsgICAgcmV0dXJuOw0KPiA+ ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+ID4gKyAgZm9yIChJbmRleCA9IHNpemVvZiAoRUZJX0FD UElfREVTQ1JJUFRJT05fSEVBREVSKTsgSW5kZXggPCBSc2R0LT5MZW5ndGg7IEluZGV4ID0gSW5k ZXggKyBzaXplb2YgKFVJTlQzMikpIHsNCj4gPiA+ID4gPiA+ICsgICAgVUlOVDMyIERhdGEzMiAg PSAqKFVJTlQzMiAqKSAoKFVJTlQ4ICopIFJzZHQgKyBJbmRleCk7DQo+ID4gPiA+ID4gPiArICAg IEZhZHQgICAgPSAoRUZJX0FDUElfMl8wX0ZJWEVEX0FDUElfREVTQ1JJUFRJT05fVEFCTEUgKikg KFVJTlQzMiAqKSAoVUlOVE4pIERhdGEzMjsNCj4gPiA+ID4gPiA+ICsgICAgaWYgKEZhZHQtPkhl YWRlci5TaWduYXR1cmUgPT0gRUZJX0FDUElfMl8wX0ZJWEVEX0FDUElfREVTQ1JJUFRJT05fVEFC TEVfU0lHTkFUVVJFKSB7DQo+ID4gPiA+ID4gPiArICAgICAgYnJlYWs7DQo+ID4gPiA+ID4gPiAr ICAgIH0NCj4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgIGlm IChGYWR0ID09IE5VTEwgfHwgRmFkdC0+SGVhZGVyLlNpZ25hdHVyZSAhPSBFRklfQUNQSV8yXzBf RklYRURfQUNQSV9ERVNDUklQVElPTl9UQUJMRV9TSUdOQVRVUkUpIHsNCj4gPiA+ID4gPiA+ICsg ICAgcmV0dXJuOw0KPiA+ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4g KyAgbVNtaVBvcnRGb3VuZCA9IFRSVUU7DQo+ID4gPiA+ID4gPiArICBtU21pQ29tbWFuZFBvcnQg PSBGYWR0LT5TbWlDbWQ7DQo+ID4gPiA+ID4gPiArICBtQWNwaUVuYWJsZSA9IEZhZHQtPkFjcGlF bmFibGU7DQo+ID4gPiA+ID4gPiArICByZXR1cm47DQo+ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ ID4gIA0KPiA+ID4gPiA+ID4gIC8qKg0KPiA+ID4gPiA+ID4gQEAgLTEzMyw3ICsxOTAsNiBAQCBD YkR4ZUVudHJ5UG9pbnQgKA0KPiA+ID4gPiA+ID4gICAgRUZJX0VWRU5UICBSZWFkeVRvQm9vdEV2 ZW50Ow0KPiA+ID4gPiA+ID4gICAgRUZJX0hPQl9HVUlEX1RZUEUgICpHdWlkSG9iOw0KPiA+ID4g PiA+ID4gICAgU1lTVEVNX1RBQkxFX0lORk8gICpwU3lzdGVtVGFibGVJbmZvOw0KPiA+ID4gPiA+ ID4gLSAgQUNQSV9CT0FSRF9JTkZPICAgICpwQWNwaUJvYXJkSW5mbzsNCj4gPiA+ID4gPiA+ICAg IEZSQU1FX0JVRkZFUl9JTkZPICAqRmJJbmZvOw0KPiA+ID4gPiA+ID4gIA0KPiA+ID4gPiA+ID4g ICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ID4gPiA+ID4gPiBAQCAtMTcyLDE0ICsyMjgsMTQg QEAgQ2JEeGVFbnRyeVBvaW50ICgNCj4gPiA+ID4gPiA+ICAgIH0NCj4gPiA+ID4gPiA+ICANCj4g PiA+ID4gPiA+ICAgIC8vDQo+ID4gPiA+ID4gPiAtICAvLyBGaW5kIHRoZSBhY3BpIGJvYXJkIGlu Zm9ybWF0aW9uIGd1aWQgaG9iDQo+ID4gPiA+ID4gPiArICAvLyBGaW5kIHRoZSBTTUkgcG9ydCBp biB0aGUgRkFEVCB0YWJsZSBpbiBhY3BpDQo+ID4gPiA+ID4gPiAgICAvLw0KPiA+ID4gPiA+ID4g LSAgR3VpZEhvYiA9IEdldEZpcnN0R3VpZEhvYiAoJmdVZWZpQWNwaUJvYXJkSW5mb0d1aWQpOw0K PiA+ID4gPiA+ID4gLSAgQVNTRVJUIChHdWlkSG9iICE9IE5VTEwpOw0KPiA+ID4gPiA+ID4gLSAg cEFjcGlCb2FyZEluZm8gPSAoQUNQSV9CT0FSRF9JTkZPICopR0VUX0dVSURfSE9CX0RBVEEgKEd1 aWRIb2IpOw0KPiA+ID4gPiA+ID4gLQ0KPiA+ID4gPiA+ID4gLSAgbVBtQ3RybFJlZyA9IChVSU5U TilwQWNwaUJvYXJkSW5mby0+UG1DdHJsUmVnQmFzZTsNCj4gPiA+ID4gPiA+IC0gIERFQlVHICgo RUZJX0RfRVJST1IsICJQbUN0cmxSZWcgYXQgMHglbHhcbiIsIChVSU5UNjQpbVBtQ3RybFJlZykp Ow0KPiA+ID4gPiA+ID4gKyAgRmluZEFjcGlGYWR0VGFibGVJbmZvKFN5c3RlbVRhYmxlKTsNCj4g PiA+ID4gPiA+ICsgIGlmIChtU21pUG9ydEZvdW5kKSB7DQo+ID4gPiA+ID4gPiArICAgIERFQlVH ICgoREVCVUdfRVJST1IsICJGb3VuZCBBQ1BJIGVuYWJsZSBpbmZvIGluIEZBRFQ6IDB4JWx4IDB4 JXhcbiIsIChVSU5UNjQpbVNtaUNvbW1hbmRQb3J0LCAoVUlOVDMyKW1BY3BpRW5hYmxlKSk7DQo+ ID4gPiA+ID4gPiArICB9IGVsc2Ugew0KPiA+ID4gPiA+ID4gKyAgICBERUJVRyAoKERFQlVHX0VS Uk9SLCAiRmFpbGVkIHRvIGZpbmQgRkFEVCBpbmZvIGZvciBlbmFibGluZyBBQ1BJXG4iKSk7DQo+ ID4gPiA+ID4gPiArICB9DQo+ID4gPiA+ID4gPiAgDQo+ID4gPiA+ID4gPiAgICAvLw0KPiA+ID4g PiA+ID4gICAgLy8gRmluZCB0aGUgZnJhbWUgYnVmZmVyIGluZm9ybWF0aW9uIGFuZCB1cGRhdGUg UENEcw0KPiA+ID4gPiA+ID4gQEAgLTIxMiw0ICsyNjgsMyBAQCBDYkR4ZUVudHJ5UG9pbnQgKA0K PiA+ID4gPiA+ID4gIA0KPiA+ID4gPiA+ID4gICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiA+ID4g PiA+ID4gIH0NCj4gPiA+ID4gPiA+IC0NCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9Db3JlYm9v dE1vZHVsZVBrZy9DYlN1cHBvcnREeGUvQ2JTdXBwb3J0RHhlLmluZiBiL0NvcmVib290TW9kdWxl UGtnL0NiU3VwcG9ydER4ZS9DYlN1cHBvcnREeGUuaW5mDQo+ID4gPiA+ID4gPiBpbmRleCA5OTI0 NTE4M2VhLi5lMzM0ZGFmZGI3IDEwMDY0NA0KPiA+ID4gPiA+ID4gLS0tIGEvQ29yZWJvb3RNb2R1 bGVQa2cvQ2JTdXBwb3J0RHhlL0NiU3VwcG9ydER4ZS5pbmYNCj4gPiA+ID4gPiA+ICsrKyBiL0Nv cmVib290TW9kdWxlUGtnL0NiU3VwcG9ydER4ZS9DYlN1cHBvcnREeGUuaW5mDQo+ID4gPiA+ID4g PiBAQCAtNTEsNiArNTEsNyBAQA0KPiA+ID4gPiA+ID4gIA0KPiA+ID4gPiA+ID4gIFtHdWlkc10N Cj4gPiA+ID4gPiA+ICAgIGdFZmlBY3BpVGFibGVHdWlkDQo+ID4gPiA+ID4gPiArICBnRWZpQWNw aTIwVGFibGVHdWlkDQo+ID4gPiA+ID4gPiAgICBnRWZpU21iaW9zVGFibGVHdWlkDQo+ID4gPiA+ ID4gPiAgICBnVWVmaVN5c3RlbVRhYmxlSW5mb0d1aWQNCj4gPiA+ID4gPiA+ICAgIGdVZWZpQWNw aUJvYXJkSW5mb0d1aWQNCj4gPiA+ID4gPiA+IC0tIA0KPiA+ID4gPiA+ID4gMi4xNy4wLjkyMS5n ZjIyNjU5YWQ0Ni1nb29nDQoNCg0K