Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp549139ybl; Wed, 29 Jan 2020 05:29:13 -0800 (PST) X-Google-Smtp-Source: APXvYqwy5WEG1WUBGMbLXjS6cSG81pJq0E21IndrJ1c68tODROcuqIn18yKMSZr4cVWmcL44B9+C X-Received: by 2002:a05:6808:3b2:: with SMTP id n18mr6057015oie.146.1580304553344; Wed, 29 Jan 2020 05:29:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580304553; cv=none; d=google.com; s=arc-20160816; b=sAs6ZWsuO6MFWp7/DNBodfwsTUAGncCvTTO3mOoQHI/z5oRyirtbEPTu/V4mhuUVox mJVqZi9Zwx6S9mQwEUiUBuVcVgmlWsFG8FErrjZAP7qBVgFRq11N4zn2nfojlmlQd3F9 8mdZv6d7w7fgFmxYTFS1xtJXixxxVc4PFixL1HogFZj5HIEmQcIVS7iqULoqGCRxi8JS cNPea9GptYneSLwSA/bwRLJ54GQbywtsZC2Q3ir57rWVUsGUK12P4JsNRkNXxVatXkEP oZ5Ch2J5T+xiVJpJqrLwjwlmWdEF6mDopoJQ0Lqgt+55wJqcTyv7YoqC07vHYBmAzrDb wkHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=WC/URs7E273waaI8XMkVUxGaTGjObGtWMy95orFElPA=; b=TXPuK4gfZuNTVDIInMBBYeyYqUYxvWwxti3e+BCyiobO2lFKj3hqrNaVLXelX7e5B/ qqT0lNSKxN/RqjvtjQCJKuAb54AnsF8V95x7UbBMQboNxB1Wxk5/MtOfcYy2q8A8ZpAS ckhuOXiqZQ1PaxpGWb69WcmVrd4QKRYQF++NshmxXq8Jx1igOSdCp67AvuXKDiJw44Cd 9Vw8Ob1bFfwKiiSYFUK8WLm3XU5HnTCt6Gr0UxGHa+fINGKT44IdPl9T8GKHXF0QRgUa QinD5MDPFqgIk50PdGscjwH3P59WPbiuEW9doATh3rJ/CBpDmzbFTl9CTP0zJPhrPWKO FLcA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@rambus.com header.s=mimecast20161209 header.b=N+T3mt9m; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t19si1235806oth.312.2020.01.29.05.28.54; Wed, 29 Jan 2020 05:29:13 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@rambus.com header.s=mimecast20161209 header.b=N+T3mt9m; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726178AbgA2N2l (ORCPT + 99 others); Wed, 29 Jan 2020 08:28:41 -0500 Received: from us-smtp-delivery-148.mimecast.com ([216.205.24.148]:43663 "EHLO us-smtp-delivery-148.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726069AbgA2N2l (ORCPT ); Wed, 29 Jan 2020 08:28:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rambus.com; s=mimecast20161209; t=1580304519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WC/URs7E273waaI8XMkVUxGaTGjObGtWMy95orFElPA=; b=N+T3mt9mOKJoSB9euVds/C8LeJG+2XCLIATh0nIXy0f2YUtLhAUPe2ibTD+Yu4yWEUlInw 2PtACHMNv8FvImqhClBCn0FR1gMmgzFBRz60Igyd80poyqZkcVLx4h8yNl8Yop3mjdEFyh AvAkejXNWD3hl1KqQuRLmtal+4ck2iA= Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2169.outbound.protection.outlook.com [104.47.59.169]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-149-TWTvGqM7MSG6KHDUvIm-Dw-1; Wed, 29 Jan 2020 08:28:37 -0500 Received: from CY4PR0401MB3652.namprd04.prod.outlook.com (52.132.97.155) by CY4PR0401MB3698.namprd04.prod.outlook.com (52.132.100.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2665.20; Wed, 29 Jan 2020 13:28:35 +0000 Received: from CY4PR0401MB3652.namprd04.prod.outlook.com ([fe80::8140:5c22:404e:65e7]) by CY4PR0401MB3652.namprd04.prod.outlook.com ([fe80::8140:5c22:404e:65e7%7]) with mapi id 15.20.2665.026; Wed, 29 Jan 2020 13:28:34 +0000 From: "Van Leeuwen, Pascal" To: Gilad Ben-Yossef , Eric Biggers CC: Herbert Xu , Stephan Mueller , Linux Crypto Mailing List , Geert Uytterhoeven , David Miller , Ofir Drang Subject: RE: Possible issue with new inauthentic AEAD in extended crypto tests Thread-Topic: Possible issue with new inauthentic AEAD in extended crypto tests Thread-Index: AQHV1Ohtfj6tA7gaZ0uNkoHJDpcQdaf/XTuAgAARvQCAAD8mgIAA510AgADvFQCAAAIccA== Date: Wed, 29 Jan 2020 13:28:34 +0000 Message-ID: References: <20200128023455.GC960@sol.localdomain> <20200128033824.p3z3jhc7mp7wlikp@gondor.apana.org.au> <20200128211229.GA224488@gmail.com> <2f3e874fae2242d99f4e4095ae42eb75@MN2PR20MB2973.namprd20.prod.outlook.com> In-Reply-To: <2f3e874fae2242d99f4e4095ae42eb75@MN2PR20MB2973.namprd20.prod.outlook.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [31.149.181.161] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8cc2d0f7-def0-4e88-afaa-08d7a4bf2423 x-ms-traffictypediagnostic: CY4PR0401MB3698: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 02973C87BC x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(39850400004)(136003)(396003)(376002)(366004)(346002)(199004)(189003)(5660300002)(8676002)(8936002)(86362001)(52536014)(66446008)(66946007)(81166006)(81156014)(76116006)(64756008)(71200400001)(66556008)(66476007)(55016002)(478600001)(2906002)(6506007)(9686003)(53546011)(316002)(186003)(54906003)(110136005)(33656002)(26005)(7696005)(4326008);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR0401MB3698;H:CY4PR0401MB3652.namprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pFV1rH3Ddpyb2cRUBlHwYBdd+A7u/UV62zhg6Gm7HodUgHtHhX/50fpornleHHpufb7Vy+JUA4GVG05C8aqxH5aNFDE7yTbtmJukNHGEaXdX962EB1OS2aPkwpg+nb+RTggXXOxJbzXKuol0jWHLtfUofNTsKa2mMNfCR1/68TYLacbBep7n45kzfEgzZ1ILyBJ5nHLRrJ845OpCLevqCcNLQIFKl2KavJWXnwUzsV8b1xTScCLU2/E/LS6WISgF/Tc02LV64J8xSjDWqVhWA5bmXaBsQ4pSD6QP68zZCZ5f09T519DPQBYCAmLgLgCXxqt/qeXeptZioo6KF9LLZtKmMUPBfKbcyJgNY9IrgsMuspEAEKR/i+Xts3A6PalaPwO2g7VsZc4u8y9KGqmHMHe6OASIx2dTXFipAsSLvnQCoTmI0+CmL5fjB0d/AI1ccooWsHp2/fobTKiS5TkD3CGhj9MjqjhazO44jefOTgNYEjueE1RTWnNAjXRUpDIvMTOgsF1s2sx3seaV6rZVKQ== x-ms-exchange-antispam-messagedata: o8vNo3hG0qlJD1C2MnF5hwZuqlCz7uvekOXXnAC/p9w6MBBBAwifpELiFX/69ZIG2boEwHFdPEcwwFJu/rEEq9ycN9l7biwJWpSs+7MjekYHGyjIaFxXqCWFgfDoZ0t/4VSnM3rih38FioLaH6hzsA== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: rambus.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8cc2d0f7-def0-4e88-afaa-08d7a4bf2423 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2020 13:28:34.6802 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: bd0ba799-c2b9-413c-9c56-5d1731c4827c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: RNNiiEpNECGGs2K99Xj8FrLoNVLbDGOaV9e+UAgHR+yVVmNg0KyxUSKNZdasmpk0pEG7/rc5HRbwHw6FqMUFBg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR0401MB3698 X-MC-Unique: TWTvGqM7MSG6KHDUvIm-Dw-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: rambus.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBsaW51eC1jcnlwdG8tb3duZXJA dmdlci5rZXJuZWwub3JnIDxsaW51eC1jcnlwdG8tb3duZXJAdmdlci5rZXJuZWwub3JnPiBPbiBC ZWhhbGYgT2YgR2lsYWQgQmVuLVlvc3NlZg0KPiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkgMjks IDIwMjAgMTI6MjggUE0NCj4gVG86IEVyaWMgQmlnZ2VycyA8ZWJpZ2dlcnNAa2VybmVsLm9yZz4N Cj4gQ2M6IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT47IFN0ZXBoYW4g TXVlbGxlciA8c211ZWxsZXJAY2hyb25veC5kZT47IExpbnV4IENyeXB0byBNYWlsaW5nIExpc3Qg PGxpbnV4LQ0KPiBjcnlwdG9Admdlci5rZXJuZWwub3JnPjsgR2VlcnQgVXl0dGVyaG9ldmVuIDxn ZWVydEBsaW51eC1tNjhrLm9yZz47IERhdmlkIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD47 IE9maXIgRHJhbmcNCj4gPE9maXIuRHJhbmdAYXJtLmNvbT4NCj4gU3ViamVjdDogUmU6IFBvc3Np YmxlIGlzc3VlIHdpdGggbmV3IGluYXV0aGVudGljIEFFQUQgaW4gZXh0ZW5kZWQgY3J5cHRvIHRl c3RzDQo+DQo+IDw8PCBFeHRlcm5hbCBFbWFpbCA+Pj4NCj4gQ0FVVElPTjogVGhpcyBlbWFpbCBv cmlnaW5hdGVkIGZyb20gb3V0c2lkZSBvZiB0aGUgb3JnYW5pemF0aW9uLiBEbyBub3QgY2xpY2sg bGlua3Mgb3Igb3BlbiBhdHRhY2htZW50cyB1bmxlc3MgeW91IHJlY29nbml6ZSB0aGUNCj4gc2Vu ZGVyL3NlbmRlciBhZGRyZXNzIGFuZCBrbm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQo+DQo+DQo+ IE9uIFR1ZSwgSmFuIDI4LCAyMDIwIGF0IDExOjEyIFBNIEVyaWMgQmlnZ2VycyA8ZWJpZ2dlcnNA a2VybmVsLm9yZz4gd3JvdGU6DQo+ID4NCj4gPiBPbiBUdWUsIEphbiAyOCwgMjAyMCBhdCAwOToy NDoyNUFNICswMjAwLCBHaWxhZCBCZW4tWW9zc2VmIHdyb3RlOg0KPiA+ID4gLSBUaGUgc291cmNl IGlzIHByZXN1bWVkIHRvIGhhdmUgZW5vdWdoIHJvb20gZm9yIGJvdGggdGhlIGFzc29jaWF0ZWQN Cj4gPiA+IGRhdGEgYW5kIHRoZSBwbGFpbnRleHQuDQo+ID4gPiAtIFVubGVzcyBpdCdzIGluLXBs YWNlIGVuY3J5cHRpb24sIGluIHdoaWNoIGNhc2UsIHlvdSBhbHNvIHByZXN1bWUgdG8NCj4gPiA+ IGhhdmUgcm9vbSBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uIHRhZw0KPiA+DQo+ID4gVGhlIGF1dGhl bnRpY2F0aW9uIHRhZyBpcyBwYXJ0IG9mIHRoZSBjaXBoZXJ0ZXh0LCBub3QgdGhlIHBsYWludGV4 dC4gIFNvIHRoZQ0KPiA+IHJ1bGUgaXMganVzdCB0aGF0IHRoZSBjaXBoZXJ0ZXh0IGJ1ZmZlciBu ZWVkcyB0byBoYXZlIHJvb20gZm9yIGl0LCBub3QgdGhlDQo+ID4gcGxhaW50ZXh0Lg0KPiA+DQo+ ID4gT2YgY291cnNlLCB3aGVuIGRvaW5nIGluLXBsYWNlIGVuY3J5cHRpb24vZGVjcnlwdGlvbiwg dGhlIHR3byBidWZmZXJzIGFyZSB0aGUNCj4gPiBzYW1lLCBzbyBib3RoIHdpbGwgaGF2ZSByb29t IGZvciBpdCwgZXZlbiB0aG91Z2ggdGhlIHRhZyBpcyBvbmx5IG1lYW5pbmdmdWwgb24NCj4gPiB0 aGUgY2lwaGVydGV4dCBzaWRlLiAgVGhhdCdzIGp1c3QgdGhlIGxvZ2ljYWwgY29uc2VxdWVuY2Ug b2YgImluLXBsYWNlIi4NCj4NCj4gWWVzLCBvZiBjb3Vyc2UuIEkgdW5kZXJzdGFuZCB0aGUgcHVy cG9zZSBhbGwgb2YgdGhpcyBzZXJ2ZXMuDQo+DQo+ID4NCj4gPiA+IC0gVGhlIG9ubHkgd2F5IHRv IHRlbGwgaWYgdGhpcyBpcyBpbi1wbGFjZSBlbmNyeXB0aW9uIG9yIG5vdCBpcyB0bw0KPiA+ID4g Y29tcGFyZSB0aGUgcG9pbnRlcnMgdG8gdGhlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gLSB0aGVy ZSBpcyBubyBmbGFnLg0KPiA+DQo+ID4gUmVxdWlyaW5nIHVzZXJzIHRvIHJlbWVtYmVyIHRvIHBy b3ZpZGUgYSBmbGFnIHRvIGluZGljYXRlIGluLXBsYWNlDQo+ID4gZW5jcnlwdGlvbi9kZWNyeXB0 aW9uLCBpbiBhZGRpdGlvbiB0byBwYXNzaW5nIHRoZSBzYW1lIHNjYXR0ZXJsaXN0LCB3b3VsZCBt YWtlDQo+ID4gdGhlIEFQSSBtb3JlIGNvbXBsZXguDQo+ID4NCj4NCj4gQXNraW5nIHRoZSB1c2Vy IHRvIHByb3ZpZGUgdGhlIGZsYWcgaXMgdGhyb3dpbmcgdGhlIHByb2JsZW0gYXQgdGhlIHVzZXIg LQ0KPiBzbyBpbmRlZWQsIG5vdCBhIGdvb2QgaWRlYS4gQnV0IHRoYXQgc3RpbGwgZG9lc24ndCBt ZWFuIHdlIG5lZWQgdG8gaGF2ZQ0KPiAicmVhLT5zcmMgPT0gcmVxLT5kc3QiIGluIGV2ZXJ5IGRy aXZlci4gV2UgY2FuIGhhdmUgdGhlIEFQSSBmcmFtZXdvcmsNCj4gZG8gdGhpcy4NCj4NCldoaWNo IHdvdWxkIG1lYW4gdGhlIGZyYW1ld29yayB3b3VsZCBkbyB0aGUgcG9pbnRlciBjb21wYXJlLCBz ZXQNCnRoZSBmbGFnIGFwcHJvcHJpYXRlbHkgYW5kIHRoZW4sIG9uIHRvcCBvZiB0aGF0LCB0aGUg ZHJpdmVyIHN0aWxsIGhhcyB0bw0KY2hlY2svY29tcGFyZSB0aGF0IGZsYWcgYXMgd2VsbCwgaS5l Lg0KImlmIChpbnBsYWNlKSB7IG1hcCBiaWRpcmVjdGlvbmFsIH0gZWxzZSB7IG1hcCB1bmlkaXJl Y3Rpb25hbCB9OyINCkhvdyB3b3VsZCB0aGF0IGJlIGFuIGltcHJvdmVtZW50IG9mIGFueSBzb3J0 PyBJdCBqdXN0IGFkZHMgb3ZlcmhlYWQuDQpFc3BlY2lhbGx5IGZvciBTVyBpbXBsZW1lbnRhdGlv bnMgdGhhdCBtYXkgbm90IGV2ZW4gbmVlZCB0byBrbm93Lg0KSXQncyBub3QgbGlrZSB0aGF0IHNp bmdsZSBwb2ludGVyIGNvbXBhcmUgaXMgdGVycmlibHkgY29tcGxpY2F0ZWQgdG8gZG8NCm9yIGRp ZmZpY3VsdCB0byB1bmRlcnN0YW5kIC4uLg0KDQo+ID4gPiAtIFlvDQp1IGNhbiBjb3VudCBvbiB0 aGUgc2NhdHRlcmdhdGhlciBsaXN0IG5vdCBoYXZpbmcgIGEgZmlyc3QgTlVMTA0KPiA+ID4gYnVm ZmVyLCAqdW5sZXNzKiB0aGUgcGxhaW50ZXh0IGFuZCBhc3NvY2lhdGVkIGRhdGEgbGVuZ3RoIGFy ZSBib3RoDQo+ID4gPiB6ZXJvIEFORCBpdCdzIG5vdCBpbiBwbGFjZSBlbmNyeXB0aW9uLg0KPiA+ ID4gLSBZb3UgY2FuIGNvdW50IG9uIG5vdCBnZXR0aW5nIE5VTEwgYXMgYSBzY2F0dGVybGlzdCBw b2ludCwgKnVubGVzcyoNCj4gPiA+IHRoZSBwbGFpbnRleHQgYW5kIGFzc29jaWF0ZWQgZGF0YSBs ZW5ndGggYXJlIGJvdGggemVybyBBTkQgaXQncyBub3QgaW4NCj4gPiA+IHBsYWNlIGVuY3J5cHRp b24uIChJJ20gYWN0dWFsbHkgdW5zdXJlIG9mIHRoaXMgb25lPykNCj4gPg0KPiA+IElmIHdlIGNv bnNpZGVyIHRoYXQgdGhlIGlucHV0IGlzIG5vdCBqdXN0IGEgc2NhdHRlcmxpc3QsIGJ1dCByYXRo ZXIgYQ0KPiA+IHNjYXR0ZXJsaXN0IGFuZCBhIGxlbmd0aCwgdGhlbiB0aGVzZSBvYnNlcnZhdGlv bnMgYXJlIHJlYWxseSBqdXN0ICJ5b3UgY2FuDQo+ID4gYWNjZXNzIHRoZSBmaXJzdCBieXRlLCB1 bmxlc3MgdGhlIGxlbmd0aCBpcyAwIiAtLSB3aGljaCBpcyBzb3J0IG9mIG9idmlvdXMuICBBbmQN Cj4NCj4gWWVzLCBpZiBpdCBpcyBpbmRlZWQgYSBzY2F0dGVybGlzdCBhbmQgbGVuZ3RoLiBJbiBm YWN0IGl0IGlzbid0IC0gaXQncw0KPiBhIHNjYXR0ZXJsaXN0DQo+IGFuZCBmb3VyIGRpZmZlcmVu dCBsZW5ndGhzOiBwbGFpbnRleHQsIGFzc29jaWF0ZWQgZGF0YSwgSVYgYW5kIGF1dGggdGFnLg0K PiBTb21lIG9mIHRoZW0gYXJlIHVzZWQgaW4gdmFyaW91cyBzY2VuYXJpb3MgYW5kIHNvbWUgYXJl bid0Lg0KPiBXaGljaCBpcyBleGFjdGx5IG15IHBvaW50Lg0KPg0KQWdyZWVkIHRoYXQgd2hhdCBp cyBpbmNsdWRlZCBpbiBjcnlwdGxlbiBpcyBub3QgY29uc2lzdGVudCBvciBvYnZpb3VzLg0KRWl0 aGVyIG1ha2UgaXQgaW5jbHVkZSBPTkxZIHRoZSBQVC9DVCBkYXRhIChhcyB0aGUgbmFtZSBpbXBs aWVzISksIG9yDQptYWtlIGl0IHRoZSBmdWxsIGlucHV0IGxlbmd0aCBvciBzb21ldGhpbmcuIChi dXQgaXQncyB0b28gbGF0ZSBmb3IgdGhhdCBub3cpDQoNCj4gPiByZXF1aXJpbmcgYSBkZXJlZmVy ZW5jYWJsZSBwb2ludGVyIGZvciBsZW5ndGggPSAwIGlzIGdlbmVyYWxseSBjb25zaWRlcmVkIHRv IGJlDQo+ID4gYmFkIEFQSSBkZXNpZ247IHNlZSB0aGUgbWVtY3B5KCkgZmlhc2NvDQo+ID4gKGh0 dHBzOi8vd3d3LmltcGVyaWFsdmlvbGV0Lm9yZy8yMDE2LzA2LzI2L25vbm51bGwuaHRtbCkuDQo+ DQo+IFllcywgdGhhdCdzIG5vdCBhIGdvb2Qgb3B0aW9uIC0gYnV0IG5laXRoZXIgaXMgaGF2aW5n IGEgY29tbWVudCB0aGF0DQo+IGNhbiBiZSByZWFkIHRvIGltcGx5DQo+IHRoYXQgdGhlIEFQSSBy ZXF1aXJlcyBpdCBpZiBpdCBkb2Vzbid0IDotKQ0KPg0KSG1tIC4uLiB3aHkgc2hvdWxkbid0IHlv dSBiZSBhbGxvd2VkIHRvIGJlIF9tb3JlXyByZXN0cmljdGl2ZSBpbiB5b3VyDQpkb2N1bWVudGF0 aW9uIHRoZW4geW91ciBpbXBsZW1lbnRhdGlvbj8gSXQncyBjYWxsZWQgZXJyaW5nIG9uIHRoZSBz YWZlDQpzaWRlLiBJdCBoYXBwZW5zIGFsbCB0aGUgdGltZSwgaWYgb25seSB0byBzYXZlIHZlcmlm aWNhdGlvbiBlZmZvcnQgZm9yIGFsbCB0aG9zZQ0KYWRkaXRpb25hbCBjb3JuZXIgY2FzZXMgOi0p DQoNCj4gVGhpbmtpbmcgYWJvdXQgaXQsIEknbSB3b25kZXJpbmcgaWYgaGF2aW5nIHNvbWV0aGlu ZyBsaWtlIHRoaXMgd2lsbA0KPiBzYXZlIGJvaWxlcnBsYXRlIGNvZGUgaW4gbWFueSBkcml2ZXJz Og0KPg0KPiBzdGF0aWMgaW5saW5lIGJvb2wgY3J5cHRvX2FlYWRfaW5wbGFjZShzdHJ1Y3QgYWVh ZF9yZXF1ZXN0IHJlcSkNCj4gew0KPiAgICAgICAgIHJldHVybiAocmVxLT5zcmMgPT0gcmVxLT5k c3QpOw0KPiB9DQo+DQpUaGF0IHdvdWxkIHNhdmUgb25seSBhIGZldyBjaGFyYWN0ZXJzIG9mIHR5 cGluZyB1bmxlc3MgeW91IHNob3J0ZW4gdGhhdCBmdW5jdGlvbg0KbmFtZSA7LSkgQW5kIHdvdWxk IGl0IF9yZWFsbHlfIGJlIG1vcmUgY2xlYXIgdG8gdGhlIHJlYWRlciBvZiB0aGUgY29kZT8NCg0K PiB1bnNpZ25lZCBpbnQgY3J5cHRvX2FlYWRfc2dfbGVuKHN0cnVjdCBhZWFkX3JlcXVlc3QgcmVx LCBib29sIGVuYywgYm9vbCBzcmMsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCBhdXRoc2l6ZSwgYm9vbCBuZWVkX2l2KQ0KPiB7DQo+ICAgICAgICAgc3RydWN0IGNyeXB0 b19hZWFkICp0Zm0gPSBjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKTsNCj4gICAgICAgICB1bnNpZ25l ZCBpbnQgbGVuID0gcmVxLT5hc3NvY2xlbiArIHJlcS0+Y3J5cHRsZW47DQo+DQo+ICAgICAgICAg aWYgKG5lZWRfaXYpDQo+ICAgICAgICAgICAgICAgICBsZW4gKz0gY3J5cHRvX2FlYWRfaXZzaXpl KHRmbSk7DQo+DQo+ICAgICAgICAgaWYgKHNyYyAmJiAhZW5jKSB8fCAoIXNyYyAmJiBlbmMpIHx8 IGNyeXB0b19hZWFkX2lucGxhY2UocmVxKSkNCj4gICAgICAgICAgICAgICAgIGxlbiArPSBhdXRo c2l6ZTsNCj4NCj4gICAgICAgICByZXR1cm4gbGVuOw0KPiB9DQo+DQpJbnRlcmVzdGluZyAuLi4g bXkgaGFyZHdhcmUgaXMgX3ZlcnlfIHNlbnNpdGl2ZSB0byBpbnB1dCBsZW5ndGggeWV0IEkgb25s eSBuZWVkDQp0byBldmVyIGRvIGFzc29jbGVuK2NyeXB0bGVuIGZvciB0aGF0IGFuZCB0aGF0IHdv cmtzIGZpbmU/IC4uLg0KU28gSSBkb24ndCB1bmRlcnN0YW5kIHRoZSAraXZzaXplIGFuZCArYXV0 aHNpemUgZm9yIHNyYy4gU2VlbXMgdG8gYmUgYWxyZWFkeSBpbmNsdWRlZC4NCg0KQW5kIGZvciB0 aGUgZGVjcnlwdCBkZXN0aW5hdGlvbiBzaXplLCB5b3Ugc2hvdWxkIG5lZWQgdG8gZG8gLWF1dGhz aXplIGFzIHRoZSBJQ1YgaXMgaW5jbHVkZWQNCmluIGNyeXB0bGVuIGJ1dCBub3Qgd3JpdHRlbiBv dXQoPykuDQoNCk90aGVyIHRoYW4gdGhhdCwgdGhlIGlkZWEgb2YgaGF2aW5nIHN1Y2ggYSBmdW5j dGlvbiBhdmFpbGFibGUgaXNuJ3QgYmFkLCBhcyBsb25nDQphcyB5b3UgbWFrZSBpdCBpbmxpbmVh YmxlIGFzIHlvdSBuZWVkIGl0IGluIHRoZSBjcml0aWNhbCBwYXRoIG9mIHRoZSBkcml2ZXIuDQoN Cj4gSXQgd291bGQgYmUgYmV0dGVyIGV2ZW4gaWYgd2UgY2FuIHB1dCB0aGUgYXV0aHNpemUgYW5k IG5lZWRfaXYgaW50byB0aGUgdGZ2DQo+IGF0IHJlZ2lzdHJhdGlvbiB0aW1lIGFuZCBub3QgaGF2 ZSB0byBwYXNzIHRoZW0gYXMgcGFyYW1ldGVycyBhdCBhbGwuDQo+DQpUaGVuIGFnYWluIHBhc3Np bmcgdGhlbSBhcyBwYXJhbWV0ZXJzIG1heSBiZSBiZXR0ZXIgYXMgdGhleSBtYXkgYmUgY29uc3Rh bnQNCmluIHRoZSBzcGVjaWZpYyBwYXRoIHdoZXJlIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQuIEFs bG93aW5nIHRoZSBmdW5jdGlvbiB0byBiZSBpbmxpbmVkDQp3b3VsZCB0aGVuIGFsbG93IHRoZSBj b21waWxlciB0byBvcHRpbWl6ZSB1bm5lY2Vzc2FyeSBjb21wdXRhdGlvbnMgYW5kIGJyYW5jaGVz DQphd2F5IC4uDQoNCj4gPHNuaXA+DQo+DQo+IEFueXdheXMsIHRoYW5rcyBmb3IgZW50ZXJ0YWlu aW5nIG15IHJhbWJsaW5ncy4uLiA6LSkNCj4NCj4gVGhhbmtzLA0KPiBHaWxhZA0KPg0KPiAtLQ0K PiBHaWxhZCBCZW4tWW9zc2VmDQo+IENoaWVmIENvZmZlZSBEcmlua2VyDQo+DQo+IHZhbHVlcyBv ZiDOsiB3aWxsIGdpdmUgcmlzZSB0byBkb20hDQoNCg0KUmVnYXJkcywNClBhc2NhbCB2YW4gTGVl dXdlbg0KU2lsaWNvbiBJUCBBcmNoaXRlY3QgTXVsdGktUHJvdG9jb2wgRW5naW5lcywgUmFtYnVz IFNlY3VyaXR5DQpSYW1idXMgUk9UVyBIb2xkaW5nIEJWDQorMzEtNzMgNjU4MTk1Mw0KDQpOb3Rl OiBUaGUgSW5zaWRlIFNlY3VyZS9WZXJpbWF0cml4IFNpbGljb24gSVAgdGVhbSB3YXMgcmVjZW50 bHkgYWNxdWlyZWQgYnkgUmFtYnVzLg0KUGxlYXNlIGJlIHNvIGtpbmQgdG8gdXBkYXRlIHlvdXIg ZS1tYWlsIGFkZHJlc3MgYm9vayB3aXRoIG15IG5ldyBlLW1haWwgYWRkcmVzcy4NCg0KDQoqKiBU aGlzIG1lc3NhZ2UgYW5kIGFueSBhdHRhY2htZW50cyBhcmUgZm9yIHRoZSBzb2xlIHVzZSBvZiB0 aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpLiBJdCBtYXkgY29udGFpbiBpbmZvcm1hdGlvbiB0aGF0 IGlzIGNvbmZpZGVudGlhbCBhbmQgcHJpdmlsZWdlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVu ZGVkIHJlY2lwaWVudCBvZiB0aGlzIG1lc3NhZ2UsIHlvdSBhcmUgcHJvaGliaXRlZCBmcm9tIHBy aW50aW5nLCBjb3B5aW5nLCBmb3J3YXJkaW5nIG9yIHNhdmluZyBpdC4gUGxlYXNlIGRlbGV0ZSB0 aGUgbWVzc2FnZSBhbmQgYXR0YWNobWVudHMgYW5kIG5vdGlmeSB0aGUgc2VuZGVyIGltbWVkaWF0 ZWx5LiAqKg0KDQpSYW1idXMgSW5jLjxodHRwOi8vd3d3LnJhbWJ1cy5jb20+DQo=