From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 87F2FA04AC;
	Fri,  1 May 2020 14:45:59 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id EE3351D92C;
	Fri,  1 May 2020 14:45:58 +0200 (CEST)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60078.outbound.protection.outlook.com [40.107.6.78])
 by dpdk.org (Postfix) with ESMTP id 8129D1D918
 for <dev@dpdk.org>; Fri,  1 May 2020 14:45:57 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lKXCmXSO/bZJA9eBuYE9sbbQiPXxOFUJv1RVuGUhhTJDb18HxU2xGA1uBIBirOvbZRKaBYQhVJkpWAilpjviR7J2LkjPi4vdzoC5OvtU2kTpttbf003azytj5DojxVtJhjsIjT0R1G3JnyWyaJ7YPCxJyAFY41uKfJELiueBwV5GXj+NWz6eo9GrkayLdSWaeKkGLDfu3Xj8wS5AAo6INq82WZX79Ve1mhKUiudF4ncjfyJhFQn3ysczjUdezAWFuNTAMp0BIVmaKJJ/vA1UBUlyTTNRIG9F2E2cjrJeDna4Myej1x2dJ3uaENjNngavJoY1gVSTrQkvdAU8Tz29Ww==
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=vPTMSCPh69XzeR4HbiyG4mZEXHSeP4ZGcu+4gNJVaow=;
 b=J+23NZ1mOVlioWEfSllX6GX/dz7DXAnencNJljtCkvVZ7r25SoFbl31o89hZJ03gyaxXEkJLfSZ5fMsndkZgXNysvj0+kbq3NcLYyyjXtuylxS41Zw3d5VN2WxgJv5NBQ3cccjUw5VcRgGmBSQRaWQgzt8ThSojY5X+5kgQYGN8GZmhMhIfqxjBvgWOHCgTlPLygVVItQF48stWeDhpxv/3LM/hElrNrHqjnpDKHQs4XJkdQr8iCOBztN8qQP+v2kkxQAWvzEBp6MO0Q6mRcnLhtoNXsuJN4T3GAMT1ZAUB0T5xEI4s5gE5H83xRhWktUj83MvGBhCJjGRC+JE+6hg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com;
 dkim=pass header.d=mellanox.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vPTMSCPh69XzeR4HbiyG4mZEXHSeP4ZGcu+4gNJVaow=;
 b=m8NaoWsPBgeWTtAMVcVbsONyRyd6FehS7kpnF5/g3qI9WMSqB1GobVnAz2gGSm74I7TxkDUKzHbq8nrBly55Wg3f8b1YoDPOyr729ZSBFmo/VE++hDUfPIOh29l8MY80AC6ZkhbolUDUEiqIVQsu3XpyKycKwcVhRx9NTMcLHGk=
Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (2603:10a6:208:f::11)
 by AM0PR0502MB4065.eurprd05.prod.outlook.com (2603:10a6:208:e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Fri, 1 May
 2020 12:45:56 +0000
Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com
 ([fe80::a564:a117:9022:1fee]) by AM0PR0502MB4019.eurprd05.prod.outlook.com
 ([fe80::a564:a117:9022:1fee%7]) with mapi id 15.20.2958.027; Fri, 1 May 2020
 12:45:56 +0000
From: Matan Azrad <matan@mellanox.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>, Bill Zhou <dongz@mellanox.com>,
 "wenzhuo.lu@intel.com" <wenzhuo.lu@intel.com>, "jingjing.wu@intel.com"
 <jingjing.wu@intel.com>, "bernard.iremonger@intel.com"
 <bernard.iremonger@intel.com>, Ori Kam <orika@mellanox.com>,
 "john.mcnamara@intel.com" <john.mcnamara@intel.com>,
 "marko.kovacevic@intel.com" <marko.kovacevic@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>
Thread-Topic: [dpdk-dev] [PATCH v2] app/testpmd: support flow aging
Thread-Index: AQHWHweJy5G3zl/UeUGkUKuqvjrotaiSQ26AgACAICCAADPWAIAAGjWQgAAO1wCAAAxq0A==
Date: Fri, 1 May 2020 12:45:55 +0000
Message-ID: <AM0PR0502MB4019660085E21B73709C6379D2AB0@AM0PR0502MB4019.eurprd05.prod.outlook.com>
References: <20200424105511.13147-1-dongz@mellanox.com>
 <20200430155345.1384-1-dongz@mellanox.com>
 <5fc8bc00-e4b1-b2c4-1caf-03dea0456f4c@intel.com>
 <AM0PR0502MB4019926D4E44B6341A76E063D2AB0@AM0PR0502MB4019.eurprd05.prod.outlook.com>
 <fc4d06f1-6d70-759c-ba83-6ffe1a13cdef@intel.com>
 <AM0PR0502MB40198A1AAE5FDF87424F8A12D2AB0@AM0PR0502MB4019.eurprd05.prod.outlook.com>
 <a7d64e0f-7e3b-cf34-d04c-91d5cb250245@intel.com>
In-Reply-To: <a7d64e0f-7e3b-cf34-d04c-91d5cb250245@intel.com>
Accept-Language: en-US, he-IL
Content-Language: 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=mellanox.com;
x-originating-ip: [2a02:ed0:4360:400:6d77:6f4b:ba4d:aae1]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: e7bf3de0-de3d-4109-73af-08d7edcd9764
x-ms-traffictypediagnostic: AM0PR0502MB4065:|AM0PR0502MB4065:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <AM0PR0502MB40653B109426A9DC874125FED2AB0@AM0PR0502MB4065.eurprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 0390DB4BDA
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: LZu5S143qGtJZ81IdRclRnJKHa23F3lVT7W+QDflq0TMhzM2s6y5XGUnAsaovX5MS3wKd7Dr9wzpVZCl4mtZfMxdhw7PfdDTkTEyYM0Qh2EQ46yOCgvAZtaUVOUUCKOtOIFewijZOvqzRLPcevnLW/OScos+JCet4PcVGLlK8jbyHi1o2nePrq54i9tnp4OXhTx5bor3EeDtPpDQ5DvYdqIWnFaztLP/k975/Ll/bH15zclqrAlPxExl03304BWnlNdUzEpodrXJ4YOWHDGHIasKl0FYuJKFCXbcVoNcS8HkbUPoH8QhkTmosMVwbrRWNvCAgQ9JOX6yjwgJG7Ytux19l7+EAXGebuDzkUL+CoLWcn3S4x5zWthqJSafoHjEmtVfLOTQ+ulSFYPeN8j31HDTklJKpKPs2SKzpPHAmd0wyyuhrXcl6BdNp2pUuFPf
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; PTR:; CAT:NONE;
 SFTY:;
 SFS:(4636009)(346002)(396003)(376002)(366004)(136003)(39860400002)(66476007)(186003)(5660300002)(76116006)(8936002)(316002)(71200400001)(53546011)(6506007)(8676002)(9686003)(55016002)(52536014)(66556008)(7696005)(478600001)(110136005)(66946007)(2906002)(86362001)(64756008)(66446008)(4326008)(33656002);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata: z9KC4uiRyC5xXH5geR8mBkSTAbcuxuDqZO3yAxjKoMN806zrhrLWMz7sSMnZfntTrXhOkrXKI5Oed6wUlbCiL6jZkUdH58VHRYcExUs/3BqUtxxUijqDlAnOChP3VBluXFR7yvqXLg0iXg2XCUZdP+vD2wUuOooq9IEQkjMzjvvcizB2kKXJFUhT/6dkKjXEf3isfGHF8wWRyY/qkdkJ3vxjg/lQ7fwIUwyYSiR6Hw1HXK9suZbbEUKdX06iyX6+EwioTuA4mVjyVDoxSS+8b85DBdAJJcNFScA9JJcgzBxg3MX3+HEZb9j+SwFfnBqFTZXZs/6GKFwVltbyvwfXy5T03HNWFPsBsfStOiIkYG9l8UaqtJ4A7jsATPRJT8EQ276kEaUHRHDGL8gwPhJ5e3G5QaXwvQTgizafQOw5YzSwlR7RAAXXwflmiwKRdDI7wloRnWkD4r44ggmyu2wPQ+OiuWmRo+HO2q71u91TaNT0XTQHgSwJxHWF1TRpeybYLtg0reXuovnHXPcdrWigQk6kqG9ZNexLiK7ZyMbmBGe99cmRvAfyLwhlIZQPwEov5QudjPncz0rj3Nb51nUsf809rNC53aY6KALcTsYm6nk1KiSNgFLcaBwUloJ/Hb0fRHRMpzODSipsFdxW9mx/1H1FqR7Lnc2sKxjW5wsLuTy5yEX+lyEg4y1vUHthJLKdlUyspm+J0p/ahpiXi2C8/2+8VfhhI2L712bXnOHV3mKXQmvGubnKNSzNob+RnR8djUe191RBpquhQGOw+C7qXsSBTplGsfdeLQASJfj/+oNWl6Q7eOhoFTjQkwyTsiH3LYDmY4Ejejn8J7LsiP7iMzhVnm3scrCQS9/Q7uI1Vqk=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Mellanox.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e7bf3de0-de3d-4109-73af-08d7edcd9764
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 May 2020 12:45:55.8753 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VFF9GrJtl9R0Cl6WHgXHncoaMPtX0XjkiuzO/8wp9ktkh6JCehYS+mrFDGo97tywP57uPYuweaFghk9zJ/9mfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB4065
Subject: Re: [dpdk-dev] [PATCH v2] app/testpmd: support flow aging
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

DQoNCkZyb206IEZlcnJ1aCBZaWdpdDoNCj4gT24gNS8xLzIwMjAgMTI6MjggUE0sIE1hdGFuIEF6
cmFkIHdyb3RlOg0KPiA+DQo+ID4gSGkgRmVycnVoDQo+ID4NCj4gPiBGcm9tOiBGZXJydWggWWln
aXQ6DQo+ID4+IE9uIDUvMS8yMDIwIDc6NTEgQU0sIE1hdGFuIEF6cmFkIHdyb3RlOg0KPiA+Pj4g
SGkgRmVycnVoDQo+ID4+Pg0KPiA+Pj4gRnJvbTogRmVycnVoIFlpZ2l0DQo+ID4+Pj4gT24gNC8z
MC8yMDIwIDQ6NTMgUE0sIEJpbGwgWmhvdSB3cm90ZToNCj4gPj4+Pj4gQ3VycmVudGx5LCB0aGVy
ZSBpcyBubyB3YXkgdG8gY2hlY2sgdGhlIGFnaW5nIGV2ZW50IG9yIHRvIGdldCB0aGUNCj4gPj4+
Pj4gY3VycmVudCBhZ2VkIGZsb3dzIGluIHRlc3RwbWQsIHRoaXMgcGF0Y2ggaW5jbHVkZSB0aG9z
ZQ0KPiA+Pj4+PiBpbXBsZW1lbnRzLCBpdCdzDQo+ID4+Pj4gaW5jbHVkZWQ6DQo+ID4+Pj4+IC0g
UmVnaXN0ZXJpbmcgYWdpbmcgZXZlbnQgd2hlbiB0aGUgdGVzdHBtZCBhcHBsaWNhdGlvbiBzdGFy
dCwgYWRkIG5ldw0KPiA+Pj4+PiAgIGNvbW1hbmQgdG8gY29udHJvbCBpZiB0aGUgZXZlbnQgZXhw
b3NlIHRvIHRoZSBhcHBsaWNhdGlvbnMuIElmIGl0J3MgYmUNCj4gPj4+Pj4gICBzZXQsIHdoZW4g
bmV3IGZsb3cgYmUgY2hlY2tlZCBhZ2Ugb3V0LCB0aGVyZSB3aWxsIGJlIG9uZS1saW5lDQo+ID4+
Pj4+IG91dHB1dA0KPiA+PiBsb2cuDQo+ID4+Pj4+IC0gQWRkIG5ldyBjb21tYW5kIHRvIGxpc3Qg
YWxsIGFnZWQgZmxvd3MsIG1lYW53aGlsZSwgd2UgY2FuIHNldA0KPiA+Pj4+IHBhcmFtZXRlcg0K
PiA+Pj4+PiAgIHRvIGRlc3Ryb3kgaXQuDQo+ID4+Pj4+DQo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6
IEJpbGwgWmhvdSA8ZG9uZ3pAbWVsbGFub3guY29tPg0KPiA+Pj4+PiAtLS0NCj4gPj4+Pj4gdjI6
IFVwZGF0ZSB0aGUgd2F5IG9mIHJlZ2lzdGVyaW5nIGFnaW5nIGV2ZW50LCBhZGQgbmV3IGNvbW1h
bmQgdG8NCj4gPj4+Pj4gY29udHJvbCBpZiB0aGUgZXZlbnQgbmVlZCBiZSBwcmludCBvciBub3Qu
IFVwZGF0ZSB0aGUgb3V0cHV0IG9mDQo+ID4+Pj4+IHRoZSBkZWxldGUgYWdlZCBmbG93IGNvbW1h
bmQgZm9ybWF0Lg0KPiA+Pj4+DQo+ID4+Pj4gPC4uLj4NCj4gPj4+Pg0KPiA+Pj4+PiBAQCAtMTkz
ODcsNiArMTkzOTQsNDQgQEAgY21kbGluZV9wYXJzZV9pbnN0X3QNCj4gPj4gY21kX3Nob3dwb3J0
X21hY3MgPQ0KPiA+Pj4+IHsNCj4gPj4+Pj4gIAl9LA0KPiA+Pj4+PiAgfTsNCj4gPj4+Pj4NCj4g
Pj4+Pj4gKy8qIEVuYWJsZS9EaXNhYmxlIGZsb3cgYWdpbmcgZXZlbnQgbG9nICovIHN0cnVjdA0K
PiA+Pj4+PiArY21kX3NldF9hZ2VkX2Zsb3dfZXZlbnRfbG9nX3Jlc3VsdCB7DQo+ID4+Pj4+ICsJ
Y21kbGluZV9maXhlZF9zdHJpbmdfdCBzZXQ7DQo+ID4+Pj4+ICsJY21kbGluZV9maXhlZF9zdHJp
bmdfdCBrZXl3b3JkOw0KPiA+Pj4+PiArCWNtZGxpbmVfZml4ZWRfc3RyaW5nX3QgZW5hYmxlOw0K
PiA+Pj4+PiArfTsNCj4gPj4+Pj4gK2NtZGxpbmVfcGFyc2VfdG9rZW5fc3RyaW5nX3QgY21kX3Nl
dF9hZ2VkX2Zsb3dfZXZlbnRfbG9nX3NldA0KPiA9DQo+ID4+Pj4+ICsJVE9LRU5fU1RSSU5HX0lO
SVRJQUxJWkVSKHN0cnVjdA0KPiA+Pj4+IGNtZF9zZXRfYWdlZF9mbG93X2V2ZW50X2xvZ19yZXN1
bHQsDQo+ID4+Pj4+ICsJCXNldCwgInNldCIpOw0KPiA+Pj4+PiArY21kbGluZV9wYXJzZV90b2tl
bl9zdHJpbmdfdA0KPiA+PiBjbWRfc2V0X2FnZWRfZmxvd19ldmVudF9sb2dfa2V5d29yZA0KPiA+
Pj4+ID0NCj4gPj4+Pj4gKwlUT0tFTl9TVFJJTkdfSU5JVElBTElaRVIoc3RydWN0DQo+ID4+Pj4g
Y21kX3NldF9hZ2VkX2Zsb3dfZXZlbnRfbG9nX3Jlc3VsdCwNCj4gPj4+Pj4gKwkJa2V5d29yZCwg
ImFnZWRfZmxvd19ldmVudF9sb2ciKTsNCj4gY21kbGluZV9wYXJzZV90b2tlbl9zdHJpbmdfdA0K
PiA+PiBjbWRfc2V0X2FnZWRfZmxvd19ldmVudF9sb2dfZW5hYmxlID0NCj4gPj4+Pj4gKwlUT0tF
Tl9TVFJJTkdfSU5JVElBTElaRVIoc3RydWN0DQo+ID4+Pj4gY21kX3NldF9hZ2VkX2Zsb3dfZXZl
bnRfbG9nX3Jlc3VsdCwNCj4gPj4+Pj4gKwkJZW5hYmxlLCAib24jb2ZmIik7DQo+ID4+Pj4+ICsN
Cj4gPj4+Pj4gK3N0YXRpYyB2b2lkDQo+ID4+Pj4+ICtjbWRfc2V0X2FnZWRfZmxvd19ldmVudF9s
b2dfcGFyc2VkKHZvaWQgKnBhcnNlZF9yZXN1bHQsDQo+ID4+Pj4+ICsJCQkJX19ydGVfdW51c2Vk
IHN0cnVjdCBjbWRsaW5lICpjbCwNCj4gPj4+Pj4gKwkJCQlfX3J0ZV91bnVzZWQgdm9pZCAqZGF0
YSkNCj4gPj4+Pj4gK3sNCj4gPj4+Pj4gKwlzdHJ1Y3QgY21kX3NldF9hZ2VkX2Zsb3dfZXZlbnRf
bG9nX3Jlc3VsdCAqcmVzID0NCj4gcGFyc2VkX3Jlc3VsdDsNCj4gPj4+Pj4gKwlpbnQgZW5hYmxl
ID0gKHN0cmNtcChyZXMtPmVuYWJsZSwgIm9uIikgPT0gMCkgPyAxIDogMDsNCj4gPj4+Pj4gKwl1
cGRhdGVfYWdpbmdfZXZlbnRfbG9nX3N0YXR1cyhlbmFibGUpOw0KPiA+Pj4+PiArfQ0KPiA+Pj4+
PiArDQo+ID4+Pj4+ICtjbWRsaW5lX3BhcnNlX2luc3RfdCBjbWRfc2V0X2FnZWRfZmxvd19ldmVu
dF9sb2cgPSB7DQo+ID4+Pj4+ICsJLmYgPSBjbWRfc2V0X2FnZWRfZmxvd19ldmVudF9sb2dfcGFy
c2VkLA0KPiA+Pj4+PiArCS5kYXRhID0gTlVMTCwNCj4gPj4+Pj4gKwkuaGVscF9zdHIgPSAic2V0
IGFnZWRfZmxvd19ldmVudF9sb2cgb258b2ZmIiwNCj4gPj4+Pg0KPiA+Pj4+IFdoYXQgZG8geW91
IHRoaW5rICJzZXQgYWdlZF9mbG93X3ZlcmJvc2Ugb258b2ZmIiB0byBiZSBtb3JlIHNpbWlsYXIN
Cj4gPj4+PiB0byBleGlzdGluZyB2ZXJib3NlIGNvbW1hbmQ/DQo+ID4+Pg0KPiA+Pj4gUGxlYXNl
IHNlZSBteSBjb21tZW50cyBiZWxvdyByZWdhcmQgaXQuDQo+ID4+Pg0KPiA+Pj4+IDwuLi4+DQo+
ID4+Pj4NCj4gPj4+Pj4gLS0tIGEvYXBwL3Rlc3QtcG1kL3Rlc3RwbWQuYw0KPiA+Pj4+PiArKysg
Yi9hcHAvdGVzdC1wbWQvdGVzdHBtZC5jDQo+ID4+Pj4+IEBAIC0zMDY4LDYgKzMwNjgsMjEgQEAg
cm12X3BvcnRfY2FsbGJhY2sodm9pZCAqYXJnKQ0KPiA+Pj4+PiAgCQlzdGFydF9wYWNrZXRfZm9y
d2FyZGluZygwKTsNCj4gPj4+Pj4gIH0NCj4gPj4+Pj4NCj4gPj4+Pj4gK3N0YXRpYyBpbnQgYWdl
ZF9mbG93X2V2ZW50X2VuYWJsZTsNCj4gPj4+Pg0KPiA+Pj4+IE90aGVyIGdsb2JhbCBjb25maWcg
dmFsdWVzIGFyZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlLCB3aXRoIGENCj4gPj4+PiBj
b21tZW50IG9uIHRoZW0sIGNhbiB5b3UgZG8gc2FtZSB3aXRoIHZhcmlhYmxlPw0KPiA+Pj4NCj4g
Pj4+ICsxDQo+ID4+Pg0KPiA+Pj4+PiArdm9pZCB1cGRhdGVfYWdpbmdfZXZlbnRfbG9nX3N0YXR1
cyhpbnQgZW5hYmxlKSB7DQo+ID4+Pj4+ICsJYWdlZF9mbG93X2V2ZW50X2VuYWJsZSA9IGVuYWJs
ZTsgfQ0KPiA+Pj4+PiArDQo+ID4+Pj4+ICtpbnQgYWdpbmdfZXZlbnRfb3V0cHV0KHVpbnQxNl90
IHBvcnRpZCkNCj4gPj4+Pg0KPiA+Pj4+IFRoaXMgY2FuIGJlIGEgJ3N0YXRpYycgZnVuY3Rpb24u
DQo+ID4+Pg0KPiA+Pj4gKzENCj4gPj4+DQo+ID4+Pj4+ICt7DQo+ID4+Pj4+ICsJaWYgKGFnZWRf
Zmxvd19ldmVudF9lbmFibGUpIHsNCj4gPj4+Pj4gKwkJcHJpbnRmKCJwb3J0ICV1IFJURV9FVEhf
RVZFTlRfRkxPV19BR0VEDQo+IHRyaWdnZXJlZFxuIiwNCj4gPj4+PiBwb3J0aWQpOw0KPiA+Pj4+
PiArCQlmZmx1c2goc3Rkb3V0KTsNCj4gPj4+Pj4gKwl9DQo+ID4+Pj4+ICsJcmV0dXJuIDA7DQo+
ID4+Pj4+ICt9DQo+ID4+Pj4+ICsNCj4gPj4+Pj4gIC8qIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBi
eSB0aGUgaW50ZXJydXB0IHRocmVhZCAqLyAgc3RhdGljIGludA0KPiA+Pj4+PiBldGhfZXZlbnRf
Y2FsbGJhY2socG9ydGlkX3QgcG9ydF9pZCwgZW51bSBydGVfZXRoX2V2ZW50X3R5cGUNCj4gdHlw
ZSwNCj4gPj4+Pj4gdm9pZCAqcGFyYW0sIEBAIC0zMDk4LDYgKzMxMTMsOCBAQCBldGhfZXZlbnRf
Y2FsbGJhY2socG9ydGlkX3QNCj4gPj4+PiBwb3J0X2lkLCBlbnVtIHJ0ZV9ldGhfZXZlbnRfdHlw
ZSB0eXBlLCB2b2lkICpwYXJhbSwNCj4gPj4+Pj4gIAkJCQlybXZfcG9ydF9jYWxsYmFjaywgKHZv
aWQNCj4gPj4+PiAqKShpbnRwdHJfdClwb3J0X2lkKSkNCj4gPj4+Pj4gIAkJCWZwcmludGYoc3Rk
ZXJyLCAiQ291bGQgbm90IHNldCB1cCBkZWZlcnJlZCBkZXZpY2UNCj4gPj4+PiByZW1vdmFsXG4i
KTsNCj4gPj4+Pj4gIAkJYnJlYWs7DQo+ID4+Pj4+ICsJY2FzZSBSVEVfRVRIX0VWRU5UX0ZMT1df
QUdFRDoNCj4gPj4+Pj4gKwkJYWdpbmdfZXZlbnRfb3V0cHV0KHBvcnRfaWQpOw0KPiA+Pj4+DQo+
ID4+Pj4gQ2FuJ3QgdGhpcyBwcm92aWRlIG1vcmUgaW5mb3JtYXRpb24gdGhhbiBwb3J0X2lkLCBs
aWtlIGZsb3cgaWQgZXRjLA0KPiA+Pj4+IHdoYXQgZXZlbnRfcHJvY2VzcyBmdW5jdGlvbiBwcm92
aWRlcz8gY2FuIHdlIHByaW50IGl0IHRvbz8NCj4gPj4+PiBBbmQgd2hhdCBpcyB0aGUgaW50ZW5k
ZWQgdXNhZ2UgaW4gcmVhbCBhcHBsaWNhdGlvbiwgd2hlbiBmbG93IGFnZWQNCj4gPj4+PiBldmVu
dCBvY2N1cnJlZCwgc2hvdWxkIGFwcGxpY2F0aW9uIGRlc3Ryb3kgdGhlIGZsb3c/IFNvIGl0IHNo
b3VsZA0KPiA+Pj4+IGtub3cgdGhlIGZsb3csIHJpZ2h0Pw0KPiA+Pj4NCj4gPj4+IFByb2JhYmx5
IFllcyBGZXJydWgsIEkgd2lsbCBhZGQgZGV0YWlscywgbWF5YmUgaXQgd2lsbCBiZSBjbGVhcmVy
Og0KPiA+Pj4NCj4gPj4+IEFzIGRlc2NyaWJlZCB3ZWxsIGluIHJ0ZV9mbG93X2dldF9hZ2VkX2Zs
b3dzIEFQSSBkZXNjcmlwdGlvbiwgdGhlcmUNCj4gPj4+IGFyZSAyDQo+ID4+IHN1Z2dlc3RlZCBv
cHRpb25zIGZvciB0aGUgYXBwbGljYXRpb246DQo+ID4+Pg0KPiA+Pj4gMS4gVG8gY2FsbCBydGVf
Zmxvd19nZXRfYWdlZF9mbG93cyBmcm9tIHRoZSBBR0VEIGV2ZW50IGNhbGxiYWNrIGluDQo+ID4+
PiBvcmRlcg0KPiA+PiB0byBnZXQgdGhlIGFnZWQgZmxvdyBjb250ZXh0cyBvZiB0aGUgdHJpZ2dl
cmVkIHBvcnQuDQo+ID4+PiAyLiBUbyBjYWxsIHJ0ZV9mbG93X2dldF9hZ2VkX2Zsb3dzIGluIGFu
eSB0aW1lIGFwcGxpY2F0aW9uIHdhbnRzLg0KPiA+Pg0KPiA+PiBJIHNlZSwgZm9yIHRoZSB0ZXN0
cG1kIGltcGxlbWVudGF0aW9uIHdoYXQgZG8geW91IHRoaW5rIGdldHRpbmcgdGhlDQo+ID4+IGFn
ZWQgZmxvdyBsaXN0IGFuZCBwcmludCB0aGVtIGluIGV2ZW50IGNhbGxiYWNrLCB0aGlzIGNhbiBi
ZSBnb29kIGFzDQo+ID4+IHNhbXBsZSBvZiB0aGUgaW50ZW5kZWQgdXNhZ2U/DQo+ID4NCj4gPiBZ
ZXMsIHdlIHRob3VnaHQgb24gaXQgYW5kIEkgdW5kZXJzdGFuZCB5b3UsIFRoZSBpc3N1ZSB3aXRo
IGl0IGlzIHRoYXQNCj4gPiB3ZSBuZWVkIHRvIHN5bmNocm9uaXplIGFsbCB0aGUgZmxvdyBtYW5h
Z2VtZW50IGluIFRlc3RwbWQgYW5kIHRvDQo+IHByb3RlY3QgYW55IGZsb3cgb3BlcmF0aW9uIHdp
dGggYSBsb2NrLg0KPiA+IEJlY2F1c2UgdGhlIGNhbGxiYWNrIGlzIHByb2JhYmx5IGNvbWluZyBm
cm9tIHRoZSBob3N0IHRocmVhZCB3aGlsZSBvdGhlcg0KPiBmbG93IG9wZXJhdGlvbnMgZnJvbSBk
aWZmZXJlbnQgVGVzdHBtZCB0aHJlYWQoY29tbWFuZCBsaW5lIHRocmVhZCkuDQo+ID4NCj4gPiBJ
dCB3aWxsIGRvIHRoZSBwYXRjaCB2ZXJ5IGludHJ1c2l2ZS4NCj4gPg0KPiA+IFRoZSBjdXJyZW50
IGFwcHJvYWNoKGxpa2UgdGhlIHNlY29uZCBzdWdnZXN0aW9uKSBtb3ZlcyB0aGUNCj4gc3luY2hy
b25pemF0aW9uIHRvIHRoZSB0ZXN0cG1kIHVzZXIgdG8gYWNjZXNzIGZsb3dzIG9ubHkgZnJvbSB0
aGUgY29tbWFuZA0KPiBsaW5lIHRocmVhZCB3aGlsZSBoaW50aW5nIHRvIHRoZSB1c2VyIHdoZW4g
YSBwb3J0IGhvbGRzIHNvbWUgYWdlZC1vdXQgZmxvd3MuDQo+ID4gSSB0aGluayBpdCBpcyBiZXR0
ZXIgdG8gc3RheSB0aGUgaW1wbGVtZW50YXRpb24gc2ltcGxlLg0KPiANCj4gT0sNCj4gDQo+ID4N
Cj4gPj4+DQo+ID4+PiBJdCBpcyBwcm9iYWJseSBkZXBlbmRzIGluIHRoZSB3YXkgdGhlIGFwcGxp
Y2F0aW9uIHdhbnRzIHRvDQo+ID4+PiBzeW5jaHJvbml6ZSBmbG93DQo+ID4+IEFQSXMgY2FsbHMu
DQo+ID4+Pg0KPiA+Pj4gVGhlIGFwcGxpY2F0aW9uIGp1c3QgZ2V0cyB0aGUgaW5mb3JtYXRpb24g
b2YgdGhlIGFnZWQtb3V0IGZsb3dzDQo+ID4+PiBjb250ZXh0DQo+ID4+IGZyb20gdGhlIGFib3Zl
IEFQSSBhbmQgY2FuIGRvIGFueSBmbG93IG9wZXJhdGlvbiBmb3IgaXQsIGFuZCB5ZXMsIHRoZQ0K
PiA+PiBtb3N0IGV4cGVjdGVkIGNhc2UgaXMgdG8gZGVzdHJveSB0aGUgZmxvd3MuDQo+ID4+Pg0K
PiA+Pj4gQmlsbCBhZGRlZCAyIHRlc3RwbWQgY29tbWFuZHM6DQo+ID4+Pg0KPiA+Pj4gMS4gVG8g
dXNlIHJ0ZV9mbG93X2dldF9hZ2VkX2Zsb3dzIGFuZCB0byBwcmludCBhIGxpc3Qgb2YgYWxsIHRo
ZQ0KPiA+Pj4gYWdlZC1vdXQNCj4gPj4gZmxvd3MgKHdpdGggb3B0aW9uIHRvIGRlc3Ryb3kgdGhl
bSBkaXJlY3RseSBieSB0aGUgY29tbWFuZCkuDQo+ID4+PiAyLiBBIEJvb2xlYW4gdG8gaW5kaWNh
dGUgdGhlIGFwcGxpY2F0aW9uIHdoZXRoZXIgdG8gbm90aWZ5IHRoZQ0KPiA+Pj4gdGVzdHBtZCB1
c2VyDQo+ID4+IGFib3V0IG5ldyBhZ2VkLW91dCBmbG93cyhieSBwcmludCkuDQo+ID4+Pg0KPiA+
Pj4gQnkgdGhpcyB3YXksIHRoZSB0ZXN0cG1kIHVzZXIgY2FuIHVzZSB0aGUgMiBhcHByb2FjaGVz
IHdpdGggbWluaW11bQ0KPiA+PiB0ZXN0cG1kIGZsb3cgbWFuYWdlbWVudCBjaGFuZ2UuDQo+ID4+
Pg0KPiA+Pj4gU28sIHRoZSBCb29sZWFuIHZhciBpcyBtb3JlIGxpa2UgInRyaWdnZXIgdGVzdHBt
ZCB1c2VyDQo+ID4+PiBub3RpZmljYXRpb24iLCBub3QgbGlrZQ0KPiA+PiByZWd1bGFyIHZlcmJv
c2Ugb3B0aW9ucy4NCj4gPj4NCj4gPj4gQXMgeW91IGFscmVhZHkga25vdywgZXZlbnQgYWx3YXlz
IHJlZ2lzdGVyZWQgYW5kIGNhbGxiYWNrIGFsd2F5cw0KPiA+PiBjYWxsZWQsIHRoaXMgY29tbWFu
ZCBvbmx5IGRlZmluZXMgdG8gcHJpbnQgYSBsb2cgaW4gdGhlIGNhbGxiYWNrIG9yDQo+ID4+IG5v
dCwgc28gSSBiZWxpZXZlICd2ZXJib3NlJyBzdWl0cyBoZXJlLCBtYWluIGNvbmNlcm4gaXMgdGhl
cmUgYXJlDQo+ID4+IG1hbnkgdGVzdHBtZCBjb21tYW5kcyBhbmQgaXQgaXMgaGFyZCB0byByZW1l
bWJlciB0aGVtICh1c2FnZSBpcyBub3QNCj4gPj4gaW50dWl0aXZlLCBJIGhhZCBuZWVkIHRvIGNo
ZWNrIHNvdXJjZSBjb2RlIHRvIGZpbmQgYSBjb21tYW5kIG1hbnkNCj4gPj4gdGltZXMpLCB0cnlp
bmcgdG8gbWFrZSB0aGVtIGFzIGNvbnNpc3RlbnQgYXMgcG9zc2libGUgdG8gaGVscCB1c2FnZS4N
Cj4gPj4NCj4gPj4gQnV0IEkgdGhpbmsgYXMgc2VlIHlvdXIgY29uY2VybiwgInNldCBhZ2VkX2Zs
b3dfdmVyYm9zZSBvbnxvZmYiDQo+ID4+IGNvbW1hbmQgY2FuIGJlIGNvbmZ1c2VkIGFzIGlmIGNo
YW5naW5nICJmbG93IGFnZWQgIyIgY29tbWFuZA0KPiB2ZXJib3NpdHkgbGV2ZWwuDQo+ID4+DQo+
ID4+IFdoYXQgZG8geW91IHRoaW5rIGFib3V0IGEgbW9yZSBnZW5lcmljICJzZXQgZXZlbnRfdmVy
Ym9zZSBvbnxvZmYiDQo+ID4+IGNvbW1hbmQsIHdoaWNoIGNhbiBjb250cm9sIHRvIGxvZ2dpbmcg
Zm9yIGFsbCBldmVudCBoYW5kbGVycywgYnV0DQo+ID4+IHJpZ2h0IG5vdyBvbmx5IGZvciBhZ2Vk
IGV2ZW50cz8NCj4gPg0KPiA+IExvb2tzIGdvb2QgdG8gbWUsIGJ1dCBtYXliZSBpbnN0ZWFkIG9m
IG9uIHwgb2ZmIGl0IGlzIGJldHRlciB0byB1c2UgYml0bWFwDQo+IGluIG9yZGVyIHRvIGluZGlj
YXRlIHRoZSBldmVudD8NCj4gDQo+IE5vIG9iamVjdGlvbiBidXQgbm90IHN1cmUgdGhhdCBsZXZl
bCBmaW5lIGdyYWluIG5lZWRlZCBub3csIG9yIGxhdGVyLCB3aHkgbm90DQo+IGFkZCB0aGUgYmFz
aWMgb24vb2ZmIG5vdyBhbmQgYWRkIHRoZSBiaXRtYXAgd2hlbiB3ZSBuZWVkIHRvIGNvbnRyb2wg
Zm9yDQo+IGVhY2ggZXZlbnQuDQoNCkl0IHdpbGwgYmUgZ29vZCB0byB0aGUgdXNlciB0byByZWR1
Y2UgbG9ncyBvZiBub24taW50ZXJlc3RlZCBldmVudHMgKG1heWJlIGV2ZW4gbW9yZSBvZnRlbikg
d2hpY2ggbWFrZXMgaGlzIGxvZyBiaWdnZXIuDQoNCg0KPiANCj4gPg0KPiA+DQo+ID4+Pg0KPiA+
Pj4gTWF0YW4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pj4NCj4gPj4+PiA8Li4u
Pg0KPiA+Pj4+DQo+ID4+Pj4+IC0tLSBhL2RvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBt
ZF9mdW5jcy5yc3QNCj4gPj4+Pj4gKysrIGIvZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0
cG1kX2Z1bmNzLnJzdA0KPiA+Pj4+PiBAQCAtMTA2Miw2ICsxMDYyLDIxIEBAIFdoZXJlOg0KPiA+
Pj4+Pg0KPiA+Pj4+PiAgICAgQ2hlY2sgdGhlIE5JQyBEYXRhc2hlZXQgZm9yIGhhcmR3YXJlIGxp
bWl0cy4NCj4gPj4+Pj4NCj4gPj4+Pj4gK2FnZWQgZmxvdyBldmVudCBsb2cgc2V0DQo+ID4+Pj4+
ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiA+Pj4+PiArDQo+ID4+Pj4+ICtDdXJyZW50bHks
IHRoZSBmbG93IGFnaW5nIGV2ZW50IGlzIHJlZ2lzdGVyZWQgd2hlbiB0aGUgdGVzdHBtZA0KPiA+
Pj4+PiArYXBwbGljYXRpb24gc3RhcnQsIGlmIG5ldyBmbG93IGJlIGNoZWNrZWQgYWdlIG91dCwg
dGhlcmUgd2lsbCBiZQ0KPiA+Pj4+PiArb25lIG91dHB1dCBsb2cgZm9yIGl0LiBCdXQgc29tZSBh
cHBsaWNhdGlvbnMgZG8gbm90IGludGVyZXN0IHRoaXMNCj4gPj4+Pj4gK2V2ZW50LCB1c2UgdGhp
cw0KPiA+Pj4+IGNvbW1hbmQgY2FuIHNldCBpZiB0aGUgZXZlbnQgZXhwb3NlIHRvIHRoZSBhcHBs
aWNhdGlvbnM6Og0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsgICB0ZXN0cG1kPiBzZXQgYWdlZF9mbG93
X2V2ZW50X2xvZyAob258b2ZmKQ0KPiA+Pj4+PiArDQo+ID4+Pj4+ICtGb3IgZXhhbWluZTo6DQo+
ID4+Pj4+ICsNCj4gPj4+Pj4gKyAgIHRlc3RwbWQ+IHNldCBhZ2VkX2Zsb3dfZXZlbnRfbG9nIG9u
DQo+ID4+Pj4+ICsgICB0ZXN0cG1kPiBwb3J0IDAgUlRFX0VUSF9FVkVOVF9GTE9XX0FHRUQgdHJp
Z2dlcmVkDQo+ID4+Pj4+ICsgICB0ZXN0cG1kPiBzZXQgYWdlZF9mbG93X2V2ZW50X2xvZyBvZmYN
Cj4gPj4+Pj4gKw0KPiA+Pj4+DQo+ID4+Pj4gVGhpcyBjYW4gYmUgbW92ZWQgYmVsb3cgdGhlICJz
ZXQgdmVyYm9zZSIgY29tbWFuZCBzaW5jZSB0aGV5IGFyZSBpbg0KPiA+Pj4+IHNpbWlsYXIgZ3Jv
dXAuDQo+ID4NCg0K