From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E131CA0547; Fri, 23 Jul 2021 07:06:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8DEC840040; Fri, 23 Jul 2021 07:06:47 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 1F31C4003C for ; Fri, 23 Jul 2021 07:06:45 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10053"; a="211814401" X-IronPort-AV: E=Sophos;i="5.84,263,1620716400"; d="scan'208";a="211814401" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jul 2021 22:06:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,263,1620716400"; d="scan'208";a="496164339" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga004.fm.intel.com with ESMTP; 22 Jul 2021 22:06:42 -0700 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Thu, 22 Jul 2021 22:06:42 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Thu, 22 Jul 2021 22:06:42 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.171) 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.2242.10; Thu, 22 Jul 2021 22:06:41 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M0vqxCiKKzKmN3acd4nl3KJxJk7q+YdaschQ+gkJq1yFjjBYkr2qEYNh7Dbyebpc0KZmo+vbDGbjM5n6U+RksHDNadQFRVvqk/Nme8bejdWHpIVFmjEBGJ1N6Hy3Zi+GVxfRN0VcLlbgW1cs6Qj5iCV3L1SqJ4sCAttNbjDvMUq6nfKTxqoPRkiLDSnlwUOoYFkOoy7WsIPZ3HZ7SbxMc5+whCwZCrewmsQA5LiCQ0o97T2+Z+rQgTOuC0gg3nFLXPpg/9zdrNwAnhA/Q41AUqAyptBLUf6TEQ0OvZCmdJKOGaRrJvirmVNZsc98JZ1nbZhT3N6ojynZ7syNcTAKnQ== 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=PzwzRdhd2KofOh8m/RstYpFDurapv76jawazOB1lJvg=; b=k6CvDEBBOacKLCHmaGiQBpyZNfQlofzM4HTt4rcUi7oj8Fgsoevz5jf04OA9aZQDTzJXOQb05fPJhiCepHVCRPTjMXEc5qHJJ5OWC7jHddb37FMgtk9ZoTCevPaqulgbvQIxnfaXwBPsEEQn9IeL56YdrkUiJ9tlwm5UjWFmnQrgJeNYO8mz7HrerBiLQJ3N1wpt31P7rjyhZ4CRwekuNWkFtqrjIBg78+1ICaLEM48wzUhjOq4zfv7QaIbi7PW6SU1zynDWHCUt7/nfFSW1UxY6KZHlKvLI5R0via/NdtLZpwyRWWXD9Zm5cliCN8GEa5+XE+DZ31U42axOGWtk/Q== 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=PzwzRdhd2KofOh8m/RstYpFDurapv76jawazOB1lJvg=; b=kmAs1ap6C20IDJ/qnWQrT1OZdcVi45RLWe9VwYVc0tPqhQDdoSi+V49IPQjfnmIdUU2hmdoI/uBOvQL2TFi/aRXPnDBP+T5snybCi61y4hKtN5cNsQkXeyzeO2J1q+wjGYW8SEBT+Te3mpPUGtSCxUggBfZnsa+T0U9/vrN1VnI= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB4048.namprd11.prod.outlook.com (2603:10b6:208:153::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.28; Fri, 23 Jul 2021 05:06:38 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::d447:3a7a:aad7:4d32]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::d447:3a7a:aad7:4d32%7]) with mapi id 15.20.4331.035; Fri, 23 Jul 2021 05:06:37 +0000 From: "Xia, Chenbo" To: Thomas Monjalon , "Jiang, Cheng1" , "maxime.coquelin@redhat.com" CC: "dev@dpdk.org" , "Hu, Jiayu" , "Yang, YvonneX" , "david.marchand@redhat.com" Thread-Topic: [dpdk-dev] [PATCH v7 0/5] vhost: handle memory hotplug for async vhost Thread-Index: AQHXfrHDR+WvPpQYdkWz8V5ttwEqzqtOcW9ggAC6BICAANPiMA== Date: Fri, 23 Jul 2021 05:06:37 +0000 Message-ID: References: <20210602042802.31943-1-cheng1.jiang@intel.com> <20210722040907.20468-1-cheng1.jiang@intel.com> <10705747.pk50nUbaNJ@thomas> In-Reply-To: <10705747.pk50nUbaNJ@thomas> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: monjalon.net; dkim=none (message not signed) header.d=none;monjalon.net; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0cb3b5dc-9969-490b-a583-08d94d97a695 x-ms-traffictypediagnostic: MN2PR11MB4048: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kwHypGyqHpCPNIquFwvLfyrj7RP/A9edb7/P2C9UmlSZTG+NHIjUEpOC930Op9Z8AlgynHHtnutIkfD/2VVGUjvBsnxOhzmL9DXNPQ0MvXF0fD3z+VEB+NpetClnP+5XzK4Coh72fs2z1BW+YIQPv9pNaBphdn0AEUyrlUox2Z8JcPvHgGGxQrSkQl1Fs4MNFD/fXy/fAz0Xah9YKJCrIRWvOzbxnMd/GroO2eULDyaXCNNTIn3CHN43jK9XPc3aH00Q1Ic4K5F87clOUNq3MYIdYMLXpD6mEzbxQjQvTDF5O2i63sFiEyqQdfPzktmX4mAQ0G8UTHWKmAnsecLFuH8rZVzLh/h811Bt3kkO2BryRWHsyi3VcNxJpSYVS0PlhCV4y8NJlXRGEYI6gBS69Bor61LD35bKob0UiQbH1ZzraZz5hwD4JIutAdcFXX+7WapwKk2qrudP3ff9zJPcLS9k4eshi7xFDaOzfiHmNV6UVPeK2c4uuk04kF8JAVD1DEEwsyjA/W/P2vYWMnhkGYnHs651wAzFZCTYB/uC2eTEqKEtauPFUMR4b2EwwIOyDhCV7djdXZoHtO2Gu4huz0Vh5DoVuwx3/jKqdh4xh2MFWF4DA8OI9iG0Sl6LFWR2FwHjIkO64Sm5ZBjl9JGEc/6GdZXSkc1yHqaNeX7zslRSoBdaDTf7IS3vc8Hky0MYmyVJOmhXHNdpULSki8S6MQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(376002)(366004)(39860400002)(346002)(396003)(8676002)(54906003)(7696005)(26005)(33656002)(478600001)(53546011)(4326008)(71200400001)(8936002)(86362001)(9686003)(55016002)(110136005)(83380400001)(66446008)(76116006)(64756008)(316002)(2906002)(66946007)(66476007)(66556008)(186003)(52536014)(38100700002)(6506007)(122000001)(5660300002)(38070700004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QTRXSlVZcXVzejhKK0J6R0M4Z0pza3J6OVN0cTloODNDZU5IYm5BdnBlUWRt?= =?utf-8?B?d2NKSFlIZjhmZ1hTeWE5bEdmL1NINXNFVTlTN0ZvS3JmeDB3Ym00WFU5TG5q?= =?utf-8?B?T1FLRktTUU42K0lMZWUwUkNaSWEyaERVeTNFV2JOMWVweEVVMW9JTTZWNk4w?= =?utf-8?B?Rzc4VGdjTVpvb3RyWFdJUnl4cGtGNWNQMDkrZnJaeGxlSFNaK1ZleDBOWm4x?= =?utf-8?B?N0kxM25uMmhlK093cTFoK3JRdkcyb2ZKM2tJL0lMNHgyWU5Ceks5Y1JMS2t3?= =?utf-8?B?VXFYSTV1dFVaL2E3amxJNjljTVc3cXdDN2d3L09lTXd2VTJJSWRaNjIyTGFm?= =?utf-8?B?YzdraVlkMHlKeTVSS0ZZWlkycmJKK1k1L3FZRlIrWGhQa0NPU3FBSnBtSDQ0?= =?utf-8?B?QitIcDcyei9pSi9aMUdtUVl6ejlyV3dlYUNYTVpSVk1rdm5EbWJ1VmZuVXV4?= =?utf-8?B?TVFKdGdOTzl4aDRlMnhZZFB0SFN6a1FMNHpBSU9UeFNKa3d1MU5wbHIwSHJJ?= =?utf-8?B?ZlVMUHdnY0FGMWVwRDRpdGVPaWZHQlEyVnVBaGtQY0Y3N3JrSm5hTDJWZFJO?= =?utf-8?B?UHBPMUdZaUZiUUhvY0oyTWtob1JQbmRRa2tYYkhmazhERnN2S3JkblNEQzl0?= =?utf-8?B?empaZEJ5Wm95RlNiLzQ0bHoyQUE1dDRKTTBreWNoZjZJSHpNOS9yRFptQ1p6?= =?utf-8?B?SVJORjBWbW1RKytYS3RJaWhzNElZRWQ4cVp5WlViT1c2YlRCZ1VjNGRiVVBp?= =?utf-8?B?bElYdFFoM1J3aXozcHdXdnFGZHh6UTM5Zm44dW8wUVpNVm9VSVFBdzUrY3l3?= =?utf-8?B?MW5QaWl6Nm1ETXo5Z0hZZXVlZTNQZEJVZWliRHhQcU5nUGJMQXNBSUF6c3BC?= =?utf-8?B?QXhQTGUrT0tUYlB4TXRpa1hjL0tSUEhwNUZjbGVVTnllMG5tK3NrcWM3cjhW?= =?utf-8?B?bjhVYm1jVGVRYXJYMDRXMzlNaVF2WXJKL3ErVmIrNHZKYkpzazNDdHd3a3ls?= =?utf-8?B?bWpKcWNKVXJWYzZmQUR3QklSR1JBNnZrdmlEZHM5YkZFRHh0ZDB6eTRjVnB1?= =?utf-8?B?bVRFOFNRMHdjNnhXeGRLUFBBZFB0Rjg5bm5RWENNQkpEVG0zUERlbVNaeWpY?= =?utf-8?B?REdtMm5DVTZ6dDlnd0Y1WHNmQnhKZHhlWVBydS93bWtBT0JxMUZJZEdSeGdy?= =?utf-8?B?T2xBUER3Q1BFVnd5V0NYRURMeGxDSWFGdEVid3AzUnNxSEEzcTNxSnZ5cU53?= =?utf-8?B?Y21LdGJtVTZIRzRkalkzbDl2bDJtRDl2NjltTldUdHNGQjZIVFdLRmdGNC84?= =?utf-8?B?dG1GTEUxa3V2djFWR1BvYUZMSENtTFAyRFMxaU0vbkVDbXpEMVhpUitqNTVF?= =?utf-8?B?NVFaNXlSbFZPS3JKVjV5cm9lRDl6VkwvZWorYktJZUNwd2FRYWRYWCtCY2xj?= =?utf-8?B?ZTZ3cEE3RWxxSWROR0grVE9lWlZTK1RMcTNCU25TVFlqQXJBdXpEWEFWRFhs?= =?utf-8?B?NWp4Nnlpd2pXekhtNDk4UE54TGpKcUpVd1d2ajZJVEUybmROMllQNFRtZzVE?= =?utf-8?B?dzVGRm1JN1FldU5lU0ZGYk9qbXNBTnJKNW9IdCt3MFBTN2srQk53NjVYMm45?= =?utf-8?B?M0VKUlluRnN6eEY5SS8raVVtcHE4R0lFbjlQdmVuWWtqUlViRjhFSEh5WTZ6?= =?utf-8?B?OUdSSTRXTkxmRzQvWGtQSlA4aEd0QmtKemJSOHJQUkJVbDBSeXlPRWhEd3ZQ?= =?utf-8?Q?uKMXlI7xidK6cijp+jgyRodsRJ5r+4TiXiXEiTN?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0cb3b5dc-9969-490b-a583-08d94d97a695 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jul 2021 05:06:37.8242 (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: K0wdZFmR2tltMsSNhLy4zWbh5s6DzLe4apNE+Ui54j1ryeUw5JqnvuCiux2lzFuHE9BqBF/sOyTjwU/fUQazUw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4048 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v7 0/5] vhost: handle memory hotplug for async vhost X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgVGhvbWFzLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFRob21h cyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD4NCj4gU2VudDogRnJpZGF5LCBKdWx5IDIz LCAyMDIxIDEyOjEzIEFNDQo+IFRvOiBKaWFuZywgQ2hlbmcxIDxjaGVuZzEuamlhbmdAaW50ZWwu Y29tPjsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiBDYzogbWF4aW1lLmNv cXVlbGluQHJlZGhhdC5jb207IGRldkBkcGRrLm9yZzsgSHUsIEppYXl1IDxqaWF5dS5odUBpbnRl bC5jb20+Ow0KPiBZYW5nLCBZdm9ubmVYIDx5dm9ubmV4LnlhbmdAaW50ZWwuY29tPjsgZGF2aWQu bWFyY2hhbmRAcmVkaGF0LmNvbQ0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjcg MC81XSB2aG9zdDogaGFuZGxlIG1lbW9yeSBob3RwbHVnIGZvciBhc3luYw0KPiB2aG9zdA0KPiAN Cj4gMjIvMDcvMjAyMSAwNzowNywgWGlhLCBDaGVuYm86DQo+ID4gRnJvbTogSmlhbmcsIENoZW5n MSA8Y2hlbmcxLmppYW5nQGludGVsLmNvbT4NCj4gPiA+IFdoZW4gdGhlIGd1ZXN0IG1lbW9yeSBp cyBob3RwbHVnZ2VkLCB0aGUgdmhvc3QgYXBwbGljYXRpb24gd2hpY2gNCj4gPiA+IGVuYWJsZXMg RE1BIGFjY2VsZXJhdGlvbiBtdXN0IHN0b3AgRE1BIHRyYW5zZmVycyBiZWZvcmUgdGhlIHZob3N0 DQo+ID4gPiByZS1tYXBzIHRoZSBndWVzdCBtZW1vcnkuDQo+ID4gPg0KPiA+ID4gVGhpcyBwYXRj aCBzZXQgaXMgdG8gcHJvdmlkZSBhbiB1bnNhZmUgQVBJIHRvIGRyYWluIGluZmxpZ2h0IHBrdHMN Cj4gPiA+IHdoaWNoIGFyZSBzdWJtaXR0ZWQgdG8gRE1BIGVuZ2luZSBpbiB2aG9zdCBhc3luYyBk YXRhIHBhdGgsIGFuZA0KPiA+ID4gbm90aWZ5IHRoZSB2aG9zdCBhcHBsaWNhdGlvbiBvZiBzdG9w cGluZyBETUEgdHJhbnNmZXJzLiBBbmQgZW5hYmxlIGl0DQo+ID4gPiBpbiB2aG9zdCBleGFtcGxl Lg0KPiA+DQo+ID4gU2VyaWVzIGFwcGxpZWQgdG8gbmV4dC12aXJ0aW8vbWFpbi4gVGhhbmtzDQo+ IA0KPiBJIGNhbm5vdCBwdWxsIHRoaXMgc2VyaWVzIGluIG1haW4gYnJhbmNoLg0KPiANCj4gVGhl cmUgaXMgYSBjb21waWxhdGlvbiBlcnJvciBzZWVuIG9uIEFybSBjcm9zcy1jb21waWxhdGlvbjoN Cj4gDQo+IGV4YW1wbGVzL3Zob3N0L21haW4uYzoxNDkzOjUxOiBlcnJvcjogYXNzaWdubWVudCB0 byAnaW50MzJfdCAoKikoaW50LA0KPiB1aW50MTZfdCwgIHN0cnVjdCBydGVfdmhvc3RfYXN5bmNf ZGVzYyAqLCBzdHJ1Y3QgcnRlX3Zob3N0X2FzeW5jX3N0YXR1cyAqLA0KPiB1aW50MTZfdCknIHth a2EgJ2ludCAoKikoaW50LCAgc2hvcnQgdW5zaWduZWQgaW50LCAgc3RydWN0DQo+IHJ0ZV92aG9z dF9hc3luY19kZXNjICosIHN0cnVjdCBydGVfdmhvc3RfYXN5bmNfc3RhdHVzICosIHNob3J0IHVu c2lnbmVkIGludCknfQ0KPiBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgJ3VpbnQzMl90 ICgqKShpbnQsICB1aW50MTZfdCwgIHN0cnVjdA0KPiBydGVfdmhvc3RfYXN5bmNfZGVzYyAqLCBz dHJ1Y3QgcnRlX3Zob3N0X2FzeW5jX3N0YXR1cyAqLCB1aW50MTZfdCknIHtha2ENCj4gJ3Vuc2ln bmVkIGludCAoKikoaW50LCAgc2hvcnQgdW5zaWduZWQgaW50LCAgc3RydWN0IHJ0ZV92aG9zdF9h c3luY19kZXNjICosDQo+IHN0cnVjdCBydGVfdmhvc3RfYXN5bmNfc3RhdHVzICosIHNob3J0IHVu c2lnbmVkIGludCknfSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtDQo+IHBvaW50ZXItdHlwZXNdDQo+ ICAxNDkzIHwgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbF9vcHMudHJhbnNmZXJfZGF0 YSA9DQo+IGlvYXRfdHJhbnNmZXJfZGF0YV9jYjsNCj4gICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCg0KSSBzZWUuIEBDaGVuZywgcGxl YXNlIGZpeCBpdCBpbiBuZXcgdmVyc2lvbi4NCg0KPiANCj4gT3RoZXIgY29tbWVudHMgYWJvdXQg dGhlIGxhc3QgcGF0Y2g6DQo+IC0gaXQgaXMgdXBkYXRpbmcgZG9jIG91dCBvZiB0aGUgb3JpZ2lu YWwgcGF0Y2ggZG9pbmcgdGhlIGNvZGUgY2hhbmdlcw0KPiAtIHRoZXJlIGlzIG5vdCBldmVuIGEg cmVmZXJlbmNlIHRvIHRoZSBjb2RlIHBhdGNoIChGaXhlczogbGluZSkNCg0KSSB0aGluayB0aGUg ZG9jIHBhdGNoIGNvdWxkIGJlIGNvbWJpbmVkIHdpdGggdGhlIGNvZGUgcGF0Y2ggaW4gdGhlIHNh bWUgc2VyaWVzLg0KQnV0IHBlcnNvbmFsbHksIHNvbWV0aW1lcyBJIGFtIG5vdCB2ZXJ5IGNsZWFy IHdoZW4gZG9jIHBhdGNoIHNob3VsZCBiZSBzcGxpdC4NCkZvciBleGFtcGxlLCBpbiB0aGlzIGNh c2Ugd2UgY2FuIGNvbWJpbmUgYXMgdGhlIHVwZGF0ZSBpbiByZWxlYXNlIG5vdGUgaXMgcmVsYXRl ZA0Kb25seSB0byB0aGUgY29kZSBwYXRjaC4gV2hhdCBpZiBpdCdzIHJlbGF0ZWQgdG8gbXVsdGlw bGUgcGF0Y2g/IFNob3VsZCB3ZSBzcGxpdCBvcg0KYWRkIGRvYyBjaGFuZ2VzIHRvIGV2ZXJ5IHJl bGF0ZWQgcGF0Y2hlcz8gSnVzdCBhIGJpdCBjb25mdXNlZC4gTWF5YmUgeW91IGNhbiBnaXZlDQpt ZSBzb21lIGdlbmVyYWwgZ3VpZGFuY2Ugc28gdGhhdCB3ZSB3aWxsIGJlIG9uIHRoZSBzYW1lIHBh Z2UuDQoNCj4gLSB0aGUgYWRkaXRpb24gaW4gdGhlIHJlbGVhc2Ugbm90ZXMgaXMgbm90IHNvcnRl ZA0KDQpOb3QgdmVyeSBjbGVhciBvbiB0aGlzLiBUaGUgY2hhbmdlIGlzIHB1dCBpbiB0aGUgYm90 dG9tLiBJcyB0aGVyZSBhbnkgc29ydGluZw0KcnVsZXM/DQoNCj4gDQo+IExhc3QgcXVlc3Rpb24g d2hpbGUgYXQgaXQsIHdoeSBoYXZpbmcgdGhlIEFQSSBkb2N1bWVudGF0aW9uDQo+IGluIHRoZSB2 aG9zdCBndWlkZSAocnN0IGZpbGUpPw0KPiBEb3h5Z2VuIGlzIG5vdCBlbm91Z2ggdG8gZGVzY3Jp YmUgdGhlIGZ1bmN0aW9ucz8NCg0KR29vZCBwb2ludC4gVG8gYmUgaG9uZXN0LCBJIGhhdmUgbm90 IHRob3VnaHQgYWJvdXQgaXQgOlANCg0KSSB0aGluayBpdCBjb3VsZCBiZSBtb3ZlZCB0byB0aGUg ZG94eWdlbiBsYXRlciAobWF5YmUgaW4gYW5vdGhlciBwYXRjaCkuIFRoZSBvbmx5DQpjb25jZXJu IG9mIG1pbmUgaXMgc29tZSBBUEkgZGVzY3JpcHRpb24gaW4gdGhlIHZob3N0IGd1aWRlIGlzIGEg Yml0IGxvbmcuDQoNCkBNYXhpbWUgV2hhdCBkbyB5b3UgdGhpbms/DQoNClRoYW5rcywNCkNoZW5i bw0KDQo+IA0KDQo=