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 CAE201FF173
	for <inbox@lore.proxmox.com>; Mon, 24 Feb 2025 13:38:26 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 7B8821BBC;
	Mon, 24 Feb 2025 13:38:21 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1740400666;
 x=1741005466; 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=zBjHGwibw+nM2xs8H7eTK6QDniPcJq8iUlafYPdW4zk=;
 b=fh+Bp+NAN6qhJRuNfa0vRLyBSd0djCWCMlNDtH0F+XytTah1PU164hoNV8iMS22DKE7kr6+nDC6Zb
 blpKKzkdsf2ktzzRwQ5YUWP2GNiWoSUqGE2J135Wn1VyKq/8QYIW6zyzrUB0V8CEk8dz5dmZdhZO17
 40oip84NpyoWkXB/stbECtxnplZa9Rl3aVJeKFi4HfVIi2XYo1GsLIr7EpxaVdJxzeIUkTmLAWiTkv
 azmaq4JXqyvQsPwi+hWZcdUAVgOljFV0FufmMQL+Tw9zYwH2FVy9JooKgaLXR94t8veoAQTd3gnKmc
 nceQxbQy/eslqnsfNyx4HSV+6at39kA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1740400666;
 x=1741005466; 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=zBjHGwibw+nM2xs8H7eTK6QDniPcJq8iUlafYPdW4zk=;
 b=h8MwNzk+kj63yu4GpAC9qs6t0UfSiHLUjKxHTr647LWahi8h8l+lc8mVmTnLSj3ddLmjUpNVzlrX2
 OH2MiKuDg==
X-HalOne-ID: 259b59e4-f2ac-11ef-ab26-29b2d794c87d
From: Philipp Giersfeld <philipp.giersfeld@canarybit.eu>
To: pve-devel@lists.proxmox.com
Date: Mon, 24 Feb 2025 13:37:13 +0100
Message-Id: <20250224123714.2662460-5-philipp.giersfeld@canarybit.eu>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250224123714.2662460-1-philipp.giersfeld@canarybit.eu>
References: <20250224123714.2662460-1-philipp.giersfeld@canarybit.eu>
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.180 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 v3 4/5] 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
eTogUGhpbGlwcCBHaWVyc2ZlbGQgPHBoaWxpcHAuZ2llcnNmZWxkQGNhbmFyeWJpdC5ldT4KUmV2
aWV3ZWQtYnk6IERhbmllbCBLcmFsIDxkLmtyYWxAcHJveG1veC5jb20+ClRlc3RlZC1ieTogTWFy
a3VzIEZyYW5rIDxtLmZyYW5rQHByb3htb3guY29tPgotLS0KCiBubyBjaGFuZ2VzIHNpbmNlIGxh
c3QgdmVyc2lvbgoKIFBWRS9BUEkyL1FlbXUucG0gICAgICAgICAgICB8ICA3ICsrKy0KIFBWRS9R
ZW11U2VydmVyLnBtICAgICAgICAgICB8IDQ5ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLQog
UFZFL1FlbXVTZXJ2ZXIvQ1BVQ29uZmlnLnBtIHwgNjYgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKy0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCAzMCBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9QVkUvQVBJMi9RZW11LnBtIGIvUFZFL0FQSTIvUWVtdS5w
bQppbmRleCAyOTUyNjBlNy4uNGY0OGNmODUgMTAwNjQ0Ci0tLSBhL1BWRS9BUEkyL1FlbXUucG0K
KysrIGIvUFZFL0FQSTIvUWVtdS5wbQpAQCAtNTQ4LDggKzU0OCwxMyBAQCBteSBzdWIgY3JlYXRl
X2Rpc2tzIDogcHJvdG90eXBlKCQkJCQkJCQkJCQkKSB7CiAJCW15ICR2b2xpZDsKIAkJaWYgKCRk
cyBlcSAnZWZpZGlzazAnKSB7CiAJCSAgICBteSAkc21tID0gUFZFOjpRZW11U2VydmVyOjpNYWNo
aW5lOjptYWNoaW5lX3R5cGVfaXNfcTM1KCRjb25mKTsKKworCQkgICAgbXkgJGFtZF9zZXZfdHlw
ZSA9IFBWRTo6UWVtdVNlcnZlcjo6Q1BVQ29uZmlnOjpnZXRfYW1kX3Nldl90eXBlKCRjb25mKTsK
KwkJICAgIGRpZSAiU0VWLVNOUCB1c2VzIGNvbnNvbGlkYXRlZCByZWFkLW9ubHkgZmlybXdhcmUi
CisJCQlpZiAkYW1kX3Nldl90eXBlICYmICRhbWRfc2V2X3R5cGUgZXEgJ3NucCc7CisKIAkJICAg
ICgkdm9saWQsICRzaXplKSA9IFBWRTo6UWVtdVNlcnZlcjo6Y3JlYXRlX2VmaWRpc2soCi0JCQkk
c3RvcmVjZmcsICRzdG9yZWlkLCAkdm1pZCwgJGZtdCwgJGFyY2gsICRkaXNrLCAkc21tKTsKKwkJ
CSRzdG9yZWNmZywgJHN0b3JlaWQsICR2bWlkLCAkZm10LCAkYXJjaCwgJGRpc2ssICRzbW0sICRh
bWRfc2V2X3R5cGUpOwogCQl9IGVsc2lmICgkZHMgZXEgJ3RwbXN0YXRlMCcpIHsKIAkJICAgICMg
c3d0cG0gY2FuIG9ubHkgdXNlIHJhdyB2b2x1bWVzLCBhbmQgdXNlcyBhIGZpeGVkIHNpemUKIAkJ
ICAgICRzaXplID0gUFZFOjpUb29sczo6Y29udmVydF9zaXplKFBWRTo6UWVtdVNlcnZlcjo6RHJp
dmU6OlRQTVNUQVRFX0RJU0tfU0laRSwgJ2InID0+ICdrYicpOwpkaWZmIC0tZ2l0IGEvUFZFL1Fl
bXVTZXJ2ZXIucG0gYi9QVkUvUWVtdVNlcnZlci5wbQppbmRleCA4MDhjMGUxYy4uNTFlNTUxYjgg
MTAwNjQ0Ci0tLSBhL1BWRS9RZW11U2VydmVyLnBtCisrKyBiL1BWRS9RZW11U2VydmVyLnBtCkBA
IC01Miw3ICs1Miw3IEBAIHVzZSBQVkU6OlFlbXVDb25maWc7CiB1c2UgUFZFOjpRZW11U2VydmVy
OjpIZWxwZXJzIHF3KGNvbmZpZ19hd2FyZV90aW1lb3V0IG1pbl92ZXJzaW9uIGt2bV91c2VyX3Zl
cnNpb24gd2luZG93c192ZXJzaW9uKTsKIHVzZSBQVkU6OlFlbXVTZXJ2ZXI6OkNsb3VkaW5pdDsK
IHVzZSBQVkU6OlFlbXVTZXJ2ZXI6OkNHcm91cDsKLXVzZSBQVkU6OlFlbXVTZXJ2ZXI6OkNQVUNv
bmZpZyBxdyhwcmludF9jcHVfZGV2aWNlIGdldF9jcHVfb3B0aW9ucyBnZXRfY3B1X2JpdG5lc3Mg
aXNfbmF0aXZlX2FyY2ggZ2V0X2FtZF9zZXZfb2JqZWN0KTsKK3VzZSBQVkU6OlFlbXVTZXJ2ZXI6
OkNQVUNvbmZpZyBxdyhwcmludF9jcHVfZGV2aWNlIGdldF9jcHVfb3B0aW9ucyBnZXRfY3B1X2Jp
dG5lc3MgaXNfbmF0aXZlX2FyY2ggZ2V0X2FtZF9zZXZfb2JqZWN0IGdldF9hbWRfc2V2X3R5cGUp
OwogdXNlIFBWRTo6UWVtdVNlcnZlcjo6RHJpdmUgcXcoaXNfdmFsaWRfZHJpdmVuYW1lIGNoZWNr
ZWRfdm9sdW1lX2Zvcm1hdCBkcml2ZV9pc19jbG91ZGluaXQgZHJpdmVfaXNfY2Ryb20gZHJpdmVf
aXNfcmVhZF9vbmx5IHBhcnNlX2RyaXZlIHByaW50X2RyaXZlKTsKIHVzZSBQVkU6OlFlbXVTZXJ2
ZXI6Ok1hY2hpbmU7CiB1c2UgUFZFOjpRZW11U2VydmVyOjpNZW1vcnkgcXcoZ2V0X2N1cnJlbnRf
bWVtb3J5KTsKQEAgLTg4LDYgKzg4LDEzIEBAIG15ICRPVk1GID0gewogCSAgICAiJEVESzJfRldf
QkFTRS9PVk1GX0NPREVfNE0uc2VjYm9vdC5mZCIsCiAJICAgICIkRURLMl9GV19CQVNFL09WTUZf
VkFSU180TS5tcy5mZCIsCiAJXSwKKwknNG0tc2V2JyA9PiBbCisJICAgICIkRURLMl9GV19CQVNF
L09WTUZfQ1ZNX0NPREVfNE0uZmQiLAorCSAgICAiJEVESzJfRldfQkFTRS9PVk1GX0NWTV9WQVJT
XzRNLmZkIiwKKwldLAorCSc0bS1zbnAnID0+IFsKKwkgICAgIiRFREsyX0ZXX0JBU0UvT1ZNRl9D
Vk1fNE0uZmQiLAorCV0sCiAJIyBGSVhNRTogVGhlc2UgYXJlIGxlZ2FjeSAyTUItc2l6ZWQgaW1h
Z2VzIHRoYXQgbW9kZXJuIE9WTUYgZG9lc24ndCBzdXBwb3J0cyB0byBidWlsZAogCSMgYW55bW9y
ZS4gaG93IGNhbiB3ZSBkZXBlcmFjYXRlIHRoaXMgc2FuZWx5IHdpdGhvdXQgYnJlYWtpbmcgZXhp
c3RpbmcgaW5zdGFuY2VzLCBvciB1c2luZwogCSMgb2xkZXIgYmFja3VwcyBhbmQgc25hcHNob3Q/
CkBAIC0zMTcyLDE1ICszMTc5LDIyIEBAIHN1YiB2Z2FfY29uZl9oYXNfc3BpY2UgewogICAgIHJl
dHVybiAkMSB8fCAxOwogfQogCi1zdWIgZ2V0X292bWZfZmlsZXMoJCQkKSB7Ci0gICAgbXkgKCRh
cmNoLCAkZWZpZGlzaywgJHNtbSkgPSBAXzsKK3N1YiBnZXRfb3ZtZl9maWxlcygkJCQkKSB7Cisg
ICAgbXkgKCRhcmNoLCAkZWZpZGlzaywgJHNtbSwgJGFtZF9zZXZfdHlwZSkgPSBAXzsKIAogICAg
IG15ICR0eXBlcyA9ICRPVk1GLT57JGFyY2h9CiAJb3IgZGllICJubyBPVk1GIGltYWdlcyBrbm93
biBmb3IgYXJjaGl0ZWN0dXJlICckYXJjaCdcbiI7CiAKICAgICBteSAkdHlwZSA9ICdkZWZhdWx0
JzsKICAgICBpZiAoJGFyY2ggZXEgJ3g4Nl82NCcpIHsKLQlpZiAoZGVmaW5lZCgkZWZpZGlzay0+
e2VmaXR5cGV9KSAmJiAkZWZpZGlzay0+e2VmaXR5cGV9IGVxICc0bScpIHsKKwlpZiAoJGFtZF9z
ZXZfdHlwZSAmJiAkYW1kX3Nldl90eXBlIGVxICdzbnAnKSB7CisJICAgICR0eXBlID0gIjRtLXNu
cCI7CisJICAgIG15ICgkb3ZtZikgPSAkdHlwZXMtPnskdHlwZX0tPkAqOworCSAgICBkaWUgIkVG
SSBiYXNlIGltYWdlICckb3ZtZicgbm90IGZvdW5kXG4iIGlmICEgLWYgJG92bWY7CisJICAgIHJl
dHVybiAoJG92bWYpOworCX0gZWxzaWYgKCRhbWRfc2V2X3R5cGUpIHsKKwkgICAgJHR5cGUgPSAi
NG0tc2V2IjsKKwl9IGVsc2lmIChkZWZpbmVkKCRlZmlkaXNrLT57ZWZpdHlwZX0pICYmICRlZmlk
aXNrLT57ZWZpdHlwZX0gZXEgJzRtJykgewogCSAgICAkdHlwZSA9ICRzbW0gPyAiNG0iIDogIjRt
LW5vLXNtbSI7CiAJICAgICR0eXBlIC49ICctbXMnIGlmICRlZmlkaXNrLT57J3ByZS1lbnJvbGxl
ZC1rZXlzJ307CiAJfSBlbHNlIHsKQEAgLTMzMjksNyArMzM0Myw4IEBAIG15IHN1YiBwcmludF9v
dm1mX2RyaXZlX2NvbW1hbmRsaW5lcyB7CiAKICAgICBteSAkZCA9ICRjb25mLT57ZWZpZGlzazB9
ID8gcGFyc2VfZHJpdmUoJ2VmaWRpc2swJywgJGNvbmYtPntlZmlkaXNrMH0pIDogdW5kZWY7CiAK
LSAgICBteSAoJG92bWZfY29kZSwgJG92bWZfdmFycykgPSBnZXRfb3ZtZl9maWxlcygkYXJjaCwg
JGQsICRxMzUpOworICAgIG15ICRhbWRfc2V2X3R5cGUgPSBnZXRfYW1kX3Nldl90eXBlKCRjb25m
KTsKKyAgICBteSAoJG92bWZfY29kZSwgJG92bWZfdmFycykgPSBnZXRfb3ZtZl9maWxlcygkYXJj
aCwgJGQsICRxMzUsICRhbWRfc2V2X3R5cGUpOwogCiAgICAgbXkgJHZhcl9kcml2ZV9zdHIgPSAi
aWY9cGZsYXNoLHVuaXQ9MSxpZD1kcml2ZS1lZmlkaXNrMCI7CiAgICAgaWYgKCRkKSB7CkBAIC0z
NTI2LDEwICszNTQxLDE3IEBAIHN1YiBjb25maWdfdG9fY29tbWFuZCB7CiAJZGllICJPVk1GIChV
RUZJKSBCSU9TIGlzIG5vdCBzdXBwb3J0ZWQgb24gMzItYml0IENQVSB0eXBlc1xuIgogCSAgICBp
ZiAhJGZvcmNlY3B1ICYmIGdldF9jcHVfYml0bmVzcygkY29uZi0+e2NwdX0sICRhcmNoKSA9PSAz
MjsKIAotCW15ICgkY29kZV9kcml2ZV9zdHIsICR2YXJfZHJpdmVfc3RyKSA9Ci0JICAgIHByaW50
X292bWZfZHJpdmVfY29tbWFuZGxpbmVzKCRjb25mLCAkc3RvcmVjZmcsICR2bWlkLCAkYXJjaCwg
JHEzNSwgJHZlcnNpb25fZ3VhcmQpOwotCXB1c2ggJGNtZC0+QCosICctZHJpdmUnLCAkY29kZV9k
cml2ZV9zdHI7Ci0JcHVzaCAkY21kLT5AKiwgJy1kcml2ZScsICR2YXJfZHJpdmVfc3RyOworCW15
ICRhbWRfc2V2X3R5cGUgPSBnZXRfYW1kX3Nldl90eXBlKCRjb25mKTsKKwlpZiAoJGFtZF9zZXZf
dHlwZSAmJiAkYW1kX3Nldl90eXBlIGVxICdzbnAnKSB7CisJICAgbXkgJGFyY2ggPSBQVkU6OlFl
bXVTZXJ2ZXI6OkhlbHBlcnM6OmdldF92bV9hcmNoKCRjb25mKTsKKwkgICBteSAkZCA9ICRjb25m
LT57ZWZpZGlzazB9ID8gcGFyc2VfZHJpdmUoJ2VmaWRpc2swJywgJGNvbmYtPntlZmlkaXNrMH0p
IDogdW5kZWY7CisJICAgcHVzaCAkY21kLT5AKiwgJy1iaW9zJywgZ2V0X292bWZfZmlsZXMoJGFy
Y2gsICRkLCB1bmRlZiwgJGFtZF9zZXZfdHlwZSk7CisJfSBlbHNlIHsKKwkgICAgbXkgKCRjb2Rl
X2RyaXZlX3N0ciwgJHZhcl9kcml2ZV9zdHIpID0gcHJpbnRfb3ZtZl9kcml2ZV9jb21tYW5kbGlu
ZXMoCisJCSRjb25mLCAkc3RvcmVjZmcsICR2bWlkLCAkYXJjaCwgJHEzNSwgJHZlcnNpb25fZ3Vh
cmQpOworCSAgICBwdXNoICRjbWQtPkAqLCAnLWRyaXZlJywgJGNvZGVfZHJpdmVfc3RyOworCSAg
ICBwdXNoICRjbWQtPkAqLCAnLWRyaXZlJywgJHZhcl9kcml2ZV9zdHI7CisJfQogICAgIH0KIAog
ICAgIGlmICgkcTM1KSB7ICMgdGVsbCBRRU1VIHRvIGxvYWQgcTM1IGNvbmZpZyBlYXJseQpAQCAt
ODMzNyw3ICs4MzU5LDggQEAgc3ViIGdldF9lZml2YXJzX3NpemUgewogICAgIG15ICRhcmNoID0g
UFZFOjpRZW11U2VydmVyOjpIZWxwZXJzOjpnZXRfdm1fYXJjaCgkY29uZik7CiAgICAgJGVmaWRp
c2sgLy89ICRjb25mLT57ZWZpZGlzazB9ID8gcGFyc2VfZHJpdmUoJ2VmaWRpc2swJywgJGNvbmYt
PntlZmlkaXNrMH0pIDogdW5kZWY7CiAgICAgbXkgJHNtbSA9IFBWRTo6UWVtdVNlcnZlcjo6TWFj
aGluZTo6bWFjaGluZV90eXBlX2lzX3EzNSgkY29uZik7Ci0gICAgbXkgKHVuZGVmLCAkb3ZtZl92
YXJzKSA9IGdldF9vdm1mX2ZpbGVzKCRhcmNoLCAkZWZpZGlzaywgJHNtbSk7CisgICAgbXkgJGFt
ZF9zZXZfdHlwZSA9IGdldF9hbWRfc2V2X3R5cGUoJGNvbmYpOworICAgIG15ICh1bmRlZiwgJG92
bWZfdmFycykgPSBnZXRfb3ZtZl9maWxlcygkYXJjaCwgJGVmaWRpc2ssICRzbW0sICRhbWRfc2V2
X3R5cGUpOwogICAgIHJldHVybiAtcyAkb3ZtZl92YXJzOwogfQogCkBAIC04MzYxLDEwICs4Mzg0
LDEwIEBAIHN1YiB1cGRhdGVfdHBtc3RhdGVfc2l6ZSB7CiAgICAgJGNvbmYtPnt0cG1zdGF0ZTB9
ID0gcHJpbnRfZHJpdmUoJGRpc2spOwogfQogCi1zdWIgY3JlYXRlX2VmaWRpc2soJCQkJCQkJCkg
ewotICAgIG15ICgkc3RvcmVjZmcsICRzdG9yZWlkLCAkdm1pZCwgJGZtdCwgJGFyY2gsICRlZmlk
aXNrLCAkc21tKSA9IEBfOworc3ViIGNyZWF0ZV9lZmlkaXNrKCQkJCQkJCQkKSB7CisgICAgbXkg
KCRzdG9yZWNmZywgJHN0b3JlaWQsICR2bWlkLCAkZm10LCAkYXJjaCwgJGVmaWRpc2ssICRzbW0s
ICRhbWRfc2V2X3R5cGUpID0gQF87CiAKLSAgICBteSAodW5kZWYsICRvdm1mX3ZhcnMpID0gZ2V0
X292bWZfZmlsZXMoJGFyY2gsICRlZmlkaXNrLCAkc21tKTsKKyAgICBteSAodW5kZWYsICRvdm1m
X3ZhcnMpID0gZ2V0X292bWZfZmlsZXMoJGFyY2gsICRlZmlkaXNrLCAkc21tLCAkYW1kX3Nldl90
eXBlKTsKIAogICAgIG15ICR2YXJzX3NpemVfYiA9IC1zICRvdm1mX3ZhcnM7CiAgICAgbXkgJHZh
cnNfc2l6ZSA9IFBWRTo6VG9vbHM6OmNvbnZlcnRfc2l6ZSgkdmFyc19zaXplX2IsICdiJyA9PiAn
a2InKTsKZGlmZiAtLWdpdCBhL1BWRS9RZW11U2VydmVyL0NQVUNvbmZpZy5wbSBiL1BWRS9RZW11
U2VydmVyL0NQVUNvbmZpZy5wbQppbmRleCBhZDBiZTE2ZS4uOTRhMDBhNGUgMTAwNjQ0Ci0tLSBh
L1BWRS9RZW11U2VydmVyL0NQVUNvbmZpZy5wbQorKysgYi9QVkUvUWVtdVNlcnZlci9DUFVDb25m
aWcucG0KQEAgLTE4LDYgKzE4LDcgQEAgZ2V0X2NwdV9vcHRpb25zCiBnZXRfY3B1X2JpdG5lc3MK
IGlzX25hdGl2ZV9hcmNoCiBnZXRfYW1kX3Nldl9vYmplY3QKK2dldF9hbWRfc2V2X3R5cGUKICk7
CiAKICMgdW5kZXIgY2VydGFpbiByYWNlLWNvbmRpdGlvbnMsIHRoaXMgbW9kdWxlIG1pZ2h0IGJl
IGxvYWRlZCBiZWZvcmUgcHZlLWNsdXN0ZXIKQEAgLTIzMSwyNSArMjMyLDMyIEBAIG15ICRjcHVf
Zm10ID0gewogbXkgJHNldl9mbXQgPSB7CiAgICAgdHlwZSA9PiB7CiAJZGVzY3JpcHRpb24gPT4g
IkVuYWJsZSBzdGFuZGFyZCBTRVYgd2l0aCB0eXBlPSdzdGQnIG9yIGVuYWJsZSIKLQkgICAgLiIg
ZXhwZXJpbWVudGFsIFNFVi1FUyB3aXRoIHRoZSAnZXMnIG9wdGlvbi4iLAorCSAgICAuIiBleHBl
cmltZW50YWwgU0VWLUVTIHdpdGggdGhlICdlcycgb3B0aW9uIG9yIGVuYWJsZSAiCisJICAgIC4i
ZXhwZXJpbWVudGFsIFNFVi1TTlAgd2l0aCB0aGUgJ3NucCcgb3B0aW9uLiIsCiAJdHlwZSA9PiAn
c3RyaW5nJywKIAlkZWZhdWx0X2tleSA9PiAxLAogCWZvcm1hdF9kZXNjcmlwdGlvbiA9PiAic2V2
LXR5cGUiLAotCWVudW0gPT4gWydzdGQnLCAnZXMnXSwKKwllbnVtID0+IFsnc3RkJywgJ2VzJywg
J3NucCddLAogCW1heExlbmd0aCA9PiAzLAogICAgIH0sCiAgICAgJ25vLWRlYnVnJyA9PiB7Ci0J
ZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5IGJpdCAwIHRvIDEgdG8gZGlzYWxsb3cgZGVidWdn
aW5nIG9mIGd1ZXN0IiwKKwlkZXNjcmlwdGlvbiA9PiAiU2V0cyBwb2xpY3kgYml0IHRvIGRpc2Fs
bG93IGRlYnVnZ2luZyBvZiBndWVzdCIsCiAJdHlwZSA9PiAnYm9vbGVhbicsCiAJZGVmYXVsdCA9
PiAwLAogCW9wdGlvbmFsID0+IDEsCiAgICAgfSwKICAgICAnbm8ta2V5LXNoYXJpbmcnID0+IHsK
LQlkZXNjcmlwdGlvbiA9PiAiU2V0cyBwb2xpY3kgYml0IDEgdG8gMSB0byBkaXNhbGxvdyBrZXkg
c2hhcmluZyB3aXRoIG90aGVyIGd1ZXN0cyIsCisJZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5
IGJpdCB0byBkaXNhbGxvdyBrZXkgc2hhcmluZyB3aXRoIG90aGVyIGd1ZXN0cyIsCiAJdHlwZSA9
PiAnYm9vbGVhbicsCiAJZGVmYXVsdCA9PiAwLAogCW9wdGlvbmFsID0+IDEsCiAgICAgfSwKKyAg
ICAnYWxsb3ctc210JyA9PiB7CisJZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5IGJpdCB0byBh
bGxvdyBTaW11bHRhbmVvdXMgTXVsdGkgVGhyZWFkaW5nIChTTVQpIiwKKwl0eXBlID0+ICdib29s
ZWFuJywKKwlkZWZhdWx0ID0+IDEsCisJb3B0aW9uYWwgPT4gMSwKKyAgICB9LAogICAgICJrZXJu
ZWwtaGFzaGVzIiA9PiB7CiAJZGVzY3JpcHRpb24gPT4gIkFkZCBrZXJuZWwgaGFzaGVzIHRvIGd1
ZXN0IGZpcm13YXJlIGZvciBtZWFzdXJlZCBsaW51eCBrZXJuZWwgbGF1bmNoIiwKIAl0eXBlID0+
ICdib29sZWFuJywKQEAgLTgyMyw2ICs4MzEsMTMgQEAgc3ViIGdldF9od19jYXBhYmlsaXRpZXMg
ewogICAgIH0KICAgICByZXR1cm4gJGh3X2NhcGFiaWxpdGllczsKIH0KK3N1YiBnZXRfYW1kX3Nl
dl90eXBlIHsKKyAgICBteSAoJGNvbmYpID0gQF87CisKKyAgICByZXR1cm4gdW5kZWYgaWYgISRj
b25mLT57J2FtZC1zZXYnfTsKKworICAgIHJldHVybiBQVkU6OkpTT05TY2hlbWE6OnBhcnNlX3By
b3BlcnR5X3N0cmluZygkc2V2X2ZtdCwgJGNvbmYtPnsnYW1kLXNldid9KS0+e3R5cGV9OworfQog
CiBzdWIgZ2V0X2FtZF9zZXZfb2JqZWN0IHsKICAgICBteSAoJGFtZF9zZXYsICRiaW9zKSA9IEBf
OwpAQCAtODM2LDIyICs4NTEsNDEgQEAgc3ViIGdldF9hbWRfc2V2X29iamVjdCB7CiAgICAgaWYg
KCRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnZXMnICYmICEkc2V2X2h3X2NhcHMtPnsnc2V2LXN1
cHBvcnQtZXMnfSkgewogCWRpZSAiWW91ciBDUFUgZG9lcyBub3Qgc3VwcG9ydCBBTUQgU0VWLUVT
LlxuIjsKICAgICB9CisgICAgaWYgKCRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnc25wJyAmJiAh
JHNldl9od19jYXBzLT57J3Nldi1zdXBwb3J0LXNucCd9KSB7CisJZGllICJZb3VyIENQVSBkb2Vz
IG5vdCBzdXBwb3J0IEFNRCBTRVYtU05QLlxuIjsKKyAgICB9CiAgICAgaWYgKCEkYmlvcyB8fCAk
YmlvcyBuZSAnb3ZtZicpIHsKIAlkaWUgIlRvIHVzZSBBTUQgU0VWLCB5b3UgbmVlZCB0byBjaGFu
Z2UgdGhlIEJJT1MgdG8gT1ZNRi5cbiI7CiAgICAgfQogCi0gICAgbXkgJHNldl9tZW1fb2JqZWN0
ID0gJ3Nldi1ndWVzdCxpZD1zZXYwJzsKLSAgICAkc2V2X21lbV9vYmplY3QgLj0gJyxjYml0cG9z
PScuJHNldl9od19jYXBzLT57Y2JpdHBvc307Ci0gICAgJHNldl9tZW1fb2JqZWN0IC49ICcscmVk
dWNlZC1waHlzLWJpdHM9Jy4kc2V2X2h3X2NhcHMtPnsncmVkdWNlZC1waHlzLWJpdHMnfTsKLQot
ICAgICMgZ3Vlc3QgcG9saWN5IGJpdCBjYWxjdWxhdGlvbiBhcyBkZXNjcmliZWQgaGVyZToKLSAg
ICAjIGh0dHBzOi8vZG9jdW1lbnRhdGlvbi5zdXNlLmNvbS9zbGVzLzE1LVNQNS9odG1sL1NMRVMt
YW1kLXNldi9hcnRpY2xlLWFtZC1zZXYuaHRtbCN0YWJsZS1ndWVzdHBvbGljeQotICAgIG15ICRw
b2xpY3kgPSAwOwotICAgICRwb2xpY3kgfD0gMSA8PCAwIGlmICRhbWRfc2V2X2NvbmYtPnsnbm8t
ZGVidWcnfTsKLSAgICAkcG9saWN5IHw9IDEgPDwgMSBpZiAkYW1kX3Nldl9jb25mLT57J25vLWtl
eS1zaGFyaW5nJ307Ci0gICAgJHBvbGljeSB8PSAxIDw8IDIgaWYgJGFtZF9zZXZfY29uZi0+e3R5
cGV9IGVxICdlcyc7Ci0gICAgIyBkaXNhYmxlIG1pZ3JhdGlvbiB3aXRoIGJpdCAzIG5vc2VuZCB0
byBwcmV2ZW50IGFtZC1zZXYtbWlncmF0aW9uLWF0dGFjawotICAgICRwb2xpY3kgfD0gMSA8PCAz
OworICAgIG15ICRzZXZfbWVtX29iamVjdCA9ICcnOworICAgIG15ICRwb2xpY3k7CisgICAgaWYg
KCRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnZXMnIHx8ICRhbWRfc2V2X2NvbmYtPnt0eXBlfSBl
cSAnc3RkJykgeworCSRzZXZfbWVtX29iamVjdCAuPSAnc2V2LWd1ZXN0LGlkPXNldjAnOworCSRz
ZXZfbWVtX29iamVjdCAuPSAnLGNiaXRwb3M9Jy4kc2V2X2h3X2NhcHMtPntjYml0cG9zfTsKKwkk
c2V2X21lbV9vYmplY3QgLj0gJyxyZWR1Y2VkLXBoeXMtYml0cz0nLiRzZXZfaHdfY2Fwcy0+eydy
ZWR1Y2VkLXBoeXMtYml0cyd9OworCisJIyBndWVzdCBwb2xpY3kgYml0IGNhbGN1bGF0aW9uIGFz
IGRlc2NyaWJlZCBoZXJlOgorCSMgaHR0cHM6Ly9kb2N1bWVudGF0aW9uLnN1c2UuY29tL3NsZXMv
MTUtU1A1L2h0bWwvU0xFUy1hbWQtc2V2L2FydGljbGUtYW1kLXNldi5odG1sI3RhYmxlLWd1ZXN0
cG9saWN5CisJJHBvbGljeSA9IDA7CisJJHBvbGljeSB8PSAxIDw8IDAgaWYgJGFtZF9zZXZfY29u
Zi0+eyduby1kZWJ1Zyd9OworCSRwb2xpY3kgfD0gMSA8PCAxIGlmICRhbWRfc2V2X2NvbmYtPnsn
bm8ta2V5LXNoYXJpbmcnfTsKKwkkcG9saWN5IHw9IDEgPDwgMiBpZiAkYW1kX3Nldl9jb25mLT57
dHlwZX0gZXEgJ2VzJzsKKwkjIGRpc2FibGUgbWlncmF0aW9uIHdpdGggYml0IDMgbm9zZW5kIHRv
IHByZXZlbnQgYW1kLXNldi1taWdyYXRpb24tYXR0YWNrCisJJHBvbGljeSB8PSAxIDw8IDM7Cisg
ICAgfSBlbHNpZiAoJGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdzbnAnKSB7CisJJHNldl9tZW1f
b2JqZWN0IC49ICdzZXYtc25wLWd1ZXN0LGlkPXNldjAnOworCSRzZXZfbWVtX29iamVjdCAuPSAn
LGNiaXRwb3M9Jy4kc2V2X2h3X2NhcHMtPntjYml0cG9zfTsKKwkkc2V2X21lbV9vYmplY3QgLj0g
JyxyZWR1Y2VkLXBoeXMtYml0cz0nLiRzZXZfaHdfY2Fwcy0+eydyZWR1Y2VkLXBoeXMtYml0cyd9
OworCisJIyBndWVzdCBwb2xpY3kgYml0IGNhbGN1bGF0aW9uIGFzIGRlc2NyaWJlZCBpbiBjaGFw
dGVyIDQuMzoKKwkjIGh0dHBzOi8vd3d3LmFtZC5jb20vc3lzdGVtL2ZpbGVzL1RlY2hEb2NzLzU2
ODYwLnBkZgorCSMgUmVzZXJ2ZWQgYml0IG11c3QgYmUgb25lCisJJHBvbGljeSA9IDEgPDwgMTc7
CisJJHBvbGljeSB8PSAxIDw8IDE2IGlmICRhbWRfc2V2X2NvbmYtPnsnYWxsb3ctc210J307CisJ
JHBvbGljeSB8PSAxIDw8IDE5IGlmICEkYW1kX3Nldl9jb25mLT57J25vLWRlYnVnJ307CisgICAg
fQorCiAKICAgICAkc2V2X21lbV9vYmplY3QgLj0gJyxwb2xpY3k9Jy5zcHJpbnRmKCIlI3giLCAk
cG9saWN5KTsKICAgICAkc2V2X21lbV9vYmplY3QgLj0gJyxrZXJuZWwtaGFzaGVzPW9uJyBpZiAo
JGFtZF9zZXZfY29uZi0+eydrZXJuZWwtaGFzaGVzJ30pOwotLSAKMi4zOS41CgoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHZlLWRldmVsIG1haWxpbmcg
bGlzdApwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNv
bS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==