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 23AD3A04B1; Sat, 10 Oct 2020 23:03:24 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A2C6B1D521; Sat, 10 Oct 2020 23:03:22 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70073.outbound.protection.outlook.com [40.107.7.73]) by dpdk.org (Postfix) with ESMTP id 153F21D519 for ; Sat, 10 Oct 2020 23:03:20 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tjm40muBrXfrX/tMdEz1rgLCq1xlM3IBRfMxAEyAKZ76Y5saQbbubY+KoXqn9ax2sK+TXQ/+V+OBLJjwKayK83VHFmAcu5EiRfNSELH4ILtfscXZ/i9fy0DZrKvKJWR+ZykNtN5OVNr8pgI5a0IFmSF+2eIBB4YAL3loAeJpvMnFjHk85zIKLKHfAasDPyGad4mhG1SkM+oDe2B9jtz95ABi4vC4RSYGlCClCoLMp4OkFTjk9ccFwcD/IGYln4WN7FBRg/v0lNwP0oU1VnDzZDOdDbvOllGlU6g8qDq0nz7GgRqFBy/mDjSGYga90H6jrtrqi4Mjk71QNKU6AEvx9Q== 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=wrnGl0Q0Mhey6VjTKpZ6AAjWoAWE/C7xg+rV7XnBSlc=; b=d54x3ANK27WaYzrYl9KCgYURfFV6WTS4tY58f1zYXv1tQlDUFOZXXywEOftILT9C4WXbycy6f5wh3zFOvMlonW5VpDWAxNg6y3pcf3N3I1b+hPt+7iXOapcHGArtjecRNBKeeyb+vZ80JiskYeLP3nzmbFo/d3XCZ4syPRPBBoppoC72h4b8jeRuh6ci4zObA9EhcHCfgrXQuGZfdHq0rMXkKNBfLrPtJ1rSbaE2wn2u6UqNTcwK5yishgYHboFdJXmyuq415yHIPyQeFkKx2se1WmYDoAVtjwPMOMTJQYCK85oDnumjCUeHOGwFzz9fXszVOsK91vhFG25NTBMFfQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wrnGl0Q0Mhey6VjTKpZ6AAjWoAWE/C7xg+rV7XnBSlc=; b=Gl20PudszY+yw0Rw95u2JBaRy1mupQMIywaP7yntrta5udCc3aFT+3qoiWKHRGha7mzcfnapqqyEpoc2rZ5oGNVj6GTxoJURzQ1XWSyg+kBlQ2A8xTRCaqyO1S1HkIUyEz1KosHlyAiuV6SbD0zGWYVyLeBUk52eW5ZDqBJWG/c= Received: from VI1PR04MB3168.eurprd04.prod.outlook.com (2603:10a6:802:6::10) by VI1PR0402MB2750.eurprd04.prod.outlook.com (2603:10a6:800:b5::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23; Sat, 10 Oct 2020 21:03:17 +0000 Received: from VI1PR04MB3168.eurprd04.prod.outlook.com ([fe80::9513:3b55:931f:216e]) by VI1PR04MB3168.eurprd04.prod.outlook.com ([fe80::9513:3b55:931f:216e%4]) with mapi id 15.20.3455.028; Sat, 10 Oct 2020 21:03:17 +0000 From: Akhil Goyal To: "Zhang, Roy Fan" , "dev@dpdk.org" CC: "Dybkowski, AdamX" Thread-Topic: [dpdk-dev v11 4/4] test/crypto: add unit-test for cryptodev raw API test Thread-Index: AQHWnoDTkVA0UAExWUSaCN/SjuanZqmRPxwQgAAR3ACAAAFHgA== Date: Sat, 10 Oct 2020 21:03:16 +0000 Message-ID: References: <20200924163417.49983-1-roy.fan.zhang@intel.com> <20201009211141.14435-1-roy.fan.zhang@intel.com> <20201009211141.14435-5-roy.fan.zhang@intel.com>, In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nxp.com; x-originating-ip: [122.180.231.103] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 4510ce95-b32b-480f-fa92-08d86d5fe916 x-ms-traffictypediagnostic: VI1PR0402MB2750: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EWHlMzKSJx2wCw5ju/44DUaNX9pP1vrL6mLhJaGcyDcC26JNNc92taOgAWChIlpem7YdI3EHvhHT/iCc+1/qfyl6gut5UM/+kIZb0Gob1d2Gn4QAmW2bqwXLl1ao2IX4q9t2YNl7ebHpxpTWRkplWhkLHhLDc4oYc0a1EUptoLNXHDICz8gg1DubqsnyOqdG05LzySp4ihsuYiaFYqYSY/6jHPuOejYWVeHHMV+MNddCDqOGfccbJX33aBxC1rC6zyjVurvVDzoyGalZfYvyT+2xqJ4nbeOZMpCR8ZA74UEbJEFs78n2+6nriXok+5988RIbQCwWXXKLv0Qd450nCw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB3168.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(376002)(39860400002)(346002)(396003)(366004)(44832011)(4326008)(71200400001)(7696005)(52536014)(6506007)(53546011)(5660300002)(66556008)(76116006)(66476007)(66946007)(9686003)(316002)(110136005)(64756008)(66446008)(26005)(2906002)(8676002)(55016002)(86362001)(8936002)(9326002)(186003)(478600001)(83380400001)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: wXSfsMatsIq/UWxQmP6FtRBurlPrIvDzJCwSmYPA9v44LZLtUMwoKr4P6tyIhexHcqUVHTJj51sT3haK1Sz+EHjYxFJp2GPYtZ5Gums/Iiy0aWdnEFHRawQI4m+Kw/e5NNmpeVUMUX4D1p6NXqDvso+6pqmh5VJKb4KnHl2opOeVSn5kFLtmnEmK/OTGnJqzAUzU95smCvvBVIzDgl6tS6OidrLY+en0l/xpoPQ6LLyg4Jvu0KR7UON/Dld1PS0SrPwqKMg+jlGE29WayYXWLFEZqkphcRhmL0F3bVeg07M30+J49GlwIH41IV12rDv7W8TU/V+vHTJMtpINeYDVrVEXQv9WnX71Fv8wIUGv5iSgN1a2TABnNnN/ksITDYZrfoq7MRmb+tsD4JGZQucw4Dx3v0adghH6pxaGMf7lyYsg07IO7PUPZd9GJ3zygU40DCdg+q7sGYM6kifz+y4cCX5wDtFwscUjq3kBNmDrOjP9CZyqBp437a6+GjOeH+pb6O4HFIScX/bTwgd1kMTYldO6pax18HtVv8kEbr9NzdRkQ4aHdzn/5Ren8heT3I/oLCn0YGultCb8jMMG7A/tTQdAgfx9FX9botPFPLwc0AAe0ZUi4BfpkkFxJXQg5OOujLflzlyO66icgBSAaw2Y8A== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB3168.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4510ce95-b32b-480f-fa92-08d86d5fe916 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2020 21:03:16.9205 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: q9f3bw7Wf7kQtsAg/J9BKsr7EM34zooV6qPmE0mT+Zbr+5s1qMJVxqtyNgbYXz+Pydmg1/kK9GymiosdKaNQDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2750 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [dpdk-dev v11 4/4] test/crypto: add unit-test for cryptodev raw API test 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" SGkgRmFuLA0KDQpPSyBnb3QgeW91ciBwb2ludC4gUmV2aWV3IHRoZSBjaGFuZ2VzIGluIHRoZSBk b2N1bWVudGF0aW9uIG9mIEFQSXMgdGhhdCBJIHN1Z2dlc3RlZCBpbiB0aGUgMi80IHBhdGNoIGFj Y29yZGluZyB0byB0aGUgYmVsb3cgZXhwbGFuYXRpb24uDQoNClJlZ2FyZHMsDQpBa2hpbA0KDQpG cm9tOiBaaGFuZywgUm95IEZhbiA8cm95LmZhbi56aGFuZ0BpbnRlbC5jb20+DQpTZW50OiBTdW5k YXksIE9jdG9iZXIgMTEsIDIwMjAgMjoyMSBBTQ0KVG86IEFraGlsIEdveWFsIDxha2hpbC5nb3lh bEBueHAuY29tPjsgZGV2QGRwZGsub3JnDQpDYzogRHlia293c2tpLCBBZGFtWCA8YWRhbXguZHli a293c2tpQGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbZHBkay1kZXYgdjExIDQvNF0gdGVzdC9j cnlwdG86IGFkZCB1bml0LXRlc3QgZm9yIGNyeXB0b2RldiByYXcgQVBJIHRlc3QNCg0KSGkgQWto aWwsDQoNCkZvciB5b3VyIOKAnGFsd2F5cyByZXR1cm4gMeKAnSBxdWVzdGlvbjoNCg0KVGhlIHdh eSBkZXF1ZXVlX2J1cnN0IEFQSSB3b3JrcyBpcyB3ZSBtYXkgbm90IGtub3cgaG93IG1hbnkgb3Bz IHRvIGRlcXVldWUgd2l0aG91dCBwYXJzaW5nIHRoZSBmaXJzdCB1c2VyIGRhdGEgKGUuZy4gYSBz dHJ1Y3R1cmUgY29udGFpbmluZyBuX29wcyBkYXRhKS4gSXQgaXMgdXAgdG8gdGhlIHVzZXIgdG8g cHJvdmlkZSBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIHJldHVybiB0aGUgbnVtYmVyIG9mIG9wcyAt IGVpdGhlciBieSBwYXJzaW5nIHRoZSBkYXRhIHN0cnVjdHVyZSwgb3IgYSBjb25zdGFudCBudW1i ZXIgLSBzbyBpbiBvdXIgdW5pdCB0ZXN0IGl0IGlzIGFsd2F5cyAxIG9wIHRvIHByb2Nlc3MuIFNv IHJldHVybmluZyAxLg0KDQpGb3IgMm5kIGFuZCAzcmQgcXVlc3Rpb246IGVucXVldWVfYnVyc3Qg YW5kIGRlcXVldWVfYnVyc3QgaGF2ZSB0byByZXR1cm4gMiB2YWx1ZXMsIHRoZSBudW1iZXIgb2Yg b3BzIGVucXVldWVkIG9yIHN0b3JlZCBidXQgbm90IGVucXVldWVkLCBhbmQgdGhlIG9wZXJhdGlv biBzdGF0dXMgKGVucXVldWVkL3N0b3JlZCBieSBub3QgZW5xdWV1ZWQvZXJyb3IpLiBUaGUgY2hh bmdlZCBBUEkgd2lsbCByZXR1cm4gdGhlIG51bWJlciBvZiBvcHMgZW5xdWV1ZWQvZGVxdWV1ZWQs IHRoYXTigJlzIHdoeSBJIG1hZGUgdGhlIGNoZWNrIGhlcmUuIFRoZSBvcGVyYXRpb24gc3RhdHVz ICgwLzEvZXJyb3IgY29kZSkgaXMgc3RvcmVkIGluIHRoZSDigJxzdGF0dXPigJ0gZmllbGQgYnkg dGhlIGRyaXZlci4gVGhpcyBpcyBleHBsYWluZWQgaW4gdGhlIGhlYWRlciBmaWxlIGNvbW1lbnRz DQoNCuKAnA0KDQorICogQHJldHVybg0KDQorICogICAtIFRoZSBudW1iZXIgb2YgZGVzY3JpcHRv cnMgc3VjY2Vzc2Z1bGx5IGVucXVldWVkLg0KDQorICogICAtIFBvc3NpYmxlIGVucXVldWUgc3Rh dHVzIHdyaXR0ZW4gYnkgdGhlIGRyaXZlcjoNCg0KKyAqICAgICAtIDE6IFRoZSBkZXNjcmlwdG9y cyBhcmUgZW5xdWV1ZWQgc3VjY2Vzc2Z1bGx5Lg0KDQorICogICAgIC0gMDogVGhlIGRlc2NyaXB0 b3JzIGFyZSBzdG9yZWQgaW50byBkZXZpY2UgcXVldWUgYnV0IGFyZSBub3QgcHJvY2Vzc2VkDQoN CisgKiAgICAgICAgICB1bnRpbCBydGVfY3J5cHRvZGV2X3Jhd19lbnF1ZXVlX2RvbmUoKSBpcyBj YWxsZWQuDQoNCisgKiAgICAgLSBuZWdhdGl2ZSBpbnRlZ2VyOiBmYWlsdXJlLg0KSWYgeW91IHRo aW5rIGl0IGlzIG5vdCBjbGVhciwgYW55IHN1Z2dlc3Rpb25zPw0KDQpSZWdhcmRzLA0KRmFuDQoN Cg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCuWPkeS7tuS6ujogQWtoaWwgR295 YWwgPGFraGlsLmdveWFsQG54cC5jb208bWFpbHRvOmFraGlsLmdveWFsQG54cC5jb20+Pg0K5Y+R 6YCB5pe26Ze0OiBTYXR1cmRheSwgT2N0b2JlciAxMCwgMjAyMCA4OjU1OjA3IFBNDQrmlLbku7bk uro6IFpoYW5nLCBSb3kgRmFuIDxyb3kuZmFuLnpoYW5nQGludGVsLmNvbTxtYWlsdG86cm95LmZh bi56aGFuZ0BpbnRlbC5jb20+PjsgZGV2QGRwZGsub3JnPG1haWx0bzpkZXZAZHBkay5vcmc+IDxk ZXZAZHBkay5vcmc8bWFpbHRvOmRldkBkcGRrLm9yZz4+DQrmioTpgIE6IER5Ymtvd3NraSwgQWRh bVggPGFkYW14LmR5Ymtvd3NraUBpbnRlbC5jb208bWFpbHRvOmFkYW14LmR5Ymtvd3NraUBpbnRl bC5jb20+Pg0K5Li76aKYOiBSRTogW2RwZGstZGV2IHYxMSA0LzRdIHRlc3QvY3J5cHRvOiBhZGQg dW5pdC10ZXN0IGZvciBjcnlwdG9kZXYgcmF3IEFQSSB0ZXN0DQoNCkhpIEZhbiwNCg0KPiArc3Rh dGljIHVpbnQzMl90DQo+ICtnZXRfcmF3X2RwX2RlcXVldWVfY291bnQodm9pZCAqdXNlcl9kYXRh IF9fcnRlX3VudXNlZCkNCj4gK3sNCj4gKyAgICAgcmV0dXJuIDE7DQpXaHkgaXMgdGhpcyAxIGFs d2F5cz8gVGhlcmUgY291bGQgYmUgam9icyA+MSB3aGljaCBhcmUgcHJvY2Vzc2VkLg0KDQo+ICt9 DQo+ICsNCj4gK3N0YXRpYyB2b2lkDQo+ICtwb3N0X3Byb2Nlc3NfcmF3X2RwX29wKHZvaWQgKnVz ZXJfZGF0YSwgICAgICB1aW50MzJfdCBpbmRleCBfX3J0ZV91bnVzZWQsDQo+ICsgICAgICAgICAg ICAgdWludDhfdCBpc19vcF9zdWNjZXNzKQ0KPiArew0KPiArICAgICBzdHJ1Y3QgcnRlX2NyeXB0 b19vcCAqb3AgPSB1c2VyX2RhdGE7DQo+ICsgICAgIG9wLT5zdGF0dXMgPSBpc19vcF9zdWNjZXNz ID8gUlRFX0NSWVBUT19PUF9TVEFUVVNfU1VDQ0VTUyA6DQo+ICsgICAgICAgICAgICAgICAgICAg ICBSVEVfQ1JZUFRPX09QX1NUQVRVU19FUlJPUjsNCj4gK30NCj4gKw0KPiArdm9pZA0KPiArcHJv Y2Vzc19zeW1fcmF3X2RwX29wKHVpbnQ4X3QgZGV2X2lkLCB1aW50MTZfdCBxcF9pZCwNCj4gKyAg ICAgICAgICAgICBzdHJ1Y3QgcnRlX2NyeXB0b19vcCAqb3AsIHVpbnQ4X3QgaXNfY2lwaGVyLCB1 aW50OF90IGlzX2F1dGgsDQo+ICsgICAgICAgICAgICAgdWludDhfdCBsZW5faW5fYml0cywgdWlu dDhfdCBjaXBoZXJfaXZfbGVuKQ0KPiArew0KPiArICAgICBzdHJ1Y3QgcnRlX2NyeXB0b19zeW1f b3AgKnNvcCA9IG9wLT5zeW07DQo+ICsgICAgIHN0cnVjdCBydGVfY3J5cHRvX29wICpyZXRfb3Ag PSBOVUxMOw0KPiArICAgICBzdHJ1Y3QgcnRlX2NyeXB0b192ZWMgZGF0YV92ZWNbVUlOVDhfTUFY XTsNCj4gKyAgICAgc3RydWN0IHJ0ZV9jcnlwdG9fdmFfaW92YV9wdHIgY2lwaGVyX2l2LCBkaWdl c3QsIGFhZF9hdXRoX2l2Ow0KPiArICAgICB1bmlvbiBydGVfY3J5cHRvX3N5bV9vZnMgb2ZzOw0K PiArICAgICBzdHJ1Y3QgcnRlX2NyeXB0b19zeW1fdmVjIHZlYzsNCj4gKyAgICAgc3RydWN0IHJ0 ZV9jcnlwdG9fc2dsIHNnbDsNCj4gKyAgICAgdWludDMyX3QgbWF4X2xlbjsNCj4gKyAgICAgdW5p b24gcnRlX2NyeXB0b2Rldl9zZXNzaW9uX2N0eCBzZXNzOw0KPiArICAgICB1aW50MzJfdCBjb3Vu dCA9IDA7DQo+ICsgICAgIHN0cnVjdCBydGVfY3J5cHRvX3Jhd19kcF9jdHggKmN0eDsNCj4gKyAg ICAgdWludDMyX3QgY2lwaGVyX29mZnNldCA9IDAsIGNpcGhlcl9sZW4gPSAwLCBhdXRoX29mZnNl dCA9IDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICBhdXRoX2xlbiA9IDA7DQo+ICsgICAgIGlu dDMyX3QgbjsNCj4gKyAgICAgdWludDMyX3Qgbl9zdWNjZXNzOw0KPiArICAgICBpbnQgY3R4X3Nl cnZpY2Vfc2l6ZTsNCj4gKyAgICAgaW50MzJfdCBzdGF0dXMgPSAwOw0KPiArDQo+ICsgICAgIGN0 eF9zZXJ2aWNlX3NpemUgPSBydGVfY3J5cHRvZGV2X2dldF9yYXdfZHBfY3R4X3NpemUoZGV2X2lk KTsNCj4gKyAgICAgaWYgKGN0eF9zZXJ2aWNlX3NpemUgPCAwKSB7DQo+ICsgICAgICAgICAgICAg b3AtPnN0YXR1cyA9IFJURV9DUllQVE9fT1BfU1RBVFVTX0VSUk9SOw0KPiArICAgICAgICAgICAg IHJldHVybjsNCj4gKyAgICAgfQ0KPiArDQo+ICsgICAgIGN0eCA9IG1hbGxvYyhjdHhfc2Vydmlj ZV9zaXplKTsNCj4gKyAgICAgaWYgKCFjdHgpIHsNCj4gKyAgICAgICAgICAgICBvcC0+c3RhdHVz ID0gUlRFX0NSWVBUT19PUF9TVEFUVVNfRVJST1I7DQo+ICsgICAgICAgICAgICAgcmV0dXJuOw0K PiArICAgICB9DQo+ICsNCj4gKyAgICAgLyogQm90aCBhcmUgZW51bXMsIHNldHRpbmcgY3J5cHRv X3Nlc3Mgd2lsbCBzdWl0IGFueSBzZXNzaW9uIHR5cGUgKi8NCj4gKyAgICAgc2Vzcy5jcnlwdG9f c2VzcyA9IG9wLT5zeW0tPnNlc3Npb247DQo+ICsNCj4gKyAgICAgaWYgKHJ0ZV9jcnlwdG9kZXZf Y29uZmlndXJlX3Jhd19kcF9jdHgoZGV2X2lkLCBxcF9pZCwgY3R4LA0KPiArICAgICAgICAgICAg ICAgICAgICAgb3AtPnNlc3NfdHlwZSwgc2VzcywgMCkgPCAwKSB7DQo+ICsgICAgICAgICAgICAg b3AtPnN0YXR1cyA9IFJURV9DUllQVE9fT1BfU1RBVFVTX0VSUk9SOw0KPiArICAgICAgICAgICAg IGdvdG8gZXhpdDsNCj4gKyAgICAgfQ0KPiArDQo+ICsgICAgIGNpcGhlcl9pdi5pb3ZhID0gMDsN Cj4gKyAgICAgY2lwaGVyX2l2LnZhID0gTlVMTDsNCj4gKyAgICAgYWFkX2F1dGhfaXYuaW92YSA9 IDA7DQo+ICsgICAgIGFhZF9hdXRoX2l2LnZhID0gTlVMTDsNCj4gKyAgICAgZGlnZXN0LmlvdmEg PSAwOw0KPiArICAgICBkaWdlc3QudmEgPSBOVUxMOw0KPiArICAgICBzZ2wudmVjID0gZGF0YV92 ZWM7DQo+ICsgICAgIHZlYy5udW0gPSAxOw0KPiArICAgICB2ZWMuc2dsID0gJnNnbDsNCj4gKyAg ICAgdmVjLml2ID0gJmNpcGhlcl9pdjsNCj4gKyAgICAgdmVjLmRpZ2VzdCA9ICZkaWdlc3Q7DQo+ ICsgICAgIHZlYy5hYWQgPSAmYWFkX2F1dGhfaXY7DQo+ICsgICAgIHZlYy5zdGF0dXMgPSAmc3Rh dHVzOw0KPiArDQo+ICsgICAgIG9mcy5yYXcgPSAwOw0KPiArDQo+ICsgICAgIGlmIChpc19jaXBo ZXIgJiYgaXNfYXV0aCkgew0KPiArICAgICAgICAgICAgIGNpcGhlcl9vZmZzZXQgPSBzb3AtPmNp cGhlci5kYXRhLm9mZnNldDsNCj4gKyAgICAgICAgICAgICBjaXBoZXJfbGVuID0gc29wLT5jaXBo ZXIuZGF0YS5sZW5ndGg7DQo+ICsgICAgICAgICAgICAgYXV0aF9vZmZzZXQgPSBzb3AtPmF1dGgu ZGF0YS5vZmZzZXQ7DQo+ICsgICAgICAgICAgICAgYXV0aF9sZW4gPSBzb3AtPmF1dGguZGF0YS5s ZW5ndGg7DQo+ICsgICAgICAgICAgICAgbWF4X2xlbiA9IFJURV9NQVgoY2lwaGVyX29mZnNldCAr IGNpcGhlcl9sZW4sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhfb2Zmc2V0 ICsgYXV0aF9sZW4pOw0KPiArICAgICAgICAgICAgIGlmIChsZW5faW5fYml0cykgew0KPiArICAg ICAgICAgICAgICAgICAgICAgbWF4X2xlbiA9IG1heF9sZW4gPj4gMzsNCj4gKyAgICAgICAgICAg ICAgICAgICAgIGNpcGhlcl9vZmZzZXQgPSBjaXBoZXJfb2Zmc2V0ID4+IDM7DQo+ICsgICAgICAg ICAgICAgICAgICAgICBhdXRoX29mZnNldCA9IGF1dGhfb2Zmc2V0ID4+IDM7DQo+ICsgICAgICAg ICAgICAgICAgICAgICBjaXBoZXJfbGVuID0gY2lwaGVyX2xlbiA+PiAzOw0KPiArICAgICAgICAg ICAgICAgICAgICAgYXV0aF9sZW4gPSBhdXRoX2xlbiA+PiAzOw0KPiArICAgICAgICAgICAgIH0N Cj4gKyAgICAgICAgICAgICBvZnMub2ZzLmNpcGhlci5oZWFkID0gY2lwaGVyX29mZnNldDsNCj4g KyAgICAgICAgICAgICBvZnMub2ZzLmNpcGhlci50YWlsID0gbWF4X2xlbiAtIGNpcGhlcl9vZmZz ZXQgLSBjaXBoZXJfbGVuOw0KPiArICAgICAgICAgICAgIG9mcy5vZnMuYXV0aC5oZWFkID0gYXV0 aF9vZmZzZXQ7DQo+ICsgICAgICAgICAgICAgb2ZzLm9mcy5hdXRoLnRhaWwgPSBtYXhfbGVuIC0g YXV0aF9vZmZzZXQgLSBhdXRoX2xlbjsNCj4gKyAgICAgICAgICAgICBjaXBoZXJfaXYudmEgPSBy dGVfY3J5cHRvX29wX2N0b2Rfb2Zmc2V0KG9wLCB2b2lkICosDQo+IElWX09GRlNFVCk7DQo+ICsg ICAgICAgICAgICAgY2lwaGVyX2l2LmlvdmEgPSBydGVfY3J5cHRvX29wX2N0b3BoeXNfb2Zmc2V0 KG9wLCBJVl9PRkZTRVQpOw0KPiArICAgICAgICAgICAgIGFhZF9hdXRoX2l2LnZhID0gcnRlX2Ny eXB0b19vcF9jdG9kX29mZnNldCgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3As IHZvaWQgKiwgSVZfT0ZGU0VUICsgY2lwaGVyX2l2X2xlbik7DQo+ICsgICAgICAgICAgICAgYWFk X2F1dGhfaXYuaW92YSA9IHJ0ZV9jcnlwdG9fb3BfY3RvcGh5c19vZmZzZXQob3AsDQo+IElWX09G RlNFVCArDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpcGhlcl9pdl9sZW4pOw0K PiArICAgICAgICAgICAgIGRpZ2VzdC52YSA9ICh2b2lkICopc29wLT5hdXRoLmRpZ2VzdC5kYXRh Ow0KPiArICAgICAgICAgICAgIGRpZ2VzdC5pb3ZhID0gc29wLT5hdXRoLmRpZ2VzdC5waHlzX2Fk ZHI7DQo+ICsNCj4gKyAgICAgfSBlbHNlIGlmIChpc19jaXBoZXIpIHsNCj4gKyAgICAgICAgICAg ICBjaXBoZXJfb2Zmc2V0ID0gc29wLT5jaXBoZXIuZGF0YS5vZmZzZXQ7DQo+ICsgICAgICAgICAg ICAgY2lwaGVyX2xlbiA9IHNvcC0+Y2lwaGVyLmRhdGEubGVuZ3RoOw0KPiArICAgICAgICAgICAg IG1heF9sZW4gPSBjaXBoZXJfbGVuICsgY2lwaGVyX29mZnNldDsNCj4gKyAgICAgICAgICAgICBp ZiAobGVuX2luX2JpdHMpIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgIG1heF9sZW4gPSBtYXhf bGVuID4+IDM7DQo+ICsgICAgICAgICAgICAgICAgICAgICBjaXBoZXJfb2Zmc2V0ID0gY2lwaGVy X29mZnNldCA+PiAzOw0KPiArICAgICAgICAgICAgICAgICAgICAgY2lwaGVyX2xlbiA9IGNpcGhl cl9sZW4gPj4gMzsNCj4gKyAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICAgb2ZzLm9mcy5j aXBoZXIuaGVhZCA9IGNpcGhlcl9vZmZzZXQ7DQo+ICsgICAgICAgICAgICAgb2ZzLm9mcy5jaXBo ZXIudGFpbCA9IG1heF9sZW4gLSBjaXBoZXJfb2Zmc2V0IC0gY2lwaGVyX2xlbjsNCj4gKyAgICAg ICAgICAgICBjaXBoZXJfaXYudmEgPSBydGVfY3J5cHRvX29wX2N0b2Rfb2Zmc2V0KG9wLCB2b2lk ICosDQo+IElWX09GRlNFVCk7DQo+ICsgICAgICAgICAgICAgY2lwaGVyX2l2LmlvdmEgPSBydGVf Y3J5cHRvX29wX2N0b3BoeXNfb2Zmc2V0KG9wLCBJVl9PRkZTRVQpOw0KPiArDQo+ICsgICAgIH0g ZWxzZSBpZiAoaXNfYXV0aCkgew0KPiArICAgICAgICAgICAgIGF1dGhfb2Zmc2V0ID0gc29wLT5h dXRoLmRhdGEub2Zmc2V0Ow0KPiArICAgICAgICAgICAgIGF1dGhfbGVuID0gc29wLT5hdXRoLmRh dGEubGVuZ3RoOw0KPiArICAgICAgICAgICAgIG1heF9sZW4gPSBhdXRoX2xlbiArIGF1dGhfb2Zm c2V0Ow0KPiArICAgICAgICAgICAgIGlmIChsZW5faW5fYml0cykgew0KPiArICAgICAgICAgICAg ICAgICAgICAgbWF4X2xlbiA9IG1heF9sZW4gPj4gMzsNCj4gKyAgICAgICAgICAgICAgICAgICAg IGF1dGhfb2Zmc2V0ID0gYXV0aF9vZmZzZXQgPj4gMzsNCj4gKyAgICAgICAgICAgICAgICAgICAg IGF1dGhfbGVuID0gYXV0aF9sZW4gPj4gMzsNCj4gKyAgICAgICAgICAgICB9DQo+ICsgICAgICAg ICAgICAgb2ZzLm9mcy5hdXRoLmhlYWQgPSBhdXRoX29mZnNldDsNCj4gKyAgICAgICAgICAgICBv ZnMub2ZzLmF1dGgudGFpbCA9IG1heF9sZW4gLSBhdXRoX29mZnNldCAtIGF1dGhfbGVuOw0KPiAr ICAgICAgICAgICAgIGFhZF9hdXRoX2l2LnZhID0gcnRlX2NyeXB0b19vcF9jdG9kX29mZnNldCgN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3AsIHZvaWQgKiwgSVZfT0ZGU0VUICsg Y2lwaGVyX2l2X2xlbik7DQo+ICsgICAgICAgICAgICAgYWFkX2F1dGhfaXYuaW92YSA9IHJ0ZV9j cnlwdG9fb3BfY3RvcGh5c19vZmZzZXQob3AsDQo+IElWX09GRlNFVCArDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNpcGhlcl9pdl9sZW4pOw0KPiArICAgICAgICAgICAgIGRpZ2Vz dC52YSA9ICh2b2lkICopc29wLT5hdXRoLmRpZ2VzdC5kYXRhOw0KPiArICAgICAgICAgICAgIGRp Z2VzdC5pb3ZhID0gc29wLT5hdXRoLmRpZ2VzdC5waHlzX2FkZHI7DQo+ICsNCj4gKyAgICAgfSBl bHNlIHsgLyogYWVhZCAqLw0KPiArICAgICAgICAgICAgIGNpcGhlcl9vZmZzZXQgPSBzb3AtPmFl YWQuZGF0YS5vZmZzZXQ7DQo+ICsgICAgICAgICAgICAgY2lwaGVyX2xlbiA9IHNvcC0+YWVhZC5k YXRhLmxlbmd0aDsNCj4gKyAgICAgICAgICAgICBtYXhfbGVuID0gY2lwaGVyX2xlbiArIGNpcGhl cl9vZmZzZXQ7DQo+ICsgICAgICAgICAgICAgaWYgKGxlbl9pbl9iaXRzKSB7DQo+ICsgICAgICAg ICAgICAgICAgICAgICBtYXhfbGVuID0gbWF4X2xlbiA+PiAzOw0KPiArICAgICAgICAgICAgICAg ICAgICAgY2lwaGVyX29mZnNldCA9IGNpcGhlcl9vZmZzZXQgPj4gMzsNCj4gKyAgICAgICAgICAg ICAgICAgICAgIGNpcGhlcl9sZW4gPSBjaXBoZXJfbGVuID4+IDM7DQo+ICsgICAgICAgICAgICAg fQ0KPiArICAgICAgICAgICAgIG9mcy5vZnMuY2lwaGVyLmhlYWQgPSBjaXBoZXJfb2Zmc2V0Ow0K PiArICAgICAgICAgICAgIG9mcy5vZnMuY2lwaGVyLnRhaWwgPSBtYXhfbGVuIC0gY2lwaGVyX29m ZnNldCAtIGNpcGhlcl9sZW47DQo+ICsgICAgICAgICAgICAgY2lwaGVyX2l2LnZhID0gcnRlX2Ny eXB0b19vcF9jdG9kX29mZnNldChvcCwgdm9pZCAqLA0KPiBJVl9PRkZTRVQpOw0KPiArICAgICAg ICAgICAgIGNpcGhlcl9pdi5pb3ZhID0gcnRlX2NyeXB0b19vcF9jdG9waHlzX29mZnNldChvcCwg SVZfT0ZGU0VUKTsNCj4gKyAgICAgICAgICAgICBhYWRfYXV0aF9pdi52YSA9ICh2b2lkICopc29w LT5hZWFkLmFhZC5kYXRhOw0KPiArICAgICAgICAgICAgIGFhZF9hdXRoX2l2LmlvdmEgPSBzb3At PmFlYWQuYWFkLnBoeXNfYWRkcjsNCj4gKyAgICAgICAgICAgICBkaWdlc3QudmEgPSAodm9pZCAq KXNvcC0+YWVhZC5kaWdlc3QuZGF0YTsNCj4gKyAgICAgICAgICAgICBkaWdlc3QuaW92YSA9IHNv cC0+YWVhZC5kaWdlc3QucGh5c19hZGRyOw0KPiArICAgICB9DQo+ICsNCj4gKyAgICAgbiA9IHJ0 ZV9jcnlwdG9fbWJ1Zl90b192ZWMoc29wLT5tX3NyYywgMCwgbWF4X2xlbiwNCj4gKyAgICAgICAg ICAgICAgICAgICAgIGRhdGFfdmVjLCBSVEVfRElNKGRhdGFfdmVjKSk7DQo+ICsgICAgIGlmIChu IDwgMCB8fCBuID4gc29wLT5tX3NyYy0+bmJfc2Vncykgew0KPiArICAgICAgICAgICAgIG9wLT5z dGF0dXMgPSBSVEVfQ1JZUFRPX09QX1NUQVRVU19FUlJPUjsNCj4gKyAgICAgICAgICAgICBnb3Rv IGV4aXQ7DQo+ICsgICAgIH0NCj4gKw0KPiArICAgICBzZ2wubnVtID0gbjsNCj4gKw0KPiArICAg ICBpZiAocnRlX2NyeXB0b2Rldl9yYXdfZW5xdWV1ZV9idXJzdChjdHgsICZ2ZWMsIG9mcywgKHZv aWQgKiopJm9wLA0KPiArICAgICAgICAgICAgICAgICAgICAgJnN0YXR1cykNCj4gKyAgICAgICAg ICAgICAgICAgICAgIDwgMSkgew0KPiArICAgICAgICAgICAgIG9wLT5zdGF0dXMgPSBSVEVfQ1JZ UFRPX09QX1NUQVRVU19FUlJPUjsNCj4gKyAgICAgICAgICAgICBnb3RvIGV4aXQ7DQo+ICsgICAg IH0NClRoaXMgY2hlY2sgd2lsbCBhbHdheXMgZmFpbCBpbiB5b3VyIGNhc2UuIEkgYmVsaWV2ZSB5 b3UgaGF2ZSBub3QgdGVzdGVkIGl0IHdpdGggdGhlDQpSZWNlbnQgY2hhbmdlcyB0aGF0IEkgc3Vn Z2VzdGVkIG9uIFYxMC4NCnJ0ZV9jcnlwdG9kZXZfcmF3X2VucXVldWVfYnVyc3Qgd2lsbCByZXR1 cm4gMCBpZiBydGVfY3J5cHRvZGV2X3Jhd19lbnF1ZXVlX2RvbmUNCm5lZWQgdG8gYmUgY2FsbGVk IG9yIGVsc2UgdGhlIG51bWJlciBvZiBzdWNjZXNzZnVsbHkgZW5xdWV1ZWQgZGVzY3JpcHRvcnMu DQoNCg0KPiArDQo+ICsgICAgIGlmIChzdGF0dXMgPT0gMCkgew0KPiArICAgICAgICAgICAgIHN0 YXR1cyA9IHJ0ZV9jcnlwdG9kZXZfcmF3X2VucXVldWVfZG9uZShjdHgsIDEpOw0KPiArICAgICAg ICAgICAgIGlmIChzdGF0dXMgPCAwKSB7DQo+ICsgICAgICAgICAgICAgICAgICAgICBvcC0+c3Rh dHVzID0gUlRFX0NSWVBUT19PUF9TVEFUVVNfRVJST1I7DQo+ICsgICAgICAgICAgICAgICAgICAg ICBnb3RvIGV4aXQ7DQo+ICsgICAgICAgICAgICAgfQ0KPiArICAgICB9DQo+ICsNCj4gKyAgICAg biA9IG5fc3VjY2VzcyA9IDA7DQo+ICsgICAgIHdoaWxlIChjb3VudCsrIDwgTUFYX1JBV19ERVFV RVVFX0NPVU5UICYmIG4gPT0gMCkgew0KPiArICAgICAgICAgICAgIG4gPSBydGVfY3J5cHRvZGV2 X3Jhd19kZXF1ZXVlX2J1cnN0KGN0eCwNCj4gKyAgICAgICAgICAgICAgICAgICAgIGdldF9yYXdf ZHBfZGVxdWV1ZV9jb3VudCwNCj4gcG9zdF9wcm9jZXNzX3Jhd19kcF9vcCwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKiopJnJldF9vcCwgMCwgJm5fc3VjY2VzcywgJnN0 YXR1cyk7DQo+ICsNCj4gKyAgICAgICAgICAgICBpZiAobiA9PSAwKQ0KPiArICAgICAgICAgICAg ICAgICAgICAgcnRlX3BhdXNlKCk7DQo+ICsgICAgIH0NCg0KU2FtZSBjb21tZW50IGhlcmUgYXMg d2VsbC4NCnJ0ZV9jcnlwdG9kZXZfcmF3X2RlcXVldWVfYnVyc3Qgd2lsbCByZXR1cm4gMCBpZiBk ZXF1ZXVlX2RvbmUgbmVlZCB0byBiZSBjYWxsZWQuDQpUaGVzZSBjaGVja3MgZG9lcyBub3Qgc2Vl bSB0byBiZSBjb25zaXN0ZW50IHdpdGggdGhlIEFQSSBkb2N1bWVudGF0aW9uLg0KDQo+ICsNCj4g KyAgICAgaWYgKG4gPT0gMSAmJiBzdGF0dXMgPT0gMCkgew0KPiArICAgICAgICAgICAgIGlmIChy dGVfY3J5cHRvZGV2X3Jhd19kZXF1ZXVlX2RvbmUoY3R4LCAxKSA8IDApIHsNCj4gKyAgICAgICAg ICAgICAgICAgICAgIG9wLT5zdGF0dXMgPSBSVEVfQ1JZUFRPX09QX1NUQVRVU19FUlJPUjsNCj4g KyAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXhpdDsNCj4gKyAgICAgICAgICAgICB9DQo+ICsg ICAgIH0NCj4gKw0KPiArICAgICBvcC0+c3RhdHVzID0gKGNvdW50ID09IE1BWF9SQVdfREVRVUVV RV9DT1VOVCArIDEgfHwgcmV0X29wICE9DQo+IG9wIHx8DQo+ICsgICAgICAgICAgICAgICAgICAg ICBuX3N1Y2Nlc3MgPCAxKSA/IFJURV9DUllQVE9fT1BfU1RBVFVTX0VSUk9SIDoNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQ1JZUFRPX09QX1NUQVRVU19TVUND RVNTOw0KPiArDQo+ICtleGl0Og0KPiArICAgICBmcmVlKGN0eCk7DQo+ICt9DQo+ICsNCg==