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 A07A243CB8; Fri, 15 Mar 2024 08:30:19 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2D98C4027B; Fri, 15 Mar 2024 08:30:19 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 1873D4025C for ; Fri, 15 Mar 2024 08:30:16 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 42F0ag15018944; Fri, 15 Mar 2024 00:30:16 -0700 Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2041.outbound.protection.outlook.com [104.47.73.41]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3wvbxbrxnw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 15 Mar 2024 00:30:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FII+o4nb+cu9sP4j075Bgkd/GWZbelvZMyO1FWSm/7EVXBvsW+9Y4gZwhyFghP6B8uOp7I9FxQcs2zVNHAwhr1Xi4oQY/aKtMu0lKoMNiQMUPfeHWcmPYCIe+Zg50/oJcdgF1wafxTrV217psyyVEj+HO7jOWFmrHth+wLQqeI+N3keL2GErmmalbicAg8p2oevgjzoIlrEdeWAnLuTFhEk2BebIpvulncivYvNeiCzePkVzENjlluDRF6fZ9Uc6QI8XiwvCFSzzy2N28e93La/+hzhJvkBlPPImHMZHL3g3SWHxa2p8PKYbVJH9NHhziIepc7Ri/UKc9QWpuem4uw== 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=2Z4UZM8b2jUmZLuE/8XZAE9BI3kykTkh656ZQrGqV3s=; b=jmXxD84dra1pBs8zzllAFxxM/5C4aAA4ZT+M2n6nZ7gNv74Cnk2IDf2xErrRZkaUDACbWDWA+ofFjOeUkIu03CVd3z3MXvF8OGrGp8BnF7Fs4O00lsZUJz+afofGdv+FEefZwHzKUh5W8D3eWT5MgqRt4irNuv/dXCfpW1ctVjclMiBCk/2vpw77/oS1j1QuZnUrkSIIC6ISOtf5FiaLAkbmySpzzfHk15m80lbkQOJ3+4zCe0aumq2Vh1MKROQyncM3N8cYq48XYsLyWDn9LbNmw2i3/HsOBVaSdKlyPGh0TmrnB2ZV9r7hC7Lroq4IQSIgPDTS0L0OqwiX+dWU+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2Z4UZM8b2jUmZLuE/8XZAE9BI3kykTkh656ZQrGqV3s=; b=L2lm5a5vxhmJ87ezNIu3k1aCnvpF76ikrXTtKG1+8pMF/6Edsp55Vtqe7CgBWuqlqTN1EYCpI2RmayZovDYKYFI0MF/hTcUbSV40Xr5Ml4qtUJkktiWuhFh/3Z9Yj0TfUfDQtpgQLu6BkjbJnb9WCZ9IYH6NYEy/iZ3A54rR6ME= Received: from CO1PR18MB4714.namprd18.prod.outlook.com (2603:10b6:303:e9::18) by SN7PR18MB5315.namprd18.prod.outlook.com (2603:10b6:806:2dc::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.36; Fri, 15 Mar 2024 07:30:13 +0000 Received: from CO1PR18MB4714.namprd18.prod.outlook.com ([fe80::b71d:bd2a:b1a8:7e3c]) by CO1PR18MB4714.namprd18.prod.outlook.com ([fe80::b71d:bd2a:b1a8:7e3c%5]) with mapi id 15.20.7386.021; Fri, 15 Mar 2024 07:30:13 +0000 From: Gowrishankar Muthukrishnan To: fengchengwen , Thomas Monjalon CC: "dev@dpdk.org" , Anoob Joseph , Cheng Jiang , Kevin Laatz , Bruce Richardson , Pavan Nikhilesh Bhagavatula , Amit Prakash Shukla , Jerin Jacob Subject: RE: [EXTERNAL] Re: [v11 0/4] PCI Dev and SG copy support Thread-Topic: [EXTERNAL] Re: [v11 0/4] PCI Dev and SG copy support Thread-Index: AQHaaxX036wuftM1JUe9oqywqeuOLLErKNyAgAEtHoCAAAHusIAHjZeAgAAvWwCAAATYQIABP4iAgAAO2dCAAxZv0A== Date: Fri, 15 Mar 2024 07:30:13 +0000 Message-ID: References: <20240227183555.3932711-1-amitprakashs@marvell.com> <75bad518-b6ce-04e7-7b2d-81dd484ed8b1@huawei.com> <23430837.6Emhk5qWAg@thomas> <87ece82b-9855-c318-c942-fee5eb8f32cb@huawei.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-traffictypediagnostic: CO1PR18MB4714:EE_|SN7PR18MB5315:EE_ x-ms-office365-filtering-correlation-id: 5458411c-95a7-4fe8-c5ae-08dc44c1c0e7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HhJHLDVXELZbhsX8xp6A72LMzZ1Wn4fWgpYhM1iMQDOOkzKxTqRlJsNyuwD+s3cPr8jvzbCMaFAGKF7sRIepjAYnQNiyyYrhlRgxpr1NHJUozT1I2oRN+xACKrSZq0mY0Wxw+7wofBNGbXrNMJ7wEPSpmCdUF/gDE2ZXFq0Xkh42kTPjEg9buH62uHORowUFlm60rkXmB0SGh1DwGxfny3iPocYORFkTsVj4Khyd5jAijcfGNmuBVWBf3iX/HYpJJe/kzT51NLnhJIlSEZwqi02ZpBfzoHtbTgKgF9hRHtKFrz/J/P8Qihih+TeG+dZMRD3RGdYONzzkizkmpjsdeZGSvi8cZQyZ+Flsv/U6bkWvtAedez7ObaSoKEF2KCvjlKV9bB5beRiP8sPmM90osUcEvirbJDdGWDt/YREPMEIOL7sXgBiFb0JqYnuS4hCGRnpCqWSgVnhNGMSBtqrgUlgmqmAA9hlCnivrceZh8VFjLUpqrraCC+hMjOHrUdcsw4xIglmzk0qjAURtf4V+KhI0Esg9shRQAXTZ7LuxNbh4qhMcz1tfHxxWzl/CJWJ/FnU8LmAjUS57n/xjc9tIIWqRihPHe8fBRVr+8jLnzQUmJJ1UD29FUFcfkJSLWR+b3afuDtd9X58utNa9I539yfWWmOxsJvVAv/Xw3clSealPGE0s1DS/OnTV2M4YuDtjsfgoN0W5CUf4qH7/OK1QmQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR18MB4714.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(1800799015)(376005)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ODZGR0xvZkRadWlTOU5RYU1hQ3EzVVVjNHVJa1ZPakV0M1VWTnpuMHFHSHFB?= =?utf-8?B?cWZSb3JzRzZFazRLRFcxb1Nkb2RObzhJb1QrLzVSK2lmTlMrV2lSakRIeDZx?= =?utf-8?B?bkJwMEtjM2tiMnVnOEdUMDFZaXZ4VU9pOXp2dk1ZZTV1Qkh0RUdLT0EvNnJO?= =?utf-8?B?ZHJubkhJMmcxM0x4WHViZ3Q4ckttcUk4bWNZV1FTYnJtTExMSWsrek1GS21i?= =?utf-8?B?dmkvcFVjQ1J2L3VyeUplNVBmZkwzdnczczdYWDF5VVJUY0piS1p4S003d0JR?= =?utf-8?B?eVBuOWlLZmxOUU1WWHFhY29QdEVlTzF6dkR4aVA2d3dQOURGZ2VSZCsxL2hF?= =?utf-8?B?ZTNjamhLSWlXd0hFS3lBc1ltMWlhWEJua0RPcldDZTNScGhFT2txTFpjUW8x?= =?utf-8?B?ZUZQZXFVVWRTbjNCbi81Q1czVkFTZnJJY2FOQkJqWkhqVXhSNFZUcUhzQ043?= =?utf-8?B?ZkNqMktHbmlEM2lYZnFiWFc0V254RUU1enltY3pZUCtSODBCZnB1UjJqREhw?= =?utf-8?B?SUgycld6Vk03RjNCLytSZnhoRWJPU3k1OTZwajFiTjR3M1pjbnU5TVF4cy9J?= =?utf-8?B?QmRUWVBkL2xubmgxcHhhSXBoRTZ6OU1TWkE0TFQ2YW9kaWF4RGJWSkx1ZGln?= =?utf-8?B?SmxvTGlTRVBmV3VRWS9oOVdWWXdPbFY0bVMrWi9lcEJwQ29iaG00RmpJSjBs?= =?utf-8?B?eEJ4OW1YcEo4by9hOWF5K3lPeTlyejU2QVU1Q0kyVERjRUNrTnVwRCtDRCt2?= =?utf-8?B?RzhBUDRhSUhvRU1ob0Y4SUZjdmpKVWZZaGYwQXVZQWtIeDd6STZJNldjUncr?= =?utf-8?B?QnBYTGJRVXhxUW1RTW5uVlJlMjd4ajRYVGdneEo5MXNBNmtITEdVWnFFMHg0?= =?utf-8?B?UDh5U2NOWXBBSnpYOXEyUHlQWExBUEVQVjUvYWFicmpjQjNGTzduT3ltU05S?= =?utf-8?B?MzZvQVA4dVd2UzdzZ292cWY1YWNleDdRdEU0WldRdmxIQ3FhVEw2anVsQzQ4?= =?utf-8?B?RkNUam5IRzM4cUs3bHorY2FQVW03VE5FRGtVNVJxNjBPNVZRNEJ3ZXp2U2w2?= =?utf-8?B?WEhORW9pK0RHTTJCWFYwdFUxQ2RhYzkzV29xd2dINmhOKy9iMnNlVmgvZ1Q2?= =?utf-8?B?dFR5RmJoMUg3U3RQa0VESGZDc1k1bUZPNGJJVWFJcnZHajl1c3VyVFZta0hl?= =?utf-8?B?Snhha25zS1V1SEt3aTFvd3JCb0MvV1VsSTJydVp0YXhnWVRHY1BDWW5MSit4?= =?utf-8?B?T1N4Q3pUeUlTQVlpRXpxSkNMdUYxam54SDBaZHdudjNLQVlLZ1JWeTZOd3Ix?= =?utf-8?B?aFF3MDdpNWJFQmhWRFl5ZnR6WkZYNzhCZXdSL21aS2JBUkUzWGdKUDZONFIy?= =?utf-8?B?ZHJzdTQ5N0ZGTENHd1JhcW9XczVNekFMa285YnhpVlFucWRZZ0E4NWVnMDhI?= =?utf-8?B?dW9zcU8wSjMyV0xrb0xOY2tTdWk2MHpFVThnSmo3akRqN3NJRmpsaVFQUS8x?= =?utf-8?B?RUF5aVpmWXNTeUhUN1NGZ3FMQTUrNmh3REVkYUo4aEJuN2FBRmt0cmRJbklz?= =?utf-8?B?ZjQxMTBxZCtRZ1ZzNUJKbXhsc2xNYjlpOEhaSHZ0S29jMVNacFN3STcvMnV5?= =?utf-8?B?UXpjRlFIMVhvaFJCTVNLSlZBaEJiVU1OTkZGR3djRThLVGpmM3FMbzZVMUNN?= =?utf-8?B?eTdrZHRGMkNTUjd4aUc0V29tWjI0cGVsejVKaEtCS0YxV2ZjZUxPKzc2QStQ?= =?utf-8?B?VzFqdU9USDRLcStDN2REQzRha2pXY0lJaUFVWkFqQ1Z2NlNmRDJEa053R3lX?= =?utf-8?B?V3FlN1NTOFBWQ0hiTlRyZ1VoNXAzTUc4ZkRnbGlKeUUwVEhkdjRZUlpXVWpk?= =?utf-8?B?M3JsUzYrYTRRWFBUdGtNZnIxb0YwUmdlcUVWV1F1VWkxK3VFdGJQeWxUR1ZJ?= =?utf-8?B?ZFI0N2FmeDBzdU9HQlFwbFJ4TG1LQUl6UWR1V3ovekN0MWd0YUtXQzRWSVhB?= =?utf-8?B?bGVuMDNvQUF4Q2kxaXFzbFBmbW5VcnMzR2dnc3BRUUdPTUVIKytZa28vQXlu?= =?utf-8?B?dmFpQ0trTHlWUEVqcmkxanpnWGZ3UFpTOHdmZGI0K1JMUVlrWk5hbVpCMUJw?= =?utf-8?Q?bK3EfOEJlYFvsBiftWFD0X/En?= 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: CO1PR18MB4714.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5458411c-95a7-4fe8-c5ae-08dc44c1c0e7 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Mar 2024 07:30:13.4970 (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: 2wk+rxM+Tdu/CaPZgubxI89+Uz2ofj3MfWW9KdhWZXQng4nsbA6NlrnLGOQqtWVA5TglXpTteeUWauaSa+7zLDILihvZsLschXDT8ygYDj0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR18MB5315 X-Proofpoint-GUID: JUe_x4kBQ2wHkhZmWEg17Mu3n65XTjwI X-Proofpoint-ORIG-GUID: JUe_x4kBQ2wHkhZmWEg17Mu3n65XTjwI X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-14_13,2024-03-13_01,2023-05-22_02 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 SGkgVGhvbWFzLA0KDQo+IA0KPiBIaSBGZW5nY2hlbmd3ZW4NCj4gDQo+ID4gSGkgR293cmlzaGFu a2FyLA0KPiA+DQo+ID4gT24gMjAyNC8zLzEyIDIwOjI0LCBHb3dyaXNoYW5rYXIgTXV0aHVrcmlz aG5hbiB3cm90ZToNCj4gPiA+IEhpIEZlbmdjaGVuZ3dlbg0KPiA+ID4NCj4gPiA+Pg0KPiA+ID4+ IEhpIFRob21hcywNCj4gPiA+Pg0KPiA+ID4+IE9uIDIwMjQvMy8xMiAxNzoxNSwgVGhvbWFzIE1v bmphbG9uIHdyb3RlOg0KPiA+ID4+PiAwNy8wMy8yMDI0IDE0OjU1LCBHb3dyaXNoYW5rYXIgTXV0 aHVrcmlzaG5hbjoNCj4gPiA+Pj4+IEhpIEZlbmdjaGVuZ3dlbiwNCj4gPiA+Pj4+DQo+ID4gPj4+ Pj4+IFdhaXRpbmcgZm9yIGEgY29uZmlybWF0aW9uIHRoYXQgdGhpcyBzZXJpZXMgaXMgZ29vZCB0 byBnby4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IEluIHRoZSBkaXNjdXNzIG9mIHRocmVhZCBbMV0s IEkgaG9wZSB0aGlzIHBhdGNoc2V0IGNvbnRpbnVlIHRha2UNCj4gPiA+Pj4+PiBhIHN0ZXAgZm9y d2FyZCAobWVhbnMgbmV3IHZlcnNpb24pIHRvIHN1cHBvcnQgYmktZGlyZWN0aW9uIHRlc3QNCj4g PiA+Pj4+PiBqdXN0IGJ5DQo+ID4gPj4gbW9kaWZ5IGNvbmZpZy5pbmkgZmlsZS4NCj4gPiA+Pj4+ Pg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IFRoaXMgcGF0Y2ggc2V0IGFscmVhZHkgZXhwb3NlcyBhbGwg Y29uZmlndXJhdGlvbiB2aWEgY29uZmlnLmluaS4NCj4gPiA+Pj4+IEkgZGlkbid0IGZvbGxvdw0K PiA+ID4+IHdoYXQgaXMgbWlzc2luZy4gRm9yIGJpLWRpcmVjdGlvbiwgd2UgY2FuIGJldHRlciBj b250aW51ZQ0KPiA+ID4+IGRpc2N1c3Npbmcgb24gdGhhdCBwYXRjaC4NCj4gPiA+Pj4NCj4gPiA+ Pj4gQ2hlbmd3ZW4sIHBsZWFzZSBjYW4geW91IGNvbmZpcm0gd2hldGhlciB5b3UgcmVxdWlyZSBh IG5ldyB2ZXJzaW9uPw0KPiA+ID4+PiBXaGljaCBjaGFuZ2UgZXhhY3RseSBpcyBtaXNzaW5nPw0K PiA+ID4+DQo+ID4gPj4gVGhpcyBwYXRjaHNldCBpcyBPSyB3aXRoIG9uZSBzdWItdGVzdCBvbmx5 IHRhY2tsZSBvbmUgRE1BIGRpcmVjdGlvbi4NCj4gPiA+Pg0KPiA+ID4gVGhhbmtzIGZvciB0aGUg Y29uZmlybWF0aW9uLg0KPiA+ID4NCj4gPiA+PiBCdXQgdGhlcmUgaXMgYSBsYXRlciBwYXRjaCBb MV0gd2hpY2ggd2lsbCBzdXBwb3J0IG11bHRpcGxlIERNQQ0KPiA+ID4+IGRpcmVjdGlvbnMgd2l0 aGluIG9uZSBzdWItdGVzdC4NCj4gPiA+PiBpdCB3aWxsIGFkZCBhIGVudHJ5ICJ4ZmVyX21vZGUi LCBidXQgSSB0aGluayBpdCBjb21wbGljYXRlIHRoZQ0KPiA+ID4+IHRlc3QsIEkgcHJlZmVyIHdl IGRvIG1vcmUgaW4gdGhpcyBwYXRjaHNldCB0byBzdXBwb3J0IHNvbWUgbGlrZQ0KPiA+ID4+IGJp LWRpcmVjdGlvbiBqdXN0IGJ5IG1vZGlmeSBjb25maWcuaW5pLCBzb21lIGxpa2UgdGhpczoNCj4g PiA+Pg0KPiA+ID4gSSB0aGluayB3ZSBzaG91bGQgZGlzY3VzcyBhYm91dCB0aGF0IGluIGJpLWRp cmVjdGlvbmFsIHBhdGNoIHNlcmllcy4NCj4gPiA+IFRoaXMgc2VyaWVzDQo+ID4gaXMgc2VsZi1j b250YWluZWQgYW5kIHRoZXJlIGlzIG5vIG5lZWQgdG8gYWRkIGJpLWRpcmVjdGlvbmFsIGFzIHBh cnQNCj4gPiBvZiB0aGlzIHNlcmllcy4gQXMgZmFyIGFzIHRoaXMgcGF0Y2ggc2V0IGlzIGNvbmNl cm5lZCwgYWxsIHRoZSBvcHRpb25zDQo+ID4gYXJlIGV4cG9zZWQgdmlhIGNvbmZpZy5pbmkuIENh biB5b3UgY29tbWVudCBpZiB0aGVyZSBpcyBhbnl0aGluZw0KPiA+IG1pc3NpbmcsIGFzc3VtaW5n IHRoYXQgd2UgYXJlIHRha2luZyBiaS1kaXJlY3Rpb25hbCBzdXBwb3J0IGFzIGEgc2VwYXJhdGUN Cj4gZmVhdHVyZSBhZGRpdGlvbi4NCj4gPg0KPiA+IEkgaGF2ZSBpZGVudGlmaWVkIHNvbWUgaW1w cm92ZW1lbnRzIHRvIHRoZSBkbWEtcGVyZiBhcHAsIGFuZCBJIHBsYW4gdG8NCj4gPiBkbyBpdA0K PiANCj4gSXQgaXMgdW5jbGVhciBhdCB0aGlzIHBvaW50IHdoYXQgaXMgdGhlIGlzc3VlIHRoYXQg eW91IGhhdmUgd2l0aCB0aGUgYXBwIG9yIHRoaXMNCj4gcGF0Y2ggc2V0LiBUaGlzIHNlcmllcyB3 YXMgZmlyc3Qgc3VibWl0dGVkIG9uIEF1ZyAxMCAyMDIzLiBZb3UgaGFkIGFja2VkIHY4IG9uDQo+ IEphbiAyNSAyMDI0LiBBZnRlciB0aGUgcGF0Y2hlcyB3ZXJlIGFja2VkLCB0aGVyZSB3ZXJlIHN0 aWxsIHJldmlldyBjb21tZW50cw0KPiBvbiB2YXJpYWJsZSByZW5hbWVzIGV0Yywgd2hpY2ggd2Vy ZSBhbGwgYWRkcmVzc2VkLiBUaGUgcGF0Y2hlcyBoYWQgYmVlbg0KPiB1bmRlciByZXZpZXcgZm9y IG1vcmUgdGhhbiA4IG1vbnRocyB3aXRoIHZlcnkgc2xvdyBwcm9ncmVzcy4NCj4gDQo+ID4gaW4g MjQuMDcsIHNvIGlmIHlvdSBkb24ndCBtaW5kLCBJIHdpbGwgaW5jb3Jwb3JhdGUgeW91ciBjb21t aXRzDQo+ID4gKGtlZXBpbmcgeW91cg0KPiA+IHNpZ25lZC1vZmYtYnkpIGFuZCBtb2RpZnkgdG8g dGhlIG9uZSB0aGF0IEkgZGVzY3JpYmVkIGFib3ZlLCBhbmQgdGhlbg0KPiA+IHNlbmQgdG8gY29t bXVuaXR5IChhbHNvIHdpdGggbXkgaW1wcm92ZW1lbnRzIGNvbW1pdHMpLg0KPiANCj4gSSB3b3Vs ZCBsaWtlIHRvIGhhdmUgdGhpcyBzZXJpZXMgbWVyZ2VkIGZpcnN0IGFuZCBub3QgcHVsbGVkIGlu dG8gYW5vdGhlciBzZXJpZXMuDQo+IFdlIGRvIGhhdmUgZmV3IG90aGVyIGZlYXR1cmVzIHRoYXQg d2Ugd291bGQgbGlrZSB0byBhZGQgb24gdG9wLiBJIHdvdWxkDQo+IGFzc3VtZSB0aGF0IHlvdSBj YW4gYWxzbyBhZGQgeW91ciBjaGFuZ2VzIG9uIHRvcC4gVG8gbWFrZSBjb250cmlidXRpb24NCj4g ZWFzaWVyLCBpc24ndCBpdCBiZXR0ZXIgdG8gYWNjZXB0IGF0IGxlYXN0IHRoaXMgcGF0Y2ggc2V0 IChhcyB5b3UgYWNrZWQgZWFybGllcikgYW5kDQo+IHRoZW4geW91IGNhbiBjb250aW51ZSB3b3Jr aW5nIG9uIHRoZSBpbXByb3ZlbWVudHM/DQo+IA0KDQpDYW4gdGhpcyBzZXJpZXMgYmUgbWVyZ2Vk ID8NCg0KVGhhbmtzLA0KR293cmlzaGFua2FyDQo+IFRoYW5rcywNCj4gR293cmlzaGFua2FyDQo+ IA0K