From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web09.5952.1611623929400879945 for ; Mon, 25 Jan 2021 17:18:49 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=xmfZCvVM; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: star.zeng@intel.com) IronPort-SDR: 7lsl9g4j2jhsVJ8Mr+tWBUM73oCyxnbwmrkXUsPvAK+BhA0aLQiUS7h+wBGd/wbihI4quOz7+n A8bMbuuFtMIg== X-IronPort-AV: E=McAfee;i="6000,8403,9875"; a="179052653" X-IronPort-AV: E=Sophos;i="5.79,375,1602572400"; d="scan'208";a="179052653" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jan 2021 17:18:47 -0800 IronPort-SDR: Wrm6Wkx2coDVLW9uf30eMLeN3L9aIOT2Rcamwe5EIZOFQEuxk560QDnhjBdXflufWg3ySWEBQZ h6LmpSWAE8zw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,375,1602572400"; d="scan'208";a="356556507" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga006.jf.intel.com with ESMTP; 25 Jan 2021 17:18:47 -0800 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Mon, 25 Jan 2021 17:18:46 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 25 Jan 2021 17:18:46 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.171) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 25 Jan 2021 17:18:12 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jMzVayUUS90j2G+gObOUvskEQUFDluIroBlc2O2HhVF6sZ10iLAUbTA1Z/D/eFdUqo/PEIXO0Kk83o7tgxkstXG/3OSiCwQJD1FlHMrqF94nsvmvVGckwKZtqJoCvKB5UiBtPL3JkZx5E5gRPcvqsHbSMQtoX/Fbbij1Ze1DrXrp4SNHLHkI12vqbLIrmnRQCIdjkFx3pr/NEzhmsofAi+hKK3NXZy6gLdpgWNGyzQWkcXRtvma3x2Y+BaX8BgMcYL6DiPjF2Q8wAg4g8HrH4+zvtF6OgdQ1szB4oT8R9GpHrWVUfbPjLji8DexvMmvqWYCTfYX8EsnUhvl7EsudYA== 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=uAxUhBj1TfLbNyvXo5KAB/bYHkfkEE4BRFvw+/QllOg=; b=TZUkKfCo6GuLXhJipSE07LjHlqJSpk4qc8m85lhKqRttgwPChQhca73dBuJSRYEVH0+FzyS4ylSCkxA7qkR+Q9008QrhLu+t5Teb7pm8ip2b9NdSo6eCjp7DWpj7uBbOfopl/1BeEW3NcCabWNI9G08CtRt4cPtAC2xOosX12+c8gjjJhJFQ1+YhKdYeml1PuKIcp48oK1915lekwMT4uvxb3CdoO5T78lIXAXEGGbsE53KcdE7NC5NQm5LHT+B3Kbxxft6SJyOsJUjlRV62iBsvaBJ3/VjDcMp/eXhzE9s6xLLH33IXb+5BOwXCFN8iPgFC/9tZ6DmEt/QzGScP3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uAxUhBj1TfLbNyvXo5KAB/bYHkfkEE4BRFvw+/QllOg=; b=xmfZCvVM6+zHptrWn/hKjPcDXdO8cNWreN0sKF4FHetNCUq5X1h+TwOa/ZNAEvUlviuliJzoP7ef/5FgmhnxDVWEr1kjsUzxIaSJyPsDILC0eVEiAZuoKCdO/ol6VJMS7l9LmmS+KqcPC2gBoxGDhX1mgdEYrNIeeW6KaaMNcFo= Received: from DM6PR11MB4058.namprd11.prod.outlook.com (2603:10b6:5:193::13) by DM5PR11MB1276.namprd11.prod.outlook.com (2603:10b6:3:14::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.16; Tue, 26 Jan 2021 01:18:08 +0000 Received: from DM6PR11MB4058.namprd11.prod.outlook.com ([fe80::29e6:77f7:8834:9f88]) by DM6PR11MB4058.namprd11.prod.outlook.com ([fe80::29e6:77f7:8834:9f88%7]) with mapi id 15.20.3784.019; Tue, 26 Jan 2021 01:18:08 +0000 From: "Zeng, Star" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "Ni, Ray" , "Kinney, Michael D" CC: "Dong, Eric" , "Kumar, Rahul1" , "Zeng, Star" Subject: Re: [edk2-devel] [Patch 1/1] UefiCpuPkg/Library/MpInitLib: Fix AP VolatileRegisters race condition Thread-Topic: [edk2-devel] [Patch 1/1] UefiCpuPkg/Library/MpInitLib: Fix AP VolatileRegisters race condition Thread-Index: AQHW8OGMsMigToHqg0Wn9wjGvm6/8Ko3rmYQgAAiGICAADl7sIAAA1GAgAAjjqCAAKxhAIAAQw4w Date: Tue, 26 Jan 2021 01:18:08 +0000 Message-ID: References: <20210122171020.589-1-michael.d.kinney@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.202] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: aa663d13-2174-49f1-f5a8-08d8c1983dc0 x-ms-traffictypediagnostic: DM5PR11MB1276: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vrGCElQ4NsedR64Qdo8zX3h0aPPf06mKmNw3vIB3v0/cM3DIN9cr7pojH0LJA7ACEtIK+8TFdjeFNai10SX3zaA/JrAJHXr3geV2IkGPdPQrEqVq3yoqyaAzBOc1s3IodQFwJ2s4V3nODWbsrtCt0EKLUP8EFDniIKRWybFpwlwinAkNGDnTjm+Xo28k2GJgaIEQo6msObtAps03i53YhOyW/ZXAxj6CgcX0hnNfj4f3HRZptke6LAHShN8xOLUCNtXtjDi7a03GnjfIdEldjecMpHdndStjMqQe7t1Vi7SqWmssQlkhZKQItVfg4mLf6v3MMSu5O4k5Q+1OIbHXm3CoWYfh3pe/ipLAbDVN/2vleXJNxcxf6cHc+In1q3VWhTMFdZ6zN3sMlDFk7cuj8BXUX7MxktSReo+vS1bZ6yK/AMyvpUa2FVHiigqmnttZprQ8YrHZingDwAGXh0rrqQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4058.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(4636009)(366004)(396003)(136003)(376002)(39860400002)(346002)(107886003)(7696005)(966005)(71200400001)(186003)(6636002)(6506007)(53546011)(26005)(8676002)(54906003)(33656002)(5660300002)(4326008)(86362001)(478600001)(316002)(55016002)(9686003)(8936002)(64756008)(66556008)(66946007)(66476007)(66446008)(52536014)(110136005)(83380400001)(76116006)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?dVpPNnYremdsWXpJcGhiTlcxME5OTndUQmhob2E3cThiU2JpVS9ZVUxMUWdC?= =?utf-8?B?aHdUa0I1eTJyVXBtMVY3YU5IdVVpaklYREtja2o3Yy9QVFZva3B0UUhsUDVG?= =?utf-8?B?SEQrVmZhbWduamN0eEc2SjVCendvZnBEZFRGd29ZdW9DMTlqb0RwOEIrSE9t?= =?utf-8?B?MGcvUkpCcDd3YlRoUXlGVWthcVVBSzlEdlNjUCs3YWgyc2FmUmJLY3dkb2RS?= =?utf-8?B?TFRxT1VxWUxCSjhjZXpFWFJBM3VNNUZJUHcyb3VPQjVRTzVNblI2VDRDV2pI?= =?utf-8?B?QjRFL2dTWFdSRlF1STh4dHV3czJWRmJoWG5QcFgxTnpQRUhYdDJxVE1zZC9K?= =?utf-8?B?anBNVUI5ZDVaL1o4MHBtc0hKbnBmcUluQ2xERXJYK1dIOVo4Wmt2d2ZjY1Bl?= =?utf-8?B?ZVViSlJ4RE1pM3MxUkQxWGozS1BIQUhpc2tEMSt4MlVIS1NCYzZtUDFDVXRQ?= =?utf-8?B?THJDaHg0ck0zY2hWb0NqNHdkTjBLQWQyc20vaDRqek9tNmxsU2cvSjdWcGla?= =?utf-8?B?Q0dIekw0aW5yYjJFeENoODVCMHplck83VzhXNVhsSmJUU1JNWm5sU0N3SFl3?= =?utf-8?B?d2ZWbld4ZkN2WE1WcmN0UC9kYlNtNWxOdnk4ZXlSSkp0VEo4SUZDUXFJTjF0?= =?utf-8?B?YTBjbHhDOXE5NE1mTmlRYXZJNks0L2lSWUNDZitpQTQyd3lxUFJPZk5WWjRM?= =?utf-8?B?cS8xTXJpVUo4R3A5Y2J2S2ttTVU4aVA2Nm1ocXJOZ3dTdU1XMFBJVGVZRHlJ?= =?utf-8?B?K2pvUzl2bkFHcE12aHRPRlVsaStKdUl4WE84TnIxSEN3NWFmOW95V3dKcUdT?= =?utf-8?B?bEV1ZUlaZU45a2tnem9LcC9nTDlrcm96eENRZ0l0TE5CUEs2Z2tEZitBSU1Y?= =?utf-8?B?QVFMZ01vOHBUdjI5T1c3ZGFDUGFtU0t2UURPWm5rK3NaQ1Nubkd0K0lhZjFv?= =?utf-8?B?QzFkOXlIeUFCbmJtSGVEa21ZU1ZQWlNBRFdsWU9Yc1NEck5qN1YwWlc1YUtR?= =?utf-8?B?em8vTzJJb3J6cnV3dFFobDkxdkNTck0wdmJka0FJZlgrY0JUdVA0R1JpdXZh?= =?utf-8?B?VjRlNUx0ZlduNjNyRWlPUEJOb3hMcXQ3NHJFdmdvNTFUeGh1R0k3UUJ3S1Zw?= =?utf-8?B?YnU3c24rZDFmOGZUNGtYQ1ZFM1k3NVFPRC9BaHlOZkY4U0ZFQ0VRYmdGc1Fa?= =?utf-8?B?T0xPQklRUGdqTG4rN2RVMkNXeHBoSnJidHhTK0I5VjB2dk8rM2FOdmxGenh0?= =?utf-8?B?SmV0WTlVVWZBWDIxVVRscW8zQUJVOWhFMk1rTmhCcDVOQUNscTR5N0NtRXgw?= =?utf-8?B?bmFQN1FyYU5FZ1drS3hBN0VwVTcrQk5aRUEybk9SL2grZ1Z0Tmc2NFFtczI4?= =?utf-8?B?RlpkN3g2MFViV1M1WHYvSmdWVk42alpaWnRtM05wV2s5SW1BeHRySmJ3eHBn?= =?utf-8?Q?AUAaxRVa?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4058.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: aa663d13-2174-49f1-f5a8-08d8c1983dc0 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2021 01:18:08.6551 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: awYSEKAQq63cmGOvbl/LW51ftcD6DLf9RYJkYR2tGLi5uA6XoLlgMQqsx8c/EYPblyG0tBuR69G/PgaLpGQMJg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1276 Return-Path: star.zeng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5p byA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBMYXN6bG8NCj4gRXJzZWsNCj4g U2VudDogVHVlc2RheSwgSmFudWFyeSAyNiwgMjAyMSA1OjE4IEFNDQo+IFRvOiBaZW5nLCBTdGFy IDxzdGFyLnplbmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IEtpbm5l eSwNCj4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IGRldmVsQGVkazIu Z3JvdXBzLmlvDQo+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgS3VtYXIs IFJhaHVsMQ0KPiA8cmFodWwxLmt1bWFyQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsy LWRldmVsXSBbUGF0Y2ggMS8xXSBVZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliOiBGaXggQVAN Cj4gVm9sYXRpbGVSZWdpc3RlcnMgcmFjZSBjb25kaXRpb24NCj4gDQo+IE9uIDAxLzI1LzIxIDEy OjA0LCBaZW5nLCBTdGFyIHdyb3RlOg0KPiA+IEJUVzoNCj4gPg0KPiA+IERvIHlvdSB0aGluayBp dCB3b3J0aCBvciBub3QgdG8gYWRkIHRoZSBjaGVjayBsaWtlIGJlbG93IGluDQo+IEVkazJcVWVm aUNwdVBrZ1xMaWJyYXJ5XE1wSW5pdExpYlxQZWlNcExpYi5jIEdldENwdU1wRGF0YSgpPyBJZiB0 aGUNCj4gYXNzZXJ0IHdhcyB0aGVyZSwgaXQgd291bGQgZmFjaWxpdGF0ZSB0aGUgZGVidWc/DQo+ ID4NCj4gPiAgICAgQ3B1TXBEYXRhID0gKENQVV9NUF9EQVRBICopIChJZHRyLkJhc2UgKyBJZHRy LkxpbWl0ICsgMSk7DQo+ID4gKyAgICBBU1NFUlQgKENwdU1wRGF0YSAhPSBOVUxMKTsNCj4gDQo+ IENvdWxkIGJlIHdvcnRod2hpbGUsIGJ1dCBpbiBhIHNlcGFyYXRlIHBhdGNoLCBJTU8uDQoNCk1h a2Ugc2Vuc2UsIFJldmlld2VkLWJ5OiBTdGFyIFplbmcgPHN0YXIuemVuZ0BpbnRlbC5jb20+IHRv IHRoaXMgcGF0Y2guDQoNCg0KVGhhbmtzLA0KU3Rhcg0KDQo+IA0KPiBUaGFua3MNCj4gTGFzemxv DQo+IA0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBOaSwgUmF5 IDxyYXkubmlAaW50ZWwuY29tPg0KPiA+PiBTZW50OiBNb25kYXksIEphbnVhcnkgMjUsIDIwMjEg NDo1MyBQTQ0KPiA+PiBUbzogWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT47IEtpbm5l eSwgTWljaGFlbCBEDQo+ID4+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IGRldmVsQGVk azIuZ3JvdXBzLmlvDQo+ID4+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsg TGFzemxvIEVyc2VrDQo+ID4+IDxsZXJzZWtAcmVkaGF0LmNvbT47IEt1bWFyLCBSYWh1bDEgPHJh aHVsMS5rdW1hckBpbnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1Bh dGNoIDEvMV0gVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYjoNCj4gPj4gRml4IEFQIFZvbGF0 aWxlUmVnaXN0ZXJzIHJhY2UgY29uZGl0aW9uDQo+ID4+DQo+ID4+IFN0YXIsDQo+ID4+IFlvdSBh cmUgcmlnaHQuIFRoZXJlIGlzIG5vIHNlcXVlbmNlIHJlcXVpcmVtZW50IGJldHdlZW4NCj4gPj4g RmluaXNoZWRDb3VudCsrIGFuZCBOdW1BcHNFeGVjdXRpbmctLS4NCj4gPj4NCj4gPj4gSW4gZmFj dCwgSSBoYXZlIHN1Ym1pdHRlZCBhbm90aGVyIGJ1Z3ppbGxhDQo+ID4+IGh0dHBzOi8vYnVnemls bGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE3OS4NCj4gPj4NCj4gPj4gV2l0aCB0 aGF0IEJ1Z3ppbGxhLCB0aGUgd2FpdCBvbiAoRmluaXNoZWRDb3VudCA9PSBDcHVDb3VudCAtIDEp IHdpbGwNCj4gPj4gYmUgcmVtb3ZlZCBmb3IgdGhlIDFzdCB3YWtlIHVwIGNhc2UuDQo+ID4+DQo+ ID4+IFRoYW5rcywNCj4gPj4gUmF5DQo+ID4+DQo+ID4+DQo+ID4+PiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+Pj4gRnJvbTogWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT4N Cj4gPj4+IFNlbnQ6IE1vbmRheSwgSmFudWFyeSAyNSwgMjAyMSA0OjQzIFBNDQo+ID4+PiBUbzog S2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsNCj4gPj4+IGRl dmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4+PiBDYzogRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVs LmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+Ow0KPiA+Pj4gTGFzemxvIEVyc2VrIDxs ZXJzZWtAcmVkaGF0LmNvbT47IEt1bWFyLCBSYWh1bDENCj4gPj4+IDxyYWh1bDEua3VtYXJAaW50 ZWwuY29tPjsgWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPj4+IFN1YmplY3Q6 IFJFOiBbZWRrMi1kZXZlbF0gW1BhdGNoIDEvMV0gVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExp YjoNCj4gPj4+IEZpeCBBUCBWb2xhdGlsZVJlZ2lzdGVycyByYWNlIGNvbmRpdGlvbg0KPiA+Pj4N Cj4gPj4+IE1pa2UsDQo+ID4+Pg0KPiA+Pj4gT2gsIHNlZSBpdC4NCj4gPj4+IFRoZXJlIGlzIG5v IHNlcXVlbmNlIGRlcGVuZGVuY2UgYmV0d2VlbiBGaW5pc2hlZENvdW50IGluY3JlbWVudA0KPiBh bmQNCj4gPj4+IE51bUFwc0V4ZWN1dGluZyBkZWNyZW1lbnQsIHJpZ2h0Pw0KPiA+Pj4NCj4gPj4+ ICAgICAgSW50ZXJsb2NrZWRJbmNyZW1lbnQgKChVSU5UMzIgKikgJkNwdU1wRGF0YS0+RmluaXNo ZWRDb3VudCk7DQo+ID4+Pg0KPiA+Pj4gICAgICBJbnRlcmxvY2tlZERlY3JlbWVudCAoKFVJTlQz MiAqKSAmQ3B1TXBEYXRhLQ0KPiA+Pj4gTXBDcHVFeGNoYW5nZUluZm8tDQo+ID4+Pj4gTnVtQXBz RXhlY3V0aW5nKTsNCj4gPj4+DQo+ID4+Pg0KPiA+Pj4gVGhhbmtzLA0KPiA+Pj4gU3Rhcg0KPiA+ Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IEtpbm5l eSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPj4+PiBTZW50OiBN b25kYXksIEphbnVhcnkgMjUsIDIwMjEgMToxNiBQTQ0KPiA+Pj4+IFRvOiBaZW5nLCBTdGFyIDxz dGFyLnplbmdAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtpbm5leSwNCj4gPj4+ PiBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+Pj4+IENjOiBEb25n LCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47 DQo+ID4+Pj4gTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IEt1bWFyLCBSYWh1bDEN Cj4gPj4+PiA8cmFodWwxLmt1bWFyQGludGVsLmNvbT4NCj4gPj4+PiBTdWJqZWN0OiBSRTogW2Vk azItZGV2ZWxdIFtQYXRjaCAxLzFdIFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWI6DQo+ID4+ Pj4gRml4IEFQIFZvbGF0aWxlUmVnaXN0ZXJzIHJhY2UgY29uZGl0aW9uDQo+ID4+Pj4NCj4gPj4+ PiBIaSBTdGFyLA0KPiA+Pj4+DQo+ID4+Pj4gVGhhdCBsaW5lIGlzIG9ubHkgYWN0aXZlIHdoZW4g KENwdU1wRGF0YS0+U2V2RXNJc0VuYWJsZWQpIGlzIFRSVUUuDQo+ID4+Pj4NCj4gPj4+PiBUaGUg cmFjZSBjb25kaXRpb24gYWRkcmVzc2VkIGJ5IHRoaXMgQlogaXMgZm9yIHN5c3RlbXMgd2l0aA0K PiA+Pj4+IFNlY0VzSXNFbmFibGVkIEZBTFNFLg0KPiA+Pj4+DQo+ID4+Pj4gRnJvbSBjb21tZW50 cyBpbiB0aGlzIGZpbGUgdGhlIFNlY0VzSXNFbmFibGVkIGNhc2VzIGhhdmUgYWxyZWFkeQ0KPiA+ Pj4+IGJlZW4gaGFuZGxlZC4NCj4gPj4+Pg0KPiA+Pj4+IE1pa2UNCj4gPj4+Pg0KPiA+Pj4+PiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+PiBGcm9tOiBaZW5nLCBTdGFyIDxzdGFy LnplbmdAaW50ZWwuY29tPg0KPiA+Pj4+PiBTZW50OiBTdW5kYXksIEphbnVhcnkgMjQsIDIwMjEg NzoxNSBQTQ0KPiA+Pj4+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtpbm5leSwgTWljaGFl bCBEDQo+ID4+Pj4+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPj4+Pj4gQ2M6IERv bmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29t PjsNCj4gPj4+Pj4gTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IEt1bWFyLCBSYWh1 bDENCj4gPj4+Pj4gPHJhaHVsMS5rdW1hckBpbnRlbC5jb20+OyBaZW5nLCBTdGFyIDxzdGFyLnpl bmdAaW50ZWwuY29tPg0KPiA+Pj4+PiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQYXRjaCAx LzFdIFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWI6DQo+ID4+Pj4+IEZpeCBBUCBWb2xhdGls ZVJlZ2lzdGVycyByYWNlIGNvbmRpdGlvbg0KPiA+Pj4+Pg0KPiA+Pj4+PiBEb2VzDQo+ID4+Pj4+ DQo+ID4+Pj4NCj4gPj4+DQo+ID4+DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRr Mi9ibG9iL21hc3Rlci9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbg0KPiA+PiBpDQo+ID4+Pj4+IHRM aWIvTXBMaWIuYyNMOTA5IChhbHNvIGRlY3JlbWVudHMNCj4gPj4+Pj4gTnVtQXBzRXhlY3V0aW5n KSBhbHNvIG5lZWQgYmUgaGFuZGxlZD8NCj4gPj4+Pj4NCj4gPj4+Pj4gVGhhbmtzLA0KPiA+Pj4+ PiBTdGFyDQo+ID4+Pj4+DQo+ID4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ Pj4+Pj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBP biBCZWhhbGYgT2YNCj4gPj4+Pj4+IE1pY2hhZWwgRCBLaW5uZXkNCj4gPj4+Pj4+IFNlbnQ6IFNh dHVyZGF5LCBKYW51YXJ5IDIzLCAyMDIxIDE6MTAgQU0NCj4gPj4+Pj4+IFRvOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbw0KPiA+Pj4+Pj4gQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+ OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsNCj4gPj4+Pj4+IExhc3psbyBFcnNlayA8bGVy c2VrQHJlZGhhdC5jb20+OyBLdW1hciwNCj4gPj4+Pj4+IFJhaHVsMSA8cmFodWwxLmt1bWFyQGlu dGVsLmNvbT4NCj4gPj4+Pj4+IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBbUGF0Y2ggMS8xXSBVZWZp Q3B1UGtnL0xpYnJhcnkvTXBJbml0TGliOg0KPiA+Pj4+Pj4gRml4IEFQIFZvbGF0aWxlUmVnaXN0 ZXJzIHJhY2UgY29uZGl0aW9uDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gUkVGOiBodHRwczovL2J1Z3pp bGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTMxODINCj4gPj4+Pj4+DQo+ID4+Pj4+ PiBGaXggdGhlIG9yZGVyIG9mIG9wZXJhdGlvbnMgaW4gQXBXYWtldXBGdW5jdGlvbigpIHdoZW4N Cj4gPj4+Pj4+IFBjZENwdUFwTG9vcE1vZGUgaXMgc2V0IHRvIEhMVCBtb2RlIHRoYXQgdXNlcyBJ TklULVNJUEktU0lQSSB0bw0KPiA+Pj4gd2FrZQ0KPiA+Pj4+Pj4gQVBzLiAgSW4gdGhpcyBtb2Rl LCB2b2xhdGlsZSBzdGF0ZSBpcyByZXN0b3JlZCBhbmQgc2F2ZWQgZWFjaA0KPiA+Pj4+Pj4gdGlt ZSBhIElOSVQtU0lQSS1TSVBJIGlzIHNlbnQgdG8gYW4gQVAgdG8gcmVxdWVzdCBhIGZ1bmN0aW9u IHRvDQo+ID4+Pj4+PiBiZSBleGVjdXRlZCBvbiB0aGUgQVAuICBXaGVuIHRoZSBmdW5jdGlvbiBp cyBjb21wbGV0ZWQgdGhlDQo+ID4+Pj4+PiB2b2xhdGlsZSBzdGF0ZSBvZiB0aGUgQVAgaXMgc2F2 ZWQuICBIb3dldmVyLCB0aGUgY291bnRlcnMNCj4gPj4+Pj4+IE51bUFwc0V4ZWN1dGluZyBhbmQg RmluaXNoZWRDb3VudCBhcmUgdXBkYXRlZCBiZWZvcmUgdGhlDQo+IHZvbGF0aWxlDQo+ID4+Pj4+ PiBzdGF0ZSBpcyBzYXZlZC4gIFRoaXMgYWxsb3dzIGZvciBhIHJhY2UgY29uZGl0aW9uIHdpbmRv dyBmb3IgdGhlDQo+ID4+Pj4+PiBCU1AgdGhhdCBpcyB3YWl0aW5nIG9uIHRoZXNlIGNvdW50ZXJz IHRvIHJlcXVlc3QgYSBuZXcNCj4gPj4+Pj4+IElOSVQtU0lQSS1TSVBJIGJlZm9yZSBhbGwgdGhl IEFQcyBoYXZlIGNvbXBsZXRlbHkgc2F2ZWQgdGhlaXINCj4gPj4+Pj4+IHZvbGF0aWxlIHN0YXRl LiAgVGhlIGZpeCBpcyB0byBzYXZlIHRoZSBBUCB2b2xhdGlsZSBzdGF0ZSBiZWZvcmUNCj4gPj4+ Pj4+IHVwZGF0aW5nIHRoZSBOdW1BcHNFeGVjdXRpbmcgYW5kIEZpbmlzaGVkQ291bnQgY291bnRl cnMuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNv bT4NCj4gPj4+Pj4+IENjOiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4+Pj4+PiBDYzog TGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPj4+Pj4+IENjOiBSYWh1bCBLdW1h ciA8cmFodWwxLmt1bWFyQGludGVsLmNvbT4NCj4gPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IE1pY2hh ZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+Pj4+Pj4gLS0tDQo+ ID4+Pj4+PiAgVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9NcExpYi5jIHwgMzENCj4gPj4+ Pj4+ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0NCj4gPj4+Pj4+ICAxIGZpbGUgY2hhbmdl ZCwgMTggaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4g ZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIuYw0KPiA+Pj4+ Pj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL01wTGliLmMNCj4gPj4+Pj4+IGluZGV4 IDY4MWZhNzliNGNmZi4uOGIxZjdmODRiYWQ2IDEwMDY0NA0KPiA+Pj4+Pj4gLS0tIGEvVWVmaUNw dVBrZy9MaWJyYXJ5L01wSW5pdExpYi9NcExpYi5jDQo+ID4+Pj4+PiArKysgYi9VZWZpQ3B1UGtn L0xpYnJhcnkvTXBJbml0TGliL01wTGliLmMNCj4gPj4+Pj4+IEBAIC03NjksMTUgKzc2OSw2IEBA IEFwV2FrZXVwRnVuY3Rpb24gKA0KPiA+Pj4+Pj4gICAgICAgIFJlc3RvcmVWb2xhdGlsZVJlZ2lz dGVycw0KPiA+Pj4+Pj4gKCZDcHVNcERhdGEtPkNwdURhdGFbMF0uVm9sYXRpbGVSZWdpc3RlcnMs DQo+ID4+Pj4+PiBGQUxTRSk7DQo+ID4+Pj4+PiAgICAgICAgSW5pdGlhbGl6ZUFwRGF0YSAoQ3B1 TXBEYXRhLCBQcm9jZXNzb3JOdW1iZXIsIEJpc3REYXRhLA0KPiA+Pj4+Pj4gQXBUb3BPZlN0YWNr KTsNCj4gPj4+Pj4+ICAgICAgICBBcFN0YXJ0dXBTaWduYWxCdWZmZXIgPSBDcHVNcERhdGEtDQo+ ID4+Pj4+Pj4gQ3B1RGF0YVtQcm9jZXNzb3JOdW1iZXJdLlN0YXJ0dXBBcFNpZ25hbDsNCj4gPj4+ Pj4+IC0NCj4gPj4+Pj4+IC0gICAgICAvLw0KPiA+Pj4+Pj4gLSAgICAgIC8vIERlbGF5IGRlY3Jl bWVudGluZyB0aGUgQVBzIGV4ZWN1dGluZyBjb3VudCB3aGVuIFNFVi1FUyBpcw0KPiA+Pj4+IGVu YWJsZWQNCj4gPj4+Pj4+IC0gICAgICAvLyB0byBhbGxvdyB0aGUgQVBzIHRvIGlzc3VlIGFuIEFQ X1JFU0VUX0hPTEQgYmVmb3JlIHRoZSBCU1ANCj4gPj4+PiBwb3NzaWJseQ0KPiA+Pj4+Pj4gLSAg ICAgIC8vIHBlcmZvcm1zIGFub3RoZXIgSU5JVC1TSVBJLVNJUEkgc2VxdWVuY2UuDQo+ID4+Pj4+ PiAtICAgICAgLy8NCj4gPj4+Pj4+IC0gICAgICBpZiAoIUNwdU1wRGF0YS0+U2V2RXNJc0VuYWJs ZWQpIHsNCj4gPj4+Pj4+IC0gICAgICAgIEludGVybG9ja2VkRGVjcmVtZW50ICgoVUlOVDMyICop ICZDcHVNcERhdGEtDQo+ID4+Pj4+Pj4gTXBDcHVFeGNoYW5nZUluZm8tPk51bUFwc0V4ZWN1dGlu Zyk7DQo+ID4+Pj4+PiAtICAgICAgfQ0KPiA+Pj4+Pj4gICAgICB9IGVsc2Ugew0KPiA+Pj4+Pj4g ICAgICAgIC8vDQo+ID4+Pj4+PiAgICAgICAgLy8gRXhlY3V0ZSBBUCBmdW5jdGlvbiBpZiBBUCBp cyByZWFkeSBAQCAtODY2LDE5ICs4NTcsMzMNCj4gPj4+Pj4+IEBAIEFwV2FrZXVwRnVuY3Rpb24g KA0KPiA+Pj4+Pj4gICAgICAgIH0NCj4gPj4+Pj4+ICAgICAgfQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+ ICsgICAgaWYgKENwdU1wRGF0YS0+QXBMb29wTW9kZSA9PSBBcEluSGx0TG9vcCkgew0KPiA+Pj4+ Pj4gKyAgICAgIC8vDQo+ID4+Pj4+PiArICAgICAgLy8gU2F2ZSBBUCB2b2xhdGlsZSByZWdpc3Rl cnMNCj4gPj4+Pj4+ICsgICAgICAvLw0KPiA+Pj4+Pj4gKyAgICAgIFNhdmVWb2xhdGlsZVJlZ2lz dGVycyAoJkNwdU1wRGF0YS0NCj4gPj4+Pj4+PiBDcHVEYXRhW1Byb2Nlc3Nvck51bWJlcl0uVm9s YXRpbGVSZWdpc3RlcnMpOw0KPiA+Pj4+Pj4gKyAgICB9DQo+ID4+Pj4+PiArDQo+ID4+Pj4+PiAg ICAgIC8vDQo+ID4+Pj4+PiAgICAgIC8vIEFQIGZpbmlzaGVkIGV4ZWN1dGluZyBDIGNvZGUNCj4g Pj4+Pj4+ICAgICAgLy8NCj4gPj4+Pj4+ICAgICAgSW50ZXJsb2NrZWRJbmNyZW1lbnQgKChVSU5U MzIgKikgJkNwdU1wRGF0YS0+RmluaXNoZWRDb3VudCk7DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gKyAg ICBpZiAoQ3B1TXBEYXRhLT5Jbml0RmxhZyA9PSBBcEluaXRDb25maWcpIHsNCj4gPj4+Pj4+ICsg ICAgICAvLw0KPiA+Pj4+Pj4gKyAgICAgIC8vIERlbGF5IGRlY3JlbWVudGluZyB0aGUgQVBzIGV4 ZWN1dGluZyBjb3VudCB3aGVuIFNFVi1FUw0KPiA+Pj4+Pj4gKyBpcw0KPiA+Pj4+IGVuYWJsZWQN Cj4gPj4+Pj4+ICsgICAgICAvLyB0byBhbGxvdyB0aGUgQVBzIHRvIGlzc3VlIGFuIEFQX1JFU0VU X0hPTEQgYmVmb3JlIHRoZQ0KPiA+Pj4+Pj4gKyBCU1ANCj4gPj4+PiBwb3NzaWJseQ0KPiA+Pj4+ Pj4gKyAgICAgIC8vIHBlcmZvcm1zIGFub3RoZXIgSU5JVC1TSVBJLVNJUEkgc2VxdWVuY2UuDQo+ ID4+Pj4+PiArICAgICAgLy8NCj4gPj4+Pj4+ICsgICAgICBpZiAoIUNwdU1wRGF0YS0+U2V2RXNJ c0VuYWJsZWQpIHsNCj4gPj4+Pj4+ICsgICAgICAgIEludGVybG9ja2VkRGVjcmVtZW50ICgoVUlO VDMyICopICZDcHVNcERhdGEtDQo+ID4+Pj4+Pj4gTXBDcHVFeGNoYW5nZUluZm8tPk51bUFwc0V4 ZWN1dGluZyk7DQo+ID4+Pj4+PiArICAgICAgfQ0KPiA+Pj4+Pj4gKyAgICB9DQo+ID4+Pj4+PiAr DQo+ID4+Pj4+PiAgICAgIC8vDQo+ID4+Pj4+PiAgICAgIC8vIFBsYWNlIEFQIGlzIHNwZWNpZmll ZCBsb29wIG1vZGUNCj4gPj4+Pj4+ICAgICAgLy8NCj4gPj4+Pj4+ICAgICAgaWYgKENwdU1wRGF0 YS0+QXBMb29wTW9kZSA9PSBBcEluSGx0TG9vcCkgew0KPiA+Pj4+Pj4gLSAgICAgIC8vDQo+ID4+ Pj4+PiAtICAgICAgLy8gU2F2ZSBBUCB2b2xhdGlsZSByZWdpc3RlcnMNCj4gPj4+Pj4+IC0gICAg ICAvLw0KPiA+Pj4+Pj4gLSAgICAgIFNhdmVWb2xhdGlsZVJlZ2lzdGVycyAoJkNwdU1wRGF0YS0N Cj4gPj4+Pj4+PiBDcHVEYXRhW1Byb2Nlc3Nvck51bWJlcl0uVm9sYXRpbGVSZWdpc3RlcnMpOw0K PiA+Pj4+Pj4gICAgICAgIC8vDQo+ID4+Pj4+PiAgICAgICAgLy8gUGxhY2UgQVAgaW4gSExULWxv b3ANCj4gPj4+Pj4+ICAgICAgICAvLw0KPiA+Pj4+Pj4gLS0NCj4gPj4+Pj4+IDIuMjkuMi53aW5k b3dzLjINCj4gPj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+Pg0K PiA+DQo+IA0KPiANCj4gDQo+IA0KPiANCg0K