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 52E1342B25; Wed, 17 May 2023 09:34:52 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 451C44282D; Wed, 17 May 2023 09:34:52 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id BC1EC4067B for ; Wed, 17 May 2023 09:34:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684308890; x=1715844890; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=qAbJD6CNJIEhhUt4LmflqNUs06BvjUD0OFDQwp/cELk=; b=Xifcf4+Iy4rNZh+Ya59zrb+NTItzwigmNkhY1O++foedk52nzUjwvG7M AJP4UiS15Z+YZpLJAW+t7U4zk5iN48P2QbG/X6Jg65HMHTrpe5pjcPWDH zPA5DBRnD0fYIyNQybA11HDHpoyIj91xTevEL0j9uTXoX+GtBiQZvT7M8 95Q4zQkwa+Jul+52x440dnuaOp+PLlpVrTOIRMBfcuMBz4+NaGA3alv6m JL9+ZhUXyf4Y8ZofrzvOYh5hupFE5UVUk9nWdEwoc6V5uH05/2aLPpZGV Lk2+WUBV2xjHl9o3U9vksUzcGDKPPskXXf+WWe8jpvGgNljuTUyss6L8V Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10712"; a="332051049" X-IronPort-AV: E=Sophos;i="5.99,281,1677571200"; d="scan'208";a="332051049" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2023 00:34:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10712"; a="875950128" X-IronPort-AV: E=Sophos;i="5.99,281,1677571200"; d="scan'208";a="875950128" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga005.jf.intel.com with ESMTP; 17 May 2023 00:34:49 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.2507.23; Wed, 17 May 2023 00:34:49 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 17 May 2023 00:34:49 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.169) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Wed, 17 May 2023 00:34:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ilv0sjLIY84on+uuLuix0vB0wIwa4uFncVpnrIrfxJ68tgpF7+42zx4vxsp/TdxHzAv397I7CwxzDotYvb2HDYOkYzhMvYb93QcB4ry/jlMvLFVV+bGS8LcJDAfhv6+0skJ8FNHLtZlq6k854VCtO7MHoqMN/Jja+96DedJ0ebcVPBU8avBuvF+EgZlUGX5W1cMvvPTv0+eAx9m2WdoznQItTfjXtgiUO+6ee+qWqvIbQtEJaJdTGYw+b9SA9+4ftTsDTvzXnxn2L0sai2XLxLjou9/2sPEff5viFE2OfixgZUdVt/LNAEkDn1KH6fwPeKrM/WT9aqzqfv7OHUaWOw== 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=qAbJD6CNJIEhhUt4LmflqNUs06BvjUD0OFDQwp/cELk=; b=K1ZPHNtEXmNIu3zEIXwhYPetmaByjMeoBB3TYSBO1jhHUieL1J8wyqaaLhZZOjmBI6AtoC6WT3EhcmJkcnUSuH7abfKHCsw31AT3OU3E1P5AzKtetFL0/ESSbN4qBCjikTJw0JUb0awwM/E62BfUF9bMbaL6f51TwHqcCtN886q/H9rM0thKiK0QRvBwar6Y2VqeYKN1QVP4eJgsZjXAd8CW6HKp9iHKVOofpp7vEmNrgTdKNfax1C3sZZn+qsPvZMEpX6vwTbN05VDDIlGR5tHiUh+Gol+vaEfy7F+H7393A0zi+MFtoDg4MILq19cMQo6h45eGfFApGMoLrrHEgQ== 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 SN7PR11MB7019.namprd11.prod.outlook.com (2603:10b6:806:2ae::22) by BN9PR11MB5468.namprd11.prod.outlook.com (2603:10b6:408:101::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.33; Wed, 17 May 2023 07:34:47 +0000 Received: from SN7PR11MB7019.namprd11.prod.outlook.com ([fe80::8de7:9dcd:7cfb:944]) by SN7PR11MB7019.namprd11.prod.outlook.com ([fe80::8de7:9dcd:7cfb:944%3]) with mapi id 15.20.6387.030; Wed, 17 May 2023 07:34:46 +0000 From: "Jiang, Cheng1" To: Maxime Coquelin , "Xia, Chenbo" CC: "dev@dpdk.org" , "Hu, Jiayu" , "Ding, Xuan" , "Ma, WenwuX" , "Wang, YuanX" , "He, Xingguang" , David Marchand Subject: RE: [PATCH 0/2] vhost: add port mirroring function in the vhost lib Thread-Topic: [PATCH 0/2] vhost: add port mirroring function in the vhost lib Thread-Index: AQHZc/LSuSKv+KbrhUmMUIyueYgMZK9IXaoAgAem4fCABOFHAIAANwKAgAkUJyA= Date: Wed, 17 May 2023 07:34:46 +0000 Message-ID: References: <20230421010932.46847-1-cheng1.jiang@intel.com> <42af2ea2-0c07-bc76-e086-9eb6bf0c639e@redhat.com> <5adb400f-89c4-40d8-f667-4cbaed07632a@redhat.com> In-Reply-To: <5adb400f-89c4-40d8-f667-4cbaed07632a@redhat.com> Accept-Language: zh-CN, en-US Content-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: SN7PR11MB7019:EE_|BN9PR11MB5468:EE_ x-ms-office365-filtering-correlation-id: 05cc0e5c-8403-45ab-462a-08db56a93061 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4RsgSUuKrfpZcbDXb6SOlliZsfEeuLnbTrNKA+kuGbWSE2SUU3EOcOQzPEVQk52i5kKFjGRnZX7JT/Gm99GzjHSKD35VIcQ/ImFvFXyTd9+vxErtb74tUq6Xu16vpeekdXkMLaMO7+cymc/cHKhxYiuHXrgejPJMJKlAYdr6NS5Y2JIMoVtAu4k2kUzKlHHdU+qhxsRGfKMEi620M52roYJfTu9eBhb4EOJ/BuRsd8DN1T7Q9F45T/GloyGr57ZhbXRd3sSIaqE3SKVt269y7YY0bExAOXXkCHWY3OpybqJ6YfMceygBgRzFRrZ6aVC+B8KsrjTgjLJubGF+YhbT3b0EpLxn8e2A4ZRV9BgvBn55oJBiPOCyDXxcHcyVUNz/qBa6qbXrrCOCmO5WsRPrEs6egKukKLsJLR2BUu6Ii9EpE/t0ODL8W5Grr+2Ku9BA2QAtQQpe+3gaF7xMQdmPsoc43Kl8n3jjgRzWzbist0c5t2e/KWP4yZ6rRAcc9ZIBEOdIZuXfgHwkvtwEPOu3pbyS/Jox4gyTFrNfLoUMsSGEPDK/VVxbvuowmqfd8gtn0Y513lGJqReswK9WDvKLkY3YvtCHeDCn7Vvbj79441A4vPZVSRLMLG2XT0LO07bM x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN7PR11MB7019.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(366004)(396003)(136003)(376002)(39860400002)(346002)(451199021)(66899021)(83380400001)(4326008)(6636002)(38070700005)(2906002)(8936002)(5660300002)(8676002)(52536014)(86362001)(55016003)(316002)(76116006)(66476007)(66556008)(38100700002)(122000001)(64756008)(41300700001)(66946007)(66446008)(82960400001)(66574015)(186003)(53546011)(110136005)(26005)(9686003)(33656002)(6506007)(7696005)(478600001)(71200400001)(54906003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Z3VVT1Z1VlBHcTR1eHBpRUc4OEgrZVRvYnFNcm1BT29sbFBGRmcxelRiajY1?= =?utf-8?B?ZWZ5ZmVMYnZmWjhVYmc0TkE3eU1CeERQazdvbm9hMDJzM3JydTZDemFHRThp?= =?utf-8?B?alZZVkppR0d5NTVFNVlZcnViWmhUZG9NdmZtSHQwcXExYno1cUFMMGlOdE5Y?= =?utf-8?B?ZGk2ekxoZ09qUldjRWFhTTVZdW9JcDNwakxBUU8xOG5JYWR6d2hmSkthWEN5?= =?utf-8?B?aG5QVEVxUEZ6L1kxaTcwekNCU3hFdDVQSVlBT1NlK0kwSTRHeHNlbkhydDRL?= =?utf-8?B?R2xNcEEvWlJCOXJZWmtjcG4xUkRmeEgxZ255ZmExS3lOSXdyVHpLTFBkY2lX?= =?utf-8?B?MXZ1L0g5OFB3YjVkZkhNSXVEV0Y2ZGoyVXU2cTR1RVV5R1lPbWZmb0E5SWhm?= =?utf-8?B?bnhGME5JbkJDSHhpYmY0b0kyRWhsL0YzcFNXZVV6OHVvZE5TYnFMUHl3WHVz?= =?utf-8?B?dWgweW1XOC9NdFIxRU9NNEpsMDc1aXlrMVF6SldsZWM2OHBxRnEwYmxPR0ZE?= =?utf-8?B?VzZUOEsyWlBYb0QvVEVJUUZOMHhnVGpaZ3dXNjhoK0RYL1ltMHVpN0dYK2FI?= =?utf-8?B?dDZyWGRoZGNidHlMNUcvTUw1WVJYZE5SalRPOHd4TStNSm0zYWo4UFZkWEU3?= =?utf-8?B?RTNHZFZrK05XL3BNYW4ydHVnL3NQSU9KYXZPTGc3UE54SVdsSVc1cFgwSVNh?= =?utf-8?B?UnhOMklkM2M4WFBOZUhTcldiNzc3UEhGd3VvL3Y3anVFSEJya1NKajk0MHYw?= =?utf-8?B?UmNvM0RXWXl4aW9PVVJvNGZKd0dXcnNmN3c0ZWVqM3pIeTRjTjJuUGhxSURQ?= =?utf-8?B?SmI2SHNqcVQyQzB5MjEwYnFrbzlTa2ZJQkpiWXJOcDhvUEE0NUZkRzZBMlAx?= =?utf-8?B?YTJLSndGSUsrRDN5SlR1WEdqQnJYVE1IUlVzVEFRUFJST3ZDV0FDRm8wYnFC?= =?utf-8?B?OVQ2WnpYbnBnaXpIbzBNQTFpV2J5SGtqU1E1YW9uaWg0UTB0OENFSzRKTHZl?= =?utf-8?B?TVM3QXF4WkRXeVpldmR4Sk1TamJlQU1wWVJVRmdESUpFdXZqQlpSVHMrWGE3?= =?utf-8?B?N05OM0sxdzZFbWxJOHdCS2xITXBCbWZZMnc1SXBOUzhFcHExNGl1STc4UlZU?= =?utf-8?B?WXY3WlRKZFl2a282aEtPemVJMFBxMng1UWFsd1RTU3poam5zaVE2S0d1cW9D?= =?utf-8?B?MjBndG10bUFzRGhERlJ4VDBudEJqL3ZRcXVrN0IvOGxuVTdNa21La203b3hX?= =?utf-8?B?dTFvaUJBWGEvL2tmMXZpaTRtVzh3SnVxSDJTSkF0L0x6RlBXaS8rUGFPNCtP?= =?utf-8?B?RkhTS3k5L3VVcUF5R0V1ZTZpNGJpOUtRS1NnMDd6bXdUM1lQRGIwRjFqQmpw?= =?utf-8?B?WU9YVHp3ODRTQXFFWWpOVVprMFY2T2V1aWJZSkZrTVRWUUJ3azNFM2oybmZO?= =?utf-8?B?NE5lcG9yU1FBaDB3ZWphdUczWXFYa2tDTGUwMlJPUUtkanJwUTViMHJUeXkv?= =?utf-8?B?RUVMUCtYZWREcjAvcnpJN3dkMXdmeHFtVytYWDNPbDFzRGVnVEF6dmdWUzRC?= =?utf-8?B?UUVia0h0cVV0M0R0OEhuOWZSRmRhVnRWdUlKN0xqOVBiZUlIRWZmcWZYVnVq?= =?utf-8?B?Vk11aGh2Rzh5Q3ROVEk3L1NJczhaampCbDhTT1FNeDQ3Y0YzenIvWS8yTERo?= =?utf-8?B?Ty8vU21hODBUZndIY29oaytkOEMwcDF1b3FMc1hQRlRDOFNLYjNyTzhuRFhW?= =?utf-8?B?dHhBQ1BQYXlhSVl6cWU0b0E3NkczNCt0b09ZZ3ptV3QyVmhvNDNMbW4xazA1?= =?utf-8?B?Rk9RZ2JySjE5b1l5bXJsN3MwSGNhbERHNk1adzJISnAvTldtRTlEUXJjclov?= =?utf-8?B?M0tJZTZRVmlQeDRPN29tWkZWbjNPVVV3MFRQVWdKQVNSbWxUbDU0Skp0amlE?= =?utf-8?B?Z0JxS1gxaGFMSjNMSTdlbnlDV0s3UFgwUnpvNTZpVWtaTVk4T203aVJvcTJB?= =?utf-8?B?cGIxTTZNUy8rbFBEU1QrUDQrU3o1QWNLQUJrN3NaVzlIYlk4VEMrMHJlL3pp?= =?utf-8?B?dVFWOUdHY1pPQjR5cDh5aG1VcENyL3ZPQnU1RTc0eTBrUVZhN3NDYkU5SHNh?= =?utf-8?Q?oDBqAYXek3OYPizcNepWJ+4r0?= 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: SN7PR11MB7019.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 05cc0e5c-8403-45ab-462a-08db56a93061 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 May 2023 07:34:46.3831 (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: PuuWO0bg3JIF3Nk3Ho/UAzHXGySBCy1gzmgs+fsGiA7DfERb7coElRBKq5SfUYuYPowKdeMWq1bfYY85NUjfig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5468 X-OriginatorOrg: intel.com 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 SGkgTWF4aW1lL0NoZW5ibywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9t OiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBU aHVyc2RheSwgTWF5IDExLCAyMDIzIDg6MTYgUE0NCj4gVG86IFhpYSwgQ2hlbmJvIDxjaGVuYm8u eGlhQGludGVsLmNvbT47IEppYW5nLCBDaGVuZzENCj4gPGNoZW5nMS5qaWFuZ0BpbnRlbC5jb20+ DQo+IENjOiBkZXZAZHBkay5vcmc7IEh1LCBKaWF5dSA8amlheXUuaHVAaW50ZWwuY29tPjsgRGlu ZywgWHVhbg0KPiA8eHVhbi5kaW5nQGludGVsLmNvbT47IE1hLCBXZW53dVggPHdlbnd1eC5tYUBp bnRlbC5jb20+OyBXYW5nLCBZdWFuWA0KPiA8eXVhbngud2FuZ0BpbnRlbC5jb20+OyBIZSwgWGlu Z2d1YW5nIDx4aW5nZ3VhbmcuaGVAaW50ZWwuY29tPjsgRGF2aWQNCj4gTWFyY2hhbmQgPGRhdmlk Lm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMC8yXSB2aG9zdDog YWRkIHBvcnQgbWlycm9yaW5nIGZ1bmN0aW9uIGluIHRoZSB2aG9zdCBsaWINCj4gDQo+IA0KPiAN Cj4gT24gNS8xMS8yMyAxMDo1OSwgWGlhLCBDaGVuYm8gd3JvdGU6DQo+ID4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IEppYW5nLCBDaGVuZzEgPGNoZW5nMS5qaWFuZ0Bp bnRlbC5jb20+DQo+ID4+IFNlbnQ6IE1vbmRheSwgTWF5IDgsIDIwMjMgODoyMyBQTQ0KPiA+PiBU bzogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT47IFhpYSwgQ2hl bmJvDQo+ID4+IDxjaGVuYm8ueGlhQGludGVsLmNvbT4NCj4gPj4gQ2M6IGRldkBkcGRrLm9yZzsg SHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+OyBEaW5nLCBYdWFuDQo+ID4+IDx4dWFuLmRp bmdAaW50ZWwuY29tPjsgTWEsIFdlbnd1WCA8d2Vud3V4Lm1hQGludGVsLmNvbT47IFdhbmcsDQo+ IFl1YW5YDQo+ID4+IDx5dWFueC53YW5nQGludGVsLmNvbT47IEhlLCBYaW5nZ3VhbmcgPHhpbmdn dWFuZy5oZUBpbnRlbC5jb20+OyBEYXZpZA0KPiA+PiBNYXJjaGFuZCA8ZGF2aWQubWFyY2hhbmRA cmVkaGF0LmNvbT4NCj4gPj4gU3ViamVjdDogUkU6IFtQQVRDSCAwLzJdIHZob3N0OiBhZGQgcG9y dCBtaXJyb3JpbmcgZnVuY3Rpb24gaW4gdGhlDQo+ID4+IHZob3N0IGxpYg0KPiA+Pg0KPiA+PiBI aSBNYXhpbWUsDQo+ID4+DQo+ID4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4g RnJvbTogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gPj4+ IFNlbnQ6IFdlZG5lc2RheSwgTWF5IDMsIDIwMjMgNTozNyBQTQ0KPiA+Pj4gVG86IEppYW5nLCBD aGVuZzEgPGNoZW5nMS5qaWFuZ0BpbnRlbC5jb20+OyBYaWEsIENoZW5ibw0KPiA+Pj4gPGNoZW5i by54aWFAaW50ZWwuY29tPg0KPiA+Pj4gQ2M6IGRldkBkcGRrLm9yZzsgSHUsIEppYXl1IDxqaWF5 dS5odUBpbnRlbC5jb20+OyBEaW5nLCBYdWFuDQo+ID4+PiA8eHVhbi5kaW5nQGludGVsLmNvbT47 IE1hLCBXZW53dVggPHdlbnd1eC5tYUBpbnRlbC5jb20+OyBXYW5nLA0KPiBZdWFuWA0KPiA+Pj4g PHl1YW54LndhbmdAaW50ZWwuY29tPjsgSGUsIFhpbmdndWFuZyA8eGluZ2d1YW5nLmhlQGludGVs LmNvbT47DQo+ID4+PiBEYXZpZCBNYXJjaGFuZCA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT4N Cj4gPj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMC8yXSB2aG9zdDogYWRkIHBvcnQgbWlycm9yaW5n IGZ1bmN0aW9uIGluIHRoZQ0KPiA+Pj4gdmhvc3QNCj4gPj4gbGliDQo+ID4+Pg0KPiA+Pj4gSGkg Q2hlbmcsDQo+ID4+Pg0KPiA+Pj4gT24gNC8yMS8yMyAwMzowOSwgQ2hlbmcgSmlhbmcgd3JvdGU6 DQo+ID4+Pj4gU2ltaWxhciB0byB0aGUgcG9ydCBtaXJyb3JpbmcgZnVuY3Rpb24gb24gdGhlIHN3 aXRjaCBvciByb3V0ZXIsDQo+ID4+Pj4gdGhpcyBwYXRjaCBzZXQgaW1wbGVtZW50cyBzdWNoIGZ1 bmN0aW9uIG9uIHRoZSBWaG9zdCBsaWIuIFdoZW4gZGF0YQ0KPiA+Pj4+IGlzIHNlbnQgdG8gYSBm cm9udC1lbmQsIGl0IHdpbGwgYWxzbyBzZW5kIHRoZSBkYXRhIHRvIGl0cyBtaXJyb3IgZnJvbnQt ZW5kLg0KPiA+Pj4+IFdoZW4gZGF0YSBpcyByZWNlaXZlZCBmcm9tIGEgZnJvbnQtZW5kLCBpdCB3 aWxsIGFsc28gc2VuZCB0aGUgZGF0YQ0KPiA+Pj4+IHRvIGl0cyBtaXJyb3IgZnJvbnQtZW5kLg0K PiA+Pj4NCj4gPj4+IFdoeSBub3QganVzdCBrZWVwaW5nIG1pcnJvcmluZyBpbiB0aGUgc3dpdGNo L3JvdXRlcj8NCj4gPj4+IEkgYW0gcmVhbGx5IG5vdCBjb252aW5jZWQgdGhpcyBpcyB0aGUgd2F5 IHRvIGdvOg0KPiA+Pj4gMS4gQVBJIGlzIHRvbyBjb21wbGV4DQo+ID4+PiAyLiBJdCByZXF1aXJl cyBhc3luYyBzdXBwb3J0DQo+ID4+PiAzLiBUaGVyZSBpcyB0b28gbXVjaCBjb2RlIGR1cGxpY2F0 aW9uLCBpdCBpbmNyZWFzZXMgIHZpcnRpby1uZXQuYyBieQ0KPiA+Pj4gICAgICAzMCUsIGFuZCBp dCBpcyB3aXRob3V0IHBhY2tlZCByaW5nIHN1cHBvcnQuDQo+ID4+PiA0LiBJZiBtaXJyb3IgcG9y dCBpcyBkb3duIGZvciBhbnkgcmVhc29uLCBwYWNrZXRzIHRvL2Zyb20gdGhlIG9yaWdpbmFsDQo+ ID4+PiAgICAgIHBvcnQgYXJlIGRyb3BwZWQuDQo+ID4+PiA1LiBJdCBzZWVtcyB0byBhc3N1bWUg bmVnb3RpYXRlZCBmZWF0dXJlcyBvZiB0aGUgdHdvIHBvcnRzIGFyZQ0KPiA+Pj4gICAgICBpZGVu dGljYWwsIGUuZy4gVmlydGlvLW5ldCBoZWFkZXIgbGVuZ3RoPyBJZiBzbywgdGhhdCdzIG5vdCBh DQo+ID4+PiAgICAgIG1hbmFnZWFibGUgc29sdXRpb24uDQo+ID4+DQo+ID4+IFRoYW5rIHlvdSBm b3IgeW91ciBmZWVkYmFjay4NCj4gPj4gSSBjb25jdXIgdGhhdCBwbGFjaW5nIHRoZSBtaXJyb3Ig ZnVuY3Rpb24gaW4gdGhlIFZob3N0IGxpYnJhcnkgaXMgbm90DQo+ID4+IGlkZWFsLiBXZSBhcmUg Y3VycmVudGx5IGNvbnNpZGVyaW5nIGltcGxlbWVudGluZyBlaXRoZXIgYSBtaXJyb3INCj4gPj4g Vmhvc3QgUE1ELCBvciBhZGRpbmcgYSBmdW5jdGlvbiB0byBUZXN0UE1EIHRvIGhhbmRsZSB0aGlz IGZ1bmN0aW9uYWxpdHkuDQo+ID4+IFdvdWxkIHlvdSBwbGVhc2Ugc2hhcmUgeW91ciB0aG91Z2h0 cyBvbiB0aGlzIHBsYW4gYW5kIGxldCB1cyBrbm93DQo+ID4+IHdoaWNoIG9wdGlvbiB5b3UgcHJl ZmVyPw0KPiA+DQo+ID4gQmFzZWQgb24gY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgaXQgc2VlbXMg dGhhdCB2aG9zdCBsaWIgY291bGQgYmUNCj4gPiBpZ25vcmFudCBvZiB0aGUgbWlycm9yaW5nIHVz YWdlLiBNYWtpbmcgdGhlc2UgbG9naWMgaW50byBBUFAgbGlrZQ0KPiA+IHRlc3RwbWQgc2VlbXMg dG8gbWFrZSBtb3JlIHNlbnNlLg0KPiANCj4gSSBhZ3JlZSB3aXRoIENoZW5ibywgaXQgc2hvdWxk IGJlIGRvbmUgYXQgdGhlIGFwcGxpY2F0aW9uIGxldmVsLCB3aGljaCB3b3VsZA0KPiBlbmFibGUg dG8gYWxzbyBtaXJyb3Igbm9uLVZob3N0IHBvcnRzLg0KDQpJIG1vc3RseSBhZ3JlZSB3aXRoIHlv dXIgb3BpbmlvbnMuIEhvd2V2ZXIsIHRoZSB3b3JrbG9hZCBmb3IgaW1wbGVtZW50aW5nIGEgZ2Vu ZXJhbCBtaXJyb3IgZnJhbWV3b3JrIHRvIHN1cHBvcnQgYWxsIHBvcnRzIGluIHRoZSBhcHBsaWNh dGlvbiBsZXZlbCB3b3VsZCBiZSB0b28gbGFyZ2UgZm9yIHVzIGZvciBub3cuIEN1cnJlbnRseSwg d2UgYXJlIG1vcmUgZm9jdXNlZCBvbiBkZW1vbnN0cmF0aW5nIHRoZSBzdXBlcmlvciBwZXJmb3Jt YW5jZSBhZHZhbnRhZ2VzIG9mIGFzeW5jIFZob3N0IGFuZCBEU0Egd2l0aCB0aGlzIG1pcnJvciB3 b3JrLiBUaGVyZWZvcmUsIHdlIG1heSBuZWVkIHRvIHRlbXBvcmFyaWx5IHB1dCB0aGlzIHVwc3Ry ZWFtIHByb2Nlc3Mgb24gaG9sZC4NCg0KSSBncmVhdGx5IGFwcHJlY2lhdGUgeW91ciBmZWVkYmFj ayBhbmQgaGVscC4gTWF5YmUgd2UgY2FuIGRpc2N1c3MgdGhlIGRldGFpbHMgaW4gdGhlIGZ1dHVy ZS4gVGhhbmsgeW91IGFnYWluIQ0KDQpCZXN0IHJlZ2FyZHMsDQpDaGVuZw0KDQo+IA0KPiBUaGFu a3MsDQo+IE1heGltZQ0KPiANCj4gPiBUaGFua3MsDQo+ID4gQ2hlbmJvDQo+ID4NCj4gPj4NCj4g Pj4gVGhhbmtzIGEgbG90LA0KPiA+PiBDaGVuZw0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pj4NCj4g Pj4+IFJlZ2FyZHMsDQo+ID4+PiBNYXhpbWUNCj4gPj4+DQo+ID4+Pj4NCj4gPj4+PiBDaGVuZyBK aWFuZyAoMik6DQo+ID4+Pj4gICAgIHZob3N0OiBhZGQgaW5ncmVzcyBBUEkgZm9yIHBvcnQgbWly cm9yaW5nIGRhdGFwYXRoDQo+ID4+Pj4gICAgIHZob3N0OiBhZGQgZWdyZXNzIEFQSSBmb3IgcG9y dCBtaXJyb3JpbmcgZGF0YXBhdGgNCj4gPj4+Pg0KPiA+Pj4+ICAgIGxpYi92aG9zdC9ydGVfdmhv c3RfYXN5bmMuaCB8ICAgMTcgKw0KPiA+Pj4+ICAgIGxpYi92aG9zdC92ZXJzaW9uLm1hcCAgICAg ICB8ICAgIDMgKw0KPiA+Pj4+ICAgIGxpYi92aG9zdC92aXJ0aW9fbmV0LmMgICAgICB8IDEyNjYN Cj4gPj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPj4+PiAgICAzIGZp bGVzIGNoYW5nZWQsIDEyODYgaW5zZXJ0aW9ucygrKQ0KPiA+Pj4+DQo+ID4+Pj4gLS0NCj4gPj4+ PiAyLjM1LjENCj4gPj4+Pg0KPiA+DQoNCg==