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.1647.1682489292408157802 for ; Tue, 25 Apr 2023 23:08:12 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=N4SAaM3J; spf=pass (domain: intel.com, ip: 192.55.52.43, 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=1682489292; x=1714025292; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=B5N9LdY03vhkVJMZd6Z8ltz1j888g2tt5X0rQOJYReA=; b=N4SAaM3JzI1YWU9ehBrVLpzfwZ9VuIbQLOtc2cwoplC15JtNGtgpAovx uwAdUXBjwHLMqmKMYXSUCzCRvr8Ok5zL+jcaRV98RbqfAIawsrBDz5WTY /6wFUOC/0KL7kibpZpypo0e46FaFwhGnTNtFmvFqZbl3K/wMKuwXbnhv2 5hbsI6w+cHjX+2bCHA37OndYvJHYU8rOlIoCcKziAsg6NN/PB3YuDI7wv djLiA2B8mYyquSmgDmzQazx2ziiTRFR7mhFWwOp6/7/37LWqerhQrufoq JoRNzw4H0osWda4H19WjIIdYm0wk3iFOkrNWtYglA/D/MOgxsMffmLtOr g==; X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="433289647" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="433289647" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2023 23:08:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="687809146" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="687809146" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga007.jf.intel.com with ESMTP; 25 Apr 2023 23:08:11 -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.23; Tue, 25 Apr 2023 23:08:10 -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.23; Tue, 25 Apr 2023 23:08:10 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.23 via Frontend Transport; Tue, 25 Apr 2023 23:08:10 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.108) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Tue, 25 Apr 2023 23:08:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F1IN/alcFKm4JklhpWhPOXju7qwAmvxerantZ+HNH6Ab2ohMP0Yi1vXe/Cp4l7EKuVr2bVX8nfM5fIwlfIdbhTSyPy0JCo9URm5sSG3NTw7LIjqO7xSbS+dBGKuBR1m6v9MT6gxsqQxC9bUSFFzEDFsR1r+R2g842jZqZ66R1VkowAsIGaj8sf0uOMSYggdzvj3bFA//832PLimAeP/TGn7pU6NcZ0y4qpnJsLHOMvfp7iOeQDB5U75l2eRClwFwBxgtLlmdIoFizEY7RwitSxwKaMUnCwAK7IfF7Rc8xLHE2ErTr3ziTXA5S0ixLBKS2BpJjvwRw0SlDSrl9G4Lpw== 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=B5N9LdY03vhkVJMZd6Z8ltz1j888g2tt5X0rQOJYReA=; b=NTPizjQYtZriJ3vCRF6g6TawJ7EgvunEyRmLqhab16oS/PjGxzRwlHtOqFNYqzp+owpUHss8+lxGo3xsvLahKmwgDCQOl5DJrgM2K6dplMP/lUzdpRFO5rrDO0CLG+493a5PQV8kUAoxDBhSACcwvBsuq5BXoyvUH+6uc48/ESamzP8mGxPVd1WktIKn3HWmJo9zaxuk4ZRiqIfAGl6YhBOTn4osLB9LEFL0GMdHufG1nl+ugB5mbo+2e3NsF/Z1N6aiIBhgrvNvqRYp1rnbhILag8ANtAMkL27bdEojVj1LCDe/5nB0BKTb0cvuPJeAMSpKK5L/IYsThLHxUDPChg== 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 BL1PR11MB5255.namprd11.prod.outlook.com (2603:10b6:208:31a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.34; Wed, 26 Apr 2023 06:08:03 +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.6319.033; Wed, 26 Apr 2023 06:08:03 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "ardb@kernel.org" CC: "Kinney, Michael D" , "Tan, Dun" , "Liu, Zhiguang" Subject: Re: [edk2-devel] [Patch V3 0/8] Create page table by CpuPageTableLib in DxeIpl Thread-Topic: [edk2-devel] [Patch V3 0/8] Create page table by CpuPageTableLib in DxeIpl Thread-Index: AQHZdpRrM+m5EQlZEki+5Po3bo38kq86teYAgAAHyQCAAARfgIAAjlcggAD0VICAAMsncA== Date: Wed, 26 Apr 2023 06:08:02 +0000 Message-ID: References: <20230424100552.2718-1-dun.tan@intel.com> In-Reply-To: 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_|BL1PR11MB5255:EE_ x-ms-office365-filtering-correlation-id: 0fef5db4-4a58-4195-c014-08db461c97e0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mWp4BrMSYM7xeW3x+F0wDXbxdZ79LyWKPqjcQmrMovyGN91BZSLxwg6ypnK0aqRHuKwSdLlz+uDK/Vz0cCrpwOJtrNWAQRzLvruC6xpcOHuAUgGFD0Ywo667pCKl5zcCryxNJf1KhV3wjc+du52VJCGHUaKAjfHBh31z3p/0D1wz8JZZa4ubSW4wM2EnZqUOSbf1azuCv0yMggR0YyOu8EDHxErA42F1MsHs5MAKH5DlPiiV62xwV7aCMobjtV8SB4QQSuBoMjEmy7eIGiUJVt9MEvdMeoZpy4n2WxVcomDy+ZskqiDi6xOsOtQnwp54Adtxf5m9il3uZhS56A1BIdqN4KPsAR+B5/o38YkAPvcHAXWI47KuDIU67J3UFQyt19E1Y1hQ4fdEtSj7lb7l7gSYLnkCFMVhYM49ftGzd1h5cXYVw8J/518FeuY0W8FTHE62qwDO7GwWQ/zhIROlX7h8GYN7Ps+DZSzYeOhlCS4ry4TNhUw5YaHRmH5EtD6EA4hQFZltIK3CJ6gHEgFbySUrbQ/mVukl0/vRNujncIgKGTG3sdh3bmd5vd4ko4VcKUEgHDL4+7h/KPpebFCdk4IpquoHtdW58hVBcbrglIk5pfSoM+FNqdWViUbdmfcF7pEJwMtywkipeQCpGAUCEg== 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)(136003)(396003)(376002)(346002)(39860400002)(366004)(451199021)(110136005)(54906003)(38070700005)(66899021)(478600001)(86362001)(33656002)(38100700002)(41300700001)(122000001)(8676002)(8936002)(2906002)(4326008)(64756008)(55016003)(66556008)(66446008)(316002)(82960400001)(52536014)(76116006)(66946007)(107886003)(5660300002)(66476007)(186003)(26005)(6506007)(9686003)(966005)(83380400001)(7696005)(71200400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZzVpZENrNHYyYWFwVkF2LzdjOGUxeUtsVTVOOGNvWWJUTUZ6bWRqbWZhTFB0?= =?utf-8?B?dlBIZ1R5UDM3T0RNQzExdjlFYlZLNHB5TEJDOHlxUkNrUzZvZy82N2xIWW1r?= =?utf-8?B?UjZNTm42Wk5vY1FuMTB4L2p2eW4vUTBGT3lobDFBSHY1Z2FNWHlQbzgzNjB0?= =?utf-8?B?bXlXMVR5aHVTejdHbDNXcmxQRkpnTXBwYTgrS21hZGlwU3ZVczhudWpid2tv?= =?utf-8?B?YzhPQXY2eW5wY0U0RUhwYnVSalc4RjZqdGp1R1lUNTlLQUFFblp4d0V0WFFV?= =?utf-8?B?WlljaXdQNWh0aThtRTg0MzNnYnBQUFpEeG8zdk5UbnhzZjFNWjJlQWx5akY4?= =?utf-8?B?dlMwYWJMR1I0UTVucXpKZ1ZyR3BSRmtoNWZqaG1ObHJXc3pZR01zVVpuWm9H?= =?utf-8?B?REhZYWUwYjZPR2dnQTZwL3E5aDlvYksrSTdyS0RxNWErdGxXTEZOOXNiaFcy?= =?utf-8?B?NGNJWm9CWkFHUCtLWk1mNVRFUTZMQ2Vwak5JcEZYWmxIV2JaVXF5Vk1wNW14?= =?utf-8?B?Q29KUldpRXF3Y2FoaS8vSkJDVEdDdjliMUhEdnhvb3lGUVVnVjJLdkRBSkoz?= =?utf-8?B?SXFDOXJGbStBM2R2OXU5MytUWUR2STRybXp4ZEZsZDJGVDBXWkU4czlwbDlF?= =?utf-8?B?UDhFd0ZnVTdXUmg0cFpVRFo5QlVYVmgvUUR1Zmh0YlkxdGZaVCt6d3dUbml0?= =?utf-8?B?SVFna2ZGQU5HcnFsNGpTamI4L2hrVk1uZGI4NFBmQmo1WmcrdGtLcld1MGZR?= =?utf-8?B?MGxWWmF0YkxpcmRBMGtpYVJhUHo3RTFrTnJVeDl6UklzTTVnc21ieFVqVzAw?= =?utf-8?B?dHRxd0xHSXBOKzIvVnFJVlhQSmZ1MHdUVTRvaGFtNVp4cmZnNE85STlVR1Z6?= =?utf-8?B?S3U4Z0Q0cXcyUmNCU2RjUVZneWNkcWpSbHpkU3BwUEdBeDh0dU95UlVlK1lE?= =?utf-8?B?S2pJQ1h6RjFoaDR3dGIyUGxnUFpOampCNjE3K1FzVFFNbjZMaHp2aWE2YVBv?= =?utf-8?B?dVhYTi80d1Q5d3Z2cHIxZUZtbmt1TjY0UUt2NjI1MmYzSmgwaDVxMmwvSHJ3?= =?utf-8?B?RkxrT25BczFRRk44R3pQRzFPQnZEcll1WkgrWnE3UkZsTit6Nit3SG1xTEp2?= =?utf-8?B?SE5YRWtWV0w2V1hweVZmbGFGeWFzbXVPN0RHSSsrOUdFVEduTTROdUljZDda?= =?utf-8?B?QVQ3TTh5QnM4Zk1reGdKOXY4bGhmUXVqd0l5Y25mSmJqeGdJTWE3MEx4a0pO?= =?utf-8?B?OS81T014c2lzQVNhS0dFMFRJMk9vWlFVOUxMWk1yalkyOXVwS3FlcFdUYStW?= =?utf-8?B?eWQwaVVrUzl2STJabmdNN2xOVGp5cjJBR2JTaStiU2xROGJoSlRGaGoybE9X?= =?utf-8?B?U1pHcTYydVNlVWtRNUhDd2UvRmpWZzBOYXcwZ1o2VG5aSWNUNWhnRC9Yd2tX?= =?utf-8?B?SjhDSDcrMGt2aVhsUjNoM0pzcEpJa1dURHdhcjJkVWtnQ2FxOHFIU0YzSUkw?= =?utf-8?B?ZmsyRzlGVllZZ0RRQlJ6ZFhiNFNNRkVqZmpkM3hqU0h4SC9kVFY5emRXOVJK?= =?utf-8?B?MW1mY3k5MWhYbVhZVThuOHBWS0lsbzErMlRnZUEvcy9QSEJHZzQ5OVBScjNU?= =?utf-8?B?MythZmgrMWU0RWFvNS90UHh4enprSDFSQlJSR3V5b2xPM01kWi9udnhLVG5k?= =?utf-8?B?SGNvL2NOMGhZOGFMRGdEb0UrYksyZHdCWFhDRVI4YUcxUGovZ2xSelNQVFhq?= =?utf-8?B?NExoUFpGaHR0UytJMng5bEkyZXdnZUUxcUc0SVVuY0dTdlk3Zjl0dnkvb2Vw?= =?utf-8?B?emdJT2hnTTR1M1d1ODlFa1p0d29FeUIxd0k3Q05OZytzZnRleTBBK2lGa3FJ?= =?utf-8?B?REJnenhYU3Q4TmpVQkdZai9LZjhuVjFIV2RHUno1ZGh5MFZXRStBc084YWs0?= =?utf-8?B?dDArNkM3d1pwdzVhR0I0S0VaK0FBbkU1SEgwcVJKMjVnb2dQaFlmcWVnd2Fw?= =?utf-8?B?SlBxSjFsSjN5YmFYcktyK2lmWEFBY1lVRjQyWTlzUlVZY0xEZjRQeHc0ejVW?= =?utf-8?B?STVZWlhRQTl0YXorY2hTbDZGUzM4SWNTeWdhMGY3RnVEdTBhRjZ2ZWZtQjEz?= =?utf-8?Q?EyEw=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: 0fef5db4-4a58-4195-c014-08db461c97e0 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2023 06:08:02.4086 (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: Mamsn95cT4t5jR7b1PWL/mnhLVmG3eRHSzs9Ut326gve0flrFFXIXtw9uSwp2a+cMsljRZn4DXxwSAZQqpNXiw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5255 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 SSBjYW4gdGhpbmsgb2YgMyBvcHRpb25zOg0KMS4gQ3JlYXRlIE1kZU1vZHVsZVBrZy9IYW5kT2Zm VG9EeGVDb3JlTGliIGxpYiBjbGFzcy4gVWVmaUNwdVBrZyBpbXBsZW1lbnRzIHRoZSB0d28gaW5z dGFuY2VzIHN1cHBvcnRpbmcgMzIvNjRiaXQgUEVJLg0KMi4gQ3JlYXRlIE1kZU1vZHVsZVBrZy9Q cGkvRWRraWlNZW1vcnlBdHRyaWJ1dGUuaC4gVWVmaUNwdVBrZy9DcHVNcFBlaSBpbXBsZW1lbnRz IHRoZSBYODYgdmVyc2lvbiBvZiBNZW1vcnlBdHRyaWJ1dGUgUFBJLg0KICAgICAoQXMgd2hhdCBB cmQgZGlkIGluIEFybUNwdUR4ZSBkcml2ZXIuKQ0KICAgICBUaGUgTWVtb3J5QXR0cmlidXRlIFBQ SSBvbmx5IHN1cHBvcnRzIHRvIG1vZGlmeSB0aGUgbWVtb3J5IGF0dHJpYnV0ZSBpbiB0aGUgYWN0 aXZlIHBhZ2UgdGFibGUuIEl0IGNhbm5vdCBtb2RpZnkgdGhlICJmdXR1cmUiIHBhZ2UgdGFibGUN CiAgICAgd2hpY2ggaXMgdGhlIGNhc2UgRHhlSXBsL0lhMzIgY3JlYXRlcyBsb25nLW1vZGUgcGFn ZSB0YWJsZS4NCiAgICAgIFNvLCB0aGlzIG9wdGlvbiBjYW5ub3QgaGVscCBvbiBEeGVJcGwvSWEz Mi4gSSB3aWxsIGhhdmUgdG8ga2VlcCBEeGVJcGwvSWEzMiBjb2RlIHVuY2hhbmdlZCBhbmQgb25s eSBjbGVhbnVwIHRoZSBEeGVJcGwvWDY0IGJ5IGNhbGxpbmcgdGhlIG5ldyBQUEkuDQozLiBBIHNs aWdodCBkaWZmZXJlbnQgdmVyc2lvbiBvZiBvcHRpb24gIzI6IGNyZWF0ZSBNZGVNb2R1bGVQa2cv TWVtb3J5QXR0cmlidXRlTGliIGxpYiBjbGFzcyBpbnN0ZWFkIG9mIFBQSS4gSSB3b3VsZCBwcmVm ZXIgIzIuDQoNCg0KT3B0aW9uICMxIGhlbHBzIHRvIGNyZWF0ZSBzaW5nbGUgRHhlSXBsIFBFSU0g YnV0IGRvZXNuJ3QgaGVscCB0byBhYnN0cmFjdCBtZW1vcnkgYXR0cmlidXRlcyBjaGFuZ2luZyBp biB3aG9sZSBQRUkgcGhhc2UuDQpXaXRoIE9wdGlvbiAjMiwgbXVsdGlwbGUgRHhlSXBsIFBFSU1z IHN0aWxsIGV4aXN0IGZvciBkaWZmZXJlbnQgYXJjaHMuDQoNCkkgYW0gZmluZSB3aXRoIGVpdGhl ciBvcHRpb24gIzEgb3IgIzIgYmVjYXVzZSBlaXRoZXIgY2FuIGF2b2lkIE1kZU1vZHVsZVBrZyBk ZXBlbmRpbmcgb24gVWVmaUNwdVBrZy4NCg0KVGhvdWdodHM/DQoNCj4gPiA+DQo+ID4gPiBUaGUg cHJvYmxlbSBJIGhhdmUgaGFkIHRvIHdvcmsgYXJvdW5kIGluIG15IHN0cmljdCBwZXJtaXNzaW9u cyBzZXJpZXMNCj4gPiA+ICh3aGljaCBpbmNsdWRlcyB0aGUgbGlua2VkIHBhdGNoKSBpcyB0aGF0 IHRoZXJlIGlzIGEgd2luZG93IGZyb20gdGhlDQo+ID4gPiBtb21lbnQgRFhFIGNvcmUgaXMgZGlz cGF0Y2hlZCB1bnRpbCB0aGUgbW9tZW50IHRoZSBDUFUgYXJjaCBwcm90b2NvbA0KPiA+ID4gRFhF IGRyaXZlciBpcyBkaXNwYXRjaGVkIHdoZXJlIHdlIGRvbid0IGhhdmUgYW4gYXJjaGl0ZWN0dXJh bCBtZWFucyB0bw0KPiA+ID4gbWFuaXB1bGF0ZSBtZW1vcnkgcGVybWlzc2lvbnMuDQo+ID4gPg0K PiA+ID4gU28gd2hhdCB3ZSdkIG5lZWQgaGVyZSBpcyBhIGxpYnJhcnkgdmVyc2lvbiBvZiB0aGUg Zm9sbG93aW5nIG1ldGhvZA0KPiA+ID4NCj4gPiA+IHR5cGVkZWYNCj4gPiA+IEVGSV9TVEFUVVMN Cj4gPiA+IChFRklBUEkgKkVGSV9DUFVfU0VUX01FTU9SWV9BVFRSSUJVVEVTKSgNCj4gPiA+ICAg SU4gRUZJX0NQVV9BUkNIX1BST1RPQ09MICAgICAgICAgICAgICAqVGhpcywNCj4gPiA+ICAgSU4g IEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICAgICAgICBCYXNlQWRkcmVzcywNCj4gPiA+ICAg SU4gIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICBMZW5ndGgsDQo+ID4gPiAgIElO ICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlcw0KPiA+ID4gICAp Ow0KPiA+DQo+ID4gV2hhdCdzIHlvdXIgaWRlYSBoZXJlPw0KPiA+IEJlc2lkZXMgSGFuZE9mZlRv RHhlQ29yZSgpLCB5b3UgcmVxdWlyZSBhIDJuZCBsaWIgQVBJIGFzIGFib3ZlIGZvcg0KPiA+IGVh cmx5IERYRSBwaGFzZSBiZWZvcmUgQ1BVIEFQIGlzIGF2YWlsYWJsZT8NCj4gPg0KPiA+IFdoeSBk byB3ZSB3YW50IHRvIGNvbWJpbmUgdHdvIEFQSXMgaW50byBvbmUgbGliIGNsYXNzPw0KPiA+IElm IGNvbWJpbmVkLCB3aGF0IGxpYiBjbGFzcyBuYW1lIGRvIHlvdSB0aGluayBpcyBwcm9wZXIgdG8g ZGVzY3JpYmUgdGhlIGxpYg0KPiBwdXJwb3NlPw0KPiA+DQo+ID4gSXQgc2VlbXMgdG8gbWUgbGFj a2luZyBvZiBDUFUgQVAgaW4gZWFybHkgRFhFIHBoYXNlIGlzIGFja25vd2xlZGdlZCBieSBQSQ0K PiBzcGVjLg0KPiA+IEhhdmluZyB0aGUgMm5kIEFQSSBmb3IgRFhFIGVhcmx5IHBoYXNlIGlzIGxp a2UgYSB3b3JrYXJvdW5kIHRvIGZpeCBQSSBzcGVjDQo+IGdhcCwgZG8geW91IHRoaW5rIHNvPw0K PiA+DQo+IA0KPiBQZXJoYXBzLiBNYXliZSB0aGUgcHJvYmxlbSBoZXJlIGlzIHRoYXQgdGhlcmUg c2V0dGluZyBtZW1vcnkNCj4gcGVybWlzc2lvbnMgaXMgbm90IHBhcnQgb2YgdGhlIFBFSSBDUFUg YXJjaCBwcm90b2NvbC4gSXQgd291bGQgbWFrZQ0KPiBzZW5zZSBmb3Igc2hhZG93ZWQgUEVJTXMg YXMgd2VsbCBhcyB0aGUgRFhFIGNvcmUgdG8gYmUgbWFwcGVkIHdpdGgNCj4gc3RyaWN0IHBlcm1p c3Npb25zIGF0IGRpc3BhdGNoIHRpbWUgKGlmIHRoZSBzZWN0aW9uIGFsaWdubWVudCBwZXJtaXRz DQo+IGl0KS4gRm9yIFhJUCBQRUlNcywgbm90aGluZyB3b3VsZCBjaGFuZ2UsIGFuZCBpZiBQRUkg ZXhlY3V0ZXMgaW4gcGxhY2UNCj4gZnJvbSBEUkFNLCB0aGUgd2hvbGUgRlYgY2FuIGJlIG1hcHBl ZCByZWFkLW9ubHkuDQo+IA0KPiBPciBwZXJoYXBzIHRoaXMgc2hvdWxkIGJlIGEgc2VwYXJhdGUg UFBJIGFsdG9nZXRoZXIsIGFuZCB3ZSBjb3VsZA0KPiBkZWZpbmUgaXQgYXMgb25lIHRoYXQgaXMg Y2FsbGFibGUgZnJvbSBEWEUgY29yZSBpZiB0aGUgQ1BVIGFyY2gNCj4gcHJvdG9jb2wgaGFzIG5v dCBiZWVuIGRpc3BhdGNoZWQgeWV0Lg0KPiANCj4gSSBkb24ndCByZWFsbHkgY2FyZSB3aGV0aGVy IG9yIG5vdCB3ZSBhZGQgdGhpcyB0byB0aGUgUEkgc3BlYyB0YmgNCj4gDQo+ID4gPg0KPiA+ID4g Kkhvd2V2ZXIqLCBJIGFtIGF3YXJlIHRoYXQgdGhlIFg4NiBEWEUgSVBMIGNvZGUgZGV2aWF0ZXMg ZnJvbSB0aGlzLCBhcw0KPiA+ID4gaXQgbmVlZHMgdG8gYnVpbGQgbG9uZyBtb2RlIGNvbXBhdGli bGUgcGFnZSB0YWJsZXMgYmVmb3JlIHN3aXRjaGluZw0KPiA+ID4gZnJvbSBJQTMyIHRvIFg2NCwg cmlnaHQ/DQo+ID4NCj4gPiBEWEVJUEwgY3JlYXRlcyBsb25nIG1vZGUgcGFnZSB0YWJsZSB3aXRo IGZvbGxvd2luZyBjaGFyYWN0ZXJpc3RpY3M6DQo+ID4gKiAxOjEgbWFwcGluZyB0byBjb3ZlciB0 aGUgZW50aXJlIG1lbW9yeSBzcGFjZQ0KPiA+ICogU2V0IHRoZSBib3R0b20gNEsgb2YgQlNQIHN0 YWNrIGFzIG5vdC1wcmVzZW50IC0gcHJldmVudCBzdGFjayBvdmVyZmxvdw0KPiA+ICogU2V0IHRo ZSBlbnRpcmUgQlNQIHN0YWNrIGFzIE5YIC0gcHJldmVudCBidWZmZXIgb3ZlcmZsb3cgYXR0YWNr DQo+ID4gKiBTZXQgdGhlIFswLTRrXSByZWdpb24gYXMgbm90LXByZXNlbnQgLSBudWxsIHByb3Rl Y3Rpb24NCj4gPg0KPiA+IEJ1dCBpdCBkb2Vzbid0IHNldCBEeGVDb3JlIGNvZGUgcmVnaW9uIGFz IFJPLCBvciBkYXRhIHJlZ2lvbiBhcyBOWC4NCj4gPg0KPiA+IEkgZGVzY3JpYmUgdGhlIFg4NiBE WEVJUEwgcGFnZSB0YWJsZSBiZWhhdmlvciBhcyBhYm92ZS4gQmVjYXVzZSBJIGhvcGUNCj4gPiB5 b3UgY291bGQgZXhwbGFpbiBhIGJpdCBtb3JlIG9uIHlvdXIgdGhvdWdodHMuIEkgZG9uJ3QgcXVp dGUgdW5kZXJzdGFuZA0KPiA+IHlvdXIgYWJvdmUgd29yZGluZ3MuDQo+ID4NCj4gDQo+IEkgZ3Vl c3MgdGhlIGxvbmcgbW9kZSBzd2l0Y2ggaXMgc3VmZmljaWVudGx5IHNwZWNpYWwgdGhhdCBpdCB3 aWxsIGJlDQo+IHZlcnkgaGFyZCB0byBkZWZpbmUgYSBzYW5lIEFQSSB0aGF0IGNvdmVycyBhbGwg b2YgdGhpcy4gT1RPSCwgaXQgc2VlbXMNCj4gbGlrZSBhIG1pc3NlZCBvcHBvcnR1bml0eSB0byBy ZWx5IG9uIERYRSBJUEwgdG8gY3JlYXRlIGFsbCB0aGVzZQ0KPiByZXN0cmljdGVkIG1hcHBpbmdz LCBhbmQgaW52ZW50IHNvbWV0aGluZyBjb21wbGV0ZWx5IG5ldyBqdXN0IHRvIHJlbWFwDQo+IHRo ZSBEWEUgY29yZSB0ZXh0IGFuZCBkYXRhIHNlY3Rpb25zIFJPIC8gWFAuIEFuZCBub3RlIHRoYXQs IGZvciBhcm02NCwNCj4gdGhpcyBzaG91bGQgb2NjdXIgYmVmb3JlIHRoZSBjb2RlIGlzIGFjdHVh bGx5IGNhbGxlZCwgc2luY2UgdGhlDQo+IHJlc3RyaWN0ZWQgbW9kZSB3ZSB3b3VsZCBsaWtlIHRv IGVuYWJsZSBmb3IgRURLMiBkb2VzIG5vdCBwZXJtaXQNCj4gbWVtb3J5IHRoYXQgaXMgYm90aCB3 cml0YWJsZSBhbmQgZXhlY3V0YWJsZSBhdCBhbGwuDQo+IA0KPiANCj4gDQo+IA0KDQo=