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 A4816A0577; Tue, 7 Apr 2020 04:43:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BB1162B86; Tue, 7 Apr 2020 04:43:29 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 2CBC7FFA for ; Tue, 7 Apr 2020 04:43:28 +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 0372duCj023545; Mon, 6 Apr 2020 19:43:25 -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=2mpLabf+DfXAs3EVLBOkqYy327U936HRSBctmLFP/kY=; b=xuokDpD7k0Z11BK3LB1hLdKZgwDxbMQlVNRwephis2xSuMsHBKEFdNFkGwNsQNmQI8Hn sSP1/fV58YT+cLYciDz/OlqoYbVCIC7rKTAqo89lBqVdWwXbmV++y3IkCI47Z7jVDcJQ KCHqZt7bOIQfcMtl68hK5BxFUBRdbSFbZf6sTC9wHxG6l6ywTgK3vomQhykrl8+F+CBK tq94DprkgzkFD9IinSdBuHkiHcwwUAFeuh0hoGfgVofoeRIGLmFRnulxCqqcLURHQPr4 7jvg+Uc9aA5cCbxTrj0mB2SKnXwAw42d0tnEas299LZpowfzE/mnlblpaeaWdvY6D9JD UA== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 306srm88r6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 06 Apr 2020 19:43:25 -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.1497.2; Mon, 6 Apr 2020 19:43:23 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.108) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Mon, 6 Apr 2020 19:43:23 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ls3AaH78qAxhgR2u6NqcM10uf+0RQts0Qig1jKVpzJOUMf2W8yfVpWQhjeRf0JAMKp2/4GwUCUMSZr7ZwrC7cxrWLY2+a9UM1/e2sMPBct1MCOxBiqsAtq+etuebe2G2++XiIktOy5WE786jLgFaTMnDEyG8ck0t5eXS2emJPaCckXoU2TDNmRnsFz6WmeDHc9URjlNW3FGBXREWdmEHmcByot12TQZyprQuUgLo3dX+uKxFZxjVwhYNOtAk0SBCAFgYhN33VfrrSZRK8fXhKD/OoHx7sllSq+8B6q6fP4QIElBJkqhYu+GXfjWzrHRQk2mOwfOUUuCY4ZJcmF5qFA== 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=2mpLabf+DfXAs3EVLBOkqYy327U936HRSBctmLFP/kY=; b=ZVBYF5RwiW9knzDvN+YhYzMorF9em0lPJ3oqh2ffrkHo7v1QShkzeKSRF1k2IdRsW8zOEZHzGrTzmKhyUWBPd3nNnLnxxX/3Y1r4TMNk8Hx1euYGPXj161YT/d2iwsd7tiwV2dP2cHFIceSpn+MrUcX4fbSDihpIQobebvtdKhoLttHFi27dH6GP/mDCcr3A4IpaomP+tubydCxr86qeIBDPVPcy85OAWnim58wRlWx9AvAgntp6lr34J+AGF3gNHa1F6JLqR6H3Lutcq2CwO4In4qCRtDJl49dWtsmYyh9U/sGdoFJeVkxjCAzBRQPuUHhUA0TyMV/g7rqyryzS6w== 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=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2mpLabf+DfXAs3EVLBOkqYy327U936HRSBctmLFP/kY=; b=QQAegcVzRUbgqOSzZnb0n1rtS0BrKN7FRIR/IPZ2QHOxboFCAgvvnnlWbBHa7Giuv+aGufbyO9KEqN8fLEWsv16yB3SCSskWUBLmMMAWIazNo5S9P02xKyhZgHwIX7i4Li/8mJiQDkTxdA9i9Z6tusbvspV+tNWWAhuaU9fwoU8= Received: from BYAPR18MB2965.namprd18.prod.outlook.com (2603:10b6:a03:10c::30) by BYAPR18MB2373.namprd18.prod.outlook.com (2603:10b6:a03:12e::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.20; Tue, 7 Apr 2020 02:43:21 +0000 Received: from BYAPR18MB2965.namprd18.prod.outlook.com ([fe80::44a0:144:aca8:b52]) by BYAPR18MB2965.namprd18.prod.outlook.com ([fe80::44a0:144:aca8:b52%7]) with mapi id 15.20.2878.018; Tue, 7 Apr 2020 02:43:21 +0000 From: Kiran Kumar Kokkilagadda To: Andrzej Ostruszka , Jerin Jacob Kollanukkaran CC: "dev@dpdk.org" , "thomas@monjalon.net" , "david.marchand@redhat.com" , "mdr@ashroe.eu" , "mattias.ronnblom@ericsson.com" , "Pavan Nikhilesh Bhagavatula" , Nithin Kumar Dabilpuram , "xiao.w.wang@intel.com" Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v4 03/29] graph: implement node operations Thread-Index: AQHWCygUtRHNrT7y9kmbIY8PytbCIKhsY0KAgACRoXA= Date: Tue, 7 Apr 2020 02:43:21 +0000 Message-ID: References: <20200331192945.2466880-1-jerinj@marvell.com> <20200405085613.1336841-1-jerinj@marvell.com> <20200405085613.1336841-4-jerinj@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [49.205.223.90] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 839c0b4a-8fe9-4af9-fe86-08d7da9d6fd7 x-ms-traffictypediagnostic: BYAPR18MB2373: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-forefront-prvs: 036614DD9C x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR18MB2965.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(136003)(396003)(39850400004)(346002)(366004)(376002)(66556008)(5660300002)(76116006)(6506007)(66946007)(6636002)(71200400001)(66446008)(64756008)(66476007)(81156014)(53546011)(7696005)(52536014)(8936002)(26005)(186003)(8676002)(55016002)(33656002)(4326008)(54906003)(478600001)(86362001)(110136005)(316002)(2906002)(81166006)(9686003); DIR:OUT; SFP:1101; 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: 56vGKoPOxQlTBfVnGj+rtBfHrQL+KKewpv7LXAyI9Unf7V60qCQxox9qMah7JNIbmgeAHYrc4CVTfqxa+jGAkgLpfDB09/C4zMQa8ZZJfzyV7RQryt/NGE8lYWmYjn84a42GP3wNd1xjP1IGJtVX1VLGRlewyGMuTZQ7QME8sZs2QIfowLUbeJYqVdxnbaEO1TsNygcVtSCUl8Ob9BdFIeQS6kkH27gcrzvxygWswObA7TaIQMJ8cEDkHs0wPHdG3oS8cUEwBE9rPMk8/apAwtCYY1jw7CNDDypws/J6RZYCRDKdn0cPE8oHdyhFWtExu8IXuq05IUlep95N71lLR+wDnLelBIwbYjBT1YuXEQtJAjHDRSJHFpISd0oPMfNLopPwGSgteQYSgV8S4oOvE/hyfHVqgsEtNZJAYkm00SXrOHsYHOQrNCzlaoChiA5k x-ms-exchange-antispam-messagedata: m0D0MiE0QmhcD2hW0/AJ5GVi537KppU7GeCarcfHQfmbRrUEaFfbTSOxFyjL0YSfZYWWKwNX8ndSJOq9yvkzEMFoh7DBeZ853oej7QdO0DLNhbFtDnNfwzzj24uTAbdmW20qUYE+Hj+yLY20cQP8iQ== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 839c0b4a-8fe9-4af9-fe86-08d7da9d6fd7 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Apr 2020 02:43:21.5782 (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: PwNdtfdLrStfQKerqmqkhd5dnzYTlnDWnayIvK90yLBtD5OuMJeLf59lzYmOUbeQ8Ccx2oQexJk/oktiUEa3ZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR18MB2373 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676 definitions=2020-04-07_01:2020-04-07, 2020-04-06 signatures=0 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v4 03/29] graph: implement node operations 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcnplaiBPc3RydXN6 a2EgPGFtb0BzZW1paGFsZi5jb20+DQo+IFNlbnQ6IE1vbmRheSwgQXByaWwgNiwgMjAyMCAxMToy NyBQTQ0KPiBUbzogSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbiA8amVyaW5qQG1hcnZlbGwuY29t PjsgS2lyYW4gS3VtYXIgS29ra2lsYWdhZGRhDQo+IDxraXJhbmt1bWFya0BtYXJ2ZWxsLmNvbT4N Cj4gQ2M6IGRldkBkcGRrLm9yZzsgdGhvbWFzQG1vbmphbG9uLm5ldDsgZGF2aWQubWFyY2hhbmRA cmVkaGF0LmNvbTsNCj4gbWRyQGFzaHJvZS5ldTsgbWF0dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5j b207IFBhdmFuIE5pa2hpbGVzaA0KPiBCaGFnYXZhdHVsYSA8cGJoYWdhdmF0dWxhQG1hcnZlbGwu Y29tPjsgTml0aGluIEt1bWFyIERhYmlscHVyYW0NCj4gPG5kYWJpbHB1cmFtQG1hcnZlbGwuY29t PjsgeGlhby53LndhbmdAaW50ZWwuY29tDQo+IFN1YmplY3Q6IFtFWFRdIFJlOiBbZHBkay1kZXZd IFtQQVRDSCB2NCAwMy8yOV0gZ3JhcGg6IGltcGxlbWVudCBub2RlDQo+IG9wZXJhdGlvbnMNCj4g DQo+IEV4dGVybmFsIEVtYWlsDQo+IA0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IE9uIDQvNS8yMCAxMDo1 NSBBTSwgamVyaW5qQG1hcnZlbGwuY29tIHdyb3RlOg0KPiBbLi4uXQ0KPiA+IGRpZmYgLS1naXQg YS9saWIvbGlicnRlX2dyYXBoL25vZGUuYyBiL2xpYi9saWJydGVfZ3JhcGgvbm9kZS5jIGluZGV4 DQo+ID4gMzM2Y2QxYzk0Li5kMDRhMGZjZTAgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9n cmFwaC9ub2RlLmMNCj4gPiArKysgYi9saWIvbGlicnRlX2dyYXBoL25vZGUuYw0KPiBbLi4uXQ0K PiA+ICtzdGF0aWMgcnRlX2VkZ2VfdA0KPiA+ICtlZGdlX3VwZGF0ZShzdHJ1Y3Qgbm9kZSAqbm9k ZSwgc3RydWN0IG5vZGUgKnByZXYsIHJ0ZV9lZGdlX3QgZnJvbSwNCj4gPiArCSAgICBjb25zdCBj aGFyICoqbmV4dF9ub2RlcywgcnRlX2VkZ2VfdCBuYl9lZGdlcykgew0KPiA+ICsJcnRlX2VkZ2Vf dCBpLCBtYXhfZWRnZXMsIGNvdW50ID0gMDsNCj4gPiArCXN0cnVjdCBub2RlICpuZXdfbm9kZTsN Cj4gPiArCWJvb2wgbmVlZF9yZWFsbG9jOw0KPiA+ICsJc2l6ZV90IHN6Ow0KPiA+ICsNCj4gPiAr CWlmIChmcm9tID09IFJURV9FREdFX0lEX0lOVkFMSUQpDQo+ID4gKwkJZnJvbSA9IG5vZGUtPm5i X2VkZ2VzOw0KPiA+ICsNCj4gPiArCS8qIERvbid0IGNyZWF0ZSBob2xlIGluIG5leHRfbm9kZXNb XSBsaXN0ICovDQo+ID4gKwlpZiAoZnJvbSA+IG5vZGUtPm5iX2VkZ2VzKSB7DQo+ID4gKwkJcnRl X2Vycm5vID0gRU5PTUVNOw0KPiA+ICsJCWdvdG8gZmFpbDsNCj4gPiArCX0NCj4gPiArDQo+ID4g KwkvKiBSZW1vdmUgbWUgZnJvbSBsaXN0ICovDQo+ID4gKwlTVEFJTFFfUkVNT1ZFKCZub2RlX2xp c3QsIG5vZGUsIG5vZGUsIG5leHQpOw0KDQpUaGlzIGlzIHdoZXJlIHdlIHdpbGwgcmVtb3ZlIHRo ZSBub2RlIGZpcnN0IHVuY29uZGl0aW9uYWxseS4gTGF0ZXIgd2UgdXBkYXRlIHRoZSBuZXcgbm9k ZS4NCg0KPiA+ICsNCj4gPiArCS8qIEFsbG9jYXRlIHRoZSBzdG9yYWdlIHNwYWNlIGZvciBuZXcg bm9kZSBpZiByZXF1aXJlZCAqLw0KPiA+ICsJbWF4X2VkZ2VzID0gZnJvbSArIG5iX2VkZ2VzOw0K PiA+ICsJbmVlZF9yZWFsbG9jID0gbWF4X2VkZ2VzID4gbm9kZS0+bmJfZWRnZXM7DQo+ID4gKwlp ZiAobmVlZF9yZWFsbG9jKSB7DQo+ID4gKwkJc3ogPSBzaXplb2Yoc3RydWN0IG5vZGUpICsgKG1h eF9lZGdlcyAqIFJURV9OT0RFX05BTUVTSVpFKTsNCj4gPiArCQluZXdfbm9kZSA9IHJlYWxsb2Mo bm9kZSwgc3opOw0KPiA+ICsJCWlmIChuZXdfbm9kZSA9PSBOVUxMKSB7DQo+ID4gKwkJCXJ0ZV9l cnJubyA9IEVOT01FTTsNCj4gPiArCQkJZ290byByZXN0b3JlOw0KPiA+ICsJCX0gZWxzZSB7DQo+ ID4gKwkJCW5vZGUgPSBuZXdfbm9kZTsNCj4gPiArCQl9DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJ LyogVXBkYXRlIHRoZSBuZXcgbm9kZXMgbmFtZSAqLw0KPiA+ICsJZm9yIChpID0gZnJvbTsgaSA8 IG1heF9lZGdlczsgaSsrLCBjb3VudCsrKSB7DQo+ID4gKwkJaWYgKHJ0ZV9zdHJzY3B5KG5vZGUt Pm5leHRfbm9kZXNbaV0sIG5leHRfbm9kZXNbY291bnRdLA0KPiA+ICsJCQkJUlRFX05PREVfTkFN RVNJWkUpIDwgMCkgew0KPiA+ICsJCQlydGVfZXJybm8gPSBFMkJJRzsNCj4gPiArCQkJZ290byBy ZXN0b3JlOw0KPiA+ICsJCX0NCj4gPiArCX0NCj4gPiArcmVzdG9yZToNCj4gPiArCS8qIFVwZGF0 ZSB0aGUgbGlua2VkIGxpc3QgdG8gcG9pbnQgbmV3IG5vZGUgYWRkcmVzcyBpbiBwcmV2IG5vZGUg Ki8NCj4gPiArCWlmIChwcmV2KQ0KPiA+ICsJCVNUQUlMUV9JTlNFUlRfQUZURVIoJm5vZGVfbGlz dCwgcHJldiwgbm9kZSwgbmV4dCk7DQo+ID4gKwllbHNlDQo+ID4gKwkJU1RBSUxRX0lOU0VSVF9I RUFEKCZub2RlX2xpc3QsIG5vZGUsIG5leHQpOw0KPiANCj4gQUZBSVUgbm9kZV9saXN0IGtlZXBz IHRoZSBsaXN0IG9mIG5vZGVzIC0gc28gSSBndWVzcyB5b3Ugd2FudGVkIGhlcmUgInJlcGxhY2Ui DQo+IHRoZSBvbGQgbm9kZSBwb2ludGVyIHdpdGggdGhlIG5ldyBvbmUuICBJIGhhdmUgbm90IHll dCBzZWVuIHRoZSB1c2FnZSBvZiB0aGlzDQo+IGZ1bmN0aW9uIGJ1dCBpdCBzZWVtcyB0byBtZSBs aWtlIHlvdSB1bmNvbmRpdGlvbmFsbHkgaW5zZXJ0IHRoZSB1cGRhdGVkIG5vZGUgLQ0KPiBwb3Nz aWJseSBoYXZpbmcgbm9kZSBwb2ludGVyIHByZXNlbnQgZG91Ymx5IG9yIHdpdGggc3RhbGUgcG9p bnRlci4gIEkgbWlnaHQgYmUNCj4gbWlzc2luZyBzb21ldGhpbmcgaGVyZS4NCj4gDQpTZWUgYWJv dmUuDQoNCj4gPiArDQo+ID4gKwlpZiAobmVlZF9yZWFsbG9jKQ0KPiA+ICsJCW5vZGUtPm5iX2Vk Z2VzICs9IG1heF9lZGdlczsNCj4gDQo+IEl0IGxvb2tzIHRvIG1lIGxpa2UgdGhpcyBzaG91bGQg YmUgc2ltcGxlICc9Jy4NCj4gDQo+ID4gKw0KPiA+ICtmYWlsOg0KPiA+ICsJcmV0dXJuIGNvdW50 Ow0KPiA+ICt9DQo+IFsuLi5dDQo+ID4gK3J0ZV9lZGdlX3QNCj4gPiArcnRlX25vZGVfZWRnZV91 cGRhdGUocnRlX25vZGVfdCBpZCwgcnRlX2VkZ2VfdCBmcm9tLCBjb25zdCBjaGFyDQo+ICoqbmV4 dF9ub2RlcywNCj4gPiArCQkgICAgIHVpbnQxNl90IG5iX2VkZ2VzKQ0KPiA+ICt7DQo+ID4gKwly dGVfZWRnZV90IHJjID0gUlRFX0VER0VfSURfSU5WQUxJRDsNCj4gPiArCXN0cnVjdCBub2RlICpu LCAqcHJldjsNCj4gPiArDQo+ID4gKwlOT0RFX0lEX0NIRUNLKGlkKTsNCj4gPiArCWdyYXBoX3Nw aW5sb2NrX2xvY2soKTsNCj4gPiArDQo+ID4gKwlwcmV2ID0gTlVMTDsNCj4gPiArCVNUQUlMUV9G T1JFQUNIKG4sICZub2RlX2xpc3QsIG5leHQpIHsNCj4gPiArCQlpZiAobi0+aWQgPT0gaWQpIHsN Cj4gPiArCQkJcmMgPSBlZGdlX3VwZGF0ZShuLCBwcmV2LCBmcm9tLCBuZXh0X25vZGVzLA0KPiBu Yl9lZGdlcyk7DQo+ID4gKwkJCWJyZWFrOw0KPiA+ICsJCX0NCj4gPiArCQlwcmV2ID0gbjsNCj4g PiArCX0NCj4gDQo+IE9LIHNvIGluIHRoaXMgY29udGV4dCBteSBjb21tZW50IGFib3ZlIHNlZW1z IHRvIGJlIHZhbGlkLiAgV2hlbiB3ZSBmaW5kIHRoZSBpZA0KPiB3ZSBoYXZlOiBwcmV2IC0+IG4s IHdlIGNhbGwgdXBkYXRlKCkgYW5kIGluIHRoZXJlIHdlIGluc2VydCBuZXdfbm9kZSBhZnRlciBw cmV2DQo+IHNvIHdlIGVuZCB1cCB3aXRoOiBwcmV2IC0+IG4nIC0+IG4gd2hlcmUgbicgbWlnaHQg YmUgbmV3IGFkZHJlc3MgZm9yIG4gb3IganVzdCBuDQo+IHdoZW4gbm8gcmVhbGxvYyB3YXMgcGVy Zm9ybWVkLg0KPiANCj4gRG8gSSBtaXNzIGFueXRoaW5nPw0KPiANCg0KU2VlIGFib3ZlLg0KDQo+ ID4gKw0KPiA+ICsJZ3JhcGhfc3BpbmxvY2tfdW5sb2NrKCk7DQo+ID4gK2ZhaWw6DQo+ID4gKwly ZXR1cm4gcmM7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBydGVfbm9kZV90DQo+ID4gK25v ZGVfY29weV9lZGdlcyhzdHJ1Y3Qgbm9kZSAqbm9kZSwgY2hhciAqbmV4dF9ub2Rlc1tdKSB7DQo+ ID4gKwlydGVfZWRnZV90IGk7DQo+ID4gKw0KPiA+ICsJZm9yIChpID0gMDsgaSA8IG5vZGUtPm5i X2VkZ2VzOyBpKyspDQo+ID4gKwkJbmV4dF9ub2Rlc1tpXSA9IG5vZGUtPm5leHRfbm9kZXNbaV07 DQo+ID4gKw0KPiA+ICsJcmV0dXJuIGk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3J0ZV9ub2RlX3QN Cj4gPiArcnRlX25vZGVfZWRnZV9nZXQocnRlX25vZGVfdCBpZCwgY2hhciAqbmV4dF9ub2Rlc1td KSB7DQo+ID4gKwlydGVfbm9kZV90IHJjID0gUlRFX05PREVfSURfSU5WQUxJRDsNCj4gPiArCXN0 cnVjdCBub2RlICpub2RlOw0KPiA+ICsNCj4gPiArCU5PREVfSURfQ0hFQ0soaWQpOw0KPiA+ICsJ Z3JhcGhfc3BpbmxvY2tfbG9jaygpOw0KPiA+ICsNCj4gPiArCVNUQUlMUV9GT1JFQUNIKG5vZGUs ICZub2RlX2xpc3QsIG5leHQpIHsNCj4gPiArCQlpZiAobm9kZS0+aWQgPT0gaWQpIHsNCj4gPiAr CQkJaWYgKG5leHRfbm9kZXMgPT0gTlVMTCkNCj4gPiArCQkJCXJjID0gc2l6ZW9mKGNoYXIgKikg KiBub2RlLT5uYl9lZGdlczsNCj4gPiArCQkJZWxzZQ0KPiA+ICsJCQkJcmMgPSBub2RlX2NvcHlf ZWRnZXMobm9kZSwgbmV4dF9ub2Rlcyk7DQo+IA0KPiBEbyB3ZSB3YW50IHRvIHJlYWR5IGZvciBu ZXh0X25vZGVzIG5vdCBsYXJnZSBlbm91Z2g/DQo+IA0KPiA+ICsJCQlicmVhazsNCj4gPiArCQl9 DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJZ3JhcGhfc3BpbmxvY2tfdW5sb2NrKCk7DQo+ID4gK2Zh aWw6DQo+ID4gKwlyZXR1cm4gcmM7DQo+ID4gK30NCj4gDQo+IFsuLi5dDQo+IA0KPiBXaXRoIHJl Z2FyZHMNCj4gQW5kcnplaiBPc3RydXN6a2ENCg==