From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 021DEC433C1 for ; Mon, 22 Mar 2021 21:04:25 +0000 (UTC) Received: from mail.server123.net (mail.server123.net [78.46.64.186]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7CDB2619A3 for ; Mon, 22 Mar 2021 21:04:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7CDB2619A3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=fomin.one Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dm-crypt-bounces@saout.de X-Virus-Scanned: amavisd-new at saout.de Authentication-Results: mail.server123.net (amavisd-new); dkim=pass (2048-bit key) header.d=fomin.one Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=185.70.41.104; helo=mail-41104.protonmail.ch; envelope-from=maxim@fomin.one; receiver= Received: from mail-41104.protonmail.ch (mail-41104.protonmail.ch [185.70.41.104]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.server123.net (Postfix) with ESMTPS for ; Mon, 22 Mar 2021 22:01:22 +0100 (CET) Received: from mail-03.mail-europe.com (mail-03.mail-europe.com [91.134.188.129]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by mail-41104.protonmail.ch (Postfix) with ESMTPS id 4F46Nx3hH7z5XGJy for ; Mon, 22 Mar 2021 21:01:21 +0000 (UTC) Authentication-Results: mail-41104.protonmail.ch; dkim=pass (2048-bit key) header.d=fomin.one header.i=@fomin.one header.b="QiQa+FUw" Date: Mon, 22 Mar 2021 21:01:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fomin.one; s=protonmail3; t=1616446877; bh=vgI4nlwWnQeGp0BpYacV5BBoXqxPRtU26dHET6QuAUk=; h=Date:To:From:Reply-To:Subject:In-Reply-To:References:From; b=QiQa+FUwnODtfPZeO9NAGS7kBnwkhmunv6sKn9vXFfDtnOUweRE1yqwByxebgdpG+ WWVPZPdOFJ4PsaGW76uZHZQ52BXTyg56YvgMrOaqoXOw+tfTjsEcHUGEP9XTB74LsB Y5nMZakhGLH3m8buVe4qIxN9oHOJOzoU6sLNA2cMCdoGLXcxOXtJlvXrZz0ZR9ozu/ bDo2W/uThDV3htPV4+UjzQ/9v6uUPKbWo8Sg269fferFF5hAq38XeAGutGxfRyz8vm IUHQaxzovpgoZ8X617x5fzsnizun5awEN6ifHFY3s7kTUjppXN4GaE1Sgqxfxpl7/j P/AcSkNKpMadw== To: "dm-crypt@saout.de" From: Maksim Fomin Message-ID: In-Reply-To: <643D0D27-E48A-4684-88B8-C0EE72B0DE7D@mousecar.com> References: <643D0D27-E48A-4684-88B8-C0EE72B0DE7D@mousecar.com> MIME-Version: 1.0 Message-ID-Hash: IS2Q6NJ5BGBVF5G5VUYGFHQRVJQSFMCJ X-Message-ID-Hash: IS2Q6NJ5BGBVF5G5VUYGFHQRVJQSFMCJ X-MailFrom: maxim@fomin.one X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-dm-crypt.saout.de-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.3.2 Precedence: list Reply-To: Maksim Fomin Subject: [dm-crypt] Using dm-crypt: whole disk encryption List-Id: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 4oCQ4oCQ4oCQ4oCQ4oCQ4oCQ4oCQIE9yaWdpbmFsIE1lc3NhZ2Ug4oCQ4oCQ4oCQ4oCQ4oCQ4oCQ 4oCQDQpPbiBTdW5kYXksIE1hcmNoIDIxLCAyMDIxIDQ6MTMgUE0sIGtlbiA8Z2Vic2VyQG1vdXNl Y2FyLmNvbT4gd3JvdGU6DQoNCj4gQSBuZXcgbGFwdG9wIGlzIG9uIHRoZSB3YXkgYW5kIEknbSBj b25zaWRlcmluZyB1c2luZyBkbS1jcnlwdCAyIHNlY3VyZSB0aGUgd2hvbGUgU1NELiBJIGhhdmUg c29tZSBiYXNpYyBxdWVzdGlvbnMgdGhvdWdoLg0KPg0KPiBJcyBpdCBwb3NzaWJsZSB0byBlbmNy eXB0IHRoZSBlbnRpcmUgRHJpdmUsIGluY2x1ZGluZyBhbGwgdGhlIHN5c3RlbSBmaWxlcz8NCj4N Cj4gZG0tY3J5cHQgbWFpbGluZyBsaXN0IC0tIGRtLWNyeXB0QHNhb3V0LmRlDQo+IFRvIHVuc3Vi c2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gZG0tY3J5cHQtbGVhdmVAc2FvdXQuZGUNCg0KVGhpcyBp cyBhIGNvbXBsZXggdG9waWMgYmVjYXVzZSB0aGVyZSBhcmUgc2V2ZXJhbCB3YXlzIHRvIGVuY3J5 cHQgZW50aXJlIGRyaXZlICh3aGljaCBpcyBjYWxsZWQgRkRFIC0gZnVsbCBkaXNrIGVjbnJ5cHRp b24pIGFuZCBiZWNhdXNlIGl0IGRlcGVuZHMgb24gc2V2ZXJhbCB0b29scyAoZG1jcnlwdCwgY3J5 cHRzZXR1cCwgaW5pdHJkLCBib290bG9hZGVyLCBmaWxlIHN5c3RlbSwgcG9zc2libHkgbHZtKSB3 b3JraW5nIHRvZ2V0aGVyLiBUaGlzIHRvcGljIGlzIGZ1cnRoZXIgY29tcGxpY2F0ZWQgYmVjYXVz ZSBpbml0cmQsIGZpbGVzeXN0ZW0sIGJvb3Rsb2FkZXIgbWF5IHZhcnkgKHdoaWNoIG1lYW5zIHRo aXMgcXVlc3Rpb24gaXMgYmV5b25kIG9mIHNjb3BlIG9mIGRtY3J5cHQpLg0KDQpGaXJzdCBvZiBh bGwsIGVuY3J5cHRpbmcgJ2VudGlyZSBkcml2ZScgY2FuIG1lYW4gdHdvIHRoaW5nczogbGl0ZXJh bGx5IGVuY3J5cHRpbmcgZW50aXJlIGRyaXZlICgjMSkgb3IgbGVhdmluZyBib290bG9hZGVyIChy ZXNpZGluZyBvbiBzdWNoIGRyaXZlKSB1bmVuY3J5cHRlZCAoIzIpLiBTaW5jZSBuZWl0aGVyIEJJ T1Mgbm9yIEVGSSBzdXBwb3J0IGRlY3J5cHRpbmcgYm9vdGxvYWRlcnMsIHNvbWUgcGFydCBvZiBi b290bG9hZGVyIG11c3QgYmUgbGVmdCB1bmVuY3J5cHRlZCBhbnl3YXkuIFRoaXMgbWVhbnMgaWYg eW91IGVuY3J5cHQgZW50aXJlIGRyaXZlICgjMSksIHlvdSBtdXN0IGFsc28gaGF2ZSB0aGUgc2Vj b25kIGRyaXZlIGR1cmluZyBib290IGJlY2F1c2Ugbm8gQklPUy9FRkkgZmlybXdhcmUgY2FuIGRl Y3J5cHQgcGFydGl0aW9ucy9kcml2ZXMuIEJ1dCBpZiB5b3UgZG8gbm90IG5lZWQgdGhlIHNlY29u ZCBkcml2ZSBpbiBib290IHByb2Nlc3MgcGVyIHNlLCB5b3UgY2FuIG1vdmUgYm9vdGxvYWRlciB0 byB1bmVuY3J5cHRlZCBwYXJ0aXRpb24gYW5kIGhhdmUgYSBzaW5nbGUgZHJpdmUgKHNjZW5hcmlv ICMyKS4gU28gYmFzaWNhbGx5IHNjZW5hcmlvICMyIHJlc3VsdHMgaW4gaGF2aW5nIGVuY3J5cHRl ZCBhcyBtdWNoIGFzIHBvc3NpYmxlIChpbmNsdWRpbmcgYWxsIHN5c3RlbSBmaWxlcywgd2hpY2gg eW91IG1lbnRpb25lZCBpbiB0aGUgcXVlc3Rpb24pLCB0YWtpbmcgaW50byBhY2NvdW50IHRlY2hu aWNhbCBsaW1pdGF0aW9ucyBvZiBCSU9TL0VGSSBmaXJtd2FyZS4NCg0KQXNzdW1pbmcgc2NlbmFy aW8gIzIgYW5kIEVGSSBtYWNoaW5lIHRoZXJlIGFyZSBzZXZlcmFsICdzY2hlbWVzJyB0byBkbyBG REUuDQoNCjEuIExlYXZpbmcgdW5lbmNyeXB0ZWQgb25seSBwb3J0aW9uIG9mIGJvb3Rsb2FkZXIg b24gRUZJIHBhcnRpdGlvbi4gQUZBSUssIG9ubHkgZ3J1YiBzdXBwb3J0cyB0aGF0LiBJdCBjYW4g ZW1iZWQgc29tZSBtaW5pbWFsIGNyeXB0byBtb2R1bGVzIGluIGl0cyBjb3JlIGltYWdlIGluIGVm aSBmaWxlIHdoaWNoIHJlc2lkZXMgaW4gRUZJIHBhcnRpdGlvbi4gRHVyaW5nIGJvb3QgdGhlIGNv cmUgaW1hZ2UgKCdlZmkgZmlsZScpIGFza3MgcGFzc3dvcmQsIGRlY3J5cHRzIHRoZSBwYXJ0aXRp b24gd2hlcmUgdGhlIHJlc3Qgb2YgZ3J1YiBib290bG9hZGVyIGNvZGUgcmVzaWRlcyBhbmQgbG9h ZHMgaXRzLiBQcm9iYWJseSBzeXN0ZW1kIGJvb3Rsb2FkZXIgYWxzbyBzdXBwb3J0cyB0aGlzIHNj aGVtZSwgYnV0IEkgYW0gbm90IHN1cmUgKEkgdXNlIGdydWIpLiBJbiB0aGlzIHNjZW5hcmlvIGlu aXRyZCBvciBMVUtTIGtleWZpbGVzIGNhbiByZXNpZGUgaW5zaWRlIGVuY3J5cHRlZCBwYXJ0aXRp b25zIHdpdGggbm8gc2VjdXJpdHkgY29uY2VycyBkdXJpbmcgYm9vdCBwcm9jZXNzIChleGNlcHQg dGhhdCB0aGVzZSBrZXlmaWxlcyBjYW4gYmUgY29tcHJvbWlzZWQgd2hlbiBzeXN0ZW0gaXMgYm9v dGVkIC0gaWYgYW4gYXR0YWNrZXIgZ2FpbnMgcm9vdCBhY2Nlc3MgaXQgY2FuIHJlYWQgYW55IGZp bGUsIGluY2x1ZGluZyBrZXlmaWxlcykuDQoNCkV4YW1wbGUgb2Ygc3VjaCBzZXR1cDogZ3J1YiBy ZXNpZGVzIGluIEVGSSBwYXJ0aXRpb24gYW5kIG9uIHJvb3QgcGFydGl0aW9uLiBSb290IHBhcnRp dGlvbiByZXNpZGVzIG9uIExWTSB2b2x1bWUgb24gdG9wIG9mIExVS1MvcGxhaW4gZG0tY3J5cHQg cmVhbCBHUFQgKHNkYS9zZGIvc2R4KSBwYXJ0aXRpb24uIER1cmluZyBib290IGdydWIgYXNrcyBw YXNzd29yZCBmb3IgZGVjcnlwdGluZyBMVUtTIHBhcnRpdGlvbi4gSW4gdGhpcyBjYXNlIGluaXRy ZCBpbWFnZSBlaXRoZXIgYXNrcyBwYXNzd29yZCBkdXJpbmcgYm9vdCAoZm9yIHRoZSBzZWNvbmQg dGltZSkgb3Iga2V5ZmlsZSBpcyBlbWJlZGVkIGludG8gaW5pdHJkIGltYWdlICh0aGlzIGRlcGVu ZHMgb24gd2hpY2ggaW5pdHJkIGlzIHVzZWQpLiBJbiB0aGUgbGF0dGVyIGNhc2Ugd2hlbiBzeXN0 ZW0gaXMgYm9vdGVkIGFuIGF0dGFja2VyIHdoaWNoIGdhaW5lZCByb290IGFjY2VzcyBjYW4gcmVh ZCBpbml0cmQgaW1hZ2UgYW5kIGdldCB0aGUga2V5ZmlsZS4NCg0KMi4gTGVhdmluZyBib290bG9h ZGVyIGZ1bGx5IHVuZW5jcnlwdGVkLiBUaGVvcmV0aWNhbHkgYW55b25lIHdoaWNoIGhhcyBwc3lz aWNhbCBhY2Nlc3MgdG8geW91ciBkcml2ZSBjYW4gY29tcHJvbWlzZSB0aGUgYm9vdGxvYWRlciwg YnV0IHRoaXMgaXMgZXh0cmVtZWx5IHRoZW9yZXRpY2FsIHNjZW5hcmlvLiBJbiB0aGlzIGNhc2Ug ZHVyaW5nIGJvb3QgeW91IG11c3QgcHJvdmlkZSBwYXNzcGhhc2UgdG8gZGVjcnlwdCByb290IHBh cnRpdGlvbiAocG9zc2libHkgTFZNIHBhcnRpdGlvbiB3aGljaCBjb250YWlucyByb290L2hvbWUv b3RoZXIgcGFydGl0aW9ucykuIEluIGdlbmVyYWwsIHRoaXMgY2FzZSBpcyBzaW1pbGFyIHRvIDEu DQoNCjMuIExlYXZpbmcgYm9vdGxvYWRlciBhbmQgaW5pdHJkL2xpbnV4IGltYWdlIHVuZW5jcnlw dGVkLiBUaGlzIG1lYW5zIGR1cmluZyBib290IGluaXRyZCB3aWxsIGFzayB0aGUgcGFzc3dvcmQg KG9yIGtleWZpbGUgb24gc3BlY2lhbCBkcml2ZSkgdG8gZGVjcnlwdCByb290IHBhcnRpdGlvbiAt IGluIHRoaXMgY2FzZSBvbmx5IG9uY2UgKGlmIGFsbCBwYXJ0aXRpb25zIHJlc2lkZSBvbiBMVk0g d2hpY2ggcmVzaWRlcyBvbiB0b3Agb2YgTFVLUy9wbGFpbiBkbS1jcnlwdCBwYXJ0aXRpb24pLiBJ biB0aGlzIHNjZW5hcmlvIG5vdCBvbmx5IGJvb3Rsb2FkZXIsIGJ1dCBhbHNvIGluaXRyZCBhbmQg bGludXggaW1hZ2UgY2FuIGJlIHRoZW9yZXRpY2FsbHkgY29tcHJvbWlzZWQuDQoNCkFjdHVhbGx5 LCB0aGVyZSBhcmUgbW9yZSBjb25maWd1cmF0aW9ucyB3aGljaCB3ZXJlIG1lbnRpb25lZC4gVGVj aG5pY2FsbHkga2VybmVsIGltYWdlIGNhbiBiZSBsb2NhdGVkIGluIGVuY3J5cHRlZCBsb2NhdGlv biB3aGlsZSBpbml0cmQgbGVmdCBvbiB1bmVuY3J5cHRlZCBwYXJ0aXRpb24gKGFuZCB2aWNlIHZl cnNhKSAtIGFsdGhvdWdoIHN1Y2ggY29uZmlndXJhdGlvbiBoYXMgbGl0dGxlIHNlbnNlLiBTd2Fw IHBhcnRpdGlvbiBjYW4gYmUgbG9jYXRlZCBvbiBMVk0gdm9sdW1lIG9yIG9uIHNlcGFyYXRlIHBh cnRpdGlvbi4gQm9vdGxvYWRlciBjYW4gYmUgbG9jYXRlZCBvbiBFRkkgcGFydGl0aW9uIG9yIHBh cnRpYWxseSBvbiBzb21lIHNlY29uZGFyeSBwYXJ0aXRpb24uIEluaXRyZCBhbmQga2VybmVsIGlt YWdlIGNhbiBiZSBsb2NhdGVkIG9uIGVuY3J5cHRlZCByb290IHBhcnRpdGlvbiBvciBvbiBhIHNl cGFyYXRlIHBhcnRpdGlvbi4gSW5pdHJkIGNhbiBiZSBjb25maWd1cmVkIHZpYSBjcnlwdHRhYiB0 byBkZWNyeXB0IHJvb3QgcGFydGl0aW9uIHdpdGggcGFzc3dvcmQgcHJvbXB0IG9yIHZpYSBrZXlm aWxlLiBXZWxsLCBrZXlmaWxlcyBjYW4gYmUgbG9jYXRlZCBvbiBzZXBhcmF0ZSBkcml2ZSB3aGlj aCBtdXN0IGJlIHBsdWdnZWQgaW4gb3JkZXIgdG8gYm9vdCBtYWNoaW5lLiBPciB0aGV5IGNhbiBi ZSBwbGFjZWQgaW4gcm9vdCBwYXJ0aXRpb24gYW5kIG1hcmtlZCBhcyByZWFkLXJvb3Qtb25seSAo aG9waW5nIGF0dGFja2VyIHdpbGwgbm90IGhhdmUgcm9vdCBhY2Nlc3MpLiBPciBrZXlmaWxlcyBj YW4gYmUgbG9jYXRlZCBvbiBzb21lIHNlcGFyYXRlIGVuY3J5cHRpb24gcGFydGl0aW9uIHdoaWNo IHByb3RlY3RzIHRoZW0gYWZ0ZXIgYm9vdC4NCg0KDQpNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBm b3VuZCBpbiBhcmNobGludXggd2lraSAoaHR0cHM6Ly93aWtpLmFyY2hsaW51eC5vcmcvaW5kZXgu cGhwL0RtLWNyeXB0L0VuY3J5cHRpbmdfYW5fZW50aXJlX3N5c3RlbSkgd2hpY2ggY29udGFpbnMg cXVpdGUgZGVjZW50IG1hbnVhbCBmb3IgZW50aXJlIGRyaXZlIGVuY3J5cHRpb24uIEdlbnRvbyBh bHNvIGhhcyBzb21lIGluZm9ybWF0aW9uIChodHRwczovL3dpa2kuZ2VudG9vLm9yZy93aWtpL0Z1 bGxfRGlza19FbmNyeXB0aW9uX0Zyb21fU2NyYXRjaF9TaW1wbGlmaWVkKSBidXQgaXQgaXMgbW9y ZSBsaW1pdGVkLiBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdCBib3RoIHdpa2kgY29udGFpbiBkaXN0 cm8tc3BlY2lmaWMgaW5mb3JtYXRpb24gd2hpY2ggaXMgbGlrZWx5IGlzIG5vdCBhcHBsaWNhYmxl IHRvIHlvdXIgZGlzdHJpYnV0aW9uLg0KDQoNCiogUmVnYXJkaW5nIGNvbXByb21pc2luZyBib290 bG9hZGVyIG9yIGluaXRyZC9saW51eCBpbWFnZS4gVGhlc2UgYXJlIHRoZW9yZXRpY2FsIHRocmVh dHMgLSBJIGhhdmUgbm90IGhlYXJkIGFueSBwdWJsaWMgY2FzZSB3aGVuIHNvbWUgZW50aXR5IChm b3IgZXhhbXBsZSwgZ292ZXJubWVudCkgaGFja2VkIHNvbWVvbmUgdGhyb3VnaCBib290bG9hZGVy L2luaXRyZC9saW51eCBpbWFnZS4gVGhpcyBtZWFucyBzb21lIHRvb2xzIGFsbG93IHRvIHByb3Rl Y3QgdGhlbSwgYnV0IHRoaXMgaXMgcHJvYmFibHkgb3ZlcmtpbGwuDQoNCioqIFJlZ2FyZGluZyBj aG9pY2UgYmV0d2VlbiBMVk0gYW5kIHNldmVyYWwgR1BUIHBhcnRpdGlvbnMuIElmIHlvdSBoYXZl IHNldmVyYWwgR1BUIHBhcnRpdGlvbnMsIHlvdSBtdXN0IHByb3ZpZGUgcGFzc3dvcmRzIGZvciBh bGwgb2YgdGhlbSBhbmQga2VlcCBlbnRyaWVzIGluIC9ldGMvY3J5cHRhYiBmb3IgZWFjaCBwYXJ0 aXRpb24uIFNvLCBpZiB5b3UgaGF2ZSByb290IGFuZCBob21lIHBhcnRpdGlvbnMgKG5vdCBjb3Vu dGluZyBib290IHBhcnRpdGlvbiksIHlvdSBoYXZlIHRvIHR5cGUgKGF0IGxlYXN0KSB0d28gcGFz c3dvcmRzIGR1cmluZyBib290IChwb3NzaWJseSB0d28gdGltZXMgZm9yIHJvb3QgcGFydGl0aW9u IC0gdG8gdW5sb2NrIGluaXRyZC9saW51eCBpbWFnZSBpZiBpdCBpcyBsb2NhdGVkIGluIGVuY3J5 cHRlZCByb290KS4gSWYgeW91IGhhdmUgZW5jcnlwdGVkIHJvb3QsIGhvbWUgYW5kIHN3YXAgcGFy dGl0aW9uIC0geW91IGhhdmUgdG8gdHlwZSB0aHJlZSBwYXNzd29yZHMgZm9yIGVhY2ggcGFydGl0 aW9uLiBMVk0gY2FuIHNpbXBsaWZ5IHRoaW5ncyBoZXJlIC0geW91IGNhbiBoYXZlIExWTSB2b2x1 bWVzIG9uIHRvcCBvZiBzaW5nbGUgcmVhbCAoR1BUKSBwYXJ0aXRpb24gd2hpY2ggaXMgZW5jcnlw dGVkIChMVUtTIG9yIGRtLWNyeXB0KS4gSW4gdGhpcyBjYXNlIHlvdSB0eXBlIHBhc3N3b3JkIG9u bHkgb25jZSAtIGZvciB0aGUgc2luZ2xlIExVS1MvcGxhaW4gZG0tY3J5cHQgcGFydGl0aW9uLiBP bmNlIGl0IGlzIGRlY3J5cHRlZCwgaW5pdHJkIGNhbiBhY3RpdmF0ZSBMVk0gcGFydGl0aW9ucyBh bmQgbW91bnQgdGhlbSBhY2NvcmRpbmcgdG8gL2V0Yy9mc3RhYiBlbnRyaWVzIHdpdGhvdXQgYXNr aW5nIHBhc3N3b3JkIChrZXlmaWxlcykgZm9yIGVhY2ggbHZtIHZvbHVtZSAod2hpY2ggYWN0cyBh cyB2aXJ0dWFsIHZvbHVtZSkuDQoNCioqKiBFbmNyeXB0ZWQgZHJpdmUvcGFydGl0aW9uIGNhbiBj b250YWluIHNldmVyYWwgcGFydGl0aW9ucy9MVk0gdm9sdW1lcyB3aGljaCBjYW4gY29tcGxpY2F0 ZSBib290IHByb2Nlc3MsIGJ1dCBzb21lIHRlY2huaWNhbCBjb25zaWRlcmF0aW9ucyBzaG91bGQg YmUgdGFrZW4gaW50byBhY2NvdW50OiAxKSBFRkkgZmlybXdhcmUgY2FuIGxvYWQgYm9vdGxvYWRl ciBvbmx5IGZyb20gdW5lbmNyeXB0ZWQgcmVhbCAoR1BUKSBwYXJ0aXRpb24sIDIpIGJvb3Rsb2Fk ZXIgbXVzdCBzdXBwb3J0IGVuY3J5cHRpb24gYW5kIGZpbGUgc3lzdGVtIHdoZXJlIGluaXRyZC9s aW51eCBpbWFnZSBpcyBsb2NhdGVkLCAzKSBpbml0cmQgaW1hZ2UgbXVzdCBiZSBjb25maWd1cmVk IHRvIHVubG9jayByb290IHBhcnRpdGlvbiAtIGVpdGhlciBieSBhc2tpbmcgcGFzc3dvcmQgb3Ig YnkgcmVhZGluZyBrZXlmaWxlIGZyb20gc29tZSBwbGFjZSB3aGljaCBpcyBhY2Nlc3NpYmxlIHRv IGluaXRyZCBkdXJpbmcgYm9vdCBwcm9jZXNzLg0KDQpCZXN0IHJlZ2FyZHMsDQpNYXhpbSBGb21p bg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZG0tY3J5 cHQgbWFpbGluZyBsaXN0IC0tIGRtLWNyeXB0QHNhb3V0LmRlClRvIHVuc3Vic2NyaWJlIHNlbmQg YW4gZW1haWwgdG8gZG0tY3J5cHQtbGVhdmVAc2FvdXQuZGUK