From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web12.39610.1601307560682978989 for ; Mon, 28 Sep 2020 08:39:20 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=OLpj3NAx; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: jacek.kukiello@intel.com) IronPort-SDR: 9qPUjIjeKP4jVZQNUbY0RIWGqU9rqHiTFohuGlVs/4Oki5MHEH3R/3a6YlR5vlSXGUOoLVSTnE tA50XkKcefuQ== X-IronPort-AV: E=McAfee;i="6000,8403,9758"; a="142030969" X-IronPort-AV: E=Sophos;i="5.77,313,1596524400"; d="scan'208";a="142030969" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Sep 2020 08:39:12 -0700 IronPort-SDR: TEq5Zcn72xOudLjWyJxFSnUmf7ytyVd9XZsdwkkNBf4E01pmiiEW3Bg27mfaRD1/B/xXnrJiw5 Tjt69UpuIFyA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,313,1596524400"; d="scan'208";a="349887216" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 28 Sep 2020 08:39:12 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) 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.1713.5; Mon, 28 Sep 2020 08:39:11 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 28 Sep 2020 08:39:10 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.1713.5 via Frontend Transport; Mon, 28 Sep 2020 08:39:10 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.104) 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, 28 Sep 2020 08:39:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bbX9o4IUWgL5M+9HS31ocH6ceQVnGvNOsv77f9dMArC5We3whjp3ojY3kTiPBnULT5I3c+qxJuC4+SX3tF1oojxyHKee2YFLfEJYYVxAPlGUH2dj6Nyxj2pxrDj4hVMzDf4yH6SEjZoGaKJcwHTNApKB5vEqLJ2PyeQTdpWLRhNhkYLgorSp4ayD55Oy2jbeBPtUe0G+5ujeers+XiH529MQLO04y64HBaSXXQjEz7VG5dj1ObHAPXTWVdEBFwsiplKX695+nTX9vD+o8ZvJuk+mB7Yc61owXQnhHuS1sf1LuGAYHvSdThf9Ah2ApMHiKhHS0w+4dcFYj05v0lcFDw== 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=MYRRmzi0JVz1UaG8Lz/Wm7kXeDHKtzkuah0sj4ZX35o=; b=LsYRrtO8RTbhzAfQ9TF46r8qjz5YYkrTLaFM4tzosHzQTxeQwSipo3OHydKYn7N9sQDnceV0LYifq9x6bD29a+1GWJ2YhqsJ9mMxTaSlTBsbBLYiwgLiLPPGBhQwXMwVLSPWOR3rC+q/Ogxu3sbnJmEqxanAzWyjU7MdNlEwRJiDloTwVBb+rUuP3D6ZAMRTIP6XWZuRwVW+ZYzzBDMj7ipG1twGwE4/rZ50z//Z9SNKtXfWF/kT2t/tkVC+dJXJXoKdmuwDpsgEXfJ5QLMz//dishuRvlLmNLF8ETTzNCxziosRkA0GePZ5eCXBvO2e8ex/+kj+cqllx1vdxpylsg== 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=MYRRmzi0JVz1UaG8Lz/Wm7kXeDHKtzkuah0sj4ZX35o=; b=OLpj3NAxETNhlvpwqkbR83L2Z+HnVsAGEm8vW3Ba+hH/6oIolKRD6sUqkLfRIzrFestWtHz5FSCdaLZJ3pScYMgLC+FLaaJo5FZGx0DMb2OG+2sDyIkbRbuQlmiZXa2J2HOFJKITFYZLkkmaiD9ZAGSp4XWq6QTMsF1oAYinWas= Received: from CY4PR11MB1573.namprd11.prod.outlook.com (2603:10b6:910:c::19) by CY4PR11MB1624.namprd11.prod.outlook.com (2603:10b6:910:8::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.20; Mon, 28 Sep 2020 15:39:04 +0000 Received: from CY4PR11MB1573.namprd11.prod.outlook.com ([fe80::7c7b:bc86:f109:31bc]) by CY4PR11MB1573.namprd11.prod.outlook.com ([fe80::7c7b:bc86:f109:31bc%9]) with mapi id 15.20.3412.029; Mon, 28 Sep 2020 15:39:04 +0000 From: "Malgorzata Kukiello" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" CC: "Kinney, Michael D" , "Wang, Jian J" , "Wu, Hao A" , "Bi, Dandan" , "Liu, Zhiguang" , "'Oleksiy Yakovlev'" , 'Ard Biesheuvel' Subject: Re: [edk2-devel] [PATCH v2 0/2] UEFI memmap workaround for hiding page-access caps from OSes hides SP and CRYPTO caps too Thread-Topic: [edk2-devel] [PATCH v2 0/2] UEFI memmap workaround for hiding page-access caps from OSes hides SP and CRYPTO caps too Thread-Index: AQHWklybXXsKJheHpk66qF9fYlB7oKl5DkmAgAUlbAA= Date: Mon, 28 Sep 2020 15:39:04 +0000 Message-ID: References: <20200924102132.18248-1-jacek.kukiello@intel.com> <002901d69319$81bb4e90$8531ebb0$@byosoft.com.cn> In-Reply-To: <002901d69319$81bb4e90$8531ebb0$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 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: [89.64.74.129] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 217390c7-6327-429c-e171-08d863c4a14b x-ms-traffictypediagnostic: CY4PR11MB1624: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bqHfFauYU+qM8gIR3z6JLf1Fuu1yDPbprmJCNZe+t3Glsyo6yosjcg+OSqvItGHDp+Aj2Noni2hw9nY/9xh6u6ZBEdkZIa2XFnBzdp40vaOtSLRJvvOvOSATzlTsVizO+XSi5DfDoP/zctYMacBO7EDcBlHWSVTvuYmUNI8JClA7e0aOqFkdAZDb8e+bZ+r7YYHmtuMqAaBHwsx/H7cIHgP6hcySNPfsDdz6Qd5W+CnHWtF7rfYT3GDtxEKYgW7jueN9tudEH2PFrxHFHRYaNihinKJuiYdzLTZbuPkRBcuunId3c1yoipilZ2dbZ6lXVwBPMRvthjyns6WXcYaiGStU74v4R4ynaJThV7SFvdjLy8dlTcP4RdNPGvgi7sIithHERJehyQaLRR5BPwrrl8Ub+7uOQrNrLGKemW0BPw5K9529NlhkqKf4OT3Pg0IG x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR11MB1573.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(346002)(376002)(136003)(39860400002)(52536014)(8936002)(54906003)(110136005)(8676002)(316002)(26005)(86362001)(53546011)(6506007)(4326008)(7696005)(186003)(478600001)(9686003)(55016002)(966005)(2906002)(66446008)(64756008)(66556008)(5660300002)(66476007)(83380400001)(33656002)(76116006)(71200400001)(66946007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: qFCU3UJAI5EGjN5hk7MTmed447w4iPYr0yg0t+sJu/IkwG6CkuTTV+YLPrhCvEdnMRv6kity0ESh6hHQ8VAFiDi5Q9CWEa9cNSBybpSykaQxgZPex5H/T9AMYTcq9aS/s/M31C1RELzHKjnXH/MgyIuGB9lbGluXMsot8/wc39jX7MoD/KAsR4DcAvrjrH1GYo9D/adBFQnZZtT0K5cmpCZnC8RHhlvv0dXYo6wh05+zwSHalBM7PUZ/auQp3EW48w7uO8hk8JuL3BzmP8cIiuv2IdAFuevyphrMPWNzdFoaMa8WKbp3aWx+0sSVV74VRhho90JFiMn40vLtOXAON2fAifa5LqoIrjc2MNLmgtBEVQQ2veMTx5y13VfRI55Sz1OdjiC1SbjCS2T/Ed/3oFagF60pMqEuYVvpx7gwg+/V0DHgJ6HZWAebVAP5zGOWy3k3qMTZFjI3772Qkda+8d9IDgtdgu4vYSiNasgj7EjNU1N/PnXxrRnuuJn884IlGUJFFWwq34sKSeflec7/u6H98FplH9q3St0gIl/Z3+EhPOcslODjNTuy4rYLkg9L/Zhi9O50kYCsAWMPsPgNnwhu0jblMBJO5ChDLMZYfNvwqSosvVdoYOacVwwGebXcGF+7g0Bw2oZeVwK9y+7uQA== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR11MB1573.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 217390c7-6327-429c-e171-08d863c4a14b X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Sep 2020 15:39:04.1370 (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: M0q9tzkWKvZcpY8yxp5MRAzdGAXrZ0M/+heJxv4VbkI18DyAv+PSOJQjgtNaTTQSq43LT4IM/CK4mRIULq/T1UW68mBG6YlYVBl1fKLe2dY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1624 Return-Path: jacek.kukiello@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGltaW5nLA0KQXMgZm9yIG1rdG1lIHRoZXJlIGlzIGEgY2hhbmdlIGNvbW1pdGVkOiBodHRwczov L3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzEwOTM1OTA5Lw0KQXMgZm9yIFNQIEkgY2FuJ3Qg ZmluZCBhbnl0aGluZyBzcGVjaWZpYy4NClRoYW5rcw0KTWVnDQoNCi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQpGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMu aW8+IE9uIEJlaGFsZiBPZiBnYW9saW1pbmcNClNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDI1LCAy MDIwIDEwOjU1IEFNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEt1a2llbGxvLCBNYWxnb3J6 YXRhIDxqYWNlay5rdWtpZWxsb0BpbnRlbC5jb20+DQpDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47IEJpLCBEYW5kYW4gPGRhbmRh bi5iaUBpbnRlbC5jb20+OyBMaXUsIFpoaWd1YW5nIDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsg J09sZWtzaXkgWWFrb3ZsZXYnIDxvbGVrc2l5eUBhbWkuY29tPjsgJ0FyZCBCaWVzaGV1dmVsJyA8 YXJkLmJpZXNoZXV2ZWxAYXJtLmNvbT4NClN1YmplY3Q6IOWbnuWkjTogW2VkazItZGV2ZWxdIFtQ QVRDSCB2MiAwLzJdIFVFRkkgbWVtbWFwIHdvcmthcm91bmQgZm9yIGhpZGluZyBwYWdlLWFjY2Vz cyBjYXBzIGZyb20gT1NlcyBoaWRlcyBTUCBhbmQgQ1JZUFRPIGNhcHMgdG9vDQoNCk1hbGdvcnph dGE6IA0KICBIb3cgZG8ga25vdyBPUyAoV2luZG93cyBvciBMaW51eCkgYmVoYXZpb3IgZm9yIFNQ IGFuZCBDUllQVE8gYXR0cmlidXRlPyBJcyB0aGVyZSB0aGUgcHVibGljIGRvY3VtZW50IHRvIGRl c2NyaWJlIHRoaXMgYmVoYXZpb3I/DQoNClRoYW5rcw0KTGltaW5nDQo+IC0tLS0t6YKu5Lu25Y6f 5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBib3VuY2UrMjc5NTIrNjU1NjYrNDkwNTk1Mys4NzYxMDQ1 QGdyb3Vwcy5pbw0KPiA8Ym91bmNlKzI3OTUyKzY1NTY2KzQ5MDU5NTMrODc2MTA0NUBncm91cHMu aW8+IOS7o+ihqCBNYWxnb3J6YXRhIEt1a2llbGxvDQo+IOWPkemAgeaXtumXtDogMjAyMOW5tDnm nIgyNOaXpSAxODoyMg0KPiDmlLbku7bkuro6IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IOaKhOmA gTogTWFsZ29yemF0YSBLdWtpZWxsbyA8amFjZWsua3VraWVsbG9AaW50ZWwuY29tPjsgTWljaGFl bCBEIEtpbm5leSANCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgSmlhbiBKIFdhbmcg PGppYW4uai53YW5nQGludGVsLmNvbT47IEhhbyANCj4gQSBXdSA8aGFvLmEud3VAaW50ZWwuY29t PjsgRGFuZGFuIEJpIDxkYW5kYW4uYmlAaW50ZWwuY29tPjsgTGltaW5nIEdhbyANCj4gPGdhb2xp bWluZ0BieW9zb2Z0LmNvbS5jbj47IFpoaWd1YW5nIExpdSA8emhpZ3VhbmcubGl1QGludGVsLmNv bT47IA0KPiBPbGVrc2l5IFlha292bGV2IDxvbGVrc2l5eUBhbWkuY29tPjsgQXJkIEJpZXNoZXV2 ZWwgDQo+IDxhcmQuYmllc2hldXZlbEBhcm0uY29tPg0KPiDkuLvpopg6IFtlZGsyLWRldmVsXSBb UEFUQ0ggdjIgMC8yXSBVRUZJIG1lbW1hcCB3b3JrYXJvdW5kIGZvciBoaWRpbmcgDQo+IHBhZ2Ut YWNjZXNzIGNhcHMgZnJvbSBPU2VzIGhpZGVzIFNQIGFuZCBDUllQVE8gY2FwcyB0b28NCj4gDQo+ IFJFRjpodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTI5ODIN Cj4gDQo+IFRoZSB3b3JrYXJvdW5kIGluIHRoZSBVRUZJIG1lbW1hcCBjb25zdHJ1Y3Rpb24sIG5l YXIgdGhlIGVuZCBvZiB0aGUgDQo+IGZ1bmN0aW9uIENvcmVHZXRNZW1vcnlNYXAoKSBbTWRlTW9k dWxlUGtnL0NvcmUvRHhlL01lbS9QYWdlLmNdDQo+IHNob3VsZA0KPiBub3QgY2xlYXIgdGhlIFNQ IGFuZCBDUllQVE8gYml0cywgYmVjYXVzZSBPU2VzIGRvIChhcHBhcmVudGx5KSANCj4gY29ycmVj dGx5IGludGVycHJldCBTUCBhbmQgQ1JZUFRPIGFzIGNhcGFiaWxpdGllcywgYW5kIG5vdCBhcyAN Cj4gY3VycmVudGx5IHNldCBhdHRyaWJ1dGVzICh1cG9uIHdoaWNoIHRoZSBPU2VzIHNob3VsZCBz ZXQgdGhlaXIgcGFnZSANCj4gdGFibGVzKS4gRm9yIHRoaXMgcmVhc29uLCB0aGUgU1AgYW5kIENS WVBUTyBiaXRzIHNob3VsZCBiZSBzZXBhcmF0ZWQgDQo+IGZyb20gdGhlIGJpdG1hc2sgdGhhdCB3 ZSB1c2UgZm9yIGhpZGluZyB0aGUgcGFnZS1hY2Nlc3MgYXR0cmlidXRlcywgaW4gDQo+IHRoZSB3 b3JrYXJvdW5kDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYWxnb3J6YXRhIEt1a2llbGxvIDxqYWNl ay5rdWtpZWxsb0BpbnRlbC5jb20+DQo+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT4NCj4gQ2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5j b20+DQo+IENjOiBIYW8gQSBXdSA8aGFvLmEud3VAaW50ZWwuY29tPg0KPiBDYzogRGFuZGFuIEJp IDxkYW5kYW4uYmlAaW50ZWwuY29tPg0KPiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3Nv ZnQuY29tLmNuPg0KPiBDYzogWmhpZ3VhbmcgTGl1IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPg0K PiBDYzogT2xla3NpeSBZYWtvdmxldiA8b2xla3NpeXlAYW1pLmNvbT4NCj4gQ2M6IEFyZCBCaWVz aGV1dmVsIChBUk0gYWRkcmVzcykgPGFyZC5iaWVzaGV1dmVsQGFybS5jb20+DQo+IA0KPiAgTWRl TW9kdWxlUGtnL0NvcmUvRHhlL01lbS9QYWdlLmMgfCAxMiArKysrKystLS0tLS0NCj4gIE1kZVBr Zy9JbmNsdWRlL1VlZmkvVWVmaVNwZWMuaCAgIHwgIDMgKystDQo+ICAyIGZpbGVzIGNoYW5nZWQs IDggaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkNCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IEludGVs IFRlY2hub2xvZ3kgUG9sYW5kIHNwLiB6IG8uby4NCj4gdWwuIFNvd2Fja2llZ28gMTczIHwgODAt Mjk4IEdkYXNrIHwgU2QgUmVqb25vd3kgR2Rhc2sgUG5vYyB8IFZJSSANCj4gV3lkemlhIEdvc3Bv ZGFyY3p5IEtyYWpvd2VnbyBSZWplc3RydSBTZG93ZWdvIC0gS1JTIDEwMTg4MiB8IE5JUCANCj4g OTU3LTA3LTUyLTMxNg0KPiB8IEthcGl0YSB6YWthZG93eSAyMDAuMDAwIFBMTi4NCj4gVGEgd2lh ZG9tbyB3cmF6IHogemFjem5pa2FtaSBqZXN0IHByemV6bmFjem9uYSBkbGEgb2tyZWxvbmVnbyBh ZHJlc2F0YSANCj4gaSBtb2UgemF3aWVyYSBpbmZvcm1hY2plIHBvdWZuZS4gVyByYXppZSBwcnp5 cGFka293ZWdvIG90cnp5bWFuaWEgdGVqIA0KPiB3aWFkb21vY2ksIHByb3NpbXkgbyBwb3dpYWRv bWllbmllIG5hZGF3Y3kgb3JheiB0cndhZSBqZWogdXN1bmljaWU7IA0KPiBqYWtpZWtvbHdpZWsg cHJ6ZWdsZGFuaWUgbHViIHJvenBvd3N6ZWNobmlhbmllIGplc3QgemFicm9uaW9uZS4NCj4gVGhp cyBlLW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBtYXkgY29udGFpbiBjb25maWRlbnRpYWwgbWF0 ZXJpYWwgZm9yIA0KPiB0aGUgc29sZSB1c2Ugb2YgdGhlIGludGVuZGVkIHJlY2lwaWVudChzKS4g SWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkDQpyZWNpcGllbnQsDQo+IHBsZWFzZSBjb250YWN0 IHRoZSBzZW5kZXIgYW5kIGRlbGV0ZSBhbGwgY29waWVzOyBhbnkgcmV2aWV3IG9yDQpkaXN0cmli dXRpb24gYnkNCj4gb3RoZXJzIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuDQo+IA0KPiANCj4gDQo+ IA0KPiANCj4gDQoNCg0KDQoNCg0KDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkludGVsIFRlY2hub2xvZ3kg UG9sYW5kIHNwLiB6IG8uby4KdWwuIFNvd2Fja2llZ28gMTczIHwgODAtMjk4IEdkYXNrIHwgU2Qg UmVqb25vd3kgR2Rhc2sgUG5vYyB8IFZJSSBXeWR6aWEgR29zcG9kYXJjenkgS3Jham93ZWdvIFJl amVzdHJ1IFNkb3dlZ28gLSBLUlMgMTAxODgyIHwgTklQIDk1Ny0wNy01Mi0zMTYgfCBLYXBpdGEg emFrYWRvd3kgMjAwLjAwMCBQTE4uClRhIHdpYWRvbW8gd3JheiB6IHphY3puaWthbWkgamVzdCBw cnplem5hY3pvbmEgZGxhIG9rcmVsb25lZ28gYWRyZXNhdGEgaSBtb2UgemF3aWVyYSBpbmZvcm1h Y2plIHBvdWZuZS4gVyByYXppZSBwcnp5cGFka293ZWdvIG90cnp5bWFuaWEgdGVqIHdpYWRvbW9j aSwgcHJvc2lteSBvIHBvd2lhZG9taWVuaWUgbmFkYXdjeSBvcmF6IHRyd2FlIGplaiB1c3VuaWNp ZTsgamFraWVrb2x3aWVrIHByemVnbGRhbmllIGx1YiByb3pwb3dzemVjaG5pYW5pZSBqZXN0IHph YnJvbmlvbmUuClRoaXMgZS1tYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgbWF5IGNvbnRhaW4gY29u ZmlkZW50aWFsIG1hdGVyaWFsIGZvciB0aGUgc29sZSB1c2Ugb2YgdGhlIGludGVuZGVkIHJlY2lw aWVudChzKS4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNlIGNv bnRhY3QgdGhlIHNlbmRlciBhbmQgZGVsZXRlIGFsbCBjb3BpZXM7IGFueSByZXZpZXcgb3IgZGlz dHJpYnV0aW9uIGJ5IG90aGVycyBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLgogCg==