XGQgLnUKCnc6KFt0YWJsZTpgc3ltYm9sJCgpOyBoYW5kbGU6YGludCQoKV07IHN5bWxpc3Q6MGgk
KCkpOyAgICAgLy8gIFN1YnNjcmlwdGlvbiBsaXN0OyBrZXlzIGlzIHRhYmxlcyBhbmQgdmFsdWVz
IGFyZSBjbGllbnRzCnQ6KGB0cmFkZWBxdW90ZWBzcGxpdHNgaW5zdXJhbmNlKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUYWJsZXMgZGVmaW5l
ZCBpbiB0aGlzIHEgcHJvY2VzcwoKLy8gSW5pdGlhbGl6ZSAudS50IGFuZCAudS53CmluaXQ6eyB0
Ojp0YWJsZXNbXTsgaGNsb3NlIGVhY2ggZXhlYyBoYW5kbGUgZnJvbSAudS53OyBkZWxldGUgZnJv
bSBgLnUud30KCi8vIE92ZXJyaWRlIC56LnBjIHRvIGNsZWFuIHVwIC51Lncgb24gY2xpZW50IGRp
c2Nvbm5lY3RzCmRlbDp7W3RibDtobmRsXSBkZWxldGUgZnJvbSBgLnUudyB3aGVyZSBoYW5kbGU9
aG5kbCx0YWJsZT10YmwgfQouei5wYzp7ZGVsWzt4XSBlYWNoIHR9CgovLyBTZWxlY3Rpb24gY3Jp
dGVyaWEgZm9yIG1lc3NhZ2UgcHVibGlzaGluZyAtIHN5bSBjb2x1bW4gbXVzdCBiZSBkZWZpbmVk
IGluIGFsbCBtZXNzYWdlcwpzZWw6e1tyZWNzO3N5bXNdCiAgICAgICAgcmVzOiRbc3ltcyB+IGVu
bGlzdCBgOyByZWNzOyBzZWxlY3QgZnJvbSByZWNzIHdoZXJlIHN5bSBpbiBzeW1zXTsKICAgICAg
ICA6cmVzOwogIH0KCi8vIFB1Ymxpc2ggbWV0aG9kIHRvIGl0ZXJhdGUgdGhyb3VnaCBhbGwgY2xp
ZW50cyBhbmQgY2FsbCB1cGQgb24gdGhlbSByZW1vdGVseQpwdWI6e1t0O3hdCiAgICAgICAge1t0
O3g7aF0KICAgICAgICAgICB4OnNlbFt4OyAudS53W3QsaF1gc3ltbGlzdF07CiAgICAgICAgICAg
aWZbMDxjb3VudCB4OyAobmVnIGgpKGB1cGQ7dDt4KV0gfVt0O3hdIGVhY2ggZXhlYyBkaXN0aW5j
dCBoYW5kbGUgZnJvbSAudS53IHdoZXJlIHRhYmxlPXQ7CiAgfQoKLy8gU3Vic2NyaXB0aW9uIG1l
dGhvZCBmb3IgdGhlIGNsaWVudHMgdG8gY2FsbAovLyBXaWxsIGFkZCB0aGUgY2xpZW50cyB0byAu
dS53CnN1Yjp7W3RibHM7c3ltc10KICAgICAgICAvLyBpZiBgLCBzdWJzY3JpYmUgdGhpcyBoYW5k
bGUgdG8gYWxsIHRhYmxlcwogICAgICAgICAgIGlmW3RibHN+YDsgOnN1Yls7c3ltc10gZWFjaCB0
XTsKCiAgICAgICAgLy8gaWYgdGhlIHRhYmxlIGRvZXMgbm90IGV4aXN0IHJldHVybiB0byB0aGUg
Y2xpZW50IHRoZSBuYW1lIG9mIHRoaXMgdGFibGUKICAgICAgICAgICBpZltub3QgYWxsIHRibHMg
aW5cOnQ7ICd0YmxzXTsKCiAgICAgICAgLy8gQWRkIHRoZSBuZXcgc3Vic2NyaXB0aW9uIGluZm8g
dG8gLnUudyAod2lsbCBvdmVycmlkZSB0aGUgb2xkIG9uZSBmb3IgdGhpcyB0YWJsZS9oYW5kbGUp
CiAgICAgICAgY250OmNvdW50IHRibHM7CiAgICAgICAgaWZbLTExaCA9IHR5cGUgc3ltczsgc3lt
czplbmxpc3Qgc3ltc107CiAgICAgICAgYC51LncgdXBzZXJ0ICBmbGlwICAodGJscztjbnQjLnou
dztjbnQjZW5saXN0IHN5bXMpOwogICAgICAgIC8vIFJldHVybiB0aGUgc2NoZW1hcyBmcm9tIC51
LnQgdG8gdGhlIGNsaWVudAogICAgICAgIDp7KHg7IGdldCB4KX0gZWFjaCB0YmxzOwogfQoKCi8v
IHdpbGwgaXRlcmF0ZSB0aHJvdWdoIGNsaWVudCBsaXN0IGFuZCBpbnZva2UgLnUuZW5kIG9uIHRo
ZW0gcmVtb3RlbHkKZW5kOnt7KG5lZyB4KSAiLnUuZW5kW10iICB9IGVhY2ggZXhlYyBkaXN0aW5j
dCBoYW5kbGUgZnJvbSAudS53fQoKZGVsdGljazp7dmFsdWUgImRlbGV0ZSBmcm9tIGAiLChzdHJp
bmcgeCk7fQoKCgoKXGQgLgoK
