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 [IPv6:2a01:7e0:0:424::9])
	by lore.proxmox.com (Postfix) with ESMTPS id 401F41FF173
	for <inbox@lore.proxmox.com>; Mon, 27 Jan 2025 12:31:17 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id E0B3928B42;
	Mon, 27 Jan 2025 12:30:10 +0100 (CET)
From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Mon, 27 Jan 2025 12:29:21 +0100
Message-Id: <20250127112923.31703-15-f.ebner@proxmox.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250127112923.31703-1-f.ebner@proxmox.com>
References: <20250127112923.31703-1-f.ebner@proxmox.com>
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.044 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 T_SCC_BODY_TEXT_LINE    -0.01 -
Subject: [pve-devel] [PATCH qemu-server v5 14/16] fix #5440: vzdump: better
 cleanup fleecing images after hard errors
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>

QnkgcmVjb3JkaW5nIHRoZSBhbGxvY2F0ZWQgZmxlZWNpbmcgaW1hZ2VzIGluIHRoZSBWTSBjb25m
aWcsIHRoZXkKYXJlIG5vdCBpbW1lZGlhdGVseSBvcnBoYW5lZCwgc2hvdWxkIGEgaGFyZCBlcnJv
ciBvY2N1ciBkdXJpbmcKYmFja3VwIHRoYXQgcHJldmVudHMgY2xlYW51cC4KClRoZXkgYXJlIGF0
dGVtcHRlZCB0byBiZSBjbGVhbmVkIHVwIGR1cmluZyB0aGUgbmV4dCBiYWNrdXAgcnVuLgoKSW4g
dGhlIGNsZWFudXAgaGVscGVyLCBjaGVjayBpZiBmbGVlY2luZyBpbWFnZXMgYXJlIHN0aWxsIGF0
dGFjaGVkIGluClFFTVUgYW5kIGRldGFjaCB0aGVtLiBUaGlzIGFsbG93cyByZWNvdmVyaW5nIGZy
b20gbW9yZSBmYWlsdXJlCnNjZW5hcmlvcy4gSG93ZXZlciwgdG8gYXZvaWQgYSBkZWFkbG9jaywg
YSBsZWZ0LW92ZXIgYmFja3VwIGpvYiBuZWVkcwp0byBiZSBjYW5jZWxlZCBmaXJzdC4gV2hpbGUg
Y2FuY2VsaW5nIGEgbGVmdC1vdmVyIGJhY2t1cCBhbHJlYWR5CmhhcHBlbnMgd2hlbiBjbGVhbnVw
IGlzIGRvbmUgZm9yIGEgc3Vic3F1ZW50IGJhY2t1cCwgaXQgaXMgcmVxdWlyZWQKZm9yIG90aGVy
IGNhc2VzIHRoYXQgbGlrZSBjbGVhbnVwIGJlZm9yZSBtaWdyYXRpb24gKHRvIGJlIGFkZGVkIGlu
IGEKZm9sbG93aW5nIGNvbW1pdCkuCgpTdWdnZXN0ZWQtYnk6IEZhYmlhbiBHcsO8bmJpY2hsZXIg
PGYuZ3J1ZW5iaWNobGVyQHByb3htb3guY29tPgpTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8
Zi5lYm5lckBwcm94bW94LmNvbT4KLS0tCgpDaGFuZ2VzIGluIHY1OgoqIGNhbmNlbCBiYWNrdXAg
am9iIGlmIHN0aWxsIHJ1bm5pbmcgYmVmb3JlIGRldGFjaGluZwoqIHVzZSBzcGVjaWFsIGNvbmZp
ZyBzZWN0aW9uIGluc3RlYWQgb2YgY29uZmlnIGtleQoKIFBWRS9RZW11Q29uZmlnLnBtICAgICAg
ICB8IDgyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIFBWRS9WWkR1
bXAvUWVtdVNlcnZlci5wbSB8IDM2ICsrKysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2Vk
LCAxMTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9QVkUvUWVt
dUNvbmZpZy5wbSBiL1BWRS9RZW11Q29uZmlnLnBtCmluZGV4IDNkNTdhMGE4Li45Mjc0NzE2NSAx
MDA2NDQKLS0tIGEvUFZFL1FlbXVDb25maWcucG0KKysrIGIvUFZFL1FlbXVDb25maWcucG0KQEAg
LTEzLDYgKzEzLDcgQEAgdXNlIFBWRTo6UWVtdVNlcnZlcjo6TW9uaXRvciBxdyhtb25fY21kKTsK
IHVzZSBQVkU6OlFlbXVTZXJ2ZXI7CiB1c2UgUFZFOjpRZW11U2VydmVyOjpNYWNoaW5lOwogdXNl
IFBWRTo6UWVtdVNlcnZlcjo6TWVtb3J5IHF3KGdldF9jdXJyZW50X21lbW9yeSk7Cit1c2UgUFZF
OjpSRVNURW52aXJvbm1lbnQgcXcobG9nX3dhcm4pOwogdXNlIFBWRTo6U3RvcmFnZTsKIHVzZSBQ
VkU6OlRvb2xzOwogdXNlIFBWRTo6Rm9ybWF0IHF3KHJlbmRlcl9ieXRlcyByZW5kZXJfZHVyYXRp
b24pOwpAQCAtNTc4LDQgKzU3OSw4NSBAQCBzdWIgaGFzX2Nsb3VkaW5pdCB7CiAgICAgcmV0dXJu
ICRmb3VuZDsKIH0KIAorIyBDYWxsZXIgaXMgZXhwZWN0ZWQgdG8gZGVhbCB3aXRoIHZvbHVtZXMg
ZnJvbSBhbiBhbHJlYWR5IGV4aXN0aW5nICdmbGVlY2luZycgc3BlY2lhbCBzZWN0aW9uIGluIHRo
ZQorIyBjb25maWd1cmF0aW9uIGZpcnN0Lgorc3ViIHJlY29yZF9mbGVlY2luZ19pbWFnZXMgewor
ICAgIG15ICgkdm1pZCwgJHZvbGlkcykgPSBAXzsKKworICAgIHJldHVybiBpZiBzY2FsYXIoJHZv
bGlkcy0+QCopID09IDA7CisKKyAgICBQVkU6OlFlbXVDb25maWctPmxvY2tfY29uZmlnKCR2bWlk
LCBzdWIgeworCW15ICRjb25mID0gUFZFOjpRZW11Q29uZmlnLT5sb2FkX2NvbmZpZygkdm1pZCk7
CisJJGNvbmYtPnsnc3BlY2lhbC1zZWN0aW9ucyd9LT57ZmxlZWNpbmd9LT57J2ZsZWVjaW5nLWlt
YWdlcyd9ID0gam9pbignLCcsICR2b2xpZHMtPkAqKTsKKwlQVkU6OlFlbXVDb25maWctPndyaXRl
X2NvbmZpZygkdm1pZCwgJGNvbmYpOworICAgIH0pOworfQorCisjIFdpbGwgYWxzbyBjYW5jZWwg
YSBydW5uaW5nIGJhY2t1cCBqb2IgaW5zaWRlIFFFTVUuIE5vdCBkb2luZyBzbyBjYW4gbGVhZCB0
byBhIGRlYWRsb2NrIHdoZW4KKyMgYXR0ZW1wdGluZyB0byBkZXRhY2ggdGhlIGZsZWVjaW5nIGlt
YWdlLgorc3ViIGNsZWFudXBfZmxlZWNpbmdfaW1hZ2VzIHsKKyAgICBteSAoJHZtaWQsICRzdG9y
ZWNmZywgJGxvZ19mdW5jKSA9IEBfOworCisgICAgaWYgKCEkbG9nX2Z1bmMpIHsKKwkkbG9nX2Z1
bmMgPSBzdWIgeworCSAgICBteSAoJGxldmVsLCAkbGluZSkgPSBAXzsKKwkgICAgY2hvbXAoJGxp
bmUpOworCSAgICBpZiAoJGxldmVsIGVxICdpbmZvJykgeworCQlwcmludCAiJGxpbmVcbiI7CisJ
ICAgIH0gZWxzZSB7CisJCWxvZ193YXJuKCRsaW5lKTsKKwkgICAgfQorCX07CisgICAgfQorCisg
ICAgbXkgJHZvbGlkcyA9IFtdOworICAgIG15ICRmYWlsZWQgPSBbXTsKKworICAgICMgY2FuY2Vs
IGxlZnQtb3ZlciBiYWNrdXAgam9iIGFuZCBkZXRhY2ggYW55IGxlZnQtb3ZlciBpbWFnZXMgZnJv
bSBhIHJ1bm5pbmcgVk0KKyAgICBpZiAoUFZFOjpRZW11U2VydmVyOjpIZWxwZXJzOjp2bV9ydW5u
aW5nX2xvY2FsbHkoJHZtaWQpKSB7CisJZXZhbCB7CisJICAgIGlmIChteSAkc3RhdHVzID0gbW9u
X2NtZCgkdm1pZCwgJ3F1ZXJ5LWJhY2t1cCcpKSB7CisJCWlmICgkc3RhdHVzLT57c3RhdHVzfSAm
JiAkc3RhdHVzLT57c3RhdHVzfSBlcSAnYWN0aXZlJykgeworCQkgICAgJGxvZ19mdW5jLT4oJ3dh
cm4nLCAibGVmdC1vdmVyIGJhY2t1cCBqb2Igc3RpbGwgcnVubmluZyBpbnNpZGUgUUVNVSAtIGNh
bmNlbGluZyBub3ciKTsKKwkJICAgIG1vbl9jbWQoJHZtaWQsICdiYWNrdXAtY2FuY2VsJyk7CisJ
CX0KKwkgICAgfQorCX07CisJJGxvZ19mdW5jLT4oJ3dhcm4nLCAiY2hlY2tpbmcvY2FuY2VsaW5n
IG9sZCBiYWNrdXAgam9iIGZhaWxlZCAtICRAIikgaWYgJEA7CisKKwlteSAkYmxvY2tfaW5mbyA9
IG1vbl9jbWQoJHZtaWQsICJxdWVyeS1ibG9jayIpOworCWZvciBteSAkaW5mbyAoJGJsb2NrX2lu
Zm8tPkAqKSB7CisJICAgIG15ICRkZXZpY2VfaWQgPSAkaW5mby0+e2RldmljZX07CisJICAgIG5l
eHQgaWYgJGRldmljZV9pZCAhfiBtLy1mbGVlY2luZyQvOworCisJICAgICRsb2dfZnVuYy0+KCdp
bmZvJywgImRldGFjaGluZyAob2xkKSBmbGVlY2luZyBpbWFnZSBmb3IgJyRkZXZpY2VfaWQnIik7
CisJICAgICRkZXZpY2VfaWQgPX4gcy9eZHJpdmUtLy87ICMgcmUtYWRkZWQgYnkgcWVtdV9kcml2
ZWRlbCgpCisJICAgIGV2YWwgeyBQVkU6OlFlbXVTZXJ2ZXI6OnFlbXVfZHJpdmVkZWwoJHZtaWQs
ICRkZXZpY2VfaWQpIH07CisJICAgICRsb2dfZnVuYy0+KCd3YXJuJywgImVycm9yIGRldGFjaGlu
ZyAob2xkKSBmbGVlY2luZyBpbWFnZSAnJGRldmljZV9pZCcgLSAkQCIpIGlmICRAOworCX0KKyAg
ICB9CisKKyAgICBQVkU6OlFlbXVDb25maWctPmxvY2tfY29uZmlnKCR2bWlkLCBzdWIgeworCW15
ICRjb25mID0gUFZFOjpRZW11Q29uZmlnLT5sb2FkX2NvbmZpZygkdm1pZCk7CisJbXkgJHNwZWNp
YWwgPSAkY29uZi0+eydzcGVjaWFsLXNlY3Rpb25zJ307CisJaWYgKG15ICRmbGVlY2luZyA9ICRz
cGVjaWFsLT57ZmxlZWNpbmd9KSB7CisJICAgICR2b2xpZHMgPSBbUFZFOjpUb29sczo6c3BsaXRf
bGlzdCgkZmxlZWNpbmctPnsnZmxlZWNpbmctaW1hZ2VzJ30pXTsKKwkgICAgZGVsZXRlICRmbGVl
Y2luZy0+eydmbGVlY2luZy1pbWFnZXMnfTsKKwkgICAgZGVsZXRlICRzcGVjaWFsLT57ZmxlZWNp
bmd9IGlmICFzY2FsYXIoa2V5cyAkZmxlZWNpbmctPiUqKTsKKwkgICAgUFZFOjpRZW11Q29uZmln
LT53cml0ZV9jb25maWcoJHZtaWQsICRjb25mKTsKKwl9CisgICAgfSk7CisKKyAgICBmb3IgbXkg
JHZvbGlkICgkdm9saWRzLT5AKikgeworCSRsb2dfZnVuYy0+KCdpbmZvJywgInJlbW92aW5nIChv
bGQpIGZsZWVjaW5nIGltYWdlICckdm9saWQnIik7CisJZXZhbCB7IFBWRTo6U3RvcmFnZTo6dmRp
c2tfZnJlZSgkc3RvcmVjZmcsICR2b2xpZCk7IH07CisJaWYgKG15ICRlcnIgPSAkQCkgeworCSAg
ICAkbG9nX2Z1bmMtPignd2FybicsICJlcnJvciByZW1vdmluZyBmbGVlY2luZyBpbWFnZSAnJHZv
bGlkJyAtICRlcnIiKTsKKwkgICAgcHVzaCAkZmFpbGVkLT5AKiwgJHZvbGlkOworCX0KKyAgICB9
CisKKyAgICByZWNvcmRfZmxlZWNpbmdfaW1hZ2VzKCR2bWlkLCAkZmFpbGVkKTsKK30KKwogMTsK
ZGlmZiAtLWdpdCBhL1BWRS9WWkR1bXAvUWVtdVNlcnZlci5wbSBiL1BWRS9WWkR1bXAvUWVtdVNl
cnZlci5wbQppbmRleCBjZGFhYTNhMi4uNTUzMjUyMTcgMTAwNjQ0Ci0tLSBhL1BWRS9WWkR1bXAv
UWVtdVNlcnZlci5wbQorKysgYi9QVkUvVlpEdW1wL1FlbXVTZXJ2ZXIucG0KQEAgLTUzMywxNSAr
NTMzLDI1IEBAIHN1YiBnZXRfYW5kX2NoZWNrX3Bic19lbmNyeXB0aW9uX2NvbmZpZyB7CiAgICAg
ZGllICJpbnRlcm5hbCBlcnJvciAtIHVuaGFuZGxlZCBjYXNlIGZvciBnZXR0aW5nICYgY2hlY2tp
bmcgUEJTIGVuY3J5cHRpb24gKCRrZXlmaWxlLCAkbWFzdGVyX2tleWZpbGUpISI7CiB9CiAKKyMg
SGVscGVyIGlzIGludGVuZGVkIHRvIGJlIGNhbGxlZCBmcm9tIGFsbG9jYXRlX2ZsZWVjaW5nX2lt
YWdlcygpIG9ubHkuIE90aGVyd2lzZSwgZmxlZWNpbmcgdm9saWRzCisjIGhhdmUgYWxyZWFkeSBi
ZWVuIHJlY29yZGVkIGluIHRoZSBjb25maWd1cmF0aW9uIGFuZCBQVkU6OlFlbXVDb25maWc6OmNs
ZWFudXBfZmxlZWNpbmdfaW1hZ2VzKCkKKyMgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KIG15IHN1
YiBjbGVhbnVwX2ZsZWVjaW5nX2ltYWdlcyB7Ci0gICAgbXkgKCRzZWxmLCAkZGlza3MpID0gQF87
CisgICAgbXkgKCRzZWxmLCAkdm1pZCwgJGRpc2tzKSA9IEBfOworCisgICAgbXkgJGZhaWxlZCA9
IFtdOwogCiAgICAgZm9yIG15ICRkaSAoJGRpc2tzLT5AKikgewogCWlmIChteSAkdm9saWQgPSAk
ZGktPnsnZmxlZWNlLXZvbGlkJ30pIHsKIAkgICAgZXZhbCB7IFBWRTo6U3RvcmFnZTo6dmRpc2tf
ZnJlZSgkc2VsZi0+e3N0b3JlY2ZnfSwgJHZvbGlkKTsgfTsKLQkgICAgJHNlbGYtPmxvZygnd2Fy
bicsICJlcnJvciByZW1vdmluZyBmbGVlY2luZyBpbWFnZSAnJHZvbGlkJyAtICRAIikgaWYgJEA7
CisJICAgIGlmIChteSAkZXJyID0gJEApIHsKKwkJJHNlbGYtPmxvZygnd2FybicsICJlcnJvciBy
ZW1vdmluZyBmbGVlY2luZyBpbWFnZSAnJHZvbGlkJyAtICRlcnIiKTsKKwkJcHVzaCAkZmFpbGVk
LT5AKiwgJHZvbGlkOworCSAgICB9CiAJfQogICAgIH0KKworICAgIFBWRTo6UWVtdUNvbmZpZzo6
cmVjb3JkX2ZsZWVjaW5nX2ltYWdlcygkdm1pZCwgJGZhaWxlZCk7CiB9CiAKIG15IHN1YiBhbGxv
Y2F0ZV9mbGVlY2luZ19pbWFnZXMgewpAQCAtNTQ5LDggKzU1OSw3IEBAIG15IHN1YiBhbGxvY2F0
ZV9mbGVlY2luZ19pbWFnZXMgewogCiAgICAgZGllICJpbnRlcm5hbCBlcnJvciAtIG5vIGZsZWVj
aW5nIHN0b3JhZ2Ugc3BlY2lmaWVkXG4iIGlmICEkZmxlZWNpbmdfc3RvcmVpZDsKIAotICAgICMg
VE9ETyB3aGF0IGFib3V0IHBvdGVudGlhbCBsZWZ0LW92ZXIgaW1hZ2VzIGZyb20gYSBmYWlsZWQg
YXR0ZW1wdD8gSnVzdAotICAgICMgYXV0by1yZW1vdmU/IFdoaWxlIHVubGlrZWx5LCBjb3VsZCBj
b25mbGljdCB3aXRoIG1hbnVhbGx5IGNyZWF0ZWQgaW1hZ2UgZnJvbSB1c2VyLi4uCisgICAgbXkg
JGZsZWVjZV92b2xpZHMgPSBbXTsKIAogICAgIGV2YWwgewogCW15ICRuID0gMDsgIyBjb3VudGVy
IGZvciBmbGVlY2luZyBpbWFnZSBuYW1lcwpAQCAtNTY3LDYgKzU3Niw4IEBAIG15IHN1YiBhbGxv
Y2F0ZV9mbGVlY2luZ19pbWFnZXMgewogCQkkZGktPnsnZmxlZWNlLXZvbGlkJ30gPSBQVkU6OlN0
b3JhZ2U6OnZkaXNrX2FsbG9jKAogCQkgICAgJHNlbGYtPntzdG9yZWNmZ30sICRmbGVlY2luZ19z
dG9yZWlkLCAkdm1pZCwgJGZvcm1hdCwgJG5hbWUsICRzaXplKTsKIAorCQlwdXNoICRmbGVlY2Vf
dm9saWRzLT5AKiwgJGRpLT57J2ZsZWVjZS12b2xpZCd9OworCiAJCSRuKys7CiAJICAgIH0gZWxz
ZSB7CiAJCWRpZSAiaW1wbGVtZW50IG1lICh0eXBlICckZGktPnt0eXBlfScpIjsKQEAgLTU3NCw5
ICs1ODUsMTEgQEAgbXkgc3ViIGFsbG9jYXRlX2ZsZWVjaW5nX2ltYWdlcyB7CiAJfQogICAgIH07
CiAgICAgaWYgKG15ICRlcnIgPSAkQCkgewotCWNsZWFudXBfZmxlZWNpbmdfaW1hZ2VzKCRzZWxm
LCAkZGlza3MpOworCWNsZWFudXBfZmxlZWNpbmdfaW1hZ2VzKCRzZWxmLCAkdm1pZCwgJGRpc2tz
KTsKIAlkaWUgJGVycjsKICAgICB9CisKKyAgICBQVkU6OlFlbXVDb25maWc6OnJlY29yZF9mbGVl
Y2luZ19pbWFnZXMoJHZtaWQsICRmbGVlY2Vfdm9saWRzKTsKIH0KIAogbXkgc3ViIGRldGFjaF9m
bGVlY2luZ19pbWFnZXMgewpAQCAtNjM2LDYgKzY0OSwxMyBAQCBteSBzdWIgY2hlY2tfYW5kX3By
ZXBhcmVfZmxlZWNpbmcgewogCSR1c2VfZmxlZWNpbmcgPSAwOwogICAgIH0KIAorICAgICMgY2xl
YW4gdXAgcG90ZW50aWFsIGxlZnQtb3ZlcnMgZnJvbSBhIHByZXZpb3VzIGF0dGVtcHQKKyAgICBl
dmFsIHsKKwlQVkU6OlFlbXVDb25maWc6OmNsZWFudXBfZmxlZWNpbmdfaW1hZ2VzKAorCSAgICAk
dm1pZCwgJHNlbGYtPntzdG9yZWNmZ30sIHN1YiB7ICRzZWxmLT5sb2coJF9bMF0sICRfWzFdKTsg
fSk7CisgICAgfTsKKyAgICAkc2VsZi0+bG9nKCd3YXJuJywgImF0dGVtcHQgdG8gY2xlYW4gdXAg
bGVmdC1vdmVyIGZsZWVjaW5nIGltYWdlcyBmYWlsZWQgLSAkQCIpIGlmICRAOworCiAgICAgaWYg
KCR1c2VfZmxlZWNpbmcpIHsKIAlteSAoJGRlZmF1bHRfZm9ybWF0LCAkdmFsaWRfZm9ybWF0cykg
PSBQVkU6OlN0b3JhZ2U6OnN0b3JhZ2VfZGVmYXVsdF9mb3JtYXQoCiAJICAgICRzZWxmLT57c3Rv
cmVjZmd9LCAkZmxlZWNpbmdfb3B0cy0+e3N0b3JhZ2V9KTsKQEAgLTExMzIsNyArMTE1MiwxMSBA
QCBzdWIgY2xlYW51cCB7CiAgICAgIyBJZiBWTSB3YXMgc3RhcnRlZCBvbmx5IGZvciBiYWNrdXAs
IGl0IGlzIGFscmVhZHkgc3RvcHBlZCBub3cuCiAgICAgaWYgKFBWRTo6UWVtdVNlcnZlcjo6SGVs
cGVyczo6dm1fcnVubmluZ19sb2NhbGx5KCR2bWlkKSkgewogCSRkZXRhY2hfdHBtc3RhdGVfZHJp
dmUtPigkdGFzaywgJHZtaWQpOwotCWRldGFjaF9mbGVlY2luZ19pbWFnZXMoJHRhc2stPntkaXNr
c30sICR2bWlkKSBpZiAkdGFzay0+eyd1c2UtZmxlZWNpbmcnfTsKKwlpZiAoJHRhc2stPnsndXNl
LWZsZWVjaW5nJ30pIHsKKwkgICAgZGV0YWNoX2ZsZWVjaW5nX2ltYWdlcygkdGFzay0+e2Rpc2tz
fSwgJHZtaWQpOworCSAgICBQVkU6OlFlbXVDb25maWc6OmNsZWFudXBfZmxlZWNpbmdfaW1hZ2Vz
KAorCQkkdm1pZCwgJHNlbGYtPntzdG9yZWNmZ30sIHN1YiB7ICRzZWxmLT5sb2coJF9bMF0sICRf
WzFdKTsgfSk7CisJfQogICAgIH0KIAogICAgIGNsZWFudXBfZmxlZWNpbmdfaW1hZ2VzKCRzZWxm
LCAkdGFzay0+e2Rpc2tzfSkgaWYgJHRhc2stPnsndXNlLWZsZWVjaW5nJ307Ci0tIAoyLjM5LjUK
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHZlLWRl
dmVsIG1haWxpbmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0
cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==