Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp3050917ybl; Sun, 11 Aug 2019 14:17:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqz9WnmW+kih+97LLysyu8WvG86xQynba1ARYCil3e+K5M/PpA4c8jBX2WP1J8boxS6HOvs8 X-Received: by 2002:a62:7a0f:: with SMTP id v15mr13620125pfc.35.1565558267860; Sun, 11 Aug 2019 14:17:47 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1565558267; cv=pass; d=google.com; s=arc-20160816; b=pAY4FaGYlsfC2hiJUB7J3FDSWzW2EbCGlMMKk0u/0J4u3Ji3FaYaE8AYcaLQBKWrUd 5GEW+XMxetfpBaL0ljJbE19RIvhWTOWRbwPIxEVzGWpBUfXAmkpfPdbTxxdO5F+PgWsS nIbvfWq6x3WnDOGvXXqqML//FNlo5vuHZT4vz9VnP9xSV87pvtmZjxaIOghgFORSSgGA 6/Zaa4pduYEkgianG8+hdvlPtqEEFSHHDv1ieN5KqlxY8jFaTbstNbmE56pWUFQEWHx8 IZdJLECTC477BwlBj5wNKQwAbiQjh5JMTzk7eybaDrdS/4nSVdJknRb2q5uTU/bhhdz5 3krQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=LHWewccbWSlcgZ7PQO//cb5SOOJI+X6Aj8rSUpBl/14=; b=dw7xuOUxhrz9Bc/59VIhHhDgCddh+jkESMKYuKHLofxR9CZtSeM3Vkv0EVpoLAjaf8 JZzQGFSEpEab7Aw6rYreYYJVYR2ZDoKxc12+HGSjnI5I9P3suX+rEa3fkCtEiI04VKzo zmXP+1yzKTmTc89xEXaLoTEyIEPF0Zm7nvmKhj/eLrRr6aPiYdRxNROD43CSKbkDWMrH xEYIDqEMJWpwgRtsJh0OeWnoYzBxJb4BAXJ73Zi/yxx8jpSE0D8e2IgQrkwKaHM9B6bn xexOvElprVbpLCRNass8v45OGdedEwDnMrdvCy6Fr4Vw6YOtOoWt55QCny+3jqCsXSPL FF5A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@verimatrix.com header.s=selector2 header.b="CkZ5/3iB"; arc=pass (i=1 spf=pass spfdomain=verimatrix.com dkim=pass dkdomain=verimatrix.com dmarc=pass fromdomain=verimatrix.com); 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=verimatrix.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 21si36691288pgk.492.2019.08.11.14.17.23; Sun, 11 Aug 2019 14:17:47 -0700 (PDT) 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=@verimatrix.com header.s=selector2 header.b="CkZ5/3iB"; arc=pass (i=1 spf=pass spfdomain=verimatrix.com dkim=pass dkdomain=verimatrix.com dmarc=pass fromdomain=verimatrix.com); 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=verimatrix.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726144AbfHKVP7 (ORCPT + 99 others); Sun, 11 Aug 2019 17:15:59 -0400 Received: from mail-eopbgr750059.outbound.protection.outlook.com ([40.107.75.59]:14599 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726053AbfHKVP7 (ORCPT ); Sun, 11 Aug 2019 17:15:59 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eIiY27EHEY9T6aEq2Td8G3WQIJWy/rmWHWk9EXMmE1t207QC0q1V0IlKKhWDfYdouFzWaEEpeF+eotuyESMq3KWm5Ey8/o1j67LgrPBfUOyj5wpIztpNpJxjT32GYhptvmnCcTzF4HCg+AOZREFDFvBluw9/NmJ7vxrEjhLXeED6tDze+kD8dMEwGZXRrtLKj3ihZdL0jsn6KE5NFdmkMxMSxRSULRgbwsX2JmbOBT7/vrcB6t4N57I9oxckAsikMOeiwjogwYKETEirIppw9W1vLUdNyjeT612ozWyc1GPL3ZOHfD7D1Pg1TS1P/Nh6QZDg+o+JAgSqqVFL9H9esw== 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=LHWewccbWSlcgZ7PQO//cb5SOOJI+X6Aj8rSUpBl/14=; b=F+ImiBBSGIRZxMzHsrBEq1Iu9JGO5xteyknda7/KdDyjzjvbnTRaVSFT1L1pNP3iJbGYK+XP9Cr2AglaxWBwP3SQWEF30B52u5gwoZQA/sKbc/bsJ5e9RKFhfmfnUj59fr3TAI1HdnO5L+gEmEzs5ddXyQGbS0QusrsfHEYSAwo4Wxs/XfdGoJzcEU1Xm4kdFiafCrvk7CWIzCb4wM68QHRrr4XI851MCLStrDdPfh8BHtjMzlCcAiiDnZwVLeJbb3z3iUHdeo6HRyjQpOqDb9ptA+MFaO0z0x61oX6ihiOTGl/c2uN7ROqlupMeQCSq0n15iOrAS3te/W2/hEeG5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=verimatrix.com; dmarc=pass action=none header.from=verimatrix.com; dkim=pass header.d=verimatrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=verimatrix.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LHWewccbWSlcgZ7PQO//cb5SOOJI+X6Aj8rSUpBl/14=; b=CkZ5/3iBWs4gFhgDG4iaXK9YU/5zxkJdFtCNB0snMSbpFAUy+kZscaJ2SqrOSP4d+2NrzV/6kgUKMgbd6lwcJTBhy5rpGUk7uzZCTUtx+YvdP16PiQWtpwpLVeAHZuvy7d7r1Zll9jYapRhIbTWxjTCGHlBZQ7mByF+ciego4GA= Received: from MN2PR20MB2973.namprd20.prod.outlook.com (52.132.172.146) by MN2PR20MB2909.namprd20.prod.outlook.com (10.255.7.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.14; Sun, 11 Aug 2019 21:15:13 +0000 Received: from MN2PR20MB2973.namprd20.prod.outlook.com ([fe80::d96f:39b2:19f4:c7c1]) by MN2PR20MB2973.namprd20.prod.outlook.com ([fe80::d96f:39b2:19f4:c7c1%7]) with mapi id 15.20.2157.022; Sun, 11 Aug 2019 21:15:13 +0000 From: Pascal Van Leeuwen To: Ard Biesheuvel CC: Horia Geanta , Herbert Xu , Milan Broz , "dm-devel@redhat.com" , "linux-crypto@vger.kernel.org" Subject: RE: [dm-devel] xts fuzz testing and lack of ciphertext stealing support Thread-Topic: [dm-devel] xts fuzz testing and lack of ciphertext stealing support Thread-Index: AQHVO/5l0aVU4O6KC0WgPIqEsMQCDqbzPYWAgAAwjTCAAIUtAIACkUzg Date: Sun, 11 Aug 2019 21:15:13 +0000 Message-ID: References: <20f4832e-e3af-e3c2-d946-13bf8c367a60@nxp.com> <20190809024821.GA7186@gondor.apana.org.au> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=pvanleeuwen@verimatrix.com; x-originating-ip: [188.204.2.113] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a8c77c6e-fda1-43b6-f9a7-08d71ea1002c x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020);SRVR:MN2PR20MB2909; x-ms-traffictypediagnostic: MN2PR20MB2909: x-ms-exchange-purlcount: 1 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:407; x-forefront-prvs: 0126A32F74 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(39840400004)(346002)(376002)(136003)(396003)(366004)(189003)(199004)(13464003)(52314003)(7736002)(74316002)(33656002)(14444005)(102836004)(26005)(4326008)(478600001)(14454004)(305945005)(256004)(186003)(486006)(446003)(11346002)(66066001)(53546011)(476003)(8676002)(25786009)(6116002)(3846002)(76176011)(7696005)(6506007)(15974865002)(99286004)(71190400001)(71200400001)(5660300002)(53936002)(316002)(81156014)(81166006)(6436002)(8936002)(55016002)(52536014)(6246003)(86362001)(2906002)(6916009)(76116006)(66446008)(54906003)(66476007)(66946007)(64756008)(66556008)(229853002)(9686003)(18886075002);DIR:OUT;SFP:1101;SCL:1;SRVR:MN2PR20MB2909;H:MN2PR20MB2973.namprd20.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: verimatrix.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: t9eYBXR5CLQ2P5HywMw+G3hiUODKFHdp2Fv6DklbHgmGnap45JWhQxhx9ueWThSyyECYx+X1dZvc9Uv7HMUkLiRAj7oDKUDDgDXl52BU42xtFLJ6nIXOaHgYDkWcwm5Qap/Vq1T9bQVczOdph9qvGA8Ysw5okGlzgSOJ84Y47RB5ElyoUMYa9CSKszl9WNTU5RQ4e2LjyEmdYfmPs1ZYjb05V4hZsu2EtqwA5ofIfWDFphYY59bp/i3bWNKuzqKVmJrVAJzvA+tRsdf+Z+YHQ0hgqGraffpzzwanJ1r7x60VbkL0+7n2RFixPDz8BVRkr7oQ9chSZfyqivgbmFZ7vBDJo372L7jtIz3r9hWMW+J9+AEHZB4DC5Mlg+E9yy3l41ABx4e6dN4iwlFfj+XLHYEt3Ek9j6FpdP4uEpjYTQY= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: verimatrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: a8c77c6e-fda1-43b6-f9a7-08d71ea1002c X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2019 21:15:13.5461 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: dcb260f9-022d-4495-8602-eae51035a0d0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: q/I4w0E0DktFlK0N+yQ/N9wcDyRXzZVCq6rbxo1+i0fmpFdXXEjFQui0nuRUWAHpXVjsk+kYMSIKJtshj1NxcXaFH8g8QJb4P1Hc0zlraqg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR20MB2909 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBcmQgQmllc2hldXZlbCA8YXJk LmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gU2VudDogU2F0dXJkYXksIEF1Z3VzdCAxMCwgMjAx OSA2OjQwIEFNDQo+IFRvOiBQYXNjYWwgVmFuIExlZXV3ZW4gPHB2YW5sZWV1d2VuQHZlcmltYXRy aXguY29tPg0KPiBDYzogSG9yaWEgR2VhbnRhIDxob3JpYS5nZWFudGFAbnhwLmNvbT47IEhlcmJl cnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT47IE1pbGFuIEJyb3oNCj4gPGdtYXp5 bGFuZEBnbWFpbC5jb20+OyBkbS1kZXZlbEByZWRoYXQuY29tOyBsaW51eC1jcnlwdG9Admdlci5r ZXJuZWwub3JnDQo+IFN1YmplY3Q6IFJlOiBbZG0tZGV2ZWxdIHh0cyBmdXp6IHRlc3RpbmcgYW5k IGxhY2sgb2YgY2lwaGVydGV4dCBzdGVhbGluZyBzdXBwb3J0DQo+IA0KPiBPbiBGcmksIDkgQXVn IDIwMTkgYXQgMjM6NTcsIFBhc2NhbCBWYW4gTGVldXdlbg0KPiA8cHZhbmxlZXV3ZW5AdmVyaW1h dHJpeC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+ID4gRnJvbTogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+DQo+ ID4gPiBTZW50OiBGcmlkYXksIEF1Z3VzdCA5LCAyMDE5IDc6NDkgUE0NCj4gPiA+IFRvOiBIb3Jp YSBHZWFudGEgPGhvcmlhLmdlYW50YUBueHAuY29tPg0KPiA+ID4gQ2M6IEhlcmJlcnQgWHUgPGhl cmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT47IFBhc2NhbCBWYW4gTGVldXdlbg0KPiA+ID4gPHB2 YW5sZWV1d2VuQHZlcmltYXRyaXguY29tPjsgTWlsYW4gQnJveiA8Z21henlsYW5kQGdtYWlsLmNv bT47IGRtLWRldmVsQHJlZGhhdC5jb207DQo+IGxpbnV4LQ0KPiA+ID4gY3J5cHRvQHZnZXIua2Vy bmVsLm9yZw0KPiA+ID4gU3ViamVjdDogUmU6IFtkbS1kZXZlbF0geHRzIGZ1enogdGVzdGluZyBh bmQgbGFjayBvZiBjaXBoZXJ0ZXh0IHN0ZWFsaW5nIHN1cHBvcnQNCj4gPiA+DQo+ID4gPiBPbiBG cmksIDkgQXVnIDIwMTkgYXQgMTA6NDQsIEhvcmlhIEdlYW50YSA8aG9yaWEuZ2VhbnRhQG54cC5j b20+IHdyb3RlOg0KPiA+ID4gPg0KPiA+ID4gPiBPbiA4LzkvMjAxOSA5OjQ1IEFNLCBBcmQgQmll c2hldXZlbCB3cm90ZToNCj4gPiA+ID4gPiBPbiBGcmksIDkgQXVnIDIwMTkgYXQgMDU6NDgsIEhl cmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4gd3JvdGU6DQo+ID4gPiA+ID4+ DQo+ID4gPiA+ID4+IE9uIFRodSwgQXVnIDA4LCAyMDE5IGF0IDA2OjAxOjQ5UE0gKzAwMDAsIEhv cmlhIEdlYW50YSB3cm90ZToNCj4gPiA+ID4gPj4+DQo+ID4gPiA+ID4+PiAtLSA+OCAtLQ0KPiA+ ID4gPiA+Pj4NCj4gPiA+ID4gPj4+IFN1YmplY3Q6IFtQQVRDSF0gY3J5cHRvOiB0ZXN0bWdyIC0g QWRkIGFkZGl0aW9uYWwgQUVTLVhUUyB2ZWN0b3JzIGZvciBjb3ZlcmluZw0KPiA+ID4gPiA+Pj4g IENUUyAocGFydCBJSSkNCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4gUGF0Y2h3b3JrIGRvZXNuJ3Qg bGlrZSBpdCB3aGVuIHlvdSBkbyB0aGlzIGFuZCBpdCdsbCBkaXNjYXJkDQo+ID4gPiA+ID4+IHlv dXIgcGF0Y2guICBUbyBtYWtlIGl0IGludG8gcGF0Y2h3b3JrIHlvdSBuZWVkIHRvIHB1dCB0aGUg bmV3DQo+ID4gPiA+ID4+IFN1YmplY3QgaW4gdGhlIGVtYWlsIGhlYWRlcnMuDQo+ID4gPiA+ID4+ DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJTU8sIHByZXRlbmRpbmcgdGhhdCB5b3VyIFhUUyBpbXBs ZW1lbnRhdGlvbiBpcyBjb21wbGlhbnQgYnkgb25seQ0KPiA+ID4gPiBJJ3ZlIG5ldmVyIHNhaWQg dGhhdC4NCj4gPiA+ID4gU29tZSBwYXJ0cyBhcmUgY29tcGxpYW50LCBzb21lIGFyZSBub3QuDQo+ ID4gPiA+DQo+ID4gPiA+ID4gcHJvdmlkaW5nIHRlc3QgdmVjdG9ycyB3aXRoIHRoZSBsYXN0IDgg Ynl0ZXMgb2YgSVYgY2xlYXJlZCBpcyBub3QgdGhlDQo+ID4gPiA+ID4gcmlnaHQgZml4IGZvciB0 aGlzIGlzc3VlLiBJZiB5b3Ugd2FudCB0byBiZSBjb21wbGlhbnQsIHlvdSB3aWxsIG5lZWQNCj4g PiA+ID4gSXQncyBub3QgYSBmaXguDQo+ID4gPiA+IEl0J3MgYWRkaW5nIHRlc3QgdmVjdG9ycyB3 aGljaCBhcmUgbm90IHByb3ZpZGVkIGluIHRoZSBQMTYxOSBzdGFuZGFyZCwNCj4gPiA+ID4gd2hl cmUgImRhdGEgdW5pdCBzZXF1ZW5jZSBudW1iZXIiIGlzIGF0IG1vc3QgNUIuDQo+ID4gPiA+DQo+ ID4gPg0KPiA+ID4gSW5kZWVkLiBCdXQgSSB3b3VsZCBwcmVmZXIgbm90IHRvIGxpbWl0IG91cnNl bHZlcyB0byA1IGJ5dGVzIG9mIHNlY3Rvcg0KPiA+ID4gbnVtYmVycyBpbiB0aGUgdGVzdCB2ZWN0 b3JzLiBIb3dldmVyLCB3ZSBzaG91bGQgb2J2aW91c2x5IG5vdCBhZGQgdGVzdA0KPiA+ID4gdmVj dG9ycyB0aGF0IGFyZSBrbm93biB0byBjYXVzZSBicmVha2FnZXMgb24gaGFyZHdhcmUgdGhhdCB3 b3JrcyBmaW5lDQo+ID4gPiBpbiBwcmFjdGljZS4NCj4gPiA+DQo+ID4gV2VsbCwgb2J2aW91c2x5 LCB0aGUgZnVsbCAxNiBieXRlIHNlY3RvciBudW1iZXIgdmVjdG9ycyBmYWlsIG9uIGV4aXN0aW5n DQo+ID4gQ0FBTSBoYXJkd2FyZSwgd2hpY2ggSSBkbyBhc3N1bWUgdG8gd29yayBmaW5lIGluIHBy YWN0aWNlLiBBbmQgeW91IGtub3cNCj4gPiBJJ20gbm90IGluIGZhdm9yIG9mIGJ1aWxkaW5nIGFs bCBraW5kcyBvZiB3b3JrYXJvdW5kcyBpbnRvIHRoZSBkcml2ZXJzLg0KPiA+DQo+ID4gRmFjdCBp cywgd2Uga25vdyB0aGVyZSBhcmUgbm8gY3VycmVudCB1c2VycyB0aGF0IG5lZWQgbW9yZSB0aGFu IDY0IGJpdHMNCj4gPiBvZiBJVi4gRmFjdCBpcyBhbHNvIHRoYXQgaGF2aW5nIDY0IGJpdHMgb2Yg SVYgaW4gdGhlIHZlY3RvcnMgaXMgYWxyZWFkeQ0KPiA+IGFuIGltcHJvdmVtZW50IG92ZXIgdGhl IDQwIGJpdHMgaW4gdGhlIG9yaWdpbmFsIHZlY3RvcnMuIEFuZCB1bmxpa2UgQ1RTLA0KPiA+IEkg YW0gbm90IGF3YXJlIG9mIGFueSByZWFsIHVzZSBjYXNlIGZvciBtb3JlIHRoYW4gNjQgYml0cy4N Cj4gPiBGaW5hbGx5LCBhbm90aGVyIGZhY3QgaXMgdGhhdCBsaW1pdGluZyB0aGUgKnZlY3RvcnMq IHRvIDY0IGJpdHMgb2YgSVYNCj4gPiBkb2VzIG5vdCBwcm9oaWJpdCBhbnlvbmUgZnJvbSAqdXNp bmcqIGEgZnVsbCAxMjggYml0IElWIG9uIGFuDQo+ID4gaW1wbGVtZW50YXRpb24gdGhhdCAqZG9l cyogc3VwcG9ydCB0aGlzLiBJIHdvdWxkIHRoaW5rIG1vc3QgdXNlcnMgb2YNCj4gPiBYVFMsIGxp a2UgZG1jcnlwdCwgd291bGQgYWxsb3cgeW91IHRvIHNwZWNpZnkgdGhlIGNyYV9kcml2ZXJuYW1l DQo+ID4gZXhwbGljdGx5IGFueXdheSwgc28ganVzdCBkb24ndCBzZWxlY3QgbGVnYWN5IENBQU0g aWYgeW91IG5lZWQgdGhhdC4NCj4gPiAoaGVjaywgaWYgaXQgd291bGQgYmUgcmVhZGluZyBhbmQg d3JpdGluZyBpdHMgb3duIGRhdGEsIGFuZCBub3QgbmVlZA0KPiA+IGNvbXBhdGliaWxpdHkgd2l0 aCBvdGhlciBpbXBsZW1lbnRhdGlvbnMsIGl0IHdvdWxkbid0IGV2ZW4gbWF0dGVyKQ0KPiA+DQo+ ID4gU28geWVzLCB0aGUgc3BlY3MgYXJlIHF1aXRlIGNsZWFyIG9uIHRoZSBzZWN0b3IgbnVtYmVy IGJlaW5nIGEgZnVsbA0KPiA+IDEyOCBiaXRzLiBCdXQgdGhhdCBkb2Vzbid0IHByZXZlbnQgdXMg ZnJvbSBzcGVjaWZ5aW5nIHRoYXQgdGhlDQo+ID4gY3J5cHRvIEFQSSBpbXBsZW1lbnRhdGlvbiBj dXJyZW50bHkgb25seSBzdXBwb3J0cyA2NCBiaXRzLCB3aXRoIHRoZQ0KPiA+IHJlbWFpbmluZyBi aXRzIGJlaW5nIGZvcmNlZCB0byAwLiBXZSBjYW4gYWx3YXlzIHJldmlzaXQgdGhhdCB3aGVuDQo+ ID4gYW4gYWN0dWFsIHVzZSBjYXNlIGZvciBtb3JlIHRoYW4gNjQgYml0cyBhcmlzZXMgLi4uDQo+ ID4NCj4gDQo+IFlvdSBoYXZlIGdvdCBpdCBjb21wbGV0ZWx5IGJhY2t3YXJkczoNCj4gDQo+IENU UyBoYXMgbmV2ZXIgd29ya2VkIGluIGFueSBrZXJuZWwgaW1wbGVtZW50YXRpb24sIHNvIHJlZ2Fy ZGxlc3Mgb2YNCj4gd2hhdCB0aGUgc3BlYyBzYXlzLCBzdXBwb3J0aW5nIGl0IGluIHRoZSBrZXJu ZWwgaXMgbm90IGEgaGlnaCBwcmlvcml0eQ0KPiBpc3N1ZSB3aGljaGV2ZXIgd2F5IHlvdSBwdXQg aXQuIA0KPg0KSSBuZXZlciBzYWlkIGl0IHdhcyBhIGhpZ2ggcHJpb3JpdHksIEkgbWVyZWx5IHBv aW50ZWQgb3V0IGl0J3Mgbm90IHNwZWMgDQpjb21wbGlhbnQuIEFwcGFyZW50bHksIHlvdSBmZWVs IHRoYXQgdGhhdCdzIG9ubHkgaW1wb3J0YW50IGluc29mYXIgdGhhdA0KaXQgbWF0Y2hlcyBjdXJy ZW50IGtlcm5lbCB1c2UgY2FzZXM/DQoNCkFueXdheSwgYXMgZmFyIGFzIEkgdW5kZXJzdGFuZCwg dGhlcmUgYXJlIG5vIHVzZXJzIHRoYXQgbmVlZCBtb3JlIHRoYW4gDQo2NCBiaXRzIG9mIElWIGlu IHRoZSBrZXJuZWwgKGkuZS4gZG1jcnlwdCB1c2VzIG9ubHkgNjQgYml0cyksIHNvIEkgc2VlDQpu byBmdW5kYW1lbnRhbCBkaWZmZXJlbmNlIHdpdGggQ1RTIGV4Y2VwdCB0aGF0IG1vc3QoPykgaW1w bGVtZW50YXRpb25zDQpwb3NzaWJseSBhbHJlYWR5ICJhY2NpZGVudGFsbHkiIChzaW5jZSB1bnZl cmlmaWVkISkgZGlkIGl0IGNvcnJlY3RseS4NCg0KTm90IHRoYXQgSSBoYXZlIGFueSBpbnRlcmVz dCBpbiByZXN0cmljdGluZyB0aGUgSVYgc2l6ZTogIm15IiBoYXJkd2FyZQ0KaGFuZGxlcyBmdWxs IDEyOCBiaXQgSVYncyBqdXN0IGZpbmUuIFNvIHdoeSBkbyBJIGV2ZW4gYm90aGVyIC4uLiA6LSkN Cg0KPiBOb3cgaXMgdGhlIGZpcnN0IHRpbWUgYW55b25lIGhhcyBhc2tlZA0KPiBmb3IgaXQgaW4g MTIgeWVhcnMsIGFuZCBvbmx5IGJlY2F1c2Ugc29tZW9uZSBzcG90dGVkIGEgZGV2aWF0aW9uDQo+ IGJldHdlZW4gYSBoL3cgYW5kIGEgcy93IGltcGxlbWVudGF0aW9uLCBub3QgYmVjYXVzZSBhbnlv bmUgdHJpZWQgdG8NCj4gdXNlIGl0IGFuZCBmYWlsZWQuIChOb3RlIHRoYXQgcGFzc2luZyBhbnl0 aGluZyBvdGhlciB0aGFuIGEgbXVsdGlwbGUNCj4gb2YgdGhlIGJsb2NrIHNpemUgd2lsbCBjYXVz ZSBhbiBlcnJvciByYXRoZXIgdGhhbiBmYWlsIHNpbGVudGx5KQ0KPiANClllcywgZmFpbGluZyBz aWxlbnRseSBpcyBub3Qgc3VjaCBhIGdvb2QgaWRlYSwgSSB0aGluayB3ZSBhZ3JlZSBvbiB0aGF0 LiAgDQpBbHRob3VnaCB3ZSBhbHNvIG5lZWQgIHRvIGtlZXAgaW4gbWluZCB0aGF0IHRoYXQncyBl eGFjdGx5IHdoYXQgdGhlIENBQU0gDQpkcml2ZXIgaGFzIGJlZW4gZG9pbmcgYWxsIHRob3NlIHll YXJzLCBhbmQsIGJlZm9yZSBteSB2ZWN0b3JzLCBub2JvZHkNCm5vdGljZWQgb3IgY2FyZWQuIFdp dGhvdXQgbXkgaW52b2x2ZW1lbnQsIHRoaXMgd291bGQgaGF2ZSBwcm9iYWJseSBnb25lDQp1bm5v dGljZWQgZm9yIG1hbnkgeWVhcnMgdG8gY29tZSAoc28gSSBmZWVsIHNvbWUgcmVzcG9uc2liaWxp dHkgOy0pLg0KDQo+IFRydW5jYXRlZCBJVnMgYXJlIGEgaHVnZSBpc3N1ZSwgc2luY2Ugd2UgYWxy ZWFkeSBleHBvc2UgdGhlIGNvcnJlY3QNCj4gQVBJIHZpYSBBRl9BTEcgKHdpdGhvdXQgYW55IHJl c3RyaWN0aW9ucyBvbiBob3cgbWFueSBvZiB0aGUgSVYgYml0cw0KPiBhcmUgcG9wdWxhdGVkKSwg YW5kIGFwcGFyZW50bHksIGlmIHlvdXIgQUZfQUxHIHJlcXVlc3QgZm9yIHh0cyhhZXMpDQo+IGhh cHBlbnMgdG8gYmUgZnVsZmlsbGVkIGJ5IHRoZSBDQUFNIGRyaXZlciBhbmQgeW91ciBpbXBsZW1l bnRhdGlvbg0KPiB1c2VzIG1vcmUgdGhhbiA2NCBiaXRzIGZvciB0aGUgSVYsIHRoZSB0b3AgYml0 cyBnZXQgdHJ1bmNhdGVkIHNpbGVudGx5DQo+IGFuZCB5b3VyIGRhdGEgbWlnaHQgZ2V0IGVhdGVu Lg0KPiANCkFwcGFyZW50bHksIG5vdCBzdWNoIGEgImh1Z2UiIGlzc3VlIGF0IGFsbCwgc2VlIHBy ZXZpb3VzIHJlbWFyay4NCg0KQXMgYSBwcmVjYXV0aW9uLCB0aGUgQ0FBTSBkcml2ZXIgY291bGQg cmV0dXJuIC1FSU5WQUwgaWYgdGhlIHVwcGVyIElWDQpieXRlcyBhcmUgbm9uLXplcm8uIEJ1dCB0 aGVuIHRlc3RtZ3Igd291bGQgaGF2ZSB0byBkbyBsZXNzIHN0cmljdCBlcnJvciANCnJldHVybiBj b2RlIGNoZWNraW5nIHNvIHdlIGRvbid0IGZvcmNlIHRoaXMgdXBvbiBkcml2ZXJzIHRoYXQgQ0FO IGRvIGl0Lg0KDQpJbXBsZW1lbnRpbmcgYSBmdWxsIFNXIGZhbGxiYWNrIGZvciB0aGF0IGluIHRo ZSBkcml2ZXIganVzdCBzZWVtcyBsaWtlDQptYXNzaXZlIG92ZXJraWxsLCBhcyB5b3Ugbm9ybWFs bHkgc3BlY2lmeSB0aGUgZHJpdmVyIGZvciBkbWNyeXB0IGV4cGxpY3RseQ0KYW55d2F5IChvciBh dCBsZWFzdCwgeW91IGNhbiBkbyB0aGF0IGlmIHRoZSBkZWZhdWx0IGZhaWxzKS4NCg0KSSBkb24n dCBsaWtlIHRoZSBpZGVhIG9mIEhXIGRyaXZlcnMgZG9pbmcgU1cgZmFsbGJhY2tzIGJlY2F1c2Ug aXQgY2xvdWRzDQp0aGUgd2hvbGUgcGljdHVyZSBvZiB3aGF0IGlzIGFjdHVhbGx5IGRvbmUgYnkg YSBjZXJ0YWluIEhXIGRldmljZS4NCg0KPiBJbiBteSBleHBlcmllbmNlLCB1c2VycyB0ZW5kIHRv IGNhcmUgbW9yZSBhYm91dCB0aGUgbGF0dGVyIHRoYW4gdGhlIGZvcm1lci4NCj4gDQo+IA0KPiA+ ID4gPiA+IHRvIHByb3ZpZGUgYSBzL3cgZmFsbGJhY2sgZm9yIHRoZXNlIGNhc2VzLg0KPiA+ID4g PiA+DQo+ID4gPiA+IFllcywgdGhlIHBsYW4gaXMgdG86DQo+ID4gPiA+DQo+ID4gPiA+IC1hZGQg MTZCIElWIHN1cHBvcnQgZm9yIGNhYW0gdmVyc2lvbnMgc3VwcG9ydGluZyBpdCAtIGNhYW0gRXJh IDkrLA0KPiA+ID4gPiBjdXJyZW50bHkgZGVwbG95ZWQgaW4gbHgyMTYwYSBhbmQgbHMxMDhhDQo+ ID4gPiA+DQo+ID4gPiA+IC1yZW1vdmUgY3VycmVudCA4QiBJViBzdXBwb3J0IGFuZCBhZGQgcy93 IGZhbGxiYWNrIGZvciBhZmZlY3RlZCBjYWFtIHZlcnNpb25zDQo+ID4gPiA+IEknZCBhc3N1bWUg dGhpcyBjb3VsZCBiZSBkb25lIGR5bmFtaWNhbGx5LCBpLmUuIGRlcGVuZGluZyBvbiBJViBwcm92 aWRlZA0KPiA+ID4gPiBpbiB0aGUgY3J5cHRvIHJlcXVlc3QgdG8gdXNlIGVpdGhlciB0aGUgY2Fh bSBlbmdpbmUgb3Igcy93IGZhbGxiYWNrLg0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+IFllcy4gSWYg dGhlIElWIHJlY2VpdmVkIGZyb20gdGhlIGNhbGxlciBoYXMgYnl0ZXMgOC4uMTUgY2xlYXJlZCwg eW91DQo+ID4gPiB1c2UgdGhlIGxpbWl0ZWQgWFRTIGgvdyBpbXBsZW1lbnRhdGlvbiwgb3RoZXJ3 aXNlIHlvdSBmYWxsIGJhY2sgdG8NCj4gPiA+IHh0cyhlY2ItYWVzLWNhYW0uLikuDQo+ID4NCj4g PiBSZWdhcmRzLA0KPiA+IFBhc2NhbCB2YW4gTGVldXdlbg0KPiA+IFNpbGljb24gSVAgQXJjaGl0 ZWN0LCBNdWx0aS1Qcm90b2NvbCBFbmdpbmVzIEAgVmVyaW1hdHJpeA0KPiA+IHd3dy5pbnNpZGVz ZWN1cmUuY29tDQo+ID4NCg0KUmVnYXJkcywNClBhc2NhbCB2YW4gTGVldXdlbg0KU2lsaWNvbiBJ UCBBcmNoaXRlY3QsIE11bHRpLVByb3RvY29sIEVuZ2luZXMgQCBWZXJpbWF0cml4DQp3d3cuaW5z aWRlc2VjdXJlLmNvbQ0KDQo=