From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.375.1627432838578441679 for ; Tue, 27 Jul 2021 17:40:38 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=CONy7pyQ; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: min.m.xu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10058"; a="298135959" X-IronPort-AV: E=Sophos;i="5.84,275,1620716400"; d="scan'208";a="298135959" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jul 2021 17:40:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,275,1620716400"; d="scan'208";a="437538285" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by fmsmga007.fm.intel.com with ESMTP; 27 Jul 2021 17:40:37 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Tue, 27 Jul 2021 17:40:37 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Tue, 27 Jul 2021 17:40:36 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Tue, 27 Jul 2021 17:40:36 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.169) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Tue, 27 Jul 2021 17:40:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W/LXND+2LcGKukLNAX0rx8P1ueDpiYArkiwOQYVdsRhpk5GqxuZnjRhb4GFTZJVjEbR1/2Oa+CaHuTnYTOhjDwvjInMMBckT1ppjrMO7MfwKh8NjIWnNYMuUW1dD8XBTyleEe6zv8Ixh5ZJijJkJaiWz0vOPJu+aVepoCBaoRHtGNrpT5KaaDiIC5tJAYsoeQ2NpWeM4s+FwHz97sfg5yd0ROktL3329H0vvfrCHTKemucSrsvR1CUsku/UlnAxfHAMjJVMYe1z+47tXaTh0++T6flDBMG+UZKfJMPCajrgmudo02x89M/JjF+MiTeAc7ie8PPMVOruKkhFbwydPXQ== 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=a4Q831qV2YshsAbmn/DRnUvd5bSt/CZPwH5Hs+E6MDY=; b=UoNumZmxpn8SE7orsvyhKRjbwou6iiGYqRIhPQRTZzcsg9/JVymgpSf+QP+DJTqvkT/qpfFDlB463aigWiOfjNk1/nsIFHdLpQUn2yEuwsMOg5YettJ6Fi/kje1jSwmDKrASqLKUQiMkPOtiAmFonqo8/u2++pRtWphnC5/5o5aSXh74N7gQniKE/A/W0TMKeBWKCJHKZg3hBqebhYakXHAHzs4lMYtjzPcxDDD+IiLc8hRpd+hOoKGFQRegN0WsCeI4uki1xiccQxkoMWFKFl5ZLslSPIi5EIu17YSS+lLVjF0Kp4l5m6TP7XcgUcv7AMcObfszaqRSMtPcJj//KQ== 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=a4Q831qV2YshsAbmn/DRnUvd5bSt/CZPwH5Hs+E6MDY=; b=CONy7pyQk1UCfTj8jdkCBUmYVrjX39E5H0kwdgffoBRDoxSeqXP3nXYIsijtAZmx9pUsKHeKXYoXZwAUmY2C7/kpY2pN2fx0kJ8KHNMg+S7f4rhkqNr9dgig8sIdfxiv/rTd0awjFRV7fCcO7yWuCOgP4ahgncAGMoGhS8yKm/w= Received: from PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by PH0PR11MB4872.namprd11.prod.outlook.com (2603:10b6:510:32::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.28; Wed, 28 Jul 2021 00:40:34 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::b4be:3994:dd4d:7b9d]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::b4be:3994:dd4d:7b9d%7]) with mapi id 15.20.4331.035; Wed, 28 Jul 2021 00:40:34 +0000 From: "Min Xu" To: Brijesh Singh , "devel@edk2.groups.io" CC: Ard Biesheuvel , "Justen, Jordan L" , Erdem Aktas , "James Bottomley" , "Yao, Jiewen" , "Tom Lendacky" Subject: Re: [PATCH V3 06/10] OvmfPkg: Add AmdSev.asm in ResetVector Thread-Topic: [PATCH V3 06/10] OvmfPkg: Add AmdSev.asm in ResetVector Thread-Index: AQHXgqpLISSxStmovUqWJbzyXRRtD6tWps2AgAAKhkCAAA/1AIAAwZUA Date: Wed, 28 Jul 2021 00:40:34 +0000 Message-ID: References: In-Reply-To: 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: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c4f3b1f1-4f2a-491f-373b-08d951604ff2 x-ms-traffictypediagnostic: PH0PR11MB4872: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: g2blvePmjNzRKekEc2klHjl5I0SG1q4YjTWKrMgIpk9jqfR0bqqUwmHqS2t+qVF37rRhBtTdXzK/9i3zfjv8M02xQk0mgpVjHhhx4V9C9fXQmMjMYoYKzAZlxJa6SLfglzCtc7JEzwGNDZIA4VvUy0C89t8EaxCmt+VNfsN7Ez0LVSXnXeYiQAh+uVIlm05YqZ4s6kpeTSS+3uxzQJFFEaF6i2GxOr4hKPMf5SRhBb3dEtIKxIHgtOMUllkGxZVaRbWkvc4foPipWgbgZjQwXlOI9wZ2WOx2hs4UWsecmXRKUIdcBKydZVOZCK8eBEBmDzNXHHnWb4ARZkOoF9/jGrzgvx7zeZp5LhBNBwycGKrm57EY8LQpvM7VqcLP1vcz+P50K8qSN5r3M5qY6/b2qpgxvTvBX5zzZqDeVmIS0BGkYj2KqFpLO4v25+WzEKIi3XgROc2lFlnbOGgbCXWHwbEAg0b1lhCJyHfg5NUnOUMwrjzRC9waHwU4ywGG3vXRPqEFlSkn5KZP86489QAbn34tCVmofh8OojIbCr0aIOldiYLJHfz8YO+GB0ucNY8eagbhanostgtcw0lRk+PcCcep2wxkFYU3lVx+JLVLIksy0svRKvyDTxoHdBQOBwTuQBRcA9NVVL4dOarqQbnJ7yXpWu5qXmgc4RUYWuHrPxjpwt910uTWCCHylNuy+utq8LwnBIGN6Lc0f0/9GXK6P7pKqw1Fgo7OLtb3SPRB+QYFcQWGEktQk7IvPIIqod04NzgrzFGLZPMSTNjFqvnl/e/yFJw4/hhzW+EPCw38WO0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5064.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(136003)(346002)(39860400002)(366004)(376002)(84040400004)(45080400002)(83380400001)(4326008)(33656002)(478600001)(66556008)(122000001)(64756008)(38100700002)(2906002)(55016002)(7696005)(52536014)(71200400001)(54906003)(966005)(53546011)(86362001)(5660300002)(66446008)(6506007)(66946007)(76116006)(8676002)(66476007)(9686003)(19627235002)(26005)(186003)(8936002)(316002)(110136005)(38070700005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OVpOUWdZOGlOMmtmZGdMOVE1ZzFKNkcwa3o0bkVBUHdNVDBlVFJsSlQ2d08v?= =?utf-8?B?eHN3a1FqMmlIa201bUNHRUExbXBZckVWMG44L2ZySHZDYlMrMVV6MVFVVm1l?= =?utf-8?B?a0VlVDY2ZkZuaVdINEhZVktYMTRSNmtMUlNmV015UUxXTG14WnJKb0dNYmpU?= =?utf-8?B?TzhpOHNoOE05Ri9PQ0xSMEF4YVBlV0ZDbHV0bktJYkVVOGpzc2prcGk2QkQv?= =?utf-8?B?L1I2V3lsMjBOL1l5eWpkNWdqbExKMGtHaWJEd21POXdaTmVJa3BOU1Zubjhp?= =?utf-8?B?V3BSK0Z6TGxIc2p5eW1URmNrZDBxZGFBcXBTRGxnRmxvcXJQWkhUaEMwdHkx?= =?utf-8?B?cThQZVNFZFhrMDc4L3UxdHN3amE4VHlhTHpZYmszYUxBSTF4ejZGd2daN0dm?= =?utf-8?B?R1lGeHNRZlFXcHE0dW5XdmYxVHdIS0JtTTVCTXlZWGhjdVNUWXl5aVlqUkFp?= =?utf-8?B?cFBoWHZROUlWQ3plRDVyUm05RHViTUpwOXdDc3ZKcW1BdlNjY0hyMHI1aHc1?= =?utf-8?B?c0lqZlN6SEt2U2ROZ2NFTGI5Uk52L3EwOFVKbUhibmRSb081V05yWHgyTjFS?= =?utf-8?B?YXlwYmVJWDZUQVVad3NjeTc0cXZmUXRSVDRlS3JNK2lQUGltK1FtcUNMUlRM?= =?utf-8?B?N3JuS2h2OFpMS0w2ZHJRbW9BUXBMbmVyWjJJZitEeWY1VEwyUHBJMjMyK1Zk?= =?utf-8?B?Z20yYUJ1STQ2RllPSlNxWm1hQkRmSVQrY2QzeDR1dVNxeW0vZlBIMDlTUTNX?= =?utf-8?B?cDdhQm51cC9oUTlMVXJiamxhc1Z0WDhqSCt6SHpJZFJvVTZPMHpjSUM2ZHp6?= =?utf-8?B?RTgzOTFOR0NUOE5TZWhOLzlob0xTcFAxa1dIblg5dFhyNUxxc3BJVjVEL2NB?= =?utf-8?B?S1U1Q2ZzM2FpaU1Idm1WR3N0ZEFqMm5tSitxWWhsbk5Ma3lqWEs4UGxEYWVG?= =?utf-8?B?OXpHWDZyckVCVHZLaE9VZjF6cTZibDZrMHFndlFIT0o5d09LWjFWVzdzMWNs?= =?utf-8?B?YjNHUlhOTU1MUnlMWUdaTnhoSDVIS3VlQUd6bTQ2RlRxWG5CRHB0V2wyRGNh?= =?utf-8?B?TXoyRjdDLzFvZzBRL0QzcFZZNVlKcFZoUDR5Q05XcU94R3RybmlhN0x6Znor?= =?utf-8?B?Vm85QnBnUVVQMjlHZ2VWNm5jOEgvQkw2WEw2UlBSenN5ZVJxMHdWd0NWM1Ra?= =?utf-8?B?WFN6S1ZuUGFqNVlFTjQ4enM3bDdGK3kyRkxNMDRmb2E1MEdQSXllSmVFSXJj?= =?utf-8?B?MTRzRVhMSVJDUUxhcGFua0QxQUk5QUdXQUNGNCtuSHhHZlYxS09IeWZRUEhV?= =?utf-8?B?UGswcDRlOGwzSWJZNS85a0tiak1nUHRDRkZwd3VOTitNZzU3eEhJVk90U3dH?= =?utf-8?B?Y1pxK2RrT2dCQXpmVXl1Y2txQmxSbHY5QldFQ3RJRjd4OHFhUmUzNUVHRGNy?= =?utf-8?B?bWlncEhpOFlHdlpKNE9rekFla3MyalVzWmI4QXBmdFZiZTcxOThDbDd5Q2Qv?= =?utf-8?B?QjJpVFNNT0dwVHhNRGpGTklBcW1ySXlva2VXQmpoVEw2Vks5WkZFZWRjNXg2?= =?utf-8?B?bVUzQTF3VjgyczVWZWs5K0dQWWp1SWpWYnlRc21aK1lEajlOaXQwVHlJV0gr?= =?utf-8?B?dHpoU0JzYy9DdzJHMW5WYlBlbVJOei8yd0tEWUo4R3lDc21Wa3dSK0poOGtZ?= =?utf-8?B?cHY3WGhHaDY0QzRJMXZ6MCtsT3Avck5mdTlralpNZUY0NDdtVlowRW1MSlFp?= =?utf-8?Q?UpfsgNRW6PDeGYawduPBFQrR971cSpE0e7Ru6im?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5064.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c4f3b1f1-4f2a-491f-373b-08d951604ff2 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jul 2021 00:40:34.8813 (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: /JQw+hKNC4A3gNByjDtooVcQmJp6iY8fZ+OBBFAxe05CVBeTpr4xaysDTd3fIKGewZGcl6DNbCHNTaVB4jyPnQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4872 Return-Path: min.m.xu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gSnVseSAyNywgMjAyMSA4OjMxIFBNLCBCcmlqZXNoIFNpbmdoIHdyb3RlOg0KPiBPbiA3LzI3 LzIxIDY6NTEgQU0sIFh1LCBNaW4gTSB3cm90ZToNCj4gPiBPbiBKdWx5IDI3LCAyMDIxIDY6NTcg UE0sIEJyaWplc2ggU2luZ2ggd3JvdGU6DQo+ID4+IEhpIE1pbiwNCj4gPj4NCj4gPj4gVGhpcyBy ZWZhY3RvcmluZyBpcyBhbHJlYWR5IGRvbmUgYnkgdGhlIFNOUCBwYXRjaCBzZXJpZXMuDQo+ID4+ DQo+ID4+DQo+IGh0dHBzOi8vbmFtMTEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20v P3VybD1odHRwcyUzQSUyRiUyRmVkaw0KPiA+Pg0KPiAyLmdyb3Vwcy5pbyUyRmclMkZkZXZlbCUy Rm1lc3NhZ2UlMkY3NzMzNiUzRnAlM0QlMkMlMkMlMkMyMCUNCj4gMkMwJTJDMCUyDQo+ID4+DQo+ IEMwJTNBJTNBQ3JlYXRlZCUyQyUyQ3Bvc3QmYW1wO2RhdGE9MDQlN0MwMSU3Q2JyaWplc2guc2lu Z2glNDBhDQo+IG1kLmNvbSUNCj4gPj4NCj4gN0MyMmI2MWYyZmY1YmI0ODM0OGIwNjA4ZDk1MGY0 ZDdjNSU3QzNkZDg5NjFmZTQ4ODRlNjA4ZTExYTgyZDk5NA0KPiBlMTgzZA0KPiA+PiAlN0MwJTdD MCU3QzYzNzYyOTgzNDc5MjMyMDM3MiU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhleQ0KPiBKV0lq b2lNQzR3TGpBDQo+ID4+DQo+IHdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lM Q0pYVkNJNk1uMCUzRCU3QzEwMDAmYW1wO3MNCj4gZGF0YT0NCj4gPj4NCj4gdE1HcFI0YTJ1WlRU UiUyRnNjaVROMG9lY2EybVozMkdmWDNLNzhsQTVCV2FzJTNEJmFtcDtyZXNlcnZlZA0KPiA9MA0K PiA+PiBlcmlkJTNBNTk2OTk3MCwyMCwyLDIwLDgzODkxNTEwDQo+ID4+DQo+ID4+IEl0IGFwcGVh cnMgdGhhdCB5b3UgYXJlIGFsc28gcHVsbGluZyBpbiBzb21lIG9mIFREWCBsb2dpYyBpbnNpZGUg dGhlDQo+ID4+IEFNRFNldi5hc20gc3VjaCBhcw0KPiA+Pg0KPiA+PiA7DQo+ID4+ICtQb3N0SnVt cDY0Qml0QW5kTGFuZEhlcmVTZXY6DQo+ID4+ICsNCj4gPj4gKyAgICA7DQo+ID4+ICsgICAgOyBJ ZiBpdCBpcyBUZHggZ3Vlc3QsIGp1bXAgdG8gZXhpdCBwb2ludCBkaXJlY3RseS4NCj4gPj4gKyAg ICA7IFRoaXMgaXMgYmVjYXVzZSBmb2xsb3dpbmcgY29kZSBtYXkgYWNjZXNzIHRoZSBtZW1vcnkg cmVnaW9uIHdoaWNoDQo+IGhhcw0KPiA+PiArICAgIDsgbm90IGJlZW4gYWNjZXB0ZWQuIEl0IGlz IG5vdCBhbGxvd2VkIGluIFRkeCBndWVzdHMuDQo+ID4+ICsgICAgOw0KPiA+PiArICAgIG1vdiAg ICAgZWF4LCBkd29yZFtURFhfV09SS19BUkVBXQ0KPiA+PiArICAgIGNtcCAgICAgZWF4LCAweDQ3 NTg0NDU0ICAgICAgICAgICAgIDsgJ1REWEcnDQo+ID4+ICsgICAganogICAgICBHb29kQ29tcGFy ZQ0KPiA+Pg0KPiA+PiBXaHkgd2UgYXJlIHJlZmVycmluZyB0aGUgVERYIHdvcmthcmVhIGluc2lk ZSB0aGUgQW1kU2V2LmFzbSA/DQo+ID4gU2VlIG15IGV4cGxhbmF0aW9uIGluIHRoZSBhYm92ZSBj b21tZW50cy4gSW4gVGR4IGd1ZXN0cyBtZW1vcnkgcmVnaW9uDQo+ID4gY2Fubm90IGJlIGFjY2Vz c2VkIHVubGVzcyBpdCBpcyBhY2NlcHRlZCBieSBndWVzdCBvciBpbml0aWFsaXplZCBieQ0KPiA+ IHRoZSBob3N0IFZNTS4gSW4gUG9zdEp1bXA2NEJpdEFuZExhbmRIZXJlU2V2IHRoZXJlIGlzIGFj Y2VzcyB0bw0KPiA+IGR3b3JkW1NFVl9FU19XT1JLX0FSRUFfUkRSQU5EXSB3aGljaCBpcyBub3Qg aW5pdGlhbGl6ZWQgYnkgaG9zdA0KPiBWTU0uDQo+ID4gSWYgdGhpcyBjb2RlIHdpbGwgbm90IGJl IGV4ZWN1dGVkIGluIFRkeCBndWVzdCwgdGhlbiB0aGUgYWJvdmUgY2hlY2sgaXMgbm90DQo+IG5l ZWRlZC4gSSBuZWVkIHlvdXIgaGVscCB0byBjb25maXJtIGl0Lg0KPiA+DQo+ID4gVGhlcmUgYXJl IHNpbWlsYXIgVGR4IGNoZWNrIGluIG15IHBhdGNoIG9mIEFtZFNldi5hc20uIEZvciBleGFtcGxl IGluDQo+ID4gQ2hlY2tTZXZGZWF0dXJlcyBieXRlW1NFVl9FU19XT1JLX0FSRUFdIGlzIHVzZWQg dG8gcmVjb3JkIHRoZSBTRVYtRVMNCj4gPiBmbGFnLiBUaGlzIG1lbW9yeSByZWdpb24gaXMgbm90 IGluaXRpYWxpemVkIGJ5IGhvc3QgVk1NIGVpdGhlci4gU28gaW4gVGR4IGl0DQo+IHdpbGwgdHJp Z2dlciBlcnJvci4NCj4gPg0KPiA+IEFub3RoZXIgc29sdXRpb24gaXMgdGhhdCB0aGUgbWVtb3J5 IHJlZ2lvbiB1c2VkIGJ5IFNFViBpbiBSZXNldFZlY3Rvcg0KPiA+IGFyZSBhZGRlZCBJbnRvIFRk eCBtZXRhZGF0YSBzbyB0aGF0IGhvc3QgVk1NIHdpbGwgaW5pdGlhbGl6ZSB0aG9zZQ0KPiA+IG1l bW9yeSByZWdpb24gd2hlbiBJdCBjcmVhdGVzIHRoZSBUZCBndWVzdC4gV2hhdCdzIHlvdXIgb3Bp bmlvbj8NCj4gDQo+IEkgYW0gbm90IGZ1bGwgdmVyc2VkIG9uIFREWCB5ZXQgYW5kIHNvcnJ5IEkg YW0gbm90IGFibGUgdG8gZm9sbG93IHlvdQ0KPiBxdWVzdGlvbiBjb21wbGV0ZWx5IHRvIHByb3Zp ZGUgYW55IGFkdmljZS4gV2l0aCBTRVYgYW5kIFNFVi1FUywgYSBndWVzdCBjYW4NCj4gYWNjZXNz IHRoZSBtZW1vcnkgd2l0aG91dCBnb2luZyB0aHJvdWdoIHRoZSB2YWxpZGF0aW9uIHByb2Nlc3Ms IGJ1dCB3aXRoDQo+IHRoZSBTRVYtU05QLCB0aGUgcGFnZSBuZWVkIHRvIGJlIHZhbGlkYXRlZCAo YWthIGFjY2VwdGVkKSBiZWZvcmUgdGhlIGFjY2Vzcy4NClREWCBoYXMgdGhlIHNhbWUgcmVxdWly ZW1lbnQuDQo+IEluIFNOUCBzZXJpZXMsIHdlIGVuc3VyZSB0aGF0IHRoZSBkYXRhIHBhZ2VzIHVz ZWQgaW4gdGhlIHJlc2V0IHZlY3RvciBhcmUgcHJlLQ0KPiB2YWxpZGF0ZWQgZHVyaW5nIHRoZSBW TSBjcmVhdGlvbiB0aW1lIC0tIHRoaXMgYWxsb3dzIHVzIHRvIGFjY2VzcyB0aGUgcGFnZXMNCj4g d2l0aG91dCBnb2luZyB0aHJvdWdoIGFjY2VwdCBwcm9jZXNzLiBJZiBJIGZvbGxvdyB5b3UgY29y cmVjdGx5IG9uIHlvdXINCj4gbWV0YWRhdGEgY29tbWVudCB0aGVuIGl0IGlzIHNpbWlsYXIgdG8g c2F5aW5nIGlzIHByZS12YWxpZGF0ZSB0aGVzZSByYW5nZSBvZg0KPiBwYWdlcyB1c2VkIGluIHRo ZSByZXNldCB2ZWN0b3IgY29kZSAodGhhdCBpbmNsdWRlIEdIQ0IgcGFnZSwgUGFnZSB0YWJsZQ0K PiBwYWdlcyBldGMpLCByaWdodCA/DQpUaGF0J3MgcmlnaHQuIFRkeCBtZXRhZGF0YSBkZXNjcmli ZXMgdGhlIG1lbW9yeSByZWdpb24gd2hpY2ggaG9zdCBWTU0gaW5pdGlhbGl6ZWQNCmR1cmluZyB0 aGUgVk0gY3JlYXRpb24gdGltZS4NCg0KSW4gdGhlIGN1cnJlbnQgcGF0Y2gtc2V0LCBiZWxvdyBt ZW1vcnkgcmVnaW9uIGFyZSBkZXNjcmliZWQgaW4gVGR4IG1ldGFkYXRhLg0KIC0gVGRNYWlsYm94 IChQY2RPdm1mU2VjR2hjYkJhY2t1cEJhc2UpDQogLSBUZEhvYihQY2RPdm1mU2VjR2hjYkJhc2Up DQogLSBUZEV4dHJhUGFnZShQY2RPdm1mU2VjR2hjYlBhZ2VUYWJsZUJhc2UpDQogLSBPdm1mUGFn ZVRhYmxlIChQY2RPdm1mU2VjUGFnZVRhYmxlc0Jhc2UpDQpUaGVzZSBtZW1vcnkgcmVnaW9ucyBh cmUgaW5pdGlhbGl6ZWQgYnkgaG9zdCBWTU0gc28gdGhleSBjYW4gYmUgYWNjZXNzZWQgaW4gUmVz ZXRWZWN0b3IgaW4gVGR4IGd1ZXN0cy4NCg0KSW4gdGhlIFNFViBjb2RlcywgSSBmaW5kIHNvbWUg bWVtb3J5IGlzIGFjY2Vzc2VkIGFzIHdlbGwuIENoZWNrU2V2RmVhdHVyZXMgaXMgdGhlIGV4YW1w bGUuDQpJbiBDaGVja1NldkZlYXR1cmVzIGJ5dGVbU0VWX0VTX1dPUktfQVJFQV0gKFBjZFNldkVz V29ya0FyZWFCYXNlKSBpcyB1c2VkIHRvIHJlY29yZC9jaGVjaw0KaWYgaXQgaXMgU0VWLiBTbyBp ZiB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBpbiBUZHggZ3Vlc3QsIHRoZW4gZXJyb3IgaXMgdHJp Z2dlcmVkLg0KDQpXaGF0IEkgYW0gY29uY2VybmVkIGlzIHRoYXQsIGluIHRoZSBjdXJyZW50IHBh dHRlcm46DQo9PT09PT09PT09PT09PT09PT09PQ0KCU9uZVRpbWVDYWxsICAgUHJlTWFpbkZ1bmN0 aW9uSG9va1Nldg0KCU9uZVRpbWVDYWxsICAgUHJlTWFpbkZ1bmN0aW9uSG9va1RkeA0KTWFpbkZ1 bmN0aW9uOg0KCVhYWFhYWA0KCU9uZVRpbWVDYWxsICAgUG9zdE1haW5GdW5jdGlvbkhvb2tTZXYN CglPbmVUaW1lQ2FsbCAgIFBvc3RNYWluRnVuY3Rpb25Ib29rVGR4DQo9PT09PT09PT09PT09PT09 PT09PQ0KVGhlIFRFRSBmdW5jdGlvbiBuZWVkIGltcGxlbWVudCBhIFRFRSBjaGVjayBmdW5jdGlv biAoc3VjaCBhcyBJc1Nldiwgb3IgSXNUZHgpLiANClRkeCBjYWxsIENQVUlEKDB4MjEpIHRvIGRl dGVybWluZSBpZiBpdCBpcyB0ZHggZ3Vlc3QgaW4gdGhlIHZlcnkgYmVnaW5uaW5nIG9mIFJlc2V0 VmVjdG9yLiBUaGVuICdURFhHJyBpcyBzZXQNCmluIFREWF9XT1JLX0FSRUEuIA0KU0VWIGRvZXMg dGhlIHNpbWlsYXIgd29yayB3aGljaCBjYWxsIENoZWNrU2V2RmVhdHVyZXMgdG8gc2V0IFNFVl9F U19XT1JLX0FSRUEgdG8gMS4NCkFmdGVyIHRoYXQgYm90aCBURFggYW5kIFNFViByZWFkIHRoZSBh Ym92ZSBXT1JLX0FSRUEgdG8gY2hlY2sgaXQgaXMgVERYIG9yIFNFViBvciBsZWdhY3kgZ3Vlc3Qu DQoNCkluIFRkeCB0aGUgYWNjZXNzIHRvIFNFVl9FU19XT1JLX0FSRUEgd2lsbCB0cmlnZ2VyIGVy cm9yIGJlY2F1c2UgU0VWX0VTX1dPUktfQVJFQSBpcyBpbml0aWFsaXplZCBieSBob3N0IFZNTS4N CkluIFNFVi1TTlAgSSBhbSBhZnJhaWQgdGhlIGFjY2VzcyB0byBURFhfV09SS19BUkVBIHdpbGwg dHJpZ2dlciBlcnJvciB0b28uDQoNCkkgYW0gd29uZGVyaW5nIGlmIFREWCBhbmQgU0VWIGNhbiB1 c2UgdGhlIHNhbWUgbWVtb3J5IHJlZ2lvbiAoZm9yIGV4YW1wbGUsIFRFRV9XT1JLX0FSRUEpIGFz IHRoZSB3b3JrIGFyZWE/DQpTbyB0aGF0IHRoaXMgd29yayBhcmVhIGlzIGd1YXJhbnRlZWQgdG8g YmUgaW5pdGlhbGl6ZWQgaW4gYm90aCBURFggYW5kIFNFVi4gU3RydWN0dXJlIG9mIHRoZSBURUVf V09SS19BUkVBIG1heQ0KbG9vayBsaWtlIHRoaXM6DQogIHR5cGVkZWYgc3RydWN0IHsNCiAgICAg IFVJTlQ4ICBGbGFnWzRdOyAgICAgICAgICdURFhHJyBvciAnU0VWRycgb3IgYWxsLTANCiAgICAg IFVJTlQ4ICBPdGhlcnNbXTsNCiAgfSBURUVfV09SS19BUkVBOw0KDQo+IA0KPiBGb3IgU0VWLVNO UCwgc2VlIHRoaXMgcGF0Y2gNCj4gDQo+IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9t ZXNzYWdlLzc3MzQyP3A9LCwsMjAsMCwwLDA6OkNyZWF0ZWQsLHBvc3QNCj4gZXJpZCUzQTU5Njk5 NzAsMjAsMiwyMCw4Mzg5MTUyMA0KPiANCj4gQSBWTU0gKHFlbXUpIGxvb2tzIGZvciB0aGUgcmFu Z2Ugb2YgcGFnZSBpdCBuZWVkIHRvIHByZXZhbGlkYXRlIGJlZm9yZSB0aGUNCj4gYm9vdCwgdGhl IHJhbmdlIGlzIHByb3ZpZGVkIHRocm91Z2ggdGhlIEdVSUQgKFNldlNucEJvb3RCbG9jaykuDQo+ IA0KPiA+PiBJIHdpbGwgdGFrZSBvdXQgbXkgcmVmYWN0b3JpbmcgcGF0Y2ggb3V0c2lkZSBvZiB0 aGUgU05QIHNlcmllcyBhbmQNCj4gPj4gc3VibWl0IGl0IHNvIHRoYXQgeW91IGNhbiBidWlsZCBv biB0b3Agb2YuIFRoaXMgd2lsbCBzaW1wbGlmeSByZXZpZXcgcHJvY2Vzcy4NCj4gPj4NCj4gPiBU aGFuayB5b3UgdmVyeSBtdWNoIGZvciB0aGUgcmVmYWN0b3JpbmcuICBJIHdpbGwgcmVmaW5lIG15 IHBhdGNoIGJhc2VkIG9uIGl0Lg0KPiA+PiB0aGFua3MNCj4gPj4NCj4gPj4NCg==