From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web12.5720.1618965514911151210 for ; Tue, 20 Apr 2021 17:38:35 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=C4FXsYIH; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: jiewen.yao@intel.com) IronPort-SDR: DgYDPVy/ykOPAWkfNKbuTJZU3/rWBc4RA8UvtO11x6tCiXluYhBTS9ZkGlPuGZewc/uJ3x09QL vj65sZJBnY7g== X-IronPort-AV: E=McAfee;i="6200,9189,9960"; a="195174330" X-IronPort-AV: E=Sophos;i="5.82,238,1613462400"; d="scan'208";a="195174330" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2021 17:38:33 -0700 IronPort-SDR: 0Uv14tZpnwTGMZt9Ww590Xb5iM+hB3jACFrOI34eDZ0djSDZDof+UDoz+UbJAvNLN7OF8joYb0 DSC1ow8D0IYA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,238,1613462400"; d="scan'208";a="420781676" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga008.fm.intel.com with ESMTP; 20 Apr 2021 17:38:31 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.2106.2; Tue, 20 Apr 2021 17:38:31 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Tue, 20 Apr 2021 17:38:30 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Tue, 20 Apr 2021 17:38:30 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.44) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Tue, 20 Apr 2021 17:38:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E2hkAj6vjP0Yv9ado42DCc+kU6T0EADd9XjN3U8xeBV6gzLtWPxwQWAEOxpCtqueEv/NWOOb3Tj5abQKuBPexKqub33fMefGDZ/jtyC6/tGCMA7FYTgkEyIIVN8X2/c53o78GlzjbyVqcX8NXg1tHE2z+Os37u4tPC//81IUlWc+xMTMkXyLyYJcZoGfrNkPl88S3dZ04oFRSR+gU6Z8+9aDHKc0lSevJv862G2Ve9H6fr+Qtfv/MbAUrQFkQT0d9Rvvn3PnMEKMb8qmWXgP2YP18eBaLLY5M0SjbbWv5uLGRZg80SFACVRdK1RjBCnBjS3D/QzUGjkgb3lYEKM1OQ== 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=0/1zKe+UouGiig7Z7XhfoBf+Ui35yoEd06ZZSl+FWjo=; b=iYy5UqulVwcDSvOmm/panQ55FZtNWTHnTmG/jMhsON//6M4GM5kBcRSalT+GjQkkcalkOuCOmYRH+/DBPyvOdipOQ1wp/YzQdRvfhJXmxnxntIc/9dlBmQUjxglJuDDgGfu159mi7eifz5/Z3IEpf2JgtEKAGWJGvPHi63ERX/zadLyS1NBweZm4yBZebVA23cz7c/r6c8I8lBbH5u9BhJAK6pEusJwQD/e2AQzt+kRvz6tfyHP9Kw/WMJLatwcf+2AUJ3VrkM83XZEeFz+NeP3Y6J2CWBxbz1zf9xMfzpkBKG3g14/HFH3Xo8Wyu+JvVnv4EpWJoiF3jywQ6bjIfg== 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=0/1zKe+UouGiig7Z7XhfoBf+Ui35yoEd06ZZSl+FWjo=; b=C4FXsYIHBoULuPTIuu2/+6EHAw2NhEyMQe9Oo1kxNn+K68K2084V/SuNGO2dZdktKhuwN7eJnTayMjwonZtVIGhgD0cMopiWp2sU52uggtUaqdqdINu61wE3aSVfthD4YFhw9jPcTItja3wQz1mJhcGIWn0vNfZBDb7Spy0CX4k= Received: from BY5PR11MB4166.namprd11.prod.outlook.com (2603:10b6:a03:191::25) by BYAPR11MB3270.namprd11.prod.outlook.com (2603:10b6:a03:7e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.21; Wed, 21 Apr 2021 00:38:28 +0000 Received: from BY5PR11MB4166.namprd11.prod.outlook.com ([fe80::c9d9:1b92:3014:6f17]) by BY5PR11MB4166.namprd11.prod.outlook.com ([fe80::c9d9:1b92:3014:6f17%3]) with mapi id 15.20.4042.024; Wed, 21 Apr 2021 00:38:28 +0000 From: "Yao, Jiewen" To: Erdem Aktas , Paolo Bonzini CC: "devel@edk2.groups.io" , "jejb@linux.ibm.com" , "dgilbert@redhat.com" , "Laszlo Ersek" , "Xu, Min M" , "thomas.lendacky@amd.com" , Brijesh Singh , "Justen, Jordan L" , "Ard Biesheuvel" , Nathaniel McCallum , Ning Yang Subject: Re: [edk2-devel] separate OVMF binary for TDX? [was: OvmfPkg: Reserve the Secrets and Cpuid page for the SEV-SNP guest] Thread-Topic: [edk2-devel] separate OVMF binary for TDX? [was: OvmfPkg: Reserve the Secrets and Cpuid page for the SEV-SNP guest] Thread-Index: AQHXLUpXwU32wv6PhEGzrKoUUecYJKqwkuoAgAA3Z2CAACzRAIADu6OAgACNCQCAAMSlgIAILVuQ Date: Wed, 21 Apr 2021 00:38:27 +0000 Message-ID: References: <719a63e555376ca65a7bbe0c7e23c20b6b631cd3.camel@linux.ibm.com> <9aa00ba0-def0-9a4e-1578-0b55b8047ebd@redhat.com> <2ff2c569-1032-3e5f-132a-159c47c9f067@amd.com> <18180548-016d-4e37-68fd-050dfc3b4e77@redhat.com> <5183d5fd-9bba-6f0a-52e0-a3e27a6784de@redhat.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: google.com; dkim=none (message not signed) header.d=none;google.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.195] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8a486f35-4069-49e9-1d9d-08d9045dc7ef x-ms-traffictypediagnostic: BYAPR11MB3270: 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:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RE4XSbaqxJvkrWbGce+sv8N0xFimubcd+53/1WISLqx8/MbkvL1UpnJIZAkedTeLgDzhS87LEYrVmPCfDWfd8/0bwsuSEX0QB1jOGMPwxZAwaqFhkaiVW8kncSZS8X6rJxfEFr6LQMc1DB/qBNEVpEgD7+fgdtOd4/9UToZxLosqcjWf7N5nFP96Y7c95/Hr8FFvbnb2H48Ly8feikoh3rYfiH7xztoUEYIdaQroZDHQRmpGk4F2srSOdU50ttQvrEgDvhv9+BcBZSdrRSJ2CmqgyrXS3abHHVe1VH5Kzypxug7ULaY6JFJXKRuRF97e+pNYEyXZblvdQ3sQn4mVrnTT2zKK9m9DDng5/7Yomuw5TqpA0tmLgD9UfL5D0VdHhvGIcmLCdL++UWJTs+0ci8uaiYrkjb3wa5rqC4GSJ/MGhm1WZyRk/AANTEG4+1RWY6WY9RBmp8vA3EkzBkQg86BDnUhxo0mo66YCmRTnclwjbg4g6XSSvjEFLXSbRrBYVrvAyFTFe++vWo9iiIO6tqlSx2yW+4Ox6105mc1DtHJh3QURWD/oe/jjpadXcCVnor4oZeXZAlW0svB8SPdYNixQX2Oy4lRmFxl8ODAG/sY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB4166.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(396003)(346002)(366004)(136003)(376002)(5660300002)(7416002)(122000001)(8676002)(316002)(83380400001)(54906003)(4326008)(52536014)(110136005)(478600001)(71200400001)(38100700002)(86362001)(33656002)(66476007)(6506007)(53546011)(66946007)(55016002)(7696005)(76116006)(66446008)(66556008)(2906002)(64756008)(26005)(8936002)(9686003)(186003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?aE1jUW5JaURSanI4V2xua3ZQcDNXUDRiaUh6dWphR3pOUEJqeXJSZWxhYWRN?= =?utf-8?B?bG9uSStOV2ZXZUVuV2gwWlZ6S1VBenhzN3NENE9ySHlnQnN6dkFwWDJRMnpT?= =?utf-8?B?TktRWGswZFhoQkNaMzdsbzZjT2JSQnpxaEladWFoNzlnYzgyZTh6MWtnMlQz?= =?utf-8?B?Uk04RnVyV0Jyb24xd2NkR3RWb0kyYWhDM0dtdjc0Y1EwWEFSYWlQa1B5aS9N?= =?utf-8?B?OG1MbkxERVVrRzNjSDRxNW43VmtmM0ZndVBvVnJqUTMwYzhzMldmaEtyTDZy?= =?utf-8?B?cDVWRXJoUEtIa1hoblBud3ZFRVY3L3NJM3M1bklkL01weHdpekhyeUxQZ2ww?= =?utf-8?B?VExOV05keFptMjc5dWVuZlBUa3hZeG9iRmd0SzJsWmtObllVUC83Q2VWTjRN?= =?utf-8?B?ZjJUMHZ1US96UTJ6VmhWaHR2bWQ3MDc4OEgralRYYXMrWjQxMXZTRXNRbkF3?= =?utf-8?B?VlFBOUhCYldROEozMEk3NXlRVXYrcGhYSkhsUEJ2RXNhMU9YbUloUHQzZlF3?= =?utf-8?B?ZytlYnhkemF6QlJocUlEc2lwd0hvTEFiVjQ4Y1RJK3dYWEtnS3h5MTBrYkJ2?= =?utf-8?B?RFRHTTF2SGtvaTVZWFFobE9jK25ZMHpGZ2t1SFFnaEhHd1luM1dFTU4yQlZ6?= =?utf-8?B?QzVYTW5DK2h1WDNsR1hyalZlNTh3Wm9VQlhsa0RQMnJwZWFjeERlekduQTFT?= =?utf-8?B?YTdOdDFDM1JJSVlIVDJZQlFJU1phRGxYbEtTZ3E4d1JEbjdYT3djZXhIYzU1?= =?utf-8?B?b2dpYUYxamNkMncxTTI4bzRVL1FRclRtL05vUW13YmxDRjQxWUpOVlhka1Iv?= =?utf-8?B?TDJFMWpXVFFRV1doV2RLeTVQQy9ERCtLT2VQcW1aWmFRZnI3Rkp2d1dhZ3VH?= =?utf-8?B?YndYOTkxNlAyZ3B4NS9KZVYrazljWVNsSzRXM2hFRDFZanM3aE9WRDlOL0s3?= =?utf-8?B?bzF0YzRZdmFDS1BBV284NWNxcDVjejRWbkVQNjR0cklldW9Ta0M3Y3pDeDNU?= =?utf-8?B?UEwwRUxVQkU5Q00vUjVzbE9zcmRhWEV3dzE2R3FDRER2b1NDZ3EwZ0FYRUdL?= =?utf-8?B?dlByT2w2S21rWFdzMFFZTmxXTWUxeUlaTFBjVnp2SGxTM2FNN1lONnpBbVBX?= =?utf-8?B?RzU1OThKMnpDdENLU1lPaDBRUUhoWDEvazBjOVpQRXo3MnJENFBJS3hpTWty?= =?utf-8?B?QXVCQWpwczduVi9mR3d2VHRSem0wZ0pQaWhFbzFMMzUxZ29xU1d4L1JNd3hY?= =?utf-8?B?ZCtUY1o3R2FuQkI3OENTSE9seFBFMlZKUkkyVkFNdTkzekVrR2JLekJlMDc2?= =?utf-8?B?M2paTHc1UlZnYjQ2RFhpZEkyRlZmYmNCc1l6MGF1aVNuTUZqcTdFYkErdUJO?= =?utf-8?B?RFQrYllLNUM0a1Y3ZTFYNWdycEhPVGJpTDVITVo2eFdIaFV1cHRtejBtNUpJ?= =?utf-8?B?V21mNUpkcmxOcDNOR2IySGtseUEvS214QkRpODE1VFhiVzB1MnR5QWphaDUv?= =?utf-8?B?K3BjZlFQL3loSzlNNkl5aDdPVlE1YkNPenpQOGhDVFJnS01JQzBwbFRLektm?= =?utf-8?B?YlVaV0VDWldrWlEyNUJKMTRyUE9WZzNPb1dHWW9TeVRleHB5QXplTkV4ZURH?= =?utf-8?B?UjVtc05oVm5TekRCSy9rbDFjN25hMEJBM1QzYWFqWDRqWklZQ1NhQms2RUdY?= =?utf-8?B?TVIzeHZRWnR2dTRVUmpHUVVDS3hIUG5aUUh3eHZUOFpiTXpGUVd1aDNCeXdj?= =?utf-8?Q?GUkhFK13ueRWpOJ9dSht8VfLlN4buEb31jbyZte?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4166.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a486f35-4069-49e9-1d9d-08d9045dc7ef X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Apr 2021 00:38:28.0992 (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: QRi7q9U4wKTWgTT1VvtLMCkNLpjGkiWR08J/XvXcPGHD30DMMyb0zTPFsstTmFIa8jKVtzsOhGpOfqEuL3WFdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3270 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGVsbG8gDQpEbyB3ZSBoYXZlIHNvbWUgY29uY2x1c2lvbiBvbiB0aGlzIHRvcGljPw0KDQpEbyB3 ZSBhZ3JlZSB0aGUgb25lLWJpbmFyeSBzb2x1dGlvbiBpbiBPVk1GIG9yIHdlIG5lZWQgbW9yZSBk aXNjdXNzaW9uPw0KDQoNClRoYW5rIHlvdQ0KWWFvIEppZXdlbg0KDQo+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+IEZyb206IEVyZGVtIEFrdGFzIDxlcmRlbWFrdGFzQGdvb2dsZS5jb20+ DQo+IFNlbnQ6IEZyaWRheSwgQXByaWwgMTYsIDIwMjEgMzo0MyBBTQ0KPiBUbzogUGFvbG8gQm9u emluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT4NCj4gQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBq ZWpiQGxpbnV4LmlibS5jb207IFlhbywgSmlld2VuDQo+IDxqaWV3ZW4ueWFvQGludGVsLmNvbT47 IGRnaWxiZXJ0QHJlZGhhdC5jb207IExhc3psbyBFcnNlaw0KPiA8bGVyc2VrQHJlZGhhdC5jb20+ OyBYdSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT47DQo+IHRob21hcy5sZW5kYWNreUBhbWQu Y29tOyBCcmlqZXNoIFNpbmdoIDxicmlqZXNoLnNpbmdoQGFtZC5jb20+OyBKdXN0ZW4sDQo+IEpv cmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwNCj4gPGFy ZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+OyBOYXRoYW5pZWwgTWNDYWxsdW0NCj4gPG5wbWNjYWxs dW1AcmVkaGF0LmNvbT47IE5pbmcgWWFuZyA8bmluZ3lhbmdAZ29vZ2xlLmNvbT4NCj4gU3ViamVj dDogUmU6IFtlZGsyLWRldmVsXSBzZXBhcmF0ZSBPVk1GIGJpbmFyeSBmb3IgVERYPyBbd2FzOiBP dm1mUGtnOg0KPiBSZXNlcnZlIHRoZSBTZWNyZXRzIGFuZCBDcHVpZCBwYWdlIGZvciB0aGUgU0VW LVNOUCBndWVzdF0NCj4gDQo+IFRoYW5rcyBQYW9sby4NCj4gDQo+IE9uIFRodSwgQXByIDE1LCAy MDIxIGF0IDEyOjU5IEFNIFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+DQo+IHdy b3RlOg0KPiA+DQo+ID4gT24gMTUvMDQvMjEgMDE6MzQsIEVyZGVtIEFrdGFzIHdyb3RlOg0KPiA+ ID4gV2UgZG8gbm90IHdhbnQgdG8gZ2VuZXJhdGUgZGlmZmVyZW50IGJpbmFyaWVzIGZvciBBTUQs IEludGVsLCBJbnRlbA0KPiA+ID4gd2l0aCBURFgsIEFNRCB3aXRoIFNFVi9TTlAgZXRjDQo+ID4N Cj4gPiBNeSBxdWVzdGlvbiBpcyB3aHkgdGhlIHVzZXIgd291bGQgd2FudCBhIHNpbmdsZSBiaW5h cnkgZm9yIFZNcyB3aXRoIGFuZA0KPiA+IHdpdGhvdXQgVERYL1NOUC4gIEkga25vdyB0aGVyZSBp cyBhdHRlc3RhdGlvbiwgYnV0IHdoeSB3b3VsZCB5b3UgZXZlbg0KPiA+IHdhbnQgdGhlIF9wb3Nz aWJpbGl0eV8gdGhhdCB5b3VyIGd1ZXN0IHN0YXJ0cyBydW5uaW5nIHdpdGhvdXQgVERYIG9yIFNO UA0KPiA+IHByb3RlY3Rpb24sIGFuZCBvbmx5IGZpbmQgb3V0IGxhdGVyIHZpYSBhdHRlc3RhdGlv bj8NCj4gDQo+IFRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIHJlYXNvbnMgd2h5IGN1c3RvbWVycyB3 YW50IGl0IGJ1dCB3ZSBuZWVkIHRoaXMNCj4gcmVxdWlyZW1lbnQgZm9yIGEgY291cGxlIG9mIG90 aGVyIHJlYXNvbnMgdG9vLg0KPiANCj4gV2UgZG8gbm90IG9ubHkgaGF2ZSBoYXJkd2FyZSBiYXNl ZCBjb25maWRlbnRpYWwgVk1zLiBXZSBtaWdodCBoYXZlDQo+IHNvbWUgb3RoZXIgc29sdXRpb25z IHdoaWNoIG1lYXN1cmUgdGhlIGluaXRpYWwgaW1hZ2UgYmVmb3JlIGJvb3QuDQo+IFVsdGltYXRl bHkgd2UgbWlnaHQgd2FudCB0byB1c2UgYSBjb21tb24gYXR0ZXN0YXRpb24gaW50ZXJmYWNlIHdo ZXJlDQo+IGN1c3RvbWVycyBtaWdodCBiZSBydW5uaW5nIGRpZmZlcmVudCBraW5kcyBvZiBWTXMu IFVzaW5nIGEgc2luZ2xlDQo+IGJpbmFyeSB3aWxsIG1ha2UgaXQgZWFzaWVyIHRvIG1hbmFnZS92 ZXJpZnkgbWVhc3VyZW1lbnRzIGZvciBib3RoIG9mDQo+IHVzIGFuZCB0aGUgY3VzdG9tZXJzLiBJ IGFtIG5vdCBhIFBNIHNvIEkgY2Fubm90IGdpdmUgbW9yZSBjb250ZXh0IG9uDQo+IGN1c3RvbWVy IHVzZSBjYXNlcy4NCj4gDQo+IEFub3RoZXIgcmVhc29uIGlzIGhvdyB3ZSBkZXBsb3kgYW5kIG1h bmFnZSBndWVzdCBmaXJtd2FyZS4gV2UgaGF2ZSBhDQo+IGxvdCBvZiBvcHRpbWl6YXRpb24gYW5k IGN1c3RvbWl6YXRpb24gdG8gc3BlZWQgdXAgZmlybXdhcmUgbG9hZGluZw0KPiB0aW1lIGFuZCBh bHNvIHJlZHVjZSB0aGUgdGltZSB0byBkZXBsb3kgbmV3IGJ1aWxkcyBvbiB0aGUgd2hvbGUgZmxl ZXQNCj4gdW5pZm9ybWx5LiAgQWRkaW5nIGEgbmV3IGZpcm13YXJlIGJpbmFyeSBpcyBhIGJpZyBj aGFsbGVuZ2UgZm9yIHVzIHRvDQo+IGVuYWJsZSB0aGVzZSBmZWF0dXJlcy4gT24gdGhlIHRvcCBv ZiBpbnRlZ3JhdGlvbiBjaGFsbGVuZ2VzLCBpdCB3aWxsDQo+IGNyZWF0ZSBtYWludGFpbmFiaWxp dHkgaXNzdWVzIGluIHRoZSBsb25nIHJ1biBmb3IgdXMgd2hlbiB3ZSBwcm92aWRlDQo+IHRvb2xz IHRvIHZlcmlmeS9yZXByb2R1Y2UgdGhlIGhhc2hlcyBpbiB0aGUgYXR0ZXN0YXRpb24gcmVwb3J0 Lg0KPiANCj4gPiB3YW50IHRoZSBfcG9zc2liaWxpdHlfIHRoYXQgeW91ciBndWVzdCBzdGFydHMg cnVubmluZyB3aXRob3V0IFREWCBvciBTTlANCj4gPiBwcm90ZWN0aW9uLCBhbmQgb25seSBmaW5k IG91dCBsYXRlciB2aWEgYXR0ZXN0YXRpb24/DQo+IA0KPiBJIGFtIG1pc3NpbmcgdGhlIHBvaW50 IGhlcmUuIEN1c3RvbWVycyBzaG91bGQgcmVseSBvbiBvbmx5IHRoZQ0KPiBhdHRlc3RhdGlvbiBy ZXBvcnQgdG8gZXN0YWJsaXNoIHRoZSB0cnVzdC4NCj4gLUlmIGZpcm13YXJlIGRvZXMgbm90IHN1 cHBvcnQgVERYIGFuZCBURFggaXMgZW5hYmxlZCwgdGhhdCBmaXJtd2FyZQ0KPiB3aWxsIGNyYXNo IGF0IHNvbWUgcG9pbnQuDQo+IC1JZiBmaXJtd2FyZSBpcyBnZW5lcmljIGZpcm13YXJlIHRoYXQg c3VwcG9ydHMgVERYIGFuZCBTTlAgYW5kIG90aGVycywNCj4gYW5kIFREWCBpcyBlbmFibGVkIG9y IG5vdCwgIHN0aWxsIHRoZSBjdXN0b21lciBuZWVkcyB0byB2ZXJpZnkgdGhlIFREWA0KPiBlbmFi bGVtZW50IHRocm91Z2ggYXR0ZXN0YXRpb24uDQo+IC1JZiBmaXJtd2FyZSBpcyBhIGN1c3RvbWl6 ZWQgYmluYXJ5IGNvbXBpbGVkIHRvIHN1cHBvcnQgVERYLA0KPiBpcnJlbGV2YW50IG9mIFREWCBi ZWluZyBlbmFibGVkIG9yIG5vdCwgIHN0aWxsIHRoZSBjdXN0b21lciBuZWVkcyB0bw0KPiB2ZXJp ZnkgdGhlIFREWCBlbmFibGVtZW50IHRocm91Z2ggYXR0ZXN0YXRpb24uDQo+IA0KPiANCj4gPiBG b3IgYSBzaW1pbGFyIHJlYXNvbiwgT1ZNRiBhbHJlYWR5IHN1cHBvcnRzIHNoaXBwaW5nIGEgYmlu YXJ5IHRoYXQgZmFpbHMNCj4gPiB0byBib290IGlmIFNNTSBpcyBub3QgYXZhaWxhYmxlIHRvIHRo ZSBmaXJtd2FyZSwgYmVjYXVzZSB0aGVuIHNlY3VyZQ0KPiA+IGJvb3Qgd291bGQgYmUgdHJpdmlh bGx5IGNpcmN1bXZlbnRlZC4NCj4gPg0KPiA+IEkgY2FuIHVuZGVyc3RhbmQgaGF2aW5nIGEgc2lu Z2xlIGJpbmFyeSBmb3IgYm90aCBURFggb3IgU05QLiAgVGhhdCdzIG5vdA0KPiA+IGEgcHJvYmxl bSBzaW5jZSB5b3UgY2FuIHNldCB1cCB0aGUgU0VWIHN0YXJ0dXAgVk1TQSB0byAzMi1iaXQgcHJv dGVjdGVkDQo+ID4gbW9kZSBqdXN0IGxpa2UgVERYIHdhbnRzLg0KPiANCj4gSSBhZ3JlZSB0aGF0 IHRoaXMgaXMgZG9hYmxlIGJ1dCBJIGFtIG5vdCBzdXJlIGlmIHdlIG5lZWQgdG8gYWxzbw0KPiBt b2RpZnkgdGhlIHJlc2V0IHZlY3RvciBmb3IgQU1EIFNOUCBpbiB0aGF0IGNhc2UuIEFsc28gaXQg d2lsbCBub3QNCj4gc29sdmUgb3VyIHByb2JsZW0uIElmIHdlIHN0YXJ0IHRvIGdlbmVyYXRlIGEg bmV3IGZpcm13YXJlIGZvciBldmVyeQ0KPiBmZWF0dXJlICwgaXQgd2lsbCBub3QgZW5kIHdlbGwg Zm9yIHVzLCBJIHRoaW5rLiBCb3RoIFREWCBhbmQgU05QIGFyZQ0KPiBzdGlsbCBuZXcgZmVhdHVy ZXMgaW4gdGhlIHNhbWUgYXJjaGl0ZWN0dXJlLCBhbmQgaXQgc2VlbXMgdG8gbWUgdGhhdA0KPiB0 aGV5IGFyZSBzaGFyaW5nIGEgbG90IG9mIGNvbW1vbi9zaW1pbGFyIGNvZGUuIEFNRCBoYXMgYWxy ZWFkeSBtYWRlDQo+IHNvbWUgb2YgdGhlaXIgcGF0Y2hlcyBpbiAoU0VWIGFuZCBTRVYtRVMpIHdo aWNoIHdvcmtzIHZlcnkgbmljZWx5IGZvcg0KPiBvdXIgdXNlIGNhc2UgYW5kIGludGVncmF0aW9u LiBMb29rcyBsaWtlIEludGVsIGp1c3QgaGFzIGFuIGlzc3VlIG9uDQo+IGhvdyB0byBmaXggdGhl aXIgcmVzZXQgdmVjdG9yIHByb2JsZW0uIE9uY2UgdGhleSBzb2x2ZSBpdCBhbmQgdXBzdHJlYW0N Cj4gYWNjZXB0cyB0aGUgY2hhbmdlcywgSSBkbyBub3Qgc2VlIGFueSBvdGhlciBiaWcgYmxvY2tl ci4gT1ZNRiB3YXMNCj4gZG9pbmcgYSBncmVhdCBqb2Igb24gYWJzdHJhY3RpbmcgZGlmZmVyZW5j ZXMgYW5kIHByb3ZpZGluZyBhIGNvbW1vbg0KPiBpbnRlcmZhY2Ugd2l0aG91dCBjcmVhdGluZyBt dWx0aXBsZSBiaW5hcmllcy4gSSBkbyBub3Qgc2VlIHdoeSBpdA0KPiBzaG91bGQgbm90IGRvIHRo ZSBzYW1lIHRoaW5nIGhlcmUuDQo+IA0KPiA+ID4gdGhlcmVmb3JlIHdlIHdlcmUgZXhwZWN0aW5n IHRoZSBURFgNCj4gPiA+IGNoYW5nZXMgdG8gYmUgcGFydCBvZiB0aGUgdXBzdHJlYW0gY29kZS4N Cj4gPg0KPiA+IEhhdmluZyAxIG9yIG1vcmUgYmluYXJpZXMgc2hvdWxkIGJlIHVucmVsYXRlZCB0 byB0aGUgY2hhbmdlcyBiZWluZw0KPiA+IHVwc3RyZWFtIChvciBtb3JlIGxpa2VseSwgSSBhbSBt aXN1bmRlcnN0YW5kaW5nIHlvdSkuDQo+IA0KPiBZb3UgYXJlIHJpZ2h0LCBpdCBpcyBteSBiYWQg Zm9yIG5vdCBjbGFyaWZ5aW5nIGl0LiBXaGF0IEkgbWVhbiBpcyB3ZQ0KPiB3YW50IGl0IHRvIGJl IHBhcnQgb2YgdGhlIHVwc3RyZWFtIHNvIGl0IGNhbiBiZSBlYXNpZXIgZm9yIHVzIHRvIHB1bGwN Cj4gdGhlIGNoYW5nZXMgYW5kIHRoZXkgYXJlIGNvbXBhdGlibGUgd2l0aCB0aGUgY2hhbmdlcyB0 aGF0IFNOUCBpcyBkb2luZw0KPiBidXQgd2UgYWxzbyBkbyBub3Qgd2FudCB0byB1c2UgZGlmZmVy ZW50IGNvbmZpZ3VyYXRpb24gZmlsZXMgdG8NCj4gZ2VuZXJhdGUgZGlmZmVyZW50IGJpbmFyaWVz IGZvciBlYWNoIHVzZSBjYXNlLg0KPiANCj4gDQo+ID4gVGhhbmtzLA0KPiA+DQo+ID4gUGFvbG8N Cj4gPg0K