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 2A418A0C4D; Tue, 19 Oct 2021 14:38:28 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AF8AF411C4; Tue, 19 Oct 2021 14:38:12 +0200 (CEST) Received: from AZHDRRW-EX01.nvidia.com (azhdrrw-ex01.nvidia.com [20.51.104.162]) by mails.dpdk.org (Postfix) with ESMTP id 3BF33411BD for ; Tue, 19 Oct 2021 14:38:08 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.174) by mxs.oss.nvidia.com (10.13.234.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.858.15; Tue, 19 Oct 2021 05:38:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LtrxID5YR1ECTzFdfQ6yjN/QduexH/aH0ui9PP9lumSDrSu9r/p3lGgBM6j8J8IHAiK4jt4nk0uT6+FduDfjFHl9QhGKbPHFLr1tRqcnosTfO/ic1zz2cp3mJl77ZSjIzd84G/vavjBGKhgkvxRms2E7GNi+WDNFx9tJigKVArxU6OzjXI1Ni0e6+482U6/hcVTKvc62pXPc4xXWvh1V0EEACqnKoidhP5kjZWxe1/5lLP6YobjNo7APayqKsRLwDnEd0qvnQpHZW8z7ztpwveS2iYnfk6fgk1RyXu6KC0F7DJVYMOhL00CXp6DOj6nK9fg/3rR7bvEwShqyvfNV4w== 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=JA9bFroFMzQcqt4WeyTrUwttC4860V03zH38n+Op4vk=; b=E3QVPM5n7ig0VUBmaHNjOWn/CZ8u3A+IWZaQDNSBmzDHoTFVTKJ5nqyVLmABndx6rG6fB5eaKcE6P2znbwlLc+VxRz+ommBOlaHa4GGra9rIpCFf3zFKjJ9K4pO5LVnHAdwHC2i9A4zDl/qHRJ3hiAtmO9/ygKoLjehJceSUAlUmH2qSYua0PUlPWUFasORHpTZAwk0V6MDZKgxzMwSbSM32qxsz27uI5qtZZLtXckUbfzxF6uzdwwso8yy0Ig2rwvb+lVbaTIkcrKePOLjuPzoeqXazMpnnojrg1bcyvBN+QVjTIefCI6g8cSPHon3XgTHf4OOCQpfKuo5wZN099w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JA9bFroFMzQcqt4WeyTrUwttC4860V03zH38n+Op4vk=; b=UFghwBQMX3TaEKaX3939rRcFPRyFztybCs12ZlmZdQQbuPQH0+Jkz9qnZq1e1bp44AQXEajELmw33dNKiWdCiyQOOvW/meIl6CZMSKy1E3AyB9uCCll2o6IWp/L5iy94eoyJvfPhYOKEd69VO1afiknobkxsNUArVTQZZCwYCNGXLKHXjdhd9Ch3rO9yUpnHEp0to0gKZPwf+dA1ejWtYNQTmPmNuVU20ErMYfzInP8CE83pLRaj6FyVcaWm5LoY5cCwVANbmbO63jkKpDCxjTVPAYh93qW/NzAdswepGeulTfhCWSGAKHAjISJA9wgi/RhQlUDbFbaGNwvZtM4Mcg== Received: from CH0PR12MB5091.namprd12.prod.outlook.com (2603:10b6:610:be::10) by CH0PR12MB5137.namprd12.prod.outlook.com (2603:10b6:610:bc::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.17; Tue, 19 Oct 2021 12:38:06 +0000 Received: from CH0PR12MB5091.namprd12.prod.outlook.com ([fe80::59bf:640f:7140:ab97]) by CH0PR12MB5091.namprd12.prod.outlook.com ([fe80::59bf:640f:7140:ab97%9]) with mapi id 15.20.4608.018; Tue, 19 Oct 2021 12:38:06 +0000 From: Dmitry Kozlyuk To: Andrew Rybchenko , "dev@dpdk.org" CC: Ori Kam , NBU-Contact-Thomas Monjalon , Ferruh Yigit Thread-Topic: [PATCH v2 1/5] ethdev: add capability to keep flow rules on restart Thread-Index: AQHXw/4Izb3ufw6ZE0O3Tia7LHQVPKvYd1Kg Date: Tue, 19 Oct 2021 12:38:06 +0000 Message-ID: References: <20211005005216.2427489-1-dkozlyuk@nvidia.com> <20211015161822.3099818-1-dkozlyuk@nvidia.com> <20211015161822.3099818-2-dkozlyuk@nvidia.com> <5ec7101f-169e-cbd0-87bb-810b7476c7d0@oktetlabs.ru> In-Reply-To: <5ec7101f-169e-cbd0-87bb-810b7476c7d0@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3d1398c6-5a56-4505-5894-08d992fd4ccf x-ms-traffictypediagnostic: CH0PR12MB5137: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8P6z4S2Gzru1FBoqHIaIt3MI5s6GFgLKi+7Fu2kOJxChpyfIw6Kr6puWL04JMNOH1gIa7UgfmG/hg9WlEWWalmOKuos1RKUMbukjrNT8MlRDcbVtgZZJz42QJ+HKsyzFMvuVv1CKyJids0YC8N4r67N3+2Y0STzdkX6TrrlruERu7yT5O+1KelbU5ZxpIMnWhL2p40zNhTvwXX9tdXC69GOuCFngXe+k8pvMKq6KPaN1bt3vn5eeEs9K2yzNwUGRxW1V/yQxXcxdTfx1K8z1u6cBH8MivLrwpWkMl8Dvw14rBP/oXVVbfRi6aoPeTwN/AA4d7CkXNfvBr0clNpScMoF67ANKjHxVOvhg8Kv+Gy8CMFRwKSe4d75vpiDoWaQsDAT/tUUxEBkFV+Zrwli8ysYXYUQJw2Z76bLUHWn46S967HySfylJX0SVMq/iieFcBDsX1OjJUdqgI8r43hrpkQyNisiF7Xmsw+TQZ0mNN3sH436g1iUtbCuex6aFJ8ULciOTWr9V2EZbCPnBog8j3U7WDRE96UOZ/W5m0Gn944b1vyjjGAHW0HnSk/sn89y9j4mA9yQ3J/mEqpxW/zZ1eyWbe/T2ElI0bLXuIiU5mKrupRLY6jnbmImYLxT4vPyy3DdTRk2n/2mDS4E1ySqvRmWvtdEmfPyUMHvyciIkpLLw65INiW54eyWeIWmAVrNN+4ejG4NZAM3o9MhbOIoHKA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR12MB5091.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(76116006)(26005)(55016002)(54906003)(66946007)(66556008)(86362001)(110136005)(508600001)(52536014)(7696005)(8936002)(186003)(71200400001)(5660300002)(66446008)(33656002)(2906002)(316002)(8676002)(107886003)(38070700005)(64756008)(122000001)(4326008)(66476007)(6506007)(9686003)(38100700002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QUo1c1h1cHpLOFFna25wc3hNaHpNQ2p6aDFITmFHek9lVlpTTHIzM0JpZjJp?= =?utf-8?B?OFVCQm1RZERXdTFBdGVOekVpa0xGREgyNS9SWjc1ZllaSWtQa203VXpaSkxu?= =?utf-8?B?bkMyS0N6TTF0d3k0ZERtbFRWM1R2MGV3ZEJ2L0ZrNXp3Umc3TDZaTlhid1E3?= =?utf-8?B?dVR6Y29zZGVZK1Izc2R2andzZERhbnZlTHpVZk9lbzJ6c0tuUnZtbituMk9C?= =?utf-8?B?b0NIaXBhZTkvT0ttT0RhM1dQWVVQdUpXVk5wY3JXUVpiN0tnOS9rOTc0OXlS?= =?utf-8?B?Y0Q2UFg4OTdnWmVaTU9nNlpJdGxsMFRidVlDL0NSTmJ0ZkUwWjBFVmNFWE1H?= =?utf-8?B?cHM0bDdsSHhBeFhqd1lwVlFTazI4aUE4UmRVbE8yV243VFBJbU9xdTByaVBq?= =?utf-8?B?cEd6c0JXSDY3OFZMb2FsS2JJVjh6RlFQQ0FOYjYxOHhtaCtEbjI3cklFTGMy?= =?utf-8?B?VE93NktCdEZhcW1hTHdqSU95SEpqeitQa0FZZFYxcXpoRDltbi9CNVE3UHVa?= =?utf-8?B?S3h4ZnVoZnFQYkFPQkVhWlYvcE9SVWpxZENEbitJbzQ1UnhRNFVwUEJvQkRL?= =?utf-8?B?aEd5dXcwMk5EUXhCdjM4ZGZsckw4b2ZPYTlHZ1Bvd2ZYdWdBa0IyVUI0WURn?= =?utf-8?B?UHJwdGh5VFVuZFZJUUQ4dXFLY3BDcktuUEhFMXhRV3psTVBsdHZkY2JSSzBM?= =?utf-8?B?SVBBeVNHTGVzVCtCMk1LdXRUbEJBeFloa0F6dGhQbDlwbWxiMFFsSzNyejBj?= =?utf-8?B?SDZadk5Wdzd6cGh0SFAvcUh4QlJPMTErNllvaFJSUEsvYld1NEtSaHNMenJo?= =?utf-8?B?UGs2SkxKL284Zm9RUFM0OWVEbTZhUXF0d2c2b2xXS09IM00xczBiMHk0YzJ3?= =?utf-8?B?QkxxU3JSSjcycXNmdFpDMFNvMVFDS1lZQzlXaEtqZ3o4dFRDUXc2S0xEMyti?= =?utf-8?B?NGZYczdjOGM2VVVBUnljZEx2SHZoMEd1aFdzTGxmY2FvcmVPdmIzRlN6dTdF?= =?utf-8?B?NlQweStWdUlua1dXQ2t3b2sxcDJqTHlTZ3dDRUlGZlBLdjRIK2lsOWhpZUli?= =?utf-8?B?aW1TVFRMd1VnVE55VkxNU0tnRGxiM1JpQkVMRFlEcmFVd1E4eCtETWZScVd6?= =?utf-8?B?TDNKVDZ3R2NoWWltWnJuMThpVUxXUWNoZkRjcWNLTkRNZndlbzFCbmU5bG5F?= =?utf-8?B?SVJEVkRLanZ0WXNpMHozM0d3NlQrSmxqMHVaUnRYbUYvSTAwcmdMbytvVngz?= =?utf-8?B?ZFpqdmYzd0E3NHltUzhKRk5lK0t2cUp0NXkwSldQdTk4Vm5yVWhleDdoZGtT?= =?utf-8?B?eXVZZndyZis1SXIySzRCMitsbFZsVjRna1F5WlJLOUxqd1lvdmtHT1dZQWtE?= =?utf-8?B?eTMvaExhZUdORDVRTHAwRGZocFhtVitGRnZWOWdWc1ZhTlh2SXJyYnhQZDd2?= =?utf-8?B?cEN2U0lkRXVmYzJjTVltMWlMUlQ2MjQ5Zm5tQm00b1VMaFhVL2R6ZnJkdG1Q?= =?utf-8?B?aFd0R0pHVDV2MENna3NSbjlWc1VSZkJMZmxJQjdxRWZOWHpZNzBGQVQvTXVC?= =?utf-8?B?aTZGbDdycEh6OS9kMVVZZHB4ckNRUXp3WXpOd1NVUWxhM2p4ZHk4eVI5bTlz?= =?utf-8?B?MVB5empIeExycmZVY0UzeXFub09idU83bnZHVnlpQXpSaS9hQTR2bUI1RTBq?= =?utf-8?B?dkFuWlZpUk90akJNUDlzWmUrSlZaUERwTyttTU5kSW1wYStCMXdBdkNTbFlS?= =?utf-8?Q?c/VxLMODdANGQLZcXo=3D?= 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: CH0PR12MB5091.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3d1398c6-5a56-4505-5894-08d992fd4ccf X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Oct 2021 12:38:06.1688 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: dkozlyuk@nvidia.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5137 Subject: Re: [dpdk-dev] [PATCH v2 1/5] ethdev: add capability to keep flow rules on restart 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" PiA+IFsuLi5dDQo+ID4gQWRkIGEgZGV2aWNlIGNhcGFiaWxpdHkgYml0IGZvciBQTURzIHRoYXQg Y2FuIGtlZXAgYXQgbGVhc3Qgc29tZQ0KPiA+IG9mIHRoZSBmbG93IHJ1bGVzIGFjcm9zcyByZXN0 YXJ0LiBXaXRob3V0IHRoaXMgY2FwYWJpbGl0eSBiZWhhdmlvcg0KPiA+IGlzIHN0aWxsIHVuc3Bl Y2lmaWVkLCB3aGljaCBpcyBub3cgZXhwbGljaXRseSBzdGF0ZWQuDQo+ID4gRGVjbGFyZSB0aGF0 IHRoZSBhcHBsaWNhdGlvbiBjYW4gdGVzdCBmb3IgcGVyc2l0ZW5jZSBvZiBmbG93IHJ1bGVzDQo+ ID4gb2YgYSBwYXJ0aWN1bGFyIGtpbmQgYnkgYXR0ZW1wdGluZyB0byBjcmVhdGUgYSBydWxlIG9m IHRoYXQga2luZA0KPiA+IHdoZW4gdGhlIGRldmljZSBpcyBzdG9wcGVkIGFuZCBjaGVja2luZyBm b3IgdGhlIHNwZWNpZmljIGVycm9yLg0KPiANCj4gc3RvcHBlZCAtPiBjb25maWd1cmVkIGJ1dCBu b3QgeWV0IHN0YXJ0ZWQNCg0KQ29ycmVjdCwgZml4ZWQgaW4gdjMuDQoNCj4gPiBkaWZmIC0tZ2l0 IGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdA0KPiBiL2RvYy9ndWlkZXMvcHJv Z19ndWlkZS9ydGVfZmxvdy5yc3QNCj4gPiBpbmRleCAyYjQyZDVlYzhjLi5iMGNlZDQyMDliIDEw MDY0NA0KPiA+IC0tLSBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QNCj4gPiAr KysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4gQEAgLTg3LDYgKzg3 LDMzIEBAIFRvIGF2b2lkIHJlc291cmNlIGxlYWtzIG9uIHRoZSBQTUQgc2lkZSwgaGFuZGxlcyBt dXN0DQo+IGJlIGV4cGxpY2l0bHkNCj4gPiAgZGVzdHJveWVkIGJ5IHRoZSBhcHBsaWNhdGlvbiBi ZWZvcmUgcmVsZWFzaW5nIGFzc29jaWF0ZWQgcmVzb3VyY2VzIHN1Y2gNCj4gYXMNCj4gPiAgcXVl dWVzIGFuZCBwb3J0cy4NCj4gPg0KPiA+ICtCeSBkZWZhdWx0IGl0IGlzIHVuc3BlY2lmaWVkIGlm IHRoZSBmbG93IHJ1bGVzIHBlcnNpc3QgYWZ0ZXIgdGhlIGRldmljZQ0KPiBzdG9wLg0KPiANCj4g b3IgY2FuIGJlIGNyZWF0ZWQgYmVmb3JlIHRoZSBmaXJzdCBkZXZpY2Ugc3RhcnQNCg0KQ29ycmVj dCwgZml4ZWQgaW4gdjMuDQoNCj4gDQo+ID4gK0lmIGBgUlRFX0VUSF9ERVZfQ0FQQV9GTE9XX1JV TEVfS0VFUGBgIGlzIG5vdCBhZHZlcnRpc2VkLA0KPiA+ICt0aGVuIHJ1bGVzIG11c3QgYmUgZXhw bGljaXRseSBmbHVzaGVkIGJlZm9yZSBzdG9wcGluZyB0aGUgZGV2aWNlDQo+ID4gK2lmIHRoZSBh cHBsaWNhdGlvbiBuZWVkcyB0byBlbnN1cmUgdGhleSBhcmUgcmVtb3ZlZC4NCj4gPiArSWYgaXQg aXMgYWR2ZXJ0aXNlZCwgdGhpcyBtZWFucyB0aGUgUE1EIGNhbiBrZWVwIGF0IGxlYXN0IHNvbWUg cnVsZXMNCj4gPiArYWNyb3NzIHRoZSBkZXZpY2Ugc3RvcCBhbmQgc3RhcnQgd2l0aCBwb3NzaWJs ZSByZWNvbmZpZ3VyYXRpb24gaW4NCj4gYmV0d2Vlbi4NCj4gPiArSG93ZXZlciwgaXQgbWF5IGJl IG9ubHkgc3VwcG9ydGVkIGZvciBzb21lIGtpbmRzIG9mIHJ1bGVzLg0KPiA+ICtUaGUga2luZCBp cyBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgcnVsZSBwcm9wZXJ0aWVzOg0KPiA+ICsN Cj4gPiArLSB0aGUgc2VxdWVuY2Ugb2YgaXRlbSB0eXBlczsNCj4gPiArLSB0aGUgc2VxdWVuY2Ug b2YgYWN0aW9uIHR5cGVzOw0KPiA+ICstIHRoZSB2YWx1ZSBvZiB0aGUgdHJhbnNmZXIgYXR0cmli dXRlLg0KPiA+ICsNCj4gPiArVG8gdGVzdCBpZiBhIHBhcnRpY3VsYXIga2luZCBvZiBydWxlcyBp cyBrZXB0LCB0aGUgYXBwbGljYXRpb24gbXVzdCB0cnkNCj4gPiArdG8gY3JlYXRlIGEgdmFsaWQg cnVsZSBvZiB0aGF0IGtpbmQgd2hlbiB0aGUgZGV2aWNlIGlzIHN0b3BwZWQNCj4gPiArKGFmdGVy IGl0IGhhcyBiZWVuIGNvbmZpZ3VyZWQgb3Igc3RhcnRlZCBwcmV2aW91c2x5KS4NCj4gPiArSWYg aXQgc3VjY2VlZHMsIGFsbCBydWxlcyBvZiB0aGUgc2FtZSBraW5kIGFyZSBrZXB0IGF0IHRoZSBk ZXZpY2Ugc3RvcC4NCj4gPiArSWYgaXQgZmFpbHMgd2l0aCBhbiBlcnJvciBvZiB0eXBlIGBgUlRF X0ZMT1dfRVJST1JfVFlQRV9TVEFURWBgLA0KPiA+ICtydWxlcyBvZiB0aGlzIGtpbmQgYXJlIGZs dXNoZWQgd2hlbiB0aGUgZGV2aWNlIGlzIHN0b3BwZWQuDQo+ID4gK1J1bGVzIG9mIGEga2VwdCBr aW5kIHRoYXQgYXJlIGNyZWF0ZWQgd2hlbiB0aGUgZGV2aWNlIGlzIHN0b3BwZWQsDQo+IGluY2x1 ZGluZw0KPiA+ICt0aGUgcnVsZXMgY3JlYXRlZCBmb3IgdGhlIHRlc3QsIHdpbGwgYmUga2VwdCBh ZnRlciB0aGUgZGV2aWNlIGlzDQo+IHN0YXJ0ZWQuDQo+IA0KPiBJdCBtdXN0IGJlIGRlZmluZWQg d2hhdCBhcHBsaWNhdGlvbiBzaG91bGQgZXhwZWN0IGZvcg0KPiBub3QgdGVzdGVkIHJ1bGUga2lu ZHMuDQo+IA0KPiBGb3IgbWUgYWJvdXQgY2hlY2sgc291bmRzIGV4dHJlbWVseSBjb21wbGljYXRl ZCBhbmQgaGFyZGx5DQo+IGRvYWJsZS4gWWVzLCBzb21lIGFwcGxpY2F0aW9ucyBrbm93IGtpbmRz IG9mIHJ1bGUgaXQgd291bGQNCj4gbGlrZSB0byBjcmVhdGUsIGJ1dCBzb21lLCBsaWtlIE92Uywg ZG8gbm90LiBQbGVhc2UsIGNvcnJlY3QNCj4gbWUgaWYgSSdtIHdyb25nLiBPdlMga25vd3Mgd2hp Y2ggdHlwZXMgb2YgYWN0aW9ucyBhbmQgZXZlbg0KPiBwb3NzaWJsZSBjb21iaW5hdGlvbnMgb2Yg YWN0aW9ucyAoaGFyZGVyLCBidXQgc3RpbGwgcG9zc2libGUpDQo+IGl0IHdvdWxkIGxpa2UgdG8g aW5zdGFsbC4gQnV0IGFsbCBwb3NzaWJsZSBjb21iaW5hdGlvbnMgb2YNCj4gaXRlbXMgdG9nZXRo ZXIgd2l0aCBhbGwgcG9zc2libGUgY29tYmluYXRpb25zIG9mIGFjdGlvbnMNCj4gY291bGQgYmUg dmVyeS12ZXJ5IGJpZy4NCj4gDQo+IE1heSBiZSBJIHN0aWxsIG1pc3VuZGVyc3RhbmQgdGhlIGFi b3ZlIGlkZWEuDQoNClRoaXMgaXMgYSB2ZXJ5IHZhbGlkIGNvbmNlcm4uDQpBZnRlciBhbiBvZmZs aW5lIGNvbnNpZGVyYXRpb24gbWUgYW5kIE9yaSBjb25jbHVkZWQNCnRoYXQgYW4gaXRlbS9hY3Rp b24gdHlwZSArIHRyYW5zZmVyIGJpdCAoImEgZmVhdHVyZSIpIGlzIGVub3VnaC4NClRoYXQgaXMs IGlmIHNvbWUgZmVhdHVyZSBjYW5ub3QgYmUga2VwdCwgbm8gcnVsZXMgdXNpbmcgaXQgY2FuIGJl IGtlcHQuDQo=