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