From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 74AC6740038 for ; Wed, 7 Feb 2024 00:53:17 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=RYgwDKjFkQBDFUkEql9PO5wfpwx7EK8vtgTVeyxqZe8=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1707267196; v=1; b=Qr+6JGYgugEn1Y+bYgoFpkifEPalhRvIxalKAnoZAwCip38yibJkq7PSviAUNiX1/pnIUv6s oxLNxZ8ZCrBdXohDQE9HhNlwsWX1G/bk+iJbHxpxQMrT8uuD+Q1ujH/ACoJwPkrhVrC/rJcuims nMcpYj8oWimcyCfU0pKpLNhE= X-Received: by 127.0.0.2 with SMTP id PhirYY7687511xJJxQmSN1Bu; Tue, 06 Feb 2024 16:53:16 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) by mx.groups.io with SMTP id smtpd.web11.9750.1707266858794727651 for ; Tue, 06 Feb 2024 16:47:38 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10976"; a="1154605" X-IronPort-AV: E=Sophos;i="6.05,248,1701158400"; d="scan'208";a="1154605" X-Received: from fmviesa008.fm.intel.com ([10.60.135.148]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Feb 2024 16:47:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.05,248,1701158400"; d="scan'208";a="1403015" X-Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmviesa008.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 06 Feb 2024 16:47:38 -0800 X-Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) 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.35; Tue, 6 Feb 2024 16:47:37 -0800 X-Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 6 Feb 2024 16:47:37 -0800 X-Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) 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.35; Tue, 6 Feb 2024 16:47:37 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ePT54bCX75Sdjj6nK4VBO6Ko4LszwW06L87mNyH9oJ7x2bmTLKljbJ/1iMfXYSPV3nRKsvei8aRnYPdW8K/+YHfCvRC/16x3tBClh3Pv6gPzCO8Wf9slB92v7WPKZalWQXlN/0rQc9Iv7XWxCj/V3o5kR1KSe3Wa7/Yb2YlZvIFWJ3hkfVaIA4yBhv8+DbYe8fIuoiNRs+p910b/RcoZ7H/6PE+Tmt8b0LtPjkrXIDFdgTW5ZZTidu/QPQx3ChNfCktuGqf/CvDTB3Q8/hrYTnoTqrYXgqxSoWmdUdQjkC+sOhpXIBtHoVWG8rVHKrcNgdrjC6xD+ALxNfZkamJPNA== 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=h9ulxurCHZUZ3X/vGIDMzldKJ+7ST506J+NdJXT6eE0=; b=dohz1XoREdX7k01ny2ggZQKSKdqJqqplCsJ7+BkYz0YPCXMQ5NFYTz9RV4E+a7bZj/Ix2QoIrS+gEiluECmVLVgeyag3DIOOLVZ2zMvTKEGbrK2q/uPBFA1wV0KHCej2Fzwokis+ntw9pZtfsWyQv7geTH1z6HjUj3xfk4OSpSfvqplMuOwR5DqKU3Wllw2fEfrEWWv0vzHQJup+la7NiNvWy0tG60rHVzAndnC3a9gHJPw8j/v6gzLsYpreMpSzuRWh6XUir5V7gaH+JC4Lf4L1sK4nKDB3JWXcuVVOupeYEXDujIkIM8qmDH16E49xIOYUofgYAfwrXxVhB3kHDg== 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 X-Received: from PH7PR11MB6673.namprd11.prod.outlook.com (2603:10b6:510:1ab::13) by DM6PR11MB4737.namprd11.prod.outlook.com (2603:10b6:5:2a2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.36; Wed, 7 Feb 2024 00:47:35 +0000 X-Received: from PH7PR11MB6673.namprd11.prod.outlook.com ([fe80::9be7:97e1:1345:f822]) by PH7PR11MB6673.namprd11.prod.outlook.com ([fe80::9be7:97e1:1345:f822%2]) with mapi id 15.20.7249.035; Wed, 7 Feb 2024 00:47:35 +0000 From: "Zhou, Jianfeng" To: Pedro Falcato , "devel@edk2.groups.io" , "lersek@redhat.com" CC: "Tan, Dun" , "Ni, Ray" , "Kumar, Rahul R" , Gerd Hoffmann Subject: Re: [edk2-devel] [PATCH 1/3] UefiCpuPkg: Reduce and optimize access to attribute Thread-Topic: [edk2-devel] [PATCH 1/3] UefiCpuPkg: Reduce and optimize access to attribute Thread-Index: AQHaWDxTmqDgN5csXkGUTgQQ44Ov/7D9UWQAgABDnQCAAHFDgA== Date: Wed, 7 Feb 2024 00:47:35 +0000 Message-ID: References: <20240205140345.1437-1-dun.tan@intel.com> <20240205140345.1437-2-dun.tan@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH7PR11MB6673:EE_|DM6PR11MB4737:EE_ x-ms-office365-filtering-correlation-id: 50d74f74-2a31-4323-3bec-08dc27766027 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: htCd7nCT/cFDN4NYWfSf458fn0Z1+MwKi3y7WHopQ7Hx0E827tByYPW4WJJQQFFNhszxOvntTdl9ppMnRqsoyezU6br6AXsQfEa9S/quq1heta1sw/xDqzcGcJGSzYi2EJGUNTkh4sFRZKDgTTmLqu0x3gPpw0D1x0fWOnbfMImdznI7X2+W+LRoZ+MBETiSDsR3XJyJuTO4+8W6LF8iBcFy4kjgF8bbR5sPny92jFQwPxLpbXSnlsluIH9Bvc9no+5TRncq7Y8Oeq8+CoYePOpz7UHU8ju4HzIaa6uu67q/M4aktbGrleRELUU9YYQGB1R7jjYYywxSMsiJnnRVUHDqBNrYUaPU16g6H2YMaDzjqjiES5eWwoA4N37dJ0q3qIfa3ULVqpuEHEMnPotSfknJWevyXhVCt0MGNOtvO63ASZE3tOq8OluPuA4h3Fbicd8cgBTM8NZQRLH8ew6iaWHzWii1UCX1pJ2fV5mNNnQlEHoo+vF5q6ttfucHsOHUUF/HheCdm1HFKMtSd/IvflIBZV4HVIzsIRY+7iVT0eRbvXqR7iDEq2/wBpfgHbhFygNviZqLu/Hz+3rzk3uA75Vei/gUmLILijuV+/fNmaqcXLtuWl3skbr+qqXjjNqq x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SlRTd0xxQVhxZUVhbk9ZM1djV3ZJTjA2Q0VVSVE1ZUNia0RtVHd1Wkp4aE5L?= =?utf-8?B?akVJVEI3NERyQnovZjJPLzVFQkllbUVvUXJ2UU93RUtqSXlNalBlWnpTYW5B?= =?utf-8?B?WGlXbDVLbXVCdUQ1cDluVGwzYnpTL3UwanJySmFTWko2aWMrcFR2VDNqdlpa?= =?utf-8?B?Y3dqa1pNQWlqSWpjck9VRGVVUGhMT1lYczNDSVRpc09yN0wvNmEwd09oZ2tP?= =?utf-8?B?em5WVm9YRWh6OFRvSVVBOGxRYm9uY2hrSjEreUxmbWdPdFBNUUh6K3M2QUN1?= =?utf-8?B?c1RyUWE2MDFqTnVJTEdUQUhEd0Z5UVdHTDFpZVg3ODk5VUxuQXpoeU9EWmVV?= =?utf-8?B?S0ZxYjdGTVNhNXhRekRvZG9ycU5Qamw1R3hBTDBwTzc2aForWENMOEE3SU5r?= =?utf-8?B?dTQ1V3BZREdwcnY5YjQvQjkxQU81TmQ4VmVnTTYxMnJ2NEU5MklpZDRXL0Jz?= =?utf-8?B?RURMVFh3dm1wV1c4bTMxYkgxdzRGK0FsaUJTTHVKWDFvRGg2VUZZWXNDc3ZW?= =?utf-8?B?VUFJMGJSODBhMnBpLzJnV3M1OFpVZFJYZGxPMEdrbTg3YlhRekR0WWNKb1Bs?= =?utf-8?B?aE9YbW9ZVUZRYzhoWGRjcGZNY1pCdkhqdUlTUFdqL28rV0pROHRDY21aZEdU?= =?utf-8?B?UTNONHE0Zy9sRGZ1MGtvNjNDZU4wNXJxVnpaQmErVGMwYm5yT1dGc2MrcWZ6?= =?utf-8?B?OWVkblNDZzZwOUI2V2FVRk56MlQ3MEFEU1FvQTRsN1d2VjczeUxWZGhiU3Z5?= =?utf-8?B?Y1hpUjlMQkI0OUNINkVBeHVROGZMOTI4OTRYMDB5amFpd2pVaUtXYzRuRHdw?= =?utf-8?B?a2tKU2RLNmZEQUJBU0YwdUcwNlhVZGF1dUxnbWhmYmhqVUFMT1JyaisvSE5R?= =?utf-8?B?WnBYWnlPcUJuRFJqb2xyOHNZbk44QzZBVTc2R2NKVnRET2Y1RklXcmNpUS90?= =?utf-8?B?SkxHZk41VE1UZzJCdHZtMTZZWTViMWdMZ3NycnoyTjVnTjg5cVdEYWxrNVRS?= =?utf-8?B?NlhNWVNZUUtVR3p1YXlaK2tPL1hSU2UrVStjeFVnSUJyNnJEZGRnWFIrcU5h?= =?utf-8?B?TWRuNkwwV1ZqV3o0TGpxaFJUbmFiNUJhU1RURkVnczRMN1lNVmhuSmJROWI4?= =?utf-8?B?ejZpcDRTZ1d1alRCdi9uWFVhMmt2czFubmhnbTMyRUppbmY0cHExZEQwYUZ0?= =?utf-8?B?YzMybEJJOGM1dHdzZjZOVVNyMXZVNVdjNVhHSGJBcGdKWkhrWlpEUlR5YnNV?= =?utf-8?B?T3RXVGhBZEQ4aVRDekVvd2ZWc2o3Qkt0WERRVG1WYnhISDErSVFZc1JNajZN?= =?utf-8?B?eVJxZ1ZocVRzUjg1SFBzL1BXd0FlbmlMKzJxeWRIbk5MelRUdFhvWWRBZGN5?= =?utf-8?B?ektNN2dRTkJQaUl2bktFNVJyQUdvZzZ5MCtOZmExM1pNbkdQQTBuY21qNVhs?= =?utf-8?B?RmZUSC9yeHNQcUNTajhCcDJzMDhBYWpVUFdDNGN6RlFWWVlFOWluQW9pQVF4?= =?utf-8?B?RTZNbEhBK2hnQ3RqMnJsVk14UjRuM3VnNzEwNGJNYm5seG5jak1qcE5uZjR2?= =?utf-8?B?dHkrcldzZXFmZG9VaTM4MklCcG1yYmVxR2tzeXlscWJWLy9IRW9zU0RFWTl1?= =?utf-8?B?T1lnSkFMVGNoS3FZUjNNVTdWbDdXZ2MwMFNyMitjdDVoVVZWS2FTMkZwbWkw?= =?utf-8?B?d0wyRUt1OHlDT1dpc3RIQ01CTHgybENZYmRvZ20yTXFuVGVURWNoclo3UC93?= =?utf-8?B?VzRCa2NNeW9pa1BzVEpUNEhhd2xDSlAzU2hpTU1GdXk4YnNlUE5zREM4NlAv?= =?utf-8?B?Ym8vSFZYYXpOY2RlczhNT0ZWMkRORFl0Q3BySGpqM1JnL1NUZGVwTGw0YjVY?= =?utf-8?B?NXRxa3hYb2RURlVGdFBGOVZSL05uRm9hWTlrYW5yVUQzTVFmQ1JVZVFuL1RJ?= =?utf-8?B?MXhQanpsR0h1RlF6elNLZjFTNkNIQXhjLzFBKzNGUWtqUmFHVG92ZTQzZFJZ?= =?utf-8?B?WkRhaXpDd0QvNmNtTXpza3RKbWxWdDIvZU9yYWYvWnQvZWV5ZUN1T09aQTFV?= =?utf-8?B?TGNKbTlhajNSQzRjWUJ6cnRqU2Y1eDE2TTg3RlV1TitET2c5bW9iVVJPaFU4?= =?utf-8?Q?YuvJy02uv/eHl6P7mfLjU2yFk?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB6673.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 50d74f74-2a31-4323-3bec-08dc27766027 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Feb 2024 00:47:35.2423 (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: PwzJNSenQI+4kyLQq4vwWl4yEl9o/8thFa+/xvm2A+8Lzhq8jLB78H2ACdNaUXRvUmNCULKI0SGmnY2AK64C0A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4737 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,jianfeng.zhou@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: lba6oSp6FeYCTKViGWaG1oC5x7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=Qr+6JGYg; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") SGkgTGFzemxvLCBQZWRybywNCg0KQ2xhcmlmeSBvbmUgdGhpbmcsIHRoaXMgY2hhbmdlIGlzIG5v dCBmb3IgcmFjaW5nIGludHJvZHVjZWQgYnkgTVAgcmVhZGluZy93cml0aW5nIHRvIHRoZSBzYW1l IHBhZ2UgdGFibGUgYXQgdGhlIHNhbWUgdGltZSwgYnV0IGZvciB1bmV4cGVjdGVkIGJlaGF2aW9y IGludHJvZHVjZWQgYnkgY29tcGlsZXIuDQpBcyBteSB1bmRlcnN0YW5kaW5nLCAgTVAgcmVhZGlu Zy93cml0aW5nIHRvIHRoZSBzYW1lIHBhZ2UgdGFibGUgYXQgdGhlIHNhbWUgdGltZSBpcyBub3Qg cmVjb21tZW5kZWQsIHBlcmhhcHMsIGl0IGlzIG5vdCBhbGxvd2VkLg0KDQpGb3IgYml0IG9wZXJh dGlvbiBjb2RlLCBzdWNoIGFzIFBubGUtPkJpdHMuUHJlc2VudCA9IEF0dHJpYnV0ZS0+Qml0cy5Q cmVzZW50LCB3ZSBtaWdodCB0aGluayBpdCBpcyBhdG9taWMgYXNzaWdubWVudCwgd2hpbGUgbm90 LiBUaGUgYXNzZW1ibHkgY29kZSBsb29rcyBsaWtlOg0KICAgIGFuZCBkd29yZCBbcmN4XSwgMHhm ZmZmZmZmZQ0KICAgIGFuZCBlYXgsIDB4MQ0KICAgIG9yIFtyY3hdLCBlYXgNCkluIGNhc2UgUG5s ZS0+Qml0cy5QcmVzZW50ID0gMSwgIEF0dHJpYnV0ZS0+Qml0cy5QcmVzZW50ID0gMSwgIHdlIG1p Z2h0IHRoaW5rIGl0IGlzIGhhcm1sZXNzLCBhcyB0aGUgdmFsdWUgbm90IGNoYW5nZWQuICBXaGls ZSBhY3R1YWxseSwNCiAgICBhbmQgZHdvcmQgW3JjeF0sIDB4ZmZmZmZmZmUgIC8vIHRoZSBwcmVz ZW50IGJpdCBzZXQgdG8gMCAtLS0tIHRoaXMgaXMgdW5leHBlY3RlZCAhISEhISB3ZSBkb27igJl0 IHdhbnQgdGhlIHByZXNlbnQgYml0IHNldCB0byAwIQ0KICAgIGFuZCBlYXgsIDB4MQ0KICAgIG9y IFtyY3hdLCBlYXggICAgICAgICAgICAgLy8gdGhlIHByZXNlbnQgYml0IHNldCB0byByaWdodCB2 YWx1ZSAxDQoNCkxldCdzIGNvbnNpZGVyIHN1Y2ggYSBNUCBzY2VuYXJpbzogDQoxKSBvbmUgcHJv Y2Vzc29yIGV4ZWN1dGluZyBpbnN0cnVjdGlvbiAiYW5kIGR3b3JkIFtyY3hdLCAweGZmZmZmZmZl Ig0KMikgb3RoZXIgcHJvY2Vzc29ycyBoYXBwZW5lZCB0byBhY2Nlc3MgdGhlIG1lbW9yeSBtYXBw ZWQgYnkgUG5sZSwgaXQgbWF5IGxlYWQgdG8gZXhjZXB0aW9uLg0KDQpXZSBoaXQgdGhpcyBjYXNl IHJlY2VudGx5LiAgU2V2ZXJhbCBlbmdpbmVlcnMgcGF5IGRheXMgZm9yIHRlc3QsIHJvb3QgY2Fz ZSBhbmQgdmVyaWZpY2F0aW9uOiAgdGhlIHJlcHJvZHVjaWJpbGl0eSByYXRlIGlzIGxvdyBhbmQg bm90IHJlcHJvZHVjZWQgb24gZXZlcnkgc3lzdGVtLg0KDQpXZSBjYW4gZml4IGl0IGJ5IG90aGVy IHNvbHV0aW9uLCB3aGlsZSB3ZSBkZWNpZGVkIHRvIHVwc3RyZWFtIHRoaXMgY2hhbmdlIGZvcjoN CjEpIHRoZSBjaGFuZ2UgaXMgaGFybWxlc3MNCjIpIEl0IGlzIGEgZGVmZWN0DQozKSBJdCBoYXJk IHRvIGRlYnVnIGFuZCByb290IGNhdXNlDQo0KSBXZSBkb24ndCB3YW50IG90aGVyIGVuZ2luZWVy cyB0byBzcGVuZCBhIGxvdCBvZiB0aW1lIGRlYWxpbmcgd2l0aCB0aGlzIGtpbmQgb2YgcHJvYmxl bS4NCg0KDQpUaGFua3MgJiBSZWdhcmRzLA0KWmhvdSBKaWFuZmVuZw0KDQotLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KRnJvbTogUGVkcm8gRmFsY2F0byA8cGVkcm8uZmFsY2F0b0BnbWFpbC5j b20+IA0KU2VudDogV2VkbmVzZGF5LCBGZWJydWFyeSA3LCAyMDI0IDE6MzUgQU0NClRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbzsgbGVyc2VrQHJlZGhhdC5jb20NCkNjOiBUYW4sIER1biA8ZHVuLnRh bkBpbnRlbC5jb20+OyBaaG91LCBKaWFuZmVuZyA8amlhbmZlbmcuemhvdUBpbnRlbC5jb20+OyBO aSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgS3VtYXIsIFJhaHVsIFIgPHJhaHVsLnIua3VtYXJA aW50ZWwuY29tPjsgR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+DQpTdWJqZWN0OiBS ZTogW2VkazItZGV2ZWxdIFtQQVRDSCAxLzNdIFVlZmlDcHVQa2c6IFJlZHVjZSBhbmQgb3B0aW1p emUgYWNjZXNzIHRvIGF0dHJpYnV0ZQ0KDQpPbiBUdWUsIEZlYiA2LCAyMDI0IGF0IDE6MzLigK9Q TSBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPiB3cm90ZToNCj4NCj4gT24gMi81LzI0 IDE1OjAzLCBkdW50YW4gd3JvdGU6DQo+ID4gRnJvbTogWmhvdSBKaWFuZmVuZyA8amlhbmZlbmcu emhvdUBpbnRlbC5jb20+DQo+ID4NCj4gPiBUaGlzIGNvbW1pdCBpcyB0byByZWR1Y2UgYW5kIG9w dGltaXplIGFjY2VzcyB0byBhdHRyaWJ1dGUgaW4gDQo+ID4gQ3B1UGFnZVRhYmxlTGliLg0KPiA+ DQo+ID4gVW5yZWFzb25hYmxlIHdyaXRpbmcgdG8gYXR0cmlidXRlIG9mIHBhZ2UgdGFibGUgbWF5 IGxlYWRzIHRvIA0KPiA+IGV4cGVjdGlvbi4NCj4gPiBUaGUgYXNzZW1ibHkgY29kZSBmb3IgQyBj b2RlIFBubGUtPkJpdHMuUHJlc2VudCA9DQo+ID4gQXR0cmlidXRlLT5CaXRzLlByZXNlbnQgbG9v a3MgbGlrZToNCj4gPiAgICBhbmQgZHdvcmQgW3JjeF0sIDB4ZmZmZmZmZmUNCj4gPiAgICBhbmQg ZWF4LCAweDENCj4gPiAgICBvciBbcmN4XSwgZWF4DQo+ID4gSW4gY2FzZSBQbmxlLT5CaXRzLlBy ZXNlbnQgYW5kIEF0dHJpYnV0ZS0+Qml0cy5QcmVzZW50IGlzIDEsIA0KPiA+IFBubGUtPkJpdHMu UHJlc2VudCB3aWxsIGJlIHNldCB0byAwIGZvciBzaG9ydA0KPiA+IHRpbWUoMiBpbnN0cnVjdGlv bnMpIHdoaWNoIGlzIHVuZXhwZWN0ZWQuIElmIHNvbWUgb3RoZXIgY29yZSBpcyANCj4gPiBhY2Nl c3NpbmcgdGhlIHBhZ2UsIGl0IG1heSBsZWFkcyB0byBleHBlY3Rpb24uDQo+ID4gVGhpcyBjaGFu Z2UgcmVkdWNlIGFuZCBvcHRpbWl6ZSBhY2Nlc3MgdG8gYXR0cmlidXRlIG9mIHBhZ2UgdGFibGUs IA0KPiA+IGF0dHJpYnV0ZSBvZiBwYWdlIHRhYmxlIGlzIHNldCBvbmx5IHdoZW4gaXQgbmVlZCB0 byBiZSBjaGFuZ2VkLg0KPg0KPiBUaGlzIHBhdGNoIGRvZXMgbm90aGluZyB0byBlbGltaW5hdGUg dGhlIGFjdHVhbCByYWNlIGNvbmRpdGlvbiwgaXQgDQo+IG9ubHkgc2hyaW5rcyB0aGUgd2luZG93 IG9mIHBvdGVudGlhbCBjb3JydXB0aW9uLg0KDQpGV0lXLCBpdCdzIHN0aWxsIG5vdCBlbnRpcmVs eSBjb3JyZWN0OiB0aGUgY29tcGlsZXIgY2FuIHRlYXIgdGhlIFVpbnQ2NCBzdG9yZS4NCllvdSdk IG5lZWQgc29tZXRoaW5nIGxpa2UgV1JJVEVfT05DRSAod2hpY2ggaW4gTGludXggZXNzZW50aWFs bHkgZG9lcyAqKHZvbGF0aWxlIFR5cGUgKikgcHRyID0gdmFsOykNCg0KPiBUaGUgUFRFcyBjb250 aW51ZSB0byBiZSBvdmVyd3JpdHRlbiB3aXRob3V0IGFueSBraW5kIG9mIA0KPiBzeW5jaHJvbml6 YXRpb24gd2l0aCB0aGUgb3RoZXIgcHJvY2Vzc29ycy4NCg0KSSBkb24ndCB0aGluayB3ZSBzaG91 bGQgYmUgbWVzc2luZyB3aXRoIHBhZ2UgdGFibGVzIHdoaWxlIEFQcyBhcmUgdXAuDQpUaGF0IHdp bGwgcmVxdWlyZSBhIHdob2xlIGluZnJhc3RydWN0dXJlIHRvIGRvIFRMQiBzaG9vdGRvd25zLg0K DQpaaG91LCBSYXksIHdoYXQgZXhhY3RseSBpcyByYWNpbmcgaGVyZT8NCg0KLS0NClBlZHJvDQoN CgotPS09LT0tPS09LT0tPS09LT0tPS09LQpHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFs bCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuClZpZXcvUmVwbHkgT25saW5lICgjMTE1MTk0 KTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvMTE1MTk0Ck11dGUgVGhp cyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQvMTA0MTc2MjMyLzc2ODYxNzYKR3JvdXAgT3du ZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlvClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIu Z3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIgW3JlYmVjY2FAb3BlbmZ3LmlvXQotPS09LT0tPS09LT0t PS09LT0tPS09LQoKDQo=