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 6B241A0543; Thu, 22 Sep 2022 12:06:15 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2171440156; Thu, 22 Sep 2022 12:06:15 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2080.outbound.protection.outlook.com [40.107.244.80]) by mails.dpdk.org (Postfix) with ESMTP id B8E70400D7 for ; Thu, 22 Sep 2022 12:06:13 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BAcCtCAFwCotSP43qgqBa7xYML/pjPIc6HEeHuv4j7bPf0dmHrgsTOE71uMnb8g1JGi5VRfwKNyW7giydmvBbeH3kZ5Ra2qy+yXCBjU133nOhef6DynQNFUVtdlpZ3jkkoVCfhGN/4M7ct7JlaDfwEbJCLeGp8yLYydlzm2pNIxBHwWItsLcqmO9sPebIwZYu7TpnrbfnFLjhYZYsDb/octGKsIUkCi9U695TvZqCio8v3Rnkxo0o1EnK6mY9iaTTTy89IObgM9LptjwCcEB/GC17VTJSxC5z43oRqNXXJach7Fzs2i0GLPqe4wblbpnD1YPPrue81phUT8eiKovlQ== 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=dBRI+kBVFAvWAJeJWKHJBPoXYqYvA7+C+n8/RrY5HfY=; b=LIjFxPxN9uc447282IsgePvy1teYwY88r5h7IAi0TBYAo8z9MPUA9wM7t4Tz0mUAdHHAtnp4ua6vMeX5k/U3v9U4oTUV3tYNZpDjQhawxEbhnqV4OgTav3AuyrekVe3wJgqiZOV5X29Y76TwBCsQyuUNQPzMvnQrzA0Ao9OqvemR80BB+giD3acpH2Cnsv4e+Fd5ygFVa6Tnv5Yyor4NsTR79F9E8euDdEnHux2VisHiu9wCjgza0ZFJWLi36+Yu3J0HvhJYdkTyyGER+gAvXaSrIBEIz8wYKxAI29S278hJkTRZ1HKdYSSyC76QGuo6SbBWcBwVdsQjDWeKX9r8Lw== 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=dBRI+kBVFAvWAJeJWKHJBPoXYqYvA7+C+n8/RrY5HfY=; b=WLFBcsMCL21A6dVGudbfZrwsFlT8UNU3uuEQETQT2RU6inm+GqSNi5ZnWCPQHBBUkYXBXnzZeVuFUb26URFFhOXXlaaPokpjB43+/fT6S6eqFmemzTcV5hI0zkobXrOZ+6ZKtD9rSRmHjnTqoczgMHb5DM5/6p6cCuGbJlAAdTGuBaJEee1gEeFVWAfuRqcDthbNI61ThMrQe09N57j6f6YUDYHLet0Lh9lfGlvVYtl3D88B5Buei3FmKsHwNPJtO7b8FmAAvYXQbp92XksXe9Oguqy4cJD+PfLV+W6VsIWJTFOh1HQze++Lw/rbzKUZc8guVx6b8CaeOIHEXMtsjg== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by DM6PR12MB4075.namprd12.prod.outlook.com (2603:10b6:5:21d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.18; Thu, 22 Sep 2022 10:06:11 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9847:f2a5:c4f:ec52]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9847:f2a5:c4f:ec52%5]) with mapi id 15.20.5632.021; Thu, 22 Sep 2022 10:06:11 +0000 From: Ori Kam To: Andrew Rybchenko , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Ivan Malov CC: Rongwei Liu , Matan Azrad , Slava Ovsiienko , Aman Singh , Yuying Zhang , "dev@dpdk.org" , Raslan Darawsheh , "jerinj@marvell.com" , "ajit.khaparde@broadcom.com" Subject: RE: [PATCH v1] ethdev: add direction info when creating the transfer table Thread-Topic: [PATCH v1] ethdev: add direction info when creating the transfer table Thread-Index: AQHYwmNBlMPGSxWFbECmDbi50+NQZa3cDLOAgAFdCwCAAAzvgIAA9vIAgAAlywCAAC4vAIAAU/oAgACiMQCAAHInAIAAEUWAgAAkdICAAATEgIAHt1DAgAA9WICAAAyHcIAAIM+AgADwaXCAADbcAIAACcuAgAAGtYCAACjowIAABEJQgAE8sgCAACQsgA== Date: Thu, 22 Sep 2022 10:06:11 +0000 Message-ID: References: <20220907024020.2474860-1-rongweil@nvidia.com> <4733483b-effe-1eac-cbf-d238e1ec2b8@oktetlabs.ru> <13527775.RDIVbhacDa@thomas> <98CBD80474FA8B44BF855DF32C47DC35D87342@smartserver.smartshare.dk> 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_|DM6PR12MB4075:EE_ x-ms-office365-filtering-correlation-id: 4f29c848-a993-4779-a712-08da9c82138f 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: /Et1/VAmXcZJCiyxx/yqRkAGW69/XgGK8fahqO72tXDCyTKxiErYFp+uWtEh2P2CACOY8vRUnR6+H0JBuya6t1v6+8ANwmXYh4YUzVYRRoSpBjlct6FgolVxWFqLUJlXLgHz7Kqn0023Aqt+7mGjs8JY8n3Fg5EtSUBFTbNXHTTr/t6Ncm5uRVs/mHoRxWO8DYOkh8P9mjnxSvYQSUfbegOCbrtYggnp1rIaPYPQ9ncovAa12F+GT8d9rtuq8xL0f3onbhQ7Q93lKq0TjH8/d05Dy4UTfSfAj9d/nVSywW8IqNzlV09XKhhA0yGLm81CeX1VCyNHxwpVx1A0YR1cu3fyIlEdW/qHy72JC+f0r0zJbvx7Al4wL0oE+IjgNo9FDZvym7N+gcoU731rRGby9Vh6iDSf7n/fNKVhsz9yfz2g+7SdHfzINLyCklYyDMydmDs6dZbUAmhC9mNpon1JKMwh5tMUSL2TCnW1qJnAY/Pj6R4zKo4rvx5gCh0omRE7SP0jhybYFMOoA4dIyNJb2wSd9/kzSpp/o6SWKST0V4Tp+c+0GkuNtTLW/JD9r8oCBIMhmzGC9gqmPF05sOzFJ0N/uXlSWMp9bS5XT1uqcVJhSuddRPv0Hb13klMK2e1SQYKGEkA2e9jN0+Ba9hc+FeaHjUVxWitoFHcU43HikjB6sUMpfhpozbrPEz9y5XmSVqhvSocniHGPe340uv6hLaAOSDqCh/GiL3nmWqM17xQgUxJWmgGkGN95n48DXs2yv+Tpk+ZlKDL/Ugq7urqKIQ== 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:(13230022)(4636009)(366004)(136003)(376002)(39860400002)(396003)(346002)(451199015)(66946007)(54906003)(110136005)(41300700001)(2906002)(316002)(33656002)(71200400001)(66556008)(86362001)(64756008)(66446008)(66476007)(478600001)(8676002)(38100700002)(186003)(122000001)(53546011)(4326008)(6506007)(5660300002)(55016003)(76116006)(7696005)(38070700005)(52536014)(83380400001)(9686003)(66574015)(8936002)(26005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RzloclZTQ3FmY2MzVEo0UEM1UExmMlBQUXp4VXFhRTRSOUpmdTZjeTNoRm1z?= =?utf-8?B?aWNPRVkyZjQvYUlqb3JieHR1TlVhbVF0NExqVDJvNUhUSlEvLzdGWHB4bHVG?= =?utf-8?B?TnBLWjhoM2dBblZQRnVNalp1UmFCRHdIRFoxZmVRK3lRYjBidHZTWUtrNWJj?= =?utf-8?B?N1JYSTZCWDJlYUZ4eWd4a0YyOUdNR1g1em9Mb2FXanJ6aUVZYWx6Z1IvVVZK?= =?utf-8?B?YTM2cklRcDFOZlUwblRxQjQ5Sy9GTm1RNDgrZm5QSnJtYnV5cVZId080Zk5p?= =?utf-8?B?VzQ4RXllY0Q4TUY1eVNFL2FudjBzQUJjdmdHTGh3SHBmRms2QXFjcHZhM0Mr?= =?utf-8?B?b1JjaVlPSHh3KzM1SWtNUzN4eHI2MGxSdTZTbnVHSERtOGl0Zk42K2pSZDhL?= =?utf-8?B?ZHZXMWJGSHdZOEVocmNySC9ObUtkaEs1NEROdWd1bUFLZ0V5Q2JNaUtHa0E1?= =?utf-8?B?bzkvS040RWxVckl2b1pjMmNLR2IzdE5xd1Z3UDJ0bUFGMzFNT2xTZExHaHB2?= =?utf-8?B?M0djRjBOWUt0SEsvNlhEaWYxWS8yTVBzNVN0dmg2WllURFJhNjBGaEk0WjV2?= =?utf-8?B?V0hRaXkvQUs5Zk1FMHdEbGJBMTBNRHJZS0Y3UmxMRzQvTWQ5ZlBaWXZNOUxM?= =?utf-8?B?WXB2SnhZTENadXN2NXk5MzRVbmdxa2RTOUVRdEtBbGZZS2l1eWt3Y2FTWFp0?= =?utf-8?B?OVJmbjJkUmVGOVVid05PclJTTlZpbURMTEZwSnZQR2dUYitkUDBaYWZrSDlt?= =?utf-8?B?MWlLUlBOd3B6ZkIyNm1PRE82c0ZEeFVUNlBPa0UyT1hQdEVpWXZEMm0rdWo5?= =?utf-8?B?akdoemdNWGx2a0wxZW9pbkRHR1dsUEg1RmZNU0w4c1JhTyt1MGk4Qk9LK1k5?= =?utf-8?B?ZW13azRrWTJvT3NzakpHeGQ2ZlExb1gyWS9KTjNzZWxSUCtjNmlBck5WUkZY?= =?utf-8?B?UndnMlZKYnZvMnM3NjYvZkhwejBMbXQxT0JWWFpMYWRnWHVzaHlrcWJac0I0?= =?utf-8?B?SWpCR2ZQbTFjR2lrSnhUcVh0OUZIa1NLOWl0MGpLNXdZZzhLdDQzM29EWWxp?= =?utf-8?B?d05hSTNhUk9UdW9MSGlDeDhNVU1wK21aMWl6Nk1lMWM3THlvVnZ6UCtlZ1dM?= =?utf-8?B?K0wxbmVQWTV1ck9BZmJaTXgyRWxqSlVOYzlCRnJSOElsbVZvTksrMkxwaXho?= =?utf-8?B?dEg3WE9RdnZ3TnZsNGl4VW1hRU1yV2VHNkJ6RWRob1lpYzFFNnJOUStsbmp3?= =?utf-8?B?ZG9lOVlwS2Z5SFVIVFJQUmxFZG5JSTk4UXVNVXliQXBZdXArZFlLOFNJUWdF?= =?utf-8?B?bU1JSzU5aVhCZEk3eUFkdEZGZzYxWXNqUGF3OXZzNTB3WWJqRHdhU0hUYVAr?= =?utf-8?B?TEQ2dy9YMFFjWlNCdGw2RHgvUzlhcEc4NHFDZ3BGREd3Y0RDOVNyRU9kMVpF?= =?utf-8?B?NXEvdnJFekRibzZpRGVtMjF4d3dFM2p6OUFDUmZoTkFWYmFpWGRpTmhsbmdF?= =?utf-8?B?bkIrQkk5WE04amVTSmJjdUVKc2VBOHJ2M1g1eWVWV1A5UmRKZVlkbzhIUUlE?= =?utf-8?B?VTN3dXEwYWNtd0VyY0dyRXU4VnZhMnVHTXZhOHZoSStIZTJvRUZlQkVYREpI?= =?utf-8?B?YnArdGVvUm40d2t5QjU4Z3h3VlV0VnRlSnBzMThYNFZqUTBiV2l2a3N4UElK?= =?utf-8?B?Vjk0dWFQTnloY1E0bS9ucm10d0hHMm5PV0RLQkxWVHdtcTJpU2U1SFd3UlM4?= =?utf-8?B?TGtiYlE2cmZmSnYvbVBTMGt0YWVpWlA3aHlPbk5VUkdGbEJDM09FRGptVU85?= =?utf-8?B?a00xdWllUXhZNm4xM0Nnd1FVQlRRMjZLa1crYVlwekVVQTVxOVFqeklxQ2F0?= =?utf-8?B?WW5FNmVlckNzT3hIdDhESTMyNGx6ZUo1TGdPWHFDWEp5R1RHT3ZCV1dYZmsw?= =?utf-8?B?L3hFaFpmM1hrUkJZTVVwdkxoTkpZcGFlcGRUY3l1V1NyUnVFWXJ6cUpDSFNj?= =?utf-8?B?Uk1mbU1saHo4NUVFZG1vdmsvUHhFWWJ1VlJwL3hpUmkxNFlHT0daU1FUdXlp?= =?utf-8?B?cE8xNG9NVUhjdFdVZnJReFdIZm9UWnlacmphSlM1RmVYMG9PeHU3MjNsNmcy?= =?utf-8?Q?MIVc=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: 4f29c848-a993-4779-a712-08da9c82138f X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Sep 2022 10:06:11.3897 (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: 2MgGXZWQ2hi9CjmomyBQr9KreMhl0iEE2eHt+RjdeGLSxw0KuUyIr/DDQUax1RUSaJd6ltI0dEpnEYOIEdQAqQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4075 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 SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl dyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBUaHVy c2RheSwgMjIgU2VwdGVtYmVyIDIwMjIgMTA6MzkNCj4gDQo+IE9uIDkvMjEvMjIgMTU6NTEsIE1v cnRlbiBCcsO4cnVwIHdyb3RlOg0KPiA+PiBGcm9tOiBPcmkgS2FtIFttYWlsdG86b3Jpa2FAbnZp ZGlhLmNvbV0NCj4gPj4gU2VudDogV2VkbmVzZGF5LCAyMSBTZXB0ZW1iZXIgMjAyMiAxNC40MQ0K PiA+Pg0KPiA+Pj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3Rl dGxhYnMucnU+DQo+ID4+Pg0KPiA+Pj4gT24gOS8yMS8yMiAxMjo0MCwgVGhvbWFzIE1vbmphbG9u IHdyb3RlOg0KPiA+Pj4+IDIxLzA5LzIwMjIgMTE6MDQsIEl2YW4gTWFsb3Y6DQo+ID4+Pj4+IE5v dyBpdCdzIGNsZWFyIHRvIG1lIHRoYXQgeW91ciBpbnRlbnRpb24gaXMgdG8gbWF0Y2ggb24gZXhh Y3QNCj4gPj4gcG9ydHMsDQo+ID4+Pj4+IGFzIHVzdWFsLCBidXQgdGhpcyB0aW1lIHdpdGggYSBo aW50IGZvciB0aGUgZmxvdyB0YWJsZS4gR290IGl0Lg0KPiA+Pj4+Pg0KPiA+Pj4+PiBJbiB5b3Vy IHJlc3BvbnNlLCB5b3Ugc2F5IHRoYXQgbWF0Y2hpbmcgb24gQUxMIHZwb3J0cyBpcyBub3Qgd2hh dA0KPiA+Pj4+PiB0aGUgdXNlIGNhc2UgbmVlZHMuIE9LLCBJIHVuZGVyc3Rvb2QuIEJ1dCBwbGVh c2Ugbm90ZSB0aGF0IHRoZQ0KPiA+Pj4+PiBpdGVtIG5hbWUgZG9lcyBub3Qgc2F5ICJBTEwiLCBp dCBzYXlzICJBTlkiLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBPSy4gU2F5LCAiQU5ZIiBpcyBhbHNvIGNv bmZ1c2luZy4gTGV0J3MgdGhlbiBuYW1lIGl0ICJWUE9SVFNfT05MWSINCj4gPj4+Pj4gYW5kICJQ SFlfUE9SVFNfT05MWSIuIFRoaXMgd2F5LCBpZiB1c2VyIHByb3ZpZGVzIGl0ZW0NCj4gVlBPUlRT X09OTFkNCj4gPj4+Pj4gYW5kIHRoZW4gIHByb3ZpZGVzIGl0ZW0gUkVQUkVTRU5URURfUE9SVCwg dGhlc2UgdHdvIGl0ZW1zIGRvIG5vdA0KPiA+Pj4+PiBjb250cmFkaWN0IGVhY2ggb3RoZXIuIEl0 ZW0gVlBPUlRTX09OTFkgZGVmaW5lcyB0aGUgc2NvcGUgb2Ygc29tZQ0KPiA+Pj4+PiBraW5kLCB0 aGVuIHRoZSBmb2xsb3dpbmcgaXRlbSwgUkVQUkVTRU5URURfUE9SVCwgbWFrZXMgaXQNCj4gPj4g bmFycm93ZXIuDQo+ID4+Pj4+DQo+ID4+Pj4+IEFuZCwgaW4gZG9jdW1lbnRhdGlvbiwgb25lIGNh biBzYXkgY2xlYXJseSB0aGF0IHRoZSB1c2VyICptYXkqDQo+ID4+Pj4+IG9taXQgaXRlbSBWUE9S VFNfT05MWSBpbiB0aGUgZXhhY3QgcnVsZSBwYXR0ZXJuIHByb3ZpZGVkIHRoYXQNCj4gPj4+Pj4g dGhleSBoYXZlIGFscmVhZHkgc3VibWl0dGVkIHRoaXMgaXRlbSBhcyBwYXJ0IG9mIHRoZSB0ZW1w bGF0ZS4NCj4gPj4+Pg0KPiA+Pj4+IEkgdGhpbmsgdGhlIHByb2JsZW0gdGhhdCBSb25nd2VpICYg T3JpIGFyZSB0cnlpbmcgdG8gc29sdmUNCj4gPj4+PiBpcyB0byBhbGxvY2F0ZSByZXNvdXJjZXMg Zm9yIHRoZSB0ZW1wbGF0ZXMgdGFibGUgaW4gdGhlIHJpZ2h0DQo+ID4+IHBsYWNlLg0KPiA+Pj4+ IEEgdGFibGUgY2FuIGhhdmUgbXVsdGlwbGUgdGVtcGxhdGVzLg0KPiA+Pj4+IElmIGFsbCBydWxl cy90ZW1wbGF0ZXMgZm9yIHRoaXMgdGFibGUgYXJlIGRlZGljYXRlZCB0byB2aXJ0dWFsDQo+ID4+ IHBvcnRzLA0KPiA+Pj4+IHRoZW4gdGhlIHRhYmxlIHdpbGwgYmUgYWxsb2NhdGVkIGluIGEgcGxh Y2UgbWFuYWdpbmcgb25seSB2aXJ0dWFsDQo+ID4+IHBvcnRzLg0KPiA+Pj4+IFRoaXMgYWxsb2Nh dGlvbiBkZWNpc2lvbiBtdXN0IGJlIHRha2VuIGF0IHRhYmxlIGNyZWF0aW9uLA0KPiA+Pj4+IHdo ZXJlYXMgcnVsZXMgd2lsbCBiZSBjcmVhdGVkIGxhdGVyLg0KPiA+Pj4+IEluIG9yZGVyIHRvIGRv IHRoaXMgc3BlY2lmaWMgdGFibGUgYWxsb2NhdGlvbiBmb3IgdnBvcnRzLA0KPiA+Pj4+IHdlIG5l ZWQgdG8gcmVzdHJpY3QgYWxsIHRlbXBsYXRlcyBvZiB0aGUgdGFibGUgdG8gYmUgInZwb3J0cyBv bmx5Ii4NCj4gPj4+Pg0KPiA+Pj4+IEkgaG9wZSBpdCBtYWtlcyB0aGluZ3MgY2xlYXJlci4NCj4g Pj4+PiBOb3cgdGhlIHF1ZXN0aW9uIGlzIGhvdyB0byBhY2hpZXZlIHRoaXM/IFNvbHV0aW9ucyBh cmU6DQo+ID4+Pj4NCj4gPj4+PiAxLyBnaXZlIGEgaGludCB0byB0aGUgdGFibGUgYWxsb2NhdGlv bg0KPiA+Pj4+IDIvIGluc2VydCBhIHBhdHRlcm4gaXRlbSBpbiBhbGwgdGVtcGxhdGVzIG9mIHRo ZSB0YWJsZQ0KPiA+Pj4+DQo+ID4+Pj4gSSBkb24ndCBzZWUgYW55IG90aGVyIHNvbHV0aW9uLiBQ bGVhc2UgcHJvcG9zZSBpZiB0aGVyZSBhcmUgbW9yZQ0KPiA+PiBvcHRpb25zLg0KPiA+Pj4+DQo+ ID4+Pj4NCj4gPj4+DQo+ID4+PiBTZWUgbXkgbWFpbA0KPiA+Pj4NCj4gPj4+IDMvIHVzZSBqdW1w IHJ1bGUgd2hpY2ggZW5zdXJlcyB0aGF0IGFsbCB0cmFmZmljIG1lZXRzIG91dA0KPiA+Pj4gICAg ICBleHBlY3RhdGlvbnMNCj4gPj4+DQo+ID4+PiBJdCBtZWFucyB0aGF0IHRoZSB0YWJsZSBjcmVh dGlvbiBjb3VsZCBiZSBwb3N0cG9uZWQuIE9yIHRoZQ0KPiA+Pj4gdGFibGUgY291bGQgYmUgcGVy LWNvbmZpZ3VyZWQgYXQgdGhlIHBvaW50IG9mIGNyZWF0aW9uIGFuZA0KPiA+Pj4gZmluYWxpemVk IHdoZW4gd2Uga25vdyB0aGF0IGFsbCB0cmFmZmljIHdpbGwgYmUgZnJvbSB3aXJlcw0KPiA+Pj4g b3IgZnJvbSB2cG9ydHMuIFllcywgaXQgY29tcGxpY2F0ZXMgaW50ZXJuYWxzIHRvIGFjaGlldmUN Cj4gPj4+IHRoZSBvcHRpbWl6YXRpb24uDQo+ID4+DQo+ID4+IFNvcnJ5IEFuZHJldyB5b3VyIHN1 Z2dlc3Rpb24gaXMgbm90IGEgdmFsaWQgb25lIGZvciB0aGUgZm9sbG93aW5nDQo+ID4+IHJlYXNv bnM6DQo+ID4+IDEuIHRhYmxlIGNyZWF0aW9uIGNhbid0IGJlIHBvc3Rwb25lZCB0aGlzIGlzIGEg a2V5IGlkZWEgb2YgdGhlIHJ0ZV9mbG93DQo+ID4+IHRlbXBsYXRlIEFQSS4NCj4gDQo+IEkgZ3Vl c3Mgbm9ib2R5IGNhcmVzIGlmIGl0IGRlbGF5cyBpbnNlcnRpb24gb24gdGhlIGZpcnN0IHJ1bGUN Cj4gb25seS4gQW55d2F5LCBzZWUgYmVsb3cuDQo+IA0KPiA+PiAyLiB3ZSBjYW4gbmV2ZXIga25v dyB3aGF0IHJ1bGVzIHdpbGwgYmUgaW5zZXJ0ZWQgaWYgdGhlIGFwcGxpY2F0aW9uDQo+ID4+IGRv ZXNuJ3QgdGVsbCB1cy4NCj4gPj4gICAgICAgaG93IGNhbiB3ZSBrbm93IHRoaXMgaXMgdGhlIGxh c3QgcnVsZT8gV2hhdCBkbyB3ZSBkbyB3aXRoIHRoZQ0KPiA+PiBmaXJzdCBydWxlPw0KPiA+PiAz LiBJIGRvbid0IHNlZSBob3cganVtcGluZyBoZWxwcyBzaW5jZSBpdCB3b3JzZW5zIHRoZSBpc3N1 ZSB3aGVuIHlvdQ0KPiA+PiBqdW1wIHRvIGEgdGFibGUsDQo+ID4+ICAgICAgaG93IGRvZXMgdGhl IFBNRCBrbm93IGlmIHRoaXMgdGFibGUgc2hvdWxkIGhhdmUgb25seSB3aXJlIG9yIG9ubHkNCj4g Pj4gdnBvcnRzPw0KPiANCj4gSnVtcCBydWxlcyBzYXkgc28uIFBNRCBjYW4gYW5hbHl6ZSB0aGVy ZSBydWxlcy4NCj4gTWF5IGJlIGp1c3QgbmVlZCBhbiBhdHRyaWJ1dGUgc2F5aW5nIHRoYXQgYWxs IGp1bXAgcnVsZXMNCj4gdG8gdGhlIHRhYmxlIGFyZSBjb25maWd1cmVkIGFuZCBmdXJ0aGVyIGF0 dGVtcHRzIHRvIHJlY29uZmlndXJlDQo+IHdpbGwgYmUgcmVqZWN0ZWQ/DQo+IA0KDQpUaGUgaWRl YSBpcyB0aGUgUE1EIHdpbGwgbm90IGFuYWx5emUgcnVsZXMuIFRoYXQgaXMgd2h5IHdlIGhhdmUg dGhlIHRhYmxlDQphbmQgdGVtcGxhdGUuDQpTb3JyeSwgSSBkb24ndCB1bmRlcnN0YW5kIHdoYXQg YXR0cmlidXRlIGNhbiBiZSBpbiBqdW1wPyBUaGUganVtcCBpcyBqdXN0DQp0byB0YWJsZS4gSXQg Y2FuJ3Qgc2F5IGFueXRoaW5nIGFib3V0IHRoZSB0YWJsZSBkZXN0aW5hdGlvbiB0YWJsZS4NClRo aXMgaXMgYWxsIHRoaXMgcGF0Y2ggYWRkcyB0aGUgYXR0cmlidXRlIHRvIGEgdGFibGUgdG8gc2F5 IHdoZXJlIHRoaXMNCnRhYmxlIHNob3VsZCBiZSBsb2NhdGVkLg0KDQo+ID4+DQo+ID4+IEkgYWdy ZWUgd2l0aCBUaG9tYXMsIHRoZXJlIGFyZSB0d28gdmFsaWQgb3B0aW9ucywgSSB2b3RlIGZvciB0 aGUgaGludA0KPiA+PiBzaW5jZSB0aGlzIGlzIHRoZQ0KPiA+PiBmZWF0dXJlIGlkZWEgdG8gdGVs bCB0aGUgUE1EIHdoZXJlIHRoaXMgcmVzb3VyY2Ugc2hvdWxkIGJlIGFsbG9jYXRlZC4NCj4gPg0K PiA+IFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uOyBJIGFncmVlIHdpdGggT3JpIHRoYXQgYSBoaW50 IGlzIGFwcHJvcHJpYXRlLCBsaWtlIHRoZQ0KPiBNQlVGX0ZBU1RfRlJFRSBoaW50IG9uIFRYIHF1 ZXVlcy4NCj4gPg0KPiA+IE5vIG5lZWQgdG8gYWRkIG1vcmUgY29tcGxleGl0eSBieSByZXF1aXJp bmcgdGhlIGRyaXZlciB0byByZWNvZ25pemUgdGhhdA0KPiB0aGUgcGF0dGVybiBpcyBwcmVzZW50 IGluIGFsbCB0ZW1wbGF0ZXMuIChBbmQgcGVyaGFwcyBhbHNvIHJlbW92ZSB0aGF0DQo+IHBhdHRl cm4gd2hlbiBhcHBseWluZyB0aGUgdGVtcGxhdGVzLikNCj4gDQo+IFdoYXQgZG9lcyB0aGUgcGFy dCBvZiB0aGUgbWF0Y2hpbmcgY3JpdGVyaWEgc28gc3BlY2lhbA0KPiB0aGF0IGl0IGlzIGFsbG93 ZWQgdG8gaGF2ZSBkZWRpY2F0ZWQgaGludCBhdHRyaWJ1dGU/DQo+IA0KPiBNYXkgYmUgd2UgY2Fu IGhhdmUgcmVhbGx5IGdlbmVyaWMgc29sdXRpb24gd2hlbiBhbnkNCj4gcGFydCBvZiB0aGUgbWF0 Y2hpbmcgY3JpdGVyaWEgY291bGQgcHJvdmlkZSBzdWNoIGhpbnRzPw0KDQpUaGF0IGlzIHRoZSBw b2ludCBJIGtlZXAgcmV0dXJuaW5nIHRvLCBpdCBpcyBub3QgbWF0Y2hpbmchDQpUaGlzIGlzIG9u IHdoaWNoIEhXIHJlc291cmNlIHRoZSB0YWJsZSBzaG91bGQgYmUgYWxsb2NhdGVkLg0KVGhpbmsg YWJvdXQgaW5ncmVzcy9lZ3Jlc3MvdHJhbnNmZXIgd2h5IGFyZSB0aGV5IG5vdCBpbiB0aGUgIHBh dHRlcm4/DQpUaGV5IGFyZSB3aGVyZSBydWxlcyBzaG91bGQgYmUgb2ZmbG9hZGVkLCB0aGV5IGFy ZSBkaWZmZXJlbnQgZG9tYWluLg0KTGlrZSB3ZSBoYXZlIGVsc2V3aGVyZSBmb3IgZXhhbXBsZSBp biBhY3Rpb24gY3JlYXRlIHdlIGNhbiBzdGF0ZSBvbiB3aGljaA0KZG9tYWluIHRoZSBhY3Rpb24g c2hvdWxkIGJlIGNyZWF0ZWQuIElmIHRoZSBhcHBsaWNhdGlvbiBzZWxlY3RzIGEgbnVtYmVyIG9m IGRvbWFpbnMNCml0IG1heSBtZWFuIHRoYXQgZXh0cmEgcmVzb3VyY2VzIHdpbGwgYmUgYWxsb2Nh dGVkLg0KDQoNCg0KDQo=