From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id EAED5A055D;
	Mon,  1 Mar 2021 04:16:41 +0100 (CET)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 6B76840684;
	Mon,  1 Mar 2021 04:16:41 +0100 (CET)
Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com
 [216.228.121.143])
 by mails.dpdk.org (Postfix) with ESMTP id 981A24014E
 for <dev@dpdk.org>; Mon,  1 Mar 2021 04:16:39 +0100 (CET)
Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by
 hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
 id <B603c5c960000>; Sun, 28 Feb 2021 19:16:38 -0800
Received: from HQMAIL105.nvidia.com ([172.20.161.6])
 by hqpgpgate102.nvidia.com (PGP Universal service);
 Sun, 28 Feb 2021 19:16:38 -0800
X-PGP-Universal: processed;
 by hqpgpgate102.nvidia.com on Sun, 28 Feb 2021 19:16:38 -0800
Received: from HKMAIL101.nvidia.com (10.18.16.10) by HQMAIL105.nvidia.com
 (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 1 Mar
 2021 03:16:35 +0000
Received: from HKMAIL103.nvidia.com (10.18.16.12) by HKMAIL101.nvidia.com
 (10.18.16.10) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 1 Mar
 2021 03:16:30 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100)
 by HKMAIL103.nvidia.com (10.18.16.12) with Microsoft SMTP Server (TLS) id
 15.0.1497.2 via Frontend Transport; Mon, 1 Mar 2021 03:16:30 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YaDeOcFfJal4DJ3hZNqoIfq6UZI2mqc/rsXJaTfYcaZfl7QtxU2jB65x+A164L5GsHRa7gxtFgmBiJiYckCloTeH8K1hLe546d3fs9dyww7IBF9166f198BjyKDzBD+lUXv1yATULFwhWek6uBnkwRLM72bRMJEwCcjO5LYIsYF344+fFJcFTZVrodbuPWsVRn+IEH1Tiw5mrbOb3hZqq8QsV3RueSZAa0JS81GgSkGk6SwjWfUER3wLsz0WhWQcw8dTARRptNF3k4ndrQDODDSCkaG+s+m9P24mxUJ4QNXrgJIM1AqprkDY04xPruJfLH3567C4eXzulC80/5bD1w==
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=rf0tt7G/A0VQ/9UqXAU/nRsZITIkq5Z0BYcSDToyaQc=;
 b=lDzg7k7+Mj5ZI7kSEhc0M1CztSKWhfiuHN6Ts3QaTvGV4MbM8bRoM/YK1CQVGIdtm3sNV/qCldQPB+HhmhEksD25TBvUE/bkN5nagLLFIwRPmto+v5v4QyQYW+bS961IyaGLb5+J94L7s6Sz6mBwoqfZL+ydQnUiNbwb5N1oRwS29QaGqjLG3vwtLW4m1g667/NUctH+HbFIIiV+E9YfRSa2Bp7++CD0Sk0MXgQgMYBiY7MSwwgtpKwzE41Iq4FWYRMuNj7oiZWgJV+4570p3Zm/sqfUlAKQi667RMn/M7O7gK+mqvbEWaiWJhr448INkqOp5FktsCDd0bEnyTCqvQ==
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
Received: from DM6PR12MB4090.namprd12.prod.outlook.com (2603:10b6:5:217::11)
 by DM5PR12MB1275.namprd12.prod.outlook.com (2603:10b6:3:75::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19; Mon, 1 Mar
 2021 03:16:28 +0000
Received: from DM6PR12MB4090.namprd12.prod.outlook.com
 ([fe80::6db7:9c8b:8a98:44b2]) by DM6PR12MB4090.namprd12.prod.outlook.com
 ([fe80::6db7:9c8b:8a98:44b2%4]) with mapi id 15.20.3890.028; Mon, 1 Mar 2021
 03:16:28 +0000
From: Li Zhang <lizh@nvidia.com>
To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= <mb@smartsharesystems.com>, Ferruh Yigit
 <ferruh.yigit@intel.com>, Dekel Peled <dekelp@nvidia.com>, Ori Kam
 <orika@nvidia.com>, Slava Ovsiienko <viacheslavo@nvidia.com>, Matan Azrad
 <matan@nvidia.com>, "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, NBU-Contact-Thomas Monjalon
 <thomas@monjalon.net>, Raslan Darawsheh <rasland@nvidia.com>
Thread-Topic: [dpdk-dev] [PATCH] [RFC, v2]: adds support PPS(packet per
 second) on meter
Thread-Index: AQHW8rhPP7jTAVlP/EirmjGX12+Hhqo9YSUAgBbeOYCAEOuXgIAAVwpQgAkqKuA=
Date: Mon, 1 Mar 2021 03:16:28 +0000
Message-ID: <DM6PR12MB4090CF8BFD3DABB699B59CDDBF9A9@DM6PR12MB4090.namprd12.prod.outlook.com>
References: <20210125010235.1768333-2-lizh@nvidia.com>
 <20210125012023.1769769-1-lizh@nvidia.com>
 <20210125012023.1769769-2-lizh@nvidia.com>
 <8eb6bf7a-f317-68e0-2cdc-e0b7d675a8f1@intel.com>
 <98CBD80474FA8B44BF855DF32C47DC35C615E0@smartserver.smartshare.dk>
 <DM6PR12MB40903293FD5E03D209EEFCE1BF809@DM6PR12MB4090.namprd12.prod.outlook.com>
 <98CBD80474FA8B44BF855DF32C47DC35C61614@smartserver.smartshare.dk>
In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35C61614@smartserver.smartshare.dk>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: smartsharesystems.com; dkim=none (message not signed)
 header.d=none; smartsharesystems.com;
 dmarc=none action=none header.from=nvidia.com;
x-originating-ip: [139.227.47.201]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6c2da485-b5ce-48db-61fe-08d8dc60676e
x-ms-traffictypediagnostic: DM5PR12MB1275:
x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <DM5PR12MB1275A7E0EBB04BF76080D6EDBF9A9@DM5PR12MB1275.namprd12.prod.outlook.com>
x-header: ProcessedBy-CMR-outbound
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: nP38dK7qXubWek5tGSCrAdxyGk/R94MyiSlJQnU6OI5LDgMJDzbdKTUMrUBRP8cHNj/HEK8Rl0v4PNvJWzoFJNznOd6fRoajOALhEZ0E8jEuAYKJjut1quddut4gi8hCwt47K2a708OZgOBkLlfK9WxsToiIKid91jZNadnmJrOc3y9efr/euZwY+Y7azBqSnTryfAlAD/TIPlzDLnwsM260E+s5oM3A1VVX+kW37xcBw72Rkp4TWMiBtgv+OfRGNcvNCIYr0gcbUdRTu+z00OjmcLlixTYo82E/d52ShCPLjLYNzjDdjBq+JJfWubA383F0q6Scj4tf299gPBz6W+I0hvOCvhQvg5Zc1qnfN/ViDWktaMVcSqa3i1J2Ct0cbbPkPUKcf5vgmMnCmrSLtVqcZGi1Xn670p/G3+RvCg6kkVBoiyz/GbhZngZA/945rgNRZkVrLQr/G0QyPCmH4NpnRE+xmC7HIt9C9bb2BNgX88mq15Nh6/kWtS0hxANeDLFxlItSj7lRUQQ4Wtfz1A==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DM6PR12MB4090.namprd12.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(346002)(366004)(376002)(136003)(39860400002)(396003)(316002)(107886003)(52536014)(5660300002)(66574015)(4326008)(54906003)(86362001)(71200400001)(478600001)(8676002)(110136005)(66556008)(83380400001)(26005)(53546011)(66476007)(6506007)(66946007)(66446008)(55016002)(8936002)(2906002)(64756008)(186003)(33656002)(76116006)(7696005)(9686003);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata: =?utf-8?B?U3RCbmYwZzhxQnZOUS95cVJYVXo3V21jUWVXTFZjOElJcDF6Nlc0RTVRK2Mv?=
 =?utf-8?B?T09TUkZVdlJTZFJ2WjZjNzRGWElDSGM5TmVVRlptOGVnT0ZqemMyNytiMno1?=
 =?utf-8?B?V3UxOU9ZcEg5TnUwakJoRnVRc3lLL2FQelhKcS8wNFlkNkl3aE4yaXd2Vzgy?=
 =?utf-8?B?MXovaU4vSlMrVEpkRVBwcUdpVXA1b2NaZnQ2TUVRMXRtQlIrMWpzZkRYSEZF?=
 =?utf-8?B?dkdxWDVheGI0dU1lb1IzeVVpaVYrWHI5aVQ4WWhyTTdCVzZ5bExhM1E3RXIz?=
 =?utf-8?B?ejQ2R1EwRmJTK21PWVFYK1lpL0gyaUNXbU5tbWpmMmJOZTM3eHA2d3ZCNG0x?=
 =?utf-8?B?ZFVXYkJSRDFqdUZZeVJCY1NZQ1lrNzkrOFc2a0FJQk5PTyt4R25xK0xiNWFK?=
 =?utf-8?B?S1B3Qys4cytubzcxcWorNHY2ZWJqMnBLTkVTcFhKUTdGb2xTdnlSNVJWYmZ5?=
 =?utf-8?B?VnBRcCsxNmNEWlJMMzQ0QjNnZWdxd3Q1YXF0QWMyWDE4eDZRV1J3d1ZXdzFK?=
 =?utf-8?B?SEhlREFRcFJ2QTRkR2UvWHl1RG1wNE5Ub3pZczdubk9OblFHYlQ1SmVmYnpR?=
 =?utf-8?B?ZWNHWTJobkk2eit2ZDUyckFCaGp6VVhrdjhrY05EbnV1bHZ5S0ZpSlVuOTVa?=
 =?utf-8?B?dHB0cEdFT21Pc2VlRklrSzFKZGh6U1R6WXdNaC9RMGhRajlJRldMb09tRDBK?=
 =?utf-8?B?TXRLYnhYUXoyQTF3blNkSi9uWktOaHNMR2JVLzZrQ0FtU1E5Y0NNVjNORnZO?=
 =?utf-8?B?SEhuUWJ2V01QbEF1cjl3ck1IK2s1cEFyaGFsYnc1NlNaMnRQRWJrRW4vbzc1?=
 =?utf-8?B?NVFHOGdsbHBUSXUyVGVhWkovS0hzaVBpTFl2VHJlT1NUaCtZNVZLdXJ2azlr?=
 =?utf-8?B?blhwUzhxdkVqeWIxQlJ2UktnQlVQMnZqSC9PaGJqTWhNRG5CbFFibnRFK0pJ?=
 =?utf-8?B?OUtQY295eGdCQWxrQ0xXQ1VRaC93ckhQZjkvVXhqT1NXUkxvb3JabWl1ME1k?=
 =?utf-8?B?RTA4WUN0M0J2WFhEcVpOUk1RNWo2cmIrU1lOQ1Rka0JOL0haaVB3VlZHTGxH?=
 =?utf-8?B?WnBOSmpIZm8rWjdWZytIRHNVNjV6eElkRHpEalBXOHkyZUxRS25QY0ZocUlW?=
 =?utf-8?B?QUhOTG44V2Rja0lpYXNwUDVaZHlHcy9MV3FETGdIOG90ai8zcVo0OW9WSkVH?=
 =?utf-8?B?RVVDaHpKV3hKZ29ycDliTEdtdm03TXpXeVF3WjBCcGVLZ2hwYlpZMEZGeHZW?=
 =?utf-8?B?Q1BpNzlXV1lMdklaaWI1UWVDRSsxdGdQZnhuWVMzd25HdGV1dytNc3NMMENq?=
 =?utf-8?B?VlVWejZlWHVMWU15UWN5SDhBa0FEUkNDNXRIYktHY2wvOTAxdUdUd2xvMFlI?=
 =?utf-8?B?b1YwdjZNdU1RYVVMZTd5TE1OQngxTjdvZlZRcXpnaFo0SDhmZ3FTUE5pZHp6?=
 =?utf-8?B?SjRGdlMxL0xQU2w2ZzRMS04xN3daUzQ0WXVSaFdPeENrSlhYK1puRXNaMUMz?=
 =?utf-8?B?QzV1WUJqN2lwaFRVZFFOWU84T3B1WGhGYktQZnl1WmNoY0M1bjBrbGxXMGI3?=
 =?utf-8?B?VXhnTnlQTmd1ZmFFWVl3dWFLSHhDdUQ0aEtHQm14MTExa0JwbzY2QlBZY1ZE?=
 =?utf-8?B?Q3FqNlE4aWhJWmdMbDNVcDlpd0toZnozVXpNSWRMaEc2RFArU1d5MjFDTFRB?=
 =?utf-8?B?U3NrcktRUlFxSm9XbDVCeG83RXVmbDBvNTlPZWsrM2hWcHhVWVhXQ0JCMS9a?=
 =?utf-8?Q?1amzA0iWTwJwLDx9FMMn9QJvLvrcB5da/Kn/EMa?=
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: DM6PR12MB4090.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c2da485-b5ce-48db-61fe-08d8dc60676e
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2021 03:16:28.1520 (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: NN9EQpJhzgF8ffyWSTZmSItPDI7q2V49JoUmMcIiaBCFn1Fmn/zXk0uvv4DoX48W
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1275
X-OriginatorOrg: Nvidia.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
 t=1614568598; bh=rf0tt7G/A0VQ/9UqXAU/nRsZITIkq5Z0BYcSDToyaQc=;
 h=X-PGP-Universal:ARC-Seal:ARC-Message-Signature:
 ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:
 Thread-Index:Date:Message-ID:References:In-Reply-To:
 Accept-Language:Content-Language:X-MS-Has-Attach:
 X-MS-TNEF-Correlator:authentication-results:x-originating-ip:
 x-ms-publictraffictype:x-ms-office365-filtering-correlation-id:
 x-ms-traffictypediagnostic:x-ld-processed:
 x-ms-exchange-transport-forked:x-microsoft-antispam-prvs:x-header:
 x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck:
 x-microsoft-antispam:x-microsoft-antispam-message-info:
 x-forefront-antispam-report:x-ms-exchange-antispam-messagedata:
 Content-Type:Content-Transfer-Encoding:MIME-Version:
 X-MS-Exchange-CrossTenant-AuthAs:
 X-MS-Exchange-CrossTenant-AuthSource:
 X-MS-Exchange-CrossTenant-Network-Message-Id:
 X-MS-Exchange-CrossTenant-originalarrivaltime:
 X-MS-Exchange-CrossTenant-fromentityheader:
 X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype:
 X-MS-Exchange-CrossTenant-userprincipalname:
 X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg;
 b=Zs+KiRsiw3tWb++8iMBHsKGwiTVlNMrPd0Gs6q3lH5AXDccwqaZDQjnFeVQE4Dypz
 pqsKZEqNAApLi7WMv2/5ujKe+Fw9Z14A+hd3UPEyN+ZCLRFbuM7foZLqYNo/gyYoNC
 h/XVZlmHvX2ExHe/J7D4I6T7LoV06d/7tReBFchQKMFa8ylAH4RJYy2/MdkW5zIZaj
 EwsYwSum45+2/1tE3+y0O78dWHLJ4TCZfN4ITX3BwDcZ0RHSHTx11h2soQmk3YMReG
 m2qsPo2bQVJXVwaGphGbDgymtuiJfo8w7D3lESYDhknJxj+h+ICU+FU8AKN9CaJ1dR
 mCOVnZWkOcJQw==
Subject: Re: [dpdk-dev] [PATCH] [RFC,
 v2]: adds support PPS(packet per second) on meter
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
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>

SGkgTW9ydGVuLA0KDQpUaGFuayB5b3UgZm9yIHlvdXIgY29tbWVudHMuDQpJdCBpcyBwYWNrZXQg
Y291bnQgaW5zdGVhZCBvZiBmcmFtZXMgY291bnQuDQpTbyA0SyBUQ1AgcGFja2V0IHNob3VsZCBi
ZSBoYW5kbGUgYXMgb25lIGluc3RlYWQgb2YgMyBFdGhlcm5ldCBGcmFtZXMuDQoNCldlIHdpbGwg
dXBkYXRlIHRoZSBzdHJ1Y3QgYXMgYmVsb3c6DQplbnVtIHJ0ZV9tdHJfYWxnb3JpdGhtIHsNCi4u
Li4uLg0KCS8qKiBTaW5nbGUgUmF0ZSBUaHJlZSBDb2xvciBNYXJrZXIsIFBhY2tldCBiYXNlZCAo
c3JUQ01wKS4NCgkgKiAtIC0gc2ltaWxhciB0byBJRVRGIFJGQyAyNjk3IGJ1dCByYXRlIGlzIHBh
Y2tldCBwZXIgc2Vjb25kLg0KCSAqLw0KCVJURV9NVFJfU1JUQ01QLA0KfQ0KCQ0Kc3RydWN0IHJ0
ZV9tdHJfbWV0ZXJfcHJvZmlsZSB7DQouLi4uLi4JCQ0KCQkvKiogSXRlbXMgb25seSB2YWxpZCB3
aGVuICphbGcqIGlzIHNldCB0byBzclRDTXAuICovDQoJCXN0cnVjdCB7DQoJCQkvKiogQ29tbWl0
dGVkIEluZm9ybWF0aW9uIFJhdGUgKENJUikNCgkJCSAqIChwYWNrZXRzL3NlY29uZCkuDQoJCQkg
Ki8NCgkJCXVpbnQ2NF90IGNpcjsNCg0KCQkJLyoqIENvbW1pdHRlZCBCdXJzdCBTaXplIChDQlMp
IChwYWNrZXRzKS4gKi8NCgkJCXVpbnQ2NF90IGNiczsNCg0KCQkJLyoqIEV4Y2VzcyBCdXJzdCBT
aXplIChFQlMpIChwYWNrZXRzKS4gKi8NCgkJCXVpbnQ2NF90IGViczsNCgkJfSBzcnRjbXA7DQp9
DQoNClJlZ2FyZHMsDQpMaSBaaGFuZw0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG
cm9tOiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgTW9ydGVuIEJyP3J1
cA0KPiBTZW50OiBUdWVzZGF5LCBGZWJydWFyeSAyMywgMjAyMSA0OjI1IFBNDQo+IFRvOiBMaSBa
aGFuZyA8bGl6aEBudmlkaWEuY29tPjsgRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwu
Y29tPjsgRGVrZWwNCj4gUGVsZWQgPGRla2VscEBudmlkaWEuY29tPjsgT3JpIEthbSA8b3Jpa2FA
bnZpZGlhLmNvbT47IFNsYXZhIE92c2lpZW5rbw0KPiA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT47
IE1hdGFuIEF6cmFkIDxtYXRhbkBudmlkaWEuY29tPjsgRHVtaXRyZXNjdSwNCj4gQ3Jpc3RpYW4g
PGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBOQlUt
Q29udGFjdC1UaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+Ow0KPiBSYXNsYW4g
RGFyYXdzaGVoIDxyYXNsYW5kQG52aWRpYS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZd
IFtQQVRDSF0gW1JGQywgdjJdOiBhZGRzIHN1cHBvcnQgUFBTKHBhY2tldCBwZXIgc2Vjb25kKQ0K
PiBvbiBtZXRlcg0KPiANCj4gPiBGcm9tOiBkZXYgW21haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9y
Z10gT24gQmVoYWxmIE9mIExpIFpoYW5nDQo+ID4gU2VudDogVHVlc2RheSwgRmVicnVhcnkgMjMs
IDIwMjEgMzowNyBBTQ0KPiA+DQo+ID4gVGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzLg0KPiA+IFdl
IGNoYW5nZWQgdGhlIHN0cnVjdCBhcyBiZWxvdzoNCj4gPiBzdHJ1Y3QgcnRlX210cl9tZXRlcl9w
cm9maWxlIHsNCj4gPiAgLi4uLi4uDQo+ID4gCQkvKiogSXRlbXMgb25seSB2YWxpZCB3aGVuIGFs
ZyBpcyBzZXQgdG8gc3ByVENNLiAqLw0KPiA+IAkJc3RydWN0IHsNCj4gPiAJCQkvKiogQ29tbWl0
dGVkIEluZm9ybWF0aW9uIFBhY2tldCBSYXRlIChDSVBSKS4gKi8NCj4gPiAJCQl1aW50NjRfdCBj
aXByOw0KPiA+DQo+ID4gCQkJLyoqIENvbW1pdHRlZCBQYWNrZXQgQnVyc3QgU2l6ZSAoQ1BCUyku
ICovDQo+ID4gCQkJdWludDY0X3QgY3BiczsNCj4gPg0KPiA+IAkJCS8qKiBFeGNlc3MgUGFja2V0
IEJ1cnN0IFNpemUgKEVQQlMpLiAqLw0KPiA+IAkJCXVpbnQ2NF90IGVwYnM7DQo+ID4gCQl9IHNw
cnRjbTsNCj4gPiB9DQo+IA0KPiBUaGF0IGlzIGNlcnRhaW5seSBub3QgYW4gaW1wcm92ZW1lbnQh
IFBsZWFzZSBzdGljayB3aXRoIHRoZSBicm9hZGx5IGFjY2VwdGVkDQo+IGluZHVzdHJ5IHN0YW5k
YXJkIG5hbWVzIChDSVIsIENCUywgRUJTLCBldGMuKS4gTmV3bHkgaW52ZW50ZWQgbmFtZXMgbGlr
ZSBDSVBSDQo+IHdpbGwgb25seSBjYXVzZSBjb25mdXNpb24uIFBsZWFzZSBub3RlIHRoYXQgQ0lS
LCBDQlMsIEVCUyBkb24ndCBzYXkgYW55dGhpbmcNCj4gYWJvdXQgdGhlaXIgdW5pdHM7IGl0IGNv
dWxkIGJlIGJ5dGVzLCBwYWNrZXRzLCBjZWxscywgZnJhbWVzLCBtZXNzYWdlcyBvcg0KPiBhbnl0
aGluZyBlbHNlLiBTbyBpdCBpcyBwZXJmZWN0bHkgbmF0dXJhbCB1c2luZyB0aGUgc2FtZSBuYW1l
cyBmb3IgcGFja2V0cw0KPiBpbnN0ZWFkIG9mIGJ5dGVzLg0KPiANCj4gSSBwcm9wb3NlIHRoZSBm
b2xsb3dpbmcgbW9kaWZpY2F0aW9ucyBpbnN0ZWFkLg0KPiANCj4gRm9yIHRoZSBhbGdvcml0aG0s
IGtlZXAgdGhlICJTaW5nbGUgUmF0ZSBUaHJlZSBDb2xvciBNYXJrZXIiIG5hbWUgbWVudGlvbmVk
DQo+IGluIHRoZSBSRkNzLCBidXQgaW5kaWNhdGUgdGhhdCB0aGUgdmFyaWFudCBpcyBwYWNrZXQg
YmFzZWQ6DQo+IA0KPiAJLyoqIFNpbmdsZSBSYXRlIFRocmVlIENvbG9yIE1hcmtlciwgUGFja2V0
IGJhc2VkIChzclRDTXApLiAqLw0KPiAJUlRFX01UUl9TUlRDTVAsDQo+IA0KPiBPciBpZiB5b3Ug
cHJlZmVyIHRoZSBwYWNrZXQgYmFzZWQgaW5kaWNhdG9yIGF0IHRoZSBmcm9udCBpbnN0ZWFkOg0K
PiANCj4gCS8qKiBQYWNrZXQgYmFzZWQgU2luZ2xlIFJhdGUgVGhyZWUgQ29sb3IgTWFya2VyIChw
c3JUQ00pLiAqLw0KPiAJUlRFX01UUl9QU1JUQ00sDQo+IA0KPiBBbmQgZm9yIHRoZSBtZXRlciBw
cm9maWxlLCBrZWVwIHRoZSBpbmR1c3RyeSBzdGFuZGFyZCBuYW1lcywgYnV0IHVwZGF0ZSB0aGUN
Cj4gZGVzY3JpcHRpb25zOg0KPiANCj4gIAkJLyoqIEl0ZW1zIG9ubHkgdmFsaWQgd2hlbiAqYWxn
KiBpcyBzZXQgdG8gc3JUQ01wLiAqLw0KPiAgCQlzdHJ1Y3Qgew0KPiAgCQkJLyoqIENvbW1pdHRl
ZCBJbmZvcm1hdGlvbiBSYXRlIChDSVIpDQo+IChwYWNrZXRzL3NlY29uZCkuICovDQo+ICAJCQl1
aW50NjRfdCBjaXI7DQo+IA0KPiAgCQkJLyoqIENvbW1pdHRlZCBCdXJzdCBTaXplIChDQlMpIChw
YWNrZXRzKS4gKi8NCj4gIAkJCXVpbnQ2NF90IGNiczsNCj4gDQo+ICAJCQkvKiogRXhjZXNzIEJ1
cnN0IFNpemUgKEVCUykgKHBhY2tldHMpLiAqLw0KPiAgCQkJdWludDY0X3QgZWJzOw0KPiAgCQl9
IHNydGNtcDsNCj4gDQo+IA0KPiBDb21lIHRvIHRoaW5rIG9mIGl0OiBJcyB0aGUgdW5pdCBwYWNr
ZXRzLCBvciBpcyBpdCBhY3R1YWxseSBFdGhlcm5ldCBmcmFtZXM/IEluDQo+IG90aGVyIHdvcmRz
OiBEb2VzIGEgNCBLQiBUQ1AgcGFja2V0IHRoYXQgdGhlIE5JQydzIG9mZmxvYWQgZnVuY3Rpb24g
Y2hvcHMgdXANCj4gaW50byB0aHJlZSBFdGhlcm5ldCBmcmFtZXMgY291bnQgYXMgb25lIG9yIHRo
cmVlIGluIHRoaXMgYWxnb3JpdGhtPw0KPiANCj4gDQo+IE1lZCB2ZW5saWcgaGlsc2VuIC8ga2lu
ZCByZWdhcmRzDQo+IC0gTW9ydGVuIEJyw7hydXANCj4gDQo+ID4NCj4gPiBSZWdhcmRzLA0KPiA+
IExpIFpoYW5nDQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTog
ZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIE1vcnRlbiBCcj9ydXANCj4g
PiA+IFNlbnQ6IEZyaWRheSwgRmVicnVhcnkgMTIsIDIwMjEgMzo0MSBQTQ0KPiA+ID4gVG86IEZl
cnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IExpIFpoYW5nDQo+ID4gPGxpemhA
bnZpZGlhLmNvbT47IERla2VsDQo+ID4gPiBQZWxlZCA8ZGVrZWxwQG52aWRpYS5jb20+OyBPcmkg
S2FtIDxvcmlrYUBudmlkaWEuY29tPjsgU2xhdmENCj4gPiBPdnNpaWVua28NCj4gPiA+IDx2aWFj
aGVzbGF2b0BudmlkaWEuY29tPjsgTWF0YW4gQXpyYWQgPG1hdGFuQG52aWRpYS5jb20+Ow0KPiA+
ID4gRHVtaXRyZXNjdSwgQ3Jpc3RpYW4gPGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwuY29tPg0K
PiA+ID4gQ2M6IGRldkBkcGRrLm9yZzsgTkJVLUNvbnRhY3QtVGhvbWFzIE1vbmphbG9uDQo+IDx0
aG9tYXNAbW9uamFsb24ubmV0PjsNCj4gPiA+IFJhc2xhbiBEYXJhd3NoZWggPHJhc2xhbmRAbnZp
ZGlhLmNvbT4NCj4gPiA+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSF0gW1JGQywgdjJd
OiBhZGRzIHN1cHBvcnQgUFBTKHBhY2tldA0KPiA+IHBlciBzZWNvbmQpDQo+ID4gPiBvbiBtZXRl
cg0KPiA+ID4NCj4gPiA+ID4gRnJvbTogZGV2IFttYWlsdG86ZGV2LWJvdW5jZXNAZHBkay5vcmdd
IE9uIEJlaGFsZiBPZiBGZXJydWggWWlnaXQNCj4gPiA+ID4gU2VudDogVGh1cnNkYXksIEphbnVh
cnkgMjgsIDIwMjEgNzoyOCBQTQ0KPiA+ID4gPg0KPiA+ID4gPiBPbiAxLzI1LzIwMjEgMToyMCBB
TSwgTGkgWmhhbmcgd3JvdGU6DQo+ID4gPiA+ID4gQ3VycmVudGx5IHRoZSBmbG93IE1ldGVyIGFs
Z29yaXRobXMgaW4gcnRlX2Zsb3cgb25seSBzdXBwb3J0cw0KPiA+IGJ5dGVzDQo+ID4gPiA+ID4g
cGVyIHNlY29uZChCUFMpLg0KPiA+ID4gPiA+IFN1Y2ggYXMgU2luZ2xlIFJhdGUgVGhyZWUgQ29s
b3IgTWFya2VyIChzclRDTSByZmMyNjk3KSBUaGlzIFJGQw0KPiA+IGFkZHMNCj4gPiA+ID4gPiB0
aGUgcGFja2V0IHBlciBzZWNvbmQgZGVmaW5pdGlvbiBpbiBNZXRlciBhbGdvcml0aG1zIHN0cnVj
dHVyZSwNCj4gPiB0bw0KPiA+ID4gPiA+IHN1cHBvcnQgdGhlIHJ0ZV9tdHIgQVBJcyB3aXRoIHR5
cGUgc3JUQ00gcHBzIG1vZGUuDQo+ID4gPiA+ID4gVGhlIGJlbG93IHN0cnVjdHVyZSB3aWxsIGJl
IGV4dGVuZGVkOg0KPiA+ID4gPiA+IHJ0ZV9tdHJfYWxnb3JpdGhtDQo+ID4gPiA+ID4gcnRlX210
cl9tZXRlcl9wcm9maWxlDQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTGkgWmhhbmcgPGxpemhA
bnZpZGlhLmNvbT4NCj4gPiA+ID4NCj4gPiA+ID4gY2MnZWQgQ3Jpc3RpYW4gZm9yIHJldmlldy9j
b21tZW50Lg0KPiA+ID4gPg0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ICAgbGliL2xpYnJ0ZV9l
dGhkZXYvcnRlX210ci5oIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4g
PiA+ICAgMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKykNCj4gPiA+ID4gPg0KPiA+ID4g
PiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V0aGRldi9ydGVfbXRyLmgNCj4gPiA+ID4gYi9s
aWIvbGlicnRlX2V0aGRldi9ydGVfbXRyLmgNCj4gPiA+ID4gPiBpbmRleCA5MTZhMDljNWMzLi4z
ZTg4OTA0ZmFmIDEwMDY0NA0KPiA+ID4gPiA+IC0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9t
dHIuaA0KPiA+ID4gPiA+ICsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9tdHIuaA0KPiA+ID4g
PiA+IEBAIC0xMTksNiArMTE5LDkgQEAgZW51bSBydGVfbXRyX2FsZ29yaXRobSB7DQo+ID4gPiA+
ID4NCj4gPiA+ID4gPiAgIAkvKiogVHdvIFJhdGUgVGhyZWUgQ29sb3IgTWFya2VyICh0clRDTSkg
LSBJRVRGIFJGQyA0MTE1LiAqLw0KPiA+ID4gPiA+ICAgCVJURV9NVFJfVFJUQ01fUkZDNDExNSwN
Cj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKwkvKiogU2luZ2xlIFJhdGUgVGhyZWUgQ29sb3IgTWFy
a2VyIChzclRDTSkgaW4gUGFja2V0IHBlcg0KPiA+IHNlY29uZA0KPiA+ID4gPiBtb2RlICovDQo+
ID4gPiA+ID4gKwlSVEVfTVRSX1NSVENNX1BQUywNCj4gPiA+ID4gPiAgIH07DQo+ID4gPiA+ID4N
Cj4gPiA+ID4gPiAgIC8qKg0KPiA+ID4gPiA+IEBAIC0xNzEsNiArMTc0LDE4IEBAIHN0cnVjdCBy
dGVfbXRyX21ldGVyX3Byb2ZpbGUgew0KPiA+ID4gPiA+ICAgCQkJLyoqIEV4Y2VzcyBCdXJzdCBT
aXplIChFQlMpIChieXRlcykuICovDQo+ID4gPiA+ID4gICAJCQl1aW50NjRfdCBlYnM7DQo+ID4g
PiA+ID4gICAJCX0gdHJ0Y21fcmZjNDExNTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKwkJLyoq
IEl0ZW1zIG9ubHkgdmFsaWQgd2hlbiAqYWxnKiBpcyBzZXQgdG8gc3JUQ00gLQ0KPiA+IFBQUy4g
Ki8NCj4gPiA+ID4gPiArCQlzdHJ1Y3Qgew0KPiA+ID4gPiA+ICsJCQkvKiogQ29tbWl0dGVkIElu
Zm9ybWF0aW9uIFJhdGUNCj4gPiA+IChDSVIpKHBhY2tldHMvc2Vjb25kKS4NCj4gPiA+ID4gKi8N
Cj4gPiA+ID4gPiArCQkJdWludDY0X3QgY2lyOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArCQkJ
LyoqIENvbW1pdHRlZCBCdXJzdCBTaXplIChDQlMpIChieXRlcykuICovDQo+ID4gPiA+ID4gKwkJ
CXVpbnQ2NF90IGNiczsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKwkJCS8qKiBFeGNlc3MgQnVy
c3QgU2l6ZSAoRUJTKSAoYnl0ZXMpLiAqLw0KPiA+ID4gPiA+ICsJCQl1aW50NjRfdCBlYnM7DQo+
ID4gPiA+ID4gKwkJfSBzcnRjbV9wcHM7DQo+ID4gPg0KPiA+ID4gSW4gUFBTIG1vZGUsIHRoZSBi
dXJzdCBzaXplcyAoZWJzLCBlYnMpIG11c3QgYmUgcGFja2V0cywgbm90IGJ5dGVzLg0KPiA+ID4N
Cj4gPiA+ID4gPiAgIAl9Ow0KPiA+ID4gPiA+ICAgfTsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEBA
IC0zMTcsNiArMzMyLDEzIEBAIHN0cnVjdCBydGVfbXRyX2NhcGFiaWxpdGllcyB7DQo+ID4gPiA+
ID4gICAJICovDQo+ID4gPiA+ID4gICAJdWludDMyX3QgbWV0ZXJfdHJ0Y21fcmZjNDExNV9uX21h
eDsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsJLyoqIE1heGltdW0gbnVtYmVyIG9mIE1UUiBvYmpl
Y3RzIHRoYXQgY2FuIGhhdmUgdGhlaXINCj4gbWV0ZXINCj4gPiA+ID4gY29uZmlndXJlZA0KPiA+
ID4gPiA+ICsJICogdG8gcnVuIHRoZSBzclRDTSBwYWNrZXQgcGVyIHNlY29uZCBhbGdvcml0aG0u
IFRoZSB2YWx1ZQ0KPiA+IG9mIDANCj4gPiA+ID4gPiArCSAqIGluZGljYXRlcyB0aGlzIG1ldGVy
aW5nIGFsZ29yaXRobSBpcyBub3Qgc3VwcG9ydGVkLg0KPiA+ID4gPiA+ICsJICogVGhlIG1heGlt
dW0gdmFsdWUgaXMgKm5fbWF4Ki4NCj4gPiA+ID4gPiArCSAqLw0KPiA+ID4gPiA+ICsJdWludDMy
X3QgbWV0ZXJfc3J0Y21fcHBzX25fbWF4Ow0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiAgIAkvKiog
TWF4aW11bSB0cmFmZmljIHJhdGUgdGhhdCBjYW4gYmUgbWV0ZXJlZCBieSBhIHNpbmdsZQ0KPiA+
IE1UUg0KPiA+ID4gPiBvYmplY3QuIEZvcg0KPiA+ID4gPiA+ICAgCSAqIHNyVENNIFJGQyAyNjk3
LCB0aGlzIGlzIHRoZSBtYXhpbXVtIENJUiByYXRlLiBGb3IgdHJUQ00NCj4gPiBSRkMNCj4gPiA+
ID4gMjY5OCwNCj4gPiA+ID4gPiAgIAkgKiB0aGlzIGlzIHRoZSBtYXhpbXVtIFBJUiByYXRlLiBG
b3IgdHJUQ00gUkZDIDQxMTUsIHRoaXMNCj4gPiBpcyB0aGUNCj4gPiA+ID4gbWF4aW11bQ0KPiA+
ID4gPiA+IEBAIC0zNDIsNiArMzY0LDEyIEBAIHN0cnVjdCBydGVfbXRyX2NhcGFiaWxpdGllcyB7
DQo+ID4gPiA+ID4gICAJICovDQo+ID4gPiA+ID4gICAJaW50IGNvbG9yX2F3YXJlX3RydGNtX3Jm
YzQxMTVfc3VwcG9ydGVkOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKwkvKioNCj4gPiA+ID4gPiAr
CSAqIFdoZW4gbm9uLXplcm8sIGl0IGluZGljYXRlcyB0aGF0IGNvbG9yIGF3YXJlIG1vZGUgaXMN
Cj4gPiBzdXBwb3J0ZWQNCj4gPiA+ID4gZm9yDQo+ID4gPiA+ID4gKwkgKiB0aGUgc3JUQ00gcGFj
a2V0IHBlciBzZWNvbmQgIG1ldGVyaW5nIGFsZ29yaXRobS4NCj4gPiA+DQo+ID4gPiBObyBuZWVk
IGZvciB0d28gc3BhY2VzIGJldHdlZW4gdGhlIHdvcmRzIHNlY29uZCBhbmQgbWV0ZXJpbmcuDQo+
ID4gPg0KPiA+ID4gPiA+ICsJICovDQo+ID4gPiA+ID4gKwlpbnQgY29sb3JfYXdhcmVfc3J0Y21f
cHBzX3N1cHBvcnRlZDsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gICAJLyoqIFdoZW4gbm9uLXpl
cm8sIGl0IGluZGljYXRlcyB0aGF0IHRoZSBwb2xpY2VyIHBhY2tldA0KPiA+IHJlY29sb3INCj4g
PiA+ID4gYWN0aW9ucw0KPiA+ID4gPiA+ICAgCSAqIGFyZSBzdXBwb3J0ZWQuDQo+ID4gPiA+ID4g
ICAJICogQHNlZSBlbnVtIHJ0ZV9tdHJfcG9saWNlcl9hY3Rpb24NCj4gPiA+ID4gPg0KPiA+ID4g
Pg0KDQo=