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 1783DA00BE; Tue, 7 Jul 2020 19:24:13 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A121D1DE90; Tue, 7 Jul 2020 19:24:12 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130055.outbound.protection.outlook.com [40.107.13.55]) by dpdk.org (Postfix) with ESMTP id 5D7B41DE8D for ; Tue, 7 Jul 2020 19:24:10 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ue+BmJrQwAzCbd35cOf54yHVLlBjDtrm4j4zA6fNKN/PFIR9lsB3+Ir8iR7SVaW9/k+spO/2pjVGGuPEXUKqn6VkV18dpH79ynYd3HSs2mrlg0WAQ/tGpK7aq0AWMhkZ8W8A6b/eKA6RyPO06DcVk1M5cXFrY+voX+NjiGpCCdaHdXMh86zpJMsBF2w4JHAWvy2ifnkp1v5cYDrqKw+o61KHrMDpVDMh2nxiN3WRo67RH+zAn6RKx0CuocwSKarRHlZmu62BcwO0ypR7lCr9eDdrCmeIKo+gTzXgCLdzPZAiDwd4tpGC0xvTRa4oQo361vtc7A1Gprgb3XUUAnxA8g== 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=K3t6SEEqNKbAk6eon29aVopho6BKaLiei2OObxnySwk=; b=L4Sn1nDwMqgQZfAKbwh11eengRCsUsXDvMYlZv6zmWLESFL27oavGP657Ua/AwB/whvZMo64DNMuDe1+lJjn0hkjb5wUgVYEFaOyJcZ21UCw+ninZPKO3TTu9HmkRvkcFmOcsPbmYpmWFtsmyC3odF/crmw4st29NakU/Xnk+aENaMs/tfZ6DoqlFALTGvFn1WhISodYRdLFLT7Wjz6PDpjjKEONifkNtT9Mq4KD/9bkrCiN9efLw+g83BsWqjikXPorMEe3QclT9B4shvWDQdkhHfqhVCsEaNtGWDGSsWV/R9l2AdfuOPrYj7z61HmMnM0NExX4sKsJTQ/ZFwjkmQ== 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=K3t6SEEqNKbAk6eon29aVopho6BKaLiei2OObxnySwk=; b=sSEoHypqOy+y4Ty1Q0nNCEhkps3kRJZgXMqDZOool5XGrJRYNn8YLrl8NyDAbkzzrNm62b5cB42BlowhFHyaxcDZhzlEHflThNZzPLYEmYZ4kvMTZzvtg7K4O2TjfQ+jkj9+ZZn9QGzGuRpZtuQVynA5yeoMGHl0qa8j9YxLEHk= Received: from AM6PR05MB5176.eurprd05.prod.outlook.com (2603:10a6:20b:63::30) by AM7PR05MB6948.eurprd05.prod.outlook.com (2603:10a6:20b:1a9::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Tue, 7 Jul 2020 17:24:09 +0000 Received: from AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::9024:accb:4d6b:805f]) by AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::9024:accb:4d6b:805f%3]) with mapi id 15.20.3153.029; Tue, 7 Jul 2020 17:24:09 +0000 From: Ori Kam To: Ferruh Yigit , Jerin Jacob , Andrey Vesnovaty CC: Andrey Vesnovaty , Thomas Monjalon , Andrew Rybchenko , dpdk-dev Thread-Topic: [dpdk-dev] [PATCH] add flow shared action API Thread-Index: AQHWUGkQL3wvR30Pj0qctUDdToyRSqj19SQAgAFAmICAACgNAIABbUtwgAF7yQCAADVjIIAAFrWAgADZbYCAAD4lkIAAmTmAgAAey8A= Date: Tue, 7 Jul 2020 17:24:08 +0000 Message-ID: References: <20200702120511.16315-1-andreyv@mellanox.com> <82a903f4-fb37-4c58-5449-31401b7dfd04@intel.com> In-Reply-To: <82a903f4-fb37-4c58-5449-31401b7dfd04@intel.com> Accept-Language: en-US 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: [147.236.152.129] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 0773a652-cbec-4241-59fe-08d8229a8eea x-ms-traffictypediagnostic: AM7PR05MB6948: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0457F11EAF x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VBmO2PGDAPAX6YsB4GHoDhxR0JSt9ODOqyrgMch0OcUruGe8zIM0whQbQ77Rl5DFRVD1tnZ0SPeYbOT0fod8lkS0Gqz1gAQnBePh6tE9IW8lkd/KWa0WDJfLuID/S5VDc9Ua/IrD+POGE8+oL6fxii73VqMohoACTUd4+O/9R9Ezg4woQK0CYmJc6VK+HOSLy+Qwu4S+ZS4WAFS65TTntrYomaaNuWSomu9psHLzPHWSrBWyxjvT8grd9pUYz1gdRk1aoTGF+baVvVCP6S5ZuF4gmiZbIbKwCxEO5TblKbEUjCIKM00NeL/IWUv4e2Sm/aJ3RrVlfQ2oLi18bNjne477QVmZu/yvv+Czqa/t+cGya72lmbjNnHC37BHlO1Jd x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR05MB5176.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(376002)(396003)(366004)(39850400004)(136003)(52536014)(2906002)(83380400001)(66446008)(76116006)(66946007)(66476007)(64756008)(8936002)(66556008)(8676002)(71200400001)(55016002)(9686003)(33656002)(4326008)(186003)(5660300002)(110136005)(6506007)(316002)(26005)(86362001)(478600001)(54906003)(53546011)(7696005)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: V8ZJo2RZGUEZbjq2hEvqy5tv1ot7w5EK7P9UlEnEzVuk4sWkWUZ6b4JtUpRV0otvaXQvcqjSYNVrrE9cRLUtr+awT5z2xVgkeZowuSmQzfrjnHATnEojrWBqWOUYHsbjDLmwKZlYhqyObL8050SCPupCeQ6asoTTJXGouDq1gnPQ7gBRbl7UbaxiENwGgAacBXggvfvPAqNaHqzG4+ENTs5MaT2+/hWn+QDaAP9tQICeogd0KRcFZi1Hp7nVfUPY5Tna1YPXVPWYPkleDq1I8pHYtf+hUfMq7feY0P/aPElYabc/iVAuyc7CQRW5VAJpCoY7l3GY1qr9BH2nVNC0wT44gu8nSMFZAhIuPxnbPI1EtiicJhdcyKPftuliSeh/vA6l3SqLG+1wC7RDiegu6XNauMLHG2ONsxkIFKsTc/J0NwfYYRuT6ngRQA0Jrq0l/GXf4kUhPykpG5fvfVEFhkfAyHHCPQcen8tmjwvLsHWgHzyYFhOl59/pVepDShf8 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM6PR05MB5176.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0773a652-cbec-4241-59fe-08d8229a8eea X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jul 2020 17:24:08.9107 (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: d7kJWl7aKxV4QkIp7SfeDbsqJWcLIW5j5XWRfkz2AFL8uyhKt7n6XmBOlhx9x328fAyBX/YXQcomchs/ApUOyg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR05MB6948 Subject: Re: [dpdk-dev] [PATCH] add flow shared action API 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" SGkgRmVycnVoLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEZlcnJ1 aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4NCj4gDQo+IE9uIDcvNy8yMDIwIDc6MjEg QU0sIE9yaSBLYW0gd3JvdGU6DQo+ID4gSGkgSmVyaW4sDQo+ID4gIFRoYW5rcyB5b3UgZm9yIHlv dXIgcXVpY2sgcmVwbHkuDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g Pj4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPj4gU3ViamVj dDogUmU6IFtkcGRrLWRldl0gW1BBVENIXSBhZGQgZmxvdyBzaGFyZWQgYWN0aW9uIEFQSQ0KPiA+ Pg0KPiA+PiBPbiBNb24sIEp1bCA2LCAyMDIwIGF0IDc6MDIgUE0gQW5kcmV5IFZlc25vdmF0eQ0K PiA+PiA8YW5kcmV5LnZlc25vdmF0eUBnbWFpbC5jb20+IHdyb3RlOg0KPiA+Pj4NCj4gPj4+IEhp LCBKZXJpbi4NCj4gPj4NCj4gPj4gSGkgT3JpIGFuZCBBbmRyZXksDQo+ID4+DQo+ID4+DQo+ID4+ Pg0KPiA+Pj4gUGxlYXNlIHNlZSBiZWxvdyBPcmkncyBzdWdnZXN0aW9uIGJlbG93IHRvIGltcGxl bWVudCB5b3VyDQo+ID4+IHJ0ZV9mbG93X2FjdGlvbl91cGRhdGUoKSBpZGVhDQo+ID4+PiB3aXRo IHNvbWUgQVBJIGNoYW5nZXMgb2YgcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl94eHggQVBJIGNoYW5n ZXMuDQo+ID4+Pg0KPiA+Pj4gT24gTW9uLCBKdWwgNiwgMjAyMCBhdCAzOjI4IFBNIE9yaSBLYW0g PG9yaWthQG1lbGxhbm94LmNvbT4gd3JvdGU6DQo+ID4+Pj4NCj4gPj4+PiBIaSBKZXJpbiwNCj4g Pj4+Pg0KPiA+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+PiBGcm9tOiBK ZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiA+Pj4+PiBTZW50OiBNb25kYXks IEp1bHkgNiwgMjAyMCAxMjowMCBQTQ0KPiA+Pj4+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBb UEFUQ0hdIGFkZCBmbG93IHNoYXJlZCBhY3Rpb24gQVBJDQo+ID4+Pj4+DQo+ID4+Pj4+IE9uIFN1 biwgSnVsIDUsIDIwMjAgYXQgMzo1NiBQTSBPcmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+IHdy b3RlOg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEhpIEplcmluLA0KPiA+Pj4+Pj4gUFNCLA0KPiA+Pj4+ Pj4NCj4gPj4+Pj4+IFRoYW5rcywNCj4gPj4+Pj4+IE9yaQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+PiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4+IEZyb206IEplcmluIEphY29iIDxq ZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4+Pj4+Pj4gU2VudDogU2F0dXJkYXksIEp1bHkgNCwg MjAyMCAzOjMzIFBNDQo+ID4+Pj4+Pj4gZHBkay1kZXYgPGRldkBkcGRrLm9yZz4NCj4gPj4+Pj4+ PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0hdIGFkZCBmbG93IHNoYXJlZCBhY3Rpb24g QVBJDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBPbiBTYXQsIEp1bCA0LCAyMDIwIGF0IDM6NDAgUE0g QW5kcmV5IFZlc25vdmF0eQ0KPiA+Pj4+Pj4+IDxhbmRyZXkudmVzbm92YXR5QGdtYWlsLmNvbT4g d3JvdGU6DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IFRoYW5rcywNCj4gPj4+ Pj4+Pj4NCj4gPj4+Pj4+Pj4gQW5kcmV5IFZlc25vdmF0eQ0KPiA+Pj4+Pj4+PiAoKzk3Mik1MjY3 NzU1MTIgfCBTa3lwZTogYW5kcmV5Nzc1NTEyDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+ Pj4NCj4gPj4+Pj4+IFsuLk5pcCAuLl0NCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4+IEkgbmVlZCB0byBt ZW50aW9uIHRoZSBsb2NraW5nIGlzc3VlIG9uY2UgYWdhaW4uDQo+ID4+Pj4+Pj4+IElmIHRoZXJl IGlzIGEgbmVlZCB0byBtYWludGFpbiAic2hhcmVkIHNlc3Npb24iIGluIHRoZSBnZW5lcmljDQo+ ID4+IHJ0ZV9mbG93DQo+ID4+Pj4+IGxheWVyDQo+ID4+Pj4+Pj4gYWxsDQo+ID4+Pj4+Pj4+IGNh bGxzIHRvIGZsb3dfY3JlYXRlKCkgd2l0aCBzaGFyZWQgYWN0aW9uICYgYWxsIGRlbGV0ZSBuZWVk IHRvIHRha2UNCj4gPj4+Pj4+PiBzaGFyZWRzZXNzaW9uDQo+ID4+Pj4+Pj4+IG1hbmFnZW1lbnQg bG9ja3MgYXQgbGVhc3QgZm9yIHZlcmlmaWNhdGlvbi4gTG9jayBwYXJ0aXRpb25pbmcgaXMgYWxz bw0KPiA+PiBiaXQNCj4gPj4+Pj4+PiBwcm9ibGVtYXRpYw0KPiA+Pj4+Pj4+PiBzaW5jZSBvbmUg ZmxvdyBtYXkgaGF2ZSBtb3JlIHRoYW4gb25lIHNoYXJlZCBhY3Rpb24uDQo+ID4+Pj4+Pj4NCj4g Pj4+Pj4+PiBUaGVuLCBJIHRoaW5rIGJldHRlciBhcHByb2FjaCB3b3VsZCBiZSB0byBpbnRyb2R1 Y2UNCj4gPj4+Pj4+PiBydGVfZmxvd19hY3Rpb25fdXBkYXRlKCkgcHVibGljDQo+ID4+Pj4+Pj4g QVBJIHdoaWNoIGNhbiBlaXRoZXIgdGFrZSAiY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbiBb XSIgT1Igc2hhcmVkDQo+ID4+Pj4+Pj4gY29udGV4dCBJRCwgdG8gY2F0ZXIgdG8NCj4gPj4+Pj4+ PiBib3RoIGNhc2VzIG9yIHNvbWV0aGluZyBvbiBzaW1pbGFyIGxpbmVzLiBUaGlzIHdvdWxkIGFs bG93IEhXJ3MNCj4gPj4+Pj4+PiB3aXRob3V0IGhhdmUgIHRoZSBzaGFyZWQgY29udGV4dCBJRA0K PiA+Pj4+Pj4+IHRvIHVzZSB0aGUgYWN0aW9uIHVwZGF0ZS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBD YW4geW91IHBsZWFzZSBleHBsYWluIHlvdXIgaWRlYT8NCj4gPj4+Pj4NCj4gPj4+Pj4gSSBzZWUg dHdvIHR5cGVzIG9mIEhXIHNjaGVtZXMgc3VwcG9ydGluZyBhY3Rpb24gdXBkYXRlcyB3aXRob3V0 IGdvaW5nDQo+ID4+Pj4+IHRocm91Z2ggY2FsbCBgcnRlX2Zsb3dfZGVzdHJveSgpYCBhbmQgY2Fs bCBgcnRlX2Zsb3dfY3JlYXRlKClgDQo+ID4+Pj4+IC0gVGhlIHNoYXJlZCBIVyBhY3Rpb24gY29u dGV4dCBmZWF0dXJlDQo+ID4+Pj4+IC0gVGhlIEhXIGhhcyAicGF0dGVybiIgYW5kICJhY3Rpb24i IG1hcHBlZCB0byBkaWZmZXJlbnQgSFcgb2JqZWN0cw0KPiBhbmQNCj4gPj4+Pj4gYWN0aW9uIGNh biBiZSB1cGRhdGVkIGFueSB0aW1lLg0KPiA+Pj4+PiBPdGhlciB0aGFuIGFib3ZlLW1lbnRpb25l ZCBSU1MgdXNlIGNhc2UsIGFub3RoZXIgdXNlIGNhc2Ugd291bGQgYmUgdG8NCj4gPj4+Pj4gYSkg Y3JlYXRlIHJ0ZV9mbG93IGFuZCBzZXQgdGhlIGFjdGlvbiBhcyBEUk9QIChLaW5kIG9mIHJlc2Vy dmluZyB0aGUgSFcNCj4gPj4gb2JqZWN0KQ0KPiA+Pj4+PiBiKSBVcGRhdGUgdGhlIGFjdGlvbiBv bmx5IHdoZW4gdGhlIHJlc3Qgb2YgdGhlIHJlcXVpcmVtZW50cyByZWFkeS4NCj4gPj4+Pj4NCj4g Pj4+Pj4gQW55IEFQSSBzY2hlbWF0aWMgdGhhdCBzdXBwb3J0cyBib3RoIG5vdGlvbnMgb2YgSFcg aXMgZmluZSB3aXRoIG1lLg0KPiA+Pj4+Pg0KPiA+Pj4+IEkgaGF2ZSBhbiBpZGVhIGlmIHRoZSBB UEkgd2lsbCBiZSBjaGFuZ2VkIHRvIHNvbWV0aGluZyBsaWtlIHRoaXMsDQo+ID4+Pj4gUnRlX2Zs b3dfc2hhcmVkX2FjdGlvbl91cGRhdGUodWludDE2X3BvcnQgcG9ydCwgcnRlX3NoYXJlZF9jdHgg KmN0eCwNCj4gPj4gcnRlX2Zsb3dfYWN0aW9uICphY3Rpb24sIGVycm9yKQ0KPiA+Pj4+IFRoaXMg d2lsbCBlbmFibGUgdGhlIGFwcGxpY2F0aW9uIHRvIHNlbmQgYSBkaWZmZXJlbnQgYWN0aW9uIHRo YW4gdGhlIG9yaWdpbmFsDQo+ID4+IG9uZSB0byBiZSBzd2l0Y2hlZC4NCj4gPj4+PiBBc3N1bWlu ZyB0aGUgUE1EIHN1cHBvcnRzIHRoaXMuDQo+ID4+Pj4gRG9lcyBpdCBhbnN3ZXIgeW91ciBjb25j ZXJucz8NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4gVGhpcyBhbGxvd3MgYm90aDoNCj4gPj4+IDEuIFVw ZGF0ZSBhY3Rpb24gY29uZmlndXJhdGlvbg0KPiA+Pj4gMi4gUmVwbGFjZSBhY3Rpb24gYnkgc29t ZSBvdGhlciBhY3Rpb24NCj4gPj4+IEZvciAyIHB1cmUgc29mdHdhcmUgaW1wbGVtZW50YXRpb24g bWF5IGNhcmF0ZSBzaHJlZCBhY3Rpb24gKHRoYXQgY2FuIGJlDQo+ID4+IHNoYXJlZA0KPiA+Pj4g d2l0aCBvbmUgZmxvdyBvbmx5LCBkZXBlbmRzIG9uIFBNRCkgYW5kIGxhdGVyIG9uDQo+ID4+IHJ0 ZV9mbG93X3NoYXJlZF9hY3Rpb25fdXBkYXRlIG1heSByZXBsYWNlIHRoaXMNCj4gPj4+IGFjdGlv biB3aXRoIHNvbWUgb3RoZXIgYWN0aW9uIGJ5IGhhbmRsZSByZXR1cm5lZCBmcm9tDQo+ID4+IHJ0 ZV9mbG93X3NoYXJlZF9hY3Rpb25fY3JlYXRlDQo+ID4+PiBEb2VzaWduIGJldHdlZW4gMSBhbmQg MiBpcyBwZXIgUE1ELg0KPiA+Pg0KPiA+PiBzdHJ1Y3QgcnRlX2Zsb3cgKiBvYmplY3QgaG9sZHMg dGhlIGRyaXZlciByZXByZXNlbnRhdGlvbiBvZiB0aGUNCj4gPj4gcGF0dGVybiArIGFjdGlvbi4N Cj4gPj4gU28gaW4gb3JkZXIgdG8gdXBkYXRlIHRoZSBhY3Rpb24sIHdlIHdvdWxkIG5lZWQgc3Ry dWN0IHJ0ZV9mbG93ICogaW4gQVBJLg0KPiA+Pg0KPiA+IFdoeSBpcyB0aGF0PyBUaGUgaWRlYSBp cyB0byBjaGFuZ2UgdGhlIGFjdGlvbiwgdGhlIGFjdGlvbiBpdHNlbGYgaXMgY29ubmVjdGVkIHRv DQo+IGZsb3dzLg0KPiA+IFRoZSBQTUQgY2FuIHNhdmUgaW4gdGhlIHNoYXJlZF9jdHggYWxsIGZs b3dzIHRoYXQgYXJlIGNvbm5lY3RlZCB0byB0aGlzDQo+IGFjdGlvbi4NCj4gPg0KPiA+PiBJIHRo aW5rLCBzaW1wbGUgQVBJIGNoYW5nZSB3b3VsZCBiZSB0byBhY2NvbW1vZGF0ZSAicnRlX3NoYXJl ZF9jdHgNCj4gPj4gKmN0eCwgcnRlX2Zsb3dfYWN0aW9uICphY3Rpb24iIG1vZGVzDQo+ID4+IHdp dGhvdXQgaW50cm9kdWNpbmcgdGhlIGVtdWxhdGlvbiBmb3Igb25lIG9yIG90aGVyIG1vZGUsIHdp bGwgYmUuDQo+ID4+DQo+ID4+IGVudW0gcnRlX2Zsb3dfYWN0aW9uX3VwZGF0ZV90eXBlIHsNCj4g Pj4gICAgICAgICAgICAgICBSVEVfRkxPV19BQ1RJT05fVVBEQVRFX1RZUEVfU0hBUkVEX0FDVElP TiwNCj4gPj4gICAgICAgICAgICAgICBSVEVfRkxPV19BQ1RJT05fVVBEQVRFX1RZUEVfQUNUSU9O LA0KPiA+PiB9Ow0KPiA+Pg0KPiA+PiBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3VwZGF0ZV90eXBl X3BhcmFtIHsNCj4gPj4gICAgICAgICAgZW51bSBydGVfZmxvd19hY3Rpb25fdXBkYXRlX3R5cGUg dHlwZTsNCj4gPj4gICAgICAgICAgdW5pb24gew0KPiA+PiAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3VwZGF0ZV90eXBlX3NoYXJlZF9hY3Rpb25fcGFyYW0gew0K PiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9zaGFyZWRfY3R4ICpjdHg7 DQo+ID4+ICAgICAgICAgICAgICAgICAgICAgICB9IHNoYXJlZF9hY3Rpb247DQo+ID4+ICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3VwZGF0ZV90eXBlX3NoYXJl ZF9hY3Rpb25fcGFyYW0gew0KPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0 ZV9mbG93ICpmbG93LA0KPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydGVf Zmxvd19hY3Rpb24gKmFjdGlvbjsNCj4gPj4gICAgICAgICAgICAgICAgICAgICAgIH0gYWN0aW9u Ow0KPiA+PiAgICAgICAgICB9DQo+ID4+IH0NCj4gPj4NCj4gPiBUaGFuayB5b3UgZm9yIHRoZSBp ZGVhIGJ1dCBJIGZhbGwgdG8gc2VlIGhvdyB5b3VyIHN1Z2dlc3RlZCBBUEkgaXMgc2ltcGxlciB0 aGFuDQo+IHRoZSBvbmUgc3VnZ2VzdGVkIGJ5IG1lPw0KPiA+IEluIG15IHN1Z2dlc3Rpb24gdGhl IFBNRCBzaW1wbHkgbmVlZHMgdG8gY2hlY2sgaWYgdGhlIG5ldyBhY3Rpb24gYW5kDQo+IGNoYW5n ZSB0aGUNCj4gPiBjb250ZXh0IGFuZCB0byB0aGF0IGFjdGlvbiwgb3IganVzdCBjaGFuZ2UgcGFy YW1ldGVycyBpbiB0aGUgYWN0aW9uLCBpZiBpdCBpcyB0aGUNCj4gc2FtZSBhY3Rpb24uDQo+ID4N Cj4gPiBMZXQncyBnbyB3aXRoIHRoZSBvcmlnaW5hbCBwYXRjaCBBUEkgbW9kaWZpZWQgdG8gc3Vw cG9ydCBsaWtlIHlvdSByZXF1ZXN0ZWQNCj4gYWxzbyBjaGFuZ2luZyB0aGUgYWN0aW9uLA0KPiA+ IGJhc2VkIG9uIG15IGNvbW1lbnRzLg0KPiA+DQo+ID4+IHJ0ZV9mbG93X2FjdGlvbl91cGRhdGUo dWludDE2X3BvcnQgcG9ydCwgc3RydWN0DQo+ID4+IHJ0ZV9mbG93X2FjdGlvbl91cGRhdGVfdHlw ZV9wYXJhbSAgKnBhcmFtLCBlcnJvcikNCj4gPj4NCj4gPj4+DQo+ID4+Pj4NCj4gPj4+Pj4NCj4g Pj4+Pj4+IEFzIEkgY2FuIHNlZSBpZiB3ZSB1c2UgdGhlIGZsb3dfYWN0aW9uIGFycmF5IGl0IG1h eSByZXN1bHQgaW4gYnVncy4NCj4gPj4+Pj4+IEZvciBleGFtcGxlLCB0aGUgYXBwbGljYXRpb24g Y3JlYXRlZCB0d28gZmxvd3Mgd2l0aCB0aGUgc2FtZSBSU1MgKG5vdA0KPiA+PiB1c2luZw0KPiA+ Pj4+PiB0aGUgY29udGV4dCkNCj4gPj4+Pj4+IFRoZW4gaGUgd2FudHMgdG8gY2hhbmdlIG9uZSBm bG93IHRvIHVzZSBkaWZmZXJlbnQgUlNTLCBidXQgdGhlIHJlc3VsdA0KPiB3aWxsDQo+ID4+IHRo YXQNCj4gPj4+Pj4gYm90aCBmbG93cw0KPiA+Pj4+Pj4gd2lsbCBiZSBjaGFuZ2VkLg0KPiA+Pj4+ Pg0KPiA+Pj4+PiBTb3JyeS4gSSBkb24ndCBxdWl0ZSBmb2xsb3cgdGhpcy4NCj4gPj4+Pj4NCj4g Pj4+PiBJIHdhcyB0cnlpbmcgdG8gc2hvdyB0aGF0IHRoZXJlIG11c3QgYmUgc29tZSBjb250ZXh0 LiBCdXQgSSBkb27igJl0IHRoaW5rIHRoaXMNCj4gaXMNCj4gPj4gcmVsZXZhbnQgdG8NCj4gPj4+ PiB5b3VyIGN1cnJlbnQgaWRlYXMuDQo+ID4+Pj4NCj4gPj4+Pj4+IEFsc28gdGhpcyB3aWxsIGVu Zm9yY2UgdGhlIFBNRCB0byBrZWVwIHRyYWNrIG9uIGFsbCBmbG93cyB3aGljaCB3aWxsIGhhdmUN Cj4gPj4+Pj4gbWVtb3J5IHBlbmFsdHkgZm9yDQo+ID4+Pj4+PiBzb21lIFBNRHMuDQo+IA0KPiBI aSBPcmksIEFuZHJleSwNCj4gDQo+IFRoaXMgaXMgYSBzZXQgb2YgbmV3IEFQSXMgYW5kIHdlIGFy ZSB2ZXJ5IGNsb3NlIHRvIHRoZSAtcmMxLCBzbyB3ZSBoYXZlIG9ubHkgYQ0KPiBmZXcgZGF5cyB0 byBjbG9zZSB0aGUgZmVhdHVyZSB0byBtZXJnZSB0aGVtIGZvciB0aGlzIHJlbGVhc2UuDQo+IA0K PiBBbHNvIGFjY29tcGFueWluZyBQTUQgYW5kIHRlc3RwbWQgaW1wbGVtZW50YXRpb24gd2l0aCB0 aGUgcHJvcG9zZWQgQVBJDQo+IGNoYW5nZXMNCj4gbG9va3MgbWlzc2luZy4NCj4gDQo+IFdlIGNh biBlaXRoZXIgcG9zdHBvbmUgdGhlIHBhdGNoc2V0IHRvIG5leHQgcmVsZWFzZSB0byBnaXZlIHRp bWUgZm9yIG1vcmUNCj4gUE1EDQo+IG93bmVycyB0byBwYXJ0aWNpcGF0ZSwgd2hpY2ggY2FuIGdp dmUgYmV0dGVyIEFQSSBmb3IgbG9uZyB0ZXJtLg0KPiBPciB0cnkgdG8gdG8gc3F1ZWV6ZSBpbnRv IHRoaXMgcmVsZWFzZSB0YWtpbmcgaW50byBhY2NvdW50IHRoYXQgdGhlIEFQSXMgd2lsbCBiZQ0K PiBleHBlcmltZW50YWwuDQo+IA0KPiBXaGF0IGRvIHlvdSB0aGluaywgd2hhdCBpcyB5b3Ugc2No ZWR1bGUgZm9yIHRoZSBmZWF0dXJlLCBkbyB5b3UgaGF2ZSByb29tIHRvDQo+IHBvc3Rwb25lIGl0 Pw0KTm90IHNvIG11Y2ggaXQgaXMgYW4gaW1wb3J0YW50IEFQSSBmb3IgTWVsbGFub3guDQoNCj4g SWYgbm90LCBmaXJzdCBleGlzdGluZyBkaXNjdXNzaW9ucyBuZWVkcyB0byByZXNvbHZlZCwgYW5k IGl0IGlzIGdvb2QgdG8gaGF2ZSB0aGUNCj4gUE1EIGFuZCB0ZXN0cG1kIGltcGxlbWVudGF0aW9u cywgZG8geW91IHRoaW5rIGNhbiB0aGlzIGJlIGRvbmUgZm9yIG5leHQgZmV3DQo+IGRheXM/DQo+ IA0KSSB0aGluayB0aGF0IHRoaXMgaXMgdGhlIGNvcnJlY3QgQVBJIHRvIGltcGxlbWVudCwgSSBm dWxseSBhZ3JlZSB0aGF0IHRoaXMgQVBJIGlzIGV4cGVyaW1lbnRhbA0KanVzdCBsaWtlIGFueSBv dGhlciBuZXcgQVBJLCBhbmQgbWlnaHQgY2hhbmdlIGJhc2VkIG9uIGNvbW1lbnRzIGFuZCB1c2Ug Y2FzZXMuDQpJIGtub3cgdGhhdCBNZWxsYW5veCBpcyBjb21taXR0ZWQgdG8gdGhpcyBmZWF0dXJl IGFuZCB0aGF0IEFuZHJleSBpcyB3b3JraW5nIGFyb3VuZCB0aGUgY2xvY2sgDQp0byBjb21wbGV0 ZSB0aGUgbWlzc2luZyBwYXJ0cywgYW5kIHNob3VsZCBoYXZlIGEgdmVyc2lvbiBieSB0b21vcnJv dyAoSnVseSA4dGggKSBldmVuaW5nLg0KKHdpdGggdXBkYXRlIHRvIGZsb3cgZmlsdGVyaW5nIHNh bXBsZSBhcHAsIHRlc3RwbWQgd2lsbCBub3QgYmUgcmVhZHkgYnkgUkMxLCBidXQgaXQgd2lsbCBi ZSBmb3IgUkMyKQ0KV2Ugd291bGQgbGlrZSB2ZXJ5IG11Y2ggdG8gcHVzaCBpdCBpbiB0aGlzIHZl cnNpb24uDQoNClRoYW5rcywNCk9yaQ0KDQo+IA0KPiBUaGFua3MsDQo+IGZlcnJ1aA0KDQo=