From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web11.185161.1673915749727455826 for ; Mon, 16 Jan 2023 16:35:49 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=UEB2cH1U; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: min.m.xu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673915749; x=1705451749; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=e+opewROvrYorlDRMchsVCweaBB/gKyipMQwkW3PUzg=; b=UEB2cH1UMV/0H6ww5J4tC48CbpFfiea0zpd5WXhySe7Vd2GKtu+jW0XH 1YbuXBKKKRyiV4BXB4nzpbJd4w7cIicKmXxGLZv7tGXLSMwaRfruPFFEn SYvgwk542TjFghWkmBXaK60RJiJsu/kBMa1etmgiTY0yaYSrPOqZAk11H 8Q85JPp8/jICLUHDm/5dBF/Zq4xNzfHQ/4uv1n7DsVHLeRRrbfN4TmQSs gNERdXWrFZz+JHeQbhIDx0el0CO1UXGdbA0L75dnChAOwcbumwlu/aAX9 TAPcAw6pWV/RLcVj/Ye/pUu1w6QQwCPU4sH1hO3MGP37QsLYBPZGZw0Tp A==; X-IronPort-AV: E=McAfee;i="6500,9779,10592"; a="308140971" X-IronPort-AV: E=Sophos;i="5.97,222,1669104000"; d="scan'208";a="308140971" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jan 2023 16:35:48 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10592"; a="722467944" X-IronPort-AV: E=Sophos;i="5.97,222,1669104000"; d="scan'208";a="722467944" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga008.fm.intel.com with ESMTP; 16 Jan 2023 16:35:48 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Mon, 16 Jan 2023 16:35:48 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.2507.16; Mon, 16 Jan 2023 16:35:47 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Mon, 16 Jan 2023 16:35:47 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Mon, 16 Jan 2023 16:35:47 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=feOG0kGChQNEhCZbikJnFPWjCZidtp0ZHu6KOLC9tbLpM9KqjxmGeI5YJU8fotW8dq7duishfn8pUOiEURHd2tlmWbP2SEmKXzge5brMwM/yrJbLohonOrv0VRltrz8Qs1J+8W46MD4hj5tMSmUe6L0PVqDiIihTZcQakCDwRcuFQja50JxZYB/KOcwKFt8BTFgK/UBEfJTF0nq063jZJptpZkAbbiy64R3eU/Sx/5B8XAytPJ4z+iP7+NAqtihPM0UYgId4/RriZLAmC7KBt27gvOS/y2ast6NA/gk+rUB/bS70zZZe1XEnIDY3qdBzA5OannKVk1+VhXzLElR3gQ== 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=e+opewROvrYorlDRMchsVCweaBB/gKyipMQwkW3PUzg=; b=nLFhafaOXgTHRYpMNGvE+6HMTTvoi2JsrA3Xu++vfy71B/gC0egDVLQIhJ7ePY8PaRyRUWKgKrqaAjnR3j4Tu9zjdDONZh68UboqsQqwTybCksFsWyYdclJ/rs5vfQ9OIbwK17ue6UJsDkJsjbqJP5r+qp9107ingwpyoTEWMqoXJ4ip/aJk2CXrblF5+jZB/rdnWdMJff1PcsyufzS9f/sOZbL5of5MyYAOwQ/5BpQIgJg56obxRgs22CiDhdMEOiSrBpOvCJntdAvzoKt3z2UDUGG3tT/AoNd0vJsgNokx8UyReFJJPIAKri//YxzZ59AaFHu5ELzgVY8i+rVZMA== 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 PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by PH8PR11MB6708.namprd11.prod.outlook.com (2603:10b6:510:1c7::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.13; Tue, 17 Jan 2023 00:35:45 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::d87:9f99:2db2:43d1]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::d87:9f99:2db2:43d1%6]) with mapi id 15.20.6002.012; Tue, 17 Jan 2023 00:35:44 +0000 From: "Min Xu" To: "Yao, Jiewen" , "devel@edk2.groups.io" , "ardb@kernel.org" CC: "Aktas, Erdem" , James Bottomley , Gerd Hoffmann , Tom Lendacky , Michael Roth Subject: Re: [edk2-devel] [PATCH V1 1/1] OvmfPkg/AcpiPlatformDxe: Measure ACPI table from QEMU in TDVF Thread-Topic: [edk2-devel] [PATCH V1 1/1] OvmfPkg/AcpiPlatformDxe: Measure ACPI table from QEMU in TDVF Thread-Index: AQHZKU3e06zUbFRJbEKd7TY67R5tR66gVKNAgACGAACAADapUIAABdOAgAABw7CAAKlHgIAAAmQw Date: Tue, 17 Jan 2023 00:35:44 +0000 Message-ID: References: <20230116015658.194-1-min.m.xu@intel.com> <173AD0557CFDE0A2.23170@groups.io> 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: PH0PR11MB5064:EE_|PH8PR11MB6708:EE_ x-ms-office365-filtering-correlation-id: 90330835-60ed-42f5-648a-08daf822c53c x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Iz8UqxflHNWkKUBmcs6REL3SdL7nHyLIGmF0O8tcSCH98xtiXt/rZxh3+h/9ViX5HFchD5QFzwVExov5rO55t0l0tCKrXviPO6DVbCksSvyMeB74kwAx87E2k2GUUFWYlRZeiEBcFF1K8lR50AsCQA2knSdkOf9G2FtVN80GQuLaNR4vmXPgU9L5BXIKdfPQpkKjnt03puB35kpGD0D68wkIXahHcXBr+hUoff1AWRiDEBCwwElUAYgvVTiQyrCqavBa7z9C0InsLtpaKCyXrtSKk1lYv10eVwHwM0VOfcxqKM48z5lOKsh6OpLhG7M3Ac1l2L1FIQVbwYE18CWvgVDiuswEeBbNR1/dH0DMfwwuVXsrjTwIQ2ExSBIqvLmm9hN7iaRIXeKGVXgrgOrsw0EVFoMZppPKV6vtc2gB/A0pR1SdcfSAk6ncKgYKoPjxU8STveHutBEboCs2dvpMdOv5DLtyfJT3+2UnyesdYAEjN5cPadpR6PgFI9JW5t9CJO4HWGLVRh6iogSPnzIpUnWIWxxQ7bclmnjlzCRexBjQFXbKMSS6rsA6gML+zhM5K7oQMzNMxALGIfnoa3a50fUpEqnV6yHMdrtkUjrnCPUCk0awY9Z/H/qpfeiCMMxWJlYNjKSOeLsPrt5Ua/I5hSk9DsTGj4ZhReydHcmEnZMUAMYnWfpE41znxYgdemyqxdEPIFyiCICSZVoHd2y8ddnMzSF/E4Pio7Gb22For63aAJAFXBeqrFVaKAsTlZCkAlUKBB0DRbsHad3Ff+buLA== 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:(13230022)(39860400002)(136003)(376002)(366004)(346002)(396003)(451199015)(2906002)(66899015)(30864003)(5660300002)(52536014)(8936002)(8676002)(83380400001)(86362001)(76116006)(66946007)(64756008)(66476007)(4326008)(66556008)(71200400001)(33656002)(316002)(110136005)(54906003)(41300700001)(66446008)(7696005)(26005)(966005)(6506007)(53546011)(186003)(9686003)(55016003)(38070700005)(82960400001)(38100700002)(478600001)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MHMxaEN5MVVKZE5lWWV2TFZFZlZiZHJwM0IvWnRHcTE4SzZWNFd2cnV6RUY5?= =?utf-8?B?LzlZNjN1UWsyTUZ3UDBtdGJrNUNEVS9EUzRQWklLaWJqWFJ1SUJyYU5CVmw1?= =?utf-8?B?b2dRUTV4azhUMldaL1FLbFZkT1I0SkhJWFVCOVhjajF1NS9ZbVRaZjBLamJu?= =?utf-8?B?NVJXL3krQXlPRnlqNU5oUFRreno3bnZRUVAxS3J5OXZ6T3lXSWp4ekY0Qi9m?= =?utf-8?B?RExIbmxsM2pEK3Q3NlEzOGhnQ0hkcU4vcnEza1FwdUJKeSt3dUlzZ2dadmo2?= =?utf-8?B?aU1DR2Z3QU5mZXlMYkF6Ym9lQ3gzdU5vUFE2WFJNQStRU2MxZnNrbnovVERh?= =?utf-8?B?V1V0TkxrbnZUWTZTS0pLcmtxQTcyOEFvSkJJbFpVNjA1UlR4VmtlR3dZbTdv?= =?utf-8?B?eVhqNXczVmk5akJBanJnUE1kRkt0RHdvZ2tJaUJwZGE1bmVtK1JpR1A1ckhl?= =?utf-8?B?T09pTU5kK1NQcWRwVGR0UkNXSUNWSUNPNzVzWUg4OEpqTDdyaUpmRzRPY0hE?= =?utf-8?B?d3M1eDl1ZTR3WmdRR3JwRC9YS20zZ2JrOUVLdGY0ZkhIeXZaYmxlOXNrUzl3?= =?utf-8?B?UzdRZE5vekIxakttUExBb0tKTlBydkFHMmE1Q3BPV1pvVjlYWk5uVTQ4Q051?= =?utf-8?B?WmIwbWZSOHlFZTZDSktUK01JeWNMYjkrRzV1UithT1lRSnVRU0tLMk1nZTgx?= =?utf-8?B?K3JZV0hyUHVGY0NYM29jSXdzWmxnWEJUZW11MDJkK3YrYjRNbFFhbHJaa0ZK?= =?utf-8?B?azR1aGJMSGhMNlJHVjQ5cGowYTAzekNXM2F6U1FiNUFpT3NqRmlTdDYxUFRP?= =?utf-8?B?cy9NZGRTMndHS1hOZEt6QWNZUVVGdWVBanBUaVdzRU96RXpic3BlRERsSGdK?= =?utf-8?B?cFQwdDRsUGJXUGxMc2s4UnJZdXF3WWNpcjNuc3JtdjRMV0xrRllzUXZuWHdV?= =?utf-8?B?SUs4bi85REQyY052SkdLQ2VTSFlVcjJjVlZRYlZJRERuQ0xYbGxaZjlEeitV?= =?utf-8?B?MVd5d1c2V1k4VGtRZ0V5SEdJaURBRjJPTXF4dGptd21La0VaUXZsMSt2L0wv?= =?utf-8?B?N2IwR0hrS21ZQ1hBWlJ2bkNoWW1MdFVjSnprUnlOTFZ3bDJVOVd6S0pHaTgw?= =?utf-8?B?WkhsRU42alZzUDUwTU5mZWFpWkxFbHlieVdqaFlpZHJmS09mUVZiblB1YUht?= =?utf-8?B?b29yOVJqMTRUdXNsYTZKTFFHQ2tSOVBiOW1CT01BWldpeVBTRmxkYi9WdGV0?= =?utf-8?B?K3NJYXVYKzVleGo4ZFFZQmY2U1RUV0I2SlNqSDBFUTBlelI0WFhLNXlaeHpo?= =?utf-8?B?Qk1iOVA3L0ptVGo5UVBTTkdkN2x5SXhDa24xNUtuM1QyZHcvakFRVzN0bUEr?= =?utf-8?B?VWZVRkV2SlRyTUJlN0U2VGcyK1ptVk1uckJleHpNL0M3TXQvR2dvOCtUUHR2?= =?utf-8?B?N080eWViaU54RlBkZVZSY0VNdXAzOTFnVmxVSDlqc3BST2cvVnFESFQ0OGFU?= =?utf-8?B?UWY5NDJxQW1VazRxMVUwUVRKSFRDVkhONTJjVGtnY1o4WU1wcGJ1enhscDBk?= =?utf-8?B?SlVTVE80ZmJ6a0FrOTZON2VaWTZrL1FCcFhsdHVwZm14cFR5SmRoakl2VEQ4?= =?utf-8?B?czJieGhiMjd2MGpMQU1hYlVEc3BiajJaWmRkUlhaWXMwU0xPZmNCd1hHWkE4?= =?utf-8?B?UE95SFZlU2V1YzN2MkFmbFdZUlh6d3pKa2ZLcXlJTmpxZUxxNEhiL3BmSWhH?= =?utf-8?B?eFZ5UzRReVpZZWVEWDZPUlRBTlVmU3puakM1WnA5bzA3ZWgwZEJEbGVmSU5U?= =?utf-8?B?Y01BN2F5amRiUDdKY2tFbUR2Ty8vbjhUbURtMlphaGdGRzdpMEZQRGNFM1Vw?= =?utf-8?B?VzE1ME4wQlF4OElLZ01IQ3dOZitxRUFhQ25saFJHdFp6Rk9GWjUyME1jTGV3?= =?utf-8?B?dlBrNXFyb3JQQUg3MGdYTVRXNm9kYUlnREFwVmVzTDdtbm5qMi9uNFVzU05E?= =?utf-8?B?eFZYTVY0KzlLMDNPRSt0M1dqRTZMdXY5MnBmQjJZaE5PN0NpNmUvbE5TSmRX?= =?utf-8?B?cVV2WERsYVU1cXhhdWF1Q3loUWdBY2Rubi9xREt3bzFrQkxEeXlsdGo4SEk3?= =?utf-8?Q?yYktfXs2LPkxTIY6CHkE50Y6M?= 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: 90330835-60ed-42f5-648a-08daf822c53c X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2023 00:35:44.7523 (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: LXQc9jazsrZu/GfeyQA6PnPSTduBwjZI3SLnCjsOXUw5KqZ5zDVuD0nL6fOXmE2rVL7h8kaaHtelXdKOSDUFmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB6708 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 VGhhbmtzIEppZXdlbi4gSXQgd2lsbCBiZSB1cGRhdGVkIGluIHRoZSBuZXh0IHZlcnNpb24uDQoN Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWWFvLCBKaWV3ZW4gPGppZXdl bi55YW9AaW50ZWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDE3LCAyMDIzIDg6MzAg QU0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBZYW8sIEppZXdlbiA8amlld2VuLnlhb0Bp bnRlbC5jb20+Ow0KPiBhcmRiQGtlcm5lbC5vcmcNCj4gQ2M6IFh1LCBNaW4gTSA8bWluLm0ueHVA aW50ZWwuY29tPjsgQWt0YXMsIEVyZGVtDQo+IDxlcmRlbWFrdGFzQGdvb2dsZS5jb20+OyBKYW1l cyBCb3R0b21sZXkgPGplamJAbGludXguaWJtLmNvbT47IEdlcmQNCj4gSG9mZm1hbm4gPGtyYXhl bEByZWRoYXQuY29tPjsgVG9tIExlbmRhY2t5DQo+IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT47 IE1pY2hhZWwgUm90aCA8bWljaGFlbC5yb3RoQGFtZC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZWRr Mi1kZXZlbF0gW1BBVENIIFYxIDEvMV0gT3ZtZlBrZy9BY3BpUGxhdGZvcm1EeGU6IE1lYXN1cmUN Cj4gQUNQSSB0YWJsZSBmcm9tIFFFTVUgaW4gVERWRg0KPiANCj4gSGkgTWluDQo+IE9uZSBtb3Jl IHRoaW5nOiBUaGlzIGlzIHRvIG1lYXN1cmUgQUNQSSB0YWJsZS4NCj4gDQo+IEFjY29yZGluZyB0 byBodHRwczovL3RydXN0ZWRjb21wdXRpbmdncm91cC5vcmcvcmVzb3VyY2UvcGMtY2xpZW50LXNw ZWNpZmljLQ0KPiBwbGF0Zm9ybS1maXJtd2FyZS1wcm9maWxlLXNwZWNpZmljYXRpb24vLCB0aGUg ZXZlbnQgdHlwZSBzaG91bGQgYmUNCj4gRVZfUE9TVF9DT0RFLCBhbmQgZXZlbnQgZGF0YSBzaG91 bGQgYmUgIkFDUEkgREFUQSIgaW4gYWxsIGNhcHMuIFlvdSBjYW4NCj4gdXNlIGJlbG93IHBhdHRl cm46DQo+ID09PT09PT09PT09PT09PT09DQo+ICAgVHBtTWVhc3VyZUFuZExvZ0RhdGEgKA0KPiAg ICAgMCwNCj4gICAgIEVWX1BPU1RfQ09ERSwNCj4gICAgIEVWX1BPU1RDT0RFX0lORk9fQUNQSV9E QVRBLA0KPiAgICAgQUNQSV9EQVRBX0xFTiwNCj4gICAgIFRhYmxlLA0KPiAgICAgVGFibGVTaXpl DQo+ICAgICApOw0KPiA9PT09PT09PT09PT09PT09PQ0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdy b3Vwcy5pbz4gT24gQmVoYWxmIE9mIFlhbywNCj4gPiBKaWV3ZW4NCj4gPiBTZW50OiBNb25kYXks IEphbnVhcnkgMTYsIDIwMjMgMTA6MjggUE0NCj4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87 IGFyZGJAa2VybmVsLm9yZw0KPiA+IENjOiBYdSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT47 IEFrdGFzLCBFcmRlbQ0KPiA+IDxlcmRlbWFrdGFzQGdvb2dsZS5jb20+OyBKYW1lcyBCb3R0b21s ZXkgPGplamJAbGludXguaWJtLmNvbT47IEdlcmQNCj4gPiBIb2ZmbWFubiA8a3JheGVsQHJlZGhh dC5jb20+OyBUb20gTGVuZGFja3kNCj4gPHRob21hcy5sZW5kYWNreUBhbWQuY29tPjsNCj4gPiBN aWNoYWVsIFJvdGggPG1pY2hhZWwucm90aEBhbWQuY29tPg0KPiA+IFN1YmplY3Q6IFJlOiBbZWRr Mi1kZXZlbF0gW1BBVENIIFYxIDEvMV0gT3ZtZlBrZy9BY3BpUGxhdGZvcm1EeGU6DQo+ID4gTWVh c3VyZSBBQ1BJIHRhYmxlIGZyb20gUUVNVSBpbiBURFZGDQo+ID4NCj4gPiBFYWNoIG1vZHVsZSwg d2hpY2ggd2FudHMgdG8gbG9hZCBBQ1BJIHRhYmxlLg0KPiA+DQo+ID4gTW9zdCBjb2RlcyBhcmUg ZnJvbSBjbG9zZSBzb3VyY2UgcGxhdGZvcm0uDQo+ID4NCj4gPiBPbmUgZXhhbXBsZSBpbiBFREtJ SSBTZWN1cml0eVBrZyBpcyBUUE0yLg0KPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUv ZWRrMi9ibG9iL21hc3Rlci9TZWN1cml0eVBrZy9UY2cvVGNnMkFjcGkNCj4gPiAvDQo+ID4gVGNn MkFjcGkuYyNMNjkwDQo+ID4NCj4gPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIv YmxvYi9tYXN0ZXIvU2VjdXJpdHlQa2cvVGNnL1RjZzJBY3BpDQo+ID4gLw0KPiA+IFRjZzJBY3Bp LmMjTDc5NA0KPiA+DQo+ID4gSnVzdCBzZWFyY2ggIlRwbU1lYXN1cmVBbmRMb2dEYXRhIiAuLi4N Cj4gPg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTog ZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2Yg QXJkDQo+ID4gPiBCaWVzaGV1dmVsDQo+ID4gPiBTZW50OiBNb25kYXksIEphbnVhcnkgMTYsIDIw MjMgMTA6MTUgUE0NCj4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgWWFvLCBKaWV3ZW4g PGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+ID4gQ2M6IFh1LCBNaW4gTSA8bWluLm0ueHVAaW50 ZWwuY29tPjsgQWt0YXMsIEVyZGVtDQo+ID4gPiA8ZXJkZW1ha3Rhc0Bnb29nbGUuY29tPjsgSmFt ZXMgQm90dG9tbGV5IDxqZWpiQGxpbnV4LmlibS5jb20+Ow0KPiBHZXJkDQo+ID4gPiBIb2ZmbWFu biA8a3JheGVsQHJlZGhhdC5jb20+OyBUb20gTGVuZGFja3kNCj4gPiA+IDx0aG9tYXMubGVuZGFj a3lAYW1kLmNvbT47IE1pY2hhZWwgUm90aCA8bWljaGFlbC5yb3RoQGFtZC5jb20+DQo+ID4gPiBT dWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCBWMSAxLzFdIE92bWZQa2cvQWNwaVBsYXRm b3JtRHhlOg0KPiA+ID4gTWVhc3VyZSBBQ1BJIHRhYmxlIGZyb20gUUVNVSBpbiBURFZGDQo+ID4g Pg0KPiA+ID4gT24gTW9uLCAxNiBKYW4gMjAyMyBhdCAxNDo1NywgWWFvLCBKaWV3ZW4gPGppZXdl bi55YW9AaW50ZWwuY29tPg0KPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gRG8geW91IG1lYW4g cmVhbCBwbGF0Zm9ybSBCSU9TPw0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+IFllcw0KPiA+ID4NCj4g PiA+ID4gVGhlIHJ1bGVzIGFyZToNCj4gPiA+ID4gMSkgVGhlIEFDUEkgdGFibGUgb24gdGhlIGZs YXNoIGxvYWRlZCBieSB0aGUgQklPUyBpcyBtZWFzdXJlZA0KPiA+ID4gPiAqYmVmb3JlKg0KPiA+ IGFueQ0KPiA+ID4gbW9kaWZpY2F0aW9uIGFuZCAqYmVmb3JlKiBpbnN0YWxsYXRpb24uIEZvciBl eGFtcGxlLCBEU0RULCBTU0RULg0KPiA+ID4gPiAyKSBUaGUgQUNQSSB0YWJsZSBjb25zdHJ1Y3Rl ZCBieSB0aGUgQklPUyBkeW5hbWljYWxseSBkb2VzIG5vdA0KPiA+ID4gPiBuZWVkIHRvDQo+ID4g YmUNCj4gPiA+IG1lYXN1cmVkLiBGb3IgZXhhbXBsZSBNQURULg0KPiA+ID4gPg0KPiA+ID4NCj4g PiA+IE9LIHNvIHdoaWNoIEVESzIgY29tcG9uZW50IGlzIG5vcm1hbGx5IGluIGNoYXJnZSBvZiB0 aGlzPw0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4N Cj4gPiA+ID4gPiBTZW50OiBNb25kYXksIEphbnVhcnkgMTYsIDIwMjMgNjozOCBQTQ0KPiA+ID4g PiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50 ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBYdSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT47IEFr dGFzLCBFcmRlbQ0KPiA+ID4gPiA+IDxlcmRlbWFrdGFzQGdvb2dsZS5jb20+OyBKYW1lcyBCb3R0 b21sZXkgPGplamJAbGludXguaWJtLmNvbT47DQo+ID4gPiBHZXJkDQo+ID4gPiA+ID4gSG9mZm1h bm4gPGtyYXhlbEByZWRoYXQuY29tPjsgVG9tIExlbmRhY2t5DQo+ID4gPiA+ID4gPHRob21hcy5s ZW5kYWNreUBhbWQuY29tPjsgTWljaGFlbCBSb3RoDQo+IDxtaWNoYWVsLnJvdGhAYW1kLmNvbT4N Cj4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCBWMSAxLzFdIE92bWZQ a2cvQWNwaVBsYXRmb3JtRHhlOg0KPiA+ID4gPiA+IE1lYXN1cmUgQUNQSSB0YWJsZSBmcm9tIFFF TVUgaW4gVERWRg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQW5vdGhlciBxdWVzdGlvbjogaG93IGRv ZXMgdGhpcyBkZXZpYXRlIGZyb20gb3JkaW5hcnkgbWVhc3VyZWQgYm9vdD8NCj4gPiA+ID4gPiBI b3cgYW5kIHdoZW4gYXJlIEFDUEkgdGFibGVzIG1lYXN1cmVkIG9uIHN1Y2ggc3lzdGVtcz8NCj4g PiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gT24gTW9uLCAxNiBKYW4gMjAyMyBhdCAwMzo0 MiwgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+ID4gd3JvdGU6DQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gSGkNCj4gPiA+ID4gPiA+IEkgaGF2ZSB0d28gZmVlZGJhY2s6 DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gMSkgV2hhdCB3ZSBuZWVkIG1lYXN1cmUgaXMgdGhl IGlucHV0IGZyb20gVk1NICpiZWZvcmUqIGFueQ0KPiA+ID4gPiA+IG1vZGlmaWNhdGlvbiBhbmQg KmJlZm9yZSogaW5zdGFsbGF0aW9uLg0KPiA+ID4gPiA+ID4gUGxlYXNlIGRvbid0IHVzZSBBQ1BJ IFNEVCBwcm90b2NvbCB0byBnZXQgdGhlIHRhYmxlICphZnRlcioNCj4gPiBtb2RpZmljYXRpb24u DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gMikgV2h5IG5vdCB1c2UgVHBtTWVhc3VyZUFuZExv Z0RhdGEoKSBpbg0KPiA+ID4gPiA+DQo+ID4gPg0KPiA+DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90 aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9NZGVNb2R1bGVQa2cvSW5jbHVkZS9MaQ0KPiA+ID4g PiA+IGJyYXJ5L1RwbU1lYXN1cmVtZW50TGliLmggPw0KPiA+ID4gPiA+ID4gUGxlYXNlIGRvbid0 IHVzZSBsb2NhdGUgcHJvdG9jb2wuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhhbmsgeW91 DQo+ID4gPiA+ID4gPiBZYW8sIEppZXdlbg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ID4gRnJvbTogWHUsIE1pbiBNIDxt aW4ubS54dUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+IFNlbnQ6IE1vbmRheSwgSmFudWFyeSAx NiwgMjAyMyA5OjU3IEFNDQo+ID4gPiA+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0K PiA+ID4gPiA+ID4gPiBDYzogWHUsIE1pbiBNIDxtaW4ubS54dUBpbnRlbC5jb20+OyBBa3Rhcywg RXJkZW0NCj4gPiA+ID4gPiA+ID4gPGVyZGVtYWt0YXNAZ29vZ2xlLmNvbT47IEphbWVzIEJvdHRv bWxleQ0KPiA+IDxqZWpiQGxpbnV4LmlibS5jb20+Ow0KPiA+ID4gPiA+IFlhbywNCj4gPiA+ID4g PiA+ID4gSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IEdlcmQgSG9mZm1hbm4NCj4gPiA+ IDxrcmF4ZWxAcmVkaGF0LmNvbT47DQo+ID4gPiA+ID4gPiA+IFRvbSBMZW5kYWNreSA8dGhvbWFz LmxlbmRhY2t5QGFtZC5jb20+OyBNaWNoYWVsIFJvdGgNCj4gPiA+ID4gPiA+ID4gPG1pY2hhZWwu cm90aEBhbWQuY29tPg0KPiA+ID4gPiA+ID4gPiBTdWJqZWN0OiBbUEFUQ0ggVjEgMS8xXSBPdm1m UGtnL0FjcGlQbGF0Zm9ybUR4ZTogTWVhc3VyZQ0KPiA+ID4gPiA+ID4gPiBBQ1BJDQo+ID4gPiB0 YWJsZQ0KPiA+ID4gPiA+IGZyb20NCj4gPiA+ID4gPiA+ID4gUUVNVSBpbiBURFZGDQo+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEZyb206IE1pbiBNIFh1IDxtaW4ubS54dUBpbnRlbC5jb20+ DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3Jl Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI0NQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBU aGUgQUNQSSB0YWJsZXMgYXJlIGRvd25sb2FkZWQgZnJvbSBRRU1VLiBRRU1VL1ZNTSBpcw0KPiA+ IHRyZWF0ZWQNCj4gPiA+IGFzDQo+ID4gPiA+ID4gPiA+IHVuLXRydXN0ZWQgaW4gYSB0ZC1ndWVz dC4gRnJvbSB0aGUgc2VjdXJpdHkgcGVyc3BlY3RpdmUgdGhleQ0KPiA+ID4gPiA+ID4gPiBzaG91 bGQgYmUgbWVhc3VyZWQgYW5kIGV4dGVuZGVkIGlmIHBvc3NpYmxlLiBTbyB0aGF0IHRoZXkNCj4g PiA+ID4gPiA+ID4gY2FuIGJlIGF1ZGl0ZWQgbGF0ZXIuIFRoZSBtZWFzdXJlbWVudCBwcm90b2Nv bCBtYXkgYmUgbm90DQo+ID4gPiA+ID4gPiA+IGluc3RhbGxlZC4gSW4gdGhpcyBjYXNlIGl0IHN0 aWxsIHJldHVybnMgRUZJX1NVQ0NFU1MuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IENj OiBFcmRlbSBBa3RhcyA8ZXJkZW1ha3Rhc0Bnb29nbGUuY29tPg0KPiA+ID4gPiA+ID4gPiBDYzog SmFtZXMgQm90dG9tbGV5IDxqZWpiQGxpbnV4LmlibS5jb20+DQo+ID4gPiA+ID4gPiA+IENjOiBK aWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ID4gQ2M6IEdlcmQg SG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPg0KPiA+ID4gPiA+ID4gPiBDYzogVG9tIExlbmRh Y2t5IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT4NCj4gPiA+ID4gPiA+ID4gQ2M6IE1pY2hhZWwg Um90aCA8bWljaGFlbC5yb3RoQGFtZC5jb20+DQo+ID4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6 IE1pbiBYdSA8bWluLm0ueHVAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4g PiA+ID4gIE92bWZQa2cvQWNwaVBsYXRmb3JtRHhlL0FjcGlQbGF0Zm9ybUR4ZS5pbmYgfCAgIDIg Kw0KPiA+ID4gPiA+ID4gPiAgT3ZtZlBrZy9BY3BpUGxhdGZvcm1EeGUvUWVtdUZ3Q2ZnQWNwaS5j ICAgICB8IDE2OA0KPiA+ID4gPiA+ID4gPiArKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiA+ ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAxNzAgaW5zZXJ0aW9ucygrKQ0KPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9BY3BpUGxhdGZvcm1EeGUvQWNwaVBs YXRmb3JtRHhlLmluZg0KPiA+ID4gPiA+ID4gPiBiL092bWZQa2cvQWNwaVBsYXRmb3JtRHhlL0Fj cGlQbGF0Zm9ybUR4ZS5pbmYNCj4gPiA+ID4gPiA+ID4gaW5kZXggODkzOWRkZTQyNTQ5Li5hZTIy YmFiMzhjZjkgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+IC0tLSBhL092bWZQa2cvQWNwaVBsYXRmb3Jt RHhlL0FjcGlQbGF0Zm9ybUR4ZS5pbmYNCj4gPiA+ID4gPiA+ID4gKysrIGIvT3ZtZlBrZy9BY3Bp UGxhdGZvcm1EeGUvQWNwaVBsYXRmb3JtRHhlLmluZg0KPiA+ID4gPiA+ID4gPiBAQCAtNTEsNiAr NTEsOCBAQA0KPiA+ID4gPiA+ID4gPiAgICBnRWZpQWNwaVRhYmxlUHJvdG9jb2xHdWlkICAgICAg ICAgICAgICAgICAgICAgIyBQUk9UT0NPTA0KPiA+ID4gPiA+IEFMV0FZU19DT05TVU1FRA0KPiA+ ID4gPiA+ID4gPiAgICBnRWZpUGNpSW9Qcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAg ICAgIyBQUk9UT0NPTA0KPiA+ID4gPiA+IFNPTUVUSU1FU19DT05TVU1FRA0KPiA+ID4gPiA+ID4g PiAgICBnUWVtdUFjcGlUYWJsZU5vdGlmeVByb3RvY29sR3VpZCAgICAgICAgICAgICAgIyBQUk9U T0NPTA0KPiA+IFBST0RVQ0VTDQo+ID4gPiA+ID4gPiA+ICsgIGdFZmlDY01lYXN1cmVtZW50UHJv dG9jb2xHdWlkICAgICAgICAgICAgICAgICAjIFBST1RPQ09MDQo+ID4gPiA+ID4gPiA+IFNPTUVU SU1FU19DT05TVU1FRA0KPiA+ID4gPiA+ID4gPiArICBnRWZpQWNwaVNkdFByb3RvY29sR3VpZCAg ICAgICAgICAgICAgICAgICAgICAgIyBQUk9UT0NPTA0KPiA+ID4gPiA+ID4gPiBTT01FVElNRVNf Q09OU1VNRUQNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gIFtHdWlkc10NCj4gPiA+ID4g PiA+ID4gICAgZ1Jvb3RCcmlkZ2VzQ29ubmVjdGVkRXZlbnRHcm91cEd1aWQNCj4gPiA+ID4gPiA+ ID4gZGlmZiAtLWdpdCBhL092bWZQa2cvQWNwaVBsYXRmb3JtRHhlL1FlbXVGd0NmZ0FjcGkuYw0K PiA+ID4gPiA+ID4gPiBiL092bWZQa2cvQWNwaVBsYXRmb3JtRHhlL1FlbXVGd0NmZ0FjcGkuYw0K PiA+ID4gPiA+ID4gPiBpbmRleCBmMGQ4MWQ2ZmQ3M2QuLmY0NDI4NTBjMmUwMCAxMDA2NDQNCj4g PiA+ID4gPiA+ID4gLS0tIGEvT3ZtZlBrZy9BY3BpUGxhdGZvcm1EeGUvUWVtdUZ3Q2ZnQWNwaS5j DQo+ID4gPiA+ID4gPiA+ICsrKyBiL092bWZQa2cvQWNwaVBsYXRmb3JtRHhlL1FlbXVGd0NmZ0Fj cGkuYw0KPiA+ID4gPiA+ID4gPiBAQCAtMTgsNiArMTgsOCBAQA0KPiA+ID4gPiA+ID4gPiAgI2lu Y2x1ZGUgPExpYnJhcnkvUWVtdUZ3Q2ZnTGliLmg+ICAgICAgICAgICAgIC8vIFFlbXVGd0NmZ0Zp bmRGaWxlKCkNCj4gPiA+ID4gPiA+ID4gICNpbmNsdWRlIDxMaWJyYXJ5L1FlbXVGd0NmZ1MzTGli Lmg+ICAgICAgICAgICAvLw0KPiA+ID4gUWVtdUZ3Q2ZnUzNFbmFibGVkKCkNCj4gPiA+ID4gPiA+ ID4gICNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi5oPiAvLyBnQlMN Cj4gPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxQcm90b2NvbC9BY3BpU3lzdGVtRGVzY3JpcHRpb25U YWJsZS5oPg0KPiA+ID4gPiA+ID4gPiArI2luY2x1ZGUgPFByb3RvY29sL0NjTWVhc3VyZW1lbnQu aD4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gICNpbmNsdWRlICJBY3BpUGxhdGZvcm0u aCINCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gQEAgLTgxMiwxMiArODE0LDE2OCBAQCBV bmRvQ21kV3JpdGVQb2ludGVyICgNCj4gPiA+ID4gPiA+ID4gICAgICApKTsNCj4gPiA+ID4gPiA+ ID4gIH0NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gKy8qKg0KPiA+ID4gPiA+ID4gPiAr ICBNZXN1cmUgZmlybXdhcmUgQUNQSSB0YWJsZSB3aXRoIENjTWVhc3VyZW1lbnQgUHJvdG9jb2wN Cj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiArICBAcGFyYW1baW5dIENjUHJvdG9jb2wg ICBQb2ludGVyIHRvIHRoZSBDY01lYXN1cm1lbnQgUHJvdG9jb2wNCj4gPiA+ID4gPiA+ID4gKyAg QHBhcmFtW2luXSBFdmVudERhdGEgICAgUG9pbnRlciB0byB0aGUgZXZlbnQgZGF0YS4NCj4gPiA+ ID4gPiA+ID4gKyAgQHBhcmFtW2luXSBFdmVudFNpemUgICAgU2l6ZSBvZiBldmVudCBkYXRhLg0K PiA+ID4gPiA+ID4gPiArICBAcGFyYW1baW5dIENmZ0RhdGFCYXNlICBDb25maWd1cmF0aW9uIGRh dGEgYmFzZSBhZGRyZXNzLg0KPiA+ID4gPiA+ID4gPiArICBAcGFyYW1baW5dIEV2ZW50U2l6ZSAg ICBTaXplIG9mIGNvbmZpZ3VyYXRpb24gZGF0YSAuDQo+ID4gPiA+ID4gPiA+ICsgIEByZXR2YWwg IEVGSV9OT1RfRk9VTkQgICAgICAgICAgIENhbm5vdCBsb2NhdGUgcHJvdG9jb2wuDQo+ID4gPiA+ ID4gPiA+ICsgIEByZXR2YWwgIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgIEFsbG9jYXRlIHplcm8g cG9vbCBmYWlsdXJlLg0KPiA+ID4gPiA+ID4gPiArICBAcmV0dXJuICAgICAgICAgICAgICAgICAg ICAgICAgICBTdGF0dXMgY29kZXMgcmV0dXJuZWQgYnkNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbVRjZzJQcm90b2NvbC0+SGFzaExvZ0V4dGVuZEV2 ZW50Lg0KPiA+ID4gPiA+ID4gPiArKiovDQo+ID4gPiA+ID4gPiA+ICtTVEFUSUMNCj4gPiA+ID4g PiA+ID4gK0VGSV9TVEFUVVMNCj4gPiA+ID4gPiA+ID4gK0VGSUFQSQ0KPiA+ID4gPiA+ID4gPiAr Q2NNZWFzdXJlQWNwaVRhYmxlICgNCj4gPiA+ID4gPiA+ID4gKyAgSU4gRUZJX0NDX01FQVNVUkVN RU5UX1BST1RPQ09MICAqQ2NQcm90b2NvbCwNCj4gPiA+ID4gPiA+ID4gKyAgSU4gQ0hBUjggICAg ICAgICAgICAgICAgICAgICAgICAqRXZlbnREYXRhLA0KPiA+ID4gPiA+ID4gPiArICBJTiBVSU5U MzIgICAgICAgICAgICAgICAgICAgICAgIEV2ZW50U2l6ZSwNCj4gPiA+ID4gPiA+ID4gKyAgSU4g RUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgICBDZmdEYXRhQmFzZSwNCj4gPiA+ID4gPiA+ID4g KyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICBDZmdEYXRhTGVuZ3RoDQo+ID4gPiA+ ID4gPiA+ICsgICkNCj4gPiA+ID4gPiA+ID4gK3sNCj4gPiA+ID4gPiA+ID4gKyAgRUZJX1NUQVRV UyAgICBTdGF0dXM7DQo+ID4gPiA+ID4gPiA+ICsgIEVGSV9DQ19FVkVOVCAgKkNjRXZlbnQ7DQo+ ID4gPiA+ID4gPiA+ICsgIFVJTlQzMiAgICAgICAgTXJJbmRleDsNCj4gPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4gPiArICBpZiAoQ2NQcm90b2NvbCA9PSBOVUxMKSB7DQo+ID4gPiA+ID4gPiA+ ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsgIH0NCj4gPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4gPiArICBTdGF0dXMgPSBDY1Byb3RvY29sLT5NYXBQY3JUb01ySW5kZXggKENj UHJvdG9jb2wsIDEsDQo+ID4gJk1ySW5kZXgpOw0KPiA+ID4gPiA+ID4gPiArICBpZiAoRUZJX0VS Uk9SIChTdGF0dXMpKSB7DQo+ID4gPiA+ID4gPiA+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BB UkFNRVRFUjsgIH0NCj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiArICBDY0V2ZW50ID0g QWxsb2NhdGVaZXJvUG9vbCAoRXZlbnRTaXplICsgc2l6ZW9mDQo+ID4gPiA+ID4gPiA+ICsgKEVG SV9DQ19FVkVOVCkgLQ0KPiA+ID4gc2l6ZW9mDQo+ID4gPiA+ID4gPiA+IChDY0V2ZW50LT5FdmVu dCkpOw0KPiA+ID4gPiA+ID4gPiArICBpZiAoQ2NFdmVudCA9PSBOVUxMKSB7DQo+ID4gPiA+ID4g PiA+ICsgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOyAgfQ0KPiA+ID4gPiA+ID4gPiAr DQo+ID4gPiA+ID4gPiA+ICsgIENjRXZlbnQtPlNpemUgICAgICAgICAgICAgICAgID0gRXZlbnRT aXplICsgc2l6ZW9mIChFRklfQ0NfRVZFTlQpIC0NCj4gPiBzaXplb2YNCj4gPiA+ID4gPiA+ID4g KENjRXZlbnQtPkV2ZW50KTsNCj4gPiA+ID4gPiA+ID4gKyAgQ2NFdmVudC0+SGVhZGVyLkV2ZW50 VHlwZSAgICAgPSBFVl9QTEFURk9STV9DT05GSUdfRkxBR1M7DQo+ID4gPiA+ID4gPiA+ICsgIENj RXZlbnQtPkhlYWRlci5NckluZGV4ICAgICAgID0gTXJJbmRleDsNCj4gPiA+ID4gPiA+ID4gKyAg Q2NFdmVudC0+SGVhZGVyLkhlYWRlclNpemUgICAgPSBzaXplb2YgKEVGSV9DQ19FVkVOVF9IRUFE RVIpOw0KPiA+ID4gPiA+ID4gPiArICBDY0V2ZW50LT5IZWFkZXIuSGVhZGVyVmVyc2lvbiA9DQo+ ID4gPiBFRklfQ0NfRVZFTlRfSEVBREVSX1ZFUlNJT047DQo+ID4gPiA+ID4gPiA+ICsgIENvcHlN ZW0gKCZDY0V2ZW50LT5FdmVudFswXSwgRXZlbnREYXRhLCBFdmVudFNpemUpOw0KPiA+ID4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gPiA+ICsgIFN0YXR1cyA9IENjUHJvdG9jb2wtPkhhc2hMb2dFeHRl bmRFdmVudCAoDQo+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgQ2NQcm90 b2NvbCwNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiA+ID4g PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgIENmZ0RhdGFCYXNlLA0KPiA+ID4gPiA+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgIENmZ0RhdGFMZW5ndGgsDQo+ID4gPiA+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgQ2NFdmVudA0KPiA+ID4gPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICk7DQo+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4g KyAgRnJlZVBvb2wgKENjRXZlbnQpOw0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ICsg IHJldHVybiBTdGF0dXM7DQo+ID4gPiA+ID4gPiA+ICt9DQo+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ ID4gPiA+ID4gIC8vDQo+ID4gPiA+ID4gPiA+ICAvLyBXZSdsbCBiZSBzYXZpbmcgdGhlIGtleXMg b2YgaW5zdGFsbGVkIHRhYmxlcyBzbyB0aGF0IHdlDQo+ID4gPiA+ID4gPiA+IGNhbiByb2xsDQo+ ID4gdGhlbQ0KPiA+ID4gPiA+IGJhY2sNCj4gPiA+ID4gPiA+ID4gIC8vIGluIGNhc2Ugb2YgZmFp bHVyZS4gMTI4IHRhYmxlcyBzaG91bGQgYmUgZW5vdWdoIGZvciBhbnlvbmUgKFRNKS4NCj4gPiA+ ID4gPiA+ID4gIC8vDQo+ID4gPiA+ID4gPiA+ICAjZGVmaW5lIElOU1RBTExFRF9UQUJMRVNfTUFY ICAxMjgNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gKy8qKg0KPiA+ID4gPiA+ID4gPiAr ICogVGhlIEFDUEkgdGFibGVzIGFyZSBkb3dubG9hZGVkIGZyb20gUUVNVS4gRnJvbSB0aGUNCj4g PiA+ID4gPiA+ID4gK3NlY3VyaXR5DQo+ID4gPiA+ID4gPiA+IHBlcnNwZWN0aXZlIHRoZXNlIGFy ZQ0KPiA+ID4gPiA+ID4gPiArICogZXh0ZXJuYWwgaW5wdXRzIGFuZCBzaG91bGQgYmUgbWVhc3Vy ZWQgYW5kIGV4dGVuZGVkIGlmDQo+ID4gcG9zc2libGUuDQo+ID4gPiBTbw0KPiA+ID4gPiA+IHRo YXQNCj4gPiA+ID4gPiA+ID4gdGhleSBjYW4NCj4gPiA+ID4gPiA+ID4gKyAqIGJlIGF1ZGl0ZWQg bGF0ZXIuIFRoZSBtZWFzdXJlbWVudCBwcm90b2NvbCBtYXkgYmUgbm90DQo+ID4gaW5zdGFsbGVk Lg0KPiA+ID4gSW4NCj4gPiA+ID4gPiB0aGlzDQo+ID4gPiA+ID4gPiA+IGNhc2UgaXQNCj4gPiA+ ID4gPiA+ID4gKyAqIHN0aWxsIHJldHVybnMgRUZJX1NVQ0NFU1MuDQo+ID4gPiA+ID4gPiA+ICsg Kg0KPiA+ID4gPiA+ID4gPiArICogQHBhcmFtIEluc3RhbGxlZEtleSBQb2ludGVyIHRvIGFuIGFy cmF5IHdoaWNoIGNvbnRhaW5zDQo+ID4gPiA+ID4gPiA+ICsgdGhlIGtleXMNCj4gPiA+IG9mDQo+ ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiA+IGluc3RhbGxlZCBBQ1BJIHRhYmxlcw0KPiA+ID4g PiA+ID4gPiArICogQHBhcmFtIExlbmd0aCAgICAgICBMZW5ndGggb2YgdGhlIGFycmF5DQo+ID4g PiA+ID4gPiA+ICsgKiBAcmV0dmFsIEVGSV9TVUNDRVNTIFN1Y2Nlc3NmdWxseSBtZWFzdXJlIHRo ZSBBQ1BJIHRhYmxlcw0KPiA+ID4gPiA+ID4gPiArICogQHJldHZhbCBPdGhlcnMgICAgICBPdGhl ciBlcnJvcnMgYXMgaW5kaWNhdGVkDQo+ID4gPiA+ID4gPiA+ICsgKi8NCj4gPiA+ID4gPiA+ID4g K1NUQVRJQw0KPiA+ID4gPiA+ID4gPiArRUZJX1NUQVRVUw0KPiA+ID4gPiA+ID4gPiArTWVhc3Vy ZUluc3RhbGxlZFRhYmxlc0Zyb21RZW11ICgNCj4gPiA+ID4gPiA+ID4gKyAgSU4gVUlOVE4gICpJ bnN0YWxsZWRLZXksDQo+ID4gPiA+ID4gPiA+ICsgIElOIElOVDMyICBMZW5ndGgNCj4gPiA+ID4g PiA+ID4gKyAgKQ0KPiA+ID4gPiA+ID4gPiArew0KPiA+ID4gPiA+ID4gPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gPiA+ID4gPiA+ID4gKyAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICAgICBJbmRleDE7DQo+ID4gPiA+ID4gPiA+ICsgIElOVDMyICAgICAgICAg ICAgICAgICAgICAgICAgSW5kZXgyOw0KPiA+ID4gPiA+ID4gPiArICBFRklfQUNQSV9TRFRfSEVB REVSICAgICAgICAgICpUYWJsZTsNCj4gPiA+ID4gPiA+ID4gKyAgRUZJX0FDUElfVEFCTEVfVkVS U0lPTiAgICAgICBWZXJzaW9uOw0KPiA+ID4gPiA+ID4gPiArICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgICAgIFRhYmxlS2V5Ow0KPiA+ID4gPiA+ID4gPiArICBFRklfQUNQSV9TRFRfUFJPVE9D T0wgICAgICAgICpBY3BpU2R0UHJvdG9jb2w7DQo+ID4gPiA+ID4gPiA+ICsgIEVGSV9DQ19NRUFT VVJFTUVOVF9QUk9UT0NPTCAgKkNjUHJvdG9jb2wgPSBOVUxMOw0KPiA+ID4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gPiA+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wNCj4gPiA+ID4gPiA+ ID4gKyAoJmdFZmlDY01lYXN1cmVtZW50UHJvdG9jb2xHdWlkLA0KPiA+ID4gTlVMTCwNCj4gPiA+ ID4gPiA+ID4gKFZPSUQgKiopJkNjUHJvdG9jb2wpOw0KPiA+ID4gPiA+ID4gPiArICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQo+ID4gPiA+ID4gPiA+ICsgICAgLy8NCj4gPiA+ID4gPiA+ID4g KyAgICAvLyBDY01lYXN1cmVtZW50IHByb3RvY29sIGlzIG5vdCBpbnN0YWxsZWQuDQo+ID4gPiA+ ID4gPiA+ICsgICAgLy8NCj4gPiA+ID4gPiA+ID4gKyAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ ID4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiArICBTdGF0 dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0VmaUFjcGlTZHRQcm90b2NvbEd1aWQsDQo+ID4g PiA+ID4gPiA+ICsgTlVMTCwNCj4gPiA+ICh2b2lkDQo+ID4gPiA+ID4gPiA+ICoqKSZBY3BpU2R0 UHJvdG9jb2wpOw0KPiA+ID4gPiA+ID4gPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ ID4gPiA+ID4gPiA+ICsgICAgREVCVUcgKChERUJVR19FUlJPUiwgIlVuYWJsZSB0byBsb2NhdGUg QUNQSSBTRFQNCj4gPiBwcm90b2NvbC5cbiIpKTsNCj4gPiA+ID4gPiA+ID4gKyAgICByZXR1cm4g U3RhdHVzOw0KPiA+ID4gPiA+ID4gPiArICB9DQo+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ ID4gKyAgSW5kZXgxID0gMDsNCj4gPiA+ID4gPiA+ID4gKyAgZG8gew0KPiA+ID4gPiA+ID4gPiAr ICAgIFN0YXR1cyA9IEFjcGlTZHRQcm90b2NvbC0+R2V0QWNwaVRhYmxlIChJbmRleDEsICZUYWJs ZSwNCj4gPiAmVmVyc2lvbiwNCj4gPiA+ID4gPiA+ID4gJlRhYmxlS2V5KTsNCj4gPiA+ID4gPiA+ ID4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4gPiA+ID4gPiA+ICsgICAgICBp ZiAoU3RhdHVzID09IEVGSV9OT1RfRk9VTkQpIHsNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgLy8N Cj4gPiA+ID4gPiA+ID4gKyAgICAgICAgLy8gVGhlcmUgaXMgbm8gbW9yZSBBQ1BJIHRhYmxlcyBm b3VuZC4gU28gd2UgcmV0dXJuDQo+ID4gPiA+ID4gPiA+ICsgd2l0aA0KPiA+ID4gPiA+IEVGSV9T VUNDRVNTLg0KPiA+ID4gPiA+ID4gPiArICAgICAgICAvLw0KPiA+ID4gPiA+ID4gPiArICAgICAg ICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCj4gPiA+ID4gPiA+ID4gKyAgICAgIH0NCj4gPiA+ID4g PiA+ID4gKw0KPiA+ID4gPiA+ID4gPiArICAgICAgYnJlYWs7DQo+ID4gPiA+ID4gPiA+ICsgICAg fQ0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ICsgICAgZm9yIChJbmRleDIgPSAwOyBJ bmRleDIgPCBMZW5ndGg7IEluZGV4MisrKSB7DQo+ID4gPiA+ID4gPiA+ICsgICAgICBpZiAoVGFi bGVLZXkgPT0gSW5zdGFsbGVkS2V5W0luZGV4Ml0pIHsNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAg YnJlYWs7DQo+ID4gPiA+ID4gPiA+ICsgICAgICB9DQo+ID4gPiA+ID4gPiA+ICsgICAgfQ0KPiA+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ICsgICAgaWYgKEluZGV4MiA8IExlbmd0aCkgew0K PiA+ID4gPiA+ID4gPiArICAgICAgU3RhdHVzID0gQ2NNZWFzdXJlQWNwaVRhYmxlICgNCj4gPiA+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgQ2NQcm90b2NvbCwNCj4gPiA+ID4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgKENIQVI4ICopJlRhYmxlLT5TaWduYXR1cmUsDQo+ID4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICAgIHNpemVvZiAoVGFibGUtPlNpZ25hdHVyZSksDQo+ID4gPiA+ID4g PiA+ICsgICAgICAgICAgICAgICAgIChFRklfUEhZU0lDQUxfQUREUkVTUykoVUlOVE4pVGFibGUs DQo+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgIFRhYmxlLT5MZW5ndGgNCj4gPiA+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICAgKTsNCj4gPiA+ID4gPiA+ID4gKyAgICAgIGlmIChFRklf RVJST1IgKFN0YXR1cykpIHsNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgREVCVUcgKCgNCj4gPiA+ ID4gPiA+ID4gKyAgICAgICAgICBERUJVR19FUlJPUiwNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAg ICAiTWVhc3VyZSBBQ1BJIHRhYmxlIFslLTQuNGFdIHdpdGggU2l6ZSA9IDB4JXgNCj4gPiA+ID4g PiA+ID4gKyBmYWlsZWQhIFN0YXR1cw0KPiA+ID4gPiA+ID0gJXJcbiIsDQo+ID4gPiA+ID4gPiA+ ICsgICAgICAgICAgKENPTlNUIENIQVI4ICopJlRhYmxlLT5TaWduYXR1cmUsDQo+ID4gPiA+ID4g PiA+ICsgICAgICAgICAgVGFibGUtPkxlbmd0aCwNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgICBT dGF0dXMNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgICApKTsNCj4gPiA+ID4gPiA+ID4gKyAgICAg ICAgYnJlYWs7DQo+ID4gPiA+ID4gPiA+ICsgICAgICB9IGVsc2Ugew0KPiA+ID4gPiA+ID4gPiAr ICAgICAgICBERUJVRyAoKA0KPiA+ID4gPiA+ID4gPiArICAgICAgICAgIERFQlVHX0lORk8sDQo+ ID4gPiA+ID4gPiA+ICsgICAgICAgICAgIk1lYXN1cmUgQUNQSSB0YWJsZSBbJS00LjRhXSB3aXRo IFNpemUgPSAweCV4XG4iLA0KPiA+ID4gPiA+ID4gPiArICAgICAgICAgIChDT05TVCBDSEFSOCAq KSZUYWJsZS0+U2lnbmF0dXJlLA0KPiA+ID4gPiA+ID4gPiArICAgICAgICAgIFRhYmxlLT5MZW5n dGgNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgICApKTsNCj4gPiA+ID4gPiA+ID4gKyAgICAgIH0N Cj4gPiA+ID4gPiA+ID4gKyAgICB9DQo+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gKyAg ICBJbmRleDErKzsNCj4gPiA+ID4gPiA+ID4gKyAgfSB3aGlsZSAoVFJVRSk7DQo+ID4gPiA+ID4g PiA+ICsNCj4gPiA+ID4gPiA+ID4gKyAgcmV0dXJuIFN0YXR1czsNCj4gPiA+ID4gPiA+ID4gK30N Cj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiAgLyoqDQo+ID4gPiA+ID4gPiA+ICAgIFBy b2Nlc3MgYSBRRU1VX0xPQURFUl9BRERfUE9JTlRFUiBjb21tYW5kIGluIG9yZGVyIHRvDQo+ID4g c2VlDQo+ID4gPiBpZiBpdHMNCj4gPiA+ID4gPiA+ID4gdGFyZ2V0IGJ5dGUNCj4gPiA+ID4gPiA+ ID4gICAgYXJyYXkgaXMgYW4gQUNQSSB0YWJsZSwgYW5kIGlmIHNvLCBpbnN0YWxsIGl0Lg0KPiA+ ID4gPiA+ID4gPiBAQCAtMTI0Nyw2ICsxNDA1LDE2IEBAIEluc3RhbGxRZW11RndDZmdUYWJsZXMg KA0KPiA+ID4gPiA+ID4gPiAgICAgIH0NCj4gPiA+ID4gPiA+ID4gICAgfQ0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ID4gPiArICAvLyBNZWFzdXJlIHRoZSBB Q1BJIHRhYmxlcyB3aGljaCBhcmUgZG93bmxvYWRlZCBmcm9tIFFFTVUNCj4gPiA+ID4gPiA+ID4g KyAvLyAgaWYgKEluc3RhbGxlZCA+IDApIHsNCj4gPiA+ID4gPiA+ID4gKyAgICBTdGF0dXMgPSBN ZWFzdXJlSW5zdGFsbGVkVGFibGVzRnJvbVFlbXUgKEluc3RhbGxlZEtleSwNCj4gPiA+IEluc3Rh bGxlZCk7DQo+ID4gPiA+ID4gPiA+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ ID4gPiA+ID4gPiArICAgICAgZ290byBVbmluc3RhbGxBY3BpVGFibGVzOw0KPiA+ID4gPiA+ID4g PiArICAgIH0NCj4gPiA+ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4g PiA+ICAgIC8vDQo+ID4gPiA+ID4gPiA+ICAgIC8vIEluc3RhbGwgYSBwcm90b2NvbCB0byBub3Rp ZnkgdGhhdCB0aGUgQUNQSSB0YWJsZQ0KPiA+ID4gPiA+ID4gPiBwcm92aWRlZCBieSBRZW11DQo+ ID4gPiBpcw0KPiA+ID4gPiA+ID4gPiAgICAvLyByZWFkeS4NCj4gPiA+ID4gPiA+ID4gLS0NCj4g PiA+ID4gPiA+ID4gMi4yOS4yLndpbmRvd3MuMg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4g Pg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4g Pg0KPiA+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPiANCj4gPg0KDQo=