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 121FD41C38;
	Tue, 14 Feb 2023 10:38:17 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id B688F40ED9;
	Tue, 14 Feb 2023 10:38:16 +0100 (CET)
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2055.outbound.protection.outlook.com [40.107.92.55])
 by mails.dpdk.org (Postfix) with ESMTP id 1B42D40E2D
 for <dev@dpdk.org>; Tue, 14 Feb 2023 10:38:15 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZUYoXrNDrMyDXJsf9VzuW/HaQWTRHiURP9o8eQIjbt+SKdgiGUkxWUps7xUaff8MAqrNcRJ0GA9yDG2Q6rWTAHjsneWQZ69Tr3be7KskRVgpAfA6cgh0Tx+yHNeqFJm+H1TqRxLgok9JbAzPuyTdwLkBOmyGDXh+DMVNVAF4oLi3XwZMvSOPQIHCx1IImcdOodzf9XavKnlEdMZJ9MR6qymEjCk6k7KAvLQyVVPwmE5bSpmG8u35gDmKcZ5qtvGm49pfvcpGm63s1FyLypD3J8qBYYiLJvBYDhMOvECPk7K6HtFQcijmZB4mdl68UF20BuxT135R+g5luBq7UMlNDg==
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=n5ZnJpg60CcofNZOsotmliYsZzZw5QxTh+HUttybT2o=;
 b=Q7YxPXCUj/gerqcViY32dku4XBeoV5hkkVRo9FY6Mvrf/45yeJAY6zQwAQjThk9VK+bXcnKj8+8H77fUkUhZnnaz9dVoePYY7Vy8OAN6GfX9kw0aF3Rjkr39LowkbAM4HlA77S7zioIj2FEOBqT+ETKSB6K3HRD3LZ0OEyXCDlsd2leQdTlzdaztuwv26SLnIBqrHeHxZItimhRSn8AX/kJts0yKejKvNXXNU8EcoYVKwRZmU1Tfa+Ung8qFCUV1B5JKvnwJQLFdtd9qSh4905fvYDT/WfBLvZuqd7nv/+wKzVq2OYemIzw9rFjTE86dplAdr0CT+iZbKRczGTrtvA==
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=n5ZnJpg60CcofNZOsotmliYsZzZw5QxTh+HUttybT2o=;
 b=eZiCjy/dhy1WfKwBivnjFTvENOh7QQ9CshG8J80z5QMC0gv/pwFcWAv6GbicwOgP775RH7bvylvsc22wKWD+dcILR+rGHJvqKykx6KT1YisFJ1quVpfOhSvqAoCua/xULVekTOnDa12XvIeaDv+w9NiQ+5d//k9fk+ANUMCSqzEN6mCvV5YHGAoOJPfK9ugEGnlql7u0IqJVXLLX8N8crIniZNpfkpIoS9vxDn72SrhkfogSQWkNuzan2Eq6ZM7I3zRl+uHOmkQFPVgyrPA0ClqxLGVynkMcxO/EWhxIkEO8b6P6d5iqtksMilgXLx1PzIDafAFR6J0ukcgvYuy2PA==
Received: from PH0PR12MB5451.namprd12.prod.outlook.com (2603:10b6:510:ee::20)
 by SJ0PR12MB6879.namprd12.prod.outlook.com (2603:10b6:a03:484::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.23; Tue, 14 Feb
 2023 09:38:13 +0000
Received: from PH0PR12MB5451.namprd12.prod.outlook.com
 ([fe80::fd7d:5f69:a136:a51d]) by PH0PR12MB5451.namprd12.prod.outlook.com
 ([fe80::fd7d:5f69:a136:a51d%5]) with mapi id 15.20.6086.024; Tue, 14 Feb 2023
 09:38:12 +0000
From: "Jiawei(Jonny) Wang" <jiaweiw@nvidia.com>
To: Ferruh Yigit <ferruh.yigit@amd.com>, Slava Ovsiienko
 <viacheslavo@nvidia.com>, Ori Kam <orika@nvidia.com>, "NBU-Contact-Thomas
 Monjalon (EXTERNAL)" <thomas@monjalon.net>, "andrew.rybchenko@oktetlabs.ru"
 <andrew.rybchenko@oktetlabs.ru>, Aman Singh <aman.deep.singh@intel.com>,
 Yuying Zhang <yuying.zhang@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, Raslan Darawsheh <rasland@nvidia.com>
Subject: RE: [PATCH v4 1/2] ethdev: introduce the PHY affinity field in Tx
 queue API
Thread-Topic: [PATCH v4 1/2] ethdev: introduce the PHY affinity field in Tx
 queue API
Thread-Index: AQHZN9Q4XKYML/HSVUC75oLIdCXXZa7HDk0AgAcSa/A=
Date: Tue, 14 Feb 2023 09:38:12 +0000
Message-ID: <PH0PR12MB5451BED719E2C4C890EF96BEC6A29@PH0PR12MB5451.namprd12.prod.outlook.com>
References: <20230203050717.46914-1-jiaweiw@nvidia.com>
 <20230203133339.30271-1-jiaweiw@nvidia.com>
 <20230203133339.30271-2-jiaweiw@nvidia.com>
 <562e77e6-ea8a-7a56-6fbd-8aba70b295d4@amd.com>
In-Reply-To: <562e77e6-ea8a-7a56-6fbd-8aba70b295d4@amd.com>
Accept-Language: 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=nvidia.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH0PR12MB5451:EE_|SJ0PR12MB6879:EE_
x-ms-office365-filtering-correlation-id: 7557b889-ef03-4b10-5e7c-08db0e6f30f0
x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: biDtdN9CAzmfQFgrLsH+EfeH2kbs6ecNL0cVoEW1QWq/AilgXF+eYy/r0ph6itTuhSav4O0jnjoGv7BHTWRPZ2EuOtqAvHR3n6uinx+if+bWGKg5cDZEsIqp6v7yLgBH1a6LyLvlX3MMzqk6RCjBjMO5utrRlaMG1vKpKCwCofwUd+nquCAe+UMrvq+9T8TiLyD9+NB6LxweaanocXuzjS4rkT9q7WO6Mj8FdK59Nn4DarzFPdYVwvwEDiM97yDLK3blCZFTlfvsMzCK7r6xb/A5rrtK2+MQ3W/28wVU5JAAgTHQvRZvCmX2Z+xpOB6o8OCCckGm6TlMQWYnA2keHuQEK4+0la4AdYuYkG64a2Hj31OL3w/N0oqN4IqFhpvDhHKowDqbtK7SGmGmJloUqSThj5qLqLCAaK17EvZnn3GnshoowpVf1HvFfdReeIvH7d3rbwQlRaFnZFCgOuB3rd7/cyB+yULi5X1fAv0KQeFwgVlqqi8JNB8LvOpLkXaWwPw3bfMmHAyFEK7Th7wFVSHLvfoMicqdMb88Ip3Y/NnexC94PxyeZXZ2nD/T8k87D/slwQb0au0eEjcxsBZ8SezKC1JnJ64yXh67++fE4BHEdMmfc1MpYVC5rvEjUelLurDAsU93zDhHPMmZ8bq8v2y8uEj5dtIwCKjG5cs+B3uGFnvwHiYzbuThlrj+Oz8Aii3jhYl8IIhg8nCC/eVJrg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:PH0PR12MB5451.namprd12.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230025)(4636009)(396003)(39860400002)(376002)(346002)(366004)(136003)(451199018)(41300700001)(66446008)(66946007)(66556008)(54906003)(64756008)(316002)(30864003)(52536014)(110136005)(8676002)(66476007)(5660300002)(76116006)(2906002)(71200400001)(8936002)(7696005)(478600001)(4326008)(6506007)(53546011)(26005)(9686003)(186003)(107886003)(33656002)(55016003)(83380400001)(38070700005)(38100700002)(86362001)(122000001);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Y1VpRmx2TzV3RVppOGc3a1JTRFVoMDAxWHNOZ2tYbDkva3dLQVVQRFJQdEdq?=
 =?utf-8?B?OTMreTIrTVl1MkxyczZaMjNWL3JIWHN6OWhuNUxWbDFzdkVvdTdoNmdWdTBy?=
 =?utf-8?B?Z2Y1VDB5U0t0VVVGUVpxMHQzTStHbkdPNXBmNHI2QTNBOUhHaHBFYStIUkxw?=
 =?utf-8?B?WXZqWW5pQ2Roekl2WlpOQnB5QzBGdHpQZFA1N09YR1ZoOVNQOHQzK2kwaTlz?=
 =?utf-8?B?TCtFRXBwcW5yN0lLZTJ1V21Zd3RiS1VZWUxFVjdqZlZzdWtaMzV1RHVHeE9x?=
 =?utf-8?B?TjcyU0wxTllTMnJhL3Jqc1AwNVd3c3pEaENPa0JrVndtRXV4am5MYVdsR0VI?=
 =?utf-8?B?S0hSa2RqSVR2NXp4a0RuTEdSbFBmTEtZNnlLeTY1dFBhVG1GNVQzTkFZWkJE?=
 =?utf-8?B?cExPaXVOcGNiazAwcXZmVGtxQlc4QTVaaUUycks3cnpMS3ljelluVnlQQzZr?=
 =?utf-8?B?SVZQdHF5U1E0WEtBaXB0Q0IwYVg5WnNDVXVVNktYaUZ2OVpWR2tudVJCMVRW?=
 =?utf-8?B?NWNFZkcxRk1YVjQ1VGxNcWdSTXVHcHdyOENLdWZ4ejdGdHhFeVM3VHpNdmNE?=
 =?utf-8?B?eHFCUi9rQmVFWVltOWhpRExiUHZYdXFqVkdoeGYyL2dvaHRFUUZ1NFBnZUhy?=
 =?utf-8?B?dkZtbkZYcU1PbmIwWXdxcitqbGFZWEFlNEpqRnNjUnBXWjkzdXVUSUtUbE5E?=
 =?utf-8?B?dUxacVB3b0VsbWhkeFdOWjhqbytiVVdMb24xMEpVWTJMQXB2LzRKT3kzejZm?=
 =?utf-8?B?VFFDbUc3UGhmdy9lZVVDK3l2WmFPRmNJWFJOZFJjdGY5b1J4cTRORS9DdTRR?=
 =?utf-8?B?MnIwNjE3NlNoa2VoVmo1cU42WStNanRJVEFESjRCQm12Uk5kdDFDTEg1VC9k?=
 =?utf-8?B?dEFSdm1OQjhjU0tCRE94QXB6NmtjTmpSY3NhTmFnM0lkOGtKcVQ1UDJKZkdu?=
 =?utf-8?B?TDVxUThFdzYwZTBHRnJXa1o1NG5vcmpNOW5VU3VkSHNmRm96RDcxejBhWkNa?=
 =?utf-8?B?ck0xYjZWcmx5enBXeUxtOXNuWGprT3MrOTF4TVZMYU5naWJIbHFsWVMxbFZD?=
 =?utf-8?B?bTVZd1B3NnlXU0t6UTk1TWFpM2orOGYxODhrM2hPTDNLdURuc3hJT1JIYnRT?=
 =?utf-8?B?VGsvZ3ZwS2Fsb3FnaGc5TGYrREtOQnFJUmR5NGFBTHlBc09lUFVISmVWaFBB?=
 =?utf-8?B?TnNPYW9NRlJTWTlKQ1RqZzNhSGNCWWNUT1UvT2J5RCt0Rm1kZDNOY2VhOWlN?=
 =?utf-8?B?SU5PZ2F1Vy9DNkJEVHNyamxjSXVmSEpuOFJPU2R3dSswVHE1Vy9abldVaElw?=
 =?utf-8?B?VS9YYmlwSmRIUkFzbFlaTW40aEFDcTZ6NkFxSlVyUFBTVHJhZ1lLUlFoUU5W?=
 =?utf-8?B?bjlYQ05pZmx2UkFQSk00azBMWk4rUFNlbTFNMFVYbW1KMXdtOENBMEZ3SEpC?=
 =?utf-8?B?cjBaNFFzVjlwQWJxVlNxdHFSaThnWVRuMW5qVEUrTHJNQ0NqcGxRVnJQc0R1?=
 =?utf-8?B?QnNzR2lRM3ZOZGorNmRlN2RSSXJNUkdxQmltVXBROHVXUUdQZ0ptaXB3S3lN?=
 =?utf-8?B?NFkwQXJva1BWQ2xTbmlZWjdKZTBsZjh6WVRaQmRYQ3FPem9WZGlnQXFNeHhk?=
 =?utf-8?B?OUdKckt6TzRFSEdDWjM1eUhxVlg5MFVQYWIyV0xmakprZTBSSFBjRUgzN2NO?=
 =?utf-8?B?S0ZTdEhBanZ0ZnFPNHRyaExMYU4xcTN0azFtV2RBMkthMDk4WnRsUFBTcGN3?=
 =?utf-8?B?ZitBTEJCODNsaTN4MWVURXE4eDJUY3dBYVZHaXltNEVOTTJYOVhYQ1MvR0Z3?=
 =?utf-8?B?SzV3RFJIZ29Sdno4MGptUWl3MnRuYjNjMmVTYklxVkpXRk5jOVlwaVE2MTBD?=
 =?utf-8?B?VW1UMEQvZVVnNlBRS2IrUGZvN0NEWDV3WjZGa1cvTHBRQWtaQ3Y1aS9HZE43?=
 =?utf-8?B?amd2TWF4TU9HS2tLYjh1aDFnQ1BKWUNYOHdzTmJ4RGxrRU95VkdhbjEzdGtG?=
 =?utf-8?B?OVlVRTJPdnNUQytTbHdwUEtlM2dtaFVINzlOQXpQdUxIRjl1WjdHUzhJWEtY?=
 =?utf-8?B?K0hUakRrREk1RHFackdTZ3NyeUlnemVuTkp5RllvUHVWRkNGTHJoREw5bFk0?=
 =?utf-8?Q?sWsAV9wAUvs+VCMYtP+SLvdad?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR12MB5451.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7557b889-ef03-4b10-5e7c-08db0e6f30f0
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Feb 2023 09:38:12.8118 (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: pftxbVyNmYIn8jz0kNno/dvQ/LtlJIUyd9FTk4V3hHE4tnwjBPkm3oyVMHC0flFxO/3xRmNvztrOumFq6uFbzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6879
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

SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0
IDxmZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogRnJpZGF5LCBGZWJydWFyeSAxMCwgMjAy
MyAzOjQ1IEFNDQo+IFRvOiBKaWF3ZWkoSm9ubnkpIFdhbmcgPGppYXdlaXdAbnZpZGlhLmNvbT47
IFNsYXZhIE92c2lpZW5rbw0KPiA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT47IE9yaSBLYW0gPG9y
aWthQG52aWRpYS5jb20+OyBOQlUtQ29udGFjdC0NCj4gVGhvbWFzIE1vbmphbG9uIChFWFRFUk5B
TCkgPHRob21hc0Btb25qYWxvbi5uZXQ+Ow0KPiBhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5y
dTsgQW1hbiBTaW5naCA8YW1hbi5kZWVwLnNpbmdoQGludGVsLmNvbT47DQo+IFl1eWluZyBaaGFu
ZyA8eXV5aW5nLnpoYW5nQGludGVsLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgUmFzbGFuIERh
cmF3c2hlaCA8cmFzbGFuZEBudmlkaWEuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY0IDEv
Ml0gZXRoZGV2OiBpbnRyb2R1Y2UgdGhlIFBIWSBhZmZpbml0eSBmaWVsZCBpbiBUeCBxdWV1ZQ0K
PiBBUEkNCj4gDQo+IE9uIDIvMy8yMDIzIDE6MzMgUE0sIEppYXdlaSBXYW5nIHdyb3RlOg0KPiA+
IFdoZW4gbXVsdGlwbGUgcGh5c2ljYWwgcG9ydHMgYXJlIGNvbm5lY3RlZCB0byBhIHNpbmdsZSBE
UERLIHBvcnQsDQo+ID4gKGV4YW1wbGU6IGtlcm5lbCBib25kaW5nLCBEUERLIGJvbmRpbmcsIGZh
aWxzYWZlLCBldGMuKSwgd2Ugd2FudCB0bw0KPiA+IGtub3cgd2hpY2ggcGh5c2ljYWwgcG9ydCBp
cyB1c2VkIGZvciBSeCBhbmQgVHguDQo+ID4NCj4gDQo+IEkgYXNzdW1lICJrZXJuZWwgYm9uZGlu
ZyIgaXMgb3V0IG9mIGNvbnRleHQsIGJ1dCB0aGlzIHBhdGNoIGNvbmNlcm5zIERQREsNCj4gYm9u
ZGluZywgZmFpbHNhZmUgb3Igc29mdG5pYy4gKEkgd2lsbCByZWZlciB0aGVtIGFzIHZpcnR1YWwg
Ym9uZGluZw0KPiBkZXZpY2UuKQ0KPiANCj4gVG8gdXNlIHNwZWNpZmljIHF1ZXVlcyBvZiB0aGUg
dmlydHVhbCBib25kaW5nIGRldmljZSBtYXkgaW50ZXJmZXJlIHdpdGggdGhlDQo+IGxvZ2ljIG9m
IHRoZXNlIGRldmljZXMsIGxpa2UgYm9uZGluZyBtb2RlcyBvciBSU1Mgb2YgdGhlIHVuZGVybHlp
bmcgZGV2aWNlcy4gSQ0KPiBjYW4gc2VlIGZlYXR1cmUgZm9jdXNlcyBvbiBhIHZlcnkgc3BlY2lm
aWMgdXNlIGNhc2UsIGJ1dCBub3Qgc3VyZSBpZiBhbGwgcG9zc2libGUNCj4gc2lkZSBlZmZlY3Rz
IHRha2VuIGludG8gY29uc2lkZXJhdGlvbi4NCj4gDQo+IA0KPiBBbmQgYWx0aG91Z2ggdGhlIGZl
YXR1cmUgaXMgb25seSByZWxhdmVudCB0byB2aXJ0dWFsIGJvbmRpb25nIGRldmljZSwgY29yZQ0K
PiBldGhkZXYgc3RydWN0dXJlcyBhcmUgdXBkYXRlZCBmb3IgdGhpcy4gTW9zdCB1c2UgY2FzZXMg
d29uJ3QgbmVlZCB0aGVzZSwgc28gaXMNCj4gdGhlcmUgYSB3YXkgdG8gcmVkdWNlIHRoZSBzY29w
ZSBvZiB0aGUgY2hhbmdlcyB0byB2aXJ0dWFsIGJvbmRpbmcgZGV2aWNlcz8NCj4gDQo+IA0KPiBU
aGVyZSBhcmUgYSBmZXcgdmVyeSBjb3JlIGV0aGRldiBBUElzLCBsaWtlOg0KPiBydGVfZXRoX2Rl
dl9jb25maWd1cmUoKQ0KPiBydGVfZXRoX3R4X3F1ZXVlX3NldHVwKCkNCj4gcnRlX2V0aF9yeF9x
dWV1ZV9zZXR1cCgpDQo+IHJ0ZV9ldGhfZGV2X3N0YXJ0KCkNCj4gcnRlX2V0aF9kZXZfaW5mb19n
ZXQoKQ0KPiANCj4gQWxtb3N0IGV2ZXJ5IHVzZXIgb2YgZWh0ZGV2IHVzZXMgdGhlc2UgQVBJcywg
c2luY2UgdGhlc2UgYXJlIHNvIGZ1bmRlbWVudGFsIEkNCj4gYW0gZm9yIGJlaW5nIGEgbGl0dGxl
IG1vcmUgY29uc2VydmF0aXZlIG9uIHRoZXNlIEFQSXMuDQo+IA0KPiBFdmVyeSBlY2NlbnRyaWMg
ZmVhdHVyZXMgYXJlIHRhcmdldHRpbmcgdGhlc2UgQVBJcyBmaXJzdCBiZWNhdXNlIHRoZXkgYXJl
DQo+IGNvbW1vbiBhbmQgZXh0ZW5kaW5nIHRoZW0gZ2l2ZXMgYW4gZWFzeSBzb2x1dGlvbiwgYnV0
IGluIGxvbmcgcnVuIG1ha2luZw0KPiB0aGVzZSBBUElzIG1vcmUgY29tcGxleCwgaGFyZGVyIHRv
IG1haW50YWluIGFuZCBoYXJkZXIgZm9yIFBNRHMgdG8gc3VwcG9ydA0KPiB0aGVtIGNvcnJlY3Rs
eS4gU28gSSBhbSBmb3Igbm90IHVwZGF0aW5nIHRoZW0gdW5sZXNzIGl0IGlzIGEgZ2VuZXJpYyB1
c2UgY2FzZS4NCj4gDQo+IA0KPiBBbHNvIGFzIHdlIHRhbGtlZCBhYm91dCBQTURzIHN1cHBvcnRp
bmcgdGhlbSwgSSBhc3N1bWUgeW91ciBjb21pbmcgUE1EDQo+IHBhdGNoIHdpbGwgYmUgaW1wbGVt
ZW50aW5nICd0eF9waHlfYWZmaW5pdHknIGNvbmZpZyBvcHRpb24gb25seSBmb3IgbWx4IGRyaXZl
cnMuDQo+IFdoYXQgd2lsbCBoYXBwZW4gZm9yIG90aGVyIE5JQ3M/IFdpbGwgdGhleSBzaWxlbnRs
eSBpZ25vcmUgdGhlIGNvbmZpZyBvcHRpb24NCj4gZnJvbSB1c2VyPyBTbyB0aGlzIGlzIGEgcHJv
YmxlbSBmb3IgdGhlIERQREsgYXBwbGljYXRpb24gcG9ydGFiaWx0aXkuDQo+IA0KPiANCj4gDQo+
IEFzIGZhciBhcyBJIHVuZGVyc3RhbmQgdGFyZ2V0IGlzIGFwcGxpY2F0aW9uIGNvbnRyb2xsaW5n
IHdoaWNoIHN1Yi1kZXZpY2UgaXMgdXNlZA0KPiB1bmRlciB0aGUgdmlydHVhbCBib25kaW5nIGRl
dmljZSwgY2FuIHlvdSBwbGVhZXMgZ2l2ZSBtb3JlIGluZm9ybWF0aW9uIHdoeQ0KPiB0aGlzIGlz
IHJlcXVpcmVkLCBwZXJoYXBzIGl0IGNhbiBoZWxwIHRvIHByb3ZpZGUgYSBiZXR0ZXIvZGlmZmVy
ZW50IHNvbHV0aW9uLg0KPiBMaWtlIGFkZGluZyB0aGUgYWJpbGl0eSB0byB1c2UgYm90aCBib25k
aW5nIGRldmljZSBhbmQgc3ViLWRldmljZSBmb3IgZGF0YSBwYXRoLA0KPiB0aGlzIHdheSBhcHBs
aWNhdGlvbiBjYW4gdXNlIHdoaWNoZXZlciBpdCB3YW50cy4gKHRoaXMgaXMganVzdCBmaXJzdCBz
b2x1dGlvbiBJDQo+IGNvbWUgd2l0aCwgSSBhbSBub3Qgc3VnZ2VzdGluZyBhcyByZXBsYWNlbWVu
dCBzb2x1dGlvbiwgYnV0IGlmIHlvdSBjYW4gZGVzY3JpYmUNCj4gdGhlIHByb2JsZW0gbW9yZSBJ
IGFtIHN1cmUgb3RoZXIgcGVvcGxlIGNhbiBjb21lIHdpdGggYmV0dGVyIHNvbHV0aW9ucy4pDQo+
IA0KPiBBbmQgaXNuJ3QgdGhpcyBhZ2FpbnN0IHRoZSBhcHBsaWNhdGlvIHRyYW5zcGFyZW50IHRv
IHVuZGVybmVhdGggZGV2aWNlIGJlaW5nDQo+IGJvbmRpbmcgZGV2aWNlIG9yIGFjdHVhbCBkZXZp
Y2U/DQo+IA0KPiANCg0KT0ssIEkgd2lsbCBzZW5kIHRoZSBuZXcgdmVyc2lvbiB3aXRoIHNlcGFy
YXRlIGZ1bmN0aW9ucyBpbiBldGhkZXYgbGF5ZXIsIA0KdG8gc3VwcG9ydCB0aGUgTWFwIGEgVHgg
cXVldWUgdG8gcG9ydCBhbmQgZ2V0IHRoZSBudW1iZXIgb2YgcG9ydHMuDQpBbmQgdGhlc2UgZnVu
Y3Rpb25zIHdvcmsgd2l0aCBkZXZpY2Ugb3BzIGNhbGxiYWNrLCBvdGhlciBOSUNzIHdpbGwgcmVw
b3J0ZWQNClRoZSB1bnN1cHBvcnRlZCB0aGUgb3BzIGNhbGxiYWNrIGlzIE5VTEwuDQoNCj4gPiBU
aGlzIHBhdGNoIG1hcHMgYSBEUERLIFR4IHF1ZXVlIHdpdGggYSBwaHlzaWNhbCBwb3J0LCBieSBh
ZGRpbmcNCj4gPiB0eF9waHlfYWZmaW5pdHkgc2V0dGluZyBpbiBUeCBxdWV1ZS4NCj4gPiBUaGUg
YWZmaW5pdHkgbnVtYmVyIGlzIHRoZSBwaHlzaWNhbCBwb3J0IElEIHdoZXJlIHBhY2tldHMgd2ls
bCBiZQ0KPiA+IHNlbnQuDQo+ID4gVmFsdWUgMCBtZWFucyBubyBhZmZpbml0eSBhbmQgdHJhZmZp
YyBjb3VsZCBiZSByb3V0ZWQgdG8gYW55IGNvbm5lY3RlZA0KPiA+IHBoeXNpY2FsIHBvcnRzLCB0
aGlzIGlzIHRoZSBkZWZhdWx0IGN1cnJlbnQgYmVoYXZpb3IuDQo+ID4NCj4gPiBUaGUgbnVtYmVy
IG9mIHBoeXNpY2FsIHBvcnRzIGlzIHJlcG9ydGVkIHdpdGggcnRlX2V0aF9kZXZfaW5mb19nZXQo
KS4NCj4gPg0KPiA+IFRoZSBuZXcgdHhfcGh5X2FmZmluaXR5IGZpZWxkIGlzIGFkZGVkIGludG8g
dGhlIHBhZGRpbmcgaG9sZSBvZg0KPiA+IHJ0ZV9ldGhfdHhjb25mIHN0cnVjdHVyZSwgdGhlIHNp
emUgb2YgcnRlX2V0aF90eGNvbmYga2VlcHMgdGhlIHNhbWUuDQo+ID4gQW4gQUJJIGNoZWNrIHJ1
bGUgbmVlZHMgdG8gYmUgYWRkZWQgdG8gYXZvaWQgZmFsc2Ugd2FybmluZy4NCj4gPg0KPiA+IEFk
ZCB0aGUgdGVzdHBtZCBjb21tYW5kIGxpbmU6DQo+ID4gdGVzdHBtZD4gcG9ydCBjb25maWcgKHBv
cnRfaWQpIHR4cSAocXVldWVfaWQpIHBoeV9hZmZpbml0eSAodmFsdWUpDQo+ID4NCj4gPiBGb3Ig
ZXhhbXBsZSwgdGhlcmUncmUgdHdvIHBoeXNpY2FsIHBvcnRzIGNvbm5lY3RlZCB0byBhIHNpbmds
ZSBEUERLDQo+ID4gcG9ydCAocG9ydCBpZCAwKSwgYW5kIHBoeV9hZmZpbml0eSAxIHN0b29kIGZv
ciB0aGUgZmlyc3QgcGh5c2ljYWwgcG9ydA0KPiA+IGFuZCBwaHlfYWZmaW5pdHkgMiBzdG9vZCBm
b3IgdGhlIHNlY29uZCBwaHlzaWNhbCBwb3J0Lg0KPiA+IFVzZSB0aGUgYmVsb3cgY29tbWFuZHMg
dG8gY29uZmlnIHR4IHBoeSBhZmZpbml0eSBmb3IgcGVyIFR4IFF1ZXVlOg0KPiA+ICAgICAgICAg
cG9ydCBjb25maWcgMCB0eHEgMCBwaHlfYWZmaW5pdHkgMQ0KPiA+ICAgICAgICAgcG9ydCBjb25m
aWcgMCB0eHEgMSBwaHlfYWZmaW5pdHkgMQ0KPiA+ICAgICAgICAgcG9ydCBjb25maWcgMCB0eHEg
MiBwaHlfYWZmaW5pdHkgMg0KPiA+ICAgICAgICAgcG9ydCBjb25maWcgMCB0eHEgMyBwaHlfYWZm
aW5pdHkgMg0KPiA+DQo+ID4gVGhlc2UgY29tbWFuZHMgY29uZmlnIHRoZSBUeCBRdWV1ZSBpbmRl
eCAwIGFuZCBUeCBRdWV1ZSBpbmRleCAxIHdpdGgNCj4gPiBwaHkgYWZmaW5pdHkgMSwgdXNlcyBU
eCBRdWV1ZSAwIG9yIFR4IFF1ZXVlIDEgc2VuZCBwYWNrZXRzLCB0aGVzZQ0KPiA+IHBhY2tldHMg
d2lsbCBiZSBzZW50IGZyb20gdGhlIGZpcnN0IHBoeXNpY2FsIHBvcnQsIGFuZCBzaW1pbGFyIHdp
dGgNCj4gPiB0aGUgc2Vjb25kIHBoeXNpY2FsIHBvcnQgaWYgc2VuZGluZyBwYWNrZXRzIHdpdGgg
VHggUXVldWUgMiBvciBUeA0KPiA+IFF1ZXVlIDMuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBK
aWF3ZWkgV2FuZyA8amlhd2Vpd0BudmlkaWEuY29tPg0KPiA+IC0tLQ0KPiA+ICBhcHAvdGVzdC1w
bWQvY21kbGluZS5jICAgICAgICAgICAgICAgICAgICAgIHwgMTAwICsrKysrKysrKysrKysrKysr
KysrDQo+ID4gIGFwcC90ZXN0LXBtZC9jb25maWcuYyAgICAgICAgICAgICAgICAgICAgICAgfCAg
IDEgKw0KPiA+ICBkZXZ0b29scy9saWJhYmlnYWlsLmFiaWdub3JlICAgICAgICAgICAgICAgIHwg
ICA1ICsNCj4gPiAgZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yM18wMy5yc3QgICAgICB8
ICAgNCArDQo+ID4gIGRvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5yc3Qg
fCAgMTMgKysrDQo+ID4gIGxpYi9ldGhkZXYvcnRlX2V0aGRldi5oICAgICAgICAgICAgICAgICAg
ICAgfCAgMTAgKysNCj4gPiAgNiBmaWxlcyBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygrKQ0KPiA+
DQo+ID4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LXBtZC9jbWRsaW5lLmMgYi9hcHAvdGVzdC1wbWQv
Y21kbGluZS5jIGluZGV4DQo+ID4gY2I4YzE3NDAyMC4uZjc3MWZjZjhhYyAxMDA2NDQNCj4gPiAt
LS0gYS9hcHAvdGVzdC1wbWQvY21kbGluZS5jDQo+ID4gKysrIGIvYXBwL3Rlc3QtcG1kL2NtZGxp
bmUuYw0KPiA+IEBAIC03NzYsNiArNzc2LDEwIEBAIHN0YXRpYyB2b2lkIGNtZF9oZWxwX2xvbmdf
cGFyc2VkKHZvaWQNCj4gPiAqcGFyc2VkX3Jlc3VsdCwNCj4gPg0KPiA+ICAJCQkicG9ydCBjbGVh
bnVwIChwb3J0X2lkKSB0eHEgKHF1ZXVlX2lkKSAoZnJlZV9jbnQpXG4iDQo+ID4gIAkJCSIgICAg
Q2xlYW51cCB0eHEgbWJ1ZnMgZm9yIGEgc3BlY2lmaWMgVHggcXVldWVcblxuIg0KPiA+ICsNCj4g
PiArCQkJInBvcnQgY29uZmlnIChwb3J0X2lkKSB0eHEgKHF1ZXVlX2lkKSBwaHlfYWZmaW5pdHkN
Cj4gKHZhbHVlKVxuIg0KPiA+ICsJCQkiICAgIFNldCB0aGUgcGh5c2ljYWwgYWZmaW5pdHkgdmFs
dWUgIg0KPiA+ICsJCQkib24gYSBzcGVjaWZpYyBUeCBxdWV1ZVxuXG4iDQo+ID4gIAkJKTsNCj4g
PiAgCX0NCj4gPg0KPiA+IEBAIC0xMjYzMyw2ICsxMjYzNywxMDEgQEAgc3RhdGljIGNtZGxpbmVf
cGFyc2VfaW5zdF90DQo+IGNtZF9zaG93X3BvcnRfZmxvd190cmFuc2Zlcl9wcm94eSA9IHsNCj4g
PiAgCX0NCj4gPiAgfTsNCj4gPg0KPiA+ICsvKiAqKiogY29uZmlndXJlIHBvcnQgdHhxIHBoeV9h
ZmZpbml0eSB2YWx1ZSAqKiogKi8gc3RydWN0DQo+ID4gK2NtZF9jb25maWdfdHhfcGh5X2FmZmlu
aXR5IHsNCj4gPiArCWNtZGxpbmVfZml4ZWRfc3RyaW5nX3QgcG9ydDsNCj4gPiArCWNtZGxpbmVf
Zml4ZWRfc3RyaW5nX3QgY29uZmlnOw0KPiA+ICsJcG9ydGlkX3QgcG9ydGlkOw0KPiA+ICsJY21k
bGluZV9maXhlZF9zdHJpbmdfdCB0eHE7DQo+ID4gKwl1aW50MTZfdCBxaWQ7DQo+ID4gKwljbWRs
aW5lX2ZpeGVkX3N0cmluZ190IHBoeV9hZmZpbml0eTsNCj4gPiArCXVpbnQ4X3QgdmFsdWU7DQo+
ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgdm9pZA0KPiA+ICtjbWRfY29uZmlnX3R4X3BoeV9h
ZmZpbml0eV9wYXJzZWQodm9pZCAqcGFyc2VkX3Jlc3VsdCwNCj4gPiArCQkJCSAgX19ydGVfdW51
c2VkIHN0cnVjdCBjbWRsaW5lICpjbCwNCj4gPiArCQkJCSAgX19ydGVfdW51c2VkIHZvaWQgKmRh
dGEpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eSAqcmVz
ID0gcGFyc2VkX3Jlc3VsdDsNCj4gPiArCXN0cnVjdCBydGVfZXRoX2Rldl9pbmZvIGRldl9pbmZv
Ow0KPiA+ICsJc3RydWN0IHJ0ZV9wb3J0ICpwb3J0Ow0KPiA+ICsJaW50IHJldDsNCj4gPiArDQo+
ID4gKwlpZiAocG9ydF9pZF9pc19pbnZhbGlkKHJlcy0+cG9ydGlkLCBFTkFCTEVEX1dBUk4pKQ0K
PiA+ICsJCXJldHVybjsNCj4gPiArDQo+ID4gKwlpZiAocmVzLT5wb3J0aWQgPT0gKHBvcnRpZF90
KVJURV9QT1JUX0FMTCkgew0KPiA+ICsJCXByaW50ZigiSW52YWxpZCBwb3J0IGlkXG4iKTsNCj4g
PiArCQlyZXR1cm47DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJcG9ydCA9ICZwb3J0c1tyZXMtPnBv
cnRpZF07DQo+ID4gKw0KPiA+ICsJaWYgKHN0cmNtcChyZXMtPnR4cSwgInR4cSIpKSB7DQo+ID4g
KwkJcHJpbnRmKCJVbmtub3duIHBhcmFtZXRlclxuIik7DQo+ID4gKwkJcmV0dXJuOw0KPiA+ICsJ
fQ0KPiA+ICsJaWYgKHR4X3F1ZXVlX2lkX2lzX2ludmFsaWQocmVzLT5xaWQpKQ0KPiA+ICsJCXJl
dHVybjsNCj4gPiArDQo+ID4gKwlyZXQgPSBldGhfZGV2X2luZm9fZ2V0X3ByaW50X2VycihyZXMt
PnBvcnRpZCwgJmRldl9pbmZvKTsNCj4gPiArCWlmIChyZXQgIT0gMCkNCj4gPiArCQlyZXR1cm47
DQo+ID4gKw0KPiA+ICsJaWYgKGRldl9pbmZvLm5iX3BoeV9wb3J0cyA9PSAwKSB7DQo+ID4gKwkJ
cHJpbnRmKCJOdW1iZXIgb2YgcGh5c2ljYWwgcG9ydHMgaXMgMCB3aGljaCBpcyBpbnZhbGlkIGZv
ciBQSFkNCj4gQWZmaW5pdHlcbiIpOw0KPiA+ICsJCXJldHVybjsNCj4gPiArCX0NCj4gPiArCXBy
aW50ZigiVGhlIG51bWJlciBvZiBwaHlzaWNhbCBwb3J0cyBpcyAldVxuIiwgZGV2X2luZm8ubmJf
cGh5X3BvcnRzKTsNCj4gPiArCWlmIChkZXZfaW5mby5uYl9waHlfcG9ydHMgPCByZXMtPnZhbHVl
KSB7DQo+ID4gKwkJcHJpbnRmKCJUaGUgUEhZIGFmZmluaXR5IHZhbHVlICV1IGlzIEludmFsaWQs
IGV4Y2VlZHMgdGhlICINCj4gPiArCQkgICAgICAgIm51bWJlciBvZiBwaHlzaWNhbCBwb3J0c1xu
IiwgcmVzLT52YWx1ZSk7DQo+ID4gKwkJcmV0dXJuOw0KPiA+ICsJfQ0KPiA+ICsJcG9ydC0+dHhx
W3Jlcy0+cWlkXS5jb25mLnR4X3BoeV9hZmZpbml0eSA9IHJlcy0+dmFsdWU7DQo+ID4gKw0KPiA+
ICsJY21kX3JlY29uZmlnX2RldmljZV9xdWV1ZShyZXMtPnBvcnRpZCwgMCwgMSk7IH0NCj4gPiAr
DQo+ID4gK2NtZGxpbmVfcGFyc2VfdG9rZW5fc3RyaW5nX3QgY21kX2NvbmZpZ190eF9waHlfYWZm
aW5pdHlfcG9ydCA9DQo+ID4gKwlUT0tFTl9TVFJJTkdfSU5JVElBTElaRVIoc3RydWN0IGNtZF9j
b25maWdfdHhfcGh5X2FmZmluaXR5LA0KPiA+ICsJCQkJIHBvcnQsICJwb3J0Iik7DQo+ID4gK2Nt
ZGxpbmVfcGFyc2VfdG9rZW5fc3RyaW5nX3QgY21kX2NvbmZpZ190eF9waHlfYWZmaW5pdHlfY29u
ZmlnID0NCj4gPiArCVRPS0VOX1NUUklOR19JTklUSUFMSVpFUihzdHJ1Y3QgY21kX2NvbmZpZ190
eF9waHlfYWZmaW5pdHksDQo+ID4gKwkJCQkgY29uZmlnLCAiY29uZmlnIik7DQo+ID4gK2NtZGxp
bmVfcGFyc2VfdG9rZW5fbnVtX3QgY21kX2NvbmZpZ190eF9waHlfYWZmaW5pdHlfcG9ydGlkID0N
Cj4gPiArCVRPS0VOX05VTV9JTklUSUFMSVpFUihzdHJ1Y3QgY21kX2NvbmZpZ190eF9waHlfYWZm
aW5pdHksDQo+ID4gKwkJCQkgcG9ydGlkLCBSVEVfVUlOVDE2KTsNCj4gPiArY21kbGluZV9wYXJz
ZV90b2tlbl9zdHJpbmdfdCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eV90eHEgPQ0KPiA+ICsJ
VE9LRU5fU1RSSU5HX0lOSVRJQUxJWkVSKHN0cnVjdCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0
eSwNCj4gPiArCQkJCSB0eHEsICJ0eHEiKTsNCj4gPiArY21kbGluZV9wYXJzZV90b2tlbl9udW1f
dCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eV9xaWQgPQ0KPiA+ICsJVE9LRU5fTlVNX0lOSVRJ
QUxJWkVSKHN0cnVjdCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eSwNCj4gPiArCQkJICAgICAg
cWlkLCBSVEVfVUlOVDE2KTsNCj4gPiArY21kbGluZV9wYXJzZV90b2tlbl9zdHJpbmdfdCBjbWRf
Y29uZmlnX3R4X3BoeV9hZmZpbml0eV9od3BvcnQgPQ0KPiA+ICsJVE9LRU5fU1RSSU5HX0lOSVRJ
QUxJWkVSKHN0cnVjdCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eSwNCj4gPiArCQkJCSBwaHlf
YWZmaW5pdHksICJwaHlfYWZmaW5pdHkiKTsNCj4gPiArY21kbGluZV9wYXJzZV90b2tlbl9udW1f
dCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eV92YWx1ZSA9DQo+ID4gKwlUT0tFTl9OVU1fSU5J
VElBTElaRVIoc3RydWN0IGNtZF9jb25maWdfdHhfcGh5X2FmZmluaXR5LA0KPiA+ICsJCQkgICAg
ICB2YWx1ZSwgUlRFX1VJTlQ4KTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjbWRsaW5lX3BhcnNlX2lu
c3RfdCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eSA9IHsNCj4gPiArCS5mID0gY21kX2NvbmZp
Z190eF9waHlfYWZmaW5pdHlfcGFyc2VkLA0KPiA+ICsJLmRhdGEgPSAodm9pZCAqKTAsDQo+ID4g
KwkuaGVscF9zdHIgPSAicG9ydCBjb25maWcgPHBvcnRfaWQ+IHR4cSA8cXVldWVfaWQ+IHBoeV9h
ZmZpbml0eSA8dmFsdWU+IiwNCj4gPiArCS50b2tlbnMgPSB7DQo+ID4gKwkJKHZvaWQgKikmY21k
X2NvbmZpZ190eF9waHlfYWZmaW5pdHlfcG9ydCwNCj4gPiArCQkodm9pZCAqKSZjbWRfY29uZmln
X3R4X3BoeV9hZmZpbml0eV9jb25maWcsDQo+ID4gKwkJKHZvaWQgKikmY21kX2NvbmZpZ190eF9w
aHlfYWZmaW5pdHlfcG9ydGlkLA0KPiA+ICsJCSh2b2lkICopJmNtZF9jb25maWdfdHhfcGh5X2Fm
ZmluaXR5X3R4cSwNCj4gPiArCQkodm9pZCAqKSZjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eV9x
aWQsDQo+ID4gKwkJKHZvaWQgKikmY21kX2NvbmZpZ190eF9waHlfYWZmaW5pdHlfaHdwb3J0LA0K
PiA+ICsJCSh2b2lkICopJmNtZF9jb25maWdfdHhfcGh5X2FmZmluaXR5X3ZhbHVlLA0KPiA+ICsJ
CU5VTEwsDQo+ID4gKwl9LA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiAgLyoNCj4gPg0KPiAqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
DQo+ICoqKioqKg0KPiA+ICoqKioqKioqKiogKi8NCj4gPg0KPiA+ICAvKiBsaXN0IG9mIGluc3Ry
dWN0aW9ucyAqLw0KPiA+IEBAIC0xMjg2Niw2ICsxMjk2NSw3IEBAIHN0YXRpYyBjbWRsaW5lX3Bh
cnNlX2N0eF90IGJ1aWx0aW5fY3R4W10gPSB7DQo+ID4gIAkoY21kbGluZV9wYXJzZV9pbnN0X3Qg
KikmY21kX3Nob3dfcG9ydF9jbWFuX2NhcGEsDQo+ID4gIAkoY21kbGluZV9wYXJzZV9pbnN0X3Qg
KikmY21kX3Nob3dfcG9ydF9jbWFuX2NvbmZpZywNCj4gPiAgCShjbWRsaW5lX3BhcnNlX2luc3Rf
dCAqKSZjbWRfc2V0X3BvcnRfY21hbl9jb25maWcsDQo+ID4gKwkoY21kbGluZV9wYXJzZV9pbnN0
X3QgKikmY21kX2NvbmZpZ190eF9waHlfYWZmaW5pdHksDQo+ID4gIAlOVUxMLA0KPiA+ICB9Ow0K
PiA+DQo+ID4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LXBtZC9jb25maWcuYyBiL2FwcC90ZXN0LXBt
ZC9jb25maWcuYyBpbmRleA0KPiA+IGFjY2NiNmIwMzUuLmI4M2ZiMTdjZmEgMTAwNjQ0DQo+ID4g
LS0tIGEvYXBwL3Rlc3QtcG1kL2NvbmZpZy5jDQo+ID4gKysrIGIvYXBwL3Rlc3QtcG1kL2NvbmZp
Zy5jDQo+ID4gQEAgLTkzNiw2ICs5MzYsNyBAQCBwb3J0X2luZm9zX2Rpc3BsYXkocG9ydGlkX3Qg
cG9ydF9pZCkNCj4gPiAgCQlwcmludGYoInVua25vd25cbiIpOw0KPiA+ICAJCWJyZWFrOw0KPiA+
ICAJfQ0KPiA+ICsJcHJpbnRmKCJDdXJyZW50IG51bWJlciBvZiBwaHlzaWNhbCBwb3J0czogJXVc
biIsDQo+ID4gK2Rldl9pbmZvLm5iX3BoeV9wb3J0cyk7DQo+ID4gIH0NCj4gPg0KPiA+ICB2b2lk
DQo+ID4gZGlmZiAtLWdpdCBhL2RldnRvb2xzL2xpYmFiaWdhaWwuYWJpZ25vcmUNCj4gPiBiL2Rl
dnRvb2xzL2xpYmFiaWdhaWwuYWJpZ25vcmUgaW5kZXggN2E5M2RlM2JhMS4uYWM3ZDNmYjJkYSAx
MDA2NDQNCj4gPiAtLS0gYS9kZXZ0b29scy9saWJhYmlnYWlsLmFiaWdub3JlDQo+ID4gKysrIGIv
ZGV2dG9vbHMvbGliYWJpZ2FpbC5hYmlnbm9yZQ0KPiA+IEBAIC0zNCwzICszNCw4IEBADQo+ID4g
IDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsNCj4g
PiAgOyBUZW1wb3JhcnkgZXhjZXB0aW9ucyB0aWxsIG5leHQgbWFqb3IgQUJJIHZlcnNpb24gOw0K
PiA+IDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsN
Cj4gPiArDQo+ID4gKzsgSWdub3JlIGZpZWxkcyBpbnNlcnRlZCBpbiBwYWRkaW5nIGhvbGUgb2Yg
cnRlX2V0aF90eGNvbmYNCj4gPiArW3N1cHByZXNzX3R5cGVdDQo+ID4gKyAgICAgICAgbmFtZSA9
IHJ0ZV9ldGhfdHhjb25mDQo+ID4gKyAgICAgICAgaGFzX2RhdGFfbWVtYmVyX2luc2VydGVkX2Jl
dHdlZW4gPQ0KPiA+ICt7b2Zmc2V0X29mKHR4X2RlZmVycmVkX3N0YXJ0KSwgb2Zmc2V0X29mKG9m
ZmxvYWRzKX0NCj4gPiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8y
M18wMy5yc3QNCj4gPiBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjNfMDMucnN0DQo+
ID4gaW5kZXggNzNmNWQ5NGUxNC4uZTk5YmQyZGNiNiAxMDA2NDQNCj4gPiAtLS0gYS9kb2MvZ3Vp
ZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIzXzAzLnJzdA0KPiA+ICsrKyBiL2RvYy9ndWlkZXMvcmVs
X25vdGVzL3JlbGVhc2VfMjNfMDMucnN0DQo+ID4gQEAgLTU1LDYgKzU1LDEwIEBAIE5ldyBGZWF0
dXJlcw0KPiA+ICAgICAgIEFsc28sIG1ha2Ugc3VyZSB0byBzdGFydCB0aGUgYWN0dWFsIHRleHQg
YXQgdGhlIG1hcmdpbi4NCj4gPiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID4NCj4gPiArKiAqKkFkZGVkIGFmZmluaXR5IGZv
ciBtdWx0aXBsZSBwaHlzaWNhbCBwb3J0cyBjb25uZWN0ZWQgdG8gYSBzaW5nbGUNCj4gPiArRFBE
SyBwb3J0LioqDQo+ID4gKw0KPiA+ICsgICogQWRkZWQgVHggYWZmaW5pdHkgaW4gcXVldWUgc2V0
dXAgdG8gbWFwIGEgcGh5c2ljYWwgcG9ydC4NCj4gPiArDQo+ID4gICogKipVcGRhdGVkIEFNRCBh
eGdiZSBkcml2ZXIuKioNCj4gPg0KPiA+ICAgICogQWRkZWQgbXVsdGktcHJvY2VzcyBzdXBwb3J0
Lg0KPiA+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVu
Y3MucnN0DQo+ID4gYi9kb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0
DQo+ID4gaW5kZXggNzlhMWZhOWNiNy4uNWM3MTZmNzY3OSAxMDA2NDQNCj4gPiAtLS0gYS9kb2Mv
Z3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0DQo+ID4gKysrIGIvZG9jL2d1
aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJzdA0KPiA+IEBAIC0xNjA1LDYgKzE2
MDUsMTkgQEAgRW5hYmxlIG9yIGRpc2FibGUgYSBwZXIgcXVldWUgVHggb2ZmbG9hZGluZyBvbmx5
DQo+IG9uIGEgc3BlY2lmaWMgVHggcXVldWU6Og0KPiA+DQo+ID4gIFRoaXMgY29tbWFuZCBzaG91
bGQgYmUgcnVuIHdoZW4gdGhlIHBvcnQgaXMgc3RvcHBlZCwgb3IgZWxzZSBpdCB3aWxsIGZhaWwu
DQo+ID4NCj4gPiArY29uZmlnIHBlciBxdWV1ZSBUeCBwaHlzaWNhbCBhZmZpbml0eQ0KPiA+ICt+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQo+ID4gKw0KPiA+ICtDb25maWd1
cmUgYSBwZXIgcXVldWUgcGh5c2ljYWwgYWZmaW5pdHkgdmFsdWUgb25seSBvbiBhIHNwZWNpZmlj
IFR4IHF1ZXVlOjoNCj4gPiArDQo+ID4gKyAgIHRlc3RwbWQ+IHBvcnQgKHBvcnRfaWQpIHR4cSAo
cXVldWVfaWQpIHBoeV9hZmZpbml0eSAodmFsdWUpDQo+ID4gKw0KPiA+ICsqIGBgcGh5X2FmZmlu
aXR5YGA6IHBoeXNpY2FsIHBvcnQgdG8gdXNlIGZvciBzZW5kaW5nLA0KPiA+ICsgICAgICAgICAg
ICAgICAgICAgIHdoZW4gbXVsdGlwbGUgcGh5c2ljYWwgcG9ydHMgYXJlIGNvbm5lY3RlZCB0bw0K
PiA+ICsgICAgICAgICAgICAgICAgICAgIGEgc2luZ2xlIERQREsgcG9ydC4NCj4gPiArDQo+ID4g
K1RoaXMgY29tbWFuZCBzaG91bGQgYmUgcnVuIHdoZW4gdGhlIHBvcnQgaXMgc3RvcHBlZCwgb3Ro
ZXJ3aXNlIGl0IGZhaWxzLg0KPiA+ICsNCj4gPiAgQ29uZmlnIFZYTEFOIEVuY2FwIG91dGVyIGxh
eWVycw0KPiA+ICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQo+ID4NCj4gPiBkaWZm
IC0tZ2l0IGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmggYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYu
aCBpbmRleA0KPiA+IGMxMjljYTFlYWYuLjJmZDk3MWI3YjUgMTAwNjQ0DQo+ID4gLS0tIGEvbGli
L2V0aGRldi9ydGVfZXRoZGV2LmgNCj4gPiArKysgYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaA0K
PiA+IEBAIC0xMTM4LDYgKzExMzgsMTQgQEAgc3RydWN0IHJ0ZV9ldGhfdHhjb25mIHsNCj4gPiAg
CQkJCSAgICAgIGxlc3MgZnJlZSBkZXNjcmlwdG9ycyB0aGFuIHRoaXMgdmFsdWUuICovDQo+ID4N
Cj4gPiAgCXVpbnQ4X3QgdHhfZGVmZXJyZWRfc3RhcnQ7IC8qKjwgRG8gbm90IHN0YXJ0IHF1ZXVl
IHdpdGgNCj4gPiBydGVfZXRoX2Rldl9zdGFydCgpLiAqLw0KPiA+ICsJLyoqDQo+ID4gKwkgKiBB
ZmZpbml0eSB3aXRoIG9uZSBvZiB0aGUgbXVsdGlwbGUgcGh5c2ljYWwgcG9ydHMgY29ubmVjdGVk
IHRvIHRoZQ0KPiBEUERLIHBvcnQuDQo+ID4gKwkgKiBWYWx1ZSAwIG1lYW5zIG5vIGFmZmluaXR5
IGFuZCB0cmFmZmljIGNvdWxkIGJlIHJvdXRlZCB0byBhbnkNCj4gY29ubmVjdGVkDQo+ID4gKwkg
KiBwaHlzaWNhbCBwb3J0Lg0KPiA+ICsJICogVGhlIGZpcnN0IHBoeXNpY2FsIHBvcnQgaXMgbnVt
YmVyIDEgYW5kIHNvIG9uLg0KPiA+ICsJICogTnVtYmVyIG9mIHBoeXNpY2FsIHBvcnRzIGlzIHJl
cG9ydGVkIGJ5IG5iX3BoeV9wb3J0cyBpbg0KPiBydGVfZXRoX2Rldl9pbmZvLg0KPiA+ICsJICov
DQo+ID4gKwl1aW50OF90IHR4X3BoeV9hZmZpbml0eTsNCj4gPiAgCS8qKg0KPiA+ICAJICogUGVy
LXF1ZXVlIFR4IG9mZmxvYWRzIHRvIGJlIHNldCAgdXNpbmcgUlRFX0VUSF9UWF9PRkZMT0FEXyoN
Cj4gZmxhZ3MuDQo+ID4gIAkgKiBPbmx5IG9mZmxvYWRzIHNldCBvbiB0eF9xdWV1ZV9vZmZsb2Fk
X2NhcGEgb3IgdHhfb2ZmbG9hZF9jYXBhIEBADQo+ID4gLTE3NDQsNiArMTc1Miw4IEBAIHN0cnVj
dCBydGVfZXRoX2Rldl9pbmZvIHsNCj4gPiAgCS8qKiBEZXZpY2UgcmVkaXJlY3Rpb24gdGFibGUg
c2l6ZSwgdGhlIHRvdGFsIG51bWJlciBvZiBlbnRyaWVzLiAqLw0KPiA+ICAJdWludDE2X3QgcmV0
YV9zaXplOw0KPiA+ICAJdWludDhfdCBoYXNoX2tleV9zaXplOyAvKio8IEhhc2gga2V5IHNpemUg
aW4gYnl0ZXMgKi8NCj4gPiArCS8qKiBOdW1iZXIgb2YgcGh5c2ljYWwgcG9ydHMgY29ubmVjdGVk
IHdpdGggRFBESyBwb3J0LiAqLw0KPiA+ICsJdWludDhfdCBuYl9waHlfcG9ydHM7DQo+ID4gIAkv
KiogQml0IG1hc2sgb2YgUlNTIG9mZmxvYWRzLCB0aGUgYml0IG9mZnNldCBhbHNvIG1lYW5zIGZs
b3cgdHlwZSAqLw0KPiA+ICAJdWludDY0X3QgZmxvd190eXBlX3Jzc19vZmZsb2FkczsNCj4gPiAg
CXN0cnVjdCBydGVfZXRoX3J4Y29uZiBkZWZhdWx0X3J4Y29uZjsgLyoqPCBEZWZhdWx0IFJ4IGNv
bmZpZ3VyYXRpb24NCj4gPiAqLw0KDQo=