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.90635.1680571442248273841 for ; Mon, 03 Apr 2023 18:24:02 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=lnrEMe6Q; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: dun.tan@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1680571442; x=1712107442; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=tZWV0uJfgFBIMY4mYyl8t0AoDnGQ/diwSWAZa4Ept1g=; b=lnrEMe6Q5EOfDPGtxCRwqUcMPc6A3jP0/sk0/M+mQewrjjLm1eDbVhbd o4P5sgYJruKWInO3/mfWegwXGO4+kRUc5kirpxyaiKVnfzE1VdlnYxe89 1nofBQyL1plS7V5l+o8Hfdl8ZpLQPc2rQtmJ7URm8ktXOyzNPCiIHH7i9 eQENt/QdaGzs/Svte7gPeFcuE9iZEPuMgCzwKhEYuV7wqeEsijz+ewFob o5hUM/wTMxY7KIc4Ocjryfq66q3++ezRTqE/VcKR+QazR4EW8Gcy1nFQN 6DEPPB24LLsQtgV+PoT2QVMSbu37sgTuBhvbm2df+RS96Z0Zm1liVtR4Q A==; X-IronPort-AV: E=McAfee;i="6600,9927,10669"; a="340792258" X-IronPort-AV: E=Sophos;i="5.98,316,1673942400"; d="scan'208";a="340792258" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Apr 2023 18:24:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10669"; a="775443861" X-IronPort-AV: E=Sophos;i="5.98,316,1673942400"; d="scan'208";a="775443861" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by FMSMGA003.fm.intel.com with ESMTP; 03 Apr 2023 18:24:01 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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.2507.21; Mon, 3 Apr 2023 18:24:01 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Mon, 3 Apr 2023 18:24:00 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Mon, 3 Apr 2023 18:24:00 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) 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.2507.21; Mon, 3 Apr 2023 18:24:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FkfRA6TFXdTnh/1WlMVxh3ygwsPDLKGyUA9qHM8tS8XIEhY1797Vm74F8HqgaoRunHBufMHpXMNclTYejSPkwp8OtWRPjNNd95X/mIr9ONyLul1Ku6s6MnT5VHq6qEjd8b6S2RY2f37OxHNzNN7pHnIWuxikq9gvpWh7xVrJY1OTRSAOFh8Eyn3DP2howH6oDv/GXSRTTVuSa4wFKI639uzAWq+OfFaQZ0OjDeL90yzo7IiczKi2lHCOswCBkg7h2mQD3252FAggSgoCeVlkQ6yWWuYeaPTRfUW+4zDqZR8qC94XaVVmFmkhtq+2Wx1fLQV9nhuHlfH/97q7+N2oiw== 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=tZWV0uJfgFBIMY4mYyl8t0AoDnGQ/diwSWAZa4Ept1g=; b=hUDE3XgcWGS8BsEc51cYxBEowJ7A5WWT8Tg9J5yb7sqA4ocbhwlcph3W5EmI1ENnhJm8QoxeEdKVnPHzajvZX0oOWkYSsuLm8XNdkl5rJGzJ9dv/6JnrQy4/SNz66219/35VDxFPQOzkzuBDZIODz1k1wS+gxPF3wE5oZZSPxGGIbsPMjZcHQfTxazNDneKi3Il7cPVNO/N2COymbkbklzKe15OUuPVve4mc5zIUSvs/+QTAQAqx8KZ2qww+/Vpj1TShCULukR2ur8LQ2twJP913qFWsFJZWlLnFbMglcunbG/i1iAXun+m4HVGvZvOsVnkxwPCuiGJnGxwDHkIDHA== 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 BN9PR11MB5483.namprd11.prod.outlook.com (2603:10b6:408:104::10) by BL1PR11MB5431.namprd11.prod.outlook.com (2603:10b6:208:315::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.26; Tue, 4 Apr 2023 01:23:58 +0000 Received: from BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::2ac6:e032:8994:2e12]) by BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::2ac6:e032:8994:2e12%4]) with mapi id 15.20.6254.033; Tue, 4 Apr 2023 01:23:58 +0000 From: "duntan" To: Tom Lendacky , "devel@edk2.groups.io" CC: "Ni, Ray" Subject: Re: [edk2-devel] [Patch V2 0/8] Create page table by CpuPageTableLib in DxeIpl Thread-Topic: [edk2-devel] [Patch V2 0/8] Create page table by CpuPageTableLib in DxeIpl Thread-Index: AQHZY7RZkyyq0+r/CkeCBOilYLfNH68UoVeQgABTRQCABLPmgIAAL3OAgACGiFA= Date: Tue, 4 Apr 2023 01:23:58 +0000 Message-ID: References: <17517763F19F09A0.27612@groups.io> <0b8cbd21-9c80-26cf-8934-c4df9158441d@amd.com> <9ecca246-63db-2cd1-212d-7801deb3b27c@amd.com> <3732444c-d63f-958d-f340-a63a162861ed@amd.com> In-Reply-To: <3732444c-d63f-958d-f340-a63a162861ed@amd.com> Accept-Language: zh-CN, 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: BN9PR11MB5483:EE_|BL1PR11MB5431:EE_ x-ms-office365-filtering-correlation-id: 2dd238f2-1041-4099-8d08-08db34ab43f9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eC4OAbu8Kk5GIK9vP+fYuZuD5VK+qQfSU0Bv6CRNnviPF9louMQ/XGTikV7JPN2B9qqghXiZKggdvpsdnqohmuPjf2K05fNmpB2XpA4VOcXr3S++wXVLByYyUZz7c0RGELKB8a/pF0SlgcJSY6ynS4kWIGFPGhr5uYsPcf/JgfAAYKAyn/vPDxdXfTbLHjso0NdsH32cGXtp2R9OGI+l6O20YYV9lUNWxEmSqL/bL7vSLrccsyTMZQLv35XJ57PrkreRP9GPe/2YO34Da42YJITQJVWf+bpjloJj3yZZ0UUvab6+xCRYY5fVmlkPLrVSrl3mPaIN3nVtGCjjgaMUOmmraYjKvWeqyzjGEE373aJ4ymrSxvCBjeHItoJUnSlwklkgCDnu9o5Pm4JO7u0A2qbHS5Xt35VTr/DjV6jGkviPD2NmnUEH5fOD5znArjqLZGy1vy8gfyZMyBxhPbpIu3eV5CTfCU7A28gXvDJR521cO4SDWB7QSn6XHXHFYjjmW1Q6Z+HCG8+aV0Rbl9g1AiC4Ml5tEELuXYQ3WHOklkaIm04EBTkmmrflWq/Nk924e7xaCvfYB21O6XaZwC0ipM2e+X/HHzcNhVNSLtCdbPb5l7uRqxM3sk8+8XOu40LbeXk+JvNPGaE96KYAckdJ4w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5483.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(376002)(346002)(396003)(39860400002)(451199021)(26005)(53546011)(9686003)(86362001)(6506007)(76116006)(66556008)(66476007)(66946007)(4326008)(64756008)(8676002)(66446008)(66899021)(186003)(71200400001)(966005)(7696005)(19627235002)(110136005)(478600001)(55016003)(33656002)(107886003)(8936002)(38100700002)(316002)(122000001)(52536014)(38070700005)(5660300002)(2906002)(82960400001)(41300700001)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NWR6dnJEM1V1NldkNG1sSThGbGRxSzRuckVDbVFEcW9lVHQ2Vno5U0hkVS9E?= =?utf-8?B?dkN6UUVzZEJLYXJnSDNESnZPVHM0bVFDTG1DaWtjZDBTRS9QeldZVEVxQ2sz?= =?utf-8?B?M2ZWS3BXSE56SDhuQ2pEZ1Npc3ZCK3plNXNKN1U0bTB0NW5nMmRCT3BxZW9n?= =?utf-8?B?TkNVMmY4Tm9IUU5oRXpkOHFqNk1tZHQzbWVtbTM4aWFYVm96NUhRUGhNUTNi?= =?utf-8?B?a1JIa2dKaWNjdDdxZ2M0QitzQk1HbDhYVGlyVitXOWhrUDRTak54anRkYXRw?= =?utf-8?B?WWk5RFUzNDNXQmZ2Y3NxTVRKekwyQ2sxZTdvS1lFY0JLOXhRMW9uWTQ2OVBJ?= =?utf-8?B?a05VMnJMMkc2ZnZRR0FSUXZrWHdsdHNRTW8wRWRxbGhJVkxGTmo0Q1FNMnlD?= =?utf-8?B?UjRjTnJmR2JWTFFIWWtRNi9mN3JxUTlySUVFN0t1WFhKaVRDNGdtdWwvQjkr?= =?utf-8?B?L1ZqNSsrMnI1QXJwejdnaXR1ZnllTlNtUy9pSHYvYWpjLzY3ajRJL1FTOVp1?= =?utf-8?B?aGkwNnh0bWNWRHhaZFEySWMweFRxV2xQcFBVTUFFVEhIZHBUYTdyMGIvb1hh?= =?utf-8?B?aDkyTGtHcGVMbjRvUzFFSDBJL29NbkQ2RWw3aTQ3N1hBQVNhYlpZL21DdG5C?= =?utf-8?B?WmliVUZGL1J2QzlUakowTkRFWWlWOWFmd0JLWG9Kam0vbnl6cnRyMS9oTEVo?= =?utf-8?B?RUFOZVp5QUhraVhobzJzdnYzREtTVTZNR2oxMTZxZmFYbUxJSmIxeURVTGR2?= =?utf-8?B?T1prMmdpdXNVWDZMQ1lGek5za1lvNDJwMmIzeGYxRDZ3UUNOMzdqeVpDTXlp?= =?utf-8?B?QVdQVGZuazNZc0haTXVxOWpNKzl4UnhuRjNoemJTMjhpYjhOdlhOWks2Nkhi?= =?utf-8?B?SnJ3VGxEdWk1QTFwd0t6MVhJQ0NJM0l6Rktsdk5pUm5KVkFhRHRDK3RMa2Zu?= =?utf-8?B?ZGVXSFRadkY5NGRpelg3Nk9ta3htU2VSMm45aCtObmNQVmlDQ0ZNOUt3VHo4?= =?utf-8?B?WTdHTmJ3QXkvNCtwYnJUTC85amxiOXBIQm1mVmhMTHhkWE5FV24xNnBmRTBM?= =?utf-8?B?TGFtOE00TTJyL1VUYkhlSnpaVHJEWnllNTY5c21sd051Uy9zVk1tdUJ2cGRG?= =?utf-8?B?M2ZKNm9MVEtDcEszOWVGU001OW1YRUQyUERjM3hpV084TmRlOFBhY2hOSUEx?= =?utf-8?B?WFJ0LzZzM0hsSWZFWFJmemJBbU9Bc1ZRSk5ITUdMMVNUU2YwSnppYkdvTnEr?= =?utf-8?B?SDlFN3pkZXlTVXZQZUJKRTcyT3FTQ1l1SmFBdVVYV0NFSm1yUzRXZHZlaXBi?= =?utf-8?B?Rm9OeXhjSklBVVltaUczbFhTK1VyRDlKZHFPNHNOc0Jra1VXaDdoUEVxc1pV?= =?utf-8?B?QnAxM09wbXFtQ3l2ZC9GR2ZYUmlnajJ2cENDSWpVT3R3WDBaOEpGZU8rYUxD?= =?utf-8?B?S1ZpRlhaQVNwN0VLVStjbnp0M2hsK3RFZnR2WmJDUWxlaHd2aURVSU1pbTVV?= =?utf-8?B?dnI2dFhGeUdXSC9JeFh1Mi9pVkFCSk9VT2prNUZRR3ZOTWVhdGkwU2ZNcGRG?= =?utf-8?B?UlY2eVB1QU1oN1FzeERja3BzUytEVm1nYnJGeDdZV1BLRUI4WngwY0h1eDdm?= =?utf-8?B?OHV0eldHdTlmaFV6L1V1MEJLdnpRenVmcE95SXY4T2xZVlVPdmliMm9zL2Vv?= =?utf-8?B?OVFsS21abUQ0ckptVGtndTI1M05EbU8xQ2lJNnNoc0FIMnJGbitvOUQ0eVIw?= =?utf-8?B?VFlBZVNIcFdFYzdScGhRd3B2bDJ6VnR4VHlZVE9xWkFCdkNsZEx1V1l5ZXpi?= =?utf-8?B?bHpudDdBRTFGNm9uWGgxcmJad1QreHZCNFNUbnVuVUdwekNpc3B4d1FCdHdW?= =?utf-8?B?dHpXL3BzTHFJc3lHTHBxZHpVaWlqWnBPTTk3V1JBV1J6Y2tlejUvVkZNL3hy?= =?utf-8?B?a0pyS0I1MXM5cHlOelFoTVV5dE9Yb3FZY29PYnNtbVNtU0tSZ0Z1VFFKYmxG?= =?utf-8?B?d1hlaGI0bytiSnNmVHk1QUV0TGs3YVVyZzhDRFJyRDZpWEFWZEtmMCt6ZE9p?= =?utf-8?B?Zk1KalVQakkwd3NQUU54dkZUVEpYSTRGQUY5SXZtU3hCc1BMQy9TUndrdnJp?= =?utf-8?Q?1ykk=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5483.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2dd238f2-1041-4099-8d08-08db34ab43f9 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Apr 2023 01:23:58.7025 (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: 3QGjnbMvce48OPZHTsThVYPWtVEs1VM1Bd1Bbi2jm9c6p6VU92ICn8t0DppXTR6xS8xJLSBp08bEhyOeO/1wbw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5431 Return-Path: dun.tan@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmsgeW91IGEgbG90ISBJIG1pc3VuZGVyc3Rvb2QgdGhlIGNvbmRpdGlvbiBmb3IgcmVtYXBw aW5nIEdIQ0IgcGFnZSBpbiBwcmV2aW91cyBjb2RlLiBJJ2xsIGZpeCB0aGUgaXNzdWUgaW4gbmV4 dCB2ZXJzaW9uIHBhdGNoLiANCg0KVGhhbmtzLA0KRHVuDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQpGcm9tOiBUb20gTGVuZGFja3kgPHRob21hcy5sZW5kYWNreUBhbWQuY29tPiANClNl bnQ6IFR1ZXNkYXksIEFwcmlsIDQsIDIwMjMgMToxNCBBTQ0KVG86IFRhbiwgRHVuIDxkdW4udGFu QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQpDYzogTmksIFJheSA8cmF5Lm5pQGlu dGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BhdGNoIFYyIDAvOF0gQ3JlYXRl IHBhZ2UgdGFibGUgYnkgQ3B1UGFnZVRhYmxlTGliIGluIER4ZUlwbA0KDQpPbiA0LzMvMjMgMDk6 MjQsIFRvbSBMZW5kYWNreSB3cm90ZToNCj4gT24gMy8zMS8yMyAwOTozNSwgVG9tIExlbmRhY2t5 IHdyb3RlOg0KPj4gT24gMy8zMS8yMyAwNDo0MSwgVGFuLCBEdW4gd3JvdGU6DQo+Pj4gSGkgVG9t LA0KPj4+DQo+Pj4gUmVjY2VudGxseSBJIHNlbnQgdGhpcyBwYXRjaCBzZXQgdG8gY2hhbmdlIER4 ZUlwbCBjb2RlIHRvIHVzZSANCj4+PiBDcHVQYWdlVGFibGVMaWIgdG8gY3JlYXRlIHBhZ2UgdGFi bGUuIEkgaGF2ZSBkb25lIHNvbWUgdGVzdCBvbiBJbnRlbCANCj4+PiBDUFUgdG8gbWFrZSBzdXJl IHRoYXQgdGhlIHBhZ2UgdGFibGUgY3JlYXRlZCBieSBEeGVJcGwgYmVmb3JlIHRoZSANCj4+PiBj aGFuZ2UgaXMgdGhlIHNhbWUgYXMgdGhlIHBhZ2UgdGFibGUgY3JlYXRlZCBieSBEeGVJcGwgYWZ0 ZXIgdGhlIA0KPj4+IGNoYW5nZS4gQnV0IHRoZXJlIHdhcyBhIHJlbWFpbmluZyBjYXNlIHRoYXQg SSBkaWRuJ3QgY292ZXIuIFRoZSBjYXNlIA0KPj4+IGlzIHRoYXQgUGNkUHRlTWVtb3J5RW5jcnlw dGlvbkFkZHJlc3NPck1hc2ssIFBjZEdoY2JCYXNlIGFuZCANCj4+PiBQY2RHaGNiU2l6ZSBhcmUg bm90IHplcm8od2hlbiBtZW1vcnkgZW5jcnlwdGlvbiBpcyBlbmFibGVkIG9uIEFNRCANCj4+PiBw cm9jZXNzb3JzIHN1cHBvcnRpbmcgdGhlIFNFViBmZWF0dXJlKS4NCj4+PiBTbyBjb3VsZCB5b3Ug cGxlYXNlIGhlbHAgZG8gYSB0ZXN0IG9uIEFNRCBwcm9jZXNzb3IgdG8gbWFrZSBzdXJlIA0KPj4+ IHRoYXQgdGhlIFNFViBmZWF0dXJlIHN0aWxsIHdvcmtzIGdvb2Qgd2l0aCB0aGlzIHBhY3RoIHNl dD8NCj4+DQo+PiBZZXMsIEkgY2FuIHRlc3QgaXQuDQo+IA0KPiBUaGlzIGlzIGJyZWFraW5nIHRo ZSBTRVYtRVMgYW5kIFNFVi1TTlAgYm9vdHMuIEknbGwgc2VlIGlmIEkgY2FuIA0KPiBmaWd1cmUg b3V0IHdoYXQgb3Igd2hlcmUgdGhlIGJyZWFrYWdlIGlzLCBidXQgdGhpcyBwYXRjaHNldCBjYW4n dCBiZSBtZXJnZWQgYXMgaXMuDQoNClRoZSBmb2xsb3dpbmcgY2hhbmdlIHRvIHRoZSBwYXRjaCBz ZXJpZXMgYWxsb3dzIFNFVi1FUyBhbmQgU0VWLVNOUCBndWVzdHMgdG8gYm9vdC4NCg0KVGhhbmtz LA0KVG9tDQoNCg0KZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vWDY0 L1ZpcnR1YWxNZW1vcnkuYyBiL01kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vWDY0L1ZpcnR1 YWxNZW1vcnkuYw0KaW5kZXggYTllZGY0ZGUzMi4uYTNmMTZjN2NmOSAxMDA2NDQNCi0tLSBhL01k ZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vWDY0L1ZpcnR1YWxNZW1vcnkuYw0KKysrIGIvTWRl TW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9YNjQvVmlydHVhbE1lbW9yeS5jDQpAQCAtNDE2LDYg KzQxNiw3IEBAIENyZWF0ZUlkZW50aXR5TWFwcGluZ1BhZ2VUYWJsZXMgKA0KICAgIElBMzJfTUFQ X0FUVFJJQlVURSAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hcEF0dHJpYnV0ZTsNCiAgICBJ QTMyX01BUF9BVFRSSUJVVEUgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXBNYXNrOw0KICAg IEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICAgICAgICAgICAgICAgICAgIEdoY2JCYXNlNEs7 DQorICBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgICAgICAgICAgICAgICAgICBHaGNiQmFz ZUVuZDsNCiAgDQogICAgLy8NCiAgICAvLyBNYWtlIHN1cmUgQWRkcmVzc0VuY01hc2sgaXMgY29u dGFpbmVkIHRvIHNtYWxsZXN0IHN1cHBvcnRlZCBhZGRyZXNzIGZpZWxkIEBAIC01MDQsMTUgKzUw NSwyMSBAQCBDcmVhdGVJZGVudGl0eU1hcHBpbmdQYWdlVGFibGVzICgNCiAgICAgIC8vDQogICAg ICAvLyBUaGUgR0hDQiByYW5nZSBjb25zaXN0cyBvZiB0d28gcGFnZXMgcGVyIENQVSwgdGhlIEdI Q0IgYW5kIGENCiAgICAgIC8vIHBlci1DUFUgdmFyaWFibGUgcGFnZS4gVGhlIEdIQ0IgcGFnZSBu ZWVkcyB0byBiZSBtYXBwZWQgYXMgYW4NCi0gICAgLy8gdW5lbmNyeXB0ZWQgcGFnZSB3aGlsZSB0 aGUgcGVyLUNQVSB2YXJpYWJsZSBwYWdlIG5lZWRzIHRvIGJlDQotICAgIC8vIG1hcHBlZCBlbmNy eXB0ZWQuIFRoZXNlIHBhZ2VzIGFsdGVybmF0ZSBpbiBhc3NpZ25tZW50Lg0KKyAgICAvLyB1bmVu Y3J5cHRlZCBwYWdlIHdoaWxlIHRoZSBwZXItQ1BVIHZhcmlhYmxlIHBhZ2UgbmVlZHMgdG8gcmVt YWluDQorICAgIC8vIG1hcHBlZCBhcyBhbiBlbmNyeXB0ZWQgcGFnZS4NCisgICAgLy8NCisgICAg Ly8gTG9vcCB0aHJvdWdoIHRoZSBHSENCIHJhbmdlLCByZW1hcHBpbmcgdGhlIEdIQ0IgcGFnZSB1 bmVuY3J5cHRlZA0KKyAgICAvLyBhbmQgc2tpcHBpbmcgb3ZlciB0aGUgcGVyLUNQVSB2YXJpYWJs ZSBwYWdlLg0KICAgICAgLy8NCiAgICAgIEFTU0VSVCAoSXM2NEJpdFBhZ2VUYWJsZSA9PSBUUlVF KTsNCi0gICAgR2hjYkJhc2U0SyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gQUxJR05fVkFM VUUgKEdoY2JCYXNlLCBTSVpFXzRLQik7DQotICAgIE1hcEF0dHJpYnV0ZS5VaW50NjQgICAgICAg ICAgICAgICAgICA9IEdoY2JCYXNlNEs7DQotICAgIE1hcE1hc2suVWludDY0ICAgICAgICAgICAg ICAgICAgICAgICA9IDA7DQotICAgIE1hcE1hc2suQml0cy5QYWdlVGFibGVCYXNlQWRkcmVzc0xv dyA9IDE7DQotICAgIENyZWF0ZU9yVXBkYXRlUGFnZVRhYmxlICgmUGFnZVRhYmxlLCBQYWdpbmdN b2RlLCBHaGNiQmFzZTRLLCBTSVpFXzRLQiwgJk1hcEF0dHJpYnV0ZSwgJk1hcE1hc2spOw0KKyAg ICBHaGNiQmFzZTRLICA9IEFMSUdOX1ZBTFVFIChHaGNiQmFzZSwgU0laRV80S0IpOw0KKyAgICBH aGNiQmFzZUVuZCA9IEFMSUdOX1ZBTFVFIChHaGNiQmFzZSArIEdoY2JTaXplLCBTSVpFXzRLQik7 DQorICAgIGZvciAoOyBHaGNiQmFzZTRLIDwgR2hjYkJhc2VFbmQ7IEdoY2JCYXNlNEsgKz0gKFNJ WkVfNEtCICogMikpIHsNCisgICAgICBNYXBBdHRyaWJ1dGUuVWludDY0ICAgICAgICAgICAgICAg ICAgPSBHaGNiQmFzZTRLOw0KKyAgICAgIE1hcE1hc2suVWludDY0ICAgICAgICAgICAgICAgICAg ICAgICA9IDA7DQorICAgICAgTWFwTWFzay5CaXRzLlBhZ2VUYWJsZUJhc2VBZGRyZXNzTG93ID0g MTsNCisgICAgICBDcmVhdGVPclVwZGF0ZVBhZ2VUYWJsZSAoJlBhZ2VUYWJsZSwgUGFnaW5nTW9k ZSwgR2hjYkJhc2U0SywgU0laRV80S0IsICZNYXBBdHRyaWJ1dGUsICZNYXBNYXNrKTsNCisgICAg fQ0KICAgIH0NCiAgDQogICAgaWYgKFBjZEdldEJvb2wgKFBjZFNldE54Rm9yU3RhY2spKSB7DQoN Cj4gDQo+IFRoYW5rcywNCj4gVG9tDQo+IA0KPj4NCj4+IFRoYW5rcywNCj4+IFRvbQ0KPj4NCj4+ Pg0KPj4+IFRoYW5rcywNCj4+PiBEdW4NCj4+Pg0KPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+Pj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlv PiBPbiBCZWhhbGYgT2YgDQo+Pj4gZHVudGFuDQo+Pj4gU2VudDogRnJpZGF5LCBNYXJjaCAzMSwg MjAyMyA1OjM0IFBNDQo+Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+Pj4gU3ViamVjdDog W2VkazItZGV2ZWxdIFtQYXRjaCBWMiAwLzhdIENyZWF0ZSBwYWdlIHRhYmxlIGJ5IA0KPj4+IENw dVBhZ2VUYWJsZUxpYiBpbiBEeGVJcGwNCj4+Pg0KPj4+IEluIHRoaXMgVjIgcGF0Y2ggc2V0Og0K Pj4+IDEuUmVtb3ZlIHRoZSB1bm5lZWRlZCBwYXRjaCBmb3IgQXJtVmlydFBrZyAyLkluIHRoaXMg cGF0Y2ggJ0NyZWF0ZSANCj4+PiBwYWdlIHRhYmxlIGJ5IENwdVBhZ2VUYWJsZUxpYicsIGNoYW5n ZSB0aGUgaW5wdXQgcGFyYW1ldGVyIG5hbWUgZnJvbSANCj4+PiBJczMyQml0UGFnZVRhYmxlIHRv IElzNjRCaXRQYWdlVGFibGUgYW5kIGFkZCBhIGxpbmUgb2YgDQo+Pj4gIk1hcEF0dHJpYnV0ZS5C aXRzLlByZXNlbnQgPSAwIiBiZWZvcmUgc2V0IGEgcmFuZ2UgdG8gbm9uLXByZXNlbnQuDQo+Pj4g My5JbiB0aGlzIHBhdGNoICdSZWZpbmVtZW50IHRvIHRoZSBjb2RlIHRvIHNldCBQYWdlVGFibGUg YXMgUk8nLCBhZGQgDQo+Pj4gYSBsaW5lIG9mICJNYXBBdHRyaWJ1dGUuQml0cy5SZWFkV3JpdGUg PSAwIiBiZWZvcmUgc2V0IGEgcmFuZ2UgdG8gUmVhZE9ubHkuDQo+Pj4NCj4+PiBEdW4gVGFuICg4 KToNCj4+PiAgICBFbXVsYXRvclBrZzogQWRkIENwdVBhZ2VUYWJsZUxpYiByZXF1aXJlZCBieSBE eGVJcGwgaW4gRFNDDQo+Pj4gICAgSW50ZWxGc3AyUGtnOiBBZGQgQ3B1UGFnZVRhYmxlTGliIHJl cXVpcmVkIGJ5IER4ZUlwbCBpbiBEU0MNCj4+PiAgICBNZGVNb2R1bGVQa2c6IEFkZCBDcHVQYWdl VGFibGVMaWIgcmVxdWlyZWQgYnkgRHhlSXBsIGluIERTQw0KPj4+ICAgIE92bWZQa2c6IEFkZCBD cHVQYWdlVGFibGVMaWIgcmVxdWlyZWQgYnkgRHhlSXBsIGluIERTQyBmaWxlDQo+Pj4gICAgTWRl TW9kdWxlUGtnOiBBZGQgVWVmaUNwdVBrZy5kZWMgdG8gcGFzcyBEZXBlbmRlbmN5Q2hlY2sNCj4+ PiAgICBNZGVNb2R1bGVQa2cvRHhlSXBsOiBDcmVhdGUgcGFnZSB0YWJsZSBieSBDcHVQYWdlVGFi bGVMaWINCj4+PiAgICBNZGVNb2R1bGVQa2cvRHhlSXBsOiBSZW1vdmUgZHVwbGljYXRlZCBjb2Rl IHRvIGVuYWJsZSBOWA0KPj4+ICAgIE1kZU1vZHVsZVBrZy9EeGVJcGw6IFJlZmluZW1lbnQgdG8g dGhlIGNvZGUgdG8gc2V0IFBhZ2VUYWJsZSBhcyANCj4+PiBSTw0KPj4+DQo+Pj4gICBFbXVsYXRv clBrZy9FbXVsYXRvclBrZy5kc2MgICAgICAgICAgICAgICAgICAgICAgfCAgIDMgKystDQo+Pj4g ICBJbnRlbEZzcDJQa2cvVG9vbHMvVGVzdHMvUWVtdUZzcFBrZy5kc2MgICAgICAgICAgfCAgIDMg KystDQo+Pj4gICBNZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL0R4ZUlwbC5oICAgICAgICAg ICAgfCAgIDMgKystDQo+Pj4gICBNZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL0R4ZUlwbC5p bmYgICAgICAgICAgfCAgIDQgKysrLQ0KPj4+ICAgTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVp bS9JYTMyL0R4ZUxvYWRGdW5jLmMgIHwgMTEyDQo+Pj4gKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+PiArKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+PiAgIE1kZU1vZHVs ZVBrZy9Db3JlL0R4ZUlwbFBlaW0vWDY0L0R4ZUxvYWRGdW5jLmMgICB8ICAgNSArKystLQ0KPj4+ ICAgTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9YNjQvVmlydHVhbE1lbW9yeS5jIHwgNzEx DQo+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4gICBNZGVNb2R1bGVQa2cvQ29y ZS9EeGVJcGxQZWltL1g2NC9WaXJ0dWFsTWVtb3J5LmggfCAxODINCj4+PiArKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K Pj4+ICsrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo+Pj4gKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4gICBNZGVNb2R1bGVQa2cvTWRlTW9k dWxlUGtnLmNpLnlhbWwgICAgICAgICAgICAgICAgfCAgIDUgKysrLS0NCj4+PiAgIE1kZU1vZHVs ZVBrZy9NZGVNb2R1bGVQa2cuZHNjICAgICAgICAgICAgICAgICAgICB8ICAgMyArKy0NCj4+PiAg IE92bWZQa2cvQW1kU2V2L0FtZFNldlg2NC5kc2MgICAgICAgICAgICAgICAgICAgICB8ICAgMiAr LQ0KPj4+ICAgT3ZtZlBrZy9CaHl2ZS9CaHl2ZVg2NC5kc2MgICAgICAgICAgICAgICAgICAgICAg IHwgICAzICsrLQ0KPj4+ICAgT3ZtZlBrZy9DbG91ZEh2L0Nsb3VkSHZYNjQuZHNjICAgICAgICAg ICAgICAgICAgIHwgICAyICstDQo+Pj4gICBPdm1mUGtnL01pY3Jvdm0vTWljcm92bVg2NC5kc2Mg ICAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4+PiAgIE92bWZQa2cvT3ZtZlBrZ0lhMzIuZHNj ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArKy0NCj4+PiAgIE92bWZQa2cvT3ZtZlBr Z0lhMzJYNjQuZHNjICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQ0KPj4+ICAgT3ZtZlBr Zy9Pdm1mUGtnWDY0LmRzYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstDQo+Pj4g ICBPdm1mUGtnL092bWZYZW4uZHNjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIg Ky0NCj4+PiAgIDE4IGZpbGVzIGNoYW5nZWQsIDIwMCBpbnNlcnRpb25zKCspLCA4NDkgZGVsZXRp b25zKC0pDQo+Pj4NCj4+PiAtLQ0KPj4+IDIuMzEuMS53aW5kb3dzLjENCj4+Pg0KPj4+DQo+Pj4N Cj4+PiANCj4+Pg0KPj4+DQo=