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.web11.1933.1596011831208281422 for ; Wed, 29 Jul 2020 01:37:11 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=HiQngLQu; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: jiaxin.wu@intel.com) IronPort-SDR: O61KD3tH8Pv84XyhZgHt/BPgr/YzhO5g6CZOljc20dRaroIbEtpclUE2Cf2jZUlhyfjWa+r+dq 5HSLzMbHw/vw== X-IronPort-AV: E=McAfee;i="6000,8403,9696"; a="131447165" X-IronPort-AV: E=Sophos;i="5.75,409,1589266800"; d="scan'208";a="131447165" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2020 01:37:10 -0700 IronPort-SDR: rdfVV/fuEnO1zQSyNI5TFkzsJ3QPCKqEQh29GE/4KexBizod8gL8Jx/g9UCz3QasGGnehr9J4F H8KesPZomXuQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,409,1589266800"; d="scan'208";a="330332148" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga007.jf.intel.com with ESMTP; 29 Jul 2020 01:37:10 -0700 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) 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.1713.5; Wed, 29 Jul 2020 01:37:09 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 29 Jul 2020 01:37:09 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.174) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 29 Jul 2020 01:37:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MROA3B0zYoiS6upfC/AswAEbLsYXIP4HuXrus8+f87lQw+VLUP4uquuBbm7v5hDRs+EhtXkWghTNygEvj+EWJhkXlN1glayq2/llI/FpcvCtaZrn7+bhWQW3FYEXQlikUPkfiA5F52gAXz8psx8yiyDnYZS7tsH2I3+3998X58ogbmH5bdpoCjWPNtkgtt9UIntIId9lyfo57DHs2WGuLh+/xgvA8Rode5sEaxvtyOP+P2mlB4LMmlkEyj6TvBPGJ4igLxaue2L/U1W7vFHQQ1jDqQoq1XNy5low84w5l8CHQVNVeO5S9r9eVJMSq4ycHWPkD7gr2sEqFZNiZJTNRQ== 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=yiKR5lgeXtwYqwTHxPxf0EC0JKpzMS7Zgf5eaOAMxO0=; b=N7YaDehR2mQtnV3f+KdjXGYbvxK+zUJSCnf5rq3lb41LqZ+q95GLkpJ/wm6b8XUr05P0bn/sFuyRlkXH2sPj5cZYaVLr09uN5vVMxBJlb6t3D1Ri4k5dV4LZbds+WMMbitpy213lp/jpHxGeMAoUbIzhXSxXO/dekPLWZu56dNEjMfX7jEIZd7OKQ01ZDRghtAj19ew7W/MXcWvLGbsP8PR6Yq0t8FPR6sssK1bDldabWrE/tMrT2CIeebYflVNmr7/Vry17AXgycTuiOzRy7r6ZWbf4Q6tlrMjmQcMFI1pifCfkLx5UXqvlxYXtspc4p3WGJIHC3V/M7P4yioEKpg== 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=yiKR5lgeXtwYqwTHxPxf0EC0JKpzMS7Zgf5eaOAMxO0=; b=HiQngLQu+aSUZnwlo/W+qBqKqZIU4XM5TwNObl83fPM3emRffirM7QykiO5pulgEJw1vkmDzoFRW61qXDbk/JtPWMK/9fTBpCvwkK2K4vtRjq/ZpIuGWWEbV726dzlH+Mxzqq0VkwZI9Q57QC+EowU1HcWsFVPEKerX6y3JEnA8= Received: from DM5PR11MB1372.namprd11.prod.outlook.com (2603:10b6:3:11::14) by DM5PR1101MB2138.namprd11.prod.outlook.com (2603:10b6:4:57::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.24; Wed, 29 Jul 2020 08:37:04 +0000 Received: from DM5PR11MB1372.namprd11.prod.outlook.com ([fe80::fccf:bab1:154e:602e]) by DM5PR11MB1372.namprd11.prod.outlook.com ([fe80::fccf:bab1:154e:602e%8]) with mapi id 15.20.3216.034; Wed, 29 Jul 2020 08:37:04 +0000 From: "Wu, Jiaxin" To: Laszlo Ersek CC: "devel@edk2.groups.io" Subject: Re: [edk2-devel] [PATCH 00/16] OvmfPkg: support VCPU hotplug with -D SMM_REQUIRE Thread-Topic: [edk2-devel] [PATCH 00/16] OvmfPkg: support VCPU hotplug with -D SMM_REQUIRE Thread-Index: AQHV6m5T5gYSgeASk0m0k8XmOJ6ie6kXL0TQgACjSoCAB18YgA== Date: Wed, 29 Jul 2020 08:37:04 +0000 Message-ID: References: <20200223172537.28464-1-lersek@redhat.com> <2679d4af-4034-525e-8189-2d795794ced1@redhat.com> In-Reply-To: <2679d4af-4034-525e-8189-2d795794ced1@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiN2VkNWJlYTgtYTVkZS00ZDA4LWJmMTEtZGRhZDQ4OTM4M2U0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiTnBkSDdqd25XMTRRQWRSNU9Lc1NzZkhMK21xc2xBeml2UEZuUTNqeVRLZkZ5b09wQ01SOW5YYUpvNDVvV2szTiJ9 dlp-version: 11.2.0.6 dlp-product: dlpe-windows x-ctpclassification: CTP_NT dlp-reaction: no-action authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.38] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6f7ee3b8-58dd-4b73-eb9e-08d8339a9249 x-ms-traffictypediagnostic: DM5PR1101MB2138: 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: 8XGsLCaFv4D3jz8AsGUwK+gjqVbEqYZ6GhWxT8WcOPqCOA6+bPi2NArIqpTluJ66UIZk4SX7cgdtXet1doQe0JtP8a+XyYjPs5fdIIoIy4a2bjs3Ypm3v3PJgT2DPbOKEll13bHA3Q0dWNeMy1E8Fc77vNVmpEqKJmLSLmLb0VruOg96/a7GA7sjPxGvTuoON/BqJS2begKFKhUc1pljoLS5dvs3h/3Dw2r9TZ3OsZF050ouuf/QKLTdKjSVrmEAzFWrm4dfnYmhrdbN4zQMfyzT8QrtepIHQiiBVD9lhjKWL9wnrtOHIEoHTCEUxR116uQHXGwOi9nQmQfsHNLN7/u5jKmHvid0AuI6IYmO8NtaleQI6CxH3ed8LJAlw8pISgPARjx1RT5a+zUwQKx1fw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR11MB1372.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(136003)(39860400002)(346002)(376002)(396003)(366004)(6916009)(26005)(8936002)(53546011)(9686003)(316002)(6506007)(4326008)(52536014)(478600001)(33656002)(186003)(8676002)(5660300002)(2906002)(66556008)(64756008)(71200400001)(66446008)(83380400001)(966005)(86362001)(7696005)(55016002)(66476007)(66946007)(76116006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: RCPtVsDDBNOcXHZkaZDEElmzz0bjNyS8aly43uOJFtyV9VucLkm/I/jHEFbT5OJRyILwc60mN4yiWLRWWz/Bc+KmVJGz3OUIGU4vL8B6FKL9rs7gswSV4IpCBe19LvQV9ZKZw+5mD3V3dTjRHy9s43UMJjEEm/xAoVNoAsg1EBrH1E2KAB64rkL3dacagQtkKF4gzB6cFpTB+POTECxZh6mP3G8fCfPOIT2EMmv9FJMUFqa40VfQTvz7MhjBSiJW5SCPHyEmPb0qrEWOwqclhye5imwWJfzpEpYJ/jQZHc+ta/qRQBLt94G55Rhj9FdHMFrWnGCNNXDCUl+jUS2w6UAiy4rvxndu10Q5sai0UyDeeoLADgKQdpKO7w6SZwdAVdnMxNpmzdi5GNZHNCnIcqfjZJvMB5sAT/yOiwfqqodWSCPNfN7Vjx/7OXfle/l67oVqd2SfHje3o6cW/tfcFNdFTciUEa9kT/iJlWrJVYLlysIICWqek8BVPwEhAtln x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR11MB1372.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f7ee3b8-58dd-4b73-eb9e-08d8339a9249 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jul 2020 08:37:04.3554 (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: IgpRWBcDPngMjMUppnrPxRl2U38iVZ6RFwI2jJsaJEaNKtNPUJ7kEdkSEusHO0FaF3c0hg0nZ0bqGzYFTKQrng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2138 Return-Path: jiaxin.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQpBcHByZWNpYXRlIHlvdXIgZmVlZGJhY2shIFRoYW5rIHlvdSB2ZXJ5IG11 Y2guDQoNCkppYXhpbg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExh c3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFNhdHVyZGF5LCBKdWx5IDI1 LCAyMDIwIDEyOjAyIEFNDQo+IFRvOiBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPg0K PiBDYzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBb UEFUQ0ggMDAvMTZdIE92bWZQa2c6IHN1cHBvcnQgVkNQVSBob3RwbHVnDQo+IHdpdGggLUQgU01N X1JFUVVJUkUNCj4gDQo+IE9uIDA3LzI0LzIwIDA4OjI2LCBXdSwgSmlheGluIHdyb3RlOg0KPiA+ IEhpIExhc3psbywNCj4gPg0KPiA+IExvb2tzIE9WTUYgc3VwcG9ydHMgdGhlIENQVSBob3RwbHVn IHdpdGggdGhvc2Ugc2VyaWVzIHBhdGNoZXMuDQo+ID4NCj4gPiBDb3VsZCB5b3UgcHJvdmlkZSBz b21lIGd1aWRlIGhvdyB0byBlbmFibGUgdGhlIE9WTUYgQ1BVIGhvdHBsdWcNCj4gPiB2ZXJpZmlj YXRpb24/IElzIHRoZXJlIGFueSBnZW5lcmFsIHdvcmsgZmxvdyBpbnRyb2R1Y3Rpb24gaG93IGl0 DQo+ID4gd29ya3M/IEZvciBleGFtcGxlLCBob3cgdG8gZG8gdGhlIGhvdCBhZGQgQ1BVIGluaXRp YWxpemF0aW9uIChlLmcuDQo+ID4gUmVnaXN0ZXIgc2V0dGluZyAvIE1pY3JvY29kZSB1cGRhdGUs IGV0Yy4pPyBJJ20gdmVyeSBpbnRlcmVzdGVkIGluDQo+ID4gdGhpcyBmZWF0dXJlIG9uIE9WTUYu DQo+IA0KPiBMb25nIHZlcnNpb246DQo+IC0tLS0tLS0tLS0tLS0NCj4gDQo+ICgxKSBUaGVyZSBh cmUgdGhyZWUgcGllY2VzIG1pc3Npbmc6DQo+IA0KPiAoMWEpIFRoZSBRRU1VIHNpZGUgY2hhbmdl cyBmb3IgdGhlIEFDUEkgKERTRFQpIGNvbnRlbnQgdGhhdCBRRU1VDQo+IGdlbmVyYXRlcyBmb3Ig dGhlIE9TLg0KPiANCj4gVGhlIEFDUEkgR1BFIGhhbmRsZXIgZm9yIENQVSBob3RwbHVnIGlzIGJl aW5nIG1vZGlmaWVkIGJ5IG15IGNvbGxlYWd1ZQ0KPiBJZ29yIE1hbW1lZG92IHRvIHJhaXNlIHRo ZSBTTUkgKGNvbW1hbmQgdmFsdWUgNCkgb24gQ1BVIGhvdHBsdWcuDQo+IA0KPiBGb3IgZGV2ZWxv cGluZyB0aGUgT1ZNRiBzZXJpZXMgZm9yIFRpYW5vQ29yZSMxNTEyICh3aGljaCBpcyBub3cgbWVy Z2VkKSwNCj4gSSB1c2VkIGEgcHJvdG90eXBlIFFFTVUgcGF0Y2gsIGZyb20gSWdvci4gQnV0IHRo YXQgcGF0Y2ggaXMgbm90IHN1aXRhYmxlDQo+IGZvciB1cHN0cmVhbWluZyB0byBRRU1VLiBTTyBJ Z29yIGlzIG5vdyBkZXZlbG9waW5nIHRoZSByZWFsIHBhdGNoZXMgZm9yDQo+IFFFTVUncyBBQ1BJ IGdlbmVyYXRvci4NCj4gDQo+ICgxYikgVGhlIHJlbGF0ZWQgZmVhdHVyZSBuZWdvdGlhdGlvbiBw YXRjaGVzIGluIFFFTVUuDQo+IA0KPiBJbiBvcmRlciBmb3IgIkNQVSBob3RwbHVnIHdpdGggU01N IiB0byB3b3JrLCBib3RoIE9WTUYgYW5kIFFFTVUgbmVlZA0KPiB0bw0KPiBwZXJmb3JtIHNwZWNp ZmljIHRoaW5ncy4gSW4gb3JkZXIgdG8gZGVhbCB3aXRoIGNyb3NzLXZlcnNpb24NCj4gY29tcGF0 aWJpbGl0eSBwcm9ibGVtcywgdGhlICJDUFUgaG90cGx1ZyB3aXRoIFNNSSIgZmVhdHVyZSBpcw0K PiBkeW5hbWljYWxseSBuZWdvdGlhdGVkIGJldHdlZW4gT1ZNRiBhbmQgUUVNVS4gRm9yIHRoaXMg bmVnb3RpYXRpb24sDQo+IGJvdGgNCj4gUUVNVSBhbmQgT1ZNRiBuZWVkIGFkZGl0aW9uYWwgcGF0 Y2hlcy4gVGhlc2UgcGF0Y2hlcyBhcmUgbm90IHJlbGF0ZWQgdG8NCj4gdGhlIGFjdHVhbCBwbHVn Z2luZyBhY3Rpdml0aWVzOyBpbnN0ZWFkIHRoZXkgY29udHJvbCB3aGV0aGVyIHBsdWdnaW5nIGlz DQo+IHBlcm1pdHRlZCBhdCBhbGwsIG9yIG5vdC4NCj4gDQo+IElnb3IncyBRRU1VIHNlcmllcyBj b3ZlcnMgYm90aCBwdXJwb3NlcyAoMWEpIGFuZCAoMWIpLiBJdCdzIHdvcmsgaW4NCj4gcHJvZ3Jl c3MuIFRoZSBmaXJzdCBwb3N0aW5nIHdhcyBhbiBSRkMgc2VyaWVzOg0KPiANCj4gKDFiMSkgW1JG QyAwLzNdIHg4NjogZml4IGNwdSBob3RwbHVnIHdpdGggc2VjdXJlIGJvb3QNCj4gICAgICAgaHR0 cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIwMjAtMDcvbXNnMDM3 NDYuaHRtbA0KPiAgICAgICBodHRwOi8vbWlkLm1haWwtYXJjaGl2ZS5jb20vMjAyMDA3MTAxNjE3 MDQuMzA5ODI0LTEtDQo+IGltYW1tZWRvQHJlZGhhdC5jb20NCj4gDQo+IFRoZSBsYXRlc3QgcG9z dGluZyBoYXMgYmVlbiBhIFBBVENIIHNlcmllczoNCj4gDQo+ICgxYjIpIFtxZW11LWRldmVsXSBb UEFUQ0ggMC82XSB4ODY6IGZpeCBjcHUgaG90cGx1ZyB3aXRoIHNlY3VyZSBib290DQo+ICAgICAg IGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvcWVtdS1kZXZlbC8yMDIwLTA3L21z ZzA1ODUwLmh0bWwNCj4gICAgICAgaHR0cDovL21pZC5tYWlsLWFyY2hpdmUuY29tLzIwMjAwNzIw MTQxNjEwLjU3NDMwOC0xLQ0KPiBpbWFtbWVkb0ByZWRoYXQuY29tDQo+IA0KPiAoMWMpIFRoZSBm ZWF0dXJlIG5lZ290aWF0aW9uIHBhdGNoIGZvciBPVk1GIGlzIGhlcmU6DQo+IA0KPiAqIFtlZGsy LWRldmVsXSBbUEFUQ0hdIE92bWZQa2cvU21tQ29udHJvbDJEeGU6IG5lZ290aWF0ZQ0KPiBJQ0g5 X0xQQ19TTUlfRl9DUFVfSE9UUExVRw0KPiAgIGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZl bC9tZXNzYWdlLzYyNTYxDQo+ICAgaHR0cDovL21pZC5tYWlsLWFyY2hpdmUuY29tLzIwMjAwNzE0 MTg0MzA1Ljk4MTQtMS1sZXJzZWtAcmVkaGF0LmNvbQ0KPiANCj4gDQo+ICgyKSBTcGVjaWFsIHJl Z2lzdGVyIHNldHRpbmcgYW5kIG1pY3JvY29kZSBzdHVmZiBhcmUgbm90IG5lZWRlZC4NCj4gDQo+ IA0KPiAoMykgQXMgSSBtZW50aW9uZWQgYmVmb3JlLCBJIHN0cm9uZ2x5IHN1Z2dlc3QgdXNpbmcg UUVNVSBhbmQgT1ZNRiB3aXRoDQo+IGxpYnZpcnQuIEkgaGFkIHdyaXR0ZW4gYW4gYXJ0aWNsZSBh Ym91dCB0aGF0IGhlcmU6DQo+IA0KPiAgIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvdGlh bm9jb3JlLmdpdGh1Yi5pby93aWtpL1Rlc3RpbmctU01NLXdpdGgtDQo+IFFFTVUsLUtWTS1hbmQt bGlidmlydA0KPiANCj4gSSB3cm90ZSB0aGlzIGFydGljbGUgc3BlY2lmaWNhbGx5IGZvciAiV2lu ZG93cy1iYXNlZCIgZGV2ZWxvcGVycy4gVGhlDQo+IGFydGljbGUgaXMgd3JpdHRlbiBmcm9tIHN1 Y2ggYSBwZXJzcGVjdGl2ZSB0aGF0IHlvdSBkb24ndCBuZWVkIGENCj4gcGVyc29uYWwgTGludXgg d29ya3N0YXRpb24sIG9ubHkgYSBzaW5nbGUgTGludXggd29ya3N0YXRpb24gKnBlciB0ZWFtKi4N Cj4gU28geW91IGNhbiBjb250aW51ZSB1c2luZyBhIFdpbmRvd3Mgd29ya3N0YXRpb24sIGp1c3Qg c2V0IHVwIG9uZSBMaW51eA0KPiBib3ggZm9yIHlvdXIgdGVhbSAoaWYgeW91IGRvbid0IHlldCBo YXZlIG9uZSkuDQo+IA0KPiBUaGlzIGFydGljbGUgcmVtYWlucyByZWxldmFudC4NCj4gDQo+ICgz YSkgSW4gb3JkZXIgdG8gc2V0IHVwIGEgZ3Vlc3QgZm9yIFZDUFUgaG90cGx1Zywgc2ltcGx5IGdv IHRocm91Z2ggdGhlDQo+IGFydGljbGUsIGluaXRpYWxseS4NCj4gDQo+ICgzYikgT25jZSB5b3Un cmUgZG9uZSB3aXRoIHRoYXQsIHBvd2VyIGRvd24gdGhlIGd1ZXN0LCBhbmQgbW9kaWZ5IHRoZQ0K PiBkb21haW4gWE1MIGFzIGZvbGxvd3M6DQo+IA0KPiAgIHZpcnNoIGVkaXQgPERPTUFJTl9OQU1F Pg0KPiANCj4gKDNiMSkgcmVwbGFjZSB0aGUgInBjLXEzNS0yLjkiIG1hY2hpbmUgdHlwZSB3aXRo ICJwYy1xMzUtNS4xIg0KPiANCj4gKDNiMikgcmVwbGFjZSB0aGUgZm9sbG93aW5nIHN0YW56YToN Cj4gDQo+ICAgPHZjcHUgcGxhY2VtZW50PSdzdGF0aWMnPjQ8L3ZjcHU+DQo+IA0KPiB3aXRoOg0K PiANCj4gICA8dmNwdSBwbGFjZW1lbnQ9J3N0YXRpYycgY3VycmVudD0nMic+NDwvdmNwdT4NCj4g ICA8dmNwdXM+DQo+ICAgICA8dmNwdSBpZD0nMCcgZW5hYmxlZD0neWVzJyBob3RwbHVnZ2FibGU9 J25vJy8+DQo+ICAgICA8dmNwdSBpZD0nMScgZW5hYmxlZD0nbm8nIGhvdHBsdWdnYWJsZT0neWVz Jy8+DQo+ICAgICA8dmNwdSBpZD0nMicgZW5hYmxlZD0neWVzJyBob3RwbHVnZ2FibGU9J3llcycv Pg0KPiAgICAgPHZjcHUgaWQ9JzMnIGVuYWJsZWQ9J25vJyBob3RwbHVnZ2FibGU9J3llcycvPg0K PiAgIDwvdmNwdXM+DQo+IA0KPiBUaGlzIHdpbGwgY3JlYXRlIGEgVkNQVSB0b3BvbG9neSB3aGVy ZToNCj4gDQo+IC0gQ1BVIzAgaXMgcHJlc2VudCB1cC1mcm9udCwgYW5kIGlzIG5vdCBob3QtcGx1 Z2dhYmxlICh0aGlzIGlzIGEgUUVNVQ0KPiByZXF1aXJlbWVudCksDQo+IA0KPiAtIENQVSMxLCBD UFUjMiwgYW5kIENQVSMzIGFyZSBob3QtcGx1Z2dhYmxlLA0KPiANCj4gLSBDUFUjMiBpcyBwcmVz ZW50IHVwLWZyb250ICgiY29sZC1wbHVnZ2VkIiksIHdoaWxlIENQVSMxIGFuZCBDUFUjMyBhcmUN Cj4gYWJzZW50IGluaXRpYWxseS4NCj4gDQo+IA0KPiAoNCkgQm9vdCB0aGUgZ3Vlc3QuIE9uY2Ug eW91IGhhdmUgYSByb290IHByb21wdCBpbiB0aGUgZ3Vlc3QsIHlvdSBjYW4NCj4gdXNlIG9uZSBv ZiB0d28gbGlidmlydCBjb21tYW5kcyBmb3IgaG90LXBsdWdnaW5nIGEgQ1BVOg0KPiANCj4gKDRh KSB0aGUgc2luZ3VsYXIgInZpcnNoIHNldHZjcHUiIGNvbW1hbmQ6DQo+IA0KPiAgIHZpcnNoIHNl dHZjcHUgPERPTUFJTl9OQU1FPiA8UFJPQ0VTU09SX0lEPiAtLWVuYWJsZSAtLWxpdmUNCj4gDQo+ IHdoZXJlIHlvdSBjYW4gcGFzcyBpbiAxIG9yIDMgZm9yIDxQUk9DRVNTT1JfSUQ+Lg0KPiANCj4g VGhpcyBjb21tYW5kIGxldHMgeW91IHNwZWNpZnkgdGhlIHByZWNpc2UgSUQgb2YgdGhlIHByb2Nl c3NvciB0byBiZQ0KPiBob3QtcGx1Z2dlZDsgSU9XLCB0aGUgY29tbWFuZCBsZXRzIHlvdSBjb250 cm9sIHRvcG9sb2d5Lg0KPiANCj4gKDRiKSB0aGUgcGx1cmFsICJ2aXJzaCBzZXR2Y3B1cyIgY29t bWFuZDoNCj4gDQo+ICAgdmlyc2ggc2V0dmNwdXMgPEdVRVNUX05BTUU+IDxQUk9DRVNTT1JfQ09V TlQ+IC0tbGl2ZQ0KPiANCj4gVGhpcyBjb21tYW5kIGxldHMgeW91IHNwZWNpZnkgdGhlIGRlc2ly ZWQgbnVtYmVyIG9mIHRvdGFsIGFjdGl2ZSBDUFVzLg0KPiBJdCBkb2VzIG5vdCBsZXQgeW91IGNv bnRyb2wgdG9wb2xvZ3kuIChNeSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQgaXQga2VlcHMNCj4gdGhl IHRvcG9sb2d5IHBvcHVsYXRlZCBhdCB0aGUgImZyb250Ii4pDQo+IA0KPiBSZWdhcmRpbmcgdGhl IGN1cnJlbnQgUUVNVSBzdGF0dXMsIHdlIG5lZWQgdG8gZG8gbW9yZSB3b3JrIGZvcg0KPiBzdXBw b3J0aW5nICg0YikuIFRoZSBSRkMgc2VyaWVzICgxYjEpIGVuYWJsZXMgKDRhKSB0byB3b3JrLiBU aGUgUEFUQ0gNCj4gc2VyaWVzICgxYjIpIGludGVuZGVkIHRvIG1ha2UgKDRiKSB3b3JrLCBidXQg dW5mb3J0dW5hdGVseSBpdCBicm9rZSBldmVuDQo+ICg0YSkuIFNvIG5vdyB3ZSBuZWVkIGF0IGxl YXN0IG9uZSBtb3JlIHZlcnNpb24gb2YgdGhlIFFFTVUgc2VyaWVzIChJJ3ZlDQo+IGdpdmVuIG15 IGZlZWRiYWNrIHRvIElnb3IgYWxyZWFkeSwgb24gcWVtdS1kZXZlbCkuDQo+IA0KPiAoNGMpIERl cGVuZGVudCBvbiBndWVzdCBPUyBjb25maWd1cmF0aW9uLCB5b3UgbWlnaHQgaGF2ZSB0byBtYW51 YWxseQ0KPiBvbmxpbmUgdGhlIG5ld2x5IHBsdWdnZWQgQ1BVcyBpbiB0aGUgZ3Vlc3Q6DQo+IA0K PiAgIGVjaG8gMSA+IC9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L2NwdTIvb25saW5lDQo+ICAgZWNo byAxID4gL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvY3B1My9vbmxpbmUNCj4gDQo+IE5vdGUgdGhh dCB0aGUgImNwdU4iIGlkZW50aWZpZXJzIHNlZW4gaGVyZSBhcmUgKm5laXRoZXIqIEFQSUMgSURz ICpub3IqDQo+IHRoZSBzYW1lIElEcyBhcyBzZWVuIGluIHRoZSBsaWJ2aXJ0IGRvbWFpbiBYTUwu IEluc3RlYWQsIHRoZXNlIElEcyBhcmUNCj4gYXNzaWduZWQgaW4gdGhlIG9yZGVyIHRoZSBMaW51 eCBrZXJuZWwgbGVhcm5zIGFib3V0IHRoZSBDUFVzIChpZiBJDQo+IHVuZGVyc3RhbmQgY29ycmVj dGx5KS4NCj4gDQo+IA0KPiBTaG9ydCB2ZXJzaW9uOg0KPiAtLS0tLS0tLS0tLS0tLQ0KPiANCj4g LSBhcHBseSAoMWIxKSBvbiB0b3Agb2YgbGF0ZXN0IFFFTVUgbWFzdGVyIGZyb20gZ2l0LCBhbmQg YnVpbGQgYW5kDQo+IGluc3RhbGwgaXQsDQo+IA0KPiAtIGFwcGx5ICgxYykgb24gbGF0ZXN0IGVk azIsIGFuZCBidWlsZCBPVk1GIHdpdGggIi1EIFNNTV9SRVFVSVJFIiwNCj4gDQo+IC0gaW5zdGFs bCBhIExpbnV4IGd1ZXN0IG9uIGEgTGludXggaG9zdCAodXNpbmcgS1ZNISkgYXMgZGVzY3JpYmVk IGluIG15DQo+IFdpa2kgYXJ0aWNsZSAoMyksDQo+IA0KPiAtIG1vZGlmeSB0aGUgZG9tYWluIFhN TCBmb3IgdGhlIGd1ZXN0IGFzIGRlc2NyaWJlZCBpbiAoM2IpLA0KPiANCj4gLSB1c2UgdGhlIHNp bmd1bGFyICJ2aXJzaCBzZXR2Y3B1IiBjb21tYW5kICg0YSkgZm9yIGhvdC1wbHVnZ2luZyBWQ1BV IzENCj4gYW5kL29yIFZDUFUjMywNCj4gDQo+IC0gaWYgbmVjZXNzYXJ5LCB1c2UgKDRjKSBpbiB0 aGUgZ3Vlc3QuDQo+IA0KPiANCj4gWW91IGNhbiBkbyB0aGUgc2FtZSB3aXRoIFdpbmRvd3MgU2Vy dmVyIGd1ZXN0cyB0b28sIGFsdGhvdWdoIEknbSBub3QNCj4gZXhhY3RseSBzdXJlIHdoYXQgdmVy c2lvbnMgc3VwcG9ydCBDUFUgaG90cGx1Zy4gRm9yIHRlc3RpbmcgSSd2ZSB1c2VkDQo+IFdpbmRv d3MgU2VydmVyIDIwMTIgUjIuIFRoZSBXaWtpIGFydGljbGUgYXQgKDMpIGhhcyBhIHNlY3Rpb24g ZGVkaWNhdGVkDQo+IHRvIGluc3RhbGxpbmcgV2luZG93cyBndWVzdHMgdG9vLg0KPiANCj4gVGhh bmtzLA0KPiBMYXN6bG8NCg0K