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 E0CC4A00C5; Wed, 2 Feb 2022 11:58:04 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5BCD040DF4; Wed, 2 Feb 2022 11:58:04 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 38C0940688 for ; Wed, 2 Feb 2022 11:58:02 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 212Ael18017257; Wed, 2 Feb 2022 02:57:58 -0800 Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2107.outbound.protection.outlook.com [104.47.55.107]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3dyrdu81s4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 02 Feb 2022 02:57:58 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e9SjYBK0vZnfiUnichI1bGv5s50UNDyGzOMr1BgvclMHoFqTg0p9tYzzOvynZxgMsmK3WMl5VXP7Qja2ixIUcBN0z0smc9juhY13oD3BJeqAtkGb88KR7v2ej7bl61UNS0hxVM6weBjG7EZO6XzyMQgWehvP8TXiEslyeROqj72PV8MhwilDsJA2BycDi4InkG/SWxCJh0SUTEk7NJ3JJ/cy2bIc2aVihGXkbgpfLdj4hmSMUeOukLfoAvR6e0HVGrCy5rWjKHmV5Qa7DMc9P4oIbJhccBRxnDmvW2mapTZU1FNejMpT1J3ks753T1wl9x8+Hyq3KboAN/HA5Xs50g== 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=A3wUcDIN0UkPcBFaa1xkw8i+kpExMx11Sm6ViyEabXw=; b=i8efPZp1QnIsR5R4n80zG/OZCvyrQ84kznG3dg69PBCtYWpRHZiaz5IOjY74QnIM+2unQCze++7OtpJ6+nJlY+Uo/z9abKIWWg9rQkzXZgWGYkQmh4y9Sq/GjjvHRk3rqFbwdyMI93z7KgUzfUoRXmivmGsDJJuF4E8IhzXGESMNuRC0kEHNgNWCDjkcpuGoU60n4L5dcFXbmYFQ91VzkxUyO/4IxsmroEQQIkD0HBnr7X0TR3JE7jk78VBTiIevn6r4qKPHpAw6QCDaP1pyiMr98dfLqqCVxhy+WiczfB+Z0dbaZeCtQ7Dx69Yz4jmMlMorhOn0xDjcUYYexnnDkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A3wUcDIN0UkPcBFaa1xkw8i+kpExMx11Sm6ViyEabXw=; b=T37AOf5H6AUTFIUKkXCZKXw3bq9MW0w7pT6E3E/ZP6ciAtenprAEcEU0DnuGMoVyP//y4izNzHTAoTAUfXvHiNkrEg9HhPme1M0ErdP19xzGC8qAzWfGt3RG8VfVy/oZZH8SDPJFFvZoDqkrftqj878vLHA0FseArG071+cw0eo= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by CO6PR18MB3969.namprd18.prod.outlook.com (2603:10b6:5:348::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Wed, 2 Feb 2022 10:57:56 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::ecd1:2b8:57bd:7780]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::ecd1:2b8:57bd:7780%6]) with mapi id 15.20.4951.012; Wed, 2 Feb 2022 10:57:55 +0000 From: Akhil Goyal To: Ferruh Yigit , "dev@dpdk.org" , "thomas@monjalon.net" , "andrew.rybchenko@oktetlabs.ru" CC: Anoob Joseph , "matan@nvidia.com" , "konstantin.ananyev@intel.com" , "rosen.xu@intel.com" , Jerin Jacob Kollanukkaran , "stephen@networkplumber.org" , "mdr@ashroe.eu" Subject: RE: [EXT] Re: [PATCH v3 1/4] ethdev: introduce IP reassembly offload Thread-Topic: [EXT] Re: [PATCH v3 1/4] ethdev: introduce IP reassembly offload Thread-Index: AQHYFgMtHIjBlEBKME2wqBnOYQirR6x+vyGAgAFa0NA= Date: Wed, 2 Feb 2022 10:57:55 +0000 Message-ID: References: <20220120162627.4155695-1-gakhil@marvell.com> <20220130175935.1947730-1-gakhil@marvell.com> <20220130175935.1947730-2-gakhil@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 917c05c0-8236-4e8f-778c-08d9e63ade2c x-ms-traffictypediagnostic: CO6PR18MB3969:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EU58bDTAvIW7I5KsmVxi1qhDHjzc2Kp31QQxnAb7bXgbrtwXZoba9X1Xnp+fJWDvrGhGhJxBtT7oLGsoSfUbRed4S4M7dAdaVvz6L8ieLdNQ5aIc+Hbw8Y+vik3NR/AITxYqJueUyR2KD1rUqdIyrXWVPPQbQRMr8Ef5YQ6upSBJMVU4DyLjuUpmrd1dV9rrhASqVNGpcbVsh6MAqGHCz4PB4aan199KXsLYHHKdkVMNFEG1++lJOLdK2xy6YTBwFDiJNM5KuiB4oz8se/uOsjocSb5vQzpxStdSNMb6T2a28KBauoTYYyfNsW0Hjva8T8UtKavnZoVJ7VLuUJz2tlOhKUaiO8/vOVJ24kCqhRkPfM2HAUQ47+3EXCcrBe0MpPKygNxaZoFPUUoKGNbaYcp3XCvNh1/jbWz52FMcdphyygx9uz27SKjEjJCek1d6xbqEiUqx3wsX8CCC9VOa9rmy4MX+Cx0Dqmo7p7cyB9z2hifH3xbajAXZnZ2hdH3krFW254hlB3DOd6f5OXCebiyQ1nvMSBJn/2YwIdPC2P9D8F3TNlFvn/9G+lVcGSSXrdk4LHx1UuAqLR3sgMvBgxHd/ZiS9gZ7HNaezOsEno1nR4m7emQmhW6BqWol5OlOSHxxBKDYnrYBPc8hSyNsel6kdyHiCwh7ZyETyHIjd2SF58sxN8br/pQkXjy/AB1UpIuoNnfBl/n/wmGfsH+qPiUyteN8/6jK9alUJnB1q9M= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(186003)(6506007)(4326008)(26005)(8676002)(7696005)(76116006)(9686003)(55236004)(8936002)(66946007)(38100700002)(316002)(86362001)(55016003)(71200400001)(66556008)(122000001)(54906003)(33656002)(38070700005)(2906002)(52536014)(64756008)(66446008)(66476007)(5660300002)(508600001)(110136005)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bkxxOU9EMmROSytrbFFkRkRUazFJbWR5aVE1S1krSUNLUkYzSXNBRktqNkc4?= =?utf-8?B?SDY0bTdpbE91S1IzNUpvbk80RnM1SFdJWTVXUDQrNytRazN0UFhNcXF5Uit6?= =?utf-8?B?aC9xMHJCNnJsSlc0TVVqa2RBVFoxaGR5ZXFFWWJ3L1BnNDAvcWZtVkxaREs2?= =?utf-8?B?WGJiSzhaYmdBYXlYR3RiaDRSK1E1Sk9TcFVWS0duV0VUT0ZuUVd3NXRteDJR?= =?utf-8?B?V1NjejBkNDE0cE13d2hGU1djL3lIcDU1T1JoRGJIZU10UTloV3YyVWVGTitO?= =?utf-8?B?RDhuUTJqNGkyajZqMWRvYjc1RVVyVzVRcVpLcDBjTWdRZnpWQ3dxd20yeU1V?= =?utf-8?B?VzhUMUZ1dXdXeXhCQ1B1Z1h6ZnFkVnVlYWliNTVmUE1LMEx2dm9xcHVkVmlR?= =?utf-8?B?Y0lndGlBVElZT3hhTmMrdDgwS1ozVDJ4U1JKVlpFQzFLV2c1SG9hMHhVbGVp?= =?utf-8?B?NlhINjl5V0VkVU0xejNpWjFyWWNMd1JVNG9NQ3k5cWlNVmdoL3VIV1BoTDV4?= =?utf-8?B?RlV5b29wNk5mKzVkbzV2ZjYwUXcvZ09CeEF6aUh3QXFYaXFKdVNoa3diK051?= =?utf-8?B?dmdUajFHMlJmN1dIU0oyTTBKZWJJdkdQUkhiYzVvTTFGMzFoMnUrWUMxVE85?= =?utf-8?B?SjNRbUhpZUxqU0gxNHBQVDYrRjhPMEthYWgvSWtvb0x5NUpxc1llTDFBZDlB?= =?utf-8?B?VitXVFUvbXMrUlJvTFlLR1dWT3VPWVFRTnM0a2x2QWhMTjZsMXJ1cXRPL3RP?= =?utf-8?B?Y2V3UEdSNFQ1YkhtcHo3c0hhN1JIeEx5cWEvbkZMNHg2K2lmMjdrcUdid2NW?= =?utf-8?B?NEVrNE1JM2ZjSCtxbEFXdFNEMFdCMUlNVUY1Y3VZaWpTNFJaaVB3U1dOMlNL?= =?utf-8?B?UXA4ci9MUWN2VEN1TGxWZlBNU1ltcnBNV1QwQWFHdzA5TWdja3NYWWpZQVN1?= =?utf-8?B?b1RYSXNVZ201ZzhCZGNFUDU1Z1p3ZzJrc0Z0aU5tTzM2Wm93UytqVU5CNEk1?= =?utf-8?B?WnFLYkd4UldWYUc2REM0bjlZdm45Q3NxSExkNVpTV0kzSEZFN2N2citDY1Mx?= =?utf-8?B?MFY0VlgzTmwzSHEvcHhxQ1VSSzRPSEF0d0xxS0tUSjlhTXZCZ3ZxeFFZMGlG?= =?utf-8?B?TWcrS0N4b3NtR2gzcmVhVmRlek9QU2Vrb2pvaXkrOG40M0Y0a1YvMWY5Smo5?= =?utf-8?B?Y00zSnpzUHM2blpUMERnRFBkb3VseHVlZFZqZXdYd1djanpEUHprV0ZjVXpG?= =?utf-8?B?Y3ZCQTBscVZOMXJuM2NQdU8rSHJKTHZCRkxaeUZPYXpTWFVHWXJ6MElhMnl0?= =?utf-8?B?Qm9BUnJKOCtqZkV2V2krQk8vVFBJMWczRnZqbENmb1NST2h1UTh4dG95ZjNO?= =?utf-8?B?OEp1ZkxnbUFYeXkvQnpDSndjRGlzVHhuYzdiQUhLdDJJRU5KeFA2bVYrTXNZ?= =?utf-8?B?NFFlU01EYis1bWtrYU93d3EzenlaNk5VL0w5RVQzd2dOWGswalZUU3dwSkdW?= =?utf-8?B?MkFhWFJzemRhUW0rMVFWM0RwS3EycHZJcmVGRW9oUDVkSWJwbVVBK0FJOEZZ?= =?utf-8?B?eER1SXhVc1JyQTNtb0NLQjBIVHpwckx2QVppVS92MkRTNkRPMUlEcDZjVEtW?= =?utf-8?B?cG8vamxGQWdPNUE5dUJLSTFjclVudVREUWkzMm0vdHZIUHhnSTZTUy81ZzNJ?= =?utf-8?B?SGxNeEV3NGdoWTMyT01lZzQ1NjlBSERycmc0ZnZUOE94SWZPM1dBd21obTNa?= =?utf-8?B?YW83MUwyd3lZWE5KZU0weDVwbGlHK3dzWnU1b21wN2ZFMGNMeElPQVVEUHFD?= =?utf-8?B?WElpSDhXVkthWEYyVmRuR3NSNlA4aGUxelljK2lSZTM1SzQzSk5PemltMHc4?= =?utf-8?B?LzNZYVZHKzVJcnNBN1I3K3VkS1RKb1dqY2hVVzU1cUF4S3Y4c0gxVHBLMjBa?= =?utf-8?B?eDNnZVZXSjlNV1hGdy83eGtlU3JZeVdNaXFXK05xdnRwR01aR0RSU3JCM0hN?= =?utf-8?B?RDdoakdVWU1oNDdsZWZsUlVqL1lReUI0eS9LUGx3SCttQ21PNmJNTG1ZamVC?= =?utf-8?B?L0FWcUFnWUhUc1BOeExpN3V1UlFpNExkWDVId2toSGMrZ2tUQ0xvWkplSFdM?= =?utf-8?B?Wjk4R2xhQ01LTSs5YkNHKzJ5dWpMRFhLcm9objRXSHlIcFMvSDdxdndIaS9L?= =?utf-8?Q?t8/8G5x4d3CJ7Q9x5Q25HKY=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB4484.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 917c05c0-8236-4e8f-778c-08d9e63ade2c X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Feb 2022 10:57:55.8802 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: E629SdcAcmqOJsbx8BoW6THxJ4wb2jdHVr+GVuw4i8ggNvsKrfcsP9ad35Lr5RWJJftMCO54lzNKTpxl57UVJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR18MB3969 X-Proofpoint-ORIG-GUID: oZvwMzYZOE3cbhXu8i0zcdxxpUfTKcDF X-Proofpoint-GUID: oZvwMzYZOE3cbhXu8i0zcdxxpUfTKcDF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513 definitions=2022-02-02_04,2022-02-01_01,2021-12-02_01 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 PiA+ICsvKiBGbGFnIHRvIG9mZmxvYWQgSVAgcmVhc3NlbWJseSBmb3IgSVB2NCBwYWNrZXRzLiAq Lw0KPiA+ICsjZGVmaW5lIFJURV9FVEhfREVWX1JFQVNTRU1CTFlfRl9JUFY0IChSVEVfQklUMzIo MCkpDQo+ID4gKy8qIEZsYWcgdG8gb2ZmbG9hZCBJUCByZWFzc2VtYmx5IGZvciBJUHY2IHBhY2tl dHMuICovDQo+ID4gKyNkZWZpbmUgUlRFX0VUSF9ERVZfUkVBU1NFTUJMWV9GX0lQVjYgKFJURV9C SVQzMigxKSkNCj4gPiArLyoqDQo+ID4gKyAqIEEgc3RydWN0dXJlIHVzZWQgdG8gZ2V0L3NldCBJ UCByZWFzc2VtYmx5IGNvbmZpZ3VyYXRpb24uDQo+ID4gKyAqDQo+ID4gKyAqIElmIFJURV9FVEhf UlhfT0ZGTE9BRF9JUF9SRUFTU0VNQkxZIGZsYWcgaXMgc2V0IGluIG9mZmxvYWRzIGZpZWxkLA0K PiA+ICsgKiB0aGUgUE1EIHdpbGwgYXR0ZW1wdCBJUCByZWFzc2VtYmx5IGZvciB0aGUgcmVjZWl2 ZWQgcGFja2V0cyBhcyBwZXINCj4gPiArICogcHJvcGVydGllcyBkZWZpbmVkIGluIHRoaXMgc3Ry dWN0dXJlLg0KPiA+ICsgKi8NCj4gPiArc3RydWN0IHJ0ZV9ldGhfaXBfcmVhc3NfcGFyYW1zIHsN Cj4gDQo+IEFzIGEgZ2VuZXJpYyBjb21tZW50LCB3aGF0IGRvIHlvdSB0aGluayB0byB1c2UgZnVs bCAncmVhc3NlbWJseScgaW5zdGVhZA0KPiBvZiAncmVhc3MnIHNob3J0IHZlcnNpb24sIHRvIGNs YXJpZnkvc2ltcGxpZnkgdGhlIG1lYW5pbmc/DQoNCkZ1bGwgcmVhc3NlbWJseSB3YXMgdXNlZCBp biBtb3N0IHBsYWNlcy4gQnV0IGhlcmUgdGhlIHN0cnVjdCBuYW1lIHdvdWxkIGJlIHRvbyBiaWcu DQpJTU8sIHJlYXNzIGlzIGdvb2QgZW5vdWdoIGhlcmUuIFRob3VnaCwgbm8gc3Ryb25nIG9waW5p b24uIFdpbGwgY2hhbmdlIGlmIHlvdSBpbnNpc3QuDQoNCj4gDQo+ID4gKwkvKiogTWF4aW11bSB0 aW1lIGluIG1zIHdoaWNoIFBNRCBjYW4gd2FpdCBmb3Igb3RoZXIgZnJhZ21lbnRzLiAqLw0KPiA+ ICsJdWludDMyX3QgcmVhc3NfdGltZW91dF9tczsNCj4gPiArCS8qKiBNYXhpbXVtIG51bWJlciBv ZiBmcmFnbWVudHMgdGhhdCBjYW4gYmUgcmVhc3NlbWJsZWQuICovDQo+ID4gKwl1aW50MTZfdCBt YXhfZnJhZ3M7DQo+ID4gKwkvKioNCj4gPiArCSAqIEZsYWdzIHRvIGVuYWJsZSByZWFzc2VtYmx5 IG9mIHBhY2tldCB0eXBlcyAtDQo+ID4gKwkgKiBSVEVfRVRIX0RFVl9SRUFTU0VNQkxZX0ZfeHh4 Lg0KPiA+ICsJICovDQo+ID4gKwl1aW50MTZfdCBmbGFnczsNCj4gPiArfTsNCj4gPiArDQo+ID4g ICAvKioNCj4gPiAgICAqIEEgc3RydWN0dXJlIHVzZWQgdG8gcmV0cmlldmUgdGhlIGNvbnRleHR1 YWwgaW5mb3JtYXRpb24gb2YNCj4gPiAgICAqIGFuIEV0aGVybmV0IGRldmljZSwgc3VjaCBhcyB0 aGUgY29udHJvbGxpbmcgZHJpdmVyIG9mIHRoZQ0KPiA+IEBAIC0xODQxLDggKzE4NjUsMTAgQEAg c3RydWN0IHJ0ZV9ldGhfZGV2X2luZm8gew0KPiA+ICAgCSAqIGVtYmVkZGVkIG1hbmFnZWQgaW50 ZXJjb25uZWN0L3N3aXRjaC4NCj4gPiAgIAkgKi8NCj4gPiAgIAlzdHJ1Y3QgcnRlX2V0aF9zd2l0 Y2hfaW5mbyBzd2l0Y2hfaW5mbzsNCj4gPiArCS8qKiBJUCByZWFzc2VtYmx5IG9mZmxvYWQgY2Fw YWJpbGl0aWVzIHRoYXQgYSBkZXZpY2UgY2FuIHN1cHBvcnQuICovDQo+ID4gKwlzdHJ1Y3QgcnRl X2V0aF9pcF9yZWFzc19wYXJhbXMgcmVhc3NfY2FwYTsNCj4gPg0KPiANCj4gInN0cnVjdCBydGVf ZXRoX2Rldl9pbmZvIiAmICdydGVfZXRoX2Rldl9pbmZvX2dldCgpJyBhcmUgdmVyeSBjb21tb24s DQo+IGFsbCBhcHBsaWNhdGlvbnMgdGhhdCB1c2UgbmV0IGRldmljZXMgYW5kIGV2ZW4gc29tZSBp bnRlcm5hbCBBUElzIHJlbHkgb24NCj4gdGhpcyBzdHJ1Y3QgYW5kIEFQSS4NCj4gSXQgbWFrZXMg bWUgdW5lYXN5IHRvIGV4dGVuZCB0aGlzIHN0cnVjdCB3aXRoIHJhcmVseSB1c2VkIGZlYXR1cmVz LA0KPiB3b3JyeWluZyBvbiBsb2FkaW5nIHRvIG11Y2ggKGNhcGFiaWxpdHkvc3RhdHVzL2NvbmZp Zykgb24gc2luZ2xlDQo+IEFQSS9zdHJ1Y3QgY2FuIGNhdXNlIGFuIHVubWFpbnRhaW5hYmxlIGNv ZGUgYnkgdGltZS4NCj4gDQo+IEFsc28gbW9zdCBvZiB0aGUgdGltZSAoaWYgbm90IGFsd2F5cykg b2ZmbG9hZCBmbGFnIGlzIGp1c3QgYW4gb24vb2ZmIGZsYWcNCj4gdG8gdGhlIFBNRCwgYXBwbGlj YXRpb24gc2V0L3Vuc2V0IG9mZmxvYWQgZmxhZyBhbmQgUE1EIGtub3dzIHdoYXQgdG8gZG8uDQo+ IEJ1dCBmb3IgdGhpcyBjYXNlIHNvbWUgY2FwYWJpbGl0eSB2YXJpYWJsZXMsIGFuZCBhIGNvbmZp Z3VyYXRpb24gQVBJIGlzDQo+IHJlcXVpcmVkL2ludm9sdmVkLg0KPiANCj4gRm9yIGNvbnNpZGVy aW5nIGFib3ZlIHR3byBjYXNlcywgd2hhdCBkbyB5b3UgdGhpbmsgaW1wbGVtZW50IHRoaXMgYXMN Cj4gY29udHJvbCBwbGFuZSBBUElzIGluc3RlYWQgb2Ygb2ZmbG9hZCBmbGFnPw0KPiBUaGVyZSBh cmUgYWxyZWFkeSAnY29uZl9zZXQoKScgYW5kICdjb25mX2dldCgpJyBBUElzIGludHJvZHVjZWQg aW4gY29taW5nDQo+IHBhdGNoZXMsIGludHJvZHVjaW5nIGFuIGFkZGl0aW9uYWwgJ2NhcGFiaWxp dHlfZ2V0KCknIEFQSSByZW1vdmVzIHRoZSBuZWVkDQo+IG9mIGNoYW5nZSBpbiAic3RydWN0IHJ0 ZV9ldGhfZGV2X2luZm8iIGFuZA0KPiAnUlRFX0VUSF9SWF9PRkZMT0FEX0lQX1JFQVNTRU1CTFkn DQo+IGNhbiBiZSByZW1vdmVkLg0KPiBUaG9tYXMsIEFuZHJldywgd2hhdCBkbyB5b3UgdGhpbms/ DQoNCldlIGFyZSBvayB0byBhZGQgYSBuZXcgZGV2X29wIGZvciBjYXBhYmlsaXR5X2dldCgpIGlm IHdlIGFncmVlIG9uIHRoYXQuDQpUaG9tYXMsIEFuZHJldywgbGV0IG1lIGtub3cgaWYgeW91IHRo aW5rIG90aGVyd2lzZS4NCg0KPiANCj4gDQo+ID4gLQl1aW50NjRfdCByZXNlcnZlZF82NHNbMl07 IC8qKjwgUmVzZXJ2ZWQgZm9yIGZ1dHVyZSBmaWVsZHMgKi8NCj4gPiArCXVpbnQ2NF90IHJlc2Vy dmVkXzY0c1sxXTsgLyoqPCBSZXNlcnZlZCBmb3IgZnV0dXJlIGZpZWxkcyAqLw0KPiA+ICAgCXZv aWQgKnJlc2VydmVkX3B0cnNbMl07ICAgLyoqPCBSZXNlcnZlZCBmb3IgZnV0dXJlIGZpZWxkcyAq Lw0KPiA+ICAgfTsNCj4gPg0KDQo=