From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web10.1784.1616634631221173067 for ; Wed, 24 Mar 2021 18:10:31 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=NTwEargz; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: ray.ni@intel.com) IronPort-SDR: 3a6h7ciDIFQhLUe9VuzrhP3+IT8auC6ShdhDE3wfQ0ygxPy7qztDF2vwMMaeDV70jXA7xqNbAe MivR2TPrl1pw== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="187522324" X-IronPort-AV: E=Sophos;i="5.81,276,1610438400"; d="scan'208";a="187522324" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2021 18:10:30 -0700 IronPort-SDR: V+Z2uyIJSCOOjoCmx+ZyQGxJIFl0L95XBsSnTyPdWEuBYMeGVekLlXLWtmybHm/pQ6b6hWrMN+ KPT6SU5u44dA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,276,1610438400"; d="scan'208";a="382006304" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by fmsmga007.fm.intel.com with ESMTP; 24 Mar 2021 18:10:30 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 24 Mar 2021 18:10:29 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 24 Mar 2021 18:10:28 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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 via Frontend Transport; Wed, 24 Mar 2021 18:10:28 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Wed, 24 Mar 2021 18:10:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zko3lrDryuMUOg+Ye0DovPuv6as5ORTAOMUGPSlf+qW7Zlb6QE+mMLNLHfPng7KEzUOTN+lV9rUckLsBwreDkAXwLuFxXRbQdkha0bCyfRJOByEN05j/4rs9m3UT+R9d9vtw0ohFojWBHefBnnUJuvsang3mb7cKIeLyhkfXVytyoi0oKCeAtpUlTuzaSYU5sWkkUk2n3xuhtd2S/ZDCOWbczFxRyRSFf8d4XSH1d9Cvrx8CObGBV91C1SK3rAdiknj91zr/923ta59klmiRdDHvDDm++iA7MDst6cCi6zBTmxhdSR/2BBwzUjmspZzky68mhDSJnqiXtM8mF+trZw== 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=oqJgTlmJADrfrqG6tju8T8/sD4b6ywMN6mp3D1jsafs=; b=DfodPcCMOx+nRIvY8mWe9qqa8jwc5uDyaZdoS7wJsz4H91c1y8FSNnp5bJDk/Z7C2bjS+KV+AvYWCkQO4+lSrE51lprCARvM1SV9YwNfozmPM1ml6rtvfQ8VRu7xNqEy5en6hOs81/dY1SR/j40oUkozlagXIBKOnFje8GVrAXm7B1yni+LPuRLfNCmTBJan3GxpPQIeLjdMbut9aneNc8BHyN7Ux8XlHMKwbrSj/ye2VlnH+6ysewbR8801tDg5BvkePBfBW5OwVGq0S/k6DNf8d7e4GOazcvhGMaN0lgyLXk2febBdSnW9/0kmXePAr+mHz0gd/jEMwnzz7gbebA== 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=oqJgTlmJADrfrqG6tju8T8/sD4b6ywMN6mp3D1jsafs=; b=NTwEargzd9PNI3GQglhjosATgY6zXEWKynTRWmPWyfermNSsf9bvi8yBTx2pP7TDIo6ulfs23KTiM6Vo1u48WnyENKsZHffLXwhPOJhwV8ynzFz66kRm5K7zTWszJ+W+v2p06lT8TSbdR3tKHQIn4tjNIy1nR9Cnz9AQu/iKM7g= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by CO1PR11MB4964.namprd11.prod.outlook.com (2603:10b6:303:9e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.24; Thu, 25 Mar 2021 01:10:25 +0000 Received: from CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::8d64:91ed:c259:e95]) by CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::8d64:91ed:c259:e95%7]) with mapi id 15.20.3977.025; Thu, 25 Mar 2021 01:10:25 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "lersek@redhat.com" , Benjamin Doron Subject: Re: [edk2-devel] [Patch V2 0/2] Let AcpiTableDxe driver install Acpi table from Hob Thread-Topic: [edk2-devel] [Patch V2 0/2] Let AcpiTableDxe driver install Acpi table from Hob Thread-Index: AQHXH6MuKmDiE1g/vES5qIAg1KwXHaqRhB8AgAFj2oeAAHW8AIAAG0oAgABrE7A= Date: Thu, 25 Mar 2021 01:10:25 +0000 Message-ID: References: <8ecc6ec1-f7a0-7878-ef57-b58f99bc3af2@redhat.com> <8402.1616604928827766426@groups.io> <2e602df8-b1fc-193b-f61a-86802ace9108@redhat.com> In-Reply-To: <2e602df8-b1fc-193b-f61a-86802ace9108@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [124.77.195.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b366f036-7f8c-43c4-8b80-08d8ef2ac59a x-ms-traffictypediagnostic: CO1PR11MB4964: 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: AKqSaYcZjFUXOmfLszXmoEP3x6+XkbPj+x5LSgzfNTrMe7gVfey9QWxrg6PKxJZLgFlKibf3+GHx1/lNP6/Wktg1+9dO25nsoAm1dBLKSjoRqesRCdWGOMq5VM9I+pfnEf/DR1JRnR7FCOewHYKAEhGsI9Oi/bikZNXN4T2hK//tlacfNJ66eeELEN42o2MufRqpJeHSbrg2Br4uOt/Grug9DEDlIKE/EBNlOtwJVBmZU8+eKdm2RP8pBy+XBY4hziM45N/qI46l1ba5p4HvPcMPc7XE4OuOJusu8mikx47YfvVlCAWk5GPqEP3Jr5xZXuEvv7hwpMmbjg4hZuuZA+XKWMER8ZqlMWikgrNsy3QfjI5RFxVED2fuedpdOigHztkftGlYV7gKqKnC4kDeLPANK03oeZfr0eYm90ZQ8CfoEtkirlCcvDBUs59n80WOrEmzMxvNN5r3URbyeXParyLrVRdrjKqRJAqSU+er1OGye/13TR5aqZfeVYoHn1ABMT1XXeosSHDDZwtCtDsCxMadKxfz/Cr141ziNpOb72Q+US8K1ctlXyY82l5raj01h7WVKH2tMxyKrO4swodHyC9wvGwt7qtLPUoXEhBDqWeK3Sv/8lYJlHQMOEU90gV5L/rczxj9Aa/GulfYuveLGB5ATLWuemflyxYkowVEGKAT4C1p2yEncsT4n8hbYuFGMxABx6qZQJmiyeGzuMDo1qoK1FO4hEZEvf6eIkRYkBaMH5fd9tgdgo8WEjQiI41Z x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4930.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(366004)(376002)(39860400002)(346002)(86362001)(2906002)(6506007)(33656002)(9686003)(38100700001)(55016002)(186003)(64756008)(52536014)(66446008)(66556008)(66476007)(8676002)(76116006)(26005)(8936002)(66946007)(83380400001)(5660300002)(71200400001)(110136005)(966005)(316002)(53546011)(7696005)(478600001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?MTIzUit0UFZKQ3ZONTVwVHhKbjB3eklJTkhKd3AwUHFhVHJybzJXVFdiUE9I?= =?utf-8?B?L1JFbndra0pwbDRwZkxnZGVYZTU4a2U1Qnd3VnRZOXRDK2VhV1VSUVhnVVZI?= =?utf-8?B?c0NmdDRYL2JKNitYbGxXT3N3VzRkRzhrcmpxZHphMUxtTnhNVDJxOHNza21j?= =?utf-8?B?cWU0RzVubnhBWTFBRGxqL2dIZGM5YlJsZVYrOStld1ZjelliaHR2SmpZYVZD?= =?utf-8?B?eTB2V2dTeXV5a3ZUVjRObGxiTkp6OXJ3T1RXR09tcm9sUG1lSEVCVitxeHhN?= =?utf-8?B?L0w3MEhwOUlMa1VNRlVCa0x1dHluN1QrcTN1dzlpR0ZrSHdGbXkwWXlUd2J0?= =?utf-8?B?dVNOV2d1M0dNbkEwbXVwdmJXaEVuOEJyTnFvaE5ZZmwydVBUUHZydGRmN1o0?= =?utf-8?B?L25IT0I1UjRpYVlFcGNNdEloYmlzV2NzQVZKNGVxUXlMMGorUU5CbmFHQ05z?= =?utf-8?B?UHVob0pRQlhjY0EwSXl2Tzk1aFVwdWRzVHpMbmc2QnFzVVh6ZzFPNEk1YlJk?= =?utf-8?B?M2V4ZFhHVWFSK1lvSVBVNGliQWVGRWFtWE9nekVpSFpHd3l0NlVmcFQ3azQx?= =?utf-8?B?RHhTUStGNUlIWGlLam9DWWhhRjVkb21zTW5jV3lXcExSY1RFNjZjNTc1YU0x?= =?utf-8?B?MU1aTEJtUE9Fcnh0Vk1DWDZXK0laWXJoOTlkR09Na0s0Qjd0bWIzMlVkd09a?= =?utf-8?B?ZW1DaXJjMHhvc01OQVo3alRpcklLOUlxQ3N0NVdOZHRzRlZzZzBHZGk4NVI0?= =?utf-8?B?bEw0ZUljb3poYTV2SUZMcnBlMlRScFdyYjIxaFNXNDVOMjVVUko4cVhscjFl?= =?utf-8?B?ZTdSeDRzZE9aRjlrVGR4VVJQWjhWZVg3a0VjU1lkRkt4SzM0dHc4SjZVbW5v?= =?utf-8?B?V0pkODlFVlhnZTRDOFBVTFozZ1RDcUVrZ3lxMUFRRGxjRGt0RE1IZ1JNUGZZ?= =?utf-8?B?eFlLLzJDYlFkejBoYWhnYVlXbGUrQ2l0RXk2Qnd3bnRHR3pxcmQrRmxoa01Z?= =?utf-8?B?RzZrZ1UwK2ZFVm9uaS8rMTVzNTZKQlExeW9BNHR2QXJlSk1qbnlSQmpZWmVI?= =?utf-8?B?ZzRRSmRZU3BzRHhpN3lIbFNyQTJJcjM0MmwyR0NIUXB3VmlaTjA2RU8xVFcr?= =?utf-8?B?Nm1kMi9YNWhlbW1SZ1BqYlIrdHlBUElQempLa1RFdENBbTdJM0ozaFBTbVVk?= =?utf-8?B?RnZRSys2STFaaEdkR0VsQmhVNGU3LzArWFVNMjF1QmlTUUw3VjhSY0RFVmNN?= =?utf-8?B?YU8yTW5BSTdmU1B5aXF2QVF3RTkyNHdWaVZJend1dUlTZ3BZaGhsOHVESzAz?= =?utf-8?B?VjI2a29MVU13OGR2S3gxUEhtelMwRTc0U0xxdkVSeFU4cHI5M1Y3dWJ5T0ZB?= =?utf-8?B?YTFkNzljK2FpNklQRkJuQjhYQktEZmxlckxabmNRZkMwYUE2TXlVYlVCS1JZ?= =?utf-8?B?SzlFRTVJNEFndWZ6N0doaFE4REQ3d2cxN3FIanNHTERSVjY3aHJseXhpVWJV?= =?utf-8?B?b0ZrU3F5R0tqSGdvclR2WEhEY21YbXZXZVduM0ZCdm5hbThEeGk0WW5Ndi9O?= =?utf-8?B?c2JUeDhqcjllZTZtbml0QXFjOUI2OS9YaEhkMnY2YWFocTFoU2N0VVlZb011?= =?utf-8?B?U0ovOTNORkE0WDhyblVJekVpN2oxekZDczE1bUtkUVV1ZEYyajNnUms5Ym9Z?= =?utf-8?B?VkFyZ1JSaU1TNFAxZTdDQTd2dy94NnJwQUZDS1h3WG1MNWcxK1RENmI3Wko0?= =?utf-8?Q?0QM8NecyIcT79zpzgYQ4Obyvd+CFAQS/RU7o9en?= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4930.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b366f036-7f8c-43c4-8b80-08d8ef2ac59a X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2021 01:10:25.3241 (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: yH2Q/2iIfiXEPqlmO/rlmgsiNmUun38oJe1nm4YKcakbcFDYNq5XS6f3xbDg+G7AcCJ+0cZvJp7P44ANBbMP1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4964 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 QmVuLA0KSSB1bmRlcnN0YW5kIHlvdXIgcG9pbnQuDQpUaGUgcHVycG9zZSBvZiBjaGFuZ2luZyB0 aGUgQWNwaVRhYmxlRHhlIHRvIGRpcmVjdGx5IGNvbnN1bWUgdGhlIEhPQiBpcyB0byByZWR1Y2Ug dGhlIG92ZXJhbGwgc3lzdGVtIGNvbXBsZXhpdHkuDQpUaGUgY29tcGxleGl0eSBJIHNlZSB3aXRo IHlvdXIgb3B0aW9uIGlzOg0KMS4gcGxhdGZvcm0gbmVlZHMgdG8gaW5jbHVkZSB0aGF0IGRyaXZl ciB0byBjb25zdW1lIHRoZSBBQ1BJIHRhYmxlIGZyb20gYm9vdGxvYWRlcg0KMi4gdGhhdCBkcml2 ZXIgKGNvbnN1bWUgSE9CIGFuZCBpbnN0YWxsIHRhYmxlIHRocm91Z2ggQWNwaVRhYmxlIHByb3Rv Y29sKSBuZWVkcyB0byByZWdpc3RlciBhIHByb3RvY29sIG5vdGlmaWNhdGlvbiBvbiBBY3BpVGFi bGUgcHJvdG9jb2wgYW5kIGRvIHRoZSB0YWJsZSBpbnN0YWxsYXRpb24gaW4gdGhlIGNhbGxiYWNr Lg0KDQpMYXN6bG8sDQpUaGUgY2hhbmdlIGhlcmUgaXMgdG8gbWVldCB0aGUgcmVxdWlyZW1lbnQg dGhhdCBib290bG9hZGVyIHByb3ZpZGVzIHRoZSBBQ1BJIHRhYmxlLg0KSW4gT1ZNRiBjYXNlLCBp dCdzIG5vdCB0aGUgYm9vdGxvYWRlciBidXQgdGhlIHZpcnR1YWwgaGFyZHdhcmUgd2hvIHByb3Zp ZGVzIHRoZSBBQ1BJIHRhYmxlLg0KSSBjYW4gc2VlIHRoZSBzaW1pbGFyaXR5IGJldHdlZW4gdGhl IHR3bzogdGhlIEFDUEkgdGFibGUgaXMgcHJvZHVjZWQgYmVmb3JlIHRoZSBVRUZJIFBheWxvYWQg cnVucy4NCkNhbiB5b3UgcmV2aWV3IHRoZSBuZXcgb3B0aW9uIGJlbG93IGFuZCBzZWUgd2hldGhl ciBpdCBjYW4gbWVldCB0aGUgT1ZNRiBuZWVkcyBhcyB3ZWxsPw0KMS4gRGVmaW5lIGEgbmV3IEdV SUQgZ1BsZEhvYkFjcGlUYWJsZSBpbiBNZGVNb2R1bGVQa2cuZGVjIGFuZCBhIHN0cnVjdHVyZSBh cyBiZWxvdyBpbiBNZGVNb2R1bGVQa2cvSW5jbHVkZS9HdWlkL0FjcGkuaC4NCnR5cGVkZWYgc3Ry dWN0IHsgDQogICBVSU5UNjQgICAgICAgICAgICAgICAgICBUYWJsZUFkZHJlc3M7DQp9ICBQTERf SE9CX0FDUElfVEFCTEU7DQoyLiBDaGFuZ2UgQWNwaVRhYmxlRHhlIGRyaXZlciB0byBjb25zdW1l IHRoZSBIT0INCjMuIFJlbW92ZSBTWVNURU1fVEFCTEVfSU5GTy4gQWNwaVRhYmxlQmFzZS9BY3Bp VGFibGVTaXplLg0KNC4gUmVtb3ZlIHRoZSBCbFN1cHBvcnREeGUgY29kZSB0aGF0IGNvbnN1bWUg dGhlIEFDUEkgdGFibGUgaW4gU1lTVEVNX1RBQkxFX0lORk8uDQoNCg0KPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5n cm91cHMuaW8+IE9uIEJlaGFsZiBPZiBMYXN6bG8gRXJzZWsNCj4gU2VudDogVGh1cnNkYXksIE1h cmNoIDI1LCAyMDIxIDI6MzMgQU0NCj4gVG86IEJlbmphbWluIERvcm9uIDxiZW5qYW1pbi5kb3Jv bjAwQGdtYWlsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IFN1YmplY3Q6IFJlOiBbZWRr Mi1kZXZlbF0gW1BhdGNoIFYyIDAvMl0gTGV0IEFjcGlUYWJsZUR4ZSBkcml2ZXIgaW5zdGFsbCBB Y3BpIHRhYmxlIGZyb20gSG9iDQo+IA0KPiBPbiAwMy8yNC8yMSAxNzo1NSwgQmVuamFtaW4gRG9y b24gd3JvdGU6DQo+ID4+DQo+ID4+DQo+ID4+PiBIaSBhbGwsDQo+ID4+PiBXb3VsZCBpdCBiZSBh Y2NlcHRhYmxlL2ZlYXNpYmxlIGZvciBBY3BpVGFibGVEeGUgb3IgQWNwaVBsYXRmb3JtRHhlIChp bg0KPiA+Pj4gTWRlTW9kdWxlUGtnKSB0byB1c2UgYEVmaUdldFN5c3RlbUNvbmZpZ3VyYXRpb25U YWJsZWAgdG8gZ2V0IHRoZSBSU0RQDQo+ID4+PiBhbmQgdGhlbiBpbnN0YWxsIHRoZSB0YWJsZXM/ IEl0J3MgYSBzb2x1dGlvbiB0aGF0IHVzZXMgdGhlIHJlZ3VsYXINCj4gPj4+IFVlZmlMaWIsIHNv IGl0IGF2b2lkcyBwbGF0Zm9ybS1zcGVjaWZpYyBxdWlya3MgKGFuZCBhcyBJIHNlZSBpdCwgaWYg UlNEUA0KPiA+Pj4gaXMgaW4gdGhlIGNvbmZpZ3VyYXRpb24gdGFibGUsIHdlIHByb2JhYmx5IGFs d2F5cyB3YW50IHRob3NlIHRhYmxlcykuDQo+ID4+DQo+ID4+IEknbSBzb3JyeSwgSSBkb24ndCB1 bmRlcnN0YW5kIGhvdyB0aGlzIHdvdWxkIGhlbHAuDQo+ID4NCj4gPiBBcyBJIHVuZGVyc3RhbmQg aXQsIHRoZSBpc3N1ZSBpcyB0aGF0IHRoaXMgcGF0Y2hzZXQgY2hhbmdlcyBNZGVNb2R1bGVQa2cg dG8gZG8gcGxhdGZvcm0tc3BlY2lmaWMgcGFyc2luZy4NCj4gPg0KPiA+IFBlcmhhcHMgaXQgd291 bGQgYmUgYW4gYWNjZXB0YWJsZSBzb2x1dGlvbiBmb3IgcGxhdGZvcm1zIHRvIHJldHJpZXZlIHRo ZSB0YWJsZXMsIHRoZW4gYWRkDQo+ID4gUlNEUC90aGVtIHRvIHRoZSBjb25maWd1cmF0aW9uIHRh YmxlIHRvIGJlIGluc3RhbGxlZCBieSBBY3BpVGFibGVEeGUvQWNwaVBsYXRmb3JtRHhlLg0KPiA+ IFRoaXMgYWxsb3dzIE1kZU1vZHVsZVBrZyB0byBhYnN0cmFjdCBhd2F5IHRoZSBwYXJzaW5nLCBv bmx5IGluc3RhbGxpbmcgdGFibGVzDQo+ID4gYXZhaWxhYmxlIHRvIGl0Lg0KPiANCj4gQnV0IHRo aXMgaXMgYWxyZWFkeSB0aGUgYmVzdCBhcHByb2FjaCwgYW5kIGFscmVhZHkgd2hhdCdzIGhhcHBl bmluZyAtLQ0KPiB3aGVuIHlvdSBjYWxsIEVGSV9BQ1BJX1RBQkxFX1BST1RPQ09MLkluc3RhbGxB Y3BpVGFibGUoKSBmcm9tIHRoZQ0KPiBwbGF0Zm9ybSdzIEFjcGlQbGF0Zm9ybUR4ZSwgdGhhdCdz ICpob3cqIHlvdSB0ZWxsIEFjcGlUYWJsZUR4ZSBpbg0KPiBNZGVNb2R1bGVQa2cgdG8gcGljayB1 cCB0aGUgdGFibGUgYW5kIGhvb2sgaXQgaW50byB0aGUgUlNEVCAvIFhTRFQgLw0KPiB3aGVyZXZl ciwgYW5kIGFsc28gdG8gbWFuYWdlIFJTRCBQVFIgYXMgYSBVRUZJIGNvbmZpZ3VyYXRpb24gdGFi bGUuDQo+IA0KPiBBcmUgeW91IChtb3JlIG9yIGxlc3MpIHByb3Bvc2luZyBhIG5ldyBFRklfQUNQ SV9UQUJMRV9QUk9UT0NPTCBtZW1iZXINCj4gZnVuY3Rpb24gZm9yIHRha2luZyBhIGZvcmVzdCBv ZiBBQ1BJIHRhYmxlcywgcGFzc2VkIGluIGJ5IFJTRCBQVFI/DQo+IA0KPiBTb3JyeSBhYm91dCBi ZWluZyBkZW5zZS4gOikNCj4gDQo+ID4gKEN1cnJlbnRseSwgVWVmaVBheWxvYWRQa2cncyBCbFN1 cHBvcnREeGUgcmV0cmlldmVzIHRoZSBkYXRhIGZyb20gYSBIT0IgYW5kIGNhbGxzDQo+ID4gYGdC Uy0+SW5zdGFsbENvbmZpZ3VyYXRpb25UYWJsZWAgd2l0aCB0aGUgYWRkcmVzcyBvZiBSU0RQKS4N Cj4gPg0KPiA+IEkgdW5kZXJzdGFuZCB0aGF0IHRoaXMgbWF5IG5vdCB3b3JrIGZvciBPVk1GIGlm IHRhYmxlcyBhcmUgbG9jYXRlZCBkaWZmZXJlbnRseSBpbiBtZW1vcnkuDQo+ID4NCj4gPj4NCj4g Pj4NCj4gPj4+IFJlZ2FyZGluZyBVZWZpUGF5bG9hZFBrZzogQWNwaVRhYmxlRHhlIGlzIGN1cnJl bnRseSBjb21waWxlZCAobGlzdGVkIGluDQo+ID4+PiBEU0MpIGJ1dCBub3QgYWRkZWQgdG8gYSBG ViAobm90IGxpc3RlZCBpbiBGREYpLiBTbywgaG93IGhhcyB0aGlzIGJlZW4NCj4gPj4+IHRlc3Rl ZD8NCj4gPj4NCj4gPj4gSSBhc3N1bWUgdGhyb3VnaCBhbiBvdXQtb2YtdHJlZSBwbGF0Zm9ybS4g TWFueSBzdWNoIGNvcmUgbW9kdWxlcyBleGlzdA0KPiA+PiBpbiBlZGsyIHRoYXQgYXJlIG5vdCBj b25zdW1lZCBieSBhbnkgb2YgdGhlIHZpcnR1YWwgcGxhdGZvcm1zIGluIHRoZQ0KPiA+PiBlZGsy IHJlcG8gaXRzZWxmIChFbXVsYXRvclBrZywgQXJtVmlydFBrZywgT3ZtZlBrZykuDQo+ID4NCj4g PiBUaGlzIG1ha2VzIHNlbnNlLCBidXQgQWNwaVRhYmxlRHhlIG11c3QgYmUgYWRkZWQgdG8gVWVm aVBheWxvYWRQa2cncyBGREYNCj4gPiBpZiBwYXRjaCAyLzIgaXMgbWVyZ2VkLiBPdGhlcndpc2Us IEFDUEkgdGFibGVzIHdpbGwgbm90IGJlIGFkdmVydGlzZWQuDQo+ID4NCj4gDQo+IEdvb2QgcG9p bnQ7IEkgbWlzc2VkIHRoYXQuIChJJ20gbm90IGZhbWlsaWFyIHdpdGggdGhlIFVlZmlQYXlsb2Fk UGtnIEZERg0KPiBhdCBhbGwuKQ0KPiANCj4gTGFzemxvDQo+IA0KPiANCj4gDQo+IA0KPiANCg0K