From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0076.outbound.protection.outlook.com [104.47.2.76]) by dpdk.org (Postfix) with ESMTP id 73F521B1F0 for ; Wed, 24 Oct 2018 14:31:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1FxkP5kI/OjrFe5i91BFeMvAXjXkbWgeSk8I/sayElI=; b=FOYOcZWapsroU9pzv7J5/ObuT3hEWPM1sU0Fqnj3xjAf0dK8xO8A2XK1FBOSuj3nqjrh/vq5WwY7puBZnVzcXD7sAtzj7ao544GtSzPUbMccwjwUTLcO2egVlDCfLLiGV6B2WSkDehATVv1dGN1lX/IXD9osScZhcArfDnof1jo= Received: from VI1PR04MB4893.eurprd04.prod.outlook.com (20.177.49.154) by VI1PR04MB3088.eurprd04.prod.outlook.com (10.170.229.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.19; Wed, 24 Oct 2018 12:31:30 +0000 Received: from VI1PR04MB4893.eurprd04.prod.outlook.com ([fe80::70c8:7997:4cf:743f]) by VI1PR04MB4893.eurprd04.prod.outlook.com ([fe80::70c8:7997:4cf:743f%2]) with mapi id 15.20.1273.019; Wed, 24 Oct 2018 12:31:29 +0000 From: Akhil Goyal To: Marko Kovacevic , "dev@dpdk.org" CC: "roy.fan.zhang@intel.com" , "arkadiuszx.kusztal@intel.com" Thread-Topic: [dpdk-dev] [PATCH v5 4/8] examples/cryptodev_fips_validate: add TDES parser and enablement for test types Thread-Index: AQHUZhflF0Z2+Kxv1UGLAem4gU9iPaUuXsEA Date: Wed, 24 Oct 2018 12:31:29 +0000 Message-ID: References: <20181012144501.19562-1-marko.kovacevic@intel.com> <20181017124937.38052-1-marko.kovacevic@intel.com> <20181017124937.38052-5-marko.kovacevic@intel.com> In-Reply-To: <20181017124937.38052-5-marko.kovacevic@intel.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BM1PR01CA0107.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00::23) To VI1PR04MB4893.eurprd04.prod.outlook.com (2603:10a6:803:56::26) authentication-results: spf=none (sender IP is ) smtp.mailfrom=akhil.goyal@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [14.143.30.134] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB3088; 6:8rQmkKXlnLFI2fr+T1BYnX8CRMPjYHTzasT8UAnsJ4KG3xpfLc5135tbvcMu4Hwck8gP65M5J4OeksXRSIHPPMN4j+lw69+eXpAF2sSSAPTTlMGEzVAs/0w+ZoH6vYKlUmISEatEcJHylL7gdoNxfxZn0w04o0Mwk1X2WJYLezGrPQ5ZIW3bwhry9PNcrAw/Dj9DFF1M2q2rTabsTzPGKGnpyJOLZXfcYEJE4TGC/GEGWM3FBjL8Av/u8KRHTLz83ZiZg0dZJ8FQL/pp7pxyI+rQFiOVabFMV+x8Eqf70vmJ3fjiTG8GkySRQKaVxtNohfNM0k67ewSitb1VRtUflMAKpMYLzAhQK+l9AkHDzXnzdjNlL2y9Q9O5qbXozjQaUBx7yCYRGaxNMZwXoRdJHANR5IoF3xOze7T1cyIzcrM1RFYUn3rFJ2JQGzK2pkwoIJFtVGMLJQzAMOChXFESNQ==; 5:SdKWvxcgbxwJtj/U4VUWnJYMdU5ZqnZ0tEAx8bgiRkMWGb7k6nFx4kxqLxWb1ME0BfLJDx1FcZhIhvcZe6ipyZZUuRn3cEtUyFpCUDcQQbzg+V/qwm2Nb6MfbHpjxDdUKw4Y/oeF9fkoxqncdoLIy20z+RDu6HxB4rR8CJwwstw=; 7:1ERuhL5XWlEX/Gm1EpNeTDa/B/VoZXQSLYekVhuNm5u9+n0tPrAEk0FGpHJCH7S7SMlzFA4Yj3rRA92qSk/qoFB3tIVior9XRhZPqOOBU2F+xNiyayd/WLdkF5BMVGLtLMQp9Ug91Fx/7IOWFAQ64A== x-ms-office365-filtering-correlation-id: ba9bc601-6b68-44d6-d23d-08d639ac9f95 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB3088; x-ms-traffictypediagnostic: VI1PR04MB3088: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3231355)(944501410)(52105095)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB3088; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB3088; x-forefront-prvs: 083526BF8A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(39860400002)(396003)(366004)(346002)(376002)(189003)(199004)(25786009)(31696002)(2501003)(6486002)(4326008)(5250100002)(52116002)(6246003)(76176011)(6436002)(86362001)(36756003)(53936002)(97736004)(102836004)(55236004)(53546011)(386003)(6506007)(476003)(11346002)(486006)(2616005)(66066001)(6512007)(478600001)(44832011)(5660300001)(2906002)(99286004)(6116002)(3846002)(446003)(8676002)(2900100001)(186003)(256004)(14444005)(81156014)(81166006)(26005)(229853002)(7736002)(305945005)(8936002)(71190400001)(71200400001)(110136005)(106356001)(54906003)(105586002)(31686004)(68736007)(14454004)(316002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB3088; H:VI1PR04MB4893.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: ZHtLOQ1gAI8+hCARmDweseEbz50tbssu06YRV/67o7yC03ERzzkcgoNEmPaPk5eNRREMrlKuqHjk60ieS2Q0aHHsDhuWJSK+R0dxM4Jpzidf8Xjb8moVU6+smtrbxkPHLwBX+d+odKm8CuQ5BBQ2dp4x7mtPiPeQB9F0mYZiLcnBBEx/FXCMP7TBxXwaUSNrmy10atlE+rw8XBi/a/OhztWDc9lXa4V6bHHEVZSLgJmaYzd51TgimKNtw9hnTrThePzbsgVqbzsyxLk6TjGx5AIR7c1TvemxNDVCeFbguDsBMOVEmHcHfGjw3DeWxrQLNMoSIr/XmKlxxVS8HZm8+G155JPVQbduaDP1FywLXWY= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba9bc601-6b68-44d6-d23d-08d639ac9f95 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Oct 2018 12:31:29.7860 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3088 Subject: Re: [dpdk-dev] [PATCH v5 4/8] examples/cryptodev_fips_validate: add TDES parser and enablement for test types 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: , X-List-Received-Date: Wed, 24 Oct 2018 12:31:31 -0000 YmV0dGVyIHRvIGJlIHVuaWZvcm0gd2l0aCB0aGUgbmFtZQ0KVERFUyBvciAzREVTDQoNCg0KT24g MTAvMTcvMjAxOCA2OjE5IFBNLCBNYXJrbyBLb3ZhY2V2aWMgd3JvdGU6DQo+IEFkZGVkIGVuYWJs ZW1lbnQgZm9yIFRERVMgcGFyc2VyLCB0byBhbGxvdyB0aGUNCj4gYXBwbGljYXRpb24gdG8gcGFy c2VyIHRoZSBUREVTIHJlcXVlc3QgZmlsZXMgYW5kIHRvIHZhbGlkYXRlIGFsbA0KPiB0ZXN0IHR5 cGVzIHN1cHBvcnRlZC4NCj4NCj4gU2lnbmVkLW9mZi1ieTogTWFya28gS292YWNldmljIDxtYXJr by5rb3ZhY2V2aWNAaW50ZWwuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBGYW4gWmhhbmcgPHJveS5m YW4uemhhbmdAaW50ZWwuY29tPg0KPiBBY2tlZC1ieTogQXJlayBLdXN6dGFsIDxhcmthZGl1c3p4 Lmt1c3p0YWxAaW50ZWwuY29tPg0KPiAtLS0NCj4gICBleGFtcGxlcy9jcnlwdG9kZXZfZmlwc192 YWxpZGF0ZS9NYWtlZmlsZSAgICAgICAgICB8ICAgMSArDQo+ICAgLi4uL2NyeXB0b2Rldl9maXBz X3BhcnNlXzNkZXMuYyAgICAgICAgICAgICAgICAgICAgfCAyNTkgKysrKysrKysrKysrKysrKysr KysrDQo+ICAgLi4uL2NyeXB0b2Rldl9maXBzX3BhcnNlX2Flcy5jICAgICAgICAgICAgICAgICAg ICAgfCAgIDIgKw0KPiAgIC4uLi9jcnlwdG9kZXZfZmlwc19wYXJzZV92YWxpZGF0ZS5jICAgICAg ICAgICAgICAgIHwgICA1ICsNCj4gICAuLi4vY3J5cHRvZGV2X2ZpcHNfdmFsaWRhdGUuaCAgICAg ICAgICAgICAgICAgICAgICB8ICAyMSArKw0KPiAgIGV4YW1wbGVzL2NyeXB0b2Rldl9maXBzX3Zh bGlkYXRlL21haW4uYyAgICAgICAgICAgIHwgMTc1ICsrKysrKysrKysrKysrDQo+ICAgZXhhbXBs ZXMvY3J5cHRvZGV2X2ZpcHNfdmFsaWRhdGUvbWVzb24uYnVpbGQgICAgICAgfCAgIDEgKw0KPiAg IDcgZmlsZXMgY2hhbmdlZCwgNDY0IGluc2VydGlvbnMoKykNCj4gICBjcmVhdGUgbW9kZSAxMDA2 NDQgZXhhbXBsZXMvY3J5cHRvZGV2X2ZpcHNfdmFsaWRhdGUvY3J5cHRvZGV2X2ZpcHNfcGFyc2Vf M2Rlcy5jDQo+DQo+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9jcnlwdG9kZXZfZmlwc192YWxpZGF0 ZS9NYWtlZmlsZSBiL2V4YW1wbGVzL2NyeXB0b2Rldl9maXBzX3ZhbGlkYXRlL01ha2VmaWxlDQo+ IGluZGV4IGM4NWM3NmMuLjJkZGYzMjYgMTAwNjQ0DQo+IC0tLSBhL2V4YW1wbGVzL2NyeXB0b2Rl dl9maXBzX3ZhbGlkYXRlL01ha2VmaWxlDQo+ICsrKyBiL2V4YW1wbGVzL2NyeXB0b2Rldl9maXBz X3ZhbGlkYXRlL01ha2VmaWxlDQo+IEBAIC03LDYgKzcsNyBAQCBBUFAgPSBmaXBzX3ZhbGlkYXRp b24NCj4gICAjIGFsbCBzb3VyY2UgYXJlIHN0b3JlZCBpbiBTUkNTLXkNCj4gICBTUkNTLXkgOj0g Y3J5cHRvZGV2X2ZpcHNfcGFyc2VfYWVzLmMNCj4gICBTUkNTLXkgKz0gY3J5cHRvZGV2X2ZpcHNf cGFyc2VfaG1hYy5jDQo+ICtTUkNTLXkgKz0gY3J5cHRvZGV2X2ZpcHNfcGFyc2VfM2Rlcy5jDQo+ ICAgU1JDUy15ICs9IGNyeXB0b2Rldl9maXBzX3BhcnNlX3ZhbGlkYXRlLmMNCj4gICBTUkNTLXkg Kz0gbWFpbi5jDQo+ICAgDQo+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9jcnlwdG9kZXZfZmlwc192 YWxpZGF0ZS9jcnlwdG9kZXZfZmlwc19wYXJzZV8zZGVzLmMgYi9leGFtcGxlcy9jcnlwdG9kZXZf Zmlwc192YWxpZGF0ZS9jcnlwdG9kZXZfZmlwc19wYXJzZV8zZGVzLmMNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMC4uODJlOTEzMg0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL2V4YW1wbGVzL2NyeXB0b2Rldl9maXBzX3ZhbGlkYXRlL2NyeXB0b2Rldl9maXBzX3BhcnNl XzNkZXMuYw0KPiBAQCAtMCwwICsxLDI1OSBAQA0KPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0zLUNsYXVzZQ0KPiArICogQ29weXJpZ2h0KGMpIDIwMTggSW50ZWwgQ29ycG9yYXRp b24NCj4gKyAqLw0KPiArDQo+ICsjaW5jbHVkZSA8c3RyaW5nLmg+DQo+ICsjaW5jbHVkZSA8c3Rk aW8uaD4NCj4gKw0KPiArI2luY2x1ZGUgPHJ0ZV9tYWxsb2MuaD4NCj4gKyNpbmNsdWRlIDxydGVf Y3J5cHRvZGV2Lmg+DQo+ICsNCj4gKyNpbmNsdWRlICJjcnlwdG9kZXZfZmlwc192YWxpZGF0ZS5o Ig0KPiArDQo+ICsjZGVmaW5lIE5FV19MSU5FX1NUUgkiIyINCj4gKyNkZWZpbmUgVEVTVF9UWVBF X0tFWQkiIGZvciBDQkMiDQo+ICsjZGVmaW5lIFRFU1RfQ0JDSV9LRVkJIiBmb3IgQ0JDSSINCj4g Kw0KPiArI2RlZmluZSBFTkNfU1RSCQkiW0VOQ1JZUFRdIg0KPiArI2RlZmluZSBERUNfU1RSCQki W0RFQ1JZUFRdIg0KPiArDQo+ICsjZGVmaW5lIENPVU5UX1NUUgkiQ09VTlQgPSAiDQo+ICsjZGVm aW5lIEtFWTFfU1RSCSJLRVkxID0gIg0KPiArI2RlZmluZSBLRVkyX1NUUgkiS0VZMiA9ICINCj4g KyNkZWZpbmUgS0VZM19TVFIJIktFWTMgPSAiDQo+ICsNCj4gKyNkZWZpbmUgS0VZU19TVFIJIktF WXMgPSAiDQo+ICsjZGVmaW5lIElWX1NUUgkJIklWID0gIg0KPiArI2RlZmluZSBQVF9TVFIJCSJQ TEFJTlRFWFQgPSAiDQo+ICsjZGVmaW5lIENUX1NUUgkJIkNJUEhFUlRFWFQgPSAiDQo+ICsjZGVm aW5lIE5LX1NUUgkJIk51bUtleXMgPSAiDQo+ICsNCj4gKyNkZWZpbmUgU0VUX1NUUgkJIiA9ICIN Cj4gKw0KPiArI2RlZmluZSBQTEFJTl9URVhUCTANCj4gKyNkZWZpbmUgQ0lQSEVSX1RFWFQJMQ0K PiArI2RlZmluZSBLRVlfVEVYVAkyDQo+ICsjZGVmaW5lIElWX1RFWFQJCTMNCj4gKw0KPiArI2Rl ZmluZSBERVZJQ0VfU1RSCSIjIENvbmZpZyBJbmZvIGZvciA6ICINCj4gKw0KPiArc3RydWN0IHsN Cj4gKwl1aW50MzJfdCB0eXBlOw0KPiArCWNvbnN0IGNoYXIgKmRlc2M7DQo+ICt9IHRlc3RfdHlw ZXNbXSA9IHsNCj4gKwkJe1RERVNfSU5WRVJTRV9QRVJNVVRBVElPTiwgIklOVkVSU0UgUEVSTVVU QVRJT04ifSwNCj4gKwkJe1RERVNfUEVSTVVUQVRJT04sICJQRVJNVVRBVElPTiBPUEVSQVRJT04i fSwNCj4gKwkJe1RERVNfU1VCU1RJVFVUSU9OX1RBQkxFLCAiU1VCU1RJVFVUSU9OIFRBQkxFIn0s DQo+ICsJCXtUREVTX1ZBUklBQkxFX0tFWSwgIlZBUklBQkxFIEtFWSJ9LA0KPiArCQl7VERFU19W QVJJQUJMRV9URVhULCAiVkFSSUFCTEUgUExBSU5URVhUL0NJUEhFUlRFWFQifSwNCj4gKwkJe1RE RVNfVkFSSUFCTEVfVEVYVCwgIktBVCJ9LA0KPiArCQl7VERFU19NQ1QsICJNb250ZSBDYXJsbyAo TW9kZXMpIFRlc3QifSwNCj4gKwkJe1RERVNfTU1ULCAiTXVsdGkgYmxvY2sgTWVzc2FnZSBUZXN0 In0sDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgaW50DQo+ICt3cml0ZWJhY2tfdGRlc19oZXhfc3Ry KGNvbnN0IGNoYXIgKmtleSwgY2hhciAqZHN0LCBzdHJ1Y3QgZmlwc192YWwgKnZhbCk7DQo+ICsN Cj4gK3N0YXRpYyBpbnQNCj4gK3BhcnNlXzNkZXNfdWludDhfaGV4X3N0cihjb25zdCBjaGFyICpr ZXksIGNoYXIgKnNyYywgc3RydWN0IGZpcHNfdmFsICp2YWwpOw0KPiArDQo+ICtzdGF0aWMgaW50 DQo+ICtwYXJzZV90ZGVzX2ludGVyaW0oY29uc3QgY2hhciAqa2V5LA0KPiArCQlfX2F0dHJpYnV0 ZV9fKChfX3VudXNlZF9fKSkgY2hhciAqdGV4dCwNCj4gKwkJc3RydWN0IGZpcHNfdmFsICp2YWwp Ow0KPiArDQo+ICtzdHJ1Y3QgZmlwc190ZXN0X2NhbGxiYWNrIHRkZXNfdGVzdHNfdmVjdG9yc1td ID0gew0KPiArCQl7S0VZU19TVFIsIHBhcnNlXzNkZXNfdWludDhfaGV4X3N0ciwgJnZlYy5jaXBo ZXJfYXV0aC5rZXl9LA0KPiArCQl7S0VZMV9TVFIsIHBhcnNlXzNkZXNfdWludDhfaGV4X3N0ciwg JnZlYy5jaXBoZXJfYXV0aC5rZXl9LA0KPiArCQl7S0VZMl9TVFIsIHBhcnNlXzNkZXNfdWludDhf aGV4X3N0ciwgJnZlYy5jaXBoZXJfYXV0aC5rZXl9LA0KPiArCQl7S0VZM19TVFIsIHBhcnNlXzNk ZXNfdWludDhfaGV4X3N0ciwgJnZlYy5jaXBoZXJfYXV0aC5rZXl9LA0KPiArCQl7SVZfU1RSLCBw YXJzZV91aW50OF9oZXhfc3RyLCAmdmVjLml2fSwNCj4gKwkJe1BUX1NUUiwgcGFyc2VfdWludDhf aGV4X3N0ciwgJnZlYy5wdH0sDQo+ICsJCXtDVF9TVFIsIHBhcnNlX3VpbnQ4X2hleF9zdHIsICZ2 ZWMuY3R9LA0KPiArCQl7TlVMTCwgTlVMTCwgTlVMTH0gLyoqPCBlbmQgcG9pbnRlciAqLw0KPiAr fTsNCj4gKw0KPiArc3RydWN0IGZpcHNfdGVzdF9jYWxsYmFjayB0ZGVzX3Rlc3RzX2ludGVyaW1f dmVjdG9yc1tdID0gew0KPiArCQl7RU5DX1NUUiwgcGFyc2VfdGRlc19pbnRlcmltLCBOVUxMfSwN Cj4gKwkJe0RFQ19TVFIsIHBhcnNlX3RkZXNfaW50ZXJpbSwgTlVMTH0sDQo+ICsJCXtOVUxMLCBO VUxMLCBOVUxMfSAvKio8IGVuZCBwb2ludGVyICovDQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgZmlw c190ZXN0X2NhbGxiYWNrIHRkZXNfd3JpdGViYWNrX2NhbGxiYWNrc1tdID0gew0KPiArCQkvKiog Rmlyc3QgZWxlbWVudCBpcyB1c2VkIHRvIHBhc3MgQ09VTlQgc3RyaW5nICovDQo+ICsJCXtDT1VO VF9TVFIsIE5VTEwsIE5VTEx9LA0KPiArCQl7SVZfU1RSLCB3cml0ZWJhY2tfaGV4X3N0ciwgJnZl Yy5pdn0sDQo+ICsJCXtLRVkxX1NUUiwgd3JpdGViYWNrX3RkZXNfaGV4X3N0ciwgJnZlYy5jaXBo ZXJfYXV0aC5rZXl9LA0KPiArCQl7S0VZMl9TVFIsIHdyaXRlYmFja190ZGVzX2hleF9zdHIsICZ2 ZWMuY2lwaGVyX2F1dGgua2V5fSwNCj4gKwkJe0tFWTNfU1RSLCB3cml0ZWJhY2tfdGRlc19oZXhf c3RyLCAmdmVjLmNpcGhlcl9hdXRoLmtleX0sDQo+ICsJCXtLRVlTX1NUUiwgd3JpdGViYWNrX3Rk ZXNfaGV4X3N0ciwgJnZlYy5jaXBoZXJfYXV0aC5rZXl9LA0KPiArCQl7UFRfU1RSLCB3cml0ZWJh Y2tfaGV4X3N0ciwgJnZlYy5wdH0sDQo+ICsJCXtDVF9TVFIsIHdyaXRlYmFja19oZXhfc3RyLCAm dmVjLmN0fSwNCj4gKwkJe05VTEwsIE5VTEwsIE5VTEx9IC8qKjwgZW5kIHBvaW50ZXIgKi8NCj4g K307DQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3BhcnNlX3RkZXNfaW50ZXJpbShjb25zdCBjaGFy ICprZXksDQo+ICsJCV9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBjaGFyICp0ZXh0LA0KPiAr CQlfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgc3RydWN0IGZpcHNfdmFsICp2YWwpDQo+ICt7 DQo+ICsJaWYgKHN0cnN0cihrZXksIEVOQ19TVFIpKQ0KPiArCQlpbmZvLm9wID0gRklQU19URVNU X0VOQ19BVVRIX0dFTjsNCj4gKwllbHNlIGlmIChzdHJzdHIoa2V5LCBERUNfU1RSKSkNCj4gKwkJ aW5mby5vcCA9IEZJUFNfVEVTVF9ERUNfQVVUSF9WRVJJRjsNCj4gKwllbHNlIGlmIChzdHJzdHIo TktfU1RSLCAiTnVtS2V5cyA9IDEiKSkNCj4gKwkJaW5mby5pbnRlcmltX2luZm8udGRlc19kYXRh Lm5iX2tleXMgPSAxOw0KPiArCWVsc2UgaWYgKHN0cnN0cihOS19TVFIsICJOdW1LZXlzID0gMiIp KQ0KPiArCQlpbmZvLmludGVyaW1faW5mby50ZGVzX2RhdGEubmJfa2V5cyA9IDI7DQo+ICsJZWxz ZSBpZiAoc3Ryc3RyKE5LX1NUUiwgIk51bUtleXMgPSAzIikpDQo+ICsJCWluZm8uaW50ZXJpbV9p bmZvLnRkZXNfZGF0YS5uYl9rZXlzID0gMzsNCj4gKwllbHNlDQo+ICsJCXJldHVybiAtRUlOVkFM Ow0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3BhcnNl XzNkZXNfdWludDhfaGV4X3N0cihjb25zdCBjaGFyICprZXksIGNoYXIgKnNyYywgc3RydWN0IGZp cHNfdmFsICp2YWwpDQo+ICt7DQo+ICsJdWludDhfdCB0bXBfa2V5WzI0XSA9IHswfTsNCj4gKwl1 aW50MzJfdCBsZW4sIGk7DQo+ICsNCj4gKwlzcmMgKz0gc3RybGVuKGtleSk7DQo+ICsNCj4gKwls ZW4gPSBzdHJsZW4oc3JjKSAvIDI7DQo+ICsNCj4gKwlpZiAodmFsLT52YWwpIHsNCj4gKwkJbWVt Y3B5KHRtcF9rZXksIHZhbC0+dmFsLCB2YWwtPmxlbik7DQo+ICsJCXJ0ZV9mcmVlKHZhbC0+dmFs KTsNCj4gKwl9DQo+ICsNCj4gKwl2YWwtPnZhbCA9IHJ0ZV96bWFsbG9jKE5VTEwsIDI0LCAwKTsN Cj4gKwlpZiAoIXZhbC0+dmFsKQ0KPiArCQlyZXR1cm4gLTE7DQo+ICsNCj4gKwltZW1jcHkodmFs LT52YWwsIHRtcF9rZXksIDI0KTsNCj4gKw0KPiArCWlmIChzdHJzdHIoa2V5LCBLRVlTX1NUUikp IHsNCj4gKwkJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7DQo+ICsJCQljaGFyIGJ5dGVbM10g PSB7c3JjW2kgKiAyXSwgc3JjW2kgKiAyICsgMV0sICdcMCd9Ow0KPiArDQo+ICsJCQlpZiAocGFy c2VyX3JlYWRfdWludDhfaGV4KCZ2YWwtPnZhbFtpXSwgYnl0ZSkgPCAwKQ0KPiArCQkJCXJldHVy biAtRUlOVkFMOw0KbWVtb3J5IGxlYWsgZm9yIHZhbC0+dmFsDQo+ICsJCX0NCj4gKw0KPiArCQlt ZW1jcHkodmFsLT52YWwgKyA4LCB2YWwtPnZhbCwgOCk7DQo+ICsJCW1lbWNweSh2YWwtPnZhbCAr IDE2LCB2YWwtPnZhbCwgOCk7DQo+ICsNCj4gKwl9IGVsc2UgaWYgKHN0cnN0cihrZXksIEtFWTFf U1RSKSkgew0KPiArCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsNCj4gKwkJCWNoYXIgYnl0 ZVszXSA9IHtzcmNbaSAqIDJdLCBzcmNbaSAqIDIgKyAxXSwgJ1wwJ307DQo+ICsNCj4gKwkJCWlm IChwYXJzZXJfcmVhZF91aW50OF9oZXgoJnZhbC0+dmFsW2ldLCBieXRlKSA8IDApDQo+ICsJCQkJ cmV0dXJuIC1FSU5WQUw7DQo+ICsJCX0NCj4gKw0KPiArCQlpZiAoaW5mby5pbnRlcmltX2luZm8u dGRlc19kYXRhLm5iX2tleXMgPT0gMikNCj4gKwkJCW1lbWNweSh2YWwtPnZhbCArIDE2LCB2YWwt PnZhbCwgOCk7DQo+ICsNCj4gKwl9IGVsc2UgaWYgKHN0cnN0cihrZXksIEtFWTJfU1RSKSkgew0K PiArCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsNCj4gKwkJCWNoYXIgYnl0ZVszXSA9IHtz cmNbaSAqIDJdLCBzcmNbaSAqIDIgKyAxXSwgJ1wwJ307DQo+ICsNCj4gKwkJCWlmIChwYXJzZXJf cmVhZF91aW50OF9oZXgoJnZhbC0+dmFsW2kgKyA4XSwgYnl0ZSkgPCAwKQ0KPiArCQkJCXJldHVy biAtRUlOVkFMOw0KPiArCQl9DQo+ICsNCj4gKwl9IGVsc2UgaWYgKHN0cnN0cihrZXksIEtFWTNf U1RSKSkgew0KPiArCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsNCj4gKwkJCWNoYXIgYnl0 ZVszXSA9IHtzcmNbaSAqIDJdLCBzcmNbaSAqIDIgKyAxXSwgJ1wwJ307DQo+ICsNCj4gKwkJCWlm IChwYXJzZXJfcmVhZF91aW50OF9oZXgoJnZhbC0+dmFsW2kgKyAxNl0sIGJ5dGUpIDwgMCkNCj4g KwkJCQlyZXR1cm4gLUVJTlZBTDsNCj4gKwkJfQ0KPiArCX0gZWxzZQ0KPiArCQlyZXR1cm4gLUVJ TlZBTDsNCj4gKw0KPiArCXZhbC0+bGVuID0gMjQ7DQo+ICsNCj4gKwlyZXR1cm4gMDsNCj4gK30N Cj4gKw0KPg0KDQo=