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 4B68C1FF2C7
	for <inbox@lore.proxmox.com>; Wed, 24 Jul 2024 13:20:43 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 828751A9CC;
	Wed, 24 Jul 2024 13:21:17 +0200 (CEST)
Message-ID: <4050129c-55e5-4784-bcf7-ba176a04a14e@proxmox.com>
Date: Wed, 24 Jul 2024 13:21:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
 Christoph Heiss <c.heiss@proxmox.com>
References: <20240718134905.1177775-1-c.heiss@proxmox.com>
 <20240718134905.1177775-17-c.heiss@proxmox.com>
Content-Language: en-US
From: Aaron Lauterer <a.lauterer@proxmox.com>
In-Reply-To: <20240718134905.1177775-17-c.heiss@proxmox.com>
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.188 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
 POISEN_SPAM_PILL          0.1 Meta: its spam
 POISEN_SPAM_PILL_1        0.1 random spam to be learned in bayes
 POISEN_SPAM_PILL_3        0.1 random spam to be learned in bayes
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [setup.rs, main.rs, utils.rs, udevinfo.rs, http.rs, answer.rs,
 proxmox-auto-installer.rs, proxmox.com, options.rs]
Subject: Re: [pve-devel] [PATCH installer v2 16/17] fix #5536: post-hook:
 add utility for sending notifications after auto-install
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-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

VHdvIGZldyBzbWFsbCB0aGluZ3MgaW5saW5lCgpPbiAgMjAyNC0wNy0xOCAgMTU6NDksIENocmlz
dG9waCBIZWlzcyB3cm90ZToKPiBUaGlzIHV0aWxpdHkgY2FuIGJlIGNhbGxlZCB3aXRoIHRoZSBs
b3ctbGV2ZWwgaW5zdGFsbCBjb25maWcgYWZ0ZXIgYQo+IHN1Y2Nlc3NmdWwgaW5zdGFsbGF0aW9u
IHRvIHNlbmQgYSBub3RpZmljYXRpb24gdmlhIGEgSFRUUCBQT1NUIHJlcXVlc3QsCj4gaWYgdGhl
IHVzZXIgaGFzIGNvbmZpZ3VyZWQgYW4gZW5kcG9pbnQgZm9yIHRoYXQgaW4gdGhlIGFuc3dlciBm
aWxlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IENocmlzdG9waCBIZWlzcyA8Yy5oZWlzc0Bwcm94bW94
LmNvbT4KPiAtLS0KPiBDaGFuZ2VzIHYxIC0+IHYyOgo+ICAgICogc3F1YXNoIGltcGxlbWVudGF0
aW9uIGFuZCB1bml0IHRlc3RzIGludG8gb25lIHBhdGNoCj4gICAgKiBzaW1wbGlmeSB1ZGV2IHBy
b3BlcnR5IHJldHJpZXZpbmcgYnkgaW50cm9kdWNpbmcgcHJvcGVyIGhlbHBlcnMgb24KPiAgICAg
IGBVZGV2SW5mb2AgaXRzZWxmCj4gICAgKiByZW5hbWUgQW5zd2VyOjpmcm9tX3JlYWRlcigpIC0+
IEFuc3dlcjo6dHJ5X2Zyb21fcmVhZGVyIHRvIGJldHRlcgo+ICAgICAgcmVmbGVjdCBpdCByZXR1
cm5zIGEgUmVzdWx0PD4KPiAgICAqIGltcHJvdmVkIGVycm9yIG1lc3NhZ2UgaW4gc29tZSBwbGFj
ZXMKPiAgICAqIGFkZGVkIG5ldyBmaWVsZHM7IG5vdyBpbmNsdWRlcyBJU08gdmVyc2lvbiwgU2Vj
dXJlQm9vdCBzdGF0ZSwgQ1BVCj4gICAgICBhbmQgRE1JIGluZm8KPiAgICAqIHByb2R1Y3QgaW5m
b3JtYXRpb24gd2FzIHNwbGl0IGludG8gc2VwYXJhdGUgZmllbGRzCj4gICAgKiBib290IG1vZGUg
aW5mb3JtYXRpb24gd2FzIHNwbGl0IGludG8gc2VwYXJhdGUgZmllbGRzCj4gICAgKiBwcm9kdWN0
IHZlcnNpb24gaXMgbm93IHJldHJpZXZlZCBmcm9tIHRoZSBwYWNrYWdlIHVzaW5nIGRwa2ctcXVl
cnkKPiAgICAgIGRpcmVjdGx5Cj4gICAgKiBrZXJuZWwgdmVyc2lvbiB3YXMgc3BsaXQgaW50byBz
ZXBhcmF0ZSBmaWVsZHMsIHJldHJpZXZpbmcgdmVyc2lvbgo+ICAgICAgc3RyaW5nIGZyb20gdGhl
IGltYWdlIGRpcmVjdGx5Cj4gICAgKiBhbGwgZGlza3MgYW5kIE5JQ3MgYXJlIG5vdyBpbmNsdWRl
ZCwgYSBmaWVsZCBpbmRpY2F0ZXMgd2hldGhlciB0aGV5Cj4gICAgICBhcmUgYm9vdCBkaXNrIG9y
IG1hbmFnZW1lbnQgaW50ZXJmYWNlLCByZXNwZWN0aXZlbHkKPiAgICAqIG1vdmUgd2l0aF9jaHJv
b3QoKSBpbnZvY2F0aW9uIG91dCBvZiBQb3N0SG9va0luZm86OmdhdGhlcigpCj4gCj4gU2lnbmVk
LW9mZi1ieTogQ2hyaXN0b3BoIEhlaXNzIDxjLmhlaXNzQHByb3htb3guY29tPgo+IC0tLQo+ICAg
Q2FyZ28udG9tbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKPiAg
IE1ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCArLQo+
ICAgZGViaWFuL2luc3RhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsK
PiAgIHByb3htb3gtYXV0by1pbnN0YWxsZXIvc3JjL2Fuc3dlci5ycyAgICAgICAgICB8ICAxNiAr
LQo+ICAgLi4uL3NyYy9iaW4vcHJveG1veC1hdXRvLWluc3RhbGxlci5ycyAgICAgICAgIHwgIDEz
ICstCj4gICBwcm94bW94LWF1dG8taW5zdGFsbGVyL3NyYy91ZGV2aW5mby5ycyAgICAgICAgfCAg
IDggKy0KPiAgIC4uLi9zcmMvZmV0Y2hfcGx1Z2lucy9odHRwLnJzICAgICAgICAgICAgICAgICB8
ICAgMiArLQo+ICAgcHJveG1veC1pbnN0YWxsZXItY29tbW9uL3NyYy9odHRwLnJzICAgICAgICAg
IHwgICA2ICstCj4gICBwcm94bW94LWluc3RhbGxlci1jb21tb24vc3JjL29wdGlvbnMucnMgICAg
ICAgfCAgIDUgKwo+ICAgcHJveG1veC1pbnN0YWxsZXItY29tbW9uL3NyYy9zZXR1cC5ycyAgICAg
ICAgIHwgICAyICstCj4gICBwcm94bW94LWluc3RhbGxlci1jb21tb24vc3JjL3V0aWxzLnJzICAg
ICAgICAgfCAgIDIgKwo+ICAgcHJveG1veC1wb3N0LWhvb2svQ2FyZ28udG9tbCAgICAgICAgICAg
ICAgICAgIHwgIDE4ICsKPiAgIHByb3htb3gtcG9zdC1ob29rL3NyYy9tYWluLnJzICAgICAgICAg
ICAgICAgICB8IDc4NCArKysrKysrKysrKysrKysrKysKPiAgIDEzIGZpbGVzIGNoYW5nZWQsIDg0
MyBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBw
cm94bW94LXBvc3QtaG9vay9DYXJnby50b21sCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgcHJveG1v
eC1wb3N0LWhvb2svc3JjL21haW4ucnMKPgoKW+KApl0KCj4gZGlmZiAtLWdpdCBhL3Byb3htb3gt
cG9zdC1ob29rL0NhcmdvLnRvbWwgYi9wcm94bW94LXBvc3QtaG9vay9DYXJnby50b21sCj4gbmV3
IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4zYWNlYTZjCj4gLS0tIC9kZXYvbnVs
bAo+ICsrKyBiL3Byb3htb3gtcG9zdC1ob29rL0NhcmdvLnRvbWwKPiBAQCAtMCwwICsxLDE4IEBA
Cj4gK1twYWNrYWdlXQo+ICtuYW1lID0gInByb3htb3gtcG9zdC1ob29rIgo+ICt2ZXJzaW9uID0g
IjAuMS4wIgo+ICtlZGl0aW9uID0gIjIwMjEiCj4gK2F1dGhvcnMgPSBbCj4gKyAgICAiQ2hyaXN0
b3BoIEhlaXNzIDxjLmhlaXNzQHByb3htb3guY29tPiIsCj4gKyAgICAiUHJveG1veCBTdXBwb3J0
IFRlYW0gPHN1cHBvcnRAcHJveG1veC5jb20+IiwKPiArXQo+ICtsaWNlbnNlID0gIkFHUEwtMyIK
PiArZXhjbHVkZSA9IFsgImJ1aWxkIiwgImRlYmlhbiIgXQo+ICtob21lcGFnZSA9ICJodHRwczov
L3d3dy5wcm94bW94LmNvbSIKPiArCj4gK1tkZXBlbmRlbmNpZXNdCj4gK2FueWhvdy53b3Jrc3Bh
Y2UgPSB0cnVlCj4gK3Byb3htb3gtYXV0by1pbnN0YWxsZXIud29ya3NwYWNlID0gdHJ1ZQo+ICtw
cm94bW94LWluc3RhbGxlci1jb21tb24gPSB7IHdvcmtzcGFjZSA9IHRydWUsIGZlYXR1cmVzID0g
WyJodHRwIl0gfQo+ICtzZXJkZS53b3Jrc3BhY2UgPSB0cnVlCj4gK3NlcmRlX2pzb24ud29ya3Nw
YWNlID0gdHJ1ZQo+IGRpZmYgLS1naXQgYS9wcm94bW94LXBvc3QtaG9vay9zcmMvbWFpbi5ycyBi
L3Byb3htb3gtcG9zdC1ob29rL3NyYy9tYWluLnJzCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBp
bmRleCAwMDAwMDAwLi5kM2U1YjVjCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3Byb3htb3gtcG9z
dC1ob29rL3NyYy9tYWluLnJzCj4gQEAgLTAsMCArMSw3ODQgQEAKPiArLy8hIFBvc3QgaW5zdGFs
bGF0aW9uIGhvb2sgZm9yIHRoZSBQcm94bW94IGluc3RhbGxlciwgbWFpbmx5IGZvciBjb21iaW5h
dGlvbgo+ICsvLyEgd2l0aCB0aGUgYXV0by1pbnN0YWxsZXIuCj4gKy8vIQo+ICsvLyEgSWYgYSBg
W3Bvc3Rob29rXWAgc2VjdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIGdpdmVuIGFuc3dlciBmaWxl
LCBpdCB3aWxsCj4gKy8vISBzZW5kIGEgSFRUUCBQT1NUIHJlcXVlc3QgdG8gdGhhdCBVUkwsIHdp
dGggYW4gb3B0aW9uYWwgY2VydGlmaWNhdGUgZmluZ2VycHJpbnQKPiArLy8hIGZvciB1c2FnZSB3
aXRoIChzZWxmLXNpZ25lZCkgVExTIGNlcnRpZmljYXRlcy4KPiArLy8hIEluIHRoZSBib2R5IG9m
IHRoZSByZXF1ZXN0LCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbmV3bHkgaW5zdGFsbGVkIHN5c3Rl
bSBpcyBzZW50Lgo+ICsvLyEKPiArLy8hIFJlbGllcyBvbiBgcHJveG1veC1jaHJvb3RgIGFzIGFu
IGV4dGVybmFsIGRlcGVuZGVuY3kgdG8gKGJpbmQtKW1vdW50IHRoZQo+ICsvLyEgcHJldmlvdXNs
eSBpbnN0YWxsZWQgc3lzdGVtLgo+ICsKPiArdXNlIHN0ZDo6ewo+ICsgICAgY29sbGVjdGlvbnM6
Okhhc2hTZXQsCj4gKyAgICBmZmk6OkNTdHIsCj4gKyAgICBmczo6e3NlbGYsIEZpbGV9LAo+ICsg
ICAgaW86OkJ1ZlJlYWRlciwKPiArICAgIG9zOjp1bml4Ojpmczo6RmlsZUV4dCwKPiArICAgIHBh
dGg6OlBhdGhCdWYsCj4gKyAgICBwcm9jZXNzOjp7Q29tbWFuZCwgRXhpdENvZGV9LAo+ICt9Owo+
ICsKPiArdXNlIGFueWhvdzo6e2FueWhvdywgYmFpbCwgQ29udGV4dCwgUmVzdWx0fTsKPiArdXNl
IHByb3htb3hfYXV0b19pbnN0YWxsZXI6OnsKPiArICAgIGFuc3dlcjo6e0Fuc3dlciwgUG9zdE5v
dGlmaWNhdGlvbkhvb2tJbmZvfSwKPiArICAgIHVkZXZpbmZvOjp7VWRldkluZm8sIFVkZXZQcm9w
ZXJ0aWVzfSwKPiArfTsKPiArdXNlIHByb3htb3hfaW5zdGFsbGVyX2NvbW1vbjo6ewo+ICsgICAg
b3B0aW9uczo6e0Rpc2ssIEZzVHlwZX0sCj4gKyAgICBzZXR1cDo6ewo+ICsgICAgICAgIGxvYWRf
aW5zdGFsbGVyX3NldHVwX2ZpbGVzLCBCb290VHlwZSwgSW5zdGFsbENvbmZpZywgSXNvSW5mbywg
UHJveG1veFByb2R1Y3QsIFJ1bnRpbWVJbmZvLAo+ICsgICAgICAgIFNldHVwSW5mbywKPiArICAg
IH0sCj4gKyAgICBzeXNpbmZvOjpTeXN0ZW1ETUksCj4gKyAgICB1dGlsczo6Q2lkckFkZHJlc3Ms
Cj4gK307Cj4gK3VzZSBzZXJkZTo6U2VyaWFsaXplOwo+ICsKPiArLy8vIEluZm9ybWF0aW9uIGFi
b3V0IHRoZSBzeXN0ZW0gYm9vdCBzdGF0dXMuCj4gKyNbZGVyaXZlKFNlcmlhbGl6ZSldCj4gK3N0
cnVjdCBCb290SW5mbyB7Cj4gKyAgICAvLy8gV2hldGhlciB0aGUgc3lzdGVtIGlzIGJvb3RlZCB1
c2luZyBVRUZJIG9yIGxlZ2FjeSBCSU9TLgo+ICsgICAgbW9kZTogQm9vdFR5cGUsCj4gKyAgICAv
Ly8gV2hldGhlciBTZWN1cmVCb290IGlzIGVuYWJsZWQgZm9yIHRoZSBpbnN0YWxsYXRpb24uCj4g
KyAgICAjW3NlcmRlKHNraXBfc2VyaWFsaXppbmdfaWYgPSAiT3B0aW9uOjppc19ub25lIildCj4g
KyAgICBzZWN1cmVib290OiBPcHRpb248Ym9vbD4sCj4gK30KPiArCj4gKy8vLyBIb2xkcyBhbGwg
dGhlIHB1YmxpYyBrZXlzIGZvciB0aGUgZGlmZmVyZW50IGFsZ29yaXRobXMgYXZhaWxhYmxlLgo+
ICsjW2Rlcml2ZShTZXJpYWxpemUpXQo+ICtzdHJ1Y3QgU3NoUHVibGljSG9zdEtleXMgewo+ICsg
ICAgLy8gRUNEU0EtYmFzZWQgcHVibGljIGhvc3Qga2V5Cj4gKyAgICBlY2RzYTogU3RyaW5nLAo+
ICsgICAgLy8gRUQyNTUxOS1iYXNlZCBwdWJsaWMgaG9zdCBrZXkKPiArICAgIGVkMjU1MTk6IFN0
cmluZywKPiArICAgIC8vIFJTQS1iYXNlZCBwdWJsaWMgaG9zdCBrZXkKPiArICAgIHJzYTogU3Ry
aW5nLAo+ICt9Cj4gKwo+ICsvLy8gQSBzaW5nbGUgZGlzayBjb25maWd1cmVkIGFzIGJvb3QgZGlz
ay4KSXMgdGhpcyBjb21tZW50IHZhbGlkIHRoaXMgd2F5PyBBRkFJVSB0aGVyZSB3YXMgYSBkZWRp
Y2F0ZWQgc3RydWN0IGZvciAKYm9vdCBkaXNrcyBpbiB0aGUgcHJldmlvdXMgdmVyc2lvbiwgYnV0
IG5vdyB0aGlzIHN0cnVjdCBpcyBmb3IgYWxsIApkaXNrcywgb3B0aW9uYWxseSBtYXJraW5nIGl0
IGFzIGJvb3QgZGlzay4KCj4gKyNbZGVyaXZlKFNlcmlhbGl6ZSldCj4gKyNbc2VyZGUocmVuYW1l
X2FsbCA9ICJrZWJhYi1jYXNlIildCj4gK3N0cnVjdCBEaXNrSW5mbyB7Cj4gKyAgICAvLy8gU2l6
ZSBpbiBieXRlcwo+ICsgICAgc2l6ZTogdXNpemUsCj4gKyAgICAvLy8gU2V0IHRvIHRydWUgaWYg
dGhlIGRpc2sgaXMgdXNlZCBmb3IgYm9vdGluZy4KPiArICAgICNbc2VyZGUoc2tpcF9zZXJpYWxp
emluZ19pZiA9ICJPcHRpb246OmlzX25vbmUiKV0KPiArICAgIGlzX2Jvb3RkaXNrOiBPcHRpb248
Ym9vbD4sCj4gKyAgICAvLy8gUHJvcGVydGllcyBhYm91dCB0aGUgZGV2aWNlIGFzIGdpdmVuIGJ5
IHVkZXYuCj4gKyAgICB1ZGV2X3Byb3BlcnRpZXM6IFVkZXZQcm9wZXJ0aWVzLAo+ICt9Cj4gKwo+
ICsvLy8gSG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1hbmFnZW1lbnQgbmV0d29yayBpbnRl
cmZhY2UuCj4gKyNbZGVyaXZlKFNlcmlhbGl6ZSldCj4gKyNbc2VyZGUocmVuYW1lX2FsbCA9ICJr
ZWJhYi1jYXNlIildCj4gK3N0cnVjdCBOZXR3b3JrSW50ZXJmYWNlSW5mbyB7Cj4gKyAgICAvLy8g
TUFDIGFkZHJlc3Mgb2YgdGhlIGludGVyZmFjZQo+ICsgICAgbWFjOiBTdHJpbmcsCj4gKyAgICAv
Ly8gKERlc2lnbmF0ZWQpIElQIGFkZHJlc3Mgb2YgdGhlIGludGVyZmFjZQo+ICsgICAgI1tzZXJk
ZShza2lwX3NlcmlhbGl6aW5nX2lmID0gIk9wdGlvbjo6aXNfbm9uZSIpXQo+ICsgICAgYWRkcmVz
czogT3B0aW9uPENpZHJBZGRyZXNzPiwKPiArICAgIC8vLyBTZXQgdG8gdHJ1ZSBpZiB0aGUgaW50
ZXJmYWNlIGlzIHRoZSBjaG9zZW4gbWFuYWdlbWVudCBpbnRlcmZhY2UgZHVyaW5nCj4gKyAgICAv
Ly8gaW5zdGFsbGF0aW9uLgo+ICsgICAgI1tzZXJkZShza2lwX3NlcmlhbGl6aW5nX2lmID0gIk9w
dGlvbjo6aXNfbm9uZSIpXQo+ICsgICAgaXNfbWFuYWdlbWVudDogT3B0aW9uPGJvb2w+LAo+ICsg
ICAgLy8vIFByb3BlcnRpZXMgYWJvdXQgdGhlIGRldmljZSBhcyBnaXZlbiBieSB1ZGV2Lgo+ICsg
ICAgdWRldl9wcm9wZXJ0aWVzOiBVZGV2UHJvcGVydGllcywKPiArfQo+ICsKPiArLy8vIEluZm9y
bWF0aW9uIGFib3V0IHRoZSBpbnN0YWxsZWQgcHJvZHVjdCBpdHNlbGYuCj4gKyNbZGVyaXZlKFNl
cmlhbGl6ZSldCj4gKyNbc2VyZGUocmVuYW1lX2FsbCA9ICJrZWJhYi1jYXNlIildCj4gK3N0cnVj
dCBQcm9kdWN0SW5mbyB7Cj4gKyAgICAvLy8gRnVsbCBuYW1lIG9mIHRoZSBwcm9kdWN0Cj4gKyAg
ICBmdWxsbmFtZTogU3RyaW5nLAo+ICsgICAgLy8vIFByb2R1Y3QgYWJicmV2aWF0aW9uCj4gKyAg
ICBzaG9ydDogUHJveG1veFByb2R1Y3QsCj4gKyAgICAvLy8gVmVyc2lvbiBvZiB0aGUgaW5zdGFs
bGVkIHByb2R1Y3QKPiArICAgIHZlcnNpb246IFN0cmluZywKPiArfQo+ICsKPiArLy8vIFRoZSBj
dXJyZW50IGtlcm5lbCB2ZXJzaW9uLgo+ICsvLy8gQWxpZ25zIHdpdGggdGhlIGZvcm1hdCBhcyB1
c2VkIGJ5IHRoZSAvbm9kZXMvPG5vZGU+L3N0YXR1cyBBUEkgb2YgZWFjaCBwcm9kdWN0Lgo+ICsj
W2Rlcml2ZShTZXJpYWxpemUpXQo+ICtzdHJ1Y3QgS2VybmVsVmVyc2lvbkluZm9ybWF0aW9uIHsK
PiArICAgIC8vLyBUaGUgc3lzdGVtbmFtZS9ub2RlbmFtZQo+ICsgICAgcHViIHN5c25hbWU6IFN0
cmluZywKPiArICAgIC8vLyBUaGUga2VybmVsIHJlbGVhc2UgbnVtYmVyCj4gKyAgICBwdWIgcmVs
ZWFzZTogU3RyaW5nLAo+ICsgICAgLy8vIFRoZSBrZXJuZWwgdmVyc2lvbgo+ICsgICAgcHViIHZl
cnNpb246IFN0cmluZywKPiArICAgIC8vLyBUaGUgbWFjaGluZSBhcmNoaXRlY3R1cmUKPiArICAg
IHB1YiBtYWNoaW5lOiBTdHJpbmcsCj4gK30KPiArCj4gKy8vLyBJbmZvcm1hdGlvbiBhYm91dCB0
aGUgQ1BVKHMpIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtCj4gKyNbZGVyaXZlKFNlcmlhbGl6ZSld
Cj4gK3N0cnVjdCBDcHVJbmZvIHsKPiArICAgIC8vLyBOdW1iZXIgb2YgcGh5c2ljYWwgQ1BVIGNv
cmVzLgo+ICsgICAgY29yZXM6IHVzaXplLAo+ICsgICAgLy8vIE51bWJlciBvZiBsb2dpY2FsIENQ
VSBjb3JlcyBha2EuIHRocmVhZHMuCj4gKyAgICBjcHVzOiB1c2l6ZSwKPiArICAgIC8vLyBDUFUg
ZmVhdHVyZSBmbGFnIHNldCBhcyBhIHNwYWNlLWRlbGltaXRlZCBsaXN0Lgo+ICsgICAgZmxhZ3M6
IFN0cmluZywKPiArICAgIC8vLyBXaGV0aGVyIGhhcmR3YXJlLWFjY2VsZXJhdGVkIHZpcnR1YWxp
emF0aW9uIGlzIHN1cHBvcnRlZC4KPiArICAgIGh2bTogYm9vbCwKPiArICAgIC8vLyBSZXBvcnRl
ZCBtb2RlbCBvZiB0aGUgQ1BVKHMpCj4gKyAgICBtb2RlbDogU3RyaW5nLAo+ICsgICAgLy8vIE51
bWJlciBvZiBwaHlzaWNhbCBDUFUgc29ja2V0cwo+ICsgICAgc29ja2V0czogdXNpemUsCj4gK30K
PiArCj4gKy8vLyBBbGwgZGF0YSBzZW50IGFzIHJlcXVlc3QgcGF5bG9hZCB3aXRoIHRoZSBwb3N0
LWhvb2sgUE9TVCByZXF1ZXN0Lgo+ICsjW2Rlcml2ZShTZXJpYWxpemUpXQo+ICsjW3NlcmRlKHJl
bmFtZV9hbGwgPSAia2ViYWItY2FzZSIpXQo+ICtzdHJ1Y3QgUG9zdEhvb2tJbmZvIHsKPiArICAg
IC8vLyBtYWpvci5taW5vciB2ZXJzaW9uIG9mIERlYmlhbiBhcyBpbnN0YWxsZWQsIHJldHJpZXZl
ZCBmcm9tIC9ldGMvZGViaWFuX3ZlcnNpb24KPiArICAgIGRlYmlhbl92ZXJzaW9uOiBTdHJpbmcs
Cj4gKyAgICAvLy8gUFZFL1BNRy9QQlMgdmVyc2lvbiBhcyByZXBvcnRlZCBieSBgcHZldmVyc2lv
bmAsIGBwbWd2ZXJzaW9uYCBvcgo+ICsgICAgLy8vIGBwcm94bW94LWJhY2t1cC1tYW5hZ2VyIHZl
cnNpb25gLCByZXNwZWN0aXZlbHkuCj4gKyAgICBwcm9kdWN0OiBQcm9kdWN0SW5mbywKPiArICAg
IC8vLyBSZWxlYXNlIGluZm9ybWF0aW9uIGZvciB0aGUgSVNPIHVzZWQgZm9yIHRoZSBpbnN0YWxs
YXRpb24uCj4gKyAgICBpc286IElzb0luZm8sCj4gKyAgICAvLy8gSW5zdGFsbGVkIGtlcm5lbCB2
ZXJzaW9uCj4gKyAgICBrZXJuZWxfdmVyc2lvbjogS2VybmVsVmVyc2lvbkluZm9ybWF0aW9uLAo+
ICsgICAgLy8vIERlc2NyaWJlcyB0aGUgYm9vdCBtb2RlIG9mIHRoZSBtYWNoaW5lIGFuZCB0aGUg
U2VjdXJlQm9vdCBzdGF0dXMuCj4gKyAgICBib290X2luZm86IEJvb3RJbmZvLAo+ICsgICAgLy8v
IEluZm9ybWF0aW9uIGFib3V0IHRoZSBpbnN0YWxsZWQgQ1BVKHMpCj4gKyAgICBjcHVfaW5mbzog
Q3B1SW5mbywKPiArICAgIC8vLyBETUkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN5c3RlbQo+ICsg
ICAgZG1pOiBTeXN0ZW1ETUksCj4gKyAgICAvLy8gRmlsZXN5c3RlbSB1c2VkIGZvciBib290IGRp
c2socykKPiArICAgIGZpbGVzeXN0ZW06IEZzVHlwZSwKPiArICAgIC8vLyBGdWxseSBxdWFsaWZp
ZWQgZG9tYWluIG5hbWUgb2YgdGhlIGluc3RhbGxlZCBzeXN0ZW0KPiArICAgIGZxZG46IFN0cmlu
ZywKPiArICAgIC8vLyBVbmlxdWUgc3lzdGVtZC1pZDEyOCBpZGVudGlmaWVyIG9mIHRoZSBpbnN0
YWxsZWQgc3lzdGVtICgxMjgtYml0LCAxNiBieXRlcykKPiArICAgIG1hY2hpbmVfaWQ6IFN0cmlu
ZywKPiArICAgIC8vLyBBbGwgZGlza3MgZGV0ZWN0ZWQgb24gdGhlIHN5c3RlbS4KPiArICAgIGRp
c2tzOiBWZWM8RGlza0luZm8+LAo+ICsgICAgLy8vIEFsbCBuZXR3b3JrIGludGVyZmFjZXMgZGV0
ZWN0ZWQgb24gdGhlIHN5c3RlbS4KPiArICAgIG5ldHdvcmtfaW50ZXJmYWNlczogVmVjPE5ldHdv
cmtJbnRlcmZhY2VJbmZvPiwKPiArICAgIC8vLyBQdWJsaWMgcGFydHMgb2YgU1NIIGhvc3Qga2V5
cyBvZiB0aGUgaW5zdGFsbGVkIHN5c3RlbQo+ICsgICAgc3NoX3B1YmxpY19ob3N0X2tleXM6IFNz
aFB1YmxpY0hvc3RLZXlzLAo+ICt9Cj4gKwo+ICsvLy8gRGVmaW5lcyB0aGUgc2l6ZSBvZiBhIGdp
YmlieXRlIGluIGJ5dGVzLgo+ICtjb25zdCBTSVpFX0dJQjogdXNpemUgPSAxMDI0ICogMTAyNCAq
IDEwMjQ7Cj4gKwo+ICtpbXBsIFBvc3RIb29rSW5mbyB7Cj4gKyAgICAvLy8gR2F0aGVycyBhbGwg
bmVlZGVkIGluZm9ybWF0aW9uIGFib3V0IHRoZSBuZXdseSBpbnN0YWxsZWQgc3lzdGVtIGZvciBz
ZW5kaW5nCj4gKyAgICAvLy8gaXQgdG8gYSBzcGVjaWZpZWQgc2VydmVyLgo+ICsgICAgLy8vCj4g
KyAgICAvLy8gIyBBcmd1bWVudHMKPiArICAgIC8vLwo+ICsgICAgLy8vICogYHRhcmdldF9wYXRo
YCAtIFBhdGggdG8gd2hlcmUgdGhlIGNocm9vdCBlbnZpcm9ubWVudCByb290IGlzIG1vdW50ZWQK
PiArICAgIC8vLyAqIGBhbnN3ZXJgIC0gQW5zd2VyIGZpbGUgYXMgcHJvdmlkZWQgYnkgdGhlIHVz
ZXIKPiArICAgIGZuIGdhdGhlcih0YXJnZXRfcGF0aDogJnN0ciwgYW5zd2VyOiAmQW5zd2VyKSAt
PiBSZXN1bHQ8U2VsZj4gewo+ICsgICAgICAgIHByaW50bG4hKCJHYXRoZXJpbmcgaW5zdGFsbGVk
IHN5c3RlbSBkYXRhIC4uIik7ClRoZSB0aHJlZSBkb3RzIGF0IHRoZSBlbmQgY2FuIG1vc3QgbGlr
ZWx5IGJlIGVpdGhlciAzIChvciBVVEYtOCAzLWRvdHMpIApvciBqdXN0IG9uZT8KPiArCj4gKyAg
ICAgICAgbGV0IGNvbmZpZzogSW5zdGFsbENvbmZpZyA9Cj4gKyAgICAgICAgICAgIHNlcmRlX2pz
b246OmZyb21fcmVhZGVyKEJ1ZlJlYWRlcjo6bmV3KEZpbGU6Om9wZW4oIi90bXAvbG93LWxldmVs
LWNvbmZpZy5qc29uIik/KSk/Owo+ICsKW+KApl0KCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBs
aXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1h
bi9saXN0aW5mby9wdmUtZGV2ZWwK