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 9FE3343A22; Wed, 31 Jan 2024 18:43:25 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 23F76402ED; Wed, 31 Jan 2024 18:43:25 +0100 (CET) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2058.outbound.protection.outlook.com [40.107.100.58]) by mails.dpdk.org (Postfix) with ESMTP id 51CDF4026B for ; Wed, 31 Jan 2024 18:43:23 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cWmwDTi77JoBy62lke2ZtBanoZophMxJRbmATuI1xIEGlKfvAY3v5A2nbKSB27YDbzpLodeiVqHl/9ajzCWIQ21os+N5dFudS5VgShoExBhRhJECz6hihqoELOKH46uboInLwj+piHvi44u9PtuGGeSgvkwfguKmA8yoQ1LN5p6rRq2vags62eqw/ozdklynEMytpYY99dOF+493wgM3VAmVTL1Hf+IwtVnTavzprQkhrfcn8X0NUM9tSmfHD3vZ9A+7rjrZVsnayjQW4fDoed+C0D9s2D2y3azMFLp6C+KxNUidF0utLBd/ZjqjpaQW5zG8b3Xw0OPQN5yyvUEI/g== 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=/5Td8SvteQ4yeVgfUZFZtfMeeioAHlhSC/sM35g6Lr0=; b=QjaptEao+UHxJotHM6nhmQd/ZBtWdpp0MaPI6bjlekqyZEEolKnPD9KqTGQRnaMMKpYr/e4hTZ9g57npxd0DNTD7rUcU4cxmGf44PKwbQIklFvIzxU8pB1DlMLi7dVV0+DpVoL1HSvZwWeCtxtZuraWVxXsWFVrLTpbeeywLQiR8y2QekNhRiLQaAF0Y8QvzQAIQoUIQvcqMSpVSHZ6uWLc1ebY9vuQQ9jlnP6tMKbV5/5vwskuHRMsfnriIlF6EteTKCkLxfLjosnhz3+k/u26YYW3wCx9e6TfMCpAuWe+GG5JQvooIPAts8Wvip30RzqGN4vGUn+YRWJW7EYuaRg== 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=/5Td8SvteQ4yeVgfUZFZtfMeeioAHlhSC/sM35g6Lr0=; b=CypkobN9TMJhQcNrkED5J+KHYgO1OKubI2ay0g4V281wdeLK0R2Pidh4cmOQKyk+6nlzKfWU3N31CSJH9OQBfG+V6HM3WkZxTSM1ZSrOdycDqhTOrC2VWe2Xh6LJ8qr0Vs2wf8v7HOlFbAtYv+TnCCxYsIIgLT/WkVWO41oWe5mMvAmOPSoeAlaFYbQwd/vtm7M8yFzgybusd0KqC2EKGwmND9+zQu38Nyb6LmAY5/pCDk2ZRViR3aIuZRPnyaVCtWOnwtfUwyGCJxo3jBST1tLl8JqekAQloBH3geetRs3xLBbMQOdfNNm7LZChFqo7y4g1PNGsszLTliy8cbZ4xQ== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by IA0PR12MB8984.namprd12.prod.outlook.com (2603:10b6:208:492::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Wed, 31 Jan 2024 17:43:20 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::4b7d:c23d:42aa:3f9e]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::4b7d:c23d:42aa:3f9e%7]) with mapi id 15.20.7228.029; Wed, 31 Jan 2024 17:43:20 +0000 From: Ori Kam To: Ferruh Yigit , Suanming Mou , Aman Singh , Yuying Zhang , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Andrew Rybchenko CC: "dev@dpdk.org" Subject: RE: [PATCH v3 2/3] ethdev: add compare item Thread-Topic: [PATCH v3 2/3] ethdev: add compare item Thread-Index: AQHaR5MtMzvaTjP4o02/zMw+SYvjsrDytboAgACa2YCAANoq4IAAEBqAgAAPPNA= Date: Wed, 31 Jan 2024 17:43:20 +0000 Message-ID: References: <20231219013337.531548-1-suanmingm@nvidia.com> <20240115091318.1053433-1-suanmingm@nvidia.com> <20240115091318.1053433-3-suanmingm@nvidia.com> <2594409d-5c8d-4347-b724-eece2b775376@amd.com> In-Reply-To: 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: MW2PR12MB4666:EE_|IA0PR12MB8984:EE_ x-ms-office365-filtering-correlation-id: 4f7daa12-0b98-4b1d-6e60-08dc22841d51 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: Kc4PfKF0lhMpdCfRV3R8ix9eKzpTY/J/eVR9JOp/cTmxwGADJJRCjURSsP4LUqY6GWKJzDXvz/QBiDZNyx3/zrbNNGkn9g1F8MwUp1eAHUb/bMfnUSV7rxkRzS8yvkDNEzkalArEtYk89eOJSU/9bcJgB8xRBfcIBhtAcNEB0Rq2sqnXdOEIVF4A3QGuqPSDI8KQVtibH/dL8ZIzhg18G6F8SE0/HBFS8ZMNLgQPSG5kE0WQg4oTPtnrUIV71kQSseItSjHPRHPJzMRNMkgi5X1OjOsAo5EnimVP/lq933Mg3tF3pD508oGRGbtLzv9llg119ZQj8GSlj3nP+TjB1mVh27w92Xxa2D4qlSKCcteQEEQ5sKspmGSkKkKnumlDp/2sA9+L+1JlQF3SKB6pRfTIGk4KD/zHeX0KNDGKGLJ+Q/GwbZ6k1QVdtLkRcXYxX0U0J7fQIZeZoQ/00hAKqT7lIlnLEqIaxoMCaJX9fKkoe0/Jf1vSdMZmaMCgVGbGzqiG3R6xPWT2xfixA1Xty9leF4JUN+vM2VbboyHveFRHILOxCRamXcviiRf0RyuvOaQbRIC/yxyMcYZUT0jhIRuURAvJXIVR2r3Lro1WPu3/8RyfLqgFafhxwCo8hk0kYf6IK4gkDwT65VtwegJOFpjKENXMWRZ1iCbmaAIcEyRCid31P+ZsjfxHJ+Uhuut+ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(39860400002)(136003)(346002)(376002)(396003)(230922051799003)(230173577357003)(230273577357003)(64100799003)(1800799012)(186009)(451199024)(122000001)(86362001)(41300700001)(33656002)(38100700002)(71200400001)(4326008)(7696005)(53546011)(6506007)(8676002)(8936002)(316002)(66476007)(76116006)(478600001)(66446008)(66946007)(66556008)(26005)(5660300002)(110136005)(83380400001)(2906002)(52536014)(9686003)(64756008)(38070700009)(55016003)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?alNaMWRiSHNGcjZWZG42VUhKUTJQU21MbGZuam9BNVFOYkM5cWRuM3ozakd2?= =?utf-8?B?RFJoUFBTV1VaVmJNV2JEUHkzOTFxUGdoUnNrZkdTN2h4alpRQWJjZ0U4R0N4?= =?utf-8?B?RkxZV0ZGZHVMRDdJdDdkZUZOS01Nc2lWdnhNRUFtb1hPUzZWQnFMZjhUNkRJ?= =?utf-8?B?R0N6YU56Y1QveXpKTTRyUlNmQUw1OHZSVHZpdVhCbWtoVU90WjJmeDNWSE0z?= =?utf-8?B?ZmpGZGVIWFZPUlNnSEx6M3dBOXJ6TEVIcWVLSUlLMml0TnJEbjI3SHRpcmFM?= =?utf-8?B?dVJWRVhKV05laUNxYlZKeTFZSm5yeDRoSmlDcm01MDk1WHFpVXViN0FhSmtm?= =?utf-8?B?R1hHcnRSRU1GVUc1Q0ExdXRCOE9nTW5GcHdzTnA1bzVVZzVFNy8xN3NSVWNS?= =?utf-8?B?SXJBWVBZa0s2SG0vbTNFMWt4RWRFbnFhalZZV01qSDBsRjNNaGQrMnlBZW1H?= =?utf-8?B?UDF4dUJZcUMxcWhHUjJHcjhNUDVkRjVYQ2gyK2V2YXM3NW9vVHBXYnVwZ2pH?= =?utf-8?B?MUlOcURleXhuY2g4TVZudGd4aVBoZ1FOaTZodXFBdElXNThNSkxwMGdndFFx?= =?utf-8?B?aU00OWlXT2ozYnJaM1RyY1RVOUlZVGtBWGo1dzQ4Vjk4RE5tMStrNjZBdGhG?= =?utf-8?B?VXdnMVRYeU0wS0pqSTBYcjlEZ0thUzYrZG5EeS9hSXc0bHlIekFzSk9vdjZ0?= =?utf-8?B?QjVNbVNTMmlmZ21IRzhhSXpLUUtOMmJrTHZxODBzUjRyRThKRDZVTFlLN0tC?= =?utf-8?B?TzRTYXBvMDBOUXRTOVZMcHE0YzVvS1JpdHVNYlJjd3dxZmt3OU1uODQ3aGFj?= =?utf-8?B?MjlrcDFVWllSOFRIUldrZXljbnoxN2hSZ3pFS2I3VzdPUHhxQUlBeGRZazFC?= =?utf-8?B?TTE4c0pkelM1b1hWaFVxSGFGQXJoZ25RcXJNRENSd2ZVTElCejZucjJoTnFm?= =?utf-8?B?cm5BVmwrNHUwSVFtLzh5dHpXZFRxWDBUQWVmMUg2VFlCMUFCUEtTSlJQTklY?= =?utf-8?B?UUJWYWJWbHFnTjlyWDg2YzNBQkw1dCtJS2w5THowbERlUjcxRlpOd2xiMUlF?= =?utf-8?B?WTZtazdyaXgxcnk5Y2hicHNIWSs4ME44bXo3MFNIVE82ZEgvOUI1L3BiNkhU?= =?utf-8?B?aHBJbW1ReHdDM0YxNUE1S3pkL2VBTmZvY1A0S3dIUnpVa3NQWi9yWE1VNFo0?= =?utf-8?B?SXN5MGtyM0JMMm1xNDMwUi80SGxlaUpUbldzL1o2dStqbXhWSFpIMmcxSlBm?= =?utf-8?B?aGl3aFY4QW5WRUVqODRSTUNUK3NsWGJod3VIN0U4UUZLUjdpMnAzUGJneDFY?= =?utf-8?B?ZEtkRnRDVXRMZVROUmVIRUtMQjYvYnpsRlBTbUFialJSQ3Exbllybis0aGRp?= =?utf-8?B?RHFXZFJrd2pzY2VQS21jVVkybCtXc09VdG9XL3NheXkrWm1ZVDFoTlY2SGJ4?= =?utf-8?B?WUs5cjBxbmg0VmdHVWp0cUd1UW1DNnNkOC9PQUU4TUFCWlowemNyUVVoWk9X?= =?utf-8?B?OUtDMyt3d1JuOGQrd1lvY3lxbnliOEM2WDhSWVlOY0RPN2QzRXk2N3djQmhD?= =?utf-8?B?b1NyUE1vSDY3RGZkR3pRSUhZWmRaV1crTXZ1Z0FSRGIzU1hTNEhOeERZZVhw?= =?utf-8?B?bE1KWXc1azl2ZFVxemJKaklQdWc2VUp5MzNOb2VRTiszRHJVMTJmbnJaYWRU?= =?utf-8?B?MWhNSEgvWjhNdjVUUDFxM1AvcDJONjM4RE81endZbi9QM09UNUlNeTYyY2Jk?= =?utf-8?B?Z3RSWkh2bDZOUHRZRlgxYisrektvSVN3blU0eHBoM1RnemRWWkFIOVNlOG1J?= =?utf-8?B?U21uc01RU0RaeHhBUzQ1cVRtQkJXOG85Qjhod2Y5N0xsYkpqdlp3Q1NKRHpm?= =?utf-8?B?QXBJaHM3SnJwY0hoWE9veXltSjNpNUJUMVNtS0M3K2tRTlN4NWQ2NFo0Tm9t?= =?utf-8?B?WVZ1ZWMvWnBJK1Jxc1UxN29nemxwdUl1eS95eXFMT09yTElsL1gyOVBkQTkw?= =?utf-8?B?UkpsZ1l5ekZpamtwU1NJL0RLMkFpbWpwczZNeFZEOEhhWE1vem9Oc0V1WTRz?= =?utf-8?B?NlY2Nk1laE1MWjk2aGxoV1crd2dLOVRvUkt5UWJmNjhKQ3BOeHFJL1JkYVEv?= =?utf-8?Q?Bf64=3D?= 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: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4f7daa12-0b98-4b1d-6e60-08dc22841d51 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2024 17:43:20.2091 (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: CDbGr69pVb6q0MQ5PGUGri1KAHsZxKJ0XpCqR99Z8aEhE/1Qd103CFGmpnB2YJ5XjyOFPxDY2SmFHIxztY55VA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8984 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDMxLCAyMDI0 IDY6NDYgUE0NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MyAyLzNdIGV0aGRldjogYWRkIGNvbXBh cmUgaXRlbQ0KPiANCj4gT24gMS8zMS8yMDI0IDM6NTYgUE0sIE9yaSBLYW0gd3JvdGU6DQo+ID4g SGkNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBTdWFu bWluZyBNb3UgPHN1YW5taW5nbUBudmlkaWEuY29tPg0KPiA+PiBTZW50OiBXZWRuZXNkYXksIEph bnVhcnkgMzEsIDIwMjQgNDo0OCBBTQ0KPiA+Pg0KPiA+PiBIaSwNCj4gPj4NCj4gPj4+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1aC55 aWdpdEBhbWQuY29tPg0KPiA+Pj4gU2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDMxLCAyMDI0IDE6 MzQgQU0NCj4gPj4+IFRvOiBTdWFubWluZyBNb3UgPHN1YW5taW5nbUBudmlkaWEuY29tPjsgT3Jp IEthbQ0KPiA+PiA8b3Jpa2FAbnZpZGlhLmNvbT47DQo+ID4+PiBBbWFuIFNpbmdoIDxhbWFuLmRl ZXAuc2luZ2hAaW50ZWwuY29tPjsgWXV5aW5nIFpoYW5nDQo+ID4+PiA8eXV5aW5nLnpoYW5nQGlu dGVsLmNvbT47IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiAoRVhURVJOQUwpDQo+ID4+PiA8 dGhvbWFzQG1vbmphbG9uLm5ldD47IEFuZHJldyBSeWJjaGVua28NCj4gPj4+IDxhbmRyZXcucnli Y2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPj4+IENjOiBkZXZAZHBkay5vcmcNCj4gPj4+IFN1Ympl Y3Q6IFJlOiBbUEFUQ0ggdjMgMi8zXSBldGhkZXY6IGFkZCBjb21wYXJlIGl0ZW0NCj4gPj4+DQo+ ID4+PiBPbiAxLzE1LzIwMjQgOToxMyBBTSwgU3Vhbm1pbmcgTW91IHdyb3RlOg0KPiA+Pj4+IFRo ZSBuZXcgaXRlbSB0eXBlIGlzIGFkZGVkIGZvciB0aGUgY2FzZSB1c2VyIHdhbnRzIHRvIG1hdGNo IHRyYWZmaWMNCj4gPj4+PiBiYXNlZCBvbiBwYWNrZXQgZmllbGQgY29tcGFyZSByZXN1bHQgd2l0 aCBvdGhlciBmaWVsZHMgb3IgaW1tZWRpYXRlDQo+ID4+Pj4gdmFsdWUuDQo+ID4+Pj4NCj4gPj4+ PiBlLmcuIHRha2UgYWR2YW50YWdlIHRoZSBjb21wYXJlIGl0ZW0gdXNlciB3aWxsIGJlIGFibGUg dG8gYWNjdW11bGF0ZSBhDQo+ID4+Pj4gSVB2NC9UQ1AgcGFja2V0J3MgVENQIGRhdGFfb2Zmc2V0 IGFuZCBJUHY0IElITCBmaWVsZCB0byBhIHRhZw0KPiA+Pj4+IHJlZ2lzdGVyLCB0aGVuIGNvbXBh cmUgdGhlIHRhZyByZWdpc3RlciB3aXRoIElQdjQgaGVhZGVyIHRvdGFsIGxlbmd0aA0KPiA+Pj4+ IHRvIHVuZGVyc3RhbmQgdGhlIHBhY2tldCBoYXMgcGF5bG9hZCBvciBub3QuDQo+ID4+Pj4NCj4g Pj4+DQo+ID4+PiBhY2ssIGFib3ZlIHNhbXBsZSBtYWtlcyBpdCBlYXNpZXIgdG8gdW5kZXJzdGFu ZC4NCj4gPj4+DQo+ID4+PiBUaGlzIHBhdGNoIGlzIGFkZGluZyB0ZXN0cG1kIGNvbW1hbmRzLCBj YW4geW91IHBsZWFzZSBwcm92aWRlIHNvbWUNCj4gPj4gc2FtcGxlDQo+ID4+PiBjb21tYW5kcyBp biBjb21taXQgbG9nPw0KPiA+Pj4gVGhlIG1vcmUgc2FtcGxlcyBhcmUgYmV0dGVyLCBhcyBmYXIg YXMgSSByZW1lbWJlciB0aGVyZSB3YXMgYSB0ZXN0cG1kDQo+ID4+PiBkb2N1bWVudGF0aW9uIHRo YXQgZG9jdW1lbnRzIHRoZSBzYW1wbGUgdXNhZ2VzLCBjYW4geW91IHBsZWFzZSBjaGVjaw0KPiA+ PiBmb3IgaXQ/DQo+ID4NCj4gPiBbU25pcCAuLl0NCj4gPg0KPiA+Pj4NCj4gPj4+PiArLyoqDQo+ ID4+Pj4gKyAqIEB3YXJuaW5nDQo+ID4+Pj4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBzdHJ1 Y3R1cmUgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZQ0KPiA+Pj4+ICsgKg0KPiA+Pj4+ ICsgKiBGaWVsZCBkZXNjcmlwdGlvbiBmb3IgcGFja2V0IGZpZWxkLg0KPiA+Pj4+ICsgKi8NCj4g Pj4+PiArc3RydWN0IHJ0ZV9mbG93X2ZpZWxkX2RhdGEgew0KPiA+Pj4+ICsJZW51bSBydGVfZmxv d19maWVsZF9pZCBmaWVsZDsgLyoqPCBGaWVsZCBvciBtZW1vcnkgdHlwZSBJRC4gKi8NCj4gPj4+ PiArCXVuaW9uIHsNCj4gPj4+PiArCQlzdHJ1Y3Qgew0KPiA+Pj4+ICsJCQkvKiogRW5jYXBzdWxh dGlvbiBsZXZlbCBhbmQgdGFnIGluZGV4IG9yIGZsZXggaXRlbQ0KPiA+Pj4gaGFuZGxlLiAqLw0K PiA+Pj4+ICsJCQl1bmlvbiB7DQo+ID4+Pj4gKwkJCQlzdHJ1Y3Qgew0KPiA+Pj4+ICsJCQkJCS8q Kg0KPiA+Pj4+ICsJCQkJCSAqIFBhY2tldCBlbmNhcHN1bGF0aW9uIGxldmVsDQo+ID4+IGNvbnRh aW5pbmcNCj4gPj4+PiArCQkJCQkgKiB0aGUgZmllbGQgdG8gbW9kaWZ5Lg0KPiA+Pj4+ICsJCQkJ CSAqDQo+ID4+Pj4gKwkJCQkJICogLSBAcCAwIHJlcXVlc3RzIHRoZSBkZWZhdWx0DQo+ID4+IGJl aGF2aW9yLg0KPiA+Pj4+ICsJCQkJCSAqICAgRGVwZW5kaW5nIG9uIHRoZSBwYWNrZXQgdHlwZSwg aXQNCj4gPj4+PiArCQkJCQkgKiAgIGNhbiBtZWFuIG91dGVybW9zdCwgaW5uZXJtb3N0DQo+ID4+ IG9yDQo+ID4+Pj4gKwkJCQkJICogICBhbnl0aGluZyBpbiBiZXR3ZWVuLg0KPiA+Pj4+ICsJCQkJ CSAqDQo+ID4+Pj4gKwkJCQkJICogICBJdCBiYXNpY2FsbHkgc3RhbmRzIGZvciB0aGUNCj4gPj4+ PiArCQkJCQkgKiAgIGlubmVybW9zdCBlbmNhcHN1bGF0aW9uIGxldmVsLg0KPiA+Pj4+ICsJCQkJ CSAqICAgTW9kaWZpY2F0aW9uIGNhbiBiZSBwZXJmb3JtZWQNCj4gPj4+PiArCQkJCQkgKiAgIGFj Y29yZGluZyB0byBQTUQgYW5kIGRldmljZQ0KPiA+Pj4+ICsJCQkJCSAqICAgY2FwYWJpbGl0aWVz Lg0KPiA+Pj4+ICsJCQkJCSAqDQo+ID4+Pj4gKwkJCQkJICogLSBAcCAxIHJlcXVlc3RzIG1vZGlm aWNhdGlvbiB0byBiZQ0KPiA+Pj4+ICsJCQkJCSAqICAgcGVyZm9ybWVkIG9uIHRoZSBvdXRlcm1v c3QNCj4gPj4gcGFja2V0DQo+ID4+Pj4gKwkJCQkJICogICBlbmNhcHN1bGF0aW9uIGxldmVsLg0K PiA+Pj4+ICsJCQkJCSAqDQo+ID4+Pj4gKwkJCQkJICogLSBAcCAyIGFuZCBzdWJzZXF1ZW50IHZh bHVlcw0KPiA+Pj4gcmVxdWVzdA0KPiA+Pj4+ICsJCQkJCSAqICAgbW9kaWZpY2F0aW9uIHRvIGJl IHBlcmZvcm1lZCBvbg0KPiA+Pj4+ICsJCQkJCSAqICAgdGhlIHNwZWNpZmllZCBpbm5lciBwYWNr ZXQNCj4gPj4+PiArCQkJCQkgKiAgIGVuY2Fwc3VsYXRpb24gbGV2ZWwsIGZyb20NCj4gPj4+PiAr CQkJCQkgKiAgIG91dGVybW9zdCB0byBpbm5lcm1vc3QgKGxvd2VyIHRvDQo+ID4+Pj4gKwkJCQkJ ICogICBoaWdoZXIgdmFsdWVzKS4NCj4gPj4+PiArCQkJCQkgKg0KPiA+Pj4+ICsJCQkJCSAqIFZh bHVlcyBvdGhlciB0aGFuIEBwIDAgYXJlIG5vdA0KPiA+Pj4+ICsJCQkJCSAqIG5lY2Vzc2FyaWx5 IHN1cHBvcnRlZC4NCj4gPj4+PiArCQkJCQkgKg0KPiA+Pj4+ICsJCQkJCSAqIEBub3RlIHRoYXQg Zm9yIE1QTFMgZmllbGQsDQo+ID4+Pj4gKwkJCQkJICogZW5jYXBzdWxhdGlvbiBsZXZlbCBhbHNv IGluY2x1ZGUNCj4gPj4+PiArCQkJCQkgKiB0dW5uZWwgc2luY2UgTVBMUyBtYXkgYXBwZWFyIGlu DQo+ID4+Pj4gKwkJCQkJICogb3V0ZXIsIGlubmVyIG9yIHR1bm5lbC4NCj4gPj4+PiArCQkJCQkg Ki8NCj4gPj4+PiArCQkJCQl1aW50OF90IGxldmVsOw0KPiA+Pj4+ICsJCQkJCXVuaW9uIHsNCj4g Pj4+PiArCQkJCQkJLyoqDQo+ID4+Pj4gKwkJCQkJCSAqIFRhZyBpbmRleCBhcnJheSBpbnNpZGUN Cj4gPj4+PiArCQkJCQkJICogZW5jYXBzdWxhdGlvbiBsZXZlbC4NCj4gPj4+PiArCQkJCQkJICog VXNlZCBmb3IgVkxBTiwgTVBMUyBvcg0KPiA+PiBUQUcNCj4gPj4+IHR5cGVzLg0KPiA+Pj4+ICsJ CQkJCQkgKi8NCj4gPj4+PiArCQkJCQkJdWludDhfdCB0YWdfaW5kZXg7DQo+ID4+Pj4gKwkJCQkJ CS8qKg0KPiA+Pj4+ICsJCQkJCQkgKiBHZW5ldmUgb3B0aW9uIGlkZW50aWZpZXIuDQo+ID4+Pj4g KwkJCQkJCSAqIFJlbGV2YW50IG9ubHkgZm9yDQo+ID4+Pj4gKwkJCQkJCSAqDQo+ID4+PiBSVEVf RkxPV19GSUVMRF9HRU5FVkVfT1BUX1hYWFgNCj4gPj4+PiArCQkJCQkJICogbW9kaWZpY2F0aW9u IHR5cGUuDQo+ID4+Pj4gKwkJCQkJCSAqLw0KPiA+Pj4+ICsJCQkJCQlzdHJ1Y3Qgew0KPiA+Pj4+ ICsJCQkJCQkJLyoqDQo+ID4+Pj4gKwkJCQkJCQkgKiBHZW5ldmUgb3B0aW9uDQo+ID4+IHR5cGUu DQo+ID4+Pj4gKwkJCQkJCQkgKi8NCj4gPj4+PiArCQkJCQkJCXVpbnQ4X3QgdHlwZTsNCj4gPj4+ PiArCQkJCQkJCS8qKg0KPiA+Pj4+ICsJCQkJCQkJICogR2VuZXZlIG9wdGlvbg0KPiA+PiBjbGFz cy4NCj4gPj4+PiArCQkJCQkJCSAqLw0KPiA+Pj4+ICsJCQkJCQkJcnRlX2JlMTZfdCBjbGFzc19p ZDsNCj4gPj4+PiArCQkJCQkJfTsNCj4gPj4+PiArCQkJCQl9Ow0KPiA+Pj4+ICsJCQkJfTsNCj4g Pj4+PiArCQkJCXN0cnVjdCBydGVfZmxvd19pdGVtX2ZsZXhfaGFuZGxlDQo+ID4+ICpmbGV4X2hh bmRsZTsNCj4gPj4+PiArCQkJfTsNCj4gPj4+PiArCQkJLyoqIE51bWJlciBvZiBiaXRzIHRvIHNr aXAgZnJvbSBhIGZpZWxkLiAqLw0KPiA+Pj4+ICsJCQl1aW50MzJfdCBvZmZzZXQ7DQo+ID4+Pj4g KwkJfTsNCj4gPj4+PiArCQkvKioNCj4gPj4+PiArCQkgKiBJbW1lZGlhdGUgdmFsdWUgZm9yIFJU RV9GTE9XX0ZJRUxEX1ZBTFVFLCBwcmVzZW50ZWQNCj4gPj4gaW4NCj4gPj4+IHRoZQ0KPiA+Pj4+ ICsJCSAqIHNhbWUgYnl0ZSBvcmRlciBhbmQgbGVuZ3RoIGFzIGluIHJlbGV2YW50DQo+ID4+IHJ0 ZV9mbG93X2l0ZW1feHh4Lg0KPiA+Pj4+ICsJCSAqIFRoZSBpbW1lZGlhdGUgc291cmNlIGJpdGZp ZWxkIG9mZnNldCBpcyBpbmhlcml0ZWQgZnJvbQ0KPiA+Pj4+ICsJCSAqIHRoZSBkZXN0aW5hdGlv bidzIG9uZS4NCj4gPj4+PiArCQkgKi8NCj4gPj4+PiArCQl1aW50OF90IHZhbHVlWzE2XTsNCj4g Pj4+PiArCQkvKioNCj4gPj4+PiArCQkgKiBNZW1vcnkgYWRkcmVzcyBmb3IgUlRFX0ZMT1dfRklF TERfUE9JTlRFUiwgbWVtb3J5DQo+ID4+PiBsYXlvdXQNCj4gPj4+PiArCQkgKiBzaG91bGQgYmUg dGhlIHNhbWUgYXMgZm9yIHJlbGV2YW50IGZpZWxkIGluIHRoZQ0KPiA+Pj4+ICsJCSAqIHJ0ZV9m bG93X2l0ZW1feHh4IHN0cnVjdHVyZS4NCj4gPj4+PiArCQkgKi8NCj4gPj4+PiArCQl2b2lkICpw dmFsdWU7DQo+ID4+Pj4gKwl9Ow0KPiA+Pj4+ICt9Ow0KPiA+Pj4+ICsNCj4gPj4+Pg0KPiA+Pj4N Cj4gPj4+IEkgYW0gYXdhcmUgdGhhdCB5b3UgYXJlIGp1c3QgbW92aW5nIHRoZSBhYm92ZSBzdHJ1 Y3QsIGJ1dCBpdCBpcyBuZXN0ZWQgdG9vDQo+ID4+IG11Y2gNCj4gPj4+IHdoaWNoIGlzIG1ha2lu ZyBpdCBoYXJkIHRvIHJlYWQuDQo+ID4+Pg0KPiA+Pj4gQXMgeW91IGFyZSB0b3VjaGluZyBpdCwg Y2FuIHdlIGV4dHJhY3Qgc29tZSBzdHJ1Y3RzIGFuZCBtYWtlIHRoaXMgc3RydWN0DQo+IGxlc3MN Cj4gPj4+IG5lc3RlZCwgd2hhdCBkbyB5b3UgdGhpbms/DQo+ID4+PiBPZiBjb3Vyc2UgaXQgbmVl ZHMgdG8gYmUgZG9uZSBpbiBzZXBhcmF0ZSBwYXRjaCwgYXMgYSBwcmVwZXJhdGlvbi9jbGVhbi0N Cj4gdXANCj4gPj4gcGF0Y2gNCj4gPj4+IGJlZm9yZSBtb3ZpbmcgaXQgYXJvdW5kLg0KPiA+Pg0K PiA+PiBBZ3JlZSB0aGUgc3RydWN0IG1heWJlIGEgYml0IG5lc3RlZC4gQnV0IG5vdCBzdXJlIGhv dyBpdCB3YXMgZGlzY3Vzc2VkDQo+ID4+IGJlZm9yZSBkdXJpbmcgdGhlIGxhc3QgbmV3IG1lbWJl ciB3YXMgYWRkZWQuLi4gQE9yaSwgRG8geW91IGhhdmUgYW55DQo+IGlkZWENCj4gPj4gYWJvdXQg dGhpcz8NCj4gPj4NCj4gPg0KPiA+IEFzIGZhciBhcyBJIHJlbWVtYmVyLCBpdCB3YXMgbmV2ZXIg ZGlzY3Vzc2VkLA0KPiA+DQo+ID4gSSB0aGluayBmb3IgdGhpcyBzZXJpZXMgd2Ugc2hvdWxkIGtl ZXAgaXQgYXMgaXMsIGFuZCByZXZpc2UgaXQgbGF0ZXIuDQo+ID4NCj4gDQo+IElmIHlvdSBkb24n dCB3YW50IHRvIG1ha2UgdGhpcyBzZXQgbW9yZSBjb21wbGV4IHdpdGggdGhpcywgdGhhdCBpcyBP SyBhcw0KPiBsb25nIGFzIGl0IGlzIGFkZHJlc3NlZCBhdCBzb21lIHBvaW50Lg0KDQpBZ3JlZSwN CklmIHlvdSBoYXZlIHN1Z2dlc3Rpb25zLCBJIHdpbGwgYmUgbW9yZSB0aGFuIGhhcHB5IHRvIGhl YXIuDQoNCj4gDQo+ID4gQmVzdCwNCj4gPiBPcmkNCj4gPj4gQW5kIGlmIGl0IGlzIHJlYWxseSBl eHBlY3RlZCwgSSBiZWxpZXZlIGFub3RoZXIgbmV3IHRocmVhZCBpcyB3b3J0aCBmb3IgdGhhdA0K PiA+PiBjaGFuZ2UsICBiZXR0ZXIgbm90IGJlIGluIHRoYXQgc2VyaWVzLg0KPiA+PiBOZWVkIHRv IGRpc2N1c3MgdGhlIG5ldyBzdHJ1Y3QgbmFtZSBhbmQgb3RoZXIgc3R1ZmYuIFdoYXQgZG8geW91 IHRoaW5rPw0KPiA+Pg0KPiA+Pj4NCj4gPj4+IDwuLi4+DQo+ID4+Pg0KPiA+Pj4+ICsvKioNCj4g Pj4+PiArICoNCj4gPj4+PiArICogUlRFX0ZMT1dfSVRFTV9UWVBFX0NPTVBBUkUNCj4gPj4+PiAr ICoNCj4gPj4+PiArICogTWF0Y2hlcyB0aGUgcGFja2V0IHdpdGggY29tcGFyZSByZXN1bHQuDQo+ ID4+Pj4gKyAqDQo+ID4+Pj4gKyAqIFRoZSBvcGVyYXRpb24gbWVhbnMgYSBjb21wYXJlIHdpdGgg YiByZXN1bHQuDQo+ID4+Pj4gKyAqLw0KPiA+Pj4+ICtzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9jb21w YXJlIHsNCj4gPj4+PiArCWVudW0gcnRlX2Zsb3dfaXRlbV9jb21wYXJlX29wIG9wZXJhdGlvbjsg LyogVGhlIGNvbXBhcmUNCj4gPj4gb3BlcmF0aW9uLg0KPiA+Pj4gKi8NCj4gPj4+PiArCXN0cnVj dCBydGVfZmxvd19maWVsZF9kYXRhIGE7CQkgLyogRmllbGQgYmUgY29tcGFyZWQuICAqLw0KPiA+ Pj4+ICsJc3RydWN0IHJ0ZV9mbG93X2ZpZWxkX2RhdGEgYjsJCSAvKiBGaWVsZCBhcyBjb21wYXJh dG9yLiAqLw0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4gVmFyaWFibGUgbmFtZXMgJ2EnIGFuZCAnYicg YXJlIG5vdCBkZXNjcmlwdGl2ZSBhbHRob3VnaCBpdCBtYXkgYmUgT0sgc2luY2UNCj4gPj4gdGhl cmUgaXMNCj4gPj4+IG5vIHNpZ25pZmljYW5jZSB0byB0aGUgdmFsdWVzLCBidXQgb3RoZXIgb3B0 aW9uIGNhbiBiZSAnZmlyc3QnIGFuZCAnc2Vjb25kJywNCj4gPj4gYnV0DQo+ID4+PiBvdmVyYWxs IG5vdCBzdHJvbmcgb3Bpbmlvbi4NCj4gPj4NCj4gPj4gWWVzLCB0aGFua3MgZm9yIHRoZSBzdWdn ZXN0aW9uLCBpbiBmYWN0IHdlIGFsc28gZGlzY3Vzc2VkIGFib3V0IHRoZSBuYW1lIGENCj4gbG90 LA0KPiA+PiBmaW5hbGx5IHdlIGNob29zZSB0aGUgd2lkZWx5IHVzZWQgJ2EnIGFuZCAnYicNCj4g Pj4NCj4gPj4gVGhhbmtzDQo+ID4NCg0K