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 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9AF83C83F0C for ; Mon, 7 Jul 2025 15:26:51 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYnjS-0003Xy-H1; Mon, 07 Jul 2025 11:26:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uYnFr-0000XW-RY for grub-devel@gnu.org; Mon, 07 Jul 2025 10:55:41 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYnFo-0007eJ-SA for grub-devel@gnu.org; Mon, 07 Jul 2025 10:55:38 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3a582e09144so2060973f8f.1 for ; Mon, 07 Jul 2025 07:55:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751900135; x=1752504935; darn=gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YhPr5DeA53pZgKD22QVxaMRq+JgaCW0//12QQctDkQc=; b=lctNf9VfGbQq90UUy+scDXG6cXM30LwujgZeMR6/ek8Qm8oo5aEVgVRxRSBEPH24Q1 4FkOWhPOpic0Sh2BW9sx1v3w+Cx6rr1at5gFTJhdpfx+oPnoTZcEIlHcsJdcPdQbstIM xabcvX9928PMcz9VHEZfcpWsRKAS0BQ0NegsrhfEGbl7+BLxP80dwy0rF2EftHWukqOe mgY8Ew8JSml5+4VfU0MWST/od8gUPi4dlFaekY3EV5R3419bGdHUkIutPfSJsrLByz+M Y2O9qRepYFtKCT9HWPbqZPt2Hp+HwDCLFICkgSAJ9H00kqG7RlqJb5Vx/uRPxnBFqug8 N1hQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751900135; x=1752504935; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YhPr5DeA53pZgKD22QVxaMRq+JgaCW0//12QQctDkQc=; b=RGxIpi8RqXTakEOcPo4J7nSJS8wd5FLVWJoM9ggTvUE8L9skzAm/COQv9xRE0kibEZ mucU1xIxNiRsSSxyanX/r8fioERFQS9ESPyDvdIEH4q77DN7Y1fOQg/J0kPbIgi4fNOK ycbLUnq3M8ap9xYPzG4bFzB8WwMeaO6MUr50tPwRpKVuvFkhwQkO2UKp16xoaYMFjfse cNu96NqfmSGR1HFTmOUyOqCA92FVn5NgNE0qWoZI3NhkOVQ41RE0HivKLnDtuRuC2aY/ Z494stYZSdTGTHy8qkYULqY576zMBCfVlRegJxOL4CB59O66qKwgTU/Zv+L9m1jl3qre iq1A== X-Gm-Message-State: AOJu0YwtBpWqMDscjx8ycRSKQpL3Rg3COZgb6foyu/rAAYsh6bMbqnUy sE5az+E50VSDEMgXfErCpKXEQBPfGuoqdEL60NpbcT14/cSWB1A7j/V9KukLgHF6 X-Gm-Gg: ASbGncsgvAqMI3E9N+okz5q+uI9URz59kDI/UbFAv9jd8LETn0KY6NAw16KI6zJ8d8q 3pBkYWhgpsf2L4D2pGmcsa7wq/jPWRA3kVqg7Io9n9Jnx50KBuqG2GHtUI3YbQQEisdvK4rWXYp VX82osv3ln1UnUGuu1DTcRqaCQ5FWGjvSb/e/4TDJYRtFofwlX2pv17vs9PZD/9yLgSFmOlaQGL zxvjksi3OR0/IYy15XslDSiZ+rgFme+Ce8QfBjVfiIDa9npIDGxGuC0MeLhph3x7KQvLbogrPwE UuhP0vT4ilstmIlEcVOA9SO4J9rmRE1dQ+uYeJzKgShTDY2GclkO987v6jl7ab+G5HOsmTWqGof +GpHJvVUlUynDV4UPBMuEGiJQ+w== X-Google-Smtp-Source: AGHT+IErgTJ+IlJhmLClt3LX+jnBisN0iEX3TsvZTdqwljz1VpBjKmdEaBywNmyS24JCsdP4/aru1A== X-Received: by 2002:a5d:64e5:0:b0:3a4:e609:dc63 with SMTP id ffacd0b85a97d-3b49701fd14mr9119368f8f.20.1751900134519; Mon, 07 Jul 2025 07:55:34 -0700 (PDT) Received: from localhost (92-184-98-90.mobile.fr.orangecustomers.net. [92.184.98.90]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b47225a67csm10445088f8f.79.2025.07.07.07.55.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 07:55:34 -0700 (PDT) From: Vladimir Serbinenko To: grub-devel@gnu.org Cc: Vladimir Serbinenko Subject: [PATCH v14 10/15] libgcrypt: Import blake family of hashes Date: Mon, 7 Jul 2025 14:52:16 +0000 Message-ID: <20250707145318.97596-11-phcoder@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250707145318.97596-1-phcoder@gmail.com> References: <20250707145318.97596-1-phcoder@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=phcoder@gmail.com; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org U2lnbmVkLW9mZi1ieTogVmxhZGltaXIgU2VyYmluZW5rbyA8cGhjb2RlckBnbWFpbC5jb20+Ci0t LQogLi4uL2xpYi9saWJnY3J5cHQtcGF0Y2hlcy8wNl9ibGFrZS5wYXRjaCAgICAgIHwgODAgKysr KysrKysrKysrKysrKysrKwogaW5jbHVkZS9ncnViL2NyeXB0by5oICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDkgKysrCiB1dGlsL2ltcG9ydF9nY3J5LnB5ICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAzNiArKysrKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTE4IGluc2VydGlvbnMoKyks IDcgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ3J1Yi1jb3JlL2xpYi9saWJnY3J5 cHQtcGF0Y2hlcy8wNl9ibGFrZS5wYXRjaAoKZGlmZiAtLWdpdCBhL2dydWItY29yZS9saWIvbGli Z2NyeXB0LXBhdGNoZXMvMDZfYmxha2UucGF0Y2ggYi9ncnViLWNvcmUvbGliL2xpYmdjcnlwdC1w YXRjaGVzLzA2X2JsYWtlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uMTk1NDNkYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvZ3J1Yi1jb3JlL2xpYi9saWJnY3J5cHQt cGF0Y2hlcy8wNl9ibGFrZS5wYXRjaApAQCAtMCwwICsxLDgwIEBACistLS0gYS9ncnViLWNvcmUv bGliL2xpYmdjcnlwdC1ncnViL2NpcGhlci9ibGFrZTIuYworKysrIGIvZ3J1Yi1jb3JlL2xpYi9s aWJnY3J5cHQtZ3J1Yi9jaXBoZXIvYmxha2UyLmMKK0BAIC03ODQsNjggKzc4NCw2IEBACisgICBy ZXR1cm4gYmxha2Uyc19pbml0KGMsIGtleSwga2V5bGVuKTsKKyB9CisgCistLyogU2VsZnRlc3Rz IGZyb20gIlJGQyA3NjkzLCBBcHBlbmRpeCBFLiBCTEFLRTJiIGFuZCBCTEFLRTJzIFNlbGYtVGVz dAorLSAqIE1vZHVsZSBDIFNvdXJjZSIuICovCistc3RhdGljIHZvaWQgc2VsZnRlc3Rfc2VxKGJ5 dGUgKm91dCwgc2l6ZV90IGxlbiwgdTMyIHNlZWQpCisteworLSAgc2l6ZV90IGk7CistICB1MzIg dCwgYSwgYjsKKy0KKy0gIGEgPSAweERFQUQ0QkFEICogc2VlZDsKKy0gIGIgPSAxOworLQorLSAg Zm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQorLSAgICB7CistICAgICAgdCA9IGEgKyBiOworLSAg ICAgIGEgPSBiOworLSAgICAgIGIgPSB0OworLSAgICAgIG91dFtpXSA9ICh0ID4+IDI0KSAmIDB4 RkY7CistICAgIH0KKy19CistCistCistCistCistZ2NyeV9lcnJfY29kZV90IF9nY3J5X2JsYWtl Ml9pbml0X3dpdGhfa2V5KHZvaWQgKmN0eCwgdW5zaWduZWQgaW50IGZsYWdzLAorLQkJCQkJICAg Y29uc3QgdW5zaWduZWQgY2hhciAqa2V5LAorLQkJCQkJICAgc2l6ZV90IGtleWxlbiwgaW50IGFs Z28pCisteworLSAgZ2NyeV9lcnJfY29kZV90IHJjOworLSAgc3dpdGNoIChhbGdvKQorLSAgICB7 CistICAgIGNhc2UgR0NSWV9NRF9CTEFLRTJCXzUxMjoKKy0gICAgICByYyA9IGJsYWtlMmJfaW5p dF9jdHggKGN0eCwgZmxhZ3MsIGtleSwga2V5bGVuLCA1MTIpOworLSAgICAgIGJyZWFrOworLSAg ICBjYXNlIEdDUllfTURfQkxBS0UyQl8zODQ6CistICAgICAgcmMgPSBibGFrZTJiX2luaXRfY3R4 IChjdHgsIGZsYWdzLCBrZXksIGtleWxlbiwgMzg0KTsKKy0gICAgICBicmVhazsKKy0gICAgY2Fz ZSBHQ1JZX01EX0JMQUtFMkJfMjU2OgorLSAgICAgIHJjID0gYmxha2UyYl9pbml0X2N0eCAoY3R4 LCBmbGFncywga2V5LCBrZXlsZW4sIDI1Nik7CistICAgICAgYnJlYWs7CistICAgIGNhc2UgR0NS WV9NRF9CTEFLRTJCXzE2MDoKKy0gICAgICByYyA9IGJsYWtlMmJfaW5pdF9jdHggKGN0eCwgZmxh Z3MsIGtleSwga2V5bGVuLCAxNjApOworLSAgICAgIGJyZWFrOworLSAgICBjYXNlIEdDUllfTURf QkxBS0UyU18yNTY6CistICAgICAgcmMgPSBibGFrZTJzX2luaXRfY3R4IChjdHgsIGZsYWdzLCBr ZXksIGtleWxlbiwgMjU2KTsKKy0gICAgICBicmVhazsKKy0gICAgY2FzZSBHQ1JZX01EX0JMQUtF MlNfMjI0OgorLSAgICAgIHJjID0gYmxha2Uyc19pbml0X2N0eCAoY3R4LCBmbGFncywga2V5LCBr ZXlsZW4sIDIyNCk7CistICAgICAgYnJlYWs7CistICAgIGNhc2UgR0NSWV9NRF9CTEFLRTJTXzE2 MDoKKy0gICAgICByYyA9IGJsYWtlMnNfaW5pdF9jdHggKGN0eCwgZmxhZ3MsIGtleSwga2V5bGVu LCAxNjApOworLSAgICAgIGJyZWFrOworLSAgICBjYXNlIEdDUllfTURfQkxBS0UyU18xMjg6Cist ICAgICAgcmMgPSBibGFrZTJzX2luaXRfY3R4IChjdHgsIGZsYWdzLCBrZXksIGtleWxlbiwgMTI4 KTsKKy0gICAgICBicmVhazsKKy0gICAgZGVmYXVsdDoKKy0gICAgICByYyA9IEdQR19FUlJfRElH RVNUX0FMR087CistICAgICAgYnJlYWs7CistICAgIH0KKy0KKy0gIHJldHVybiByYzsKKy19Cist CistCisgI2RlZmluZSBERUZJTkVfQkxBS0UyX1ZBUklBTlQoYnMsIEJTLCBkYml0cywgb2lkX2Jy YW5jaCkgXAorICAgc3RhdGljIHZvaWQgYmxha2UyIyNicyMjXyMjZGJpdHMjI19pbml0KHZvaWQg KmN0eCwgdW5zaWduZWQgaW50IGZsYWdzKSBcCisgICB7IFwKK0BAIC04NzksNyArODE3LDcgQEAK KyAgICAgICBkYml0cyAvIDgsIGJsYWtlMiMjYnMjI18jI2RiaXRzIyNfaW5pdCwgYmxha2UyIyNi cyMjX3dyaXRlLCBcCisgICAgICAgYmxha2UyIyNicyMjX2ZpbmFsLCBibGFrZTIjI2JzIyNfcmVh ZCwgTlVMTCwgXAorICAgICAgIF9nY3J5X2JsYWtlMiMjYnMjI18jI2RiaXRzIyNfaGFzaF9idWZm ZXJzLCBcCistICAgICAgc2l6ZW9mIChCTEFLRTIjI0JTIyNfQ09OVEVYVCksIHNlbGZ0ZXN0c19i bGFrZTIjI2JzIFwKKysgICAgICBzaXplb2YgKEJMQUtFMiMjQlMjI19DT05URVhUKSBcCisgICAg ICwgXAorICAgICBHUlVCX1VUSUxfTU9ETkFNRSgiZ2NyeV9ibGFrZTIiKSBcCisgICAgIC5ibG9j a3NpemUgPSBHUlVCX0JMQUtFMiAjIyBCUyAjIyBfQkxPQ0tfU0laRSBcCmRpZmYgLS1naXQgYS9p bmNsdWRlL2dydWIvY3J5cHRvLmggYi9pbmNsdWRlL2dydWIvY3J5cHRvLmgKaW5kZXggMjViMTE4 ODk4Li5iMGQ3YWRkMWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZ3J1Yi9jcnlwdG8uaAorKysgYi9p bmNsdWRlL2dydWIvY3J5cHRvLmgKQEAgLTU4Niw4ICs1ODYsMTQgQEAgdm9pZCBncnViX2djcnlf ZmluaV9hbGwgKHZvaWQpOwogaW50CiBncnViX2dldF9yYW5kb20gKHZvaWQgKm91dCwgZ3J1Yl9z aXplX3QgbGVuKTsKIAorI2RlZmluZSBHUlVCX1VUSUxfTU9ETkFNRSh4KSAubW9kbmFtZSA9IHgs CisjZWxzZQorI2RlZmluZSBHUlVCX1VUSUxfTU9ETkFNRSh4KQogI2VuZGlmCiAKKyNkZWZpbmUg R1JVQl9CTEFLRTJCX0JMT0NLX1NJWkUgMTI4CisjZGVmaW5lIEdSVUJfQkxBS0UyU19CTE9DS19T SVpFIDY0CisKIHR5cGVkZWYgc3RydWN0IF9ncGdydF9iNjRzdGF0ZSAqZ3BncnRfYjY0c3RhdGVf dDsKIGdwZ3J0X2I2NHN0YXRlX3QgZ3BncnRfYjY0ZGVjX3N0YXJ0IChjb25zdCBjaGFyICp0aXRs ZSk7CiBncGdfZXJyb3JfdCAgICAgIGdwZ3J0X2I2NGRlY19wcm9jIChncGdydF9iNjRzdGF0ZV90 IHN0YXRlLApAQCAtNTk1LDQgKzYwMSw3IEBAIGdwZ19lcnJvcl90ICAgICAgZ3BncnRfYjY0ZGVj X3Byb2MgKGdwZ3J0X2I2NHN0YXRlX3Qgc3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBncnViX3NpemVfdCAqcl9uYnl0ZXMpOwogZ3BnX2Vycm9yX3QgICAgICBncGdy dF9iNjRkZWNfZmluaXNoIChncGdydF9iNjRzdGF0ZV90IHN0YXRlKTsKIGNvbnN0IGNoYXIgKmdw Z19zdHJlcnJvciAoZ3BnX2Vycm9yX3QgZXJyKTsKKworZ2NyeV9lcnJfY29kZV90IGJsYWtlMmJf dmxfaGFzaCAoY29uc3Qgdm9pZCAqaW4sIGdydWJfc2l6ZV90IGlubGVuLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3J1Yl9zaXplX3Qgb3V0cHV0bGVuLCB2b2lkICpvdXRwdXQp OwogI2VuZGlmCmRpZmYgLS1naXQgYS91dGlsL2ltcG9ydF9nY3J5LnB5IGIvdXRpbC9pbXBvcnRf Z2NyeS5weQppbmRleCBhNDQxMWVjYjkuLmNhOTE4Yzc3NyAxMDA2NDQKLS0tIGEvdXRpbC9pbXBv cnRfZ2NyeS5weQorKysgYi91dGlsL2ltcG9ydF9nY3J5LnB5CkBAIC0xMjAsNyArMTIwLDggQEAg bWRibG9ja3NpemVzID0geyJfZ2NyeV9kaWdlc3Rfc3BlY19jcmMzMiIgOiA2NCwKICAgICAgICAg ICAgICAgICAiX2djcnlfZGlnZXN0X3NwZWNfZ29zdDM0MTFfOTQiOiAzMiwKICAgICAgICAgICAg ICAgICAiX2djcnlfZGlnZXN0X3NwZWNfZ29zdDM0MTFfY3AiOiAzMiwKICAgICAgICAgICAgICAg ICAiX2djcnlfZGlnZXN0X3NwZWNfY3NoYWtlMTI4IjogNjQsCi0gICAgICAgICAgICAgICAgIl9n Y3J5X2RpZ2VzdF9zcGVjX2NzaGFrZTI1NiI6IDY0fQorICAgICAgICAgICAgICAgICJfZ2NyeV9k aWdlc3Rfc3BlY19jc2hha2UyNTYiOiA2NCwKKyAgICAgICAgICAgICAgICAiX2djcnlfZGlnZXN0 X3NwZWNfYmxha2UyIjogIkdSVUJfQkxBS0UyICMjIEJTICMjIF9CTE9DS19TSVpFIn0KIAogY3J5 cHRvbGlzdCA9IGNvZGVjcy5vcGVuIChvcy5wYXRoLmpvaW4gKGNpcGhlcl9kaXJfb3V0LCAiY3J5 cHRvLmxzdCIpLCAidyIsICJ1dGYtOCIpCiAKQEAgLTIwOSw2ICsyMTAsNyBAQCBmb3IgY2lwaGVy X2ZpbGUgaW4gY2lwaGVyX2ZpbGVzOgogICAgICAgICBza2lwID0gMAogICAgICAgICBza2lwMiA9 IEZhbHNlCiAgICAgICAgIGlzbWQgPSBGYWxzZQorICAgICAgICBpc21kZGVmaW5lID0gRmFsc2UK ICAgICAgICAgbWRhcmcgPSAwCiAgICAgICAgIGlzcGsgPSBGYWxzZQogICAgICAgICBpc2NpcGhl ciA9IEZhbHNlCkBAIC0yNDUsMTkgKzI0NywxOSBAQCBmb3IgY2lwaGVyX2ZpbGUgaW4gY2lwaGVy X2ZpbGVzOgogICAgICAgICAgICAgICAgIG1kYXJnID0gbWRhcmcgKyBsZW4gKHNwbCkgLSAxCiAg ICAgICAgICAgICBpZiBpc21kIG9yIGlzY2lwaGVyIG9yIGlzcGs6CiAgICAgICAgICAgICAgICAg aWYgbm90IHJlLnNlYXJjaCAoIiAqfTsiLCBsaW5lKSBpcyBOb25lOgorICAgICAgICAgICAgICAg ICAgICBlc2NhcGVubCA9ICIgXFwiIGlmIGlzbWRkZWZpbmUgZWxzZSAiIgogICAgICAgICAgICAg ICAgICAgICBpZiBub3QgaXNjb21tYToKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ3LndyaXRl ICgiICAgICxcbiIpCi0gICAgICAgICAgICAgICAgICAgIGZ3LndyaXRlICgiI2lmZGVmIEdSVUJf VVRJTFxuIik7Ci0gICAgICAgICAgICAgICAgICAgIGZ3LndyaXRlICgiICAgIC5tb2RuYW1lID0g XCIlc1wiLFxuIiAlIG1vZG5hbWUpOwotICAgICAgICAgICAgICAgICAgICBmdy53cml0ZSAoIiNl bmRpZlxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBmdy53cml0ZSAoZiIgICAgLHtlc2Nh cGVubH1cbiIpCisgICAgICAgICAgICAgICAgICAgIGZ3LndyaXRlIChmIiAgICBHUlVCX1VUSUxf TU9ETkFNRShcIiVzXCIpe2VzY2FwZW5sfVxuIiAlIG1vZG5hbWUpOwogICAgICAgICAgICAgICAg ICAgICBpZiBpc21kOgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IChtZG5hbWUgaW4g bWRibG9ja3NpemVzKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCAoIkVSUk9S OiBVbmtub3duIGRpZ2VzdCBibG9ja3NpemU6ICVzXG4iCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICUgbWRuYW1lKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4aXQg KDEpCi0gICAgICAgICAgICAgICAgICAgICAgICBmdy53cml0ZSAoIiAgICAuYmxvY2tzaXplID0g JXNcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgIGZ3LndyaXRlIChmIiAgICAuYmxvY2tzaXpl ID0gJXN7ZXNjYXBlbmx9XG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBt ZGJsb2Nrc2l6ZXMgW21kbmFtZV0pCiAgICAgICAgICAgICAgICAgICAgIGlzbWQgPSBGYWxzZQor ICAgICAgICAgICAgICAgICAgICBpc21kZGVmaW5lID0gRmFsc2UKICAgICAgICAgICAgICAgICAg ICAgbWRhcmcgPSAwCiAgICAgICAgICAgICAgICAgICAgIGlzY2lwaGVyID0gRmFsc2UKICAgICAg ICAgICAgICAgICAgICAgaXNwayA9IEZhbHNlCkBAIC0yODEsNyArMjgzLDcgQEAgZm9yIGNpcGhl cl9maWxlIGluIGNpcGhlcl9maWxlczoKICAgICAgICAgICAgICAgICBob2xkID0gRmFsc2UKICAg ICAgICAgICAgICAgICAjIFdlJ3JlIG9wdGltaXNpbmcgZm9yIHNpemUgYW5kIGV4Y2x1ZGUgYW55 dGhpbmcgbmVlZGluZyBnb29kCiAgICAgICAgICAgICAgICAgIyByYW5kb21uZXNzLgotICAgICAg ICAgICAgICAgIGlmIHJlLm1hdGNoICgiKF9nY3J5X2hhc2hfc2VsZnRlc3RfY2hlY2tfb25lfGJ1 bGtfc2VsZnRlc3Rfc2V0a2V5fHJ1bl9zZWxmdGVzdHN8ZG9fdHJpcGxlZGVzX3NldF9leHRyYV9p bmZvfHNlbGZ0ZXN0fHNtNF9zZWxmdGVzdHxfZ2NyeV9bYS16MC05X10qX2hhc2hfYnVmZmVyc3xf Z2NyeV9zaGExX2hhc2hfYnVmZmVyfHRyaXBsZWRlc19zZXQya2V5c3xfZ2NyeV9ybWQxNjBfbWl4 YmxvY2t8c2VycGVudF90ZXN0fGRzYV9nZW5lcmF0ZV9leHR8dGVzdF9rZXlzfGdlbl9rfHNpZ258 Z2VuX3g5MzFfcGFybV94cHxnZW5lcmF0ZV94OTMxfGdlbmVyYXRlX2tleXxkc2FfZ2VuZXJhdGV8 ZHNhX3NpZ258ZWNjX3NpZ258Z2VuZXJhdGV8Z2VuZXJhdGVfZmlwczE4NnxfZ2NyeV9yZWdpc3Rl cl9wa19kc2FfcHJvZ3Jlc3N8X2djcnlfcmVnaXN0ZXJfcGtfZWNjX3Byb2dyZXNzfHByb2dyZXNz fHNjYW52YWx8ZWMyb3N8ZWNjX2dlbmVyYXRlX2V4dHxlY2NfZ2VuZXJhdGV8ZWNjX2dldF9wYXJh bXxfZ2NyeV9yZWdpc3Rlcl9wa19kc2FfcHJvZ3Jlc3N8Z2VuX3g5MzFfcGFybV94cHxnZW5feDkz MV9wYXJtX3hpfHJzYV9kZWNyeXB0fHJzYV9zaWdufHJzYV9nZW5lcmF0ZV9leHR8cnNhX2dlbmVy YXRlfHNlY3JldHxjaGVja19leHBvbmVudHxyc2FfYmxpbmR8cnNhX3VuYmxpbmR8ZXh0cmFjdF9h X2Zyb21fc2V4cHxjdXJ2ZV9mcmVlfGN1cnZlX2NvcHl8cG9pbnRfc2V0fF9nY3J5X2RzYV9nZW5f cmZjNjk3OV9rfGJpdHMyb2N0ZXRzfGludDJvY3RldHN8X2djcnlfbWRfZGVidWd8X2djcnlfbWRf c2VsZnRlc3R8X2djcnlfbWRfaXNfZW5hYmxlZHxfZ2NyeV9tZF9pc19zZWN1cmV8X2djcnlfbWRf aW5pdHxfZ2NyeV9tZF9pbmZvfG1kX2dldF9hbGdvfG1kX2V4dHJhY3R8X2djcnlfbWRfZ2V0IHxf Z2NyeV9tZF9nZXRfYWxnbyB8X2djcnlfbWRfZXh0cmFjdHxfZ2NyeV9tZF9zZXRrZXl8bWRfc2V0 a2V5fHByZXBhcmVfbWFjcGFkc3xfZ2NyeV9tZF9hbGdvX25hbWV8c2VhcmNoX29pZHxzcGVjX2Zy b21fb2lkfHNwZWNfZnJvbV9uYW1lfHNwZWNfZnJvbV9hbGdvfG1hcF9hbGdvfGNzaGFrZV9oYXNo X2J1ZmZlcnMpIiwgbGluZSkgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgaWYgcmUubWF0 Y2ggKCIoX2djcnlfaGFzaF9zZWxmdGVzdF9jaGVja19vbmV8YnVsa19zZWxmdGVzdF9zZXRrZXl8 cnVuX3NlbGZ0ZXN0c3xkb190cmlwbGVkZXNfc2V0X2V4dHJhX2luZm98c2VsZnRlc3R8c200X3Nl bGZ0ZXN0fF9nY3J5X1thLXowLTlfXSpfaGFzaF9idWZmZXJzfF9nY3J5X3NoYTFfaGFzaF9idWZm ZXJ8dHJpcGxlZGVzX3NldDJrZXlzfF9nY3J5X3JtZDE2MF9taXhibG9ja3xzZXJwZW50X3Rlc3R8 ZHNhX2dlbmVyYXRlX2V4dHx0ZXN0X2tleXN8Z2VuX2t8c2lnbnxnZW5feDkzMV9wYXJtX3hwfGdl bmVyYXRlX3g5MzF8Z2VuZXJhdGVfa2V5fGRzYV9nZW5lcmF0ZXxkc2Ffc2lnbnxlY2Nfc2lnbnxn ZW5lcmF0ZXxnZW5lcmF0ZV9maXBzMTg2fF9nY3J5X3JlZ2lzdGVyX3BrX2RzYV9wcm9ncmVzc3xf Z2NyeV9yZWdpc3Rlcl9wa19lY2NfcHJvZ3Jlc3N8cHJvZ3Jlc3N8c2NhbnZhbHxlYzJvc3xlY2Nf Z2VuZXJhdGVfZXh0fGVjY19nZW5lcmF0ZXxlY2NfZ2V0X3BhcmFtfF9nY3J5X3JlZ2lzdGVyX3Br X2RzYV9wcm9ncmVzc3xnZW5feDkzMV9wYXJtX3hwfGdlbl94OTMxX3Bhcm1feGl8cnNhX2RlY3J5 cHR8cnNhX3NpZ258cnNhX2dlbmVyYXRlX2V4dHxyc2FfZ2VuZXJhdGV8c2VjcmV0fGNoZWNrX2V4 cG9uZW50fHJzYV9ibGluZHxyc2FfdW5ibGluZHxleHRyYWN0X2FfZnJvbV9zZXhwfGN1cnZlX2Zy ZWV8Y3VydmVfY29weXxwb2ludF9zZXR8X2djcnlfZHNhX2dlbl9yZmM2OTc5X2t8Yml0czJvY3Rl dHN8aW50Mm9jdGV0c3xfZ2NyeV9tZF9kZWJ1Z3xfZ2NyeV9tZF9zZWxmdGVzdHxfZ2NyeV9tZF9p c19lbmFibGVkfF9nY3J5X21kX2lzX3NlY3VyZXxfZ2NyeV9tZF9pbml0fF9nY3J5X21kX2luZm98 bWRfZ2V0X2FsZ298bWRfZXh0cmFjdHxfZ2NyeV9tZF9nZXQgfF9nY3J5X21kX2dldF9hbGdvIHxf Z2NyeV9tZF9leHRyYWN0fF9nY3J5X21kX3NldGtleXxtZF9zZXRrZXl8cHJlcGFyZV9tYWNwYWRz fF9nY3J5X21kX2FsZ29fbmFtZXxzZWFyY2hfb2lkfHNwZWNfZnJvbV9vaWR8c3BlY19mcm9tX25h bWV8c3BlY19mcm9tX2FsZ298bWFwX2FsZ298Y3NoYWtlX2hhc2hfYnVmZmVyc3xzZWxmdGVzdF9z ZXEpIiwgbGluZSkgaXMgbm90IE5vbmU6CiAKICAgICAgICAgICAgICAgICAgICAgc2tpcCA9IDEK ICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHJlLm1hdGNoICgic2VsZnRlc3QiLCBsaW5lKSBp cyBOb25lIGFuZCBjaXBoZXJfZmlsZSA9PSAiaWRlYS5jIjoKQEAgLTM1NSw2ICszNTcsMTMgQEAg Zm9yIGNpcGhlcl9maWxlIGluIGNpcGhlcl9maWxlczoKICAgICAgICAgICAgICAgICBpc3BrID0g VHJ1ZQogICAgICAgICAgICAgICAgIGlzY3J5cHRvc3RhcnQgPSBUcnVlCiAKKyAgICAgICAgICAg IG0gPSByZS5tYXRjaCAociJERUZJTkVfQkxBS0UyX1ZBUklBTlRcKCguKSwgKC4pLCAoWzAtOV0q KSIsIGxpbmUpCisgICAgICAgICAgICBpZiBpc2MgYW5kIG5vdCBtIGlzIE5vbmU6CisgICAgICAg ICAgICAgICAgYnMgPSBtLmdyb3VwcygpWzBdCisgICAgICAgICAgICAgICAgYml0cyA9IG0uZ3Jv dXBzKClbMl0KKyAgICAgICAgICAgICAgICBtZG5hbWUgPSBmIl9nY3J5X2RpZ2VzdF9zcGVjX2Js YWtlMntic31fe2JpdHN9IgorICAgICAgICAgICAgICAgIG1kbmFtZXMuYXBwZW5kIChtZG5hbWUp CisKICAgICAgICAgICAgIG0gPSByZS5tYXRjaCAoIihjb25zdCApP2djcnlfbWRfc3BlY190Iiwg bGluZSkKICAgICAgICAgICAgIGlmIGlzYyBhbmQgbm90IG0gaXMgTm9uZToKICAgICAgICAgICAg ICAgICBhc3NlcnQgKG5vdCBpc21kKQpAQCAtMzY2LDYgKzM3NSwxOSBAQCBmb3IgY2lwaGVyX2Zp bGUgaW4gY2lwaGVyX2ZpbGVzOgogICAgICAgICAgICAgICAgIG1kbmFtZSA9IHJlLm1hdGNoKCJb YS16QS1aMC05X10qIixtZG5hbWUpLmdyb3VwICgpCiAgICAgICAgICAgICAgICAgbWRuYW1lcy5h cHBlbmQgKG1kbmFtZSkKICAgICAgICAgICAgICAgICBpc21kID0gVHJ1ZQorICAgICAgICAgICAg ICAgIGlzbWRkZWZpbmUgPSBGYWxzZQorICAgICAgICAgICAgICAgIG1kYXJnID0gMAorICAgICAg ICAgICAgICAgIGlzY3J5cHRvc3RhcnQgPSBUcnVlCisgICAgICAgICAgICBtID0gcmUubWF0Y2gg KCIgIChjb25zdCApP2djcnlfbWRfc3BlY190IF9nY3J5X2RpZ2VzdF9zcGVjX2JsYWtlMi4qXFxc XCIsIGxpbmUpCisgICAgICAgICAgICBpZiBpc2MgYW5kIG5vdCBtIGlzIE5vbmU6CisgICAgICAg ICAgICAgICAgYXNzZXJ0IChub3QgaXNtZCkKKyAgICAgICAgICAgICAgICBhc3NlcnQgKG5vdCBp c3BrKQorICAgICAgICAgICAgICAgIGFzc2VydCAobm90IGlzY2lwaGVyKQorICAgICAgICAgICAg ICAgIGFzc2VydCAobm90IGlzY3J5cHRvc3RhcnQpCisgICAgICAgICAgICAgICAgbGluZSA9IHJl bW92ZXByZWZpeChsaW5lLCAiICBjb25zdCAiKQorICAgICAgICAgICAgICAgIGlzbWQgPSBUcnVl CisgICAgICAgICAgICAgICAgaXNtZGRlZmluZSA9IFRydWUKKyAgICAgICAgICAgICAgICBtZG5h bWUgPSAiX2djcnlfZGlnZXN0X3NwZWNfYmxha2UyIgogICAgICAgICAgICAgICAgIG1kYXJnID0g MAogICAgICAgICAgICAgICAgIGlzY3J5cHRvc3RhcnQgPSBUcnVlCiAgICAgICAgICAgICBtID0g cmUubWF0Y2ggKHIic3RhdGljIGNvbnN0IGNoYXIgXCpzZWxmdGVzdC4qOyQiLCBsaW5lKQotLSAK Mi40OS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K R3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMu Z251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK