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.24, mailfrom: star.zeng@intel.com) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by groups.io with SMTP; Thu, 16 May 2019 20:05:15 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 May 2019 20:05:14 -0700 X-ExtLoop1: 1 Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga004.fm.intel.com with ESMTP; 16 May 2019 20:05:14 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 16 May 2019 20:05:13 -0700 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 16 May 2019 20:05:13 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.249]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.136]) with mapi id 14.03.0415.000; Fri, 17 May 2019 11:05:11 +0800 From: "Zeng, Star" To: "Ni, Ray" , "devel@edk2.groups.io" , "lersek@redhat.com" CC: "Dong, Eric" , "Kumar, Chandana C" , "Li, Kevin Y" , "Zeng, Star" Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg CpuCommonFeaturesLib: Remove CPU generation check Thread-Topic: [edk2-devel] [PATCH] UefiCpuPkg CpuCommonFeaturesLib: Remove CPU generation check Thread-Index: AQHVC9LagT9l4a8MjUiQ4BXHxCFFNqZtMpQAgACfecCAACkhgIAApbPA Date: Fri, 17 May 2019 03:05:11 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB048310402E3AD1@shsmsx102.ccr.corp.intel.com> References: <20190516103335.76628-1-star.zeng@intel.com> <7eeffb11-79ae-39b6-73a6-8c84434a1855@redhat.com> <0C09AFA07DD0434D9E2A0C6AEB048310402E357B@shsmsx102.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5C145D7D@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C145D7D@SHSMSX104.ccr.corp.intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: star.zeng@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 U2l0dWF0aW9uOiBBbGwgdGhlIGdlbmVyYXRpb25zIChpbmNsdWRpbmcgdGhlIGludGVybmFsIGdl bmVyYXRpb25zIG5vdCBsaXN0ZWQgaW4gU0RNKSB3ZSBzYXcgaGF2ZSBNU1IgMTNDaCBhdmFpbGFi bGUgd2hlbiBDcHVJbmZvLT5DcHVJZFZlcnNpb25JbmZvRWN4LkJpdHMuQUVTTkkgPT0gMS4NCg0K UmVxdWlyZW1lbnQ6IFJldXNlIG1vcmUgY29kZS4NCg0KQ291bGQgeW91IGhlbHAgdGhpbmsgdGhl IGdvb2QgbWV0aG9kIGFuZCBldmVuIHByb3Bvc2UgdGhlIHBhdGNoIGZvciB0aGF0PyBJIGFtIG9r IHRvIGFueSBtZXRob2QgdG8gaW1wcm92ZSB0aGUgY29kZSdzIHJldXNhYmlsaXR5Lg0KT3RoZXJ3 aXNlLCB3ZSBjYW4gb25seSB1c2UgZnVuY3Rpb24gbGV2ZWwgb3ZlcnJpZGUgbWV0aG9kIGluYSBD cHVTcGVjaWZpY0ZlYXR1cmVzTGliLg0KICAgIFN0YXR1cyA9IFJlZ2lzdGVyQ3B1RmVhdHVyZSAo DQogICAgICAgICAgICAgICAiQUVTTkkiLA0KICAgICAgICAgICAgICAgTlVMTCwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVzZSBjb3JlIGZ1bmN0aW9uDQogICAg ICAgICAgICAgICBTcGVjaWZpY0Flc25pU3VwcG9ydCwgICAgICAgICAgICAgICAgICAgICAgICAg Ly8gT3ZlcnJpZGUgY29yZSBmdW5jdGlvbg0KICAgICAgICAgICAgICAgTlVMTCwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVzZSBjb3JlIGZ1bmN0aW9uDQogICAg ICAgICAgICAgICBDUFVfRkVBVFVSRV9BRVNOSSwNCiAgICAgICAgICAgICAgIENQVV9GRUFUVVJF X0VORA0KICAgICAgICAgICAgICAgKTsNCg0KVGhhbmtzLA0KU3Rhcg0KPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBOaSwgUmF5DQo+IFNlbnQ6IEZyaWRheSwgTWF5IDE3LCAy MDE5IDk6MDQgQU0NCj4gVG86IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBkZXZl bEBlZGsyLmdyb3Vwcy5pbzsNCj4gbGVyc2VrQHJlZGhhdC5jb20NCj4gQ2M6IERvbmcsIEVyaWMg PGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBLdW1hciwgQ2hhbmRhbmEgQw0KPiA8Y2hhbmRhbmEuYy5r dW1hckBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBVZWZp Q3B1UGtnIENwdUNvbW1vbkZlYXR1cmVzTGliOg0KPiBSZW1vdmUgQ1BVIGdlbmVyYXRpb24gY2hl Y2sNCj4gDQo+IFN0YXIsDQo+IEkgdGhpbmsgdGhlIGRpc2N1c3Npb24gaXMgYWJvdXQgcHJvdmlk aW5nIHRoZSBldmlkZW5jZSB0byBzdXBwb3J0IHJlbW92aW5nDQo+IHRoZSBnZW5lcmF0aW9uIGNo ZWNrLg0KPiBOb3QganVzdCB0aGUgYmVuZWZpdCBvZiB0aGF0Lg0KPiANCj4gVGhhbmtzLA0KPiBS YXkNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBaZW5nLCBT dGFyDQo+ID4gU2VudDogVGh1cnNkYXksIE1heSAxNiwgMjAxOSAxMDo1MiBQTQ0KPiA+IFRvOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbzsgbGVyc2VrQHJlZGhhdC5jb20NCj4gPiBDYzogRG9uZywgRXJp YyA8ZXJpYy5kb25nQGludGVsLmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+Ow0KPiA+ IEt1bWFyLCBDaGFuZGFuYSBDIDxjaGFuZGFuYS5jLmt1bWFyQGludGVsLmNvbT47IFplbmcsIFN0 YXINCj4gPiA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2 ZWxdIFtQQVRDSF0gVWVmaUNwdVBrZyBDcHVDb21tb25GZWF0dXJlc0xpYjoNCj4gPiBSZW1vdmUg Q1BVIGdlbmVyYXRpb24gY2hlY2sNCj4gPg0KPiA+IExhc3psbywNCj4gPg0KPiA+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIFtt YWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW9dIE9uIEJlaGFsZg0KPiA+ID4gT2YgTGFzemxvIEVy c2VrDQo+ID4gPiBTZW50OiBUaHVyc2RheSwgTWF5IDE2LCAyMDE5IDk6MDYgUE0NCj4gPiA+IFRv OiBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8N Cj4gPiA+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5 Lm5pQGludGVsLmNvbT47DQo+ID4gPiBLdW1hciwgQ2hhbmRhbmEgQyA8Y2hhbmRhbmEuYy5rdW1h ckBpbnRlbC5jb20+DQo+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gVWVm aUNwdVBrZyBDcHVDb21tb25GZWF0dXJlc0xpYjoNCj4gPiA+IFJlbW92ZSBDUFUgZ2VuZXJhdGlv biBjaGVjaw0KPiA+ID4NCj4gPiA+IEhpIFN0YXIsDQo+ID4gPg0KPiA+ID4gT24gMDUvMTYvMTkg MTI6MzMsIFN0YXIgWmVuZyB3cm90ZToNCj4gPiA+ID4gQlo6IGh0dHBzOi8vYnVnemlsbGEudGlh bm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3OQ0KPiA+ID4gPg0KPiA+ID4gPiBUaGUgY2hl Y2tpbmcgdG8gQ3B1SW5mby0+Q3B1SWRWZXJzaW9uSW5mb0VjeC5CaXRzLkFFU05JIGlzIGVub3Vn aCwNCj4gPiA+ID4gdGhlIGNoZWNraW5nIHRvIENQVSBnZW5lcmF0aW9uIGNvdWxkIGJlIHJlbW92 ZWQsIHRoZW4gdGhlIGNvZGUNCj4gPiA+ID4gY291bGQgYmUgcmV1c2VkIGJ5IG1vcmUgcGxhdGZv cm1zLg0KPiA+ID4gPg0KPiA+ID4gPiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNv bT4NCj4gPiA+ID4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gPiA+ID4g Q2M6IFJ1aXl1IE5pIDxydWl5dS5uaUBpbnRlbC5jb20+DQo+ID4gPiA+IENjOiBDaGFuZGFuYSBL dW1hciA8Y2hhbmRhbmEuYy5rdW1hckBpbnRlbC5jb20+DQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6 IFN0YXIgWmVuZyA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPiA+ID4gLS0tDQo+ID4gPiA+ICBV ZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1Q29tbW9uRmVhdHVyZXNMaWIvQWVzbmkuYyB8IDEyICsrKy0t LS0tLS0tLQ0KPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgOSBkZWxl dGlvbnMoLSkNCj4gPiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFy eS9DcHVDb21tb25GZWF0dXJlc0xpYi9BZXNuaS5jDQo+ID4gPiA+IGIvVWVmaUNwdVBrZy9MaWJy YXJ5L0NwdUNvbW1vbkZlYXR1cmVzTGliL0Flc25pLmMNCj4gPiA+ID4gaW5kZXggYjc5NDQ2YmEz Y2E5Li40YTU2ZWVjMWIyNjcgMTAwNjQ0DQo+ID4gPiA+IC0tLSBhL1VlZmlDcHVQa2cvTGlicmFy eS9DcHVDb21tb25GZWF0dXJlc0xpYi9BZXNuaS5jDQo+ID4gPiA+ICsrKyBiL1VlZmlDcHVQa2cv TGlicmFyeS9DcHVDb21tb25GZWF0dXJlc0xpYi9BZXNuaS5jDQo+ID4gPiA+IEBAIC01NywxNSAr NTcsOSBAQCBBZXNuaVN1cHBvcnQgKA0KPiA+ID4gPiAgICBNU1JfU0FORFlfQlJJREdFX0ZFQVRV UkVfQ09ORklHX1JFR0lTVEVSDQo+ID4gKk1zckZlYXR1cmVDb25maWc7DQo+ID4gPiA+DQo+ID4g PiA+ICAgIGlmIChDcHVJbmZvLT5DcHVJZFZlcnNpb25JbmZvRWN4LkJpdHMuQUVTTkkgPT0gMSkg ew0KPiA+ID4gPiAtICAgIGlmIChJU19TQU5EWV9CUklER0VfUFJPQ0VTU09SIChDcHVJbmZvLT5E aXNwbGF5RmFtaWx5LA0KPiBDcHVJbmZvLQ0KPiA+ID4gPkRpc3BsYXlNb2RlbCkgfHwNCj4gPiA+ ID4gLSAgICAgICAgSVNfU0lMVkVSTU9OVF9QUk9DRVNTT1IgKENwdUluZm8tPkRpc3BsYXlGYW1p bHksIENwdUluZm8tDQo+ID4gPiA+RGlzcGxheU1vZGVsKSB8fA0KPiA+ID4gPiAtICAgICAgICBJ U19YRU9OXzU2MDBfUFJPQ0VTU09SIChDcHVJbmZvLT5EaXNwbGF5RmFtaWx5LCBDcHVJbmZvLQ0K PiA+ID4gPkRpc3BsYXlNb2RlbCkgfHwNCj4gPiA+ID4gLSAgICAgICAgSVNfWEVPTl9FN19QUk9D RVNTT1IgKENwdUluZm8tPkRpc3BsYXlGYW1pbHksIENwdUluZm8tDQo+ID4gPiA+RGlzcGxheU1v ZGVsKSB8fA0KPiA+ID4gPiAtICAgICAgICBJU19YRU9OX1BISV9QUk9DRVNTT1IgKENwdUluZm8t PkRpc3BsYXlGYW1pbHksIENwdUluZm8tDQo+ID4gPiA+RGlzcGxheU1vZGVsKSkgew0KPiA+ID4g PiAtICAgICAgTXNyRmVhdHVyZUNvbmZpZyA9DQo+ID4gPiAoTVNSX1NBTkRZX0JSSURHRV9GRUFU VVJFX0NPTkZJR19SRUdJU1RFUiAqKSBDb25maWdEYXRhOw0KPiA+ID4gPiAtICAgICAgQVNTRVJU IChNc3JGZWF0dXJlQ29uZmlnICE9IE5VTEwpOw0KPiA+ID4gPiAtICAgICAgTXNyRmVhdHVyZUNv bmZpZ1tQcm9jZXNzb3JOdW1iZXJdLlVpbnQ2NCA9IEFzbVJlYWRNc3I2NA0KPiA+ID4gKE1TUl9T QU5EWV9CUklER0VfRkVBVFVSRV9DT05GSUcpOw0KPiA+ID4gPiAtICAgIH0NCj4gPiA+ID4gKyAg ICBNc3JGZWF0dXJlQ29uZmlnID0NCj4gPiA+IChNU1JfU0FORFlfQlJJREdFX0ZFQVRVUkVfQ09O RklHX1JFR0lTVEVSICopIENvbmZpZ0RhdGE7DQo+ID4gPiA+ICsgICAgQVNTRVJUIChNc3JGZWF0 dXJlQ29uZmlnICE9IE5VTEwpOw0KPiA+ID4gPiArICAgIE1zckZlYXR1cmVDb25maWdbUHJvY2Vz c29yTnVtYmVyXS5VaW50NjQgPSBBc21SZWFkTXNyNjQNCj4gPiA+ID4gKyAoTVNSX1NBTkRZX0JS SURHRV9GRUFUVVJFX0NPTkZJRyk7DQo+ID4gPiA+ICAgICAgcmV0dXJuIFRSVUU7DQo+ID4gPiA+ ICAgIH0NCj4gPiA+ID4gICAgcmV0dXJuIEZBTFNFOw0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+IHRo ZSBwYXRjaCBhbmQgdGhlIGJ1Z3ppbGxhIHRpY2tldCBjbGFpbSB0aGF0IHRoZSBBRVNOSSBiaXQn cw0KPiA+ID4gcHJlc2VuY2UgaW4gQ1BVSUQgZ3VhcmFudGVlcyB0aGF0IE1TUiAweDEzQyBpcyBh dmFpbGFibGUuDQo+ID4NCj4gPiBUaGF0IGlzIHRoZSBjYXNlIHdlIG1ldC4gVGhlIHB1cnBvc2Ug b2YgdGhpcyBwYXRjaCBpcyB0byBtYWtlIHRoZSBjb2RlDQo+ID4gbW9yZSB1c2FibGUuDQo+ID4N Cj4gPiA+DQo+ID4gPiBJIGRvbid0IHNlZSB3aGF0IGd1YXJhbnRlZXMgdGhpcy4gQWNjb3JkaW5n IHRvIHRoZSBsYXRlc3QgSW50ZWwgU0RNDQo+ID4gPiBWb2wgNCwgd2hpY2ggSSBqdXN0IGRvd25s b2FkZWQgKDMzNTU5Mi0wNjlVUywgSmFudWFyeSAyMDE5KSwNCj4gPiA+IE1TUl9GRUFUVVJFX0NP TkZJRyBpcyBhdmFpbGFibGUgb24gdGhlIGZvbGxvd2luZyAoRGlzcGxheUZhbWlseSwNCj4gPiA+ IERpc3BsYXlNb2RlbCkgcGFpcnM6DQo+ID4gPg0KPiA+ID4gLSAwNl8zN0gsIDA2XzRBSCwgMDZf NERILCAwNl81QUgsIDA2XzVESCwgMDZfNUNILCAwNl83QUgNCj4gPiA+IC0gMDZfMjVILCAwNl8y Q0gNCj4gPiA+IC0gMDZfMkZIDQo+ID4gPiAtIDA2XzJBSCwgMDZfMkRIDQo+ID4gPiAtIDA2XzU3 SA0KPiA+DQo+ID4gWWVzLCByaWdodC4NCj4gPg0KPiA+IExldCBtZSBzaG93IHNvbWUgZXhhbXBs ZXMgZm9yIHRoZSBnZW5lcmF0aW9ucyBub3QgaW4gdGhlIGxpc3QgYWJvdmUuDQo+ID4NCj4gPiAx LiBNU1IgMHgxM0MgaXMgYXZhaWxhYmxlOiBvdXIgc29tZSBpbnRlcm5hbCBnZW5lcmF0aW9ucyBh cmUgaW4gdGhpcyBjYXNlLg0KPiA+IFdpdGhvdXQgdGhlIHBhdGNoLCBjb2RlIG5lZWRzIHRvIHVz ZSBmdW5jdGlvbiBsZXZlbCBvdmVycmlkZSBtZXRob2QgaW4NCj4gPiBhIENwdVNwZWNpZmljRmVh dHVyZXNMaWIuDQo+ID4gICAgIFN0YXR1cyA9IFJlZ2lzdGVyQ3B1RmVhdHVyZSAoDQo+ID4gICAg ICAgICAgICAgICAgIkFFU05JIiwNCj4gPiAgICAgICAgICAgICAgICBOVUxMLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVXNlIGNvcmUgZnVuY3Rpb24NCj4gPiAg ICAgICAgICAgICAgICBTcGVjaWZpY0Flc25pU3VwcG9ydCwgICAgICAgICAgICAgICAgICAgICAg ICAgLy8gT3ZlcnJpZGUgY29yZSBmdW5jdGlvbg0KPiA+ICAgICAgICAgICAgICAgIE5VTEwsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBVc2UgY29yZSBmdW5jdGlv bg0KPiA+ICAgICAgICAgICAgICAgIENQVV9GRUFUVVJFX0FFU05JLA0KPiA+ICAgICAgICAgICAg ICAgIENQVV9GRUFUVVJFX0VORA0KPiA+ICAgICAgICAgICAgICAgICk7DQo+ID4gV2l0aCB0aGUg cGF0Y2gsIHRoZSBmdW5jdGlvbiBsZXZlbCBvdmVycmlkZSB3aWxsIGJlIG5vdCBuZWVkZWQuIFRo ZQ0KPiA+IGJlbmVmaXQgb2YgdGhpcyBwYXRjaCBpcyBoZXJlLg0KPiA+DQo+ID4gMi4gTVNSIDB4 MTNDIGlzIG5vdCBhdmFpbGFibGU6IGxldCdzIGFzc3VtZSBzb21lIG90aGVyIE1TUiB3aWxsIGJl DQo+ID4gYXZhaWxhYmxlIGZvciB0aGUgY2FzZS4NCj4gPiBXaXRob3V0IG9yIHdpdGggdGhlIHBh dGNoLCBjb2RlcyBib3RoIG5lZWQgdG8gdXNlIGZ1bmN0aW9uIGxldmVsDQo+ID4gb3ZlcnJpZGUg bWV0aG9kIGluIGEgQ3B1U3BlY2lmaWNGZWF0dXJlc0xpYi4NCj4gPiAgICAgU3RhdHVzID0gUmVn aXN0ZXJDcHVGZWF0dXJlICgNCj4gPiAgICAgICAgICAgICAgICAiQUVTTkkiLA0KPiA+ICAgICAg ICAgICAgICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv LyBVc2UgY29yZSBmdW5jdGlvbg0KPiA+ICAgICAgICAgICAgICAgIFNwZWNpZmljQWVzbmlTdXBw b3J0LCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBjb3JlIGZ1bmN0aW9uDQo+ ID4gICAgICAgICAgICAgICAgU3BlY2lmaWNBZXNuaUluaXRpYWxpemUsICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIE92ZXJyaWRlIGNvcmUgZnVuY3Rpb24NCj4gPiAgICAgICAgICAgICAgICBD UFVfRkVBVFVSRV9BRVNOSSwNCj4gPiAgICAgICAgICAgICAgICBDUFVfRkVBVFVSRV9FTkQNCj4g PiAgICAgICAgICAgICAgICApOw0KPiA+DQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gU3Rhcg0KPiA+ DQo+ID4gPg0KPiA+ID4gV2hpY2ggc2VlbXMgdG8gaW5kaWNhdGUgdGhhdCBhdCBsZWFzdCAqdGhl IGFwcHJvYWNoKiBvZiB0aGUgb3JpZ2luYWwNCj4gPiA+IGNvZGUgLS0gaS5lLiB0aGUgZmFtaWx5 L21vZGVsIGNoZWNraW5nIC0tIGlzIGNvcnJlY3QuIChJdCdzIHBvc3NpYmxlDQo+ID4gPiB0aGF0 IHRoZSBmYW1pbHkvbW9kZWwgbGlzdCBoYXMgdG8gYmUgZXh0ZW5kZWQgZnJvbSB0aW1lIHRvIHRp bWUsIG9mDQo+ID4gPiBjb3Vyc2UuKQ0KPiA+ID4NCj4gPiA+IEFueXdheSwgSSBkb24ndCBpbnRl bmQgdG8gYmxvY2sgdGhpcyBwYXRjaDsgT1ZNRiBkb2VzIG5vdCB1c2UNCj4gPiA+IENwdUNvbW1v bkZlYXR1cmVzTGliLCBzbyB0aGlzIGNoYW5nZSBjYW5ub3QgcmVncmVzcyBpdC4gSSB3aWxsIGxl dA0KPiA+ID4gb3RoZXIgVWVmaUNwdVBrZyByZXZpZXdlcnMgZGVjaWRlIGFib3V0IHRoaXMgcGF0 Y2guDQo+ID4gPg0KPiA+ID4gVGhhbmtzIQ0KPiA+ID4gTGFzemxvDQo+ID4gPg0KPiA+ID4gDQoN Cg==