From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pve-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 7F5301FF16E for <inbox@lore.proxmox.com>; Mon, 31 Mar 2025 16:00:43 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id A9DB17A12; Mon, 31 Mar 2025 16:00:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1743429594; x=1744034394; d=canarybit.eu; s=rsa2; h=content-transfer-encoding:content-type:mime-version:references:in-reply-to: message-id:date:subject:cc:to:from:from; bh=oLo1iIXl4jnoPmWButaBTGYYvMCl9HPgQPJghgaaGHw=; b=RUJeiAYt4m2jRM/qZKHvyWVU7ziOKXZuNL9MFCjOC8QVSX0Rn1hdrR6QeSZig4XkU5abVupoYEgmp i8qWqKM+nXQJaNSlP582ZjI7BBx7E1OavV7ShTnNKTxIAgBQhFHbpXimLNgIGNkRyZfAlc5VjYSFS3 9Y/JQDlaBMwffUTjzSmFK95U/Vj2j+lsGVUpWB3qXPqjxRKOMI5/Ur1RyvYQ9Zp8KOqLrBgR1E5CWQ DmfI++Er3QbVsJZgQMzdJj61FGVp+6C6U4aD5FXDyHH1k8QbeIiHjEOmkRUPwkMoTDRiUJGqXncv1v ZMV5nQcwpMLofBsdPdajfM2mIRemQug== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1743429594; x=1744034394; d=canarybit.eu; s=ed2; h=content-transfer-encoding:content-type:mime-version:references:in-reply-to: message-id:date:subject:cc:to:from:from; bh=oLo1iIXl4jnoPmWButaBTGYYvMCl9HPgQPJghgaaGHw=; b=eaNsXlbjcW1srDKbSaExUp9CT3SII5YzNDeBayxTQgcZ9XiICESC88/F8DUQqd83URwXJUDrfXlwP /mWGmu6Cg== X-HalOne-ID: 6abad9c8-0e38-11f0-bd49-2b8368a4d5c5 From: Philipp Giersfeld <philipp.giersfeld@canarybit.eu> To: pve-devel@lists.proxmox.com Date: Mon, 31 Mar 2025 15:59:30 +0200 Message-Id: <20250331135931.50568-4-philipp.giersfeld@canarybit.eu> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250331135931.50568-1-philipp.giersfeld@canarybit.eu> References: <20250331135931.50568-1-philipp.giersfeld@canarybit.eu> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.122 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_MISSING 0.1 Missing DMARC policy KAM_SHORT 0.001 Use of a URL Shortener for very short URL RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_NONE 0.001 SPF: sender does not publish an SPF Record Subject: [pve-devel] [PATCH qemu-server v5 3/4] config: add AMD SEV-SNP support. X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/> List-Post: <mailto:pve-devel@lists.proxmox.com> List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com> VGhpcyBwYXRjaCBpcyBmb3IgZW5hYmxpbmcgQU1EIFNFVi1TTlAgc3VwcG9ydC4KCldoZXJlIGFw cGxpY2FibGUsIGl0IGV4dGVuZHMgc3VwcG9ydCBmb3IgZXhpc3RpbmcgU0VWKC1FUykgdmFyaWFi bGVzCnRvIFNFVi1TTlAuIFRoaXMgbWVhbnMgdGhhdCBpdCByZXRhaW5zIG5vLWRlYnVnIGFuZCBr ZXJuZWwtaGFzaGVzCm9wdGlvbnMsIGJ1dCB0aGUgbm8ta2V5LXNoYXJpbmcgb3B0aW9uIGlzIHJl bW92ZWQuCgpUaGUgZGVmYXVsdCBwb2xpY3kgdmFsdWUgaXMgaWRlbnRpY2FsIHRvIFFFTVXigJlz LCBhbmQgdGhlIHRoZXJlZm9yZQpyZXF1aXJlZCBvcHRpb24gaGFzIGJlZW4gYWRkZWQgdG8gY29u ZmlndXJlIFNNVCBzdXBwb3J0LgoKVGhlIGNvZGUgd2FzIHRlc3RlZCBieSBydW5uaW5nIGEgVk0g d2l0aG91dCBTRVYsIHdpdGggU0VWLCBTRVYtRVMsClNFVi1TTlAuIEVhY2ggY29uZmlndXJhdGlv biB3YXMgdGVzdGVkIHdpdGggYW5kIHdpdGhvdXQgYW4gRUZJIGRpc2sKYXR0YWNoZWQuIEZvciBT RVYtZW5hYmxlZCBjb25maWd1cmF0aW9ucyBpdCB3YXMgYWxzbyB2ZXJpZmllZCB0aGF0IHRoZQpr ZXJuZWwgYWN0dWFsbHkgdXNlZCB0aGUgcmVzcGVjdGl2ZSBmZWF0dXJlLgoKU2lnbmVkLW9mZi1i eTogUGhpbGlwcCBHaWVyc2ZlbGQgPHBoaWxpcHAuZ2llcnNmZWxkQGNhbmFyeWJpdC5ldT4KVGVz dGVkLWJ5OiBNYXJrdXMgRnJhbmsgPG0uZnJhbmtAcHJveG1veC5jb20+Ci0tLQogIAogbm8gY2hh bmdlcyBzaW5jZSBsYXN0IHZlcnNpb24KCiBQVkUvQVBJMi9RZW11LnBtICAgICAgICAgICAgfCAg NyArKystCiBQVkUvUWVtdVNlcnZlci5wbSAgICAgICAgICAgfCA1MiArKysrKysrKysrKysrKysr KysrKystLS0tLS0tLQogUFZFL1FlbXVTZXJ2ZXIvQ1BVQ29uZmlnLnBtIHwgNjYgKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRp b25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9QVkUvQVBJMi9RZW11LnBtIGIv UFZFL0FQSTIvUWVtdS5wbQppbmRleCAyOTUyNjBlNy4uZWYzYWE4ZDYgMTAwNjQ0Ci0tLSBhL1BW RS9BUEkyL1FlbXUucG0KKysrIGIvUFZFL0FQSTIvUWVtdS5wbQpAQCAtNTQ4LDggKzU0OCwxMyBA QCBteSBzdWIgY3JlYXRlX2Rpc2tzIDogcHJvdG90eXBlKCQkJCQkJCQkJCQkKSB7CiAJCW15ICR2 b2xpZDsKIAkJaWYgKCRkcyBlcSAnZWZpZGlzazAnKSB7CiAJCSAgICBteSAkc21tID0gUFZFOjpR ZW11U2VydmVyOjpNYWNoaW5lOjptYWNoaW5lX3R5cGVfaXNfcTM1KCRjb25mKTsKKworCQkgICAg bXkgJGFtZF9zZXZfdHlwZSA9IFBWRTo6UWVtdVNlcnZlcjo6Q1BVQ29uZmlnOjpnZXRfYW1kX3Nl dl90eXBlKCRjb25mKTsKKwkJICAgIGRpZSAiU0VWLVNOUCB1c2VzIGNvbnNvbGlkYXRlZCByZWFk LW9ubHkgZmlybXdhcmUgYW5kIGRvZXMgbm90IHJlcXVpcmUgYW4gRUZJIGRpc2tcbiIKKwkJCWlm ICRhbWRfc2V2X3R5cGUgJiYgJGFtZF9zZXZfdHlwZSBlcSAnc25wJzsKKwogCQkgICAgKCR2b2xp ZCwgJHNpemUpID0gUFZFOjpRZW11U2VydmVyOjpjcmVhdGVfZWZpZGlzaygKLQkJCSRzdG9yZWNm ZywgJHN0b3JlaWQsICR2bWlkLCAkZm10LCAkYXJjaCwgJGRpc2ssICRzbW0pOworCQkJJHN0b3Jl Y2ZnLCAkc3RvcmVpZCwgJHZtaWQsICRmbXQsICRhcmNoLCAkZGlzaywgJHNtbSwgJGFtZF9zZXZf dHlwZSk7CiAJCX0gZWxzaWYgKCRkcyBlcSAndHBtc3RhdGUwJykgewogCQkgICAgIyBzd3RwbSBj YW4gb25seSB1c2UgcmF3IHZvbHVtZXMsIGFuZCB1c2VzIGEgZml4ZWQgc2l6ZQogCQkgICAgJHNp emUgPSBQVkU6OlRvb2xzOjpjb252ZXJ0X3NpemUoUFZFOjpRZW11U2VydmVyOjpEcml2ZTo6VFBN U1RBVEVfRElTS19TSVpFLCAnYicgPT4gJ2tiJyk7CmRpZmYgLS1naXQgYS9QVkUvUWVtdVNlcnZl ci5wbSBiL1BWRS9RZW11U2VydmVyLnBtCmluZGV4IDgwOGMwZTFjLi43MjdhYWQ2YyAxMDA2NDQK LS0tIGEvUFZFL1FlbXVTZXJ2ZXIucG0KKysrIGIvUFZFL1FlbXVTZXJ2ZXIucG0KQEAgLTUyLDcg KzUyLDcgQEAgdXNlIFBWRTo6UWVtdUNvbmZpZzsKIHVzZSBQVkU6OlFlbXVTZXJ2ZXI6OkhlbHBl cnMgcXcoY29uZmlnX2F3YXJlX3RpbWVvdXQgbWluX3ZlcnNpb24ga3ZtX3VzZXJfdmVyc2lvbiB3 aW5kb3dzX3ZlcnNpb24pOwogdXNlIFBWRTo6UWVtdVNlcnZlcjo6Q2xvdWRpbml0OwogdXNlIFBW RTo6UWVtdVNlcnZlcjo6Q0dyb3VwOwotdXNlIFBWRTo6UWVtdVNlcnZlcjo6Q1BVQ29uZmlnIHF3 KHByaW50X2NwdV9kZXZpY2UgZ2V0X2NwdV9vcHRpb25zIGdldF9jcHVfYml0bmVzcyBpc19uYXRp dmVfYXJjaCBnZXRfYW1kX3Nldl9vYmplY3QpOwordXNlIFBWRTo6UWVtdVNlcnZlcjo6Q1BVQ29u ZmlnIHF3KHByaW50X2NwdV9kZXZpY2UgZ2V0X2NwdV9vcHRpb25zIGdldF9jcHVfYml0bmVzcyBp c19uYXRpdmVfYXJjaCBnZXRfYW1kX3Nldl9vYmplY3QgZ2V0X2FtZF9zZXZfdHlwZSk7CiB1c2Ug UFZFOjpRZW11U2VydmVyOjpEcml2ZSBxdyhpc192YWxpZF9kcml2ZW5hbWUgY2hlY2tlZF92b2x1 bWVfZm9ybWF0IGRyaXZlX2lzX2Nsb3VkaW5pdCBkcml2ZV9pc19jZHJvbSBkcml2ZV9pc19yZWFk X29ubHkgcGFyc2VfZHJpdmUgcHJpbnRfZHJpdmUpOwogdXNlIFBWRTo6UWVtdVNlcnZlcjo6TWFj aGluZTsKIHVzZSBQVkU6OlFlbXVTZXJ2ZXI6Ok1lbW9yeSBxdyhnZXRfY3VycmVudF9tZW1vcnkp OwpAQCAtODgsNiArODgsMTMgQEAgbXkgJE9WTUYgPSB7CiAJICAgICIkRURLMl9GV19CQVNFL09W TUZfQ09ERV80TS5zZWNib290LmZkIiwKIAkgICAgIiRFREsyX0ZXX0JBU0UvT1ZNRl9WQVJTXzRN Lm1zLmZkIiwKIAldLAorCSc0bS1zZXYnID0+IFsKKwkgICAgIiRFREsyX0ZXX0JBU0UvT1ZNRl9D Vk1fQ09ERV80TS5mZCIsCisJICAgICIkRURLMl9GV19CQVNFL09WTUZfQ1ZNX1ZBUlNfNE0uZmQi LAorCV0sCisJJzRtLXNucCcgPT4gWworCSAgICAiJEVESzJfRldfQkFTRS9PVk1GX0NWTV80TS5m ZCIsCisJXSwKIAkjIEZJWE1FOiBUaGVzZSBhcmUgbGVnYWN5IDJNQi1zaXplZCBpbWFnZXMgdGhh dCBtb2Rlcm4gT1ZNRiBkb2Vzbid0IHN1cHBvcnRzIHRvIGJ1aWxkCiAJIyBhbnltb3JlLiBob3cg Y2FuIHdlIGRlcGVyYWNhdGUgdGhpcyBzYW5lbHkgd2l0aG91dCBicmVha2luZyBleGlzdGluZyBp bnN0YW5jZXMsIG9yIHVzaW5nCiAJIyBvbGRlciBiYWNrdXBzIGFuZCBzbmFwc2hvdD8KQEAgLTMx NzIsMTUgKzMxNzksMjIgQEAgc3ViIHZnYV9jb25mX2hhc19zcGljZSB7CiAgICAgcmV0dXJuICQx IHx8IDE7CiB9CiAKLXN1YiBnZXRfb3ZtZl9maWxlcygkJCQpIHsKLSAgICBteSAoJGFyY2gsICRl ZmlkaXNrLCAkc21tKSA9IEBfOworc3ViIGdldF9vdm1mX2ZpbGVzKCQkJCQpIHsKKyAgICBteSAo JGFyY2gsICRlZmlkaXNrLCAkc21tLCAkYW1kX3Nldl90eXBlKSA9IEBfOwogCiAgICAgbXkgJHR5 cGVzID0gJE9WTUYtPnskYXJjaH0KIAlvciBkaWUgIm5vIE9WTUYgaW1hZ2VzIGtub3duIGZvciBh cmNoaXRlY3R1cmUgJyRhcmNoJ1xuIjsKIAogICAgIG15ICR0eXBlID0gJ2RlZmF1bHQnOwogICAg IGlmICgkYXJjaCBlcSAneDg2XzY0JykgewotCWlmIChkZWZpbmVkKCRlZmlkaXNrLT57ZWZpdHlw ZX0pICYmICRlZmlkaXNrLT57ZWZpdHlwZX0gZXEgJzRtJykgeworCWlmICgkYW1kX3Nldl90eXBl ICYmICRhbWRfc2V2X3R5cGUgZXEgJ3NucCcpIHsKKwkgICAgJHR5cGUgPSAiNG0tc25wIjsKKwkg ICAgbXkgKCRvdm1mKSA9ICR0eXBlcy0+eyR0eXBlfS0+QCo7CisJICAgIGRpZSAiRUZJIGJhc2Ug aW1hZ2UgJyRvdm1mJyBub3QgZm91bmRcbiIgaWYgISAtZiAkb3ZtZjsKKwkgICAgcmV0dXJuICgk b3ZtZik7CisJfSBlbHNpZiAoJGFtZF9zZXZfdHlwZSkgeworCSAgICAkdHlwZSA9ICI0bS1zZXYi OworCX0gZWxzaWYgKGRlZmluZWQoJGVmaWRpc2stPntlZml0eXBlfSkgJiYgJGVmaWRpc2stPntl Zml0eXBlfSBlcSAnNG0nKSB7CiAJICAgICR0eXBlID0gJHNtbSA/ICI0bSIgOiAiNG0tbm8tc21t IjsKIAkgICAgJHR5cGUgLj0gJy1tcycgaWYgJGVmaWRpc2stPnsncHJlLWVucm9sbGVkLWtleXMn fTsKIAl9IGVsc2UgewpAQCAtMzMyOSw3ICszMzQzLDEwIEBAIG15IHN1YiBwcmludF9vdm1mX2Ry aXZlX2NvbW1hbmRsaW5lcyB7CiAKICAgICBteSAkZCA9ICRjb25mLT57ZWZpZGlzazB9ID8gcGFy c2VfZHJpdmUoJ2VmaWRpc2swJywgJGNvbmYtPntlZmlkaXNrMH0pIDogdW5kZWY7CiAKLSAgICBt eSAoJG92bWZfY29kZSwgJG92bWZfdmFycykgPSBnZXRfb3ZtZl9maWxlcygkYXJjaCwgJGQsICRx MzUpOworICAgIG15ICRhbWRfc2V2X3R5cGUgPSBnZXRfYW1kX3Nldl90eXBlKCRjb25mKTsKKyAg ICBkaWUgIkF0dGVtcHRpbmcgdG8gY29uZmlndXJlIFNFVi1TTlAgd2l0aCBmbGFzaCBkZXZpY2Vz IGluc3RlYWQgb2YgdXNpbmcgYC1iaW9zYFxuIgorCWlmICRhbWRfc2V2X3R5cGUgJiYgJGFtZF9z ZXZfdHlwZSBlcSAnc25wJzsKKyAgICBteSAoJG92bWZfY29kZSwgJG92bWZfdmFycykgPSBnZXRf b3ZtZl9maWxlcygkYXJjaCwgJGQsICRxMzUsICRhbWRfc2V2X3R5cGUpOwogCiAgICAgbXkgJHZh cl9kcml2ZV9zdHIgPSAiaWY9cGZsYXNoLHVuaXQ9MSxpZD1kcml2ZS1lZmlkaXNrMCI7CiAgICAg aWYgKCRkKSB7CkBAIC0zNTI2LDEwICszNTQzLDE4IEBAIHN1YiBjb25maWdfdG9fY29tbWFuZCB7 CiAJZGllICJPVk1GIChVRUZJKSBCSU9TIGlzIG5vdCBzdXBwb3J0ZWQgb24gMzItYml0IENQVSB0 eXBlc1xuIgogCSAgICBpZiAhJGZvcmNlY3B1ICYmIGdldF9jcHVfYml0bmVzcygkY29uZi0+e2Nw dX0sICRhcmNoKSA9PSAzMjsKIAotCW15ICgkY29kZV9kcml2ZV9zdHIsICR2YXJfZHJpdmVfc3Ry KSA9Ci0JICAgIHByaW50X292bWZfZHJpdmVfY29tbWFuZGxpbmVzKCRjb25mLCAkc3RvcmVjZmcs ICR2bWlkLCAkYXJjaCwgJHEzNSwgJHZlcnNpb25fZ3VhcmQpOwotCXB1c2ggJGNtZC0+QCosICct ZHJpdmUnLCAkY29kZV9kcml2ZV9zdHI7Ci0JcHVzaCAkY21kLT5AKiwgJy1kcml2ZScsICR2YXJf ZHJpdmVfc3RyOworCW15ICRhbWRfc2V2X3R5cGUgPSBnZXRfYW1kX3Nldl90eXBlKCRjb25mKTsK KwlpZiAoJGFtZF9zZXZfdHlwZSAmJiAkYW1kX3Nldl90eXBlIGVxICdzbnAnKSB7CisJICAgbXkg JGFyY2ggPSBQVkU6OlFlbXVTZXJ2ZXI6OkhlbHBlcnM6OmdldF92bV9hcmNoKCRjb25mKTsKKwkg ICBwcmludCAiRXhpc3RpbmcgRUZJIGRpc2sgd2lsbCBiZSBpZ25vcmVkIGZvciBTRVYtU05QXG4i CisJCWlmIHBhcnNlX2RyaXZlKCdlZmlkaXNrMCcsICRjb25mLT57ZWZpZGlzazB9KTsKKwkgICBw dXNoICRjbWQtPkAqLCAnLWJpb3MnLCBnZXRfb3ZtZl9maWxlcygkYXJjaCwgdW5kZWYsIHVuZGVm LCAkYW1kX3Nldl90eXBlKTsKKwl9IGVsc2UgeworCSAgICBteSAoJGNvZGVfZHJpdmVfc3RyLCAk dmFyX2RyaXZlX3N0cikgPSBwcmludF9vdm1mX2RyaXZlX2NvbW1hbmRsaW5lcygKKwkJJGNvbmYs ICRzdG9yZWNmZywgJHZtaWQsICRhcmNoLCAkcTM1LCAkdmVyc2lvbl9ndWFyZCk7CisJICAgIHB1 c2ggJGNtZC0+QCosICctZHJpdmUnLCAkY29kZV9kcml2ZV9zdHI7CisJICAgIHB1c2ggJGNtZC0+ QCosICctZHJpdmUnLCAkdmFyX2RyaXZlX3N0cjsKKwl9CiAgICAgfQogCiAgICAgaWYgKCRxMzUp IHsgIyB0ZWxsIFFFTVUgdG8gbG9hZCBxMzUgY29uZmlnIGVhcmx5CkBAIC04MzM3LDcgKzgzNjIs OCBAQCBzdWIgZ2V0X2VmaXZhcnNfc2l6ZSB7CiAgICAgbXkgJGFyY2ggPSBQVkU6OlFlbXVTZXJ2 ZXI6OkhlbHBlcnM6OmdldF92bV9hcmNoKCRjb25mKTsKICAgICAkZWZpZGlzayAvLz0gJGNvbmYt PntlZmlkaXNrMH0gPyBwYXJzZV9kcml2ZSgnZWZpZGlzazAnLCAkY29uZi0+e2VmaWRpc2swfSkg OiB1bmRlZjsKICAgICBteSAkc21tID0gUFZFOjpRZW11U2VydmVyOjpNYWNoaW5lOjptYWNoaW5l X3R5cGVfaXNfcTM1KCRjb25mKTsKLSAgICBteSAodW5kZWYsICRvdm1mX3ZhcnMpID0gZ2V0X292 bWZfZmlsZXMoJGFyY2gsICRlZmlkaXNrLCAkc21tKTsKKyAgICBteSAkYW1kX3Nldl90eXBlID0g Z2V0X2FtZF9zZXZfdHlwZSgkY29uZik7CisgICAgbXkgKHVuZGVmLCAkb3ZtZl92YXJzKSA9IGdl dF9vdm1mX2ZpbGVzKCRhcmNoLCAkZWZpZGlzaywgJHNtbSwgJGFtZF9zZXZfdHlwZSk7CiAgICAg cmV0dXJuIC1zICRvdm1mX3ZhcnM7CiB9CiAKQEAgLTgzNjEsMTAgKzgzODcsMTAgQEAgc3ViIHVw ZGF0ZV90cG1zdGF0ZV9zaXplIHsKICAgICAkY29uZi0+e3RwbXN0YXRlMH0gPSBwcmludF9kcml2 ZSgkZGlzayk7CiB9CiAKLXN1YiBjcmVhdGVfZWZpZGlzaygkJCQkJCQkKSB7Ci0gICAgbXkgKCRz dG9yZWNmZywgJHN0b3JlaWQsICR2bWlkLCAkZm10LCAkYXJjaCwgJGVmaWRpc2ssICRzbW0pID0g QF87CitzdWIgY3JlYXRlX2VmaWRpc2soJCQkJCQkJCQpIHsKKyAgICBteSAoJHN0b3JlY2ZnLCAk c3RvcmVpZCwgJHZtaWQsICRmbXQsICRhcmNoLCAkZWZpZGlzaywgJHNtbSwgJGFtZF9zZXZfdHlw ZSkgPSBAXzsKIAotICAgIG15ICh1bmRlZiwgJG92bWZfdmFycykgPSBnZXRfb3ZtZl9maWxlcygk YXJjaCwgJGVmaWRpc2ssICRzbW0pOworICAgIG15ICh1bmRlZiwgJG92bWZfdmFycykgPSBnZXRf b3ZtZl9maWxlcygkYXJjaCwgJGVmaWRpc2ssICRzbW0sICRhbWRfc2V2X3R5cGUpOwogCiAgICAg bXkgJHZhcnNfc2l6ZV9iID0gLXMgJG92bWZfdmFyczsKICAgICBteSAkdmFyc19zaXplID0gUFZF OjpUb29sczo6Y29udmVydF9zaXplKCR2YXJzX3NpemVfYiwgJ2InID0+ICdrYicpOwpkaWZmIC0t Z2l0IGEvUFZFL1FlbXVTZXJ2ZXIvQ1BVQ29uZmlnLnBtIGIvUFZFL1FlbXVTZXJ2ZXIvQ1BVQ29u ZmlnLnBtCmluZGV4IGFkMGJlMTZlLi45YWUxOTk2YiAxMDA2NDQKLS0tIGEvUFZFL1FlbXVTZXJ2 ZXIvQ1BVQ29uZmlnLnBtCisrKyBiL1BWRS9RZW11U2VydmVyL0NQVUNvbmZpZy5wbQpAQCAtMTgs NiArMTgsNyBAQCBnZXRfY3B1X29wdGlvbnMKIGdldF9jcHVfYml0bmVzcwogaXNfbmF0aXZlX2Fy Y2gKIGdldF9hbWRfc2V2X29iamVjdAorZ2V0X2FtZF9zZXZfdHlwZQogKTsKIAogIyB1bmRlciBj ZXJ0YWluIHJhY2UtY29uZGl0aW9ucywgdGhpcyBtb2R1bGUgbWlnaHQgYmUgbG9hZGVkIGJlZm9y ZSBwdmUtY2x1c3RlcgpAQCAtMjMxLDI1ICsyMzIsMzIgQEAgbXkgJGNwdV9mbXQgPSB7CiBteSAk c2V2X2ZtdCA9IHsKICAgICB0eXBlID0+IHsKIAlkZXNjcmlwdGlvbiA9PiAiRW5hYmxlIHN0YW5k YXJkIFNFViB3aXRoIHR5cGU9J3N0ZCcgb3IgZW5hYmxlIgotCSAgICAuIiBleHBlcmltZW50YWwg U0VWLUVTIHdpdGggdGhlICdlcycgb3B0aW9uLiIsCisJICAgIC4iIGV4cGVyaW1lbnRhbCBTRVYt RVMgd2l0aCB0aGUgJ2VzJyBvcHRpb24gb3IgZW5hYmxlIgorCSAgICAuIiBleHBlcmltZW50YWwg U0VWLVNOUCB3aXRoIHRoZSAnc25wJyBvcHRpb24uIiwKIAl0eXBlID0+ICdzdHJpbmcnLAogCWRl ZmF1bHRfa2V5ID0+IDEsCiAJZm9ybWF0X2Rlc2NyaXB0aW9uID0+ICJzZXYtdHlwZSIsCi0JZW51 bSA9PiBbJ3N0ZCcsICdlcyddLAorCWVudW0gPT4gWydzdGQnLCAnZXMnLCAnc25wJ10sCiAJbWF4 TGVuZ3RoID0+IDMsCiAgICAgfSwKICAgICAnbm8tZGVidWcnID0+IHsKLQlkZXNjcmlwdGlvbiA9 PiAiU2V0cyBwb2xpY3kgYml0IDAgdG8gMSB0byBkaXNhbGxvdyBkZWJ1Z2dpbmcgb2YgZ3Vlc3Qi LAorCWRlc2NyaXB0aW9uID0+ICJTZXRzIHBvbGljeSBiaXQgdG8gZGlzYWxsb3cgZGVidWdnaW5n IG9mIGd1ZXN0IiwKIAl0eXBlID0+ICdib29sZWFuJywKIAlkZWZhdWx0ID0+IDAsCiAJb3B0aW9u YWwgPT4gMSwKICAgICB9LAogICAgICduby1rZXktc2hhcmluZycgPT4gewotCWRlc2NyaXB0aW9u ID0+ICJTZXRzIHBvbGljeSBiaXQgMSB0byAxIHRvIGRpc2FsbG93IGtleSBzaGFyaW5nIHdpdGgg b3RoZXIgZ3Vlc3RzIiwKKwlkZXNjcmlwdGlvbiA9PiAiU2V0cyBwb2xpY3kgYml0IHRvIGRpc2Fs bG93IGtleSBzaGFyaW5nIHdpdGggb3RoZXIgZ3Vlc3RzIChJZ25vcmVkIGZvciBTRVYtU05QKSIs CiAJdHlwZSA9PiAnYm9vbGVhbicsCiAJZGVmYXVsdCA9PiAwLAogCW9wdGlvbmFsID0+IDEsCiAg ICAgfSwKKyAgICAnYWxsb3ctc210JyA9PiB7CisJZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5 IGJpdCB0byBhbGxvdyBTaW11bHRhbmVvdXMgTXVsdGkgVGhyZWFkaW5nIChTTVQpIChJZ25vcmVk IHVubGVzcyBmb3IgU0VWLVNOUCkiLAorCXR5cGUgPT4gJ2Jvb2xlYW4nLAorCWRlZmF1bHQgPT4g MSwKKwlvcHRpb25hbCA9PiAxLAorICAgIH0sCiAgICAgImtlcm5lbC1oYXNoZXMiID0+IHsKIAlk ZXNjcmlwdGlvbiA9PiAiQWRkIGtlcm5lbCBoYXNoZXMgdG8gZ3Vlc3QgZmlybXdhcmUgZm9yIG1l YXN1cmVkIGxpbnV4IGtlcm5lbCBsYXVuY2giLAogCXR5cGUgPT4gJ2Jvb2xlYW4nLApAQCAtODIz LDYgKzgzMSwxMyBAQCBzdWIgZ2V0X2h3X2NhcGFiaWxpdGllcyB7CiAgICAgfQogICAgIHJldHVy biAkaHdfY2FwYWJpbGl0aWVzOwogfQorc3ViIGdldF9hbWRfc2V2X3R5cGUgeworICAgIG15ICgk Y29uZikgPSBAXzsKKworICAgIHJldHVybiB1bmRlZiBpZiAhJGNvbmYtPnsnYW1kLXNldid9Owor CisgICAgcmV0dXJuIFBWRTo6SlNPTlNjaGVtYTo6cGFyc2VfcHJvcGVydHlfc3RyaW5nKCRzZXZf Zm10LCAkY29uZi0+eydhbWQtc2V2J30pLT57dHlwZX07Cit9CiAKIHN1YiBnZXRfYW1kX3Nldl9v YmplY3QgewogICAgIG15ICgkYW1kX3NldiwgJGJpb3MpID0gQF87CkBAIC04MzYsMjIgKzg1MSw0 MSBAQCBzdWIgZ2V0X2FtZF9zZXZfb2JqZWN0IHsKICAgICBpZiAoJGFtZF9zZXZfY29uZi0+e3R5 cGV9IGVxICdlcycgJiYgISRzZXZfaHdfY2Fwcy0+eydzZXYtc3VwcG9ydC1lcyd9KSB7CiAJZGll ICJZb3VyIENQVSBkb2VzIG5vdCBzdXBwb3J0IEFNRCBTRVYtRVMuXG4iOwogICAgIH0KKyAgICBp ZiAoJGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdzbnAnICYmICEkc2V2X2h3X2NhcHMtPnsnc2V2 LXN1cHBvcnQtc25wJ30pIHsKKwlkaWUgIllvdXIgQ1BVIGRvZXMgbm90IHN1cHBvcnQgQU1EIFNF Vi1TTlAuXG4iOworICAgIH0KICAgICBpZiAoISRiaW9zIHx8ICRiaW9zIG5lICdvdm1mJykgewog CWRpZSAiVG8gdXNlIEFNRCBTRVYsIHlvdSBuZWVkIHRvIGNoYW5nZSB0aGUgQklPUyB0byBPVk1G LlxuIjsKICAgICB9CiAKLSAgICBteSAkc2V2X21lbV9vYmplY3QgPSAnc2V2LWd1ZXN0LGlkPXNl djAnOwotICAgICRzZXZfbWVtX29iamVjdCAuPSAnLGNiaXRwb3M9Jy4kc2V2X2h3X2NhcHMtPntj Yml0cG9zfTsKLSAgICAkc2V2X21lbV9vYmplY3QgLj0gJyxyZWR1Y2VkLXBoeXMtYml0cz0nLiRz ZXZfaHdfY2Fwcy0+eydyZWR1Y2VkLXBoeXMtYml0cyd9OwotCi0gICAgIyBndWVzdCBwb2xpY3kg Yml0IGNhbGN1bGF0aW9uIGFzIGRlc2NyaWJlZCBoZXJlOgotICAgICMgaHR0cHM6Ly9kb2N1bWVu dGF0aW9uLnN1c2UuY29tL3NsZXMvMTUtU1A1L2h0bWwvU0xFUy1hbWQtc2V2L2FydGljbGUtYW1k LXNldi5odG1sI3RhYmxlLWd1ZXN0cG9saWN5Ci0gICAgbXkgJHBvbGljeSA9IDA7Ci0gICAgJHBv bGljeSB8PSAxIDw8IDAgaWYgJGFtZF9zZXZfY29uZi0+eyduby1kZWJ1Zyd9OwotICAgICRwb2xp Y3kgfD0gMSA8PCAxIGlmICRhbWRfc2V2X2NvbmYtPnsnbm8ta2V5LXNoYXJpbmcnfTsKLSAgICAk cG9saWN5IHw9IDEgPDwgMiBpZiAkYW1kX3Nldl9jb25mLT57dHlwZX0gZXEgJ2VzJzsKLSAgICAj IGRpc2FibGUgbWlncmF0aW9uIHdpdGggYml0IDMgbm9zZW5kIHRvIHByZXZlbnQgYW1kLXNldi1t aWdyYXRpb24tYXR0YWNrCi0gICAgJHBvbGljeSB8PSAxIDw8IDM7CisgICAgbXkgJHNldl9tZW1f b2JqZWN0ID0gJyc7CisgICAgbXkgJHBvbGljeTsKKyAgICBpZiAoJGFtZF9zZXZfY29uZi0+e3R5 cGV9IGVxICdlcycgfHwgJGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdzdGQnKSB7CisJJHNldl9t ZW1fb2JqZWN0IC49ICdzZXYtZ3Vlc3QsaWQ9c2V2MCc7CisJJHNldl9tZW1fb2JqZWN0IC49ICcs Y2JpdHBvcz0nLiRzZXZfaHdfY2Fwcy0+e2NiaXRwb3N9OworCSRzZXZfbWVtX29iamVjdCAuPSAn LHJlZHVjZWQtcGh5cy1iaXRzPScuJHNldl9od19jYXBzLT57J3JlZHVjZWQtcGh5cy1iaXRzJ307 CisKKwkjIGd1ZXN0IHBvbGljeSBiaXQgY2FsY3VsYXRpb24gYXMgZGVzY3JpYmVkIGhlcmU6CisJ IyBodHRwczovL2RvY3VtZW50YXRpb24uc3VzZS5jb20vc2xlcy8xNS1TUDUvaHRtbC9TTEVTLWFt ZC1zZXYvYXJ0aWNsZS1hbWQtc2V2Lmh0bWwjdGFibGUtZ3Vlc3Rwb2xpY3kKKwkkcG9saWN5ID0g MDsKKwkkcG9saWN5IHw9IDEgPDwgMCBpZiAkYW1kX3Nldl9jb25mLT57J25vLWRlYnVnJ307CisJ JHBvbGljeSB8PSAxIDw8IDEgaWYgJGFtZF9zZXZfY29uZi0+eyduby1rZXktc2hhcmluZyd9Owor CSRwb2xpY3kgfD0gMSA8PCAyIGlmICRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnZXMnOworCSMg ZGlzYWJsZSBtaWdyYXRpb24gd2l0aCBiaXQgMyBub3NlbmQgdG8gcHJldmVudCBhbWQtc2V2LW1p Z3JhdGlvbi1hdHRhY2sKKwkkcG9saWN5IHw9IDEgPDwgMzsKKyAgICB9IGVsc2lmICgkYW1kX3Nl dl9jb25mLT57dHlwZX0gZXEgJ3NucCcpIHsKKwkkc2V2X21lbV9vYmplY3QgLj0gJ3Nldi1zbnAt Z3Vlc3QsaWQ9c2V2MCc7CisJJHNldl9tZW1fb2JqZWN0IC49ICcsY2JpdHBvcz0nLiRzZXZfaHdf Y2Fwcy0+e2NiaXRwb3N9OworCSRzZXZfbWVtX29iamVjdCAuPSAnLHJlZHVjZWQtcGh5cy1iaXRz PScuJHNldl9od19jYXBzLT57J3JlZHVjZWQtcGh5cy1iaXRzJ307CisKKwkjIGd1ZXN0IHBvbGlj eSBiaXQgY2FsY3VsYXRpb24gYXMgZGVzY3JpYmVkIGluIGNoYXB0ZXIgNC4zOgorCSMgaHR0cHM6 Ly93d3cuYW1kLmNvbS9zeXN0ZW0vZmlsZXMvVGVjaERvY3MvNTY4NjAucGRmCisJIyBSZXNlcnZl ZCBiaXQgbXVzdCBiZSBvbmUKKwkkcG9saWN5ID0gMSA8PCAxNzsKKwkkcG9saWN5IHw9IDEgPDwg MTYgaWYgIWRlZmluZWQoJGFtZF9zZXZfY29uZi0+eydhbGxvdy1zbXQnfSkgfHwgJGFtZF9zZXZf Y29uZi0+eydhbGxvdy1zbXQnfTsKKwkkcG9saWN5IHw9IDEgPDwgMTkgaWYgISRhbWRfc2V2X2Nv bmYtPnsnbm8tZGVidWcnfTsKKyAgICB9CisKIAogICAgICRzZXZfbWVtX29iamVjdCAuPSAnLHBv bGljeT0nLnNwcmludGYoIiUjeCIsICRwb2xpY3kpOwogICAgICRzZXZfbWVtX29iamVjdCAuPSAn LGtlcm5lbC1oYXNoZXM9b24nIGlmICgkYW1kX3Nldl9jb25mLT57J2tlcm5lbC1oYXNoZXMnfSk7 Ci0tIAoyLjM5LjUKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpo dHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2 ZWwK