From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: star.zeng@intel.com) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by groups.io with SMTP; Fri, 17 May 2019 22:51:09 -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 fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 May 2019 22:51:08 -0700 X-ExtLoop1: 1 Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga006.jf.intel.com with ESMTP; 17 May 2019 22:51:07 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 17 May 2019 22:51:07 -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; Fri, 17 May 2019 22:51:07 -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; Sat, 18 May 2019 13:51:05 +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: AQHVC9LagT9l4a8MjUiQ4BXHxCFFNqZtMpQAgACfecCAACkhgIAApbPAgAAlSQCAAZ1ugA== Date: Sat, 18 May 2019 05:51:04 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB048310402E473E@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> <0C09AFA07DD0434D9E2A0C6AEB048310402E3AD1@shsmsx102.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5C1476E8@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C1476E8@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 VGhhbmtzIGZvciB0aGUgdW5kZXJzdGFuZGluZyB0byBhbGwgb2YgeW91Lg0KDQoNClN0YXINCj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTmksIFJheQ0KPiBTZW50OiBGcmlk YXksIE1heSAxNywgMjAxOSA5OjExIFBNDQo+IFRvOiBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50 ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87DQo+IGxlcnNla0ByZWRoYXQuY29tDQo+IENj OiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgS3VtYXIsIENoYW5kYW5hIEMNCj4g PGNoYW5kYW5hLmMua3VtYXJAaW50ZWwuY29tPjsgTGksIEtldmluIFkgPGtldmluLnkubGlAaW50 ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSF0gVWVmaUNwdVBrZyBD cHVDb21tb25GZWF0dXJlc0xpYjoNCj4gUmVtb3ZlIENQVSBnZW5lcmF0aW9uIGNoZWNrDQo+IA0K PiBTdGFyLA0KPiBJIHVuZGVyc3RhbmQgdGhlIG1vdGl2YXRpb24gb2YgdGhlIGNoYW5nZS4NCj4g DQo+IEdpdmVuIHlvdXIgc3RhdGVtZW50IHRoYXQgYWxsIHByb2Nlc3NvcnMgeW91IG1ldCBmb2xs b3dzIHRoZSBydWxlLCBhbmQgSQ0KPiBrbm93IHRoYXQgeW91IGFyZSBjdXJyZW50bHkgd29ya2lu ZyB2ZXJ5IGFjdGl2ZWx5IG9uIEludGVsIHByb2Nlc3NvcnMsDQo+IFJldmlld2VkLWJ5OiBSYXkg TmkgPHJheS5uaUBpbnRlbC5jb20+DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gRnJvbTogWmVuZywgU3Rhcg0KPiA+IFNlbnQ6IEZyaWRheSwgTWF5IDE3LCAyMDE5IDEx OjA1IEFNDQo+ID4gVG86IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdy b3Vwcy5pbzsNCj4gPiBsZXJzZWtAcmVkaGF0LmNvbQ0KPiA+IENjOiBEb25nLCBFcmljIDxlcmlj LmRvbmdAaW50ZWwuY29tPjsgS3VtYXIsIENoYW5kYW5hIEMNCj4gPiA8Y2hhbmRhbmEuYy5rdW1h ckBpbnRlbC5jb20+OyBMaSwgS2V2aW4gWSA8a2V2aW4ueS5saUBpbnRlbC5jb20+Ow0KPiA+IFpl bmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+DQo+ID4gU3ViamVjdDogUkU6IFtlZGsyLWRl dmVsXSBbUEFUQ0hdIFVlZmlDcHVQa2cgQ3B1Q29tbW9uRmVhdHVyZXNMaWI6DQo+ID4gUmVtb3Zl IENQVSBnZW5lcmF0aW9uIGNoZWNrDQo+ID4NCj4gPiBTaXR1YXRpb246IEFsbCB0aGUgZ2VuZXJh dGlvbnMgKGluY2x1ZGluZyB0aGUgaW50ZXJuYWwgZ2VuZXJhdGlvbnMgbm90DQo+ID4gbGlzdGVk IGluDQo+ID4gU0RNKSB3ZSBzYXcgaGF2ZSBNU1IgMTNDaCBhdmFpbGFibGUgd2hlbiBDcHVJbmZv LQ0KPiA+ID5DcHVJZFZlcnNpb25JbmZvRWN4LkJpdHMuQUVTTkkgPT0gMS4NCj4gPg0KPiA+IFJl cXVpcmVtZW50OiBSZXVzZSBtb3JlIGNvZGUuDQo+ID4NCj4gPiBDb3VsZCB5b3UgaGVscCB0aGlu ayB0aGUgZ29vZCBtZXRob2QgYW5kIGV2ZW4gcHJvcG9zZSB0aGUgcGF0Y2ggZm9yIHRoYXQ/DQo+ ID4gSSBhbSBvayB0byBhbnkgbWV0aG9kIHRvIGltcHJvdmUgdGhlIGNvZGUncyByZXVzYWJpbGl0 eS4NCj4gPiBPdGhlcndpc2UsIHdlIGNhbiBvbmx5IHVzZSBmdW5jdGlvbiBsZXZlbCBvdmVycmlk ZSBtZXRob2QgaW5hDQo+ID4gQ3B1U3BlY2lmaWNGZWF0dXJlc0xpYi4NCj4gPiAgICAgU3RhdHVz ID0gUmVnaXN0ZXJDcHVGZWF0dXJlICgNCj4gPiAgICAgICAgICAgICAgICAiQUVTTkkiLA0KPiA+ ICAgICAgICAgICAgICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvLyBVc2UgY29yZSBmdW5jdGlvbg0KPiA+ICAgICAgICAgICAgICAgIFNwZWNpZmljQWVz bmlTdXBwb3J0LCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBjb3JlIGZ1bmN0 aW9uDQo+ID4gICAgICAgICAgICAgICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8vIFVzZSBjb3JlIGZ1bmN0aW9uDQo+ID4gICAgICAgICAgICAgICAgQ1BV X0ZFQVRVUkVfQUVTTkksDQo+ID4gICAgICAgICAgICAgICAgQ1BVX0ZFQVRVUkVfRU5EDQo+ID4g ICAgICAgICAgICAgICAgKTsNCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBTdGFyDQo+ID4gPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogTmksIFJheQ0KPiA+ID4gU2VudDog RnJpZGF5LCBNYXkgMTcsIDIwMTkgOTowNCBBTQ0KPiA+ID4gVG86IFplbmcsIFN0YXIgPHN0YXIu emVuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsNCj4gPiA+IGxlcnNla0ByZWRo YXQuY29tDQo+ID4gPiBDYzogRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IEt1bWFy LCBDaGFuZGFuYSBDDQo+ID4gPiA8Y2hhbmRhbmEuYy5rdW1hckBpbnRlbC5jb20+DQo+ID4gPiBT dWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSF0gVWVmaUNwdVBrZyBDcHVDb21tb25GZWF0 dXJlc0xpYjoNCj4gPiA+IFJlbW92ZSBDUFUgZ2VuZXJhdGlvbiBjaGVjaw0KPiA+ID4NCj4gPiA+ IFN0YXIsDQo+ID4gPiBJIHRoaW5rIHRoZSBkaXNjdXNzaW9uIGlzIGFib3V0IHByb3ZpZGluZyB0 aGUgZXZpZGVuY2UgdG8gc3VwcG9ydA0KPiA+ID4gcmVtb3ZpbmcgdGhlIGdlbmVyYXRpb24gY2hl Y2suDQo+ID4gPiBOb3QganVzdCB0aGUgYmVuZWZpdCBvZiB0aGF0Lg0KPiA+ID4NCj4gPiA+IFRo YW5rcywNCj4gPiA+IFJheQ0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiA+ID4gRnJvbTogWmVuZywgU3Rhcg0KPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgTWF5 IDE2LCAyMDE5IDEwOjUyIFBNDQo+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgbGVy c2VrQHJlZGhhdC5jb20NCj4gPiA+ID4gQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5j b20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsNCj4gPiA+ID4gS3VtYXIsIENoYW5kYW5h IEMgPGNoYW5kYW5hLmMua3VtYXJAaW50ZWwuY29tPjsgWmVuZywgU3Rhcg0KPiA+ID4gPiA8c3Rh ci56ZW5nQGludGVsLmNvbT4NCj4gPiA+ID4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFU Q0hdIFVlZmlDcHVQa2cgQ3B1Q29tbW9uRmVhdHVyZXNMaWI6DQo+ID4gPiA+IFJlbW92ZSBDUFUg Z2VuZXJhdGlvbiBjaGVjaw0KPiA+ID4gPg0KPiA+ID4gPiBMYXN6bG8sDQo+ID4gPiA+DQo+ID4g PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyBbbWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvXSBPbg0KPiA+ID4gPiA+ IEJlaGFsZiBPZiBMYXN6bG8gRXJzZWsNCj4gPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgTWF5IDE2 LCAyMDE5IDk6MDYgUE0NCj4gPiA+ID4gPiBUbzogWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVs LmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+ID4gQ2M6IERvbmcsIEVyaWMgPGVy aWMuZG9uZ0BpbnRlbC5jb20+OyBOaSwgUmF5DQo+ID4gPiA+ID4gPHJheS5uaUBpbnRlbC5jb20+ OyBLdW1hciwgQ2hhbmRhbmEgQw0KPiA+ID4gPiA+IDxjaGFuZGFuYS5jLmt1bWFyQGludGVsLmNv bT4NCj4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gVWVmaUNwdVBr Zw0KPiBDcHVDb21tb25GZWF0dXJlc0xpYjoNCj4gPiA+ID4gPiBSZW1vdmUgQ1BVIGdlbmVyYXRp b24gY2hlY2sNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEhpIFN0YXIsDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiBPbiAwNS8xNi8xOSAxMjozMywgU3RhciBaZW5nIHdyb3RlOg0KPiA+ID4gPiA+ID4gQlo6 IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3OQ0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFRoZSBjaGVja2luZyB0byBDcHVJbmZvLT5DcHVJZFZlcnNp b25JbmZvRWN4LkJpdHMuQUVTTkkgaXMNCj4gPiA+ID4gPiA+IGVub3VnaCwgdGhlIGNoZWNraW5n IHRvIENQVSBnZW5lcmF0aW9uIGNvdWxkIGJlIHJlbW92ZWQsIHRoZW4NCj4gPiA+ID4gPiA+IHRo ZSBjb2RlIGNvdWxkIGJlIHJldXNlZCBieSBtb3JlIHBsYXRmb3Jtcy4NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPiA+ID4g PiA+IENjOiBFcmljIERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBDYzog UnVpeXUgTmkgPHJ1aXl1Lm5pQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+IENjOiBDaGFuZGFuYSBL dW1hciA8Y2hhbmRhbmEuYy5rdW1hckBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBTaWduZWQtb2Zm LWJ5OiBTdGFyIFplbmcgPHN0YXIuemVuZ0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiAtLS0NCj4g PiA+ID4gPiA+ICBVZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1Q29tbW9uRmVhdHVyZXNMaWIvQWVzbmku YyB8IDEyDQo+ID4gPiA+ID4gPiArKystLS0tLS0tLS0NCj4gPiA+ID4gPiA+ICAxIGZpbGUgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1Q29tbW9uRmVhdHVyZXNM aWIvQWVzbmkuYw0KPiA+ID4gPiA+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1Q29tbW9uRmVh dHVyZXNMaWIvQWVzbmkuYw0KPiA+ID4gPiA+ID4gaW5kZXggYjc5NDQ2YmEzY2E5Li40YTU2ZWVj MWIyNjcgMTAwNjQ0DQo+ID4gPiA+ID4gPiAtLS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1Q29t bW9uRmVhdHVyZXNMaWIvQWVzbmkuYw0KPiA+ID4gPiA+ID4gKysrIGIvVWVmaUNwdVBrZy9MaWJy YXJ5L0NwdUNvbW1vbkZlYXR1cmVzTGliL0Flc25pLmMNCj4gPiA+ID4gPiA+IEBAIC01NywxNSAr NTcsOSBAQCBBZXNuaVN1cHBvcnQgKA0KPiA+ID4gPiA+ID4gICAgTVNSX1NBTkRZX0JSSURHRV9G RUFUVVJFX0NPTkZJR19SRUdJU1RFUg0KPiA+ID4gPiAqTXNyRmVhdHVyZUNvbmZpZzsNCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBpZiAoQ3B1SW5mby0+Q3B1SWRWZXJzaW9uSW5mb0VjeC5C aXRzLkFFU05JID09IDEpIHsNCj4gPiA+ID4gPiA+IC0gICAgaWYgKElTX1NBTkRZX0JSSURHRV9Q Uk9DRVNTT1IgKENwdUluZm8tPkRpc3BsYXlGYW1pbHksDQo+ID4gPiBDcHVJbmZvLQ0KPiA+ID4g PiA+ID5EaXNwbGF5TW9kZWwpIHx8DQo+ID4gPiA+ID4gPiAtICAgICAgICBJU19TSUxWRVJNT05U X1BST0NFU1NPUiAoQ3B1SW5mby0+RGlzcGxheUZhbWlseSwNCj4gQ3B1SW5mby0NCj4gPiA+ID4g PiA+RGlzcGxheU1vZGVsKSB8fA0KPiA+ID4gPiA+ID4gLSAgICAgICAgSVNfWEVPTl81NjAwX1BS T0NFU1NPUiAoQ3B1SW5mby0+RGlzcGxheUZhbWlseSwgQ3B1SW5mby0NCj4gPiA+ID4gPiA+RGlz cGxheU1vZGVsKSB8fA0KPiA+ID4gPiA+ID4gLSAgICAgICAgSVNfWEVPTl9FN19QUk9DRVNTT1Ig KENwdUluZm8tPkRpc3BsYXlGYW1pbHksIENwdUluZm8tDQo+ID4gPiA+ID4gPkRpc3BsYXlNb2Rl bCkgfHwNCj4gPiA+ID4gPiA+IC0gICAgICAgIElTX1hFT05fUEhJX1BST0NFU1NPUiAoQ3B1SW5m by0+RGlzcGxheUZhbWlseSwgQ3B1SW5mby0NCj4gPiA+ID4gPiA+RGlzcGxheU1vZGVsKSkgew0K PiA+ID4gPiA+ID4gLSAgICAgIE1zckZlYXR1cmVDb25maWcgPQ0KPiA+ID4gPiA+IChNU1JfU0FO RFlfQlJJREdFX0ZFQVRVUkVfQ09ORklHX1JFR0lTVEVSICopIENvbmZpZ0RhdGE7DQo+ID4gPiA+ ID4gPiAtICAgICAgQVNTRVJUIChNc3JGZWF0dXJlQ29uZmlnICE9IE5VTEwpOw0KPiA+ID4gPiA+ ID4gLSAgICAgIE1zckZlYXR1cmVDb25maWdbUHJvY2Vzc29yTnVtYmVyXS5VaW50NjQgPSBBc21S ZWFkTXNyNjQNCj4gPiA+ID4gPiAoTVNSX1NBTkRZX0JSSURHRV9GRUFUVVJFX0NPTkZJRyk7DQo+ ID4gPiA+ID4gPiAtICAgIH0NCj4gPiA+ID4gPiA+ICsgICAgTXNyRmVhdHVyZUNvbmZpZyA9DQo+ ID4gPiA+ID4gKE1TUl9TQU5EWV9CUklER0VfRkVBVFVSRV9DT05GSUdfUkVHSVNURVIgKikgQ29u ZmlnRGF0YTsNCj4gPiA+ID4gPiA+ICsgICAgQVNTRVJUIChNc3JGZWF0dXJlQ29uZmlnICE9IE5V TEwpOw0KPiA+ID4gPiA+ID4gKyAgICBNc3JGZWF0dXJlQ29uZmlnW1Byb2Nlc3Nvck51bWJlcl0u VWludDY0ID0gQXNtUmVhZE1zcjY0DQo+ID4gPiA+ID4gPiArIChNU1JfU0FORFlfQlJJREdFX0ZF QVRVUkVfQ09ORklHKTsNCj4gPiA+ID4gPiA+ICAgICAgcmV0dXJuIFRSVUU7DQo+ID4gPiA+ID4g PiAgICB9DQo+ID4gPiA+ID4gPiAgICByZXR1cm4gRkFMU0U7DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gdGhlIHBhdGNoIGFuZCB0aGUgYnVnemlsbGEgdGlja2V0IGNsYWltIHRo YXQgdGhlIEFFU05JIGJpdCdzDQo+ID4gPiA+ID4gcHJlc2VuY2UgaW4gQ1BVSUQgZ3VhcmFudGVl cyB0aGF0IE1TUiAweDEzQyBpcyBhdmFpbGFibGUuDQo+ID4gPiA+DQo+ID4gPiA+IFRoYXQgaXMg dGhlIGNhc2Ugd2UgbWV0LiBUaGUgcHVycG9zZSBvZiB0aGlzIHBhdGNoIGlzIHRvIG1ha2UgdGhl DQo+ID4gPiA+IGNvZGUgbW9yZSB1c2FibGUuDQo+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4g PiBJIGRvbid0IHNlZSB3aGF0IGd1YXJhbnRlZXMgdGhpcy4gQWNjb3JkaW5nIHRvIHRoZSBsYXRl c3QgSW50ZWwNCj4gPiA+ID4gPiBTRE0gVm9sIDQsIHdoaWNoIEkganVzdCBkb3dubG9hZGVkICgz MzU1OTItMDY5VVMsIEphbnVhcnkgMjAxOSksDQo+ID4gPiA+ID4gTVNSX0ZFQVRVUkVfQ09ORklH IGlzIGF2YWlsYWJsZSBvbiB0aGUgZm9sbG93aW5nIChEaXNwbGF5RmFtaWx5LA0KPiA+ID4gPiA+ IERpc3BsYXlNb2RlbCkgcGFpcnM6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtIDA2XzM3SCwgMDZf NEFILCAwNl80REgsIDA2XzVBSCwgMDZfNURILCAwNl81Q0gsIDA2XzdBSA0KPiA+ID4gPiA+IC0g MDZfMjVILCAwNl8yQ0gNCj4gPiA+ID4gPiAtIDA2XzJGSA0KPiA+ID4gPiA+IC0gMDZfMkFILCAw Nl8yREgNCj4gPiA+ID4gPiAtIDA2XzU3SA0KPiA+ID4gPg0KPiA+ID4gPiBZZXMsIHJpZ2h0Lg0K PiA+ID4gPg0KPiA+ID4gPiBMZXQgbWUgc2hvdyBzb21lIGV4YW1wbGVzIGZvciB0aGUgZ2VuZXJh dGlvbnMgbm90IGluIHRoZSBsaXN0IGFib3ZlLg0KPiA+ID4gPg0KPiA+ID4gPiAxLiBNU1IgMHgx M0MgaXMgYXZhaWxhYmxlOiBvdXIgc29tZSBpbnRlcm5hbCBnZW5lcmF0aW9ucyBhcmUgaW4gdGhp cyBjYXNlLg0KPiA+ID4gPiBXaXRob3V0IHRoZSBwYXRjaCwgY29kZSBuZWVkcyB0byB1c2UgZnVu Y3Rpb24gbGV2ZWwgb3ZlcnJpZGUNCj4gPiA+ID4gbWV0aG9kIGluIGEgQ3B1U3BlY2lmaWNGZWF0 dXJlc0xpYi4NCj4gPiA+ID4gICAgIFN0YXR1cyA9IFJlZ2lzdGVyQ3B1RmVhdHVyZSAoDQo+ID4g PiA+ICAgICAgICAgICAgICAgICJBRVNOSSIsDQo+ID4gPiA+ICAgICAgICAgICAgICAgIE5VTEws ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBVc2UgY29yZSBmdW5j dGlvbg0KPiA+ID4gPiAgICAgICAgICAgICAgICBTcGVjaWZpY0Flc25pU3VwcG9ydCwgICAgICAg ICAgICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgY29yZSBmdW5jdGlvbg0KPiA+ID4gPiAgICAg ICAgICAgICAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ly8gVXNlIGNvcmUgZnVuY3Rpb24NCj4gPiA+ID4gICAgICAgICAgICAgICAgQ1BVX0ZFQVRVUkVf QUVTTkksDQo+ID4gPiA+ICAgICAgICAgICAgICAgIENQVV9GRUFUVVJFX0VORA0KPiA+ID4gPiAg ICAgICAgICAgICAgICApOw0KPiA+ID4gPiBXaXRoIHRoZSBwYXRjaCwgdGhlIGZ1bmN0aW9uIGxl dmVsIG92ZXJyaWRlIHdpbGwgYmUgbm90IG5lZWRlZC4NCj4gPiA+ID4gVGhlIGJlbmVmaXQgb2Yg dGhpcyBwYXRjaCBpcyBoZXJlLg0KPiA+ID4gPg0KPiA+ID4gPiAyLiBNU1IgMHgxM0MgaXMgbm90 IGF2YWlsYWJsZTogbGV0J3MgYXNzdW1lIHNvbWUgb3RoZXIgTVNSIHdpbGwgYmUNCj4gPiA+ID4g YXZhaWxhYmxlIGZvciB0aGUgY2FzZS4NCj4gPiA+ID4gV2l0aG91dCBvciB3aXRoIHRoZSBwYXRj aCwgY29kZXMgYm90aCBuZWVkIHRvIHVzZSBmdW5jdGlvbiBsZXZlbA0KPiA+ID4gPiBvdmVycmlk ZSBtZXRob2QgaW4gYSBDcHVTcGVjaWZpY0ZlYXR1cmVzTGliLg0KPiA+ID4gPiAgICAgU3RhdHVz ID0gUmVnaXN0ZXJDcHVGZWF0dXJlICgNCj4gPiA+ID4gICAgICAgICAgICAgICAgIkFFU05JIiwN Cj4gPiA+ID4gICAgICAgICAgICAgICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8vIFVzZSBjb3JlIGZ1bmN0aW9uDQo+ID4gPiA+ICAgICAgICAgICAgICAg IFNwZWNpZmljQWVzbmlTdXBwb3J0LCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlk ZSBjb3JlIGZ1bmN0aW9uDQo+ID4gPiA+ICAgICAgICAgICAgICAgIFNwZWNpZmljQWVzbmlJbml0 aWFsaXplLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBjb3JlIGZ1bmN0aW9u DQo+ID4gPiA+ICAgICAgICAgICAgICAgIENQVV9GRUFUVVJFX0FFU05JLA0KPiA+ID4gPiAgICAg ICAgICAgICAgICBDUFVfRkVBVFVSRV9FTkQNCj4gPiA+ID4gICAgICAgICAgICAgICAgKTsNCj4g PiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gVGhhbmtzLA0KPiA+ID4gPiBTdGFyDQo+ID4gPiA+DQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiBXaGljaCBzZWVtcyB0byBpbmRpY2F0ZSB0aGF0IGF0IGxlYXN0 ICp0aGUgYXBwcm9hY2gqIG9mIHRoZQ0KPiA+ID4gPiA+IG9yaWdpbmFsIGNvZGUgLS0gaS5lLiB0 aGUgZmFtaWx5L21vZGVsIGNoZWNraW5nIC0tIGlzIGNvcnJlY3QuDQo+ID4gPiA+ID4gKEl0J3Mg cG9zc2libGUgdGhhdCB0aGUgZmFtaWx5L21vZGVsIGxpc3QgaGFzIHRvIGJlIGV4dGVuZGVkDQo+ ID4gPiA+ID4gZnJvbSB0aW1lIHRvIHRpbWUsIG9mDQo+ID4gPiA+ID4gY291cnNlLikNCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IEFueXdheSwgSSBkb24ndCBpbnRlbmQgdG8gYmxvY2sgdGhpcyBwYXRj aDsgT1ZNRiBkb2VzIG5vdCB1c2UNCj4gPiA+ID4gPiBDcHVDb21tb25GZWF0dXJlc0xpYiwgc28g dGhpcyBjaGFuZ2UgY2Fubm90IHJlZ3Jlc3MgaXQuIEkgd2lsbA0KPiA+ID4gPiA+IGxldCBvdGhl ciBVZWZpQ3B1UGtnIHJldmlld2VycyBkZWNpZGUgYWJvdXQgdGhpcyBwYXRjaC4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IFRoYW5rcyENCj4gPiA+ID4gPiBMYXN6bG8NCj4gPiA+ID4gPg0KPiA+ID4g PiA+IA0KDQo=