From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web12.1320.1610699594812376427 for ; Fri, 15 Jan 2021 00:33:14 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Jg3ZJOIE; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: ray.ni@intel.com) IronPort-SDR: P0H6hlEm0tczvBHANuCyJmx0FpZHp9TQi8d+N3Ma8839qYEvqYJTy5+shGWl22ejJ7LA00POVf o2vzJ8uY70qQ== X-IronPort-AV: E=McAfee;i="6000,8403,9864"; a="158293267" X-IronPort-AV: E=Sophos;i="5.79,348,1602572400"; d="scan'208";a="158293267" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jan 2021 00:33:08 -0800 IronPort-SDR: kYySuYYI2jHyHHn58mN5QRS9q+vAR9hLRE9pQ8jS+KOALmeYt5SvmeYbpi6NXbwQoFPnZ6CtRn t18E4S/Pc7/Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,348,1602572400"; d="scan'208";a="465519657" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga001.fm.intel.com with ESMTP; 15 Jan 2021 00:33:08 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 15 Jan 2021 00:33:07 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 15 Jan 2021 00:33:07 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Fri, 15 Jan 2021 00:33:06 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mCy841fDbD3DGqboc7ZMGWwqIQA7Xj4D8qomCC147x0ksZ6JVEL1+mfk4FVIdtxEsm4JCxv/RPhgicOdSv77LdntM+aTJEnbKC+AkgNQTGCT+m37xUXRMyVgLS1UHg/8IAnzUg6zAAY0pJkNsEbPiGRZ60DbtA5O9JceeqdkqTZ87aheLoN9xSyd8qVlR3vn45ptu5FT0dgLa/aTcwva7WR3BC0w6GqpW8v1r1wOcpX8kUfT/WtOlB42xuWK04Tb7yMLsNAErYm8UaasVgbuHxKKIa4ySNfexRoesoiSFkJNp+JY9AkOyx7TxUdo9hJrh6gApjy1dyd89PUKtxyzvQ== 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=oa4yd1o47kZjjzOZrHb28lHeFBKSibxAmJAzDi5i3Mk=; b=OaFVCKrAD2ptGuDFwMN/jENILLne+/f75Uipc0JOLeUgZr8KiQ4s6NcaXrN5Cf6gXPUdUSlwEFdbWs6AsewWThZntXki+lxF7QtzOrDQ5g/Tctff1+0iwsLVVbdUAjKS4rtVWz59fPulPsRcTO/XtT7SwQFw2aADVDKvRLa1sTmRtTOVjayGAJCDwVRdirqGUi9Y2EUmBEmRSoBaqV91+ORAfZOiqK2wWh1dJSazKfh7M4IAf5c2UXF7AH2xciau4Flu4P/n90KK4xqrhMBMPSTVZ/1xEkuwAxWy4+yvMUppaOst/bmvll8sE8PXxL7J8dFQHYmxRKWnY4CePQBP1A== 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=oa4yd1o47kZjjzOZrHb28lHeFBKSibxAmJAzDi5i3Mk=; b=Jg3ZJOIEZMY1nkWsYXHQYXAd2lLF8E9Gf2cZV98TZEwxs7J10q6YnnUhKB5UqOSDUbJ5W9S5DtE7mv3mEXWJkTh38vLTA0hlhSlnYOxrxc/UZao9XBS4w6FcAtX+RsoJMTwoD/40CiLIpUOcjGE1TS0Hw8ec7DTzDAqMit0TVW4= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by MWHPR1101MB2175.namprd11.prod.outlook.com (2603:10b6:301:5b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.11; Fri, 15 Jan 2021 08:33:04 +0000 Received: from CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::d18:1234:c1d6:5936]) by CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::d18:1234:c1d6:5936%7]) with mapi id 15.20.3763.010; Fri, 15 Jan 2021 08:33:04 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "Zeng, Star" CC: "Dong, Eric" , =?utf-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= , "Kumar, Rahul1" Subject: Re: [edk2-devel] [PATCH 2/3] UefiCpuPkg/CpuS3DataDxe: do not allocate useless register tables Thread-Topic: [edk2-devel] [PATCH 2/3] UefiCpuPkg/CpuS3DataDxe: do not allocate useless register tables Thread-Index: AQHW6RfpxmvHHIqjTk2NaiA87EFz+qolEmSggAATkYCAAAvXoIABLLAAgAEGtoCAAPonYA== Date: Fri, 15 Jan 2021 08:33:04 +0000 Message-ID: References: <20210112191934.12459-1-lersek@redhat.com> <20210112191934.12459-3-lersek@redhat.com> <6b798462-be3b-ad4a-fc84-eb679d28b601@redhat.com> In-Reply-To: <6b798462-be3b-ad4a-fc84-eb679d28b601@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: [192.198.147.213] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 984a2d2d-e5c0-4c98-eb1c-08d8b9302d94 x-ms-traffictypediagnostic: MWHPR1101MB2175: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WT1K4Fu56n17MGRewMH7qqVFBZ5sFbRZsGX3bdnG+/TDnzT60pA+pLRj1GYz7eQRb8ohVmv5I41dEPmiuO3fuRwClkxmtFi3eJaQNXKaIQwLiO0t/svNRHYc+apa6UfaYm2leGZezQoUDH8DbS+RrRZ9N7RQk95ZKj4j0/5QwISTyBnGFTRvE/3h0vH8NYfG9UwM7tma/72bUJBPbQdORUki7H60dyFKk83ORIf18HuVNHYd4LqQNMiobsihuOuUiWYSINP7pDg4eIl4J5f/NHbvrLtPBEVpeUZ4JX0hFn93RynnvrxqkQUcRNOWrZ/D3Yy1WNAkk0dnyicIUK1JML7DqaMgFk89BBWOk/wnJsNDNwTFvM32FLuyUkFo4QZ2k3ZLaufhichxbSU7RhxpcpAyfcz2+KCWDpUqtzSny6vV9eXOaEdaR1az0Jrhg8Rcy4B20Fh1q2sz20nwQ1wCcA== 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:(4636009)(366004)(396003)(376002)(136003)(39860400002)(346002)(66476007)(66946007)(66556008)(71200400001)(19627235002)(66446008)(64756008)(2906002)(52536014)(26005)(6506007)(76116006)(53546011)(7696005)(6636002)(8936002)(478600001)(110136005)(966005)(186003)(316002)(5660300002)(107886003)(33656002)(4326008)(83380400001)(9686003)(55016002)(54906003)(8676002)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?Nno3MmRoclBYbXVtSVllWWxHZ0pTd0hScGFDTllGNTBzZkFMNjhjUGRLUEpt?= =?utf-8?B?Sll5clkyUzVtWTZld2FFbzBZMDBDeWRtNXpYcXRFT1UzU3J1MTZjam05cFFZ?= =?utf-8?B?dVFzTnRzcHQ3cTdZL29Zem1pUHpwVmd2THIxNHpCTGlmSmMyb2E3NHdQSEN6?= =?utf-8?B?K0ZPRklDRk9CTFBTR0FEb2wyVGlRaGw4SHc5clhNdFJ0alJOQ2NWRGVUMWlI?= =?utf-8?B?ancyZnAyRXZ4eWJ5QWlmL2ppSXJKNEpUMXMrSDROSXRVaHViR2Q2QWUvdFVy?= =?utf-8?B?SU5NSmgyYXNhK2VyMk9xVC80aUpOajN0dmdaMTgrWnZpNjZ1anJzeCtvcEtz?= =?utf-8?B?YWNDc3Y2OHdNTXJRWVRhRlUrT0htUEdUcDl1OVo4d3pDeURIK0hCaGlseXlH?= =?utf-8?B?WnJ0WTQ2SWFtcVVjRzlkVThIeXQ0WjNkZFpzZ1VRKzdKYnJKQldRcURCYkZD?= =?utf-8?B?ZXVvWjJRMU8wU004YkRlRjg2OXVoc1oydE0rRGkvZlFPYnpFdHJmSU1leHlK?= =?utf-8?B?TW51MFNxT0F4cmtXenl0OXA0M2dhR2IyemZwdk5uZWFQSDlSNXRXR0M1TmJJ?= =?utf-8?B?Ym4yLytlY0FRVndEWTNFRXlUdFltWDdTNURFSmVocDg2OHBvTWZMNlZxS0JQ?= =?utf-8?B?bTRyTUVUWXBZRjE2UmJtOGROWmExeERGTzdnaXNkZmE0SDhpYWJIMERqR2xo?= =?utf-8?B?Wmx6Mmp3ODRrTDBkTlZiU0tNUGhZeHFYSnBlR3ErUmI4V1VaOTNSdGhqU3dE?= =?utf-8?B?TVZkNzJXbThoU2YyOFpiVFoyYUZzd0toUGFVRFpsc0NkNzh5WjVPQlhwUTZh?= =?utf-8?B?REtxV0pOT2FMaWwzSndCTW9HNGs5U0dhVURRd0Y5alhzdHNidUxLWjdqNHJz?= =?utf-8?B?eFF4T3B2a0swLzhEY3FFWHh3V3BXYUJXSUNCOWZ0OUQ3c0I4ZWdreFA4c04v?= =?utf-8?B?UVFmVU5TWGFwYnpJdjVKOHJ3Q3VNUFdKODhEY2svNlBqZjhCY2JXQTFiUVBj?= =?utf-8?B?WW1pbkw3ZlRjRjFxR1lveFA0ODlxWHJIRFdweVVuVEtGWVdTYnM2Rzg4UEJk?= =?utf-8?B?czBLL1ZsV2lIVmJtcmtnanB3UnZXbklsUWV5cVYzQVNKbGVkRldYK1ZUbGhT?= =?utf-8?B?Q2hoa2dxRzVFdEdFUnltQ2tJY0M0SGpEempPY01vUVJyL08wNHJmRUs3dmpp?= =?utf-8?B?ZDZCeEdyN0JRNGlGTVRVL0NwN0NYNUhRMGlTQndnRm1zbzRhV0R4WUxUQWs5?= =?utf-8?B?RUR4eFJaUW5QNFhQZGx5VHZyZlNZUU9FZlRrMm1VbW9nbWtxK04vZTRKUms3?= =?utf-8?Q?bkNsEypCyTPao=3D?= 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: 984a2d2d-e5c0-4c98-eb1c-08d8b9302d94 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jan 2021 08:33:04.5724 (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: 6ePBuH75PaFLWcOFshuYVJpmiq8tMvOLPpAp+ct3iUdsngET1bDuESZwsTzwCM5/0ByfaKMZcGwEVyaA8uXgoQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2175 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 TGFzemxvLA0KSSB3aWxsIHRlc3QgbXkgcGF0Y2hlcyBpbnRlcm5hbGx5IGFuZCBmaW5kIGEgd2F5 IHRvIGdpdmUgeW91IHRoZSBwYXRjaCB0byBiZSBpbmNsdWRlZCBpbiB5b3VyIFYyLg0KDQpUaGFu a3MsDQpSYXkNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBMYXN6bG8g RXJzZWsNCj4gU2VudDogRnJpZGF5LCBKYW51YXJ5IDE1LCAyMDIxIDE6MzYgQU0NCj4gVG86IFpl bmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29t PjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRl bC5jb20+OyBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+OyBLdW1h ciwgUmFodWwxDQo+IDxyYWh1bDEua3VtYXJAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2Vk azItZGV2ZWxdIFtQQVRDSCAyLzNdIFVlZmlDcHVQa2cvQ3B1UzNEYXRhRHhlOiBkbyBub3QgYWxs b2NhdGUgdXNlbGVzcyByZWdpc3RlciB0YWJsZXMNCj4gDQo+IEhpIFN0YXIsDQo+IA0KPiBPbiAw MS8xNC8yMSAwMjo1NSwgWmVuZywgU3RhciB3cm90ZToNCj4gPiBKdXN0IHRoaW5rIG1vcmUsIHRo ZSBjaGFuZ2UgYmVsb3cgbmVlZHMgYSBtaW5vciBlbmhhbmNlbWVudCBhcyBiZWxvdywgb3RoZXJ3 aXNlIHRoZSB0YWJsZSB3aWxsIGJlIG92ZXJyaWRkZW4gYnkgdGhlDQo+IGZ1bmN0aW9uJ3Mgc2Vj b25kIGNhbGwuDQo+IA0KPiB0aGFuayB5b3UgZm9yIGZvbGxvd2luZyB1cCBoZXJlIC0tIGNvdWxk IHlvdSBvciBSYXkgcGxlYXNlIHByb3Bvc2UgYW4NCj4gYWN0dWFsIHBhdGNoIGZvciBSZWdpc3Rl ckNwdUZlYXR1cmVzTGliLCBhcyBJIHJlcXVlc3RlZCBiZWZvcmU/DQo+IA0KPiBQb3N0aW5nIHRo ZSBwYXRjaCBpcyBub3QgbmVjZXNzYXJ5OyBJIG9ubHkgbmVlZCB0byBmZXRjaCBpdCBmcm9tIHlv dXINCj4gcGVyc29uYWwgcmVwbyhzKSAtLSB5b3UgY2FuIGV2ZW4gc2VuZCBtZSB0aGUgcmVwbyAv IGJyYW5jaCByZWZlcmVuY2UNCj4gb2ZmLWxpc3QuIEkgd291bGQgaW5jbHVkZSB0aGUgUmVnaXN0 ZXJDcHVGZWF0dXJlc0xpYiBwYXRjaCBpbiBteSB2Mg0KPiBwb3N0aW5nIG9mIHRoaXMgc2VyaWVz Lg0KPiANCj4gVGhhbmtzIQ0KPiBMYXN6bG8NCj4gDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPj4g U2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDEzLCAyMDIxIDQ6MTIgUE0NCj4gPj4gVG86IFplbmcs IFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQu Y29tPjsNCj4gPj4gZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPj4gQ2M6IERvbmcsIEVyaWMgPGVy aWMuZG9uZ0BpbnRlbC5jb20+OyBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqQ0KPiA+PiA8cGhpbG1k QHJlZGhhdC5jb20+OyBLdW1hciwgUmFodWwxIDxyYWh1bDEua3VtYXJAaW50ZWwuY29tPg0KPiA+ PiBTdWJqZWN0OiBSRTogW1BBVENIIDIvM10gVWVmaUNwdVBrZy9DcHVTM0RhdGFEeGU6IGRvIG5v dCBhbGxvY2F0ZSB1c2VsZXNzDQo+ID4+IHJlZ2lzdGVyIHRhYmxlcw0KPiA+Pg0KPiA+PiBTdGFy LA0KPiA+PiBUaGFua3MgZm9yIHBvaW50aW5nIHRoYXQuDQo+ID4+IFJlZ2lzdGVyQ3B1RmVhdHVy ZXNMaWIgYXNzdW1lcyBbUHJlU21tSW5pdF1SZWdpc3RlclRhYmxlIGFycmF5IGlzDQo+ID4+IGFs bG9jYXRlZCBidXQgQ3B1UzNEYXRhDQo+ID4+IGRvZXNuJ3QgZG8gdGhhdC4NCj4gPj4NCj4gPj4g Q2FuIGZvbGxvd2luZyBjaGFuZ2UgZml4IHRoZSBwcm9ibGVtPw0KPiA+Pg0KPiA+PiAtLS0gYS9V ZWZpQ3B1UGtnL0xpYnJhcnkvUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi9SZWdpc3RlckNwdUZlYXR1 cmVzTGliLmMNCj4gPj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L1JlZ2lzdGVyQ3B1RmVhdHVy ZXNMaWIvUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi5jDQo+ID4+IEBAIC05MzcsMjEgKzkzNywxOSBA QCBHZXRBY3BpQ3B1RGF0YSAoDQo+ID4+ICAgIEVGSV9QUk9DRVNTT1JfSU5GT1JNQVRJT04gICAg ICAgICAgICBQcm9jZXNzb3JJbmZvQnVmZmVyOw0KPiA+Pg0KPiA+PiAgICBBY3BpQ3B1RGF0YSA9 IChBQ1BJX0NQVV9EQVRBICopIChVSU5UTikgUGNkR2V0NjQNCj4gPj4gKFBjZENwdVMzRGF0YUFk ZHJlc3MpOw0KPiA+PiAtICBpZiAoQWNwaUNwdURhdGEgIT0gTlVMTCkgew0KPiA+PiAtICAgIHJl dHVybiBBY3BpQ3B1RGF0YTsNCj4gPj4gLSAgfQ0KPiA+PiAtDQo+ID4+IC0gIEFjcGlDcHVEYXRh ICA9IEFsbG9jYXRlUGFnZXMgKEVGSV9TSVpFX1RPX1BBR0VTIChzaXplb2YNCj4gPj4gKEFDUElf Q1BVX0RBVEEpKSk7DQo+ID4+IC0gIEFTU0VSVCAoQWNwaUNwdURhdGEgIT0gTlVMTCk7DQo+ID4+ ICsgIGlmIChBY3BpQ3B1RGF0YSA9PSBOVUxMKSB7DQo+ID4+ICsgICAgQWNwaUNwdURhdGEgID0g QWxsb2NhdGVQYWdlcyAoRUZJX1NJWkVfVE9fUEFHRVMgKHNpemVvZg0KPiA+PiAoQUNQSV9DUFVf REFUQSkpKTsNCj4gPj4gKyAgICBBU1NFUlQgKEFjcGlDcHVEYXRhICE9IE5VTEwpOw0KPiA+Pg0K PiA+PiAtICAvLw0KPiA+PiAtICAvLyBTZXQgUGNkQ3B1UzNEYXRhQWRkcmVzcyB0byB0aGUgYmFz ZSBhZGRyZXNzIG9mIHRoZSBBQ1BJX0NQVV9EQVRBDQo+ID4+IHN0cnVjdHVyZQ0KPiA+PiAtICAv Lw0KPiA+PiAtICBTdGF0dXMgPSBQY2RTZXQ2NFMgKFBjZENwdVMzRGF0YUFkZHJlc3MsIChVSU5U NjQpKFVJTlROKUFjcGlDcHVEYXRhKTsNCj4gPj4gLSAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVz KTsNCj4gPj4gKyAgICAvLw0KPiA+PiArICAgIC8vIFNldCBQY2RDcHVTM0RhdGFBZGRyZXNzIHRv IHRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlIEFDUElfQ1BVX0RBVEENCj4gPj4gc3RydWN0dXJlDQo+ ID4+ICsgICAgLy8NCj4gPj4gKyAgICBTdGF0dXMgPSBQY2RTZXQ2NFMgKFBjZENwdVMzRGF0YUFk ZHJlc3MsDQo+ID4+IChVSU5UNjQpKFVJTlROKUFjcGlDcHVEYXRhKTsNCj4gPj4gKyAgICBBU1NF UlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiA+Pg0KPiA+PiAtICBHZXROdW1iZXJPZlByb2Nlc3Nv ciAoJk51bWJlck9mQ3B1cywgJk51bWJlck9mRW5hYmxlZFByb2Nlc3NvcnMpOw0KPiA+PiAtICBB Y3BpQ3B1RGF0YS0+TnVtYmVyT2ZDcHVzID0gKFVJTlQzMilOdW1iZXJPZkNwdXM7DQo+ID4+ICsg ICAgR2V0TnVtYmVyT2ZQcm9jZXNzb3IgKCZOdW1iZXJPZkNwdXMsDQo+ID4+ICZOdW1iZXJPZkVu YWJsZWRQcm9jZXNzb3JzKTsNCj4gPj4gKyAgICBBY3BpQ3B1RGF0YS0+TnVtYmVyT2ZDcHVzID0g KFVJTlQzMilOdW1iZXJPZkNwdXM7DQo+ID4+ICsgIH0NCj4gPj4NCj4gPg0KPiA+IEFkZCBjaGVj ayBhcyBiZWxvdyBoZXJlLg0KPiA+DQo+ID4gaWYgKEFjcGlDcHVEYXRhLT5SZWdpc3RlclRhYmxl ID09IDApIHsNCj4gPg0KPiA+PiAgICAvLw0KPiA+PiAgICAvLyBBbGxvY2F0ZSBidWZmZXIgZm9y IGVtcHR5IFJlZ2lzdGVyVGFibGUgYW5kIFByZVNtbUluaXRSZWdpc3RlclRhYmxlDQo+ID4+IGZv ciBhbGwgQ1BVcw0KPiA+Pg0KPiA+PiBUaGFua3MsDQo+ID4+IFJheQ0KPiA+Pg0KPiA+Pj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+IEZyb206IFplbmcsIFN0YXIgPHN0YXIuemVu Z0BpbnRlbC5jb20+DQo+ID4+PiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkgMTMsIDIwMjEgMzox NyBQTQ0KPiA+Pj4gVG86IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBMYXN6bG8gRXJzZWsg PGxlcnNla0ByZWRoYXQuY29tPjsNCj4gPj4+IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4+PiBD YzogRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IFBoaWxpcHBlIE1hdGhpZXUtRGF1 ZMOpDQo+ID4+PiA8cGhpbG1kQHJlZGhhdC5jb20+OyBLdW1hciwgUmFodWwxIDxyYWh1bDEua3Vt YXJAaW50ZWwuY29tPjsgWmVuZywNCj4gPj4gU3Rhcg0KPiA+Pj4gPHN0YXIuemVuZ0BpbnRlbC5j b20+DQo+ID4+PiBTdWJqZWN0OiBSRTogW1BBVENIIDIvM10gVWVmaUNwdVBrZy9DcHVTM0RhdGFE eGU6IGRvIG5vdCBhbGxvY2F0ZQ0KPiA+PiB1c2VsZXNzDQo+ID4+PiByZWdpc3RlciB0YWJsZXMN Cj4gPj4+DQo+ID4+PiBEeGVSZWdpc3RlckNwdUZlYXR1cmVzTGliIHN0aWxsIGhhcyBzb21lIGV4 ZWN1dGlvbiBzZXF1ZW5jZSBkZXBlbmRlbmN5DQo+ID4+IHRvDQo+ID4+PiBVZWZpQ3B1UGtnIENw dVMzRGF0YUR4ZS4NCj4gPj4+IFRoZXJlIGlzIEFTU0VSVCB0byBoYXBwZW4gYXQNCj4gPj4+DQo+ ID4+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9VZWZpQ3B1 UGtnL0xpYnJhcnkvUmVnaXN0DQo+ID4+IGVyQw0KPiA+Pj4gcHVGZWF0dXJlc0xpYi9SZWdpc3Rl ckNwdUZlYXR1cmVzTGliLmMjTDEwNTkgd2hlbiBDcHVTM0RhdGFEeGUgd2l0aA0KPiA+PiB0aGlz DQo+ID4+PiBwYXRjaCBydW5zIGJlZm9yZSBEeGVSZWdpc3RlckNwdUZlYXR1cmVzTGliLg0KPiA+ Pj4NCj4gPj4+IFRoYW5rcywNCj4gPj4+IFN0YXINCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4+PiBGcm9tOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPiA+Pj4gU2Vu dDogV2VkbmVzZGF5LCBKYW51YXJ5IDEzLCAyMDIxIDI6MTIgUE0NCj4gPj4+IFRvOiBMYXN6bG8g RXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPj4+IENj OiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgUGhpbGlwcGUgTWF0aGlldS1EYXVk w6kNCj4gPj4+IDxwaGlsbWRAcmVkaGF0LmNvbT47IEt1bWFyLCBSYWh1bDEgPHJhaHVsMS5rdW1h ckBpbnRlbC5jb20+OyBaZW5nLA0KPiA+PiBTdGFyDQo+ID4+PiA8c3Rhci56ZW5nQGludGVsLmNv bT4NCj4gPj4+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMi8zXSBVZWZpQ3B1UGtnL0NwdVMzRGF0YUR4 ZTogZG8gbm90IGFsbG9jYXRlDQo+ID4+IHVzZWxlc3MNCj4gPj4+IHJlZ2lzdGVyIHRhYmxlcw0K PiA+Pj4NCj4gPj4+IFJldmlld2VkLWJ5OiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4+ Pg0KPiA+Pj4gKEkgZ3Vlc3MgeW91IGRvbid0IHdhbnQgdG8gcHV0IFJlZGhhdCBjb3B5cmlnaHQg aW4gdGhlIHBhdGNoIDEmMiBzbyB0aGUNCj4gPj4+IGNvcHlyaWdodCB5ZWFyIGlzIG5vdCB1cGRh dGVkLg0KPiA+Pj4gU2luY2UgaXQncyBhIHNpbXBsZSBjaGFuZ2UgdGhhdCBtYWtlIHRoZSBsb2dp YyBtb3JlIG5lYXQsIEkgYW0gb2sgd2l0aCB0aGF0LikNCj4gPj4+DQo+ID4+PiBXaWxsIHlvdSBj cmVhdGUgYSBwdWxsIHJlcXVlc3QgdG8gbWVyZ2UgYWxsIDMgcGF0Y2hlcyB0b2dldGhlcj8NCj4g Pj4+DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBMYXN6 bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+Pj4+IFNlbnQ6IFdlZG5lc2RheSwgSmFu dWFyeSAxMywgMjAyMSAzOjIwIEFNDQo+ID4+Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ ID4+Pj4gQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBQaGlsaXBwZSBNYXRo aWV1LURhdWTDqQ0KPiA+Pj4+IDxwaGlsbWRAcmVkaGF0LmNvbT47IEt1bWFyLCBSYWh1bDEgPHJh aHVsMS5rdW1hckBpbnRlbC5jb20+OyBOaSwNCj4gPj4gUmF5DQo+ID4+Pj4gPHJheS5uaUBpbnRl bC5jb20+OyBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiA+Pj4+IFN1YmplY3Q6 IFtQQVRDSCAyLzNdIFVlZmlDcHVQa2cvQ3B1UzNEYXRhRHhlOiBkbyBub3QgYWxsb2NhdGUgdXNl bGVzcw0KPiA+Pj4+IHJlZ2lzdGVyIHRhYmxlcw0KPiA+Pj4+DQo+ID4+Pj4gQ3B1UzNEYXRhRHhl IGFsbG9jYXRlcyB0aGUgIlJlZ2lzdGVyVGFibGUiIGFuZA0KPiA+PiAiUHJlU21tSW5pdFJlZ2lz dGVyVGFibGUiDQo+ID4+Pj4gYXJyYXlzIGluIEFDUElfQ1BVX0RBVEEganVzdCBzbyBldmVyeSBw cm9jZXNzb3IgaW4gdGhlIHN5c3RlbSBjYW4gaGF2ZQ0KPiA+Pj4+IGl0cyBvd24gZW1wdHkgcmVn aXN0ZXIgdGFibGUsIG1hdGNoZWQgYnkgQVBJQyBJRC4gVGhpcyBoYXMgbmV2ZXIgYmVlbg0KPiA+ Pj4+IHVzZWZ1bCBpbiBwcmFjdGljZS4NCj4gPj4+Pg0KPiA+Pj4+IEdpdmVuIGNvbW1pdCBlOTky Y2MzZjQ4NTkgKCJVZWZpQ3B1UGtnIFBpU21tQ3B1RHhlU21tOiBSZWR1Y2UNCj4gPj4+IFNNUkFN DQo+ID4+Pj4gY29uc3VtcHRpb24gaW4gQ3B1UzMuYyIsIDIwMjEtMDEtMTEpLCBzaW1wbHkgbGVh dmUgYm90aA0KPiA+Pj4+ICJBY3BpQ3B1RGF0YS0+UmVnaXN0ZXJUYWJsZSIgYW5kICJBY3BpQ3B1 RGF0YS0NCj4gPj4+IFByZVNtbUluaXRSZWdpc3RlclRhYmxlIg0KPiA+Pj4+IGluaXRpYWxpemVk IHRvIHRoZSB6ZXJvIGFkZHJlc3MuIFRoaXMgc2ltcGxpZmllcyB0aGUgZHJpdmVyLCBhbmQgc2F2 ZXMNCj4gPj4+PiBib3RoIG5vcm1hbCBSQU0gKGJvb3Qgc2VydmljZXMgZGF0YSB0eXBlIG1lbW9y eSkgYW5kIC0tIGluDQo+ID4+Pj4gUGlTbW1DcHVEeGVTbW0NCj4gPj4+PiAtLSBTTVJBTS4NCj4g Pj4+Pg0KPiA+Pj4+IENjOiBFcmljIERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4+Pj4g Q2M6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRAcmVkaGF0LmNvbT4NCj4gPj4+PiBD YzogUmFodWwgS3VtYXIgPHJhaHVsMS5rdW1hckBpbnRlbC5jb20+DQo+ID4+Pj4gQ2M6IFJheSBO aSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPj4+PiBDYzogU3RhciBaZW5nIDxzdGFyLnplbmdAaW50 ZWwuY29tPg0KPiA+Pj4+IFJlZjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3df YnVnLmNnaT9pZD0zMTU5DQo+ID4+Pj4gU2lnbmVkLW9mZi1ieTogTGFzemxvIEVyc2VrIDxsZXJz ZWtAcmVkaGF0LmNvbT4NCj4gPj4+PiAtLS0NCj4gPj4+Pg0KPiA+Pj4+IE5vdGVzOg0KPiA+Pj4+ ICAgICBUZXN0ZWQgYnkgdGVtcG9yYXJpbHkgcmVwbGFjaW5nIE92bWZQa2dQa2cvQ3B1UzNEYXRh RHhlIGluIHRoZQ0KPiA+Pj4+IE9WTUYNCj4gPj4+PiBJQTMyDQo+ID4+Pj4gICAgIGFuZCBJQTMy WDY0IHBsYXRmb3JtcyB3aXRoIHRoaXMgZHJpdmVyIC0tIHRoaXMgZHJpdmVyIHdvcmtzIE9LIGlu IE9WTUYNCj4gPj4+PiAgICAgYXMgbG9uZyBhcyBubyBDUFVzIGFyZSBob3QtcGx1Z2dlZC4NCj4g Pj4+Pg0KPiA+Pj4+ICBVZWZpQ3B1UGtnL0NwdVMzRGF0YUR4ZS9DcHVTM0RhdGEuYyB8IDMyIC0t LS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAzMiBkZWxldGlvbnMo LSkNCj4gPj4+Pg0KPiA+Pj4+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0NwdVMzRGF0YUR4ZS9D cHVTM0RhdGEuYw0KPiA+Pj4+IGIvVWVmaUNwdVBrZy9DcHVTM0RhdGFEeGUvQ3B1UzNEYXRhLmMN Cj4gPj4+PiBpbmRleCAyYmUzMzVkOTE5MDMuLjA3OGFmMzZjZmI0MSAxMDA2NDQNCj4gPj4+PiAt LS0gYS9VZWZpQ3B1UGtnL0NwdVMzRGF0YUR4ZS9DcHVTM0RhdGEuYw0KPiA+Pj4+ICsrKyBiL1Vl ZmlDcHVQa2cvQ3B1UzNEYXRhRHhlL0NwdVMzRGF0YS5jDQo+ID4+Pj4gQEAgLTE2NSwxMCArMTY1 LDYgQEAgQ3B1UzNEYXRhSW5pdGlhbGl6ZSAoDQo+ID4+Pj4gICAgVUlOVE4gICAgICAgICAgICAg ICAgICAgICAgTnVtYmVyT2ZDcHVzOw0KPiA+Pj4+ICAgIFVJTlROICAgICAgICAgICAgICAgICAg ICAgIE51bWJlck9mRW5hYmxlZFByb2Nlc3NvcnM7DQo+ID4+Pj4gICAgVk9JRCAgICAgICAgICAg ICAgICAgICAgICAgKlN0YWNrOw0KPiA+Pj4+IC0gIFVJTlROICAgICAgICAgICAgICAgICAgICAg IFRhYmxlU2l6ZTsNCj4gPj4+PiAtICBDUFVfUkVHSVNURVJfVEFCTEUgICAgICAgICAqUmVnaXN0 ZXJUYWJsZTsNCj4gPj4+PiAtICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICBJbmRleDsNCj4g Pj4+PiAtICBFRklfUFJPQ0VTU09SX0lORk9STUFUSU9OICBQcm9jZXNzb3JJbmZvQnVmZmVyOw0K PiA+Pj4+ICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgIEdkdFNpemU7DQo+ID4+Pj4gICAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgSWR0U2l6ZTsNCj4gPj4+PiAgICBWT0lEICAgICAg ICAgICAgICAgICAgICAgICAqR2R0Ow0KPiA+Pj4+IEBAIC0yNTUsMzQgKzI1MSw2IEBAIENwdVMz RGF0YUluaXRpYWxpemUgKA0KPiA+Pj4+ICAgICAgQWNwaUNwdURhdGEtPlByZVNtbUluaXRSZWdp c3RlclRhYmxlID0gT2xkQWNwaUNwdURhdGEtDQo+ID4+Pj4+IFByZVNtbUluaXRSZWdpc3RlclRh YmxlOw0KPiA+Pj4+ICAgICAgQWNwaUNwdURhdGEtPkFwTG9jYXRpb24gICAgICAgICAgICAgID0g T2xkQWNwaUNwdURhdGEtPkFwTG9jYXRpb247DQo+ID4+Pj4gICAgICBDb3B5TWVtICgmQWNwaUNw dURhdGEtPkNwdVN0YXR1cywgJk9sZEFjcGlDcHVEYXRhLT5DcHVTdGF0dXMsDQo+ID4+Pj4gc2l6 ZW9mIChDUFVfU1RBVFVTX0lORk9STUFUSU9OKSk7DQo+ID4+Pj4gLSAgfSBlbHNlIHsNCj4gPj4+ PiAtICAgIC8vDQo+ID4+Pj4gLSAgICAvLyBBbGxvY2F0ZSBidWZmZXIgZm9yIGVtcHR5IFJlZ2lz dGVyVGFibGUgYW5kDQo+ID4+IFByZVNtbUluaXRSZWdpc3RlclRhYmxlDQo+ID4+PiBmb3INCj4g Pj4+PiBhbGwgQ1BVcw0KPiA+Pj4+IC0gICAgLy8NCj4gPj4+PiAtICAgIFRhYmxlU2l6ZSA9IDIg KiBOdW1iZXJPZkNwdXMgKiBzaXplb2YgKENQVV9SRUdJU1RFUl9UQUJMRSk7DQo+ID4+Pj4gLSAg ICBSZWdpc3RlclRhYmxlID0gKENQVV9SRUdJU1RFUl9UQUJMRSAqKUFsbG9jYXRlWmVyb1BhZ2Vz DQo+ID4+IChUYWJsZVNpemUpOw0KPiA+Pj4+IC0gICAgQVNTRVJUIChSZWdpc3RlclRhYmxlICE9 IE5VTEwpOw0KPiA+Pj4+IC0NCj4gPj4+PiAtICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IE51 bWJlck9mQ3B1czsgSW5kZXgrKykgew0KPiA+Pj4+IC0gICAgICBTdGF0dXMgPSBNcFNlcnZpY2Vz LT5HZXRQcm9jZXNzb3JJbmZvICgNCj4gPj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg TXBTZXJ2aWNlcywNCj4gPj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXgsDQo+ ID4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICZQcm9jZXNzb3JJbmZvQnVmZmVyDQo+ ID4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ID4+Pj4gLSAgICAgIEFTU0VS VF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ID4+Pj4gLQ0KPiA+Pj4+IC0gICAgICBSZWdpc3RlclRh YmxlW0luZGV4XS5Jbml0aWFsQXBpY0lkICAgICAgPQ0KPiA+Pj4+IChVSU5UMzIpUHJvY2Vzc29y SW5mb0J1ZmZlci5Qcm9jZXNzb3JJZDsNCj4gPj4+PiAtICAgICAgUmVnaXN0ZXJUYWJsZVtJbmRl eF0uVGFibGVMZW5ndGggICAgICAgID0gMDsNCj4gPj4+PiAtICAgICAgUmVnaXN0ZXJUYWJsZVtJ bmRleF0uQWxsb2NhdGVkU2l6ZSAgICAgID0gMDsNCj4gPj4+PiAtICAgICAgUmVnaXN0ZXJUYWJs ZVtJbmRleF0uUmVnaXN0ZXJUYWJsZUVudHJ5ID0gMDsNCj4gPj4+PiAtDQo+ID4+Pj4gLSAgICAg IFJlZ2lzdGVyVGFibGVbTnVtYmVyT2ZDcHVzICsgSW5kZXhdLkluaXRpYWxBcGljSWQgICAgICA9 DQo+ID4+Pj4gKFVJTlQzMilQcm9jZXNzb3JJbmZvQnVmZmVyLlByb2Nlc3NvcklkOw0KPiA+Pj4+ IC0gICAgICBSZWdpc3RlclRhYmxlW051bWJlck9mQ3B1cyArIEluZGV4XS5UYWJsZUxlbmd0aCAg ICAgICAgPSAwOw0KPiA+Pj4+IC0gICAgICBSZWdpc3RlclRhYmxlW051bWJlck9mQ3B1cyArIElu ZGV4XS5BbGxvY2F0ZWRTaXplICAgICAgPSAwOw0KPiA+Pj4+IC0gICAgICBSZWdpc3RlclRhYmxl W051bWJlck9mQ3B1cyArIEluZGV4XS5SZWdpc3RlclRhYmxlRW50cnkgPSAwOw0KPiA+Pj4+IC0g ICAgfQ0KPiA+Pj4+IC0gICAgQWNwaUNwdURhdGEtPlJlZ2lzdGVyVGFibGUgICAgICAgICAgID0N Cj4gPj4+PiAoRUZJX1BIWVNJQ0FMX0FERFJFU1MpKFVJTlROKVJlZ2lzdGVyVGFibGU7DQo+ID4+ Pj4gLSAgICBBY3BpQ3B1RGF0YS0+UHJlU21tSW5pdFJlZ2lzdGVyVGFibGUgPQ0KPiA+Pj4+IChF RklfUEhZU0lDQUxfQUREUkVTUykoVUlOVE4pKFJlZ2lzdGVyVGFibGUgKyBOdW1iZXJPZkNwdXMp Ow0KPiA+Pj4+ICAgIH0NCj4gPj4+Pg0KPiA+Pj4+ICAgIC8vDQo+ID4+Pj4gLS0NCj4gPj4+PiAy LjE5LjEuMy5nMzAyNDdhYTVkMjAxDQo+ID4+Pj4NCj4gPg0KPiANCj4gDQo+IA0KPiANCj4gDQoN Cg==