From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0D31BFA3728 for ; Wed, 16 Oct 2019 12:18:04 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 78D96205F4 for ; Wed, 16 Oct 2019 12:18:03 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b="Cw9PXDDC"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=marvell.onmicrosoft.com header.i=@marvell.onmicrosoft.com header.b="ERWPdwqn" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 78D96205F4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=marvell.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BE4FC1E8E2; Wed, 16 Oct 2019 14:18:02 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 880AE1E8D0 for ; Wed, 16 Oct 2019 14:18:01 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x9GCBX9i025786; Wed, 16 Oct 2019 05:18:00 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=T6m78H/lHau5iI1Xsypbz7J/vQ0BESOvkdBDyR4YvOE=; b=Cw9PXDDCN+5VQKDbOAy0iXK91q4cz5SICG/cnHckfGoQaKl8Mes/l810oaMkZZUMItH5 fbAfkKk9Z11ZPbtBi8FIvJNcow3HNC+ThUhwxkqrIgfmeTNIbgEQM3BpoBmxlzLfD8hL ly5WhxQay5IPQg3BBUQqqHQtVcPdBIO7o2oDYOt98Bk+WhWrlQtn5rlJ93H+3HXSdnGE ZEGUp+U8wFTnUlrHILfMmrdAg9EUl5e4XVLsEyuGdRfoBAMcPkfK9sX5sN9m6yrkTW+c VqCiKWAaM0/4htGG6lxyQOnICjf0ThKSLzsYwtVHxu0TZWe2r5tiFiqnnGRt1ZtvqJkp 6A== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2vkebp6dwt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 16 Oct 2019 05:18:00 -0700 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 16 Oct 2019 05:17:58 -0700 Received: from NAM02-CY1-obe.outbound.protection.outlook.com (104.47.37.52) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Wed, 16 Oct 2019 05:17:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i1ZlgNHLBDv0m5Vr2jMy08uunQr0ibCC9GeW9ubVKobJ2KA7oCKjJxjBgRGF7Tv8npISB/yCWcC/AY5K1ZEV38+7GnEPsikRFMIHzmsoVUxJqVO/kWNvnan4LDHEiHQOyvY8J7ohUUD9LVkokYRCb9Goj1tMMhClRHEfW07Eg9AzJBEVDHJIoyxQnPd7ndkqtBl0k83/aE/Ps3slx8uravPFeYd+DdgbDOc4xQMUwIpF6upSticM7mahLqhB/3iTEeMoPwFzvsfVjUKEH5OpzqAFBuHOQHoS0ll7MWYZS9zfHRVmgXAkkMAgOoQesYa+EcETx3NoHRS5O7j4TC9Jug== 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=T6m78H/lHau5iI1Xsypbz7J/vQ0BESOvkdBDyR4YvOE=; b=aHlamHjnkT2qg2CYCy/VT+CKek6Wt1ae1TYalrrl9zCewIPwNXGgfQMgDzsqGGXYipeByQwOjDI9KkPVvrRvftuIhGt22PHripPnIy4V6Syrat5/vbKxvucme86XVIxwOCgE3GDOK6B1pdtUGSCH+DZWjrQ7drMmA3H0VnnU+VGfO1BRPMg7VzKjZL3FeefVX6oDbygygFiTE46/gMmWsIjbiabmpj2Tbl0nDfLa2wZPzxkh+8LJmwiqqj9k4LYTT1b06H8g8sTqJ/IiJhC0O8XspibzQWplL0MapBrIQ1EQIXfTHJGOWctEpfRmK6IfdmYzz9GHcuo+/R369hdzsQ== 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.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=T6m78H/lHau5iI1Xsypbz7J/vQ0BESOvkdBDyR4YvOE=; b=ERWPdwqnmDy4sKi/QGj2xZGvOIMXTJtZGYkx6AB7hSqZul8JQW6lYuNfugx6W4mcp4mnU7BWgQzu5LZCLZRtfZ7kqpHTtAevJ/878srv1MZY9OzUZdaY1YHSVedYjYhmO1ubFDsYBXtVNoB7m1Z01ABj8qS6uvA4tCO8il/+Dfw= Received: from MWHPR18MB1645.namprd18.prod.outlook.com (10.173.241.137) by MWHPR18MB1023.namprd18.prod.outlook.com (10.173.122.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2347.18; Wed, 16 Oct 2019 12:17:56 +0000 Received: from MWHPR18MB1645.namprd18.prod.outlook.com ([fe80::b4fd:71ce:2bc4:7afb]) by MWHPR18MB1645.namprd18.prod.outlook.com ([fe80::b4fd:71ce:2bc4:7afb%3]) with mapi id 15.20.2347.023; Wed, 16 Oct 2019 12:17:56 +0000 From: Vamsi Krishna Attunuru To: "Yigit, Ferruh" CC: "thomas@monjalon.net" , Jerin Jacob Kollanukkaran , "olivier.matz@6wind.com" , "ferruh.yigit@intel.com" , "anatoly.burakov@intel.com" , "arybchenko@solarflare.com" , "Kiran Kumar Kokkilagadda" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v10 0/5] kni: add IOVA=VA support Thread-Index: AQHVU/myKT4BKgAuPEmOyX1G6ACmZ6dcNCSAgAFPekA= Date: Wed, 16 Oct 2019 12:17:55 +0000 Message-ID: References: <20190729121313.30639-2-vattunuru@marvell.com> <20190816061252.17214-1-vattunuru@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [14.140.231.66] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 37c4e1da-2069-486b-d81b-08d75232e04f x-ms-traffictypediagnostic: MWHPR18MB1023: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0192E812EC x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(13464003)(6116002)(3846002)(55016002)(6916009)(446003)(11346002)(9686003)(8936002)(5660300002)(229853002)(14454004)(52536014)(71190400001)(71200400001)(478600001)(186003)(76176011)(66946007)(256004)(14444005)(6436002)(2906002)(76116006)(33656002)(7736002)(54906003)(66556008)(26005)(81166006)(8676002)(25786009)(74316002)(86362001)(476003)(486006)(66066001)(4326008)(6246003)(66446008)(66476007)(305945005)(316002)(102836004)(53546011)(7696005)(99286004)(6506007)(64756008)(55236004)(81156014); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR18MB1023; H:MWHPR18MB1645.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: SJ1+CcOStFmHfSxqeJ78slqoOMkuHY8xg7wHxBO4nWZJxs+jNnJr3VJTFngUn9lcRX5G07CNaELVpf2ygGdiIwIxxGDtfdviEuQcsWy0gLqVs3/78IZ6fjJtLXPPytlM87YWgKl5u5XOUBKUjWoxBdeOArod/QhoQELrdj4v83U8q3ciLmpP5RwBU/R6KuSZqQGjvgnjWKSmE4JQZx8W47RO7LyZbhA0v16WlNg9Ci9fhBr7dx27goOBVpeBw3areF9frw3604Zq4iO5QpY+slUZcCJ+L7UsIILLel/g1Ak6PlJwLTZI5QwcgidSL8NZdLJwsXuAw5Obq278l74eFYi+SQryLuFuSa92e/7o0Jqia/eeL9CNXwp3YXI172teH+EGa99EDX0gCQjq9d1+Kw46p7uiwAB6BWS0lhliMZs= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 37c4e1da-2069-486b-d81b-08d75232e04f X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2019 12:17:55.8477 (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: bJMuanu/Pai36LPccpRtXGLPHFrVE2XgLWJw5J/X7labEfMy/J1K1/MPQPOx/8l77coVY+65F8koUqIaHzwfMw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR18MB1023 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,1.0.8 definitions=2019-10-16_04:2019-10-16,2019-10-16 signatures=0 Subject: Re: [dpdk-dev] [PATCH v10 0/5] kni: add IOVA=VA support 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IDxkZXYtYm91bmNl c0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIFlpZ2l0LCBGZXJydWgNCj4gU2VudDogVHVlc2RheSwg T2N0b2JlciAxNSwgMjAxOSA5OjA1IFBNDQo+IFRvOiBWYW1zaSBLcmlzaG5hIEF0dHVudXJ1IDx2 YXR0dW51cnVAbWFydmVsbC5jb20+OyBkZXZAZHBkay5vcmcNCj4gQ2M6IHRob21hc0Btb25qYWxv bi5uZXQ7IEplcmluIEphY29iIEtvbGxhbnVra2FyYW4gPGplcmluakBtYXJ2ZWxsLmNvbT47DQo+ IG9saXZpZXIubWF0ekA2d2luZC5jb207IGZlcnJ1aC55aWdpdEBpbnRlbC5jb207IGFuYXRvbHku YnVyYWtvdkBpbnRlbC5jb207DQo+IGFyeWJjaGVua29Ac29sYXJmbGFyZS5jb207IEtpcmFuIEt1 bWFyIEtva2tpbGFnYWRkYQ0KPiA8a2lyYW5rdW1hcmtAbWFydmVsbC5jb20+DQo+IFN1YmplY3Q6 IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MTAgMC81XSBrbmk6IGFkZCBJT1ZBPVZBIHN1cHBvcnQN Cj4gDQo+IE9uIDgvMTYvMjAxOSA3OjEyIEFNLCB2YXR0dW51cnVAbWFydmVsbC5jb20gd3JvdGU6 DQo+ID4gRnJvbTogVmFtc2kgQXR0dW51cnUgPHZhdHR1bnVydUBtYXJ2ZWxsLmNvbT4NCj4gPg0K PiA+IC0tLQ0KPiA+IFYxMCBDaGFuZ2VzOg0KPiA+ICogRml4ZWQgZnVuY3Rpb24gcmV0dXJuIGNv ZGUgb24gZmFpbHVyZSB3aGVuIG1pbl9jaHVua19zaXplID4gcGdfc3ouDQo+ID4gKiBNYXJrZWQg bmV3IG1lbXBvb2wgcG9wdWxhdGUgcm91dGluZSBhcyBFWFBFUklNRU5UQUwuDQo+ID4NCj4gPiBW OSBDaGFuZ2VzOg0KPiA+ICogVXNlZCBydGVfbWVtcG9vbF9vcHNfY2FsY19tZW1fc2l6ZSgpIGlu c3RlYWQgb2YgZGVmYXVsdCBoYW5kbGVyIGluDQo+ID4gdGhlIG5ldyBtZW1wb29sIHBvcHVsYXRl IHJvdXRpbmUuDQo+ID4gKiBDaGVjayBtaW5fY2h1bmtfc2l6ZSBhbmQgcmV0dXJuIHZhbHVlcy4N Cj4gPiAqIFJlbW92ZWQgZXRoZGV2X2luZm8gbWVtc2V0IHRvICcwJyBhbmQgbW92ZWQgcGNpIGRl dl9pbmZvIHBvcHVsYXRlDQo+ID4gaW50bw0KPiA+IGtuaV9kZXZfcGNpX2FkZHJfZ2V0KCkgcm91 dGluZS4NCj4gPiAqIEFkZHJlc3NlZCBtaXNjLiByZXZpZXcgY29tbWVudHMuDQo+ID4NCj4gPiBW OCBDaGFuZ2VzOg0KPiA+ICogUmVtb3ZlIGRlZmF1bHQgbWVtcG9vbCBwb3B1bGF0ZSgpIHJvdXRp bmUgY2hhbmdlcy4NCj4gPiAqIEFkZCBrbmkgYXBwIHNwZWNpZmljIG1lbXBvb2wgY3JlYXRlICYg ZnJlZSByb3V0aW5lcy4NCj4gPiAqIEFkZCBuZXcgbWVtcG9vbCBwb3B1bGF0ZSByb3V0aW5lIHRv IGFsbG9jYXRlIHBhZ2UtYWxpZ25lZCBtZW16b25lcw0KPiA+IHdpdGggcGFnZSBzaXplIHRvIG1h a2Ugc3VyZSBhbGwgbWVtcG9vbCBvYmplY3RzIHJlc2lkZSBvbiBhIHBhZ2UuDQo+ID4gKiBVcGRh dGUgcmVsZWFzZSBub3RlcyBhbmQgbWFwIGZpbGVzLg0KPiA+DQo+ID4gVjcgQ2hhbmdlczoNCj4g PiAqIFJlbW92ZWQgcHJldmlvdXNseSBwcm9wb3NlZCBtZW1wb29sIGZsYWcgYW5kIG1hZGUgdGhv c2UgcGFnZQ0KPiA+IGJvdW5kYXJ5IGNoZWNrcyBkZWZhdWx0IGluIG1lbXBvb2wgcG9wdWxhdGUo KSBleGNlcHQgZm9yIHRoZSBvYmplY3RzDQo+ID4gc2l6ZSBiaWdnZXIgdGhhbiB0aGUgc2l6ZSBv ZiBwYWdlLg0KPiA+ICogUmVtb3ZlZCBLTkkgZXhhbXBsZSBhcHBsaWNhdGlvbiByZWxhdGVkIGNo YW5nZXMgc2luY2UgcG9vbCByZWxhdGVkDQo+ID4gcmVxdWlyZW1lbnQgaXMgdGFrZW4gY2FyZSBp biBtZW1wb29sIGxpYi4NCj4gPiAqIEFsbCBQQ0kgZGV2IHJlbGF0ZWQgaW5mbyBpcyBtb3ZlZCB1 bmRlciBydGVfZWFsX2lvdmFfbW9kZSgpID09IFZBIGNoZWNrLg0KPiA+ICogQWRkZWQgd3JhcHBl ciBmdW5jdGlvbnMgaW4gS05JIG1vZHVsZSB0byBoaWRlIElPVkEgY2hlY2tzIGFuZCBtYWtlDQo+ ID4gYWRkcmVzcyB0cmFuc2xhdGlvbiByb3V0aW5lcyBtb3JlIHJlYWRhYmxlLg0KPiA+ICogVXBk YXRlZCBJT1ZBIG1vZGUgY2hlY2tzIHRoYXQgZW5mb3JjaW5nIElPVkE9UEEgbW9kZSB3aGVuIElP VkE9VkENCj4gPiBtb2RlIGlzIGVuYWJsZWQuDQo+ID4NCj4gPiBWNiBDaGFuZ2VzOg0KPiA+ICog QWRkZWQgbmV3IG1lbXBvb2wgZmxhZyB0byBlbnN1cmUgbWJ1ZiBtZW1vcnkgaXMgbm90IHNjYXR0 ZXJlZCBhY3Jvc3MNCj4gPiBwYWdlIGJvdW5kYXJpZXMuDQo+ID4gKiBBZGRlZCBLTkkga2VybmVs IG1vZHVsZSByZXF1aXJlZCBQQ0kgZGV2aWNlIGluZm9ybWF0aW9uLg0KPiA+ICogTW9kaWZpZWQg S05JIGV4YW1wbGUgYXBwbGljYXRpb24gdG8gY3JlYXRlIG1lbXBvb2wgd2l0aCBuZXcgbWVtcG9v bA0KPiA+IGZsYWcuDQo+ID4NCj4gPiBWNSBjaGFuZ2VzOg0KPiA+ICogRml4ZWQgYnVpbGQgaXNz dWUgd2l0aCAzMmIgYnVpbGQNCj4gPg0KPiA+IFY0IGNoYW5nZXM6DQo+ID4gKiBGaXhlZCBidWls ZCBpc3N1ZXMgd2l0aCBvbGRlciBrZXJuZWwgdmVyc2lvbnMNCj4gPiAqIFRoaXMgYXBwcm9hY2gg d2lsbCBvbmx5IHdvcmsgd2l0aCBrZXJuZWwgYWJvdmUgNC40LjANCj4gPg0KPiA+IFYzIENoYW5n ZXM6DQo+ID4gKiBBZGQgbmV3IGFwcHJvYWNoIHRvIHdvcmsga25pIHdpdGggSU9WQT1WQSBtb2Rl IHVzaW5nDQo+ID4gaW9tbXVfaW92YV90b19waHlzIEFQSS4NCj4gPg0KPiA+IEtpcmFuIEt1bWFy IEsgKDEpOg0KPiA+ICAga25pOiBhZGQgSU9WQT1WQSBzdXBwb3J0IGluIEtOSSBtb2R1bGUNCj4g Pg0KPiA+IFZhbXNpIEF0dHVudXJ1ICg0KToNCj4gPiAgIG1lbXBvb2w6IHBvcHVsYXRlIG1lbXBv b2wgd2l0aCB0aGUgcGFnZSBzaXplZCBjaHVua3MNCj4gPiAgIGtuaTogYWRkIElPVkE9VkEgc3Vw cG9ydCBpbiBLTkkgbGliDQo+ID4gICBrbmk6IGFkZCBhcHAgc3BlY2lmaWMgbWVtcG9vbCBjcmVh dGUgYW5kIGZyZWUgcm91dGluZXMNCj4gPiAgIGtuaTogbW9kaWZ5IElPVkEgbW9kZSBjaGVja3Mg dG8gc3VwcG9ydCBWQQ0KPiANCj4gSGkgVmFtc2ksDQo+IA0KPiBJIGFtIGF3YXJlIHRoYXQgdGhp cyBwYXRjaHNldCBpcyBhcm91bmQgZm9yIGEgbG9uZyB0aW1lLCBhbmQgSSBoYXZlIHNlZW4geW91 cg0KPiByZXF1ZXN0IHRvIG1lcmdlIGluIDE5LjExLCBidXQgYXMgeW91IGNhbiB1bmRlcnN0YW5k IHRoZSBjb25jZXJuIEkgaGF2ZSBpcyB0bw0KPiBicmVhayBLTkkgb3IgZXhpc3RpbmcgS05JIGFw cGxpY2F0aW9ucyB3aGlsZSB0cnlpbmcgdG8gYWRkIHRoaXMgbmV3IGZlYXR1cmUuDQo+IA0KPiBJ biBoaWdoIGxldmVsLCB0aGVyZSBhcmUgdHdvIGlzc3VlcywNCj4gDQo+IDEpIGtlcm5lbCBtb2R1 bGVzIHVwZGF0ZXMgZXhwZWN0IHRoZXJlIHdpbGwgYmUgYSBiYWNrZWQgZGV2aWNlIG9mIHRoZSBL Tkkgd2hpY2gNCj4gaXMgbm90IGFsd2F5cyB0cnVlOg0KPiANCj4gICAgICAgICAgaWYgKGRldl9p bmZvLmlvdmFfbW9kZSkgew0KPiAgI2lmZGVmIEhBVkVfSU9WQV9BU19WQV9TVVBQT1JUDQo+ICAg ICAgICAgICAgICAgICAgcGNpID0gcGNpX2dldF9kZXZpY2UoZGV2X2luZm8udmVuZG9yX2lkLA0K PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9pbmZvLmRldmljZV9p ZCwgTlVMTCk7DQo+ICAgICAgICAgICAgICAgICAgaWYgKHBjaSA9PSBOVUxMKSB7DQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICBwcl9lcnIoInBjaSBkZXYgZG9lcyBub3QgZXhpc3RcbiIpOw0K PiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9ERVY7DQo+ICAgICAgICAgICAg ICAgICAgfQ0KPiANCj4gRm9yIGV4YW1wbGUgdGhpcyBicmVha3M6DQo+IC4vYnVpbGQvYXBwL3Rl c3RwbWQgLXcwOjAuMCAtLXZkZXYgbmV0X2tuaTAgLS12ZGV2IG5ldF9rbmkxICAtLSAtaQ0KDQpW YW1zaT4gWWVzLCB0aGVzZSBjYW4gYmUgZml4ZWQgYnkgZm9yY2luZyBpb21tdV9tb2RlIHRvIFBB IGZvcg0KdmRldiBvciB2ZGV2JnBkZXYgYmFzZWQgS05JIHVzZWNhc2VzLiANCg0KPiANCj4gDQo+ IDIpIEFwcGxpY2F0aW9ucyB3aWxsIGhhdmUgdG8gY2hhbmdlIHRoZSBBUEkgdG8gYWxsb2NhdGUg dGhlIG1lbXBvb2wuDQo+IElmIHRoZSB1c2VyIHVwZ3JhZGVkIHRvIG5ldyB2ZXJzaW9uIG9mIERQ REssIG5vdyBpdCBpcyBwb3NzaWJsZSB0byBoYXZlIGlvdmE9dmENCj4gbW9kZSBhbmQgYXBwbGlj YXRpb24gc2hvdWxkIHVzZSBuZXcgS05JIEFQSSAncnRlX2tuaV9wa3RtYnVmX3Bvb2xfY3JlYXRl KCknDQo+IHRvIGFsbG9jYXRlIG1lbXBvb2wuIEFuZCBtb3N0IHByb2JhYmx5IGFwcGxpY2F0aW9u IHdpbGwgaGF2ZSBkYXRhcGF0aCBhbmQgd2lsbA0KPiB1c2UgdGhlIEtOSSBvbmx5IGZvciBleGNl cHRpb24gcGF0aCwgd2lsbCB0aGVyZSBiZSBhbnkgYWZmZWN0IHVzaW5nIEtOSSB2ZXJzaW9uIG9m DQo+IG1lbXBvb2wgYWxsb2M/DQoNClZhbXNpPiBUaGVyZSB3b3VsZCBub3QgYmUgYW55IGFmZmVj dCBpbiB1c2luZyBLTkkgdmVyc2lvbiBvZiBtZW1wb29sLg0KDQo+IA0KPiANCj4gSSB3b3VsZCBs aWtlIHRvIHNlZSBLTkkgaXMgZW5hYmxlZCB2aWEgaW92YT12YSBtb2RlLCBidXQgY2FuIHdlIGhh dmUgaXQgbGltaXRlZCB0bw0KPiBhIHNwZWNpZmljIGNvbW1hbmQgbGluZSBhcmd1bWVudCBvciBj b25maWcgb3B0aW9uPyBUaGlzIGluY3JlYXNlcyB0aGUgdGVzdA0KPiBzdXJmYWNlIGJ1dCBhdCBs ZWFzdCBvbGQgYXBwbGljYXRpb24gY2FuIGNvbnRpbnVlIHRvIHdvcmsgYnkgZGVmYXVsdCwgd2hh dCBkbyB5b3UNCj4gdGhpbms/DQoNClZhbXNpPiBZZXMsIGl0J3MgYXBwcm9wcmlhdGUgdG8gY29u dHJvbCB0aGUgbW9kZSB0byBlbnN1cmUgb2xkIGFwcHMgd29yayBieSBkZWZhdWx0Lg0KV2UgYXJl IGZpbmUgd2l0aCBoYXZpbmcgYSBjb21tYW5kIGxpbmUgYXJnIG9yIGNvbmZpZyBvcHRpb24gdG8g ZW5hYmxlIEtOSSBpbiBpb3ZhPXZhIG1vZGUuDQpFYXJsaWVyIHdlIHRob3VnaHQgb2YgaGF2aW5n IHNpbWlsYXIgYXBwcm9hY2ggdGhhdCBhbHNvIGNvbnRyb2xzIG1lbXBvb2wgYWxsb2NhdGlvbiB1 c2luZw0KYSBuZXdlciBtZW1wb29sIGZsYWcuIEFmdGVyIG11bHRpcGxlIHJldmlld3MsIGZsYWcg aGFzIGJlZW4gZGlzY2FyZCBhbmQgYWRkZWQgYSBzZXBhcmF0ZQ0KbWVtcG9vbCBwb3B1bGF0ZSBy b3V0aW5lIGZvciB0aGVzZSB1c2VjYXNlLiANCg0KV2hlbiBjb21tYW5kIGxpbmUgYXJnL2NvbmZp ZyBvcHRpb24gaXMgaW50cm9kdWNlZCwgZnVuY3Rpb25hbGl0eSB3aWxsIGJlIGFzIGJlbG93LiAN ClBsZWFzZSBjb3JyZWN0IG1lIGlmIGFueSBjYXNlcyBhcmUgbWlzc2VkIG9yIG5vdCBjb25zaWRl cmVkLg0KV2l0aG91dCBjb21tYW5kOg0KRXhpc3RpbmcgS05JIGlzIGludGFjdCwgaW9tbXUgbW9k ZSB3aWxsIGJlIFBBLg0KV2l0aCAgY29tbWFuZDoNClBkZXYvdmRldidzIGlvbW11IG1vZGUgaXMg Y29uc2lkZXJlZCBhbmQgYWNjb3JkaW5nbHkgaW92YT12YS9wYSBpcyBlbmFibGVkLiBBcHBsaWNh dGlvbiBpcw0Kc3VwcG9zZWQgdG8gdXNlIEtOSSB2ZXJzaW9uIG9mIG1lbXBvb2wgYWxsb2MuIEkg dGhpbmsgdGhlc2UgbWVtcG9vbCBxdWlyayB3aWxsIGdvIGF3YXkgd2hlbg0KT2xpdmllcidzIG1l bXBvb2wgcGF0Y2hzZXQoUkZDKSBpcyBtZXJnZWQuDQoNCj4gDQo+IEFuZCBJIHdpbGwgcHV0IGEg ZmV3IG1pbm9yIGNvbW1lbnRzIHRvIHRoZSBwYXRjaGVzLi4uDQo+IA0KDQo=