From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web08.5463.1610527240317779015 for ; Wed, 13 Jan 2021 00:40:40 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Vo1+FqGr; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: star.zeng@intel.com) IronPort-SDR: PiSnUh8chaq1on56IYc9Jn9XMe6S85x6LU97/B5tbwuMq3TvRVWiIRgDhO5t5AEnSXc0KxJqwe RwDxi6ABv6SA== X-IronPort-AV: E=McAfee;i="6000,8403,9862"; a="165260008" X-IronPort-AV: E=Sophos;i="5.79,343,1602572400"; d="scan'208";a="165260008" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2021 00:40:36 -0800 IronPort-SDR: Qr1EMo5AWMPkM/RT1/DYhNSRqnKt+XGMZTfbM1rCIzEawLLSphfisqH0JdP3QIdRkwR+MjOQps yRNTHTuysvfg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,343,1602572400"; d="scan'208";a="381763095" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga008.jf.intel.com with ESMTP; 13 Jan 2021 00:40:36 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 13 Jan 2021 00:40:32 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 13 Jan 2021 00:40:32 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.106) 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.1713.5; Wed, 13 Jan 2021 00:40:31 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WySplNlDGqDe5YsGv2PjWpVMcnm/6BuQGXLG4x87NoG+dNFhCoJyoI0E8BTMHWrcJuZlw9qwBi7HT2XJbKhpPvYDHBcdPKbD+e2soniYV/9hkqAYYD6xJAY1kx3UsyFo0fWcvQl7XOGMxUL6zPsBqQH/BQfGqgN5PxGf/+Hw5lkvkhoIjUS+yOBRoevkg1mQgQ0CMmUUdC5O4th2RXW6L08+QdSrfKE2r3sfqAJLmC7DduEKQ1GUG9ZQmta3uof5W6aBYhIU7uOtbjJsK+bSsxnPgtRoTICgMj0mAkYi7k4iRzzq34rM4qeTURyMHoLSPB0BuYh1bTV4RI6IMBzHZg== 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=xGaO/yjwoGYojzWjXAorh4dK4YfJOm8/53TqvatSrrU=; b=dIbQTSYvkRtbRPeP2L7QHUklwspNfsMNRuT8w8waQBQY6h3kr4amrfk4heT2OkCqz4NMP2Gk0yY6M2se3CyFuFeAOgAJEDhfzbst7x8XfBg4DzLHyUBI4lCHEuSSTHOdXLKdNYQdKzE57YdlD4uXIaHWhsa0tVOdf9Pd+A7f9RvsW9ie4A/J/s3JyKt1k/SqWCmaGSGJy6R92MTB4HeM/BZ0Pr00+8cDZorKek3S764brU+Iewk10tSD12oWq2xiv5iswTjGA9/TTO4lLz02hiJkCluPZDIpuHVamrHulOQw57pdkgSa15IuI7w8xgoPsvv08KT05arOI7HjhNhEBQ== 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=xGaO/yjwoGYojzWjXAorh4dK4YfJOm8/53TqvatSrrU=; b=Vo1+FqGrl5Ci5s6eG01aCVp1+LwnzJMa6OzcJ9HSmltmo7hl+K7JQWWCHPp/l+QXyGbjeKw9kMfB/CnpiQkI9jp4vD2l8eZrcTrj3Xh9LrX0hlc5FTEU8arfvHw6gATXa4E4V8O1OieD+2hQyejzyIVcm3fUX9FDQaC3aFx9LEQ= Received: from MN2PR11MB4062.namprd11.prod.outlook.com (2603:10b6:208:150::11) by MN2PR11MB4093.namprd11.prod.outlook.com (2603:10b6:208:13f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Wed, 13 Jan 2021 08:40:30 +0000 Received: from MN2PR11MB4062.namprd11.prod.outlook.com ([fe80::a036:9c4d:3450:ed5b]) by MN2PR11MB4062.namprd11.prod.outlook.com ([fe80::a036:9c4d:3450:ed5b%7]) with mapi id 15.20.3742.012; Wed, 13 Jan 2021 08:40:30 +0000 From: "Zeng, Star" To: "Ni, Ray" , Laszlo Ersek , "devel@edk2.groups.io" CC: "Dong, Eric" , =?utf-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= , "Kumar, Rahul1" , "Zeng, Star" Subject: Re: [PATCH 2/3] UefiCpuPkg/CpuS3DataDxe: do not allocate useless register tables Thread-Topic: [PATCH 2/3] UefiCpuPkg/CpuS3DataDxe: do not allocate useless register tables Thread-Index: AQHW6RfqZEmySNCxrUicEkLuRW4LWaolE+wAgAAQksCAABDrAIAAB79A Date: Wed, 13 Jan 2021 08:40:29 +0000 Message-ID: References: <20210112191934.12459-1-lersek@redhat.com> <20210112191934.12459-3-lersek@redhat.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.202] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a009a2f2-6bff-4863-79b2-08d8b79ee229 x-ms-traffictypediagnostic: MN2PR11MB4093: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1468; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rKRM56dyFbWiqIEstqjvjaZmOJyuuwM11yAXsszPIglJXfjXYIpIoQrrPgh6JKzOO+UsxcSnyfOJ7AGtZ3BxvKoMwp03djYFcBEE0N8HSGoSMc7WtpMN7qYF4p3CZSsPHYrrSrYVVRdqTe9pV6NvEyGk5Vn5UFsg37f25V1muNuGEl1omDkeGddPVkS+KFFxZkOsPI3OKX/4r2qyP90BR0E9DkQ6lDdUwqVbMwxTCfkqvOJSQH0x4IXF3JwziU0cMEnD+lx/FtSPfYxkV0+8HU/6S/Gt/FCVoqGNkneajagFGCoYMWaPm++6fY4q/AuCyPVr8pnHH40iH63GSN67nv+QcBYfHowI8xWSzsOEWW4xeH6ykJT297P+AXSc2NUil5lmwjRmOCOZBWdN4EZKkezx7GGzu3FkJsMUDlpLtIc//+FMxJ5jw6otB5YTDHcye2pTZyvWE7bA0ZFYGLGLIg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4062.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(376002)(366004)(346002)(39860400002)(136003)(66946007)(76116006)(66446008)(26005)(64756008)(33656002)(66556008)(7696005)(966005)(5660300002)(53546011)(8936002)(83380400001)(55016002)(2906002)(316002)(107886003)(71200400001)(478600001)(54906003)(86362001)(110136005)(8676002)(186003)(9686003)(6506007)(66476007)(4326008)(19627235002)(52536014);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?cFBuNVM2bzlUSC9HK1JxOXlROThyZnFRbFpKUHduVHJ0dVdlcXFhSFBxNFVL?= =?utf-8?B?dGgyU0l4U2IvMHJXK0pVbWl2bndqMS9TeExPQ3JUQ0RoZ3hhci9HNEFrVUEw?= =?utf-8?B?TDh3MTZRVFBVS0E3RXZIK1paMUJsby93cWVCeURKSmF5THcwVXgzaldtenlH?= =?utf-8?B?RUoyV2IzWFEyQW1BVWhQOFFqekh6VG14WnRwRExqSXJTNEhUU0dEN1libTho?= =?utf-8?B?dS9hVXRMc3hEZE9TYVU3czhVeVBhdS9rdC9WUmJkYTdYT0c2TDFmTkU2QjJs?= =?utf-8?B?NVcrSldHRW9YR3BGOU96ZytxYnJMR1cyaHl2a3FaQXBGNDFOZ1lIQTlnUHlJ?= =?utf-8?B?RlNsSlVzWXNOOTUxSFRDT01oaWQ5UjRpUUNHNDM4NXJueWlmZVFZYjUvYXZF?= =?utf-8?B?VFBJMFlqc2ZxbkdmbHM2M3dHYTZNTnpyMmNIOTBxV2NYVGJEMGUyQi9lTmJN?= =?utf-8?B?bytNMFMrZ2xPdzZKT0FDUjFaRFNqcnVaOEs0YkRQTDJ0ZzJ2OTFsMnp5Ukg0?= =?utf-8?B?b21FLzh1cFdoN2JsRjhsMi8zLzJybDR0K21wbjBpaDFhK3NUVENsbjJtby91?= =?utf-8?B?VWlBdUpQVWdyQVp5TFBvU00wKytCYTR5Ymt5aWU3ZkFhV1p4bWZFMEpRaDhY?= =?utf-8?B?QllZUnpxVVVTdEVSM2Z5bnBJcmp4a2lhTmcvOU1tbURXbklEZnUweWRyTlZD?= =?utf-8?B?Y1o5VHBFWGluR3dHTE1iKzBmU2VQOExtM2ZCZ0k3MVFseFFrbHB0OTFCWUps?= =?utf-8?B?bVhrV1M5T1hMbVFCbFZ5QU5OdWRHK1c5RjFVM0JaUE9mZVRnWHJITC9lWXM4?= =?utf-8?B?aEp1SXJaSDZxYzNUUStMejBJZFZLeVdKYnYwL1I5L1FCZmpzemZUN3c4RHc5?= =?utf-8?B?aFVNTE1rc2ZBY0ROSkZ1VmpQeU1mcDBJSzkxcldMbWFpd3FFTEVMREFqL2th?= =?utf-8?B?RUkxT3FWMHlocXFaZTlMMWFTaHh1aUhyRDdSSlREWXA0REpUL0NxbmhaQ0xz?= =?utf-8?B?SVB4UFlKREhmZUJDVFdmMFN3QkZFMkxlQVhrYmJBWVpkMS8zcC9aa0x2R1JH?= =?utf-8?B?WEdzQUMrc0dpN1FzT1huVkIwWVY4T2hNRVN2UGlpSXhWRGh1SW9yRmZMY0Vl?= =?utf-8?B?elhnV2sydk5WZEthWTdCY1hrQ0U4ejFvc1NFQVM4WGtkcFBQSHF3aXdlSjlZ?= =?utf-8?B?ZFlDOXVSbW10enF3L1VsYjBYWEszRFY0aHVPRlVQNDZZQUNidzBPMjFxNUJ0?= =?utf-8?B?a1ZpTElJa3NkNTNrUHpkUGpwZkJiSGR6VTNTVng2UmRLd1V0Z3FtQ1BKTE5P?= =?utf-8?Q?WioHXlpp9xXRyLnm7Fsu93rhHBhyJQRoMi?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4062.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a009a2f2-6bff-4863-79b2-08d8b79ee229 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2021 08:40:29.8310 (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: wEeks/Put5S9FZiSxvg05dzhoLXdeL/2a1VEybHqoi9fjRe1iN4xZ0+IU/psVLoT4q6zAzS+zzTymIcyb8XOEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4093 Return-Path: star.zeng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SXQgc2hvdWxkIHdvcmsuDQoNClRoYW5rcywNClN0YXINCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQpGcm9tOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPiANClNlbnQ6IFdlZG5lc2RheSwg SmFudWFyeSAxMywgMjAyMSA0OjEyIFBNDQpUbzogWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVs LmNvbT47IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vw cy5pbw0KQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBQaGlsaXBwZSBNYXRo aWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+OyBLdW1hciwgUmFodWwxIDxyYWh1bDEua3Vt YXJAaW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtQQVRDSCAyLzNdIFVlZmlDcHVQa2cvQ3B1UzNE YXRhRHhlOiBkbyBub3QgYWxsb2NhdGUgdXNlbGVzcyByZWdpc3RlciB0YWJsZXMNCg0KU3RhciwN ClRoYW5rcyBmb3IgcG9pbnRpbmcgdGhhdC4NClJlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIgYXNzdW1l cyBbUHJlU21tSW5pdF1SZWdpc3RlclRhYmxlIGFycmF5IGlzIGFsbG9jYXRlZCBidXQgQ3B1UzNE YXRhIGRvZXNuJ3QgZG8gdGhhdC4NCg0KQ2FuIGZvbGxvd2luZyBjaGFuZ2UgZml4IHRoZSBwcm9i bGVtPw0KDQotLS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi9S ZWdpc3RlckNwdUZlYXR1cmVzTGliLmMNCisrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9SZWdpc3Rl ckNwdUZlYXR1cmVzTGliL1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIuYw0KQEAgLTkzNywyMSArOTM3 LDE5IEBAIEdldEFjcGlDcHVEYXRhICgNCiAgIEVGSV9QUk9DRVNTT1JfSU5GT1JNQVRJT04gICAg ICAgICAgICBQcm9jZXNzb3JJbmZvQnVmZmVyOw0KIA0KICAgQWNwaUNwdURhdGEgPSAoQUNQSV9D UFVfREFUQSAqKSAoVUlOVE4pIFBjZEdldDY0IChQY2RDcHVTM0RhdGFBZGRyZXNzKTsNCi0gIGlm IChBY3BpQ3B1RGF0YSAhPSBOVUxMKSB7DQotICAgIHJldHVybiBBY3BpQ3B1RGF0YTsNCi0gIH0N Ci0NCi0gIEFjcGlDcHVEYXRhICA9IEFsbG9jYXRlUGFnZXMgKEVGSV9TSVpFX1RPX1BBR0VTIChz aXplb2YgKEFDUElfQ1BVX0RBVEEpKSk7DQotICBBU1NFUlQgKEFjcGlDcHVEYXRhICE9IE5VTEwp Ow0KKyAgaWYgKEFjcGlDcHVEYXRhID09IE5VTEwpIHsNCisgICAgQWNwaUNwdURhdGEgID0gQWxs b2NhdGVQYWdlcyAoRUZJX1NJWkVfVE9fUEFHRVMgKHNpemVvZiAoQUNQSV9DUFVfREFUQSkpKTsN CisgICAgQVNTRVJUIChBY3BpQ3B1RGF0YSAhPSBOVUxMKTsNCiANCi0gIC8vDQotICAvLyBTZXQg UGNkQ3B1UzNEYXRhQWRkcmVzcyB0byB0aGUgYmFzZSBhZGRyZXNzIG9mIHRoZSBBQ1BJX0NQVV9E QVRBIHN0cnVjdHVyZQ0KLSAgLy8NCi0gIFN0YXR1cyA9IFBjZFNldDY0UyAoUGNkQ3B1UzNEYXRh QWRkcmVzcywgKFVJTlQ2NCkoVUlOVE4pQWNwaUNwdURhdGEpOw0KLSAgQVNTRVJUX0VGSV9FUlJP UiAoU3RhdHVzKTsNCisgICAgLy8NCisgICAgLy8gU2V0IFBjZENwdVMzRGF0YUFkZHJlc3MgdG8g dGhlIGJhc2UgYWRkcmVzcyBvZiB0aGUgQUNQSV9DUFVfREFUQSBzdHJ1Y3R1cmUNCisgICAgLy8N CisgICAgU3RhdHVzID0gUGNkU2V0NjRTIChQY2RDcHVTM0RhdGFBZGRyZXNzLCAoVUlOVDY0KShV SU5UTilBY3BpQ3B1RGF0YSk7DQorICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQogDQot ICBHZXROdW1iZXJPZlByb2Nlc3NvciAoJk51bWJlck9mQ3B1cywgJk51bWJlck9mRW5hYmxlZFBy b2Nlc3NvcnMpOw0KLSAgQWNwaUNwdURhdGEtPk51bWJlck9mQ3B1cyA9IChVSU5UMzIpTnVtYmVy T2ZDcHVzOw0KKyAgICBHZXROdW1iZXJPZlByb2Nlc3NvciAoJk51bWJlck9mQ3B1cywgJk51bWJl ck9mRW5hYmxlZFByb2Nlc3NvcnMpOw0KKyAgICBBY3BpQ3B1RGF0YS0+TnVtYmVyT2ZDcHVzID0g KFVJTlQzMilOdW1iZXJPZkNwdXM7ICB9DQogDQogICAvLw0KICAgLy8gQWxsb2NhdGUgYnVmZmVy IGZvciBlbXB0eSBSZWdpc3RlclRhYmxlIGFuZCBQcmVTbW1Jbml0UmVnaXN0ZXJUYWJsZSBmb3Ig YWxsIENQVXMNCg0KVGhhbmtzLA0KUmF5DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gU2VudDogV2VkbmVz ZGF5LCBKYW51YXJ5IDEzLCAyMDIxIDM6MTcgUE0NCj4gVG86IE5pLCBSYXkgPHJheS5uaUBpbnRl bC5jb20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgDQo+IGRldmVsQGVkazIu Z3JvdXBzLmlvDQo+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgUGhpbGlw cGUgTWF0aGlldS1EYXVkw6kgDQo+IDxwaGlsbWRAcmVkaGF0LmNvbT47IEt1bWFyLCBSYWh1bDEg PHJhaHVsMS5rdW1hckBpbnRlbC5jb20+OyBaZW5nLCANCj4gU3RhciA8c3Rhci56ZW5nQGludGVs LmNvbT4NCj4gU3ViamVjdDogUkU6IFtQQVRDSCAyLzNdIFVlZmlDcHVQa2cvQ3B1UzNEYXRhRHhl OiBkbyBub3QgYWxsb2NhdGUgDQo+IHVzZWxlc3MgcmVnaXN0ZXIgdGFibGVzDQo+IA0KPiBEeGVS ZWdpc3RlckNwdUZlYXR1cmVzTGliIHN0aWxsIGhhcyBzb21lIGV4ZWN1dGlvbiBzZXF1ZW5jZSBk ZXBlbmRlbmN5IA0KPiB0byBVZWZpQ3B1UGtnIENwdVMzRGF0YUR4ZS4NCj4gVGhlcmUgaXMgQVNT RVJUIHRvIGhhcHBlbiBhdA0KPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvYmxv Yi9tYXN0ZXIvVWVmaUNwdVBrZy9MaWJyYXJ5L1JlZ2lzDQo+IHRlckMNCj4gcHVGZWF0dXJlc0xp Yi9SZWdpc3RlckNwdUZlYXR1cmVzTGliLmMjTDEwNTkgd2hlbiBDcHVTM0RhdGFEeGUgd2l0aCAN Cj4gdGhpcyBwYXRjaCBydW5zIGJlZm9yZSBEeGVSZWdpc3RlckNwdUZlYXR1cmVzTGliLg0KPiAN Cj4gVGhhbmtzLA0KPiBTdGFyDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206 IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgSmFudWFyeSAx MywgMjAyMSAyOjEyIFBNDQo+IFRvOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsg ZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5j b20+OyBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSANCj4gPHBoaWxtZEByZWRoYXQuY29tPjsgS3Vt YXIsIFJhaHVsMSA8cmFodWwxLmt1bWFyQGludGVsLmNvbT47IFplbmcsIA0KPiBTdGFyIDxzdGFy LnplbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW1BBVENIIDIvM10gVWVmaUNwdVBrZy9D cHVTM0RhdGFEeGU6IGRvIG5vdCBhbGxvY2F0ZSANCj4gdXNlbGVzcyByZWdpc3RlciB0YWJsZXMN Cj4gDQo+IFJldmlld2VkLWJ5OiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+IA0KPiAoSSBn dWVzcyB5b3UgZG9uJ3Qgd2FudCB0byBwdXQgUmVkaGF0IGNvcHlyaWdodCBpbiB0aGUgcGF0Y2gg MSYyIHNvIA0KPiB0aGUgY29weXJpZ2h0IHllYXIgaXMgbm90IHVwZGF0ZWQuDQo+IFNpbmNlIGl0 J3MgYSBzaW1wbGUgY2hhbmdlIHRoYXQgbWFrZSB0aGUgbG9naWMgbW9yZSBuZWF0LCBJIGFtIG9r IHdpdGggDQo+IHRoYXQuKQ0KPiANCj4gV2lsbCB5b3UgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IHRv IG1lcmdlIGFsbCAzIHBhdGNoZXMgdG9nZXRoZXI/DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4gRnJvbTogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4g PiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkgMTMsIDIwMjEgMzoyMCBBTQ0KPiA+IFRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbw0KPiA+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29t PjsgUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgDQo+ID4gPHBoaWxtZEByZWRoYXQuY29tPjsgS3Vt YXIsIFJhaHVsMSA8cmFodWwxLmt1bWFyQGludGVsLmNvbT47IE5pLCBSYXkgDQo+ID4gPHJheS5u aUBpbnRlbC5jb20+OyBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiA+IFN1Ympl Y3Q6IFtQQVRDSCAyLzNdIFVlZmlDcHVQa2cvQ3B1UzNEYXRhRHhlOiBkbyBub3QgYWxsb2NhdGUg DQo+ID4gdXNlbGVzcyByZWdpc3RlciB0YWJsZXMNCj4gPg0KPiA+IENwdVMzRGF0YUR4ZSBhbGxv Y2F0ZXMgdGhlICJSZWdpc3RlclRhYmxlIiBhbmQgIlByZVNtbUluaXRSZWdpc3RlclRhYmxlIg0K PiA+IGFycmF5cyBpbiBBQ1BJX0NQVV9EQVRBIGp1c3Qgc28gZXZlcnkgcHJvY2Vzc29yIGluIHRo ZSBzeXN0ZW0gY2FuIA0KPiA+IGhhdmUgaXRzIG93biBlbXB0eSByZWdpc3RlciB0YWJsZSwgbWF0 Y2hlZCBieSBBUElDIElELiBUaGlzIGhhcyANCj4gPiBuZXZlciBiZWVuIHVzZWZ1bCBpbiBwcmFj dGljZS4NCj4gPg0KPiA+IEdpdmVuIGNvbW1pdCBlOTkyY2MzZjQ4NTkgKCJVZWZpQ3B1UGtnIFBp U21tQ3B1RHhlU21tOiBSZWR1Y2UNCj4gU01SQU0NCj4gPiBjb25zdW1wdGlvbiBpbiBDcHVTMy5j IiwgMjAyMS0wMS0xMSksIHNpbXBseSBsZWF2ZSBib3RoIA0KPiA+ICJBY3BpQ3B1RGF0YS0+UmVn aXN0ZXJUYWJsZSIgYW5kICJBY3BpQ3B1RGF0YS0+UHJlU21tSW5pdFJlZ2lzdGVyVGFibGUiDQo+ ID4gaW5pdGlhbGl6ZWQgdG8gdGhlIHplcm8gYWRkcmVzcy4gVGhpcyBzaW1wbGlmaWVzIHRoZSBk cml2ZXIsIGFuZCANCj4gPiBzYXZlcyBib3RoIG5vcm1hbCBSQU0gKGJvb3Qgc2VydmljZXMgZGF0 YSB0eXBlIG1lbW9yeSkgYW5kIC0tIGluIA0KPiA+IFBpU21tQ3B1RHhlU21tDQo+ID4gLS0gU01S QU0uDQo+ID4NCj4gPiBDYzogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiA+IENj OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+DQo+ID4gQ2M6IFJh aHVsIEt1bWFyIDxyYWh1bDEua3VtYXJAaW50ZWwuY29tPg0KPiA+IENjOiBSYXkgTmkgPHJheS5u aUBpbnRlbC5jb20+DQo+ID4gQ2M6IFN0YXIgWmVuZyA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4g PiBSZWY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE1 OQ0KPiA+IFNpZ25lZC1vZmYtYnk6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+ ID4gLS0tDQo+ID4NCj4gPiBOb3RlczoNCj4gPiAgICAgVGVzdGVkIGJ5IHRlbXBvcmFyaWx5IHJl cGxhY2luZyBPdm1mUGtnUGtnL0NwdVMzRGF0YUR4ZSBpbiB0aGUgDQo+ID4gT1ZNRg0KPiA+IElB MzINCj4gPiAgICAgYW5kIElBMzJYNjQgcGxhdGZvcm1zIHdpdGggdGhpcyBkcml2ZXIgLS0gdGhp cyBkcml2ZXIgd29ya3MgT0sgaW4gT1ZNRg0KPiA+ICAgICBhcyBsb25nIGFzIG5vIENQVXMgYXJl IGhvdC1wbHVnZ2VkLg0KPiA+DQo+ID4gIFVlZmlDcHVQa2cvQ3B1UzNEYXRhRHhlL0NwdVMzRGF0 YS5jIHwgMzIgLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDMyIGRl bGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvQ3B1UzNEYXRhRHhl L0NwdVMzRGF0YS5jDQo+ID4gYi9VZWZpQ3B1UGtnL0NwdVMzRGF0YUR4ZS9DcHVTM0RhdGEuYw0K PiA+IGluZGV4IDJiZTMzNWQ5MTkwMy4uMDc4YWYzNmNmYjQxIDEwMDY0NA0KPiA+IC0tLSBhL1Vl ZmlDcHVQa2cvQ3B1UzNEYXRhRHhlL0NwdVMzRGF0YS5jDQo+ID4gKysrIGIvVWVmaUNwdVBrZy9D cHVTM0RhdGFEeGUvQ3B1UzNEYXRhLmMNCj4gPiBAQCAtMTY1LDEwICsxNjUsNiBAQCBDcHVTM0Rh dGFJbml0aWFsaXplICgNCj4gPiAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICBOdW1iZXJP ZkNwdXM7DQo+ID4gICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgTnVtYmVyT2ZFbmFibGVk UHJvY2Vzc29yczsNCj4gPiAgICBWT0lEICAgICAgICAgICAgICAgICAgICAgICAqU3RhY2s7DQo+ ID4gLSAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgVGFibGVTaXplOw0KPiA+IC0gIENQVV9S RUdJU1RFUl9UQUJMRSAgICAgICAgICpSZWdpc3RlclRhYmxlOw0KPiA+IC0gIFVJTlROICAgICAg ICAgICAgICAgICAgICAgIEluZGV4Ow0KPiA+IC0gIEVGSV9QUk9DRVNTT1JfSU5GT1JNQVRJT04g IFByb2Nlc3NvckluZm9CdWZmZXI7DQo+ID4gICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg R2R0U2l6ZTsNCj4gPiAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICBJZHRTaXplOw0KPiA+ ICAgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICpHZHQ7DQo+ID4gQEAgLTI1NSwzNCArMjUx LDYgQEAgQ3B1UzNEYXRhSW5pdGlhbGl6ZSAoDQo+ID4gICAgICBBY3BpQ3B1RGF0YS0+UHJlU21t SW5pdFJlZ2lzdGVyVGFibGUgPSBPbGRBY3BpQ3B1RGF0YS0NCj4gPiA+UHJlU21tSW5pdFJlZ2lz dGVyVGFibGU7DQo+ID4gICAgICBBY3BpQ3B1RGF0YS0+QXBMb2NhdGlvbiAgICAgICAgICAgICAg PSBPbGRBY3BpQ3B1RGF0YS0+QXBMb2NhdGlvbjsNCj4gPiAgICAgIENvcHlNZW0gKCZBY3BpQ3B1 RGF0YS0+Q3B1U3RhdHVzLCAmT2xkQWNwaUNwdURhdGEtPkNwdVN0YXR1cywgDQo+ID4gc2l6ZW9m IChDUFVfU1RBVFVTX0lORk9STUFUSU9OKSk7DQo+ID4gLSAgfSBlbHNlIHsNCj4gPiAtICAgIC8v DQo+ID4gLSAgICAvLyBBbGxvY2F0ZSBidWZmZXIgZm9yIGVtcHR5IFJlZ2lzdGVyVGFibGUgYW5k IFByZVNtbUluaXRSZWdpc3RlclRhYmxlDQo+IGZvcg0KPiA+IGFsbCBDUFVzDQo+ID4gLSAgICAv Lw0KPiA+IC0gICAgVGFibGVTaXplID0gMiAqIE51bWJlck9mQ3B1cyAqIHNpemVvZiAoQ1BVX1JF R0lTVEVSX1RBQkxFKTsNCj4gPiAtICAgIFJlZ2lzdGVyVGFibGUgPSAoQ1BVX1JFR0lTVEVSX1RB QkxFICopQWxsb2NhdGVaZXJvUGFnZXMgKFRhYmxlU2l6ZSk7DQo+ID4gLSAgICBBU1NFUlQgKFJl Z2lzdGVyVGFibGUgIT0gTlVMTCk7DQo+ID4gLQ0KPiA+IC0gICAgZm9yIChJbmRleCA9IDA7IElu ZGV4IDwgTnVtYmVyT2ZDcHVzOyBJbmRleCsrKSB7DQo+ID4gLSAgICAgIFN0YXR1cyA9IE1wU2Vy dmljZXMtPkdldFByb2Nlc3NvckluZm8gKA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICBNcFNlcnZpY2VzLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleCwNCj4g PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgJlByb2Nlc3NvckluZm9CdWZmZXINCj4gPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gPiAtICAgICAgQVNTRVJUX0VGSV9FUlJP UiAoU3RhdHVzKTsNCj4gPiAtDQo+ID4gLSAgICAgIFJlZ2lzdGVyVGFibGVbSW5kZXhdLkluaXRp YWxBcGljSWQgICAgICA9DQo+ID4gKFVJTlQzMilQcm9jZXNzb3JJbmZvQnVmZmVyLlByb2Nlc3Nv cklkOw0KPiA+IC0gICAgICBSZWdpc3RlclRhYmxlW0luZGV4XS5UYWJsZUxlbmd0aCAgICAgICAg PSAwOw0KPiA+IC0gICAgICBSZWdpc3RlclRhYmxlW0luZGV4XS5BbGxvY2F0ZWRTaXplICAgICAg PSAwOw0KPiA+IC0gICAgICBSZWdpc3RlclRhYmxlW0luZGV4XS5SZWdpc3RlclRhYmxlRW50cnkg PSAwOw0KPiA+IC0NCj4gPiAtICAgICAgUmVnaXN0ZXJUYWJsZVtOdW1iZXJPZkNwdXMgKyBJbmRl eF0uSW5pdGlhbEFwaWNJZCAgICAgID0NCj4gPiAoVUlOVDMyKVByb2Nlc3NvckluZm9CdWZmZXIu UHJvY2Vzc29ySWQ7DQo+ID4gLSAgICAgIFJlZ2lzdGVyVGFibGVbTnVtYmVyT2ZDcHVzICsgSW5k ZXhdLlRhYmxlTGVuZ3RoICAgICAgICA9IDA7DQo+ID4gLSAgICAgIFJlZ2lzdGVyVGFibGVbTnVt YmVyT2ZDcHVzICsgSW5kZXhdLkFsbG9jYXRlZFNpemUgICAgICA9IDA7DQo+ID4gLSAgICAgIFJl Z2lzdGVyVGFibGVbTnVtYmVyT2ZDcHVzICsgSW5kZXhdLlJlZ2lzdGVyVGFibGVFbnRyeSA9IDA7 DQo+ID4gLSAgICB9DQo+ID4gLSAgICBBY3BpQ3B1RGF0YS0+UmVnaXN0ZXJUYWJsZSAgICAgICAg ICAgPQ0KPiA+IChFRklfUEhZU0lDQUxfQUREUkVTUykoVUlOVE4pUmVnaXN0ZXJUYWJsZTsNCj4g PiAtICAgIEFjcGlDcHVEYXRhLT5QcmVTbW1Jbml0UmVnaXN0ZXJUYWJsZSA9DQo+ID4gKEVGSV9Q SFlTSUNBTF9BRERSRVNTKShVSU5UTikoUmVnaXN0ZXJUYWJsZSArIE51bWJlck9mQ3B1cyk7DQo+ ID4gICAgfQ0KPiA+DQo+ID4gICAgLy8NCj4gPiAtLQ0KPiA+IDIuMTkuMS4zLmczMDI0N2FhNWQy MDENCj4gPg0KDQo=