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 03EBBA04B3; Fri, 8 Nov 2019 13:12:25 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 27D401C11B; Fri, 8 Nov 2019 13:12:25 +0100 (CET) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20072.outbound.protection.outlook.com [40.107.2.72]) by dpdk.org (Postfix) with ESMTP id 4F48A1C112 for ; Fri, 8 Nov 2019 13:12:23 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F+TX5Re26zc2066xPqjEZ5pwoI1pl3TaOGX+EY27ghwkvcYSEl6kR4FRg0rs0P+PoEmaPu5+ReXyMe3ub07Mpf2Fc6TKlOW9m/ETKSQNUfoSQeLC4jQZ5iUZh+hKBh7ikqv23T5dHw7p2FTeirNiF89NF9135IkFO5vRINqpzouY1lYMMZauDZeNfQ2pGpKdIQzzc8Ahzt5uW5Dcg+k7XGtsV++hrGilNXue4iahOsb2hdC+RGrgAoZsTgVc3pZ0jwd0QkvH1v3oNzd+1VaGqk6P9TigE5YTNH40KnBg3CIdm+mujvY20D+0NSleZsY4iBqk4ORxd8wZVCegvQSXOQ== 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=GuDqkRNPD6xgOE7FDhYrchdT6beVnDcpy6Jl//hCC74=; b=i+Xn4OqMY1P9Rk9Ec2PgMUI4KeyQzAnbfrPsQ6W5ERsnsmJwgBjgnEQkDW0zrLIJLnhPsupZANzuxWYs9obxNVQYEf5a4PKEirjF4IEf9CdrzAI54siHfe2vHzahSpR4KSpkDLhFjaW8IhjjG/J5ojBVKPSU8fJuIpj4pcoeIqNozPsacsLCn51m1DVBMXQAexmw7i04H9iNJbXBXhuDVOaAHjHT1VZvbLU2P+cM9SixJnBg8njAZrEh0mfOQZ760E1zS1EZ1sLpDSnQBgyx+1nGmkjAZ+1+Iea3BmoSnm8YTzx5uuUgO2Vd9/YfIJl3CkF38oZ+wqEN/oK8fdeWMg== 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=GuDqkRNPD6xgOE7FDhYrchdT6beVnDcpy6Jl//hCC74=; b=QjELkh/xhLV0A7MRVWLjWqGZtUxSpOWcrni2nf3H7To/iZIdtWVqWP2wRYPYctOKDkj3kGqiBIxvdunEBBH5WCJ6Jq9+uXYSNUhG0KzWNauD3k2qD1D1degbbVhh7vRFaL5E0aeUGjCjOC5Q5kJ0QAR5KXiRq8An3KCipUpH9U4= Received: from AM4PR05MB3425.eurprd05.prod.outlook.com (10.171.190.15) by AM4PR05MB3299.eurprd05.prod.outlook.com (10.170.126.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.24; Fri, 8 Nov 2019 12:12:21 +0000 Received: from AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::70a7:a312:cbc6:d178]) by AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::70a7:a312:cbc6:d178%7]) with mapi id 15.20.2387.034; Fri, 8 Nov 2019 12:12:21 +0000 From: Ori Kam To: "Zhang, Qi Z" , Thomas Monjalon , Andrew Rybchenko CC: "dev@dpdk.org" , "pbhagavatula@marvell.com" , "Yigit, Ferruh" , "jerinj@marvell.com" , "Mcnamara, John" , "Kovacevic, Marko" , Adrien Mazarguil , "david.marchand@redhat.com" , "ktraynor@redhat.com" , Olivier Matz Thread-Topic: [dpdk-dev] [PATCH 1/2] ethdev: add flow action type update as an offload Thread-Index: AQHVlilqyJkXkWl67UWX7BlbDujyb6eBKTPg Date: Fri, 8 Nov 2019 12:12:21 +0000 Message-ID: References: <20191025152142.12887-1-pbhagavatula@marvell.com> <1594828.JO7TyvRWtP@xps> <1784584.NQqjHnNvIa@xps> <039ED4275CED7440929022BC67E7061153DC6603@SHSMSX105.ccr.corp.intel.com> In-Reply-To: <039ED4275CED7440929022BC67E7061153DC6603@SHSMSX105.ccr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=orika@mellanox.com; x-originating-ip: [185.175.35.255] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 21daec41-dd79-4c73-c9c1-08d76444e828 x-ms-traffictypediagnostic: AM4PR05MB3299: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0215D7173F x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(39860400002)(366004)(346002)(376002)(396003)(189003)(199004)(13464003)(52536014)(5660300002)(3846002)(6116002)(6246003)(110136005)(71200400001)(2906002)(316002)(14444005)(14454004)(86362001)(25786009)(15650500001)(71190400001)(7416002)(478600001)(7736002)(9686003)(305945005)(6436002)(102836004)(7696005)(76176011)(4326008)(476003)(33656002)(6506007)(53546011)(486006)(66066001)(99286004)(26005)(66946007)(8936002)(66446008)(64756008)(66556008)(66476007)(186003)(81166006)(81156014)(74316002)(55016002)(229853002)(256004)(76116006)(446003)(11346002)(54906003)(30864003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR05MB3299; H:AM4PR05MB3425.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4l9NhfmWKqttnFjwQ1WRieEdZgcN8AryWogpvyJ2MWMwkPNOM1sV4MuRVu/O9/Um7OGnpKVqUstGc9z9mLs53aCWkm09PaiJtIk22l9HdkS0V1PHI85FT8LbKdyhGIrrYWS7aN4cL4GfmZ6sKZj/Xo/2cgs3Dd7IPijymWebEJ47HoS3Ej/4Ai3lPQlKOCwgc16aI41sxi3/VXxR3Lp8gtOwHsWCbhcgAC4BrDgNMRrNasWB3Wp4wbcRSPN8G2mKWuyOV9TzWSCdurfmRNEMTqHVBB2567Zx8MLmAdRWW0hwYq5nEEB+z8OtiBiSC9GcX+711j0F3mwuKskAyZS8ourWAhZKA2H4FDwecThCWzWxgWYd9HChrqAOAweqK2NBOzKCJMfdc0LF8fbqmjHKh5YT/tbdAuVbsmywFWNfNKkIPGZjdnB02mCsFx0khuLv x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 21daec41-dd79-4c73-c9c1-08d76444e828 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Nov 2019 12:12:21.0566 (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: +ymQ0viZE1rXgJvEoWJYhxI+FhKh4vBrqNBJPneX7UY6tFvF7VzMk8vNtQnb3qFtZS2KlsoXYcdJ5cbUkMEyBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR05MB3299 Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: add flow action type update as an offload 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" DQpIaSBBbmRyZXcsDQoNClRoYW5rcyB2ZXJ5IG11Y2ggZm9yIHRoZSBzdW1tZXJ5LCBJIHRoaW5r IHRoaXMgbWFrZXMgdGhlIGRpc2N1c3Npb24gbXVjaCBiZXR0ZXIuDQood2UgZXZlbiBnb3Qgc29t ZSBuZXcgZm9sa3Mg8J+YiikNCg0KSSB2b3RlIGZvciBCIGFuZCBDLA0KDQpQbGVhc2UgcmVhZCBt eSBjb21tZW50cyBiZWxvdy4NCg0KT3JpDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIFpoYW5nLCBR aSBaDQo+IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgOCwgMjAxOSAxOjQxIFBNDQo+IFRvOiBUaG9t YXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBBbmRyZXcgUnliY2hlbmtvDQo+IDxh cnliY2hlbmtvQHNvbGFyZmxhcmUuY29tPg0KPiBDYzogT3JpIEthbSA8b3Jpa2FAbWVsbGFub3gu Y29tPjsgZGV2QGRwZGsub3JnOw0KPiBwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb207IFlpZ2l0LCBG ZXJydWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+Ow0KPiBqZXJpbmpAbWFydmVsbC5jb207IE1j bmFtYXJhLCBKb2huIDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47DQo+IEtvdmFjZXZpYywgTWFy a28gPG1hcmtvLmtvdmFjZXZpY0BpbnRlbC5jb20+OyBBZHJpZW4gTWF6YXJndWlsDQo+IDxhZHJp ZW4ubWF6YXJndWlsQDZ3aW5kLmNvbT47IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb207DQo+IGt0 cmF5bm9yQHJlZGhhdC5jb207IE9saXZpZXIgTWF0eiA8b2xpdmllci5tYXR6QDZ3aW5kLmNvbT4N Cj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIDEvMl0gZXRoZGV2OiBhZGQgZmxvdyBh Y3Rpb24gdHlwZSB1cGRhdGUgYXMNCj4gYW4gb2ZmbG9hZA0KPiANCj4gDQo+IA0KPiA+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9y Zz4gT24gQmVoYWxmIE9mIFRob21hcyBNb25qYWxvbg0KPiA+IFNlbnQ6IEZyaWRheSwgTm92ZW1i ZXIgOCwgMjAxOSA3OjA0IFBNDQo+ID4gVG86IEFuZHJldyBSeWJjaGVua28gPGFyeWJjaGVua29A c29sYXJmbGFyZS5jb20+DQo+ID4gQ2M6IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IGRl dkBkcGRrLm9yZzsNCj4gPiBwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb207IFlpZ2l0LCBGZXJydWgg PGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+Ow0KPiA+IGplcmluakBtYXJ2ZWxsLmNvbTsgTWNuYW1h cmEsIEpvaG4gPGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tPjsNCj4gPiBLb3ZhY2V2aWMsIE1hcmtv IDxtYXJrby5rb3ZhY2V2aWNAaW50ZWwuY29tPjsgQWRyaWVuIE1hemFyZ3VpbA0KPiA+IDxhZHJp ZW4ubWF6YXJndWlsQDZ3aW5kLmNvbT47IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb207DQo+ID4g a3RyYXlub3JAcmVkaGF0LmNvbTsgT2xpdmllciBNYXR6IDxvbGl2aWVyLm1hdHpANndpbmQuY29t Pg0KPiA+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCAxLzJdIGV0aGRldjogYWRkIGZs b3cgYWN0aW9uIHR5cGUgdXBkYXRlIGFzDQo+IGFuDQo+ID4gb2ZmbG9hZA0KPiA+DQo+ID4gMDgv MTEvMjAxOSAxMTo0MiwgQW5kcmV3IFJ5YmNoZW5rbzoNCj4gPiA+IE9uIDExLzgvMTkgMToyOCBQ TSwgVGhvbWFzIE1vbmphbG9uIHdyb3RlOg0KPiA+ID4gPiAwOC8xMS8yMDE5IDA5OjM1LCBBbmRy ZXcgUnliY2hlbmtvOg0KPiA+ID4gPj4gVGhlIHByb2JsZW06DQo+ID4gPiA+PiB+fn5+fn5+fn5+ fn4NCj4gPiA+ID4+IFBNRCB3YW50cyB0byBrbm93IGJlZm9yZSBwb3J0IHN0YXJ0IGlmIGFwcGxp Y2F0aW9uIHdhbnRzIHRvIHRvIHVzZQ0KPiA+ID4gPj4gZmxvdyBNQVJLL0ZMQUcgaW4gdGhlIGZ1 dHVyZS4gSXQgaXMgcmVxdWlyZWQgYmVjYXVzZToNCj4gPiA+ID4+DQo+ID4gPiA+PiAxLiBIVyBt YXkgYmUgY29uZmlndXJlZCBpbiBhIGRpZmZlcmVudCB3YXkgdG8gcmVzZXJ2ZSByZXNvdXJjZXMN Cj4gPiA+ID4+ICAgIGZvciBNQVJLL0ZMQUcgZGVsaXZlcnkNCj4gPiA+ID4+DQo+ID4gPiA+PiAy LiBEYXRhcGF0aCBpbXBsZW1lbnRhdGlvbiBjaG9pY2UgbWF5IGRlcGVuZCBvbiBpdCAoZS5nLiB2 UE1EDQo+ID4gPiA+PiAgICBpcyBmYXN0ZXIsIGJ1dCBkb2VzIG5vdCBzdXBwb3J0IE1BUkspDQo+ ID4gPiA+DQo+ID4gPiA+IFRoYW5rIHlvdSBmb3IgdGhlIGNsZWFyIHByb2JsZW0gc3RhdGVtZW50 Lg0KPiA+ID4gPiBJIGFncmVlIHdpdGggaXQuIFRoaXMgaXMgYSByZWFsIGRlc2lnbiBpc3N1ZS4N Cj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4+IERpc2N1c3NlZCBzb2x1dGlvbnM6DQo+ID4gPiA+ PiB+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiA+ID4NCj4gPiA+IE1heSBiZSBpdCBpcyBub3QgMTAw JSBjbGVhciBzaW5jZSBiZWxvdyBhcmUgYWx0ZXJuYXRpdmVzLg0KPiA+ID4NCj4gPiA+ID4+IEEu IEV4cGxpY2l0IFJ4IG9mZmxvYWQgc3VnZ2VzdGVkIGJ5IHRoZSBwYXRjaC4NCj4gPiA+ID4+DQo+ ID4gPiA+PiBCLiBJbXBsaWNpdCBieSB2YWxpZGF0aW9uIG9mIGEgZmxvdyBydWxlIHdpdGggTUFS Sy9GTEFHIGFjdGlvbnMgdXNlZC4NCj4gPiA+ID4+DQoNCkkgZG9u4oCZdCBhZ3JlZSB0aGF0IHRo aXMgbWV0aG9kIGlzIGltcGxpY2l0IGl0IGlzIHF1aXQgZXhwbGljaXQsIGRvIHdlIHN1cHBvcnQg aXQgaW4gUE1EIA0Kd2l0aCB0aGUgdXNlIGNhc2Ugb3Igbm90LiBTb3VuZCB2ZXJ5IGV4cGxpY2l0 LiBZb3UgY2FuIGFyZ3VlIHRoYXQgdGhlIFBNRCB1c2VzIA0KdmFsaWRhdGlvbiBmbG93IHRvIHVu ZGVyc3RhbmQgdGhhdCBpdCBuZWVkIHRvIHN1cHBvcnQgTUFSSywgYnV0IGZyb20gZXZlcnkgcGVy c3BlY3RpdmUNCml0IGlzIG1vcmUgY29ycmVjdCAuIHdoYXQgZG9lcyBpdCBtZWFuIGlmIHRoZSBh cHBsaWNhdGlvbiBlbmFibGVkIG1hcmsgYW5kIG5ldmVyIGRvd25sb2FkIGEgZmxvdz8NCg0KPiA+ ID4gPj4gQy4gVXNlIGR5bmFtaWMgZmllbGQvZmxhZyAoaS5lLiBhcHBsaWNhdGlvbiByZWdpc3Rl cnMgZHluYW1pYyBmaWVsZA0KPiA+ID4gPj4gICAgYW5kL29yIGZsYWcgYW5kIFBNRCB1c2VzIGxv b2t1cCB0byBzb2x2ZSB0aGUgcHJvYmxlbSkgcGx1cyBwYXJ0DQo+ID4gPiA+PiAgICBvZiAoQikg dG8gZGlzY292ZXIgaWYgYSBmZWF0dXJlIGlzIHN1cHBvcnRlZC4NCj4gPiA+ID4NCj4gPiA+ID4g VGhlIGR5bmFtaWMgZmllbGQgc2hvdWxkIGJlIHJlZ2lzdGVyZWQgdmlhIGEgbmV3IEFQSSBmdW5j dGlvbiBuYW1lZA0KPiA+ID4gPiAnPGZlYXR1cmU+X2luaXQnLg0KPiA+ID4gPiBJdCBtZWFucyB0 aGUgYXBwbGljYXRpb24gbXVzdCBleHBsaWNpdCByZXF1ZXN0IHRoZSBmZWF0dXJlLg0KPiA+ID4g PiBJIGFncmVlIHRoaXMgaXMgdGhlIHdheSB0byBnby4NCj4gPiA+DQo+ID4gPiBJZiBJIHVuZGVy c3RhbmQgeW91ciBzdGF0ZW1lbnQgY29ycmVjdGx5LCBidXQgKEMpIGlzIG5vdCBpZGVhbCBzaW5j ZQ0KPiA+ID4gaXQgbG9va3MgZ2xvYmFsLiBJZiByZWdpc3RlcmVkIGR5bmFtaWMgZmllbGQgb2Yg bWJ1ZiBhbmQgaXMgZmxhZyB0aGF0DQo+ID4gPiB0aGUgZmVhdHVyZSBzaG91bGQgYmUgZW5hYmxl ZCwgaXQgaXMgYSBmbGFnIHRvIGFsbCBwb3J0cy9kZXZpY2VzLg0KPiA+ID4NCj4gPiA+ID4+IEFs bCBzb2x1dGlvbnMgcmVxdWlyZSBjaGFuZ2VzIGluIGFwcGxpY2F0aW9ucyB3aGljaCB1c2UgdGhl c2UNCj4gPiA+ID4+IGZlYXR1cmVzLiBUaGVyZSBpcyBhIGRlcHJlY2F0aW9uIG5vdGljZSBpbiBw bGFjZSB3aGljaCBhZHZlcnRpc2VzDQo+ID4gPiA+PiBERVZfUlhfT0ZGTE9BRF9GTE9XX01BUksg YWRkaXRpb24sIGJ1dCBtYXkgYmUgaXQgaXMgT0sgdG8NCj4gPiA+ID4+IHN1YnN0aXR1dGUgaXQg d2l0aCBzb2x1dGlvbiAoQikgb3IgKEMpLiBTb2x1dGlvbiAoQykgcmVxdWlyZXMNCj4gPiA+ID4+ IGNoYW5nZXMgc2luY2UgaXQgc2hvdWxkIGJlIGNvbWJpbmVkIHdpdGggKEIpIGluIG9yZGVyIHRv IHVuZGVyc3RhbmQNCj4gPiA+ID4+IGlmIHRoZSBmZWF0dXJlIGlzIHN1cHBvcnRlZC4NCj4gPiA+ ID4NCj4gPiA+ID4gSSBkb24ndCB1bmRlcnN0YW5kLg0KPiA+ID4gPiBBcHBsaWNhdGlvbiByZXF1 ZXN0IGFuZCBQTUQgc3VwcG9ydCBhcmUgdHdvIGRpZmZlcmVudCB0aGluZ3MuDQo+ID4gPiA+IFBN RCBzdXBwb3J0IG11c3QgYmUgdmlhIHJ0ZV9mbG93IHZhbGlkYXRpb24gb24gYSBjYXNlIGJ5IGNh c2UgYW55d2F5Lg0KPiA+ID4NCj4gPiA+IEkgbWVhbiB0aGF0IGFwcGxpY2F0aW9uIHdhbnRzIHRv IHVuZGVyc3RhbmQgaWYgdGhlIGZlYXR1cmUgaXMNCj4gPiA+IHN1cHBvcnRlZC4gVGhlbiwgaXQg d2FudHMgdG8gZW5hYmxlIGl0LiBJbiB0aGUgY2FzZSBvZiAoQiksIGlmIEkNCj4gPiA+IHVuZGVy c3RhbmQgdGhlIHNvbHV0aW9uIGNvcnJlY3RseSwgdGhlcmUgaXMgbm8gZXhwbGljaXQgd2F5IHRv IGVuYWJsZSwNCj4gPiA+IFBNRCBqdXN0IGRldGVjdHMgaXQgYmVjYXVzZSBvZiBkaXNjb3Zlcnkg aXMgZG9uZSAodGhhdCdzIHdoYXQgSSBtZWFuDQo+ID4gPiBieSAiaW1wbGljaXQiIGFuZCBpdCBp cyBhIGRyYXdiYWNrIGZyb20gbXkgcG9pbnQgb2YgdmlldywgYnV0IHN0aWxsDQo+ID4gPiBjb3Vs ZCBiZSBjb25zaWRlcmVkKS4gKEMpIHNvbHZlcyB0aGUgcHJvYmxlbSBvZiAoQikuDQo+ID4gPg0K PiA+ID4gPj4gQWR2YW50YWdlcyBhbmQgZHJhd2JhY2tzIG9mIHNvbHV0aW9uczoNCj4gPiA+ID4+ IH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQo+ID4gPiA+PiAxLiBUaGUg bWFpbiBkcmF3YmFjayBvZiAoQSkgaXMgYSAiZHVwbGljYXRpb24iIHNpbmNlIHdlIGFscmVhZHkN Cj4gPiA+ID4+ICAgIGhhdmUgYSB3YXkgdG8gcmVxdWVzdCBmbG93IE1BUksgdXNpbmcgcnRlX2Zs b3cgQVBJLg0KPiA+ID4gPj4gICAgSSBkb24ndCBmdWxseSBhZ3JlZSB0aGF0IGl0IGlzIGEgZHVw bGljYXRpb24sIGJ1dCBJIGFncmVlDQo+ID4gPiA+PiAgICB0aGF0IGl0IHNvdW5kcyBsaWtlIGR1 cGxpY2F0aW9uIGFuZCBjb21wbGljYXRlcyBhIGJpdCBmbG93DQo+ID4gPiA+PiAgICBNQVJLIHVz YWdlIGJ5IGFwcGxpY2F0aW9ucy4gKEIpIGNvbXBsaWNhdGVzIGl0IGFzIHdlbGwuDQo+ID4gPiA+ Pg0KPiA+ID4gPj4gMi4gT25lIG1vcmUgZHJhd2JhY2sgb2YgdGhlIHNvbHV0aW9uIChBKSBpcyB0 aGUgbmVjZXNzaXR5IG9mDQo+ID4gPiA+PiAgICBzaW1pbGFyIHNvbHV0aW9uIGZvciBNRVRBIGFu ZCBpdCBlYXRzIG9uZSBtb3JlIG9mZmxvYWQgYml0Lg0KPiA+ID4gPj4gICAgWWVzLCB0aGF0J3Mg dHJ1ZSBhbmQgSSB0aGluayBpdCBpcyBub3QgYSBwcm9ibGVtLg0KPiA+ID4gPj4gICAgSXQgd291 bGQgbWFrZSBpdCBlYXNpZXIgZm9yIGFwcGxpY2F0aW9ucyB0byBmaW5kIG91dCBpZg0KPiA+ID4g Pj4gICAgZWl0aGVyIE1BUksgb3IgTUVUQSBpcyBzdXBwb3J0ZWQuDQo+ID4gPiA+Pg0KPiA+ID4g Pj4gMy4gVGhlIG1haW4gYWR2YW50YWdlIG9mIHRoZSBzb2x1dGlvbiAoQSkgaXMgc2ltcGxpY2l0 eS4NCj4gPiA+ID4+ICAgIEl0IGlzIHNpbXBsZSBmb3IgYXBwbGljYXRpb24gdG8gdW5kZXJzdGFu ZCBpZiBpdCBzdXBwb3J0ZWQuDQo+ID4gPiA+PiAgICBJdCBpcyBzaW1wbGUgaW4gUE1EIHRvIHVu ZGVyc3RhbmQgdGhhdCBpdCBpcyByZXF1aXJlZC4NCj4gPiA+ID4+ICAgIEl0IGlzIHNpbXBsZSB0 byBkaXNhYmxlIGl0IC0ganVzdCByZWNvbmZpZ3VyZS4NCj4gPiA+ID4+ICAgIEFsc28gaXQgaXMg ZWFzaWVyIHRvIGRvY3VtZW50IGl0IC0ganVzdCBtZW50aW9uIHRoYXQNCj4gPiA+ID4+ICAgIHRo ZSBvZmZsb2FkIHNob3VsZCBiZSBzdXBwb3J0ZWQgYW5kIGVuYWJsZWQuDQo+ID4gPiA+Pg0KDQpU aGlzIGlzIG5vdCB0cnVlLCBmb3IgZXhhbXBsZSB0aGUgUE1EIHN1cHBvcnQgTWFyayBvbmx5IGlu IE5pYyBtb2RlDQpXaGlsZSB0aGUgYXBwbGljYXRpb24gbmVlZHMgRS1Td2l0Y2ggdGhlbiB0aGUg UE1EIHJlcG9ydHMgaW5jb3JyZWN0bHkuDQpPciBmb3IgZXhhbXBsZSBpZiB0aGUgbWFyayBpcyBz dXBwb3J0ZWQgb25seSBhcyBvbmx5IGFjdGlvbiwgYW5kIHRoZSBhcHBsaWNhdGlvbiBuZWVkcw0K ZGVjYXAgYW5kIG1hcmsuIHRoaXMgbWVhbnMgdGhhdCB0aGUgdXNlciB3aWxsIG5ldmVyIGJlIGFi bGUgdG8gdXNlIHRoZSBtYXJrDQpzbyB0aGUgUE1EIHVzZXMgc2xvd2VyIFJ4IGZ1bmN0aW9uIHdp dGhvdXQgdGhlIG1hcmsgZXZlciBiZWluZyB1c2VkLg0KDQoNCj4gPiA+ID4+IDQuIFRoZSBtYWlu IGFkdmFudGFnZSBvZiB0aGUgc29sdXRpb24gKEIpIGlzIG5vICJkdXBsaWNhdGlvbiIuDQo+ID4g PiA+PiAgICBJIGFncmVlIHRoYXQgaXQgaXMgdmFsaWQgYXJndW1lbnQuIFNvbHZpbmcgdGhlIHBy b2JsZW0NCj4gPiA+ID4+ICAgIHdpdGhvdXQgZXh0cmEgZW50aXRpZXMgaXMgYWx3YXlzIG5pY2Us IGJ1dCB1bmZvcnR1bmF0ZWx5DQo+ID4gPiA+PiAgICBpdCBpcyB0b28gY29tcGxleCBpbiB0aGlz IGNhc2UuDQo+ID4gPiA+Pg0KDQpZb3UgZm9yZ290IGEgb25lIG1vcmUgdmVyeSBpbXBvcnRhbnQg cmVhc29uLCB0aGUgZmFjdCB0aGF0IHRoZSBtYXJrIA0KbWF5IGJlIHN1cHBvcnRlZCBvbmx5IG9u IHNvbWUgZmxvd3MuIFNvIGlmIHRoZSB1c2VyIG5lZWRzIG1hcmsgd2l0aCBkZWNhcA0KYW5kIHRo aXMgY29tYmluYXRpb24gaXMgbm90IHN1cHBvcnRlZCB0aGUgdXNlciB3aWxsIG5ldmVyIHdlIGFi bGUgdG8gdXNlIG1hcmsNCndoaWxlIHVzaW5nIG1hcmsgUnggZnVuY3Rpb24uIFNvIHlvdSBnZXQg c2xvdyBkYXRhIHBhdGggd2l0aCBubyBhYmlsaXR5IHRvIHVzZSBpdC4NCg0KPiA+ID4gPj4gNS4g VGhlIG1haW4gZHJhd2JhY2sgb2YgdGhlIHNvbHV0aW9uIChCKSBpcyB0aGUgY29tcGxleGl0eS4N Cj4gPiA+ID4+ICAgIEl0IGlzIG5lY2Vzc2FyeSB0byBjaG9vc2UgYSBmbG93IHJ1bGUgd2hpY2gg c2hvdWxkIGJlIHVzZWQNCj4gPiA+ID4+ICAgIGFzIGEgY3JpdGVyaWEuIEl0IGNvdWxkIGJlIGhh cmR3YXJlIGRlcGVuZGVudC4NCj4gPiA+ID4+ICAgIENvbXBsZXggbG9naWMgaXMgcmVxdWlyZSBp biBQTUQgaWYgaXQgd2FudHMgdG8gYWRkcmVzcyB0aGUNCj4gPiA+ID4+ICAgIHByb2JsZW0gYW5k IGNvbnRyb2wgTUFSSyBkZWxpdmVyeSBiYXNlZCBvbiB2YWxpZGF0ZWQgZmxvdw0KPiA+ID4gPj4g ICAgcnVsZXMuIEl0IGFkZHMgZGVwZW5kZW5jeSBiZXR3ZWVuIHN0YXJ0L3N0b3AgcHJvY2Vzc2lu ZyBhbmQNCj4gPiA+ID4+ICAgIGZsb3cgcnVsZXMgdmFsaWRhdGlvbiBjb2RlLg0KPiA+ID4gPj4g ICAgSXQgaXMgcHJldHR5IGNvbXBsaWNhdGVkIHRvIGRvY3VtZW50IGl0Lg0KPiA+ID4gPj4NCj4g PiA+ID4+IDYuIFVzZWxlc3MgZW5hYmxpbmcgb2YgdGhlIG9mZmxvYWQgaW4gdGhlIGNhc2Ugb2Yg c29sdXRpb24gKEEpDQo+ID4gPiA+PiAgICBpZiByZWFsbHkgdXNlZCBmbG93IHJ1bGVzIGRvIG5v dCBzdXBwb3J0IE1BUksgbG9va3MgbGlrZQ0KPiA+ID4gPj4gICAgZHJhd2JhY2sgYXMgd2VsbCwg YnV0IGVhc2lseSBtaXRpZ2F0ZWQgYnkgYSBjb21iaW5hdGlvbg0KPiA+ID4gPj4gICAgd2l0aCBz b2x1dGlvbiAoQikgYW5kIG9ubHkgcmVxdWlyZWQgaWYgdGhlIGFwcGxpY2F0aW9uIHdhbnRzDQo+ ID4gPiA+PiAgICB0byBkaXZlIGluIHRoZSBsZXZlbCBvZiBvcHRpbWl6YXRpb24gYW5kIGNvbXBs ZXhpdHkgYW5kDQo+ID4gPiA+PiAgICBtYWtlcyBzZW5zZSBpZiBhcHBsaWNhdGlvbiBrbm93cyBy ZXF1aXJlZCBmbG93IHJ1bGVzIGluDQo+ID4gPiA+PiAgICBhZHZhbmNlLiBTbywgaXQgaXMgbm90 IGEgcHJvYmxlbSBpbiB0aGlzIGNhc2UuDQo+ID4gPiA+Pg0KPiA+ID4gPj4gNy4gU29sdXRpb24g KEMpIGhhcyBkcmF3YmFja3Mgb2YgdGhlIHNvbHV0aW9uIChCKSBmb3INCj4gPiA+ID4+ICAgIGFw cGxpY2F0aW9ucyB0byB1bmRlcnN0YW5kIGlmIHRoZXNlIGZlYXR1cmVzIGFyZSBzdXBwb3J0ZWQs DQo+ID4gPiA+PiAgICBidXQgbm8gZHJhd2JhY2tzIGluIFBNRCwgc2luY2UgZXhwbGljaXQgY3Jp dGVyaWEgaXMgdXNlZCB0bw0KPiA+ID4gPj4gICAgZW5hYmxlL2Rpc2FibGUgKGR5bmFtaWMgZmll bGQvZmxhZyBsb29rdXApLg0KPiA+ID4gPj4NCj4gPiA+ID4+IDguIFNvbHV0aW9uIChDKSBpcyBu aWNlIHNpbmNlIGl0IGF2b2lkcyAiZHVwbGljYXRpb24iLg0KPiA+ID4gPj4NCj4gPiA+ID4+IDku IFRoZSBtYWluIGRyYXdiYWNrIG9mIHRoZSBzb2x1dGlvbiAoQykgaXMgYXN5bW1ldHJ5Lg0KPiA+ ID4gPj4gICAgQXMgaXQgd2FzIGRpc2N1c3NlZCBpbiB0aGUgY2FzZSBvZiBSWF9USU1FU1RBTVAN Cj4gPiA+ID4+ICAgIChpZiBJIHJlbWVtYmVyIGl0IGNvcnJlY3RseSk6DQo+ID4gPiA+PiAgICAg LSBQTUQgYWR2ZXJ0aXNlcyBSWF9USU1FU1RBTVAgb2ZmbG9hZCBjYXBhYmlsaXR5DQo+ID4gPiA+ PiAgICAgLSBhcHBsaWNhdGlvbiBlbmFibGVzIHRoZSBvZmZsb2FkDQo+ID4gPiA+PiAgICAgLSBQ TUQgcmVnaXN0ZXJzIGR5bmFtaWMgZmllbGQgZm9yIHRpbWVzdGFtcA0KPiA+ID4gPj4gICAgU29s dXRpb24gKEMpOg0KPiA+ID4gPj4gICAgICAtIFBNRCBhZHZlcnRpc2VzIG5vdGhpbmcNCj4gPiA+ ID4+ICAgICAgLSBhcHBsaWNhdGlvbiB1c2VzIHNvbHV0aW9uIChCKSB0byB1bmRlcnN0YW5kIGlm DQo+ID4gPiA+PiAgICAgICAgdGhlc2UgZmVhdHVyZXMgYXJlIHN1cHBvcnRlZA0KPiA+ID4gPj4g ICAgICAtIGFwcGxpY2F0aW9uIHJlZ2lzdGVycyBkeW5hbWljIGZpZWxkL2ZsYWcNCj4gPiA+ID4+ ICAgICAgLSBQTUQgZG9lcyBsb29rdXAgYW5kIHNvbHZlIHRoZSBwcm9ibGVtDQo+ID4gPiA+PiAg ICBUaGUgYXN5bW1ldHJ5IGNvdWxkIGJlIHBhcnRpYWxseSBtaXRpZ2F0ZWQgaWYgUlhfVElNRVNU QU1QDQo+ID4gPiA+PiAgICBzb2x1dGlvbiBpcyBjaGFuZ2VkIHRvIHJlcXVpcmUgYW4gYXBwbGlj YXRpb24gdG8gcmVnaXN0ZXINCj4gPiA+ID4+ICAgIGR5bmFtaWMgZmllbGRzIGFuZCBQTUQgdG8g ZG8gbG9va3VwIGlmIHRoZSBvZmZsb2FkIGlzDQo+ID4gPiA+PiAgICBlbmFibGVkLiBTbywgdGhl IG9ubHkgZGlmZmVyZW5jZSB3aWxsIGJlIGluIG5vIG9mZmxvYWQNCj4gPiA+ID4+ICAgIGluIHRo ZSBjYXNlIG9mIGZsb3cgTUFSSy9GTEFHIGFuZCB1c2FnZSBvZiBjb21wbGV4IGxvZ2ljDQo+ID4g PiA+PiAgICB0byB1bmRlcnN0YW5kIGlmIGl0IGlzIHN1cHBvcnRlZCBvciBuby4NCj4gPiA+ID4+ ICAgIE1heSBiZSBpdCB3b3VsZCBiZSByZWFsbHkgZ29vZCBzaW5jZSBpdCB3aWxsIGFsbG93IHRv DQo+ID4gPiA+PiAgICBoYXZlIGR5bmFtaWMgZmllbGRzIHJlZ2lzdGVyZWQgYmVmb3JlIG1lbXBv b2wgcG9wdWxhdGlvbi4NCj4gPiA+ID4+DQo+ID4gPiA+PiAxMC4gQ29tbW9uIGRyYXdiYWNrIG9m IHNvbHV0aW9ucyAoQikgYW5kIChDKSBpcyBubyBncmFudWxhcml0eS4NCj4gPiA+ID4+ICAgICBT b2x1dGlvbiAoQSkgbWF5IGJlIHBlciBxdWV1ZSB3aGlsZSAoQikgYW5kIChDKSBjYW5ub3QgYmUN Cj4gPiA+ID4+ICAgICBwZXIgcXVldWUuIE1vcmVvdmVyIChDKSBsb29rcyBnbG9iYWwgLSBmb3Ig YWxsIGRldmljZXMuDQo+ID4gPiA+PiAgICAgSXQgY291bGQgYmUgcmVhbGx5IHBhaW5mdWwuDQo+ ID4gPiA+Pg0KPiA+ID4gPj4gKEMpIGlzIG5pY2UsIGJ1dCBJIHN0aWxsIHZvdGUgZm9yIHNpbXBs aWNpdHkgYW5kIGdyYW51bGFyaXR5IG9mDQo+ID4gPiA+PiAoQSkuDQo+ID4gPiA+DQo+ID4gPiA+ IEkgdm90ZSBmb3IgY2xlYXIgc2VwYXJhdGlvbiBvZiBhcHBsaWNhdGlvbiBuZWVkcyBhbmQgUE1E IHN1cHBvcnQsIGJ5DQo+ID4gPiA+IHVzaW5nIHRoZSBtZXRob2QgQyAoZHluYW1pYyBmaWVsZHMp Lg0KPiA+ID4gPiBJIGFncmVlIHRpbWVzdGFtcCBtdXN0IHVzZSB0aGUgc2FtZSBwYXRoLg0KPiA+ ID4gPiBJIGFncmVlIGl0J3MgY29tcGxpY2F0ZSBiZWNhdXNlIHdlIGRvbid0IGtub3cgaW4gYWR2 YW5jZSB3aGV0aGVyIGENCj4gPiA+ID4gZmxvdyBydWxlIHdpbGwgYmUgYWNjZXB0ZWQsIGJ1dCB0 aGF0J3MgdGhlIHJlYWxpdHksIGNvbmZpZyBpcyBjb21wbGV4Lg0KPiA+ID4NCj4gPiA+IERvIHlv dSB0aGluayB0aGF0IGdsb2JhbCBuYXR1cmUgb2YgdGhlIChDKSBpcyBhY2NlcHRhYmxlPw0KPiA+ DQo+ID4gVGhhdCdzIGEgZ29vZCBxdWVzdGlvbi4NCj4gPiBNYXliZSB0aGUgZmVhdHVyZSByZXF1 ZXN0IHNob3VsZCBiZSBwZXIgcG9ydC4NCj4gPiBJbiB0aGlzIGNhc2UsIHdlIGFyZSBiYWNrIHRv IHNvbHV0aW9uIEEgd2l0aCBhIGZsYWcgcGVyIHBvcnQ/DQo+ID4NCj4gPiBOb3RlIHRoYXQgQSBh bmQgQyB3aWxsIG5vdCBndWFyYW50ZWUgdGhhdCB0aGUgb2ZmbG9hZCB3aWxsIGJlIHBvc3NpYmxl Lg0KPiA+IFdlIG5lZWQgQiAoZmxvdyBydWxlIHZhbGlkYXRpb24pIGFueXdheS4NCj4gDQo+IEkg bWF5IG5vdCB1bmRlcnN0YW5kIGhvdyBzb2x1dGlvbiBCIGNhbiB3b3JrcyB3ZWxsIGZvciBhbGwg dGhlIGNhc2VzLg0KPiANCg0KVGhhdCBpcyB0aGUgcG9pbnQgb2Ygc29sdXRpb24gQiBpdCBhbHdh eXMgd29yaywgaXQgaXMgYSBiaXQgaGFyZGVyIHRvIHVzZSBtYXliZSwNCmJ1dCB5b3UgY2FuIGNo ZWNrIGFuZCBkZWNpZGUgZXZlcnl0aGluZy4NCg0KPiBBIHJ0ZV9mbG93IHJ1bGUgY2FuIGJlIGlz c3VlZCBhZnRlciBkZXZfc3RhcnQsIHdoaWNoIG1lYW5zIHRoZSByeF9idXJzdA0KPiBmdW5jdGlv biBpcyBhbHJlYWR5IHNlbGVjdGVkIGF0IHRoYXQgdGltZSwNCj4gc28gZG9lcyB0aGF0IG1lYW4g dGhlIGRyaXZlciBuZWVkIHRvIHN3aXRjaCBmcm9tIGEgbm9uLSBtYXJrIG9mZmxvYWQgYXdhcmUN Cj4gcGF0aCB0byBhIG1hcmsgb2ZmbG9hZCBhd2FyZSBwYXRoIHdpdGhvdXQgc3RvcCBkZXZpY2U/ IG9yIGl0IGhhcyB0byByZWplY3QgdGhlDQo+IGZsb3c/DQo+IFRoZSBxdWVzdGlvbiBpcyBpZiB3 ZSBoYXZlIDIgZGF0YSBwYXRoLCBvbmUgc3VwcG9ydCBzb21lIG9mZmxvYWQgLCBvbmUgbm90DQo+ IGJ1dCBtb3JlIGZhc3QsIHdoaWNoIG9uZSBzaG91bGQgYmUgc2VsZWN0ZWQgZHVyaW5nIGRldl9z dGFydD8gSXNuJ3QgT2ZmbG9hZA0KPiB3aWRlbHkgdXNlZCB0byBzb2x2ZSB0aGlzIHByb2JsZW0/ DQo+IA0KPiBJIHRoaW5rIHRoZSBvcHRpb24gQSBzb2x2ZSBhbGwgdGhlIHByb2JsZW1zLCBvcHRp b24gQyBtaWdodCBhbHNvIHdvcmtzLCBidXQgQSBpcw0KPiBsb29rcyBtdWNoIHN0cmFpZ2h0Zm9y d2FyZCBmb3IgbWUuDQo+IA0KDQpTb2x1dGlvbiBBIG15IHJlc3VsdCBpbiBzZWxlY3RpbmcgaW5j b3JyZWN0IGRhdGFwYXRoICBwbGVhc2Ugc2VlIG15IGFuc3dlciBhYm92ZS4NCg0KQXMgeW91IGNh biBndWVzcyBJJ20gaW4gZmF2b3Igb2YgQiBhbmQgQyAoQyBuZWVkIEIpDQoNCj4gUmVnYXJkcw0K PiBRaQ0KPiANCj4gDQo+ID4NCj4gPiBJdCBzZWVtcyBBLCBCLCBDIGFyZSBub3QgYWx0ZXJuYXRp dmVzIGJ1dCBhbGwgcmVxdWlyZWQgYXMgcGllY2VzIG9mIGEgcHV6emxlLi4uDQo+ID4NCg0K