Bug#1143148: trixie-pu: package python-aiohttp/3.11.16-1+deb13u2

Daniel Leidert <[email protected]> Fri, 31 Jul 2026 04:16:48 +0200
Newsgroups gmane.linux.debian.devel.release
Message-ID <178546420831.57645.9900367798367185891.reportbug__15652.4258478143$1785465570$gmane$org@gargravarr>
This is a multi-part MIME message sent by reportbug.


--===============6953262065481897976==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected]
Control: affects -1 + src:python-aiohttp
User: [email protected]
Usertags: pu

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

[ Reason ]

This update adresses a list of CVEs which should either be fixed via DSA or via
SPU. These are the CVEs fixed:

  * CVE-2025-53643
  * CVE-2026-22815
  * CVE-2026-34513
  * CVE-2026-34514
  * CVE-2026-34516
  * CVE-2026-34517
  * CVE-2026-34518
  * CVE-2026-34519
  * CVE-2026-34520
  * CVE-2026-34525
  * CVE-2026-34993
  * CVE-2026-47265
  * CVE-2026-50269
  * CVE-2026-54274
  * CVE-2026-54275
  * CVE-2026-54277
  * CVE-2026-54279
  * CVE-2026-54280

[ Impact ]

If the update is not applied, users will continue to be vulnerable to the
issues addressed with this update.

[ Tests ]

I have added an autopkgtest to run the upstream tests. Whenever upstream added
tests to their patchsets, I have backported them as well. All tests succeed.

[ Risks ]

The main risk are regressions. I have enabled the upstream tests to catch any
regressions. All tests succeed, though. So the probability of regressions
should be low(ered).

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]

See debian/changelog in the attached debdiff.

[ Other info ]

I have decided to not address CVE-2026-54273. The backport requires extensive
code changes. Without them, only a questionable (IMHO) partial fix is possible.
Thus, this issue is not part of the list of addressed CVEs.

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEvu1N7VVEpMA+KD3HS80FZ8KW0F0FAmpsBY8ACgkQS80FZ8KW
0F3wbg//Yqbx5e3Tq6XeYKMlpDkc0tj27t6iINNVp8nyzWH7EmiKZeBHOR4PjehC
IGhYj2OXnFJMb38Ygb5hwdNHZfhQluzvEnG7XWEXhA1mOONLM7qNlwjQYh5bYtqn
WyYFozps41/DhNEdh+SVN+ELm3Xqxe0LBXwoU67sXo5rsvmxhs7hv8/zTX5Ue4uv
THpqg1iaqZgpc/WKpruDwlo7SUjE2+CeK3fj0Q2ckN871oMRR7hk8a0+6XcRVuTf
5s0pOoYw44oDIX1t7qSHRMNOt62Vq6Y2I4gxOfooq0gDhxihKv+bsOt4T/4OS6iI
3ebDJ8XRQtcKYCC3nIOT0LCT8eXH6xAMsuKYF4REOOmLVEq4lEcaBlNOT+Gl3s4x
yhXvO4YaQzk4I1gu8aZ9xfnWR5UMoxpxAOoXlTGpFvUdO2z7+UUDodDF+ekMejPx
b1flfOaS7zdzSgNftYUWx4YdqXAsCNexh9fBlKm28TQUF1r5vx5KIti/VI21oDlp
gTH+fg4c2W7HEaa2ExnfGRHvLKz3Db7CMlboDb8Q7YNE6LLAVuONVLiFlAca8dMw
Df9ZWmipcAVQxoPrSJMmRVOiE7cwXWtkNIG2gt3vrdI9GdJDiTAxatsd+Kj5K880
5PzDnveUQpeNaMb5wCDDcbK6Z2z69aXTgEGsFrNqwL80Gmpjja0=
=j6ph
-----END PGP SIGNATURE-----

--===============6953262065481897976==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="python-aiohttp_3.11.16-1+deb13u2.debdiff"

ZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL2NoYW5nZWxvZyBweXRob24t
YWlvaHR0cC0zLjExLjE2L2RlYmlhbi9jaGFuZ2Vsb2cKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEu
MTYvZGViaWFuL2NoYW5nZWxvZwkyMDI2LTA0LTIxIDIxOjAwOjQ1LjAwMDAwMDAwMCArMDIwMAor
KysgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vY2hhbmdlbG9nCTIwMjYtMDctMzEgMDM6
NTA6MzIuMDAwMDAwMDAwICswMjAwCkBAIC0xLDMgKzEsNzAgQEAKK3B5dGhvbi1haW9odHRwICgz
LjExLjE2LTErZGViMTN1MikgdHJpeGllOyB1cmdlbmN5PW1lZGl1bQorCisgICogTm9uLW1haW50
YWluZXIgdXBsb2FkIGJ5IHRoZSBEZWJpYW4gTFRTIHRlYW0uCisgICogRW5hYmxlIHVwc3RyZWFt
IHRlc3RzIHZpYSBhdXRvcGtndGVzdCBhbmQgcmVjcmVhdGUgYWlvaHR0cC9faHR0cF9wYXJzZXIu
YworICAgIGFuZCBhaW9odHRwL193ZWJzb2NrZXQvcmVhZGVyX2MuYyB0byBhY3R1YWxseSBhcHBs
eSB0aGUgY29kZS1jaGFuZ2VzIHRvIHRoZQorICAgIHNvdXJjZSBmaWxlLiBUaGlzIGZpeGVzIG11
bHRpcGxlIHRlc3RzIGFzIHdlbGwuCisgICogZC9wYXRjaGVzL0NWRS0yMDI1LTUzNjQzLnBhdGNo
OiBBZGQgcGF0Y2ggdG8gZml4IENWRS0yMDI1LTUzNjQzLgorICAgIC0gRml4IGEgcmVxdWVzdCBz
bXVnZ2xpbmcgdnVsbmVyYWJpbGl0eSBkdWUgdG8gbm90IHBhcnNpbmcgdHJhaWxlciBzZWN0aW9u
cworICAgICAgb2YgYW4gSFRUUCByZXF1ZXN0LgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi0yMjgx
NS5wYXRjaDogQWRkIHBhdGNoIHRvIGZpeCBDVkUtMjAyNi0yMjgxNS4KKyAgICAtIEZpeCBhbiB1
bmNhcHBlZCBtZW1vcnkgdXNhZ2UgZHVlIHRvIGluc3VmZmljaWVudCByZXN0cmljdGlvbnMgaW4g
aGVhZGVyCisgICAgICBhbmQgdHJhaWxlciBoYW5kbGluZy4KKyAgKiBkL3BhdGNoZXMvQ1ZFLTIw
MjYtMzQ1MTMucGF0Y2g6IEFkZCBwYXRjaCB0byBmaXggQ1ZFLTIwMjYtMzQ1MTMuCisgICAgLSBG
aXggYW4gZXhjZXNzaXZlIG1lbW9yeSB1c2FnZSBwb3NzaWJseSByZXN1bHRpbmcgaW4gYSBEb1Mg
ZHVlIHRvIGFuIGFuCisgICAgICB1bmJvdW5kZWQgRE5TIGNhY2hlLgorICAqIGQvcGF0Y2hlcy9D
VkUtMjAyNi0zNDUxNC5wYXRjaDogQWRkIHBhdGNoIHRvIGZpeCBDVkUtMjAyNi0zNDUxNC4KKyAg
ICAtIEZpeCBhIGhlYWRlciBpbmplY3Rpb24uCisgICogZC9wYXRjaGVzL0NWRS0yMDI2LTM0NTE2
LnBhdGNoOiBBZGQgcGF0Y2ggdG8gZml4IENWRS0yMDI2LTM0NTE2LgorICAgIC0gRml4IGEgcG90
ZW50aWFsIERvUyB2dWxuZXJhYmlsaXR5IGNhdXNlZCBieSBhIHJlc3BvbnNlIHdpdGggYW4gZXhj
ZXNzaXZlCisgICAgICBudW1iZXIgb2YgbXVsdGlwYXJ0IGhlYWRlcnMuCisgICogZC9wYXRjaGVz
L0NWRS0yMDI2LTM0NTE3LnBhdGNoOiBBZGQgcGF0Y2ggdG8gZml4IENWRS0yMDI2LTM0NTE3Lgor
ICAgIC0gRml4IGEgcG9zc2libGUgZXhjZXNzaXZlIG1lbW9yeSB1c2FnZSBjYXVzZWQgYnkgc29t
ZSBtdWx0aXBhcnQgZm9ybQorICAgICAgZmllbGRzIGR1ZSB0byByZWFkaW5nIHRoZSBlbnRpcnkg
ZmllbGQgaW50byBtZW1vcnkgYmVmb3JlIGNoZWNraW5nCisgICAgICBjbGllbnRfbWF4X3NpemUu
CisgICogZC9wYXRjaGVzL0NWRS0yMDI2LTM0NTE4LnBhdGNoOiBBZGQgcGF0Y2ggdG8gZml4IENW
RS0yMDI2LTM0NTE4LgorICAgIC0gRml4IGxlYWtpbmcgc2Vuc2l0aXZlIGluZm9ybWF0aW9uIGJ5
IGRyb3BwaW5nIHRoZSBDb29raWUgYW5kIHRoZQorICAgICAgUHJveHktQXV0aG9yaXphdGlvbiBo
ZWFkZXJzIFdoZW4gZm9sbG93aW5nIHJlZGlyZWN0cyB0byBhIGRpZmZlcmVudAorICAgICAgb3Jp
Z2luLgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi0zNDUxOS5wYXRjaDogQWRkIHBhdGNoIHRvIGZp
eCBDVkUtMjAyNi0zNDUxOS4KKyAgICAtIEZpeCBhIGhlYWRlciBpbmplY3Rpb24gdmlhIHRoZSBy
ZWFzb24gcGFyYW1ldGVyLgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi0zNDUyMC5wYXRjaDogQWRk
IHBhdGNoIHRvIGZpeCBDVkUtMjAyNi0zNDUyMC4KKyAgICAtIEZpeCBhIHBvc3NpYmxlIHNlY3Vy
aXR5IGJ5cGFzcyBieSBjaGVja2luZyBoZWFkZXIgdmFsdWVzIGZvciBjb250cm9sCisgICAgICBj
aGFyYWN0ZXJzIGFjY29yZGluZ2x5IHRvIFJGQyA5MTEwLgorICAqIGQvcGF0Y2hlcy9DVkUtMjAy
Ni0zNDUyNS0xLnBhdGNoLCBkL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MjUtMi5wYXRjaDogQWRkCisg
ICAgcGF0Y2hlcyB0byBmaXggQ1ZFLTIwMjYtMzQ1MjUuCisgICAgLSBEaXNhbGxvdyBkdXBsaWNh
dGUgaGVhZGVycywgbGlrZSBob3N0IGhlYWRlcnMsIGV4Y2VwdCBmb3IgaW4gbGF4IG1vZGUuCisg
ICogZC9wYXRjaGVzL0NWRS0yMDI2LTM0OTkzLnBhdGNoOiBBZGQgcGF0Y2ggdG8gZml4IENWRS0y
MDI2LTM0OTkzLgorICAgIC0gRml4IGFuIGFyYml0cmFyeSBjb2RlIGV4ZWN1dGlvbiB2dWxuZXJh
YmlsaXR5IHdoZW4gdXNpbmcgQ29va2llSmFyLmxvYWQoKQorICAgICAgd2l0aCB1bnRydXN0ZWQg
aW5wdXQgKGNsb3NlczogIzExMzg3ODEpLgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi00NzI2NS5w
YXRjaDogQWRkIHBhdGNoIHRvIGZpeCBDVkUtMjAyNi00NzI2NS4KKyAgICAtIEZpeCBhIHBvc3Np
YmxlIGRhdGEgbGVhayAoY2xvc2VzOiAjMTEzODc4MCkuCisgICogZC9wYXRjaGVzL0NWRS0yMDI2
LTUwMjY5LnBhdGNoOiBBZGQgcGF0Y2ggdG8gZml4IENWRS0yMDI2LTUwMjY5LgorICAgIC0gRml4
IGEgcG9zc2libGUgaGVhZGVyIGluamVjdGlvbi4gQW4gYXR0YWNrZXItY29udHJvbGxlZCBpbnB1
dCBpbmNsdWRlZAorICAgICAgaW50byBtdWx0aXBhcnQvcGF5bG9hZCBoZWFkZXJzIGNhbiBiZSB1
c2VkIHRvIG1vZGlmeSBhIHJlcXVlc3QgdG8gaW5qZWN0CisgICAgICBhZGRpdGlvbmFsIGhlYWRl
cnMgb3Igc2ltaWxhci4KKyAgKiBkL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzQucGF0Y2g6IEFkZCBw
YXRjaCB0byBmaXggQ1ZFLTIwMjYtNTQyNzQuCisgICAgLSBGaXggYW4gaXNzdWUgd2hlcmUgYW4g
YXR0YWNrZXIgc2VuZHMgbGFyZ2UgaW5jb21wbGV0ZSB3ZWJzb2NrZXQgZnJhbWUKKyAgICAgIHBh
eWxvYWRzIGFuZCBieXBhc3NlcyB0aGUgdXN1YWwgc2l6ZSBsaW1pdHMgb24gbWVtb3J5IHVzZS4K
KyAgKiBkL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzUucGF0Y2g6IEFkZCBwYXRjaCB0byBmaXggQ1ZF
LTIwMjYtNTQyNzUuCisgICAgLSBGaXggYW4gaXNzdWUgd2hlcmUgaWYgYW4gYXBwbGljYXRpb24g
bWFrZXMgbXVsdGlwbGUgcmVxdWVzdHMgdG8gdGhlIHNhbWUKKyAgICAgIGRvbWFpbiwgYnV0IHdp
dGggZGlmZmVyZW50IHBlci1yZXF1ZXN0IHNlcnZlcl9ob3N0bmFtZSBwYXJhbWV0ZXJzLCB0aGVu
CisgICAgICB0aGUgbGF0ZXIgY2FsbHMgbWF5IHN1Y2NlZWQgYnkgcmV1c2luZyB0aGUgZXhpc3Rp
bmcgY29ubmVjdGlvbiB3aGVuIHRoZXkKKyAgICAgIHNob3VsZCBoYXZlIGJlZW4gcmVqZWN0ZWQg
ZHVlIHRvIHRoZSBUTFMgU05JIGNoZWNrLgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi01NDI3Ny5w
YXRjaDogQWRkIHBhdGNoIHRvIGZpeCBDVkUtMjAyNi01NDI3Ny4KKyAgICAtIEZpeCBhbiBpc3N1
ZSB3aGVyZSBhbiBhdHRhY2tlciBtYXkgYmUgYWJsZSB0byBzZW5kIG92ZXJzaXplZCBsaW5lcwor
ICAgICAgdGhyb3VnaCB0aGUgSFRUUCBwYXJzZXIgYW5kIHVzZSBhbiBleGNlc3NpdmUgYW1vdW50
IG9mIG1lbW9yeSwKKyAgICAgIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gRG9TLgorICAqIGQvcGF0
Y2hlcy9DVkUtMjAyNi01NDI3OS5wYXRjaDogQWRkIHBhdGNoIHRvIGZpeCBDVkUtMjAyNi01NDI3
OS4KKyAgICAtIEZpeCBhbiBpc3N1ZSB3aGVyZSBob3N0LW9ubHkgY29va2llcyB0aGF0IGFyZSBz
YXZlZCB3aXRoIENvb2tpZUphci5zYXZlKCkKKyAgICAgIGFuZCB0aGVuIGxhdGVyIHJlc3RvcmVk
IHdpdGggQ29va2llSmFyLmxvYWQoKSBsb3NlIHRoZWlyIGhvc3Qtb25seQorICAgICAgc3RhdHVz
LgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi01NDI4MC5wYXRjaDogQWRkIHBhdGNoIHRvIGZpeCBD
VkUtMjAyNi01NDI4MC4KKyAgICAtIEZpeCBhIHBvc3NpYmxlIHJlc291cmNlIHN0YXJ2YXRpb24g
Y2F1c2VkIHdoZW4gcGF5bG9hZCByZXNvdXJjZXMgYXJlIG5vdAorICAgICAgY2xvc2VkIGNvcnJl
Y3RseSB3aGVuIGEgY2xpZW50IGRpc2Nvbm5lY3RzIGluIHRoZSBtaWRkbGUgb2YgYSB3cml0ZS4K
KworIC0tIERhbmllbCBMZWlkZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3JnPiAgRnJpLCAzMSBKdWwg
MjAyNiAwMzo1MDozMiArMDIwMAorCiBweXRob24tYWlvaHR0cCAoMy4xMS4xNi0xK2RlYjEzdTEp
IHRyaXhpZS1zZWN1cml0eTsgdXJnZW5jeT1tZWRpdW0KIAogICAqIENWRS0yMDI1LTY5MjIzCmRp
ZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9nYnAuY29uZiBweXRob24tYWlv
aHR0cC0zLjExLjE2L2RlYmlhbi9nYnAuY29uZgotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9k
ZWJpYW4vZ2JwLmNvbmYJMjAyNS0wNC0wNSAxNDo0NDowNC4wMDAwMDAwMDAgKzAyMDAKKysrIHB5
dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL2dicC5jb25mCTIwMjYtMDctMzEgMDM6NTA6MzIu
MDAwMDAwMDAwICswMjAwCkBAIC0xLDIgKzEsMyBAQAogW0RFRkFVTFRdCitkZWJpYW4tYnJhbmNo
ID0gZGViaWFuL3RyaXhpZQogcHJpc3RpbmUtdGFyID0gVHJ1ZQpkaWZmIC1OcnUgcHl0aG9uLWFp
b2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNS01MzY0My5wYXRjaCBweXRob24t
YWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI1LTUzNjQzLnBhdGNoCi0tLSBw
eXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI1LTUzNjQzLnBhdGNo
CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBweXRob24tYWlvaHR0cC0z
LjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI1LTUzNjQzLnBhdGNoCTIwMjYtMDctMzEgMDM6
NTA6MzIuMDAwMDAwMDAwICswMjAwCkBAIC0wLDAgKzEsNTEyIEBACitGcm9tOiBTYW0gQnVsbCA8
Z2l0QHNhbWJ1bGwub3JnPgorRGF0ZTogV2VkLCA5IEp1bCAyMDI1IDE5OjU1OjIyICswMTAwCitT
dWJqZWN0OiBBZGQgdHJhaWxlciBwYXJzaW5nIGxvZ2ljICgjMTEyNjkpICgjMTEyODcpCisKKyhj
aGVycnkgcGlja2VkIGZyb20gY29tbWl0IDdkZDRiNTUzNWU2YmY5YzJkMmYwNWZkZTYzODUxN2Jm
ZjA2NWJhNzQpCisKK1Jldmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8ZGxlaWRlcnRAZGViaWFu
Lm9yZz4KK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvY29tbWl0
L2U4ZDc3NGY2MzVkYzZkMWNkMzE3NGQwZTM4ODkxZGE1ZGUwZTJiNmEKK0J1ZzogaHR0cHM6Ly9n
aXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLTk1NDgt
cXJyai14NXBqCitCdWctRGViaWFuLVNlY3VyaXR5OiBodHRwczovL3NlY3VyaXR5LXRyYWNrZXIu
ZGViaWFuLm9yZy90cmFja2VyL0NWRS0yMDI1LTUzNjQzCitCdWctRnJlZXhpYW4tU2VjdXJpdHk6
IGh0dHBzOi8vZGViLmZyZWV4aWFuLmNvbS9leHRlbmRlZC1sdHMvdHJhY2tlci9DVkUtMjAyNS01
MzY0MworLS0tCisgYWlvaHR0cC9odHRwX3BhcnNlci5weSAgICB8ICA3MCArKysrKysrKysrKy0t
LS0tLS0tLS0tCisgYWlvaHR0cC9tdWx0aXBhcnQucHkgICAgICB8ICAgMiArLQorIHRlc3RzL3Rl
c3RfaHR0cF9wYXJzZXIucHkgfCAxNDggKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgMTIxIGRl
bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWlvaHR0cC9odHRwX3BhcnNlci5weSBiL2Fpb2h0
dHAvaHR0cF9wYXJzZXIucHkKK2luZGV4IDk2YjlmMzQuLjZkNzZhYzIgMTAwNjQ0CistLS0gYS9h
aW9odHRwL2h0dHBfcGFyc2VyLnB5CisrKysgYi9haW9odHRwL2h0dHBfcGFyc2VyLnB5CitAQCAt
MTQzLDggKzE0Myw4IEBAIGNsYXNzIEhlYWRlcnNQYXJzZXI6CisgICAgICAgICAjIG5vdGU6ICJy
YXciIGRvZXMgbm90IG1lYW4gaW5jbHVzaW9uIG9mIE9XUyBiZWZvcmUvYWZ0ZXIgdGhlIGZpZWxk
IHZhbHVlCisgICAgICAgICByYXdfaGVhZGVycyA9IFtdCisgCistICAgICAgICBsaW5lc19pZHgg
PSAxCistICAgICAgICBsaW5lID0gbGluZXNbMV0KKysgICAgICAgIGxpbmVzX2lkeCA9IDAKKysg
ICAgICAgIGxpbmUgPSBsaW5lc1tsaW5lc19pZHhdCisgICAgICAgICBsaW5lX2NvdW50ID0gbGVu
KGxpbmVzKQorIAorICAgICAgICAgd2hpbGUgbGluZToKK0BAIC00MDMsNiArNDAzLDcgQEAgY2xh
c3MgSHR0cFBhcnNlcihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXNwb25zZV93aXRoX2JvZHk9c2VsZi5yZXNwb25zZV93aXRoX2Jv
ZHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvX2RlY29tcHJlc3M9c2Vs
Zi5fYXV0b19kZWNvbXByZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF4
PXNlbGYubGF4LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyc19wYXJz
ZXI9c2VsZi5faGVhZGVyc19wYXJzZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHBheWxvYWRfcGFyc2VyLmRvbmU6
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXlsb2FkX3BhcnNlciA9
IHBheWxvYWRfcGFyc2VyCitAQCAtNDIxLDYgKzQyMiw3IEBAIGNsYXNzIEh0dHBQYXJzZXIoYWJj
LkFCQywgR2VuZXJpY1tfTXNnVF0pOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29tcHJlc3Npb249bXNnLmNvbXByZXNzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYXV0b19kZWNvbXByZXNzPXNlbGYuX2F1dG9fZGVjb21wcmVzcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxheD1zZWxmLmxheCwKKysgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlYWRlcnNfcGFyc2VyPXNlbGYuX2hlYWRlcnNfcGFyc2VyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiBu
b3QgZW1wdHlfYm9keSBhbmQgbGVuZ3RoIGlzIE5vbmUgYW5kIHNlbGYucmVhZF91bnRpbF9lb2Y6
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBheWxvYWQgPSBTdHJlYW1SZWFkZXIoCitA
QCAtNDM5LDYgKzQ0MSw3IEBAIGNsYXNzIEh0dHBQYXJzZXIoYWJjLkFCQywgR2VuZXJpY1tfTXNn
VF0pOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2Vfd2l0aF9ib2R5
PXNlbGYucmVzcG9uc2Vfd2l0aF9ib2R5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYXV0b19kZWNvbXByZXNzPXNlbGYuX2F1dG9fZGVjb21wcmVzcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxheD1zZWxmLmxheCwKKysgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlYWRlcnNfcGFyc2VyPXNlbGYuX2hlYWRlcnNfcGFyc2VyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5v
dCBwYXlsb2FkX3BhcnNlci5kb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5fcGF5bG9hZF9wYXJzZXIgPSBwYXlsb2FkX3BhcnNlcgorQEAgLTQ3Niw2ICs0NzksMTAg
QEAgY2xhc3MgSHR0cFBhcnNlcihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6CisgCisgICAgICAg
ICAgICAgICAgICAgICBlb2YgPSBUcnVlCisgICAgICAgICAgICAgICAgICAgICBkYXRhID0gYiIi
CisrICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKAorKyAgICAgICAgICAgICAgICAg
ICAgICAgIHVuZGVybHlpbmdfZXhjLCAoSW52YWxpZEhlYWRlciwgVHJhbnNmZXJFbmNvZGluZ0Vy
cm9yKQorKyAgICAgICAgICAgICAgICAgICAgKToKKysgICAgICAgICAgICAgICAgICAgICAgICBy
YWlzZQorIAorICAgICAgICAgICAgICAgICBpZiBlb2Y6CisgICAgICAgICAgICAgICAgICAgICBz
dGFydF9wb3MgPSAwCitAQCAtNjM2LDcgKzY0Myw3IEBAIGNsYXNzIEh0dHBSZXF1ZXN0UGFyc2Vy
KEh0dHBQYXJzZXJbUmF3UmVxdWVzdE1lc3NhZ2VdKToKKyAgICAgICAgICAgICBjb21wcmVzc2lv
biwKKyAgICAgICAgICAgICB1cGdyYWRlLAorICAgICAgICAgICAgIGNodW5rZWQsCistICAgICAg
ICApID0gc2VsZi5wYXJzZV9oZWFkZXJzKGxpbmVzKQorKyAgICAgICAgKSA9IHNlbGYucGFyc2Vf
aGVhZGVycyhsaW5lc1sxOl0pCisgCisgICAgICAgICBpZiBjbG9zZSBpcyBOb25lOiAgIyB0aGVu
IHRoZSBoZWFkZXJzIHdlcmVuJ3Qgc2V0IGluIHRoZSByZXF1ZXN0CisgICAgICAgICAgICAgaWYg
dmVyc2lvbl9vIDw9IEh0dHBWZXJzaW9uMTA6ICAjIEhUVFAgMS4wIG11c3QgYXNrcyB0byBub3Qg
Y2xvc2UKK0BAIC03MjQsNyArNzMxLDcgQEAgY2xhc3MgSHR0cFJlc3BvbnNlUGFyc2VyKEh0dHBQ
YXJzZXJbUmF3UmVzcG9uc2VNZXNzYWdlXSk6CisgICAgICAgICAgICAgY29tcHJlc3Npb24sCisg
ICAgICAgICAgICAgdXBncmFkZSwKKyAgICAgICAgICAgICBjaHVua2VkLAorLSAgICAgICAgKSA9
IHNlbGYucGFyc2VfaGVhZGVycyhsaW5lcykKKysgICAgICAgICkgPSBzZWxmLnBhcnNlX2hlYWRl
cnMobGluZXNbMTpdKQorIAorICAgICAgICAgaWYgY2xvc2UgaXMgTm9uZToKKyAgICAgICAgICAg
ICBpZiB2ZXJzaW9uX28gPD0gSHR0cFZlcnNpb24xMDoKK0BAIC03NjcsNiArNzc0LDggQEAgY2xh
c3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAgICByZXNwb25zZV93aXRoX2JvZHk6IGJvb2wg
PSBUcnVlLAorICAgICAgICAgYXV0b19kZWNvbXByZXNzOiBib29sID0gVHJ1ZSwKKyAgICAgICAg
IGxheDogYm9vbCA9IEZhbHNlLAorKyAgICAgICAgKiwKKysgICAgICAgIGhlYWRlcnNfcGFyc2Vy
OiBIZWFkZXJzUGFyc2VyLAorICAgICApIC0+IE5vbmU6CisgICAgICAgICBzZWxmLl9sZW5ndGgg
PSAwCisgICAgICAgICBzZWxmLl90eXBlID0gUGFyc2VTdGF0ZS5QQVJTRV9VTlRJTF9FT0YKK0BA
IC03NzUsNiArNzg0LDggQEAgY2xhc3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAgICBzZWxm
Ll9jaHVua190YWlsID0gYiIiCisgICAgICAgICBzZWxmLl9hdXRvX2RlY29tcHJlc3MgPSBhdXRv
X2RlY29tcHJlc3MKKyAgICAgICAgIHNlbGYuX2xheCA9IGxheAorKyAgICAgICAgc2VsZi5faGVh
ZGVyc19wYXJzZXIgPSBoZWFkZXJzX3BhcnNlcgorKyAgICAgICAgc2VsZi5fdHJhaWxlcl9saW5l
czogbGlzdFtieXRlc10gPSBbXQorICAgICAgICAgc2VsZi5kb25lID0gRmFsc2UKKyAKKyAgICAg
ICAgICMgcGF5bG9hZCBkZWNvbXByZXNzaW9uIHdyYXBwZXIKK0BAIC04NTEsNyArODYyLDcgQEAg
Y2xhc3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp
emVfYiA9IGNodW5rWzppXSAgIyBzdHJpcCBjaHVuay1leHRlbnNpb25zCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICMgVmVyaWZ5IG5vIExGIGluIHRoZSBjaHVuay1leHRlbnNpb24KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgYiJcbiIgaW4gKGV4dCA6PSBjaHVua1tpOnBv
c10pOgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjID0gQmFkSHR0cE1lc3Nh
Z2UoCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGMgPSBUcmFuc2ZlckVuY29k
aW5nRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZiJVbmV4cGVj
dGVkIExGIGluIGNodW5rLWV4dGVuc2lvbjoge2V4dCFyfSIKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldF9leGNl
cHRpb24oc2VsZi5wYXlsb2FkLCBleGMpCitAQCAtODcyLDcgKzg4Myw3IEBAIGNsYXNzIEh0dHBQ
YXlsb2FkUGFyc2VyOgorIAorICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2h1bmtb
cG9zICsgbGVuKFNFUCkgOl0KKyAgICAgICAgICAgICAgICAgICAgICAgICBpZiBzaXplID09IDA6
ICAjIGVvZiBtYXJrZXIKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY2h1bmsg
PSBDaHVua1N0YXRlLlBBUlNFX01BWUJFX1RSQUlMRVJTCisrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuX2NodW5rID0gQ2h1bmtTdGF0ZS5QQVJTRV9UUkFJTEVSUworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9sYXggYW5kIGNodW5rLnN0YXJ0c3dpdGgoYiJc
ciIpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmsgPSBjaHVua1sxOl0K
KyAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgorQEAgLTkxMCwzOCArOTIxLDMxIEBAIGNs
YXNzIEh0dHBQYXlsb2FkUGFyc2VyOgorICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2No
dW5rX3RhaWwgPSBjaHVuaworICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZSwg
YiIiCisgCistICAgICAgICAgICAgICAgICMgaWYgc3RyZWFtIGRvZXMgbm90IGNvbnRhaW4gdHJh
aWxlciwgYWZ0ZXIgMFxyXG4KKy0gICAgICAgICAgICAgICAgIyB3ZSBzaG91bGQgZ2V0IGFub3Ro
ZXIgXHJcbiBvdGhlcndpc2UKKy0gICAgICAgICAgICAgICAgIyB0cmFpbGVycyBuZWVkcyB0byBi
ZSBza2lwcGVkIHVudGlsIFxyXG5cclxuCistICAgICAgICAgICAgICAgIGlmIHNlbGYuX2NodW5r
ID09IENodW5rU3RhdGUuUEFSU0VfTUFZQkVfVFJBSUxFUlM6CistICAgICAgICAgICAgICAgICAg
ICBoZWFkID0gY2h1bmtbOiBsZW4oU0VQKV0KKy0gICAgICAgICAgICAgICAgICAgIGlmIGhlYWQg
PT0gU0VQOgorLSAgICAgICAgICAgICAgICAgICAgICAgICMgZW5kIG9mIHN0cmVhbQorLSAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYucGF5bG9hZC5mZWVkX2VvZigpCistICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIFRydWUsIGNodW5rW2xlbihTRVApIDpdCistICAgICAgICAgICAg
ICAgICAgICAjIEJvdGggQ1IgYW5kIExGLCBvciBvbmx5IExGIG1heSBub3QgYmUgcmVjZWl2ZWQg
eWV0LiBJdCBpcworLSAgICAgICAgICAgICAgICAgICAgIyBleHBlY3RlZCB0aGF0IENSTEYgb3Ig
TEYgd2lsbCBiZSBzaG93biBhdCB0aGUgdmVyeSBmaXJzdAorLSAgICAgICAgICAgICAgICAgICAg
IyBieXRlIG5leHQgdGltZSwgb3RoZXJ3aXNlIHRyYWlsZXJzIHNob3VsZCBjb21lLiBUaGUgbGFz
dAorLSAgICAgICAgICAgICAgICAgICAgIyBDUkxGIHdoaWNoIG1hcmtzIHRoZSBlbmQgb2YgcmVz
cG9uc2UgbWlnaHQgbm90IGJlCistICAgICAgICAgICAgICAgICAgICAjIGNvbnRhaW5lZCBpbiB0
aGUgc2FtZSBUQ1Agc2VnbWVudCB3aGljaCBkZWxpdmVyZWQgdGhlCistICAgICAgICAgICAgICAg
ICAgICAjIHNpemUgaW5kaWNhdG9yLgorLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGhlYWQ6
CistICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBiIiIKKy0gICAgICAgICAg
ICAgICAgICAgIGlmIGhlYWQgPT0gU0VQWzoxXToKKy0gICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLl9jaHVua190YWlsID0gaGVhZAorLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBG
YWxzZSwgYiIiCistICAgICAgICAgICAgICAgICAgICBzZWxmLl9jaHVuayA9IENodW5rU3RhdGUu
UEFSU0VfVFJBSUxFUlMKKy0KKy0gICAgICAgICAgICAgICAgIyByZWFkIGFuZCBkaXNjYXJkIHRy
YWlsZXIgdXAgdG8gdGhlIENSTEYgdGVybWluYXRvcgorICAgICAgICAgICAgICAgICBpZiBzZWxm
Ll9jaHVuayA9PSBDaHVua1N0YXRlLlBBUlNFX1RSQUlMRVJTOgorICAgICAgICAgICAgICAgICAg
ICAgcG9zID0gY2h1bmsuZmluZChTRVApCistICAgICAgICAgICAgICAgICAgICBpZiBwb3MgPj0g
MDoKKy0gICAgICAgICAgICAgICAgICAgICAgICBjaHVuayA9IGNodW5rW3BvcyArIGxlbihTRVAp
IDpdCistICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY2h1bmsgPSBDaHVua1N0YXRlLlBB
UlNFX01BWUJFX1RSQUlMRVJTCistICAgICAgICAgICAgICAgICAgICBlbHNlOgorKyAgICAgICAg
ICAgICAgICAgICAgaWYgcG9zIDwgMDogICMgTm8gbGluZSBmb3VuZAorICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlbGYuX2NodW5rX3RhaWwgPSBjaHVuaworICAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBGYWxzZSwgYiIiCisgCisrICAgICAgICAgICAgICAgICAgICBsaW5lID0gY2h1
bmtbOnBvc10KKysgICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2h1bmtbcG9zICsgbGVuKFNF
UCkgOl0KKysgICAgICAgICAgICAgICAgICAgIGlmIFNFUCA9PSBiIlxuIjogICMgRm9yIGxheCBy
ZXNwb25zZSBwYXJzaW5nCisrICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucnN0
cmlwKGIiXHIiKQorKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fdHJhaWxlcl9saW5lcy5hcHBl
bmQobGluZSkKKysKKysgICAgICAgICAgICAgICAgICAgICMgXHJcblxyXG4gZm91bmQsIGVuZCBv
ZiBzdHJlYW0KKysgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuX3RyYWlsZXJfbGluZXNbLTFd
ID09IGIiIjoKKysgICAgICAgICAgICAgICAgICAgICAgICAjIEhlYWRlcnMgYW5kIHRyYWlsZXJz
IGFyZSBkZWZpbmVkIHRoZSBzYW1lIHdheSwKKysgICAgICAgICAgICAgICAgICAgICAgICAjIHNv
IHdlIHJldXNlIHRoZSBIZWFkZXJzUGFyc2VyIGhlcmUuCisrICAgICAgICAgICAgICAgICAgICAg
ICAgdHJ5OgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFpbGVycywgcmF3X3RyYWls
ZXJzID0gc2VsZi5faGVhZGVyc19wYXJzZXIucGFyc2VfaGVhZGVycygKKysgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYuX3RyYWlsZXJfbGluZXMKKysgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKQorKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbmFsbHk6CisrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3RyYWlsZXJfbGluZXMuY2xlYXIoKQorKyAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYucGF5bG9hZC5mZWVkX2VvZigpCisrICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIFRydWUsIGNodW5rCisrCisgICAgICAgICAjIFJlYWQgYWxsIGJ5
dGVzIHVudGlsIGVvZgorICAgICAgICAgZWxpZiBzZWxmLl90eXBlID09IFBhcnNlU3RhdGUuUEFS
U0VfVU5USUxfRU9GOgorICAgICAgICAgICAgIHNlbGYucGF5bG9hZC5mZWVkX2RhdGEoY2h1bmss
IGxlbihjaHVuaykpCitkaWZmIC0tZ2l0IGEvYWlvaHR0cC9tdWx0aXBhcnQucHkgYi9haW9odHRw
L211bHRpcGFydC5weQoraW5kZXggYTI0ZDNlNS4uYWNlZTk5NyAxMDA2NDQKKy0tLSBhL2Fpb2h0
dHAvbXVsdGlwYXJ0LnB5CisrKysgYi9haW9odHRwL211bHRpcGFydC5weQorQEAgLTc3Miw3ICs3
NzIsNyBAQCBjbGFzcyBNdWx0aXBhcnRSZWFkZXI6CisgICAgICAgICAgICAgcmFpc2UgVmFsdWVF
cnJvcihmIkludmFsaWQgYm91bmRhcnkge2NodW5rIXJ9LCBleHBlY3RlZCB7c2VsZi5fYm91bmRh
cnkhcn0iKQorIAorICAgICBhc3luYyBkZWYgX3JlYWRfaGVhZGVycyhzZWxmKSAtPiAiQ0lNdWx0
aURpY3RQcm94eVtzdHJdIjoKKy0gICAgICAgIGxpbmVzID0gW2IiIl0KKysgICAgICAgIGxpbmVz
ID0gW10KKyAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgY2h1bmsgPSBhd2FpdCBz
ZWxmLl9jb250ZW50LnJlYWRsaW5lKCkKKyAgICAgICAgICAgICBjaHVuayA9IGNodW5rLnN0cmlw
KCkKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5IGIvdGVzdHMvdGVzdF9o
dHRwX3BhcnNlci5weQoraW5kZXggMWY2YzRiYy4uMzUyYjFmOCAxMDA2NDQKKy0tLSBhL3Rlc3Rz
L3Rlc3RfaHR0cF9wYXJzZXIucHkKKysrKyBiL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkKK0BA
IC0xOCw2ICsxOCw3IEBAIGZyb20gYWlvaHR0cC5iYXNlX3Byb3RvY29sIGltcG9ydCBCYXNlUHJv
dG9jb2wKKyBmcm9tIGFpb2h0dHAuaHR0cF9wYXJzZXIgaW1wb3J0ICgKKyAgICAgTk9fRVhURU5T
SU9OUywKKyAgICAgRGVmbGF0ZUJ1ZmZlciwKKysgICAgSGVhZGVyc1BhcnNlciwKKyAgICAgSHR0
cFBheWxvYWRQYXJzZXIsCisgICAgIEh0dHBSZXF1ZXN0UGFyc2VyLAorICAgICBIdHRwUmVxdWVz
dFBhcnNlclB5LAorQEAgLTI0NSw0MSArMjQ2LDEzIEBAIGRlZiB0ZXN0X2NvbnRlbnRfbGVuZ3Ro
X3RyYW5zZmVyX2VuY29kaW5nKHBhcnNlcjogQW55KSAtPiBOb25lOgorICAgICAgICAgcGFyc2Vy
LmZlZWRfZGF0YSh0ZXh0KQorIAorIAorLWRlZiB0ZXN0X2JhZF9jaHVua2VkX3B5KGxvb3A6IEFu
eSwgcHJvdG9jb2w6IEFueSkgLT4gTm9uZToKKytkZWYgdGVzdF9iYWRfY2h1bmtlZChwYXJzZXI6
IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBOb25lOgorICAgICAiIiJUZXN0IHRoYXQgaW52YWxpZCBj
aHVua2VkIGVuY29kaW5nIGRvZXNuJ3QgYWxsb3cgY29udGVudC1sZW5ndGggdG8gYmUgdXNlZC4i
IiIKKy0gICAgcGFyc2VyID0gSHR0cFJlcXVlc3RQYXJzZXJQeSgKKy0gICAgICAgIHByb3RvY29s
LAorLSAgICAgICAgbG9vcCwKKy0gICAgICAgIDIqKjE2LAorLSAgICAgICAgbWF4X2xpbmVfc2l6
ZT04MTkwLAorLSAgICAgICAgbWF4X2ZpZWxkX3NpemU9ODE5MCwKKy0gICAgKQorLSAgICB0ZXh0
ID0gKAorLSAgICAgICAgYiJHRVQgLyBIVFRQLzEuMVxyXG5Ib3N0OiBhXHJcblRyYW5zZmVyLUVu
Y29kaW5nOiBjaHVua2VkXHJcblxyXG4wXzJlXHJcblxyXG4iCistICAgICAgICArIGIiR0VUIC8g
SFRUUC8xLjFcclxuSG9zdDogYVxyXG5Db250ZW50LUxlbmd0aDogNVxyXG5cclxuMFxyXG5cclxu
IgorLSAgICApCistICAgIG1lc3NhZ2VzLCB1cGdyYWRlLCB0YWlsID0gcGFyc2VyLmZlZWRfZGF0
YSh0ZXh0KQorLSAgICBhc3NlcnQgaXNpbnN0YW5jZShtZXNzYWdlc1swXVsxXS5leGNlcHRpb24o
KSwgaHR0cF9leGNlcHRpb25zLlRyYW5zZmVyRW5jb2RpbmdFcnJvcikKKy0KKy0KKy1AcHl0ZXN0
Lm1hcmsuc2tpcGlmKAorLSAgICAiSHR0cFJlcXVlc3RQYXJzZXJDIiBub3QgaW4gZGlyKGFpb2h0
dHAuaHR0cF9wYXJzZXIpLAorLSAgICByZWFzb249IkMgYmFzZWQgSFRUUCBwYXJzZXIgbm90IGF2
YWlsYWJsZSIsCistKQorLWRlZiB0ZXN0X2JhZF9jaHVua2VkX2MobG9vcDogQW55LCBwcm90b2Nv
bDogQW55KSAtPiBOb25lOgorLSAgICAiIiJDIHBhcnNlciBiZWhhdmVzIGRpZmZlcmVudGx5LiBN
YXliZSB3ZSBzaG91bGQgYWxpZ24gdGhlbSBsYXRlci4iIiIKKy0gICAgcGFyc2VyID0gSHR0cFJl
cXVlc3RQYXJzZXJDKAorLSAgICAgICAgcHJvdG9jb2wsCistICAgICAgICBsb29wLAorLSAgICAg
ICAgMioqMTYsCistICAgICAgICBtYXhfbGluZV9zaXplPTgxOTAsCistICAgICAgICBtYXhfZmll
bGRfc2l6ZT04MTkwLAorLSAgICApCisgICAgIHRleHQgPSAoCisgICAgICAgICBiIkdFVCAvIEhU
VFAvMS4xXHJcbkhvc3Q6IGFcclxuVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJcbjBf
MmVcclxuXHJcbiIKKyAgICAgICAgICsgYiJHRVQgLyBIVFRQLzEuMVxyXG5Ib3N0OiBhXHJcbkNv
bnRlbnQtTGVuZ3RoOiA1XHJcblxyXG4wXHJcblxyXG4iCisgICAgICkKKy0gICAgd2l0aCBweXRl
c3QucmFpc2VzKGh0dHBfZXhjZXB0aW9ucy5CYWRIdHRwTWVzc2FnZSk6CisrICAgIHdpdGggcHl0
ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQmFkSHR0cE1lc3NhZ2UsIG1hdGNoPSIwXzJlIik6
CisgICAgICAgICBwYXJzZXIuZmVlZF9kYXRhKHRleHQpCisgCisgCitAQCAtMTE4OCw4ICsxMTYx
LDggQEAgYXN5bmMgZGVmIHRlc3RfaHR0cF9yZXNwb25zZV9wYXJzZXJfYmFkX2NodW5rZWRfc3Ry
aWN0X3B5KGxvb3AsIHByb3RvY29sKSAtPiBOb24KKyAgICAgdGV4dCA9ICgKKyAgICAgICAgIGIi
SFRUUC8xLjEgMjAwIE9LXHJcblRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG41IFxy
XG5hYmNkZVxyXG4wXHJcblxyXG4iCisgICAgICkKKy0gICAgbWVzc2FnZXMsIHVwZ3JhZGUsIHRh
aWwgPSByZXNwb25zZS5mZWVkX2RhdGEodGV4dCkKKy0gICAgYXNzZXJ0IGlzaW5zdGFuY2UobWVz
c2FnZXNbMF1bMV0uZXhjZXB0aW9uKCksIGh0dHBfZXhjZXB0aW9ucy5UcmFuc2ZlckVuY29kaW5n
RXJyb3IpCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuVHJhbnNmZXJF
bmNvZGluZ0Vycm9yLCBtYXRjaD0iNSIpOgorKyAgICAgICAgcmVzcG9uc2UuZmVlZF9kYXRhKHRl
eHQpCisgCisgCisgQHB5dGVzdC5tYXJrLmRldl9tb2RlCitAQCAtMTMyOSw3ICsxMzAyLDI3IEBA
IGRlZiB0ZXN0X3BhcnNlX2NodW5rZWRfcGF5bG9hZF9jaHVua19leHRlbnNpb24ocGFyc2VyKSAt
PiBOb25lOgorICAgICBhc3NlcnQgcGF5bG9hZC5pc19lb2YoKQorIAorIAorLWRlZiB0ZXN0X3Bh
cnNlX25vX2xlbmd0aF9vcl90ZV9vbl9wb3N0KGxvb3A6IEFueSwgcHJvdG9jb2w6IEFueSwgcmVx
dWVzdF9jbHM6IEFueSk6CisrYXN5bmMgZGVmIHRlc3RfcmVxdWVzdF9jaHVua2VkX3dpdGhfdHJh
aWxlcihwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBOb25lOgorKyAgICB0ZXh0ID0gYiJH
RVQgL3Rlc3QgSFRUUC8xLjFcclxuVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJcbjRc
clxudGVzdFxyXG4wXHJcbnRlc3Q6IHRyYWlsZXJcclxuc2Vjb25kOiB0ZXN0IHRyYWlsZXJcclxu
XHJcbiIKKysgICAgbWVzc2FnZXMsIHVwZ3JhZGVkLCB0YWlsID0gcGFyc2VyLmZlZWRfZGF0YSh0
ZXh0KQorKyAgICBhc3NlcnQgbm90IHRhaWwKKysgICAgbXNnLCBwYXlsb2FkID0gbWVzc2FnZXNb
MF0KKysgICAgYXNzZXJ0IGF3YWl0IHBheWxvYWQucmVhZCgpID09IGIidGVzdCIKKysKKysgICAg
IyBUT0RPOiBBZGQgYXNzZXJ0aW9uIG9mIHRyYWlsZXJzIHdoZW4gQVBJIGFkZGVkLgorKworKwor
K2FzeW5jIGRlZiB0ZXN0X3JlcXVlc3RfY2h1bmtlZF9yZWplY3RfYmFkX3RyYWlsZXIocGFyc2Vy
OiBIdHRwUmVxdWVzdFBhcnNlcikgLT4gTm9uZToKKysgICAgdGV4dCA9IGIiR0VUIC90ZXN0IEhU
VFAvMS4xXHJcblRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG4wXHJcbmJhZFxudHJh
aWxlclxyXG5cclxuIgorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9leGNlcHRpb25zLkJh
ZEh0dHBNZXNzYWdlLCBtYXRjaD1yImInYmFkXFxudHJhaWxlciciKToKKysgICAgICAgIHBhcnNl
ci5mZWVkX2RhdGEodGV4dCkKKysKKysKKytkZWYgdGVzdF9wYXJzZV9ub19sZW5ndGhfb3JfdGVf
b25fcG9zdCgKKysgICAgbG9vcDogYXN5bmNpby5BYnN0cmFjdEV2ZW50TG9vcCwKKysgICAgcHJv
dG9jb2w6IEJhc2VQcm90b2NvbCwKKysgICAgcmVxdWVzdF9jbHM6IHR5cGVbSHR0cFJlcXVlc3RQ
YXJzZXJdLAorKykgLT4gTm9uZToKKyAgICAgcGFyc2VyID0gcmVxdWVzdF9jbHMocHJvdG9jb2ws
IGxvb3AsIGxpbWl0PTIqKjE2KQorICAgICB0ZXh0ID0gYiJQT1NUIC90ZXN0IEhUVFAvMS4xXHJc
blxyXG4iCisgICAgIG1zZywgcGF5bG9hZCA9IHBhcnNlci5mZWVkX2RhdGEodGV4dClbMF1bMF0K
K0BAIC0xNTEyLDE5ICsxNTA1LDEwIEBAIGFzeW5jIGRlZiB0ZXN0X3BhcnNlX2NodW5rZWRfcGF5
bG9hZF9zcGxpdF9jaHVua3MocmVzcG9uc2U6IEFueSkgLT4gTm9uZToKKyAgICAgYXNzZXJ0IGF3
YWl0IHJlYWRlci5yZWFkKCkgPT0gYiJmaXJzdHNlY29uZCIKKyAKKyAKKy1AcHl0ZXN0Lm1hcmsu
c2tpcGlmKE5PX0VYVEVOU0lPTlMsIHJlYXNvbj0iT25seSB0ZXN0cyBDIHBhcnNlci4iKQorLWFz
eW5jIGRlZiB0ZXN0X3BhcnNlX2NodW5rZWRfcGF5bG9hZF93aXRoX2xmX2luX2V4dGVuc2lvbnNf
Y19wYXJzZXIoCistICAgIGxvb3A6IGFzeW5jaW8uQWJzdHJhY3RFdmVudExvb3AsIHByb3RvY29s
OiBCYXNlUHJvdG9jb2wKKythc3luYyBkZWYgdGVzdF9wYXJzZV9jaHVua2VkX3BheWxvYWRfd2l0
aF9sZl9pbl9leHRlbnNpb25zKAorKyAgICBwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyLAorICkg
LT4gTm9uZToKKy0gICAgIiIiVGVzdCB0aGUgQy1wYXJzZXIgd2l0aCBhIGNodW5rZWQgcGF5bG9h
ZCB0aGF0IGhhcyBhIExGIGluIHRoZSBjaHVuayBleHRlbnNpb25zLiIiIgorLSAgICAjIFRoZSBD
IHBhcnNlciB3aWxsIHJhaXNlIGEgQmFkSHR0cE1lc3NhZ2UgZnJvbSBmZWVkX2RhdGEKKy0gICAg
cGFyc2VyID0gSHR0cFJlcXVlc3RQYXJzZXJDKAorLSAgICAgICAgcHJvdG9jb2wsCistICAgICAg
ICBsb29wLAorLSAgICAgICAgMioqMTYsCistICAgICAgICBtYXhfbGluZV9zaXplPTgxOTAsCist
ICAgICAgICBtYXhfZmllbGRfc2l6ZT04MTkwLAorLSAgICApCisrICAgICIiIlRlc3QgY2h1bmtl
ZCBwYXlsb2FkIHRoYXQgaGFzIGEgTEYgaW4gdGhlIGNodW5rIGV4dGVuc2lvbnMuIiIiCisgICAg
IHBheWxvYWQgPSAoCisgICAgICAgICBiIkdFVCAvIEhUVFAvMS4xXHJcbkhvc3Q6IGxvY2FsaG9z
dDo1MDAxXHJcbiIKKyAgICAgICAgIGIiVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJc
bjI7XG54eFxyXG40Y1xyXG4wXHJcblxyXG4iCitAQCAtMTUzNSwzMSArMTUxOSw2IEBAIGFzeW5j
IGRlZiB0ZXN0X3BhcnNlX2NodW5rZWRfcGF5bG9hZF93aXRoX2xmX2luX2V4dGVuc2lvbnNfY19w
YXJzZXIoCisgICAgICAgICBwYXJzZXIuZmVlZF9kYXRhKHBheWxvYWQpCisgCisgCistYXN5bmMg
ZGVmIHRlc3RfcGFyc2VfY2h1bmtlZF9wYXlsb2FkX3dpdGhfbGZfaW5fZXh0ZW5zaW9uc19weV9w
YXJzZXIoCistICAgIGxvb3A6IGFzeW5jaW8uQWJzdHJhY3RFdmVudExvb3AsIHByb3RvY29sOiBC
YXNlUHJvdG9jb2wKKy0pIC0+IE5vbmU6CistICAgICIiIlRlc3QgdGhlIHB5LXBhcnNlciB3aXRo
IGEgY2h1bmtlZCBwYXlsb2FkIHRoYXQgaGFzIGEgTEYgaW4gdGhlIGNodW5rIGV4dGVuc2lvbnMu
IiIiCistICAgICMgVGhlIHB5IHBhcnNlciB3aWxsIG5vdCByYWlzZSB0aGUgQmFkSHR0cE1lc3Nh
Z2UgZGlyZWN0bHksIGJ1dCBpbnN0ZWFkCistICAgICMgaXQgd2lsbCBzZXQgdGhlIGV4Y2VwdGlv
biBvbiB0aGUgU3RyZWFtUmVhZGVyLgorLSAgICBwYXJzZXIgPSBIdHRwUmVxdWVzdFBhcnNlclB5
KAorLSAgICAgICAgcHJvdG9jb2wsCistICAgICAgICBsb29wLAorLSAgICAgICAgMioqMTYsCist
ICAgICAgICBtYXhfbGluZV9zaXplPTgxOTAsCistICAgICAgICBtYXhfZmllbGRfc2l6ZT04MTkw
LAorLSAgICApCistICAgIHBheWxvYWQgPSAoCistICAgICAgICBiIkdFVCAvIEhUVFAvMS4xXHJc
bkhvc3Q6IGxvY2FsaG9zdDo1MDAxXHJcbiIKKy0gICAgICAgIGIiVHJhbnNmZXItRW5jb2Rpbmc6
IGNodW5rZWRcclxuXHJcbjI7XG54eFxyXG40Y1xyXG4wXHJcblxyXG4iCistICAgICAgICBiIkdF
VCAvYWRtaW4gSFRUUC8xLjFcclxuSG9zdDogbG9jYWxob3N0OjUwMDFcclxuIgorLSAgICAgICAg
YiJUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZFxyXG5cclxuMFxyXG5cclxuIgorLSAgICApCist
ICAgIG1lc3NhZ2VzLCBfLCBfID0gcGFyc2VyLmZlZWRfZGF0YShwYXlsb2FkKQorLSAgICByZWFk
ZXIgPSBtZXNzYWdlc1swXVsxXQorLSAgICBhc3NlcnQgaXNpbnN0YW5jZShyZWFkZXIuZXhjZXB0
aW9uKCksIGh0dHBfZXhjZXB0aW9ucy5CYWRIdHRwTWVzc2FnZSkKKy0gICAgYXNzZXJ0ICJcXG54
eCIgaW4gc3RyKHJlYWRlci5leGNlcHRpb24oKSkKKy0KKy0KKyBkZWYgdGVzdF9wYXJ0aWFsX3Vy
bChwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBOb25lOgorICAgICBtZXNzYWdlcywgdXBn
cmFkZSwgdGFpbCA9IHBhcnNlci5mZWVkX2RhdGEoYiJHRVQgL3RlIikKKyAgICAgYXNzZXJ0IGxl
bihtZXNzYWdlcykgPT0gMAorQEAgLTE2NDYsNyArMTYwNSw3IEBAIGRlZiB0ZXN0X3BhcnNlX2Jh
ZF9tZXRob2RfZm9yX2NfcGFyc2VyX3JhaXNlcyhsb29wLCBwcm90b2NvbCk6CisgY2xhc3MgVGVz
dFBhcnNlUGF5bG9hZDoKKyAgICAgYXN5bmMgZGVmIHRlc3RfcGFyc2VfZW9mX3BheWxvYWQoc2Vs
ZiwgcHJvdG9jb2w6IEJhc2VQcm90b2NvbCkgLT4gTm9uZToKKyAgICAgICAgIG91dCA9IGFpb2h0
dHAuU3RyZWFtUmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9vcD1hc3luY2lvLmdldF9ydW5uaW5n
X2xvb3AoKSkKKy0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQpCisrICAgICAgICBw
ID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBoZWFkZXJzX3BhcnNlcj1IZWFkZXJzUGFyc2VyKCkp
CisgICAgICAgICBwLmZlZWRfZGF0YShiImRhdGEiKQorICAgICAgICAgcC5mZWVkX2VvZigpCisg
CitAQCAtMTY1Niw3ICsxNjE1LDcgQEAgY2xhc3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAgICAgYXN5
bmMgZGVmIHRlc3RfcGFyc2VfbGVuZ3RoX3BheWxvYWRfZW9mKHNlbGYsIHByb3RvY29sOiBCYXNl
UHJvdG9jb2wpIC0+IE5vbmU6CisgICAgICAgICBvdXQgPSBhaW9odHRwLlN0cmVhbVJlYWRlcihw
cm90b2NvbCwgMioqMTYsIGxvb3A9YXN5bmNpby5nZXRfcnVubmluZ19sb29wKCkpCisgCistICAg
ICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBsZW5ndGg9NCkKKysgICAgICAgIHAgPSBI
dHRwUGF5bG9hZFBhcnNlcihvdXQsIGxlbmd0aD00LCBoZWFkZXJzX3BhcnNlcj1IZWFkZXJzUGFy
c2VyKCkpCisgICAgICAgICBwLmZlZWRfZGF0YShiImRhIikKKyAKKyAgICAgICAgIHdpdGggcHl0
ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQ29udGVudExlbmd0aEVycm9yKToKK0BAIC0xNjY2
LDcgKzE2MjUsNyBAQCBjbGFzcyBUZXN0UGFyc2VQYXlsb2FkOgorICAgICAgICAgc2VsZiwgcHJv
dG9jb2w6IEJhc2VQcm90b2NvbAorICAgICApIC0+IE5vbmU6CisgICAgICAgICBvdXQgPSBhaW9o
dHRwLlN0cmVhbVJlYWRlcihwcm90b2NvbCwgMioqMTYsIGxvb3A9YXN5bmNpby5nZXRfcnVubmlu
Z19sb29wKCkpCistICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2VkPVRy
dWUpCisrICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2VkPVRydWUsIGhl
YWRlcnNfcGFyc2VyPUhlYWRlcnNQYXJzZXIoKSkKKyAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNl
cyhodHRwX2V4Y2VwdGlvbnMuVHJhbnNmZXJFbmNvZGluZ0Vycm9yKToKKyAgICAgICAgICAgICBw
LmZlZWRfZGF0YShiImJsYWhcclxuIikKKyAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG91dC5l
eGNlcHRpb24oKSwgaHR0cF9leGNlcHRpb25zLlRyYW5zZmVyRW5jb2RpbmdFcnJvcikKK0BAIC0x
Njc1LDcgKzE2MzQsNyBAQCBjbGFzcyBUZXN0UGFyc2VQYXlsb2FkOgorICAgICAgICAgc2VsZiwg
cHJvdG9jb2w6IEJhc2VQcm90b2NvbAorICAgICApIC0+IE5vbmU6CisgICAgICAgICBvdXQgPSBh
aW9odHRwLlN0cmVhbVJlYWRlcihwcm90b2NvbCwgMioqMTYsIGxvb3A9YXN5bmNpby5nZXRfcnVu
bmluZ19sb29wKCkpCistICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2Vk
PVRydWUpCisrICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2VkPVRydWUs
IGhlYWRlcnNfcGFyc2VyPUhlYWRlcnNQYXJzZXIoKSkKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIi
NFxyXG5hc2RmXHJcbjBcclxuIikKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIiXHJcbiIpCisgCitA
QCAtMTY4Niw3ICsxNjQ1LDcgQEAgY2xhc3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAgICAgICAgIHNl
bGYsIHByb3RvY29sOiBCYXNlUHJvdG9jb2wKKyAgICAgKSAtPiBOb25lOgorICAgICAgICAgb3V0
ID0gYWlvaHR0cC5TdHJlYW1SZWFkZXIocHJvdG9jb2wsIDIqKjE2LCBsb29wPWFzeW5jaW8uZ2V0
X3J1bm5pbmdfbG9vcCgpKQorLSAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwgY2h1
bmtlZD1UcnVlKQorKyAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwgY2h1bmtlZD1U
cnVlLCBoZWFkZXJzX3BhcnNlcj1IZWFkZXJzUGFyc2VyKCkpCisgICAgICAgICBwLmZlZWRfZGF0
YShiIjRcclxuYXNkZlxyXG4wXHJcblxyIikKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIiXG4iKQor
IAorQEAgLTE2OTcsNyArMTY1Niw3IEBAIGNsYXNzIFRlc3RQYXJzZVBheWxvYWQ6CisgICAgICAg
ICBzZWxmLCBwcm90b2NvbDogQmFzZVByb3RvY29sCisgICAgICkgLT4gTm9uZToKKyAgICAgICAg
IG91dCA9IGFpb2h0dHAuU3RyZWFtUmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9vcD1hc3luY2lv
LmdldF9ydW5uaW5nX2xvb3AoKSkKKy0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQs
IGNodW5rZWQ9VHJ1ZSkKKysgICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQsIGNodW5r
ZWQ9VHJ1ZSwgaGVhZGVyc19wYXJzZXI9SGVhZGVyc1BhcnNlcigpKQorICAgICAgICAgcC5mZWVk
X2RhdGEoYiI0XHJcbmFzZGZcclxuMFxyXG4iKQorICAgICAgICAgcC5mZWVkX2RhdGEoYiJDb250
ZW50LU1ENTogOTEyZWM4MDNiMmNlNDllNGE1NDEwNjhkNDk1YWI1NzBcclxuIikKKyAgICAgICAg
IHAuZmVlZF9kYXRhKGIiXHJcbiIpCitAQCAtMTcwOSw3ICsxNjY4LDcgQEAgY2xhc3MgVGVzdFBh
cnNlUGF5bG9hZDoKKyAgICAgICAgIHNlbGYsIHByb3RvY29sOiBCYXNlUHJvdG9jb2wKKyAgICAg
KSAtPiBOb25lOgorICAgICAgICAgb3V0ID0gYWlvaHR0cC5TdHJlYW1SZWFkZXIocHJvdG9jb2ws
IDIqKjE2LCBsb29wPWFzeW5jaW8uZ2V0X3J1bm5pbmdfbG9vcCgpKQorLSAgICAgICAgcCA9IEh0
dHBQYXlsb2FkUGFyc2VyKG91dCwgY2h1bmtlZD1UcnVlKQorKyAgICAgICAgcCA9IEh0dHBQYXls
b2FkUGFyc2VyKG91dCwgY2h1bmtlZD1UcnVlLCBoZWFkZXJzX3BhcnNlcj1IZWFkZXJzUGFyc2Vy
KCkpCisgICAgICAgICBwLmZlZWRfZGF0YShiIjRcclxuYXNkZlxyXG4wXHJcbiIpCisgICAgICAg
ICBwLmZlZWRfZGF0YShiIkNvbnRlbnQtTUQ1OiA5MTJlYzgwM2IyY2U0OWU0YTU0MTA2OGQ0OTVh
YjU3MFxyXG5cciIpCisgICAgICAgICBwLmZlZWRfZGF0YShiIlxuIikKK0BAIC0xNzIxLDcgKzE2
ODAsNyBAQCBjbGFzcyBUZXN0UGFyc2VQYXlsb2FkOgorICAgICAgICAgc2VsZiwgcHJvdG9jb2w6
IEJhc2VQcm90b2NvbAorICAgICApIC0+IE5vbmU6CisgICAgICAgICBvdXQgPSBhaW9odHRwLlN0
cmVhbVJlYWRlcihwcm90b2NvbCwgMioqMTYsIGxvb3A9YXN5bmNpby5nZXRfcnVubmluZ19sb29w
KCkpCistICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2VkPVRydWUpCisr
ICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2VkPVRydWUsIGhlYWRlcnNf
cGFyc2VyPUhlYWRlcnNQYXJzZXIoKSkKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIiNFxyXG5hc2Rm
XHJcbjBcclxuQ29udGVudC1NRDU6ICIpCisgICAgICAgICBwLmZlZWRfZGF0YShiIjkxMmVjODAz
YjJjZTQ5ZTRhNTQxMDY4ZDQ5NWFiNTcwXHJcblxyXG4iKQorIAorQEAgLTE3MzIsNyArMTY5MSw3
IEBAIGNsYXNzIFRlc3RQYXJzZVBheWxvYWQ6CisgICAgICAgICBzZWxmLCBwcm90b2NvbDogQmFz
ZVByb3RvY29sCisgICAgICkgLT4gTm9uZToKKyAgICAgICAgIG91dCA9IGFpb2h0dHAuU3RyZWFt
UmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9vcD1hc3luY2lvLmdldF9ydW5uaW5nX2xvb3AoKSkK
Ky0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQsIGNodW5rZWQ9VHJ1ZSkKKysgICAg
ICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQsIGNodW5rZWQ9VHJ1ZSwgaGVhZGVyc19wYXJz
ZXI9SGVhZGVyc1BhcnNlcigpKQorICAgICAgICAgcC5mZWVkX2RhdGEoYiI0XHJcbmFzZGZcclxu
MFxyXG5DIikKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIib250ZW50LU1ENTogOTEyZWM4MDNiMmNl
NDllNGE1NDEwNjhkNDk1YWI1NzBcclxuXHJcbiIpCisgCitAQCAtMTc0MSw3ICsxNzAwLDcgQEAg
Y2xhc3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAKKyAgICAgYXN5bmMgZGVmIHRlc3RfaHR0cF9wYXls
b2FkX3BhcnNlcl9sZW5ndGgoc2VsZiwgcHJvdG9jb2w6IEJhc2VQcm90b2NvbCkgLT4gTm9uZToK
KyAgICAgICAgIG91dCA9IGFpb2h0dHAuU3RyZWFtUmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9v
cD1hc3luY2lvLmdldF9ydW5uaW5nX2xvb3AoKSkKKy0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBh
cnNlcihvdXQsIGxlbmd0aD0yKQorKyAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwg
bGVuZ3RoPTIsIGhlYWRlcnNfcGFyc2VyPUhlYWRlcnNQYXJzZXIoKSkKKyAgICAgICAgIGVvZiwg
dGFpbCA9IHAuZmVlZF9kYXRhKGIiMTI0NSIpCisgICAgICAgICBhc3NlcnQgZW9mCisgCitAQCAt
MTc1NCw3ICsxNzEzLDkgQEAgY2xhc3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAKKyAgICAgICAgIGxl
bmd0aCA9IGxlbihDT01QUkVTU0VEKQorICAgICAgICAgb3V0ID0gYWlvaHR0cC5TdHJlYW1SZWFk
ZXIocHJvdG9jb2wsIDIqKjE2LCBsb29wPWFzeW5jaW8uZ2V0X3J1bm5pbmdfbG9vcCgpKQorLSAg
ICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwgbGVuZ3RoPWxlbmd0aCwgY29tcHJlc3Np
b249ImRlZmxhdGUiKQorKyAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKAorKyAgICAgICAg
ICAgIG91dCwgbGVuZ3RoPWxlbmd0aCwgY29tcHJlc3Npb249ImRlZmxhdGUiLCBoZWFkZXJzX3Bh
cnNlcj1IZWFkZXJzUGFyc2VyKCkKKysgICAgICAgICkKKyAgICAgICAgIHAuZmVlZF9kYXRhKENP
TVBSRVNTRUQpCisgICAgICAgICBhc3NlcnQgYiJkYXRhIiA9PSBvdXQuX2J1ZmZlclswXQorICAg
ICAgICAgYXNzZXJ0IG91dC5pc19lb2YoKQorQEAgLTE3NjgsNyArMTcyOSw5IEBAIGNsYXNzIFRl
c3RQYXJzZVBheWxvYWQ6CisgCisgICAgICAgICBsZW5ndGggPSBsZW4oQ09NUFJFU1NFRCkKKyAg
ICAgICAgIG91dCA9IGFpb2h0dHAuU3RyZWFtUmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9vcD1h
c3luY2lvLmdldF9ydW5uaW5nX2xvb3AoKSkKKy0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNl
cihvdXQsIGxlbmd0aD1sZW5ndGgsIGNvbXByZXNzaW9uPSJkZWZsYXRlIikKKysgICAgICAgIHAg
PSBIdHRwUGF5bG9hZFBhcnNlcigKKysgICAgICAgICAgICBvdXQsIGxlbmd0aD1sZW5ndGgsIGNv
bXByZXNzaW9uPSJkZWZsYXRlIiwgaGVhZGVyc19wYXJzZXI9SGVhZGVyc1BhcnNlcigpCisrICAg
ICAgICApCisgICAgICAgICBwLmZlZWRfZGF0YShDT01QUkVTU0VEKQorICAgICAgICAgYXNzZXJ0
IGIiZGF0YSIgPT0gb3V0Ll9idWZmZXJbMF0KKyAgICAgICAgIGFzc2VydCBvdXQuaXNfZW9mKCkK
K0BAIC0xNzgxLDcgKzE3NDQsOSBAQCBjbGFzcyBUZXN0UGFyc2VQYXlsb2FkOgorIAorICAgICAg
ICAgbGVuZ3RoID0gbGVuKENPTVBSRVNTRUQpCisgICAgICAgICBvdXQgPSBhaW9odHRwLlN0cmVh
bVJlYWRlcihwcm90b2NvbCwgMioqMTYsIGxvb3A9YXN5bmNpby5nZXRfcnVubmluZ19sb29wKCkp
CistICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBsZW5ndGg9bGVuZ3RoLCBjb21w
cmVzc2lvbj0iZGVmbGF0ZSIpCisrICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIoCisrICAg
ICAgICAgICAgb3V0LCBsZW5ndGg9bGVuZ3RoLCBjb21wcmVzc2lvbj0iZGVmbGF0ZSIsIGhlYWRl
cnNfcGFyc2VyPUhlYWRlcnNQYXJzZXIoKQorKyAgICAgICAgKQorICAgICAgICAgcC5mZWVkX2Rh
dGEoQ09NUFJFU1NFRCkKKyAKKyAgICAgICAgIGFzc2VydCBiImRhdGEiID09IG91dC5fYnVmZmVy
WzBdCitAQCAtMTc5MSw3ICsxNzU2LDkgQEAgY2xhc3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAgICAg
ICAgIHNlbGYsIHByb3RvY29sOiBCYXNlUHJvdG9jb2wKKyAgICAgKSAtPiBOb25lOgorICAgICAg
ICAgb3V0ID0gYWlvaHR0cC5TdHJlYW1SZWFkZXIocHJvdG9jb2wsIDIqKjE2LCBsb29wPWFzeW5j
aW8uZ2V0X3J1bm5pbmdfbG9vcCgpKQorLSAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91
dCwgY29tcHJlc3Npb249ImRlZmxhdGUiKQorKyAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2Vy
KAorKyAgICAgICAgICAgIG91dCwgY29tcHJlc3Npb249ImRlZmxhdGUiLCBoZWFkZXJzX3BhcnNl
cj1IZWFkZXJzUGFyc2VyKCkKKysgICAgICAgICkKKyAgICAgICAgICMgRmVlZGluZyBvbmUgY29y
cmVjdCBieXRlIHNob3VsZCBiZSBlbm91Z2ggdG8gY2hvb3NlIGV4YWN0CisgICAgICAgICAjIGRl
ZmxhdGUgZGVjb21wcmVzc29yCisgICAgICAgICBwLmZlZWRfZGF0YShiIngiKQorQEAgLTE4MDMs
NyArMTc3MCw5IEBAIGNsYXNzIFRlc3RQYXJzZVBheWxvYWQ6CisgICAgICAgICBzZWxmLCBwcm90
b2NvbDogQmFzZVByb3RvY29sCisgICAgICkgLT4gTm9uZToKKyAgICAgICAgIG91dCA9IGFpb2h0
dHAuU3RyZWFtUmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9vcD1hc3luY2lvLmdldF9ydW5uaW5n
X2xvb3AoKSkKKy0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQsIGNvbXByZXNzaW9u
PSJkZWZsYXRlIikKKysgICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcigKKysgICAgICAgICAg
ICBvdXQsIGNvbXByZXNzaW9uPSJkZWZsYXRlIiwgaGVhZGVyc19wYXJzZXI9SGVhZGVyc1BhcnNl
cigpCisrICAgICAgICApCisgICAgICAgICAjIEZlZWRpbmcgb25lIHdyb25nIGJ5dGUgc2hvdWxk
IGJlIGVub3VnaCB0byBjaG9vc2UgZXhhY3QKKyAgICAgICAgICMgZGVmbGF0ZSBkZWNvbXByZXNz
b3IKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIiSyIpCitAQCAtMTgxNSw3ICsxNzg0LDcgQEAgY2xh
c3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAgICAgICAgIHNlbGYsIHByb3RvY29sOiBCYXNlUHJvdG9j
b2wKKyAgICAgKSAtPiBOb25lOgorICAgICAgICAgb3V0ID0gYWlvaHR0cC5TdHJlYW1SZWFkZXIo
cHJvdG9jb2wsIDIqKjE2LCBsb29wPWFzeW5jaW8uZ2V0X3J1bm5pbmdfbG9vcCgpKQorLSAgICAg
ICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwgbGVuZ3RoPTApCisrICAgICAgICBwID0gSHR0
cFBheWxvYWRQYXJzZXIob3V0LCBsZW5ndGg9MCwgaGVhZGVyc19wYXJzZXI9SGVhZGVyc1BhcnNl
cigpKQorICAgICAgICAgYXNzZXJ0IHAuZG9uZQorICAgICAgICAgYXNzZXJ0IG91dC5pc19lb2Yo
KQorIAorQEAgLTE4MjMsNyArMTc5MiwxMiBAQCBjbGFzcyBUZXN0UGFyc2VQYXlsb2FkOgorICAg
ICBhc3luYyBkZWYgdGVzdF9odHRwX3BheWxvYWRfYnJvdGxpKHNlbGYsIHByb3RvY29sOiBCYXNl
UHJvdG9jb2wpIC0+IE5vbmU6CisgICAgICAgICBjb21wcmVzc2VkID0gYnJvdGxpLmNvbXByZXNz
KGIiYnJvdGxpIGRhdGEiKQorICAgICAgICAgb3V0ID0gYWlvaHR0cC5TdHJlYW1SZWFkZXIocHJv
dG9jb2wsIDIqKjE2LCBsb29wPWFzeW5jaW8uZ2V0X3J1bm5pbmdfbG9vcCgpKQorLSAgICAgICAg
cCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwgbGVuZ3RoPWxlbihjb21wcmVzc2VkKSwgY29tcHJl
c3Npb249ImJyIikKKysgICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcigKKysgICAgICAgICAg
ICBvdXQsCisrICAgICAgICAgICAgbGVuZ3RoPWxlbihjb21wcmVzc2VkKSwKKysgICAgICAgICAg
ICBjb21wcmVzc2lvbj0iYnIiLAorKyAgICAgICAgICAgIGhlYWRlcnNfcGFyc2VyPUhlYWRlcnNQ
YXJzZXIoKSwKKysgICAgICAgICkKKyAgICAgICAgIHAuZmVlZF9kYXRhKGNvbXByZXNzZWQpCisg
ICAgICAgICBhc3NlcnQgYiJicm90bGkgZGF0YSIgPT0gb3V0Ll9idWZmZXJbMF0KKyAgICAgICAg
IGFzc2VydCBvdXQuaXNfZW9mKCkKZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGVi
aWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMjI4MTUucGF0Y2ggcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9k
ZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0yMjgxNS5wYXRjaAotLS0gcHl0aG9uLWFpb2h0dHAtMy4x
MS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0yMjgxNS5wYXRjaAkxOTcwLTAxLTAxIDAxOjAw
OjAwLjAwMDAwMDAwMCArMDEwMAorKysgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0
Y2hlcy9DVkUtMjAyNi0yMjgxNS5wYXRjaAkyMDI2LTA3LTMxIDAzOjUwOjMyLjAwMDAwMDAwMCAr
MDIwMApAQCAtMCwwICsxLDk5NyBAQAorRnJvbTogU2FtIEJ1bGwgPGdpdEBzYW1idWxsLm9yZz4K
K0RhdGU6IE1vbiwgMTIgSmFuIDIwMjYgMTg6NDk6MTkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0g
QWRkIG1heF9oZWFkZXJzIHBhcmFtZXRlciAoIzExOTU1KSAoIzExOTU5KSAoIzExOTYwKQorCiso
Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlZDY0NDBjYTQ5ZWY0OTA3YWI5ZDk5YmE3ZTMyOWFh
YjcwMmI3MTczKQorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMzBlYzI1ZjhhNThjNWRjM2Y4
ZmRiM2VlYzMxZjU1NWVlYWFiZDMwYSkKKworUmV2aWV3ZWQtQnk6IERhbmllbCBMZWlkZXJ0IDxk
bGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMv
YWlvaHR0cC9jb21taXQvMGMyZTlkYTUxMTI2MjM4YTQyMTU2OGViN2M1YjUzZTViNWQxN2IzNgor
T3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9jb21taXQvYjI4MmZm
OWZlOGViOTM0ZDEzMmRiNjQ2N2E4ZTJmN2RiNjgwOWI3YworQnVnOiBodHRwczovL2dpdGh1Yi5j
b20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0EtdzJmbS0yY3B2LXc3
djUKK0J1Zy1EZWJpYW4tU2VjdXJpdHk6IGh0dHBzOi8vc2VjdXJpdHktdHJhY2tlci5kZWJpYW4u
b3JnL3RyYWNrZXIvQ1ZFLTIwMjYtMjI4MTUKK0J1Zy1GcmVleGlhbi1TZWN1cml0eTogaHR0cHM6
Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVuZGVkLWx0cy90cmFja2VyL0NWRS0yMDI2LTIyODE1Cist
LS0KKyBhaW9odHRwL19odHRwX3BhcnNlci5weXggICAgICAgIHwgIDMxICsrKysrKy0tLS0tCisg
YWlvaHR0cC9jbGllbnQucHkgICAgICAgICAgICAgICB8ICAgOSArKysrCisgYWlvaHR0cC9jbGll
bnRfcHJvdG8ucHkgICAgICAgICB8ICAgMiArCisgYWlvaHR0cC9odHRwX2V4Y2VwdGlvbnMucHkg
ICAgICB8ICAgOSArKy0tCisgYWlvaHR0cC9odHRwX3BhcnNlci5weSAgICAgICAgICB8ICA4NCAr
KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQorIGFpb2h0dHAvd2ViX3Byb3RvY29sLnB5ICAg
ICAgICAgfCAgIDIgKy0KKyBkb2NzL2NsaWVudF9yZWZlcmVuY2UucnN0ICAgICAgIHwgIDE3ICsr
KystLQorIGRvY3Mvd2ViX3JlZmVyZW5jZS5yc3QgICAgICAgICAgfCAgIDUgKy0KKyB0ZXN0cy90
ZXN0X2NsaWVudF9mdW5jdGlvbmFsLnB5IHwgMTE3ICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrLS0tLS0tLS0tLS0KKyB0ZXN0cy90ZXN0X2h0dHBfZXhjZXB0aW9ucy5weSAgIHwgIDE4ICsr
Ky0tLS0KKyB0ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5ICAgICAgIHwgMTEyICsrKysrKysrKysr
KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgMTEgZmlsZXMgY2hhbmdlZCwgMjc2IGluc2Vy
dGlvbnMoKyksIDEzMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Fpb2h0dHAvX2h0dHBf
cGFyc2VyLnB5eCBiL2Fpb2h0dHAvX2h0dHBfcGFyc2VyLnB5eAoraW5kZXggNzE3NjcyYS4uZGE1
MzAxYSAxMDA2NDQKKy0tLSBhL2Fpb2h0dHAvX2h0dHBfcGFyc2VyLnB5eAorKysrIGIvYWlvaHR0
cC9faHR0cF9wYXJzZXIucHl4CitAQCAtMjgxLDYgKzI4MSw3IEBAIGNkZWYgY2xhc3MgSHR0cFBh
cnNlcjoKKyAgICAgICAgIG9iamVjdCBfbmFtZQorICAgICAgICAgYnl0ZXMgX3Jhd192YWx1ZQor
ICAgICAgICAgYmludCAgICAgIF9oYXNfdmFsdWUKKysgICAgICAgIGludCBfaGVhZGVyX25hbWVf
c2l6ZQorIAorICAgICAgICAgb2JqZWN0IF9wcm90b2NvbAorICAgICAgICAgb2JqZWN0IF9sb29w
CitAQCAtMzMxLDcgKzMzMiw3IEBAIGNkZWYgY2xhc3MgSHR0cFBhcnNlcjoKKyAgICAgICAgIHNl
bGYsIGNwYXJzZXIubGxodHRwX3R5cGUgbW9kZSwKKyAgICAgICAgIG9iamVjdCBwcm90b2NvbCwg
b2JqZWN0IGxvb3AsIGludCBsaW1pdCwKKyAgICAgICAgIG9iamVjdCB0aW1lcj1Ob25lLAorLSAg
ICAgICAgc2l6ZV90IG1heF9saW5lX3NpemU9ODE5MCwgc2l6ZV90IG1heF9oZWFkZXJzPTMyNzY4
LAorKyAgICAgICAgc2l6ZV90IG1heF9saW5lX3NpemU9ODE5MCwgc2l6ZV90IG1heF9oZWFkZXJz
PTEyOCwKKyAgICAgICAgIHNpemVfdCBtYXhfZmllbGRfc2l6ZT04MTkwLCBwYXlsb2FkX2V4Y2Vw
dGlvbj1Ob25lLAorICAgICAgICAgYmludCByZXNwb25zZV93aXRoX2JvZHk9VHJ1ZSwgYmludCBy
ZWFkX3VudGlsX2VvZj1GYWxzZSwKKyAgICAgICAgIGJpbnQgYXV0b19kZWNvbXByZXNzPVRydWUs
CitAQCAtMzU0LDYgKzM1NSw3IEBAIGNkZWYgY2xhc3MgSHR0cFBhcnNlcjoKKyAgICAgICAgIHNl
bGYuX3Jhd19uYW1lID0gRU1QVFlfQllURVMKKyAgICAgICAgIHNlbGYuX3Jhd192YWx1ZSA9IEVN
UFRZX0JZVEVTCisgICAgICAgICBzZWxmLl9oYXNfdmFsdWUgPSBGYWxzZQorKyAgICAgICAgc2Vs
Zi5faGVhZGVyX25hbWVfc2l6ZSA9IDAKKyAKKyAgICAgICAgIHNlbGYuX21heF9saW5lX3NpemUg
PSBtYXhfbGluZV9zaXplCisgICAgICAgICBzZWxmLl9tYXhfaGVhZGVycyA9IG1heF9oZWFkZXJz
CitAQCAtMzg1LDExICszODcsMTQgQEAgY2RlZiBjbGFzcyBIdHRwUGFyc2VyOgorICAgICAgICAg
ICAgIHZhbHVlID0gc2VsZi5fcmF3X3ZhbHVlLmRlY29kZSgndXRmLTgnLCAnc3Vycm9nYXRlZXNj
YXBlJykKKyAKKyAgICAgICAgICAgICBzZWxmLl9oZWFkZXJzLmFwcGVuZCgobmFtZSwgdmFsdWUp
KQorKyAgICAgICAgICAgIGlmIGxlbihzZWxmLl9oZWFkZXJzKSA+IHNlbGYuX21heF9oZWFkZXJz
OgorKyAgICAgICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZSgiVG9vIG1hbnkgaGVhZGVy
cyByZWNlaXZlZCIpCisgCisgICAgICAgICAgICAgaWYgbmFtZSBpcyBDT05URU5UX0VOQ09ESU5H
OgorICAgICAgICAgICAgICAgICBzZWxmLl9jb250ZW50X2VuY29kaW5nID0gdmFsdWUKKyAKKyAg
ICAgICAgICAgICBzZWxmLl9oYXNfdmFsdWUgPSBGYWxzZQorKyAgICAgICAgICAgIHNlbGYuX2hl
YWRlcl9uYW1lX3NpemUgPSAwCisgICAgICAgICAgICAgc2VsZi5fcmF3X2hlYWRlcnMuYXBwZW5k
KChzZWxmLl9yYXdfbmFtZSwgc2VsZi5fcmF3X3ZhbHVlKSkKKyAgICAgICAgICAgICBzZWxmLl9y
YXdfbmFtZSA9IEVNUFRZX0JZVEVTCisgICAgICAgICAgICAgc2VsZi5fcmF3X3ZhbHVlID0gRU1Q
VFlfQllURVMKK0BAIC01NzYsNyArNTgxLDcgQEAgY2RlZiBjbGFzcyBIdHRwUmVxdWVzdFBhcnNl
cihIdHRwUGFyc2VyKToKKyAKKyAgICAgZGVmIF9faW5pdF9fKAorICAgICAgICAgc2VsZiwgcHJv
dG9jb2wsIGxvb3AsIGludCBsaW1pdCwgdGltZXI9Tm9uZSwKKy0gICAgICAgIHNpemVfdCBtYXhf
bGluZV9zaXplPTgxOTAsIHNpemVfdCBtYXhfaGVhZGVycz0zMjc2OCwKKysgICAgICAgIHNpemVf
dCBtYXhfbGluZV9zaXplPTgxOTAsIHNpemVfdCBtYXhfaGVhZGVycz0xMjgsCisgICAgICAgICBz
aXplX3QgbWF4X2ZpZWxkX3NpemU9ODE5MCwgcGF5bG9hZF9leGNlcHRpb249Tm9uZSwKKyAgICAg
ICAgIGJpbnQgcmVzcG9uc2Vfd2l0aF9ib2R5PVRydWUsIGJpbnQgcmVhZF91bnRpbF9lb2Y9RmFs
c2UsCisgICAgICAgICBiaW50IGF1dG9fZGVjb21wcmVzcz1UcnVlLAorQEAgLTY0MCw3ICs2NDUs
NyBAQCBjZGVmIGNsYXNzIEh0dHBSZXNwb25zZVBhcnNlcihIdHRwUGFyc2VyKToKKyAKKyAgICAg
ZGVmIF9faW5pdF9fKAorICAgICAgICAgc2VsZiwgcHJvdG9jb2wsIGxvb3AsIGludCBsaW1pdCwg
dGltZXI9Tm9uZSwKKy0gICAgICAgICAgICBzaXplX3QgbWF4X2xpbmVfc2l6ZT04MTkwLCBzaXpl
X3QgbWF4X2hlYWRlcnM9MzI3NjgsCisrICAgICAgICAgICAgc2l6ZV90IG1heF9saW5lX3NpemU9
ODE5MCwgc2l6ZV90IG1heF9oZWFkZXJzPTEyOCwKKyAgICAgICAgICAgICBzaXplX3QgbWF4X2Zp
ZWxkX3NpemU9ODE5MCwgcGF5bG9hZF9leGNlcHRpb249Tm9uZSwKKyAgICAgICAgICAgICBiaW50
IHJlc3BvbnNlX3dpdGhfYm9keT1UcnVlLCBiaW50IHJlYWRfdW50aWxfZW9mPUZhbHNlLAorICAg
ICAgICAgICAgIGJpbnQgYXV0b19kZWNvbXByZXNzPVRydWUKK0BAIC02NzksOCArNjg0LDggQEAg
Y2RlZiBpbnQgY2Jfb25fdXJsKGNwYXJzZXIubGxodHRwX3QqIHBhcnNlciwKKyAgICAgY2RlZiBI
dHRwUGFyc2VyIHB5cGFyc2VyID0gPEh0dHBQYXJzZXI+cGFyc2VyLmRhdGEKKyAgICAgdHJ5Ogor
ICAgICAgICAgaWYgbGVuZ3RoID4gcHlwYXJzZXIuX21heF9saW5lX3NpemU6CistICAgICAgICAg
ICAgcmFpc2UgTGluZVRvb0xvbmcoCistICAgICAgICAgICAgICAgICdTdGF0dXMgbGluZSBpcyB0
b28gbG9uZycsIHB5cGFyc2VyLl9tYXhfbGluZV9zaXplLCBsZW5ndGgpCisrICAgICAgICAgICAg
c3RhdHVzID0gcHlwYXJzZXIuX2J1ZiArIGF0WzpsZW5ndGhdCisrICAgICAgICAgICAgcmFpc2Ug
TGluZVRvb0xvbmcoc3RhdHVzWzoxMDBdICsgYiIuLi4iLCBweXBhcnNlci5fbWF4X2xpbmVfc2l6
ZSkKKyAgICAgICAgIGV4dGVuZChweXBhcnNlci5fYnVmLCBhdCwgbGVuZ3RoKQorICAgICBleGNl
cHQgQmFzZUV4Y2VwdGlvbiBhcyBleDoKKyAgICAgICAgIHB5cGFyc2VyLl9sYXN0X2Vycm9yID0g
ZXgKK0BAIC02OTIsMTEgKzY5NywxMCBAQCBjZGVmIGludCBjYl9vbl91cmwoY3BhcnNlci5sbGh0
dHBfdCogcGFyc2VyLAorIGNkZWYgaW50IGNiX29uX3N0YXR1cyhjcGFyc2VyLmxsaHR0cF90KiBw
YXJzZXIsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmF0LCBzaXplX3QgbGVu
Z3RoKSBleGNlcHQgLTE6CisgICAgIGNkZWYgSHR0cFBhcnNlciBweXBhcnNlciA9IDxIdHRwUGFy
c2VyPnBhcnNlci5kYXRhCistICAgIGNkZWYgc3RyIHJlYXNvbgorICAgICB0cnk6CisgICAgICAg
ICBpZiBsZW5ndGggPiBweXBhcnNlci5fbWF4X2xpbmVfc2l6ZToKKy0gICAgICAgICAgICByYWlz
ZSBMaW5lVG9vTG9uZygKKy0gICAgICAgICAgICAgICAgJ1N0YXR1cyBsaW5lIGlzIHRvbyBsb25n
JywgcHlwYXJzZXIuX21heF9saW5lX3NpemUsIGxlbmd0aCkKKysgICAgICAgICAgICByZWFzb24g
PSBweXBhcnNlci5fYnVmICsgYXRbOmxlbmd0aF0KKysgICAgICAgICAgICByYWlzZSBMaW5lVG9v
TG9uZyhyZWFzb25bOjEwMF0gKyBiIi4uLiIsIHB5cGFyc2VyLl9tYXhfbGluZV9zaXplKQorICAg
ICAgICAgZXh0ZW5kKHB5cGFyc2VyLl9idWYsIGF0LCBsZW5ndGgpCisgICAgIGV4Y2VwdCBCYXNl
RXhjZXB0aW9uIGFzIGV4OgorICAgICAgICAgcHlwYXJzZXIuX2xhc3RfZXJyb3IgPSBleAorQEAg
LTcxMyw4ICs3MTcsOSBAQCBjZGVmIGludCBjYl9vbl9oZWFkZXJfZmllbGQoY3BhcnNlci5sbGh0
dHBfdCogcGFyc2VyLAorICAgICAgICAgcHlwYXJzZXIuX29uX3N0YXR1c19jb21wbGV0ZSgpCisg
ICAgICAgICBzaXplID0gbGVuKHB5cGFyc2VyLl9yYXdfbmFtZSkgKyBsZW5ndGgKKyAgICAgICAg
IGlmIHNpemUgPiBweXBhcnNlci5fbWF4X2ZpZWxkX3NpemU6CistICAgICAgICAgICAgcmFpc2Ug
TGluZVRvb0xvbmcoCistICAgICAgICAgICAgICAgICdIZWFkZXIgbmFtZSBpcyB0b28gbG9uZycs
IHB5cGFyc2VyLl9tYXhfZmllbGRfc2l6ZSwgc2l6ZSkKKysgICAgICAgICAgICBuYW1lID0gcHlw
YXJzZXIuX3Jhd19uYW1lICsgYXRbOmxlbmd0aF0KKysgICAgICAgICAgICByYWlzZSBMaW5lVG9v
TG9uZyhuYW1lWzoxMDBdICsgYiIuLi4iLCBweXBhcnNlci5fbWF4X2ZpZWxkX3NpemUpCisrICAg
ICAgICBweXBhcnNlci5faGVhZGVyX25hbWVfc2l6ZSA9IHNpemUKKyAgICAgICAgIHB5cGFyc2Vy
Ll9vbl9oZWFkZXJfZmllbGQoYXQsIGxlbmd0aCkKKyAgICAgZXhjZXB0IEJhc2VFeGNlcHRpb24g
YXMgZXg6CisgICAgICAgICBweXBhcnNlci5fbGFzdF9lcnJvciA9IGV4CitAQCAtNzI5LDkgKzcz
NCw5IEBAIGNkZWYgaW50IGNiX29uX2hlYWRlcl92YWx1ZShjcGFyc2VyLmxsaHR0cF90KiBwYXJz
ZXIsCisgICAgIGNkZWYgUHlfc3NpemVfdCBzaXplCisgICAgIHRyeToKKyAgICAgICAgIHNpemUg
PSBsZW4ocHlwYXJzZXIuX3Jhd192YWx1ZSkgKyBsZW5ndGgKKy0gICAgICAgIGlmIHNpemUgPiBw
eXBhcnNlci5fbWF4X2ZpZWxkX3NpemU6CistICAgICAgICAgICAgcmFpc2UgTGluZVRvb0xvbmco
CistICAgICAgICAgICAgICAgICdIZWFkZXIgdmFsdWUgaXMgdG9vIGxvbmcnLCBweXBhcnNlci5f
bWF4X2ZpZWxkX3NpemUsIHNpemUpCisrICAgICAgICBpZiBweXBhcnNlci5faGVhZGVyX25hbWVf
c2l6ZSArIHNpemUgPiBweXBhcnNlci5fbWF4X2ZpZWxkX3NpemU6CisrICAgICAgICAgICAgdmFs
dWUgPSBweXBhcnNlci5fcmF3X3ZhbHVlICsgYXRbOmxlbmd0aF0KKysgICAgICAgICAgICByYWlz
ZSBMaW5lVG9vTG9uZyh2YWx1ZVs6MTAwXSArIGIiLi4uIiwgcHlwYXJzZXIuX21heF9maWVsZF9z
aXplKQorICAgICAgICAgcHlwYXJzZXIuX29uX2hlYWRlcl92YWx1ZShhdCwgbGVuZ3RoKQorICAg
ICBleGNlcHQgQmFzZUV4Y2VwdGlvbiBhcyBleDoKKyAgICAgICAgIHB5cGFyc2VyLl9sYXN0X2Vy
cm9yID0gZXgKK2RpZmYgLS1naXQgYS9haW9odHRwL2NsaWVudC5weSBiL2Fpb2h0dHAvY2xpZW50
LnB5CitpbmRleCA3Yzc4OGU4Li5lMzdjZDJlIDEwMDY0NAorLS0tIGEvYWlvaHR0cC9jbGllbnQu
cHkKKysrKyBiL2Fpb2h0dHAvY2xpZW50LnB5CitAQCAtMTkxLDYgKzE5MSw3IEBAIGNsYXNzIF9S
ZXF1ZXN0T3B0aW9ucyhUeXBlZERpY3QsIHRvdGFsPUZhbHNlKToKKyAgICAgYXV0b19kZWNvbXBy
ZXNzOiBVbmlvbltib29sLCBOb25lXQorICAgICBtYXhfbGluZV9zaXplOiBVbmlvbltpbnQsIE5v
bmVdCisgICAgIG1heF9maWVsZF9zaXplOiBVbmlvbltpbnQsIE5vbmVdCisrICAgIG1heF9oZWFk
ZXJzOiBVbmlvbltpbnQsIE5vbmVdCisgCisgCisgQGF0dHIucyhhdXRvX2F0dHJpYnM9VHJ1ZSwg
ZnJvemVuPVRydWUsIHNsb3RzPVRydWUpCitAQCAtMjU0LDYgKzI1NSw3IEBAIGNsYXNzIENsaWVu
dFNlc3Npb246CisgICAgICAgICAgICAgIl9yZWFkX2J1ZnNpemUiLAorICAgICAgICAgICAgICJf
bWF4X2xpbmVfc2l6ZSIsCisgICAgICAgICAgICAgIl9tYXhfZmllbGRfc2l6ZSIsCisrICAgICAg
ICAgICAgIl9tYXhfaGVhZGVycyIsCisgICAgICAgICAgICAgIl9yZXNvbHZlX2NoYXJzZXQiLAor
ICAgICAgICAgICAgICJfZGVmYXVsdF9wcm94eSIsCisgICAgICAgICAgICAgIl9kZWZhdWx0X3By
b3h5X2F1dGgiLAorQEAgLTI5Nyw2ICsyOTksNyBAQCBjbGFzcyBDbGllbnRTZXNzaW9uOgorICAg
ICAgICAgcmVhZF9idWZzaXplOiBpbnQgPSAyKioxNiwKKyAgICAgICAgIG1heF9saW5lX3NpemU6
IGludCA9IDgxOTAsCisgICAgICAgICBtYXhfZmllbGRfc2l6ZTogaW50ID0gODE5MCwKKysgICAg
ICAgIG1heF9oZWFkZXJzOiBpbnQgPSAxMjgsCisgICAgICAgICBmYWxsYmFja19jaGFyc2V0X3Jl
c29sdmVyOiBfQ2hhcnNldFJlc29sdmVyID0gbGFtYmRhIHIsIGI6ICJ1dGYtOCIsCisgICAgICkg
LT4gTm9uZToKKyAgICAgICAgICMgV2UgaW5pdGlhbGlzZSBfY29ubmVjdG9yIHRvIE5vbmUgaW1t
ZWRpYXRlbHksIGFzIGl0J3MgcmVmZXJlbmNlZCBpbiBfX2RlbF9fKCkKK0BAIC0zODUsNiArMzg4
LDcgQEAgY2xhc3MgQ2xpZW50U2Vzc2lvbjoKKyAgICAgICAgIHNlbGYuX3JlYWRfYnVmc2l6ZSA9
IHJlYWRfYnVmc2l6ZQorICAgICAgICAgc2VsZi5fbWF4X2xpbmVfc2l6ZSA9IG1heF9saW5lX3Np
emUKKyAgICAgICAgIHNlbGYuX21heF9maWVsZF9zaXplID0gbWF4X2ZpZWxkX3NpemUKKysgICAg
ICAgIHNlbGYuX21heF9oZWFkZXJzID0gbWF4X2hlYWRlcnMKKyAKKyAgICAgICAgICMgQ29udmVy
dCB0byBsaXN0IG9mIHR1cGxlcworICAgICAgICAgaWYgaGVhZGVyczoKK0BAIC01MDIsNiArNTA2
LDcgQEAgY2xhc3MgQ2xpZW50U2Vzc2lvbjoKKyAgICAgICAgIGF1dG9fZGVjb21wcmVzczogT3B0
aW9uYWxbYm9vbF0gPSBOb25lLAorICAgICAgICAgbWF4X2xpbmVfc2l6ZTogT3B0aW9uYWxbaW50
XSA9IE5vbmUsCisgICAgICAgICBtYXhfZmllbGRfc2l6ZTogT3B0aW9uYWxbaW50XSA9IE5vbmUs
CisrICAgICAgICBtYXhfaGVhZGVyczogT3B0aW9uYWxbaW50XSA9IE5vbmUsCisgICAgICkgLT4g
Q2xpZW50UmVzcG9uc2U6CisgCisgICAgICAgICAjIE5PVEU6IHRpbWVvdXQgY2xhbXBzIGV4aXN0
aW5nIGNvbm5lY3QgYW5kIHJlYWQgdGltZW91dHMuICBXZSBjYW5ub3QKK0BAIC01OTAsNiArNTk1
LDkgQEAgY2xhc3MgQ2xpZW50U2Vzc2lvbjoKKyAgICAgICAgIGlmIG1heF9maWVsZF9zaXplIGlz
IE5vbmU6CisgICAgICAgICAgICAgbWF4X2ZpZWxkX3NpemUgPSBzZWxmLl9tYXhfZmllbGRfc2l6
ZQorIAorKyAgICAgICAgaWYgbWF4X2hlYWRlcnMgaXMgTm9uZToKKysgICAgICAgICAgICBtYXhf
aGVhZGVycyA9IHNlbGYuX21heF9oZWFkZXJzCisrCisgICAgICAgICB0cmFjZXMgPSBbCisgICAg
ICAgICAgICAgVHJhY2UoCisgICAgICAgICAgICAgICAgIHNlbGYsCitAQCAtNzIxLDYgKzcyOSw3
IEBAIGNsYXNzIENsaWVudFNlc3Npb246CisgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91
dF9jZWlsX3RocmVzaG9sZD1zZWxmLl9jb25uZWN0b3IuX3RpbWVvdXRfY2VpbF90aHJlc2hvbGQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6ZT1tYXhfbGluZV9zaXplLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXplPW1heF9maWVsZF9zaXplLAor
KyAgICAgICAgICAgICAgICAgICAgICAgIG1heF9oZWFkZXJzPW1heF9oZWFkZXJzLAorICAgICAg
ICAgICAgICAgICAgICAgKQorIAorICAgICAgICAgICAgICAgICAgICAgdHJ5OgorZGlmZiAtLWdp
dCBhL2Fpb2h0dHAvY2xpZW50X3Byb3RvLnB5IGIvYWlvaHR0cC9jbGllbnRfcHJvdG8ucHkKK2lu
ZGV4IDJkNjRiM2YuLjNjY2NjMGMgMTAwNjQ0CistLS0gYS9haW9odHRwL2NsaWVudF9wcm90by5w
eQorKysrIGIvYWlvaHR0cC9jbGllbnRfcHJvdG8ucHkKK0BAIC0xNzksNiArMTc5LDcgQEAgY2xh
c3MgUmVzcG9uc2VIYW5kbGVyKEJhc2VQcm90b2NvbCwgRGF0YVF1ZXVlW1R1cGxlW1Jhd1Jlc3Bv
bnNlTWVzc2FnZSwgU3RyZWFtUmUKKyAgICAgICAgIHRpbWVvdXRfY2VpbF90aHJlc2hvbGQ6IGZs
b2F0ID0gNSwKKyAgICAgICAgIG1heF9saW5lX3NpemU6IGludCA9IDgxOTAsCisgICAgICAgICBt
YXhfZmllbGRfc2l6ZTogaW50ID0gODE5MCwKKysgICAgICAgIG1heF9oZWFkZXJzOiBpbnQgPSAx
MjgsCisgICAgICkgLT4gTm9uZToKKyAgICAgICAgIHNlbGYuX3NraXBfcGF5bG9hZCA9IHNraXBf
cGF5bG9hZAorIAorQEAgLTE5Nyw2ICsxOTgsNyBAQCBjbGFzcyBSZXNwb25zZUhhbmRsZXIoQmFz
ZVByb3RvY29sLCBEYXRhUXVldWVbVHVwbGVbUmF3UmVzcG9uc2VNZXNzYWdlLCBTdHJlYW1SZQor
ICAgICAgICAgICAgIGF1dG9fZGVjb21wcmVzcz1hdXRvX2RlY29tcHJlc3MsCisgICAgICAgICAg
ICAgbWF4X2xpbmVfc2l6ZT1tYXhfbGluZV9zaXplLAorICAgICAgICAgICAgIG1heF9maWVsZF9z
aXplPW1heF9maWVsZF9zaXplLAorKyAgICAgICAgICAgIG1heF9oZWFkZXJzPW1heF9oZWFkZXJz
LAorICAgICAgICAgKQorIAorICAgICAgICAgaWYgc2VsZi5fdGFpbDoKK2RpZmYgLS1naXQgYS9h
aW9odHRwL2h0dHBfZXhjZXB0aW9ucy5weSBiL2Fpb2h0dHAvaHR0cF9leGNlcHRpb25zLnB5Citp
bmRleCAzNDIyZjI5Li45NGFmMzIzIDEwMDY0NAorLS0tIGEvYWlvaHR0cC9odHRwX2V4Y2VwdGlv
bnMucHkKKysrKyBiL2Fpb2h0dHAvaHR0cF9leGNlcHRpb25zLnB5CitAQCAtODAsMTEgKzgwLDEy
IEBAIGNsYXNzIERlY29tcHJlc3NTaXplRXJyb3IoUGF5bG9hZEVuY29kaW5nRXJyb3IpOgorIAor
IGNsYXNzIExpbmVUb29Mb25nKEJhZEh0dHBNZXNzYWdlKToKKyAgICAgZGVmIF9faW5pdF9fKAor
LSAgICAgICAgc2VsZiwgbGluZTogc3RyLCBsaW1pdDogc3RyID0gIlVua25vd24iLCBhY3R1YWxf
c2l6ZTogc3RyID0gIlVua25vd24iCisrICAgICAgICBzZWxmLAorKyAgICAgICAgbGluZTogVW5p
b25bc3RyLCBieXRlc10sCisrICAgICAgICBsaW1pdDogVW5pb25bc3RyLCBpbnRdID0gIlVua25v
d24iLAorKyAgICAgICAgYWN0dWFsX3NpemU6IHN0ciA9ICJVbmtub3duIiwKKyAgICAgKSAtPiBO
b25lOgorLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXygKKy0gICAgICAgICAgICBmIkdvdCBtb3Jl
IHRoYW4ge2xpbWl0fSBieXRlcyAoe2FjdHVhbF9zaXplfSkgd2hlbiByZWFkaW5nIHtsaW5lfS4i
CistICAgICAgICApCisrICAgICAgICBzdXBlcigpLl9faW5pdF9fKGYiR290IG1vcmUgdGhhbiB7
bGltaXR9IGJ5dGVzIHdoZW4gcmVhZGluZzoge2xpbmUhcn0uIikKKyAgICAgICAgIHNlbGYuYXJn
cyA9IChsaW5lLCBsaW1pdCwgYWN0dWFsX3NpemUpCisgCisgCitkaWZmIC0tZ2l0IGEvYWlvaHR0
cC9odHRwX3BhcnNlci5weSBiL2Fpb2h0dHAvaHR0cF9wYXJzZXIucHkKK2luZGV4IDZkNzZhYzIu
LjM4M2Q3NjAgMTAwNjQ0CistLS0gYS9haW9odHRwL2h0dHBfcGFyc2VyLnB5CisrKysgYi9haW9o
dHRwL2h0dHBfcGFyc2VyLnB5CitAQCAtMTYyLDIwICsxNjIsMTAgQEAgY2xhc3MgSGVhZGVyc1Bh
cnNlcjoKKyAgICAgICAgICAgICAgICAgcmFpc2UgSW52YWxpZEhlYWRlcihsaW5lKQorIAorICAg
ICAgICAgICAgIGJ2YWx1ZSA9IGJ2YWx1ZS5sc3RyaXAoYiIgXHQiKQorLSAgICAgICAgICAgIGlm
IGxlbihibmFtZSkgPiBzZWxmLm1heF9maWVsZF9zaXplOgorLSAgICAgICAgICAgICAgICByYWlz
ZSBMaW5lVG9vTG9uZygKKy0gICAgICAgICAgICAgICAgICAgICJyZXF1ZXN0IGhlYWRlciBuYW1l
IHt9Ii5mb3JtYXQoCistICAgICAgICAgICAgICAgICAgICAgICAgYm5hbWUuZGVjb2RlKCJ1dGY4
IiwgImJhY2tzbGFzaHJlcGxhY2UiKQorLSAgICAgICAgICAgICAgICAgICAgKSwKKy0gICAgICAg
ICAgICAgICAgICAgIHN0cihzZWxmLm1heF9maWVsZF9zaXplKSwKKy0gICAgICAgICAgICAgICAg
ICAgIHN0cihsZW4oYm5hbWUpKSwKKy0gICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgIG5h
bWUgPSBibmFtZS5kZWNvZGUoInV0Zi04IiwgInN1cnJvZ2F0ZWVzY2FwZSIpCisgICAgICAgICAg
ICAgaWYgbm90IFRPS0VOUkUuZnVsbG1hdGNoKG5hbWUpOgorICAgICAgICAgICAgICAgICByYWlz
ZSBJbnZhbGlkSGVhZGVyKGJuYW1lKQorIAorLSAgICAgICAgICAgIGhlYWRlcl9sZW5ndGggPSBs
ZW4oYnZhbHVlKQorLQorICAgICAgICAgICAgICMgbmV4dCBsaW5lCisgICAgICAgICAgICAgbGlu
ZXNfaWR4ICs9IDEKKyAgICAgICAgICAgICBsaW5lID0gbGluZXNbbGluZXNfaWR4XQorQEAgLTE4
NSwxNiArMTc1LDE0IEBAIGNsYXNzIEhlYWRlcnNQYXJzZXI6CisgCisgICAgICAgICAgICAgIyBE
ZXByZWNhdGVkOiBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMi5odG1sI25h
bWUtb2Jzb2xldGUtbGluZS1mb2xkaW5nCisgICAgICAgICAgICAgaWYgY29udGludWF0aW9uOgor
KyAgICAgICAgICAgICAgICBoZWFkZXJfbGVuZ3RoID0gbGVuKGJ2YWx1ZSkKKyAgICAgICAgICAg
ICAgICAgYnZhbHVlX2xzdCA9IFtidmFsdWVdCisgICAgICAgICAgICAgICAgIHdoaWxlIGNvbnRp
bnVhdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgIGhlYWRlcl9sZW5ndGggKz0gbGVuKGxpbmUp
CisgICAgICAgICAgICAgICAgICAgICBpZiBoZWFkZXJfbGVuZ3RoID4gc2VsZi5tYXhfZmllbGRf
c2l6ZToKKysgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJfbGluZSA9IGJuYW1lICsgYiI6
ICIgKyBiIiIuam9pbihidmFsdWVfbHN0KQorICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNl
IExpbmVUb29Mb25nKAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVxdWVzdCBoZWFk
ZXIgZmllbGQge30iLmZvcm1hdCgKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJu
YW1lLmRlY29kZSgidXRmOCIsICJiYWNrc2xhc2hyZXBsYWNlIikKKy0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlbGYubWF4
X2ZpZWxkX3NpemUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoaGVhZGVyX2xl
bmd0aCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcl9saW5lWzoxMDBdICsg
YiIuLi4iLCBzZWxmLm1heF9maWVsZF9zaXplCisgICAgICAgICAgICAgICAgICAgICAgICAgKQor
ICAgICAgICAgICAgICAgICAgICAgYnZhbHVlX2xzdC5hcHBlbmQobGluZSkKKyAKK0BAIC0yMDgs
MTUgKzE5Niw2IEBAIGNsYXNzIEhlYWRlcnNQYXJzZXI6CisgICAgICAgICAgICAgICAgICAgICAg
ICAgbGluZSA9IGIiIgorICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAg
ICAgICAgIGJ2YWx1ZSA9IGIiIi5qb2luKGJ2YWx1ZV9sc3QpCistICAgICAgICAgICAgZWxzZToK
Ky0gICAgICAgICAgICAgICAgaWYgaGVhZGVyX2xlbmd0aCA+IHNlbGYubWF4X2ZpZWxkX3NpemU6
CistICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW5lVG9vTG9uZygKKy0gICAgICAgICAgICAg
ICAgICAgICAgICAicmVxdWVzdCBoZWFkZXIgZmllbGQge30iLmZvcm1hdCgKKy0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm5hbWUuZGVjb2RlKCJ1dGY4IiwgImJhY2tzbGFzaHJlcGxhY2Ui
KQorLSAgICAgICAgICAgICAgICAgICAgICAgICksCistICAgICAgICAgICAgICAgICAgICAgICAg
c3RyKHNlbGYubWF4X2ZpZWxkX3NpemUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgIHN0ciho
ZWFkZXJfbGVuZ3RoKSwKKy0gICAgICAgICAgICAgICAgICAgICkKKyAKKyAgICAgICAgICAgICBi
dmFsdWUgPSBidmFsdWUuc3RyaXAoYiIgXHQiKQorICAgICAgICAgICAgIHZhbHVlID0gYnZhbHVl
LmRlY29kZSgidXRmLTgiLCAic3Vycm9nYXRlZXNjYXBlIikKK0BAIC0yNDcsNyArMjI2LDcgQEAg
Y2xhc3MgSHR0cFBhcnNlcihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6CisgICAgICAgICBsb29w
OiBPcHRpb25hbFthc3luY2lvLkFic3RyYWN0RXZlbnRMb29wXSA9IE5vbmUsCisgICAgICAgICBs
aW1pdDogaW50ID0gMioqMTYsCisgICAgICAgICBtYXhfbGluZV9zaXplOiBpbnQgPSA4MTkwLAor
LSAgICAgICAgbWF4X2hlYWRlcnM6IGludCA9IDMyNzY4LAorKyAgICAgICAgbWF4X2hlYWRlcnM6
IGludCA9IDEyOCwKKyAgICAgICAgIG1heF9maWVsZF9zaXplOiBpbnQgPSA4MTkwLAorICAgICAg
ICAgdGltZXI6IE9wdGlvbmFsW0Jhc2VUaW1lckNvbnRleHRdID0gTm9uZSwKKyAgICAgICAgIGNv
ZGU6IE9wdGlvbmFsW2ludF0gPSBOb25lLAorQEAgLTI2Miw2ICsyNDEsNyBAQCBjbGFzcyBIdHRw
UGFyc2VyKGFiYy5BQkMsIEdlbmVyaWNbX01zZ1RdKToKKyAgICAgICAgIHNlbGYubWF4X2xpbmVf
c2l6ZSA9IG1heF9saW5lX3NpemUKKyAgICAgICAgIHNlbGYubWF4X2hlYWRlcnMgPSBtYXhfaGVh
ZGVycworICAgICAgICAgc2VsZi5tYXhfZmllbGRfc2l6ZSA9IG1heF9maWVsZF9zaXplCisrICAg
ICAgICBzZWxmLm1heF9oZWFkZXJzID0gbWF4X2hlYWRlcnMKKyAgICAgICAgIHNlbGYudGltZXIg
PSB0aW1lcgorICAgICAgICAgc2VsZi5jb2RlID0gY29kZQorICAgICAgICAgc2VsZi5tZXRob2Qg
PSBtZXRob2QKK0BAIC0zMjAsNiArMzAwLDcgQEAgY2xhc3MgSHR0cFBhcnNlcihhYmMuQUJDLCBH
ZW5lcmljW19Nc2dUXSk6CisgICAgICAgICBkYXRhX2xlbiA9IGxlbihkYXRhKQorICAgICAgICAg
c3RhcnRfcG9zID0gMAorICAgICAgICAgbG9vcCA9IHNlbGYubG9vcAorKyAgICAgICAgbWF4X2xp
bmVfbGVuZ3RoID0gc2VsZi5tYXhfbGluZV9zaXplCisgCisgICAgICAgICBzaG91bGRfY2xvc2Ug
PSBGYWxzZQorICAgICAgICAgd2hpbGUgc3RhcnRfcG9zIDwgZGF0YV9sZW46CitAQCAtMzQxLDEx
ICszMjIsMjEgQEAgY2xhc3MgSHR0cFBhcnNlcihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6Cisg
ICAgICAgICAgICAgICAgICAgICBsaW5lID0gZGF0YVtzdGFydF9wb3M6cG9zXQorICAgICAgICAg
ICAgICAgICAgICAgaWYgU0VQID09IGIiXG4iOiAgIyBGb3IgbGF4IHJlc3BvbnNlIHBhcnNpbmcK
KyAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yc3RyaXAoYiJcciIpCisrICAg
ICAgICAgICAgICAgICAgICBpZiBsZW4obGluZSkgPiBtYXhfbGluZV9sZW5ndGg6CisrICAgICAg
ICAgICAgICAgICAgICAgICAgcmFpc2UgTGluZVRvb0xvbmcobGluZVs6MTAwXSArIGIiLi4uIiwg
bWF4X2xpbmVfbGVuZ3RoKQorKworICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbGluZXMuYXBw
ZW5kKGxpbmUpCisrICAgICAgICAgICAgICAgICAgICAjIEFmdGVyIHByb2Nlc3NpbmcgdGhlIHN0
YXR1cy9yZXF1ZXN0IGxpbmUsIGV2ZXJ5dGhpbmcgaXMgYSBoZWFkZXIuCisrICAgICAgICAgICAg
ICAgICAgICBtYXhfbGluZV9sZW5ndGggPSBzZWxmLm1heF9maWVsZF9zaXplCisrCisrICAgICAg
ICAgICAgICAgICAgICBpZiBsZW4oc2VsZi5fbGluZXMpID4gc2VsZi5tYXhfaGVhZGVyczoKKysg
ICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZSgiVG9vIG1hbnkgaGVh
ZGVycyByZWNlaXZlZCIpCisrCisgICAgICAgICAgICAgICAgICAgICBzdGFydF9wb3MgPSBwb3Mg
KyBsZW4oU0VQKQorIAorICAgICAgICAgICAgICAgICAgICAgIyBcclxuXHJcbiBmb3VuZAorICAg
ICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fbGluZXNbLTFdID09IEVNUFRZOgorKyAgICAgICAg
ICAgICAgICAgICAgICAgIG1heF90cmFpbGVycyA9IHNlbGYubWF4X2hlYWRlcnMgLSBsZW4oc2Vs
Zi5fbGluZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtc2c6IF9Nc2dUID0gc2VsZi5wYXJzZV9tZXNzYWdlKHNlbGYuX2xpbmVz
KQorICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmFsbHk6CitAQCAtNDA0LDYgKzM5NSw5IEBA
IGNsYXNzIEh0dHBQYXJzZXIoYWJjLkFCQywgR2VuZXJpY1tfTXNnVF0pOgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYXV0b19kZWNvbXByZXNzPXNlbGYuX2F1dG9fZGVjb21wcmVz
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheD1zZWxmLmxheCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnNfcGFyc2VyPXNlbGYuX2hlYWRlcnNf
cGFyc2VyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6ZT1z
ZWxmLm1heF9saW5lX3NpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhf
ZmllbGRfc2l6ZT1zZWxmLm1heF9maWVsZF9zaXplLAorKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbWF4X3RyYWlsZXJzPW1heF90cmFpbGVycywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgcGF5bG9hZF9w
YXJzZXIuZG9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BheWxv
YWRfcGFyc2VyID0gcGF5bG9hZF9wYXJzZXIKK0BAIC00MjMsNiArNDE3LDkgQEAgY2xhc3MgSHR0
cFBhcnNlcihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhdXRvX2RlY29tcHJlc3M9c2VsZi5fYXV0b19kZWNvbXByZXNzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF4PXNlbGYubGF4LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVhZGVyc19wYXJzZXI9c2VsZi5faGVhZGVyc19wYXJzZXIsCisr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbGluZV9zaXplPXNlbGYubWF4X2xp
bmVfc2l6ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXpl
PXNlbGYubWF4X2ZpZWxkX3NpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
YXhfdHJhaWxlcnM9bWF4X3RyYWlsZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAp
CisgICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiBub3QgZW1wdHlfYm9keSBhbmQgbGVuZ3Ro
IGlzIE5vbmUgYW5kIHNlbGYucmVhZF91bnRpbF9lb2Y6CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBheWxvYWQgPSBTdHJlYW1SZWFkZXIoCitAQCAtNDQyLDYgKzQzOSw5IEBAIGNsYXNz
IEh0dHBQYXJzZXIoYWJjLkFCQywgR2VuZXJpY1tfTXNnVF0pOgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYXV0b19kZWNvbXByZXNzPXNlbGYuX2F1dG9fZGVjb21wcmVzcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheD1zZWxmLmxheCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnNfcGFyc2VyPXNlbGYuX2hlYWRlcnNfcGFyc2Vy
LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6ZT1zZWxmLm1h
eF9saW5lX3NpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfZmllbGRf
c2l6ZT1zZWxmLm1heF9maWVsZF9zaXplLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbWF4X3RyYWlsZXJzPW1heF90cmFpbGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgcGF5bG9hZF9wYXJzZXIu
ZG9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BheWxvYWRfcGFy
c2VyID0gcGF5bG9hZF9wYXJzZXIKK0BAIC00NTIsNiArNDUyLDggQEAgY2xhc3MgSHR0cFBhcnNl
cihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6CisgICAgICAgICAgICAgICAgICAgICAgICAgc2hv
dWxkX2Nsb3NlID0gbXNnLnNob3VsZF9jbG9zZQorICAgICAgICAgICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5fdGFpbCA9IGRhdGFbc3RhcnRfcG9zOl0KKysgICAgICAg
ICAgICAgICAgICAgIGlmIGxlbihzZWxmLl90YWlsKSA+IHNlbGYubWF4X2xpbmVfc2l6ZToKKysg
ICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW5lVG9vTG9uZyhzZWxmLl90YWlsWzoxMDBd
ICsgYiIuLi4iLCBzZWxmLm1heF9saW5lX3NpemUpCisgICAgICAgICAgICAgICAgICAgICBkYXRh
ID0gRU1QVFkKKyAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgCitAQCAtNTg3LDExICs1ODks
NiBAQCBjbGFzcyBIdHRwUmVxdWVzdFBhcnNlcihIdHRwUGFyc2VyW1Jhd1JlcXVlc3RNZXNzYWdl
XSk6CisgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICByYWlzZSBCYWRI
dHRwTWV0aG9kKGxpbmUpIGZyb20gTm9uZQorIAorLSAgICAgICAgaWYgbGVuKHBhdGgpID4gc2Vs
Zi5tYXhfbGluZV9zaXplOgorLSAgICAgICAgICAgIHJhaXNlIExpbmVUb29Mb25nKAorLSAgICAg
ICAgICAgICAgICAiU3RhdHVzIGxpbmUgaXMgdG9vIGxvbmciLCBzdHIoc2VsZi5tYXhfbGluZV9z
aXplKSwgc3RyKGxlbihwYXRoKSkKKy0gICAgICAgICAgICApCistCisgICAgICAgICAjIG1ldGhv
ZAorICAgICAgICAgaWYgbm90IFRPS0VOUkUuZnVsbG1hdGNoKG1ldGhvZCk6CisgICAgICAgICAg
ICAgcmFpc2UgQmFkSHR0cE1ldGhvZChtZXRob2QpCitAQCAtNzA3LDExICs3MDQsNiBAQCBjbGFz
cyBIdHRwUmVzcG9uc2VQYXJzZXIoSHR0cFBhcnNlcltSYXdSZXNwb25zZU1lc3NhZ2VdKToKKyAg
ICAgICAgICAgICBzdGF0dXMgPSBzdGF0dXMuc3RyaXAoKQorICAgICAgICAgICAgIHJlYXNvbiA9
ICIiCisgCistICAgICAgICBpZiBsZW4ocmVhc29uKSA+IHNlbGYubWF4X2xpbmVfc2l6ZToKKy0g
ICAgICAgICAgICByYWlzZSBMaW5lVG9vTG9uZygKKy0gICAgICAgICAgICAgICAgIlN0YXR1cyBs
aW5lIGlzIHRvbyBsb25nIiwgc3RyKHNlbGYubWF4X2xpbmVfc2l6ZSksIHN0cihsZW4ocmVhc29u
KSkKKy0gICAgICAgICAgICApCistCisgICAgICAgICAjIHZlcnNpb24KKyAgICAgICAgIG1hdGNo
ID0gVkVSU1JFLmZ1bGxtYXRjaCh2ZXJzaW9uKQorICAgICAgICAgaWYgbWF0Y2ggaXMgTm9uZToK
K0BAIC03NzYsNiArNzY4LDkgQEAgY2xhc3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAgICBs
YXg6IGJvb2wgPSBGYWxzZSwKKyAgICAgICAgICosCisgICAgICAgICBoZWFkZXJzX3BhcnNlcjog
SGVhZGVyc1BhcnNlciwKKysgICAgICAgIG1heF9saW5lX3NpemU6IGludCA9IDgxOTAsCisrICAg
ICAgICBtYXhfZmllbGRfc2l6ZTogaW50ID0gODE5MCwKKysgICAgICAgIG1heF90cmFpbGVyczog
aW50ID0gMTI4LAorICAgICApIC0+IE5vbmU6CisgICAgICAgICBzZWxmLl9sZW5ndGggPSAwCisg
ICAgICAgICBzZWxmLl90eXBlID0gUGFyc2VTdGF0ZS5QQVJTRV9VTlRJTF9FT0YKK0BAIC03ODUs
NiArNzgwLDkgQEAgY2xhc3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAgICBzZWxmLl9hdXRv
X2RlY29tcHJlc3MgPSBhdXRvX2RlY29tcHJlc3MKKyAgICAgICAgIHNlbGYuX2xheCA9IGxheAor
ICAgICAgICAgc2VsZi5faGVhZGVyc19wYXJzZXIgPSBoZWFkZXJzX3BhcnNlcgorKyAgICAgICAg
c2VsZi5fbWF4X2xpbmVfc2l6ZSA9IG1heF9saW5lX3NpemUKKysgICAgICAgIHNlbGYuX21heF9m
aWVsZF9zaXplID0gbWF4X2ZpZWxkX3NpemUKKysgICAgICAgIHNlbGYuX21heF90cmFpbGVycyA9
IG1heF90cmFpbGVycworICAgICAgICAgc2VsZi5fdHJhaWxlcl9saW5lczogbGlzdFtieXRlc10g
PSBbXQorICAgICAgICAgc2VsZi5kb25lID0gRmFsc2UKKyAKK0BAIC04NDgsNiArODQ2LDE1IEBA
IGNsYXNzIEh0dHBQYXlsb2FkUGFyc2VyOgorICAgICAgICAgIyBDaHVua2VkIHRyYW5zZmVyIGVu
Y29kaW5nIHBhcnNlcgorICAgICAgICAgZWxpZiBzZWxmLl90eXBlID09IFBhcnNlU3RhdGUuUEFS
U0VfQ0hVTktFRDoKKyAgICAgICAgICAgICBpZiBzZWxmLl9jaHVua190YWlsOgorKyAgICAgICAg
ICAgICAgICAjIFdlIHNob3VsZCBuZXZlciBoYXZlIGEgdGFpbCBpZiB3ZSdyZSBpbnNpZGUgdGhl
IHBheWxvYWQgYm9keS4KKysgICAgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuX2NodW5rICE9IENo
dW5rU3RhdGUuUEFSU0VfQ0hVTktFRF9DSFVOSworKyAgICAgICAgICAgICAgICAjIFdlIHNob3Vs
ZCBjaGVjayB0aGUgbGVuZ3RoIGlzIHNhbmUuCisrICAgICAgICAgICAgICAgIG1heF9saW5lX2xl
bmd0aCA9IHNlbGYuX21heF9saW5lX3NpemUKKysgICAgICAgICAgICAgICAgaWYgc2VsZi5fY2h1
bmsgPT0gQ2h1bmtTdGF0ZS5QQVJTRV9UUkFJTEVSUzoKKysgICAgICAgICAgICAgICAgICAgIG1h
eF9saW5lX2xlbmd0aCA9IHNlbGYuX21heF9maWVsZF9zaXplCisrICAgICAgICAgICAgICAgIGlm
IGxlbihzZWxmLl9jaHVua190YWlsKSA+IG1heF9saW5lX2xlbmd0aDoKKysgICAgICAgICAgICAg
ICAgICAgIHJhaXNlIExpbmVUb29Mb25nKHNlbGYuX2NodW5rX3RhaWxbOjEwMF0gKyBiIi4uLiIs
IG1heF9saW5lX2xlbmd0aCkKKysKKyAgICAgICAgICAgICAgICAgY2h1bmsgPSBzZWxmLl9jaHVu
a190YWlsICsgY2h1bmsKKyAgICAgICAgICAgICAgICAgc2VsZi5fY2h1bmtfdGFpbCA9IGIiIgor
IAorQEAgLTkzMSw4ICs5MzgsMTUgQEAgY2xhc3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAg
ICAgICAgICAgICAgICBjaHVuayA9IGNodW5rW3BvcyArIGxlbihTRVApIDpdCisgICAgICAgICAg
ICAgICAgICAgICBpZiBTRVAgPT0gYiJcbiI6ICAjIEZvciBsYXggcmVzcG9uc2UgcGFyc2luZwor
ICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJzdHJpcChiIlxyIikKKysKKysg
ICAgICAgICAgICAgICAgICAgIGlmIGxlbihsaW5lKSA+IHNlbGYuX21heF9maWVsZF9zaXplOgor
KyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIExpbmVUb29Mb25nKGxpbmVbOjEwMF0gKyBi
Ii4uLiIsIHNlbGYuX21heF9maWVsZF9zaXplKQorKworICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5fdHJhaWxlcl9saW5lcy5hcHBlbmQobGluZSkKKyAKKysgICAgICAgICAgICAgICAgICAgIGlm
IGxlbihzZWxmLl90cmFpbGVyX2xpbmVzKSA+IHNlbGYuX21heF90cmFpbGVyczoKKysgICAgICAg
ICAgICAgICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZSgiVG9vIG1hbnkgdHJhaWxlcnMg
cmVjZWl2ZWQiKQorKworICAgICAgICAgICAgICAgICAgICAgIyBcclxuXHJcbiBmb3VuZCwgZW5k
IG9mIHN0cmVhbQorICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fdHJhaWxlcl9saW5lc1st
MV0gPT0gYiIiOgorICAgICAgICAgICAgICAgICAgICAgICAgICMgSGVhZGVycyBhbmQgdHJhaWxl
cnMgYXJlIGRlZmluZWQgdGhlIHNhbWUgd2F5LAorZGlmZiAtLWdpdCBhL2Fpb2h0dHAvd2ViX3By
b3RvY29sLnB5IGIvYWlvaHR0cC93ZWJfcHJvdG9jb2wucHkKK2luZGV4IDFkYmE5NjAuLjQ3ZWRk
ODIgMTAwNjQ0CistLS0gYS9haW9odHRwL3dlYl9wcm90b2NvbC5weQorKysrIGIvYWlvaHR0cC93
ZWJfcHJvdG9jb2wucHkKK0BAIC0xODMsNyArMTgzLDcgQEAgY2xhc3MgUmVxdWVzdEhhbmRsZXIo
QmFzZVByb3RvY29sKToKKyAgICAgICAgIGFjY2Vzc19sb2dfZm9ybWF0OiBzdHIgPSBBY2Nlc3NM
b2dnZXIuTE9HX0ZPUk1BVCwKKyAgICAgICAgIGRlYnVnOiBib29sID0gRmFsc2UsCisgICAgICAg
ICBtYXhfbGluZV9zaXplOiBpbnQgPSA4MTkwLAorLSAgICAgICAgbWF4X2hlYWRlcnM6IGludCA9
IDMyNzY4LAorKyAgICAgICAgbWF4X2hlYWRlcnM6IGludCA9IDEyOCwKKyAgICAgICAgIG1heF9m
aWVsZF9zaXplOiBpbnQgPSA4MTkwLAorICAgICAgICAgbGluZ2VyaW5nX3RpbWU6IGZsb2F0ID0g
MTAuMCwKKyAgICAgICAgIHJlYWRfYnVmc2l6ZTogaW50ID0gMioqMTYsCitkaWZmIC0tZ2l0IGEv
ZG9jcy9jbGllbnRfcmVmZXJlbmNlLnJzdCBiL2RvY3MvY2xpZW50X3JlZmVyZW5jZS5yc3QKK2lu
ZGV4IDI2NTM3MTYuLmYwMWNhZjggMTAwNjQ0CistLS0gYS9kb2NzL2NsaWVudF9yZWZlcmVuY2Uu
cnN0CisrKysgYi9kb2NzL2NsaWVudF9yZWZlcmVuY2UucnN0CitAQCAtNTYsNiArNTYsNyBAQCBU
aGUgY2xpZW50IHNlc3Npb24gc3VwcG9ydHMgdGhlIGNvbnRleHQgbWFuYWdlciBwcm90b2NvbCBm
b3Igc2VsZiBjbG9zaW5nLgorICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkX2J1ZnNpemU9
MioqMTYsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6ZT04MTkwLCBc
CisgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXplPTgxOTAsIFwKKysgICAg
ICAgICAgICAgICAgICAgICAgICAgbWF4X2hlYWRlcnM9MTI4LCBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZhbGxiYWNrX2NoYXJzZXRfcmVzb2x2ZXI9bGFtYmRhIHIsIGI6ICJ1dGYtOCIp
CisgCisgICAgVGhlIGNsYXNzIGZvciBjcmVhdGluZyBjbGllbnQgc2Vzc2lvbnMgYW5kIG1ha2lu
ZyByZXF1ZXN0cy4KK0BAIC0yMzIsNyArMjMzLDkgQEAgVGhlIGNsaWVudCBzZXNzaW9uIHN1cHBv
cnRzIHRoZSBjb250ZXh0IG1hbmFnZXIgcHJvdG9jb2wgZm9yIHNlbGYgY2xvc2luZy4KKyAKKyAg
ICA6cGFyYW0gaW50IG1heF9saW5lX3NpemU6IE1heGltdW0gYWxsb3dlZCBzaXplIG9mIGxpbmVz
IGluIHJlc3BvbnNlcy4KKyAKKy0gICA6cGFyYW0gaW50IG1heF9maWVsZF9zaXplOiBNYXhpbXVt
IGFsbG93ZWQgc2l6ZSBvZiBoZWFkZXIgZmllbGRzIGluIHJlc3BvbnNlcy4KKysgICA6cGFyYW0g
aW50IG1heF9maWVsZF9zaXplOiBNYXhpbXVtIGFsbG93ZWQgc2l6ZSBvZiBoZWFkZXIgbmFtZSBh
bmQgdmFsdWUgY29tYmluZWQgaW4gcmVzcG9uc2VzLgorKworKyAgIDpwYXJhbSBpbnQgbWF4X2hl
YWRlcnM6IE1heGltdW0gbnVtYmVyIG9mIGhlYWRlcnMgYW5kIHRyYWlsZXJzIGNvbWJpbmVkIGlu
IHJlc3BvbnNlcy4KKyAKKyAgICA6cGFyYW0gQ2FsbGFibGVbW0NsaWVudFJlc3BvbnNlLGJ5dGVz
XSxzdHJdIGZhbGxiYWNrX2NoYXJzZXRfcmVzb2x2ZXI6CisgICAgICAgQSA6dGVybTpgY2FsbGFi
bGVgIHRoYXQgYWNjZXB0cyBhIDpjbGFzczpgQ2xpZW50UmVzcG9uc2VgIGFuZCB0aGUKK0BAIC0z
ODYsNyArMzg5LDggQEAgVGhlIGNsaWVudCBzZXNzaW9uIHN1cHBvcnRzIHRoZSBjb250ZXh0IG1h
bmFnZXIgcHJvdG9jb2wgZm9yIHNlbGYgY2xvc2luZy4KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVhZF9idWZzaXplPU5vbmUsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b19k
ZWNvbXByZXNzPU5vbmUsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6
ZT1Ob25lLCBcCistICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXplPU5vbmUp
CisrICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXplPU5vbmUsIFwKKysgICAg
ICAgICAgICAgICAgICAgICAgICAgbWF4X2hlYWRlcnM9Tm9uZSkKKyAgICAgICA6YXN5bmM6Cisg
ICAgICAgOm5vaW5kZXhlbnRyeToKKyAKK0BAIC01NDMsNyArNTQ3LDkgQEAgVGhlIGNsaWVudCBz
ZXNzaW9uIHN1cHBvcnRzIHRoZSBjb250ZXh0IG1hbmFnZXIgcHJvdG9jb2wgZm9yIHNlbGYgY2xv
c2luZy4KKyAKKyAgICAgICA6cGFyYW0gaW50IG1heF9saW5lX3NpemU6IE1heGltdW0gYWxsb3dl
ZCBzaXplIG9mIGxpbmVzIGluIHJlc3BvbnNlcy4KKyAKKy0gICAgICA6cGFyYW0gaW50IG1heF9m
aWVsZF9zaXplOiBNYXhpbXVtIGFsbG93ZWQgc2l6ZSBvZiBoZWFkZXIgZmllbGRzIGluIHJlc3Bv
bnNlcy4KKysgICAgICA6cGFyYW0gaW50IG1heF9maWVsZF9zaXplOiBNYXhpbXVtIGFsbG93ZWQg
c2l6ZSBvZiBoZWFkZXIgbmFtZSBhbmQgdmFsdWUgY29tYmluZWQgaW4gcmVzcG9uc2VzLgorKwor
KyAgICAgIDpwYXJhbSBpbnQgbWF4X2hlYWRlcnM6IE1heGltdW0gbnVtYmVyIG9mIGhlYWRlcnMg
YW5kIHRyYWlsZXJzIGNvbWJpbmVkIGluIHJlc3BvbnNlcy4KKyAKKyAgICAgICA6cmV0dXJuIENs
aWVudFJlc3BvbnNlOiBhIDpjbGFzczpgY2xpZW50IHJlc3BvbnNlIDxDbGllbnRSZXNwb25zZT5g
CisgICAgICAgICAgb2JqZWN0LgorQEAgLTg2Myw2ICs4NjksNyBAQCBjZXJ0aWZpY2F0aW9uIGNo
YWluaW5nLgorICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9fZGVjb21wcmVzcz1Ob25lLCBc
CisgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6ZT1Ob25lLCBcCisgICAgICAg
ICAgICAgICAgICAgICAgICAgbWF4X2ZpZWxkX3NpemU9Tm9uZSwgXAorKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1heF9oZWFkZXJzPU5vbmUsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICB2
ZXJzaW9uPWFpb2h0dHAuSHR0cFZlcnNpb24xMSwgXAorICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbm5lY3Rvcj1Ob25lKQorICAgIDphc3luYzoKK0BAIC0xMDAwLDcgKzEwMDcsOSBAQCBjZXJ0
aWZpY2F0aW9uIGNoYWluaW5nLgorIAorICAgIDpwYXJhbSBpbnQgbWF4X2xpbmVfc2l6ZTogTWF4
aW11bSBhbGxvd2VkIHNpemUgb2YgbGluZXMgaW4gcmVzcG9uc2VzLgorIAorLSAgIDpwYXJhbSBp
bnQgbWF4X2ZpZWxkX3NpemU6IE1heGltdW0gYWxsb3dlZCBzaXplIG9mIGhlYWRlciBmaWVsZHMg
aW4gcmVzcG9uc2VzLgorKyAgIDpwYXJhbSBpbnQgbWF4X2ZpZWxkX3NpemU6IE1heGltdW0gYWxs
b3dlZCBzaXplIG9mIGhlYWRlciBuYW1lIGFuZCB2YWx1ZSBjb21iaW5lZCBpbiByZXNwb25zZXMu
CisrCisrICAgOnBhcmFtIGludCBtYXhfaGVhZGVyczogTWF4aW11bSBudW1iZXIgb2YgaGVhZGVy
cyBhbmQgdHJhaWxlcnMgY29tYmluZWQgaW4gcmVzcG9uc2VzLgorIAorICAgIDpwYXJhbSBhaW9o
dHRwLnByb3RvY29sLkh0dHBWZXJzaW9uIHZlcnNpb246IFJlcXVlc3QgSFRUUCB2ZXJzaW9uLAor
ICAgICAgIGBgSFRUUCAxLjFgYCBieSBkZWZhdWx0LiAob3B0aW9uYWwpCitkaWZmIC0tZ2l0IGEv
ZG9jcy93ZWJfcmVmZXJlbmNlLnJzdCBiL2RvY3Mvd2ViX3JlZmVyZW5jZS5yc3QKK2luZGV4IDUx
ZjVjNDMuLmFhMTYzZjIgMTAwNjQ0CistLS0gYS9kb2NzL3dlYl9yZWZlcmVuY2UucnN0CisrKysg
Yi9kb2NzL3dlYl9yZWZlcmVuY2UucnN0CitAQCAtMjgwMiw5ICsyODAyLDEwIEBAIGFwcGxpY2F0
aW9uIG9uIHNwZWNpZmljIFRDUCBvciBVbml4IHNvY2tldCwgZS5nLjo6CisgICAgICAgICA6YXR0
cjpgaGVscGVycy5BY2Nlc3NMb2dnZXIuTE9HX0ZPUk1BVGAuCisgICAgOnBhcmFtIGludCBtYXhf
bGluZV9zaXplOiBPcHRpb25hbCBtYXhpbXVtIGhlYWRlciBsaW5lIHNpemUuIERlZmF1bHQ6Cisg
ICAgICAgICBgYDgxOTBgYC4KKy0gICA6cGFyYW0gaW50IG1heF9oZWFkZXJzOiBPcHRpb25hbCBt
YXhpbXVtIGhlYWRlciBzaXplLiBEZWZhdWx0OiBgYDMyNzY4YGAuCistICAgOnBhcmFtIGludCBt
YXhfZmllbGRfc2l6ZTogT3B0aW9uYWwgbWF4aW11bSBoZWFkZXIgZmllbGQgc2l6ZS4gRGVmYXVs
dDoKKysgICA6cGFyYW0gaW50IG1heF9maWVsZF9zaXplOiBPcHRpb25hbCBtYXhpbXVtIGhlYWRl
ciBjb21iaW5lZCBuYW1lIGFuZCB2YWx1ZSBzaXplLiBEZWZhdWx0OgorICAgICAgICAgYGA4MTkw
YGAuCisrICAgOnBhcmFtIGludCBtYXhfaGVhZGVyczogT3B0aW9uYWwgbWF4aW11bSBudW1iZXIg
b2YgaGVhZGVycyBhbmQgdHJhaWxlcnMgY29tYmluZWQuIERlZmF1bHQ6CisrICAgICAgICBgYDEy
OGBgLgorIAorICAgIDpwYXJhbSBmbG9hdCBsaW5nZXJpbmdfdGltZTogTWF4aW11bSB0aW1lIGR1
cmluZyB3aGljaCB0aGUgc2VydmVyCisgICAgICAgICByZWFkcyBhbmQgaWdub3JlcyBhZGRpdGlv
bmFsIGRhdGEgY29taW5nIGZyb20gdGhlIGNsaWVudCB3aGVuCitkaWZmIC0tZ2l0IGEvdGVzdHMv
dGVzdF9jbGllbnRfZnVuY3Rpb25hbC5weSBiL3Rlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0aW9uYWwu
cHkKK2luZGV4IDJiYTZlOWEuLjQyZDBkMjkgMTAwNjQ0CistLS0gYS90ZXN0cy90ZXN0X2NsaWVu
dF9mdW5jdGlvbmFsLnB5CisrKysgYi90ZXN0cy90ZXN0X2NsaWVudF9mdW5jdGlvbmFsLnB5CitA
QCAtNDA1NiwxNyArNDA1NiwxNyBAQCBhc3luYyBkZWYgdGVzdF9odHRwX2VtcHR5X2RhdGFfdGV4
dChhaW9odHRwX2NsaWVudCkgLT4gTm9uZToKKyAgICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNb
IkNvbnRlbnQtVHlwZSJdID09ICJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04IgorIAorIAorLWFz
eW5jIGRlZiB0ZXN0X21heF9maWVsZF9zaXplX3Nlc3Npb25fZGVmYXVsdChhaW9odHRwX2NsaWVu
dCkgLT4gTm9uZToKKy0gICAgYXN5bmMgZGVmIGhhbmRsZXIocmVxdWVzdCk6CistICAgICAgICBy
ZXR1cm4gd2ViLlJlc3BvbnNlKGhlYWRlcnM9eyJDdXN0b20iOiAieCIgKiA4MTkwfSkKKythc3lu
YyBkZWYgdGVzdF9tYXhfZmllbGRfc2l6ZV9zZXNzaW9uX2RlZmF1bHQoYWlvaHR0cF9jbGllbnQ6
IEFpb2h0dHBDbGllbnQpIC0+IE5vbmU6CisrICAgIGFzeW5jIGRlZiBoYW5kbGVyKHJlcXVlc3Q6
IHdlYi5SZXF1ZXN0KSAtPiB3ZWIuUmVzcG9uc2U6CisrICAgICAgICByZXR1cm4gd2ViLlJlc3Bv
bnNlKGhlYWRlcnM9eyJDdXN0b20iOiAieCIgKiA4MTgyfSkKKyAKKyAgICAgYXBwID0gd2ViLkFw
cGxpY2F0aW9uKCkKKyAgICAgYXBwLmFkZF9yb3V0ZXMoW3dlYi5nZXQoIi8iLCBoYW5kbGVyKV0p
CisgCisgICAgIGNsaWVudCA9IGF3YWl0IGFpb2h0dHBfY2xpZW50KGFwcCkKKyAKKy0gICAgYXN5
bmMgd2l0aCBhd2FpdCBjbGllbnQuZ2V0KCIvIikgYXMgcmVzcDoKKy0gICAgICAgIGFzc2VydCBy
ZXNwLmhlYWRlcnNbIkN1c3RvbSJdID09ICJ4IiAqIDgxOTAKKysgICAgYXN5bmMgd2l0aCBjbGll
bnQuZ2V0KCIvIikgYXMgcmVzcDoKKysgICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNbIkN1c3Rv
bSJdID09ICJ4IiAqIDgxODIKKyAKKyAKKyBhc3luYyBkZWYgdGVzdF9tYXhfZmllbGRfc2l6ZV9z
ZXNzaW9uX2RlZmF1bHRfZmFpbChhaW9odHRwX2NsaWVudCkgLT4gTm9uZToKK0BAIC00MDgxLDQz
ICs0MDgxLDk2IEBAIGFzeW5jIGRlZiB0ZXN0X21heF9maWVsZF9zaXplX3Nlc3Npb25fZGVmYXVs
dF9mYWlsKGFpb2h0dHBfY2xpZW50KSAtPiBOb25lOgorICAgICAgICAgYXdhaXQgY2xpZW50Lmdl
dCgiLyIpCisgCisgCistYXN5bmMgZGVmIHRlc3RfbWF4X2ZpZWxkX3NpemVfc2Vzc2lvbl9leHBs
aWNpdChhaW9odHRwX2NsaWVudCkgLT4gTm9uZToKKy0gICAgYXN5bmMgZGVmIGhhbmRsZXIocmVx
dWVzdCk6CistICAgICAgICByZXR1cm4gd2ViLlJlc3BvbnNlKGhlYWRlcnM9eyJDdXN0b20iOiAi
eCIgKiA4MTkxfSkKKythc3luYyBkZWYgdGVzdF9tYXhfZmllbGRfc2l6ZV9zZXNzaW9uX2V4cGxp
Y2l0KGFpb2h0dHBfY2xpZW50OiBBaW9odHRwQ2xpZW50KSAtPiBOb25lOgorKyAgICBhc3luYyBk
ZWYgaGFuZGxlcihyZXF1ZXN0OiB3ZWIuUmVxdWVzdCkgLT4gd2ViLlJlc3BvbnNlOgorKyAgICAg
ICAgcmV0dXJuIHdlYi5SZXNwb25zZShoZWFkZXJzPXsiQ3VzdG9tIjogIngiICogODE5Mn0pCisg
CisgICAgIGFwcCA9IHdlYi5BcHBsaWNhdGlvbigpCisgICAgIGFwcC5hZGRfcm91dGVzKFt3ZWIu
Z2V0KCIvIiwgaGFuZGxlcildKQorIAorLSAgICBjbGllbnQgPSBhd2FpdCBhaW9odHRwX2NsaWVu
dChhcHAsIG1heF9maWVsZF9zaXplPTgxOTEpCisrICAgIGNsaWVudCA9IGF3YWl0IGFpb2h0dHBf
Y2xpZW50KGFwcCwgbWF4X2ZpZWxkX3NpemU9ODIwMCkKKyAKKy0gICAgYXN5bmMgd2l0aCBhd2Fp
dCBjbGllbnQuZ2V0KCIvIikgYXMgcmVzcDoKKy0gICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNb
IkN1c3RvbSJdID09ICJ4IiAqIDgxOTEKKysgICAgYXN5bmMgd2l0aCBjbGllbnQuZ2V0KCIvIikg
YXMgcmVzcDoKKysgICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNbIkN1c3RvbSJdID09ICJ4IiAq
IDgxOTIKKyAKKyAKKy1hc3luYyBkZWYgdGVzdF9tYXhfZmllbGRfc2l6ZV9yZXF1ZXN0X2V4cGxp
Y2l0KGFpb2h0dHBfY2xpZW50KSAtPiBOb25lOgorLSAgICBhc3luYyBkZWYgaGFuZGxlcihyZXF1
ZXN0KToKKy0gICAgICAgIHJldHVybiB3ZWIuUmVzcG9uc2UoaGVhZGVycz17IkN1c3RvbSI6ICJ4
IiAqIDgxOTF9KQorK2FzeW5jIGRlZiB0ZXN0X21heF9oZWFkZXJzX3Nlc3Npb25fZGVmYXVsdChh
aW9odHRwX2NsaWVudDogQWlvaHR0cENsaWVudCkgLT4gTm9uZToKKysgICAgYXN5bmMgZGVmIGhh
bmRsZXIocmVxdWVzdDogd2ViLlJlcXVlc3QpIC0+IHdlYi5SZXNwb25zZToKKysgICAgICAgIHJl
dHVybiB3ZWIuUmVzcG9uc2UoaGVhZGVycz17ZiJDdXN0b20te2l9IjogIngiIGZvciBpIGluIHJh
bmdlKDEyMCl9KQorIAorICAgICBhcHAgPSB3ZWIuQXBwbGljYXRpb24oKQorICAgICBhcHAuYWRk
X3JvdXRlcyhbd2ViLmdldCgiLyIsIGhhbmRsZXIpXSkKKyAKKyAgICAgY2xpZW50ID0gYXdhaXQg
YWlvaHR0cF9jbGllbnQoYXBwKQorIAorLSAgICBhc3luYyB3aXRoIGF3YWl0IGNsaWVudC5nZXQo
Ii8iLCBtYXhfZmllbGRfc2l6ZT04MTkxKSBhcyByZXNwOgorLSAgICAgICAgYXNzZXJ0IHJlc3Au
aGVhZGVyc1siQ3VzdG9tIl0gPT0gIngiICogODE5MQorKyAgICBhc3luYyB3aXRoIGNsaWVudC5n
ZXQoIi8iKSBhcyByZXNwOgorKyAgICAgICAgYXNzZXJ0IHJlc3AuaGVhZGVyc1siQ3VzdG9tLTEx
OSJdID09ICJ4IgorIAorIAorLWFzeW5jIGRlZiB0ZXN0X21heF9saW5lX3NpemVfc2Vzc2lvbl9k
ZWZhdWx0KGFpb2h0dHBfY2xpZW50KSAtPiBOb25lOgorLSAgICBhc3luYyBkZWYgaGFuZGxlcihy
ZXF1ZXN0KToKKy0gICAgICAgIHJldHVybiB3ZWIuUmVzcG9uc2Uoc3RhdHVzPTIwMCwgcmVhc29u
PSJ4IiAqIDgxOTApCisrYXN5bmMgZGVmIHRlc3RfbWF4X2hlYWRlcnNfc2Vzc2lvbl9kZWZhdWx0
X2ZhaWwoCisrICAgIGFpb2h0dHBfY2xpZW50OiBBaW9odHRwQ2xpZW50LAorKykgLT4gTm9uZToK
KysgICAgYXN5bmMgZGVmIGhhbmRsZXIocmVxdWVzdDogd2ViLlJlcXVlc3QpIC0+IHdlYi5SZXNw
b25zZToKKysgICAgICAgIHJldHVybiB3ZWIuUmVzcG9uc2UoaGVhZGVycz17ZiJDdXN0b20te2l9
IjogIngiIGZvciBpIGluIHJhbmdlKDEyOSl9KQorIAorICAgICBhcHAgPSB3ZWIuQXBwbGljYXRp
b24oKQorICAgICBhcHAuYWRkX3JvdXRlcyhbd2ViLmdldCgiLyIsIGhhbmRsZXIpXSkKKyAKKyAg
ICAgY2xpZW50ID0gYXdhaXQgYWlvaHR0cF9jbGllbnQoYXBwKQorKyAgICB3aXRoIHB5dGVzdC5y
YWlzZXMoYWlvaHR0cC5DbGllbnRSZXNwb25zZUVycm9yKToKKysgICAgICAgIGF3YWl0IGNsaWVu
dC5nZXQoIi8iKQorIAorLSAgICBhc3luYyB3aXRoIGF3YWl0IGNsaWVudC5nZXQoIi8iKSBhcyBy
ZXNwOgorLSAgICAgICAgYXNzZXJ0IHJlc3AucmVhc29uID09ICJ4IiAqIDgxOTAKKysKKythc3lu
YyBkZWYgdGVzdF9tYXhfaGVhZGVyc19zZXNzaW9uX2V4cGxpY2l0KGFpb2h0dHBfY2xpZW50OiBB
aW9odHRwQ2xpZW50KSAtPiBOb25lOgorKyAgICBhc3luYyBkZWYgaGFuZGxlcihyZXF1ZXN0OiB3
ZWIuUmVxdWVzdCkgLT4gd2ViLlJlc3BvbnNlOgorKyAgICAgICAgcmV0dXJuIHdlYi5SZXNwb25z
ZShoZWFkZXJzPXtmIkN1c3RvbS17aX0iOiAieCIgZm9yIGkgaW4gcmFuZ2UoMTMwKX0pCisrCisr
ICAgIGFwcCA9IHdlYi5BcHBsaWNhdGlvbigpCisrICAgIGFwcC5hZGRfcm91dGVzKFt3ZWIuZ2V0
KCIvIiwgaGFuZGxlcildKQorKworKyAgICBjbGllbnQgPSBhd2FpdCBhaW9odHRwX2NsaWVudChh
cHAsIG1heF9oZWFkZXJzPTE0MCkKKysKKysgICAgYXN5bmMgd2l0aCBjbGllbnQuZ2V0KCIvIikg
YXMgcmVzcDoKKysgICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNbIkN1c3RvbS0xMjkiXSA9PSAi
eCIKKysKKysKKythc3luYyBkZWYgdGVzdF9tYXhfaGVhZGVyc19yZXF1ZXN0X2V4cGxpY2l0KGFp
b2h0dHBfY2xpZW50OiBBaW9odHRwQ2xpZW50KSAtPiBOb25lOgorKyAgICBhc3luYyBkZWYgaGFu
ZGxlcihyZXF1ZXN0OiB3ZWIuUmVxdWVzdCkgLT4gd2ViLlJlc3BvbnNlOgorKyAgICAgICAgcmV0
dXJuIHdlYi5SZXNwb25zZShoZWFkZXJzPXtmIkN1c3RvbS17aX0iOiAieCIgZm9yIGkgaW4gcmFu
Z2UoMTMwKX0pCisrCisrICAgIGFwcCA9IHdlYi5BcHBsaWNhdGlvbigpCisrICAgIGFwcC5hZGRf
cm91dGVzKFt3ZWIuZ2V0KCIvIiwgaGFuZGxlcildKQorKworKyAgICBjbGllbnQgPSBhd2FpdCBh
aW9odHRwX2NsaWVudChhcHApCisrCisrICAgIGFzeW5jIHdpdGggY2xpZW50LmdldCgiLyIsIG1h
eF9oZWFkZXJzPTE0MCkgYXMgcmVzcDoKKysgICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNbIkN1
c3RvbS0xMjkiXSA9PSAieCIKKysKKysKKythc3luYyBkZWYgdGVzdF9tYXhfZmllbGRfc2l6ZV9y
ZXF1ZXN0X2V4cGxpY2l0KGFpb2h0dHBfY2xpZW50OiBBaW9odHRwQ2xpZW50KSAtPiBOb25lOgor
KyAgICBhc3luYyBkZWYgaGFuZGxlcihyZXF1ZXN0OiB3ZWIuUmVxdWVzdCkgLT4gd2ViLlJlc3Bv
bnNlOgorKyAgICAgICAgcmV0dXJuIHdlYi5SZXNwb25zZShoZWFkZXJzPXsiQ3VzdG9tIjogIngi
ICogODE5Mn0pCisrCisrICAgIGFwcCA9IHdlYi5BcHBsaWNhdGlvbigpCisrICAgIGFwcC5hZGRf
cm91dGVzKFt3ZWIuZ2V0KCIvIiwgaGFuZGxlcildKQorKworKyAgICBjbGllbnQgPSBhd2FpdCBh
aW9odHRwX2NsaWVudChhcHApCisrCisrICAgIGFzeW5jIHdpdGggY2xpZW50LmdldCgiLyIsIG1h
eF9maWVsZF9zaXplPTgyMDApIGFzIHJlc3A6CisrICAgICAgICBhc3NlcnQgcmVzcC5oZWFkZXJz
WyJDdXN0b20iXSA9PSAieCIgKiA4MTkyCisrCisrCisrYXN5bmMgZGVmIHRlc3RfbWF4X2xpbmVf
c2l6ZV9zZXNzaW9uX2RlZmF1bHQoYWlvaHR0cF9jbGllbnQ6IEFpb2h0dHBDbGllbnQpIC0+IE5v
bmU6CisrICAgIGFzeW5jIGRlZiBoYW5kbGVyKHJlcXVlc3Q6IHdlYi5SZXF1ZXN0KSAtPiB3ZWIu
UmVzcG9uc2U6CisrICAgICAgICByZXR1cm4gd2ViLlJlc3BvbnNlKHN0YXR1cz0yMDAsIHJlYXNv
bj0ieCIgKiA4MTc3KQorKworKyAgICBhcHAgPSB3ZWIuQXBwbGljYXRpb24oKQorKyAgICBhcHAu
YWRkX3JvdXRlcyhbd2ViLmdldCgiLyIsIGhhbmRsZXIpXSkKKysKKysgICAgY2xpZW50ID0gYXdh
aXQgYWlvaHR0cF9jbGllbnQoYXBwKQorKworKyAgICBhc3luYyB3aXRoIGNsaWVudC5nZXQoIi8i
KSBhcyByZXNwOgorKyAgICAgICAgYXNzZXJ0IHJlc3AucmVhc29uID09ICJ4IiAqIDgxNzcKKyAK
KyAKKyBhc3luYyBkZWYgdGVzdF9tYXhfbGluZV9zaXplX3Nlc3Npb25fZGVmYXVsdF9mYWlsKGFp
b2h0dHBfY2xpZW50KSAtPiBOb25lOgorQEAgLTQxMzIsMzAgKzQxODUsMzAgQEAgYXN5bmMgZGVm
IHRlc3RfbWF4X2xpbmVfc2l6ZV9zZXNzaW9uX2RlZmF1bHRfZmFpbChhaW9odHRwX2NsaWVudCkg
LT4gTm9uZToKKyAgICAgICAgIGF3YWl0IGNsaWVudC5nZXQoIi8iKQorIAorIAorLWFzeW5jIGRl
ZiB0ZXN0X21heF9saW5lX3NpemVfc2Vzc2lvbl9leHBsaWNpdChhaW9odHRwX2NsaWVudCkgLT4g
Tm9uZToKKy0gICAgYXN5bmMgZGVmIGhhbmRsZXIocmVxdWVzdCk6CistICAgICAgICByZXR1cm4g
d2ViLlJlc3BvbnNlKHN0YXR1cz0yMDAsIHJlYXNvbj0ieCIgKiA4MTkxKQorK2FzeW5jIGRlZiB0
ZXN0X21heF9saW5lX3NpemVfc2Vzc2lvbl9leHBsaWNpdChhaW9odHRwX2NsaWVudDogQWlvaHR0
cENsaWVudCkgLT4gTm9uZToKKysgICAgYXN5bmMgZGVmIGhhbmRsZXIocmVxdWVzdDogd2ViLlJl
cXVlc3QpIC0+IHdlYi5SZXNwb25zZToKKysgICAgICAgIHJldHVybiB3ZWIuUmVzcG9uc2Uoc3Rh
dHVzPTIwMCwgcmVhc29uPSJ4IiAqIDgxOTcpCisgCisgICAgIGFwcCA9IHdlYi5BcHBsaWNhdGlv
bigpCisgICAgIGFwcC5hZGRfcm91dGVzKFt3ZWIuZ2V0KCIvIiwgaGFuZGxlcildKQorIAorLSAg
ICBjbGllbnQgPSBhd2FpdCBhaW9odHRwX2NsaWVudChhcHAsIG1heF9saW5lX3NpemU9ODE5MSkK
KysgICAgY2xpZW50ID0gYXdhaXQgYWlvaHR0cF9jbGllbnQoYXBwLCBtYXhfbGluZV9zaXplPTgy
MTApCisgCistICAgIGFzeW5jIHdpdGggYXdhaXQgY2xpZW50LmdldCgiLyIpIGFzIHJlc3A6Cist
ICAgICAgICBhc3NlcnQgcmVzcC5yZWFzb24gPT0gIngiICogODE5MQorKyAgICBhc3luYyB3aXRo
IGNsaWVudC5nZXQoIi8iKSBhcyByZXNwOgorKyAgICAgICAgYXNzZXJ0IHJlc3AucmVhc29uID09
ICJ4IiAqIDgxOTcKKyAKKyAKKy1hc3luYyBkZWYgdGVzdF9tYXhfbGluZV9zaXplX3JlcXVlc3Rf
ZXhwbGljaXQoYWlvaHR0cF9jbGllbnQpIC0+IE5vbmU6CistICAgIGFzeW5jIGRlZiBoYW5kbGVy
KHJlcXVlc3QpOgorLSAgICAgICAgcmV0dXJuIHdlYi5SZXNwb25zZShzdGF0dXM9MjAwLCByZWFz
b249IngiICogODE5MSkKKythc3luYyBkZWYgdGVzdF9tYXhfbGluZV9zaXplX3JlcXVlc3RfZXhw
bGljaXQoYWlvaHR0cF9jbGllbnQ6IEFpb2h0dHBDbGllbnQpIC0+IE5vbmU6CisrICAgIGFzeW5j
IGRlZiBoYW5kbGVyKHJlcXVlc3Q6IHdlYi5SZXF1ZXN0KSAtPiB3ZWIuUmVzcG9uc2U6CisrICAg
ICAgICByZXR1cm4gd2ViLlJlc3BvbnNlKHN0YXR1cz0yMDAsIHJlYXNvbj0ieCIgKiA4MTk3KQor
IAorICAgICBhcHAgPSB3ZWIuQXBwbGljYXRpb24oKQorICAgICBhcHAuYWRkX3JvdXRlcyhbd2Vi
LmdldCgiLyIsIGhhbmRsZXIpXSkKKyAKKyAgICAgY2xpZW50ID0gYXdhaXQgYWlvaHR0cF9jbGll
bnQoYXBwKQorIAorLSAgICBhc3luYyB3aXRoIGF3YWl0IGNsaWVudC5nZXQoIi8iLCBtYXhfbGlu
ZV9zaXplPTgxOTEpIGFzIHJlc3A6CistICAgICAgICBhc3NlcnQgcmVzcC5yZWFzb24gPT0gIngi
ICogODE5MQorKyAgICBhc3luYyB3aXRoIGNsaWVudC5nZXQoIi8iLCBtYXhfbGluZV9zaXplPTgy
MTApIGFzIHJlc3A6CisrICAgICAgICBhc3NlcnQgcmVzcC5yZWFzb24gPT0gIngiICogODE5Nwor
IAorIAorIGFzeW5jIGRlZiB0ZXN0X3JlamVjdGVkX3VwbG9hZCgKK2RpZmYgLS1naXQgYS90ZXN0
cy90ZXN0X2h0dHBfZXhjZXB0aW9ucy5weSBiL3Rlc3RzL3Rlc3RfaHR0cF9leGNlcHRpb25zLnB5
CitpbmRleCBjZDNiMDhmLi42MTg2YTcxIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF9odHRwX2V4
Y2VwdGlvbnMucHkKKysrKyBiL3Rlc3RzL3Rlc3RfaHR0cF9leGNlcHRpb25zLnB5CitAQCAtNjks
MzIgKzY5LDMyIEBAIGNsYXNzIFRlc3RCYWRIdHRwTWVzc2FnZToKKyAKKyBjbGFzcyBUZXN0TGlu
ZVRvb0xvbmc6CisgICAgIGRlZiB0ZXN0X2N0b3Ioc2VsZikgLT4gTm9uZToKKy0gICAgICAgIGVy
ciA9IGh0dHBfZXhjZXB0aW9ucy5MaW5lVG9vTG9uZygic3BhbSIsICIxMCIsICIxMiIpCisrICAg
ICAgICBlcnIgPSBodHRwX2V4Y2VwdGlvbnMuTGluZVRvb0xvbmcoYiJzcGFtIiwgMTApCisgICAg
ICAgICBhc3NlcnQgZXJyLmNvZGUgPT0gNDAwCistICAgICAgICBhc3NlcnQgZXJyLm1lc3NhZ2Ug
PT0gIkdvdCBtb3JlIHRoYW4gMTAgYnl0ZXMgKDEyKSB3aGVuIHJlYWRpbmcgc3BhbS4iCisrICAg
ICAgICBhc3NlcnQgZXJyLm1lc3NhZ2UgPT0gIkdvdCBtb3JlIHRoYW4gMTAgYnl0ZXMgd2hlbiBy
ZWFkaW5nOiBiJ3NwYW0nLiIKKyAgICAgICAgIGFzc2VydCBlcnIuaGVhZGVycyBpcyBOb25lCisg
CisgICAgIGRlZiB0ZXN0X3BpY2tsZShzZWxmKSAtPiBOb25lOgorLSAgICAgICAgZXJyID0gaHR0
cF9leGNlcHRpb25zLkxpbmVUb29Mb25nKGxpbmU9InNwYW0iLCBsaW1pdD0iMTAiLCBhY3R1YWxf
c2l6ZT0iMTIiKQorKyAgICAgICAgZXJyID0gaHR0cF9leGNlcHRpb25zLkxpbmVUb29Mb25nKGxp
bmU9YiJzcGFtIiwgbGltaXQ9MTAsIGFjdHVhbF9zaXplPSIxMiIpCisgICAgICAgICBlcnIuZm9v
ID0gImJhciIKKyAgICAgICAgIGZvciBwcm90byBpbiByYW5nZShwaWNrbGUuSElHSEVTVF9QUk9U
T0NPTCArIDEpOgorICAgICAgICAgICAgIHBpY2tsZWQgPSBwaWNrbGUuZHVtcHMoZXJyLCBwcm90
bykKKyAgICAgICAgICAgICBlcnIyID0gcGlja2xlLmxvYWRzKHBpY2tsZWQpCisgICAgICAgICAg
ICAgYXNzZXJ0IGVycjIuY29kZSA9PSA0MDAKKy0gICAgICAgICAgICBhc3NlcnQgZXJyMi5tZXNz
YWdlID09ICgiR290IG1vcmUgdGhhbiAxMCBieXRlcyAoMTIpIHdoZW4gcmVhZGluZyBzcGFtLiIp
CisrICAgICAgICAgICAgYXNzZXJ0IGVycjIubWVzc2FnZSA9PSAoIkdvdCBtb3JlIHRoYW4gMTAg
Ynl0ZXMgd2hlbiByZWFkaW5nOiBiJ3NwYW0nLiIpCisgICAgICAgICAgICAgYXNzZXJ0IGVycjIu
aGVhZGVycyBpcyBOb25lCisgICAgICAgICAgICAgYXNzZXJ0IGVycjIuZm9vID09ICJiYXIiCisg
CisgICAgIGRlZiB0ZXN0X3N0cihzZWxmKSAtPiBOb25lOgorLSAgICAgICAgZXJyID0gaHR0cF9l
eGNlcHRpb25zLkxpbmVUb29Mb25nKGxpbmU9InNwYW0iLCBsaW1pdD0iMTAiLCBhY3R1YWxfc2l6
ZT0iMTIiKQorLSAgICAgICAgZXhwZWN0ZWQgPSAiNDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0
aGFuIDEwIGJ5dGVzICgxMikgd2hlbiByZWFkaW5nIHNwYW0uIgorKyAgICAgICAgZXJyID0gaHR0
cF9leGNlcHRpb25zLkxpbmVUb29Mb25nKGxpbmU9YiJzcGFtIiwgbGltaXQ9MTApCisrICAgICAg
ICBleHBlY3RlZCA9ICI0MDAsIG1lc3NhZ2U6XG4gIEdvdCBtb3JlIHRoYW4gMTAgYnl0ZXMgd2hl
biByZWFkaW5nOiBiJ3NwYW0nLiIKKyAgICAgICAgIGFzc2VydCBzdHIoZXJyKSA9PSBleHBlY3Rl
ZAorIAorICAgICBkZWYgdGVzdF9yZXByKHNlbGYpIC0+IE5vbmU6CistICAgICAgICBlcnIgPSBo
dHRwX2V4Y2VwdGlvbnMuTGluZVRvb0xvbmcobGluZT0ic3BhbSIsIGxpbWl0PSIxMCIsIGFjdHVh
bF9zaXplPSIxMiIpCisrICAgICAgICBlcnIgPSBodHRwX2V4Y2VwdGlvbnMuTGluZVRvb0xvbmco
bGluZT1iInNwYW0iLCBsaW1pdD0xMCkKKyAgICAgICAgIGFzc2VydCByZXByKGVycikgPT0gKAor
LSAgICAgICAgICAgICI8TGluZVRvb0xvbmc6IDQwMCwgbWVzc2FnZT0nR290IG1vcmUgdGhhbiAi
CistICAgICAgICAgICAgIjEwIGJ5dGVzICgxMikgd2hlbiByZWFkaW5nIHNwYW0uJz4iCisrICAg
ICAgICAgICAgJzxMaW5lVG9vTG9uZzogNDAwLCBtZXNzYWdlPSJHb3QgbW9yZSB0aGFuICcKKysg
ICAgICAgICAgICAiMTAgYnl0ZXMgd2hlbiByZWFkaW5nOiBiJ3NwYW0nLlwiPiIKKyAgICAgICAg
ICkKKyAKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5IGIvdGVzdHMv
dGVzdF9odHRwX3BhcnNlci5weQoraW5kZXggMzUyYjFmOC4uYTkxMzkyMSAxMDA2NDQKKy0tLSBh
L3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkKKysrKyBiL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIu
cHkKK0BAIC0yMiw2ICsyMiw3IEBAIGZyb20gYWlvaHR0cC5odHRwX3BhcnNlciBpbXBvcnQgKAor
ICAgICBIdHRwUGF5bG9hZFBhcnNlciwKKyAgICAgSHR0cFJlcXVlc3RQYXJzZXIsCisgICAgIEh0
dHBSZXF1ZXN0UGFyc2VyUHksCisrICAgIEh0dHBSZXNwb25zZVBhcnNlciwKKyAgICAgSHR0cFJl
c3BvbnNlUGFyc2VyUHksCisgICAgIEh0dHBWZXJzaW9uLAorICkKK0BAIC02Nyw3ICs2OCw3IEBA
IGRlZiBwYXJzZXIobG9vcDogQW55LCBwcm90b2NvbDogQW55LCByZXF1ZXN0OiBBbnkpOgorICAg
ICAgICAgbG9vcCwKKyAgICAgICAgIDIqKjE2LAorICAgICAgICAgbWF4X2xpbmVfc2l6ZT04MTkw
LAorLSAgICAgICAgbWF4X2hlYWRlcnM9MzI3NjgsCisrICAgICAgICBtYXhfaGVhZGVycz0xMjgs
CisgICAgICAgICBtYXhfZmllbGRfc2l6ZT04MTkwLAorICAgICApCisgCitAQCAtODYsNyArODcs
NyBAQCBkZWYgcmVzcG9uc2UobG9vcDogQW55LCBwcm90b2NvbDogQW55LCByZXF1ZXN0OiBBbnkp
OgorICAgICAgICAgbG9vcCwKKyAgICAgICAgIDIqKjE2LAorICAgICAgICAgbWF4X2xpbmVfc2l6
ZT04MTkwLAorLSAgICAgICAgbWF4X2hlYWRlcnM9MzI3NjgsCisrICAgICAgICBtYXhfaGVhZGVy
cz0xMjgsCisgICAgICAgICBtYXhfZmllbGRfc2l6ZT04MTkwLAorICAgICAgICAgcmVhZF91bnRp
bF9lb2Y9VHJ1ZSwKKyAgICAgKQorQEAgLTI2MiwxNSArMjYzLDYgQEAgZGVmIHRlc3Rfd2hpdGVz
cGFjZV9iZWZvcmVfaGVhZGVyKHBhcnNlcjogQW55KSAtPiBOb25lOgorICAgICAgICAgcGFyc2Vy
LmZlZWRfZGF0YSh0ZXh0KQorIAorIAorLWRlZiB0ZXN0X3BhcnNlX2hlYWRlcnNfbG9uZ2xpbmUo
cGFyc2VyOiBBbnkpIC0+IE5vbmU6CistICAgIGludmFsaWRfdW5pY29kZV9ieXRlID0gYiJceGQ5
IgorLSAgICBoZWFkZXJfbmFtZSA9IGIiVGVzdCIgKyBpbnZhbGlkX3VuaWNvZGVfYnl0ZSArIGIi
SGVhZGVyIiArIGIiQSIgKiA4MTkyCistICAgIHRleHQgPSBiIkdFVCAvdGVzdCBIVFRQLzEuMVxy
XG4iICsgaGVhZGVyX25hbWUgKyBiIjogdGVzdFxyXG4iICsgYiJcclxuIiArIGIiXHJcbiIKKy0g
ICAgd2l0aCBweXRlc3QucmFpc2VzKChodHRwX2V4Y2VwdGlvbnMuTGluZVRvb0xvbmcsIGh0dHBf
ZXhjZXB0aW9ucy5CYWRIdHRwTWVzc2FnZSkpOgorLSAgICAgICAgIyBGSVhNRTogYExpbmVUb29M
b25nYCBkb2Vzbid0IHNlZW0gdG8gYWN0dWFsbHkgYmUgaGFwcGVuaW5nCistICAgICAgICBwYXJz
ZXIuZmVlZF9kYXRhKHRleHQpCistCistCisgQHB5dGVzdC5maXh0dXJlCisgZGVmIHhmYWlsX2Nf
cGFyc2VyX3N0YXR1cyhyZXF1ZXN0KSAtPiBOb25lOgorICAgICBpZiBpc2luc3RhbmNlKHJlcXVl
c3QuZ2V0Zml4dHVyZXZhbHVlKCJwYXJzZXIiKSwgSHR0cFJlcXVlc3RQYXJzZXJQeSk6CitAQCAt
Njk0LDEzICs2ODYsMTQgQEAgZGVmIHRlc3RfbWF4X2hlYWRlcl9maWVsZF9zaXplKHBhcnNlciwg
c2l6ZSkgLT4gTm9uZToKKyAgICAgbmFtZSA9IGIidCIgKiBzaXplCisgICAgIHRleHQgPSBiIkdF
VCAvdGVzdCBIVFRQLzEuMVxyXG4iICsgbmFtZSArIGIiOmRhdGFcclxuXHJcbiIKKyAKKy0gICAg
bWF0Y2ggPSBmIjQwMCwgbWVzc2FnZTpcbiAgR290IG1vcmUgdGhhbiA4MTkwIGJ5dGVzIFxcKHtz
aXplfVxcKSB3aGVuIHJlYWRpbmciCisrICAgIG1hdGNoID0gIjQwMCwgbWVzc2FnZTpcbiAgR290
IG1vcmUgdGhhbiA4MTkwIGJ5dGVzIHdoZW4gcmVhZGluZyIKKyAgICAgd2l0aCBweXRlc3QucmFp
c2VzKGh0dHBfZXhjZXB0aW9ucy5MaW5lVG9vTG9uZywgbWF0Y2g9bWF0Y2gpOgorLSAgICAgICAg
cGFyc2VyLmZlZWRfZGF0YSh0ZXh0KQorKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKHRl
eHQpLCA1MDAwKTogICMgcHJhZ21hOiBubyBicmFuY2gKKysgICAgICAgICAgICBwYXJzZXIuZmVl
ZF9kYXRhKHRleHRbaSA6IGkgKyA1MDAwXSkKKyAKKyAKKy1kZWYgdGVzdF9tYXhfaGVhZGVyX2Zp
ZWxkX3NpemVfdW5kZXJfbGltaXQocGFyc2VyKSAtPiBOb25lOgorLSAgICBuYW1lID0gYiJ0IiAq
IDgxOTAKKytkZWYgdGVzdF9tYXhfaGVhZGVyX3NpemVfdW5kZXJfbGltaXQocGFyc2VyOiBIdHRw
UmVxdWVzdFBhcnNlcikgLT4gTm9uZToKKysgICAgbmFtZSA9IGIidCIgKiA4MTg1CisgICAgIHRl
eHQgPSBiIkdFVCAvdGVzdCBIVFRQLzEuMVxyXG4iICsgbmFtZSArIGIiOmRhdGFcclxuXHJcbiIK
KyAKKyAgICAgbWVzc2FnZXMsIHVwZ3JhZGUsIHRhaWwgPSBwYXJzZXIuZmVlZF9kYXRhKHRleHQp
CitAQCAtNzIyLDEzICs3MTUsNjcgQEAgZGVmIHRlc3RfbWF4X2hlYWRlcl92YWx1ZV9zaXplKHBh
cnNlciwgc2l6ZSkgLT4gTm9uZToKKyAgICAgbmFtZSA9IGIidCIgKiBzaXplCisgICAgIHRleHQg
PSBiIkdFVCAvdGVzdCBIVFRQLzEuMVxyXG5kYXRhOiIgKyBuYW1lICsgYiJcclxuXHJcbiIKKyAK
Ky0gICAgbWF0Y2ggPSBmIjQwMCwgbWVzc2FnZTpcbiAgR290IG1vcmUgdGhhbiA4MTkwIGJ5dGVz
IFxcKHtzaXplfVxcKSB3aGVuIHJlYWRpbmciCisrICAgIG1hdGNoID0gIjQwMCwgbWVzc2FnZTpc
biAgR290IG1vcmUgdGhhbiA4MTkwIGJ5dGVzIHdoZW4gcmVhZGluZyIKKysgICAgd2l0aCBweXRl
c3QucmFpc2VzKGh0dHBfZXhjZXB0aW9ucy5MaW5lVG9vTG9uZywgbWF0Y2g9bWF0Y2gpOgorKyAg
ICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKHRleHQpLCA0MDAwKTogICMgcHJhZ21hOiBubyBi
cmFuY2gKKysgICAgICAgICAgICBwYXJzZXIuZmVlZF9kYXRhKHRleHRbaSA6IGkgKyA0MDAwXSkK
KysKKysKKytkZWYgdGVzdF9tYXhfaGVhZGVyX2NvbWJpbmVkX3NpemUocGFyc2VyOiBIdHRwUmVx
dWVzdFBhcnNlcikgLT4gTm9uZToKKysgICAgayA9IGIidCIgKiA0MTAwCisrICAgIHRleHQgPSBi
IkdFVCAvdGVzdCBIVFRQLzEuMVxyXG4iICsgayArIGIiOiIgKyBrICsgYiJcclxuXHJcbiIKKysK
KysgICAgbWF0Y2ggPSAiNDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0aGFuIDgxOTAgYnl0ZXMg
d2hlbiByZWFkaW5nIgorICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9leGNlcHRpb25zLkxp
bmVUb29Mb25nLCBtYXRjaD1tYXRjaCk6CisgICAgICAgICBwYXJzZXIuZmVlZF9kYXRhKHRleHQp
CisgCisgCistZGVmIHRlc3RfbWF4X2hlYWRlcl92YWx1ZV9zaXplX3VuZGVyX2xpbWl0KHBhcnNl
cikgLT4gTm9uZToKKy0gICAgdmFsdWUgPSBiIkEiICogODE5MAorK0BweXRlc3QubWFyay5wYXJh
bWV0cml6ZSgic2l6ZSIsIFs0MDk2MCwgODE5MV0pCisrYXN5bmMgZGVmIHRlc3RfbWF4X3RyYWls
ZXJfc2l6ZShwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyLCBzaXplOiBpbnQpIC0+IE5vbmU6Cisr
ICAgIHZhbHVlID0gYiJ0IiAqIHNpemUKKysgICAgdGV4dCA9ICgKKysgICAgICAgIGIiR0VUIC90
ZXN0IEhUVFAvMS4xXHJcblRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG4iCisrICAg
ICAgICArIGhleCg0MDAwKVsyOl0uZW5jb2RlKCkKKysgICAgICAgICsgYiJcclxuIgorKyAgICAg
ICAgKyBiImIiICogNDAwMAorKyAgICAgICAgKyBiIlxyXG4wXHJcbnRlc3Q6ICIKKysgICAgICAg
ICsgdmFsdWUKKysgICAgICAgICsgYiJcclxuXHJcbiIKKysgICAgKQorKworKyAgICBtYXRjaCA9
ICI0MDAsIG1lc3NhZ2U6XG4gIEdvdCBtb3JlIHRoYW4gODE5MCBieXRlcyB3aGVuIHJlYWRpbmci
CisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuTGluZVRvb0xvbmcsIG1h
dGNoPW1hdGNoKToKKysgICAgICAgIHBheWxvYWQgPSBOb25lCisrICAgICAgICBmb3IgaSBpbiBy
YW5nZSgwLCBsZW4odGV4dCksIDMwMDApOiAgIyBwcmFnbWE6IG5vIGJyYW5jaAorKyAgICAgICAg
ICAgIG1lc3NhZ2VzLCB1cGdyYWRlLCB0YWlsID0gcGFyc2VyLmZlZWRfZGF0YSh0ZXh0W2kgOiBp
ICsgMzAwMF0pCisrICAgICAgICAgICAgaWYgbWVzc2FnZXM6CisrICAgICAgICAgICAgICAgIHBh
eWxvYWQgPSBtZXNzYWdlc1swXVstMV0KKysgICAgICAgICMgVHJhaWxlcnMgYXJlIG5vdCBzZWVu
IHVudGlsIHBheWxvYWQgaXMgcmVhZC4KKysgICAgICAgIGFzc2VydCBwYXlsb2FkIGlzIG5vdCBO
b25lCisrICAgICAgICBhd2FpdCBwYXlsb2FkLnJlYWQoKQorKworKworK0BweXRlc3QubWFyay5w
YXJhbWV0cml6ZSgiaGVhZGVycyx0cmFpbGVycyIsICgoMTI5LCAwKSwgKDAsIDEyOSksICg2NCwg
NjUpKSkKKythc3luYyBkZWYgdGVzdF9tYXhfaGVhZGVycygKKysgICAgcGFyc2VyOiBIdHRwUmVx
dWVzdFBhcnNlciwgaGVhZGVyczogaW50LCB0cmFpbGVyczogaW50CisrKSAtPiBOb25lOgorKyAg
ICB0ZXh0ID0gKAorKyAgICAgICAgYiJHRVQgL3Rlc3QgSFRUUC8xLjFcclxuVHJhbnNmZXItRW5j
b2Rpbmc6IGNodW5rZWQiCisrICAgICAgICArIGIiIi5qb2luKGIiXHJcbkhlYWRlci0lZDogVmFs
dWUiICUgaSBmb3IgaSBpbiByYW5nZShoZWFkZXJzKSkKKysgICAgICAgICsgYiJcclxuXHJcbjRc
clxudGVzdFxyXG4wIgorKyAgICAgICAgKyBiIiIuam9pbihiIlxyXG5UcmFpbGVyLSVkOiBWYWx1
ZSIgJSBpIGZvciBpIGluIHJhbmdlKHRyYWlsZXJzKSkKKysgICAgICAgICsgYiJcclxuXHJcbiIK
KysgICAgKQorKworKyAgICBtYXRjaCA9ICJUb28gbWFueSAoaGVhZGVyc3x0cmFpbGVycykgcmVj
ZWl2ZWQiCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQmFkSHR0cE1l
c3NhZ2UsIG1hdGNoPW1hdGNoKToKKysgICAgICAgIG1lc3NhZ2VzLCB1cGdyYWRlLCB0YWlsID0g
cGFyc2VyLmZlZWRfZGF0YSh0ZXh0KQorKyAgICAgICAgIyBUcmFpbGVycyBhcmUgbm90IHNlZW4g
dW50aWwgcGF5bG9hZCBpcyByZWFkLgorKyAgICAgICAgYXdhaXQgbWVzc2FnZXNbMF1bLTFdLnJl
YWQoKQorKworKworK2RlZiB0ZXN0X21heF9oZWFkZXJfdmFsdWVfc2l6ZV91bmRlcl9saW1pdChw
YXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBOb25lOgorKyAgICB2YWx1ZSA9IGIiQSIgKiA4
MTg1CisgICAgIHRleHQgPSBiIkdFVCAvdGVzdCBIVFRQLzEuMVxyXG5kYXRhOiIgKyB2YWx1ZSAr
IGIiXHJcblxyXG4iCisgCisgICAgIG1lc3NhZ2VzLCB1cGdyYWRlLCB0YWlsID0gcGFyc2VyLmZl
ZWRfZGF0YSh0ZXh0KQorQEAgLTc1MCwxMyArNzk3LDE2IEBAIGRlZiB0ZXN0X21heF9oZWFkZXJf
dmFsdWVfc2l6ZV9jb250aW51YXRpb24ocmVzcG9uc2UsIHNpemUpIC0+IE5vbmU6CisgICAgIG5h
bWUgPSBiIlQiICogKHNpemUgLSA1KQorICAgICB0ZXh0ID0gYiJIVFRQLzEuMSAyMDAgT2tcclxu
ZGF0YTogdGVzdFxyXG4gIiArIG5hbWUgKyBiIlxyXG5cclxuIgorIAorLSAgICBtYXRjaCA9IGYi
NDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0aGFuIDgxOTAgYnl0ZXMgXFwoe3NpemV9XFwpIHdo
ZW4gcmVhZGluZyIKKysgICAgbWF0Y2ggPSAiNDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0aGFu
IDgxOTAgYnl0ZXMgd2hlbiByZWFkaW5nIgorICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9l
eGNlcHRpb25zLkxpbmVUb29Mb25nLCBtYXRjaD1tYXRjaCk6CistICAgICAgICByZXNwb25zZS5m
ZWVkX2RhdGEodGV4dCkKKysgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbih0ZXh0KSwgOTAw
MCk6ICAjIHByYWdtYTogbm8gYnJhbmNoCisrICAgICAgICAgICAgcmVzcG9uc2UuZmVlZF9kYXRh
KHRleHRbaSA6IGkgKyA5MDAwXSkKKyAKKyAKKy1kZWYgdGVzdF9tYXhfaGVhZGVyX3ZhbHVlX3Np
emVfY29udGludWF0aW9uX3VuZGVyX2xpbWl0KHJlc3BvbnNlKSAtPiBOb25lOgorLSAgICB2YWx1
ZSA9IGIiQSIgKiA4MTg1CisrZGVmIHRlc3RfbWF4X2hlYWRlcl92YWx1ZV9zaXplX2NvbnRpbnVh
dGlvbl91bmRlcl9saW1pdCgKKysgICAgcmVzcG9uc2U6IEh0dHBSZXNwb25zZVBhcnNlciwKKysp
IC0+IE5vbmU6CisrICAgIHZhbHVlID0gYiJBIiAqIDgxNzkKKyAgICAgdGV4dCA9IGIiSFRUUC8x
LjEgMjAwIE9rXHJcbmRhdGE6IHRlc3RcclxuICIgKyB2YWx1ZSArIGIiXHJcblxyXG4iCisgCisg
ICAgIG1lc3NhZ2VzLCB1cGdyYWRlLCB0YWlsID0gcmVzcG9uc2UuZmVlZF9kYXRhKHRleHQpCitA
QCAtOTk1LDEzICsxMDQ1LDEzIEBAIGRlZiB0ZXN0X2h0dHBfcmVxdWVzdF9wYXJzZXJfYmFkX25v
bmFzY2lpX3VyaShwYXJzZXI6IEFueSkgLT4gTm9uZToKKyBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJp
emUoInNpemUiLCBbNDA5NjUsIDgxOTFdKQorIGRlZiB0ZXN0X2h0dHBfcmVxdWVzdF9tYXhfc3Rh
dHVzX2xpbmUocGFyc2VyLCBzaXplKSAtPiBOb25lOgorICAgICBwYXRoID0gYiJ0IiAqIChzaXpl
IC0gNSkKKy0gICAgbWF0Y2ggPSBmIjQwMCwgbWVzc2FnZTpcbiAgR290IG1vcmUgdGhhbiA4MTkw
IGJ5dGVzIFxcKHtzaXplfVxcKSB3aGVuIHJlYWRpbmciCisrICAgIG1hdGNoID0gIjQwMCwgbWVz
c2FnZTpcbiAgR290IG1vcmUgdGhhbiA4MTkwIGJ5dGVzIHdoZW4gcmVhZGluZyIKKyAgICAgd2l0
aCBweXRlc3QucmFpc2VzKGh0dHBfZXhjZXB0aW9ucy5MaW5lVG9vTG9uZywgbWF0Y2g9bWF0Y2gp
OgorICAgICAgICAgcGFyc2VyLmZlZWRfZGF0YShiIkdFVCAvcGF0aCIgKyBwYXRoICsgYiIgSFRU
UC8xLjFcclxuXHJcbiIpCisgCisgCistZGVmIHRlc3RfaHR0cF9yZXF1ZXN0X21heF9zdGF0dXNf
bGluZV91bmRlcl9saW1pdChwYXJzZXIpIC0+IE5vbmU6CistICAgIHBhdGggPSBiInQiICogKDgx
OTAgLSA1KQorK2RlZiB0ZXN0X2h0dHBfcmVxdWVzdF9tYXhfc3RhdHVzX2xpbmVfdW5kZXJfbGlt
aXQocGFyc2VyOiBIdHRwUmVxdWVzdFBhcnNlcikgLT4gTm9uZToKKysgICAgcGF0aCA9IGIidCIg
KiA4MTcyCisgICAgIG1lc3NhZ2VzLCB1cGdyYWRlZCwgdGFpbCA9IHBhcnNlci5mZWVkX2RhdGEo
CisgICAgICAgICBiIkdFVCAvcGF0aCIgKyBwYXRoICsgYiIgSFRUUC8xLjFcclxuXHJcbiIKKyAg
ICAgKQorQEAgLTEwNzgsMTMgKzExMjgsMTUgQEAgZGVmIHRlc3RfaHR0cF9yZXNwb25zZV9wYXJz
ZXJfc3RyaWN0X29ic19saW5lX2ZvbGRpbmcocmVzcG9uc2U6IEFueSkgLT4gTm9uZToKKyBAcHl0
ZXN0Lm1hcmsucGFyYW1ldHJpemUoInNpemUiLCBbNDA5NjIsIDgxOTFdKQorIGRlZiB0ZXN0X2h0
dHBfcmVzcG9uc2VfcGFyc2VyX2JhZF9zdGF0dXNfbGluZV90b29fbG9uZyhyZXNwb25zZSwgc2l6
ZSkgLT4gTm9uZToKKyAgICAgcmVhc29uID0gYiJ0IiAqIChzaXplIC0gMikKKy0gICAgbWF0Y2gg
PSBmIjQwMCwgbWVzc2FnZTpcbiAgR290IG1vcmUgdGhhbiA4MTkwIGJ5dGVzIFxcKHtzaXplfVxc
KSB3aGVuIHJlYWRpbmciCisrICAgIG1hdGNoID0gIjQwMCwgbWVzc2FnZTpcbiAgR290IG1vcmUg
dGhhbiA4MTkwIGJ5dGVzIHdoZW4gcmVhZGluZyIKKyAgICAgd2l0aCBweXRlc3QucmFpc2VzKGh0
dHBfZXhjZXB0aW9ucy5MaW5lVG9vTG9uZywgbWF0Y2g9bWF0Y2gpOgorICAgICAgICAgcmVzcG9u
c2UuZmVlZF9kYXRhKGIiSFRUUC8xLjEgMjAwIE9rIiArIHJlYXNvbiArIGIiXHJcblxyXG4iKQor
IAorIAorLWRlZiB0ZXN0X2h0dHBfcmVzcG9uc2VfcGFyc2VyX3N0YXR1c19saW5lX3VuZGVyX2xp
bWl0KHJlc3BvbnNlKSAtPiBOb25lOgorLSAgICByZWFzb24gPSBiIk8iICogODE5MAorK2RlZiB0
ZXN0X2h0dHBfcmVzcG9uc2VfcGFyc2VyX3N0YXR1c19saW5lX3VuZGVyX2xpbWl0KAorKyAgICBy
ZXNwb25zZTogSHR0cFJlc3BvbnNlUGFyc2VyLAorKykgLT4gTm9uZToKKysgICAgcmVhc29uID0g
YiJPIiAqIDgxNzcKKyAgICAgbWVzc2FnZXMsIHVwZ3JhZGVkLCB0YWlsID0gcmVzcG9uc2UuZmVl
ZF9kYXRhKAorICAgICAgICAgYiJIVFRQLzEuMSAyMDAgIiArIHJlYXNvbiArIGIiXHJcblxyXG4i
CisgICAgICkKK0BAIC0xNTk0LDcgKzE2NDYsNyBAQCBkZWYgdGVzdF9wYXJzZV9iYWRfbWV0aG9k
X2Zvcl9jX3BhcnNlcl9yYWlzZXMobG9vcCwgcHJvdG9jb2wpOgorICAgICAgICAgbG9vcCwKKyAg
ICAgICAgIDIqKjE2LAorICAgICAgICAgbWF4X2xpbmVfc2l6ZT04MTkwLAorLSAgICAgICAgbWF4
X2hlYWRlcnM9MzI3NjgsCisrICAgICAgICBtYXhfaGVhZGVycz0xMjgsCisgICAgICAgICBtYXhf
ZmllbGRfc2l6ZT04MTkwLAorICAgICApCisgCitAQCAtMTkwMSw3ICsxOTUzLDcgQEAgY2xhc3Mg
VGVzdERlZmxhdGVCdWZmZXI6CisgICAgICAgICBkYnVmID0gRGVmbGF0ZUJ1ZmZlcihidWYsICJk
ZWZsYXRlIikKKyAKKyAgICAgICAgICMgRmVlZCBjb21wcmVzc2VkIGRhdGEgaW4gY2h1bmtzIChz
aW11bGF0aW5nIG5ldHdvcmsgc3RyZWFtaW5nKQorLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwg
bGVuKGNvbXByZXNzZWQpLCBjaHVua19zaXplKToKKysgICAgICAgIGZvciBpIGluIHJhbmdlKDAs
IGxlbihjb21wcmVzc2VkKSwgY2h1bmtfc2l6ZSk6ICAjIHByYWdtYTogbm8gYnJhbmNoCisgICAg
ICAgICAgICAgY2h1bmsgPSBjb21wcmVzc2VkW2kgOiBpICsgY2h1bmtfc2l6ZV0KKyAgICAgICAg
ICAgICBkYnVmLmZlZWRfZGF0YShjaHVuaywgbGVuKGNodW5rKSkKKyAKZGlmZiAtTnJ1IHB5dGhv
bi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTMucGF0Y2ggcHl0
aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxMy5wYXRjaAot
LS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxMy5w
YXRjaAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgcHl0aG9uLWFpb2h0
dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxMy5wYXRjaAkyMDI2LTA3LTMx
IDAzOjUwOjMyLjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsxLDE4MCBAQAorRnJvbTogU2FtIEJ1
bGwgPGdpdEBzYW1idWxsLm9yZz4KK0RhdGU6IFN1biwgMjIgRmViIDIwMjYgMTI6NTg6MjIgKzAw
MDAKK1N1YmplY3Q6IFtQQVRDSF0gQm91bmQgRE5TIGNhY2hlICgjMTIxMDYpICgjMTIxMTcpCisK
KyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDhhYjg0YzUyZmU1OGVmMzQ3OTRmYTliMTJmMDBi
MDZlNjI2YWRjYzApCisKK1Jldmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8ZGxlaWRlcnRAZGVi
aWFuLm9yZz4KK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvY29t
bWl0L2M0ZDc3YzM1MzMxMjJiZTM1M2I4YWZjYThlODY3NWUzYjRjYmRhOTgKK0J1ZzogaHR0cHM6
Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLWhj
YzQtYzN2OC1yeDkyCitCdWctRGViaWFuLVNlY3VyaXR5OiBodHRwczovL3NlY3VyaXR5LXRyYWNr
ZXIuZGViaWFuLm9yZy90cmFja2VyL0NWRS0yMDI2LTM0NTEzCitCdWctRnJlZXhpYW4tU2VjdXJp
dHk6IGh0dHBzOi8vZGViLmZyZWV4aWFuLmNvbS9leHRlbmRlZC1sdHMvdHJhY2tlci9DVkUtMjAy
Ni0zNDUxMworLS0tCisgYWlvaHR0cC9jb25uZWN0b3IucHkgICAgfCAyNCArKysrKysrKysrKyst
LS0tCisgdGVzdHMvdGVzdF9jb25uZWN0b3IucHkgfCA3NiArKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRp
b25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWlvaHR0cC9jb25uZWN0b3Iu
cHkgYi9haW9odHRwL2Nvbm5lY3Rvci5weQoraW5kZXggNzQyMGJkNi4uYmU3N2M5ZSAxMDA2NDQK
Ky0tLSBhL2Fpb2h0dHAvY29ubmVjdG9yLnB5CisrKysgYi9haW9odHRwL2Nvbm5lY3Rvci5weQor
QEAgLTczMiwyNSArNzMyLDMzIEBAIGNsYXNzIEJhc2VDb25uZWN0b3I6CisgCisgCisgY2xhc3Mg
X0ROU0NhY2hlVGFibGU6CistICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0dGw6IE9wdGlvbmFsW2Zs
b2F0XSA9IE5vbmUpIC0+IE5vbmU6CistICAgICAgICBzZWxmLl9hZGRyc19ycjogRGljdFtUdXBs
ZVtzdHIsIGludF0sIFR1cGxlW0l0ZXJhdG9yW1Jlc29sdmVSZXN1bHRdLCBpbnRdXSA9IHt9Cisr
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0dGw6IE9wdGlvbmFsW2Zsb2F0XSA9IE5vbmUsIG1heF9z
aXplOiBpbnQgPSAxMDAwKSAtPiBOb25lOgorKyAgICAgICAgc2VsZi5fYWRkcnNfcnI6IE9yZGVy
ZWREaWN0WworKyAgICAgICAgICAgIFR1cGxlW3N0ciwgaW50XSwgVHVwbGVbSXRlcmF0b3JbUmVz
b2x2ZVJlc3VsdF0sIGludF0KKysgICAgICAgIF0gPSBPcmRlcmVkRGljdCgpCisgICAgICAgICBz
ZWxmLl90aW1lc3RhbXBzOiBEaWN0W1R1cGxlW3N0ciwgaW50XSwgZmxvYXRdID0ge30KKyAgICAg
ICAgIHNlbGYuX3R0bCA9IHR0bAorKyAgICAgICAgc2VsZi5fbWF4X3NpemUgPSBtYXhfc2l6ZQor
IAorICAgICBkZWYgX19jb250YWluc19fKHNlbGYsIGhvc3Q6IG9iamVjdCkgLT4gYm9vbDoKKyAg
ICAgICAgIHJldHVybiBob3N0IGluIHNlbGYuX2FkZHJzX3JyCisgCisgICAgIGRlZiBhZGQoc2Vs
Ziwga2V5OiBUdXBsZVtzdHIsIGludF0sIGFkZHJzOiBMaXN0W1Jlc29sdmVSZXN1bHRdKSAtPiBO
b25lOgorKyAgICAgICAgaWYga2V5IGluIHNlbGYuX2FkZHJzX3JyOgorKyAgICAgICAgICAgIHNl
bGYuX2FkZHJzX3JyLm1vdmVfdG9fZW5kKGtleSkKKysKKyAgICAgICAgIHNlbGYuX2FkZHJzX3Jy
W2tleV0gPSAoY3ljbGUoYWRkcnMpLCBsZW4oYWRkcnMpKQorIAorICAgICAgICAgaWYgc2VsZi5f
dHRsIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIHNlbGYuX3RpbWVzdGFtcHNba2V5XSA9IG1v
bm90b25pYygpCisgCisrICAgICAgICBpZiBsZW4oc2VsZi5fYWRkcnNfcnIpID4gc2VsZi5fbWF4
X3NpemU6CisrICAgICAgICAgICAgb2xkZXN0X2tleSwgXyA9IHNlbGYuX2FkZHJzX3JyLnBvcGl0
ZW0obGFzdD1GYWxzZSkKKysgICAgICAgICAgICBzZWxmLl90aW1lc3RhbXBzLnBvcChvbGRlc3Rf
a2V5LCBOb25lKQorKworICAgICBkZWYgcmVtb3ZlKHNlbGYsIGtleTogVHVwbGVbc3RyLCBpbnRd
KSAtPiBOb25lOgorICAgICAgICAgc2VsZi5fYWRkcnNfcnIucG9wKGtleSwgTm9uZSkKKy0KKy0g
ICAgICAgIGlmIHNlbGYuX3R0bCBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICBzZWxmLl90aW1l
c3RhbXBzLnBvcChrZXksIE5vbmUpCisrICAgICAgICBzZWxmLl90aW1lc3RhbXBzLnBvcChrZXks
IE5vbmUpCisgCisgICAgIGRlZiBjbGVhcihzZWxmKSAtPiBOb25lOgorICAgICAgICAgc2VsZi5f
YWRkcnNfcnIuY2xlYXIoKQorQEAgLTc2MSw2ICs3NjksNyBAQCBjbGFzcyBfRE5TQ2FjaGVUYWJs
ZToKKyAgICAgICAgIGFkZHJzID0gbGlzdChpc2xpY2UobG9vcCwgbGVuZ3RoKSkKKyAgICAgICAg
ICMgQ29uc3VtZSBvbmUgbW9yZSBlbGVtZW50IHRvIHNoaWZ0IGludGVybmFsIHN0YXRlIG9mIGBj
eWNsZWAKKyAgICAgICAgIG5leHQobG9vcCkKKysgICAgICAgIHNlbGYuX2FkZHJzX3JyLm1vdmVf
dG9fZW5kKGtleSkKKyAgICAgICAgIHJldHVybiBhZGRycworIAorICAgICBkZWYgZXhwaXJlZChz
ZWxmLCBrZXk6IFR1cGxlW3N0ciwgaW50XSkgLT4gYm9vbDoKK0BAIC04MzksNiArODQ4LDcgQEAg
Y2xhc3MgVENQQ29ubmVjdG9yKEJhc2VDb25uZWN0b3IpOgorICAgICAgICAgZmluZ2VycHJpbnQ6
IE9wdGlvbmFsW2J5dGVzXSA9IE5vbmUsCisgICAgICAgICB1c2VfZG5zX2NhY2hlOiBib29sID0g
VHJ1ZSwKKyAgICAgICAgIHR0bF9kbnNfY2FjaGU6IE9wdGlvbmFsW2ludF0gPSAxMCwKKysgICAg
ICAgIGRuc19jYWNoZV9tYXhfc2l6ZTogaW50ID0gMTAwMCwKKyAgICAgICAgIGZhbWlseTogc29j
a2V0LkFkZHJlc3NGYW1pbHkgPSBzb2NrZXQuQWRkcmVzc0ZhbWlseS5BRl9VTlNQRUMsCisgICAg
ICAgICBzc2xfY29udGV4dDogT3B0aW9uYWxbU1NMQ29udGV4dF0gPSBOb25lLAorICAgICAgICAg
c3NsOiBVbmlvbltib29sLCBGaW5nZXJwcmludCwgU1NMQ29udGV4dF0gPSBUcnVlLAorQEAgLTg3
MCw3ICs4ODAsOSBAQCBjbGFzcyBUQ1BDb25uZWN0b3IoQmFzZUNvbm5lY3Rvcik6CisgICAgICAg
ICBzZWxmLl9yZXNvbHZlciA9IHJlc29sdmVyCisgCisgICAgICAgICBzZWxmLl91c2VfZG5zX2Nh
Y2hlID0gdXNlX2Ruc19jYWNoZQorLSAgICAgICAgc2VsZi5fY2FjaGVkX2hvc3RzID0gX0ROU0Nh
Y2hlVGFibGUodHRsPXR0bF9kbnNfY2FjaGUpCisrICAgICAgICBzZWxmLl9jYWNoZWRfaG9zdHMg
PSBfRE5TQ2FjaGVUYWJsZSgKKysgICAgICAgICAgICB0dGw9dHRsX2Ruc19jYWNoZSwgbWF4X3Np
emU9ZG5zX2NhY2hlX21heF9zaXplCisrICAgICAgICApCisgICAgICAgICBzZWxmLl90aHJvdHRs
ZV9kbnNfZnV0dXJlczogRGljdFsKKyAgICAgICAgICAgICBUdXBsZVtzdHIsIGludF0sIFNldFsi
YXN5bmNpby5GdXR1cmVbTm9uZV0iXQorICAgICAgICAgXSA9IHt9CitkaWZmIC0tZ2l0IGEvdGVz
dHMvdGVzdF9jb25uZWN0b3IucHkgYi90ZXN0cy90ZXN0X2Nvbm5lY3Rvci5weQoraW5kZXggYTNm
ZmZjNC4uNmNiOTM5MiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfY29ubmVjdG9yLnB5CisrKysg
Yi90ZXN0cy90ZXN0X2Nvbm5lY3Rvci5weQorQEAgLTMzNTEsNiArMzM1MSwyNSBAQCBhc3luYyBk
ZWYgdGVzdF9uYW1lZF9waXBlX2Nvbm5lY3RvcigKKyAKKyAKKyBjbGFzcyBUZXN0RE5TQ2FjaGVU
YWJsZToKKysgICAgaG9zdDEgPSAoImxvY2FsaG9zdCIsIDgwKQorKyAgICBob3N0MiA9ICgiZm9v
IiwgODApCisrICAgIHJlc3VsdDE6IFJlc29sdmVSZXN1bHQgPSB7CisrICAgICAgICAiaG9zdG5h
bWUiOiAibG9jYWxob3N0IiwKKysgICAgICAgICJob3N0IjogIjEyNy4wLjAuMSIsCisrICAgICAg
ICAicG9ydCI6IDgwLAorKyAgICAgICAgImZhbWlseSI6IHNvY2tldC5BRl9JTkVULAorKyAgICAg
ICAgInByb3RvIjogMCwKKysgICAgICAgICJmbGFncyI6IHNvY2tldC5BSV9OVU1FUklDSE9TVCwK
KysgICAgfQorKyAgICByZXN1bHQyOiBSZXNvbHZlUmVzdWx0ID0geworKyAgICAgICAgImhvc3Ru
YW1lIjogImZvbyIsCisrICAgICAgICAiaG9zdCI6ICIxMjcuMC4wLjIiLAorKyAgICAgICAgInBv
cnQiOiA4MCwKKysgICAgICAgICJmYW1pbHkiOiBzb2NrZXQuQUZfSU5FVCwKKysgICAgICAgICJw
cm90byI6IDAsCisrICAgICAgICAiZmxhZ3MiOiBzb2NrZXQuQUlfTlVNRVJJQ0hPU1QsCisrICAg
IH0KKysKKyAgICAgQHB5dGVzdC5maXh0dXJlCisgICAgIGRlZiBkbnNfY2FjaGVfdGFibGUoc2Vs
Zik6CisgICAgICAgICByZXR1cm4gX0ROU0NhY2hlVGFibGUoKQorQEAgLTM0MzYsNiArMzQ1NSw2
MyBAQCBjbGFzcyBUZXN0RE5TQ2FjaGVUYWJsZToKKyAgICAgICAgIGFkZHJzID0gZG5zX2NhY2hl
X3RhYmxlLm5leHRfYWRkcnMoImZvbyIpCisgICAgICAgICBhc3NlcnQgYWRkcnMgPT0gWyIxMjcu
MC4wLjEiXQorIAorKyAgICBkZWYgdGVzdF9tYXhfc2l6ZV9ldmljdGlvbihzZWxmKSAtPiBOb25l
OgorKyAgICAgICAgdGFibGUgPSBfRE5TQ2FjaGVUYWJsZShtYXhfc2l6ZT0yKQorKworKyAgICAg
ICAgdGFibGUuYWRkKHNlbGYuaG9zdDEsIFtzZWxmLnJlc3VsdDFdKQorKyAgICAgICAgdGFibGUu
YWRkKHNlbGYuaG9zdDIsIFtzZWxmLnJlc3VsdDJdKQorKworKyAgICAgICAgaG9zdDMgPSAoImV4
YW1wbGUuY29tIiwgODApCisrICAgICAgICByZXN1bHQzOiBSZXNvbHZlUmVzdWx0ID0geworKyAg
ICAgICAgICAgICoqc2VsZi5yZXN1bHQxLAorKyAgICAgICAgICAgICJob3N0bmFtZSI6ICJleGFt
cGxlLmNvbSIsCisrICAgICAgICAgICAgImhvc3QiOiAiMS4yLjMuNCIsCisrICAgICAgICB9Cisr
ICAgICAgICB0YWJsZS5hZGQoaG9zdDMsIFtyZXN1bHQzXSkKKysKKysgICAgICAgIGFzc2VydCBs
ZW4odGFibGUuX2FkZHJzX3JyKSA9PSAyCisrICAgICAgICBhc3NlcnQgc2VsZi5ob3N0MSBub3Qg
aW4gdGFibGUuX2FkZHJzX3JyCisrICAgICAgICBhc3NlcnQgaG9zdDMgaW4gdGFibGUuX2FkZHJz
X3JyCisrCisrICAgIGRlZiB0ZXN0X2xydV9ldmljdGlvbihzZWxmKSAtPiBOb25lOgorKyAgICAg
ICAgdGFibGUgPSBfRE5TQ2FjaGVUYWJsZShtYXhfc2l6ZT0yKQorKworKyAgICAgICAgdGFibGUu
YWRkKHNlbGYuaG9zdDEsIFtzZWxmLnJlc3VsdDFdKQorKyAgICAgICAgdGFibGUuYWRkKHNlbGYu
aG9zdDIsIFtzZWxmLnJlc3VsdDJdKQorKworKyAgICAgICAgdGFibGUubmV4dF9hZGRycyhzZWxm
Lmhvc3QxKQorKworKyAgICAgICAgaG9zdDMgPSAoImV4YW1wbGUuY29tIiwgODApCisrICAgICAg
ICByZXN1bHQzOiBSZXNvbHZlUmVzdWx0ID0geworKyAgICAgICAgICAgICoqc2VsZi5yZXN1bHQx
LAorKyAgICAgICAgICAgICJob3N0bmFtZSI6ICJleGFtcGxlLmNvbSIsCisrICAgICAgICAgICAg
Imhvc3QiOiAiMS4yLjMuNCIsCisrICAgICAgICB9CisrICAgICAgICB0YWJsZS5hZGQoaG9zdDMs
IFtyZXN1bHQzXSkKKysKKysgICAgICAgIGFzc2VydCBzZWxmLmhvc3QxIGluIHRhYmxlLl9hZGRy
c19ycgorKyAgICAgICAgYXNzZXJ0IHNlbGYuaG9zdDIgbm90IGluIHRhYmxlLl9hZGRyc19ycgor
KworKyAgICBkZWYgdGVzdF9scnVfZXZpY3Rpb25fYWRkKHNlbGYpIC0+IE5vbmU6CisrICAgICAg
ICB0YWJsZSA9IF9ETlNDYWNoZVRhYmxlKG1heF9zaXplPTIpCisrCisrICAgICAgICB0YWJsZS5h
ZGQoc2VsZi5ob3N0MSwgW3NlbGYucmVzdWx0MV0pCisrICAgICAgICB0YWJsZS5hZGQoc2VsZi5o
b3N0MiwgW3NlbGYucmVzdWx0Ml0pCisrCisrICAgICAgICAjIFJlLWFkZCwgdGh1cyBtYWtpbmcg
aG9zdDEgdGhlIG1vc3QgcmVjZW50bHkgdXNlZC4KKysgICAgICAgIHRhYmxlLmFkZChzZWxmLmhv
c3QxLCBbc2VsZi5yZXN1bHQxXSkKKysKKysgICAgICAgIGhvc3QzID0gKCJleGFtcGxlLmNvbSIs
IDgwKQorKyAgICAgICAgcmVzdWx0MzogUmVzb2x2ZVJlc3VsdCA9IHsKKysgICAgICAgICAgICAq
KnNlbGYucmVzdWx0MSwKKysgICAgICAgICAgICAiaG9zdG5hbWUiOiAiZXhhbXBsZS5jb20iLAor
KyAgICAgICAgICAgICJob3N0IjogIjEuMi4zLjQiLAorKyAgICAgICAgfQorKyAgICAgICAgdGFi
bGUuYWRkKGhvc3QzLCBbcmVzdWx0M10pCisrCisrICAgICAgICBhc3NlcnQgc2VsZi5ob3N0MSBp
biB0YWJsZS5fYWRkcnNfcnIKKysgICAgICAgIGFzc2VydCBzZWxmLmhvc3QyIG5vdCBpbiB0YWJs
ZS5fYWRkcnNfcnIKKysKKyAKKyBhc3luYyBkZWYgdGVzdF9jb25uZWN0b3JfY2FjaGVfdHJhY2Vf
cmFjZSgpOgorICAgICBjbGFzcyBEdW1teVRyYWNlcjoKZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRw
LTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTQucGF0Y2ggcHl0aG9uLWFpb2h0
dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxNC5wYXRjaAotLS0gcHl0aG9u
LWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxNC5wYXRjaAkxOTcw
LTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgcHl0aG9uLWFpb2h0dHAtMy4xMS4x
Ni9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxNC5wYXRjaAkyMDI2LTA3LTMxIDAzOjUwOjMy
LjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsxLDYyIEBACitGcm9tOiBTYW0gQnVsbCA8Z2l0QHNh
bWJ1bGwub3JnPgorRGF0ZTogU2F0LCAyMSBGZWIgMjAyNiAwMDoxNzoxMSArMDAwMAorU3ViamVj
dDogRml4IG11bHRpcGFydCBpbmplY3Rpb24gKCMxMjEwNCkgKCMxMjExMCkKKworKGNoZXJyeSBw
aWNrZWQgZnJvbSBjb21taXQgZGFiOWU4NzliZTU2MDY2ODJhMzliOWRkMzc4OTAwZWJhMGFmZDFh
NCkKKworQ28tYXV0aG9yZWQtYnk6IG1pbmdpIGp1bmcgPG1pbmdpanVuZy5ncmFwZUBnbWFpbC5j
b20+CisKK1Jldmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8ZGxlaWRlcnRAZGViaWFuLm9yZz4K
K09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvY29tbWl0LzlhNmFk
YTk3ZTJjNmNmMWNlMzE3MjdjNmM5ZmNlYTE3YzIxZjZmMDYKK0J1ZzogaHR0cHM6Ly9naXRodWIu
Y29tL2Fpby1saWJzL2Fpb2h0dHAvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLTJ2cm0tZ3I4Mi1m
N201CitCdWctRGViaWFuLVNlY3VyaXR5OiBodHRwczovL3NlY3VyaXR5LXRyYWNrZXIuZGViaWFu
Lm9yZy90cmFja2VyL0NWRS0yMDI2LTM0NTE0CitCdWctRnJlZXhpYW4tU2VjdXJpdHk6IGh0dHBz
Oi8vZGViLmZyZWV4aWFuLmNvbS9leHRlbmRlZC1sdHMvdHJhY2tlci9DVkUtMjAyNi0zNDUxNAor
LS0tCisgYWlvaHR0cC9mb3JtZGF0YS5weSAgICB8ICA1ICsrKysrCisgdGVzdHMvdGVzdF9mb3Jt
ZGF0YS5weSB8IDE2ICsrKysrKysrKysrLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2Vy
dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRwL2Zvcm1kYXRh
LnB5IGIvYWlvaHR0cC9mb3JtZGF0YS5weQoraW5kZXggNzMwNTZmNC4uYWI2NWY0YSAxMDA2NDQK
Ky0tLSBhL2Fpb2h0dHAvZm9ybWRhdGEucHkKKysrKyBiL2Fpb2h0dHAvZm9ybWRhdGEucHkKK0BA
IC03OSw2ICs3OSwxMSBAQCBjbGFzcyBGb3JtRGF0YToKKyAgICAgICAgICAgICAgICAgcmFpc2Ug
VHlwZUVycm9yKAorICAgICAgICAgICAgICAgICAgICAgImNvbnRlbnRfdHlwZSBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIHN0ci4gR290OiAlcyIgJSBjb250ZW50X3R5cGUKKyAgICAgICAgICAgICAg
ICAgKQorKyAgICAgICAgICAgIGlmICJcciIgaW4gY29udGVudF90eXBlIG9yICJcbiIgaW4gY29u
dGVudF90eXBlOgorKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAorKyAgICAgICAg
ICAgICAgICAgICAgIk5ld2xpbmUgb3IgY2FycmlhZ2UgcmV0dXJuIGRldGVjdGVkIGluIGhlYWRl
cnMuICIKKysgICAgICAgICAgICAgICAgICAgICJQb3RlbnRpYWwgaGVhZGVyIGluamVjdGlvbiBh
dHRhY2suIgorKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgaGVhZGVyc1toZHJzLkNP
TlRFTlRfVFlQRV0gPSBjb250ZW50X3R5cGUKKyAgICAgICAgICAgICBzZWxmLl9pc19tdWx0aXBh
cnQgPSBUcnVlCisgICAgICAgICBpZiBjb250ZW50X3RyYW5zZmVyX2VuY29kaW5nIGlzIG5vdCBO
b25lOgorZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfZm9ybWRhdGEucHkgYi90ZXN0cy90ZXN0X2Zv
cm1kYXRhLnB5CitpbmRleCA0YjdjOTRhLi4wYmQ1YmY5IDEwMDY0NAorLS0tIGEvdGVzdHMvdGVz
dF9mb3JtZGF0YS5weQorKysrIGIvdGVzdHMvdGVzdF9mb3JtZGF0YS5weQorQEAgLTY1LDEyICs2
NSwxOCBAQCBhc3luYyBkZWYgdGVzdF9mb3JtZGF0YV90ZXh0aW9fY2hhcnNldChidWY6IGJ5dGVh
cnJheSwgd3JpdGVyKSAtPiBOb25lOgorICAgICBhc3NlcnQgYiJceDkzXHhmYVx4OTZ7IiBpbiBi
dWYKKyAKKyAKKy1kZWYgdGVzdF9pbnZhbGlkX2Zvcm1kYXRhX2NvbnRlbnRfdHlwZSgpIC0+IE5v
bmU6CisrQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJ2YWwiLCAoMCwgMC4xLCB7fSwgW10sIGIi
Zm9vIikpCisrZGVmIHRlc3RfaW52YWxpZF90eXBlX2Zvcm1kYXRhX2NvbnRlbnRfdHlwZSh2YWw6
IG9iamVjdCkgLT4gTm9uZToKKyAgICAgZm9ybSA9IEZvcm1EYXRhKCkKKy0gICAgaW52YWxpZF92
YWxzID0gWzAsIDAuMSwge30sIFtdLCBiImZvbyJdCistICAgIGZvciBpbnZhbGlkX3ZhbCBpbiBp
bnZhbGlkX3ZhbHM6CistICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVHlwZUVycm9yKToKKy0g
ICAgICAgICAgICBmb3JtLmFkZF9maWVsZCgiZm9vIiwgImJhciIsIGNvbnRlbnRfdHlwZT1pbnZh
bGlkX3ZhbCkKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKFR5cGVFcnJvcik6CisrICAgICAgICBm
b3JtLmFkZF9maWVsZCgiZm9vIiwgImJhciIsIGNvbnRlbnRfdHlwZT12YWwpICAjIHR5cGU6IGln
bm9yZVthcmctdHlwZV0KKysKKysKKytAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoInZhbCIsICgi
XHIiLCAiXG4iLCAiYVxyYVxuIiwgImFcbmFcciIpKQorK2RlZiB0ZXN0X2ludmFsaWRfdmFsdWVf
Zm9ybWRhdGFfY29udGVudF90eXBlKHZhbDogc3RyKSAtPiBOb25lOgorKyAgICBmb3JtID0gRm9y
bURhdGEoKQorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvcik6CisrICAgICAgICBm
b3JtLmFkZF9maWVsZCgiZm9vIiwgImJhciIsIGNvbnRlbnRfdHlwZT12YWwpCisgCisgCisgZGVm
IHRlc3RfaW52YWxpZF9mb3JtZGF0YV9maWxlbmFtZSgpIC0+IE5vbmU6CmRpZmYgLU5ydSBweXRo
b24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTM0NTE2LnBhdGNoIHB5
dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTYucGF0Y2gK
LS0tIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTYu
cGF0Y2gJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9o
dHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTYucGF0Y2gJMjAyNi0wNy0z
MSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwzNTcgQEAKK0Zyb206IFNhbSBC
dWxsIDxnaXRAc2FtYnVsbC5vcmc+CitEYXRlOiBUdWUsIDEwIE1hciAyMDI2IDIwOjM2OjM4ICsw
MDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlc3RyaWN0IG11bHRpcGFydCBoZWFkZXIgc2l6ZXMgKCMx
MjIwOCkgKCMxMjIyOCkKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNWZlOWRmYjY0NDAw
YTU3NGY1YmEzZjJkM2I0OWI3ZGI0NzU2N2MyOSkKKworUmV2aWV3ZWQtQnk6IERhbmllbCBMZWlk
ZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlv
LWxpYnMvYWlvaHR0cC9jb21taXQvOGE3NDI1N2IzODA0YzlhYWMwYmY2NDRhZjkzMDcwZjY4ZjZj
NWE2ZgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9jb21taXQv
OGNlMzAxMzRkMGIxODM5NDkwZDExNDVhZTVlMzQ3OTdhOTUzZDcwNiAocGFydHMpCitCdWc6IGh0
dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hT
QS1tNXFwLTZ3OHctdzY0NworQnVnLURlYmlhbi1TZWN1cml0eTogaHR0cHM6Ly9zZWN1cml0eS10
cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9DVkUtMjAyNi0zNDUxNgorQnVnLUZyZWV4aWFuLVNl
Y3VyaXR5OiBodHRwczovL2RlYi5mcmVleGlhbi5jb20vZXh0ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZF
LTIwMjYtMzQ1MTYKKy0tLQorIGFpb2h0dHAvbXVsdGlwYXJ0LnB5ICAgICAgfCAyOSArKysrKysr
KysrKysrKysrKysrKy0tLS0tLQorIGFpb2h0dHAvc3RyZWFtcy5weSAgICAgICAgfCAxNiArKysr
KysrKy0tLS0tLQorIGFpb2h0dHAvdGVzdF91dGlscy5weSAgICAgfCAgMyArKysKKyBhaW9odHRw
L3dlYl9wcm90b2NvbC5weSAgIHwgIDcgKysrKysrKworIGFpb2h0dHAvd2ViX3JlcXVlc3QucHkg
ICAgfCAgNyArKysrKystCisgdGVzdHMvdGVzdF9tdWx0aXBhcnQucHkgICB8ICA1ICsrKy0tCisg
dGVzdHMvdGVzdF9zdHJlYW1zLnB5ICAgICB8ICA5ICsrKystLS0tCisgdGVzdHMvdGVzdF93ZWJf
cmVxdWVzdC5weSB8IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKystCisgOCBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25z
KC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRwL211bHRpcGFydC5weSBiL2Fpb2h0dHAvbXVsdGlw
YXJ0LnB5CitpbmRleCBhY2VlOTk3Li4xZDUzMGU1IDEwMDY0NAorLS0tIGEvYWlvaHR0cC9tdWx0
aXBhcnQucHkKKysrKyBiL2Fpb2h0dHAvbXVsdGlwYXJ0LnB5CitAQCAtNDIsNiArNDIsNyBAQCBm
cm9tIC5oZHJzIGltcG9ydCAoCisgKQorIGZyb20gLmhlbHBlcnMgaW1wb3J0IENIQVIsIFRPS0VO
LCBwYXJzZV9taW1ldHlwZSwgcmVpZnkKKyBmcm9tIC5odHRwIGltcG9ydCBIZWFkZXJzUGFyc2Vy
CisrZnJvbSAuaHR0cF9leGNlcHRpb25zIGltcG9ydCBCYWRIdHRwTWVzc2FnZQorIGZyb20gLnBh
eWxvYWQgaW1wb3J0ICgKKyAgICAgSnNvblBheWxvYWQsCisgICAgIExvb2t1cEVycm9yLAorQEAg
LTYwMCw3ICs2MDEsMTQgQEAgY2xhc3MgTXVsdGlwYXJ0UmVhZGVyOgorICAgICAjOiBCb2R5IHBh
cnQgcmVhZGVyIGNsYXNzIGZvciBub24gbXVsdGlwYXJ0LyogY29udGVudCB0eXBlcy4KKyAgICAg
cGFydF9yZWFkZXJfY2xzID0gQm9keVBhcnRSZWFkZXIKKyAKKy0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIGhlYWRlcnM6IE1hcHBpbmdbc3RyLCBzdHJdLCBjb250ZW50OiBTdHJlYW1SZWFkZXIpIC0+
IE5vbmU6CisrICAgIGRlZiBfX2luaXRfXygKKysgICAgICAgIHNlbGYsCisrICAgICAgICBoZWFk
ZXJzOiBNYXBwaW5nW3N0ciwgc3RyXSwKKysgICAgICAgIGNvbnRlbnQ6IFN0cmVhbVJlYWRlciwK
KysgICAgICAgICosCisrICAgICAgICBtYXhfZmllbGRfc2l6ZTogaW50ID0gODE5MCwKKysgICAg
ICAgIG1heF9oZWFkZXJzOiBpbnQgPSAxMjgsCisrICAgICkgLT4gTm9uZToKKyAgICAgICAgIHNl
bGYuX21pbWV0eXBlID0gcGFyc2VfbWltZXR5cGUoaGVhZGVyc1tDT05URU5UX1RZUEVdKQorICAg
ICAgICAgYXNzZXJ0IHNlbGYuX21pbWV0eXBlLnR5cGUgPT0gIm11bHRpcGFydCIsICJtdWx0aXBh
cnQvKiBjb250ZW50IHR5cGUgZXhwZWN0ZWQiCisgICAgICAgICBpZiAiYm91bmRhcnkiIG5vdCBp
biBzZWxmLl9taW1ldHlwZS5wYXJhbWV0ZXJzOgorQEAgLTYxMSw4ICs2MTksMTAgQEAgY2xhc3Mg
TXVsdGlwYXJ0UmVhZGVyOgorICAgICAgICAgc2VsZi5oZWFkZXJzID0gaGVhZGVycworICAgICAg
ICAgc2VsZi5fYm91bmRhcnkgPSAoIi0tIiArIHNlbGYuX2dldF9ib3VuZGFyeSgpKS5lbmNvZGUo
KQorICAgICAgICAgc2VsZi5fY29udGVudCA9IGNvbnRlbnQKKy0gICAgICAgIHNlbGYuX2RlZmF1
bHRfY2hhcnNldDogT3B0aW9uYWxbc3RyXSA9IE5vbmUKKy0gICAgICAgIHNlbGYuX2xhc3RfcGFy
dDogT3B0aW9uYWxbVW5pb25bIk11bHRpcGFydFJlYWRlciIsIEJvZHlQYXJ0UmVhZGVyXV0gPSBO
b25lCisrICAgICAgICBzZWxmLl9kZWZhdWx0X2NoYXJzZXQ6IHN0ciB8IE5vbmUgPSBOb25lCisr
ICAgICAgICBzZWxmLl9sYXN0X3BhcnQ6IE11bHRpcGFydFJlYWRlciB8IEJvZHlQYXJ0UmVhZGVy
IHwgTm9uZSA9IE5vbmUKKysgICAgICAgIHNlbGYuX21heF9maWVsZF9zaXplID0gbWF4X2ZpZWxk
X3NpemUKKysgICAgICAgIHNlbGYuX21heF9oZWFkZXJzID0gbWF4X2hlYWRlcnMKKyAgICAgICAg
IHNlbGYuX2F0X2VvZiA9IEZhbHNlCisgICAgICAgICBzZWxmLl9hdF9ib2YgPSBUcnVlCisgICAg
ICAgICBzZWxmLl91bnJlYWQ6IExpc3RbYnl0ZXNdID0gW10KK0BAIC03MTIsNyArNzIyLDEyIEBA
IGNsYXNzIE11bHRpcGFydFJlYWRlcjoKKyAgICAgICAgIGlmIG1pbWV0eXBlLnR5cGUgPT0gIm11
bHRpcGFydCI6CisgICAgICAgICAgICAgaWYgc2VsZi5tdWx0aXBhcnRfcmVhZGVyX2NscyBpcyBO
b25lOgorICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZShzZWxmKShoZWFkZXJzLCBzZWxmLl9j
b250ZW50KQorLSAgICAgICAgICAgIHJldHVybiBzZWxmLm11bHRpcGFydF9yZWFkZXJfY2xzKGhl
YWRlcnMsIHNlbGYuX2NvbnRlbnQpCisrICAgICAgICAgICAgcmV0dXJuIHNlbGYubXVsdGlwYXJ0
X3JlYWRlcl9jbHMoCisrICAgICAgICAgICAgICAgIGhlYWRlcnMsCisrICAgICAgICAgICAgICAg
IHNlbGYuX2NvbnRlbnQsCisrICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXplPXNlbGYuX21h
eF9maWVsZF9zaXplLAorKyAgICAgICAgICAgICAgICBtYXhfaGVhZGVycz1zZWxmLl9tYXhfaGVh
ZGVycywKKysgICAgICAgICAgICApCisgICAgICAgICBlbHNlOgorICAgICAgICAgICAgIHJldHVy
biBzZWxmLnBhcnRfcmVhZGVyX2NscygKKyAgICAgICAgICAgICAgICAgc2VsZi5fYm91bmRhcnks
CitAQCAtNzc0LDEyICs3ODksMTQgQEAgY2xhc3MgTXVsdGlwYXJ0UmVhZGVyOgorICAgICBhc3lu
YyBkZWYgX3JlYWRfaGVhZGVycyhzZWxmKSAtPiAiQ0lNdWx0aURpY3RQcm94eVtzdHJdIjoKKyAg
ICAgICAgIGxpbmVzID0gW10KKyAgICAgICAgIHdoaWxlIFRydWU6CistICAgICAgICAgICAgY2h1
bmsgPSBhd2FpdCBzZWxmLl9jb250ZW50LnJlYWRsaW5lKCkKKysgICAgICAgICAgICBjaHVuayA9
IGF3YWl0IHNlbGYuX2NvbnRlbnQucmVhZGxpbmUobWF4X2xpbmVfbGVuZ3RoPXNlbGYuX21heF9m
aWVsZF9zaXplKQorICAgICAgICAgICAgIGNodW5rID0gY2h1bmsuc3RyaXAoKQorICAgICAgICAg
ICAgIGxpbmVzLmFwcGVuZChjaHVuaykKKyAgICAgICAgICAgICBpZiBub3QgY2h1bms6CisgICAg
ICAgICAgICAgICAgIGJyZWFrCistICAgICAgICBwYXJzZXIgPSBIZWFkZXJzUGFyc2VyKCkKKysg
ICAgICAgICAgICBpZiBsZW4obGluZXMpID4gc2VsZi5fbWF4X2hlYWRlcnM6CisrICAgICAgICAg
ICAgICAgIHJhaXNlIEJhZEh0dHBNZXNzYWdlKCJUb28gbWFueSBoZWFkZXJzIHJlY2VpdmVkIikK
KysgICAgICAgIHBhcnNlciA9IEhlYWRlcnNQYXJzZXIobWF4X2ZpZWxkX3NpemU9c2VsZi5fbWF4
X2ZpZWxkX3NpemUpCisgICAgICAgICBoZWFkZXJzLCByYXdfaGVhZGVycyA9IHBhcnNlci5wYXJz
ZV9oZWFkZXJzKGxpbmVzKQorICAgICAgICAgcmV0dXJuIGhlYWRlcnMKKyAKK2RpZmYgLS1naXQg
YS9haW9odHRwL3N0cmVhbXMucHkgYi9haW9odHRwL3N0cmVhbXMucHkKK2luZGV4IDkzMjk1MzQu
LmRmMWJkMWEgMTAwNjQ0CistLS0gYS9haW9odHRwL3N0cmVhbXMucHkKKysrKyBiL2Fpb2h0dHAv
c3RyZWFtcy5weQorQEAgLTIxLDYgKzIxLDcgQEAgZnJvbSAuaGVscGVycyBpbXBvcnQgKAorICAg
ICBzZXRfZXhjZXB0aW9uLAorICAgICBzZXRfcmVzdWx0LAorICkKKytmcm9tIC5odHRwX2V4Y2Vw
dGlvbnMgaW1wb3J0IExpbmVUb29Mb25nCisgZnJvbSAubG9nIGltcG9ydCBpbnRlcm5hbF9sb2dn
ZXIKKyAKKyBfX2FsbF9fID0gKAorQEAgLTM2NCwxMCArMzY1LDEyIEBAIGNsYXNzIFN0cmVhbVJl
YWRlcihBc3luY1N0cmVhbVJlYWRlck1peGluKToKKyAgICAgICAgIGZpbmFsbHk6CisgICAgICAg
ICAgICAgc2VsZi5fd2FpdGVyID0gTm9uZQorIAorLSAgICBhc3luYyBkZWYgcmVhZGxpbmUoc2Vs
ZikgLT4gYnl0ZXM6CistICAgICAgICByZXR1cm4gYXdhaXQgc2VsZi5yZWFkdW50aWwoKQorKyAg
ICBhc3luYyBkZWYgcmVhZGxpbmUoc2VsZiwgKiwgbWF4X2xpbmVfbGVuZ3RoOiBPcHRpb25hbFtp
bnRdID0gTm9uZSkgLT4gYnl0ZXM6CisrICAgICAgICByZXR1cm4gYXdhaXQgc2VsZi5yZWFkdW50
aWwobWF4X3NpemU9bWF4X2xpbmVfbGVuZ3RoKQorIAorLSAgICBhc3luYyBkZWYgcmVhZHVudGls
KHNlbGYsIHNlcGFyYXRvcjogYnl0ZXMgPSBiIlxuIikgLT4gYnl0ZXM6CisrICAgIGFzeW5jIGRl
ZiByZWFkdW50aWwoCisrICAgICAgICBzZWxmLCBzZXBhcmF0b3I6IGJ5dGVzID0gYiJcbiIsICos
IG1heF9zaXplOiBPcHRpb25hbFtpbnRdID0gTm9uZQorKyAgICApIC0+IGJ5dGVzOgorICAgICAg
ICAgc2VwbGVuID0gbGVuKHNlcGFyYXRvcikKKyAgICAgICAgIGlmIHNlcGxlbiA9PSAwOgorICAg
ICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlNlcGFyYXRvciBzaG91bGQgYmUgYXQgbGVhc3Qg
b25lLWJ5dGUgc3RyaW5nIikKK0BAIC0zNzgsNiArMzgxLDcgQEAgY2xhc3MgU3RyZWFtUmVhZGVy
KEFzeW5jU3RyZWFtUmVhZGVyTWl4aW4pOgorICAgICAgICAgY2h1bmsgPSBiIiIKKyAgICAgICAg
IGNodW5rX3NpemUgPSAwCisgICAgICAgICBub3RfZW5vdWdoID0gVHJ1ZQorKyAgICAgICAgbWF4
X3NpemUgPSBtYXhfc2l6ZSBvciBzZWxmLl9oaWdoX3dhdGVyCisgCisgICAgICAgICB3aGlsZSBu
b3RfZW5vdWdoOgorICAgICAgICAgICAgIHdoaWxlIHNlbGYuX2J1ZmZlciBhbmQgbm90X2Vub3Vn
aDoKK0BAIC0zOTIsOCArMzk2LDggQEAgY2xhc3MgU3RyZWFtUmVhZGVyKEFzeW5jU3RyZWFtUmVh
ZGVyTWl4aW4pOgorICAgICAgICAgICAgICAgICBpZiBpY2hhcjoKKyAgICAgICAgICAgICAgICAg
ICAgIG5vdF9lbm91Z2ggPSBGYWxzZQorIAorLSAgICAgICAgICAgICAgICBpZiBjaHVua19zaXpl
ID4gc2VsZi5faGlnaF93YXRlcjoKKy0gICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJy
b3IoIkNodW5rIHRvbyBiaWciKQorKyAgICAgICAgICAgICAgICBpZiBjaHVua19zaXplID4gbWF4
X3NpemU6CisrICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW5lVG9vTG9uZyhjaHVua1s6MTAw
XSArIGIiLi4uIiwgbWF4X3NpemUpCisgCisgICAgICAgICAgICAgaWYgc2VsZi5fZW9mOgorICAg
ICAgICAgICAgICAgICBicmVhaworQEAgLTYxNCw3ICs2MTgsNyBAQCBjbGFzcyBFbXB0eVN0cmVh
bVJlYWRlcihTdHJlYW1SZWFkZXIpOiAgIyBsZ3RtIFtweS9taXNzaW5nLWNhbGwtdG8taW5pdF0K
KyAgICAgZGVmIGZlZWRfZGF0YShzZWxmLCBkYXRhOiBieXRlcywgbjogaW50ID0gMCkgLT4gTm9u
ZToKKyAgICAgICAgIHBhc3MKKyAKKy0gICAgYXN5bmMgZGVmIHJlYWRsaW5lKHNlbGYpIC0+IGJ5
dGVzOgorKyAgICBhc3luYyBkZWYgcmVhZGxpbmUoc2VsZiwgKiwgbWF4X2xpbmVfbGVuZ3RoOiBP
cHRpb25hbFtpbnRdID0gTm9uZSkgLT4gYnl0ZXM6CisgICAgICAgICByZXR1cm4gYiIiCisgCisg
ICAgIGFzeW5jIGRlZiByZWFkKHNlbGYsIG46IGludCA9IC0xKSAtPiBieXRlczoKK2RpZmYgLS1n
aXQgYS9haW9odHRwL3Rlc3RfdXRpbHMucHkgYi9haW9odHRwL3Rlc3RfdXRpbHMucHkKK2luZGV4
IGJlNmU5YjMuLmM0NThkNjIgMTAwNjQ0CistLS0gYS9haW9odHRwL3Rlc3RfdXRpbHMucHkKKysr
KyBiL2Fpb2h0dHAvdGVzdF91dGlscy5weQorQEAgLTcyOSw2ICs3MjksOSBAQCBkZWYgbWFrZV9t
b2NrZWRfcmVxdWVzdCgKKyAKKyAgICAgaWYgcHJvdG9jb2wgaXMgc2VudGluZWw6CisgICAgICAg
ICBwcm90b2NvbCA9IG1vY2suTW9jaygpCisrICAgICAgICBwcm90b2NvbC5tYXhfZmllbGRfc2l6
ZSA9IDgxOTAKKysgICAgICAgIHByb3RvY29sLm1heF9saW5lX2xlbmd0aCA9IDgxOTAKKysgICAg
ICAgIHByb3RvY29sLm1heF9oZWFkZXJzID0gMTI4CisgICAgICAgICBwcm90b2NvbC50cmFuc3Bv
cnQgPSB0cmFuc3BvcnQKKyAKKyAgICAgaWYgd3JpdGVyIGlzIHNlbnRpbmVsOgorZGlmZiAtLWdp
dCBhL2Fpb2h0dHAvd2ViX3Byb3RvY29sLnB5IGIvYWlvaHR0cC93ZWJfcHJvdG9jb2wucHkKK2lu
ZGV4IDQ3ZWRkODIuLjdlZWJlYjIgMTAwNjQ0CistLS0gYS9haW9odHRwL3dlYl9wcm90b2NvbC5w
eQorKysrIGIvYWlvaHR0cC93ZWJfcHJvdG9jb2wucHkKK0BAIC0xMzksNiArMTM5LDkgQEAgY2xh
c3MgUmVxdWVzdEhhbmRsZXIoQmFzZVByb3RvY29sKToKKyAgICAgIiIiCisgCisgICAgIF9fc2xv
dHNfXyA9ICgKKysgICAgICAgICJtYXhfZmllbGRfc2l6ZSIsCisrICAgICAgICAibWF4X2hlYWRl
cnMiLAorKyAgICAgICAgIm1heF9saW5lX3NpemUiLAorICAgICAgICAgIl9yZXF1ZXN0X2NvdW50
IiwKKyAgICAgICAgICJfa2VlcGFsaXZlIiwKKyAgICAgICAgICJfbWFuYWdlciIsCitAQCAtMjAw
LDYgKzIwMywxMCBAQCBjbGFzcyBSZXF1ZXN0SGFuZGxlcihCYXNlUHJvdG9jb2wpOgorICAgICAg
ICAgc2VsZi5fcmVxdWVzdF9oYW5kbGVyOiBPcHRpb25hbFtfUmVxdWVzdEhhbmRsZXJdID0gbWFu
YWdlci5yZXF1ZXN0X2hhbmRsZXIKKyAgICAgICAgIHNlbGYuX3JlcXVlc3RfZmFjdG9yeTogT3B0
aW9uYWxbX1JlcXVlc3RGYWN0b3J5XSA9IG1hbmFnZXIucmVxdWVzdF9mYWN0b3J5CisgCisrICAg
ICAgICBzZWxmLm1heF9saW5lX3NpemUgPSBtYXhfbGluZV9zaXplCisrICAgICAgICBzZWxmLm1h
eF9oZWFkZXJzID0gbWF4X2hlYWRlcnMKKysgICAgICAgIHNlbGYubWF4X2ZpZWxkX3NpemUgPSBt
YXhfZmllbGRfc2l6ZQorKworICAgICAgICAgc2VsZi5fdGNwX2tlZXBhbGl2ZSA9IHRjcF9rZWVw
YWxpdmUKKyAgICAgICAgICMgcGxhY2Vob2xkZXIgdG8gYmUgcmVwbGFjZWQgb24ga2VlcGFsaXZl
IHRpbWVvdXQgc2V0dXAKKyAgICAgICAgIHNlbGYuX25leHRfa2VlcGFsaXZlX2Nsb3NlX3RpbWUg
PSAwLjAKK2RpZmYgLS1naXQgYS9haW9odHRwL3dlYl9yZXF1ZXN0LnB5IGIvYWlvaHR0cC93ZWJf
cmVxdWVzdC5weQoraW5kZXggZjc5M2I1OC4uYjVmMTM1MiAxMDA2NDQKKy0tLSBhL2Fpb2h0dHAv
d2ViX3JlcXVlc3QucHkKKysrKyBiL2Fpb2h0dHAvd2ViX3JlcXVlc3QucHkKK0BAIC02OTYsNyAr
Njk2LDEyIEBAIGNsYXNzIEJhc2VSZXF1ZXN0KE11dGFibGVNYXBwaW5nW3N0ciwgQW55XSwgSGVh
ZGVyc01peGluKToKKyAKKyAgICAgYXN5bmMgZGVmIG11bHRpcGFydChzZWxmKSAtPiBNdWx0aXBh
cnRSZWFkZXI6CisgICAgICAgICAiIiJSZXR1cm4gYXN5bmMgaXRlcmF0b3IgdG8gcHJvY2VzcyBC
T0RZIGFzIG11bHRpcGFydC4iIiIKKy0gICAgICAgIHJldHVybiBNdWx0aXBhcnRSZWFkZXIoc2Vs
Zi5faGVhZGVycywgc2VsZi5fcGF5bG9hZCkKKysgICAgICAgIHJldHVybiBNdWx0aXBhcnRSZWFk
ZXIoCisrICAgICAgICAgICAgc2VsZi5faGVhZGVycywKKysgICAgICAgICAgICBzZWxmLl9wYXls
b2FkLAorKyAgICAgICAgICAgIG1heF9maWVsZF9zaXplPXNlbGYuX3Byb3RvY29sLm1heF9maWVs
ZF9zaXplLAorKyAgICAgICAgICAgIG1heF9oZWFkZXJzPXNlbGYuX3Byb3RvY29sLm1heF9oZWFk
ZXJzLAorKyAgICAgICAgKQorIAorICAgICBhc3luYyBkZWYgcG9zdChzZWxmKSAtPiAiTXVsdGlE
aWN0UHJveHlbVW5pb25bc3RyLCBieXRlcywgRmlsZUZpZWxkXV0iOgorICAgICAgICAgIiIiUmV0
dXJuIFBPU1QgcGFyYW1ldGVycy4iIiIKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X211bHRpcGFy
dC5weSBiL3Rlc3RzL3Rlc3RfbXVsdGlwYXJ0LnB5CitpbmRleCA1OGY3YjQ5Li5lNzk4ODg3IDEw
MDY0NAorLS0tIGEvdGVzdHMvdGVzdF9tdWx0aXBhcnQucHkKKysrKyBiL3Rlc3RzL3Rlc3RfbXVs
dGlwYXJ0LnB5CitAQCAtNCw2ICs0LDcgQEAgaW1wb3J0IGpzb24KKyBpbXBvcnQgcGF0aGxpYgor
IGltcG9ydCBzeXMKKyBpbXBvcnQgemxpYgorK2Zyb20gdHlwaW5nIGltcG9ydCBPcHRpb25hbAor
IGZyb20gdW5pdHRlc3QgaW1wb3J0IG1vY2sKKyAKKyBpbXBvcnQgcHl0ZXN0CitAQCAtNjYsNyAr
NjcsNyBAQCBjbGFzcyBTdHJlYW06CisgICAgIGRlZiBhdF9lb2Yoc2VsZik6CisgICAgICAgICBy
ZXR1cm4gc2VsZi5jb250ZW50LnRlbGwoKSA9PSBsZW4oc2VsZi5jb250ZW50LmdldGJ1ZmZlcigp
KQorIAorLSAgICBhc3luYyBkZWYgcmVhZGxpbmUoc2VsZik6CisrICAgIGFzeW5jIGRlZiByZWFk
bGluZShzZWxmLCAqLCBtYXhfbGluZV9sZW5ndGg6IE9wdGlvbmFsW2ludF0gPSBOb25lKSAtPiBi
eXRlczoKKyAgICAgICAgIHJldHVybiBzZWxmLmNvbnRlbnQucmVhZGxpbmUoKQorIAorICAgICBk
ZWYgdW5yZWFkX2RhdGEoc2VsZiwgZGF0YSk6CitAQCAtODAwLDcgKzgwMSw3IEBAIGNsYXNzIFRl
c3RNdWx0aXBhcnRSZWFkZXI6CisgICAgICAgICAgICAgZGVmIGF0X2VvZihzZWxmKSAtPiBib29s
OgorICAgICAgICAgICAgICAgICByZXR1cm4gbm90IHNlbGYuY29udGVudAorIAorLSAgICAgICAg
ICAgIGFzeW5jIGRlZiByZWFkbGluZShzZWxmKSAtPiBieXRlczoKKysgICAgICAgICAgICBhc3lu
YyBkZWYgcmVhZGxpbmUoc2VsZiwgKiwgbWF4X2xpbmVfbGVuZ3RoOiBpbnQgfCBOb25lID0gTm9u
ZSkgLT4gYnl0ZXM6CisgICAgICAgICAgICAgICAgIGxpbmUgPSBiIiIKKyAgICAgICAgICAgICAg
ICAgd2hpbGUgc2VsZi5jb250ZW50IGFuZCBiIlxuIiBub3QgaW4gbGluZToKKyAgICAgICAgICAg
ICAgICAgICAgIGxpbmUgKz0gc2VsZi5jb250ZW50LnBvcCgwKQorZGlmZiAtLWdpdCBhL3Rlc3Rz
L3Rlc3Rfc3RyZWFtcy5weSBiL3Rlc3RzL3Rlc3Rfc3RyZWFtcy5weQoraW5kZXggYzViYzY3MS4u
OTM2ODY3NCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3Rfc3RyZWFtcy5weQorKysrIGIvdGVzdHMv
dGVzdF9zdHJlYW1zLnB5CitAQCAtMTIsNiArMTIsNyBAQCBpbXBvcnQgcHl0ZXN0CisgZnJvbSBy
ZV9hc3NlcnQgaW1wb3J0IE1hdGNoZXMKKyAKKyBmcm9tIGFpb2h0dHAgaW1wb3J0IHN0cmVhbXMK
Kytmcm9tIGFpb2h0dHAuaHR0cF9leGNlcHRpb25zIGltcG9ydCBMaW5lVG9vTG9uZworIAorIERB
VEEgPSBiImxpbmUxXG5saW5lMlxubGluZTNcbiIKKyAKK0BAIC0zMjUsNyArMzI2LDcgQEAgY2xh
c3MgVGVzdFN0cmVhbVJlYWRlcjoKKyAgICAgICAgIHN0cmVhbS5mZWVkX2RhdGEoYiJsaSIpCisg
ICAgICAgICBzdHJlYW0uZmVlZF9kYXRhKGIibmUxXG5saW5lMlxuIikKKyAKKy0gICAgICAgIHdp
dGggcHl0ZXN0LnJhaXNlcyhWYWx1ZUVycm9yKToKKysgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNl
cyhMaW5lVG9vTG9uZyk6CisgICAgICAgICAgICAgYXdhaXQgc3RyZWFtLnJlYWRsaW5lKCkKKyAg
ICAgICAgICMgVGhlIGJ1ZmZlciBzaG91bGQgY29udGFpbiB0aGUgcmVtYWluaW5nIGRhdGEgYWZ0
ZXIgZXhjZXB0aW9uCisgICAgICAgICBzdHJlYW0uZmVlZF9lb2YoKQorQEAgLTM0Niw3ICszNDcs
NyBAQCBjbGFzcyBUZXN0U3RyZWFtUmVhZGVyOgorIAorICAgICAgICAgbG9vcC5jYWxsX3Nvb24o
Y2IpCisgCistICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvcik6CisrICAgICAg
ICB3aXRoIHB5dGVzdC5yYWlzZXMoTGluZVRvb0xvbmcpOgorICAgICAgICAgICAgIGF3YWl0IHN0
cmVhbS5yZWFkbGluZSgpCisgICAgICAgICBkYXRhID0gYXdhaXQgc3RyZWFtLnJlYWQoKQorICAg
ICAgICAgYXNzZXJ0IGIiY2h1bmszXG4iID09IGRhdGEKK0BAIC00MzYsNyArNDM3LDcgQEAgY2xh
c3MgVGVzdFN0cmVhbVJlYWRlcjoKKyAgICAgICAgIHN0cmVhbS5mZWVkX2RhdGEoYiJsaSIpCisg
ICAgICAgICBzdHJlYW0uZmVlZF9kYXRhKGIibmUxIiArIHNlcGFyYXRvciArIGIibGluZTIiICsg
c2VwYXJhdG9yKQorIAorLSAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKFZhbHVlRXJyb3IpOgor
KyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKExpbmVUb29Mb25nKToKKyAgICAgICAgICAgICBh
d2FpdCBzdHJlYW0ucmVhZHVudGlsKHNlcGFyYXRvcikKKyAgICAgICAgICMgVGhlIGJ1ZmZlciBz
aG91bGQgY29udGFpbiB0aGUgcmVtYWluaW5nIGRhdGEgYWZ0ZXIgZXhjZXB0aW9uCisgICAgICAg
ICBzdHJlYW0uZmVlZF9lb2YoKQorQEAgLTQ1OCw3ICs0NTksNyBAQCBjbGFzcyBUZXN0U3RyZWFt
UmVhZGVyOgorIAorICAgICAgICAgbG9vcC5jYWxsX3Nvb24oY2IpCisgCistICAgICAgICB3aXRo
IHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvciwgbWF0Y2g9IkNodW5rIHRvbyBiaWciKToKKysgICAg
ICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhMaW5lVG9vTG9uZyk6CisgICAgICAgICAgICAgYXdhaXQg
c3RyZWFtLnJlYWR1bnRpbChzZXBhcmF0b3IpCisgICAgICAgICBkYXRhID0gYXdhaXQgc3RyZWFt
LnJlYWQoKQorICAgICAgICAgYXNzZXJ0IGIiY2h1bmszIyIgPT0gZGF0YQorZGlmZiAtLWdpdCBh
L3Rlc3RzL3Rlc3Rfd2ViX3JlcXVlc3QucHkgYi90ZXN0cy90ZXN0X3dlYl9yZXF1ZXN0LnB5Citp
bmRleCA1ZWU3YTJhLi40Y2IzZTUyIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF93ZWJfcmVxdWVz
dC5weQorKysrIGIvdGVzdHMvdGVzdF93ZWJfcmVxdWVzdC5weQorQEAgLTExLDYgKzExLDcgQEAg
ZnJvbSB5YXJsIGltcG9ydCBVUkwKKyAKKyBmcm9tIGFpb2h0dHAgaW1wb3J0IEh0dHBWZXJzaW9u
CisgZnJvbSBhaW9odHRwLmJhc2VfcHJvdG9jb2wgaW1wb3J0IEJhc2VQcm90b2NvbAorK2Zyb20g
YWlvaHR0cC5odHRwX2V4Y2VwdGlvbnMgaW1wb3J0IEJhZEh0dHBNZXNzYWdlLCBMaW5lVG9vTG9u
ZworIGZyb20gYWlvaHR0cC5odHRwX3BhcnNlciBpbXBvcnQgUmF3UmVxdWVzdE1lc3NhZ2UKKyBm
cm9tIGFpb2h0dHAuc3RyZWFtcyBpbXBvcnQgU3RyZWFtUmVhZGVyCisgZnJvbSBhaW9odHRwLnRl
c3RfdXRpbHMgaW1wb3J0IG1ha2VfbW9ja2VkX3JlcXVlc3QKK0BAIC03MDIsNyArNzAzLDU3IEBA
IGFzeW5jIGRlZiB0ZXN0X211bHRpcGFydF9mb3JtZGF0YV9maWxlKHByb3RvY29sOiBCYXNlUHJv
dG9jb2wpIC0+IE5vbmU6CisgICAgIHJlc3VsdFsiYV9maWxlIl0uZmlsZS5jbG9zZSgpCisgCisg
CistYXN5bmMgZGVmIHRlc3RfbWFrZV90b29fYmlnX3JlcXVlc3RfbGltaXRfTm9uZShwcm90b2Nv
bCkgLT4gTm9uZToKKythc3luYyBkZWYgdGVzdF9tdWx0aXBhcnRfZm9ybWRhdGFfaGVhZGVyc190
b29fbWFueShwcm90b2NvbDogQmFzZVByb3RvY29sKSAtPiBOb25lOgorKyAgICBtYW55ID0gYiIi
LmpvaW4oZiJYLXtpfTogYVxyXG4iLmVuY29kZSgpIGZvciBpIGluIHJhbmdlKDEzMCkpCisrICAg
IGJvZHkgPSAoCisrICAgICAgICBiIi0tYlxyXG4iCisrICAgICAgICBiJ0NvbnRlbnQtRGlzcG9z
aXRpb246IGZvcm0tZGF0YTsgbmFtZT0iYSJcclxuJyArIG1hbnkgKyBiIlxyXG4xXHJcbiIKKysg
ICAgICAgIGIiLS1iLS1cclxuIgorKyAgICApCisrICAgIGNvbnRlbnRfdHlwZSA9ICJtdWx0aXBh
cnQvZm9ybS1kYXRhOyBib3VuZGFyeT1iIgorKyAgICBwYXlsb2FkID0gU3RyZWFtUmVhZGVyKHBy
b3RvY29sLCAyKioxNiwgbG9vcD1hc3luY2lvLmdldF9ydW5uaW5nX2xvb3AoKSkKKysgICAgcGF5
bG9hZC5mZWVkX2RhdGEoYm9keSkKKysgICAgcGF5bG9hZC5mZWVkX2VvZigpCisrICAgIHJlcSA9
IG1ha2VfbW9ja2VkX3JlcXVlc3QoCisrICAgICAgICAiUE9TVCIsCisrICAgICAgICAiLyIsCisr
ICAgICAgICBoZWFkZXJzPXsiQ09OVEVOVC1UWVBFIjogY29udGVudF90eXBlfSwKKysgICAgICAg
IHBheWxvYWQ9cGF5bG9hZCwKKysgICAgKQorKworKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoQmFk
SHR0cE1lc3NhZ2UsIG1hdGNoPSJUb28gbWFueSBoZWFkZXJzIHJlY2VpdmVkIik6CisrICAgICAg
ICBhd2FpdCByZXEucG9zdCgpCisrCisrCisrYXN5bmMgZGVmIHRlc3RfbXVsdGlwYXJ0X2Zvcm1k
YXRhX2hlYWRlcl90b29fbG9uZyhwcm90b2NvbDogQmFzZVByb3RvY29sKSAtPiBOb25lOgorKyAg
ICBrID0gYiJ0IiAqIDQxMDAKKysgICAgYm9keSA9ICgKKysgICAgICAgIGIiLS1iXHJcbiIKKysg
ICAgICAgIGInQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJhIlxyXG4nCisr
ICAgICAgICArIGsKKysgICAgICAgICsgYiI6IgorKyAgICAgICAgKyBrCisrICAgICAgICArIGIi
XHJcbiIKKysgICAgICAgICsgYiJcclxuMVxyXG4iCisrICAgICAgICBiIi0tYi0tXHJcbiIKKysg
ICAgKQorKyAgICBjb250ZW50X3R5cGUgPSAibXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9
YiIKKysgICAgcGF5bG9hZCA9IFN0cmVhbVJlYWRlcihwcm90b2NvbCwgMioqMTYsIGxvb3A9YXN5
bmNpby5nZXRfcnVubmluZ19sb29wKCkpCisrICAgIHBheWxvYWQuZmVlZF9kYXRhKGJvZHkpCisr
ICAgIHBheWxvYWQuZmVlZF9lb2YoKQorKyAgICByZXEgPSBtYWtlX21vY2tlZF9yZXF1ZXN0KAor
KyAgICAgICAgIlBPU1QiLAorKyAgICAgICAgIi8iLAorKyAgICAgICAgaGVhZGVycz17IkNPTlRF
TlQtVFlQRSI6IGNvbnRlbnRfdHlwZX0sCisrICAgICAgICBwYXlsb2FkPXBheWxvYWQsCisrICAg
ICkKKysKKysgICAgbWF0Y2ggPSAiNDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0aGFuIDgxOTAg
Ynl0ZXMgd2hlbiByZWFkaW5nIgorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoTGluZVRvb0xvbmcs
IG1hdGNoPW1hdGNoKToKKysgICAgICAgIGF3YWl0IHJlcS5wb3N0KCkKKysKKysKKythc3luYyBk
ZWYgdGVzdF9tYWtlX3Rvb19iaWdfcmVxdWVzdF9saW1pdF9Ob25lKHByb3RvY29sOiBCYXNlUHJv
dG9jb2wpIC0+IE5vbmU6CisgICAgIHBheWxvYWQgPSBTdHJlYW1SZWFkZXIocHJvdG9jb2wsIDIq
KjE2LCBsb29wPWFzeW5jaW8uZ2V0X2V2ZW50X2xvb3AoKSkKKyAgICAgbGFyZ2VfZmlsZSA9IDEw
MjQqKjIgKiBiIngiCisgICAgIHRvb19sYXJnZV9maWxlID0gbGFyZ2VfZmlsZSArIGIieCIKZGlm
ZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1
MTcucGF0Y2ggcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0z
NDUxNy5wYXRjaAotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUt
MjAyNi0zNDUxNy5wYXRjaAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysg
cHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxNy5wYXRj
aAkyMDI2LTA3LTMxIDAzOjUwOjMyLjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsxLDU0IEBACitG
cm9tOiAicGF0Y2hiYWNrW2JvdF0iIDw0NTQzMjY5NCtwYXRjaGJhY2tbYm90XUB1c2Vycy5ub3Jl
cGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUdWUsIDEwIE1hciAyMDI2IDIyOjE0OjAyICswMDAwCitT
dWJqZWN0OiBDaGVjayBtdWx0aXBhcnQgbWF4X3NpemUgZHVyaW5nIGl0ZXJhdGlvbiAoIzEyMjI5
KQorCisqKlRoaXMgaXMgYSBiYWNrcG9ydCBvZiBQUiAjMTIyMTYgYXMgbWVyZ2VkIGludG8gbWFz
dGVyCisoOWNjNGI5MTdjNTQ4MzNhMjJmNjVlZGFlNzk2M2QxNmE2ZWViMWY1NCkuKioKKworLS0t
LS0tLS0tCisKK0NvLWF1dGhvcmVkLWJ5OiBTYW0gQnVsbCA8Z2l0QHNhbWJ1bGwub3JnPgorCitS
ZXZpZXdlZC1CeTogRGFuaWVsIExlaWRlcnQgPGRsZWlkZXJ0QGRlYmlhbi5vcmc+CitPcmlnaW46
IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL2NvbW1pdC9jYmI3NzRmMzgzMzA1
NjM0MjJjYTBjNDEzYTcxMDIxZDdiOTQ0MTQ1CitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8t
bGlicy9haW9odHRwL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS0zd3E3LXJxcTctd3g2agorQnVn
LURlYmlhbi1TZWN1cml0eTogaHR0cHM6Ly9zZWN1cml0eS10cmFja2VyLmRlYmlhbi5vcmcvdHJh
Y2tlci9DVkUtMjAyNi0zNDUxNworQnVnLUZyZWV4aWFuLVNlY3VyaXR5OiBodHRwczovL2RlYi5m
cmVleGlhbi5jb20vZXh0ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZFLTIwMjYtMzQ1MTcKKy0tLQorIGFp
b2h0dHAvd2ViX3JlcXVlc3QucHkgfCAxOCArKysrKysrKysrKystLS0tLS0KKyAxIGZpbGUgY2hh
bmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Fp
b2h0dHAvd2ViX3JlcXVlc3QucHkgYi9haW9odHRwL3dlYl9yZXF1ZXN0LnB5CitpbmRleCBiNWYx
MzUyLi40NjFiNzFkIDEwMDY0NAorLS0tIGEvYWlvaHR0cC93ZWJfcmVxdWVzdC5weQorKysrIGIv
YWlvaHR0cC93ZWJfcmVxdWVzdC5weQorQEAgLTc2OCwxNyArNzY4LDIzIEBAIGNsYXNzIEJhc2VS
ZXF1ZXN0KE11dGFibGVNYXBwaW5nW3N0ciwgQW55XSwgSGVhZGVyc01peGluKToKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBvdXQuYWRkKGZpZWxkLm5hbWUsIGZmKQorICAgICAgICAgICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAjIGRlYWwgd2l0aCBvcmRpbmFy
eSBkYXRhCistICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBhd2FpdCBmaWVsZC5yZWFk
KGRlY29kZT1UcnVlKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHJhd19kYXRhID0gYnl0ZWFy
cmF5KCkKKysgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBjaHVuayA6PSBhd2FpdCBmaWVs
ZC5yZWFkX2NodW5rKCk6CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgKz0gbGVu
KGNodW5rKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAwIDwgbWF4X3NpemUgPCBz
aXplOgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgSFRUUFJlcXVlc3RF
bnRpdHlUb29MYXJnZSgKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhf
c2l6ZT1tYXhfc2l6ZSwgYWN0dWFsX3NpemU9c2l6ZQorKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdfZGF0YS5leHRlbmQo
Y2h1bmspCisrCisrICAgICAgICAgICAgICAgICAgICAgICAgIyBmb3JtLWRhdGEgZG9lc24ndCBz
dXBwb3J0IGNvbXByZXNzaW9uLCBzbyBkb24ndCBuZWVkIHRvIGNoZWNrIHNpemUgYWdhaW4uCisr
ICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBhd2FpdCBmaWVsZC5kZWNvZGUoYnl0ZXMo
cmF3X2RhdGEpKQorKworICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGZpZWxkX2N0IGlzIE5v
bmUgb3IgZmllbGRfY3Quc3RhcnRzd2l0aCgidGV4dC8iKToKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY2hhcnNldCA9IGZpZWxkLmdldF9jaGFyc2V0KGRlZmF1bHQ9InV0Zi04IikKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0LmFkZChmaWVsZC5uYW1lLCB2YWx1ZS5kZWNv
ZGUoY2hhcnNldCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3V0LmFkZChmaWVsZC5uYW1lLCB2YWx1ZSkKKy0gICAgICAgICAg
ICAgICAgICAgICAgICBzaXplICs9IGxlbih2YWx1ZSkKKy0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAwIDwgbWF4X3NpemUgPCBzaXplOgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
YWlzZSBIVFRQUmVxdWVzdEVudGl0eVRvb0xhcmdlKAorLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbWF4X3NpemU9bWF4X3NpemUsIGFjdHVhbF9zaXplPXNpemUKKy0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAg
ICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAiVG8g
ZGVjb2RlIG5lc3RlZCBtdWx0aXBhcnQgeW91IG5lZWQgdG8gdXNlIGN1c3RvbSByZWFkZXIiLApk
aWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0z
NDUxOC5wYXRjaCBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2
LTM0NTE4LnBhdGNoCi0tLSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NW
RS0yMDI2LTM0NTE4LnBhdGNoCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisr
KyBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTM0NTE4LnBh
dGNoCTIwMjYtMDctMzEgMDM6NTA6MzIuMDAwMDAwMDAwICswMjAwCkBAIC0wLDAgKzEsNjAgQEAK
K0Zyb206IFNhbSBCdWxsIDxnaXRAc2FtYnVsbC5vcmc+CitEYXRlOiBGcmksIDI3IEZlYiAyMDI2
IDAxOjMxOjA3ICswMDAwCitTdWJqZWN0OiBEcm9wIGFkZGl0aW9uYWwgaGVhZGVycyBvbiByZWRp
cmVjdCAoIzEyMTQ2KSAoIzEyMTUwKQorCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA2ZThm
MzkzMzMwZjliZDZkN2IyNGExNDYxMjRlYmM0MmVhYTcyN2I5KQorCitSZXZpZXdlZC1CeTogRGFu
aWVsIExlaWRlcnQgPGRsZWlkZXJ0QGRlYmlhbi5vcmc+CitPcmlnaW46IGh0dHBzOi8vZ2l0aHVi
LmNvbS9haW8tbGlicy9haW9odHRwL2NvbW1pdC81MzUxYzk4MGRjZWM3YWQzODU3MzBlZmRmNGUx
ZjQzMzhiMjRmZGI2CitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL3Nl
Y3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS05NjZqLXZtdnctZzJnOQorQnVnLURlYmlhbi1TZWN1cml0
eTogaHR0cHM6Ly9zZWN1cml0eS10cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9DVkUtMjAyNi0z
NDUxOAorQnVnLUZyZWV4aWFuLVNlY3VyaXR5OiBodHRwczovL2RlYi5mcmVleGlhbi5jb20vZXh0
ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZFLTIwMjYtMzQ1MTgKKy0tLQorIGFpb2h0dHAvY2xpZW50LnB5
ICAgICAgICAgICAgICAgfCAyICsrCisgdGVzdHMvdGVzdF9jbGllbnRfZnVuY3Rpb25hbC5weSB8
IDkgKysrKysrKystCisgMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0
aW9uKC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRwL2NsaWVudC5weSBiL2Fpb2h0dHAvY2xpZW50
LnB5CitpbmRleCBlMzdjZDJlLi44ZGFmMzJjIDEwMDY0NAorLS0tIGEvYWlvaHR0cC9jbGllbnQu
cHkKKysrKyBiL2Fpb2h0dHAvY2xpZW50LnB5CitAQCAtODIzLDYgKzgyMyw4IEBAIGNsYXNzIENs
aWVudFNlc3Npb246CisgICAgICAgICAgICAgICAgICAgICAgICAgaWYgdXJsLm9yaWdpbigpICE9
IHJlZGlyZWN0X29yaWdpbjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aCA9IE5v
bmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycy5wb3AoaGRycy5BVVRIT1JJ
WkFUSU9OLCBOb25lKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzLnBvcCho
ZHJzLkNPT0tJRSwgTm9uZSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycy5w
b3AoaGRycy5QUk9YWV9BVVRIT1JJWkFUSU9OLCBOb25lKQorIAorICAgICAgICAgICAgICAgICAg
ICAgICAgIHVybCA9IHBhcnNlZF9yZWRpcmVjdF91cmwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBwYXJhbXMgPSB7fQorZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0aW9uYWwu
cHkgYi90ZXN0cy90ZXN0X2NsaWVudF9mdW5jdGlvbmFsLnB5CitpbmRleCA0MmQwZDI5Li41NzUz
ZTE5IDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF9jbGllbnRfZnVuY3Rpb25hbC5weQorKysrIGIv
dGVzdHMvdGVzdF9jbGllbnRfZnVuY3Rpb25hbC5weQorQEAgLTMxNDgsNiArMzE0OCw4IEBAIGFz
eW5jIGRlZiB0ZXN0X2Ryb3BfYXV0aF9vbl9yZWRpcmVjdF90b19vdGhlcl9ob3N0KAorICAgICBh
c3luYyBkZWYgc3J2X3RvKHJlcXVlc3QpOgorICAgICAgICAgYXNzZXJ0IHJlcXVlc3QuaG9zdCA9
PSB1cmxfdG8uaG9zdAorICAgICAgICAgYXNzZXJ0ICJBdXRob3JpemF0aW9uIiBub3QgaW4gcmVx
dWVzdC5oZWFkZXJzLCAiSGVhZGVyIHdhc24ndCBkcm9wcGVkIgorKyAgICAgICAgYXNzZXJ0ICJQ
cm94eS1BdXRob3JpemF0aW9uIiBub3QgaW4gcmVxdWVzdC5oZWFkZXJzCisrICAgICAgICBhc3Nl
cnQgIkNvb2tpZSIgbm90IGluIHJlcXVlc3QuaGVhZGVycworICAgICAgICAgcmV0dXJuIHdlYi5S
ZXNwb25zZSgpCisgCisgICAgIHNlcnZlcl9mcm9tID0gYXdhaXQgY3JlYXRlX3NlcnZlcl9mb3Jf
dXJsX2FuZF9oYW5kbGVyKHVybF9mcm9tLCBzcnZfZnJvbSkKK0BAIC0zMTkwLDExICszMTkyLDE2
IEBAIGFzeW5jIGRlZiB0ZXN0X2Ryb3BfYXV0aF9vbl9yZWRpcmVjdF90b19vdGhlcl9ob3N0KAor
ICAgICAgICAgcmVzcCA9IGF3YWl0IGNsaWVudC5nZXQoCisgICAgICAgICAgICAgdXJsX2Zyb20s
CisgICAgICAgICAgICAgYXV0aD1haW9odHRwLkJhc2ljQXV0aCgidXNlciIsICJwYXNzIiksCisr
ICAgICAgICAgICAgaGVhZGVycz17IlByb3h5LUF1dGhvcml6YXRpb24iOiAiQmFzaWMgZFhObGNq
cHdZWE56IiwgIkNvb2tpZSI6ICJhPWIifSwKKyAgICAgICAgICkKKyAgICAgICAgIGFzc2VydCBy
ZXNwLnN0YXR1cyA9PSAyMDAKKyAgICAgICAgIHJlc3AgPSBhd2FpdCBjbGllbnQuZ2V0KAorICAg
ICAgICAgICAgIHVybF9mcm9tLAorLSAgICAgICAgICAgIGhlYWRlcnM9eyJBdXRob3JpemF0aW9u
IjogIkJhc2ljIGRYTmxjanB3WVhOeiJ9LAorKyAgICAgICAgICAgIGhlYWRlcnM9eworKyAgICAg
ICAgICAgICAgICAiQXV0aG9yaXphdGlvbiI6ICJCYXNpYyBkWE5sY2pwd1lYTnoiLAorKyAgICAg
ICAgICAgICAgICAiUHJveHktQXV0aG9yaXphdGlvbiI6ICJCYXNpYyBkWE5sY2pwd1lYTnoiLAor
KyAgICAgICAgICAgICAgICAiQ29va2llIjogImE9YiIsCisrICAgICAgICAgICAgfSwKKyAgICAg
ICAgICkKKyAgICAgICAgIGFzc2VydCByZXNwLnN0YXR1cyA9PSAyMDAKKyAKZGlmZiAtTnJ1IHB5
dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTkucGF0Y2gg
cHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxOS5wYXRj
aAotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUx
OS5wYXRjaAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgcHl0aG9uLWFp
b2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxOS5wYXRjaAkyMDI2LTA3
LTMxIDAzOjUwOjMyLjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsxLDE0OSBAQAorRnJvbTogU2Ft
IEJ1bGwgPGdpdEBzYW1idWxsLm9yZz4KK0RhdGU6IFNhdCwgNyBNYXIgMjAyNiAxOTowMDowMiAr
MDAwMAorU3ViamVjdDogW1BBVENIXSBSZXN0cmljdCByZWFzb24gKCMxMjIwOSkgKCMxMjIxMikK
KworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMTg1MTA0ODJkZTA4MGJmNzQxYzU2MGJmMmEx
OTBmZGM1NGI0ZWVkNCkKKworUmV2aWV3ZWQtQnk6IERhbmllbCBMZWlkZXJ0IDxkbGVpZGVydEBk
ZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9j
b21taXQvNTNiMzVhMmY4ODY5YzM3YTEzM2U2MGJmMWE4MmExYzAxNjQyYmEyYgorQnVnOiBodHRw
czovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0Et
bXdoNC02aDhnLXBnOHcKK0J1Zy1EZWJpYW4tU2VjdXJpdHk6IGh0dHBzOi8vc2VjdXJpdHktdHJh
Y2tlci5kZWJpYW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYtMzQ1MTkKK0J1Zy1GcmVleGlhbi1TZWN1
cml0eTogaHR0cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVuZGVkLWx0cy90cmFja2VyL0NWRS0y
MDI2LTM0NTE5CistLS0KKyBhaW9odHRwL19odHRwX3dyaXRlci5weXggICAgIHwgIDIgKy0KKyBh
aW9odHRwL2h0dHBfd3JpdGVyLnB5ICAgICAgIHwgIDEgKworIGFpb2h0dHAvd2ViX2V4Y2VwdGlv
bnMucHkgICAgfCAgMiArKworIGFpb2h0dHAvd2ViX3Jlc3BvbnNlLnB5ICAgICAgfCAgNCArKy0t
CisgdGVzdHMvdGVzdF93ZWJfZXhjZXB0aW9ucy5weSB8IDEyICsrKysrKysrKysrLQorIHRlc3Rz
L3Rlc3Rfd2ViX3Jlc3BvbnNlLnB5ICAgfCAzMCArKysrKysrKysrKysrKysrKysrKysrKysrKy0t
LS0KKyA2IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisK
K2RpZmYgLS1naXQgYS9haW9odHRwL19odHRwX3dyaXRlci5weXggYi9haW9odHRwL19odHRwX3dy
aXRlci5weXgKK2luZGV4IDRhM2FlMWYuLmU2MmMzOTkgMTAwNjQ0CistLS0gYS9haW9odHRwL19o
dHRwX3dyaXRlci5weXgKKysrKyBiL2Fpb2h0dHAvX2h0dHBfd3JpdGVyLnB5eAorQEAgLTEyOSw3
ICsxMjksNyBAQCBkZWYgX3NlcmlhbGl6ZV9oZWFkZXJzKHN0ciBzdGF0dXNfbGluZSwgaGVhZGVy
cyk6CisgICAgIF9pbml0X3dyaXRlcigmd3JpdGVyKQorIAorICAgICB0cnk6CistICAgICAgICBp
ZiBfd3JpdGVfc3RyKCZ3cml0ZXIsIHN0YXR1c19saW5lKSA8IDA6CisrICAgICAgICBpZiBfd3Jp
dGVfc3RyX3JhaXNlX29uX25sY3IoJndyaXRlciwgc3RhdHVzX2xpbmUpIDwgMDoKKyAgICAgICAg
ICAgICByYWlzZQorICAgICAgICAgaWYgX3dyaXRlX2J5dGUoJndyaXRlciwgYidccicpIDwgMDoK
KyAgICAgICAgICAgICByYWlzZQorZGlmZiAtLWdpdCBhL2Fpb2h0dHAvaHR0cF93cml0ZXIucHkg
Yi9haW9odHRwL2h0dHBfd3JpdGVyLnB5CitpbmRleCBlMDMxYTk3Li44MmRmOWQyIDEwMDY0NAor
LS0tIGEvYWlvaHR0cC9odHRwX3dyaXRlci5weQorKysrIGIvYWlvaHR0cC9odHRwX3dyaXRlci5w
eQorQEAgLTIzMiw2ICsyMzIsNyBAQCBkZWYgX3NhZmVfaGVhZGVyKHN0cmluZzogc3RyKSAtPiBz
dHI6CisgCisgCisgZGVmIF9weV9zZXJpYWxpemVfaGVhZGVycyhzdGF0dXNfbGluZTogc3RyLCBo
ZWFkZXJzOiAiQ0lNdWx0aURpY3Rbc3RyXSIpIC0+IGJ5dGVzOgorKyAgICBfc2FmZV9oZWFkZXIo
c3RhdHVzX2xpbmUpCisgICAgIGhlYWRlcnNfZ2VuID0gKF9zYWZlX2hlYWRlcihrKSArICI6ICIg
KyBfc2FmZV9oZWFkZXIodikgZm9yIGssIHYgaW4gaGVhZGVycy5pdGVtcygpKQorICAgICBsaW5l
ID0gc3RhdHVzX2xpbmUgKyAiXHJcbiIgKyAiXHJcbiIuam9pbihoZWFkZXJzX2dlbikgKyAiXHJc
blxyXG4iCisgICAgIHJldHVybiBsaW5lLmVuY29kZSgidXRmLTgiKQorZGlmZiAtLWdpdCBhL2Fp
b2h0dHAvd2ViX2V4Y2VwdGlvbnMucHkgYi9haW9odHRwL3dlYl9leGNlcHRpb25zLnB5CitpbmRl
eCBlZTJjMWU3Li4zMDc5MmMyIDEwMDY0NAorLS0tIGEvYWlvaHR0cC93ZWJfZXhjZXB0aW9ucy5w
eQorKysrIGIvYWlvaHR0cC93ZWJfZXhjZXB0aW9ucy5weQorQEAgLTEwMSw2ICsxMDEsOCBAQCBj
bGFzcyBIVFRQRXhjZXB0aW9uKFJlc3BvbnNlLCBFeGNlcHRpb24pOgorICAgICAgICAgICAgICAg
ICAiYm9keSBhcmd1bWVudCBpcyBkZXByZWNhdGVkIGZvciBodHRwIHdlYiBleGNlcHRpb25zIiwK
KyAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLAorICAgICAgICAgICAgICkKKysg
ICAgICAgIGlmIHJlYXNvbiBpcyBub3QgTm9uZSBhbmQgKCJcciIgaW4gcmVhc29uIG9yICJcbiIg
aW4gcmVhc29uKToKKysgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJSZWFzb24gY2Fubm90
IGNvbnRhaW4gXFxyIG9yIFxcbiIpCisgICAgICAgICBSZXNwb25zZS5fX2luaXRfXygKKyAgICAg
ICAgICAgICBzZWxmLAorICAgICAgICAgICAgIHN0YXR1cz1zZWxmLnN0YXR1c19jb2RlLAorZGlm
ZiAtLWdpdCBhL2Fpb2h0dHAvd2ViX3Jlc3BvbnNlLnB5IGIvYWlvaHR0cC93ZWJfcmVzcG9uc2Uu
cHkKK2luZGV4IDM2N2FjNmUuLmY4ZTJkNGQgMTAwNjQ0CistLS0gYS9haW9odHRwL3dlYl9yZXNw
b25zZS5weQorKysrIGIvYWlvaHR0cC93ZWJfcmVzcG9uc2UucHkKK0BAIC0xNTgsOCArMTU4LDgg
QEAgY2xhc3MgU3RyZWFtUmVzcG9uc2UoQmFzZUNsYXNzLCBIZWFkZXJzTWl4aW4pOgorICAgICAg
ICAgc2VsZi5fc3RhdHVzID0gaW50KHN0YXR1cykKKyAgICAgICAgIGlmIHJlYXNvbiBpcyBOb25l
OgorICAgICAgICAgICAgIHJlYXNvbiA9IFJFQVNPTl9QSFJBU0VTLmdldChzZWxmLl9zdGF0dXMs
ICIiKQorLSAgICAgICAgZWxpZiAiXG4iIGluIHJlYXNvbjoKKy0gICAgICAgICAgICByYWlzZSBW
YWx1ZUVycm9yKCJSZWFzb24gY2Fubm90IGNvbnRhaW4gXFxuIikKKysgICAgICAgIGVsaWYgIlxy
IiBpbiByZWFzb24gb3IgIlxuIiBpbiByZWFzb246CisrICAgICAgICAgICAgcmFpc2UgVmFsdWVF
cnJvcigiUmVhc29uIGNhbm5vdCBjb250YWluIFxcciBvciBcXG4iKQorICAgICAgICAgc2VsZi5f
cmVhc29uID0gcmVhc29uCisgCisgICAgIEBwcm9wZXJ0eQorZGlmZiAtLWdpdCBhL3Rlc3RzL3Rl
c3Rfd2ViX2V4Y2VwdGlvbnMucHkgYi90ZXN0cy90ZXN0X3dlYl9leGNlcHRpb25zLnB5CitpbmRl
eCAzMzU4YTk0Li41YTk4ZDBmIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF93ZWJfZXhjZXB0aW9u
cy5weQorKysrIGIvdGVzdHMvdGVzdF93ZWJfZXhjZXB0aW9ucy5weQorQEAgLTI3Myw1ICsyNzMs
MTUgQEAgZGVmIHRlc3RfdW5pY29kZV90ZXh0X2JvZHlfdW5hdXRob3JpemVkKCkgLT4gTm9uZToK
KyAKKyAKKyBkZWYgdGVzdF9tdWx0aWxpbmVfcmVhc29uKCkgLT4gTm9uZToKKy0gICAgd2l0aCBw
eXRlc3QucmFpc2VzKFZhbHVlRXJyb3IsIG1hdGNoPXIiUmVhc29uIGNhbm5vdCBjb250YWluIFxc
biIpOgorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvciwgbWF0Y2g9ciJSZWFzb24g
Y2Fubm90IGNvbnRhaW4iKToKKyAgICAgICAgIHdlYi5IVFRQT2socmVhc29uPSJCYWRcclxuSW5q
ZWN0ZWQtaGVhZGVyOiBmb28iKQorKworKworK2RlZiB0ZXN0X3JlYXNvbl93aXRoX2NyKCkgLT4g
Tm9uZToKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKFZhbHVlRXJyb3IsIG1hdGNoPXIiUmVhc29u
IGNhbm5vdCBjb250YWluIik6CisrICAgICAgICB3ZWIuSFRUUE9rKHJlYXNvbj0iT0tcclNldC1D
b29raWU6IGV2aWw9MSIpCisrCisrCisrZGVmIHRlc3RfcmVhc29uX3dpdGhfbGYoKSAtPiBOb25l
OgorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvciwgbWF0Y2g9ciJSZWFzb24gY2Fu
bm90IGNvbnRhaW4iKToKKysgICAgICAgIHdlYi5IVFRQT2socmVhc29uPSJPS1xuU2V0LUNvb2tp
ZTogZXZpbD0xIikKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X3dlYl9yZXNwb25zZS5weSBiL3Rl
c3RzL3Rlc3Rfd2ViX3Jlc3BvbnNlLnB5CitpbmRleCA5NTc2OTE2Li5kM2VlMjRlIDEwMDY0NAor
LS0tIGEvdGVzdHMvdGVzdF93ZWJfcmVzcG9uc2UucHkKKysrKyBiL3Rlc3RzL3Rlc3Rfd2ViX3Jl
c3BvbnNlLnB5CitAQCAtMTMsNyArMTMsOCBAQCBpbXBvcnQgcHl0ZXN0CisgZnJvbSBtdWx0aWRp
Y3QgaW1wb3J0IENJTXVsdGlEaWN0LCBDSU11bHRpRGljdFByb3h5LCBNdWx0aURpY3QKKyBmcm9t
IHJlX2Fzc2VydCBpbXBvcnQgTWF0Y2hlcworIAorLWZyb20gYWlvaHR0cCBpbXBvcnQgSHR0cFZl
cnNpb24sIEh0dHBWZXJzaW9uMTAsIEh0dHBWZXJzaW9uMTEsIGhkcnMKKytmcm9tIGFpb2h0dHAg
aW1wb3J0IEh0dHBWZXJzaW9uLCBIdHRwVmVyc2lvbjEwLCBIdHRwVmVyc2lvbjExLCBoZHJzLCB3
ZWIKKytmcm9tIGFpb2h0dHAuYWJjIGltcG9ydCBBYnN0cmFjdFN0cmVhbVdyaXRlcgorIGZyb20g
YWlvaHR0cC5oZWxwZXJzIGltcG9ydCBFVGFnCisgZnJvbSBhaW9odHRwLmh0dHBfd3JpdGVyIGlt
cG9ydCBTdHJlYW1Xcml0ZXIsIF9zZXJpYWxpemVfaGVhZGVycworIGZyb20gYWlvaHR0cC5tdWx0
aXBhcnQgaW1wb3J0IEJvZHlQYXJ0UmVhZGVyLCBNdWx0aXBhcnRXcml0ZXIKK0BAIC05NjYsNiAr
OTY3LDI3IEBAIGRlZiB0ZXN0X3NldF9zdGF0dXNfd2l0aF9lbXB0eV9yZWFzb24oKSAtPiBOb25l
OgorICAgICBhc3NlcnQgcmVzcC5yZWFzb24gPT0gIiIKKyAKKyAKKytkZWYgdGVzdF9zZXRfc3Rh
dHVzX3JlYXNvbl93aXRoX2NyKCkgLT4gTm9uZToKKysgICAgcmVzcCA9IHdlYi5TdHJlYW1SZXNw
b25zZSgpCisrCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhWYWx1ZUVycm9yLCBtYXRjaD0iUmVh
c29uIGNhbm5vdCBjb250YWluIik6CisrICAgICAgICByZXNwLnNldF9zdGF0dXMoMjAwLCAiT0tc
clNldC1Db29raWU6IGV2aWw9MSIpCisrCisrCisrZGVmIHRlc3Rfc2V0X3N0YXR1c19yZWFzb25f
d2l0aF9sZigpIC0+IE5vbmU6CisrICAgIHJlc3AgPSB3ZWIuU3RyZWFtUmVzcG9uc2UoKQorKwor
KyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvciwgbWF0Y2g9IlJlYXNvbiBjYW5ub3Qg
Y29udGFpbiIpOgorKyAgICAgICAgcmVzcC5zZXRfc3RhdHVzKDIwMCwgIk9LXG5TZXQtQ29va2ll
OiBldmlsPTEiKQorKworKworK2RlZiB0ZXN0X3NldF9zdGF0dXNfcmVhc29uX3dpdGhfY3JsZigp
IC0+IE5vbmU6CisrICAgIHJlc3AgPSB3ZWIuU3RyZWFtUmVzcG9uc2UoKQorKworKyAgICB3aXRo
IHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvciwgbWF0Y2g9IlJlYXNvbiBjYW5ub3QgY29udGFpbiIp
OgorKyAgICAgICAgcmVzcC5zZXRfc3RhdHVzKDIwMCwgIk9LXHJcblNldC1Db29raWU6IGV2aWw9
MSIpCisrCisrCisgYXN5bmMgZGVmIHRlc3Rfc3RhcnRfZm9yY2VfY2xvc2UoKSAtPiBOb25lOgor
ICAgICByZXEgPSBtYWtlX3JlcXVlc3QoIkdFVCIsICIvIikKKyAgICAgcmVzcCA9IFN0cmVhbVJl
c3BvbnNlKCkKK0BAIC0xMjU5LDkgKzEyODEsOSBAQCBhc3luYyBkZWYgdGVzdF9yZW5kZXJfd2l0
aF9ib2R5KGJ1Ziwgd3JpdGVyKSAtPiBOb25lOgorICAgICApCisgCisgCistYXN5bmMgZGVmIHRl
c3RfbXVsdGlsaW5lX3JlYXNvbihidWYsIHdyaXRlcikgLT4gTm9uZToKKy0gICAgd2l0aCBweXRl
c3QucmFpc2VzKFZhbHVlRXJyb3IsIG1hdGNoPXIiUmVhc29uIGNhbm5vdCBjb250YWluIFxcbiIp
OgorLSAgICAgICAgUmVzcG9uc2UocmVhc29uPSJCYWRcclxuSW5qZWN0ZWQtaGVhZGVyOiBmb28i
KQorK2FzeW5jIGRlZiB0ZXN0X211bHRpbGluZV9yZWFzb24oYnVmOiBieXRlYXJyYXksIHdyaXRl
cjogQWJzdHJhY3RTdHJlYW1Xcml0ZXIpIC0+IE5vbmU6CisrICAgIHdpdGggcHl0ZXN0LnJhaXNl
cyhWYWx1ZUVycm9yLCBtYXRjaD1yIlJlYXNvbiBjYW5ub3QgY29udGFpbiBcXHIgb3IgXFxuIik6
CisrICAgICAgICB3ZWIuUmVzcG9uc2UocmVhc29uPSJCYWRcclxuSW5qZWN0ZWQtaGVhZGVyOiBm
b28iKQorIAorIAorIGFzeW5jIGRlZiB0ZXN0X3NlbmRfc2V0X2Nvb2tpZV9oZWFkZXIoYnVmLCB3
cml0ZXIpIC0+IE5vbmU6CmRpZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9w
YXRjaGVzL0NWRS0yMDI2LTM0NTIwLnBhdGNoIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFu
L3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MjAucGF0Y2gKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEuMTYv
ZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MjAucGF0Y2gJMTk3MC0wMS0wMSAwMTowMDowMC4w
MDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMv
Q1ZFLTIwMjYtMzQ1MjAucGF0Y2gJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAK
QEAgLTAsMCArMSw3MSBAQAorRnJvbTogUm9kcmlnbyBOb2d1ZWlyYSA8cm9kcmlnby5iLm5vZ3Vl
aXJhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTEgTWFyIDIwMjYgMjA6Mzg6MTcgLTAzMDAKK1N1
YmplY3Q6IEFkanVzdCBoZWFkZXIgdmFsdWUgY2hhcmFjdGVyIGNoZWNrcyB0byBSRkMgOTExMCAo
IzEyMjM1KQorCitDby1hdXRob3JlZC1ieTogcm9kcmlnby5ub2d1ZWlyYSA8cm9kcmlnby5ub2d1
ZWlyYUBwcmYuZ292LmJyPgorCitSZXZpZXdlZC1CeTogRGFuaWVsIExlaWRlcnQgPGRsZWlkZXJ0
QGRlYmlhbi5vcmc+CitPcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRw
L2NvbW1pdC85MzcwYjk3MTRhN2E1NjAwM2NhY2QzMWE5YjRhZTE2ZWFiMTA5YmE0CitCdWc6IGh0
dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hT
QS02M2hmLTN2ZjUtNHdxZgorQnVnLURlYmlhbi1TZWN1cml0eTogaHR0cHM6Ly9zZWN1cml0eS10
cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9DVkUtMjAyNi0zNDUyMAorQnVnLUZyZWV4aWFuLVNl
Y3VyaXR5OiBodHRwczovL2RlYi5mcmVleGlhbi5jb20vZXh0ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZF
LTIwMjYtMzQ1MjAKKy0tLQorIGFpb2h0dHAvaHR0cF9wYXJzZXIucHkgICAgfCAgOSArKysrKysr
Ky0KKyB0ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5IHwgMTAgKysrKysrKysrKworIDIgZmlsZXMg
Y2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEv
YWlvaHR0cC9odHRwX3BhcnNlci5weSBiL2Fpb2h0dHAvaHR0cF9wYXJzZXIucHkKK2luZGV4IDM4
M2Q3NjAuLmU0ODJhYTYgMTAwNjQ0CistLS0gYS9haW9odHRwL2h0dHBfcGFyc2VyLnB5CisrKysg
Yi9haW9odHRwL2h0dHBfcGFyc2VyLnB5CitAQCAtNzQsNiArNzQsMTAgQEAgQVNDSUlTRVQ6IEZp
bmFsW1NldFtzdHJdXSA9IHNldChzdHJpbmcucHJpbnRhYmxlKQorICMgICAgIHRva2VuID0gMSp0
Y2hhcgorIF9UQ0hBUl9TUEVDSUFMUzogRmluYWxbc3RyXSA9IHJlLmVzY2FwZSgiISMkJSYnKist
Ll5fYHx+IikKKyBUT0tFTlJFOiBGaW5hbFtQYXR0ZXJuW3N0cl1dID0gcmUuY29tcGlsZShmIlsw
LTlBLVphLXp7X1RDSEFSX1NQRUNJQUxTfV0rIikKKysjIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iu
b3JnL3JmYy9yZmM5MTEwI3NlY3Rpb24tNS41LTUKKytfRklFTERfVkFMVUVfRk9SQklEREVOX0NU
TF9SRTogRmluYWxbUGF0dGVybltzdHJdXSA9IHJlLmNvbXBpbGUoCisrICAgIHIiW1x4MDAtXHgw
OFx4MGEtXHgxZlx4N2ZdIgorKykKKyBWRVJTUkU6IEZpbmFsW1BhdHRlcm5bc3RyXV0gPSByZS5j
b21waWxlKHIiSFRUUC8oXGQpXC4oXGQpIiwgcmUuQVNDSUkpCisgRElHSVRTOiBGaW5hbFtQYXR0
ZXJuW3N0cl1dID0gcmUuY29tcGlsZShyIlxkKyIsIHJlLkFTQ0lJKQorIEhFWERJR0lUUzogRmlu
YWxbUGF0dGVybltieXRlc11dID0gcmUuY29tcGlsZShyYiJbMC05YS1mQS1GXSsiKQorQEAgLTIw
MSw3ICsyMDUsMTAgQEAgY2xhc3MgSGVhZGVyc1BhcnNlcjoKKyAgICAgICAgICAgICB2YWx1ZSA9
IGJ2YWx1ZS5kZWNvZGUoInV0Zi04IiwgInN1cnJvZ2F0ZWVzY2FwZSIpCisgCisgICAgICAgICAg
ICAgIyBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMC5odG1sI3NlY3Rpb24t
NS41LTUKKy0gICAgICAgICAgICBpZiAiXG4iIGluIHZhbHVlIG9yICJcciIgaW4gdmFsdWUgb3Ig
Ilx4MDAiIGluIHZhbHVlOgorKyAgICAgICAgICAgIGlmIHNlbGYuX2xheDoKKysgICAgICAgICAg
ICAgICAgaWYgIlxuIiBpbiB2YWx1ZSBvciAiXHIiIGluIHZhbHVlIG9yICJceDAwIiBpbiB2YWx1
ZToKKysgICAgICAgICAgICAgICAgICAgIHJhaXNlIEludmFsaWRIZWFkZXIoYnZhbHVlKQorKyAg
ICAgICAgICAgIGVsaWYgX0ZJRUxEX1ZBTFVFX0ZPUkJJRERFTl9DVExfUkUuc2VhcmNoKHZhbHVl
KToKKyAgICAgICAgICAgICAgICAgcmFpc2UgSW52YWxpZEhlYWRlcihidmFsdWUpCisgCisgICAg
ICAgICAgICAgaGVhZGVycy5hZGQobmFtZSwgdmFsdWUpCitkaWZmIC0tZ2l0IGEvdGVzdHMvdGVz
dF9odHRwX3BhcnNlci5weSBiL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkKK2luZGV4IGE5MTM5
MjEuLmIzNjgxMmIgMTAwNjQ0CistLS0gYS90ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5CisrKysg
Yi90ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5CitAQCAtMjEzLDYgKzIxMyw5IEBAIGRlZiB0ZXN0
X2JhZF9oZWFkZXJfbmFtZShwYXJzZXI6IEFueSwgcmZjOTExMF81XzZfMl90b2tlbl9kZWxpbTog
c3RyKSAtPiBOb25lOgorICAgICAgICAgIkZvbyA6IGJhciIsICAjIGh0dHBzOi8vd3d3LnJmYy1l
ZGl0b3Iub3JnL3JmYy9yZmM5MTEyLmh0bWwjc2VjdGlvbi01LjEtMgorICAgICAgICAgIkZvb1x0
OiBiYXIiLAorICAgICAgICAgIlx4ZmZvbzogYmFyIiwKKysgICAgICAgICJGb286IGFiY1x4MDFk
ZWYiLCAgIyBDVEwgYnl0ZXMgZm9yYmlkZGVuIHBlciBSRkMgOTExMCDCpzUuNQorKyAgICAgICAg
IkZvbzogYWJjXHg3ZmRlZiIsICAjIERFTCBpcyBhbHNvIGEgQ1RMIGJ5dGUKKysgICAgICAgICJG
b286IGFiY1x4MWZkZWYiLAorICAgICApLAorICkKKyBkZWYgdGVzdF9iYWRfaGVhZGVycyhwYXJz
ZXI6IEFueSwgaGRyOiBzdHIpIC0+IE5vbmU6CitAQCAtMjIxLDYgKzIyNCwxMyBAQCBkZWYgdGVz
dF9iYWRfaGVhZGVycyhwYXJzZXI6IEFueSwgaGRyOiBzdHIpIC0+IE5vbmU6CisgICAgICAgICBw
YXJzZXIuZmVlZF9kYXRhKHRleHQpCisgCisgCisrZGVmIHRlc3RfY3RsX2hvc3RfaGVhZGVyX2Jh
ZF9jaGFyYWN0ZXJzKHBhcnNlcjogSHR0cFJlcXVlc3RQYXJzZXIpIC0+IE5vbmU6CisrICAgICIi
IkNUTCBieXRlIGluIEhvc3QgaGVhZGVyIG11c3QgYmUgcmVqZWN0ZWQuIiIiCisrICAgIHRleHQg
PSBiIkdFVCAvdGVzdCBIVFRQLzEuMVxyXG5Ib3N0OiB0cnVzdGVkLmV4YW1wbGVceDAxQGJhZC50
ZXN0XHJcblxyXG4iCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQmFk
SHR0cE1lc3NhZ2UpOgorKyAgICAgICAgcGFyc2VyLmZlZWRfZGF0YSh0ZXh0KQorKworKworIGRl
ZiB0ZXN0X3VucGFpcmVkX3N1cnJvZ2F0ZV9pbl9oZWFkZXJfcHkobG9vcDogQW55LCBwcm90b2Nv
bDogQW55KSAtPiBOb25lOgorICAgICBwYXJzZXIgPSBIdHRwUmVxdWVzdFBhcnNlclB5KAorICAg
ICAgICAgcHJvdG9jb2wsCmRpZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9w
YXRjaGVzL0NWRS0yMDI2LTM0NTI1LTEucGF0Y2ggcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJp
YW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUyNS0xLnBhdGNoCi0tLSBweXRob24tYWlvaHR0cC0zLjEx
LjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTM0NTI1LTEucGF0Y2gJMTk3MC0wMS0wMSAwMTow
MDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Bh
dGNoZXMvQ1ZFLTIwMjYtMzQ1MjUtMS5wYXRjaAkyMDI2LTA3LTMxIDAzOjUwOjMyLjAwMDAwMDAw
MCArMDIwMApAQCAtMCwwICsxLDExMSBAQAorRnJvbTogInBhdGNoYmFja1tib3RdIiA8NDU0MzI2
OTQrcGF0Y2hiYWNrW2JvdF1AdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAx
NSBNYXIgMjAyNiAxMzo1ODowOCArMDAwMAorU3ViamVjdDogUmVqZWN0IGR1cGxpY2F0ZSBzaW5n
bGV0b24gaGVhZGVycyBpbiBDIGV4dGVuc2lvbiBwYXJzZXIgKCMxMjI0MSkKKworKipUaGlzIGlz
IGEgYmFja3BvcnQgb2YgUFIgIzEyMjQwIGFzIG1lcmdlZCBpbnRvIG1hc3RlcgorKDM0NWQyNTM3
MTU2MmRkNTZkZTA5OWYxZmNkNTcyMGU5NmM2ZTc3MDIpLioqCisKK0NvLWF1dGhvcmVkLWJ5OiBS
b2RyaWdvIE5vZ3VlaXJhIDxyb2RyaWdvLmIubm9ndWVpcmFAZ21haWwuY29tPgorCitSZXZpZXdl
ZC1CeTogRGFuaWVsIExlaWRlcnQgPGRsZWlkZXJ0QGRlYmlhbi5vcmc+CitPcmlnaW46IGh0dHBz
Oi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL2NvbW1pdC9lMDBjYTNjY2E5MmM0NjVjNzkx
M2M0YmViNzYzYTcyZGE5ZWQ4MzQ5CitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9h
aW9odHRwL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS1jNDI3LWg0M2MtdmY2NworQnVnLURlYmlh
bi1TZWN1cml0eTogaHR0cHM6Ly9zZWN1cml0eS10cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9D
VkUtMjAyNi0zNDUyNQorQnVnLUZyZWV4aWFuLVNlY3VyaXR5OiBodHRwczovL2RlYi5mcmVleGlh
bi5jb20vZXh0ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZFLTIwMjYtMzQ1MjUKKy0tLQorIGFpb2h0dHAv
X2h0dHBfcGFyc2VyLnB5eCAgfCAyMiArKysrKysrKysrKysrKysrKysrKysrCisgdGVzdHMvdGVz
dF9odHRwX3BhcnNlci5weSB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQg
YS9haW9odHRwL19odHRwX3BhcnNlci5weXggYi9haW9odHRwL19odHRwX3BhcnNlci5weXgKK2lu
ZGV4IGRhNTMwMWEuLjRhMjRiMWEgMTAwNjQ0CistLS0gYS9haW9odHRwL19odHRwX3BhcnNlci5w
eXgKKysrKyBiL2Fpb2h0dHAvX2h0dHBfcGFyc2VyLnB5eAorQEAgLTczLDYgKzczLDIwIEBAIGNk
ZWYgb2JqZWN0IFN0cmVhbVJlYWRlciA9IF9TdHJlYW1SZWFkZXIKKyBjZGVmIG9iamVjdCBEZWZs
YXRlQnVmZmVyID0gX0RlZmxhdGVCdWZmZXIKKyBjZGVmIGJ5dGVzIEVNUFRZX0JZVEVTID0gYiIi
CisgCisrIyBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMC5odG1sI3NlY3Rp
b24tNS41LTYKKytjZGVmIHR1cGxlIFNJTkdMRVRPTl9IRUFERVJTID0gKAorKyAgICBoZHJzLkNP
TlRFTlRfTEVOR1RILAorKyAgICBoZHJzLkNPTlRFTlRfTE9DQVRJT04sCisrICAgIGhkcnMuQ09O
VEVOVF9SQU5HRSwKKysgICAgaGRycy5DT05URU5UX1RZUEUsCisrICAgIGhkcnMuRVRBRywKKysg
ICAgaGRycy5IT1NULAorKyAgICBoZHJzLk1BWF9GT1JXQVJEUywKKysgICAgaGRycy5TRVJWRVIs
CisrICAgIGhkcnMuVFJBTlNGRVJfRU5DT0RJTkcsCisrICAgIGhkcnMuVVNFUl9BR0VOVCwKKysp
CisrCisgY2RlZiBpbmxpbmUgb2JqZWN0IGV4dGVuZChvYmplY3QgYnVmLCBjb25zdCBjaGFyKiBh
dCwgc2l6ZV90IGxlbmd0aCk6CisgICAgIGNkZWYgUHlfc3NpemVfdCBzCisgICAgIGNkZWYgY2hh
ciogcHRyCitAQCAtNDI1LDYgKzQzOSwxNCBAQCBjZGVmIGNsYXNzIEh0dHBQYXJzZXI6CisgICAg
ICAgICByYXdfaGVhZGVycyA9IHR1cGxlKHNlbGYuX3Jhd19oZWFkZXJzKQorICAgICAgICAgaGVh
ZGVycyA9IENJTXVsdGlEaWN0UHJveHkoQ0lNdWx0aURpY3Qoc2VsZi5faGVhZGVycykpCisgCisr
ICAgICAgICAjIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5MTEwLmh0bWwjbmFt
ZS1jb2xsZWN0ZWQtYWJuZgorKyAgICAgICAgYmFkX2hkciA9IG5leHQoCisrICAgICAgICAgICAg
KGggZm9yIGggaW4gU0lOR0xFVE9OX0hFQURFUlMgaWYgbGVuKGhlYWRlcnMuZ2V0YWxsKGgsICgp
KSkgPiAxKSwKKysgICAgICAgICAgICBOb25lLAorKyAgICAgICAgKQorKyAgICAgICAgaWYgYmFk
X2hkciBpcyBub3QgTm9uZToKKysgICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZShmIkR1
cGxpY2F0ZSAne2JhZF9oZHJ9JyBoZWFkZXIgZm91bmQuIikKKysKKyAgICAgICAgIGlmIHNlbGYu
X2NwYXJzZXIudHlwZSA9PSBjcGFyc2VyLkhUVFBfUkVRVUVTVDoKKyAgICAgICAgICAgICBoX3Vw
ZyA9IGhlYWRlcnMuZ2V0KCJ1cGdyYWRlIiwgIiIpCisgICAgICAgICAgICAgYWxsb3dlZCA9IHVw
Z3JhZGUgYW5kIGhfdXBnLmlzYXNjaWkoKSBhbmQgaF91cGcubG93ZXIoKSBpbiBBTExPV0VEX1VQ
R1JBREVTCitkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9odHRwX3BhcnNlci5weSBiL3Rlc3RzL3Rl
c3RfaHR0cF9wYXJzZXIucHkKK2luZGV4IGIzNjgxMmIuLmNjYzczZDcgMTAwNjQ0CistLS0gYS90
ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5CisrKysgYi90ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5
CitAQCAtMjU3LDYgKzI1Nyw0NyBAQCBkZWYgdGVzdF9jb250ZW50X2xlbmd0aF90cmFuc2Zlcl9l
bmNvZGluZyhwYXJzZXI6IEFueSkgLT4gTm9uZToKKyAgICAgICAgIHBhcnNlci5mZWVkX2RhdGEo
dGV4dCkKKyAKKyAKKytAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoCisrICAgICJoZHIiLAorKyAg
ICAoCisrICAgICAgICAiQ29udGVudC1MZW5ndGgiLAorKyAgICAgICAgIkNvbnRlbnQtTG9jYXRp
b24iLAorKyAgICAgICAgIkNvbnRlbnQtUmFuZ2UiLAorKyAgICAgICAgIkNvbnRlbnQtVHlwZSIs
CisrICAgICAgICAiRVRhZyIsCisrICAgICAgICAiSG9zdCIsCisrICAgICAgICAiTWF4LUZvcndh
cmRzIiwKKysgICAgICAgICJTZXJ2ZXIiLAorKyAgICAgICAgIlRyYW5zZmVyLUVuY29kaW5nIiwK
KysgICAgICAgICJVc2VyLUFnZW50IiwKKysgICAgKSwKKyspCisrZGVmIHRlc3RfZHVwbGljYXRl
X3NpbmdsZXRvbl9oZWFkZXJfcmVqZWN0ZWQoCisrICAgIHBhcnNlcjogSHR0cFJlcXVlc3RQYXJz
ZXIsIGhkcjogc3RyCisrKSAtPiBOb25lOgorKyAgICB2YWwxLCB2YWwyID0gKCIxIiwgIjIiKSBp
ZiBoZHIgPT0gIkNvbnRlbnQtTGVuZ3RoIiBlbHNlICgidmFsdWUxIiwgInZhbHVlMiIpCisrICAg
IHRleHQgPSAoCisrICAgICAgICBmIkdFVCAvdGVzdCBIVFRQLzEuMVxyXG4iCisrICAgICAgICBm
Ikhvc3Q6IGV4YW1wbGUuY29tXHJcbiIKKysgICAgICAgIGYie2hkcn06IHt2YWwxfVxyXG4iCisr
ICAgICAgICBmIntoZHJ9OiB7dmFsMn1cclxuIgorKyAgICAgICAgZiJcclxuIgorKyAgICApLmVu
Y29kZSgpCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQmFkSHR0cE1l
c3NhZ2UsIG1hdGNoPSJEdXBsaWNhdGUiKToKKysgICAgICAgIHBhcnNlci5mZWVkX2RhdGEodGV4
dCkKKysKKysKKytkZWYgdGVzdF9kdXBsaWNhdGVfaG9zdF9oZWFkZXJfcmVqZWN0ZWQocGFyc2Vy
OiBIdHRwUmVxdWVzdFBhcnNlcikgLT4gTm9uZToKKysgICAgdGV4dCA9ICgKKysgICAgICAgIGIi
R0VUIC9hZG1pbiBIVFRQLzEuMVxyXG4iCisrICAgICAgICBiIkhvc3Q6IGFkbWluLmV4YW1wbGVc
clxuIgorKyAgICAgICAgYiJIb3N0OiBwdWJsaWMuZXhhbXBsZVxyXG4iCisrICAgICAgICBiIlxy
XG4iCisrICAgICkKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKGh0dHBfZXhjZXB0aW9ucy5CYWRI
dHRwTWVzc2FnZSwgbWF0Y2g9IkR1cGxpY2F0ZS4qSG9zdCIpOgorKyAgICAgICAgcGFyc2VyLmZl
ZWRfZGF0YSh0ZXh0KQorKworKworIGRlZiB0ZXN0X2JhZF9jaHVua2VkKHBhcnNlcjogSHR0cFJl
cXVlc3RQYXJzZXIpIC0+IE5vbmU6CisgICAgICIiIlRlc3QgdGhhdCBpbnZhbGlkIGNodW5rZWQg
ZW5jb2RpbmcgZG9lc24ndCBhbGxvdyBjb250ZW50LWxlbmd0aCB0byBiZSB1c2VkLiIiIgorICAg
ICB0ZXh0ID0gKApkaWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hl
cy9DVkUtMjAyNi0zNDUyNS0yLnBhdGNoIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Bh
dGNoZXMvQ1ZFLTIwMjYtMzQ1MjUtMi5wYXRjaAotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9k
ZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUyNS0yLnBhdGNoCTE5NzAtMDEtMDEgMDE6MDA6MDAu
MDAwMDAwMDAwICswMTAwCisrKyBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVz
L0NWRS0yMDI2LTM0NTI1LTIucGF0Y2gJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAy
MDAKQEAgLTAsMCArMSwzMTcgQEAKK0Zyb206ICJwYXRjaGJhY2tbYm90XSIgPDQ1NDMyNjk0K3Bh
dGNoYmFja1tib3RdQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFR1ZSwgMzEgTWFy
IDIwMjYgMTA6MzQ6MzcgLTEwMDAKK1N1YmplY3Q6IFtQQVRDSF0gW1BSICMxMjMwMi8yZGMwMmVl
MCBiYWNrcG9ydF1bMy4xM10gU2tpcCBkdXBsaWNhdGUgc2luZ2xldG9uCisgaGVhZGVyIGNoZWNr
IGluIGxheCBtb2RlICgjMTIzMDMpCisKK0NvLWF1dGhvcmVkLWJ5OiBKLiBOaWNrIEtvc3RvbiA8
bmlja0Brb3N0b24ub3JnPgorQ28tYXV0aG9yZWQtYnk6IHByZS1jb21taXQtY2lbYm90XSA8NjY4
NTMxMTMrcHJlLWNvbW1pdC1jaVtib3RdQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0ZpeGVz
IGhvbWUtYXNzaXN0YW50L2NvcmUjMTY2OTU2CitGaXhlcyBodHRwczovL2dpdGh1Yi5jb20vZ2V0
bW90by9tb3RvL2lzc3Vlcy85OTMwCitGaXhlcyAjMTIzMDEKK0ZpeGVzIGh0dHBzOi8vZ2l0aHVi
LmNvbS9jYXRhbHlzdC1jb29wZXJhdGl2ZS9wdWRsLWFyY2hpdmVyL2lzc3Vlcy8xMDU5CisKK1Jl
dmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8ZGxlaWRlcnRAZGViaWFuLm9yZz4KK09yaWdpbjog
aHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvY29tbWl0LzUzZTJlNmZjNThiODlj
NjE4NWJlNzgyMGJkMmM5ZjQwMjE2YjMwMDAKK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fp
by1saWJzL2Fpb2h0dHAvY29tbWl0L2QxNWYwN2NmYmJkZWNmM2RlOGNhMWRiMTBjYTVkMTgyYWNl
N2IwOWMgKHBhcnQpCitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL3Nl
Y3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS1jNDI3LWg0M2MtdmY2NworQnVnLURlYmlhbi1TZWN1cml0
eTogaHR0cHM6Ly9zZWN1cml0eS10cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9DVkUtMjAyNi0z
NDUyNQorQnVnLUZyZWV4aWFuLVNlY3VyaXR5OiBodHRwczovL2RlYi5mcmVleGlhbi5jb20vZXh0
ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZFLTIwMjYtMzQ1MjUKKy0tLQorIGFpb2h0dHAvX2h0dHBfcGFy
c2VyLnB5eCAgfCAyNyArKysrKysrLS0tLS0tCisgYWlvaHR0cC9odHRwX3BhcnNlci5weSAgICB8
IDQwICsrKysrKysrKystLS0tLS0tLS0KKyB0ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5IHwgOTcg
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KKyAzIGZpbGVz
IGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp
dCBhL2Fpb2h0dHAvX2h0dHBfcGFyc2VyLnB5eCBiL2Fpb2h0dHAvX2h0dHBfcGFyc2VyLnB5eAor
aW5kZXggNGEyNGIxYS4uNDAxYTM4NCAxMDA2NDQKKy0tLSBhL2Fpb2h0dHAvX2h0dHBfcGFyc2Vy
LnB5eAorKysrIGIvYWlvaHR0cC9faHR0cF9wYXJzZXIucHl4CitAQCAtNzMsOCArNzMsMTEgQEAg
Y2RlZiBvYmplY3QgU3RyZWFtUmVhZGVyID0gX1N0cmVhbVJlYWRlcgorIGNkZWYgb2JqZWN0IERl
ZmxhdGVCdWZmZXIgPSBfRGVmbGF0ZUJ1ZmZlcgorIGNkZWYgYnl0ZXMgRU1QVFlfQllURVMgPSBi
IiIKKyAKKy0jIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5MTEwLmh0bWwjc2Vj
dGlvbi01LjUtNgorLWNkZWYgdHVwbGUgU0lOR0xFVE9OX0hFQURFUlMgPSAoCisrIyBSRkMgOTEx
MCBzaW5nbGV0b24gaGVhZGVycyDigJQgZHVwbGljYXRlcyBhcmUgcmVqZWN0ZWQgaW4gc3RyaWN0
IG1vZGUuCisrIyBJbiBsYXggbW9kZSAocmVzcG9uc2UgcGFyc2VyIGRlZmF1bHQpLCB0aGUgY2hl
Y2sgaXMgc2tpcHBlZCBlbnRpcmVseQorKyMgc2luY2UgcmVhbC13b3JsZCBzZXJ2ZXJzIChlLmcu
IEdvb2dsZSBBUElzLCBXZXJremV1ZykgY29tbW9ubHkgc2VuZAorKyMgZHVwbGljYXRlIGhlYWRl
cnMgbGlrZSBDb250ZW50LVR5cGUgb3IgU2VydmVyLgorK2NkZWYgZnJvemVuc2V0IFNJTkdMRVRP
Tl9IRUFERVJTID0gZnJvemVuc2V0KHsKKyAgICAgaGRycy5DT05URU5UX0xFTkdUSCwKKyAgICAg
aGRycy5DT05URU5UX0xPQ0FUSU9OLAorICAgICBoZHJzLkNPTlRFTlRfUkFOR0UsCitAQCAtODUs
NyArODgsNyBAQCBjZGVmIHR1cGxlIFNJTkdMRVRPTl9IRUFERVJTID0gKAorICAgICBoZHJzLlNF
UlZFUiwKKyAgICAgaGRycy5UUkFOU0ZFUl9FTkNPRElORywKKyAgICAgaGRycy5VU0VSX0FHRU5U
LAorLSkKKyt9KQorIAorIGNkZWYgaW5saW5lIG9iamVjdCBleHRlbmQob2JqZWN0IGJ1ZiwgY29u
c3QgY2hhciogYXQsIHNpemVfdCBsZW5ndGgpOgorICAgICBjZGVmIFB5X3NzaXplX3QgcworQEAg
LTMwNiw2ICszMDksNyBAQCBjZGVmIGNsYXNzIEh0dHBQYXJzZXI6CisgICAgICAgICBzaXplX3Qg
X21heF9oZWFkZXJzCisgICAgICAgICBiaW50IF9yZXNwb25zZV93aXRoX2JvZHkKKyAgICAgICAg
IGJpbnQgX3JlYWRfdW50aWxfZW9mCisrICAgICAgICBiaW50IF9sYXgKKyAKKyAgICAgICAgIGJp
bnQgICAgX3N0YXJ0ZWQKKyAgICAgICAgIG9iamVjdCAgX3VybAorQEAgLTMxMyw2ICszMTcsNyBA
QCBjZGVmIGNsYXNzIEh0dHBQYXJzZXI6CisgICAgICAgICBzdHIgICAgIF9wYXRoCisgICAgICAg
ICBzdHIgICAgIF9yZWFzb24KKyAgICAgICAgIGxpc3QgICAgX2hlYWRlcnMKKysgICAgICAgIHNl
dCAgICAgX3NlZW5fc2luZ2xldG9ucworICAgICAgICAgbGlzdCAgICBfcmF3X2hlYWRlcnMKKyAg
ICAgICAgIGJpbnQgICAgX3VwZ3JhZGVkCisgICAgICAgICBsaXN0ICAgIF9tZXNzYWdlcworQEAg
LTM3OSw2ICszODQsOCBAQCBjZGVmIGNsYXNzIEh0dHBQYXJzZXI6CisgICAgICAgICBzZWxmLl91
cGdyYWRlZCA9IEZhbHNlCisgICAgICAgICBzZWxmLl9hdXRvX2RlY29tcHJlc3MgPSBhdXRvX2Rl
Y29tcHJlc3MKKyAgICAgICAgIHNlbGYuX2NvbnRlbnRfZW5jb2RpbmcgPSBOb25lCisrICAgICAg
ICBzZWxmLl9sYXggPSBGYWxzZQorKyAgICAgICAgc2VsZi5fc2Vlbl9zaW5nbGV0b25zID0gc2V0
KCkKKyAKKyAgICAgICAgIHNlbGYuX2NzZXR0aW5ncy5vbl91cmwgPSBjYl9vbl91cmwKKyAgICAg
ICAgIHNlbGYuX2NzZXR0aW5ncy5vbl9zdGF0dXMgPSBjYl9vbl9zdGF0dXMKK0BAIC00MDAsNiAr
NDA3LDEwIEBAIGNkZWYgY2xhc3MgSHR0cFBhcnNlcjoKKyAgICAgICAgICAgICBuYW1lID0gZmlu
ZF9oZWFkZXIoc2VsZi5fcmF3X25hbWUpCisgICAgICAgICAgICAgdmFsdWUgPSBzZWxmLl9yYXdf
dmFsdWUuZGVjb2RlKCd1dGYtOCcsICdzdXJyb2dhdGVlc2NhcGUnKQorIAorKyAgICAgICAgICAg
IGlmIG5vdCBzZWxmLl9sYXggYW5kIG5hbWUgaW4gU0lOR0xFVE9OX0hFQURFUlM6CisrICAgICAg
ICAgICAgICAgIGlmIG5hbWUgaW4gc2VsZi5fc2Vlbl9zaW5nbGV0b25zOgorKyAgICAgICAgICAg
ICAgICAgICAgcmFpc2UgQmFkSHR0cE1lc3NhZ2UoZiJEdXBsaWNhdGUgJ3tuYW1lfScgaGVhZGVy
IGZvdW5kLiIpCisrICAgICAgICAgICAgICAgIHNlbGYuX3NlZW5fc2luZ2xldG9ucy5hZGQobmFt
ZSkKKyAgICAgICAgICAgICBzZWxmLl9oZWFkZXJzLmFwcGVuZCgobmFtZSwgdmFsdWUpKQorICAg
ICAgICAgICAgIGlmIGxlbihzZWxmLl9oZWFkZXJzKSA+IHNlbGYuX21heF9oZWFkZXJzOgorICAg
ICAgICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZSgiVG9vIG1hbnkgaGVhZGVycyByZWNl
aXZlZCIpCitAQCAtNDM5LDE0ICs0NTAsNiBAQCBjZGVmIGNsYXNzIEh0dHBQYXJzZXI6CisgICAg
ICAgICByYXdfaGVhZGVycyA9IHR1cGxlKHNlbGYuX3Jhd19oZWFkZXJzKQorICAgICAgICAgaGVh
ZGVycyA9IENJTXVsdGlEaWN0UHJveHkoQ0lNdWx0aURpY3Qoc2VsZi5faGVhZGVycykpCisgCist
ICAgICAgICAjIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5MTEwLmh0bWwjbmFt
ZS1jb2xsZWN0ZWQtYWJuZgorLSAgICAgICAgYmFkX2hkciA9IG5leHQoCistICAgICAgICAgICAg
KGggZm9yIGggaW4gU0lOR0xFVE9OX0hFQURFUlMgaWYgbGVuKGhlYWRlcnMuZ2V0YWxsKGgsICgp
KSkgPiAxKSwKKy0gICAgICAgICAgICBOb25lLAorLSAgICAgICAgKQorLSAgICAgICAgaWYgYmFk
X2hkciBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZShmIkR1
cGxpY2F0ZSAne2JhZF9oZHJ9JyBoZWFkZXIgZm91bmQuIikKKy0KKyAgICAgICAgIGlmIHNlbGYu
X2NwYXJzZXIudHlwZSA9PSBjcGFyc2VyLkhUVFBfUkVRVUVTVDoKKyAgICAgICAgICAgICBoX3Vw
ZyA9IGhlYWRlcnMuZ2V0KCJ1cGdyYWRlIiwgIiIpCisgICAgICAgICAgICAgYWxsb3dlZCA9IHVw
Z3JhZGUgYW5kIGhfdXBnLmlzYXNjaWkoKSBhbmQgaF91cGcubG93ZXIoKSBpbiBBTExPV0VEX1VQ
R1JBREVTCitAQCAtNjgxLDYgKzY4NCw3IEBAIGNkZWYgY2xhc3MgSHR0cFJlc3BvbnNlUGFyc2Vy
KEh0dHBQYXJzZXIpOgorICAgICAgICAgICAgIGNwYXJzZXIubGxodHRwX3NldF9sZW5pZW50X2hl
YWRlcnMoc2VsZi5fY3BhcnNlciwgMSkKKyAgICAgICAgICAgICBjcGFyc2VyLmxsaHR0cF9zZXRf
bGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYoc2VsZi5fY3BhcnNlciwgMSkKKyAgICAgICAg
ICAgICBjcGFyc2VyLmxsaHR0cF9zZXRfbGVuaWVudF9zcGFjZXNfYWZ0ZXJfY2h1bmtfc2l6ZShz
ZWxmLl9jcGFyc2VyLCAxKQorKyAgICAgICAgICAgIHNlbGYuX2xheCA9IFRydWUKKyAKKyAgICAg
Y2RlZiBvYmplY3QgX29uX3N0YXR1c19jb21wbGV0ZShzZWxmKToKKyAgICAgICAgIGlmIHNlbGYu
X2J1ZjoKK0BAIC02OTQsNiArNjk4LDcgQEAgY2RlZiBpbnQgY2Jfb25fbWVzc2FnZV9iZWdpbihj
cGFyc2VyLmxsaHR0cF90KiBwYXJzZXIpIGV4Y2VwdCAtMToKKyAKKyAgICAgcHlwYXJzZXIuX3N0
YXJ0ZWQgPSBUcnVlCisgICAgIHB5cGFyc2VyLl9oZWFkZXJzID0gW10KKysgICAgcHlwYXJzZXIu
X3NlZW5fc2luZ2xldG9ucyA9IHNldCgpCisgICAgIHB5cGFyc2VyLl9yYXdfaGVhZGVycyA9IFtd
CisgICAgIFB5Qnl0ZUFycmF5X1Jlc2l6ZShweXBhcnNlci5fYnVmLCAwKQorICAgICBweXBhcnNl
ci5fcGF0aCA9IE5vbmUKK2RpZmYgLS1naXQgYS9haW9odHRwL2h0dHBfcGFyc2VyLnB5IGIvYWlv
aHR0cC9odHRwX3BhcnNlci5weQoraW5kZXggZTQ4MmFhNi4uNGEzN2NkYyAxMDA2NDQKKy0tLSBh
L2Fpb2h0dHAvaHR0cF9wYXJzZXIucHkKKysrKyBiL2Fpb2h0dHAvaHR0cF9wYXJzZXIucHkKK0BA
IC04Miw2ICs4MiwyNiBAQCBWRVJTUkU6IEZpbmFsW1BhdHRlcm5bc3RyXV0gPSByZS5jb21waWxl
KHIiSFRUUC8oXGQpXC4oXGQpIiwgcmUuQVNDSUkpCisgRElHSVRTOiBGaW5hbFtQYXR0ZXJuW3N0
cl1dID0gcmUuY29tcGlsZShyIlxkKyIsIHJlLkFTQ0lJKQorIEhFWERJR0lUUzogRmluYWxbUGF0
dGVybltieXRlc11dID0gcmUuY29tcGlsZShyYiJbMC05YS1mQS1GXSsiKQorIAorKyMgUkZDIDkx
MTAgc2luZ2xldG9uIGhlYWRlcnMg4oCUIGR1cGxpY2F0ZXMgYXJlIHJlamVjdGVkIGluIHN0cmlj
dCBtb2RlLgorKyMgSW4gbGF4IG1vZGUgKHJlc3BvbnNlIHBhcnNlciBkZWZhdWx0KSwgdGhlIGNo
ZWNrIGlzIHNraXBwZWQgZW50aXJlbHkKKysjIHNpbmNlIHJlYWwtd29ybGQgc2VydmVycyAoZS5n
LiBHb29nbGUgQVBJcywgV2Vya3pldWcpIGNvbW1vbmx5IHNlbmQKKysjIGR1cGxpY2F0ZSBoZWFk
ZXJzIGxpa2UgQ29udGVudC1UeXBlIG9yIFNlcnZlci4KKysjIExvd2VyY2FzZWQgZm9yIGNhc2Ut
aW5zZW5zaXRpdmUgbWF0Y2hpbmcgYWdhaW5zdCB3aXJlIG5hbWVzLgorK1NJTkdMRVRPTl9IRUFE
RVJTOiBGaW5hbFtmcm96ZW5zZXRbc3RyXV0gPSBmcm96ZW5zZXQoCisrICAgIHsKKysgICAgICAg
ICJjb250ZW50LWxlbmd0aCIsCisrICAgICAgICAiY29udGVudC1sb2NhdGlvbiIsCisrICAgICAg
ICAiY29udGVudC1yYW5nZSIsCisrICAgICAgICAiY29udGVudC10eXBlIiwKKysgICAgICAgICJl
dGFnIiwKKysgICAgICAgICJob3N0IiwKKysgICAgICAgICJtYXgtZm9yd2FyZHMiLAorKyAgICAg
ICAgInNlcnZlciIsCisrICAgICAgICAidHJhbnNmZXItZW5jb2RpbmciLAorKyAgICAgICAgInVz
ZXItYWdlbnQiLAorKyAgICB9CisrKQorKworIAorIGNsYXNzIFJhd1JlcXVlc3RNZXNzYWdlKE5h
bWVkVHVwbGUpOgorICAgICBtZXRob2Q6IHN0cgorQEAgLTIxMSw2ICsyMzEsOCBAQCBjbGFzcyBI
ZWFkZXJzUGFyc2VyOgorICAgICAgICAgICAgIGVsaWYgX0ZJRUxEX1ZBTFVFX0ZPUkJJRERFTl9D
VExfUkUuc2VhcmNoKHZhbHVlKToKKyAgICAgICAgICAgICAgICAgcmFpc2UgSW52YWxpZEhlYWRl
cihidmFsdWUpCisgCisrICAgICAgICAgICAgaWYgbm90IHNlbGYuX2xheCBhbmQgbmFtZSBpbiBo
ZWFkZXJzIGFuZCBuYW1lLmxvd2VyKCkgaW4gU0lOR0xFVE9OX0hFQURFUlM6CisrICAgICAgICAg
ICAgICAgIHJhaXNlIEJhZEh0dHBNZXNzYWdlKGYiRHVwbGljYXRlICd7bmFtZX0nIGhlYWRlciBm
b3VuZC4iKQorICAgICAgICAgICAgIGhlYWRlcnMuYWRkKG5hbWUsIHZhbHVlKQorICAgICAgICAg
ICAgIHJhd19oZWFkZXJzLmFwcGVuZCgoYm5hbWUsIGJ2YWx1ZSkpCisgCitAQCAtNTI0LDI0ICs1
NDYsNiBAQCBjbGFzcyBIdHRwUGFyc2VyKGFiYy5BQkMsIEdlbmVyaWNbX01zZ1RdKToKKyAgICAg
ICAgIHVwZ3JhZGUgPSBGYWxzZQorICAgICAgICAgY2h1bmtlZCA9IEZhbHNlCisgCistICAgICAg
ICAjIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5MTEwLmh0bWwjc2VjdGlvbi01
LjUtNgorLSAgICAgICAgIyBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMC5o
dG1sI25hbWUtY29sbGVjdGVkLWFibmYKKy0gICAgICAgIHNpbmdsZXRvbnMgPSAoCistICAgICAg
ICAgICAgaGRycy5DT05URU5UX0xFTkdUSCwKKy0gICAgICAgICAgICBoZHJzLkNPTlRFTlRfTE9D
QVRJT04sCistICAgICAgICAgICAgaGRycy5DT05URU5UX1JBTkdFLAorLSAgICAgICAgICAgIGhk
cnMuQ09OVEVOVF9UWVBFLAorLSAgICAgICAgICAgIGhkcnMuRVRBRywKKy0gICAgICAgICAgICBo
ZHJzLkhPU1QsCistICAgICAgICAgICAgaGRycy5NQVhfRk9SV0FSRFMsCistICAgICAgICAgICAg
aGRycy5TRVJWRVIsCistICAgICAgICAgICAgaGRycy5UUkFOU0ZFUl9FTkNPRElORywKKy0gICAg
ICAgICAgICBoZHJzLlVTRVJfQUdFTlQsCistICAgICAgICApCistICAgICAgICBiYWRfaGRyID0g
bmV4dCgoaCBmb3IgaCBpbiBzaW5nbGV0b25zIGlmIGxlbihoZWFkZXJzLmdldGFsbChoLCAoKSkp
ID4gMSksIE5vbmUpCistICAgICAgICBpZiBiYWRfaGRyIGlzIG5vdCBOb25lOgorLSAgICAgICAg
ICAgIHJhaXNlIEJhZEh0dHBNZXNzYWdlKGYiRHVwbGljYXRlICd7YmFkX2hkcn0nIGhlYWRlciBm
b3VuZC4iKQorLQorICAgICAgICAgIyBrZWVwLWFsaXZlCisgICAgICAgICBjb25uID0gaGVhZGVy
cy5nZXQoaGRycy5DT05ORUNUSU9OKQorICAgICAgICAgaWYgY29ubjoKK2RpZmYgLS1naXQgYS90
ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5IGIvdGVzdHMvdGVzdF9odHRwX3BhcnNlci5weQoraW5k
ZXggY2NjNzNkNy4uMmQyYjFhNSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIu
cHkKKysrKyBiL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkKK0BAIC0yNjEsMzIgKzI2MSw3NiBA
QCBkZWYgdGVzdF9jb250ZW50X2xlbmd0aF90cmFuc2Zlcl9lbmNvZGluZyhwYXJzZXI6IEFueSkg
LT4gTm9uZToKKyAgICAgImhkciIsCisgICAgICgKKyAgICAgICAgICJDb250ZW50LUxlbmd0aCIs
CisrICAgICAgICAiSG9zdCIsCisrICAgICAgICAiVHJhbnNmZXItRW5jb2RpbmciLAorKyAgICAp
LAorKykKKytkZWYgdGVzdF9kdXBsaWNhdGVfc2luZ2xldG9uX2hlYWRlcl9yZWplY3RlZCgKKysg
ICAgcGFyc2VyOiBIdHRwUmVxdWVzdFBhcnNlciwgaGRyOiBzdHIKKyspIC0+IE5vbmU6CisrICAg
IHZhbDEsIHZhbDIgPSAoIjEiLCAiMiIpIGlmIGhkciA9PSAiQ29udGVudC1MZW5ndGgiIGVsc2Ug
KCJ2YWx1ZTEiLCAidmFsdWUyIikKKysgICAgdGV4dCA9ICgKKysgICAgICAgIGYiR0VUIC90ZXN0
IEhUVFAvMS4xXHJcbiIKKysgICAgICAgIGYiSG9zdDogZXhhbXBsZS5jb21cclxuIgorKyAgICAg
ICAgZiJ7aGRyfToge3ZhbDF9XHJcbiIKKysgICAgICAgIGYie2hkcn06IHt2YWwyfVxyXG4iCisr
ICAgICAgICAiXHJcbiIKKysgICAgKS5lbmNvZGUoKQorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMo
aHR0cF9leGNlcHRpb25zLkJhZEh0dHBNZXNzYWdlLCBtYXRjaD0iRHVwbGljYXRlIik6CisrICAg
ICAgICBwYXJzZXIuZmVlZF9kYXRhKHRleHQpCisrCisrCisrQHB5dGVzdC5tYXJrLnBhcmFtZXRy
aXplKAorKyAgICAiaGRyIiwKKysgICAgKAorICAgICAgICAgIkNvbnRlbnQtTG9jYXRpb24iLAor
ICAgICAgICAgIkNvbnRlbnQtUmFuZ2UiLAorICAgICAgICAgIkNvbnRlbnQtVHlwZSIsCisgICAg
ICAgICAiRVRhZyIsCistICAgICAgICAiSG9zdCIsCisgICAgICAgICAiTWF4LUZvcndhcmRzIiwK
KyAgICAgICAgICJTZXJ2ZXIiLAorLSAgICAgICAgIlRyYW5zZmVyLUVuY29kaW5nIiwKKyAgICAg
ICAgICJVc2VyLUFnZW50IiwKKyAgICAgKSwKKyApCistZGVmIHRlc3RfZHVwbGljYXRlX3Npbmds
ZXRvbl9oZWFkZXJfcmVqZWN0ZWQoCisrZGVmIHRlc3RfZHVwbGljYXRlX25vbl9zZWN1cml0eV9z
aW5nbGV0b25faGVhZGVyX3JlamVjdGVkX3N0cmljdCgKKyAgICAgcGFyc2VyOiBIdHRwUmVxdWVz
dFBhcnNlciwgaGRyOiBzdHIKKyApIC0+IE5vbmU6CistICAgIHZhbDEsIHZhbDIgPSAoIjEiLCAi
MiIpIGlmIGhkciA9PSAiQ29udGVudC1MZW5ndGgiIGVsc2UgKCJ2YWx1ZTEiLCAidmFsdWUyIikK
KysgICAgIiIiTm9uLXNlY3VyaXR5IHNpbmdsZXRvbnMgYXJlIHJlamVjdGVkIGluIHN0cmljdCBt
b2RlIChyZXF1ZXN0cykuIiIiCisgICAgIHRleHQgPSAoCisgICAgICAgICBmIkdFVCAvdGVzdCBI
VFRQLzEuMVxyXG4iCisgICAgICAgICBmIkhvc3Q6IGV4YW1wbGUuY29tXHJcbiIKKy0gICAgICAg
IGYie2hkcn06IHt2YWwxfVxyXG4iCistICAgICAgICBmIntoZHJ9OiB7dmFsMn1cclxuIgorLSAg
ICAgICAgZiJcclxuIgorKyAgICAgICAgZiJ7aGRyfTogdmFsdWUxXHJcbiIKKysgICAgICAgIGYi
e2hkcn06IHZhbHVlMlxyXG4iCisrICAgICAgICAiXHJcbiIKKyAgICAgKS5lbmNvZGUoKQorICAg
ICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9leGNlcHRpb25zLkJhZEh0dHBNZXNzYWdlLCBtYXRj
aD0iRHVwbGljYXRlIik6CisgICAgICAgICBwYXJzZXIuZmVlZF9kYXRhKHRleHQpCisgCisgCisr
QHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKAorKyAgICAiaGRyIiwKKysgICAgKAorKyAgICAgICAg
IyBDb250ZW50LUxlbmd0aCBpcyBleGNsdWRlZCBiZWNhdXNlIGxsaHR0cCByZWplY3RzIGR1cGxp
Y2F0ZXMKKysgICAgICAgICMgYXQgdGhlIEMgbGV2ZWwgYmVmb3JlIG91ciBzaW5nbGV0b24gY2hl
Y2sgcnVucy4KKysgICAgICAgICJDb250ZW50LUxvY2F0aW9uIiwKKysgICAgICAgICJDb250ZW50
LVJhbmdlIiwKKysgICAgICAgICJDb250ZW50LVR5cGUiLAorKyAgICAgICAgIkVUYWciLAorKyAg
ICAgICAgIk1heC1Gb3J3YXJkcyIsCisrICAgICAgICAiU2VydmVyIiwKKysgICAgICAgICJUcmFu
c2Zlci1FbmNvZGluZyIsCisrICAgICAgICAiVXNlci1BZ2VudCIsCisrICAgICksCisrKQorK2Rl
ZiB0ZXN0X2R1cGxpY2F0ZV9zaW5nbGV0b25faGVhZGVyX2FjY2VwdGVkX2luX2xheF9tb2RlKAor
KyAgICByZXNwb25zZTogSHR0cFJlc3BvbnNlUGFyc2VyLCBoZHI6IHN0cgorKykgLT4gTm9uZToK
KysgICAgIiIiQWxsIHNpbmdsZXRvbiBkdXBsaWNhdGVzIGFyZSBhY2NlcHRlZCBpbiBsYXggbW9k
ZSAocmVzcG9uc2UgcGFyc2VyIGRlZmF1bHQpLiIiIgorKyAgICB0ZXh0ID0gKGYiSFRUUC8xLjEg
MjAwIE9LXHJcbntoZHJ9OiB2YWx1ZTFcclxue2hkcn06IHZhbHVlMlxyXG5cclxuIikuZW5jb2Rl
KCkKKysgICAgbWVzc2FnZXMsIHVwZ3JhZGUsIHRhaWwgPSByZXNwb25zZS5mZWVkX2RhdGEodGV4
dCkKKysgICAgYXNzZXJ0IGxlbihtZXNzYWdlcykgPT0gMQorKworKworIGRlZiB0ZXN0X2R1cGxp
Y2F0ZV9ob3N0X2hlYWRlcl9yZWplY3RlZChwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBO
b25lOgorICAgICB0ZXh0ID0gKAorICAgICAgICAgYiJHRVQgL2FkbWluIEhUVFAvMS4xXHJcbiIK
K0BAIC0yOTgsNiArMzQyLDQ1IEBAIGRlZiB0ZXN0X2R1cGxpY2F0ZV9ob3N0X2hlYWRlcl9yZWpl
Y3RlZChwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBOb25lOgorICAgICAgICAgcGFyc2Vy
LmZlZWRfZGF0YSh0ZXh0KQorIAorIAorK0BweXRlc3QubWFyay5wYXJhbWV0cml6ZSgKKysgICAg
KCJoZHIxIiwgImhkcjIiKSwKKysgICAgKAorKyAgICAgICAgKCJjb250ZW50LWxlbmd0aCIsICJD
b250ZW50LUxlbmd0aCIpLAorKyAgICAgICAgKCJDb250ZW50LUxlbmd0aCIsICJjb250ZW50LWxl
bmd0aCIpLAorKyAgICAgICAgKCJ0cmFuc2Zlci1lbmNvZGluZyIsICJUcmFuc2Zlci1FbmNvZGlu
ZyIpLAorKyAgICAgICAgKCJUcmFuc2Zlci1FbmNvZGluZyIsICJ0cmFuc2Zlci1lbmNvZGluZyIp
LAorKyAgICApLAorKykKKytkZWYgdGVzdF9kdXBsaWNhdGVfc2luZ2xldG9uX2hlYWRlcl9kaWZm
ZXJlbnRfY2FzaW5nX3JlamVjdGVkKAorKyAgICBwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyLCBo
ZHIxOiBzdHIsIGhkcjI6IHN0cgorKykgLT4gTm9uZToKKysgICAgIiIiU2luZ2xldG9uIGNoZWNr
IG11c3QgYmUgY2FzZS1pbnNlbnNpdGl2ZSBwZXIgUkZDIDkxMTAuIiIiCisrICAgIHZhbDEsIHZh
bDIgPSAoIjEiLCAiMiIpIGlmICJjb250ZW50LWxlbmd0aCIgaW4gaGRyMS5sb3dlcigpIGVsc2Ug
KCJ2MSIsICJ2MiIpCisrICAgIHRleHQgPSAoCisrICAgICAgICBmIkdFVCAvdGVzdCBIVFRQLzEu
MVxyXG4iCisrICAgICAgICBmIkhvc3Q6IGV4YW1wbGUuY29tXHJcbiIKKysgICAgICAgIGYie2hk
cjF9OiB7dmFsMX1cclxuIgorKyAgICAgICAgZiJ7aGRyMn06IHt2YWwyfVxyXG4iCisrICAgICAg
ICAiXHJcbiIKKysgICAgKS5lbmNvZGUoKQorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9l
eGNlcHRpb25zLkJhZEh0dHBNZXNzYWdlLCBtYXRjaD0iRHVwbGljYXRlIik6CisrICAgICAgICBw
YXJzZXIuZmVlZF9kYXRhKHRleHQpCisrCisrCisrZGVmIHRlc3RfZHVwbGljYXRlX2hvc3RfaGVh
ZGVyX2RpZmZlcmVudF9jYXNpbmdfcmVqZWN0ZWQoCisrICAgIHBhcnNlcjogSHR0cFJlcXVlc3RQ
YXJzZXIsCisrKSAtPiBOb25lOgorKyAgICAiIiJEdXBsaWNhdGUgSG9zdCB3aXRoIGRpZmZlcmVu
dCBjYXNpbmcgbXVzdCBhbHNvIGJlIHJlamVjdGVkLiIiIgorKyAgICB0ZXh0ID0gKAorKyAgICAg
ICAgYiJHRVQgL3Rlc3QgSFRUUC8xLjFcclxuIgorKyAgICAgICAgYiJob3N0OiBldmlsLmV4YW1w
bGVcclxuIgorKyAgICAgICAgYiJIb3N0OiBnb29kLmV4YW1wbGVcclxuIgorKyAgICAgICAgYiJc
clxuIgorKyAgICApCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQmFk
SHR0cE1lc3NhZ2UsIG1hdGNoPSJEdXBsaWNhdGUiKToKKysgICAgICAgIHBhcnNlci5mZWVkX2Rh
dGEodGV4dCkKKysKKysKKyBkZWYgdGVzdF9iYWRfY2h1bmtlZChwYXJzZXI6IEh0dHBSZXF1ZXN0
UGFyc2VyKSAtPiBOb25lOgorICAgICAiIiJUZXN0IHRoYXQgaW52YWxpZCBjaHVua2VkIGVuY29k
aW5nIGRvZXNuJ3QgYWxsb3cgY29udGVudC1sZW5ndGggdG8gYmUgdXNlZC4iIiIKKyAgICAgdGV4
dCA9ICgKZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZF
LTIwMjYtMzQ5OTMucGF0Y2ggcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9D
VkUtMjAyNi0zNDk5My5wYXRjaAotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0
Y2hlcy9DVkUtMjAyNi0zNDk5My5wYXRjaAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCAr
MDEwMAorKysgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0z
NDk5My5wYXRjaAkyMDI2LTA3LTMxIDAzOjUwOjMyLjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsx
LDQ0NiBAQAorRnJvbTogInBhdGNoYmFja1tib3RdIiA8NDU0MzI2OTQrcGF0Y2hiYWNrW2JvdF1A
dXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAyMiBGZWIgMjAyNiAxNTo1Mzo0
MyArMDAwMAorU3ViamVjdDogW1BBVENIXSBbUFIgIzEyMDkxLzhhNjMxZTc0IGJhY2twb3J0XVsz
LjE0XSBSZXN0cmljdCBwaWNrbGUKKyBkZXNlcmlhbGl6YXRpb24gaW4gQ29va2llSmFyLmxvYWQo
KSAoIzEyMTA1KQorCisqKlRoaXMgaXMgYSBiYWNrcG9ydCBvZiBQUiAjMTIwOTEgYXMgbWVyZ2Vk
IGludG8gbWFzdGVyCisoOGE2MzFlNzRjMWQyNjY0OTlkYmM2YmNkYmM4M2M2MGY0ZWEzZWUzYyku
KioKKworLS0tLS0tLS0tCisKK0NvLWF1dGhvcmVkLWJ5OiBZdXZhbCBFbGJhciA8NDE5MDE5MDgr
WXV2YWxFbGJhcjZAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorQ28tYXV0aG9yZWQtYnk6IFNh
bSBCdWxsIDxnaXRAc2FtYnVsbC5vcmc+CisKK1Jldmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8
ZGxlaWRlcnRAZGViaWFuLm9yZz4KK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJz
L2Fpb2h0dHAvY29tbWl0L2RjZjQwZjMwNjM3ZTg3NTJjNzY3ODFjZjY3MDNiNWEyMzY3NDlhMDAK
K0J1ZzogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvc2VjdXJpdHkvYWR2aXNv
cmllcy9HSFNBLWpnMjItbWc0NC0zN2o4CitCdWctRGViaWFuLVNlY3VyaXR5OiBodHRwczovL3Nl
Y3VyaXR5LXRyYWNrZXIuZGViaWFuLm9yZy90cmFja2VyL0NWRS0yMDI2LTM0OTkzCitCdWctRnJl
ZXhpYW4tU2VjdXJpdHk6IGh0dHBzOi8vZGViLmZyZWV4aWFuLmNvbS9leHRlbmRlZC1sdHMvdHJh
Y2tlci9DVkUtMjAyNi0zNDk5MworLS0tCisgYWlvaHR0cC9jb29raWVqYXIucHkgICAgICAgfCAx
MTQgKysrKysrKysrKysrKysrKysrKysrKysrKystCisgZG9jcy9jbGllbnRfcmVmZXJlbmNlLnJz
dCAgfCAgMTggKysrKy0KKyBkb2NzL3NwZWxsaW5nX3dvcmRsaXN0LnR4dCB8ICAgNyArLQorIHRl
c3RzL3Rlc3RfY29va2llamFyLnB5ICAgIHwgMTg4ICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKworIDQgZmlsZXMgY2hhbmdlZCwgMzE5IGluc2VydGlvbnMoKyks
IDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRwL2Nvb2tpZWphci5weSBiL2Fp
b2h0dHAvY29va2llamFyLnB5CitpbmRleCBmNmI5YTkyLi5jNzRmNDMzIDEwMDY0NAorLS0tIGEv
YWlvaHR0cC9jb29raWVqYXIucHkKKysrKyBiL2Fpb2h0dHAvY29va2llamFyLnB5CitAQCAtNCw2
ICs0LDcgQEAgaW1wb3J0IGNvbnRleHRsaWIKKyBpbXBvcnQgZGF0ZXRpbWUKKyBpbXBvcnQgaGVh
cHEKKyBpbXBvcnQgaXRlcnRvb2xzCisraW1wb3J0IGpzb24KKyBpbXBvcnQgb3MgICMgbm9xYQor
IGltcG9ydCBwYXRobGliCisgaW1wb3J0IHBpY2tsZQorQEAgLTQ3LDYgKzQ4LDQxIEBAIF9GT1JN
QVRfRE9NQUlOX1JFVkVSU0VEID0gInsxfS57MH0iLmZvcm1hdAorIF9NSU5fU0NIRURVTEVEX0NP
T0tJRV9FWFBJUkFUSU9OID0gMTAwCisgCisgCisrY2xhc3MgX1Jlc3RyaWN0ZWRDb29raWVVbnBp
Y2tsZXIocGlja2xlLlVucGlja2xlcik6CisrICAgICIiIkEgcmVzdHJpY3RlZCB1bnBpY2tsZXIg
dGhhdCBvbmx5IGFsbG93cyBjb29raWUtcmVsYXRlZCB0eXBlcy4KKysKKysgICAgVGhpcyBwcmV2
ZW50cyBhcmJpdHJhcnkgY29kZSBleGVjdXRpb24gd2hlbiBsb2FkaW5nIHBpY2tsZWQgY29va2ll
IGRhdGEKKysgICAgZnJvbSB1bnRydXN0ZWQgc291cmNlcy4gT25seSB0eXBlcyB0aGF0IGFyZSBl
eHBlY3RlZCBpbiBhIHNlcmlhbGl6ZWQKKysgICAgQ29va2llSmFyIGFyZSBwZXJtaXR0ZWQuCisr
CisrICAgIFNlZTogaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy9saWJyYXJ5L3BpY2tsZS5odG1s
I3Jlc3RyaWN0aW5nLWdsb2JhbHMKKysgICAgIiIiCisrCisrICAgIF9BTExPV0VEX0NMQVNTRVM6
IGZyb3plbnNldFt0dXBsZVtzdHIsIHN0cl1dID0gZnJvemVuc2V0KAorKyAgICAgICAgeworKyAg
ICAgICAgICAgICMgQ29yZSBjb29raWUgdHlwZXMKKysgICAgICAgICAgICAoImh0dHAuY29va2ll
cyIsICJTaW1wbGVDb29raWUiKSwKKysgICAgICAgICAgICAoImh0dHAuY29va2llcyIsICJNb3Jz
ZWwiKSwKKysgICAgICAgICAgICAjIENvbnRhaW5lciB0eXBlcyB1c2VkIGJ5IENvb2tpZUphci5f
Y29va2llcworKyAgICAgICAgICAgICgiY29sbGVjdGlvbnMiLCAiZGVmYXVsdGRpY3QiKSwKKysg
ICAgICAgICAgICAjIGJ1aWx0aW5zIHRoYXQgcGlja2xlIHVzZXMgZm9yIHJlY29uc3RydWN0aW9u
CisrICAgICAgICAgICAgKCJidWlsdGlucyIsICJ0dXBsZSIpLAorKyAgICAgICAgICAgICgiYnVp
bHRpbnMiLCAic2V0IiksCisrICAgICAgICAgICAgKCJidWlsdGlucyIsICJmcm96ZW5zZXQiKSwK
KysgICAgICAgICAgICAoImJ1aWx0aW5zIiwgImRpY3QiKSwKKysgICAgICAgIH0KKysgICAgKQor
KworKyAgICBkZWYgZmluZF9jbGFzcyhzZWxmLCBtb2R1bGU6IHN0ciwgbmFtZTogc3RyKSAtPiB0
eXBlOgorKyAgICAgICAgaWYgKG1vZHVsZSwgbmFtZSkgbm90IGluIHNlbGYuX0FMTE9XRURfQ0xB
U1NFUzoKKysgICAgICAgICAgICByYWlzZSBwaWNrbGUuVW5waWNrbGluZ0Vycm9yKAorKyAgICAg
ICAgICAgICAgICBmIkZvcmJpZGRlbiBjbGFzczoge21vZHVsZX0ue25hbWV9LiAiCisrICAgICAg
ICAgICAgICAgICJDb29raWVKYXIubG9hZCgpIG9ubHkgYWxsb3dzIGNvb2tpZS1yZWxhdGVkIHR5
cGVzIGZvciBzZWN1cml0eS4gIgorKyAgICAgICAgICAgICAgICAiU2VlIGh0dHBzOi8vZG9jcy5w
eXRob24ub3JnLzMvbGlicmFyeS9waWNrbGUuaHRtbCNyZXN0cmljdGluZy1nbG9iYWxzIgorKyAg
ICAgICAgICAgICkKKysgICAgICAgIHJldHVybiBzdXBlcigpLmZpbmRfY2xhc3MobW9kdWxlLCBu
YW1lKSAgIyB0eXBlOiBpZ25vcmVbbm8tYW55LXJldHVybl0KKysKKysKKyBjbGFzcyBDb29raWVK
YXIoQWJzdHJhY3RDb29raWVKYXIpOgorICAgICAiIiJJbXBsZW1lbnRzIGNvb2tpZSBzdG9yYWdl
IGFkaGVyaW5nIHRvIFJGQyA2MjY1LiIiIgorIAorQEAgLTEyMiwxNCArMTU4LDg0IEBAIGNsYXNz
IENvb2tpZUphcihBYnN0cmFjdENvb2tpZUphcik6CisgICAgICAgICByZXR1cm4gc2VsZi5fcXVv
dGVfY29va2llCisgCisgICAgIGRlZiBzYXZlKHNlbGYsIGZpbGVfcGF0aDogUGF0aExpa2UpIC0+
IE5vbmU6CisrICAgICAgICAiIiJTYXZlIGNvb2tpZXMgdG8gYSBmaWxlIHVzaW5nIEpTT04gZm9y
bWF0LgorKworKyAgICAgICAgOnBhcmFtIGZpbGVfcGF0aDogUGF0aCB0byBmaWxlIHdoZXJlIGNv
b2tpZXMgd2lsbCBiZSBzZXJpYWxpemVkLAorKyAgICAgICAgICAgIDpjbGFzczpgc3RyYCBvciA6
Y2xhc3M6YHBhdGhsaWIuUGF0aGAgaW5zdGFuY2UuCisrICAgICAgICAiIiIKKyAgICAgICAgIGZp
bGVfcGF0aCA9IHBhdGhsaWIuUGF0aChmaWxlX3BhdGgpCistICAgICAgICB3aXRoIGZpbGVfcGF0
aC5vcGVuKG1vZGU9IndiIikgYXMgZjoKKy0gICAgICAgICAgICBwaWNrbGUuZHVtcChzZWxmLl9j
b29raWVzLCBmLCBwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCkKKysgICAgICAgIGRhdGE6IGRpY3Rb
c3RyLCBkaWN0W3N0ciwgZGljdFtzdHIsIHN0ciB8IGJvb2xdXV0gPSB7fQorKyAgICAgICAgZm9y
IChkb21haW4sIHBhdGgpLCBjb29raWUgaW4gc2VsZi5fY29va2llcy5pdGVtcygpOgorKyAgICAg
ICAgICAgIGtleSA9IGYie2RvbWFpbn18e3BhdGh9IgorKyAgICAgICAgICAgIGRhdGFba2V5XSA9
IHt9CisrICAgICAgICAgICAgZm9yIG5hbWUsIG1vcnNlbCBpbiBjb29raWUuaXRlbXMoKToKKysg
ICAgICAgICAgICAgICAgbW9yc2VsX2RhdGE6IGRpY3Rbc3RyLCBzdHIgfCBib29sXSA9IHsKKysg
ICAgICAgICAgICAgICAgICAgICJrZXkiOiBtb3JzZWwua2V5LAorKyAgICAgICAgICAgICAgICAg
ICAgInZhbHVlIjogbW9yc2VsLnZhbHVlLAorKyAgICAgICAgICAgICAgICAgICAgImNvZGVkX3Zh
bHVlIjogbW9yc2VsLmNvZGVkX3ZhbHVlLAorKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAg
ICAgICAgICMgU2F2ZSBhbGwgbW9yc2VsIGF0dHJpYnV0ZXMgdGhhdCBoYXZlIHZhbHVlcworKyAg
ICAgICAgICAgICAgICBmb3IgYXR0ciBpbiBtb3JzZWwuX3Jlc2VydmVkOiAgIyB0eXBlOiBpZ25v
cmVbYXR0ci1kZWZpbmVkXQorKyAgICAgICAgICAgICAgICAgICAgYXR0cl92YWwgPSBtb3JzZWxb
YXR0cl0KKysgICAgICAgICAgICAgICAgICAgIGlmIGF0dHJfdmFsOgorKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1vcnNlbF9kYXRhW2F0dHJdID0gYXR0cl92YWwKKysgICAgICAgICAgICAgICAg
ZGF0YVtrZXldW25hbWVdID0gbW9yc2VsX2RhdGEKKysgICAgICAgIHdpdGggZmlsZV9wYXRoLm9w
ZW4obW9kZT0idyIsIGVuY29kaW5nPSJ1dGYtOCIpIGFzIGY6CisrICAgICAgICAgICAganNvbi5k
dW1wKGRhdGEsIGYsIGluZGVudD0yKQorIAorICAgICBkZWYgbG9hZChzZWxmLCBmaWxlX3BhdGg6
IFBhdGhMaWtlKSAtPiBOb25lOgorKyAgICAgICAgIiIiTG9hZCBjb29raWVzIGZyb20gYSBmaWxl
LgorKworKyAgICAgICAgVHJpZXMgdG8gbG9hZCBKU09OIGZvcm1hdCBmaXJzdC4gRmFsbHMgYmFj
ayB0byBsb2FkaW5nIGxlZ2FjeQorKyAgICAgICAgcGlja2xlIGZvcm1hdCAodXNpbmcgYSByZXN0
cmljdGVkIHVucGlja2xlcikgZm9yIGJhY2t3YXJkCisrICAgICAgICBjb21wYXRpYmlsaXR5IHdp
dGggZXhpc3RpbmcgY29va2llIGZpbGVzLgorKworKyAgICAgICAgOnBhcmFtIGZpbGVfcGF0aDog
UGF0aCB0byBmaWxlIGZyb20gd2hlcmUgY29va2llcyB3aWxsIGJlCisrICAgICAgICAgICAgaW1w
b3J0ZWQsIDpjbGFzczpgc3RyYCBvciA6Y2xhc3M6YHBhdGhsaWIuUGF0aGAgaW5zdGFuY2UuCisr
ICAgICAgICAiIiIKKyAgICAgICAgIGZpbGVfcGF0aCA9IHBhdGhsaWIuUGF0aChmaWxlX3BhdGgp
CistICAgICAgICB3aXRoIGZpbGVfcGF0aC5vcGVuKG1vZGU9InJiIikgYXMgZjoKKy0gICAgICAg
ICAgICBzZWxmLl9jb29raWVzID0gcGlja2xlLmxvYWQoZikKKysgICAgICAgICMgVHJ5IEpTT04g
Zm9ybWF0IGZpcnN0CisrICAgICAgICB0cnk6CisrICAgICAgICAgICAgd2l0aCBmaWxlX3BhdGgu
b3Blbihtb2RlPSJyIiwgZW5jb2Rpbmc9InV0Zi04IikgYXMgZjoKKysgICAgICAgICAgICAgICAg
ZGF0YSA9IGpzb24ubG9hZChmKQorKyAgICAgICAgICAgIHNlbGYuX2Nvb2tpZXMgPSBzZWxmLl9s
b2FkX2pzb25fZGF0YShkYXRhKQorKyAgICAgICAgZXhjZXB0IChqc29uLkpTT05EZWNvZGVFcnJv
ciwgVW5pY29kZURlY29kZUVycm9yLCBWYWx1ZUVycm9yKToKKysgICAgICAgICAgICAjIEZhbGwg
YmFjayB0byBsZWdhY3kgcGlja2xlIGZvcm1hdCB3aXRoIHJlc3RyaWN0ZWQgdW5waWNrbGVyCisr
ICAgICAgICAgICAgd2l0aCBmaWxlX3BhdGgub3Blbihtb2RlPSJyYiIpIGFzIGY6CisrICAgICAg
ICAgICAgICAgIHNlbGYuX2Nvb2tpZXMgPSBfUmVzdHJpY3RlZENvb2tpZVVucGlja2xlcihmKS5s
b2FkKCkKKysKKysgICAgZGVmIF9sb2FkX2pzb25fZGF0YSgKKysgICAgICAgIHNlbGYsIGRhdGE6
IGRpY3Rbc3RyLCBkaWN0W3N0ciwgZGljdFtzdHIsIHN0ciB8IGJvb2xdXV0KKysgICAgKSAtPiBk
ZWZhdWx0ZGljdFt0dXBsZVtzdHIsIHN0cl0sIFNpbXBsZUNvb2tpZV06CisrICAgICAgICAiIiJM
b2FkIGNvb2tpZXMgZnJvbSBwYXJzZWQgSlNPTiBkYXRhLiIiIgorKyAgICAgICAgY29va2llczog
ZGVmYXVsdGRpY3RbdHVwbGVbc3RyLCBzdHJdLCBTaW1wbGVDb29raWVdID0gZGVmYXVsdGRpY3Qo
U2ltcGxlQ29va2llKQorKyAgICAgICAgZm9yIGNvbXBvdW5kX2tleSwgY29va2llX2RhdGEgaW4g
ZGF0YS5pdGVtcygpOgorKyAgICAgICAgICAgIGRvbWFpbiwgcGF0aCA9IGNvbXBvdW5kX2tleS5z
cGxpdCgifCIsIDEpCisrICAgICAgICAgICAga2V5ID0gKGRvbWFpbiwgcGF0aCkKKysgICAgICAg
ICAgICBmb3IgbmFtZSwgbW9yc2VsX2RhdGEgaW4gY29va2llX2RhdGEuaXRlbXMoKToKKysgICAg
ICAgICAgICAgICAgbW9yc2VsOiBNb3JzZWxbc3RyXSA9IE1vcnNlbCgpCisrICAgICAgICAgICAg
ICAgIG1vcnNlbF9rZXkgPSBtb3JzZWxfZGF0YVsia2V5Il0KKysgICAgICAgICAgICAgICAgbW9y
c2VsX3ZhbHVlID0gbW9yc2VsX2RhdGFbInZhbHVlIl0KKysgICAgICAgICAgICAgICAgbW9yc2Vs
X2NvZGVkX3ZhbHVlID0gbW9yc2VsX2RhdGFbImNvZGVkX3ZhbHVlIl0KKysgICAgICAgICAgICAg
ICAgIyBVc2UgX19zZXRzdGF0ZV9fIHRvIGJ5cGFzcyB2YWxpZGF0aW9uLCBzYW1lIHBhdHRlcm4K
KysgICAgICAgICAgICAgICAgIyB1c2VkIGluIF9idWlsZF9tb3JzZWwgYW5kIF9jb29raWVfaGVs
cGVycy4KKysgICAgICAgICAgICAgICAgbW9yc2VsLl9fc2V0c3RhdGVfXyggICMgdHlwZTogaWdu
b3JlW2F0dHItZGVmaW5lZF0KKysgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAg
ICAgICAgICAgICAia2V5IjogbW9yc2VsX2tleSwKKysgICAgICAgICAgICAgICAgICAgICAgICAi
dmFsdWUiOiBtb3JzZWxfdmFsdWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVkX3Zh
bHVlIjogbW9yc2VsX2NvZGVkX3ZhbHVlLAorKyAgICAgICAgICAgICAgICAgICAgfQorKyAgICAg
ICAgICAgICAgICApCisrICAgICAgICAgICAgICAgICMgUmVzdG9yZSBtb3JzZWwgYXR0cmlidXRl
cworKyAgICAgICAgICAgICAgICBmb3IgYXR0ciBpbiBtb3JzZWwuX3Jlc2VydmVkOiAgIyB0eXBl
OiBpZ25vcmVbYXR0ci1kZWZpbmVkXQorKyAgICAgICAgICAgICAgICAgICAgaWYgYXR0ciBpbiBt
b3JzZWxfZGF0YSBhbmQgYXR0ciBub3QgaW4gKAorKyAgICAgICAgICAgICAgICAgICAgICAgICJr
ZXkiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIsCisrICAgICAgICAgICAgICAg
ICAgICAgICAgImNvZGVkX3ZhbHVlIiwKKysgICAgICAgICAgICAgICAgICAgICk6CisrICAgICAg
ICAgICAgICAgICAgICAgICAgbW9yc2VsW2F0dHJdID0gbW9yc2VsX2RhdGFbYXR0cl0KKysgICAg
ICAgICAgICAgICAgY29va2llc1trZXldW25hbWVdID0gbW9yc2VsCisrICAgICAgICByZXR1cm4g
Y29va2llcworIAorICAgICBkZWYgY2xlYXIoc2VsZiwgcHJlZGljYXRlOiBPcHRpb25hbFtDbGVh
ckNvb2tpZVByZWRpY2F0ZV0gPSBOb25lKSAtPiBOb25lOgorICAgICAgICAgaWYgcHJlZGljYXRl
IGlzIE5vbmU6CitkaWZmIC0tZ2l0IGEvZG9jcy9jbGllbnRfcmVmZXJlbmNlLnJzdCBiL2RvY3Mv
Y2xpZW50X3JlZmVyZW5jZS5yc3QKK2luZGV4IGYwMWNhZjguLmVmMzM1YzMgMTAwNjQ0CistLS0g
YS9kb2NzL2NsaWVudF9yZWZlcmVuY2UucnN0CisrKysgYi9kb2NzL2NsaWVudF9yZWZlcmVuY2Uu
cnN0CitAQCAtMjA3MywxNiArMjA3MywyOCBAQCBVdGlsaXRpZXMKKyAKKyAgICAuLiBtZXRob2Q6
OiBzYXZlKGZpbGVfcGF0aCkKKyAKKy0gICAgICBXcml0ZSBhIHBpY2tsZWQgcmVwcmVzZW50YXRp
b24gb2YgY29va2llcyBpbnRvIHRoZSBmaWxlCisrICAgICAgV3JpdGUgYSBKU09OIHJlcHJlc2Vu
dGF0aW9uIG9mIGNvb2tpZXMgaW50byB0aGUgZmlsZQorICAgICAgIGF0IHByb3ZpZGVkIHBhdGgu
CisgCisrICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjE0CisrCisrICAgICAgICAgUHJldmlv
dXNseSB1c2VkIHBpY2tsZSBmb3JtYXQuIE5vdyB1c2VzIEpTT04gZm9yIHNhZmUKKysgICAgICAg
ICBzZXJpYWxpemF0aW9uLgorKworICAgICAgIDpwYXJhbSBmaWxlX3BhdGg6IFBhdGggdG8gZmls
ZSB3aGVyZSBjb29raWVzIHdpbGwgYmUgc2VyaWFsaXplZCwKKyAgICAgICAgICAgOmNsYXNzOmBz
dHJgIG9yIDpjbGFzczpgcGF0aGxpYi5QYXRoYCBpbnN0YW5jZS4KKyAKKyAgICAuLiBtZXRob2Q6
OiBsb2FkKGZpbGVfcGF0aCkKKyAKKy0gICAgICBMb2FkIGEgcGlja2xlZCByZXByZXNlbnRhdGlv
biBvZiBjb29raWVzIGZyb20gdGhlIGZpbGUKKy0gICAgICBhdCBwcm92aWRlZCBwYXRoLgorKyAg
ICAgIExvYWQgY29va2llcyBmcm9tIHRoZSBmaWxlIGF0IHByb3ZpZGVkIHBhdGguIFRyaWVzIEpT
T04gZm9ybWF0CisrICAgICAgZmlyc3QsIHRoZW4gZmFsbHMgYmFjayB0byBsZWdhY3kgcGlja2xl
IGZvcm1hdCAodXNpbmcgYSByZXN0cmljdGVkCisrICAgICAgdW5waWNrbGVyIHRoYXQgb25seSBh
bGxvd3MgY29va2llLXJlbGF0ZWQgdHlwZXMpIGZvciBiYWNrd2FyZAorKyAgICAgIGNvbXBhdGli
aWxpdHkgd2l0aCBleGlzdGluZyBjb29raWUgZmlsZXMuCisrCisrICAgICAgLi4gdmVyc2lvbmNo
YW5nZWQ6OiAzLjE0CisrCisrICAgICAgICAgTm93IGxvYWRzIEpTT04gZm9ybWF0IGJ5IGRlZmF1
bHQuIEZhbGxzIGJhY2sgdG8gcmVzdHJpY3RlZAorKyAgICAgICAgIHBpY2tsZSBmb3IgZmlsZXMg
c2F2ZWQgYnkgb2xkZXIgdmVyc2lvbnMuCisgCisgICAgICAgOnBhcmFtIGZpbGVfcGF0aDogUGF0
aCB0byBmaWxlIGZyb20gd2hlcmUgY29va2llcyB3aWxsIGJlCisgICAgICAgICAgICBpbXBvcnRl
ZCwgOmNsYXNzOmBzdHJgIG9yIDpjbGFzczpgcGF0aGxpYi5QYXRoYCBpbnN0YW5jZS4KK2RpZmYg
LS1naXQgYS9kb2NzL3NwZWxsaW5nX3dvcmRsaXN0LnR4dCBiL2RvY3Mvc3BlbGxpbmdfd29yZGxp
c3QudHh0CitpbmRleCA3ODJjMmIzLi4wMjhjMTZhIDEwMDY0NAorLS0tIGEvZG9jcy9zcGVsbGlu
Z193b3JkbGlzdC50eHQKKysrKyBiL2RvY3Mvc3BlbGxpbmdfd29yZGxpc3QudHh0CitAQCAtOTcs
NiArOTcsNyBAQCBkZWR1cGxpY2F0ZQorIGRlZnMKKyBEZXBlbmRhYm90CisgZGVwcmVjYXRpb25z
CisrZGVzZXJpYWxpemF0aW9uCisgREVSCisgZGV2CisgRGV2CitAQCAtMjA2LDcgKzIwNyw4IEBA
IE11bHRpcGFydAorIG11c2xsaW51eAorIG15cHkKKyBOYWdsZQorLU5hZ2xl4oCZcworK05hZ2xl
J3MKKytORlMKKyBuYW1lZHR1cGxlCisgbmFtZXNlcnZlcnMKKyBuYW1lc3BhY2UKK0BAIC0yMjgs
NiArMjMwLDcgQEAgcGFyYW0KKyBwYXJhbXMKKyBwYXJzZXJzCisgcGF0aGxpYgorK3BheWxvYWRz
CisgcGVlcm5hbWUKKyBwZXJmb3JtYW50CisgcGlja2xlYWJsZQorQEAgLTM0MSw2ICszNDQsOCBA
QCB1bmhhbmRsZWQKKyB1bmljb2RlCisgdW5pdHRlc3QKKyBVbml0dGVzdAorK3VucGlja2xlcgor
K3VudHJ1c3RlZAorIHVuaXgKKyB1bnNldHMKKyB1bnN0cmlwcGVkCitkaWZmIC0tZ2l0IGEvdGVz
dHMvdGVzdF9jb29raWVqYXIucHkgYi90ZXN0cy90ZXN0X2Nvb2tpZWphci5weQoraW5kZXggMGI0
NDBiYy4uN2FjOTg3ZiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfY29va2llamFyLnB5CisrKysg
Yi90ZXN0cy90ZXN0X2Nvb2tpZWphci5weQorQEAgLTcsNiArNyw3IEBAIGltcG9ydCBwaWNrbGUK
KyBpbXBvcnQgdW5pdHRlc3QKKyBmcm9tIGh0dHAuY29va2llcyBpbXBvcnQgQmFzZUNvb2tpZSwg
TW9yc2VsLCBTaW1wbGVDb29raWUKKyBmcm9tIG9wZXJhdG9yIGltcG9ydCBub3RfCisrZnJvbSBw
YXRobGliIGltcG9ydCBQYXRoCisgZnJvbSB1bml0dGVzdCBpbXBvcnQgbW9jaworIAorIGltcG9y
dCBweXRlc3QKK0BAIC0xMTI3LDMgKzExMjgsMTkwIEBAIGFzeW5jIGRlZiB0ZXN0X3RyZWF0X2Fz
X3NlY3VyZV9vcmlnaW4oKSAtPiBOb25lOgorICAgICBhc3NlcnQgbGVuKGphcikgPT0gMQorICAg
ICBmaWx0ZXJlZF9jb29raWVzID0gamFyLmZpbHRlcl9jb29raWVzKHJlcXVlc3RfdXJsPWVuZHBv
aW50KQorICAgICBhc3NlcnQgbGVuKGZpbHRlcmVkX2Nvb2tpZXMpID09IDEKKysKKysKKysjID09
PSBTZWN1cml0eSB0ZXN0cyBmb3IgcmVzdHJpY3RlZCB1bnBpY2tsZXIgYW5kIEpTT04gc2F2ZS9s
b2FkID09PQorKworKworK2FzeW5jIGRlZiB0ZXN0X2xvYWRfcmVqZWN0c19tYWxpY2lvdXNfcGlj
a2xlKHRtcF9wYXRoOiBQYXRoKSAtPiBOb25lOgorKyAgICAiIiJWZXJpZnkgQ29va2llSmFyLmxv
YWQoKSBibG9ja3MgYXJiaXRyYXJ5IGNvZGUgZXhlY3V0aW9uIHZpYSBwaWNrbGUuCisrCisrICAg
IEEgY3JhZnRlZCBwaWNrbGUgcGF5bG9hZCB1c2luZyBvcy5zeXN0ZW0gKG9yIGFueSBub24tY29v
a2llIGNsYXNzKQorKyAgICBtdXN0IGJlIHJlamVjdGVkIGJ5IHRoZSByZXN0cmljdGVkIHVucGlj
a2xlci4KKysgICAgIiIiCisrICAgIGltcG9ydCBvcworKworKyAgICBmaWxlX3BhdGggPSB0bXBf
cGF0aCAvICJtYWxpY2lvdXMucGtsIgorKworKyAgICBjbGFzcyBSQ0VQYXlsb2FkOgorKyAgICAg
ICAgZGVmIF9fcmVkdWNlX18oc2VsZikgLT4gdHVwbGVbb2JqZWN0LCAuLi5dOgorKyAgICAgICAg
ICAgIHJldHVybiAob3Muc3lzdGVtLCAoImVjaG8gUFdORUQiLCkpCisrCisrICAgIHdpdGggb3Bl
bihmaWxlX3BhdGgsICJ3YiIpIGFzIGY6CisrICAgICAgICBwaWNrbGUuZHVtcChSQ0VQYXlsb2Fk
KCksIGYsIHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MKQorKworKyAgICBqYXIgPSBDb29raWVKYXIo
KQorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMocGlja2xlLlVucGlja2xpbmdFcnJvciwgbWF0Y2g9
IkZvcmJpZGRlbiBjbGFzcyIpOgorKyAgICAgICAgamFyLmxvYWQoZmlsZV9wYXRoKQorKworKwor
K2FzeW5jIGRlZiB0ZXN0X2xvYWRfcmVqZWN0c19ldmFsX3BheWxvYWQodG1wX3BhdGg6IFBhdGgp
IC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBDb29raWVKYXIubG9hZCgpIGJsb2NrcyBldmFsLWJh
c2VkIHBpY2tsZSBwYXlsb2Fkcy4iIiIKKysgICAgZmlsZV9wYXRoID0gdG1wX3BhdGggLyAiZXZh
bF9wYXlsb2FkLnBrbCIKKysKKysgICAgY2xhc3MgRXZhbFBheWxvYWQ6CisrICAgICAgICBkZWYg
X19yZWR1Y2VfXyhzZWxmKSAtPiB0dXBsZVtvYmplY3QsIC4uLl06CisrICAgICAgICAgICAgcmV0
dXJuIChldmFsLCAoIl9faW1wb3J0X18oJ29zJykuc3lzdGVtKCdlY2hvIFBXTkVEJykiLCkpCisr
CisrICAgIHdpdGggb3BlbihmaWxlX3BhdGgsICJ3YiIpIGFzIGY6CisrICAgICAgICBwaWNrbGUu
ZHVtcChFdmFsUGF5bG9hZCgpLCBmLCBwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCkKKysKKysgICAg
amFyID0gQ29va2llSmFyKCkKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKHBpY2tsZS5VbnBpY2ts
aW5nRXJyb3IsIG1hdGNoPSJGb3JiaWRkZW4gY2xhc3MiKToKKysgICAgICAgIGphci5sb2FkKGZp
bGVfcGF0aCkKKysKKysKKythc3luYyBkZWYgdGVzdF9sb2FkX3JlamVjdHNfc3VicHJvY2Vzc19w
YXlsb2FkKHRtcF9wYXRoOiBQYXRoKSAtPiBOb25lOgorKyAgICAiIiJWZXJpZnkgQ29va2llSmFy
LmxvYWQoKSBibG9ja3Mgc3VicHJvY2Vzcy1iYXNlZCBwaWNrbGUgcGF5bG9hZHMuIiIiCisrICAg
IGltcG9ydCBzdWJwcm9jZXNzCisrCisrICAgIGZpbGVfcGF0aCA9IHRtcF9wYXRoIC8gInN1YnBy
b2Nlc3NfcGF5bG9hZC5wa2wiCisrCisrICAgIGNsYXNzIFN1YnByb2Nlc3NQYXlsb2FkOgorKyAg
ICAgICAgZGVmIF9fcmVkdWNlX18oc2VsZikgLT4gdHVwbGVbb2JqZWN0LCAuLi5dOgorKyAgICAg
ICAgICAgIHJldHVybiAoc3VicHJvY2Vzcy5jYWxsLCAoWyJlY2hvIiwgIlBXTkVEIl0sKSkKKysK
KysgICAgd2l0aCBvcGVuKGZpbGVfcGF0aCwgIndiIikgYXMgZjoKKysgICAgICAgIHBpY2tsZS5k
dW1wKFN1YnByb2Nlc3NQYXlsb2FkKCksIGYsIHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MKQorKwor
KyAgICBqYXIgPSBDb29raWVKYXIoKQorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMocGlja2xlLlVu
cGlja2xpbmdFcnJvciwgbWF0Y2g9IkZvcmJpZGRlbiBjbGFzcyIpOgorKyAgICAgICAgamFyLmxv
YWQoZmlsZV9wYXRoKQorKworKworK2FzeW5jIGRlZiB0ZXN0X2xvYWRfZmFsbHNfYmFja190b19w
aWNrbGUoCisrICAgIHRtcF9wYXRoOiBQYXRoLAorKyAgICBjb29raWVzX3RvX3JlY2VpdmU6IFNp
bXBsZUNvb2tpZSwKKyspIC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBsb2FkKCkgZmFsbHMgYmFj
ayB0byByZXN0cmljdGVkIHBpY2tsZSBmb3IgbGVnYWN5IGNvb2tpZSBmaWxlcy4KKysKKysgICAg
RXhpc3RpbmcgY29va2llIGZpbGVzIHNhdmVkIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgYWlvaHR0
cCB1c2VkIHBpY2tsZS4KKysgICAgbG9hZCgpIHNob3VsZCBkZXRlY3QgdGhhdCB0aGUgZmlsZSBp
cyBub3QgSlNPTiBhbmQgZmFsbCBiYWNrIHRvIHRoZQorKyAgICByZXN0cmljdGVkIHBpY2tsZSB1
bnBpY2tsZXIgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCisrICAgICIiIgorKyAgICBmaWxl
X3BhdGggPSB0bXBfcGF0aCAvICJsZWdpdC5wa2wiCisrCisrICAgICMgV3JpdGUgYSBsZWdhY3kg
cGlja2xlIGZpbGUgZGlyZWN0bHkgKGFzIG9sZCBhaW9odHRwIHNhdmUoKSB3b3VsZCkKKysgICAg
amFyX3NhdmUgPSBDb29raWVKYXIoKQorKyAgICBqYXJfc2F2ZS51cGRhdGVfY29va2llcyhjb29r
aWVzX3RvX3JlY2VpdmUpCisrICAgIHdpdGggZmlsZV9wYXRoLm9wZW4obW9kZT0id2IiKSBhcyBm
OgorKyAgICAgICAgcGlja2xlLmR1bXAoamFyX3NhdmUuX2Nvb2tpZXMsIGYsIHBpY2tsZS5ISUdI
RVNUX1BST1RPQ09MKQorKworKyAgICBqYXJfbG9hZCA9IENvb2tpZUphcigpCisrICAgIGphcl9s
b2FkLmxvYWQoZmlsZV9wYXRoPWZpbGVfcGF0aCkKKysKKysgICAgamFyX3Rlc3QgPSBTaW1wbGVD
b29raWUoKQorKyAgICBmb3IgY29va2llIGluIGphcl9sb2FkOgorKyAgICAgICAgamFyX3Rlc3Rb
Y29va2llLmtleV0gPSBjb29raWUKKysKKysgICAgYXNzZXJ0IGphcl90ZXN0ID09IGNvb2tpZXNf
dG9fcmVjZWl2ZQorKworKworK2FzeW5jIGRlZiB0ZXN0X3NhdmVfbG9hZF9qc29uX3JvdW5kdHJp
cCgKKysgICAgdG1wX3BhdGg6IFBhdGgsCisrICAgIGNvb2tpZXNfdG9fcmVjZWl2ZTogU2ltcGxl
Q29va2llLAorKykgLT4gTm9uZToKKysgICAgIiIiVmVyaWZ5IHNhdmUvbG9hZCByb3VuZHRyaXAg
cHJlc2VydmVzIGNvb2tpZXMgdmlhIEpTT04gZm9ybWF0LiIiIgorKyAgICBmaWxlX3BhdGggPSB0
bXBfcGF0aCAvICJjb29raWVzLmpzb24iCisrCisrICAgIGphcl9zYXZlID0gQ29va2llSmFyKCkK
KysgICAgamFyX3NhdmUudXBkYXRlX2Nvb2tpZXMoY29va2llc190b19yZWNlaXZlKQorKyAgICBq
YXJfc2F2ZS5zYXZlKGZpbGVfcGF0aD1maWxlX3BhdGgpCisrCisrICAgIGphcl9sb2FkID0gQ29v
a2llSmFyKCkKKysgICAgamFyX2xvYWQubG9hZChmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKworKyAg
ICBzYXZlZF9jb29raWVzID0gU2ltcGxlQ29va2llKCkKKysgICAgZm9yIGNvb2tpZSBpbiBqYXJf
c2F2ZToKKysgICAgICAgIHNhdmVkX2Nvb2tpZXNbY29va2llLmtleV0gPSBjb29raWUKKysKKysg
ICAgbG9hZGVkX2Nvb2tpZXMgPSBTaW1wbGVDb29raWUoKQorKyAgICBmb3IgY29va2llIGluIGph
cl9sb2FkOgorKyAgICAgICAgbG9hZGVkX2Nvb2tpZXNbY29va2llLmtleV0gPSBjb29raWUKKysK
KysgICAgYXNzZXJ0IHNhdmVkX2Nvb2tpZXMgPT0gbG9hZGVkX2Nvb2tpZXMKKysKKysKKythc3lu
YyBkZWYgdGVzdF9zYXZlX2xvYWRfanNvbl9wYXJ0aXRpb25lZF9jb29raWVzKHRtcF9wYXRoOiBQ
YXRoKSAtPiBOb25lOgorKyAgICAiIiJWZXJpZnkgc2F2ZS9sb2FkIHJvdW5kdHJpcCB3b3JrcyB3
aXRoIHBhcnRpdGlvbmVkIGNvb2tpZXMuIiIiCisrICAgIGZpbGVfcGF0aCA9IHRtcF9wYXRoIC8g
InBhcnRpdGlvbmVkLmpzb24iCisrCisrICAgIGphcl9zYXZlID0gQ29va2llSmFyKCkKKysgICAg
c2MgPSBTaW1wbGVDb29raWUoKQorKyAgICBzYy5sb2FkKCJzZXNzaW9uPWNvb2tpZTsgUGFydGl0
aW9uZWQiKQorKyAgICBqYXJfc2F2ZS51cGRhdGVfY29va2llcyhzYywgVVJMKCJodHRwczovL2V4
YW1wbGUuY29tLyIpKQorKyAgICBqYXJfc2F2ZS5zYXZlKGZpbGVfcGF0aD1maWxlX3BhdGgpCisr
CisrICAgIGphcl9sb2FkID0gQ29va2llSmFyKCkKKysgICAgamFyX2xvYWQubG9hZChmaWxlX3Bh
dGg9ZmlsZV9wYXRoKQorKworKyAgICAjIENvbXBhcmUgaW5kaXZpZHVhbCBjb29raWUgdmFsdWVz
IChzYW1lIGFwcHJvYWNoIGFzIHRlc3Rfc2F2ZV9sb2FkX3BhcnRpdGlvbmVkX2Nvb2tpZXMpCisr
ICAgIHNhdmVkID0gbGlzdChqYXJfc2F2ZSkKKysgICAgbG9hZGVkID0gbGlzdChqYXJfbG9hZCkK
KysgICAgYXNzZXJ0IGxlbihzYXZlZCkgPT0gbGVuKGxvYWRlZCkKKysgICAgZm9yIHMsIGxvIGlu
IHppcChzYXZlZCwgbG9hZGVkKToKKysgICAgICAgIGFzc2VydCBzLmtleSA9PSBsby5rZXkKKysg
ICAgICAgIGFzc2VydCBzLnZhbHVlID09IGxvLnZhbHVlCisrICAgICAgICBhc3NlcnQgc1siZG9t
YWluIl0gPT0gbG9bImRvbWFpbiJdCisrICAgICAgICBhc3NlcnQgc1sicGF0aCJdID09IGxvWyJw
YXRoIl0KKysKKysKKythc3luYyBkZWYgdGVzdF9qc29uX2Zvcm1hdF9pc19zYWZlKHRtcF9wYXRo
OiBQYXRoKSAtPiBOb25lOgorKyAgICAiIiJWZXJpZnkgdGhlIEpTT04gZmlsZSBmb3JtYXQgY2Fu
bm90IGV4ZWN1dGUgY29kZSBvbiBsb2FkLiIiIgorKyAgICBpbXBvcnQganNvbgorKworKyAgICBm
aWxlX3BhdGggPSB0bXBfcGF0aCAvICJzYWZlLmpzb24iCisrCisrICAgICMgV3JpdGUgc29tZXRo
aW5nIHRoYXQgbWlnaHQgbG9vayBkYW5nZXJvdXMgYnV0IGlzIGp1c3QgZGF0YQorKyAgICBtYWxp
Y2lvdXNfZGF0YSA9IHsKKysgICAgICAgICJldmlsLmNvbXwvIjogeworKyAgICAgICAgICAgICJz
ZXNzaW9uIjogeworKyAgICAgICAgICAgICAgICAia2V5IjogInNlc3Npb24iLAorKyAgICAgICAg
ICAgICAgICAidmFsdWUiOiAiX19pbXBvcnRfXygnb3MnKS5zeXN0ZW0oJ2VjaG8gUFdORUQnKSIs
CisrICAgICAgICAgICAgICAgICJjb2RlZF92YWx1ZSI6ICJfX2ltcG9ydF9fKCdvcycpLnN5c3Rl
bSgnZWNobyBQV05FRCcpIiwKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisrICAgIH0KKysg
ICAgd2l0aCBvcGVuKGZpbGVfcGF0aCwgInciKSBhcyBmOgorKyAgICAgICAganNvbi5kdW1wKG1h
bGljaW91c19kYXRhLCBmKQorKworKyAgICBqYXIgPSBDb29raWVKYXIoKQorKyAgICBqYXIubG9h
ZChmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKworKyAgICAjIFRoZSAibWFsaWNpb3VzIiBzdHJpbmcg
aXMganVzdCBhIGNvb2tpZSB2YWx1ZSwgbm90IGV4ZWN1dGVkIGNvZGUKKysgICAgY29va2llcyA9
IGxpc3QoamFyKQorKyAgICBhc3NlcnQgbGVuKGNvb2tpZXMpID09IDEKKysgICAgYXNzZXJ0IGNv
b2tpZXNbMF0udmFsdWUgPT0gIl9faW1wb3J0X18oJ29zJykuc3lzdGVtKCdlY2hvIFBXTkVEJyki
CisrCisrCisrYXN5bmMgZGVmIHRlc3Rfc2F2ZV9sb2FkX2pzb25fc2VjdXJlX2Nvb2tpZXModG1w
X3BhdGg6IFBhdGgpIC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBzYXZlL2xvYWQgcHJlc2VydmVz
IFNlY3VyZSBhbmQgSHR0cE9ubHkgZmxhZ3MuIiIiCisrICAgIGZpbGVfcGF0aCA9IHRtcF9wYXRo
IC8gInNlY3VyZS5qc29uIgorKworKyAgICBqYXJfc2F2ZSA9IENvb2tpZUphcigpCisrICAgIHNj
ID0gU2ltcGxlQ29va2llKCkKKysgICAgc2MubG9hZCgidG9rZW49YWJjMTIzOyBTZWN1cmU7IEh0
dHBPbmx5OyBQYXRoPS87IERvbWFpbj1leGFtcGxlLmNvbSIpCisrICAgIGphcl9zYXZlLnVwZGF0
ZV9jb29raWVzKHNjLCBVUkwoImh0dHBzOi8vZXhhbXBsZS5jb20vIikpCisrICAgIGphcl9zYXZl
LnNhdmUoZmlsZV9wYXRoPWZpbGVfcGF0aCkKKysKKysgICAgamFyX2xvYWQgPSBDb29raWVKYXIo
KQorKyAgICBqYXJfbG9hZC5sb2FkKGZpbGVfcGF0aD1maWxlX3BhdGgpCisrCisrICAgIGxvYWRl
ZF9jb29raWVzID0gbGlzdChqYXJfbG9hZCkKKysgICAgYXNzZXJ0IGxlbihsb2FkZWRfY29va2ll
cykgPT0gMQorKyAgICBjb29raWUgPSBsb2FkZWRfY29va2llc1swXQorKyAgICBhc3NlcnQgY29v
a2llLmtleSA9PSAidG9rZW4iCisrICAgIGFzc2VydCBjb29raWUudmFsdWUgPT0gImFiYzEyMyIK
KysgICAgYXNzZXJ0IGNvb2tpZVsic2VjdXJlIl0gaXMgVHJ1ZQorKyAgICBhc3NlcnQgY29va2ll
WyJodHRwb25seSJdIGlzIFRydWUKKysgICAgYXNzZXJ0IGNvb2tpZVsiZG9tYWluIl0gPT0gImV4
YW1wbGUuY29tIgpkaWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hl
cy9DVkUtMjAyNi00NzI2NS5wYXRjaCBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRj
aGVzL0NWRS0yMDI2LTQ3MjY1LnBhdGNoCi0tLSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlh
bi9wYXRjaGVzL0NWRS0yMDI2LTQ3MjY1LnBhdGNoCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAw
MDAwICswMTAwCisrKyBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0y
MDI2LTQ3MjY1LnBhdGNoCTIwMjYtMDctMzEgMDM6NTA6MzIuMDAwMDAwMDAwICswMjAwCkBAIC0w
LDAgKzEsNTUgQEAKK0Zyb206IFNhbSBCdWxsIDxnaXRAc2FtYnVsbC5vcmc+CitEYXRlOiBUdWUs
IDE5IE1heSAyMDI2IDAxOjIzOjAwICswMTAwCitTdWJqZWN0OiBEcm9wIGNvb2tpZXMgb24gcmVk
aXJlY3QgKCMxMjU1MCkgKCMxMjY0MCkKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZDU3
ZWZiMDVmNTA3MzA3MWNlYjJkM2IzNWQ3MmQ5ZDBiYzQ1MTJhMikKKworUmV2aWV3ZWQtQnk6IERh
bmllbCBMZWlkZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1
Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9jb21taXQvZjU0YzQwODUxYjBkNmM0YmJkYWI5N2JhNTE4
YTIyM2FkZGEzMjQ3OAorQnVnOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9z
ZWN1cml0eS9hZHZpc29yaWVzL0dIU0EtaGc2ai00cnY2LTMzcGcKK0J1Zy1EZWJpYW4tU2VjdXJp
dHk6IGh0dHBzOi8vc2VjdXJpdHktdHJhY2tlci5kZWJpYW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYt
NDcyNjUKK0J1Zy1GcmVleGlhbi1TZWN1cml0eTogaHR0cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4
dGVuZGVkLWx0cy90cmFja2VyL0NWRS0yMDI2LTQ3MjY1CistLS0KKyBhaW9odHRwL2NsaWVudC5w
eSAgICAgICAgICAgICAgIHwgIDEgKworIHRlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0aW9uYWwucHkg
fCAxNiArKysrKysrKysrKysrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCsp
LCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWlvaHR0cC9jbGllbnQucHkgYi9haW9o
dHRwL2NsaWVudC5weQoraW5kZXggOGRhZjMyYy4uODc0ODc3YiAxMDA2NDQKKy0tLSBhL2Fpb2h0
dHAvY2xpZW50LnB5CisrKysgYi9haW9odHRwL2NsaWVudC5weQorQEAgLTgyMiw2ICs4MjIsNyBA
QCBjbGFzcyBDbGllbnRTZXNzaW9uOgorIAorICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHVy
bC5vcmlnaW4oKSAhPSByZWRpcmVjdF9vcmlnaW46CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGF1dGggPSBOb25lCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb2tpZXMgPSBO
b25lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnMucG9wKGhkcnMuQVVUSE9S
SVpBVElPTiwgTm9uZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycy5wb3Ao
aGRycy5DT09LSUUsIE5vbmUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnMu
cG9wKGhkcnMuUFJPWFlfQVVUSE9SSVpBVElPTiwgTm9uZSkKK2RpZmYgLS1naXQgYS90ZXN0cy90
ZXN0X2NsaWVudF9mdW5jdGlvbmFsLnB5IGIvdGVzdHMvdGVzdF9jbGllbnRfZnVuY3Rpb25hbC5w
eQoraW5kZXggNTc1M2UxOS4uMDNlYjJiZSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfY2xpZW50
X2Z1bmN0aW9uYWwucHkKKysrKyBiL3Rlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0aW9uYWwucHkKK0BA
IC0zMjY3LDggKzMyNjcsMjAgQEAgYXN5bmMgZGVmIHRlc3RfYXV0aF9wZXJzaXN0X29uX3JlZGly
ZWN0X3RvX290aGVyX2hvc3Rfd2l0aF9nbG9iYWxfYXV0aCgKKyAgICAgYXN5bmMgd2l0aCBhaW9o
dHRwLkNsaWVudFNlc3Npb24oCisgICAgICAgICBjb25uZWN0b3I9Y29ubmVjdG9yLCBhdXRoPWFp
b2h0dHAuQmFzaWNBdXRoKCJ1c2VyIiwgInBhc3MiKQorICAgICApIGFzIGNsaWVudDoKKy0gICAg
ICAgIHJlc3AgPSBhd2FpdCBjbGllbnQuZ2V0KHVybF9mcm9tKQorLSAgICAgICAgYXNzZXJ0IHJl
c3Auc3RhdHVzID09IDIwMAorKyAgICAgICAgYXN5bmMgd2l0aCBjbGllbnQuZ2V0KAorKyAgICAg
ICAgICAgIHVybF9mcm9tLAorKyAgICAgICAgICAgIGhlYWRlcnM9eworKyAgICAgICAgICAgICAg
ICAiUHJveHktQXV0aG9yaXphdGlvbiI6ICJCYXNpYyBkWE5sY2pwd1lYTnoiLAorKyAgICAgICAg
ICAgICAgICAiQ29va2llIjogImE9YiIsCisrICAgICAgICAgICAgfSwKKysgICAgICAgICkgYXMg
cmVzcDoKKysgICAgICAgICAgICBhc3NlcnQgcmVzcC5zdGF0dXMgPT0gMjAwCisrICAgICAgICBh
c3luYyB3aXRoIGNsaWVudC5nZXQoCisrICAgICAgICAgICAgdXJsX2Zyb20sCisrICAgICAgICAg
ICAgaGVhZGVycz17IlByb3h5LUF1dGhvcml6YXRpb24iOiAiQmFzaWMgZFhObGNqcHdZWE56In0s
CisrICAgICAgICAgICAgY29va2llcz17ImEiOiAiYiJ9LAorKyAgICAgICAgKSBhcyByZXNwOgor
KyAgICAgICAgICAgIGFzc2VydCByZXNwLnN0YXR1cyA9PSAyMDAKKyAKKyAKKyBhc3luYyBkZWYg
dGVzdF9kcm9wX2F1dGhfb25fcmVkaXJlY3RfdG9fb3RoZXJfaG9zdF93aXRoX2dsb2JhbF9hdXRo
X2FuZF9iYXNlX3VybCgKZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Bh
dGNoZXMvQ1ZFLTIwMjYtNTAyNjkucGF0Y2ggcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4v
cGF0Y2hlcy9DVkUtMjAyNi01MDI2OS5wYXRjaAotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9k
ZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi01MDI2OS5wYXRjaAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAw
MDAwMDAwMCArMDEwMAorKysgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9D
VkUtMjAyNi01MDI2OS5wYXRjaAkyMDI2LTA3LTMxIDAzOjUwOjMyLjAwMDAwMDAwMCArMDIwMApA
QCAtMCwwICsxLDc4IEBACitGcm9tOiAicGF0Y2hiYWNrW2JvdF0iIDw0NTQzMjY5NCtwYXRjaGJh
Y2tbYm90XUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUaHUsIDI4IE1heSAyMDI2
IDIzOjU3OjQxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFtQUiAjMTI3MTkvODc5ZDQ4ZDEgYmFj
a3BvcnRdWzMuMTRdIFJlamVjdCBpbnZhbGlkIGJ5dGVzIGluCisgbXVsdGlwYXJ0L3BheWxvYWQg
aGVhZGVycyAoIzEyNzIwKQorCisqKlRoaXMgaXMgYSBiYWNrcG9ydCBvZiBQUiAjMTI3MTkgYXMg
bWVyZ2VkIGludG8gbWFzdGVyCisoODc5ZDQ4ZDE2MTliOWJjMzY2MjAzN2FmY2I4YmZhNzkwYTIw
NWU5YikuKioKKworQ28tYXV0aG9yZWQtYnk6IFNhbSBCdWxsIDxnaXRAc2FtYnVsbC5vcmc+CisK
KworQ29tbWVudDogVGhlIG9yaWdpbmFsIHBhdGNoIGFsc28gYXBwbGllcyB0aGUgdGVzdCBjYXNl
cyB0byBudWxsIGJ5dGVzLgorSG93ZXZlciwgdGhhdCB3b3VsZCByZXF1aXJlIGJhY2twb3J0aW5n
IGFub3RoZXIgKG5vbi1DVkUpIHBhdGNoLiBTbywgd2Ugc3RheQord2l0aCB0aGUgb3JpZ2luYWwg
YmVoYXZpb3IsIHdoaWNoIGFsbG93cyBudWxsIGJ5dGVzLgoraHR0cHM6Ly9naXRodWIuY29tL2Fp
by1saWJzL2Fpb2h0dHAvY29tbWl0Lzc2NGE2YzgzYjY3NjNiNjRiNmY4ODIwMjAxYjMzNDkyMjY0
NjE3MGQKKworUmV2aWV3ZWQtQnk6IERhbmllbCBMZWlkZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3Jn
PgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9jb21taXQvYmY4
ODA3N2ViYjE0ZjRjMjk5MjRiOGU4OTA0Y2JhMjBjNTVjMjhiOAorQnVnOiBodHRwczovL2dpdGh1
Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0EtbTZxdy00Y3cy
LWhtNG0KK0J1Zy1EZWJpYW4tU2VjdXJpdHk6IGh0dHBzOi8vc2VjdXJpdHktdHJhY2tlci5kZWJp
YW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYtNTAyNjkKK0J1Zy1GcmVleGlhbi1TZWN1cml0eTogaHR0
cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVuZGVkLWx0cy90cmFja2VyL0NWRS0yMDI2LTUwMjY5
CistLS0KKyBhaW9odHRwL3BheWxvYWQucHkgICAgfCAgOCArKysrKy0tLQorIHRlc3RzL3Rlc3Rf
cGF5bG9hZC5weSB8IDE1ICsrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5z
ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Fpb2h0dHAvcGF5bG9h
ZC5weSBiL2Fpb2h0dHAvcGF5bG9hZC5weQoraW5kZXggM2Y2ZDM2Ny4uZDE0ZjI1ZSAxMDA2NDQK
Ky0tLSBhL2Fpb2h0dHAvcGF5bG9hZC5weQorKysrIGIvYWlvaHR0cC9wYXlsb2FkLnB5CitAQCAt
MzMsNiArMzMsNyBAQCBmcm9tIC5oZWxwZXJzIGltcG9ydCAoCisgICAgIHBhcnNlX21pbWV0eXBl
LAorICAgICBzZW50aW5lbCwKKyApCisrZnJvbSAuaHR0cF93cml0ZXIgaW1wb3J0IF9zYWZlX2hl
YWRlcgorIGZyb20gLnN0cmVhbXMgaW1wb3J0IFN0cmVhbVJlYWRlcgorIGZyb20gLnR5cGVkZWZz
IGltcG9ydCBKU09ORW5jb2RlciwgX0NJTXVsdGlEaWN0CisgCitAQCAtMjAxLDkgKzIwMiwxMCBA
QCBjbGFzcyBQYXlsb2FkKEFCQyk6CisgICAgIEBwcm9wZXJ0eQorICAgICBkZWYgX2JpbmFyeV9o
ZWFkZXJzKHNlbGYpIC0+IGJ5dGVzOgorICAgICAgICAgcmV0dXJuICgKKy0gICAgICAgICAgICAi
Ii5qb2luKFtrICsgIjogIiArIHYgKyAiXHJcbiIgZm9yIGssIHYgaW4gc2VsZi5oZWFkZXJzLml0
ZW1zKCldKS5lbmNvZGUoCistICAgICAgICAgICAgICAgICJ1dGYtOCIKKy0gICAgICAgICAgICAp
CisrICAgICAgICAgICAgIiIuam9pbigKKysgICAgICAgICAgICAgICAgX3NhZmVfaGVhZGVyKGsp
ICsgIjogIiArIF9zYWZlX2hlYWRlcih2KSArICJcclxuIgorKyAgICAgICAgICAgICAgICBmb3Ig
aywgdiBpbiBzZWxmLmhlYWRlcnMuaXRlbXMoKQorKyAgICAgICAgICAgICkuZW5jb2RlKCJ1dGYt
OCIpCisgICAgICAgICAgICAgKyBiIlxyXG4iCisgICAgICAgICApCisgCitkaWZmIC0tZ2l0IGEv
dGVzdHMvdGVzdF9wYXlsb2FkLnB5IGIvdGVzdHMvdGVzdF9wYXlsb2FkLnB5CitpbmRleCAwZTJk
YjkxLi5lYzJiZjdlIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF9wYXlsb2FkLnB5CisrKysgYi90
ZXN0cy90ZXN0X3BheWxvYWQucHkKK0BAIC01Nyw2ICs1NywyMSBAQCBkZWYgdGVzdF9wYXlsb2Fk
X2NvbnRlbnRfdHlwZSgpIC0+IE5vbmU6CisgICAgIGFzc2VydCBwLmNvbnRlbnRfdHlwZSA9PSAi
YXBwbGljYXRpb24vanNvbiIKKyAKKyAKKytAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImJhZF9i
eXRlIiwgKCJcciIsICJcbiIpKQorK2RlZiB0ZXN0X2JpbmFyeV9oZWFkZXJzX3JlamVjdF9pbmpl
Y3Rpb25faW5fdmFsdWUoYmFkX2J5dGU6IHN0cikgLT4gTm9uZToKKysgICAgcCA9IFBheWxvYWQo
InRlc3QiLCBoZWFkZXJzPXsiWC1DdXN0b20iOiBmInZhbHVle2JhZF9ieXRlfUluamVjdGVkOiBi
YWQifSkKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKFZhbHVlRXJyb3IsIG1hdGNoPSJoZWFkZXIg
aW5qZWN0aW9uIik6CisrICAgICAgICBwLl9iaW5hcnlfaGVhZGVycworKworKworK0BweXRlc3Qu
bWFyay5wYXJhbWV0cml6ZSgiYmFkX2J5dGUiLCAoIlxyIiwgIlxuIikpCisrZGVmIHRlc3RfYmlu
YXJ5X2hlYWRlcnNfcmVqZWN0X2luamVjdGlvbl9pbl9uYW1lKGJhZF9ieXRlOiBzdHIpIC0+IE5v
bmU6CisrICAgIHAgPSBQYXlsb2FkKCJ0ZXN0IikKKysgICAgcC5oZWFkZXJzW2YiWC1DdXN0b217
YmFkX2J5dGV9SW5qZWN0ZWQiXSA9ICJ2YWx1ZSIKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKFZh
bHVlRXJyb3IsIG1hdGNoPSJoZWFkZXIgaW5qZWN0aW9uIik6CisrICAgICAgICBwLl9iaW5hcnlf
aGVhZGVycworKworKworIGRlZiB0ZXN0X2J5dGVzX3BheWxvYWRfZGVmYXVsdF9jb250ZW50X3R5
cGUoKSAtPiBOb25lOgorICAgICBwID0gcGF5bG9hZC5CeXRlc1BheWxvYWQoYiJkYXRhIikKKyAg
ICAgYXNzZXJ0IHAuY29udGVudF90eXBlID09ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iCmRp
ZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTU0
Mjc0LnBhdGNoIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYt
NTQyNzQucGF0Y2gKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZF
LTIwMjYtNTQyNzQucGF0Y2gJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysr
IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzQucGF0
Y2gJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwyNDggQEAK
K0Zyb206ICJwYXRjaGJhY2tbYm90XSIgPDQ1NDMyNjk0K3BhdGNoYmFja1tib3RdQHVzZXJzLm5v
cmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgNiBKdW4gMjAyNiAwMDowNToxOSArMDEwMAor
U3ViamVjdDogW1BBVENIXSBbUFIgIzEyODE3LzY5MzQ0YzZlIGJhY2twb3J0XVszLjE0XSBJbXBy
b3ZlIHdlYnNvY2tldCBjaGVja3MKKyAoIzEyODE4KQorCisqKlRoaXMgaXMgYSBiYWNrcG9ydCBv
ZiBQUiAjMTI4MTcgYXMgbWVyZ2VkIGludG8gbWFzdGVyCisoNjkzNDRjNmVmYTNlNWRkODBiMWM4
ODA3OWZhMDZkNGU5MDJhM2I4MykuKioKKworQ28tYXV0aG9yZWQtYnk6IFNhbSBCdWxsIDxnaXRA
c2FtYnVsbC5vcmc+CisKK1Jldmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8ZGxlaWRlcnRAZGVi
aWFuLm9yZz4KK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvY29t
bWl0LzE0YjZlZTg1MWZiMTZlYzE5OWFjYjk1MGRlMGM4MmQ0NzY3OTllN2QKK0J1ZzogaHR0cHM6
Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLXhj
Z20tcjVoOS03OTg5CitCdWctRGViaWFuLVNlY3VyaXR5OiBodHRwczovL3NlY3VyaXR5LXRyYWNr
ZXIuZGViaWFuLm9yZy90cmFja2VyL0NWRS0yMDI2LTU0Mjc0CitCdWctRnJlZXhpYW4tU2VjdXJp
dHk6IGh0dHBzOi8vZGViLmZyZWV4aWFuLmNvbS9leHRlbmRlZC1sdHMvdHJhY2tlci9DVkUtMjAy
Ni01NDI3NAorLS0tCisgYWlvaHR0cC9fd2Vic29ja2V0L3JlYWRlcl9jLnB5ICB8IDQyICsrKysr
KysrKysrKysrKysrLS0tLS0tLS0KKyBhaW9odHRwL193ZWJzb2NrZXQvcmVhZGVyX3B5LnB5IHwg
NDIgKysrKysrKysrKysrKysrKystLS0tLS0tLQorIHRlc3RzL3Rlc3Rfd2Vic29ja2V0X3BhcnNl
ci5weSAgfCA2OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDMg
ZmlsZXMgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQorCitkaWZm
IC0tZ2l0IGEvYWlvaHR0cC9fd2Vic29ja2V0L3JlYWRlcl9jLnB5IGIvYWlvaHR0cC9fd2Vic29j
a2V0L3JlYWRlcl9jLnB5CitpbmRleCA5MmFkNDdhLi43ZTBjMjdiIDEwMDY0NAorLS0tIGEvYWlv
aHR0cC9fd2Vic29ja2V0L3JlYWRlcl9jLnB5CisrKysgYi9haW9odHRwL193ZWJzb2NrZXQvcmVh
ZGVyX2MucHkKK0BAIC0xOTEsMTIgKzE5MSw2IEBAIGNsYXNzIFdlYlNvY2tldFJlYWRlcjoKKyAg
ICAgICAgICAgICAgICAgICAgIGlmIG5vdCBpc19jb250aW51YXRpb246CisgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5fb3Bjb2RlID0gb3Bjb2RlCisgICAgICAgICAgICAgICAgICAgICBz
ZWxmLl9wYXJ0aWFsICs9IHBheWxvYWQKKy0gICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuX21h
eF9tc2dfc2l6ZSBhbmQgbGVuKHNlbGYuX3BhcnRpYWwpID49IHNlbGYuX21heF9tc2dfc2l6ZToK
Ky0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBXZWJTb2NrZXRFcnJvcigKKy0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgV1NDbG9zZUNvZGUuTUVTU0FHRV9UT09fQklHLAorLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmIk1lc3NhZ2Ugc2l6ZSB7bGVuKHNlbGYuX3BhcnRpYWwp
fSAiCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYiZXhjZWVkcyBsaW1pdCB7c2VsZi5f
bWF4X21zZ19zaXplfSIsCistICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
ICAgICAgICAgY29udGludWUKKyAKKyAgICAgICAgICAgICAgICAgaGFzX3BhcnRpYWwgPSBib29s
KHNlbGYuX3BhcnRpYWwpCitAQCAtMjI0LDEzICsyMTgsNiBAQCBjbGFzcyBXZWJTb2NrZXRSZWFk
ZXI6CisgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICBhc3NlbWJs
ZWRfcGF5bG9hZCA9IHBheWxvYWQKKyAKKy0gICAgICAgICAgICAgICAgaWYgc2VsZi5fbWF4X21z
Z19zaXplIGFuZCBsZW4oYXNzZW1ibGVkX3BheWxvYWQpID49IHNlbGYuX21heF9tc2dfc2l6ZToK
Ky0gICAgICAgICAgICAgICAgICAgIHJhaXNlIFdlYlNvY2tldEVycm9yKAorLSAgICAgICAgICAg
ICAgICAgICAgICAgIFdTQ2xvc2VDb2RlLk1FU1NBR0VfVE9PX0JJRywKKy0gICAgICAgICAgICAg
ICAgICAgICAgICBmIk1lc3NhZ2Ugc2l6ZSB7bGVuKGFzc2VtYmxlZF9wYXlsb2FkKX0gIgorLSAg
ICAgICAgICAgICAgICAgICAgICAgIGYiZXhjZWVkcyBsaW1pdCB7c2VsZi5fbWF4X21zZ19zaXpl
fSIsCistICAgICAgICAgICAgICAgICAgICApCistCisgICAgICAgICAgICAgICAgICMgRGVjb21w
cmVzcyBwcm9jZXNzIG11c3QgdG8gYmUgZG9uZSBhZnRlciBhbGwgcGFja2V0cworICAgICAgICAg
ICAgICAgICAjIHJlY2VpdmVkLgorICAgICAgICAgICAgICAgICBpZiBjb21wcmVzc2VkOgorQEAg
LTM1OCw2ICszNDUsMTkgQEAgY2xhc3MgV2ViU29ja2V0UmVhZGVyOgorICAgICAgICAgICAgICAg
ICAgICAgICAgICJSZWNlaXZlZCBmcmFtZSB3aXRoIG5vbi16ZXJvIHJlc2VydmVkIGJpdHMiLAor
ICAgICAgICAgICAgICAgICAgICAgKQorIAorKyAgICAgICAgICAgICAgICBpZiBvcGNvZGUgbm90
IGluIHsKKysgICAgICAgICAgICAgICAgICAgIE9QX0NPREVfQ09OVElOVUFUSU9OLAorKyAgICAg
ICAgICAgICAgICAgICAgT1BfQ09ERV9URVhULAorKyAgICAgICAgICAgICAgICAgICAgT1BfQ09E
RV9CSU5BUlksCisrICAgICAgICAgICAgICAgICAgICBPUF9DT0RFX0NMT1NFLAorKyAgICAgICAg
ICAgICAgICAgICAgT1BfQ09ERV9QSU5HLAorKyAgICAgICAgICAgICAgICAgICAgT1BfQ09ERV9Q
T05HLAorKyAgICAgICAgICAgICAgICB9OgorKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgV2Vi
U29ja2V0RXJyb3IoCisrICAgICAgICAgICAgICAgICAgICAgICAgV1NDbG9zZUNvZGUuUFJPVE9D
T0xfRVJST1IsCisrICAgICAgICAgICAgICAgICAgICAgICAgZiJVbmV4cGVjdGVkIG9wY29kZT17
b3Bjb2RlIXJ9IiwKKysgICAgICAgICAgICAgICAgICAgICkKKysKKyAgICAgICAgICAgICAgICAg
aWYgb3Bjb2RlID4gMHg3IGFuZCBmaW4gPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgIHJhaXNl
IFdlYlNvY2tldEVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgIFdTQ2xvc2VDb2RlLlBS
T1RPQ09MX0VSUk9SLAorQEAgLTQxMSw2ICs0MTEsMjIgQEAgY2xhc3MgV2ViU29ja2V0UmVhZGVy
OgorICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGF5
bG9hZF9sZW5ndGggPSBsZW5ndGhfZmxhZworIAorKyAgICAgICAgICAgICAgICAjIFJlamVjdCBv
dmVyc2l6ZWQgZGF0YSBmcmFtZXMgYmVmb3JlIGJ1ZmZlcmluZyBhbnkgcGF5bG9hZAorKyAgICAg
ICAgICAgICAgICAjIGJ5dGVzLiBDb250cm9sIGZyYW1lcyBhcmUgY2FwcGVkIGF0IDEyNSBieXRl
cyAoY2hlY2tlZCBpbgorKyAgICAgICAgICAgICAgICAjIFJFQURfSEVBREVSKSBzbyBvbmx5IHRl
eHQvYmluYXJ5L2NvbnRpbnVhdGlvbiBuZWVkIHRoaXMuCisrICAgICAgICAgICAgICAgIGlmIHNl
bGYuX21heF9tc2dfc2l6ZSBhbmQgc2VsZi5fZnJhbWVfb3Bjb2RlIGluIHsKKysgICAgICAgICAg
ICAgICAgICAgIE9QX0NPREVfVEVYVCwKKysgICAgICAgICAgICAgICAgICAgIE9QX0NPREVfQklO
QVJZLAorKyAgICAgICAgICAgICAgICAgICAgT1BfQ09ERV9DT05USU5VQVRJT04sCisrICAgICAg
ICAgICAgICAgIH06CisrICAgICAgICAgICAgICAgICAgICBwcm9qZWN0ZWRfc2l6ZSA9IHNlbGYu
X3BheWxvYWRfbGVuZ3RoICsgbGVuKHNlbGYuX3BhcnRpYWwpCisrICAgICAgICAgICAgICAgICAg
ICBpZiBwcm9qZWN0ZWRfc2l6ZSA+PSBzZWxmLl9tYXhfbXNnX3NpemU6CisrICAgICAgICAgICAg
ICAgICAgICAgICAgcmFpc2UgV2ViU29ja2V0RXJyb3IoCisrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdTQ2xvc2VDb2RlLk1FU1NBR0VfVE9PX0JJRywKKysgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZiJNZXNzYWdlIHNpemUge3Byb2plY3RlZF9zaXplfSAiCisrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGYiZXhjZWVkcyBsaW1pdCB7c2VsZi5fbWF4X21zZ19zaXplfSIsCisr
ICAgICAgICAgICAgICAgICAgICAgICAgKQorKworICAgICAgICAgICAgICAgICBzZWxmLl9zdGF0
ZSA9IFJFQURfUEFZTE9BRF9NQVNLIGlmIHNlbGYuX2hhc19tYXNrIGVsc2UgUkVBRF9QQVlMT0FE
CisgCisgICAgICAgICAgICAgIyByZWFkIHBheWxvYWQgbWFzaworZGlmZiAtLWdpdCBhL2Fpb2h0
dHAvX3dlYnNvY2tldC9yZWFkZXJfcHkucHkgYi9haW9odHRwL193ZWJzb2NrZXQvcmVhZGVyX3B5
LnB5CitpbmRleCA5MmFkNDdhLi43ZTBjMjdiIDEwMDY0NAorLS0tIGEvYWlvaHR0cC9fd2Vic29j
a2V0L3JlYWRlcl9weS5weQorKysrIGIvYWlvaHR0cC9fd2Vic29ja2V0L3JlYWRlcl9weS5weQor
QEAgLTE5MSwxMiArMTkxLDYgQEAgY2xhc3MgV2ViU29ja2V0UmVhZGVyOgorICAgICAgICAgICAg
ICAgICAgICAgaWYgbm90IGlzX2NvbnRpbnVhdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLl9vcGNvZGUgPSBvcGNvZGUKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BhcnRp
YWwgKz0gcGF5bG9hZAorLSAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fbWF4X21zZ19zaXpl
IGFuZCBsZW4oc2VsZi5fcGFydGlhbCkgPj0gc2VsZi5fbWF4X21zZ19zaXplOgorLSAgICAgICAg
ICAgICAgICAgICAgICAgIHJhaXNlIFdlYlNvY2tldEVycm9yKAorLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBXU0Nsb3NlQ29kZS5NRVNTQUdFX1RPT19CSUcsCistICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGYiTWVzc2FnZSBzaXplIHtsZW4oc2VsZi5fcGFydGlhbCl9ICIKKy0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZiJleGNlZWRzIGxpbWl0IHtzZWxmLl9tYXhfbXNnX3Np
emV9IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICBj
b250aW51ZQorIAorICAgICAgICAgICAgICAgICBoYXNfcGFydGlhbCA9IGJvb2woc2VsZi5fcGFy
dGlhbCkKK0BAIC0yMjQsMTMgKzIxOCw2IEBAIGNsYXNzIFdlYlNvY2tldFJlYWRlcjoKKyAgICAg
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgIGFzc2VtYmxlZF9wYXlsb2Fk
ID0gcGF5bG9hZAorIAorLSAgICAgICAgICAgICAgICBpZiBzZWxmLl9tYXhfbXNnX3NpemUgYW5k
IGxlbihhc3NlbWJsZWRfcGF5bG9hZCkgPj0gc2VsZi5fbWF4X21zZ19zaXplOgorLSAgICAgICAg
ICAgICAgICAgICAgcmFpc2UgV2ViU29ja2V0RXJyb3IoCistICAgICAgICAgICAgICAgICAgICAg
ICAgV1NDbG9zZUNvZGUuTUVTU0FHRV9UT09fQklHLAorLSAgICAgICAgICAgICAgICAgICAgICAg
IGYiTWVzc2FnZSBzaXplIHtsZW4oYXNzZW1ibGVkX3BheWxvYWQpfSAiCistICAgICAgICAgICAg
ICAgICAgICAgICAgZiJleGNlZWRzIGxpbWl0IHtzZWxmLl9tYXhfbXNnX3NpemV9IiwKKy0gICAg
ICAgICAgICAgICAgICAgICkKKy0KKyAgICAgICAgICAgICAgICAgIyBEZWNvbXByZXNzIHByb2Nl
c3MgbXVzdCB0byBiZSBkb25lIGFmdGVyIGFsbCBwYWNrZXRzCisgICAgICAgICAgICAgICAgICMg
cmVjZWl2ZWQuCisgICAgICAgICAgICAgICAgIGlmIGNvbXByZXNzZWQ6CitAQCAtMzU4LDYgKzM0
NSwxOSBAQCBjbGFzcyBXZWJTb2NrZXRSZWFkZXI6CisgICAgICAgICAgICAgICAgICAgICAgICAg
IlJlY2VpdmVkIGZyYW1lIHdpdGggbm9uLXplcm8gcmVzZXJ2ZWQgYml0cyIsCisgICAgICAgICAg
ICAgICAgICAgICApCisgCisrICAgICAgICAgICAgICAgIGlmIG9wY29kZSBub3QgaW4geworKyAg
ICAgICAgICAgICAgICAgICAgT1BfQ09ERV9DT05USU5VQVRJT04sCisrICAgICAgICAgICAgICAg
ICAgICBPUF9DT0RFX1RFWFQsCisrICAgICAgICAgICAgICAgICAgICBPUF9DT0RFX0JJTkFSWSwK
KysgICAgICAgICAgICAgICAgICAgIE9QX0NPREVfQ0xPU0UsCisrICAgICAgICAgICAgICAgICAg
ICBPUF9DT0RFX1BJTkcsCisrICAgICAgICAgICAgICAgICAgICBPUF9DT0RFX1BPTkcsCisrICAg
ICAgICAgICAgICAgIH06CisrICAgICAgICAgICAgICAgICAgICByYWlzZSBXZWJTb2NrZXRFcnJv
cigKKysgICAgICAgICAgICAgICAgICAgICAgICBXU0Nsb3NlQ29kZS5QUk9UT0NPTF9FUlJPUiwK
KysgICAgICAgICAgICAgICAgICAgICAgICBmIlVuZXhwZWN0ZWQgb3Bjb2RlPXtvcGNvZGUhcn0i
LAorKyAgICAgICAgICAgICAgICAgICAgKQorKworICAgICAgICAgICAgICAgICBpZiBvcGNvZGUg
PiAweDcgYW5kIGZpbiA9PSAwOgorICAgICAgICAgICAgICAgICAgICAgcmFpc2UgV2ViU29ja2V0
RXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgV1NDbG9zZUNvZGUuUFJPVE9DT0xfRVJS
T1IsCitAQCAtNDExLDYgKzQxMSwyMiBAQCBjbGFzcyBXZWJTb2NrZXRSZWFkZXI6CisgICAgICAg
ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXlsb2FkX2xlbmd0
aCA9IGxlbmd0aF9mbGFnCisgCisrICAgICAgICAgICAgICAgICMgUmVqZWN0IG92ZXJzaXplZCBk
YXRhIGZyYW1lcyBiZWZvcmUgYnVmZmVyaW5nIGFueSBwYXlsb2FkCisrICAgICAgICAgICAgICAg
ICMgYnl0ZXMuIENvbnRyb2wgZnJhbWVzIGFyZSBjYXBwZWQgYXQgMTI1IGJ5dGVzIChjaGVja2Vk
IGluCisrICAgICAgICAgICAgICAgICMgUkVBRF9IRUFERVIpIHNvIG9ubHkgdGV4dC9iaW5hcnkv
Y29udGludWF0aW9uIG5lZWQgdGhpcy4KKysgICAgICAgICAgICAgICAgaWYgc2VsZi5fbWF4X21z
Z19zaXplIGFuZCBzZWxmLl9mcmFtZV9vcGNvZGUgaW4geworKyAgICAgICAgICAgICAgICAgICAg
T1BfQ09ERV9URVhULAorKyAgICAgICAgICAgICAgICAgICAgT1BfQ09ERV9CSU5BUlksCisrICAg
ICAgICAgICAgICAgICAgICBPUF9DT0RFX0NPTlRJTlVBVElPTiwKKysgICAgICAgICAgICAgICAg
fToKKysgICAgICAgICAgICAgICAgICAgIHByb2plY3RlZF9zaXplID0gc2VsZi5fcGF5bG9hZF9s
ZW5ndGggKyBsZW4oc2VsZi5fcGFydGlhbCkKKysgICAgICAgICAgICAgICAgICAgIGlmIHByb2pl
Y3RlZF9zaXplID49IHNlbGYuX21heF9tc2dfc2l6ZToKKysgICAgICAgICAgICAgICAgICAgICAg
ICByYWlzZSBXZWJTb2NrZXRFcnJvcigKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1ND
bG9zZUNvZGUuTUVTU0FHRV9UT09fQklHLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
Ik1lc3NhZ2Ugc2l6ZSB7cHJvamVjdGVkX3NpemV9ICIKKysgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZiJleGNlZWRzIGxpbWl0IHtzZWxmLl9tYXhfbXNnX3NpemV9IiwKKysgICAgICAgICAg
ICAgICAgICAgICAgICApCisrCisgICAgICAgICAgICAgICAgIHNlbGYuX3N0YXRlID0gUkVBRF9Q
QVlMT0FEX01BU0sgaWYgc2VsZi5faGFzX21hc2sgZWxzZSBSRUFEX1BBWUxPQUQKKyAKKyAgICAg
ICAgICAgICAjIHJlYWQgcGF5bG9hZCBtYXNrCitkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF93ZWJz
b2NrZXRfcGFyc2VyLnB5IGIvdGVzdHMvdGVzdF93ZWJzb2NrZXRfcGFyc2VyLnB5CitpbmRleCA3
ZjhiOThkLi5lYjMzNDYxIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF93ZWJzb2NrZXRfcGFyc2Vy
LnB5CisrKysgYi90ZXN0cy90ZXN0X3dlYnNvY2tldF9wYXJzZXIucHkKK0BAIC01ODAsNiArNTgw
LDc0IEBAIGRlZiB0ZXN0X2NvbXByZXNzZWRfbXNnX3Rvb19sYXJnZShvdXQpIC0+IE5vbmU6Cisg
ICAgIGFzc2VydCBjdHgudmFsdWUuY29kZSA9PSBXU0Nsb3NlQ29kZS5NRVNTQUdFX1RPT19CSUcK
KyAKKyAKKytAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImZpbiIsICgweDgwLCAweDAwKSwgaWRz
PSgiZmluIiwgIm5vbi1maW4iKSkKKytkZWYgdGVzdF9tc2dfdG9vX2xhcmdlX2F0X2hlYWRlcihv
dXQ6IFdlYlNvY2tldERhdGFRdWV1ZSwgZmluOiBpbnQpIC0+IE5vbmU6CisrICAgIG1heF9tc2df
c2l6ZSA9IDI1NgorKyAgICBwYXJzZXIgPSBXZWJTb2NrZXRSZWFkZXIob3V0LCBtYXhfbXNnX3Np
emUsIGNvbXByZXNzPUZhbHNlKQorKworKyAgICAjIEhlYWRlciBhbG9uZTogVEVYVCwgNjQtYml0
IGxlbmd0aCwgZGVjbGFyZXMgMSBNaUIgb2YgcGF5bG9hZC4KKysgICAgaGVhZGVyID0gUEFDS19M
RU4zKGZpbiB8IFdTTXNnVHlwZS5URVhULCAxMjcsIDEwMjQgKiAxMDI0KQorKyAgICB3aXRoIHB5
dGVzdC5yYWlzZXMoCisrICAgICAgICBXZWJTb2NrZXRFcnJvciwgbWF0Y2g9ciJeTWVzc2FnZSBz
aXplIDEwNDg1NzYgZXhjZWVkcyBsaW1pdCAyNTYkIgorKyAgICApIGFzIGN0eDoKKysgICAgICAg
IHBhcnNlci5fZmVlZF9kYXRhKGhlYWRlcikKKysgICAgYXNzZXJ0IGN0eC52YWx1ZS5jb2RlID09
IFdTQ2xvc2VDb2RlLk1FU1NBR0VfVE9PX0JJRworKworKworK2RlZiB0ZXN0X21zZ190b29fbGFy
Z2VfYWNyb3NzX2ZyYWdtZW50cyhvdXQ6IFdlYlNvY2tldERhdGFRdWV1ZSkgLT4gTm9uZToKKysg
ICAgIyBJbmRpdmlkdWFsIGZyYWdtZW50cyBmaXQgdW5kZXIgbWF4X21zZ19zaXplIGJ1dCBhY2N1
bXVsYXRlIHBhc3QgaXQuCisrICAgIG1heF9tc2dfc2l6ZSA9IDI1NgorKyAgICBwYXJzZXIgPSBX
ZWJTb2NrZXRSZWFkZXIob3V0LCBtYXhfbXNnX3NpemUsIGNvbXByZXNzPUZhbHNlKQorKworKyAg
ICBmaXJzdCA9IGJ1aWxkX2ZyYW1lKGIiYSIgKiAxMDAsIFdTTXNnVHlwZS5URVhULCBpc19maW49
RmFsc2UpCisrICAgIHBhcnNlci5fZmVlZF9kYXRhKGZpcnN0KQorKyAgICBtaWRkbGUgPSBidWls
ZF9mcmFtZShiImIiICogMTAwLCBXU01zZ1R5cGUuQ09OVElOVUFUSU9OLCBpc19maW49RmFsc2Up
CisrICAgIHBhcnNlci5fZmVlZF9kYXRhKG1pZGRsZSkKKysKKysgICAgIyBUaGlyZCAxMDAtYnl0
ZSBmcmFnbWVudCB3b3VsZCBwdXNoIHRoZSBhY2N1bXVsYXRlZCB0b3RhbCB0byAzMDAuCisrICAg
IGxhc3QgPSBidWlsZF9mcmFtZShiImMiICogMTAwLCBXU01zZ1R5cGUuQ09OVElOVUFUSU9OLCBp
c19maW49RmFsc2UpCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcygKKysgICAgICAgIFdlYlNvY2tl
dEVycm9yLCBtYXRjaD1yIl5NZXNzYWdlIHNpemUgMzAwIGV4Y2VlZHMgbGltaXQgMjU2JCIKKysg
ICAgKSBhcyBjdHg6CisrICAgICAgICBwYXJzZXIuX2ZlZWRfZGF0YShsYXN0KQorKyAgICBhc3Nl
cnQgY3R4LnZhbHVlLmNvZGUgPT0gV1NDbG9zZUNvZGUuTUVTU0FHRV9UT09fQklHCisrCisrCisr
ZGVmIHRlc3RfbXNnX3Rvb19sYXJnZV90ZXh0X2FmdGVyX25vbl9maW5fdGV4dChvdXQ6IFdlYlNv
Y2tldERhdGFRdWV1ZSkgLT4gTm9uZToKKysgICAgIyBQcm90b2NvbC12aW9sYXRpbmcgc2VxdWVu
Y2U6IGEgZnJlc2ggVEVYVCBhcnJpdmVzIHdoaWxlIGEgZnJhZ21lbnRlZAorKyAgICAjIG1lc3Nh
Z2UgaXMgc3RpbGwgb3Blbi4KKysgICAgbWF4X21zZ19zaXplID0gMjU2CisrICAgIHBhcnNlciA9
IFdlYlNvY2tldFJlYWRlcihvdXQsIG1heF9tc2dfc2l6ZSwgY29tcHJlc3M9RmFsc2UpCisrCisr
ICAgIGZpcnN0ID0gYnVpbGRfZnJhbWUoYiJhIiAqIDIwMCwgV1NNc2dUeXBlLlRFWFQsIGlzX2Zp
bj1GYWxzZSkKKysgICAgcGFyc2VyLl9mZWVkX2RhdGEoZmlyc3QpCisrCisrICAgICMgU2Vjb25k
IFRFWFQgaGVhZGVyIGFsb25lIGFubm91bmNlcyAxMDAgYnl0ZXM7IDEwMCArIDIwMCBwYXJ0aWFs
ID0gMzAwLgorKyAgICBzZWNvbmRfaGVhZGVyID0gUEFDS19MRU4xKFdTTXNnVHlwZS5URVhULCAx
MDApCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcygKKysgICAgICAgIFdlYlNvY2tldEVycm9yLCBt
YXRjaD1yIl5NZXNzYWdlIHNpemUgMzAwIGV4Y2VlZHMgbGltaXQgMjU2JCIKKysgICAgKSBhcyBj
dHg6CisrICAgICAgICBwYXJzZXIuX2ZlZWRfZGF0YShzZWNvbmRfaGVhZGVyKQorKyAgICBhc3Nl
cnQgY3R4LnZhbHVlLmNvZGUgPT0gV1NDbG9zZUNvZGUuTUVTU0FHRV9UT09fQklHCisrCisrCisr
QHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKAorKyAgICAib3Bjb2RlIiwKKysgICAgKDB4MywgMHg0
LCAweDUsIDB4NiwgMHg3LCAweEIsIDB4QywgMHhELCAweEUsIDB4RiksCisrICAgIGlkcz1sYW1i
ZGEgdjogZiIweHt2Onh9IiwKKyspCisrZGVmIHRlc3RfcmVzZXJ2ZWRfb3Bjb2RlX3JlamVjdGVk
X2F0X2hlYWRlcigKKysgICAgb3V0OiBXZWJTb2NrZXREYXRhUXVldWUsIG9wY29kZTogaW50Cisr
KSAtPiBOb25lOgorKyAgICAjIFJGQyA2NDU1IHJlc2VydmVzIG9wY29kZXMgMHgzLTB4NyAobm9u
LWNvbnRyb2wpIGFuZCAweEItMHhGIChjb250cm9sKS4KKysgICAgcGFyc2VyID0gV2ViU29ja2V0
UmVhZGVyKG91dCwgbWF4X21zZ19zaXplPTI1NiwgY29tcHJlc3M9RmFsc2UpCisrCisrICAgIGhl
YWRlciA9IFBBQ0tfTEVOMygweDgwIHwgb3Bjb2RlLCAxMjcsIDEwMjQgKiAxMDI0KQorKyAgICB3
aXRoIHB5dGVzdC5yYWlzZXMoV2ViU29ja2V0RXJyb3IsIG1hdGNoPXJmIl5VbmV4cGVjdGVkIG9w
Y29kZT17b3Bjb2RlfSQiKSBhcyBjdHg6CisrICAgICAgICBwYXJzZXIuX2ZlZWRfZGF0YShoZWFk
ZXIpCisrICAgIGFzc2VydCBjdHgudmFsdWUuY29kZSA9PSBXU0Nsb3NlQ29kZS5QUk9UT0NPTF9F
UlJPUgorKworKworIGNsYXNzIFRlc3RXZWJTb2NrZXRFcnJvcjoKKyAgICAgZGVmIHRlc3RfY3Rv
cihzZWxmKSAtPiBOb25lOgorICAgICAgICAgZXJyID0gV2ViU29ja2V0RXJyb3IoV1NDbG9zZUNv
ZGUuUFJPVE9DT0xfRVJST1IsICJTb21ldGhpbmcgaW52YWxpZCIpCmRpZmYgLU5ydSBweXRob24t
YWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTU0Mjc1LnBhdGNoIHB5dGhv
bi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzUucGF0Y2gKLS0t
IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzUucGF0
Y2gJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9odHRw
LTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzUucGF0Y2gJMjAyNi0wNy0zMSAw
Mzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwxMjYgQEAKK0Zyb206ICJKLiBOaWNr
IEtvc3RvbiIgPG5pY2tAa29zdG9uLm9yZz4KK0RhdGU6IFN1biwgNyBKdW4gMjAyNiAwMDozMDoz
MCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBbUFIgIzEyODM1LzFlOTRiM2U4IGJhY2twb3J0XVsz
LjE0XSBUbHMgc2VydmVyIGhvc3RuYW1lIHBvb2wKKyBrZXkgKCMxMjg0NykKKworUmV2aWV3ZWQt
Qnk6IERhbmllbCBMZWlkZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczov
L2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9jb21taXQvMGNhMmI2YzI4YTI1NzI2NTI3YThi
NjBmMjU5NjAyNjJhOTFlZDBlMAorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMv
YWlvaHR0cC9jb21taXQvMGMxNjEwMjViNWYwZjE1ZjEzZTY2Y2MxY2JhOTA2ZTI0MjhjYzI3NiAo
cGFydGlhbGx5KQorQnVnOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1
cml0eS9hZHZpc29yaWVzL0dIU0EtNG03dy1xbWdxLTR3ajUKK0J1Zy1EZWJpYW4tU2VjdXJpdHk6
IGh0dHBzOi8vc2VjdXJpdHktdHJhY2tlci5kZWJpYW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYtNTQy
NzUKK0J1Zy1GcmVleGlhbi1TZWN1cml0eTogaHR0cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVu
ZGVkLWx0cy90cmFja2VyL0NWRS0yMDI2LTU0Mjc1CistLS0KKyBhaW9odHRwL2NsaWVudF9yZXFy
ZXAucHkgICAgICAgIHwgIDIgKysKKyB0ZXN0cy90ZXN0X2NsaWVudF9mdW5jdGlvbmFsLnB5IHwg
MzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIHRlc3RzL3Rlc3RfY2xpZW50X3Jl
cXVlc3QucHkgICAgfCAyMiArKysrKysrKysrKysrKysrKysrKystCisgMyBmaWxlcyBjaGFuZ2Vk
LCA1NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRw
L2NsaWVudF9yZXFyZXAucHkgYi9haW9odHRwL2NsaWVudF9yZXFyZXAucHkKK2luZGV4IDQzYjQ4
MDYuLmVhOWMzY2QgMTAwNjQ0CistLS0gYS9haW9odHRwL2NsaWVudF9yZXFyZXAucHkKKysrKyBi
L2Fpb2h0dHAvY2xpZW50X3JlcXJlcC5weQorQEAgLTI0Miw2ICsyNDIsNyBAQCBjbGFzcyBDb25u
ZWN0aW9uS2V5KE5hbWVkVHVwbGUpOgorICAgICBwcm94eTogT3B0aW9uYWxbVVJMXQorICAgICBw
cm94eV9hdXRoOiBPcHRpb25hbFtCYXNpY0F1dGhdCisgICAgIHByb3h5X2hlYWRlcnNfaGFzaDog
T3B0aW9uYWxbaW50XSAgIyBoYXNoKENJTXVsdGlEaWN0KQorKyAgICBzZXJ2ZXJfaG9zdG5hbWU6
IHN0ciB8IE5vbmUgPSBOb25lCisgCisgCisgZGVmIF9pc19leHBlY3RlZF9jb250ZW50X3R5cGUo
CitAQCAtNDAzLDYgKzQwNCw3IEBAIGNsYXNzIENsaWVudFJlcXVlc3Q6CisgICAgICAgICAgICAg
ICAgIHNlbGYucHJveHksCisgICAgICAgICAgICAgICAgIHNlbGYucHJveHlfYXV0aCwKKyAgICAg
ICAgICAgICAgICAgaCwKKysgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaG9zdG5hbWUsCisg
ICAgICAgICAgICAgKSwKKyAgICAgICAgICkKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X2Ns
aWVudF9mdW5jdGlvbmFsLnB5IGIvdGVzdHMvdGVzdF9jbGllbnRfZnVuY3Rpb25hbC5weQoraW5k
ZXggMDNlYjJiZS4uOWI0MmY0YSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0
aW9uYWwucHkKKysrKyBiL3Rlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0aW9uYWwucHkKK0BAIC0yNzUs
NiArMjc1LDM3IEBAIGFzeW5jIGRlZiB0ZXN0X2tlZXBhbGl2ZV90aW1lb3V0X2FzeW5jX3NsZWVw
KCkgLT4gTm9uZToKKyAgICAgICAgIGF3YWl0IGFzeW5jaW8uZ2F0aGVyKHJ1bm5lci5zaHV0ZG93
bigpLCBzaXRlLnN0b3AoKSkKKyAKKyAKKythc3luYyBkZWYgdGVzdF9zZXJ2ZXJfaG9zdG5hbWVf
b3ZlcnJpZGVfbm90X3JldXNlZCgKKysgICAgYWlvaHR0cF9zZXJ2ZXI6IEFpb2h0dHBTZXJ2ZXIs
CisrKSAtPiBOb25lOgorKyAgICAiIiJBIHBvb2xlZCBUTFMgY29ubmVjdGlvbiBtdXN0IG5vdCBi
ZSByZXVzZWQgZm9yIGEgZGlmZmVyZW50IHNlcnZlcl9ob3N0bmFtZS4iIiIKKysgICAgdHJ1c3Rt
ZSA9IHB5dGVzdC5pbXBvcnRvcnNraXAoInRydXN0bWUiKQorKworKyAgICBjYSA9IHRydXN0bWUu
Q0EoKQorKyAgICBjZXJ0ID0gY2EuaXNzdWVfY2VydCgiZmlyc3QuZXhhbXBsZSIpCisrICAgIHNl
cnZlcl9jdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTX1NFUlZFUikKKysgICAg
Y2VydC5jb25maWd1cmVfY2VydChzZXJ2ZXJfY3R4KQorKyAgICBjbGllbnRfY3R4ID0gc3NsLmNy
ZWF0ZV9kZWZhdWx0X2NvbnRleHQocHVycG9zZT1zc2wuUHVycG9zZS5TRVJWRVJfQVVUSCkKKysg
ICAgY2EuY29uZmlndXJlX3RydXN0KGNsaWVudF9jdHgpCisrCisrICAgIGFzeW5jIGRlZiBoYW5k
bGVyKHJlcXVlc3Q6IHdlYi5SZXF1ZXN0KSAtPiB3ZWIuUmVzcG9uc2U6CisrICAgICAgICByZXR1
cm4gd2ViLlJlc3BvbnNlKHRleHQ9Im9rIikKKysKKysgICAgYXBwID0gd2ViLkFwcGxpY2F0aW9u
KCkKKysgICAgYXBwLnJvdXRlci5hZGRfcm91dGUoIkdFVCIsICIvIiwgaGFuZGxlcikKKysgICAg
c2VydmVyID0gYXdhaXQgYWlvaHR0cF9zZXJ2ZXIoYXBwLCBzc2w9c2VydmVyX2N0eCkKKysgICAg
dXJsID0gc2VydmVyLm1ha2VfdXJsKCIvIikKKysKKysgICAgY29ubmVjdG9yID0gYWlvaHR0cC5U
Q1BDb25uZWN0b3Ioc3NsPWNsaWVudF9jdHgsIGxpbWl0PTEsIGxpbWl0X3Blcl9ob3N0PTEpCisr
ICAgIGFzeW5jIHdpdGggYWlvaHR0cC5DbGllbnRTZXNzaW9uKGNvbm5lY3Rvcj1jb25uZWN0b3Ip
IGFzIHNlc3Npb246CisrICAgICAgICBhc3luYyB3aXRoIHNlc3Npb24uZ2V0KHVybCwgc2VydmVy
X2hvc3RuYW1lPSJmaXJzdC5leGFtcGxlIikgYXMgcmVzcDoKKysgICAgICAgICAgICBhc3NlcnQg
cmVzcC5zdGF0dXMgPT0gMjAwCisrICAgICAgICAgICAgYXdhaXQgcmVzcC5yZWFkKCkKKysKKysg
ICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhhaW9odHRwLkNsaWVudENvbm5lY3RvckNlcnRpZmlj
YXRlRXJyb3IpOgorKyAgICAgICAgICAgIGF3YWl0IHNlc3Npb24uZ2V0KHVybCwgc2VydmVyX2hv
c3RuYW1lPSJzZWNvbmQuZXhhbXBsZSIpCisrCisrCisgQHB5dGVzdC5tYXJrLnNraXBpZigKKyAg
ICAgc3lzLnZlcnNpb25faW5mb1s6Ml0gPT0gKDMsIDExKSwKKyAgICAgcmVhc29uPSJodHRwczov
L2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzEwNzYzIiwKK2RpZmYgLS1naXQg
YS90ZXN0cy90ZXN0X2NsaWVudF9yZXF1ZXN0LnB5IGIvdGVzdHMvdGVzdF9jbGllbnRfcmVxdWVz
dC5weQoraW5kZXggZjg2ZmY1ZC4uNzQzYTJiZCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfY2xp
ZW50X3JlcXVlc3QucHkKKysrKyBiL3Rlc3RzL3Rlc3RfY2xpZW50X3JlcXVlc3QucHkKK0BAIC02
LDcgKzYsNyBAQCBpbXBvcnQgc3lzCisgaW1wb3J0IHVybGxpYi5wYXJzZQorIGltcG9ydCB6bGli
CisgZnJvbSBodHRwLmNvb2tpZXMgaW1wb3J0IEJhc2VDb29raWUsIE1vcnNlbCwgU2ltcGxlQ29v
a2llCistZnJvbSB0eXBpbmcgaW1wb3J0IEFueSwgQ2FsbGFibGUsIERpY3QsIEl0ZXJhYmxlLCBP
cHRpb25hbAorK2Zyb20gdHlwaW5nIGltcG9ydCBBbnksIENhbGxhYmxlLCBEaWN0LCBJdGVyYWJs
ZSwgT3B0aW9uYWwsIFByb3RvY29sCisgZnJvbSB1bml0dGVzdCBpbXBvcnQgbW9jaworIAorIGlt
cG9ydCBweXRlc3QKK0BAIC0yNyw2ICsyNywxMCBAQCBmcm9tIGFpb2h0dHAuaHR0cCBpbXBvcnQg
SHR0cFZlcnNpb24xMCwgSHR0cFZlcnNpb24xMQorIGZyb20gYWlvaHR0cC50ZXN0X3V0aWxzIGlt
cG9ydCBtYWtlX21vY2tlZF9jb3JvCisgCisgCisrY2xhc3MgX1JlcXVlc3RNYWtlcihQcm90b2Nv
bCk6CisrICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBtZXRob2Q6IHN0ciwgdXJsOiBzdHIsICoqa3dh
cmdzOiBBbnkpIC0+IENsaWVudFJlcXVlc3Q6IC4uLgorKworKworIGNsYXNzIFdyaXRlck1vY2so
bW9jay5Bc3luY01vY2spOgorICAgICBkZWYgX19hd2FpdF9fKHNlbGYpIC0+IE5vbmU6CisgICAg
ICAgICByZXR1cm4gc2VsZigpLl9fYXdhaXRfXygpCitAQCAtMTQ3OSw2ICsxNDgzLDIyIEBAIGFz
eW5jIGRlZiB0ZXN0X2Nvbm5lY3Rpb25fa2V5X3dpdGhvdXRfcHJveHkoKSAtPiBOb25lOgorICAg
ICBhd2FpdCByZXEuY2xvc2UoKQorIAorIAorK2FzeW5jIGRlZiB0ZXN0X2Nvbm5lY3Rpb25fa2V5
X2luY2x1ZGVzX3NlcnZlcl9ob3N0bmFtZSgKKysgICAgbWFrZV9yZXF1ZXN0OiBfUmVxdWVzdE1h
a2VyLAorKykgLT4gTm9uZToKKysgICAgIiIiQSBzZXJ2ZXJfaG9zdG5hbWUgb3ZlcnJpZGUgbXVz
dCBiZSBwYXJ0IG9mIHRoZSBjb25uZWN0aW9uIHJldXNlIGtleS4iIiIKKysgICAgdXJsID0gVVJM
KCJodHRwczovLzEyNy4wLjAuMTo4NDQzLyIpCisrICAgIG5vbmVfcmVxID0gbWFrZV9yZXF1ZXN0
KCJHRVQiLCB1cmwpCisrICAgIGZpcnN0ID0gbWFrZV9yZXF1ZXN0KCJHRVQiLCB1cmwsIHNlcnZl
cl9ob3N0bmFtZT0iZmlyc3QuZXhhbXBsZSIpCisrICAgIGZpcnN0X2FnYWluID0gbWFrZV9yZXF1
ZXN0KCJHRVQiLCB1cmwsIHNlcnZlcl9ob3N0bmFtZT0iZmlyc3QuZXhhbXBsZSIpCisrICAgIHNl
Y29uZCA9IG1ha2VfcmVxdWVzdCgiR0VUIiwgdXJsLCBzZXJ2ZXJfaG9zdG5hbWU9InNlY29uZC5l
eGFtcGxlIikKKysKKysgICAgYXNzZXJ0IGZpcnN0LmNvbm5lY3Rpb25fa2V5LnNlcnZlcl9ob3N0
bmFtZSA9PSAiZmlyc3QuZXhhbXBsZSIKKysgICAgYXNzZXJ0IGZpcnN0LmNvbm5lY3Rpb25fa2V5
ICE9IG5vbmVfcmVxLmNvbm5lY3Rpb25fa2V5CisrICAgIGFzc2VydCBmaXJzdC5jb25uZWN0aW9u
X2tleSAhPSBzZWNvbmQuY29ubmVjdGlvbl9rZXkKKysgICAgYXNzZXJ0IGZpcnN0LmNvbm5lY3Rp
b25fa2V5ID09IGZpcnN0X2FnYWluLmNvbm5lY3Rpb25fa2V5CisrCisrCisgZGVmIHRlc3RfcmVx
dWVzdF9pbmZvX2JhY2tfY29tcGF0KCkgLT4gTm9uZToKKyAgICAgIiIiVGVzdCBSZXF1ZXN0SW5m
byBjYW4gYmUgY3JlYXRlZCB3aXRob3V0IHJlYWxfdXJsLiIiIgorICAgICB1cmwgPSBVUkwoImh0
dHA6Ly9leGFtcGxlLmNvbSIpCmRpZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlh
bi9wYXRjaGVzL0NWRS0yMDI2LTU0Mjc3LnBhdGNoIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGVi
aWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzcucGF0Y2gKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEu
MTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzcucGF0Y2gJMTk3MC0wMS0wMSAwMTowMDow
MC4wMDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNo
ZXMvQ1ZFLTIwMjYtNTQyNzcucGF0Y2gJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAy
MDAKQEAgLTAsMCArMSw3NyBAQAorRnJvbTogIkouIE5pY2sgS29zdG9uIiA8bmlja0Brb3N0b24u
b3JnPgorRGF0ZTogU3VuLCA3IEp1biAyMDI2IDAwOjMzOjAzIC0wNTAwCitTdWJqZWN0OiBFbmZv
cmNlIG1heF9saW5lX3NpemUgb24gZnJhZ21lbnRlZCByZXF1ZXN0IHRhcmdldCBhbmQgcmVhc29u
IGluIEMKKyBwYXJzZXIgKCMxMjgzNykKKworUmV2aWV3ZWQtQnk6IERhbmllbCBMZWlkZXJ0IDxk
bGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMv
YWlvaHR0cC9jb21taXQvNWFiNjFiYjRjZDg4ZjE5YjcxMmYxMmM3YzkyOTVmZTI2MmJmODA0ZAor
QnVnOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1cml0eS9hZHZpc29y
aWVzL0dIU0EtNjNody1mbXE2LXh4ZzIKK0J1Zy1EZWJpYW4tU2VjdXJpdHk6IGh0dHBzOi8vc2Vj
dXJpdHktdHJhY2tlci5kZWJpYW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYtNTQyNzcKK0J1Zy1GcmVl
eGlhbi1TZWN1cml0eTogaHR0cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVuZGVkLWx0cy90cmFj
a2VyL0NWRS0yMDI2LTU0Mjc3CistLS0KKyBhaW9odHRwL19odHRwX3BhcnNlci5weXggIHwgIDQg
KystLQorIHRlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkgfCAyMiArKysrKysrKysrKysrKysrKysr
KysrCisgMiBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQor
CitkaWZmIC0tZ2l0IGEvYWlvaHR0cC9faHR0cF9wYXJzZXIucHl4IGIvYWlvaHR0cC9faHR0cF9w
YXJzZXIucHl4CitpbmRleCA0MDFhMzg0Li44YmQyOGNhIDEwMDY0NAorLS0tIGEvYWlvaHR0cC9f
aHR0cF9wYXJzZXIucHl4CisrKysgYi9haW9odHRwL19odHRwX3BhcnNlci5weXgKK0BAIC03MTAs
NyArNzEwLDcgQEAgY2RlZiBpbnQgY2Jfb25fdXJsKGNwYXJzZXIubGxodHRwX3QqIHBhcnNlciwK
KyAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYXQsIHNpemVfdCBsZW5ndGgpIGV4Y2Vw
dCAtMToKKyAgICAgY2RlZiBIdHRwUGFyc2VyIHB5cGFyc2VyID0gPEh0dHBQYXJzZXI+cGFyc2Vy
LmRhdGEKKyAgICAgdHJ5OgorLSAgICAgICAgaWYgbGVuZ3RoID4gcHlwYXJzZXIuX21heF9saW5l
X3NpemU6CisrICAgICAgICBpZiBsZW4ocHlwYXJzZXIuX2J1ZikgKyBsZW5ndGggPiBweXBhcnNl
ci5fbWF4X2xpbmVfc2l6ZToKKyAgICAgICAgICAgICBzdGF0dXMgPSBweXBhcnNlci5fYnVmICsg
YXRbOmxlbmd0aF0KKyAgICAgICAgICAgICByYWlzZSBMaW5lVG9vTG9uZyhzdGF0dXNbOjEwMF0g
KyBiIi4uLiIsIHB5cGFyc2VyLl9tYXhfbGluZV9zaXplKQorICAgICAgICAgZXh0ZW5kKHB5cGFy
c2VyLl9idWYsIGF0LCBsZW5ndGgpCitAQCAtNzI1LDcgKzcyNSw3IEBAIGNkZWYgaW50IGNiX29u
X3N0YXR1cyhjcGFyc2VyLmxsaHR0cF90KiBwYXJzZXIsCisgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGNoYXIgKmF0LCBzaXplX3QgbGVuZ3RoKSBleGNlcHQgLTE6CisgICAgIGNkZWYgSHR0
cFBhcnNlciBweXBhcnNlciA9IDxIdHRwUGFyc2VyPnBhcnNlci5kYXRhCisgICAgIHRyeToKKy0g
ICAgICAgIGlmIGxlbmd0aCA+IHB5cGFyc2VyLl9tYXhfbGluZV9zaXplOgorKyAgICAgICAgaWYg
bGVuKHB5cGFyc2VyLl9idWYpICsgbGVuZ3RoID4gcHlwYXJzZXIuX21heF9saW5lX3NpemU6Cisg
ICAgICAgICAgICAgcmVhc29uID0gcHlwYXJzZXIuX2J1ZiArIGF0WzpsZW5ndGhdCisgICAgICAg
ICAgICAgcmFpc2UgTGluZVRvb0xvbmcocmVhc29uWzoxMDBdICsgYiIuLi4iLCBweXBhcnNlci5f
bWF4X2xpbmVfc2l6ZSkKKyAgICAgICAgIGV4dGVuZChweXBhcnNlci5fYnVmLCBhdCwgbGVuZ3Ro
KQorZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkgYi90ZXN0cy90ZXN0X2h0
dHBfcGFyc2VyLnB5CitpbmRleCAyZDJiMWE1Li44OTk1YmRkIDEwMDY0NAorLS0tIGEvdGVzdHMv
dGVzdF9odHRwX3BhcnNlci5weQorKysrIGIvdGVzdHMvdGVzdF9odHRwX3BhcnNlci5weQorQEAg
LTEyMDMsNiArMTIwMywxNyBAQCBkZWYgdGVzdF9odHRwX3JlcXVlc3RfbWF4X3N0YXR1c19saW5l
X3VuZGVyX2xpbWl0KHBhcnNlcjogSHR0cFJlcXVlc3RQYXJzZXIpIC0+CisgICAgIGFzc2VydCBt
c2cudXJsID09IFVSTCgiL3BhdGgiICsgcGF0aC5kZWNvZGUoKSkKKyAKKyAKKytkZWYgdGVzdF9o
dHRwX3JlcXVlc3RfbWF4X3N0YXR1c19saW5lX2ZyYWdtZW50ZWQoCisrICAgIHBhcnNlcjogSHR0
cFJlcXVlc3RQYXJzZXIsCisrKSAtPiBOb25lOgorKyAgICAjIFNwbGl0IGFuIG92ZXJsb25nIHJl
cXVlc3QgdGFyZ2V0IGFjcm9zcyByZWFkcyBzbyB0aGF0IGVhY2ggY2FsbGJhY2sKKysgICAgIyBm
cmFnbWVudCBpcyB1bmRlciB0aGUgbGltaXQgYnV0IHRoZSBhY2N1bXVsYXRlZCB0YXJnZXQgaXMg
bm90LgorKyAgICBtYXRjaCA9ICI0MDAsIG1lc3NhZ2U6XG4gIEdvdCBtb3JlIHRoYW4gODE5MCBi
eXRlcyB3aGVuIHJlYWRpbmciCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlv
bnMuTGluZVRvb0xvbmcsIG1hdGNoPW1hdGNoKToKKysgICAgICAgIHBhcnNlci5mZWVkX2RhdGEo
YiJHRVQgLyIgKyBiImEiICogODAwMCkKKysgICAgICAgIHBhcnNlci5mZWVkX2RhdGEoYiJhIiAq
IDgwMDAgKyBiIiBIVFRQLzEuMVxyXG5Ib3N0OiBhXHJcblxyXG4iKQorKworKworIGRlZiB0ZXN0
X2h0dHBfcmVzcG9uc2VfcGFyc2VyX3V0ZjgocmVzcG9uc2UpIC0+IE5vbmU6CisgICAgIHRleHQg
PSAiSFRUUC8xLjEgMjAwIE9rXHJcbngtdGVzdDrRgtC10YHRglxyXG5cclxuIi5lbmNvZGUoKQor
IAorQEAgLTEyODAsNiArMTI5MSwxNyBAQCBkZWYgdGVzdF9odHRwX3Jlc3BvbnNlX3BhcnNlcl9z
dGF0dXNfbGluZV91bmRlcl9saW1pdCgKKyAgICAgYXNzZXJ0IG1zZy5yZWFzb24gPT0gcmVhc29u
LmRlY29kZSgpCisgCisgCisrZGVmIHRlc3RfaHR0cF9yZXNwb25zZV9wYXJzZXJfc3RhdHVzX2xp
bmVfdG9vX2xvbmdfZnJhZ21lbnRlZCgKKysgICAgcmVzcG9uc2U6IEh0dHBSZXNwb25zZVBhcnNl
ciwKKyspIC0+IE5vbmU6CisrICAgICMgU3BsaXQgYW4gb3ZlcmxvbmcgcmVhc29uIHBocmFzZSBh
Y3Jvc3MgcmVhZHMgc28gdGhhdCBlYWNoIGNhbGxiYWNrCisrICAgICMgZnJhZ21lbnQgaXMgdW5k
ZXIgdGhlIGxpbWl0IGJ1dCB0aGUgYWNjdW11bGF0ZWQgcmVhc29uIGlzIG5vdC4KKysgICAgbWF0
Y2ggPSAiNDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0aGFuIDgxOTAgYnl0ZXMgd2hlbiByZWFk
aW5nIgorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9leGNlcHRpb25zLkxpbmVUb29Mb25n
LCBtYXRjaD1tYXRjaCk6CisrICAgICAgICByZXNwb25zZS5mZWVkX2RhdGEoYiJIVFRQLzEuMSAy
MDAgIiArIGIiYSIgKiA4MDAwKQorKyAgICAgICAgcmVzcG9uc2UuZmVlZF9kYXRhKGIiYSIgKiA4
MDAwICsgYiJcclxuXHJcbiIpCisrCisrCisgZGVmIHRlc3RfaHR0cF9yZXNwb25zZV9wYXJzZXJf
YmFkX3ZlcnNpb24ocmVzcG9uc2UpIC0+IE5vbmU6CisgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyho
dHRwX2V4Y2VwdGlvbnMuQmFkSHR0cE1lc3NhZ2UpOgorICAgICAgICAgcmVzcG9uc2UuZmVlZF9k
YXRhKGIiSFQvMTEgMjAwIE9rXHJcblxyXG4iKQpkaWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAtMy4x
MS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi01NDI3OS5wYXRjaCBweXRob24tYWlvaHR0cC0z
LjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTU0Mjc5LnBhdGNoCi0tLSBweXRob24tYWlv
aHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTU0Mjc5LnBhdGNoCTE5NzAtMDEt
MDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBweXRob24tYWlvaHR0cC0zLjExLjE2L2Rl
Ymlhbi9wYXRjaGVzL0NWRS0yMDI2LTU0Mjc5LnBhdGNoCTIwMjYtMDctMzEgMDM6NTA6MzIuMDAw
MDAwMDAwICswMjAwCkBAIC0wLDAgKzEsMjgwIEBACitGcm9tOiAiSi4gTmljayBLb3N0b24iIDxu
aWNrQGtvc3Rvbi5vcmc+CitEYXRlOiBTdW4sIDcgSnVuIDIwMjYgMDA6NDA6MjQgLTA1MDAKK1N1
YmplY3Q6IFtQQVRDSF0gW1BSICMxMjgyNC82MGI4NWU5OCBiYWNrcG9ydF1bMy4xNF0gUHJlc2Vy
dmUgaG9zdC1vbmx5CisgY29va2llIHNjb3BlIGFjcm9zcyBDb29raWVKYXIgc2F2ZS9sb2FkICgj
MTI4MzMpCisKKy0tLQorIGFpb2h0dHAvY29va2llamFyLnB5ICAgIHwgIDUyICsrKysrKysrKysr
KystLS0tLS0KKyB0ZXN0cy90ZXN0X2Nvb2tpZWphci5weSB8IDEzNSArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDE3MCBp
bnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Fpb2h0dHAvY29v
a2llamFyLnB5IGIvYWlvaHR0cC9jb29raWVqYXIucHkKK2luZGV4IGM3NGY0MzMuLmE1NmRjZjAg
MTAwNjQ0CistLS0gYS9haW9odHRwL2Nvb2tpZWphci5weQorKysrIGIvYWlvaHR0cC9jb29raWVq
YXIucHkKK0BAIC0zNSw2ICszNSw5IEBAIGZyb20gLnR5cGVkZWZzIGltcG9ydCBMb29zZUNvb2tp
ZXMsIFBhdGhMaWtlLCBTdHJPclVSTAorIAorIF9fYWxsX18gPSAoIkNvb2tpZUphciIsICJEdW1t
eUNvb2tpZUphciIpCisgCisrIyBOb3QgcGVyc2lzdGVkOyB0aGUgYWJzb2x1dGUgZGVhZGxpbmUg
aXMgc2F2ZWQgaW5zdGVhZC4KKytfUkVMQVRJVkVfRVhQSVJZX0FUVFJTID0gZnJvemVuc2V0KCgi
bWF4LWFnZSIsICJleHBpcmVzIikpCisrCisgCisgQ29va2llSXRlbSA9IFVuaW9uW3N0ciwgIk1v
cnNlbFtzdHJdIl0KKyAKK0BAIC0xNjQsMjEgKzE2NywyOCBAQCBjbGFzcyBDb29raWVKYXIoQWJz
dHJhY3RDb29raWVKYXIpOgorICAgICAgICAgICAgIDpjbGFzczpgc3RyYCBvciA6Y2xhc3M6YHBh
dGhsaWIuUGF0aGAgaW5zdGFuY2UuCisgICAgICAgICAiIiIKKyAgICAgICAgIGZpbGVfcGF0aCA9
IHBhdGhsaWIuUGF0aChmaWxlX3BhdGgpCistICAgICAgICBkYXRhOiBkaWN0W3N0ciwgZGljdFtz
dHIsIGRpY3Rbc3RyLCBzdHIgfCBib29sXV1dID0ge30KKysgICAgICAgIGRhdGE6IGRpY3Rbc3Ry
LCBkaWN0W3N0ciwgZGljdFtzdHIsIHN0ciB8IGJvb2wgfCBmbG9hdF1dXSA9IHt9CisgICAgICAg
ICBmb3IgKGRvbWFpbiwgcGF0aCksIGNvb2tpZSBpbiBzZWxmLl9jb29raWVzLml0ZW1zKCk6Cisg
ICAgICAgICAgICAga2V5ID0gZiJ7ZG9tYWlufXx7cGF0aH0iCisgICAgICAgICAgICAgZGF0YVtr
ZXldID0ge30KKyAgICAgICAgICAgICBmb3IgbmFtZSwgbW9yc2VsIGluIGNvb2tpZS5pdGVtcygp
OgorLSAgICAgICAgICAgICAgICBtb3JzZWxfZGF0YTogZGljdFtzdHIsIHN0ciB8IGJvb2xdID0g
eworKyAgICAgICAgICAgICAgICBtb3JzZWxfZGF0YTogZGljdFtzdHIsIHN0ciB8IGJvb2wgfCBm
bG9hdF0gPSB7CisgICAgICAgICAgICAgICAgICAgICAia2V5IjogbW9yc2VsLmtleSwKKyAgICAg
ICAgICAgICAgICAgICAgICJ2YWx1ZSI6IG1vcnNlbC52YWx1ZSwKKyAgICAgICAgICAgICAgICAg
ICAgICJjb2RlZF92YWx1ZSI6IG1vcnNlbC5jb2RlZF92YWx1ZSwKKyAgICAgICAgICAgICAgICAg
fQorLSAgICAgICAgICAgICAgICAjIFNhdmUgYWxsIG1vcnNlbCBhdHRyaWJ1dGVzIHRoYXQgaGF2
ZSB2YWx1ZXMKKysgICAgICAgICAgICAgICAgIyBTa2lwIHJlbGF0aXZlIGV4cGlyeTsgdGhlIGFi
c29sdXRlIGRlYWRsaW5lIGlzIHNhdmVkIGJlbG93LgorICAgICAgICAgICAgICAgICBmb3IgYXR0
ciBpbiBtb3JzZWwuX3Jlc2VydmVkOiAgIyB0eXBlOiBpZ25vcmVbYXR0ci1kZWZpbmVkXQorKyAg
ICAgICAgICAgICAgICAgICAgaWYgYXR0ciBpbiBfUkVMQVRJVkVfRVhQSVJZX0FUVFJTOgorKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgICBhdHRy
X3ZhbCA9IG1vcnNlbFthdHRyXQorICAgICAgICAgICAgICAgICAgICAgaWYgYXR0cl92YWw6Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgbW9yc2VsX2RhdGFbYXR0cl0gPSBhdHRyX3ZhbAorKyAg
ICAgICAgICAgICAgICAjIFBlcnNpc3Qgb3IgaXQgcmVsb2FkcyBhcyBhIGRvbWFpbiBjb29raWUg
YW5kIGxlYWtzIHRvIHN1YmRvbWFpbnMuCisrICAgICAgICAgICAgICAgIGlmIChkb21haW4sIG5h
bWUpIGluIHNlbGYuX2hvc3Rfb25seV9jb29raWVzOgorKyAgICAgICAgICAgICAgICAgICAgbW9y
c2VsX2RhdGFbImhvc3Rfb25seSJdID0gVHJ1ZQorKyAgICAgICAgICAgICAgICBpZiAoZXhwIDo9
IHNlbGYuX2V4cGlyYXRpb25zLmdldCgoZG9tYWluLCBwYXRoLCBuYW1lKSkpIGlzIG5vdCBOb25l
OgorKyAgICAgICAgICAgICAgICAgICAgbW9yc2VsX2RhdGFbImV4cGlyZXNfdGltZXN0YW1wIl0g
PSBleHAKKyAgICAgICAgICAgICAgICAgZGF0YVtrZXldW25hbWVdID0gbW9yc2VsX2RhdGEKKyAg
ICAgICAgIHdpdGggZmlsZV9wYXRoLm9wZW4obW9kZT0idyIsIGVuY29kaW5nPSJ1dGYtOCIpIGFz
IGY6CisgICAgICAgICAgICAganNvbi5kdW1wKGRhdGEsIGYsIGluZGVudD0yKQorQEAgLTE5MCw2
ICsyMDAsOSBAQCBjbGFzcyBDb29raWVKYXIoQWJzdHJhY3RDb29raWVKYXIpOgorICAgICAgICAg
cGlja2xlIGZvcm1hdCAodXNpbmcgYSByZXN0cmljdGVkIHVucGlja2xlcikgZm9yIGJhY2t3YXJk
CisgICAgICAgICBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcgY29va2llIGZpbGVzLgorIAor
KyAgICAgICAgUmVwbGFjZXMgdGhlIGN1cnJlbnQgamFyIGNvbnRlbnRzOyBsb2FkZWQgY29va2ll
cyBwYXNzIHRocm91Z2ggdGhlCisrICAgICAgICBzYW1lIGFjY2VwdGFuY2UgcnVsZXMgYXMgOm1l
dGg6YHVwZGF0ZV9jb29raWVzYC4KKysKKyAgICAgICAgIDpwYXJhbSBmaWxlX3BhdGg6IFBhdGgg
dG8gZmlsZSBmcm9tIHdoZXJlIGNvb2tpZXMgd2lsbCBiZQorICAgICAgICAgICAgIGltcG9ydGVk
LCA6Y2xhc3M6YHN0cmAgb3IgOmNsYXNzOmBwYXRobGliLlBhdGhgIGluc3RhbmNlLgorICAgICAg
ICAgIiIiCitAQCAtMTk4LDMyICsyMTEsMjggQEAgY2xhc3MgQ29va2llSmFyKEFic3RyYWN0Q29v
a2llSmFyKToKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICB3aXRoIGZpbGVfcGF0aC5vcGVu
KG1vZGU9InIiLCBlbmNvZGluZz0idXRmLTgiKSBhcyBmOgorICAgICAgICAgICAgICAgICBkYXRh
ID0ganNvbi5sb2FkKGYpCistICAgICAgICAgICAgc2VsZi5fY29va2llcyA9IHNlbGYuX2xvYWRf
anNvbl9kYXRhKGRhdGEpCisrICAgICAgICAgICAgc2VsZi5fbG9hZF9qc29uX2RhdGEoZGF0YSkK
KyAgICAgICAgIGV4Y2VwdCAoanNvbi5KU09ORGVjb2RlRXJyb3IsIFVuaWNvZGVEZWNvZGVFcnJv
ciwgVmFsdWVFcnJvcik6CisgICAgICAgICAgICAgIyBGYWxsIGJhY2sgdG8gbGVnYWN5IHBpY2ts
ZSBmb3JtYXQgd2l0aCByZXN0cmljdGVkIHVucGlja2xlcgorICAgICAgICAgICAgIHdpdGggZmls
ZV9wYXRoLm9wZW4obW9kZT0icmIiKSBhcyBmOgorICAgICAgICAgICAgICAgICBzZWxmLl9jb29r
aWVzID0gX1Jlc3RyaWN0ZWRDb29raWVVbnBpY2tsZXIoZikubG9hZCgpCisgCisgICAgIGRlZiBf
bG9hZF9qc29uX2RhdGEoCistICAgICAgICBzZWxmLCBkYXRhOiBkaWN0W3N0ciwgZGljdFtzdHIs
IGRpY3Rbc3RyLCBzdHIgfCBib29sXV1dCistICAgICkgLT4gZGVmYXVsdGRpY3RbdHVwbGVbc3Ry
LCBzdHJdLCBTaW1wbGVDb29raWVdOgorLSAgICAgICAgIiIiTG9hZCBjb29raWVzIGZyb20gcGFy
c2VkIEpTT04gZGF0YS4iIiIKKy0gICAgICAgIGNvb2tpZXM6IGRlZmF1bHRkaWN0W3R1cGxlW3N0
ciwgc3RyXSwgU2ltcGxlQ29va2llXSA9IGRlZmF1bHRkaWN0KFNpbXBsZUNvb2tpZSkKKysgICAg
ICAgIHNlbGYsIGRhdGE6IGRpY3Rbc3RyLCBkaWN0W3N0ciwgZGljdFtzdHIsIHN0ciB8IGJvb2wg
fCBmbG9hdF1dXQorKyAgICApIC0+IE5vbmU6CisrICAgICAgICAiIiJSZXBsYWNlIGNvbnRlbnRz
LCByb3V0aW5nIGNvb2tpZXMgdGhyb3VnaCB1cGRhdGVfY29va2llcygpLiIiIgorKyAgICAgICAg
c2VsZi5jbGVhcigpCisgICAgICAgICBmb3IgY29tcG91bmRfa2V5LCBjb29raWVfZGF0YSBpbiBk
YXRhLml0ZW1zKCk6CisgICAgICAgICAgICAgZG9tYWluLCBwYXRoID0gY29tcG91bmRfa2V5LnNw
bGl0KCJ8IiwgMSkKKy0gICAgICAgICAgICBrZXkgPSAoZG9tYWluLCBwYXRoKQorICAgICAgICAg
ICAgIGZvciBuYW1lLCBtb3JzZWxfZGF0YSBpbiBjb29raWVfZGF0YS5pdGVtcygpOgorICAgICAg
ICAgICAgICAgICBtb3JzZWw6IE1vcnNlbFtzdHJdID0gTW9yc2VsKCkKKy0gICAgICAgICAgICAg
ICAgbW9yc2VsX2tleSA9IG1vcnNlbF9kYXRhWyJrZXkiXQorLSAgICAgICAgICAgICAgICBtb3Jz
ZWxfdmFsdWUgPSBtb3JzZWxfZGF0YVsidmFsdWUiXQorLSAgICAgICAgICAgICAgICBtb3JzZWxf
Y29kZWRfdmFsdWUgPSBtb3JzZWxfZGF0YVsiY29kZWRfdmFsdWUiXQorICAgICAgICAgICAgICAg
ICAjIFVzZSBfX3NldHN0YXRlX18gdG8gYnlwYXNzIHZhbGlkYXRpb24sIHNhbWUgcGF0dGVybgor
ICAgICAgICAgICAgICAgICAjIHVzZWQgaW4gX2J1aWxkX21vcnNlbCBhbmQgX2Nvb2tpZV9oZWxw
ZXJzLgorICAgICAgICAgICAgICAgICBtb3JzZWwuX19zZXRzdGF0ZV9fKCAgIyB0eXBlOiBpZ25v
cmVbYXR0ci1kZWZpbmVkXQorICAgICAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAg
ICAgICAgICAgICJrZXkiOiBtb3JzZWxfa2V5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICJ2
YWx1ZSI6IG1vcnNlbF92YWx1ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAiY29kZWRfdmFs
dWUiOiBtb3JzZWxfY29kZWRfdmFsdWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgImtleSI6
IG1vcnNlbF9kYXRhWyJrZXkiXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBt
b3JzZWxfZGF0YVsidmFsdWUiXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAiY29kZWRfdmFs
dWUiOiBtb3JzZWxfZGF0YVsiY29kZWRfdmFsdWUiXSwKKyAgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAjIFJlc3RvcmUgbW9yc2VsIGF0
dHJpYnV0ZXMKK0BAIC0yMzQsOCArMjQzLDE3IEBAIGNsYXNzIENvb2tpZUphcihBYnN0cmFjdENv
b2tpZUphcik6CisgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVkX3ZhbHVlIiwKKyAgICAg
ICAgICAgICAgICAgICAgICk6CisgICAgICAgICAgICAgICAgICAgICAgICAgbW9yc2VsW2F0dHJd
ID0gbW9yc2VsX2RhdGFbYXR0cl0KKy0gICAgICAgICAgICAgICAgY29va2llc1trZXldW25hbWVd
ID0gbW9yc2VsCistICAgICAgICByZXR1cm4gY29va2llcworKyAgICAgICAgICAgICAgICAjIERy
b3AgdGhlIGRvbWFpbiBzbyB1cGRhdGVfY29va2llcygpIHJlLW1hcmtzIGl0IGhvc3Qtb25seS4K
KysgICAgICAgICAgICAgICAgaWYgbW9yc2VsX2RhdGEuZ2V0KCJob3N0X29ubHkiKToKKysgICAg
ICAgICAgICAgICAgICAgIG1vcnNlbFsiZG9tYWluIl0gPSAiIgorKyAgICAgICAgICAgICAgICBy
ZXNwb25zZV91cmwgPSAoCisrICAgICAgICAgICAgICAgICAgICBVUkwuYnVpbGQoc2NoZW1lPSJo
dHRwcyIsIGhvc3Q9ZG9tYWluKSBpZiBkb21haW4gZWxzZSBVUkwoKQorKyAgICAgICAgICAgICAg
ICApCisrICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlX2Nvb2tpZXMoe25hbWU6IG1vcnNlbH0s
IHJlc3BvbnNlX3VybCkKKysgICAgICAgICAgICAgICAgIyBSZXN0b3JlIHRoZSBhYnNvbHV0ZSBk
ZWFkbGluZTsgdXBkYXRlX2Nvb2tpZXMoKSBzY2hlZHVsZXMgbm9uZS4KKysgICAgICAgICAgICAg
ICAgaWYgKGV4cCA6PSBtb3JzZWxfZGF0YS5nZXQoImV4cGlyZXNfdGltZXN0YW1wIikpIGlzIG5v
dCBOb25lOgorKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwaXJlX2Nvb2tpZShmbG9hdChl
eHApLCBkb21haW4sIHBhdGgsIG5hbWUpCisrICAgICAgICBzZWxmLl9kb19leHBpcmF0aW9uKCkK
KyAKKyAgICAgZGVmIGNsZWFyKHNlbGYsIHByZWRpY2F0ZTogT3B0aW9uYWxbQ2xlYXJDb29raWVQ
cmVkaWNhdGVdID0gTm9uZSkgLT4gTm9uZToKKyAgICAgICAgIGlmIHByZWRpY2F0ZSBpcyBOb25l
OgorZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfY29va2llamFyLnB5IGIvdGVzdHMvdGVzdF9jb29r
aWVqYXIucHkKK2luZGV4IDdhYzk4N2YuLjFlNzc1YmIgMTAwNjQ0CistLS0gYS90ZXN0cy90ZXN0
X2Nvb2tpZWphci5weQorKysrIGIvdGVzdHMvdGVzdF9jb29raWVqYXIucHkKK0BAIC0yLDYgKzIs
NyBAQCBpbXBvcnQgYXN5bmNpbworIGltcG9ydCBkYXRldGltZQorIGltcG9ydCBoZWFwcQorIGlt
cG9ydCBpdGVydG9vbHMKKytpbXBvcnQganNvbgorIGltcG9ydCBwYXRobGliCisgaW1wb3J0IHBp
Y2tsZQorIGltcG9ydCB1bml0dGVzdAorQEAgLTEyNjYsNiArMTI2NywxNDAgQEAgYXN5bmMgZGVm
IHRlc3Rfc2F2ZV9sb2FkX2pzb25fcGFydGl0aW9uZWRfY29va2llcyh0bXBfcGF0aDogUGF0aCkg
LT4gTm9uZToKKyAgICAgICAgIGFzc2VydCBzWyJwYXRoIl0gPT0gbG9bInBhdGgiXQorIAorIAor
K2FzeW5jIGRlZiB0ZXN0X3NhdmVfbG9hZF9qc29uX3ByZXNlcnZlc19ob3N0X29ubHlfc2NvcGUo
dG1wX3BhdGg6IFBhdGgpIC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBzYXZlL2xvYWQga2VlcHMg
aG9zdC1vbmx5IGNvb2tpZXMgb2ZmIHN1YmRvbWFpbnMuIiIiCisrICAgIGZpbGVfcGF0aCA9IHRt
cF9wYXRoIC8gImhvc3Rfb25seS5qc29uIgorKyAgICBpc3N1ZXIgPSBVUkwoImh0dHBzOi8vYXV0
aC5leGFtcGxlLmNvbS9sb2dpbiIpCisrICAgIHN1YmRvbWFpbiA9IFVSTCgiaHR0cHM6Ly9zdWIu
YXV0aC5leGFtcGxlLmNvbS8iKQorKworKyAgICBqYXJfc2F2ZSA9IENvb2tpZUphcigpCisrICAg
IGphcl9zYXZlLnVwZGF0ZV9jb29raWVzKHsic2lkIjogImhvc3Rvbmx5In0sIHJlc3BvbnNlX3Vy
bD1pc3N1ZXIpCisrICAgIGFzc2VydCAic2lkIiBub3QgaW4gamFyX3NhdmUuZmlsdGVyX2Nvb2tp
ZXMoc3ViZG9tYWluKQorKyAgICBqYXJfc2F2ZS5zYXZlKGZpbGVfcGF0aD1maWxlX3BhdGgpCisr
CisrICAgIGphcl9sb2FkID0gQ29va2llSmFyKCkKKysgICAgamFyX2xvYWQubG9hZChmaWxlX3Bh
dGg9ZmlsZV9wYXRoKQorKworKyAgICBhc3NlcnQgamFyX2xvYWQuX2hvc3Rfb25seV9jb29raWVz
ID09IGZyb3plbnNldCh7KCJhdXRoLmV4YW1wbGUuY29tIiwgInNpZCIpfSkKKysgICAgYXNzZXJ0
ICJzaWQiIG5vdCBpbiBqYXJfbG9hZC5maWx0ZXJfY29va2llcyhzdWJkb21haW4pCisrICAgIGFz
c2VydCAic2lkIiBpbiBqYXJfbG9hZC5maWx0ZXJfY29va2llcyhpc3N1ZXIpCisrCisrCisrYXN5
bmMgZGVmIHRlc3Rfc2F2ZV9sb2FkX2pzb25fZG9tYWluX2Nvb2tpZV9zdGlsbF9tYXRjaGVzX3N1
YmRvbWFpbigKKysgICAgdG1wX3BhdGg6IFBhdGgsCisrKSAtPiBOb25lOgorKyAgICAiIiJWZXJp
Znkgc2F2ZS9sb2FkIGtlZXBzIGFuIGV4cGxpY2l0IERvbWFpbiBjb29raWUgdmFsaWQgZm9yIHN1
YmRvbWFpbnMuIiIiCisrICAgIGZpbGVfcGF0aCA9IHRtcF9wYXRoIC8gImRvbWFpbi5qc29uIgor
KyAgICBzdWJkb21haW4gPSBVUkwoImh0dHBzOi8vc3ViLmV4YW1wbGUuY29tLyIpCisrCisrICAg
IGphcl9zYXZlID0gQ29va2llSmFyKCkKKysgICAgc2MgPSBTaW1wbGVDb29raWUoKQorKyAgICBz
Yy5sb2FkKCJzaWQ9ZG9tYWluY29va2llOyBEb21haW49ZXhhbXBsZS5jb20iKQorKyAgICBqYXJf
c2F2ZS51cGRhdGVfY29va2llcyhzYywgVVJMKCJodHRwczovL2V4YW1wbGUuY29tLyIpKQorKyAg
ICBqYXJfc2F2ZS5zYXZlKGZpbGVfcGF0aD1maWxlX3BhdGgpCisrCisrICAgIGphcl9sb2FkID0g
Q29va2llSmFyKCkKKysgICAgamFyX2xvYWQubG9hZChmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKwor
KyAgICBhc3NlcnQgamFyX2xvYWQuX2hvc3Rfb25seV9jb29raWVzID09IGZyb3plbnNldCgpCisr
ICAgIGFzc2VydCAic2lkIiBpbiBqYXJfbG9hZC5maWx0ZXJfY29va2llcyhzdWJkb21haW4pCisr
CisrCisrYXN5bmMgZGVmIHRlc3Rfc2F2ZV9sb2FkX2pzb25fcHJlc2VydmVzX21heF9hZ2VfZGVh
ZGxpbmUodG1wX3BhdGg6IFBhdGgpIC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBzYXZlL2xvYWQg
cmVzdG9yZXMgdGhlIGFic29sdXRlIGRlYWRsaW5lIHdpdGhvdXQgcmVzZXR0aW5nIGl0LiIiIgor
KyAgICBmaWxlX3BhdGggPSB0bXBfcGF0aCAvICJtYXhfYWdlLmpzb24iCisrICAgIHVybCA9IFVS
TCgiaHR0cHM6Ly9leGFtcGxlLmNvbS8iKQorKworKyAgICBqYXJfc2F2ZSA9IENvb2tpZUphcigp
CisrICAgIHNjID0gU2ltcGxlQ29va2llKCkKKysgICAgc2MubG9hZCgic2lkPXg7IE1heC1BZ2U9
MzYwMDsgRG9tYWluPWV4YW1wbGUuY29tIikKKysgICAgamFyX3NhdmUudXBkYXRlX2Nvb2tpZXMo
c2MsIHVybCkKKysgICAgZXhwaXJhdGlvbnMgPSBkaWN0KGphcl9zYXZlLl9leHBpcmF0aW9ucykK
KysgICAgamFyX3NhdmUuc2F2ZShmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKworKyAgICBqYXJfbG9h
ZCA9IENvb2tpZUphcigpCisrICAgIGphcl9sb2FkLmxvYWQoZmlsZV9wYXRoPWZpbGVfcGF0aCkK
KysKKysgICAgIyBUaGUgZGVhZGxpbmUgaXMgcmVzdG9yZWQgYXMgdGhlIG9yaWdpbmFsIGFic29s
dXRlIHRpbWUsIG5vdCBub3cgKyBNYXgtQWdlLgorKyAgICBhc3NlcnQgZGljdChqYXJfbG9hZC5f
ZXhwaXJhdGlvbnMpID09IGV4cGlyYXRpb25zCisrICAgIGFzc2VydCAic2lkIiBpbiBqYXJfbG9h
ZC5maWx0ZXJfY29va2llcyh1cmwpCisrCisrCisrYXN5bmMgZGVmIHRlc3Rfc2F2ZV9sb2FkX2pz
b25fZHJvcHNfZXhwaXJlZF9jb29raWUodG1wX3BhdGg6IFBhdGgpIC0+IE5vbmU6CisrICAgICIi
IlZlcmlmeSBhIGNvb2tpZSB3aG9zZSBwZXJzaXN0ZWQgZGVhZGxpbmUgaXMgaW4gdGhlIHBhc3Qg
aXMgZHJvcHBlZCBvbiBsb2FkLiIiIgorKyAgICBmaWxlX3BhdGggPSB0bXBfcGF0aCAvICJleHBp
cmVkLmpzb24iCisrICAgIHVybCA9IFVSTCgiaHR0cHM6Ly9leGFtcGxlLmNvbS8iKQorKworKyAg
ICAjIFNhdmUgYSBmdXR1cmUtZXhwaXJpbmcgY29va2llLCB0aGVuIHJld3JpdGUgaXRzIHBlcnNp
c3RlZCBkZWFkbGluZSB0byB0aGUKKysgICAgIyBwYXN0IHNvIHRoZSBjb29raWUgc3Vydml2ZXMg
c2F2ZSgpIGFuZCB0aGUgZHJvcCBoYXBwZW5zIG9uIHRoZSBsb2FkIHBhdGguCisrICAgIGphcl9z
YXZlID0gQ29va2llSmFyKCkKKysgICAgc2MgPSBTaW1wbGVDb29raWUoKQorKyAgICBzYy5sb2Fk
KCJzaWQ9eDsgRXhwaXJlcz1UdWUsIDEgSmFuIDI5OTkgMTI6MDA6MDAgR01UOyBEb21haW49ZXhh
bXBsZS5jb20iKQorKyAgICBqYXJfc2F2ZS51cGRhdGVfY29va2llcyhzYywgdXJsKQorKyAgICBq
YXJfc2F2ZS5zYXZlKGZpbGVfcGF0aD1maWxlX3BhdGgpCisrICAgIGRhdGEgPSBqc29uLmxvYWRz
KGZpbGVfcGF0aC5yZWFkX3RleHQoKSkKKysgICAgXywgY29va2llcyA9IG5leHQoaXRlcihkYXRh
Lml0ZW1zKCkpKQorKyAgICBjb29raWVzWyJzaWQiXVsiZXhwaXJlc190aW1lc3RhbXAiXSA9IDAu
MAorKyAgICBmaWxlX3BhdGgud3JpdGVfdGV4dChqc29uLmR1bXBzKGRhdGEpKQorKworKyAgICBq
YXJfbG9hZCA9IENvb2tpZUphcigpCisrICAgIGphcl9sb2FkLmxvYWQoZmlsZV9wYXRoPWZpbGVf
cGF0aCkKKysKKysgICAgYXNzZXJ0IGxlbihqYXJfbG9hZCkgPT0gMAorKyAgICBhc3NlcnQgInNp
ZCIgbm90IGluIGphcl9sb2FkLmZpbHRlcl9jb29raWVzKHVybCkKKysKKysKKythc3luYyBkZWYg
dGVzdF9zYXZlX2xvYWRfanNvbl9wcmVzZXJ2ZXNfZXhwaXJlc19kZWFkbGluZSh0bXBfcGF0aDog
UGF0aCkgLT4gTm9uZToKKysgICAgIiIiVmVyaWZ5IGEgZnV0dXJlIEV4cGlyZXMgZGVhZGxpbmUg
c3Vydml2ZXMgYSBzYXZlL2xvYWQgcm91bmR0cmlwLiIiIgorKyAgICBmaWxlX3BhdGggPSB0bXBf
cGF0aCAvICJleHBpcmVzLmpzb24iCisrICAgIHVybCA9IFVSTCgiaHR0cHM6Ly9leGFtcGxlLmNv
bS8iKQorKworKyAgICBqYXJfc2F2ZSA9IENvb2tpZUphcigpCisrICAgIHNjID0gU2ltcGxlQ29v
a2llKCkKKysgICAgc2MubG9hZCgic2lkPXg7IEV4cGlyZXM9VHVlLCAxIEphbiAyOTk5IDEyOjAw
OjAwIEdNVDsgRG9tYWluPWV4YW1wbGUuY29tIikKKysgICAgamFyX3NhdmUudXBkYXRlX2Nvb2tp
ZXMoc2MsIHVybCkKKysgICAgZXhwaXJhdGlvbnMgPSBkaWN0KGphcl9zYXZlLl9leHBpcmF0aW9u
cykKKysgICAgamFyX3NhdmUuc2F2ZShmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKworKyAgICBqYXJf
bG9hZCA9IENvb2tpZUphcigpCisrICAgIGphcl9sb2FkLmxvYWQoZmlsZV9wYXRoPWZpbGVfcGF0
aCkKKysKKysgICAgYXNzZXJ0IGRpY3QoamFyX2xvYWQuX2V4cGlyYXRpb25zKSA9PSBleHBpcmF0
aW9ucworKyAgICBhc3NlcnQgInNpZCIgaW4gamFyX2xvYWQuZmlsdGVyX2Nvb2tpZXModXJsKQor
KworKworK2FzeW5jIGRlZiB0ZXN0X2xvYWRfanNvbl9vbGRfZm9ybWF0X3dpdGhvdXRfbmV3X2tl
eXModG1wX3BhdGg6IFBhdGgpIC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBhIGZpbGUgd3JpdHRl
biBieSBhbiBvbGRlciB2ZXJzaW9uIChubyBob3N0X29ubHkvZXhwaXJlc190aW1lc3RhbXApIGxv
YWRzLiIiIgorKyAgICBmaWxlX3BhdGggPSB0bXBfcGF0aCAvICJvbGQuanNvbiIKKysgICAgIyBP
bGQgc2NoZW1hOiBubyBob3N0X29ubHksIG5vIGV4cGlyZXNfdGltZXN0YW1wOyByZWxhdGl2ZSBt
YXgtYWdlIG1vcnNlbCBhdHRyLgorKyAgICBmaWxlX3BhdGgud3JpdGVfdGV4dCgKKysgICAgICAg
IGpzb24uZHVtcHMoCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAiZXhhbXBsZS5j
b218LyI6IHsKKysgICAgICAgICAgICAgICAgICAgICJzaWQiOiB7CisrICAgICAgICAgICAgICAg
ICAgICAgICAgImtleSI6ICJzaWQiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6
ICJ4IiwKKysgICAgICAgICAgICAgICAgICAgICAgICAiY29kZWRfdmFsdWUiOiAieCIsCisrICAg
ICAgICAgICAgICAgICAgICAgICAgImRvbWFpbiI6ICJleGFtcGxlLmNvbSIsCisrICAgICAgICAg
ICAgICAgICAgICAgICAgIm1heC1hZ2UiOiAiMzYwMCIsCisrICAgICAgICAgICAgICAgICAgICB9
CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9CisrICAgICAgICApCisrICAgICkK
KysgICAgdXJsID0gVVJMKCJodHRwczovL2V4YW1wbGUuY29tLyIpCisrCisrICAgIGphcl9sb2Fk
ID0gQ29va2llSmFyKCkKKysgICAgIyBObyBleGNlcHRpb24gd2hlbiB0aGUgbmV3IGtleXMgYXJl
IGFic2VudC4KKysgICAgamFyX2xvYWQubG9hZChmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKworKyAg
ICAjIEEgaG9zdC1vbmx5IGNvb2tpZSBzYXZlZCB3aXRob3V0IERvbWFpbiBieSBhbiBvbGRlciB2
ZXJzaW9uIGhhZCBubyBkb21haW4KKysgICAgIyBmaWVsZCwgc28gaXQgbm93IGxvYWRzIGFzIGEg
ZG9tYWluIGNvb2tpZSAodGhlIGRvY3VtZW50ZWQgbWlncmF0aW9uIGxvc3MpLgorKyAgICBhc3Nl
cnQgInNpZCIgaW4gamFyX2xvYWQuZmlsdGVyX2Nvb2tpZXModXJsKQorKyAgICAjIG1heC1hZ2Ug
aXMgcmVzY2hlZHVsZWQgZnJvbSBsb2FkIHRpbWUgcmF0aGVyIHRoYW4gYW4gYWJzb2x1dGUgZGVh
ZGxpbmUuCisrICAgIGFzc2VydCBhbnkoa2V5WzJdID09ICJzaWQiIGZvciBrZXkgaW4gamFyX2xv
YWQuX2V4cGlyYXRpb25zKQorKworKworIGFzeW5jIGRlZiB0ZXN0X2pzb25fZm9ybWF0X2lzX3Nh
ZmUodG1wX3BhdGg6IFBhdGgpIC0+IE5vbmU6CisgICAgICIiIlZlcmlmeSB0aGUgSlNPTiBmaWxl
IGZvcm1hdCBjYW5ub3QgZXhlY3V0ZSBjb2RlIG9uIGxvYWQuIiIiCisgICAgIGltcG9ydCBqc29u
CmRpZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2
LTU0MjgwLnBhdGNoIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIw
MjYtNTQyODAucGF0Y2gKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMv
Q1ZFLTIwMjYtNTQyODAucGF0Y2gJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAK
KysrIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyODAu
cGF0Y2gJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwxMjgg
QEAKK0Zyb206ICJwYXRjaGJhY2tbYm90XSIgPDQ1NDMyNjk0K3BhdGNoYmFja1tib3RdQHVzZXJz
Lm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgNyBKdW4gMjAyNiAwNTo0NzoxNiArMDAw
MAorU3ViamVjdDogW1BBVENIXSBbUFIgIzEyODMxLzFhYzkyZGFlIGJhY2twb3J0XVszLjE0XSBQ
YXlsb2FkIGNsb3NlIG9uCisgZGlzY29ubmVjdCAoIzEyODQzKQorCitDby1hdXRob3JlZC1ieTog
Si4gTmljayBLb3N0b24gPG5pY2tAa29zdG9uLm9yZz4KKworUmV2aWV3ZWQtQnk6IERhbmllbCBM
ZWlkZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20v
YWlvLWxpYnMvYWlvaHR0cC9jb21taXQvYTc2MmVkYTUyNDJmNjQ5MGQ2YmE2Njc1MzMxOTNmOGI0
NzNhZDU4NworQnVnOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1cml0
eS9hZHZpc29yaWVzL0dIU0EtOXg4cS03aDhoLXdjdzkKK0J1Zy1EZWJpYW4tU2VjdXJpdHk6IGh0
dHBzOi8vc2VjdXJpdHktdHJhY2tlci5kZWJpYW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYtNTQyODAK
K0J1Zy1GcmVleGlhbi1TZWN1cml0eTogaHR0cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVuZGVk
LWx0cy90cmFja2VyL0NWRS0yMDI2LTU0MjgwCistLS0KKyBhaW9odHRwL3dlYl9yZXNwb25zZS5w
eSAgICB8ICA2ICsrKy0KKyB0ZXN0cy90ZXN0X3dlYl9yZXNwb25zZS5weSB8IDcyICsrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyAyIGZpbGVzIGNoYW5nZWQs
IDc2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRw
L3dlYl9yZXNwb25zZS5weSBiL2Fpb2h0dHAvd2ViX3Jlc3BvbnNlLnB5CitpbmRleCBmOGUyZDRk
Li5iYzczZWEwIDEwMDY0NAorLS0tIGEvYWlvaHR0cC93ZWJfcmVzcG9uc2UucHkKKysrKyBiL2Fp
b2h0dHAvd2ViX3Jlc3BvbnNlLnB5CitAQCAtNzYyLDcgKzc2MiwxMSBAQCBjbGFzcyBSZXNwb25z
ZShTdHJlYW1SZXNwb25zZSk6CisgICAgICAgICBpZiBib2R5IGlzIE5vbmUgb3Igc2VsZi5fbXVz
dF9iZV9lbXB0eV9ib2R5OgorICAgICAgICAgICAgIGF3YWl0IHN1cGVyKCkud3JpdGVfZW9mKCkK
KyAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShzZWxmLl9ib2R5LCBQYXlsb2FkKToKKy0gICAgICAg
ICAgICBhd2FpdCBzZWxmLl9ib2R5LndyaXRlKHNlbGYuX3BheWxvYWRfd3JpdGVyKQorKyAgICAg
ICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgYXdhaXQgc2VsZi5fYm9keS53cml0ZShzZWxm
Ll9wYXlsb2FkX3dyaXRlcikKKysgICAgICAgICAgICBmaW5hbGx5OgorKyAgICAgICAgICAgICAg
ICBpZiBoYXNhdHRyKHNlbGYuX2JvZHksICJjbG9zZSIpOgorKyAgICAgICAgICAgICAgICAgICAg
YXdhaXQgc2VsZi5fYm9keS5jbG9zZSgpCisgICAgICAgICAgICAgYXdhaXQgc3VwZXIoKS53cml0
ZV9lb2YoKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBhd2FpdCBzdXBlcigpLndyaXRl
X2VvZihjYXN0KGJ5dGVzLCBib2R5KSkKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X3dlYl9yZXNw
b25zZS5weSBiL3Rlc3RzL3Rlc3Rfd2ViX3Jlc3BvbnNlLnB5CitpbmRleCBkM2VlMjRlLi5kMTc0
YjZjIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF93ZWJfcmVzcG9uc2UucHkKKysrKyBiL3Rlc3Rz
L3Rlc3Rfd2ViX3Jlc3BvbnNlLnB5CitAQCAtMSwzICsxLDQgQEAKKytpbXBvcnQgYXN5bmNpbwor
IGltcG9ydCBjb2xsZWN0aW9ucy5hYmMKKyBpbXBvcnQgZGF0ZXRpbWUKKyBpbXBvcnQgZ3ppcAor
QEAgLTE4LDcgKzE5LDcgQEAgZnJvbSBhaW9odHRwLmFiYyBpbXBvcnQgQWJzdHJhY3RTdHJlYW1X
cml0ZXIKKyBmcm9tIGFpb2h0dHAuaGVscGVycyBpbXBvcnQgRVRhZworIGZyb20gYWlvaHR0cC5o
dHRwX3dyaXRlciBpbXBvcnQgU3RyZWFtV3JpdGVyLCBfc2VyaWFsaXplX2hlYWRlcnMKKyBmcm9t
IGFpb2h0dHAubXVsdGlwYXJ0IGltcG9ydCBCb2R5UGFydFJlYWRlciwgTXVsdGlwYXJ0V3JpdGVy
CistZnJvbSBhaW9odHRwLnBheWxvYWQgaW1wb3J0IEJ5dGVzUGF5bG9hZCwgU3RyaW5nUGF5bG9h
ZAorK2Zyb20gYWlvaHR0cC5wYXlsb2FkIGltcG9ydCBCeXRlc1BheWxvYWQsIFBheWxvYWQsIFN0
cmluZ1BheWxvYWQKKyBmcm9tIGFpb2h0dHAudGVzdF91dGlscyBpbXBvcnQgbWFrZV9tb2NrZWRf
Y29ybywgbWFrZV9tb2NrZWRfcmVxdWVzdAorIGZyb20gYWlvaHR0cC53ZWIgaW1wb3J0IENvbnRl
bnRDb2RpbmcsIFJlc3BvbnNlLCBTdHJlYW1SZXNwb25zZSwganNvbl9yZXNwb25zZQorIAorQEAg
LTEzMjEsNiArMTMyMiw3NSBAQCBhc3luYyBkZWYgdGVzdF9jb25zZWN1dGl2ZV93cml0ZV9lb2Yo
KSAtPiBOb25lOgorICAgICB3cml0ZXIud3JpdGVfZW9mLmFzc2VydF9jYWxsZWRfb25jZV93aXRo
KGRhdGEpCisgCisgCisrY2xhc3MgX0Nsb3NpbmdQYXlsb2FkKFBheWxvYWQpOgorKyAgICAiIiJQ
YXlsb2FkIHRlc3QgZG91YmxlIHRoYXQgcmVjb3JkcyB3aGV0aGVyIGNsb3NlKCkgcmFuLiIiIgor
KworKyAgICBkZWYgX19pbml0X18oc2VsZikgLT4gTm9uZToKKysgICAgICAgIHN1cGVyKCkuX19p
bml0X18oTm9uZSkKKysgICAgICAgIHNlbGYuY2xvc2VfY2FsbGVkID0gRmFsc2UKKysgICAgICAg
IHNlbGYuc3RhcnRlZCA9IGFzeW5jaW8uRXZlbnQoKQorKyAgICAgICAgc2VsZi5yZWxlYXNlID0g
YXN5bmNpby5FdmVudCgpCisrICAgICAgICBzZWxmLmZhaWwgPSBGYWxzZQorKworKyAgICBhc3lu
YyBkZWYgd3JpdGUoc2VsZiwgd3JpdGVyOiBBYnN0cmFjdFN0cmVhbVdyaXRlcikgLT4gTm9uZToK
KysgICAgICAgIHNlbGYuc3RhcnRlZC5zZXQoKQorKyAgICAgICAgaWYgc2VsZi5mYWlsOgorKyAg
ICAgICAgICAgIHJhaXNlIENvbm5lY3Rpb25SZXNldEVycm9yKCJjbGllbnQgZ29uZSIpCisrICAg
ICAgICBhd2FpdCBzZWxmLnJlbGVhc2Uud2FpdCgpCisrCisrICAgIGFzeW5jIGRlZiBjbG9zZShz
ZWxmKSAtPiBOb25lOgorKyAgICAgICAgc2VsZi5jbG9zZV9jYWxsZWQgPSBUcnVlCisrCisrICAg
IGRlZiBkZWNvZGUoc2VsZiwgZW5jb2Rpbmc6IHN0ciA9ICJ1dGYtOCIsIGVycm9yczogc3RyID0g
InN0cmljdCIpIC0+IHN0cjoKKysgICAgICAgIGFzc2VydCBGYWxzZQorKworKworK2FzeW5jIGRl
ZiB0ZXN0X3dyaXRlX2VvZl9jbG9zZXNfcGF5bG9hZF9vbl9zdWNjZXNzKCkgLT4gTm9uZToKKysg
ICAgd3JpdGVyID0gbW9jay5jcmVhdGVfYXV0b3NwZWMoQWJzdHJhY3RTdHJlYW1Xcml0ZXIsIHNw
ZWNfc2V0PVRydWUsIGluc3RhbmNlPVRydWUpCisrICAgIHJlcSA9IG1ha2VfcmVxdWVzdCgiR0VU
IiwgIi8iLCB3cml0ZXI9d3JpdGVyKQorKyAgICBwYXlsb2FkID0gX0Nsb3NpbmdQYXlsb2FkKCkK
KysgICAgcGF5bG9hZC5yZWxlYXNlLnNldCgpCisrICAgIHJlc3AgPSB3ZWIuUmVzcG9uc2UoYm9k
eT1wYXlsb2FkKQorKworKyAgICBhd2FpdCByZXNwLnByZXBhcmUocmVxKQorKyAgICBhd2FpdCBy
ZXNwLndyaXRlX2VvZigpCisrCisrICAgIGFzc2VydCBwYXlsb2FkLmNsb3NlX2NhbGxlZAorKyAg
ICBhc3NlcnQgd3JpdGVyLndyaXRlX2VvZi5jYWxsZWQKKysKKysKKythc3luYyBkZWYgdGVzdF93
cml0ZV9lb2ZfY2xvc2VzX3BheWxvYWRfb25fd3JpdGVfZXJyb3IoKSAtPiBOb25lOgorKyAgICB3
cml0ZXIgPSBtb2NrLmNyZWF0ZV9hdXRvc3BlYyhBYnN0cmFjdFN0cmVhbVdyaXRlciwgc3BlY19z
ZXQ9VHJ1ZSwgaW5zdGFuY2U9VHJ1ZSkKKysgICAgcmVxID0gbWFrZV9yZXF1ZXN0KCJHRVQiLCAi
LyIsIHdyaXRlcj13cml0ZXIpCisrICAgIHBheWxvYWQgPSBfQ2xvc2luZ1BheWxvYWQoKQorKyAg
ICBwYXlsb2FkLmZhaWwgPSBUcnVlCisrICAgIHJlc3AgPSB3ZWIuUmVzcG9uc2UoYm9keT1wYXls
b2FkKQorKworKyAgICBhd2FpdCByZXNwLnByZXBhcmUocmVxKQorKyAgICB3aXRoIHB5dGVzdC5y
YWlzZXMoQ29ubmVjdGlvblJlc2V0RXJyb3IpOgorKyAgICAgICAgYXdhaXQgcmVzcC53cml0ZV9l
b2YoKQorKworKyAgICBhc3NlcnQgcGF5bG9hZC5jbG9zZV9jYWxsZWQKKysgICAgYXNzZXJ0IG5v
dCB3cml0ZXIud3JpdGVfZW9mLmNhbGxlZAorKworKworK2FzeW5jIGRlZiB0ZXN0X3dyaXRlX2Vv
Zl9jbG9zZXNfcGF5bG9hZF9vbl9jYW5jZWwoKSAtPiBOb25lOgorKyAgICB3cml0ZXIgPSBtb2Nr
LmNyZWF0ZV9hdXRvc3BlYyhBYnN0cmFjdFN0cmVhbVdyaXRlciwgc3BlY19zZXQ9VHJ1ZSwgaW5z
dGFuY2U9VHJ1ZSkKKysgICAgcmVxID0gbWFrZV9yZXF1ZXN0KCJHRVQiLCAiLyIsIHdyaXRlcj13
cml0ZXIpCisrICAgIHBheWxvYWQgPSBfQ2xvc2luZ1BheWxvYWQoKQorKyAgICByZXNwID0gd2Vi
LlJlc3BvbnNlKGJvZHk9cGF5bG9hZCkKKysKKysgICAgYXdhaXQgcmVzcC5wcmVwYXJlKHJlcSkK
KysgICAgdGFzayA9IGFzeW5jaW8uZW5zdXJlX2Z1dHVyZShyZXNwLndyaXRlX2VvZigpKQorKyAg
ICBhd2FpdCBwYXlsb2FkLnN0YXJ0ZWQud2FpdCgpCisrICAgIHRhc2suY2FuY2VsKCkKKysgICAg
d2l0aCBweXRlc3QucmFpc2VzKGFzeW5jaW8uQ2FuY2VsbGVkRXJyb3IpOgorKyAgICAgICAgYXdh
aXQgdGFzaworKworKyAgICBhc3NlcnQgcGF5bG9hZC5jbG9zZV9jYWxsZWQKKysgICAgYXNzZXJ0
IG5vdCB3cml0ZXIud3JpdGVfZW9mLmNhbGxlZAorKworKworIGRlZiB0ZXN0X3NldF90ZXh0X3dp
dGhfY29udGVudF90eXBlKCkgLT4gTm9uZToKKyAgICAgcmVzcCA9IFJlc3BvbnNlKCkKKyAgICAg
cmVzcC5jb250ZW50X3R5cGUgPSAidGV4dC9odG1sIgpkaWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAt
My4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9zZXJpZXMgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJp
YW4vcGF0Y2hlcy9zZXJpZXMKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNo
ZXMvc2VyaWVzCTIwMjYtMDQtMjEgMjE6MDA6MDQuMDAwMDAwMDAwICswMjAwCisrKyBweXRob24t
YWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL3NlcmllcwkyMDI2LTA3LTMxIDAzOjUwOjMy
LjAwMDAwMDAwMCArMDIwMApAQCAtMTAsMyArMTAsMjIgQEAKIENWRS0yMDI1LTY5MjI3LnBhdGNo
CiBDVkUtMjAyNS02OTIyOC5wYXRjaAogQ1ZFLTIwMjUtNjkyMjkucGF0Y2gKK0NWRS0yMDI1LTUz
NjQzLnBhdGNoCitDVkUtMjAyNi0yMjgxNS5wYXRjaAorQ1ZFLTIwMjYtMzQ1MTMucGF0Y2gKK0NW
RS0yMDI2LTM0NTE0LnBhdGNoCitDVkUtMjAyNi0zNDUxNi5wYXRjaAorQ1ZFLTIwMjYtMzQ1MTcu
cGF0Y2gKK0NWRS0yMDI2LTM0NTE4LnBhdGNoCitDVkUtMjAyNi0zNDUxOS5wYXRjaAorQ1ZFLTIw
MjYtMzQ1MjAucGF0Y2gKK0NWRS0yMDI2LTM0NTI1LTEucGF0Y2gKK0NWRS0yMDI2LTM0NTI1LTIu
cGF0Y2gKK0NWRS0yMDI2LTM0OTkzLnBhdGNoCitDVkUtMjAyNi00NzI2NS5wYXRjaAorQ1ZFLTIw
MjYtNTAyNjkucGF0Y2gKK0NWRS0yMDI2LTU0Mjc0LnBhdGNoCitDVkUtMjAyNi01NDI3NS5wYXRj
aAorQ1ZFLTIwMjYtNTQyNzcucGF0Y2gKK0NWRS0yMDI2LTU0Mjc5LnBhdGNoCitDVkUtMjAyNi01
NDI4MC5wYXRjaApkaWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcnVsZXMg
cHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcnVsZXMKLS0tIHB5dGhvbi1haW9odHRwLTMu
MTEuMTYvZGViaWFuL3J1bGVzCTIwMjUtMDQtMDUgMTQ6NDQ6MDQuMDAwMDAwMDAwICswMjAwCisr
KyBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9ydWxlcwkyMDI2LTA3LTMxIDAzOjUwOjMy
LjAwMDAwMDAwMCArMDIwMApAQCAtMjMsMTAgKzIzLDEzIEBACiAJJChzYXZlLWVnZy1pbmZvKQog
CSMgSWdub3JlIG1pc3NpbmcgcmVmZXJlbmNlcy4KIAkke01BS0V9IC1DIGRvY3MgaHRtbCBTUEhJ
TlhPUFRTPQorCWN5dGhvbiAtMyAtbyBhaW9odHRwL19odHRwX3BhcnNlci5jIGFpb2h0dHAvX2h0
dHBfcGFyc2VyLnB5eCAtSSBhaW9odHRwCisJY3l0aG9uIC0zIC1vIGFpb2h0dHAvX3dlYnNvY2tl
dC9yZWFkZXJfYy5jIGFpb2h0dHAvX3dlYnNvY2tldC9yZWFkZXJfYy5weSAtSSBhaW9odHRwCiAJ
ZGhfYXV0b19idWlsZAogCiBvdmVycmlkZV9kaF9hdXRvX2NsZWFuOgogCXJtIC1yZiAuY2FjaGUK
KwlybSAtZiBhaW9odHRwL19odHRwX3BhcnNlci5jIGFpb2h0dHAvX3dlYnNvY2tldC9yZWFkZXJf
Yy5jCiAJJChzYXZlLWVnZy1pbmZvKQogCWRoX2F1dG9fY2xlYW4KIAkkKHJlc3RvcmUtZWdnLWlu
Zm8pCmRpZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi90ZXN0cy9jb250cm9s
IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Rlc3RzL2NvbnRyb2wKLS0tIHB5dGhvbi1h
aW9odHRwLTMuMTEuMTYvZGViaWFuL3Rlc3RzL2NvbnRyb2wJMTk3MC0wMS0wMSAwMTowMDowMC4w
MDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Rlc3RzL2Nv
bnRyb2wJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwyIEBA
CitUZXN0czogdXBzdHJlYW0tdGVzdHMKK0RlcGVuZHM6IEAsIHB5dGhvbjMtYWxsLCBweXRob24z
LXB5dGVzdCwgcHl0aG9uMy1hc3luYy1nZW5lcmF0b3IsIHB5dGhvbjMtZnJlZXplZ3VuLCBweXRo
b24zLWNvdmVyYWdlLCBweXRob24zLXB5dGVzdC1tb2NrLCBweXRob24zLWJyb3RsaWNmZmksIHB5
dGhvbjMtcHl0ZXN0LWNvZHNwZWVkLCBweXRob24zLXJlLWFzc2VydCwgcHl0aG9uMy1icm90bGks
IHB5dGhvbjMtZ3VuaWNvcm4KZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFu
L3Rlc3RzL3Vwc3RyZWFtLXRlc3RzIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Rlc3Rz
L3Vwc3RyZWFtLXRlc3RzCi0tLSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi90ZXN0cy91
cHN0cmVhbS10ZXN0cwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgcHl0
aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vdGVzdHMvdXBzdHJlYW0tdGVzdHMJMjAyNi0wNy0z
MSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwxOSBAQAorIyEvYmluL3NoCisK
K3NldCAtZSAtdQorCitjcCAtdmEgTElDRU5TRS50eHQgUkVBRE1FLnJzdCB0ZXN0cyAiJEFVVE9Q
S0dURVNUX1RNUCIvCitjZCAiJEFVVE9QS0dURVNUX1RNUCIKKworZm9yIHB5IGluICQocHkzdmVy
c2lvbnMgLXMgMj4vZGV2L251bGwpOyBkbworCWVjaG8gIlJ1bm5pbmcgdGVzdHN1aXRlIHdpdGgg
JHB5OiIKKwkkcHkgLW0gcHl0ZXN0IFwKKwkJLS1pZ25vcmUtZ2xvYj10ZXN0cy90ZXN0X2JlbmNo
bWFyayogXAorCQktLWlnbm9yZT10ZXN0cy90ZXN0X3Byb3h5X2Z1bmN0aW9uYWwucHkgXAorCQkt
LWlnbm9yZT10ZXN0cy9hdXRvYmFobi90ZXN0X2F1dG9iYWhuLnB5IFwKKwkJLWsgIm5vdCB0ZXN0
X2h0dHBfcmVzcG9uc2VfcGFyc2VyX3N0cmljdF9vYnNfbGluZV9mb2xkaW5nIGFuZCBcCisJCSAg
ICBub3QgdGVzdF9odHRwX3Jlc3BvbnNlX3BhcnNlcl9zdHJpY3RfaGVhZGVycyBhbmQgXAorCQkg
ICAgbm90IHRlc3RfaHR0cF9yZXNwb25zZV9wYXJzZXJfYmFkX2NodW5rZWRfc3RyaWN0X3B5IGFu
ZCBcCisJCSAgICBub3QgdGVzdF9odHRwX3Jlc3BvbnNlX3BhcnNlcl9iYWRfY2h1bmtlZF9zdHJp
Y3RfYyIgXAorCQl0ZXN0cworZG9uZQo=

--===============6953262065481897976==--