From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: ray.ni@intel.com) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by groups.io with SMTP; Wed, 24 Jul 2019 00:02:16 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Jul 2019 00:02:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,302,1559545200"; d="scan'208";a="174793666" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga006.jf.intel.com with ESMTP; 24 Jul 2019 00:02:15 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 24 Jul 2019 00:02:14 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 24 Jul 2019 00:02:14 -0700 Received: from shsmsx153.ccr.corp.intel.com (10.239.6.53) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 24 Jul 2019 00:02:14 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.110]) by SHSMSX153.ccr.corp.intel.com ([169.254.12.60]) with mapi id 14.03.0439.000; Wed, 24 Jul 2019 15:02:12 +0800 From: "Ni, Ray" To: Laszlo Ersek , "devel@edk2.groups.io" CC: "Dong, Eric" Subject: Re: [edk2-devel] [PATCH 1/4] UefiCpuPkg/MpInitLib: Enable 5-level paging for AP when BSP's enabled Thread-Topic: [edk2-devel] [PATCH 1/4] UefiCpuPkg/MpInitLib: Enable 5-level paging for AP when BSP's enabled Thread-Index: AQHVQTcaEqoYUbU59EiGX+8AuzgUTqbZV+RA Date: Wed, 24 Jul 2019 07:02:12 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C24294E@SHSMSX104.ccr.corp.intel.com> References: <20190722081547.56100-1-ray.ni@intel.com> <20190722081547.56100-2-ray.ni@intel.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: ray.ni@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMYXN6bG8gRXJzZWsgPGxlcnNl a0ByZWRoYXQuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBKdWx5IDIzLCAyMDE5IDU6MTUgUE0NCj4g VG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPiBD YzogRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsy LWRldmVsXSBbUEFUQ0ggMS80XSBVZWZpQ3B1UGtnL01wSW5pdExpYjogRW5hYmxlIDUtbGV2ZWwN Cj4gcGFnaW5nIGZvciBBUCB3aGVuIEJTUCdzIGVuYWJsZWQNCj4gDQo+IExhdGVyIChhZnRlciBt b3JlIGZlZWRiYWNrIGhhcyBiZWVuIGNvbGxlY3RlZCksIEkgd291bGQgbGlrZSB0byByZWdyZXNz aW9uLQ0KPiB0ZXN0IHRoaXMgc2VyaWVzOyBmb3Igbm93LCBqdXN0IHNvbWUgc3VwZXJmaWNpYWwg Y29tbWVudHM6DQo+IA0KPiBPbiAwNy8yMi8xOSAxMDoxNSwgTmksIFJheSB3cm90ZToNCj4gPiBS RUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwOA0K PiA+DQo+ID4gTXBJbml0TGliIGlzIHRoZSBsaWJyYXJ5IHRoYXQncyByZXNwb25zaWJsZSB0byB3 YWtlIHVwIEFQcyB0byBwcm92aWRlDQo+ID4gTVAgUFBJIGFuZCBQcm90b2NvbCBzZXJ2aWNlcy4N Cj4gPg0KPiA+IFRoZSBwYXRjaCBzeW5jaHJvbml6ZXMgQlNQJ3MgQ1I0LkxBNTcgdG8gZWFjaCBB UCdzIENSNC5MQTU3Lg0KPiA+IFdpdGhvdXQgdGhpcyBjaGFuZ2UsIEFQIG1heSBlbnRlciB0byBH UCBmYXVsdCB3aGVuIEJTUCdzIDUtbGV2ZWwgcGFnZQ0KPiA+IHRhYmxlIGlzIHNldCB0byBBUCBk dXJpbmcgQVAgd2FrZXMgdXAuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBSYXkgTmkgPHJheS5u aUBpbnRlbC5jb20+DQo+ID4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4g PiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPiAtLS0NCj4gPiAgVWVm aUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9NcExpYi5jICAgICAgICAgIHwgMTEgKysrKysrKysr KysNCj4gPiAgVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9NcExpYi5oICAgICAgICAgIHwg IDYgKysrKystDQo+ID4gIFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvWDY0L01wRXF1Lmlu YyAgICB8ICAzICsrLQ0KPiA+ICBVZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL1g2NC9NcEZ1 bmNzLm5hc20gfCAxNCArKysrKysrKysrKysrLQ0KPiA+ICA0IGZpbGVzIGNoYW5nZWQsIDMxIGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvVWVmaUNw dVBrZy9MaWJyYXJ5L01wSW5pdExpYi9NcExpYi5jDQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkv TXBJbml0TGliL01wTGliLmMNCj4gPiBpbmRleCA2ZjUxYmM0ZWJmLi5lNDY5MTMxNWU5IDEwMDY0 NA0KPiA+IC0tLSBhL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIuYw0KPiA+ICsr KyBiL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIuYw0KPiA+IEBAIC03OTAsNiAr NzkwLDcgQEAgRmlsbEV4Y2hhbmdlSW5mb0RhdGEgKA0KPiA+ICAgIHZvbGF0aWxlIE1QX0NQVV9F WENIQU5HRV9JTkZPICAgICpFeGNoYW5nZUluZm87DQo+ID4gICAgVUlOVE4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgU2l6ZTsNCj4gPiAgICBJQTMyX1NFR01FTlRfREVTQ1JJUFRPUiAgICAg ICAgICAqU2VsZWN0b3I7DQo+ID4gKyAgSUEzMl9DUjQgICAgICAgICAgICAgICAgICAgICAgICAg Q3I0Ow0KPiA+DQo+ID4gICAgRXhjaGFuZ2VJbmZvICAgICAgICAgICAgICAgICAgPSBDcHVNcERh dGEtPk1wQ3B1RXhjaGFuZ2VJbmZvOw0KPiA+ICAgIEV4Y2hhbmdlSW5mby0+TG9jayAgICAgICAg ICAgID0gMDsNCj4gPiBAQCAtODE0LDYgKzgxNSwxNiBAQCBGaWxsRXhjaGFuZ2VJbmZvRGF0YSAo DQo+ID4NCj4gPiAgICBFeGNoYW5nZUluZm8tPkluaXRpYWxpemVGbG9hdGluZ1BvaW50VW5pdHNB ZGRyZXNzID0NCj4gPiAoVUlOVE4pSW5pdGlhbGl6ZUZsb2F0aW5nUG9pbnRVbml0czsNCj4gPg0K PiA+ICsgIC8vDQo+ID4gKyAgLy8gV2UgY2FuIGNoZWNrIGVpdGhlciBDUFVJRCg3KS5FQ1hbYml0 MTZdIG9yIGNoZWNrIENSNC5MQTU3W2JpdDEyXQ0KPiA+ICsgLy8gIHRvIGRldGVybWluIHdoZXRo ZXIgNS1MZXZlbCBQYWdpbmcgaXMgZW5hYmxlZC4NCj4gPiArICAvLyBVc2luZyBsYXR0ZXIgd2F5 IGlzIHNpbXBsZXIgYmVjYXVzZSBpdCBhbHNvIGVsaW1pbmF0ZXMgdGhlIG5lZWRzDQo+ID4gKyB0 byAgLy8gIGNoZWNrIHdoZXRoZXIgcGxhdGZvcm0gd2FudHMgdG8gZW5hYmxlIGl0Lg0KPiA+ICsg IC8vDQo+ID4gKyAgQ3I0LlVpbnROID0gQXNtUmVhZENyNCAoKTsNCj4gDQo+ICgxKSBBcmUgdGhl IGFib3ZlIGNoZWNrcyAoQ1BVSUQgYW5kIENSNCkgaW50ZXJjaGFuZ2VhYmxlIG9uIEFNRA0KPiBw cm9jZXNzb3JzIHRvbz8NCg0KSSBhbSBub3Qgc3VyZSBhYm91dCB0aGF0IHJlYWxseS4NClNpbmNl IEludGVsIGFuZCBBTUQgaGFzIG1hZ2ljYWxseSBhbGlnbmVkIGVhY2ggYml0IGluIGNvbnRyb2wg cmVnaXN0ZXJzIGZvcg0KcXVpdGUgYSBsb25nIHBlcmlvZCwgSSBkb24ndCBzZWUgYmlnIHJpc2sg aGVyZSBmb3IgNS1sZXZlbCBwYWdpbmcgc3VwcG9ydCBvbg0KZnV0dXJlIEFNRCBwcm9jZXNzb3Jz 8J+Yig0KDQo+IA0KPiA+ICsgIEV4Y2hhbmdlSW5mby0+RW5hYmxlNUxldmVsUGFnaW5nID0gKEJP T0xFQU4pIChDcjQuQml0cy5MQTU3ID09IDEpOw0KPiA+ICsgREVCVUcgKChERUJVR19JTkZPLCAi Q3B1TXA6IDUtTGV2ZWwgUGFnaW5nID0gJWRcbiIsDQo+ID4gKyBFeGNoYW5nZUluZm8tPkVuYWJs ZTVMZXZlbFBhZ2luZykpOw0KPiA+ICsNCj4gPiAgICAvLw0KPiA+ICAgIC8vIEdldCB0aGUgQlNQ J3MgZGF0YSBvZiBHRFQgYW5kIElEVA0KPiA+ICAgIC8vDQo+IA0KPiAoMikgUXVpdGUgdW5pbXBv cnRhbnQgY29tbWVudCwgYnV0IEkgbWlnaHQgYXMgd2VsbCBtYWtlIGl0Og0KPiANCj4gLSBJbiBs aWJyYXJ5IGNvZGUsIGl0J3MgYmVzdCB0byByZWZlciB0byBhY3R1YWwgbW9kdWxlIG5hbWVzIHdp dGgNCj4gZ0VmaUNhbGxlckJhc2VOYW1lLiAiQ3B1TXAiIGlzbid0IGlkZWFsIGluIHRoaXMgbG9n IG1lc3NhZ2UuDQo+IA0KPiAtICJFeGNoYW5nZUluZm8tPkVuYWJsZTVMZXZlbFBhZ2luZyIgaXMg YSBVSU5UTjsgd2Ugc2hvdWxkbid0IGxvZyBpdA0KPiB3aXRoICVkLiBUaGUgcG9ydGFibGUgbG9n Z2luZyBmb3IgVUlOVE4gaXMgdG8gY2FzdCBpdCB0byBVSU5UNjQsIGFuZCBwcmludCBpdA0KPiB3 aXRoICVMdS4gSW4gdGhpcyBwYXJ0aWN1bGFyIGNhc2UsIHdlIGtub3cgaXQncyBlaXRoZXIgMCBv ciAxLCBzbyB3ZSBjYW4gcHJpbnQgaXQNCj4gd2l0aCAlZCB0b28sIGJ1dCB0aGVuIHdlIHNob3Vs ZCBjYXN0IGl0IHRvIElOVDMyLg0KDQpTdXJlLiBXaWxsIGFkZHJlc3MgdGhlbSBpbiBWMi4NCg0K PiANCj4gPiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9NcExpYi5o DQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL01wTGliLmgNCj4gPiBpbmRleCBm ODkwMzdjNTllLi5mYTdkNmIzMmU5IDEwMDY0NA0KPiA+IC0tLSBhL1VlZmlDcHVQa2cvTGlicmFy eS9NcEluaXRMaWIvTXBMaWIuaA0KPiA+ICsrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRM aWIvTXBMaWIuaA0KPiA+IEBAIC0xLDcgKzEsNyBAQA0KPiA+ICAvKiogQGZpbGUNCj4gPiAgICBD b21tb24gaGVhZGVyIGZpbGUgZm9yIE1QIEluaXRpYWxpemUgTGlicmFyeS4NCj4gPg0KPiA+IC0g IENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz DQo+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+ICsgIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTksIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gKyByZXNlcnZlZC48QlI+DQo+ID4gICAg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPg0KPiA+ICAq Ki8NCj4gPiBAQCAtMTg1LDYgKzE4NSwxMCBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+ID4gICAgVUlO VDE2ICAgICAgICAgICAgICAgIE1vZGVUcmFuc2l0aW9uU2VnbWVudDsNCj4gPiAgICBVSU5UMzIg ICAgICAgICAgICAgICAgTW9kZUhpZ2hNZW1vcnk7DQo+ID4gICAgVUlOVDE2ICAgICAgICAgICAg ICAgIE1vZGVIaWdoU2VnbWVudDsNCj4gPiArICAvLw0KPiA+ICsgIC8vIEVuYWJsZTVMZXZlbFBh Z2luZyBpbmRpY2F0ZXMgd2hldGhlciA1LWxldmVsIHBhZ2luZyBpcyBlbmFibGVkIGluIGxvbmcN Cj4gbW9kZS4NCj4gPiArICAvLw0KPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICBFbmFibGU1 TGV2ZWxQYWdpbmc7DQo+ID4gIH0gTVBfQ1BVX0VYQ0hBTkdFX0lORk87DQo+ID4NCj4gPiAgI3By YWdtYSBwYWNrKCkNCj4gPiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExp Yi9YNjQvTXBFcXUuaW5jDQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL1g2NC9N cEVxdS5pbmMNCj4gPiBpbmRleCA0NjdmNTRhODYwLi41OGVmMzY5MzQyIDEwMDY0NA0KPiA+IC0t LSBhL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvWDY0L01wRXF1LmluYw0KPiA+ICsrKyBi L1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvWDY0L01wRXF1LmluYw0KPiA+IEBAIC0xLDUg KzEsNSBAQA0KPiA+DQo+ID4gOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+IC0tLS0tLS0tLSA7IC07IENvcHly aWdodCAoYykgMjAxNSAtIDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBBbGwNCj4gPiByaWdodHMg cmVzZXJ2ZWQuPEJSPg0KPiA+ICs7IENvcHlyaWdodCAoYykgMjAxNSAtIDIwMTksIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gK3Jlc2VydmVkLjxCUj4NCj4gPiAgOyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudCAgOyAgOyBNb2R1bGUgTmFtZToN Cj4gPiBAQCAtNDAsMyArNDAsNCBAQCBNb2RlVHJhbnNpdGlvbk1lbW9yeUxvY2F0aW9uICAgICAg ICBlcXUNCj4gTG9ja0xvY2F0aW9uICsgOTRoDQo+ID4gIE1vZGVUcmFuc2l0aW9uU2VnbWVudExv Y2F0aW9uICAgICAgIGVxdSAgTG9ja0xvY2F0aW9uICsgOThoDQo+ID4gIE1vZGVIaWdoTWVtb3J5 TG9jYXRpb24gICAgICAgICAgICAgIGVxdSAgTG9ja0xvY2F0aW9uICsgOUFoDQo+ID4gIE1vZGVI aWdoU2VnbWVudExvY2F0aW9uICAgICAgICAgICAgIGVxdSAgTG9ja0xvY2F0aW9uICsgOUVoDQo+ ID4gK0VuYWJsZTVMZXZlbFBhZ2luZ0xvY2F0aW9uICAgICAgICAgIGVxdSAgTG9ja0xvY2F0aW9u ICsgMEEwaA0KPiANCj4gKDMpIEFueSBwYXJ0aWN1bGFyIHJlYXNvbiBmb3IgIjBBMGgiIHJhdGhl ciB0aGFuIGp1c3QgIkEwaCI/DQoNCk9yaWdpbmFsbHkgSSBoYWQgc29tZSBpZGVhIHRvIG1ha2Ug c3VyZSAiMC05IiBpbiB0aGUgYmVnaW5uaW5nLg0KTm93IHlvdSBhc2ssIGFzIGxvbmcgYXMgYnVp bGQgcGFzc2VzIEkgZG9uJ3Qgc2VlIHJlYXNvbiB0byBoYXZlIDAgYXMgcHJlZml4Lg0KDQo+IA0K PiA+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL1g2NC9NcEZ1bmNz Lm5hc20NCj4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvWDY0L01wRnVuY3MubmFz bQ0KPiA+IGluZGV4IGNlYTkwZjNkNGQuLmI1NjNjMmVkM2UgMTAwNjQ0DQo+ID4gLS0tIGEvVWVm aUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9YNjQvTXBGdW5jcy5uYXNtDQo+ID4gKysrIGIvVWVm aUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9YNjQvTXBGdW5jcy5uYXNtDQo+ID4gQEAgLTEsNSAr MSw1IEBADQo+ID4NCj4gPiA7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gLS0tLS0tLS0tIDsgLTsgQ29weXJp Z2h0IChjKSAyMDE1IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbA0KPiA+IHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ID4gKzsgQ29weXJpZ2h0IChjKSAyMDE1IC0gMjAxOSwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiArcmVzZXJ2ZWQuPEJSPg0KPiA+ICA7IFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50ICA7ICA7IE1vZHVsZSBOYW1lOg0K PiA+IEBAIC0xMDAsNiArMTAwLDE4IEBAIFNraXBFbmFibGVFeGVjdXRlRGlzYWJsZUJpdDoNCj4g PiAgICAgIDsNCj4gPiAgICAgIG1vdiAgICAgICAgZWF4LCBjcjQNCj4gPiAgICAgIGJ0cyAgICAg ICAgZWF4LCA1DQo+ID4gKw0KPiA+ICsgICAgbW92ICAgICAgICBlc2ksIEVuYWJsZTVMZXZlbFBh Z2luZ0xvY2F0aW9uDQo+ID4gKyAgICBjbXAgICAgICAgIGJ5dGUgW2VieCArIGVzaV0sIDANCj4g DQo+ICg0KSBJZiB3ZSB1c2UgYSBieXRlIGNvbXBhcmlzb24gaGVyZSwgd2h5IGRvbid0IHdlIG1h a2UgdGhlIGZpZWxkIGl0c2VsZiBhDQo+IFVJTlQ4IChvciBldmVuIEJPT0xFQU4pPyBUaGUgTVBf Q1BVX0VYQ0hBTkdFX0lORk8gc3RydWN0dXJlIGlzDQo+IHBhY2tlZC4NCg0KU3VyZS4gV2lsbCBh ZGRyZXNzIHRoZW0gaW4gVjIuDQoNCj4gDQo+IChJZiB3ZSBzdGlsbCB3YW50IHRvIHVzZSBhIHdo b2xlIFVJTlROIGZvciB0aGlzIHB1cnBvc2UsIHRoZW4gSSB0aGluayB0aGUgemVybw0KPiBjb21w YXJpc29uIHNob3VsZCBjb3ZlciB0aGUgd2hvbGUgZmllbGQuKQ0KPiANCj4gPiArICAgIGp6ICAg ICAgICAgU2tpcEVuYWJsZTVQYWdpbmcNCj4gPiArDQo+ID4gKyAgICA7DQo+ID4gKyAgICA7IEVu YWJsZSA1IExldmVsIFBhZ2luZw0KPiA+ICsgICAgOw0KPiA+ICsgICAgYnRzICAgICAgICBlYXgs IDEyICAgICAgICAgICAgICAgICAgICAgOyBTZXQgTEE1Nz0xLg0KPiA+ICsNCj4gPiArU2tpcEVu YWJsZTVQYWdpbmc6DQo+IA0KPiAoNSkgTm90IHRvbyBpbXBvcnRhbnQsIGJ1dCB3ZSBtaWdodCBh cyB3ZWxsIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgbmFtaW5nDQo+IGVsc2V3aGVyZSwgYW5kIGNh bGwgdGhpcyAiU2tpcEVuYWJsZTVMZXZlbFBhZ2luZyIuIFVwIHRvIHlvdS4NCj4gDQpTdXJlLiBX aWxsIGFkZHJlc3MgdGhlbSBpbiBWMi4NCj4gVGhhbmtzDQo+IExhc3psbw0KPiANCj4gPiArDQo+ ID4gICAgICBtb3YgICAgICAgIGNyNCwgZWF4DQo+ID4NCj4gPiAgICAgIDsNCj4gPg0KDQo=