From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=TOrxp+pn; spf=none, err=SPF record not found (domain: amd.com, ip: 40.107.79.108, mailfrom: thomas.lendacky@amd.com) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (NAM03-CO1-obe.outbound.protection.outlook.com [40.107.79.108]) by groups.io with SMTP; Thu, 26 Sep 2019 07:00:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nxj6TpxVzaP1VtwMbhHj44QepxmbT3w8+VFBwf/FSIoo3RCPCaaRCTZAP6JbXw5OMhKt3LSzsg2F8LdHCP8GyXkB51S3WOobN8qE47tS3hIHIYpE4LouOmlzqudFywmVBwT7YFqvF9fHdthFwtinMlcrHC7kOpXZNMk1IDLpUFd9pmSHDLClCbU+YdsMu1NghnccaHLCrL5IqgsonbJa3PnTLB2Fw319HtcWYg2CPH+eynBeRbu7M749/le7TDclpsLV6oUXgJWA8LvUXJsrUkq32In4eyvg02SD181vMMvXXwTtIzKuo6zpcVS61GCxMxZedrpYbVS0BPFVjb9o1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ONKOAxbJyhm93bAFARU4ZhmDuE4ZTrksoyK1w+CO3Qg=; b=BYHcK8A+l5JJQ/0FyDq0+dNc+NNKWiyt6DFsHrFfAY6fCJkRM2jWBFHsrk7CVsgS75klsL6smijedQpZ3TFsxjuySCFzCfVRl4EkaO0bNIyCURg7571i5Ax4TwzhAR3HKanGQ51L1BKuC3i0f+QEZ+oJUAnWausfDlxJYTnPT57Dapvu+Igs3lqFUOkitNtB8XYzmbLJJV/dC3I0ET3TctY5u+vPvmfuaK0w9wSZMTzS7+KiO5jqAuR9M9/QTSCLs/Rpapd/0bWZiDXmaJP/Is9wli4z+JMv2K6tXIgAp6HZNRdXXk6BH4rW8UnID5r9Idyujd0Gr6OJg8O1W7f2/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ONKOAxbJyhm93bAFARU4ZhmDuE4ZTrksoyK1w+CO3Qg=; b=TOrxp+pn4tu08jFafVOqrwoDEVlb5V5/j5QEiZkCNy+BoP3mwgX/VgI1Cq7DCUqppsJgynYxXSeibNwEv/QD2oT9IwFVMRNwZml6BWcPGV+w3+T6f4vB/QZJyD+4B4S4rBEaPVsQh33cvvKEmMIjfFbfqYBWdeKDsdfkulrAhOw= Received: from DM6PR12MB3163.namprd12.prod.outlook.com (20.179.104.150) by DM6PR12MB4124.namprd12.prod.outlook.com (10.141.8.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.18; Thu, 26 Sep 2019 14:00:57 +0000 Received: from DM6PR12MB3163.namprd12.prod.outlook.com ([fe80::400e:f0c3:7ca:2fcc]) by DM6PR12MB3163.namprd12.prod.outlook.com ([fe80::400e:f0c3:7ca:2fcc%6]) with mapi id 15.20.2284.023; Thu, 26 Sep 2019 14:00:57 +0000 From: "Lendacky, Thomas" To: Laszlo Ersek , "devel@edk2.groups.io" CC: Jordan Justen , Ard Biesheuvel , Michael D Kinney , Liming Gao , Eric Dong , Ray Ni , "Singh, Brijesh" Subject: Re: [edk2-devel] [RFC PATCH v2 08/44] OvmfPkg: Create GHCB pages for use during Pei and Dxe phase Thread-Topic: [edk2-devel] [RFC PATCH v2 08/44] OvmfPkg: Create GHCB pages for use during Pei and Dxe phase Thread-Index: AQHVbyPHXRDv/YGRIEiL4Ddvjs4NBKc9oqgAgABknQA= Date: Thu, 26 Sep 2019 14:00:57 +0000 Message-ID: <8779b242-a38c-3bf7-ce85-469197fee287@amd.com> References: <9799d415f652618c8a960cdb0040918185588652.1568922728.git.thomas.lendacky@amd.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SN4PR0201CA0016.namprd02.prod.outlook.com (2603:10b6:803:2b::26) To DM6PR12MB3163.namprd12.prod.outlook.com (2603:10b6:5:182::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [165.204.78.1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c699803a-e54d-4815-636f-08d74289f45d x-ms-office365-filtering-ht: Tenant x-ms-traffictypediagnostic: DM6PR12MB4124: x-ms-exchange-purlcount: 1 x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0172F0EF77 x-forefront-antispam-report: SFV:NSPM;SFS:(10019001)(6009001)(428001)(377454003)(479174003)(164054003)(51704005)(24454002)(57704003)(199002)(189002)(20776003)(69226001)(63696002)(74876001)(74706001)(36756003)(77096001)(76786001)(76796001)(81542001)(54356001)(31686003)(93136001)(92566001)(46102001)(64706001)(81342001)(92726001)(15975445006)(77982001)(59766001)(56816005)(33646001)(80022001)(66066001)(76482001)(90146001)(65816001)(87936001)(56776001)(54316002)(74366001)(44376005)(87266001)(2656002)(4396001)(47976001)(50986001)(95666003)(49866001)(47736001)(51856001)(85306002)(79102001)(85852003)(83072002)(21056001)(97336001)(94946001)(93516002)(95416001)(94316002)(86362001)(97186001)(80976001)(31696002)(575784001)(81686001)(83322001)(19580405001)(81816001)(31966008)(74662001)(19580395003)(53806001)(74502001)(47446002)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:DM6PR12MB4124;H:DM6PR12MB3163.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: h2hLoAH5asFSY9Msd7KmQS0qEQMRdrb5bFU7Xmp/YcDMlOvBjoZ3lAGPfmUdXlnvExmj/79DZ5Hc52Z2Iwrfw/BO8IVttHHHQurfemiP/aq3OcZ3QBzgWlwDfn6tr4BiwTOUAyuXgQIuqBrqsf7mL5p2OrX3BFKnnULty/Rh82pNWdf5S3U3AikeD/MoURGPT16Vf29ZSbd+weCMWMs95ZOErY1ca012BMBmMFjaJLyRmUEXHdyMqCPR26HNmBk84uEiz/zpT7W5KzQDgntnkAkMGZSvjUfWooeuTu0ktwEeZjIZFkCreks1X2e3oLSgnmA4r8pA1qrl8ZHZDRbf1784swvQQ1glAMKdM4fpPmSKs78KCDqjY4+sBV4U6XbN4bBxjNIfGcx1ncwJhKgSaSe6ebkbL/EZtdTlt1KYo6IndsQL7Mg8cRflR83MtjzsFzqvy5UblR3EhaWROWx9Pw== MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: c699803a-e54d-4815-636f-08d74289f45d X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2019 14:00:57.7166 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: LStjJnBujtwHjEmEOLexLsWAj4cMMwysvNPSOU87dNIYi7skuHLGe6oGBEwdhqpYU7glViUklseY36ZY3IxXWg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4124 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <54297E1CF8B2E34191B9912A506638A3@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 T24gOS8yNi8xOSAzOjAwIEFNLCBMYXN6bG8gRXJzZWsgd3JvdGU6DQo+IEhpIFRvbSwNCj4gDQo+ IE9uIDA5LzE5LzE5IDIxOjUyLCBMZW5kYWNreSwgVGhvbWFzIHdyb3RlOg0KPj4gRnJvbTogVG9t IExlbmRhY2t5IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT4NCj4+DQo+PiBCWjogaHR0cHM6Ly9i dWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk4DQo+Pg0KPj4gQWxsb2Nh dGUgbWVtb3J5IGZvciB0aGUgR0hDQiBwYWdlcyBkdXJpbmcgU0VWIGluaXRpYWxpemF0aW9uIGZv ciB1c2UNCj4+IGR1cmluZyBQZWkgYW5kIER4ZSBwaGFzZXMuIFRoZSBHSENCIHBhZ2UocykgbXVz dCBiZSBzaGFyZWQgcGFnZXMsIHNvDQo+PiBjbGVhciB0aGUgZW5jcnlwdGlvbiBtYXNrIGZyb20g dGhlIGN1cnJlbnQgcGFnZSB0YWJsZSBlbnRyaWVzLiBVcG9uDQo+PiBzdWNjZXNzZnVsIGFsbG9j YXRpb24sIHNldCB0aGUgR0hDQiBQQ0RzIChQY2RHaGNiQmFzZSBhbmQgUGNkR2hjYlNpemUpLg0K PiANCj4gc2tpbW1pbmcgdGhpcyBwYXRjaCBhbmQgdGhlIG5leHQgdHdvIG9uZXMgZm9yIE92bWZQ a2cgKCMxMCwgIzExKSwgSSdtIGENCj4gYml0IGxvc3QuIEknbSBtaXNzaW5nIGEgcGFyYWxsZWwg YmV0d2VlbiB0aGUgImVhcmx5IFg2NCBwYWdlIHRhYmxlcyIgYW5kDQo+IHRoZSBHSENCLXJlbGF0 ZWQgcGFnZXMuDQo+IA0KPiBUaGUgZm9ybWVyIGFyZSBzZXQgdXAgKGluIFg2NCBPVk1GKSBpbiBT RUMsIGFuZCBhcmUgdXNlZCB0aHJvdWdob3V0IFBFSQ0KPiB1bnRpbCB0aGUgRFhFIElQTCBidWls ZHMgbmV3IG9uZXMgZm9yIHRoZSBEWEUgcGhhc2UuIFRoZSBsYXR0ZXIgYWxzbw0KPiAqc2VlbWVk KiB0byBiZSBzZXQgdXAgaW4gU0VDLCBhbmQgSSB0aG91Z2h0IHRoZXknZCBiZSB1c2VkIHRocm91 Z2hvdXQNCj4gUEVJIC0tIEkgYXNzdW1lZCB0aGUgbmV4dCBwbGFjZSB3ZSdkIG5lZWQgdG8gbWFz c2FnZSBHSENCIHBhZ2VzIHdvdWxkIGJlDQo+IHNpbWlsYXJseSBpbiB0aGUgRFhFIElQTCwgb3Ig dGhlcmVhYm91dHMuDQo+IA0KPiBIb3dldmVyLCBpbiB0aGlzIHBhdGNoLCB3ZSBzZWVtIHRvIGFs bG9jYXRlIG5ldyBwYWdlcyBmb3IgR0hDQiwgYW5kIHRoZQ0KPiBjb21taXQgbWVzc2FnZSBpbXBs aWVzIHRoZXkgYXJlIHN1cHBvc2VkIHRvIGJlIHVzZWQgZHVyaW5nIFBFSS4gVGhhdA0KPiBkaXZl cmdlcyBmcm9tIGhvdyBsb25nIHRoZSAiZWFybHkgWDY0IHBhZ2UgdGFibGVzIiBhcmUgdXNlZC4N Cg0KQXQgdGhpcyBzdGFnZSwgd2UgbmVlZCBhIEdIQ0IgcGFnZSBmb3IgZXZlcnkgKHYpQ1BVLiBT byBhIG5ldyBhbGxvY2F0aW9uDQppcyBkb25lIGFuZCB0aGVuIHRoZSBwYWdlcyBhcmUgbWFya2Vk IHVuZW5jcnlwdGVkLiBPbmNlIHRoZSBuZXcgR0hDQg0KcGFnZXMgYXJlIGFsbG9jYXRlZCwgdGhl IG9yaWdpbmFsIEdIQ0IgcGFnZSBmb3IgU0VDIGlzIG5vIGxvbmdlciBuZWVkZWQNCmJlY2F1c2Ug dGhlIG5ldyBhbGxvY2F0aW9uIHJlcGxhY2VzIGl0IGluIHRoZSBCU1AuIEJ1dCB0aGUgZWFybHkg cGFnZQ0KdGFibGUgaXMgc3RpbGwgcmVxdWlyZWQgaW4gb3JkZXIgdG8gYWNjZXNzIGFsbCBvZiB0 aGUgbWVtb3J5IGZyb20gdGhlIDJNQg0KcmFuZ2UgKDB4ODAwMDAwIHRvIDB4OWZmZmZmKS4NCg0K PiANCj4gSSBndWVzcyB0aGlzIGRpZmZlcmVuY2UgY291bGQgYmUganVzdGlmaWVkLCBlc3BlY2lh bGx5IGJlY2F1c2Ugd2UgZG8gTVANCj4gc3R1ZmYgaW4gUEVJLiAoQW5kIHdlIG5lZWQgc2VwYXJh dGUgR0hDQiBzdHVmZiBwZXIgVkNQVSAtLSBpbiBTRUMgd2UNCj4gb25seSBjb25zaWRlciB0aGUg QlNQLikNCj4gDQo+IEJ1dCB0aGVuLCB0aGUgcXVlc3Rpb24gYmVjb21lczogd2hhdCBleGFjdGx5 IGRvIHdlIG5lZWQgdGhlIEdIQ0IgcGFnZQ0KPiBhbGxvY2F0ZWQgaW4gU0VDIGZvcj8gRnJvbSB0 aGUgYmx1cmIsIGl0IHNlZW1zIHRoYXQgdGhlIEdIQ0IgYWxsb3dzIHRoZQ0KDQpUaGVyZSBhcmUg bG90cyBvZiBkaWZmZXJlbnQgd2F5cyB0byBjYXVzZSBhICNWQy4gQSAjVkMgaXMgZ2VuZXJhdGVk IGZvcg0KZGVidWcgc3RhdGVtZW50cyB0aGF0IHVzZSBwb3J0IEkvTywgTU1JTywgaW50ZXJjZXB0 LWFibGUgTVNSIGFjY2Vzc2VzLA0KQ1BVSUQgaW5zdHJ1Y3Rpb25zLCBXQklOVkQgaW5zdHJ1Y3Rp b25zLCBldGMuIE1hbnkgb2YgdGhlc2UgdGhpbmdzIGhhcHBlbg0KZHVyaW5nIFNFQy4gV2l0aCB0 aGUgZGVidWcgc2VyaWFsIG91dHB1dCBlbmFibGVkLCBvdmVyIDgsMDAwICNWQw0KZXhjZXB0aW9u cyBvY2N1ciBiZWZvcmUgYWxsb2NhdGluZyB0aGUgbmV3IEdIQ0IgcGFnZXMgaW4NCkFtZFNldkVz SW5pdGlhbGl6ZSgpLg0KDQo+IGd1ZXN0IHRvIHNlbGVjdGl2ZWx5IChhY3RpdmVseSkgc2hhcmUg aW5mb3JtYXRpb24gd2l0aCB0aGUgaHlwZXJ2aXNvciAtLQ0KPiBzdWNoIGFzIChwYXJ0cyBvZj8p IHRoZSByZWdpc3RlciBmaWxlLCB3aGljaCB0aGUgaHlwZXJ2aXNvciBjYW5ub3QNCj4gZGlyZWN0 bHkgYWNjZXNzLCBmb3IgYSBTRVYtRVMgZ3Vlc3QuDQo+IA0KPiBCdXQsIHdlIG5ldmVyIHNlZW0g dG8gcGxhY2Ugc3VjaCBpbmZvcm1hdGlvbiBhdCBQY2RPdm1mU2VjR2hjYkJhc2UgKGFrYQ0KPiBH SENCX0JBU0UpIGluIFNFQy4gV2UgcHJvZ3JhbSB0aGUgR0hDQidzIGJhc2UgYWRkcmVzcywgYW5k IHRoZW4gd2UgY2xlYXINCj4gdGhlIEdIQ0IsIGJ1dCB0aGF0IHNlZW1zIHRvIGJlIGl0LiBEbyB3 ZSB3cml0ZSBhbnl0aGluZyBub24temVybyB0byB0aGF0DQo+IGJsb2NrLCBldmVyPw0KDQpZZXMs IHRoYXQgaGFwcGVucyBpbiB0aGUgU0VDIGV4Y2VwdGlvbiBoYW5kbGVyLiBXaGVuIHRoZSAjVkMg b2NjdXJzLCB0aGUNCkdIQ0IgaW5mb3JtYXRpb24gaXMgZmlsbGVkIGluIGFuZCBhIFZNR0VYSVQg aW5zdHJ1Y3Rpb24gaXMgaXNzdWVkIHRvIGV4aXQNCnRvIHRoZSBoeXBlcnZpc29yLiBUaGUgaHlw ZXJ2aXNvciB0aGVuIGFjY2Vzc2VzIHRoZSBHSENCIGluIG9yZGVyIHRvDQpwZXJmb3JtIHRoZSBy ZXF1ZXN0ZWQgZnVuY3Rpb24uDQoNClRoYW5rcywNClRvbQ0KDQo+IA0KPiBUaGFua3MNCj4gTGFz emxvDQo+IA0KPj4gQ2M6IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+ DQo+PiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4+IENjOiBBcmQgQmll c2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4+IFNpZ25lZC1vZmYtYnk6IFRv bSBMZW5kYWNreSA8dGhvbWFzLmxlbmRhY2t5QGFtZC5jb20+DQo+PiAtLS0NCj4+ICBPdm1mUGtn L092bWZQa2dJYTMyLmRzYyAgICAgICAgICAgICB8ICAyICsrDQo+PiAgT3ZtZlBrZy9Pdm1mUGtn SWEzMlg2NC5kc2MgICAgICAgICAgfCAgMiArKw0KPj4gIE92bWZQa2cvT3ZtZlBrZ1g2NC5kc2Mg ICAgICAgICAgICAgIHwgIDIgKysNCj4+ICBPdm1mUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtUGVp LmluZiB8ICAyICsrDQo+PiAgT3ZtZlBrZy9QbGF0Zm9ybVBlaS9BbWRTZXYuYyAgICAgICAgfCAz NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KPj4gIDUgZmlsZXMgY2hhbmdlZCwgNDMg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9Pdm1mUGtn L092bWZQa2dJYTMyLmRzYyBiL092bWZQa2cvT3ZtZlBrZ0lhMzIuZHNjDQo+PiBpbmRleCAwY2U1 YzAxNzIyZWYuLjQzNjljZjZkNTVlNSAxMDA2NDQNCj4+IC0tLSBhL092bWZQa2cvT3ZtZlBrZ0lh MzIuZHNjDQo+PiArKysgYi9Pdm1mUGtnL092bWZQa2dJYTMyLmRzYw0KPj4gQEAgLTU2MCw2ICs1 NjAsOCBAQCBbUGNkc0R5bmFtaWNEZWZhdWx0XQ0KPj4gIA0KPj4gICAgIyBTZXQgU0VWLUVTIGRl ZmF1bHRzDQo+PiAgICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2V2RXNBY3Rp dmV8MA0KPj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEdoY2JCYXNlfDAN Cj4+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RHaGNiU2l6ZXwwDQo+PiAg DQo+PiAgIWlmICQoU01NX1JFUVVJUkUpID09IFRSVUUNCj4+ICAgIGdVZWZpT3ZtZlBrZ1Rva2Vu U3BhY2VHdWlkLlBjZFEzNVRzZWdNYnl0ZXN8OA0KPj4gZGlmZiAtLWdpdCBhL092bWZQa2cvT3Zt ZlBrZ0lhMzJYNjQuZHNjIGIvT3ZtZlBrZy9Pdm1mUGtnSWEzMlg2NC5kc2MNCj4+IGluZGV4IGU3 NDU1ZTM1YTU1ZC4uYTc0ZjUwMjgwNjhlIDEwMDY0NA0KPj4gLS0tIGEvT3ZtZlBrZy9Pdm1mUGtn SWEzMlg2NC5kc2MNCj4+ICsrKyBiL092bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjDQo+PiBAQCAt NTcyLDYgKzU3Miw4IEBAIFtQY2RzRHluYW1pY0RlZmF1bHRdDQo+PiAgDQo+PiAgICAjIFNldCBT RVYtRVMgZGVmYXVsdHMNCj4+ICAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RT ZXZFc0FjdGl2ZXwwDQo+PiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkR2hj YkJhc2V8MA0KPj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEdoY2JTaXpl fDANCj4+ICANCj4+ICAhaWYgJChTTU1fUkVRVUlSRSkgPT0gVFJVRQ0KPj4gICAgZ1VlZmlPdm1m UGtnVG9rZW5TcGFjZUd1aWQuUGNkUTM1VHNlZ01ieXRlc3w4DQo+PiBkaWZmIC0tZ2l0IGEvT3Zt ZlBrZy9Pdm1mUGtnWDY0LmRzYyBiL092bWZQa2cvT3ZtZlBrZ1g2NC5kc2MNCj4+IGluZGV4IDBi ODMwNWNkMTBhMi4uZmQ3MTRkMzg2ZTc1IDEwMDY0NA0KPj4gLS0tIGEvT3ZtZlBrZy9Pdm1mUGtn WDY0LmRzYw0KPj4gKysrIGIvT3ZtZlBrZy9Pdm1mUGtnWDY0LmRzYw0KPj4gQEAgLTU3MSw2ICs1 NzEsOCBAQCBbUGNkc0R5bmFtaWNEZWZhdWx0XQ0KPj4gIA0KPj4gICAgIyBTZXQgU0VWLUVTIGRl ZmF1bHRzDQo+PiAgICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2V2RXNBY3Rp dmV8MA0KPj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEdoY2JCYXNlfDAN Cj4+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RHaGNiU2l6ZXwwDQo+PiAg DQo+PiAgIWlmICQoU01NX1JFUVVJUkUpID09IFRSVUUNCj4+ICAgIGdVZWZpT3ZtZlBrZ1Rva2Vu U3BhY2VHdWlkLlBjZFEzNVRzZWdNYnl0ZXN8OA0KPj4gZGlmZiAtLWdpdCBhL092bWZQa2cvUGxh dGZvcm1QZWkvUGxhdGZvcm1QZWkuaW5mIGIvT3ZtZlBrZy9QbGF0Zm9ybVBlaS9QbGF0Zm9ybVBl aS5pbmYNCj4+IGluZGV4IGE5ZTQyNGE2MDEyYS4uNjJhYmM5OWY0NjIyIDEwMDY0NA0KPj4gLS0t IGEvT3ZtZlBrZy9QbGF0Zm9ybVBlaS9QbGF0Zm9ybVBlaS5pbmYNCj4+ICsrKyBiL092bWZQa2cv UGxhdGZvcm1QZWkvUGxhdGZvcm1QZWkuaW5mDQo+PiBAQCAtMTA1LDYgKzEwNSw4IEBAIFtQY2Rd DQo+PiAgICBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENwdUFwSW5pdFRpbWVPdXRJbk1p Y3JvU2Vjb25kcw0KPj4gICAgZ1VlZmlDcHVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVBcFN0YWNr U2l6ZQ0KPj4gICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNldkVzQWN0aXZl DQo+PiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkR2hjYkJhc2UNCj4+ICsg IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RHaGNiU2l6ZQ0KPj4gIA0KPj4gIFtG aXhlZFBjZF0NCj4+ICAgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQY2lFeHByZXNzQmFz ZUFkZHJlc3MNCj4+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL1BsYXRmb3JtUGVpL0FtZFNldi5jIGIv T3ZtZlBrZy9QbGF0Zm9ybVBlaS9BbWRTZXYuYw0KPj4gaW5kZXggN2FlMmYyNmEyYmE3Li4zMGMw ZTRhZjcyNTIgMTAwNjQ0DQo+PiAtLS0gYS9Pdm1mUGtnL1BsYXRmb3JtUGVpL0FtZFNldi5jDQo+ PiArKysgYi9Pdm1mUGtnL1BsYXRmb3JtUGVpL0FtZFNldi5jDQo+PiBAQCAtMTYsNiArMTYsOSBA QA0KPj4gICNpbmNsdWRlIDxQaVBlaS5oPg0KPj4gICNpbmNsdWRlIDxSZWdpc3Rlci9BbWQvQ3B1 aWQuaD4NCj4+ICAjaW5jbHVkZSA8UmVnaXN0ZXIvQ3B1aWQuaD4NCj4+ICsjaW5jbHVkZSA8UmVn aXN0ZXIvQW1kL01zci5oPg0KPj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4N Cj4+ICsjaW5jbHVkZSA8TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmg+DQo+PiAgDQo+PiAg I2luY2x1ZGUgIlBsYXRmb3JtLmgiDQo+PiAgDQo+PiBAQCAtMzAsNyArMzMsMTAgQEAgQW1kU2V2 RXNJbml0aWFsaXplICgNCj4+ICAgIFZPSUQNCj4+ICAgICkNCj4+ICB7DQo+PiAtICBSRVRVUk5f U1RBVFVTICAgICBQY2RTdGF0dXM7DQo+PiArICBWT0lEICAgICAgICAgICAgICAqR2hjYkJhc2U7 DQo+PiArICBQSFlTSUNBTF9BRERSRVNTICBHaGNiQmFzZVBhOw0KPj4gKyAgVUlOVE4gICAgICAg ICAgICAgR2hjYlBhZ2VDb3VudDsNCj4+ICsgIFJFVFVSTl9TVEFUVVMgICAgIFBjZFN0YXR1cywg RGVjcnlwdFN0YXR1czsNCj4+ICANCj4+ICAgIGlmICghTWVtRW5jcnlwdFNldkVzSXNFbmFibGVk ICgpKSB7DQo+PiAgICAgIHJldHVybjsNCj4+IEBAIC0zOCw2ICs0NCwzNCBAQCBBbWRTZXZFc0lu aXRpYWxpemUgKA0KPj4gIA0KPj4gICAgUGNkU3RhdHVzID0gUGNkU2V0Qm9vbFMgKFBjZFNldkVz QWN0aXZlLCAxKTsNCj4+ICAgIEFTU0VSVF9SRVRVUk5fRVJST1IgKFBjZFN0YXR1cyk7DQo+PiAr DQo+PiArICAvLw0KPj4gKyAgLy8gQWxsb2NhdGUgR0hDQiBwYWdlcy4NCj4+ICsgIC8vDQo+PiAr ICBHaGNiUGFnZUNvdW50ID0gbU1heENwdUNvdW50Ow0KPj4gKyAgR2hjYkJhc2UgPSBBbGxvY2F0 ZVBhZ2VzIChHaGNiUGFnZUNvdW50KTsNCj4+ICsgIEFTU0VSVCAoR2hjYkJhc2UpOw0KPj4gKw0K Pj4gKyAgR2hjYkJhc2VQYSA9IChQSFlTSUNBTF9BRERSRVNTKShVSU5UTikgR2hjYkJhc2U7DQo+ PiArDQo+PiArICBEZWNyeXB0U3RhdHVzID0gTWVtRW5jcnlwdFNldkNsZWFyUGFnZUVuY01hc2sg KA0KPj4gKyAgICAwLA0KPj4gKyAgICBHaGNiQmFzZVBhLA0KPj4gKyAgICBHaGNiUGFnZUNvdW50 LA0KPj4gKyAgICBUUlVFDQo+PiArICAgICk7DQo+PiArICBBU1NFUlRfUkVUVVJOX0VSUk9SIChE ZWNyeXB0U3RhdHVzKTsNCj4+ICsNCj4+ICsgIFNldE1lbSAoR2hjYkJhc2UsIEdoY2JQYWdlQ291 bnQgKiBTSVpFXzRLQiwgMCk7DQo+PiArDQo+PiArICBQY2RTdGF0dXMgPSBQY2RTZXQ2NFMgKFBj ZEdoY2JCYXNlLCAoVUlOVDY0KUdoY2JCYXNlUGEpOw0KPj4gKyAgQVNTRVJUX1JFVFVSTl9FUlJP UiAoUGNkU3RhdHVzKTsNCj4+ICsgIFBjZFN0YXR1cyA9IFBjZFNldDY0UyAoUGNkR2hjYlNpemUs IChVSU5UNjQpRUZJX1BBR0VTX1RPX1NJWkUgKEdoY2JQYWdlQ291bnQpKTsNCj4+ICsgIEFTU0VS VF9SRVRVUk5fRVJST1IgKFBjZFN0YXR1cyk7DQo+PiArDQo+PiArICBERUJVRyAoKERFQlVHX0lO Rk8sICJTRVYtRVMgaXMgZW5hYmxlZCwgJXUgR0hDQiBwYWdlcyBhbGxvY2F0ZWQgc3RhcnRpbmcg YXQgMHglbHhcbiIsIEdoY2JQYWdlQ291bnQsIEdoY2JCYXNlKSk7DQo+PiArDQo+PiArICBBc21X cml0ZU1zcjY0IChNU1JfU0VWX0VTX0dIQ0IsIChVSU5UNjQpR2hjYkJhc2VQYSk7DQo+PiAgfQ0K Pj4gIA0KPj4gIC8qKg0KPj4NCj4gDQo=