From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0E0ADA04B6; Thu, 17 Sep 2020 09:57:00 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BED681C1BA; Thu, 17 Sep 2020 09:56:58 +0200 (CEST) Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com [216.228.121.143]) by dpdk.org (Postfix) with ESMTP id 550C61C1AD for ; Thu, 17 Sep 2020 09:56:56 +0200 (CEST) Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Thu, 17 Sep 2020 00:55:26 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Thu, 17 Sep 2020 00:56:55 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Thu, 17 Sep 2020 00:56:55 -0700 Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 17 Sep 2020 07:56:45 +0000 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.176) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 17 Sep 2020 07:56:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nZm1T68RsMr5WNpDTUtDVeY/F5EOdPhu5jySMy8rhWOCxSu/rcnZcrTGITx8BDkuzcNunJb52gbA2FJm14jI8jznGbgTBGNG9SaBVb7A17qZsIA+/1TgTfin8g2jmYHnIG5BeINnawL0J5xtJyj0mWEqmkd9bYKbMG4lNrbfe1Pk7LsmJIFx9NS28c1lhd79YtpxOUwFcne2Rsxl7yBoyj39QE1ltuifDmhDr7kWq3tLWxJyVlz8A192XF5Op14u3MC655JvbJO90ssv5N3xt+2IRUmcqJ+Yt2NSXkThgAbUG4Yl24yvcdNDSR4utEak1Be+stPV407ckkvH9UVHuQ== 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=Ub5uPJQYr6JsSSokxQapTJvwCuPxdkbRWXURzstt1bI=; b=VYa2oA7GgFKAZVDO3yczUewIDoVO5GrRH9dJP40ln3jvP8ov11Aj2WI9yNH4GbiLjFzx0JI+ORaaV9Lev7XPYDPPQg/uOAHAdE3z/8mRUb9QG0L5Wq3C7+uetHvR/TmXN1a1ESgHQyV5E6Pim8JygLrlq68hpmHvp6BzVFGOrXeaPyRh0dZpE3XNl5zO9Qzv7rj6SytCGhoFAUwyLy6IDO/D9QyPUPepQW7aYYkm317N8uTYQrGnY8SLu5bH5U67sooyYWc1cJjpD8wMWd+ytWxjleZbwcad3cv/9pcG5U6fiFGRD7f7Mv4qNV+2AoTR0jtiiErTY75sQxBvvh81CQ== 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 BY5PR12MB3668.namprd12.prod.outlook.com (2603:10b6:a03:194::25) by BYAPR12MB3271.namprd12.prod.outlook.com (2603:10b6:a03:138::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.19; Thu, 17 Sep 2020 07:56:44 +0000 Received: from BY5PR12MB3668.namprd12.prod.outlook.com ([fe80::c876:5bb9:796f:9cbe]) by BY5PR12MB3668.namprd12.prod.outlook.com ([fe80::c876:5bb9:796f:9cbe%4]) with mapi id 15.20.3391.011; Thu, 17 Sep 2020 07:56:44 +0000 From: Gregory Etelson To: Andrew Rybchenko , Ajit Khaparde CC: dpdk-dev , Matan Azrad , Raslan Darawsheh , Ori Kam , Ori Kam , NBU-Contact-Thomas Monjalon , Ferruh Yigit Thread-Topic: [dpdk-dev] [PATCH v2 1/4] ethdev: allow negative values in flow rule types Thread-Index: AQHWhhz62h5Jw4vvtUe9TAIQd5XF0KlpJz2AgABF/YCAABsUwIACBVdQgADjiACAABIEIA== Date: Thu, 17 Sep 2020 07:56:43 +0000 Message-ID: References: <20200625160348.26220-1-getelson@mellanox.com> <20200908201552.14423-1-getelson@nvidia.com> <20200908201552.14423-2-getelson@nvidia.com> <599184f9-72ce-d0f1-a586-d0182888497e@solarflare.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: solarflare.com; dkim=none (message not signed) header.d=none;solarflare.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [176.230.224.203] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3cccfa6c-22f0-401c-80c7-08d85adf383a x-ms-traffictypediagnostic: BYAPR12MB3271: 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:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WDgL8beOHsE1UmZT/K/MMkDd305qBhWNaMmcVB5cZtQ9oB9p81OZUedSME1BiTcbb0MiSyrW3ZD3cfR0+HILj24Wf6k14+oXVVowb1g3B2sQ0bkLQ2kRsDiEl0c0nSEvAnGsEUdRFNyvO0Fd/Np4tcGO4NyLZxY608mA6bNC8qS7zLpe095vqIKNSJ2jCklrGJggjnoBA2SpeOaBdzdykpW32fP6n3NFdERB8pXVmriACGbGUJmbGSXRHIREO124Y4rysfQV2B8UnCmwKj+QDKc2N+dBKz9bEG+T9l2kGIdeY6KoUARBdqphl7Ri2t+lr5qkGQk0U7rtMlk0Lg82Lg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR12MB3668.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(39860400002)(366004)(136003)(376002)(346002)(8676002)(186003)(7696005)(316002)(2906002)(6506007)(53546011)(55016002)(26005)(8936002)(9686003)(478600001)(66446008)(54906003)(71200400001)(110136005)(86362001)(33656002)(52536014)(5660300002)(4326008)(64756008)(66556008)(66946007)(83380400001)(66476007)(76116006); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: XE9381KsRMgPsiFMjnZjbngsWtrEECIYuuGtu2gqpOGNyNqrvG5fCw2yoa4U/j2Wxi2V+l/77TUa69U4dBfUGyuTWOlCAOchaHTe0lEEHzk+Zj0HH7gyR+iu5DukEPPPTQYJtQ1+7+zW6ORx8YfdEFV8LV4gDiP0fXXi6AC4LmLZvWRv6OzvoDgPHgOvq4LXmudzKUrK8IlBY3PbYJb4MzW4WPNyFc9/ejtYAjddeAe1iBYAH7dg22Zbg5cNoVnVca7jSAC4JAx50vyZYV4NHI+Y8jKDpHCYgkFlqdtwViFEaF7jgjcirWAUXynH3jkSMMXcbNDONnlZF7Ju1AXD8KKOAhmBC1ykzIXmNoZKU9yHAoB2ZrcAvKHSUaFwSj3mmfLbwqU5+qOGE9kWc4pWFnjGSOjwtScgV2gktrq5l+hUi9mkAkpWRC8QJ7rc2QXK4481HcfdOUUyUq3FgijP8wkn3r+NzZcje4E3sTl/JBT1mgPiXNXfAruhc7sa0gh8KM70ha2JeZIjy27TZpeFoy76O1MPADLyBCDWcXWjG1+DHVVzakmQvWuLoOU/246ZJjNCxrZAVj3MA0TSlSmSWkM6e6zH57PemnHy70mBtSd7X+5AoFo9VYzgz0BMI6zEBVF+PvHIKafG8kYTCH5k7A== 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: BY5PR12MB3668.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3cccfa6c-22f0-401c-80c7-08d85adf383a X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Sep 2020 07:56:43.9640 (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: Gp0kAZcDocRTUxgmZGshfrZXpGlTQzmkaSsg8Ts7lyVh0jLc+poJXd262Hahp4c9V0FX0yLoxjwSMYn31pytKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3271 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1600329327; bh=Ub5uPJQYr6JsSSokxQapTJvwCuPxdkbRWXURzstt1bI=; 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-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=ITGd6xN+3od0td/9D9CkLb6m2W4oJj/vbSvCz/H5nGBAxjs/0bjYYAZDdB4r0Rzow xZEPuEfhMb5nRBemv1ZxtOIuAd/QVAAlwFW+7E4YjW4FJrsE4gWpMEHocBNoHdxeX2 uw4n/v0K0oFcEtjvRODucG1lRUlIawGLKawssSuoXMiw3JT8Fzi8mA27g+QkIE4+gL hXJHr2F3MMiQaiJe0A9IZZLeAqHfWImebwLCjTPA1jBl13Tz0h+zAqFatBeZVeUP5c LaxjF5nrWK2weJvaxG3A6f9+2+WmsHzoCf6WRd6yX1XZ2QNAQK9cWDAYGodU5AYbmF aAVeztntPNmgg== Subject: Re: [dpdk-dev] [PATCH v2 1/4] ethdev: allow negative values in flow rule types X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" PiBPbiA5LzE2LzIwIDg6MjEgUE0sIEdyZWdvcnkgRXRlbHNvbiB3cm90ZToNCj4gPiBGcm9tOiBH cmVnb3J5IEV0ZWxzb24NCj4gPiBTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMTUsIDIwMjAgMTM6 MjcNCj4gPiBUbzogQW5kcmV3IFJ5YmNoZW5rbyA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT47 IEFqaXQgS2hhcGFyZGUNCj4gPiA8YWppdC5raGFwYXJkZUBicm9hZGNvbS5jb20+DQo+ID4gQ2M6 IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBNYXRhbiBBenJhZCA8bWF0YW5AbnZpZGlhLmNvbT47 IFJhc2xhbg0KPiA+IERhcmF3c2hlaCA8cmFzbGFuZEBudmlkaWEuY29tPjsgT3JpIEthbSA8b3Jp a2FAbnZpZGlhLmNvbT47IEdyZWdvcnkNCj4gPiBFdGVsc29uIDxnZXRlbHNvbkBtZWxsYW5veC5j b20+OyBPcmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+Ow0KPiA+IE5CVS1Db250YWN0LVRob21h cyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEZlcnJ1aCBZaWdpdA0KPiA+IDxmZXJy dWgueWlnaXRAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIFtQQVRDSCB2 MiAxLzRdIGV0aGRldjogYWxsb3cgbmVnYXRpdmUgdmFsdWVzDQo+ID4gaW4gZmxvdyBydWxlIHR5 cGVzDQo+ID4NCj4gPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjIgMS80XSBldGhk ZXY6IGFsbG93IG5lZ2F0aXZlIHZhbHVlcw0KPiA+IGluIGZsb3cgcnVsZSB0eXBlcyBPbiA5LzE1 LzIwIDc6MzYgQU0sIEFqaXQgS2hhcGFyZGUgd3JvdGU6DQo+ID4gT24gVHVlLCBTZXAgOCwgMjAy MCBhdCAxOjE2IFBNIEdyZWdvcnkgRXRlbHNvbg0KPiA8bWFpbHRvOmdldGVsc29uQG52aWRpYS5j b20+IHdyb3RlOg0KPiA+IEZyb206IEdyZWdvcnkgRXRlbHNvbiA8bWFpbHRvOmdldGVsc29uQG1l bGxhbm94LmNvbT4NCj4gPg0KPiA+IFJURSBmbG93IGl0ZW1zICYgYWN0aW9ucyB1c2UgcG9zaXRp dmUgdmFsdWVzIGluIGl0ZW0gJiBhY3Rpb24gdHlwZS4NCj4gPiBOZWdhdGl2ZSB2YWx1ZXMgYXJl IHJlc2VydmVkIGZvciBQTUQgcHJpdmF0ZSB0eXBlcy4gUE1EIGl0ZW1zICYNCj4gPiBhY3Rpb25z IHVzdWFsbHkgYXJlIG5vdCBleHBvc2VkIHRvIGFwcGxpY2F0aW9uIGFuZCBhcmUgbm90IHVzZWQg dG8NCj4gPiBjcmVhdGUgUlRFIGZsb3dzLg0KPiA+DQo+ID4gVGhlIHBhdGNoIGFsbG93cyBhcHBs aWNhdGlvbnMgd2l0aCBhY2Nlc3MgdG8gUE1EIGZsb3cgaXRlbXMgJiBhY3Rpb25zDQo+ID4gYWJp bGl0eSB0byBpbnRlZ3JhdGUgUlRFIGFuZCBQTUQgaXRlbXMgJiBhY3Rpb25zIGFuZCB1c2UgdGhl bSB0bw0KPiA+IGNyZWF0ZSBmbG93IHJ1bGUuDQo+ID4gV2hpbGUgd2UgYXJlIHJldmlld2luZyB0 aGlzLCBzb21lIHF1aWNrIGNvbW1lbnQvcXVlc3Rpb25zLi4NCj4gPg0KPiA+IERvZXNuJ3QgdGhp cyBnbyBhZ2FpbnN0IHRoZSBhYm92ZSAiUE1EIGl0ZW1zICYgYWN0aW9ucyB1c3VhbGx5IGFyZSBu b3QNCj4gPiBleHBvc2VkIHRvIGFwcGxpY2F0aW9uIGFuZCBhcmUgbm90IHVzZWQgdG8gY3JlYXRl IFJURSBmbG93cy4iPw0KPiA+IFdoeSB3b3VsZCBhbiBhcHBsaWNhdGlvbiB0cnkgdG8gdXNlIFBN RCBzcGVjaWZpYyBwcml2YXRlIHR5cGVzPw0KPiA+IElzbid0IHRoaXMgY29udHJhcnkgdG8gaGF2 aW5nIGEgc3RhbmRhcmQgQVBJPw0KPiA+DQo+ID4gKzENCj4gPg0KPiA+IEkgd291bGQgbGlrZSB0 byBjbGFyaWZ5IHRoZSBwdXJwb3NlIGFuZCB1c2Ugb2YgcHJpdmF0ZSBlbGVtZW50cyBwYXRjaC4N Cj4gPiBUaGF0IHBhdGNoIGlzIHByZXJlcXVpc2l0ZSBmb3IgIFtQQVRDSCB2MiAyLzRdIGV0aGRl djogdHVubmVsIG9mZmxvYWQgbW9kZWwNCj4gcGF0Y2guDQo+ID4gVGhlIHR1bm5lbCBvZmZsb2Fk IEFQSSBwcm92aWRlcyB1bmlmaWVkIGhhcmR3YXJlIGluZGVwZW5kZW50IG1vZGVsIHRvDQo+ID4g b2ZmbG9hZCB0dW5uZWxlZCBwYWNrZXRzLCBtYXRjaCBvbiBwYWNrZXQgaGVhZGVycyBpbiBoYXJk d2FyZSBhbmQgdG8NCj4gcmVzdG9yZSBvdXRlciBoZWFkZXJzIG9mIHBhcnRpYWxseSBvZmZsb2Fk ZWQgcGFja2V0cy4NCj4gPiBUaGUgbW9kZWwgaW1wbGVtZW50YXRpb24gZGVwZW5kcyBvbiBoYXJk d2FyZSBjYXBhYmlsaXRpZXMuIEZvcg0KPiA+IGV4YW1wbGUsICBpZiBoYXJkd2FyZSBzdXBwb3J0 cyBpbm5lciBuYXQsIGl0IGNhbiBkbyBuYXQgZmlyc3QgYW5kDQo+ID4gcG9zdHBvbmUgZGVjYXAg dG8gdGhlIGVuZCwgd2hpbGUgb3RoZXIgaGFyZHdhcmUgdGhhdCBjYW5ub3QgZG8gaW5uZXINCj4g PiBuYXQgbXVzdCBkZWNhcCBmaXJzdCBhbmQgcnVuIG5hdCBhY3Rpb25zIGFmdGVyd2FyZHMuIFN1 Y2ggaGFyZHdhcmUgaGFzDQo+ID4gdG8gc2F2ZSBvdXRlciBoZWFkZXIgaW4gc29tZSBoYXJkd2Fy ZSBjb250ZXh0LCByZWdpc3RlciBvciBtZW1vcnksIGZvcg0KPiBhcHBsaWNhdGlvbiB0byByZXN0 b3JlIGEgcGFja2V0IGxhdGVyLCBpZiBuZWVkZWQuIEFsc28sIGluIHRoaXMgY2FzZSB0aGUgZXhh Y3QNCj4gc29sdXRpb24gZGVwZW5kcyBvbiBQTUQgYmVjYXVzZSBvZiBsaW1pdGVkIG51bWJlciBv ZiBoYXJkd2FyZSBjb250ZXh0cy4NCj4gPiBBbHRob3VnaCBhcHBsaWNhdGlvbiB3b3JraW5nIHdp dGggREtESyBjYW4gaW1wbGVtZW50IGFsbCB0aGVzZQ0KPiA+IHJlcXVpcmVtZW50cyB3aXRoIGV4 aXN0aW5nIGZsb3cgcnVsZXMgQVBJLCBpdCB3aWxsIGhhdmUgdG8gYWRkcmVzcyBlYWNoDQo+IGhh cmR3YXJlIHNwZWNpZmljYXRpb25zIHNlcGFyYXRlbHkuDQo+ID4gVG8gc29sdmUgdGhpcyBsaW1p dGF0aW9uIHdlIHNlbGVjdGVkIGRlc2lnbiB3aGVyZSBhcHBsaWNhdGlvbiBxdWlyZXMNCj4gPiBQ TUQgZm9yIGFjdGlvbnMsIG9yIGl0ZW1zLCB0aGF0IGFyZSBvcHRpbWFsIGZvciBhIGhhcmR3YXJl IHRoYXQgUE1EDQo+ID4gcmVwcmVzZW50cy4gUmVzdWx0IGNhbiBiZSBhIG1peHR1cmUgb2YgUlRF IGFuZCBQTUQgcHJpdmF0ZSBlbGVtZW50cyAtDQo+ID4gaXQncyB1cCB0byBQTUQgaW1wbGVtZW50 YXRpb24uIEFwcGxpY2F0aW9uIHBhc3NlcyB0aGVzZSBlbGVtZW50cyBiYWNrIHRvDQo+IFBNRCBh cyBhIGZsb3cgcnVsZSByZWNpcGUgdGhhdCdzIGFscmVhZHkgb3B0aW1hbCBmb3IgdW5kZXJseWlu ZyBoYXJkd2FyZS4NCj4gPiBJZiBQTUQgaGFzIHByaXZhdGUgZWxlbWVudHMgaW4gc3VjaCBydWxl IGl0ZW1zIG9yIGFjdGlvbnMsIHRoZXNlIHByaXZhdGUNCj4gZWxlbWVudHMgbXVzdCBub3QgYmUg cmVqZWN0ZWQgYnkgUlRFIGxheWVyLg0KPiA+DQo+ID4gSSBob3BlIGl0IGhlbHBzIHRvIHVuZGVy c3RhbmQgd2hhdCB0aGlzIG1vZGVsIGlzIHRyeWluZyB0byBhY2hpZXZlLg0KPiA+IERpZCB0aGF0 IGNsYXJpZnkgeW91ciBjb25jZXJucyA/DQo+IA0KPiBUaGVyZSBpcyBhIHZlcnkgc2ltcGxlIHF1 ZXN0aW9uIHdoaWNoIEkgY2FuJ3QgYW5zd2VyIGFmdGVyIHJlYWRpbmcgaXQuDQo+IFdoeSB0aGVz ZSBQTUQgc3BlY2lmaWMgYWN0aW9ucyBhbmQgaXRlbXMgZG8gbm90IGJpbmQgYXBwbGljYXRpb24g dG8gYQ0KPiBzcGVjaWZpYyB2ZW5kb3IuIElmIGl0IGJpbmRzLCBpdCBzaG91bGQgYmUgY2xlYXJs eSBzdGF0ZWQgaW4gdGhlIGRlc2NyaXB0aW9uLiBJZiBubywNCj4gSSdkIGxpa2UgdG8gdW5kZXJz dGFuZCB3aHkgc2luY2Ugb3BhcXVlIGFjdGlvbnMvaXRlbXMgYXJlIG5vdCByZWFsbHkgd2VsbA0K PiBkZWZpbmVkIGFuZCBoYXJkbHkgcG9ydGFibGUgYWNyb3NzIHZlbmRvcnMuDQoNClR1bm5lbCBP ZmZsb2FkIEFQSSBkb2VzIG5vdCBiaW5kIGFwcGxpY2F0aW9uIHRvIGEgdmVuZG9yLg0KT25lIG9m IHRoZSBtYWluIGdvYWxzIG9mIHRoYXQgbW9kZWwgaXMgdG8gcHJvdmlkZSBhcHBsaWNhdGlvbiB3 aXRoIHZlbmRvci9oYXJkd2FyZSBpbmRlcGVuZGVudCBzb2x1dGlvbi4NClBNRCB0cmFuc2ZlciB0 byBhcHBsaWNhdGlvbiBhbiBhcnJheSBvZiBpdGVtcy4gQXBwbGljYXRpb24gcGFzc2VzIHRoYXQg YXJyYXkgYmFjayB0byBQTUQgYXMgb3BhcXVlIGRhdGEsDQppbiBydGVfZmxvd19jcmVhdGUoKSwg d2l0aG91dCByZXZpZXdpbmcgdGhlIGFycmF5IGNvbnRlbnQuIFRoZXJlZm9yZSwgaWYgdGhlcmUg YXJlIGludGVybmFsIFBNRCBhY3Rpb25zIGluIHRoZSBhcnJheSwNCnRoZXkgaGF2ZSBubyBlZmZl Y3Qgb24gYXBwbGljYXRpb24uDQpDb25zaWRlciB0aGUgZm9sbG93aW5nIGFwcGxpY2F0aW9uIGNv ZGUgZXhhbXBsZToNCg0KLyogZ2V0IFBNRCBhY3Rpb25zIHRoYXQgaW1wbGVtZW50IHR1bm5lbCBv ZmZsb2FkICovDQpydGVfdHVubmVsX2RlY2FwX3NldCgmdHVubmVsLCAmcG1kX2FjdGlvbnMsIHBt ZF9hY3Rpb25zX251bSwgZXJyb3IpOw0KDQovKiBjb21waWxlIGFuIGFycmF5IG9mIGFjdGlvbnMg dG8gY3JlYXRlIGZsb3cgcnVsZSAqLw0KbWVtY3B5KGFjdGlvbnMsIHBtZF9hY3Rpb25zLCAgcG1k X2FjdGlvbnNfbnVtICogc2l6ZW9mKGFjdGlvbnNbMF0pKTsNCm1lbWNweShhY3Rpb25zICsgcG1k X2FjdGlvbnNfbnVtLCBhcHBfYWN0aW9ucywgYXBwX2FjdGlvbnNfbnVtICogc2l6ZW9mKGFjdGlv bnNbMF0pKTsNCg0KLyogY3JlYXRlIGZsb3cgcnVsZSovDQpydGVfZmxvd19jcmVhdGUocG9ydF9p ZCwgYXR0ciwgcGF0dGVybiwgYWN0aW9ucywgZXJyb3IpOw0KDQp2ZW5kb3IgQSBwcm92aWRlcyBw bWRfYWN0aW9uc19BID0ge3ZhMSwgdmEyIOKApi4gdmFOfQ0KdmVuZG9yIEIgcHJvdmlkZXMgcG1k X2FjdGlvbnNfQiA9IHt2YjF9DQpSZWdhcmRsZXNzIG9mIHBtZF9hY3Rpb25zIGNvbnRlbnQsIGFw cGxpY2F0aW9uIGNvZGUgd2lsbCBub3QgY2hhbmdlLg0KSG93ZXZlciwgZWFjaCBQTUQgd2lsbCBy ZWNlaXZlIGV4YWN0LCBoYXJkd2FyZSByZWxhdGVkLCBhY3Rpb25zIGZvciB0dW5uZWwgb2ZmbG9h ZC4NCg==