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 5729CC369B9 for ; Tue, 15 Apr 2025 23:02:13 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u4pHU-00070J-FT; Tue, 15 Apr 2025 19:01:28 -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 1u4pFr-0005ON-HA for grub-devel@gnu.org; Tue, 15 Apr 2025 18:59:52 -0400 Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u4pFp-0007uJ-D3 for grub-devel@gnu.org; Tue, 15 Apr 2025 18:59:47 -0400 Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-5499c5d9691so6543405e87.2 for ; Tue, 15 Apr 2025 15:59:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744757983; x=1745362783; 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=Oa3jMFagjL46npIVvBjgwVNa6E269RSQ+4WlrdpeQVo=; b=J5AnABn9PrZYPPRjRnJ2OMe7nBm0bKIqvOVxRXGfQOZkZlDCAeXJqoDna4Bk/sm8jV /6aVtrjOlLwS4JIg1NML7qGM7DyHg/FJXm0ZTmomwHF7oVjjJIW0EmRUzjML896qoV62 9gPjPCvjlcnfbv+yfbCksG6HY2ZJMOnXpC0NFQYFO4EPg8x/GKNYLH6lCDj2S7R0TV3H s3R2Uswdo4HqDORAydL3ZXIdjVDB2SpvCK8CZKqEGS1B+gEyg2IMs12EquYDVusiI/vg rIyRuPElyfE7bIhhA51+qMMCfSG5bhQb7tN7ypAF4UxJ4VmTQMS0QX3LF/vyLwfHHvg+ GI5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744757983; x=1745362783; 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=Oa3jMFagjL46npIVvBjgwVNa6E269RSQ+4WlrdpeQVo=; b=dxqJt7nUpU/u+BZRCNQD5i3cM18OyTstJJX6XG405/MsjM7pfapG++WskfG7LnGeyu /Ym/MOs63BQJnFr5gFplIIbQ1VGWLDFxTLNqEwxx2B2axx3JN9DMbnLORzWYHfUNLFai KZ81f/YX/xdTdVIZXkCYUnON1Epqu2L+vitL9cPuLdwLSzr4Xvjg60IElyUPJ6VHrrcv BjiXSZFNEkOLbMAtcXveFMBTW/cHBOaumItZXxOPVQyTG2qU0LoQsXEQqgSmUThQZnYR HuP//Aa26nj9Sgacx8HZZXXfuelKzp89WL7UNmPt5c1C5+CgL+MGCgs+pkX96Sw2cnaJ fm9A== X-Gm-Message-State: AOJu0YzHkQSL+9yPvQhX0txbHCXp8FaDJHZTZ602V0m94ySQtexVjaW2 AIad+nzOMwg2PM70lvAAxcTelrNiZb8EwlAh0ouLMlG06TLYAlfQ6FJ9shB5 X-Gm-Gg: ASbGncujSqUTeGU4W7AXA8hGaMmvhxwCK7ozmoywFfvz/FP/wbn79f8aQgHwm+UuOan K0uwZQuCU3QzcSMtyhcziDskNQI3G6fh2uHWUAP/CcS2zkMxTo1YR/tkMLItMYWe5qD765beqrK LuEucT1LZLqGI99NHt2z8FjpQbxODoLbG+XJRh57HAMkmkz4neh3IA/rP9X6Wx0fWPu4LOx/7mJ Ja86oGn9vs6tp97uQrhj9lhYAYQU1yAMK49/7V28OOwWopgmRsWqrRGCh6wrVOjgDBrgVAYaupn JucePOitEoLEpRKPiirkQq9Zz5oCNA+vd4xhL+Bp94zoF+LFL1VNdP0= X-Google-Smtp-Source: AGHT+IFE7humuV7N+lQdL6iyeH48nS8N7GhkDxKAqg4DrtIEjbfK2TdN8p6qnqRgb18DWc/W3rLskQ== X-Received: by 2002:a05:651c:1616:b0:30b:b908:ce1e with SMTP id 38308e7fff4ca-3107c3570a4mr2269991fa.29.1744757983073; Tue, 15 Apr 2025 15:59:43 -0700 (PDT) Received: from localhost (vds2213055.my-ihor.ru. [94.142.141.192]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-30f465d5157sm22013121fa.82.2025.04.15.15.59.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Apr 2025 15:59:42 -0700 (PDT) From: Vladimir Serbinenko To: grub-devel@gnu.org Cc: Vladimir Serbinenko Subject: [PATCH v12 10/13] libgcrypt: Import blake family of hashes Date: Tue, 15 Apr 2025 22:57:05 +0000 Message-ID: <20250415225914.361036-11-phcoder@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250415225914.361036-1-phcoder@gmail.com> References: <20250415225914.361036-1-phcoder@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::12c; envelope-from=phcoder@gmail.com; helo=mail-lf1-x12c.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 ICAgICAgIHwgIDYgKysKIHV0aWwvaW1wb3J0X2djcnkucHkgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IDM2ICsrKysrKystLQogMyBmaWxlcyBjaGFuZ2VkLCAxMTUgaW5zZXJ0aW9ucygrKSwg NyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBncnViLWNvcmUvbGliL2xpYmdjcnlw dC1wYXRjaGVzLzA2X2JsYWtlLnBhdGNoCgpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2xpYi9saWJn Y3J5cHQtcGF0Y2hlcy8wNl9ibGFrZS5wYXRjaCBiL2dydWItY29yZS9saWIvbGliZ2NyeXB0LXBh dGNoZXMvMDZfYmxha2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li4xOTU0M2RjODcKLS0tIC9kZXYvbnVsbAorKysgYi9ncnViLWNvcmUvbGliL2xpYmdjcnlwdC1w YXRjaGVzLzA2X2JsYWtlLnBhdGNoCkBAIC0wLDAgKzEsODAgQEAKKy0tLSBhL2dydWItY29yZS9s aWIvbGliZ2NyeXB0LWdydWIvY2lwaGVyL2JsYWtlMi5jCisrKysgYi9ncnViLWNvcmUvbGliL2xp YmdjcnlwdC1ncnViL2NpcGhlci9ibGFrZTIuYworQEAgLTc4NCw2OCArNzg0LDYgQEAKKyAgIHJl dHVybiBibGFrZTJzX2luaXQoYywga2V5LCBrZXlsZW4pOworIH0KKyAKKy0vKiBTZWxmdGVzdHMg ZnJvbSAiUkZDIDc2OTMsIEFwcGVuZGl4IEUuIEJMQUtFMmIgYW5kIEJMQUtFMnMgU2VsZi1UZXN0 CistICogTW9kdWxlIEMgU291cmNlIi4gKi8KKy1zdGF0aWMgdm9pZCBzZWxmdGVzdF9zZXEoYnl0 ZSAqb3V0LCBzaXplX3QgbGVuLCB1MzIgc2VlZCkKKy17CistICBzaXplX3QgaTsKKy0gIHUzMiB0 LCBhLCBiOworLQorLSAgYSA9IDB4REVBRDRCQUQgKiBzZWVkOworLSAgYiA9IDE7CistCistICBm b3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCistICAgIHsKKy0gICAgICB0ID0gYSArIGI7CistICAg ICAgYSA9IGI7CistICAgICAgYiA9IHQ7CistICAgICAgb3V0W2ldID0gKHQgPj4gMjQpICYgMHhG RjsKKy0gICAgfQorLX0KKy0KKy0KKy0KKy0KKy1nY3J5X2Vycl9jb2RlX3QgX2djcnlfYmxha2Uy X2luaXRfd2l0aF9rZXkodm9pZCAqY3R4LCB1bnNpZ25lZCBpbnQgZmxhZ3MsCistCQkJCQkgICBj b25zdCB1bnNpZ25lZCBjaGFyICprZXksCistCQkJCQkgICBzaXplX3Qga2V5bGVuLCBpbnQgYWxn bykKKy17CistICBnY3J5X2Vycl9jb2RlX3QgcmM7CistICBzd2l0Y2ggKGFsZ28pCistICAgIHsK Ky0gICAgY2FzZSBHQ1JZX01EX0JMQUtFMkJfNTEyOgorLSAgICAgIHJjID0gYmxha2UyYl9pbml0 X2N0eCAoY3R4LCBmbGFncywga2V5LCBrZXlsZW4sIDUxMik7CistICAgICAgYnJlYWs7CistICAg IGNhc2UgR0NSWV9NRF9CTEFLRTJCXzM4NDoKKy0gICAgICByYyA9IGJsYWtlMmJfaW5pdF9jdHgg KGN0eCwgZmxhZ3MsIGtleSwga2V5bGVuLCAzODQpOworLSAgICAgIGJyZWFrOworLSAgICBjYXNl IEdDUllfTURfQkxBS0UyQl8yNTY6CistICAgICAgcmMgPSBibGFrZTJiX2luaXRfY3R4IChjdHgs IGZsYWdzLCBrZXksIGtleWxlbiwgMjU2KTsKKy0gICAgICBicmVhazsKKy0gICAgY2FzZSBHQ1JZ X01EX0JMQUtFMkJfMTYwOgorLSAgICAgIHJjID0gYmxha2UyYl9pbml0X2N0eCAoY3R4LCBmbGFn cywga2V5LCBrZXlsZW4sIDE2MCk7CistICAgICAgYnJlYWs7CistICAgIGNhc2UgR0NSWV9NRF9C TEFLRTJTXzI1NjoKKy0gICAgICByYyA9IGJsYWtlMnNfaW5pdF9jdHggKGN0eCwgZmxhZ3MsIGtl eSwga2V5bGVuLCAyNTYpOworLSAgICAgIGJyZWFrOworLSAgICBjYXNlIEdDUllfTURfQkxBS0Uy U18yMjQ6CistICAgICAgcmMgPSBibGFrZTJzX2luaXRfY3R4IChjdHgsIGZsYWdzLCBrZXksIGtl eWxlbiwgMjI0KTsKKy0gICAgICBicmVhazsKKy0gICAgY2FzZSBHQ1JZX01EX0JMQUtFMlNfMTYw OgorLSAgICAgIHJjID0gYmxha2Uyc19pbml0X2N0eCAoY3R4LCBmbGFncywga2V5LCBrZXlsZW4s IDE2MCk7CistICAgICAgYnJlYWs7CistICAgIGNhc2UgR0NSWV9NRF9CTEFLRTJTXzEyODoKKy0g ICAgICByYyA9IGJsYWtlMnNfaW5pdF9jdHggKGN0eCwgZmxhZ3MsIGtleSwga2V5bGVuLCAxMjgp OworLSAgICAgIGJyZWFrOworLSAgICBkZWZhdWx0OgorLSAgICAgIHJjID0gR1BHX0VSUl9ESUdF U1RfQUxHTzsKKy0gICAgICBicmVhazsKKy0gICAgfQorLQorLSAgcmV0dXJuIHJjOworLX0KKy0K Ky0KKyAjZGVmaW5lIERFRklORV9CTEFLRTJfVkFSSUFOVChicywgQlMsIGRiaXRzLCBvaWRfYnJh bmNoKSBcCisgICBzdGF0aWMgdm9pZCBibGFrZTIjI2JzIyNfIyNkYml0cyMjX2luaXQodm9pZCAq Y3R4LCB1bnNpZ25lZCBpbnQgZmxhZ3MpIFwKKyAgIHsgXAorQEAgLTg3OSw3ICs4MTcsNyBAQAor ICAgICAgIGRiaXRzIC8gOCwgYmxha2UyIyNicyMjXyMjZGJpdHMjI19pbml0LCBibGFrZTIjI2Jz IyNfd3JpdGUsIFwKKyAgICAgICBibGFrZTIjI2JzIyNfZmluYWwsIGJsYWtlMiMjYnMjI19yZWFk LCBOVUxMLCBcCisgICAgICAgX2djcnlfYmxha2UyIyNicyMjXyMjZGJpdHMjI19oYXNoX2J1ZmZl cnMsIFwKKy0gICAgICBzaXplb2YgKEJMQUtFMiMjQlMjI19DT05URVhUKSwgc2VsZnRlc3RzX2Js YWtlMiMjYnMgXAorKyAgICAgIHNpemVvZiAoQkxBS0UyIyNCUyMjX0NPTlRFWFQpIFwKKyAgICAg LCBcCisgICAgIEdSVUJfVVRJTF9NT0ROQU1FKCJnY3J5X2JsYWtlMiIpIFwKKyAgICAgLmJsb2Nr c2l6ZSA9IEdSVUJfQkxBS0UyICMjIEJTICMjIF9CTE9DS19TSVpFIFwKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZ3J1Yi9jcnlwdG8uaCBiL2luY2x1ZGUvZ3J1Yi9jcnlwdG8uaAppbmRleCAyNWIxMTg4 OTguLjRmMTVhNzgxOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ncnViL2NyeXB0by5oCisrKyBiL2lu Y2x1ZGUvZ3J1Yi9jcnlwdG8uaApAQCAtNTg2LDggKzU4NiwxNCBAQCB2b2lkIGdydWJfZ2NyeV9m aW5pX2FsbCAodm9pZCk7CiBpbnQKIGdydWJfZ2V0X3JhbmRvbSAodm9pZCAqb3V0LCBncnViX3Np emVfdCBsZW4pOwogCisjZGVmaW5lIEdSVUJfVVRJTF9NT0ROQU1FKHgpIC5tb2RuYW1lID0geCwK KyNlbHNlCisjZGVmaW5lIEdSVUJfVVRJTF9NT0ROQU1FKHgpCiAjZW5kaWYKIAorI2RlZmluZSBH UlVCX0JMQUtFMkJfQkxPQ0tfU0laRSAxMjgKKyNkZWZpbmUgR1JVQl9CTEFLRTJTX0JMT0NLX1NJ WkUgNjQKKwogdHlwZWRlZiBzdHJ1Y3QgX2dwZ3J0X2I2NHN0YXRlICpncGdydF9iNjRzdGF0ZV90 OwogZ3BncnRfYjY0c3RhdGVfdCBncGdydF9iNjRkZWNfc3RhcnQgKGNvbnN0IGNoYXIgKnRpdGxl KTsKIGdwZ19lcnJvcl90ICAgICAgZ3BncnRfYjY0ZGVjX3Byb2MgKGdwZ3J0X2I2NHN0YXRlX3Qg c3RhdGUsCmRpZmYgLS1naXQgYS91dGlsL2ltcG9ydF9nY3J5LnB5IGIvdXRpbC9pbXBvcnRfZ2Ny eS5weQppbmRleCBhNDQxMWVjYjkuLmI2ZGRkZTljZCAxMDA2NDQKLS0tIGEvdXRpbC9pbXBvcnRf Z2NyeS5weQorKysgYi91dGlsL2ltcG9ydF9nY3J5LnB5CkBAIC0xMjAsNyArMTIwLDggQEAgbWRi bG9ja3NpemVzID0geyJfZ2NyeV9kaWdlc3Rfc3BlY19jcmMzMiIgOiA2NCwKICAgICAgICAgICAg ICAgICAiX2djcnlfZGlnZXN0X3NwZWNfZ29zdDM0MTFfOTQiOiAzMiwKICAgICAgICAgICAgICAg ICAiX2djcnlfZGlnZXN0X3NwZWNfZ29zdDM0MTFfY3AiOiAzMiwKICAgICAgICAgICAgICAgICAi X2djcnlfZGlnZXN0X3NwZWNfY3NoYWtlMTI4IjogNjQsCi0gICAgICAgICAgICAgICAgIl9nY3J5 X2RpZ2VzdF9zcGVjX2NzaGFrZTI1NiI6IDY0fQorICAgICAgICAgICAgICAgICJfZ2NyeV9kaWdl c3Rfc3BlY19jc2hha2UyNTYiOiA2NCwKKyAgICAgICAgICAgICAgICAiX2djcnlfZGlnZXN0X3Nw ZWNfYmxha2UyIjogIkdSVUJfQkxBS0UyICMjIEJTICMjIF9CTE9DS19TSVpFIn0KIAogY3J5cHRv bGlzdCA9IGNvZGVjcy5vcGVuIChvcy5wYXRoLmpvaW4gKGNpcGhlcl9kaXJfb3V0LCAiY3J5cHRv LmxzdCIpLCAidyIsICJ1dGYtOCIpCiAKQEAgLTIwOSw2ICsyMTAsNyBAQCBmb3IgY2lwaGVyX2Zp bGUgaW4gY2lwaGVyX2ZpbGVzOgogICAgICAgICBza2lwID0gMAogICAgICAgICBza2lwMiA9IEZh bHNlCiAgICAgICAgIGlzbWQgPSBGYWxzZQorICAgICAgICBpc21kZGVmaW5lID0gRmFsc2UKICAg ICAgICAgbWRhcmcgPSAwCiAgICAgICAgIGlzcGsgPSBGYWxzZQogICAgICAgICBpc2NpcGhlciA9 IEZhbHNlCkBAIC0yNDUsMTkgKzI0NywxOSBAQCBmb3IgY2lwaGVyX2ZpbGUgaW4gY2lwaGVyX2Zp bGVzOgogICAgICAgICAgICAgICAgIG1kYXJnID0gbWRhcmcgKyBsZW4gKHNwbCkgLSAxCiAgICAg ICAgICAgICBpZiBpc21kIG9yIGlzY2lwaGVyIG9yIGlzcGs6CiAgICAgICAgICAgICAgICAgaWYg bm90IHJlLnNlYXJjaCAoIiAqfTsiLCBsaW5lKSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAg ICBlc2NhcGVubCA9ICIgXFwiIGlmIGlzbWRkZWZpbmUgZWxzZSAiIgogICAgICAgICAgICAgICAg ICAgICBpZiBub3QgaXNjb21tYToKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ3LndyaXRlICgi ICAgICxcbiIpCi0gICAgICAgICAgICAgICAgICAgIGZ3LndyaXRlICgiI2lmZGVmIEdSVUJfVVRJ TFxuIik7Ci0gICAgICAgICAgICAgICAgICAgIGZ3LndyaXRlICgiICAgIC5tb2RuYW1lID0gXCIl c1wiLFxuIiAlIG1vZG5hbWUpOwotICAgICAgICAgICAgICAgICAgICBmdy53cml0ZSAoIiNlbmRp ZlxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBmdy53cml0ZSAoZiIgICAgLHtlc2NhcGVu bH1cbiIpCisgICAgICAgICAgICAgICAgICAgIGZ3LndyaXRlIChmIiAgICBHUlVCX1VUSUxfTU9E TkFNRShcIiVzXCIpe2VzY2FwZW5sfVxuIiAlIG1vZG5hbWUpOwogICAgICAgICAgICAgICAgICAg ICBpZiBpc21kOgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IChtZG5hbWUgaW4gbWRi bG9ja3NpemVzKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCAoIkVSUk9SOiBV bmtub3duIGRpZ2VzdCBibG9ja3NpemU6ICVzXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICUgbWRuYW1lKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4aXQgKDEp Ci0gICAgICAgICAgICAgICAgICAgICAgICBmdy53cml0ZSAoIiAgICAuYmxvY2tzaXplID0gJXNc biIKKyAgICAgICAgICAgICAgICAgICAgICAgIGZ3LndyaXRlIChmIiAgICAuYmxvY2tzaXplID0g JXN7ZXNjYXBlbmx9XG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBtZGJs b2Nrc2l6ZXMgW21kbmFtZV0pCiAgICAgICAgICAgICAgICAgICAgIGlzbWQgPSBGYWxzZQorICAg ICAgICAgICAgICAgICAgICBpc21kZGVmaW5lID0gRmFsc2UKICAgICAgICAgICAgICAgICAgICAg bWRhcmcgPSAwCiAgICAgICAgICAgICAgICAgICAgIGlzY2lwaGVyID0gRmFsc2UKICAgICAgICAg ICAgICAgICAgICAgaXNwayA9IEZhbHNlCkBAIC0yODEsNyArMjgzLDcgQEAgZm9yIGNpcGhlcl9m aWxlIGluIGNpcGhlcl9maWxlczoKICAgICAgICAgICAgICAgICBob2xkID0gRmFsc2UKICAgICAg ICAgICAgICAgICAjIFdlJ3JlIG9wdGltaXNpbmcgZm9yIHNpemUgYW5kIGV4Y2x1ZGUgYW55dGhp bmcgbmVlZGluZyBnb29kCiAgICAgICAgICAgICAgICAgIyByYW5kb21uZXNzLgotICAgICAgICAg ICAgICAgIGlmIHJlLm1hdGNoICgiKF9nY3J5X2hhc2hfc2VsZnRlc3RfY2hlY2tfb25lfGJ1bGtf c2VsZnRlc3Rfc2V0a2V5fHJ1bl9zZWxmdGVzdHN8ZG9fdHJpcGxlZGVzX3NldF9leHRyYV9pbmZv fHNlbGZ0ZXN0fHNtNF9zZWxmdGVzdHxfZ2NyeV9bYS16MC05X10qX2hhc2hfYnVmZmVyc3xfZ2Ny eV9zaGExX2hhc2hfYnVmZmVyfHRyaXBsZWRlc19zZXQya2V5c3xfZ2NyeV9ybWQxNjBfbWl4Ymxv Y2t8c2VycGVudF90ZXN0fGRzYV9nZW5lcmF0ZV9leHR8dGVzdF9rZXlzfGdlbl9rfHNpZ258Z2Vu X3g5MzFfcGFybV94cHxnZW5lcmF0ZV94OTMxfGdlbmVyYXRlX2tleXxkc2FfZ2VuZXJhdGV8ZHNh X3NpZ258ZWNjX3NpZ258Z2VuZXJhdGV8Z2VuZXJhdGVfZmlwczE4NnxfZ2NyeV9yZWdpc3Rlcl9w a19kc2FfcHJvZ3Jlc3N8X2djcnlfcmVnaXN0ZXJfcGtfZWNjX3Byb2dyZXNzfHByb2dyZXNzfHNj YW52YWx8ZWMyb3N8ZWNjX2dlbmVyYXRlX2V4dHxlY2NfZ2VuZXJhdGV8ZWNjX2dldF9wYXJhbXxf Z2NyeV9yZWdpc3Rlcl9wa19kc2FfcHJvZ3Jlc3N8Z2VuX3g5MzFfcGFybV94cHxnZW5feDkzMV9w YXJtX3hpfHJzYV9kZWNyeXB0fHJzYV9zaWdufHJzYV9nZW5lcmF0ZV9leHR8cnNhX2dlbmVyYXRl fHNlY3JldHxjaGVja19leHBvbmVudHxyc2FfYmxpbmR8cnNhX3VuYmxpbmR8ZXh0cmFjdF9hX2Zy b21fc2V4cHxjdXJ2ZV9mcmVlfGN1cnZlX2NvcHl8cG9pbnRfc2V0fF9nY3J5X2RzYV9nZW5fcmZj Njk3OV9rfGJpdHMyb2N0ZXRzfGludDJvY3RldHN8X2djcnlfbWRfZGVidWd8X2djcnlfbWRfc2Vs ZnRlc3R8X2djcnlfbWRfaXNfZW5hYmxlZHxfZ2NyeV9tZF9pc19zZWN1cmV8X2djcnlfbWRfaW5p dHxfZ2NyeV9tZF9pbmZvfG1kX2dldF9hbGdvfG1kX2V4dHJhY3R8X2djcnlfbWRfZ2V0IHxfZ2Ny eV9tZF9nZXRfYWxnbyB8X2djcnlfbWRfZXh0cmFjdHxfZ2NyeV9tZF9zZXRrZXl8bWRfc2V0a2V5 fHByZXBhcmVfbWFjcGFkc3xfZ2NyeV9tZF9hbGdvX25hbWV8c2VhcmNoX29pZHxzcGVjX2Zyb21f b2lkfHNwZWNfZnJvbV9uYW1lfHNwZWNfZnJvbV9hbGdvfG1hcF9hbGdvfGNzaGFrZV9oYXNoX2J1 ZmZlcnMpIiwgbGluZSkgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgaWYgcmUubWF0Y2gg KCIoX2djcnlfaGFzaF9zZWxmdGVzdF9jaGVja19vbmV8YnVsa19zZWxmdGVzdF9zZXRrZXl8cnVu X3NlbGZ0ZXN0c3xkb190cmlwbGVkZXNfc2V0X2V4dHJhX2luZm98c2VsZnRlc3R8c200X3NlbGZ0 ZXN0fF9nY3J5X1thLXowLTlfXSpfaGFzaF9idWZmZXJzfF9nY3J5X3NoYTFfaGFzaF9idWZmZXJ8 dHJpcGxlZGVzX3NldDJrZXlzfF9nY3J5X3JtZDE2MF9taXhibG9ja3xzZXJwZW50X3Rlc3R8ZHNh X2dlbmVyYXRlX2V4dHx0ZXN0X2tleXN8Z2VuX2t8c2lnbnxnZW5feDkzMV9wYXJtX3hwfGdlbmVy YXRlX3g5MzF8Z2VuZXJhdGVfa2V5fGRzYV9nZW5lcmF0ZXxkc2Ffc2lnbnxlY2Nfc2lnbnxnZW5l cmF0ZXxnZW5lcmF0ZV9maXBzMTg2fF9nY3J5X3JlZ2lzdGVyX3BrX2RzYV9wcm9ncmVzc3xfZ2Ny eV9yZWdpc3Rlcl9wa19lY2NfcHJvZ3Jlc3N8cHJvZ3Jlc3N8c2NhbnZhbHxlYzJvc3xlY2NfZ2Vu ZXJhdGVfZXh0fGVjY19nZW5lcmF0ZXxlY2NfZ2V0X3BhcmFtfF9nY3J5X3JlZ2lzdGVyX3BrX2Rz YV9wcm9ncmVzc3xnZW5feDkzMV9wYXJtX3hwfGdlbl94OTMxX3Bhcm1feGl8cnNhX2RlY3J5cHR8 cnNhX3NpZ258cnNhX2dlbmVyYXRlX2V4dHxyc2FfZ2VuZXJhdGV8c2VjcmV0fGNoZWNrX2V4cG9u ZW50fHJzYV9ibGluZHxyc2FfdW5ibGluZHxleHRyYWN0X2FfZnJvbV9zZXhwfGN1cnZlX2ZyZWV8 Y3VydmVfY29weXxwb2ludF9zZXR8X2djcnlfZHNhX2dlbl9yZmM2OTc5X2t8Yml0czJvY3RldHN8 aW50Mm9jdGV0c3xfZ2NyeV9tZF9kZWJ1Z3xfZ2NyeV9tZF9zZWxmdGVzdHxfZ2NyeV9tZF9pc19l bmFibGVkfF9nY3J5X21kX2lzX3NlY3VyZXxfZ2NyeV9tZF9pbml0fF9nY3J5X21kX2luZm98bWRf Z2V0X2FsZ298bWRfZXh0cmFjdHxfZ2NyeV9tZF9nZXQgfF9nY3J5X21kX2dldF9hbGdvIHxfZ2Ny eV9tZF9leHRyYWN0fF9nY3J5X21kX3NldGtleXxtZF9zZXRrZXl8cHJlcGFyZV9tYWNwYWRzfF9n Y3J5X21kX2FsZ29fbmFtZXxzZWFyY2hfb2lkfHNwZWNfZnJvbV9vaWR8c3BlY19mcm9tX25hbWV8 c3BlY19mcm9tX2FsZ298bWFwX2FsZ298Y3NoYWtlX2hhc2hfYnVmZmVyc3xibGFrZTJiX3ZsX2hh c2h8c2VsZnRlc3Rfc2VxKSIsIGxpbmUpIGlzIG5vdCBOb25lOgogCiAgICAgICAgICAgICAgICAg ICAgIHNraXAgPSAxCiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCByZS5tYXRjaCAoInNlbGZ0 ZXN0IiwgbGluZSkgaXMgTm9uZSBhbmQgY2lwaGVyX2ZpbGUgPT0gImlkZWEuYyI6CkBAIC0zNTUs NiArMzU3LDEzIEBAIGZvciBjaXBoZXJfZmlsZSBpbiBjaXBoZXJfZmlsZXM6CiAgICAgICAgICAg ICAgICAgaXNwayA9IFRydWUKICAgICAgICAgICAgICAgICBpc2NyeXB0b3N0YXJ0ID0gVHJ1ZQog CisgICAgICAgICAgICBtID0gcmUubWF0Y2ggKHIiREVGSU5FX0JMQUtFMl9WQVJJQU5UXCgoLiks ICguKSwgKFswLTldKikiLCBsaW5lKQorICAgICAgICAgICAgaWYgaXNjIGFuZCBub3QgbSBpcyBO b25lOgorICAgICAgICAgICAgICAgIGJzID0gbS5ncm91cHMoKVswXQorICAgICAgICAgICAgICAg IGJpdHMgPSBtLmdyb3VwcygpWzJdCisgICAgICAgICAgICAgICAgbWRuYW1lID0gZiJfZ2NyeV9k aWdlc3Rfc3BlY19ibGFrZTJ7YnN9X3tiaXRzfSIKKyAgICAgICAgICAgICAgICBtZG5hbWVzLmFw cGVuZCAobWRuYW1lKQorCiAgICAgICAgICAgICBtID0gcmUubWF0Y2ggKCIoY29uc3QgKT9nY3J5 X21kX3NwZWNfdCIsIGxpbmUpCiAgICAgICAgICAgICBpZiBpc2MgYW5kIG5vdCBtIGlzIE5vbmU6 CiAgICAgICAgICAgICAgICAgYXNzZXJ0IChub3QgaXNtZCkKQEAgLTM2Niw2ICszNzUsMTkgQEAg Zm9yIGNpcGhlcl9maWxlIGluIGNpcGhlcl9maWxlczoKICAgICAgICAgICAgICAgICBtZG5hbWUg PSByZS5tYXRjaCgiW2EtekEtWjAtOV9dKiIsbWRuYW1lKS5ncm91cCAoKQogICAgICAgICAgICAg ICAgIG1kbmFtZXMuYXBwZW5kIChtZG5hbWUpCiAgICAgICAgICAgICAgICAgaXNtZCA9IFRydWUK KyAgICAgICAgICAgICAgICBpc21kZGVmaW5lID0gRmFsc2UKKyAgICAgICAgICAgICAgICBtZGFy ZyA9IDAKKyAgICAgICAgICAgICAgICBpc2NyeXB0b3N0YXJ0ID0gVHJ1ZQorICAgICAgICAgICAg bSA9IHJlLm1hdGNoICgiICAoY29uc3QgKT9nY3J5X21kX3NwZWNfdCBfZ2NyeV9kaWdlc3Rfc3Bl Y19ibGFrZTIuKlxcXFwiLCBsaW5lKQorICAgICAgICAgICAgaWYgaXNjIGFuZCBub3QgbSBpcyBO b25lOgorICAgICAgICAgICAgICAgIGFzc2VydCAobm90IGlzbWQpCisgICAgICAgICAgICAgICAg YXNzZXJ0IChub3QgaXNwaykKKyAgICAgICAgICAgICAgICBhc3NlcnQgKG5vdCBpc2NpcGhlcikK KyAgICAgICAgICAgICAgICBhc3NlcnQgKG5vdCBpc2NyeXB0b3N0YXJ0KQorICAgICAgICAgICAg ICAgIGxpbmUgPSByZW1vdmVwcmVmaXgobGluZSwgIiAgY29uc3QgIikKKyAgICAgICAgICAgICAg ICBpc21kID0gVHJ1ZQorICAgICAgICAgICAgICAgIGlzbWRkZWZpbmUgPSBUcnVlCisgICAgICAg ICAgICAgICAgbWRuYW1lID0gIl9nY3J5X2RpZ2VzdF9zcGVjX2JsYWtlMiIKICAgICAgICAgICAg ICAgICBtZGFyZyA9IDAKICAgICAgICAgICAgICAgICBpc2NyeXB0b3N0YXJ0ID0gVHJ1ZQogICAg ICAgICAgICAgbSA9IHJlLm1hdGNoIChyInN0YXRpYyBjb25zdCBjaGFyIFwqc2VsZnRlc3QuKjsk IiwgbGluZSkKLS0gCjIuNDkuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkdydWItZGV2ZWwgbWFpbGluZyBsaXN0CkdydWItZGV2ZWxAZ251Lm9yZwpo dHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9ncnViLWRldmVsCg==