From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.14508.1684820363144614175 for ; Mon, 22 May 2023 22:39:23 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=nvSsBOqG; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684820363; x=1716356363; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=jPtVGP/aR5aDDXoIbAtxEqCu8cQtnoyV9DKUEQi9Llk=; b=nvSsBOqGyz1X45A7BuTpVT9ZdADEJ3fvfjJZ1+eW2/MipeYRvPqFagkU pAUvlgcjmCv8jTKLQjY7odu17AeVtLpvSZZh+nnIMHvtkMqUp5pky8iWh Na+rXBthiq8I4P8CmLoSUTk/wkHeLb3rT+mNNUGl7x+M5e31f3vXr/X+6 r2tprP3COVhRy3nyuqSfphGgyerCmgkyj4bxG4erUd0pAw7iUpuEx0dK1 ALb0NFI7JDtHe3Xyq6EYEmU2pQxEEnTSBWl7BmcnsrptXFptVqgcMOpFI JWt9oROgYUzhFdjEFGVbAw5OEUHpJRxHfw6/PnLQQRHfZWfZIWbEAJRYF g==; X-IronPort-AV: E=McAfee;i="6600,9927,10718"; a="351983581" X-IronPort-AV: E=Sophos;i="6.00,185,1681196400"; d="scan'208";a="351983581" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 May 2023 22:39:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10718"; a="706840703" X-IronPort-AV: E=Sophos;i="6.00,185,1681196400"; d="scan'208";a="706840703" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga007.fm.intel.com with ESMTP; 22 May 2023 22:39:22 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.2507.23; Mon, 22 May 2023 22:39:22 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Mon, 22 May 2023 22:39:22 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.172) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Mon, 22 May 2023 22:39:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nwjw/XarCkhnNzWRxVWx+HX+hKax0WPBINn7iMSbJXtz34qSgtw3UsxdrtJetp6oJzw22TtH4ctGgF/XzjNgWJpt3UmBz7FMBVuD3i+cNIJRH0XbzLHY0LCefX5fNS5b1V2mks01bJ8V9T6kgmN1vkW9/siniv11vcp/bG3W2wyzuZmpBvHEKnqc267jxdyUTH2u2Q3qgnQ4Pfi81B8pp3rbvEGsLE6if/rTXJkbZgV93fkqF9E/TWx2nlko3mUnyRICogP6WixDWvGKPixMAn8RuCrdi6UTN0gfpKkLevRaWw+/bsM7SrXObn7Ss7Z9gr9QAUNhBWKEzQgvGiI2BQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jPtVGP/aR5aDDXoIbAtxEqCu8cQtnoyV9DKUEQi9Llk=; b=SqQNDd9gDEoSYgqxWiIw+auPB90+XaIFRhhuQp2Io1/E5uEXNMzBuJ1AaJxzWBO4vLPTb9/szdqNwLaGrt0x8naHtaA7WUcySyeNlRPXV654kGA1bJBsfEWsEt8BLOvd8wCO2/KEDHLCb9iAgKrJFm9t07it8NHb4IGoBS7eEUsjUm6+2BO2DbuOTlezkIChlA1Fj6MWGb1fefIJ56qfZYc4W+lFd6t+2wfgHdAGu93ahpETgxFEOrtxvuDmsrRcT8QC3lMf+y5LQdkRoc1E/ll+TgMPmCTxTGXwaQFVOQ1a5ZHWvPTdIUTFu+SXkworpPvzm1AMs4hlpCff+npO2A== 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 Received: from MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by DM8PR11MB5592.namprd11.prod.outlook.com (2603:10b6:8:35::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Tue, 23 May 2023 05:39:20 +0000 Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::892b:b8e6:bab7:635d]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::892b:b8e6:bab7:635d%5]) with mapi id 15.20.6411.028; Tue, 23 May 2023 05:39:20 +0000 From: "Ni, Ray" To: Laszlo Ersek , Ard Biesheuvel , edk2-devel-groups-io , "Yao, Jiewen" , Gerd Hoffmann , Taylor Beebe , Oliver Smith-Denny Subject: Re: managing memory attributes in PEI Thread-Topic: managing memory attributes in PEI Thread-Index: AQHZjKEAhT8RYGAL2EqPb3XXfQTbN69nVlwAgAAA9hA= Date: Tue, 23 May 2023 05:39:18 +0000 Message-ID: References: <1718e8ad-6ba3-5da8-85c5-76e48c42110d@redhat.com> In-Reply-To: <1718e8ad-6ba3-5da8-85c5-76e48c42110d@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|DM8PR11MB5592:EE_ x-ms-office365-filtering-correlation-id: 3943f1fb-1429-4b30-14e4-08db5b500dc7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cFtBZSn25yJwjIjKKlPflPVHi1ZBt9lqPIKXKp8yKRiBDAmoiT/aWfOuylpaAkh5OWofS8PtMER4F3uLKBKi6+dsASTsVTponYgtr03/5aGjBSNCz/PvidWI6L3hCD4zWKaxehG6/TwgmUQhC7fqA/+Canuw1fkIPkNix+cX5Rz6B0seOC4N0aKsqNXjJUjje6t08GdlLcokMsZrePeMs2mrlqj/9QvoqKKrMXktje9snhGnD4qZpTkwd/sdbYkaH/rUTQ7NjQL4vu1b/RdRTxdwLODZX+hzQb8bRgdnMNRd765t8ZSeRo7PBPBLgrhFC18Zn2FnUi8CjhHm5lbFwgitM7VOcBnJV7mdVINoIxmcNTgnqpVHYrdGw7d6QS1KbHH4fz49msCcou4dBoA4xfV0Yxmb58zJJW9FDr4nDJw0nLkV3FG6fTmt/o5hCBwHHD+W3pRrb+Z6m3DbCj3N95M4I8p0VVozNn0b0g6G+doEtGtXQ9YGnlpNy6cTdOw6CRd8x/IqeB1dhkYK8WxFkUCSlXHzGCEn+z7D1ifonveLIubukezkme5IdweQ8sRSv1h31UyfC2cEk0AN9NXoUB5GaIIokOGH+umWcSfdn3ii/AkIYO4CoSpLjIM4DzcCVmzq+CoP89fK1nldfEAtLv1TySuGq2qm0Gguh/YW8+c= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN6PR11MB8244.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(366004)(396003)(39860400002)(136003)(451199021)(5660300002)(52536014)(8936002)(8676002)(86362001)(33656002)(26005)(6506007)(53546011)(9686003)(2906002)(83380400001)(4001150100001)(186003)(55016003)(66476007)(64756008)(66556008)(66446008)(76116006)(122000001)(82960400001)(71200400001)(66946007)(316002)(110136005)(38070700005)(478600001)(38100700002)(7696005)(19627235002)(41300700001)(781001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VmpwbWlqOTZnYTU3ZE1qNWJzZGpPTXU5Mm4xMXJEYjY1NmtPVkJEMTBkem91?= =?utf-8?B?QVlwaCtYTndzVW9HRHF6bm9heGJjR3ZLME5PdGlkVXdLTDNpSm9ZMWpIZk5P?= =?utf-8?B?eEExZjZUQjNCNUNxWjd4WW9xRzBsZ3B5bEZDY2JRRHIwTWRHSkRoY1J6K1I0?= =?utf-8?B?LzBsc25SZCs4TS9iM2toS003ODJGallRV3l2YjkvWUFxV3pXNzhvKzIrYmNt?= =?utf-8?B?dmRrbHhLMkc3Yk4vcXMyQXBxOFl1SVRNUkFzbTVKNU5EUFYwdVcyQ2kxUytK?= =?utf-8?B?bU1wQXE1Wi9FdW1LYTN5L05lSml2QndrRmwwazZEbEdCazRvMlJoRXFpZFAx?= =?utf-8?B?K0tnTTdSWnJiR3MzZmRQK1RRTzNscnhuVUVqVnV2cStnQjFKTmVETnJWWmc0?= =?utf-8?B?N1h2TmIzY2NlSDhiNkoyMzZIdW54Tm9NQ1kyRGhPdEx3KysrRzVRQmNKaVk3?= =?utf-8?B?eXUyeXpBWjREL1dtRWh3UU9SUFJkdFd2Nk1xclNXMVFFdzZtaWw2QUNIa204?= =?utf-8?B?ZTRKSnVxNXd4NFdqaCtaNU1kc3VKejBXTHY2bVZuemNGTjV1c29MbEk5MDh0?= =?utf-8?B?TTBnT01reXV5eU9vd1RiR1pOTVkzN2FQeTY1R3gzUUlCUU9xQjZ1TzJmanpC?= =?utf-8?B?Q0hPdnJFaXN2dVRuWkZwa1BhVDQ5SkE3Qm9acDlnTVJ2SHBtaCtpcVMvNjZ5?= =?utf-8?B?K04zUCtldHF6WDJLVlFZY3RxaTVHYVcwYjl2RFhxVjQvY0Jac1M1WHhzUnph?= =?utf-8?B?WTV6TXMvUE5BL1JSV1QrbXpweFp3clZBclZXUFVydmRpVE1tcEExaE1tc2po?= =?utf-8?B?eUxoWGh2V0NNdlR4WE9UQzAyRkNVR1A5eXRKRnM1ZEJoeEpLYlhrcExON1Vw?= =?utf-8?B?dGZwSmxjSS9GMloxNkNVN2xxc2ovcGhCZHhrWGo0cTYxb1JmbHdWZExTZ2FP?= =?utf-8?B?SVlLbnZ4V011aTFtUHh0QnBmNGg5UmN1SnJmRWl3QXd1NGY3MC8wK2VTRTha?= =?utf-8?B?Nk9kZUUxZ1U3MTM1WEtXVkFwQjNtRlZzci9sQlhZcjdNOHpYN0J4Wkx5anFk?= =?utf-8?B?QUJlN0xjSVYvcS9GeDVFdHozUW44blZlaFNCQnV5UzBmbEwwWEthZDh3NURz?= =?utf-8?B?aG9PeWRwbGJxU204T3JIellkSVkxSVJPeXdPc0lhcmtGS2pqLzlLcjhXQ1Q2?= =?utf-8?B?WTNBOG1pZ3lqM2FMelJBTzIxeWlRUExHUFpkb0FmS3JIT2E3dlhPcGlISUlE?= =?utf-8?B?RHhkWFBWRFRZV29YVWJ3cHdOWkp3MHR1MlJFbjZlZFNSZThZLzJqNU5SMFhv?= =?utf-8?B?d1dURXM0dUYvaE9SZ0tPREE0WTBMK3BaREd3YWhKMUlYZG5xNlhrd3dwOXJq?= =?utf-8?B?K05xaDZtcmVoZTdua3QrQ2gvV0ZDcG11T09HSjV5ZmQ4ZzBvbDFVY1N0TkpM?= =?utf-8?B?dVN6QW9FS0pLTjBWN3pXbFMrZGFiQzNIekZjVlRSK0p4T2g0ZjhES25BT2VP?= =?utf-8?B?RHRxZkxBdElDeDc3ZmdaN0pmVlJFVkhobkZUVjZIdFpSalNuUHl0T1dNUzdt?= =?utf-8?B?WUVEQlBSbUhnTU1uNTJJaVcyTlBVNm4vNm1ycDhiMVFyblBBenBhL2ZlY2ZV?= =?utf-8?B?cndUQkVjTUdoUDBmZTlLTkZsR1QrV0o2bWNDajg3Y0xEK3RiWnc5WWwvWGpm?= =?utf-8?B?cEIwQmd4amlqRHlWUWlIbE1nNDVINGcxWWtWK1M5TUYreEEyZTAvZDlra2Na?= =?utf-8?B?UVJmL0VYazJJK3ByZWZnaTkwUTBEcitlU21lZVdmaFV0K2xKUVcvUTV4YTdz?= =?utf-8?B?UDNpb3hJdjFObGdmSmFROTByQlFFNWJxL2pLMis3MHorMm14eUxqWHJCcjdO?= =?utf-8?B?bnpJVHRFZ0tsVjQyUXZEeGhzQ3ZSUzlET0YyT2tUUGFJaWV0L2E1My9NdjlM?= =?utf-8?B?WWVDTEF6S1ovZndTOTN3YTVVSC81bFpQemVtaytMS3ljYzZTSk9tV1ZFSk9C?= =?utf-8?B?RCtib2xLTlgyNXc5cmhPZmRmSHdhMGdzVVN0TkZhUG1KWElPSlFjVStQRm9L?= =?utf-8?B?R210RE5Ra1RnMlE2Y1gxK2FrV1laWkJPZ2VrZUtwWXRoYzF0bE5FM29IQi92?= =?utf-8?Q?XBOY=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3943f1fb-1429-4b30-14e4-08db5b500dc7 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 May 2023 05:39:18.9359 (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: l9dBK07cKxb1jYAhXbxdPUOUbgQzTxsIlDdZorWNwt702Aquf7BwouWBqN3oEin6+O9UnTHnEvbndRXOOiF5Ww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR11MB5592 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxvIEVyc2VrIDxs ZXJzZWtAcmVkaGF0LmNvbT4NCj4gU2VudDogVHVlc2RheSwgTWF5IDIzLCAyMDIzIDE6MzEgUE0N Cj4gVG86IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+OyBlZGsyLWRldmVsLWdyb3Vw cy1pbw0KPiA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29t PjsgWWFvLCBKaWV3ZW4NCj4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgR2VyZCBIb2ZmbWFubiA8 a3JheGVsQHJlZGhhdC5jb20+OyBUYXlsb3IgQmVlYmUNCj4gPHRAdGF5bG9yYmVlYmUuY29tPjsg T2xpdmVyIFNtaXRoLURlbm55IDxvc2RAc21pdGgtZGVubnkuY29tPg0KPiBTdWJqZWN0OiBSZTog bWFuYWdpbmcgbWVtb3J5IGF0dHJpYnV0ZXMgaW4gUEVJDQo+IA0KPiBPbiA1LzIyLzIzIDEzOjMx LCBBcmQgQmllc2hldXZlbCB3cm90ZToNCj4gPiBIZWxsbyBhbGwsDQo+ID4NCj4gPiAoT1ZNRiBz cGVjaWZpYyBxdWVzdGlvbnMgYmVsb3cgLSBwbGVhc2Uga2VlcCByZWFkaW5nKQ0KPiA+DQo+ID4g QXMgYSBmb2xsb3ctdXAgdG8gdGhlIGRpc2N1c3Npb24gd2UgaGFkIGxhc3Qgd2VlayByZWdhcmRp bmcgRFhFIGNvcmUsDQo+ID4gSSdkIGxpa2UgdG8gcmFpc2UgdGhlIGlzc3VlIG9mIG1hbmFnaW5n IG1lbW9yeSBwZXJtaXNzaW9ucyBpbiBQRUksDQo+ID4gaW5jbHVkaW5nIHRoZSBtYXBwaW5nIGF0 dHJpYnV0ZXMgb2YgdGhlIGNvZGUgYW5kIGRhdGEgcmVnaW9ucyBvZiBEWEUNCj4gPiBjb3JlIGl0 c2VsZi4NCj4gPg0KPiA+IFRoaXMgaXMgYWJvdXQgZ29vZCBoeWdpZW5lIGluIGdlbmVyYWwsIGJ1 dCBvbiBhcm02NCBpbiBwYXJ0aWN1bGFyLA0KPiA+IGxpbWl0aW5nIGV4ZWN1dGlvbiBwZXJtaXNz aW9ucyB0byBtZW1vcnkgcmVnaW9ucyB0aGF0IGFyZSBtYXBwZWQNCj4gPiByZWFkLW9ubHkgYWxs b3dzIHRoZSBNTVUgdG8gYmUgZW5hYmxlZCBpbiBXWE4gbW9kZSwgd2hlcmUgYWxsIHdyaXRhYmxl DQo+ID4gcmVnaW9ucyBhcmUgbm9uLWV4ZWN1dGFibGUgYnkgZGVmYXVsdC4NCj4gPg0KPiA+IEkg aGF2ZSBpbXBsZW1lbnRlZCBhIHByb29mLW9mLWNvbmNlcHQgb2YgdGhpcyBmb3IgQXJtVmlydFFl bXUgYW5kDQo+ID4gUmFzcGJlcnJ5IFBpIDQgKHRoZSBmb3JtZXIgdXNpbmcgUEVJIGFuZCB0aGUg bGF0dGVyIFBFSS1sZXNzKSwgYW5kDQo+ID4gdGhpcyBzZWVtcyBxdWl0ZSBmZWFzaWJsZSBpbiBw cmFjdGljZSwgYnV0IHRoZXJlIGFyZSBhIGZldyBpc3N1ZXMgdGhhdA0KPiA+IEkgaGF2ZSBpZGVu dGlmaWVkOg0KPiA+DQo+ID4gLSBQRUkgc2hhZG93aW5nIGlzIGN1cnJlbnRseSBkaXNhYmxlZCBl bnRpcmVseSAtIHRoaXMgaXMgYWN0dWFsbHkgYW4NCj4gPiBhZHZhbnRhZ2UgZm9yIHRoZSBbdmly dHVhbF0gcGxhdGZvcm0gaW4gcXVlc3Rpb24sIGdpdmVuIHRoYXQgc2hhZG93aW5nDQo+ID4gaXMg bW9yZSB3b3JrIGZvciBubyBiZW5lZml0LCBidXQgaXQgaXMgc29tZXRoaW5nIHRoYXQgbmVlZHMg dG8gYmUNCj4gPiBhZGRyZXNzZWQgaW4gdGhlIGdlbmVyYWwgY2FzZTsNCj4gPiAtIG5vIGdlbmVy aWMgbWV0aG9kIGV4aXN0cyB0byBtYW5hZ2UgcGFnZSB0YWJsZSBwZXJtaXNzaW9ucy4NCj4gPg0K PiA+IFNvIHdoYXQgSSB3b3VsZCBsaWtlIHRvIHByb3Bvc2UgKGFuZCB3aGF0IEkgaW50ZW5kIHRv IHByb3RvdHlwZSkgaXMgYQ0KPiA+IFBQSSB0aGF0IGFic3RyYWN0cyB0aGlzIGNhcGFiaWxpdHks IGFuZCB3aGljaCBjYW4gYmUgdXNlZCBieSB0aGUgUEVJDQo+ID4gaW1hZ2UgbG9hZGVyIGFzIHdl bGwgYXMgdGhlIER4ZUlwbCB0byBtYW5hZ2UgcmVhZC1vbmx5IGFuZCBub24tZXhlYw0KPiA+IHBl cm1pc3Npb25zLiBNb3N0IFBFSU1zIG9ubHkgaGF2ZSBhIGNvZGUgcmVnaW9uIGFueXdheSwgc28g aG9wZWZ1bGx5DQo+ID4gdGhlcmUgaXMgc29tZSByb29tIGZvciBvcHRpbWl6YXRpb24gd2hlcmUg bm90IGFsbCBQRUlNcyBuZWVkIDRrDQo+ID4gYWxpZ25tZW50Lg0KPiA+DQo+ID4gVGhhdCBsZWF2 ZXMgb25lIGJpZyBpc3N1ZSwgYW5kIHRoaXMgaXMgcmVsYXRlZCB0byBPVk1GJ3MgdXNlIG9mIElB MzINCj4gPiBQRUkgd2l0aCBYNjQgRFhFLiBUaGlzIGNvbXBsaWNhdGVzIHRoZSBEeGVJcGwgc3Vi c3RhbnRpYWxseSBhbHJlYWR5LA0KPiA+IGJ1dCB3b3VsZCBtYWtlIHRoaXMgZWZmb3J0IHJhdGhl ciB0cmlja3kgYXMgd2VsbC4NCj4gPg0KPiA+IFNvIG15IHF1ZXN0aW9ucyBhcmU6DQo+ID4gLSBk byB3ZSBuZWVkIHRvIHJldGFpbiBtaXhlZCBJQTMyIC8gWDY0IHN1cHBvcnQsIGFuZCBpZiBzbywg d2h5PyAoSQ0KPiA+IHRoaW5rIGl0IGlzIHJlbGF0ZWQgdG8gU01NIGVtdWxhdGlvbiBidXQgSSBu ZWVkIHNvbWVvbmUgdG8gY29uZmlybQ0KPiA+IHRoaXMpDQo+IA0KPiBGb3IgYSBsb25nIHRpbWUs IElBMzJYNjQgaGFkIGJlZW4gcmVxdWlyZWQgaWYgeW91IHdhbnRlZCAoYSkgWDY0IERYRSwNCj4g KGIpIFNNTSwgYW5kIChjKSBBQ1BJIFMzIHJlc3VtZS4gVGhlIHJlYXNvbiB3YXMgdGhhdA0KPiBV ZWZpQ3B1UGtnL1VuaXZlcnNhbC9BY3BpL1MzUmVzdW1lMlBlaSBkaWRuJ3Qgc3VwcG9ydCBTTU0g b24gWDY0LCBvbmx5DQo+IG9uIElBMzIuDQo+IA0KPiBTZWUgY29tbWl0IDUxMzNkMWYxZDI5NyAo Ik92bWZQa2c6IHJlcGxhY2UgUkVBRE1FIGZpbmUgcHJpbnQgYWJvdXQgWDY0DQo+IFNNTSBTMyB3 aXRoIFBsYXRmb3JtUGVpIGNoZWNrIiwgMjAxNS0xMS0zMCkuDQo+IA0KPiBUaGlzIFMzUmVzdW1l MlBlaSBsaW1pdGF0aW9uIGdvdCBsaWZ0ZWQgbGFzdCB5ZWFyLCBpbiBjb21taXQNCj4gNmFjZjcy OTAxYTJlICgiVWVmaUNwdVBrZzogU3VwcG9ydGluZyBTMyBpbiA2NGJpdCBQRUkiLCAyMDIyLTEy LTE5KSwgZm9yDQo+IDxodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dp P2lkPTQxOTU+Lg0KPiANCj4gR2VyZCB0ZXN0ZWQgdGhlIGFjY29yZGluZyByZW1vdmFsIG9mIFMz VmVyaWZpY2F0aW9uKCkgaW4gT1ZNRg0KPiA8aHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3Jn L3Nob3dfYnVnLmNnaT9pZD00MTk1I2M0PiwgYnV0IHRoYXQgY29kZQ0KPiBpcyBub3QgdXBzdHJl YW0gKG9yIGRvd25zdHJlYW0gYXQgdGhhdCwgSUlVQyksIHlldC4NCj4gDQo+IE9uY2UgUzNWZXJp ZmljYXRpb24oKSBpcyByZW1vdmVkLCBPVk1GIElBMzJYNjQgd2lsbCByZW1haW4gdXNlZnVsIGZv cg0KPiBleGVyY2lzaW5nIGEgcGFydGljdWxhciBJQTMyWDY0IGNvbWJpbmF0aW9uIG9mIG1vZHVs ZXMgdGhhdCBwaHlzaWNhbA0KPiBwbGF0Zm9ybXMgdXNlLCBidXQgSSByZWNrb24gSUEzMlg2NCB3 aWxsIG5vIGxvbmdlciBiZSByZXF1aXJlZCBmb3INCj4gdmlydHVhbGl6YXRpb24gcHVycG9zZXMg cGVyIHNlLg0KDQpXb3cuIEkgZGlkbid0IHJlYWxpemUgT1ZNRiBoYWQgUzNWZXJpZmljYXRpb24o KSB0byBleHBsaWNpdGx5IGVkdWNhdGUgdXNlcnMNClg2NCBQRUkgKyBTTU0gZG9lc24ndCBzdXBw b3J0IFMzLjopDQpUaGF0IHdpbGwgYmUgZ3JlYXQgdG8gcmVtb3ZlIHRoZSBjb2RlIHRvZGF5Lg0K DQo+IA0KPiBCZWZvcmUgd2UgZW5hYmxlZCBTTU0gZm9yIE9WTUYsIHdlIGhhZCBuZXZlciByZWFs bHkgdXNlZCBJQTMyWDY0IE9WTUYgLS0NCj4gU01NLWxlc3MgQUNQSSBTMyByZXN1bWUgaGFkIGp1 c3Qgd29ya2VkIGZpbmUgd2l0aCBYNjQtb25seSBPVk1GLiBJQTMyWDY0DQo+IG9ubHkgcHJvdmVk IGEgZ3JlYXQgcGxhdGZvcm0gb3B0aW9uIHRvIGZhbGwgYmFjayB0bywgd2hlbiB3ZSByZWFsaXpl ZA0KPiB0aGF0IG9uIFg2NCBPVk1GLCBBQ1BJIFMzIHJlc3VtZSB3b3VsZG4ndCBqdXN0IHNlYW1s ZXNzbHkgZXh0ZW5kIHRvIFNNTS4NCg0KSSBkb24ndCBxdWl0ZSB1bmRlcnN0YW5kLiBTbywgd2hh dCdzIHRoZSBjb25jbHVzaW9uIG9mIElBMzJYNjQgT1ZNRj8gS2VlcCBpdD8gUmVtb3ZlIGl0Pw0K DQo=