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 11B6AA04A2; Wed, 6 Nov 2019 07:58:34 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D86F61BFFD; Wed, 6 Nov 2019 07:58:33 +0100 (CET) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150058.outbound.protection.outlook.com [40.107.15.58]) by dpdk.org (Postfix) with ESMTP id AA6BD1BF4F for ; Wed, 6 Nov 2019 07:58:32 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZlldCURfVT6juyUYYyYgiLf8SPTX0hM+z3EhfCm4YL3JHy017aATAf2YGIPpb9Kafsl7/IcgcEl3MuY7SkogjYKfWuzurLEANkxaQ+UZkks3bEMY2i+A+SEVRnqm/v6UzAgWvWFw7kkEP0HppyIreaGrWRZtn55haSFBPNYd1QVrmAsu6Jf3yA4m1yiqCJLCz4pMpIj0ALEfDtXCR8g8fv9dsOa4/pTD9Tm6ENhcNt0Y1xoKonIFqmdE9TqqSxNocEISyiAmNtvZ4gcrfbsx3cux9u6SRHApcV0NKL13Rb6srI23mObY0ogEMlB+Y2SaYaOhuCz1UNSUmQfGO2qZaA== 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=pHzZddLazRFbMgxC4YhYFqe5jbxFWRRBE+TlkqvC8kI=; b=ed7GugLLUAnNmg43yANmzjipf47eUWDtzkMHJZvda40kpelbJZFCmDMN2rgmKrjp14AFPx/MKbM7UyVcH3HkPjGyEeXzIQl5O1ecOmPeaTp/plXO1Lz4ZYG9hoCh/dESO0dFB+k26stsVLlrhShyzAv7L5ZCx+WcSCG36SzXY7AHIPxTvt+nvBSxdxn+0z2FlrOKhzksdEU5psjOSjke+R30J4sTd6KVSP1NZFGjw/Gja5CsyjHm9n7wEUG14csZlvwPyq9ZHgFvH8hR+KqYmKqVAlvBAVmbyHsY0Y9D9KRfcT7BQ/AgYrWlMX3CKrMdagUMStzUYAaiHFHRnf1VNw== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pHzZddLazRFbMgxC4YhYFqe5jbxFWRRBE+TlkqvC8kI=; b=kqKP2tGMYSZLRR2mSm2TsZAIjSd1YDNX9Zg9V/3UW6qNFtb66fzrQ61R2OLEaKA1jjObPNolVp4lwar+V/WahS9Qg0uTGDr0LpeQf6ZKTpPpqpOtf9c4wrUwrgX005wXdEpHKn4LcM/2pe/BuGvnqhVep34QLqUG1jlCrn7nS/g= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.39.139) by AM0PR0502MB4068.eurprd05.prod.outlook.com (52.133.38.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2408.24; Wed, 6 Nov 2019 06:58:31 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::fd7a:e5a8:deec:c1b0]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::fd7a:e5a8:deec:c1b0%7]) with mapi id 15.20.2430.020; Wed, 6 Nov 2019 06:58:31 +0000 From: Matan Azrad To: Andrew Rybchenko , Pavan Nikhilesh Bhagavatula , "ferruh.yigit@intel.com" , Jerin Jacob Kollanukkaran , Thomas Monjalon CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v15 3/7] ethdev: add validation to offloads set by PMD Thread-Index: AQHVkKQy9cRH0wytkUuPwqxEr75O2Kd5AfEwgABcroCAAAJbkIADLIIAgAAOhFCAAA/fgIABC80A Date: Wed, 6 Nov 2019 06:58:30 +0000 Message-ID: References: <20191029050312.2715-1-pbhagavatula@marvell.com> <20191029153722.4547-1-pbhagavatula@marvell.com> <20191029153722.4547-4-pbhagavatula@marvell.com> <0547e0a0-1ccd-84ee-46f1-5b35e1d25680@solarflare.com> In-Reply-To: Accept-Language: en-US, he-IL Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=matan@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 1027101f-c1e9-4d16-f15a-08d76286bbb7 x-ms-traffictypediagnostic: AM0PR0502MB4068: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 02135EB356 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(346002)(396003)(39860400002)(366004)(136003)(376002)(199004)(52314003)(189003)(14454004)(81156014)(4326008)(71190400001)(8936002)(446003)(7696005)(486006)(186003)(6506007)(305945005)(5660300002)(52536014)(74316002)(53546011)(25786009)(76176011)(102836004)(55016002)(7736002)(81166006)(86362001)(8676002)(6436002)(33656002)(229853002)(99286004)(71200400001)(66946007)(6116002)(66446008)(66476007)(64756008)(66556008)(76116006)(11346002)(2906002)(2501003)(3846002)(6246003)(26005)(9686003)(478600001)(316002)(14444005)(110136005)(256004)(476003)(66066001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB4068; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX: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: Mw2E6/eeFaUSbACUijq4b11bsjKG70pUC1mfFNr0sJErKtvL67E9tcDjKVNk8mkzYOQ4pMsoEgHsnzDs7mB/ON0KAsV7tp0mEx7I9hHwIONzqAuNAkVKWcRbK4mkU223okj8jvLKy9wBFcEMVAKaDFFVxJCsRZISEmvOUdDNoF+eOor48WjoRTySEsVlYHuRWS611wv5Uz+Z8xh64DjSnz5F9M8W006DVLDMXaKEfq5NiLQZDsqYXEchtQvzgF0WAhmpN5h1u5maRyoDPugV5sKLfYj0WNlLkk07rJSzEXjSYvgWsILviKJmYF8pw/LUCSeDsLSwW6usetxu+/yweMqa2AJ2oe/67NF0BIWtXTM/n4rK+GbdMekIhIO5VPAWGA76W8++K5M6kPCCqvkPx+afMuRmozp12bUGU/BvErBYNIMD6I10i/MNb206LWvq 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: 1027101f-c1e9-4d16-f15a-08d76286bbb7 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Nov 2019 06:58:30.9948 (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: rwH+V/FnwUXOWflWcAifZaWf7lbNaAX0IUnPbIzw6nxTOOIUuU97/7VmKymAHzMQTGLkaNDFDWOwGSWE+jFPyg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB4068 Subject: Re: [dpdk-dev] [PATCH v15 3/7] ethdev: add validation to offloads set by PMD 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" DQoNCkZyb206IEFuZHJldyBSeWJjaGVua28NCj4gT24gMTEvNS8xOSA1OjA1IFBNLCBNYXRhbiBB enJhZCB3cm90ZToNCj4gPiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvDQo+ID4+IE9uIDExLzMvMTkg NjoxNiBQTSwgTWF0YW4gQXpyYWQgd3JvdGUNCj4gPj4+IEZyb206IEFuZHJldyBSeWJjaGVua28N Cj4gPj4+PiBPbiAxMS8zLzE5IDk6NTcgQU0sIE1hdGFuIEF6cmFkIHdyb3RlOg0KPiA+Pj4+PiBI aQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvDQo+ID4+Pj4+PiBPbiAx MC8zMS8xOSA3OjMzIFBNLCBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGEgd3JvdGU6DQo+ID4+ Pj4+Pj4+IEZyb206IFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZhdHVsYQ0KPiA+Pj4+Pj4+Pj4gSGkg TWF0YW4sDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IEhpIFBhdmFuDQo+ID4+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+PiBGcm9tOiBQYXZhbiBOaWtoaWxlc2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxs LmNvbT4NCj4gPj4+Pj4+Pj4+Pj4gU29tZSBQTURzIGNhbm5vdCB3b3JrIHdoZW4gY2VydGFpbiBv ZmZsb2FkcyBhcmUNCj4gPj4+Pj4+Pj4+Pj4gZW5hYmxlL2Rpc2FibGVkLCBhcyBhIHdvcmthcm91 bmQgUE1EcyBhdXRvIGVuYWJsZS9kaXNhYmxlDQo+ID4+Pj4+Pj4+Pj4+IG9mZmxvYWRzIGludGVy bmFsbHkgYW5kIGV4cG9zZSBpdCB0aHJvdWdoIGRldi0+ZGF0YS0NCj4gPmRldl9jb25mLnJ4bW9k ZS5vZmZsb2Fkcy4NCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4gQWZ0ZXIgZGV2aWNlIHNw ZWNpZmljIGRldl9jb25maWd1cmUgaXMgY2FsbGVkIGNvbXBhcmUgdGhlDQo+ID4+Pj4+Pj4+Pj4+ IHJlcXVlc3RlZCBvZmZsb2FkcyB0byB0aGUgb2ZmbG9hZHMgZXhwb3NlZCBieSB0aGUgUE1EIGFu ZCwNCj4gPj4+Pj4+Pj4+Pj4gaWYgdGhlIFBNRCBmYWlsZWQgdG8gZW5hYmxlIGEgZ2l2ZW4gb2Zm bG9hZCB0aGVuIGxvZyBpdCBhbmQNCj4gPj4+Pj4+Pj4+Pj4gcmV0dXJuIC1FSU5WQUwgZnJvbSBy dGVfZXRoX2Rldl9jb25maWd1cmUsIGVsc2UgaWYgdGhlIFBNRA0KPiA+Pj4+Pj4+Pj4+PiBmYWls ZWQgdG8gZGlzYWJsZSBhIGdpdmVuIG9mZmxvYWQgbG9nIGFuZCBjb250aW51ZSB3aXRoDQo+IHJ0 ZV9ldGhfZGV2X2NvbmZpZ3VyZS4NCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBydGVfZXRo X2Rldl9jb25maWd1cmUgY2FuIGJlIGNhbGxlZCBtb3JlIHRoYW4gMSB0aW1lIGluIHRoZQ0KPiA+ Pj4+Pj4+Pj4+IGRldmljZSBsaWZlIHRpbWUsIEhvdyBjYW4geW91IGtub3cgd2hhdCBpcyB0aGUg bWluaW11bQ0KPiA+Pj4+Pj4+Pj4+IG9mZmxvYWQgY29uZmlndXJhdGlvbnMgcmVxdWlyZWQgYnkg dGhlIHBvcnQgYWZ0ZXIgdGhlIGZpcnN0IGNhbGw/DQo+ID4+Pj4+Pj4+Pj4gTWF5YmUgcHV0dGlu ZyBpdCBpbiBkZXYgaW5mbyBpcyBiZXR0ZXIsIHdoYXQgZG8geW91IHRoaW5rPw0KPiA+Pj4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+PiBXZSBvbmx5IHJldHVybiAtRUlOVkFMIGluIHRoZSBjYXNlIHdoZXJl IHdlIGVuYWJsZSBhbiBvZmZsb2FkDQo+ID4+Pj4+Pj4+PiBhZHZlcnRpc2VkIGJ5IGRldl9pbmZv IGFuZCB0aGUgcG9ydCBzdGlsbCBmYWlscyB0byBlbmFibGUgaXQuDQo+ID4+Pj4+Pj4+IEFyZSB5 b3Ugc3VyZSBpdCBpcyBvayB0aGF0IGRldmljZXMgbWF5IGRpc2FibGVcZW5hYmxlIG9mZmxvYWRz DQo+ID4+Pj4+Pj4+IHVuZGVyIHRoZSBob29kIHdpdGhvdXQgdXNlciBub3RpZmljYXRpb24/DQo+ ID4+Pj4+Pj4gU29tZSBkZXZpY2VzIGFscmVhZHkgZG8gaXQuIFRoZSBhYm92ZSBjaGVjayBhZGRz IHZhbGlkYXRpb24gZm9yIHRoZQ0KPiBzYW1lLg0KPiA+Pj4+Pj4gVGhlIHByb2JsZW0gaXMgdGhh dCBzb21lIG9mZmxvYWRzIGNhbm5vdCBiZSBkaXNhYmxlZC4NCj4gPj4+Pj4gWWVzLCBJIHVuZGVy c3RhbmQgaXQuDQo+ID4+Pj4+DQo+ID4+Pj4+PiBJZiBhcHBsaWNhdGlvbiBkb2VzIG5vdCByZXF1 ZXN0IFJ4IGNoZWNrc3VtIG9mZmxvYWQgc2luY2UgaXQgZG9lcw0KPiA+Pj4+Pj4gdXNlIGl0LCBp dCBpcyBub3QgYSBwcm9ibGVtIHRvIHJlcG9ydCBpdC4NCj4gPj4+Pj4gWWVzLCBmb3IgUlggY2hl Y2tzdW0gSSB0ZW5kIHRvIGFncmVlIHRoYXQgYXBwbGljYXRpb24gZG9lc24ndCBjYXJlDQo+ID4+ Pj4+IGlmIHRoZQ0KPiA+Pj4+IFBNRCB3aWxsIGNhbGN1bGF0ZSB0aGUgY2hlY2tzdW0gaW4gc3Bp dGUgb2YgdGhlIG9mZmxvYWQgaXMgZGlzYWJsZWQuDQo+ID4+Pj4+DQo+ID4+Pj4+IEJ1dCB3aGF0 J3MgYWJvdXQgb3RoZXIgb2ZmbG9hZHM6DQo+ID4+Pj4+IEZvciBleGFtcGxlIGluIFJYOiBMUk8s IENSQ19LRUVQLCBWTEFOX1NUUklQLCBKVU1CTyBJZiB0aGUgUE1EDQo+ID4+Pj4+IHdpbGwgc3Rh eSB0aGVtIG9uIHdoaWxlIHRoZSBhcHAgaXMgZGlzYWJsaW5nIGl0LCBJdCBjYW4gY2F1c2UgYQ0K PiA+Pj4+PiBwcm9ibGVtcyB0byB0aGUNCj4gPj4+PiBhcHBsaWNhdGlvbiAoYWZmZWN0cyB0aGUg cGFja2V0IGxlbmd0aCkuDQo+ID4+Pj4NCj4gPj4+PiBZZXMsIEkgYWdyZWUgdGhhdCBzb21lIG9m ZmxvYWRzIGFyZSBjcml0aWNhbCB0byBiZSBkaXNhYmxlZCwgYnV0DQo+ID4+Pj4gUlNTX0hBU0gg ZGlzY3Vzc2VkIGluIHRoZSBjaGFuZ2VzZXQgaXMgbm90IGNyaXRpY2FsLg0KPiA+Pj4NCj4gPj4+ IFNvLCBhcmUgeW91IGFncmVlIEl0IHNob3VsZCBub3QgYmUgY2hlY2tlZCBnbG9iYWxseSBmb3Ig YWxsIHRoZQ0KPiA+Pj4gb2ZmbG9hZHMgaW4NCj4gPj4gZXRoZGV2IGxheWVyPw0KPiA+Pg0KPiA+ PiBJZiBvZmZsb2FkIGlzIG5vdCByZXF1ZXN0ZWQsIGJ1dCBlbmFibGVkIChzaW5jZSBQTUQgY2Fu bm90IGRpc2FibGUNCj4gPj4gaXQpLCByaWdodCBub3QgaXQgd2lsbCBub3QgZmFpbCBjb25maWd1 cmUsIGJ1dCB3YXJuIGFib3V0IGl0IGluIGxvZ3MuDQo+ID4+DQo+ID4NCj4gPiBJbiB0aGlzIGNh c2Ugd2FybmluZyBwcmludCBpcyBub3QgZW5vdWdoIHNpbmNlIGl0IGNhbiBiZSBjcml0aWNhbCBm b3IgdGhlDQo+IGFwcGxpY2F0aW9uIGZvciBzb21lIG9mZmxvYWRzLg0KPiA+IEl0IGNhbiBiZSB2 ZXJ5IHdlaXJkIGZvciB0aGUgYXBwbGljYXRpb24gdG8gc2VlIHRoYXQgc29tZSBvZmZsb2FkIGFy ZSBvbg0KPiB3aGlsZSB0aGUgYXBwbGljYXRpb24gZG9lc24ndCBleHBlY3QgdGhlbSB0byBiZSBv bi4NCj4gPiBpdCBldmVuIGNhbiBjYXVzZSBhcHAgY3Jhc2goYXQgbGVhc3QgZm9yIHRoZSBSWCBv ZmZsb2FkIEkgd3JvdGUgYWJvdmUpLg0KPiANCj4gVGhlIHBhdGNoIGltcHJvdmVzIHRoZSBzaXR1 YXRpb24uIEVhcmxpZXIgaXQgd2FzIHNpbGVudCwgbm93IGl0IHdpbGwgYmUgYXQgbGVhc3QNCj4g dmlzaWJsZS4NCg0KV2UgY2FuIGRvIGl0IHZpc2libGUgaW5zaWRlIHRoZSBsaW1pdGVkIFBNRHMu DQoNCj4gSSdtIGFmcmFpZCB0aGF0IGluIDE5LjExIHJlbGVhc2UgY3ljbGUgd2UgY2Fubm90IGNo YW5nZSBpdCB0byBmYWlsDQo+IGRldl9jb25maWd1cmUuIEkgdGhpbmsgaXQgd2lsbCBiZSB0b28g ZGVzdHJ1Y3RpdmUuDQo+IEZ1dHVyZSBpbXByb3ZlbWVudCBzaG91bGQgYmUgZGlzY3Vzc2VkIHNl cGFyYXRlbHkuDQoNClNvIHdlIGNhbiByZW1vdmUgdGhpcyBldGhkZXYgcGF0Y2ggbm93IGFuZCBs ZXQgdGhlIFBNRCB0byBkbyBpdCB1bnRpbCB3ZSB3aWxsIGZpbmQgYmV0dGVyIHNvbHV0aW9uIGxh dGVyLg0KDQo+ID4+PiBJdCBldmVuIGJlIG1vcmUgcHJvYmxlbWF0aWMgaWYgdGhlIGR5bmFtaWMg b2ZmbG9hZCBmaWVsZCBpbiBtYnVmIGlzIG5vdA0KPiBleGlzdCBhdCBhbGwuDQo+ID4NCj4gPiBB bnkgYW5zd2VyIGhlcmU/DQoNCkEgUnggb2ZmbG9hZCByZXF1aXJlcyBkeW5hbWljIG1idWYgZmll bGQgY2Fubm90IHN0YXkgdmlzaWJsZSB3aGlsZSB0aGUgYXBwIGRpc2FibGluZyBpdC4NCkJlY2F1 c2UgdGhlIGR5bmFtaWMgbWJ1ZiBmaWVsZCBwcm9iYWJseSBpcyBub3Qgc2V0IGluIHRoZSBtYnVm Lg0KTWF5IGNhdXNlIHByb2JsZW1zLg0KDQo+IFBsZWFzZSwgY2xhcmlmeSB0aGUgcXVlc3Rpb24u DQo+IA0KPiA+Pj4+DQo+ID4+Pj4+IEZvciBleGFtcGxlIGluIFRYOiBUU08sIFZMQU4sIE1VTFRJ X1NFRy4uLi4uDQo+ID4+Pj4NCj4gPj4+PiBUeCBpcyBub3QgdGhhdCBjcml0aWNhbCBzaW5jZSBh cHBsaWNhdGlvbiBzaG91bGQgbm90IHJlcXVlc3QgdGhlc2UNCj4gPj4+PiBvZmZsb2FkcyBwZXIt IHBhY2tldC4gVHggb2ZmbG9hZHMgYXJlIG1haW5seSByZXF1aXJlZCB0byBlbnN1cmUNCj4gPj4+ PiB0aGF0IGFwcGxpY2F0aW9uIG1heSByZXF1ZXN0IHRoZSBvZmZsb2FkIHBlciBwYWNrZXQgYW5k IGl0IHdpbGwgYmUgZG9uZS4NCj4gPj4+DQo+ID4+PiB5ZXMsIHlvdSByaWdodCwgSW4gVFggaXQg bG9va3MgbGVzcyBjcml0aWNhbCAoZm9yIG5vdykuDQo+ID4+Pg0KPiA+Pj4+DQo+ID4+Pj4+PiBP ZiBjb3Vyc2UsIGl0IGNvdWxkIGJlIGEgcHJvYmxlbSBpZiB0aGUgb2ZmbG9hZCBpcyB1c2VkLCBi dXQNCj4gPj4+Pj4+IGFwcGxpY2F0aW9uIHdhbnRzIHRvIGRpc2FibGUgaXQsIGZvciBleGFtcGxl LCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLg0KPiA+Pj4+Pj4gSW4gdGhpcyBjYXNlLCB0aGUgc29s dXRpb24gaXMgdG8gbWFzayBvZmZsb2FkcyBvbiBhcHBsaWNhdGlvbg0KPiA+Pj4+Pj4gbGV2ZWws IHdoaWNoIGlzIG5vdCBpZGVhbCBhcyB3ZWxsLg0KPiA+Pj4+PiBXaHkgbm90IGlkZWFsPw0KPiA+ Pj4+DQo+ID4+Pj4gSXQgZWF0cyBDUFUgY3ljbGVzLg0KPiA+Pj4NCj4gPj4+IFNvcnJ5LCBJIGRv bid0IHVuZGVyc3RhbmQgeW91ciB1c2UgY2FzZSBoZXJlLg0KPiA+Pg0KPiA+PiBJZiBhcHBsaWNh dGlvbiB3YW50cyB0byB0cnkgY29kZSBwYXRoIHdpdGhvdXQsIGZvciBleGFtcGxlLCBSeA0KPiA+ PiBjaGVja3N1bSBvZmZsb2FkLCBpdCBjb3VsZCBiZSBpbnN1ZmZpY2llbnQgdG8gZGlzYWJsZSB0 aGUgb2ZmbG9hZA0KPiA+PiByaWdodCBub3csIGJ1dCBhbHNvIHJlcXVpcmVkIHRvIGNsZWFudXAg b2ZmbG9hZCByZXN1bHRzIGZsYWdzIGluIGVhY2gNCj4gPj4gbWJ1ZiAoaWYgUE1EIGRvZXMgbm90 IHN1cHBvcnQgdGhlIG9mZmxvYWQgZGlzYWJsaW5nKS4NCj4gPg0KPiA+IFdoYXQgaXMgInJpZ2h0 IG5vdyI/IENvbmZpZ3VyYXRpb24gdGltZT8NCj4gDQo+IFJpZ2h0IG5vdyBpcyB0aGUgY3VycmVu dCBzdGF0ZSBvZiBzb21lIGRyaXZlcnMgaW4gRFBESyB0cmVlLg0KPiANCg0KT0suDQpJIHRoaW5r IHRoZSBvZmZsb2FkIGNvbmZpZ3VyYXRpb24gaXMgaW4gY29uZmlndXJhdGlvbiB0aW1lLiBObyBk YXRhLXBhdGguDQoNCj4gPiBJZiBhcHBsaWNhdGlvbiB3aWxsIGtub3cgdGhhdCBQTUQgY2Fubm90 IGRpc2FibGUgdGhlIHJ4LWNoZWNrc3VtIGluDQo+ID4gY29uZmlndXJhdGlvbiB0aW1lLCBJdCBj YW4gcGxhbiB0byBub3QgY2xlYW4gdGhpcyBmbGFnIGluIG1idWYgZm9yIGVhY2ggcngNCj4gbWJ1 Zi4NCj4gDQo+IFllcyBhbmQgYXBwbGljYXRpb24gaGFzIGEgd2F5IHRvIGtub3cgaXQgLSB0YWtl IGEgbG9vayBhdCBkZXYtPmRhdGEtDQo+ID5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMuDQoNCkFz IEkgdW5kZXJzdGFuZCwgYmVmb3JlIHRoaXMgcGF0Y2gsIHRoaXMgZmllbGQgdXNlZCBmb3IgZXRo ZGV2IGxheWVyIGtub3dsZWRnZSB0byB0cmFjayBvbiB0aGUgYXBwbGljYXRpb24gUnggb2ZmbG9h ZCBjb25maWd1cmF0aW9uLg0KQW0gSSB3cm9uZz8NCg0KQW5kIElmIHRoZSBtZWFuaW5nIGlzIHRo ZSBQTUQgY29uZmlndXJhdGlvbiBzZXQgKHdoaWNoIHdlaXJkbHkgY2FuIGJlIGRpZmZlcmVudCBm cm9tIHdoYXQgYXBwbGljYXRpb24gd2FudCkNCkkgdGhpbmsgaXQgc2hvdWxkIGJlIGFuIGVycm9y IC0gYmVjYXVzZSBhcHAgZG9lc24ndCBmb2xsb3cgdGhlIEFQSS4NCg0KPiA+IEl0IGxvb2tzIG1l IGxpa2UgUE1EIGxpbWl0YXRpb24gd2hpY2ggY2FuIGJlIHNvbHZlZCBieSAyIG9wdGlvbnM6DQo+ ID4gMS4gQ2FwYWJpbGl0eSBpbmZvcm1hdGlvbiB3aGljaCBzYXkgdG8gdGhlIGFwcCB3aGF0IG9m ZmxvYWQgbWF5IG5vdCBiZQ0KPiBkaXNhYmxlZC4NCj4gPiAyLiBBZGQgbGltaXRhdGlvbiBpbiB0 aGUgUE1EIGRvY3VtZW50YXRpb24gYW5kIHByaW50IHdhcm5pbmdcZXJyb3INCj4gbWFzc2FnZSBm cm9tIHRoZSBQTUQuDQo+IA0KPiBZZXMsIHJpZ2h0IG5vdyB3ZSBhcmUgZ29pbmcgd2F5ICgyKS4N Cj4NCj4gPj4+Pj4gSWYgYXBwbGljYXRpb24gY2FuIGtub3cgdGhlIGxpbWl0YXRpb24gb2Ygb2Zm bG9hZHMgZGlzYWJsaW5nIChmb3INCj4gPj4+Pj4gZXhhbXBsZSB0bw0KPiA+Pj4+IHJlYWQgY2Fw YWJpbGl0eSBvbiBpdCkNCj4gPj4+Pj4gVGhlIGFwcGxpY2F0aW9uIGhhcyBhbGwgaW5mb3JtYXRp b24gdG8gdGFrZSBkZWNpc2lvbnMuDQo+ID4+Pj4+DQo+ID4+Pj4+PiBBbnl3YXksIHRoZSBwYXRj aCBqdXN0IHRyaWVzIHRvIGhpZ2hsaWdodCBkaWZmZXJlbmNlIG9mIGFwcGxpZWQNCj4gPj4+Pj4+ IGZyb20gcmVxdWVzdGVkLiBTbywgaXQgaXMgYSBzdGVwIGZvcndhcmQuDQo+ID4+Pj4+PiBBbHNv LCB0aGUgcGF0Y2ggd2lsbCBmYWlsIGNvbmZpZ3VyZSBpZiBhbiBvZmZsb2FkIGlzIHJlcXVlc3Rl ZCwNCj4gPj4+Pj4+IGJ1dCBub3QNCj4gPj4+PiBlbmFibGVkLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+ Pj4gQ2FuJ3QgaXQgYnJlYWsgYXBwbGljYXRpb25zPw0KPiA+Pj4+Pj4+PiBXaHkgZG9lcyB0aGUg ZGV2aWNlIGV4cG9zZSB1bnN1cHBvcnRlZCBvZmZsb2FkcyBpbiBkZXYgaW5mbz8NCj4gPj4+Pj4+ Pj4gRG9lcyBpdCB1cGRhdGUgdGhlIHJ1bm5pbmcgb2ZmbG9hZCB1c3luY2hyb25pY2FsbHk/IFJh Y2U/DQo+ID4+Pj4+Pj4+IENhbiB5b3UgZXhwbGFpbiBhbHNvIHlvdXIgc3BlY2lmaWMgdXNlIGNh c2U/DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4gTWF0YW4NCj4gPj4+DQo+ ID4NCg0K