Skyhigh Security Policy Code Procedure Reference
- Last updated
- Save as PDF
×
A searchable reference of MOWGLI (Policy Code) procedures, including each procedure's signature, parameters, and a code example.
W3siZGVzY3JpcHRpb24iOiAiRm9ybWF0cyBhbmQgc3RvcmVzIGFuIGFnZW50bGVzcyBub3RpZmljYXRpb24gYmxvY2sgcGFnZSBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24uIiwgImNvZGVfZXhhbXBsZSI6ICJNV0cuQmxvY2tTZXR0aW5nIGJsb2NrUGFnZSA9IFsgXCI8YmxvY2tfc2V0dGluZ19pZD5cIiBdXG5ST1VUSU5FIEV4YW1wbGVBZ2VudGxlc3NCbG9ja1BhZ2UgT04gKFdlYi5SZXNwb25zZSkge1xuSUYgVFJVRSBUSEVOIHtcbkFnZW50bGVzc0FkZEJsb2NrUGFnZShibG9ja1BhZ2UsIFwiQmxvY2tlZCBVcGxvYWRcIiwgXCIvQ3VzdG9tZXIgUG9saWN5L1dlYi9VcGxvYWQgQ29udHJvbFwiLCBUUlVFKVxufVxufSIsICJuYW1lIjogIkFnZW50bGVzc0FkZEJsb2NrUGFnZSAoTVdHLkJsb2NrU2V0dGluZywgU1RSSU5HLCBTVFJJTkcsIEJPT0xFQU4pIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBNV0cuQmxvY2tTZXR0aW5nYDogVGhlIGJsb2NrLXBhZ2UgdGVtcGxhdGUgY29uZmlndXJhdGlvbi5cbjIuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgcnVsZSB0aGF0IHRyaWdnZXJlZCB0aGUgYmxvY2suXG4zLiBgU1RSSU5HYDogVGhlIG5hbWUgb3IgcGF0aCBvZiB0aGUgcnVsZSBzZXQgdGhhdCB0cmlnZ2VyZWQgdGhlIGJsb2NrLlxuNC4gYEJPT0xFQU5gOiBXaGVuIGBUUlVFYCwgZW5hYmxlcyBhZ2VudGxlc3MgcG9wdXAgYmVoYXZpb3IgZm9yIHRoaXMgcmVzcG9uc2UuIn0sIHsiZGVzY3JpcHRpb24iOiAiQWRkcyB0aGUgc3BlY2lmaWVkIERMUCBtYXRjaCB0byB0aGUgZ2l2ZW4gaW5jaWRlbnQgY29sbGVjdG9yLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gSW5pdGlhbGl6ZSBhbiBJbmNpZGVudENvbGxlY3RvclxuRExQLkluY2lkZW50Q29sbGVjdG9yIGluY2lkZW50Q29sbGVjdG9yID0gRExQLkluY2lkZW50Q29sbGVjdG9yKClcblxuLy8gQXNzdW1lIHdlIGhhdmUgYSBtYXRjaCBudW1iZXIgKGUuZy4sIGZyb20gc29tZSBETFAgZGV0ZWN0aW9uIGxvZ2ljKVxuTlVNQkVSIG1hdGNoTnVtYmVyID0gMVxuXG4vLyBBZGQgdGhlIG1hdGNoIHRvIHRoZSBpbmNpZGVudCBjb2xsZWN0b3JcbkRMUC5BZGQoaW5jaWRlbnRDb2xsZWN0b3IsIG1hdGNoTnVtYmVyKVxuXG4vLyBPcHRpb25hbGx5LCB5b3UgY2FuIHBlcmZvcm0gZnVydGhlciBhY3Rpb25zIHdpdGggdGhlIGluY2lkZW50Q29sbGVjdG9yXG4vLyBGb3IgZXhhbXBsZSwgbG9nZ2luZyB0aGUgaW5jaWRlbnQgb3IgdGFraW5nIHNvbWUgYWN0aW9uIGJhc2VkIG9uIHRoZSBpbmNpZGVudFxuLy8gSW5jaWRlbnQgYWRkZWQgd2l0aCBtYXRjaCBudW1iZXI6IFxubWF0Y2hOdW1iZXIuVG9TdHJpbmcoKSIsICJuYW1lIjogIkRMUC5BZGQgKERMUC5JbmNpZGVudENvbGxlY3RvciwgTlVNQkVSKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgRExQLkluY2lkZW50Q29sbGVjdG9yYDogVGhlIGluY2lkZW50IGNvbGxlY3RvciB0byBhZGQgdG8uXG4yLiBgTlVNQkVSYDogVGhlIERMUCBtYXRjaCB0byBhZGQuIn0sIHsiZGVzY3JpcHRpb24iOiAiQWRkcyB0aGUgc3BlY2lmaWVkIERMUCBtYXRjaCB0byB0aGUgZ2l2ZW4gaW5jaWRlbnQgY29sbGVjdG9yIHdpdGggdGhlIHNwZWNpZmllZCBhY3Rpb24uIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBJbml0aWFsaXplIHRoZSBJbmNpZGVudENvbGxlY3RvclxuRExQLkluY2lkZW50Q29sbGVjdG9yIGluY2lkZW50Q29sbGVjdG9yXG5cbi8vIERlZmluZSB0aGUgbWF0Y2ggbnVtYmVyIGFuZCBhY3Rpb25cbk5VTUJFUiBtYXRjaE51bWJlciA9IDFcblNUUklORyBhY3Rpb24gPSBcIkJsb2NrXCJcblxuLy8gQWRkIHRoZSBtYXRjaCB0byB0aGUgaW5jaWRlbnQgd2l0aCB0aGUgY29uZmlndXJlZCBhY3Rpb25cbkRMUC5BZGQoaW5jaWRlbnRDb2xsZWN0b3IsIG1hdGNoTnVtYmVyLCBhY3Rpb24pXG5cbi8vIE1hdGNoIGFkZGVkIHRvIGluY2lkZW50IHdpdGggYWN0aW9uOiBCbG9jayIsICJuYW1lIjogIkRMUC5BZGQgKERMUC5JbmNpZGVudENvbGxlY3RvciwgTlVNQkVSLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBETFAuSW5jaWRlbnRDb2xsZWN0b3JgOiBUaGUgaW5jaWRlbnQgY29sbGVjdG9yIHRvIGFkZCB0by5cbjIuIGBOVU1CRVJgOiBUaGUgRExQIG1hdGNoIHRvIGFkZC5cbjMuIGBTVFJJTkdgOiBUaGUgYWN0aW9uIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBtYXRjaC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJDcmVhdGVzIGEgRExQIGluY2lkZW50IHVzaW5nIHRoZSBnaXZlbiBjbGFzc2lmaWVyIGFuZCBjb2xsZWN0b3Igd2l0aCB0aGUgc3BlY2lmaWVkIGluY2lkZW50IG5hbWUgb3IgbWVzc2FnZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIEluaXRpYWxpemUgdGhlIERMUC5DbGFzc2lmaWVyIGFuZCBETFAuSW5jaWRlbnRDb2xsZWN0b3Igb2JqZWN0c1xuRExQLkNsYXNzaWZpZXIgY2xhc3NpZmllciA9IERMUC5DbGFzc2lmaWVyKClcbkRMUC5JbmNpZGVudENvbGxlY3RvciBpbmNpZGVudENvbGxlY3RvciA9IERMUC5JbmNpZGVudENvbGxlY3RvcigpXG5cbi8vIERlZmluZSBhIGRlc2NyaXB0aW9uIGZvciB0aGUgaW5jaWRlbnRcblNUUklORyBpbmNpZGVudERlc2NyaXB0aW9uID0gXCJTZW5zaXRpdmUgZGF0YSBkZXRlY3RlZCBpbiB0aGUgcmVxdWVzdC5cIlxuXG4vLyBDcmVhdGUgdGhlIERMUCBpbmNpZGVudFxuRExQLkNyZWF0ZUluY2lkZW50KGNsYXNzaWZpZXIsIGluY2lkZW50Q29sbGVjdG9yLCBpbmNpZGVudERlc2NyaXB0aW9uKVxuXG4vLyBPcHRpb25hbGx5LCBibG9jayB0aGUgcmVxdWVzdCBhZnRlciBjcmVhdGluZyB0aGUgaW5jaWRlbnRcbk1XRy5CbG9jayhcIkRMUCBwb2xpY3kgdmlvbGF0aW9uOiBcIiArIGluY2lkZW50RGVzY3JpcHRpb24pIiwgIm5hbWUiOiAiRExQLkNyZWF0ZUluY2lkZW50IChETFAuQ2xhc3NpZmllciwgRExQLkluY2lkZW50Q29sbGVjdG9yLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBETFAuQ2xhc3NpZmllcmA6IFRoZSBETFAgY2xhc3NpZmllciBvYmplY3QgdG8gdXNlLlxuMi4gYERMUC5JbmNpZGVudENvbGxlY3RvcmA6IFRoZSBpbmNpZGVudCBjb2xsZWN0b3IgdG8gYWRkIHRvLlxuMy4gYFNUUklOR2A6IFRoZSBuYW1lIG9yIG1lc3NhZ2Ugb2YgdGhlIGluY2lkZW50LiJ9LCB7ImRlc2NyaXB0aW9uIjogIlN0b3JlcyBETFAgZXZpZGVuY2UgZm9yIHRoZSBjdXJyZW50IGNsYXNzaWZpY2F0aW9uIHJlc3VsdC4iLCAiY29kZV9leGFtcGxlIjogIlJPVVRJTkUgRXhhbXBsZVNhdmVEbHBFdmlkZW5jZSBPTiAoV2ViLlJlcXVlc3QpIFtlbmFibGVkPVwidHJ1ZVwiLCBkaXNwbGF5TmFtZT1cIlNhdmUgRExQIGV2aWRlbmNlIGV4YW1wbGVcIl0ge1xuICAgIERMUC5DbGFzc2lmaWVyIGNsYXNzaWZpZXJWYXIgPSBNV0cuR2V0RExQQ2xhc3NpZmllclxuICAgIERMUC5TYXZlRXZpZGVuY2UoY2xhc3NpZmllclZhciwgVFJVRSlcbn0iLCAibmFtZSI6ICJETFAuU2F2ZUV2aWRlbmNlIChETFAuQ2xhc3NpZmllciwgQk9PTEVBTikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYERMUC5DbGFzc2lmaWVyYDogVGhlIERMUCBjbGFzc2lmaWVyIGNvbnRleHQuXG4yLiBgQk9PTEVBTmA6IFdoZW4gYFRSVUVgLCBhZGRpdGlvbmFsbHkgZ2VuZXJhdGVzIGhpZ2hsaWdodCBvdXRwdXQgZm9yIHRoZSBldmlkZW5jZS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTdG9yZXMgRExQIGV2aWRlbmNlIHdpdGggZXhwbGljaXQgY29udHJvbCBmbGFncyBmb3IgZXZpZGVuY2UgYW5kIGhpZ2hsaWdodGluZyBiZWhhdmlvci4iLCAiY29kZV9leGFtcGxlIjogIkRMUC5DbGFzc2lmaWVyIGNsYXNzaWZpZXIgPSBNV0cuR2V0RExQQ2xhc3NpZmllcigpXG5JRiBjbGFzc2lmaWVyIFRIRU4ge1xuICBETFAuU2F2ZUV2aWRlbmNlRXgoY2xhc3NpZmllciwgVFJVRSwgVFJVRSlcbn0iLCAibmFtZSI6ICJETFAuU2F2ZUV2aWRlbmNlRXggKERMUC5DbGFzc2lmaWVyLCBCT09MRUFOLCBCT09MRUFOKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgRExQLkNsYXNzaWZpZXJgOiBUaGUgRExQIGNsYXNzaWZpZXIgY29udGV4dC5cbjIuIGBCT09MRUFOYDogV2hlbiBgVFJVRWAsIHNhdmVzIERMUCBldmlkZW5jZS5cbjMuIGBCT09MRUFOYDogV2hlbiBgVFJVRWAsIGdlbmVyYXRlcyBoaWdobGlnaHQgb3V0cHV0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIlByb3ZpZGVzIGJvZHkgY29udGVudCB0byB0aGUgRExQIGNsYXNzaWZpZXIgY29udGV4dCBzbyBzdWJzZXF1ZW50IERMUCBvcGVyYXRpb25zIGV2YWx1YXRlIHRoZSBzdXBwbGllZCBwYXlsb2FkLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gSW5pdGlhbGl6ZSB0aGUgRExQIGNsYXNzaWZpZXJcbkRMUC5DbGFzc2lmaWVyIGRscENsYXNzaWZpZXIgPSBETFAuQ2xhc3NpZmllcigpXG5cbi8vIEFzc3VtZSB3ZSBoYXZlIGEgZGF0YSByZWZlcmVuY2UgdG8gdGhlIGJvZHkgb2YgdGhlIHJlcXVlc3RcbkRBVEFSRUYgcmVxdWVzdEJvZHkgPSBXZWIuUmVxdWVzdC5Cb2R5XG5cbi8vIFNldCB0aGUgYm9keSBmb3IgdGhlIERMUCBjbGFzc2lmaWVyXG5ETFAuU2V0Qm9keShkbHBDbGFzc2lmaWVyLCByZXF1ZXN0Qm9keSlcblxuLy8gUGVyZm9ybSBzb21lIGFjdGlvbiBiYXNlZCBvbiB0aGUgRExQIGNsYXNzaWZpY2F0aW9uXG5JRiBkbHBDbGFzc2lmaWVyLkNvbnRhaW5zU2Vuc2l0aXZlRGF0YSgpIFRIRU4ge1xuICAgIC8vIFNlbnNpdGl2ZSBkYXRhIGRldGVjdGVkIGluIHRoZSByZXF1ZXN0IGJvZHkuXG4gICAgTVdHLkJsb2NrKFwiUmVxdWVzdCBibG9ja2VkIGR1ZSB0byBzZW5zaXRpdmUgZGF0YVwiKVxufSBFTFNFIHtcbiAgICAvLyBObyBzZW5zaXRpdmUgZGF0YSBkZXRlY3RlZCBpbiB0aGUgcmVxdWVzdCBib2R5LlxuICAgIE1XRy5BbGxvdyhcIlJlcXVlc3QgYWxsb3dlZCBieSBwb2xpY3lcIilcbn0iLCAibmFtZSI6ICJETFAuU2V0Qm9keSAoRExQLkNsYXNzaWZpZXIsIERBVEFSRUYpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBETFAuQ2xhc3NpZmllcmA6IFRoZSBETFAgY2xhc3NpZmllciBjb250ZXh0IHRvIHJlY2VpdmUgdGhlIGJvZHkgZGF0YS5cbjIuIGBEQVRBUkVGYDogVGhlIGJvZHkgcGF5bG9hZCB0byBwcm92aWRlIGZvciBETFAgcHJvY2Vzc2luZy4ifSwgeyJkZXNjcmlwdGlvbiI6ICJQYXNzZXMgbWVkaWEtdHlwZSBieXBhc3MgZW50cmllcyB0byB0aGUgRExQIGNsYXNzaWZpY2F0aW9uIHNlcnZpY2UuIiwgImNvZGVfZXhhbXBsZSI6ICJST1VUSU5FIEV4YW1wbGUgT04gQU5ZIHtcbiAgRExQLkNsYXNzaWZpZXIgY2xhc3NpZmllciA9IE1XRy5HZXRETFBDbGFzc2lmaWVyXG4gIFZFQ1RPUjxTVFJJTkc+IGJ5cGFzc0xpc3QgPSBcImFwcGxpY2F0aW9uL3ppcFwiLCBcIi56aXBcIiwgXCJhcHBsaWNhdGlvbi94LTd6LWNvbXByZXNzZWRcIiwgXCIuN3pcIlxuICBETFAuU2V0QnlwYXNzTGlzdChjbGFzc2lmaWVyLCBieXBhc3NMaXN0KVxufSIsICJuYW1lIjogIkRMUC5TZXRCeXBhc3NMaXN0IChETFAuQ2xhc3NpZmllciwgVkVDVE9SPFNUUklORz4pIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBETFAuQ2xhc3NpZmllcmA6IFRoZSBETFAgY2xhc3NpZmllciBjb250ZXh0LlxuMi4gYFZFQ1RPUjxTVFJJTkc+YDogVGhlIGxpc3Qgb2YgbWVkaWEgdHlwZXMgb3IgZmlsZSBleHRlbnNpb25zIHRvIGJ5cGFzcy4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIHRoZSBldmlkZW5jZSByZXRyaWV2YWwgdGltZW91dCBmb3IgdGhlIHNwZWNpZmllZCBETFAgY2xhc3NpZmllci4iLCAiY29kZV9leGFtcGxlIjogIkRMUC5DbGFzc2lmaWVyIGNsYXNzaWZpZXIgPSBNV0cuR2V0RExQQ2xhc3NpZmllcigpXG5ETFAuU2V0RXZpZGVuY2VUaW1lT3V0KGNsYXNzaWZpZXIsIDE1MDApXG5ETFAuSW5jaWRlbnRDb2xsZWN0b3IgY29sbGVjdG9yID0gRExQLlN0YXJ0Um91dGluZShjbGFzc2lmaWVyLCBcIlVwbG9hZFNlbnNpdGl2ZURhdGFcIilcbklGIERMUC5ETFBTZXJ2aWNlQ2FsbENvdW50KGNsYXNzaWZpZXIpID4gMCBUSEVOIHtcbiAgICBETFAuU3RhcnRSdWxlKGNvbGxlY3RvciwgXCJFdmlkZW5jZSByZXRyaWV2YWwgY29tcGxldGVkIGluIHRpbWVcIilcbiAgICBNV0cuQmxvY2soXCJTZW5zaXRpdmUgdXBsb2FkIGRldGVjdGVkXCIpXG59IiwgIm5hbWUiOiAiRExQLlNldEV2aWRlbmNlVGltZU91dCAoRExQLkNsYXNzaWZpZXIsIE5VTUJFUikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYERMUC5DbGFzc2lmaWVyYDogVGhlIERMUCBjbGFzc2lmaWVyIGNvbnRleHQuXG4yLiBgTlVNQkVSYDogVGhlIGV2aWRlbmNlIHJldHJpZXZhbCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIHRoZSBzY2FuIHRpbWVvdXQgZm9yIHRoZSBzcGVjaWZpZWQgRExQIGNsYXNzaWZpZXIuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBETFAuU2V0U2NhblRpbWVPdXQoRExQLkNsYXNzaWZpZXIsIE5VTUJFUilcbkRMUC5DbGFzc2lmaWVyIGNsYXNzaWZpZXIgPSBNV0cuR2V0RExQQ2xhc3NpZmllcigpXG5ETFAuU2V0U2NhblRpbWVPdXQoY2xhc3NpZmllciwgMTUwMClcbkRMUC5JbmNpZGVudENvbGxlY3RvciBjb2xsZWN0b3IgPSBETFAuU3RhcnRSb3V0aW5lKGNsYXNzaWZpZXIsIFwiU2hvcnRUaW1lb3V0Rm9yVXBsb2FkRExQXCIpXG5JRiBETFAuRExQU2VydmljZUNhbGxDb3VudChjbGFzc2lmaWVyKSA+IDAgVEhFTiB7XG4gICAgTVdHLkJsb2NrKFwiVXBsb2FkIGJsb2NrZWQgYWZ0ZXIgRExQIHNjYW4gd2l0aCBhIDE1MDAgbXMgdGltZW91dFwiKVxufSIsICJuYW1lIjogIkRMUC5TZXRTY2FuVGltZU91dCAoRExQLkNsYXNzaWZpZXIsIE5VTUJFUikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYERMUC5DbGFzc2lmaWVyYDogVGhlIERMUCBjbGFzc2lmaWVyIGNvbnRleHQuXG4yLiBgTlVNQkVSYDogVGhlIHNjYW4gdGltZW91dCBpbiBtaWxsaXNlY29uZHMuIn0sIHsiZGVzY3JpcHRpb24iOiAiU3RhcnRzIHRoZSBzcGVjaWZpZWQgRExQIHJ1bGUgZ3JvdXAgZm9yIHRoZSBnaXZlbiBpbmNpZGVudCBjb2xsZWN0b3IuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBJbml0aWFsaXplIHRoZSBETFAgSW5jaWRlbnQgQ29sbGVjdG9yXG5ETFAuSW5jaWRlbnRDb2xsZWN0b3IgaW5jaWRlbnRDb2xsZWN0b3JcblxuLy8gRGVmaW5lIHRoZSBETFAgcnVsZSBuYW1lXG5TVFJJTkcgZGxwUnVsZU5hbWUgPSBcIlNlbnNpdGl2ZSBEYXRhIENoZWNrXCJcblxuLy8gU3RhcnQgdGhlIERMUCBydWxlXG5ETFAuU3RhcnRSdWxlKGluY2lkZW50Q29sbGVjdG9yLCBkbHBSdWxlTmFtZSlcblxuLy8gQ2hlY2sgaWYgYW55IGluY2lkZW50cyB3ZXJlIGNvbGxlY3RlZFxuSUYgaW5jaWRlbnRDb2xsZWN0b3IuSGFzSW5jaWRlbnRzKCkgVEhFTiB7XG4gICAgLy8gQmxvY2sgdGhlIHJlcXVlc3QgaWYgc2Vuc2l0aXZlIGRhdGEgaXMgZGV0ZWN0ZWRcbiAgICBNV0cuQmxvY2soXCJTZW5zaXRpdmUgZGF0YSBkZXRlY3RlZFwiKVxufSBFTFNFIHtcbiAgICAvLyBBbGxvdyB0aGUgcmVxdWVzdCBpZiBubyBzZW5zaXRpdmUgZGF0YSBpcyBkZXRlY3RlZFxuICAgIE1XRy5BbGxvdyhcIk5vIHNlbnNpdGl2ZSBkYXRhIGRldGVjdGVkXCIpXG59IiwgIm5hbWUiOiAiRExQLlN0YXJ0UnVsZSAoRExQLkluY2lkZW50Q29sbGVjdG9yLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBETFAuSW5jaWRlbnRDb2xsZWN0b3JgOiBUaGUgaW5jaWRlbnQgY29sbGVjdG9yIHRvIHVzZS5cbjIuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgcnVsZSBncm91cCB0byBzdGFydC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJUaHJvd3Mgb3IgcmV0aHJvd3MgYW4gZXhlY3V0aW9uIGVycm9yIGZvciBkb3duc3RyZWFtIGhhbmRsaW5nLiIsICJjb2RlX2V4YW1wbGUiOiAiSUYgTk9UIE1XRy5Jc0F1dGhlbnRpY2F0ZWQgVEhFTiB7XG4gIEVycm9yLlRocm93KDQwMSwgXCJBdXRoZW50aWNhdGlvblwiLCBcIlVzZXIgbXVzdCBiZSBhdXRoZW50aWNhdGVkIGJlZm9yZSBhY2Nlc3NpbmcgcHJvdGVjdGVkIHdlYiBjb250ZW50XCIpXG59IiwgIm5hbWUiOiAiRXJyb3IuVGhyb3cgKE5VTUJFUiwgU1RSSU5HLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBOVU1CRVJgOiBUaGUgbnVtZXJpYyBlcnJvciBjb2RlLlxuMi4gYFNUUklOR2A6IFRoZSBlcnJvciBjbGFzcyBvciBjYXRlZ29yeS5cbjMuIGBTVFJJTkdgOiBUaGUgZXJyb3IgbWVzc2FnZSBvciBkZXRhaWwgdGV4dC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJJbmplY3RzIGEgc2NyaXB0IHdpdGggb3B0aW9uYWwgSlNPTiBwYXJhbWV0ZXJzIGludG8gdGhlIHJlc3BvbnNlIHByb2Nlc3NpbmcgZmxvdy4iLCAiY29kZV9leGFtcGxlIjogIlJPVVRJTkUgZXhhbXBsZSBPTiAoV2ViLlJlc3BvbnNlKSB7XG4gIEpTT04gcGFyYW1zID0gSlNPTi5DcmVhdGVFbXB0eU9iamVjdCgpXG4gIHBhcmFtcyA9IEpTT04uU2V0KHBhcmFtcywgXCJiYW5uZXJUZXh0XCIsIFwiVXBsb2FkcyBhcmUgbW9uaXRvcmVkXCIpXG4gIHBhcmFtcyA9IEpTT04uU2V0KHBhcmFtcywgXCJzZXZlcml0eVwiLCBcImluZm9cIilcbiAgSW5qZWN0U2NyaXB0KFwiY29tLnNreWhpZ2guYmFubmVyLm5vdGljZVwiLCBwYXJhbXMpXG59IiwgIm5hbWUiOiAiSW5qZWN0U2NyaXB0IChTVFJJTkcsIEpTT04pIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgc2NyaXB0IGlkZW50aWZpZXIgb3Igc2NyaXB0IHNvdXJjZS5cbjIuIGBKU09OYDogVGhlIG9wdGlvbmFsIHBhcmFtZXRlcnMgdG8gcGFzcyB0byB0aGUgaW5qZWN0ZWQgc2NyaXB0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIkxvZ3MgYW4gZXhlY3V0aW9uIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiUk9VVElORSBMb2dSdW50aW1lSXNzdWVFeGFtcGxlXG4gICAgU1RSSU5HIHJlcXVlc3RlZFVybCA9IE1XRy5VcmwoKVxuICAgIElGIHJlcXVlc3RlZFVybCA9PSBcIlwiIFRIRU5cbiAgICAgICAgTG9nRXhlY3V0aW9uRXJyb3IoXCJNaXNzaW5nIFVSTCBkdXJpbmcgcmVxdWVzdCBwcm9jZXNzaW5nXCIpXG4gICAgRU5ESUZcbkVORFJPVVRJTkUiLCAibmFtZSI6ICJMb2dFeGVjdXRpb25FcnJvciAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIGVycm9yIG1lc3NhZ2UgdG8gbG9nLiJ9LCB7ImRlc2NyaXB0aW9uIjogIlRyaWdnZXJzIHRoZSBjb250ZW50LXR5cGUgY29ycmVjdGlvbiBldmVudCB0byBhbGlnbiByZXNwb25zZSBDb250ZW50LVR5cGUgaGVhZGVyIHdpdGggc2lnbmF0dXJlLWRldGVjdGVkIE1JTUUgdHlwZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIENhbGwgdGhlIE1lZGlhVHlwZS5GaXhDb250ZW50VHlwZSgpIHByb2NlZHVyZSB0byBzZXQgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbk1lZGlhVHlwZS5GaXhDb250ZW50VHlwZSgpXG5cbi8vIE9wdGlvbmFsbHksIHlvdSBjYW4gbG9nIHRoZSBhY3Rpb24gZm9yIGRlYnVnZ2luZyBwdXJwb3Nlc1xuLy8gQ29udGVudC1UeXBlIGhlYWRlciBoYXMgYmVlbiBmaXhlZCBiYXNlZCBvbiB0aGUgZGV0ZWN0ZWQgTUlNRSB0eXBlLiIsICJuYW1lIjogIk1lZGlhVHlwZS5GaXhDb250ZW50VHlwZSAoKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIqTi9BKiJ9LCB7ImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZW50cnkgdG8gYW4gSFRUUChTKSBoZWFkZXIuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBDcmVhdGUgYSBuZXcgaGVhZGVyIG1hcFxuTVdHLkhlYWRlck1hcCBoZWFkZXJNYXAgPSBNV0cuSGVhZGVyTWFwKClcblxuLy8gRGVmaW5lIHRoZSBoZWFkZXIgbmFtZSBhbmQgdmFsdWVcblNUUklORyBoZWFkZXJOYW1lID0gXCJYLUN1c3RvbS1IZWFkZXJcIlxuU1RSSU5HIGhlYWRlclZhbHVlID0gXCJDdXN0b21WYWx1ZVwiXG5cbi8vIEFkZCB0aGUgY3VzdG9tIGhlYWRlciB0byB0aGUgaGVhZGVyIG1hcFxuTVdHLkFkZChoZWFkZXJNYXAsIGhlYWRlck5hbWUsIGhlYWRlclZhbHVlKVxuXG4vLyBBZGRlZCBoZWFkZXI6IFgtQ3VzdG9tLUhlYWRlciB3aXRoIHZhbHVlOiBDdXN0b21WYWx1ZSIsICJuYW1lIjogIk1XRy5BZGQgKE1XRy5IZWFkZXJNYXAsIFNUUklORywgU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgTVdHLkhlYWRlck1hcGA6IFRoZSBoZWFkZXIgbWFwIHRvIG1vZGlmeS5cbjIuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgaGVhZGVyIHRvIGFkZCB0aGUgdmFsdWUgdG8uXG4zLiBgU1RSSU5HYDogVGhlIHZhbHVlIHRvIGFkZCB0byB0aGUgaGVhZGVyLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkFkZHMgbXVsdGlwbGUgZW50cmllcyB0byBhbiBIVFRQKFMpIGhlYWRlci4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBhIGhlYWRlciBtYXAgb2JqZWN0XG5NV0cuSGVhZGVyTWFwIGhlYWRlck1hcCA9IE1XRy5IZWFkZXJNYXAoKVxuXG4vLyBEZWZpbmUgdGhlIGhlYWRlciBuYW1lIHRvIGFkZCB2YWx1ZXMgdG9cblNUUklORyBoZWFkZXJOYW1lID0gXCJYLUN1c3RvbS1IZWFkZXJcIlxuXG4vLyBEZWZpbmUgYSBWRUNUT1Igb2YgU1RSSU5HIHZhbHVlcyB0byBhZGQgdG8gdGhlIGhlYWRlclxuVkVDVE9SPFNUUklORz4gaGVhZGVyVmFsdWVzID0gXCJWYWx1ZTFcIiwgXCJWYWx1ZTJcIiwgXCJWYWx1ZTNcIlxuXG4vLyBBZGQgdGhlIHZhbHVlcyB0byB0aGUgc3BlY2lmaWVkIGhlYWRlciBpbiB0aGUgaGVhZGVyIG1hcFxuTVdHLkFkZChoZWFkZXJNYXAsIGhlYWRlck5hbWUsIGhlYWRlclZhbHVlcylcblxuLy8gSGVhZGVyIG1hcCBhZnRlciBhZGRpbmcgdmFsdWVzOiBcbi8vIGhlYWRlck1hcC5Ub1N0cmluZygpIiwgIm5hbWUiOiAiTVdHLkFkZCAoTVdHLkhlYWRlck1hcCwgU1RSSU5HLCBWRUNUT1I8U1RSSU5HPikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5IZWFkZXJNYXBgOiBUaGUgaGVhZGVyIG1hcCB0byBtb2RpZnkuXG4yLiBgU1RSSU5HYDogVGhlIG5hbWUgb2YgdGhlIGhlYWRlciB0byBhZGQgdGhlIHZhbHVlcyB0by5cbjMuIGBWRUNUT1I8U1RSSU5HPmA6IFRoZSB2YWx1ZXMgdG8gYWRkIHRvIHRoZSBoZWFkZXIuIn0sIHsiZGVzY3JpcHRpb24iOiAiU3RvcHMgdGhlIGN1cnJlbnQgdHJpZ2dlciwgcHJldmVudHMgZnV0dXJlIHRyaWdnZXJzIGZvciB0aGlzIHJlcXVlc3QsIGFuZCBsb2dzIHRoZSBwYXJhbWV0ZXIgYXMgYE1XRy5MYXN0UnVsZWAuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBEZWZpbmUgdGhlIFVSTCB0aGF0IHdlIHdhbnQgdG8gYWxsb3dcblNUUklORyBhbGxvd2VkVVJMID0gXCJodHRwczovL3d3dy5leGFtcGxlLmNvbVwiXG5cbi8vIEdldCB0aGUgY3VycmVudCBVUkwgb2YgdGhlIHJlcXVlc3Rcbk1XRy5VUkwgY3VycmVudFVSTCA9IE1XRy5VcmwoKVxuXG4vLyBDaGVjayBpZiB0aGUgY3VycmVudCBVUkwgbWF0Y2hlcyB0aGUgYWxsb3dlZCBVUkxcbklGIGN1cnJlbnRVUkwuVG9TdHJpbmcoKSA9PSBhbGxvd2VkVVJMIFRIRU4ge1xuICAgIC8vIFRoZSBVUkwgaXMgYWxsb3dlZDogXCIgKyBhbGxvd2VkVVJMXG4gICAgTVdHLkFsbG93KFwiQWxsb3dlZCBVUkxcIilcbn0gRUxTRSB7XG4gICAgLy8gVGhlIFVSTCBpcyBub3QgYWxsb3dlZDogXCIgKyBjdXJyZW50VVJMLlRvU3RyaW5nKClcbiAgICBNV0cuQmxvY2soXCJCbG9ja2VkIFVSTFwiKVxufSIsICJuYW1lIjogIk1XRy5BbGxvdyAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIHZhbHVlIHRvIGJlIGxvZ2dlZCBhcyBgTVdHLkxhc3RSdWxlYC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJEZXByZWNhdGVkLiBFbmFibGVzIGFudGl2aXJ1cyBzdHJlYW0gc2Nhbm5pbmcgd2l0aG91dCBhcHBseWluZyBjb25maWd1cmF0aW9uIHNldHRpbmdzLiBVc2UgYE1XRy5BbnRpbWFsd2FyZUVuYWJsZVN0cmVhbVNjYW5uZXIoTVdHLkFudGltYWx3YXJlU2V0dGluZylgIGluc3RlYWQuIiwgImNvZGVfZXhhbXBsZSI6ICJNV0cuQW50aW1hbHdhcmVTZXR0aW5nIGFudGltYWx3YXJlU2V0dGluZyA9IE1XRy5BbnRpbWFsd2FyZVNldHRpbmcoKVxuXG5JRiBNV0cuSXNVcGxvYWQoKSBUSEVOIHtcbiAgICBNV0cuQW50aW1hbHdhcmVFbmFibGVTdHJlYW1TY2FubmVyKGFudGltYWx3YXJlU2V0dGluZylcbiAgICBNV0cuQWxsb3coXCJVcGxvYWQgc3RyZWFtIHNjYW5uaW5nIGVuYWJsZWRcIilcbn0iLCAibmFtZSI6ICJNV0cuQW50aW1hbHdhcmVFbmFibGVTdHJlYW1TY2FubmVyICgpIiwgInBhcmFtZXRlcl9kZXNjIjogIipOL0EqIn0sIHsiZGVzY3JpcHRpb24iOiAiRGVwcmVjYXRlZC4gRW5hYmxlcyBhbnRpdmlydXMgc3RyZWFtIHNjYW5uaW5nIHdpdGhvdXQgYXBwbHlpbmcgY29uZmlndXJhdGlvbiBzZXR0aW5ncy4gVGhlIGBNV0cuQW50aW1hbHdhcmVTZXR0aW5nYCBwYXJhbWV0ZXIgaXMgbm90IGZvcndhcmRlZCB0byB0aGUgdW5kZXJseWluZyBpbXBsZW1lbnRhdGlvbi4iLCAiY29kZV9leGFtcGxlIjogIk1XRy5BbnRpbWFsd2FyZVNldHRpbmcgYW50aW1hbHdhcmVTZXR0aW5nID0gTVdHLkFudGltYWx3YXJlU2V0dGluZygpXG5cbi8vIEVuYWJsZSB0aGUgc3RyZWFtIHNjYW5uZXIgZm9yIHRoZSBhbnRpbWFsd2FyZSBzZXR0aW5nXG5NV0cuQW50aW1hbHdhcmVFbmFibGVTdHJlYW1TY2FubmVyKGFudGltYWx3YXJlU2V0dGluZylcblxuLy8gT3B0aW9uYWxseSwgeW91IGNhbiBhZGQgbW9yZSBsb2dpYyBoZXJlIHRvIGhhbmRsZSB0aGUgcmVxdWVzdFxuLy8gQW50aW1hbHdhcmUgc3RyZWFtIHNjYW5uZXIgZW5hYmxlZCIsICJuYW1lIjogIk1XRy5BbnRpbWFsd2FyZUVuYWJsZVN0cmVhbVNjYW5uZXIgKE1XRy5BbnRpbWFsd2FyZVNldHRpbmcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBNV0cuQW50aW1hbHdhcmVTZXR0aW5nYDogQ29uZmlndXJhdGlvbiBzZXR0aW5ncyBvYmplY3QgKG5vdCB1c2VkOyB0aGlzIG92ZXJsb2FkIGlzIGRlcHJlY2F0ZWQpLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkFkZHMgb3Igb3ZlcndyaXRlcyBhbiBhdXRoZW50aWNhdGlvbiBtZXRob2Qgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgYW5kIHZhbHVlLiIsICJjb2RlX2V4YW1wbGUiOiAiU1RSSU5HIG1ldGhvZE5hbWUgPSBcIkJhc2ljQXV0aFwiXG5TVFJJTkcgbWV0aG9kVmFsdWUgPSBcInVzZXJuYW1lOnBhc3N3b3JkXCJcbkJPT0xFQU4gb3ZlcndyaXRlRXhpc3RpbmcgPSBUUlVFXG5cbk1XRy5BdXRoZW50aWNhdGlvbkFkZE1ldGhvZChtZXRob2ROYW1lLCBtZXRob2RWYWx1ZSwgb3ZlcndyaXRlRXhpc3RpbmcpXG5cbi8vIEF1dGhlbnRpY2F0aW9uIG1ldGhvZCBhZGRlZDogQmFzaWNBdXRoIiwgIm5hbWUiOiAiTVdHLkF1dGhlbnRpY2F0aW9uQWRkTWV0aG9kIChTVFJJTkcsIFNUUklORywgQk9PTEVBTikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBtZXRob2QgbmFtZS5cbjIuIGBTVFJJTkdgOiBUaGUgdmFsdWUuXG4zLiBgQk9PTEVBTmA6IElmIGBUUlVFYCwgb3ZlcndyaXRlcyBhbiBleGlzdGluZyBtZXRob2Qgd2l0aCB0aGUgc2FtZSBuYW1lLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkNsZWFycyB0aGUgYXV0aGVudGljYXRpb24gbWV0aG9kIGxpc3QuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBDbGVhciB0aGUgbGlzdCBvZiBhdXRoZW50aWNhdGlvbiBtZXRob2RzXG5NV0cuQXV0aGVudGljYXRpb25DbGVhck1ldGhvZExpc3QoKVxuXG4vLyBPcHRpb25hbGx5LCB5b3UgY2FuIGFkZCBuZXcgYXV0aGVudGljYXRpb24gbWV0aG9kcyBhZnRlciBjbGVhcmluZ1xuLy8gRm9yIGV4YW1wbGUsIGFkZGluZyBhIGJhc2ljIGF1dGhlbnRpY2F0aW9uIG1ldGhvZFxuLy8gTVdHLkF1dGhlbnRpY2F0aW9uQWRkTWV0aG9kKFwiQmFzaWNcIilcblxuLy8gQXV0aGVudGljYXRpb24gbWV0aG9kcyBoYXZlIGJlZW4gY2xlYXJlZCIsICJuYW1lIjogIk1XRy5BdXRoZW50aWNhdGlvbkNsZWFyTWV0aG9kTGlzdCAoKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIqTi9BKiJ9LCB7ImRlc2NyaXB0aW9uIjogIkNsZWFycyB0aGUgTlRMTSBhdXRoZW50aWNhdGlvbiBjYWNoZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIENsZWFyIHRoZSBOVExNIGF1dGhlbnRpY2F0aW9uIGNhY2hlXG5NV0cuQXV0aGVudGljYXRpb25DbGVhck5UTE1DYWNoZSgpXG5cbi8vIE5UTE0gYXV0aGVudGljYXRpb24gY2FjaGUgaGFzIGJlZW4gY2xlYXJlZC4iLCAibmFtZSI6ICJNV0cuQXV0aGVudGljYXRpb25DbGVhck5UTE1DYWNoZSAoKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIqTi9BKiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgdGhlIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCB0byB0aGUgc3BlY2lmaWVkIG5hbWUuIiwgImNvZGVfZXhhbXBsZSI6ICJTVFJJTkcgbWV0aG9kTmFtZSA9IFwiQmFzaWNBdXRoXCJcblNUUklORyBtZXRob2RWYWx1ZSA9IFwidXNlcm5hbWU6cGFzc3dvcmRcIlxuQk9PTEVBTiBvdmVyd3JpdGUgPSBUUlVFXG5cbk1XRy5BdXRoZW50aWNhdGlvbkFkZE1ldGhvZChtZXRob2ROYW1lLCBtZXRob2RWYWx1ZSwgb3ZlcndyaXRlKVxuXG4vLyBcIkF1dGhlbnRpY2F0aW9uIG1ldGhvZCBzZXQ6IFwiICsgbWV0aG9kTmFtZSIsICJuYW1lIjogIk1XRy5BdXRoZW50aWNhdGlvblNldE1ldGhvZCAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIG5hbWUgb2YgdGhlIG1ldGhvZC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIHRoZSBhdXRoZW50aWNhdGlvbiByZWFsbSAoQXV0aEFyZWEgcHJvcGVydHkpIGZvciB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiBjb250ZXh0LiIsICJjb2RlX2V4YW1wbGUiOiAiU1RSSU5HIHVzZXJHcm91cCA9IE1XRy5HZXRVc2VyR3JvdXAoKVxuXG5JRiB1c2VyR3JvdXAgPT0gXCJBZG1pblwiIFRIRU4ge1xuICAgIE1XRy5BdXRoZW50aWNhdGlvblNldFJlYWxtKFwiQWRtaW5SZWFsbVwiKVxufSBFTFNFIElGIHVzZXJHcm91cCA9PSBcIlVzZXJcIiBUSEVOIHtcbiAgICBNV0cuQXV0aGVudGljYXRpb25TZXRSZWFsbShcIlVzZXJSZWFsbVwiKVxufSBFTFNFIHtcbiAgICBNV0cuQXV0aGVudGljYXRpb25TZXRSZWFsbShcIkRlZmF1bHRSZWFsbVwiKVxufVxuXG4vLyBcIkF1dGhlbnRpY2F0aW9uIHJlYWxtIHNldCBiYXNlZCBvbiB1c2VyIGdyb3VwOiBcIiArIHVzZXJHcm91cCIsICJuYW1lIjogIk1XRy5BdXRoZW50aWNhdGlvblNldFJlYWxtIChTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgYXV0aGVudGljYXRpb24gcmVhbG0gdmFsdWUgdG8gc2V0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgdGhlIGF1dGhlbnRpY2F0aW9uIHRva2VuIGZvciB0aGUgY3VycmVudCB0cmFuc2FjdGlvbi4iLCAiY29kZV9leGFtcGxlIjogIlNUUklORyB0b2tlbiA9IE1XRy5BdXRoZW50aWNhdGlvblRva2VuXG5JRiB0b2tlbiAhPSBcIlwiIFRIRU4ge1xuICAgIE1XRy5BdXRoZW50aWNhdGlvblNldFRva2VuKHRva2VuKVxufSIsICJuYW1lIjogIk1XRy5BdXRoZW50aWNhdGlvblNldFRva2VuIChTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgYXV0aGVudGljYXRpb24gdG9rZW4gdG8gc2V0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIkJsb2NrcyB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiB1c2luZyB0aGUgc3BlY2lmaWVkIHNldHRpbmdzLCBydWxlLCBhbmQgcnVsZSBzZXQuIiwgImNvZGVfZXhhbXBsZSI6ICJNV0cuQmxvY2tTZXR0aW5nIGJsb2NrU2V0dGluZyA9IFtcImRlZmF1bHRfYmxvY2tfc2V0dGluZ1wiXVxuU1RSSU5HIGJsb2NrUmVhc29uID0gXCJBY2Nlc3MgRGVuaWVkXCJcblNUUklORyB1c2VyTWVzc2FnZSA9IFwiWW91ciBhY2Nlc3MgdG8gdGhpcyBzaXRlIGhhcyBiZWVuIGJsb2NrZWQgZHVlIHRvIHBvbGljeSByZXN0cmljdGlvbnMuXCJcblxuTVdHLkJsb2NrKGJsb2NrU2V0dGluZywgYmxvY2tSZWFzb24sIHVzZXJNZXNzYWdlKSIsICJuYW1lIjogIk1XRy5CbG9jayAoTVdHLkJsb2NrU2V0dGluZywgU1RSSU5HLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBNV0cuQmxvY2tTZXR0aW5nYDogQ29uZmlndXJhdGlvbiBzZXR0aW5ncy5cbjIuIGBTVFJJTkdgOiBUaGUgcnVsZSB0byB1c2UuXG4zLiBgU1RSSU5HYDogVGhlIHJ1bGUgc2V0IHRvIGZpbmQgdGhlIHJ1bGUgaW4uIn0sIHsiZGVzY3JpcHRpb24iOiAiQmxvY2tzIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIHdpdGggdGhlIHNwZWNpZmllZCByZWFzb24uIiwgImNvZGVfZXhhbXBsZSI6ICJWRUNUT1I8U1RSSU5HPiBibG9ja2VkVXJscyA9IFwiZXhhbXBsZS5jb21cIiwgXCJ0ZXN0c2l0ZS5jb21cIiwgXCJibG9ja2Vkc2l0ZS5vcmdcIlxuU1RSSU5HIGN1cnJlbnRVcmwgPSBNV0cuVXJsKCkuSG9zdFxuXG5JRiBDb250YWluc0Nhc2VJbnNlbnNpdGl2ZShibG9ja2VkVXJscywgY3VycmVudFVybCkgVEhFTiB7XG4gICAgTVdHLkJsb2NrKFwiQWNjZXNzIHRvIHRoaXMgc2l0ZSBpcyBibG9ja2VkIGR1ZSB0byBjb21wYW55IHBvbGljeS5cIilcbn0gRUxTRSB7XG4gICAgTVdHLkFsbG93KFwiVVJMIGlzIG5vdCBibG9ja2VkLlwiKVxufSIsICJuYW1lIjogIk1XRy5CbG9jayAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIHJlYXNvbiBmb3IgYmxvY2tpbmcgdGhlIHRyYW5zYWN0aW9uLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkluc2VydHMgdGhlIHNwZWNpZmllZCBzdHJpbmcgYXQgdGhlIGdpdmVuIHBvc2l0aW9uIGluIHRoZSByZXNwb25zZSBib2R5LiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIHRoZSBwb3NpdGlvbiB3aGVyZSB0aGUgc3RyaW5nIHNob3VsZCBiZSBpbnNlcnRlZFxuTlVNQkVSIGluc2VydFBvc2l0aW9uID0gMTAwXG5cbi8vIERlZmluZSB0aGUgc3RyaW5nIHRvIGJlIGluc2VydGVkXG5TVFJJTkcgaW5zZXJ0U3RyaW5nID0gXCI8IS0tIEluc2VydGVkIGJ5IE1PV0dMSSAtLT5cIlxuXG4vLyBJbnNlcnQgdGhlIHN0cmluZyBhdCB0aGUgc3BlY2lmaWVkIHBvc2l0aW9uIGluIHRoZSBib2R5XG5NV0cuQm9keUluc2VydChpbnNlcnRQb3NpdGlvbiwgaW5zZXJ0U3RyaW5nKVxuXG4vLyBJbnNlcnRlZCBzdHJpbmcgaW50byBib2R5IGF0IHBvc2l0aW9uIFwiICsgaW5zZXJ0UG9zaXRpb24iLCAibmFtZSI6ICJNV0cuQm9keUluc2VydCAoTlVNQkVSLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBOVU1CRVJgOiBUaGUgcG9zaXRpb24gdG8gaW5zZXJ0IGF0LlxuMi4gYFNUUklOR2A6IFRoZSB2YWx1ZSB0byBpbnNlcnQuIn0sIHsiZGVzY3JpcHRpb24iOiAiUmVtb3ZlcyB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcyBmcm9tIHRoZSByZXNwb25zZSBib2R5IHN0YXJ0aW5nIGF0IHRoZSBnaXZlbiBwb3NpdGlvbi4iLCAiY29kZV9leGFtcGxlIjogIi8vIERlZmluZSB0aGUgc3RhcnRpbmcgcG9zaXRpb24gYW5kIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gcmVtb3ZlXG5OVU1CRVIgc3RhcnRQb3NpdGlvbiA9IDEwXG5OVU1CRVIgYnl0ZXNUb1JlbW92ZSA9IDVcblxuLy8gUmVtb3ZlIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzIGZyb20gdGhlIGJvZHkgc3RhcnRpbmcgYXQgdGhlIGdpdmVuIHBvc2l0aW9uXG5NV0cuQm9keVJlbW92ZShzdGFydFBvc2l0aW9uLCBieXRlc1RvUmVtb3ZlKVxuXG4vLyBSZW1vdmVkIGJ5dGVzVG9SZW1vdmUgYnl0ZXMgZnJvbSB0aGUgYm9keSBzdGFydGluZyBhdCBwb3NpdGlvbiBzdGFydFBvc2l0aW9uLiIsICJuYW1lIjogIk1XRy5Cb2R5UmVtb3ZlIChOVU1CRVIsIE5VTUJFUikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE5VTUJFUmA6IFRoZSBzdGFydGluZyBwb3NpdGlvbi5cbjIuIGBOVU1CRVJgOiBUaGUgYW1vdW50IG9mIGJ5dGVzIHRvIHJlbW92ZS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJSZXBsYWNlcyB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcyBhdCB0aGUgZ2l2ZW4gcG9zaXRpb24gaW4gdGhlIHJlc3BvbnNlIGJvZHkgd2l0aCB0aGUgZ2l2ZW4gc3RyaW5nLiIsICJjb2RlX2V4YW1wbGUiOiAiTlVNQkVSIHN0YXJ0UG9zaXRpb24gPSAxMDBcbk5VTUJFUiBsZW5ndGhUb1JlbW92ZSA9IDUwXG5TVFJJTkcgcmVwbGFjZW1lbnRUZXh0ID0gXCJUaGlzIGlzIHRoZSBuZXcgY29udGVudC5cIlxuXG4vLyBPcmlnaW5hbCBib2R5IGNvbnRlbnQgd2lsbCBiZSByZXBsYWNlZC5cbk1XRy5Cb2R5UmVwbGFjZShzdGFydFBvc2l0aW9uLCBsZW5ndGhUb1JlbW92ZSwgcmVwbGFjZW1lbnRUZXh0KVxuLy8gQm9keSBjb250ZW50IHJlcGxhY2VkIHN1Y2Nlc3NmdWxseS4iLCAibmFtZSI6ICJNV0cuQm9keVJlcGxhY2UgKE5VTUJFUiwgTlVNQkVSLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBOVU1CRVJgOiBUaGUgc3RhcnRpbmcgcG9zaXRpb24uXG4yLiBgTlVNQkVSYDogVGhlIGFtb3VudCBvZiBieXRlcyB0byByZW1vdmUuXG4zLiBgU1RSSU5HYDogVGhlIHZhbHVlIHRvIHJlcGxhY2UgaXQgd2l0aC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJBZGRzIGEga2V5LXZhbHVlIHZhcmlhYmxlIHdpdGggY29ubmVjdGlvbiBzY29wZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIERlZmluZSBzb21lIGtleS12YWx1ZSBwYWlycyB0byBhZGQgYXMgY29ubmVjdGlvbiB2YXJpYWJsZXNcblNUUklORyBrZXkxID0gXCJVc2VyXCJcblNUUklORyB2YWx1ZTEgPSBcIkpvaG5Eb2VcIlxuXG5TVFJJTkcga2V5MiA9IFwiU2Vzc2lvbklEXCJcblNUUklORyB2YWx1ZTIgPSBcIjEyMzQ1Njc4OVwiXG5cbi8vIEFkZCB0aGUga2V5LXZhbHVlIHBhaXJzIGFzIGNvbm5lY3Rpb24gdmFyaWFibGVzXG5NV0cuQ29ubmVjdGlvblZhcmlhYmxlc0FkZChrZXkxLCB2YWx1ZTEpXG5NV0cuQ29ubmVjdGlvblZhcmlhYmxlc0FkZChrZXkyLCB2YWx1ZTIpXG5cbi8vIENvbm5lY3Rpb24gdmFyaWFibGVzIGFkZGVkOiBVc2VyPUpvaG5Eb2UsIFNlc3Npb25JRD0xMjM0NTY3ODkiLCAibmFtZSI6ICJNV0cuQ29ubmVjdGlvblZhcmlhYmxlc0FkZCAoU1RSSU5HLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUga2V5LlxuMi4gYFNUUklOR2A6IFRoZSB2YWx1ZS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJSZW1vdmVzIHRoZSB2YXJpYWJsZSB3aXRoIHRoZSBzcGVjaWZpZWQga2V5IGZyb20gdGhlIGNvbm5lY3Rpb24gc2NvcGUuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBEZWZpbmUgdGhlIGtleSBvZiB0aGUgY29ubmVjdGlvbiB2YXJpYWJsZSB5b3Ugd2FudCB0byByZW1vdmVcblNUUklORyB2YXJpYWJsZUtleSA9IFwiZXhhbXBsZUtleVwiXG5cbi8vIFJlbW92ZSB0aGUgY29ubmVjdGlvbiB2YXJpYWJsZVxuTVdHLkNvbm5lY3Rpb25WYXJpYWJsZXNSZW1vdmUodmFyaWFibGVLZXkpXG5cbi8vIENvbm5lY3Rpb24gdmFyaWFibGUgd2l0aCBrZXkgJ2V4YW1wbGVLZXknIGhhcyBiZWVuIHJlbW92ZWQuIiwgIm5hbWUiOiAiTVdHLkNvbm5lY3Rpb25WYXJpYWJsZXNSZW1vdmUgKFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBrZXkgdG8gcmVtb3ZlLiJ9LCB7ImRlc2NyaXB0aW9uIjogIldoZW4gY2FsbGVkIGR1cmluZyBhIFdlYi5SZXF1ZXN0IGV2ZW50LCByZW1vdmVzIHVuc3VwcG9ydGVkIGNvbnRlbnQtZW5jb2RpbmcgdmFsdWVzIGZyb20gdGhlIHJlcXVlc3QncyBgQWNjZXB0LUVuY29kaW5nYCBoZWFkZXIuIiwgImNvZGVfZXhhbXBsZSI6ICJST1VUSU5FIGV4YW1wbGVfZHJvcF91bnN1cHBvcnRlZF9jb250ZW50X2VuY29kaW5ncyBPTiAoV2ViLlJlcXVlc3QpIFtlbmFibGVkPVwidHJ1ZVwiLCBkaXNwbGF5TmFtZT1cIk5vcm1hbGl6ZSBBY2NlcHQtRW5jb2Rpbmcgb24gcmVxdWVzdHNcIl0ge1xuICBJRiBNV0cuQ29tbWFuZE5hbWUgIT0gXCJDT05ORUNUXCIgQU5EIE1XRy5Db21tYW5kTmFtZSAhPSBcIkNFUlRWRVJJRllcIiBUSEVOIHtcbiAgICBNV0cuRHJvcFVuc3VwcG9ydGVkQ29udGVudEVuY29kaW5ncygpXG4gIH1cbn0iLCAibmFtZSI6ICJNV0cuRHJvcFVuc3VwcG9ydGVkQ29udGVudEVuY29kaW5ncyAoKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIqTi9BKiJ9LCB7ImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgdGhlIG5hbWVkIGZpbHRlciB1c2luZyBhIGRlZmF1bHQgaW50ZXJuYWwgY29uZmlndXJhdGlvbi4gVGhlIGBNV0cuSW50ZXJuYWxTZXR0aW5nYCBhcmd1bWVudCBpcyBub3QgZm9yd2FyZGVkIHRvIHRoZSB1bmRlcmx5aW5nIGltcGxlbWVudGF0aW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIHRoZSBpbnRlcm5hbCBzZXR0aW5nXG5NV0cuSW50ZXJuYWxTZXR0aW5nIG15U2V0dGluZyA9IE1XRy5JbnRlcm5hbFNldHRpbmcoKVxuXG4vLyBTcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBmaWx0ZXIgdG8gZW5hYmxlXG5TVFJJTkcgZmlsdGVyTmFtZSA9IFwiTXlDdXN0b21GaWx0ZXJcIlxuXG4vLyBFbmFibGUgdGhlIGZpbHRlciB3aXRoIHRoZSBzcGVjaWZpZWQgc2V0dGluZ3Ncbk1XRy5FbmFibGUobXlTZXR0aW5nLCBmaWx0ZXJOYW1lKVxuXG4vLyBPcHRpb25hbGx5LCBwcmludCBhIGRlYnVnIG1lc3NhZ2UgdG8gY29uZmlybSB0aGUgZmlsdGVyIGhhcyBiZWVuIGVuYWJsZWRcbi8vIFwiRmlsdGVyIFwiICsgZmlsdGVyTmFtZSArIFwiIGhhcyBiZWVuIGVuYWJsZWQgd2l0aCB0aGUgc3BlY2lmaWVkIHNldHRpbmdzLlwiIiwgIm5hbWUiOiAiTVdHLkVuYWJsZSAoTVdHLkludGVybmFsU2V0dGluZywgU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgTVdHLkludGVybmFsU2V0dGluZ2A6IEludGVybmFsIGNvbmZpZ3VyYXRpb24gdG9rZW4gKG5vdCBhcHBsaWVkOyBhY2NlcHRlZCBmb3IgQVBJIGNvbXBhdGliaWxpdHkgb25seSkuXG4yLiBgU1RSSU5HYDogVGhlIG5hbWUgb2YgdGhlIGZpbHRlciB0byBlbmFibGUuIn0sIHsiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyBhIHNwZWNpZmllZCBmaWx0ZXIgd2l0aCB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIHNldHRpbmdzLiIsICJjb2RlX2V4YW1wbGUiOiAiU1RSSU5HIGZpbHRlck5hbWUgPSBcIkNvbnRlbnRJbnNwZWN0aW9uXCJcbk1XRy5FbmFibGUoZmlsdGVyTmFtZSlcbi8vIEZpbHRlciBlbmFibGVkOiBDb250ZW50SW5zcGVjdGlvbiIsICJuYW1lIjogIk1XRy5FbmFibGUgKFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBuYW1lIG9mIHRoZSBmaWx0ZXIgdG8gZW5hYmxlLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgdGhlIGFnZW50bGVzcyBwb3B1cCBpcyBzaG93biB3aGVuIHRoZSByZXF1ZXN0IGlzIGJsb2NrZWQuIiwgImNvZGVfZXhhbXBsZSI6ICJST1VUSU5FIEV4YW1wbGVBZ2VudGxlc3NQb3B1cCBPTiAoV2ViLlJlcXVlc3QpIFtlbmFibGVkPVwidHJ1ZVwiLCBkaXNwbGF5TmFtZT1cIkV4YW1wbGUgQWdlbnRsZXNzIFBvcHVwXCJdIHtcbiAgSUYgTVdHLkNvbW1hbmROYW1lID09IFwiR0VUXCIgVEhFTiB7XG4gICAgTVdHLkVuYWJsZUFnZW50bGVzc1BvcHVwKFRSVUUpXG4gIH1cbn0iLCAibmFtZSI6ICJNV0cuRW5hYmxlQWdlbnRsZXNzUG9wdXAgKEJPT0xFQU4pIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBCT09MRUFOYDogV2hlbiBgVFJVRWAsIGVuYWJsZXMgdGhlIGFnZW50bGVzcyBwb3B1cDsgd2hlbiBgRkFMU0VgLCBkaXNhYmxlcyBpdC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIHZlcmlmaWNhdGlvbiBvZiBzZXJ2ZXIgY2VydGlmaWNhdGVzLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gQ3JlYXRlIGEgbmV3IE1XRy5FbmFibGVDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblNldHRpbmcgb2JqZWN0XG5NV0cuRW5hYmxlQ2VydGlmaWNhdGVWZXJpZmljYXRpb25TZXR0aW5nIGNlcnRWZXJpZmljYXRpb25TZXR0aW5nID0gTVdHLkVuYWJsZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uU2V0dGluZygpXG5cbi8vIENvbmZpZ3VyZSB0aGUgc2V0dGluZ3MgYXMgbmVlZGVkXG4vLyBGb3IgZXhhbXBsZSwgeW91IG1pZ2h0IHNldCBzb21lIHByb3BlcnRpZXMgb24gdGhlIGNlcnRWZXJpZmljYXRpb25TZXR0aW5nIG9iamVjdCBoZXJlXG4vLyBjZXJ0VmVyaWZpY2F0aW9uU2V0dGluZy5zb21lUHJvcGVydHkgPSBzb21lVmFsdWVcblxuLy8gRW5hYmxlIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgc2V0dGluZ3Ncbk1XRy5FbmFibGVDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbihjZXJ0VmVyaWZpY2F0aW9uU2V0dGluZylcblxuLy8gT3B0aW9uYWxseSwgcHJpbnQgYSBkZWJ1ZyBtZXNzYWdlIHRvIGNvbmZpcm0gdGhlIGFjdGlvblxuLy8gQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGhhcyBiZWVuIGVuYWJsZWQgd2l0aCB0aGUgc3BlY2lmaWVkIHNldHRpbmdzLiIsICJuYW1lIjogIk1XRy5FbmFibGVDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbiAoTVdHLkVuYWJsZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uU2V0dGluZykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5FbmFibGVDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblNldHRpbmdgOiBDb25maWd1cmF0aW9uIHNldHRpbmdzIG9iamVjdC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIGRlY3J5cHRpb24gb2YgVExTIGNvbm5lY3Rpb25zLiIsICJjb2RlX2V4YW1wbGUiOiAiTVdHLkVuYWJsZUNvbnRlbnRJbnNwZWN0aW9uU2V0dGluZyBjb250ZW50SW5zcGVjdGlvblNldHRpbmdcbi8vIENvbmZpZ3VyZSB0aGUgY29udGVudCBpbnNwZWN0aW9uIHNldHRpbmdzIGFzIG5lZWRlZFxuY29udGVudEluc3BlY3Rpb25TZXR0aW5nLnNvbWVTZXR0aW5nID0gXCJ2YWx1ZVwiIC8vIFJlcGxhY2Ugd2l0aCBhY3R1YWwgc2V0dGluZ3NcblxuLy8gRW5hYmxlIGNvbnRlbnQgaW5zcGVjdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgc2V0dGluZ3Ncbk1XRy5FbmFibGVDb250ZW50SW5zcGVjdGlvbihjb250ZW50SW5zcGVjdGlvblNldHRpbmcpXG5cbi8vIENvbnRlbnQgaW5zcGVjdGlvbiBlbmFibGVkIHdpdGggc3BlY2lmaWVkIHNldHRpbmdzLiIsICJuYW1lIjogIk1XRy5FbmFibGVDb250ZW50SW5zcGVjdGlvbiAoTVdHLkVuYWJsZUNvbnRlbnRJbnNwZWN0aW9uU2V0dGluZykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5FbmFibGVDb250ZW50SW5zcGVjdGlvblNldHRpbmdgOiBDb25maWd1cmF0aW9uIHNldHRpbmdzIG9iamVjdC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIGRhdGEgdHJpY2tsaW5nLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIHRoZSBkYXRhIHRyaWNrbGluZyBzZXR0aW5nXG5NV0cuRGF0YVRyaWNrbGluZ1NldHRpbmcgZGF0YVRyaWNrbGluZ1NldHRpbmcgPSAuLi4gLy8gQXNzdW1lIHRoaXMgaXMgeW91ciBjb25maWd1cmVkIGRhdGEgdHJpY2tsaW5nIHNldHRpbmdcblxuLy8gRW5hYmxlIGRhdGEgdHJpY2tsaW5nIHdpdGggdGhlIHNwZWNpZmllZCBzZXR0aW5nXG5NV0cuRW5hYmxlRGF0YVRyaWNrbGluZyhkYXRhVHJpY2tsaW5nU2V0dGluZylcblxuLy8gT3B0aW9uYWxseSwgeW91IGNhbiBsb2cgb3IgZGVidWcgdG8gdmVyaWZ5IHRoYXQgZGF0YSB0cmlja2xpbmcgaGFzIGJlZW4gZW5hYmxlZFxuLy8gXCJEYXRhIHRyaWNrbGluZyBoYXMgYmVlbiBlbmFibGVkIHdpdGggdGhlIHNwZWNpZmllZCBzZXR0aW5nLlwiIiwgIm5hbWUiOiAiTVdHLkVuYWJsZURhdGFUcmlja2xpbmcgKE1XRy5EYXRhVHJpY2tsaW5nU2V0dGluZykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5EYXRhVHJpY2tsaW5nU2V0dGluZ2A6IENvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgb2JqZWN0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgRlRQIHVwbG9hZCBwcm9ncmVzcyBpbmRpY2F0aW9uIGJ5IHNlbmRpbmcgMjI2LXJlcGxpZXMgdG8gdGhlIGNsaWVudC4iLCAiY29kZV9leGFtcGxlIjogIi8vIEVuYWJsZSBGVFAgdXBsb2FkIHByb2dyZXNzIGluZGljYXRpb25cbk1XRy5FbmFibGVGVFBVcGxvYWRQcm9ncmVzc0luZGljYXRpb24oKVxuXG4vLyBGVFAgdXBsb2FkIHByb2dyZXNzIGluZGljYXRpb24gaGFzIGJlZW4gZW5hYmxlZC4iLCAibmFtZSI6ICJNV0cuRW5hYmxlRlRQVXBsb2FkUHJvZ3Jlc3NJbmRpY2F0aW9uICgpIiwgInBhcmFtZXRlcl9kZXNjIjogIipOL0EqIn0sIHsiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyB0aGUgSFRNTCBvcGVuZXIgdXNpbmcgdGhlIHNwZWNpZmllZCBzZXR0aW5ncy4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiBNV0cuSFRNTE9wZW5lclNldHRpbmdcbk1XRy5IVE1MT3BlbmVyU2V0dGluZyBodG1sT3BlbmVyU2V0dGluZ1xuXG4vLyBDb25maWd1cmUgdGhlIEhUTUwgb3BlbmVyIHNldHRpbmcgYXMgbmVlZGVkXG4vLyBGb3IgZXhhbXBsZSwgeW91IG1pZ2h0IHNldCBzb21lIHByb3BlcnRpZXMgb24gdGhlIGh0bWxPcGVuZXJTZXR0aW5nIG9iamVjdFxuLy8gKEFzc3VtaW5nIHRoZXJlIGFyZSBwcm9wZXJ0aWVzIHRvIHNldCwgd2hpY2ggd291bGQgZGVwZW5kIG9uIHRoZSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbilcbi8vIGh0bWxPcGVuZXJTZXR0aW5nLnNvbWVQcm9wZXJ0eSA9IHNvbWVWYWx1ZVxuXG4vLyBFbmFibGUgdGhlIEhUTUwgb3BlbmVyIHdpdGggdGhlIHNwZWNpZmllZCBzZXR0aW5nXG5NV0cuRW5hYmxlSFRNTE9wZW5lcihodG1sT3BlbmVyU2V0dGluZylcblxuLy8gSFRNTCBPcGVuZXIgaGFzIGJlZW4gZW5hYmxlZCB3aXRoIHRoZSBzcGVjaWZpZWQgc2V0dGluZ3MuIiwgIm5hbWUiOiAiTVdHLkVuYWJsZUhUTUxPcGVuZXIgKE1XRy5IVE1MT3BlbmVyU2V0dGluZykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5IVE1MT3BlbmVyU2V0dGluZ2A6IENvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgb2JqZWN0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgdGhlIEhUVFAgdHVubmVsLiIsICJjb2RlX2V4YW1wbGUiOiAiTVdHLlVSTCBjdXJyZW50VXJsID0gTVdHLlVybCgpXG5cbklGIGN1cnJlbnRVcmwuSG9zdCA9PSBcImV4YW1wbGUuY29tXCIgVEhFTiB7XG4gICAgTVdHLkVuYWJsZUhUVFBUdW5uZWwoKVxuICAgIC8vIEhUVFAgVHVubmVsIGVuYWJsZWQgZm9yIGV4YW1wbGUuY29tXG59IiwgIm5hbWUiOiAiTVdHLkVuYWJsZUhUVFBUdW5uZWwgKCkiLCAicGFyYW1ldGVyX2Rlc2MiOiAiKk4vQSoifSwgeyJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIHRoZSBjb21wb3NpdGUgb3BlbmVyIHVzaW5nIHRoZSBzcGVjaWZpZWQgc2V0dGluZ3MuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBDcmVhdGUgYSBjb21wb3NpdGUgb3BlbmVyIHNldHRpbmdcbk1XRy5Db21wb3NpdGVPcGVuZXJTZXR0aW5nIGNvbXBvc2l0ZU9wZW5lclNldHRpbmdcblxuLy8gQ29uZmlndXJlIHRoZSBjb21wb3NpdGUgb3BlbmVyIHNldHRpbmcgYXMgbmVlZGVkXG4vLyBGb3IgZXhhbXBsZSwgeW91IG1pZ2h0IHNldCB2YXJpb3VzIHByb3BlcnRpZXMgb24gdGhlIGNvbXBvc2l0ZU9wZW5lclNldHRpbmcgb2JqZWN0IGhlcmVcblxuLy8gRW5hYmxlIHRoZSBjb21wb3NpdGUgb3BlbmVyIHNldHRpbmdcbk1XRy5FbmFibGVPcGVuZXIoY29tcG9zaXRlT3BlbmVyU2V0dGluZylcblxuLy8gQ29tcG9zaXRlIG9wZW5lciBoYXMgYmVlbiBlbmFibGVkLiIsICJuYW1lIjogIk1XRy5FbmFibGVPcGVuZXIgKE1XRy5Db21wb3NpdGVPcGVuZXJTZXR0aW5nKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgTVdHLkNvbXBvc2l0ZU9wZW5lclNldHRpbmdgOiBDb25maWd1cmF0aW9uIHNldHRpbmdzIG9iamVjdC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIFJlcGxpY2F0ZSBTZXJ2ZXIgQ2VydGlmaWNhdGUgZm9yIFRMUyBjb25uZWN0aW9ucy4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBhbmQgY29uZmlndXJlIHRoZSBNV0cuUmVwbGljYXRlU2VydmVyQ2VydFNldHRpbmcgb2JqZWN0XG5NV0cuUmVwbGljYXRlU2VydmVyQ2VydFNldHRpbmcgY2VydFNldHRpbmdcbi8vIEFzc3VtaW5nIHRoZXJlIGFyZSBwcm9wZXJ0aWVzIHRvIHNldCBvbiBjZXJ0U2V0dGluZywgdGhleSB3b3VsZCBiZSBzZXQgaGVyZVxuLy8gRm9yIGV4YW1wbGU6IGNlcnRTZXR0aW5nLnNvbWVQcm9wZXJ0eSA9IHNvbWVWYWx1ZVxuXG4vLyBFbmFibGUgdGhlIHJlcGxpY2F0aW9uIG9mIHNlcnZlciBjZXJ0aWZpY2F0ZXNcbk1XRy5FbmFibGVQcmVzZXJ2ZVNlcnZlckNlcnQoY2VydFNldHRpbmcpXG5cbi8vIFNlcnZlciBjZXJ0aWZpY2F0ZSByZXBsaWNhdGlvbiBoYXMgYmVlbiBlbmFibGVkLiIsICJuYW1lIjogIk1XRy5FbmFibGVQcmVzZXJ2ZVNlcnZlckNlcnQgKE1XRy5SZXBsaWNhdGVTZXJ2ZXJDZXJ0U2V0dGluZykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5SZXBsaWNhdGVTZXJ2ZXJDZXJ0U2V0dGluZ2A6IENvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgb2JqZWN0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgdGhlIHByb2dyZXNzIHBhZ2UgdXNpbmcgdGhlIHNwZWNpZmllZCBzZXR0aW5ncy4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBhIFByb2dyZXNzUGFnZVNldHRpbmcgb2JqZWN0XG5NV0cuUHJvZ3Jlc3NQYWdlU2V0dGluZyBwcm9ncmVzc1BhZ2VTZXR0aW5nXG5cbi8vIENvbmZpZ3VyZSB0aGUgcHJvZ3Jlc3MgcGFnZSBzZXR0aW5nIGFzIG5lZWRlZFxuLy8gRm9yIGV4YW1wbGUsIHNldHRpbmcgYSBjdXN0b20gbWVzc2FnZVxucHJvZ3Jlc3NQYWdlU2V0dGluZy5tZXNzYWdlID0gXCJQbGVhc2Ugd2FpdCB3aGlsZSB3ZSBwcm9jZXNzIHlvdXIgcmVxdWVzdC4uLlwiXG5cbi8vIEVuYWJsZSB0aGUgcHJvZ3Jlc3MgcGFnZSB3aXRoIHRoZSBzcGVjaWZpZWQgc2V0dGluZ1xuTVdHLkVuYWJsZVByb2dyZXNzUGFnZShwcm9ncmVzc1BhZ2VTZXR0aW5nKVxuXG4vLyBPcHRpb25hbGx5LCB5b3UgY2FuIGFkZCBtb3JlIGxvZ2ljIGhlcmVcbi8vIFByb2dyZXNzIHBhZ2UgaGFzIGJlZW4gZW5hYmxlZCB3aXRoIHRoZSBjdXN0b20gbWVzc2FnZS4iLCAibmFtZSI6ICJNV0cuRW5hYmxlUHJvZ3Jlc3NQYWdlIChNV0cuUHJvZ3Jlc3NQYWdlU2V0dGluZykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5Qcm9ncmVzc1BhZ2VTZXR0aW5nYDogQ29uZmlndXJhdGlvbiBzZXR0aW5ncyBvYmplY3QuIn0sIHsiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyB0aGUgU2FmZSBTZWFyY2ggRW5mb3JjZXIgdXNpbmcgdGhlIHNwZWNpZmllZCBzZXR0aW5ncy4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBhIFNhZmVTZWFyY2hFbmZvcmNlclNldHRpbmcgb2JqZWN0XG5NV0cuU2FmZVNlYXJjaEVuZm9yY2VyU2V0dGluZyBzYWZlU2VhcmNoU2V0dGluZyA9IE1XRy5TYWZlU2VhcmNoRW5mb3JjZXJTZXR0aW5nKClcblxuLy8gQ29uZmlndXJlIHRoZSBTYWZlU2VhcmNoRW5mb3JjZXJTZXR0aW5nIGFzIG5lZWRlZFxuLy8gRm9yIGV4YW1wbGUsIHlvdSBtaWdodCB3YW50IHRvIGVuYWJsZSBTYWZlU2VhcmNoIGZvciBHb29nbGVcbnNhZmVTZWFyY2hTZXR0aW5nLkVuYWJsZUdvb2dsZVNhZmVTZWFyY2ggPSBUUlVFXG5zYWZlU2VhcmNoU2V0dGluZy5FbmFibGVCaW5nU2FmZVNlYXJjaCA9IFRSVUVcbnNhZmVTZWFyY2hTZXR0aW5nLkVuYWJsZVlvdVR1YmVSZXN0cmljdGVkTW9kZSA9IFRSVUVcblxuLy8gRW5hYmxlIFNhZmVTZWFyY2ggZW5mb3JjZW1lbnQgd2l0aCB0aGUgY29uZmlndXJlZCBzZXR0aW5nXG5NV0cuRW5hYmxlU2FmZVNlYXJjaEVuZm9yY2VyKHNhZmVTZWFyY2hTZXR0aW5nKVxuXG4vLyBTYWZlU2VhcmNoIGVuZm9yY2VtZW50IGVuYWJsZWQgd2l0aCB0aGUgc3BlY2lmaWVkIHNldHRpbmdzLiIsICJuYW1lIjogIk1XRy5FbmFibGVTYWZlU2VhcmNoRW5mb3JjZXIgKE1XRy5TYWZlU2VhcmNoRW5mb3JjZXJTZXR0aW5nKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgTVdHLlNhZmVTZWFyY2hFbmZvcmNlclNldHRpbmdgOiBDb25maWd1cmF0aW9uIHNldHRpbmdzIG9iamVjdC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIFdlYlNvY2tldCBzdXBwb3J0LiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRW5hYmxpbmcgV2ViU29ja2V0IHN1cHBvcnQgZm9yIHRoZSBjdXJyZW50IHJlcXVlc3Rcbk1XRy5FbmFibGVXZWJTb2NrZXRTdXBwb3J0KCkiLCAibmFtZSI6ICJNV0cuRW5hYmxlV2ViU29ja2V0U3VwcG9ydCAoKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIqTi9BKiJ9LCB7ImRlc2NyaXB0aW9uIjogIkV4ZWN1dGVzIGFuIGV2ZW50IHdpdGggY29uZmlndXJhdGlvbiBzZXR0aW5ncy4iLCAiY29kZV9leGFtcGxlIjogIi8vIERlZmluZSB0aGUgaW50ZXJuYWwgc2V0dGluZyBhbmQgdGhlIHN0cmluZyBwYXJhbWV0ZXJcbk1XRy5JbnRlcm5hbFNldHRpbmcgaW50ZXJuYWxTZXR0aW5nID0gW1wiRXhhbXBsZUludGVybmFsU2V0dGluZ1wiXVxuU1RSSU5HIHBhcmFtZXRlciA9IFwiRXhhbXBsZVBhcmFtZXRlclwiXG5cbi8vIEV4ZWN1dGUgdGhlIGludGVybmFsIGV2ZW50IHdpdGggdGhlIHNwZWNpZmllZCBzZXR0aW5nIGFuZCBwYXJhbWV0ZXJcbk1XRy5FeGVjdXRlRXZlbnQoaW50ZXJuYWxTZXR0aW5nLCBwYXJhbWV0ZXIpXG5cbi8vIERlYnVnIG1lc3NhZ2UgdG8gaW5kaWNhdGUgdGhlIGV2ZW50IGhhcyBiZWVuIHRyaWdnZXJlZFxuLy8gSW50ZXJuYWwgZXZlbnQgdHJpZ2dlcmVkIHdpdGggc2V0dGluZzogXCIgKyBpbnRlcm5hbFNldHRpbmcgKyBcIiBhbmQgcGFyYW1ldGVyOiBcIiArIHBhcmFtZXRlciIsICJuYW1lIjogIk1XRy5FeGVjdXRlRXZlbnQgKE1XRy5JbnRlcm5hbFNldHRpbmcsIFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5JbnRlcm5hbFNldHRpbmdgOiBDb25maWd1cmF0aW9uIHNldHRpbmdzLlxuMi4gYFNUUklOR2A6IFRoZSBuYW1lIG9mIHRoZSBldmVudC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJFeGVjdXRlcyBhbiBldmVudCB3aXRoIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgYW5kIHBhcmFtZXRlcnMuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBEZWZpbmUgdGhlIGludGVybmFsIHNldHRpbmdcbk1XRy5JbnRlcm5hbFNldHRpbmcgaW50ZXJuYWxTZXR0aW5nID0gTVdHLkludGVybmFsU2V0dGluZygpXG5cbi8vIERlZmluZSB0aGUgZXZlbnQgbmFtZVxuU1RSSU5HIGV2ZW50TmFtZSA9IFwiQ3VzdG9tRXZlbnRcIlxuXG4vLyBEZWZpbmUgdGhlIGludGVybmFsIHBhcmFtZXRlciBsaXN0XG5NV0cuSW50ZXJuYWxQYXJhbWV0ZXJMaXN0IHBhcmFtZXRlckxpc3QgPSBNV0cuSW50ZXJuYWxQYXJhbWV0ZXJMaXN0KClcblxuLy8gQWRkIHBhcmFtZXRlcnMgdG8gdGhlIHBhcmFtZXRlciBsaXN0XG5wYXJhbWV0ZXJMaXN0LkFkZChcInBhcmFtMVwiLCBcInZhbHVlMVwiKVxucGFyYW1ldGVyTGlzdC5BZGQoXCJwYXJhbTJcIiwgXCJ2YWx1ZTJcIilcblxuLy8gRXhlY3V0ZSB0aGUgZXZlbnRcbk1XRy5FeGVjdXRlRXZlbnQoaW50ZXJuYWxTZXR0aW5nLCBldmVudE5hbWUsIHBhcmFtZXRlckxpc3QpXG5cbi8vIFByaW50IGEgZGVidWcgbWVzc2FnZSB0byBpbmRpY2F0ZSB0aGUgZXZlbnQgd2FzIGV4ZWN1dGVkXG4vLyBFeGVjdXRlZCBldmVudDogXCIgKyBldmVudE5hbWUiLCAibmFtZSI6ICJNV0cuRXhlY3V0ZUV2ZW50IChNV0cuSW50ZXJuYWxTZXR0aW5nLCBTVFJJTkcsIE1XRy5JbnRlcm5hbFBhcmFtZXRlckxpc3QpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBNV0cuSW50ZXJuYWxTZXR0aW5nYDogQ29uZmlndXJhdGlvbiBzZXR0aW5ncy5cbjIuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgZXZlbnQuXG4zLiBgTVdHLkludGVybmFsUGFyYW1ldGVyTGlzdGA6IFBhcmFtZXRlcnMgdG8gcGFzcyB0aHJvdWdoLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkV4ZWN1dGVzIGFuIGV2ZW50LiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gTWFpblJvdXRpbmUgdHJpZ2dlcmVkIG9uIFdlYi5SZXF1ZXN0XG5cbi8vIEV4ZWN1dGUgYSBjdXN0b20gZXZlbnQgbmFtZWQgXCJDdXN0b21FdmVudFwiXG5NV0cuRXhlY3V0ZUV2ZW50KFwiQ3VzdG9tRXZlbnRcIilcblxuLy8gQ3VzdG9tRXZlbnQgdHJpZ2dlcmVkXG5cbi8vIFBlcmZvcm0gc29tZSBjdXN0b20gYWN0aW9ucyBoZXJlXG4vLyBGb3IgZXhhbXBsZSwgbGV0J3MgYmxvY2sgdGhlIHJlcXVlc3Qgd2l0aCBhIGN1c3RvbSBtZXNzYWdlXG5NV0cuQmxvY2soXCJBY2Nlc3MgdG8gdGhpcyBzaXRlIGlzIGJsb2NrZWQgYnkgQ3VzdG9tRXZlbnQuXCIpIiwgIm5hbWUiOiAiTVdHLkV4ZWN1dGVFdmVudCAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIG5hbWUgb2YgdGhlIGV2ZW50LiJ9LCB7ImRlc2NyaXB0aW9uIjogIkV4ZWN1dGVzIGFuIGV2ZW50IHdpdGggcGFyYW1ldGVycy4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBhbiBpbnRlcm5hbCBwYXJhbWV0ZXIgbGlzdFxuTVdHLkludGVybmFsUGFyYW1ldGVyTGlzdCBwYXJhbXMgPSBNV0cuSW50ZXJuYWxQYXJhbWV0ZXJMaXN0KClcblxuLy8gQWRkIHBhcmFtZXRlcnMgdG8gdGhlIGxpc3RcbnBhcmFtcy5BZGQoXCJwYXJhbTFcIiwgXCJ2YWx1ZTFcIilcbnBhcmFtcy5BZGQoXCJwYXJhbTJcIiwgXCJ2YWx1ZTJcIilcblxuLy8gRGVmaW5lIHRoZSBldmVudCBuYW1lXG5TVFJJTkcgZXZlbnROYW1lID0gXCJDdXN0b21FdmVudFwiXG5cbi8vIEV4ZWN1dGUgdGhlIGV2ZW50IHdpdGggdGhlIHBhcmFtZXRlcnNcbk1XRy5FeGVjdXRlRXZlbnQoZXZlbnROYW1lLCBwYXJhbXMpXG5cbi8vIERlYnVnIG1lc3NhZ2UgdG8gY29uZmlybSBleGVjdXRpb25cbi8vIEV4ZWN1dGVkIGV2ZW50OiBcIiArIGV2ZW50TmFtZSArIFwiIHdpdGggcGFyYW1ldGVyczogXCIgKyBwYXJhbXMuVG9TdHJpbmcoKSIsICJuYW1lIjogIk1XRy5FeGVjdXRlRXZlbnQgKFNUUklORywgTVdHLkludGVybmFsUGFyYW1ldGVyTGlzdCkiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBuYW1lIG9mIHRoZSBldmVudC5cbjIuIGBNV0cuSW50ZXJuYWxQYXJhbWV0ZXJMaXN0YDogVGhlIHBhcmFtZXRlcnMgdG8gcGFzcyB0byB0aGUgZXZlbnQuIn0sIHsiZGVzY3JpcHRpb24iOiAiU3RvcHMgdGhlIGN1cnJlbnQgdHJpZ2dlciBhbmQgbG9ncyB0aGUgcGFyYW1ldGVyIGFzIGBNV0cuTGFzdFJ1bGVgLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gU29tZSBjb25kaXRpb24gdG8gY2hlY2tcbkJPT0xFQU4gY29uZGl0aW9uID0gVFJVRVxuXG4vLyBJZiB0aGUgY29uZGl0aW9uIGlzIG1ldCwgZXhpdCB0aGUgcm91dGluZSB3aXRoIGEgbWVzc2FnZVxuSUYgY29uZGl0aW9uIFRIRU4ge1xuICAgIE1XRy5FeGl0KFwiRXhpdGluZyB0aGUgcm91dGluZSBkdWUgdG8gdGhlIGNvbmRpdGlvbiBiZWluZyBtZXQuXCIpXG59XG5cbi8vIEFkZGl0aW9uYWwgY29kZSB0aGF0IHdvbid0IGJlIGV4ZWN1dGVkIGlmIHRoZSBjb25kaXRpb24gaXMgVFJVRVxuLy8gVGhpcyBsaW5lIHdpbGwgbm90IGJlIGV4ZWN1dGVkIGlmIHRoZSBjb25kaXRpb24gaXMgVFJVRS4iLCAibmFtZSI6ICJNV0cuRXhpdCAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIHZhbHVlIHRvIGJlIGxvZ2dlZCBhcyBgTVdHLkxhc3RSdWxlYC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJHZW5lcmF0ZXMgYW4gaW1tZWRpYXRlIEhUVFAgcmVzcG9uc2Ugd2l0aCBzdGF0dXMgMjAwLiBUaGUgYE5VTUJFUmAgYXJndW1lbnQgaXMgbm90IGZvcndhcmRlZCB0byB0aGUgdW5kZXJseWluZyBpbXBsZW1lbnRhdGlvbi4iLCAiY29kZV9leGFtcGxlIjogIklGIE5PVCBNV0cuSXNBdXRoZW50aWNhdGVkKCkgVEhFTiB7XG4gICAgTVdHLkdlbmVyYXRlUmVzcG9uc2UoNDAxLCBcIkF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkLiBQbGVhc2Ugc2lnbiBpbiB0byBjb250aW51ZS5cIilcbn0iLCAibmFtZSI6ICJNV0cuR2VuZXJhdGVSZXNwb25zZSAoTlVNQkVSLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBOVU1CRVJgOiBJZ25vcmVkLiBUaGUgcmVzcG9uc2UgYWx3YXlzIHVzZXMgSFRUUCBzdGF0dXMgY29kZSAyMDAuXG4yLiBgU1RSSU5HYDogVGhlIHJlc3BvbnNlIGJvZHkgY29udGVudC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJHZW5lcmF0ZXMgYW4gaW1tZWRpYXRlIEhUVFAgcmVzcG9uc2Ugd2l0aCBzdGF0dXMgY29kZSAyMDAgYW5kIHRoZSBzcGVjaWZpZWQgYm9keSBjb250ZW50LiIsICJjb2RlX2V4YW1wbGUiOiAiU1RSSU5HIHJlc3BvbnNlQm9keSA9IFwiPGh0bWw+PGJvZHk+PGgxPkFjY2VzcyBEZW5pZWQ8L2gxPjxwPllvdXIgYWNjZXNzIHRvIHRoaXMgc2l0ZSBoYXMgYmVlbiBibG9ja2VkIGJ5IHRoZSBhZG1pbmlzdHJhdG9yLjwvcD48L2JvZHk+PC9odG1sPlwiXG5cbi8vIEdlbmVyYXRpbmcgY3VzdG9tIHJlc3BvbnNlIGZvciBibG9ja2VkIGFjY2Vzc1xuTVdHLkdlbmVyYXRlUmVzcG9uc2UocmVzcG9uc2VCb2R5KSIsICJuYW1lIjogIk1XRy5HZW5lcmF0ZVJlc3BvbnNlIChTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgcmVzcG9uc2UgYm9keSBjb250ZW50LiJ9LCB7ImRlc2NyaXB0aW9uIjogIkFkZHMgaGVhZGVyIHRvIHRoZSBJQ0FQIHJlcXVlc3QgaGVhZGVyLiBUaGlzIGFwcGxpZXMgdG8gUmVxTW9kIGFuZCBSZXNwTW9kLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIHRoZSBJQ0FQIGNsaWVudCBzZXR0aW5nc1xuTVdHLklDQVBDbGllbnRTZXR0aW5nIGljYXBTZXR0aW5ncyA9IE1XRy5JQ0FQQ2xpZW50U2V0dGluZygpXG5cbi8vIERlZmluZSB0aGUgaGVhZGVyIG5hbWUgYW5kIHZhbHVlXG5TVFJJTkcgaGVhZGVyTmFtZSA9IFwiWC1DdXN0b20tSGVhZGVyXCJcblNUUklORyBoZWFkZXJWYWx1ZSA9IFwiQ3VzdG9tVmFsdWVcIlxuXG4vLyBBZGQgdGhlIGN1c3RvbSBoZWFkZXIgdG8gdGhlIElDQVAgcmVxdWVzdFxuTVdHLklDQVBDbGllbnRBZGRSZXF1ZXN0SGVhZGVyKGljYXBTZXR0aW5ncywgaGVhZGVyTmFtZSwgaGVhZGVyVmFsdWUpXG5cbi8vIEFkZGVkIGN1c3RvbSBoZWFkZXIgdG8gSUNBUCByZXF1ZXN0OiBcIiArIGhlYWRlck5hbWUgKyBcIiA9IFwiICsgaGVhZGVyVmFsdWUiLCAibmFtZSI6ICJNV0cuSUNBUENsaWVudEFkZFJlcXVlc3RIZWFkZXIgKE1XRy5JQ0FQQ2xpZW50U2V0dGluZywgU1RSSU5HLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBNV0cuSUNBUENsaWVudFNldHRpbmdgOiBDb25maWd1cmF0aW9uIHNldHRpbmdzLlxuMi4gYFNUUklOR2A6IFRoZSBuYW1lIG9mIHRoZSBoZWFkZXIgdG8gYWRkLlxuMy4gYFNUUklOR2A6IFRoZSB2YWx1ZSBvZiB0aGUgaGVhZGVyIHRvIGFkZC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJBZGRzIGEga2V5LXZhbHVlIHBhaXIgdG8gdGhlIElDQVAgZmlyc3QgbGluZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBvciBnZXQgYW4gZXhpc3RpbmcgSUNBUCBjbGllbnQgc2V0dGluZ1xuTVdHLklDQVBDbGllbnRTZXR0aW5nIGljYXBTZXR0aW5nID0gTVdHLklDQVBDbGllbnRTZXR0aW5nKClcblxuLy8gRGVmaW5lIHRoZSBVUkkgcGFyYW1ldGVyIHlvdSB3YW50IHRvIGFkZFxuU1RSSU5HIHVyaVBhcmFtZXRlciA9IFwiZXhhbXBsZVBhcmFtZXRlcj12YWx1ZVwiXG5cbi8vIEFkZCB0aGUgVVJJIHBhcmFtZXRlciB0byB0aGUgSUNBUCBjbGllbnQgc2V0dGluZ1xuTVdHLklDQVBDbGllbnRBZGRSZXF1ZXN0VVJJUGFyYW1ldGVyKGljYXBTZXR0aW5nLCB1cmlQYXJhbWV0ZXIpXG5cbi8vIE9wdGlvbmFsbHksIHByaW50IGEgZGVidWcgbWVzc2FnZSB0byBjb25maXJtIHRoZSBwYXJhbWV0ZXIgd2FzIGFkZGVkXG4vLyBBZGRlZCBVUkkgcGFyYW1ldGVyOiBcIiArIHVyaVBhcmFtZXRlciArIFwiIHRvIElDQVAgY2xpZW50IHNldHRpbmcuIiwgIm5hbWUiOiAiTVdHLklDQVBDbGllbnRBZGRSZXF1ZXN0VVJJUGFyYW1ldGVyIChNV0cuSUNBUENsaWVudFNldHRpbmcsIFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5JQ0FQQ2xpZW50U2V0dGluZ2A6IENvbmZpZ3VyYXRpb24gc2V0dGluZ3MuXG4yLiBgU1RSSU5HYDogVGhlIHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXIgdG8gYWRkLiJ9LCB7ImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlcyBzdG9yYWdlIHJlZ2lvbiBmb3IgYWNjZXNzIGxvZyBkYXRhLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gQ3JlYXRlIGEgbmV3IExvZ1N0b3JhZ2VSZWdpb25TZXR0aW5nIG9iamVjdFxuTVdHLkxvZ1N0b3JhZ2VSZWdpb25TZXR0aW5nIGxvZ1N0b3JhZ2VSZWdpb25TZXR0aW5nID0gTVdHLkxvZ1N0b3JhZ2VSZWdpb25TZXR0aW5nKClcblxuLy8gU2V0IHRoZSBkZXNpcmVkIHJlZ2lvbiBmb3IgbG9nIHN0b3JhZ2VcbmxvZ1N0b3JhZ2VSZWdpb25TZXR0aW5nLlJlZ2lvbiA9IFwidXMtd2VzdC0xXCJcblxuLy8gQXBwbHkgdGhlIGxvZyBzdG9yYWdlIHJlZ2lvbiBzZXR0aW5nXG5NV0cuTG9nZ2luZ1NldFN0b3JhZ2VSZWdpb24obG9nU3RvcmFnZVJlZ2lvblNldHRpbmcpXG5cbi8vIERlYnVnIG1lc3NhZ2UgdG8gY29uZmlybSB0aGUgc2V0dGluZ1xuLy8gTG9nIHN0b3JhZ2UgcmVnaW9uIHNldCB0bzogXCIgKyBsb2dTdG9yYWdlUmVnaW9uU2V0dGluZy5SZWdpb24iLCAibmFtZSI6ICJNV0cuTG9nZ2luZ1NldFN0b3JhZ2VSZWdpb24gKE1XRy5Mb2dTdG9yYWdlUmVnaW9uU2V0dGluZykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5Mb2dTdG9yYWdlUmVnaW9uU2V0dGluZ2A6IENvbmZpZ3VyYXRpb24gc2V0dGluZ3MuIn0sIHsiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyBwcm94eS1jb250cm9sIHdvcmthcm91bmQgYmVoYXZpb3IgdXNpbmcgdGhlIHNwZWNpZmllZCBjb25maWd1cmF0aW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiTVdHLlByb3h5Q29udHJvbFNldHRpbmcgcHJveHlTZXR0aW5nID0gTVdHLlByb3h5Q29udHJvbFNldHRpbmcoKVxuXG4vLyBDb25maWd1cmUgdGhlIHByb3h5IHNldHRpbmdzIGFzIG5lZWRlZFxucHJveHlTZXR0aW5nLmVuYWJsZSA9IFRSVUVcbnByb3h5U2V0dGluZy5wcm94eUFkZHJlc3MgPSBcInByb3h5LmV4YW1wbGUuY29tXCJcbnByb3h5U2V0dGluZy5wcm94eVBvcnQgPSA4MDgwXG5cbi8vIEFwcGx5IHRoZSBwcm94eSBjb250cm9sIHNldHRpbmdzXG5NV0cuUHJveHlDb250cm9sKHByb3h5U2V0dGluZylcblxuLy8gUHJveHkgY29udHJvbCBzZXR0aW5ncyBhcHBsaWVkOiBwcm94eS5leGFtcGxlLmNvbTo4MDgwIiwgIm5hbWUiOiAiTVdHLlByb3h5Q29udHJvbCAoTVdHLlByb3h5Q29udHJvbFNldHRpbmcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBNV0cuUHJveHlDb250cm9sU2V0dGluZ2A6IFRoZSBwcm94eS1jb250cm9sIGNvbmZpZ3VyYXRpb24gb2JqZWN0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIlJlZGlyZWN0cyB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiB0byB0aGUgc3BlY2lmaWVkIFVSTCB3aXRoIHRoZSBnaXZlbiBibG9jayByZWFzb24sIHJ1bGUsIGFuZCBydWxlIHNldC4iLCAiY29kZV9leGFtcGxlIjogIlNUUklORyBuZXdVcmwgPSBcImh0dHA6Ly9leGFtcGxlLmNvbVwiXG5TVFJJTkcgcmVhc29uID0gXCJSZWRpcmVjdGluZyB0byBleGFtcGxlLmNvbVwiXG5TVFJJTkcgbWV0aG9kID0gXCJHRVRcIlxuU1RSSU5HIGhlYWRlcnMgPSBcIlVzZXItQWdlbnQ6IE1PV0dMSVwiXG5cbk1XRy5SZWRpcmVjdChuZXdVcmwsIHJlYXNvbiwgbWV0aG9kLCBoZWFkZXJzKSIsICJuYW1lIjogIk1XRy5SZWRpcmVjdCAoU1RSSU5HLCBTVFJJTkcsIFNUUklORywgU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIFVSTCB0byByZWRpcmVjdCB0by5cbjIuIGBTVFJJTkdgOiBUaGUgcmVhc29uIGZvciBibG9ja2luZy5cbjMuIGBTVFJJTkdgOiBUaGUgcnVsZSB0byB1c2UuXG40LiBgU1RSSU5HYDogVGhlIHJ1bGUgc2V0IHRvIGdldCB0aGUgcnVsZSBmcm9tLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkRlcHJlY2F0ZWQgY29tcGF0aWJpbGl0eSByZWRpcmVjdCB0aGF0IHJlZGlyZWN0cyB0byBgTVdHLkludGVybmFsT3JpZ2luYWxVUkxgIGFuZCBtYXBzIHRvIHRoZSBjdXJyZW50IHJlZGlyZWN0IGFjdGlvbiBpbXBsZW1lbnRhdGlvbi4iLCAiY29kZV9leGFtcGxlIjogIklGIE1XRy5Db21tYW5kTmFtZSgpID09IFwiR0VUXCIgVEhFTiB7XG4gICAgTVdHLlJlZGlyZWN0KFwiUmUtYXV0aGVudGljYXRpb24gcmVxdWlyZWQgYmVmb3JlIGNvbnRpbnVpbmdcIiwgXCJcIiwgXCJcIiwgXCJGb3JjZSBSZWF1dGggUmVkaXJlY3RcIiwgXCIvQ3VzdG9tZXIvV2ViL0FjY2VzcyBDb250cm9sXCIpXG59IiwgIm5hbWUiOiAiTVdHLlJlZGlyZWN0IChTVFJJTkcsIFNUUklORywgU1RSSU5HLCBTVFJJTkcsIFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBibG9jay9yZWRpcmVjdCByZWFzb24uXG4yLiBgU1RSSU5HYDogRGVwcmVjYXRlZC9sZWdhY3kgcGFyYW1ldGVyOyBpZ25vcmVkIChrZXB0IGZvciBzaWduYXR1cmUgY29tcGF0aWJpbGl0eSkuXG4zLiBgU1RSSU5HYDogRGVwcmVjYXRlZC9sZWdhY3kgcGFyYW1ldGVyOyBpZ25vcmVkIChrZXB0IGZvciBzaWduYXR1cmUgY29tcGF0aWJpbGl0eSkuXG40LiBgU1RSSU5HYDogVGhlIHJ1bGUgbmFtZSB0byBsb2cgYXMgdGhlIHRlcm1pbmF0aW5nIHJ1bGUuXG41LiBgU1RSSU5HYDogVGhlIHJ1bGUgc2V0IHBhdGgvbmFtZSB0byBsb2cgYXMgdGhlIHRlcm1pbmF0aW5nIHJ1bGUgc2V0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIkRlcHJlY2F0ZWQgY29tcGF0aWJpbGl0eSByZWRpcmVjdCB0aGF0IG1hcHMgdG8gdGhlIGN1cnJlbnQgcmVkaXJlY3QgYWN0aW9uIGltcGxlbWVudGF0aW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiSUYgTVdHLklzQXV0aGVudGljYXRlZCBUSEVOIHtcbiAgSUYgRmluZChNV0cuVXNlckdyb3VwcygpLCBcIkNvbnRyYWN0b3JzXCIpICE9IC0xIFRIRU4ge1xuICAgIE1XRy5SZWRpcmVjdChcImh0dHBzOi8vaW50cmFuZXQuZXhhbXBsZS5jb20vY29udHJhY3Rvci1wb3J0YWxcIiwgXCJDb250cmFjdG9ycyBtdXN0IHVzZSB0aGUgY29udHJhY3RvciBwb3J0YWxcIiwgXCJcIiwgXCJcIiwgXCJSZWRpcmVjdCBDb250cmFjdG9ycyB0byBDb250cmFjdG9yIFBvcnRhbFwiLCBcIkN1c3RvbWVyIFBvbGljeS9BY2Nlc3MgQ29udHJvbFwiKVxuICB9XG59IiwgIm5hbWUiOiAiTVdHLlJlZGlyZWN0IChTVFJJTkcsIFNUUklORywgU1RSSU5HLCBTVFJJTkcsIFNUUklORywgU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIFVSTCB0byByZWRpcmVjdCB0by5cbjIuIGBTVFJJTkdgOiBUaGUgYmxvY2svcmVkaXJlY3QgcmVhc29uLlxuMy4gYFNUUklOR2A6IERlcHJlY2F0ZWQvbGVnYWN5IHBhcmFtZXRlcjsgcHJlc2VydmVkIGZvciBzaWduYXR1cmUgY29tcGF0aWJpbGl0eS5cbjQuIGBTVFJJTkdgOiBEZXByZWNhdGVkL2xlZ2FjeSBwYXJhbWV0ZXI7IHByZXNlcnZlZCBmb3Igc2lnbmF0dXJlIGNvbXBhdGliaWxpdHkuXG41LiBgU1RSSU5HYDogVGhlIHJ1bGUgbmFtZSB0byBsb2cgYXMgdGhlIGN1cnJlbnQgcnVsZS5cbjYuIGBTVFJJTkdgOiBUaGUgcnVsZSBzZXQgcGF0aC9uYW1lIHRvIGxvZyBhcyB0aGUgY3VycmVudCBydWxlIHNldC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJSZW1vdmVzIGVudHJpZXMgZnJvbSBhbiBIVFRQKFMpIGhlYWRlciBtYXAuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBBc3N1bWUgd2UgaGF2ZSBhIGhlYWRlciBtYXAgbmFtZWQgJ2hlYWRlcnMnXG5NV0cuSGVhZGVyTWFwIGhlYWRlcnMgPSBNV0cuR2V0UmVxdWVzdEhlYWRlcnMoKVxuXG4vLyBUaGUgbmFtZSBvZiB0aGUgaGVhZGVyIHdlIHdhbnQgdG8gcmVtb3ZlXG5TVFJJTkcgaGVhZGVyVG9SZW1vdmUgPSBcIlgtRXhhbXBsZS1IZWFkZXJcIlxuXG4vLyBSZW1vdmUgdGhlIHNwZWNpZmllZCBoZWFkZXIgZnJvbSB0aGUgaGVhZGVyIG1hcFxuTVdHLlJlbW92ZShoZWFkZXJzLCBoZWFkZXJUb1JlbW92ZSlcblxuLy8gT3B0aW9uYWxseSwgcHJpbnQgdGhlIHJlbWFpbmluZyBoZWFkZXJzIHRvIHRoZSBjb25zb2xlIGZvciBkZWJ1Z2dpbmdcbi8vIFJlbWFpbmluZyBoZWFkZXJzOiBcIiArIGhlYWRlcnMuVG9TdHJpbmcoKSIsICJuYW1lIjogIk1XRy5SZW1vdmUgKE1XRy5IZWFkZXJNYXAsIFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5IZWFkZXJNYXBgOiBUaGUgbWFwIG9mIGhlYWRlcnMgdG8gcmVtb3ZlIGZyb20uXG4yLiBgU1RSSU5HYDogVGhlIGtleSBvZiB0aGUgaGVhZGVyIHRvIHJlbW92ZS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJSZW1vdmVzIGFsbCBlbnRyaWVzIGZyb20gdGhlIGdpdmVuIGhlYWRlciBtYXAuIiwgImNvZGVfZXhhbXBsZSI6ICJNV0cuSGVhZGVyTWFwIGhlYWRlcnMgPSBNV0cuR2V0UmVxdWVzdEhlYWRlcnMoKVxuTVdHLlJlbW92ZUFsbChoZWFkZXJzKVxuLy8gQWxsIGhlYWRlcnMgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgcmVxdWVzdC4iLCAibmFtZSI6ICJNV0cuUmVtb3ZlQWxsIChNV0cuSGVhZGVyTWFwKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgTVdHLkhlYWRlck1hcGA6IFRoZSBtYXAgb2YgaGVhZGVycyB0byByZW1vdmUgZnJvbS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJSZW1vdmVzIGFsbCBlbnRyaWVzIG9mIGdpdmVuIGhlYWRlciBtYXRjaGluZyB0aGUgcmVndWxhciBleHByZXNzaW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gQXNzdW1lIGhlYWRlcnMgaXMgYW4gTVdHLkhlYWRlck1hcCBvYmplY3QgY29udGFpbmluZyB0aGUgcmVxdWVzdCBoZWFkZXJzXG5NV0cuSGVhZGVyTWFwIGhlYWRlcnMgPSBNV0cuR2V0UmVxdWVzdEhlYWRlcnMoKVxuXG4vLyBEZWZpbmUgdGhlIGhlYWRlciBrZXkgYW5kIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gdG8gbWF0Y2hcblNUUklORyBoZWFkZXJLZXkgPSBcIlVzZXItQWdlbnRcIlxuUmVnRXhKU2kgcmVnZXggPSBSZWdFeEpTaS5DcmVhdGUoXCIuKmJvdC4qXCIpXG5cbi8vIFJlbW92ZSBhbGwgaGVhZGVycyBtYXRjaGluZyB0aGUgcmVndWxhciBleHByZXNzaW9uXG5NV0cuUmVtb3ZlQWxsTWF0Y2hpbmcoaGVhZGVycywgaGVhZGVyS2V5LCByZWdleClcblxuLy8gT3B0aW9uYWxseSwgc2V0IHRoZSBtb2RpZmllZCBoZWFkZXJzIGJhY2sgdG8gdGhlIHJlcXVlc3Rcbk1XRy5TZXRSZXF1ZXN0SGVhZGVycyhoZWFkZXJzKVxuXG4vLyBSZW1vdmVkIG1hdGNoaW5nIGhlYWRlcnMgZnJvbSBVc2VyLUFnZW50IiwgIm5hbWUiOiAiTVdHLlJlbW92ZUFsbE1hdGNoaW5nIChNV0cuSGVhZGVyTWFwLCBSZWdFeEpTaSkiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5IZWFkZXJNYXBgOiBUaGUgbWFwIG9mIGhlYWRlcnMgdG8gb3BlcmF0ZSBvbi5cbjIuIGBSZWdFeEpTaWA6IFRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hlZCBhZ2FpbnN0IGhlYWRlciB2YWx1ZXMgdG8gc2VsZWN0IGVudHJpZXMgZm9yIHJlbW92YWwuIn0sIHsiZGVzY3JpcHRpb24iOiAiUmVtb3ZlcyBhbGwgZW50cmllcyBvZiBnaXZlbiBoZWFkZXIgd2l0aCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbi4iLCAiY29kZV9leGFtcGxlIjogIi8vIEFzc3VtZSB3ZSBoYXZlIGEgaGVhZGVyIG1hcCBmcm9tIHRoZSB3ZWIgcmVxdWVzdFxuTVdHLkhlYWRlck1hcCBoZWFkZXJzID0gTVdHLkdldFJlcXVlc3RIZWFkZXJzKClcblxuLy8gRGVmaW5lIHRoZSBoZWFkZXIga2V5IHdlIHdhbnQgdG8gdGFyZ2V0XG5TVFJJTkcgaGVhZGVyS2V5ID0gXCJYLUN1c3RvbS1IZWFkZXJcIlxuXG4vLyBEZWZpbmUgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBtYXRjaCB0aGUgaGVhZGVyIHZhbHVlcyB3ZSB3YW50IHRvIHJlbW92ZVxuUmVnRXhKU2kgcmVnZXggPSBSZWdFeEpTaShcIi4qc2Vuc2l0aXZlLipcIilcblxuLy8gUmVtb3ZlIGFsbCBtYXRjaGluZyBoZWFkZXJzXG5NV0cuUmVtb3ZlQWxsTWF0Y2hpbmcoaGVhZGVycywgaGVhZGVyS2V5LCByZWdleClcblxuLy8gT3B0aW9uYWxseSwgcHJpbnQgdGhlIHJlbWFpbmluZyBoZWFkZXJzIHRvIHRoZSBjb25zb2xlIGZvciBkZWJ1Z2dpbmdcbi8vIFJlbWFpbmluZyBIZWFkZXJzOiBcIiArIGhlYWRlcnMuVG9TdHJpbmcoKSIsICJuYW1lIjogIk1XRy5SZW1vdmVBbGxNYXRjaGluZyAoTVdHLkhlYWRlck1hcCwgU1RSSU5HLCBSZWdFeEpTaSkiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5IZWFkZXJNYXBgOiBUaGUgbWFwIG9mIGhlYWRlcnMgdG8gb3BlcmF0ZSBvbi5cbjIuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgaGVhZGVyIHdob3NlIGVudHJpZXMgYXJlIGV2YWx1YXRlZC5cbjMuIGBSZWdFeEpTaWA6IFRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hlZCBhZ2FpbnN0IHRoZSB2YWx1ZXMgb2YgdGhlIHNwZWNpZmllZCBoZWFkZXIuIn0sIHsiZGVzY3JpcHRpb24iOiAiUmVtb3ZlcyBhbGwgZW50cmllcyBvZiBnaXZlbiBoZWFkZXIgd2hlcmUgdGhlIGhlYWRlciBuYW1lIHN0YXJ0cyB3aXRoIGdpdmVuIHN0cmluZy4iLCAiY29kZV9leGFtcGxlIjogIi8vIEFzc3VtZSBoZWFkZXJzIGlzIGFuIE1XRy5IZWFkZXJNYXAgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgSFRUUCBoZWFkZXJzIG9mIHRoZSByZXF1ZXN0XG5NV0cuSGVhZGVyTWFwIGhlYWRlcnMgPSBNV0cuR2V0UmVxdWVzdEhlYWRlcnMoKVxuXG4vLyBSZW1vdmUgYWxsIGhlYWRlcnMgdGhhdCBzdGFydCB3aXRoIFwiWC1DdXN0b20tXCJcbk1XRy5SZW1vdmVBbGxTdGFydFdpdGgoaGVhZGVycywgXCJYLUN1c3RvbS1cIilcblxuLy8gT3B0aW9uYWxseSwgc2V0IHRoZSBtb2RpZmllZCBoZWFkZXJzIGJhY2sgdG8gdGhlIHJlcXVlc3Rcbk1XRy5TZXRSZXF1ZXN0SGVhZGVycyhoZWFkZXJzKVxuXG4vLyBDdXN0b20gaGVhZGVycyByZW1vdmVkIGZyb20gdGhlIHJlcXVlc3QiLCAibmFtZSI6ICJNV0cuUmVtb3ZlQWxsU3RhcnRXaXRoIChNV0cuSGVhZGVyTWFwLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBNV0cuSGVhZGVyTWFwYDogVGhlIG1hcCBvZiBoZWFkZXJzIHRvIG9wZXJhdGUgb24uXG4yLiBgU1RSSU5HYDogVGhlIHByZWZpeCBtYXRjaGVkIGFnYWluc3QgaGVhZGVyIG5hbWVzOyBhbGwgbWF0Y2hpbmcgZW50cmllcyBhcmUgcmVtb3ZlZC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJDbGVhcnMgdGhlIGN1cnJlbnQgYm9keSBidWZmZXIgb2YgdGhlIGFjdGl2ZSByZXF1ZXN0L3Jlc3BvbnNlIG9iamVjdCBhbmQgbWFya3MgdGhlIGJvZHkgYXMgbW9kaWZpZWQuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBMb2cgdGhlIGFjdGlvbiBmb3IgZGVidWdnaW5nIHB1cnBvc2VzXG4vLyBcIlJlbW92aW5nIHRoZSBib2R5IG9mIHRoZSByZXNwb25zZVwiXG5cbi8vIFJlbW92ZSB0aGUgYm9keSBvZiB0aGUgcmVzcG9uc2Vcbk1XRy5SZW1vdmVCb2R5KCkiLCAibmFtZSI6ICJNV0cuUmVtb3ZlQm9keSAoKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIqTi9BKiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgdGhlIFNBTUwgcmVsYXkgc3RhdGUgZm9yIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gU2V0IHJlbGF5IHN0YXRlIHNvIFNBTUwgc2lnbi1pbiByZXR1cm5zIHRoZSB1c2VyIHRvIHRoZSBIUiBhcHBcblNUUklORyByZWxheVN0YXRlID0gXCJodHRwczovL3BvcnRhbC5leGFtcGxlLmNvbS9hcHBzL2hyXCJcbk1XRy5TQU1MU2V0UmVsYXlTdGF0ZShyZWxheVN0YXRlKSIsICJuYW1lIjogIk1XRy5TQU1MU2V0UmVsYXlTdGF0ZSAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIFNBTUwgcmVsYXkgc3RhdGUgdmFsdWUgdG8gc2V0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIkFzc2lnbnMgYSBmdWxsIFVSTCB2YWx1ZSB0byBhIFVSTCBvYmplY3QgYW5kLCB3aGVuIGJvdW5kIHRvIHRyYW5zYWN0aW9uIFVSTCwgdXBkYXRlcyBkb3duc3RyZWFtIFVSTC1xdWVyeSBkZXBlbmRlbnQgc3RhdGUuIiwgImNvZGVfZXhhbXBsZSI6ICJNV0cuVVJMIGN1cnJlbnRVcmwgPSBNV0cuVXJsKClcbi8vIE9yaWdpbmFsIFVSTDogXCIgKyBjdXJyZW50VXJsXG5cblNUUklORyBuZXdVcmwgPSBcImh0dHBzOi8vd3d3LmV4YW1wbGUuY29tXCJcbk1XRy5TZXRSYXcoY3VycmVudFVybCwgbmV3VXJsKVxuLy8gTW9kaWZpZWQgVVJMOiBcIiArIGN1cnJlbnRVcmwiLCAibmFtZSI6ICJNV0cuU2V0IChNV0cuVVJMLCBTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBNV0cuVVJMYDogVGhlIFVSTCBvYmplY3QgdG8gbW9kaWZ5LlxuMi4gYFNUUklOR2A6IFRoZSBmdWxsIFVSTCBzdHJpbmcgdG8gYXNzaWduLiJ9LCB7ImRlc2NyaXB0aW9uIjogIlZhbGlkYXRlcyBhbiBhY3Rpdml0eSB0b2tlbiBhbmQgYXBwZW5kcyBpdCB0byB0aGUgY3VycmVudCBhcHBsaWNhdGlvbiBJRCBmb3IgYXBwbGljYXRpb24tY29udHJvbCBldmFsdWF0aW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiTVdHLlVSTCBjdXJyZW50VXJsID0gTVdHLlVybCgpXG5TVFJJTkcgdXJsU3RyaW5nID0gY3VycmVudFVybC5Ub1N0cmluZygpXG5cbklGIHVybFN0cmluZyBDT05UQUlOUyBcInNvY2lhbG1lZGlhLmNvbVwiIFRIRU4ge1xuICAgIE1XRy5TZXRBcHBsaWNhdGlvbkFjdGl2aXR5KFwiQnJvd3NpbmcgU29jaWFsIE1lZGlhXCIpXG59IEVMU0UgSUYgdXJsU3RyaW5nIENPTlRBSU5TIFwid29ya3BvcnRhbC5jb21cIiBUSEVOIHtcbiAgICBNV0cuU2V0QXBwbGljYXRpb25BY3Rpdml0eShcIkFjY2Vzc2luZyBXb3JrIFBvcnRhbFwiKVxufSBFTFNFIHtcbiAgICBNV0cuU2V0QXBwbGljYXRpb25BY3Rpdml0eShcIkdlbmVyYWwgQnJvd3NpbmdcIilcbn0iLCAibmFtZSI6ICJNV0cuU2V0QXBwbGljYXRpb25BY3Rpdml0eSAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogQWN0aXZpdHkgdG9rZW4gdG8gYXBwZW5kIHRvIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uIGlkZW50aWZpZXIuIE11c3QgY29uc2lzdCBvZiBsZXR0ZXJzLCBoeXBoZW5zLCBvciB1bmRlcnNjb3JlcyBhbmQgbXVzdCBub3Qgc3RhcnQgd2l0aCBhIGh5cGhlbiBvciB1bmRlcnNjb3JlLiJ9LCB7ImRlc2NyaXB0aW9uIjogIlJlcGxhY2VzIHJlcXVlc3QvcmVzcG9uc2UgYm9keSBidWZmZXIgZnJvbSBEQVRBUkVGIChvciBjbGVhcnMgaXQgd2hlbiBEQVRBUkVGIGlzIGVtcHR5KSBvbiBsYXN0LWNhbGwgcHJvY2Vzc2luZyBhbmQgbWFya3MgYm9keSBhcyBtb2RpZmllZC4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBhIG5ldyByZXNwb25zZSBvYmplY3Rcbk1XRy5SZXF1ZXN0UmVzcG9uc2UgcmVzcG9uc2UgPSBNV0cuUmVxdWVzdFJlc3BvbnNlKClcblxuLy8gRGVmaW5lIHRoZSBuZXcgYm9keSBjb250ZW50XG5TVFJJTkcgbmV3Qm9keUNvbnRlbnQgPSBcIjxodG1sPjxib2R5PjxoMT5BY2Nlc3MgRGVuaWVkPC9oMT48cD5Zb3VyIGFjY2VzcyB0byB0aGlzIHNpdGUgaGFzIGJlZW4gYmxvY2tlZC48L3A+PC9ib2R5PjwvaHRtbD5cIlxuXG4vLyBDb252ZXJ0IHRoZSBTVFJJTkcgdG8gYSBEQVRBUkVGXG5EQVRBUkVGIG5ld0JvZHlEYXRhUmVmID0gREFUQVJFRihuZXdCb2R5Q29udGVudClcblxuLy8gU2V0IHRoZSBuZXcgYm9keSBjb250ZW50IHRvIHRoZSByZXNwb25zZSBvYmplY3Rcbk1XRy5TZXRCb2R5KHJlc3BvbnNlLCBuZXdCb2R5RGF0YVJlZilcblxuLy8gQmxvY2sgdGhlIGNvbm5lY3Rpb24gYW5kIGRpc3BsYXkgdGhlIG1vZGlmaWVkIHJlc3BvbnNlXG5NV0cuQmxvY2soXCJDdXN0b20gQmxvY2sgUGFnZVwiKSIsICJuYW1lIjogIk1XRy5TZXRCb2R5IChNV0cuUmVxdWVzdFJlc3BvbnNlLCBEQVRBUkVGKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgTVdHLlJlcXVlc3RSZXNwb25zZWA6IFRoZSByZXF1ZXN0IG9yIHJlc3BvbnNlIG9iamVjdCB3aG9zZSBib2R5IGJ1ZmZlciBpcyByZXBsYWNlZC5cbjIuIGBEQVRBUkVGYDogVGhlIG5ldyBib2R5IGNvbnRlbnQuIElmIGVtcHR5LCB0aGUgYnVmZmVyIGlzIGNsZWFyZWQuIn0sIHsiZGVzY3JpcHRpb24iOiAiV3JpdGVzIHRoZSBjbGllbnQgSVAgdHJhbnNhY3Rpb24gcHJvcGVydHkgZnJvbSB0aGUgc3VwcGxpZWQgTmV0LklQIHZhbHVlLiIsICJjb2RlX2V4YW1wbGUiOiAiTmV0LklQIG5ld0NsaWVudElQID0gXCIxOTIuMTY4LjEuMTAwXCJcbk1XRy5TZXRDbGllbnRJUChuZXdDbGllbnRJUClcbi8vIENsaWVudCBJUCBoYXMgYmVlbiBzZXQgdG86IDE5Mi4xNjguMS4xMDAiLCAibmFtZSI6ICJNV0cuU2V0Q2xpZW50SVAgKE5ldC5JUCkiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE5ldC5JUGA6IFRoZSBjbGllbnQgSVAgYWRkcmVzcyB0byBzZXQgb24gdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24uIn0sIHsiZGVzY3JpcHRpb24iOiAiU2V0cyBIVFRQIHJlcXVlc3QgbWV0aG9kIHN0cmluZyBvbiB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiByZXF1ZXN0IG9iamVjdCB3aGVuIGlucHV0IG1ldGhvZCBpcyBub24tZW1wdHkuIiwgImNvZGVfZXhhbXBsZSI6ICJTVFJJTkcgY29tbWFuZE5hbWUgPSBcIkN1c3RvbUNvbW1hbmRcIlxuTVdHLlNldENvbW1hbmROYW1lKGNvbW1hbmROYW1lKVxuLy8gVGhlIGNvbW1hbmQgbmFtZSBoYXMgYmVlbiBzZXQgdG86IEN1c3RvbUNvbW1hbmQiLCAibmFtZSI6ICJNV0cuU2V0Q29tbWFuZE5hbWUgKFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBIVFRQIG1ldGhvZCBuYW1lIHRvIGFzc2lnbiB0byB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiByZXF1ZXN0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgdGhlIG1lc3NhZ2UgbGFuZ3VhZ2UgcHJvcGVydHkgdXNlZCBmb3IgZW5kLXVzZXIvYmxvY2sgbWVzc2FnZSBsb2NhbGl6YXRpb24uIiwgImNvZGVfZXhhbXBsZSI6ICJTVFJJTkcgdXNlckxhbmd1YWdlID0gXCJlblwiIC8vIFNldCB0aGUgZGVzaXJlZCBsYW5ndWFnZSBjb2RlLCBlLmcuLCBcImVuXCIgZm9yIEVuZ2xpc2gsIFwiZXNcIiBmb3IgU3BhbmlzaCwgZXRjLlxuXG5NV0cuU2V0RW5kdXNlck1lc3NhZ2VMYW5ndWFnZSh1c2VyTGFuZ3VhZ2UpXG5cbi8vIEVuZC11c2VyIG1lc3NhZ2UgbGFuZ3VhZ2Ugc2V0IHRvOiBcIiArIHVzZXJMYW5ndWFnZVxuXG4vLyBBZGRpdGlvbmFsIGxvZ2ljIGNhbiBiZSBhZGRlZCBoZXJlIiwgIm5hbWUiOiAiTVdHLlNldEVuZHVzZXJNZXNzYWdlTGFuZ3VhZ2UgKFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBsYW5ndWFnZSBjb2RlIHRvIHVzZSBmb3IgZW5kLXVzZXIgbWVzc2FnZSBsb2NhbGl6YXRpb24gKGZvciBleGFtcGxlOiBgZW5gLCBgZGVgLCBgamFgKS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJBc3NpZ25zIHRoZSBlcnJvciBoYW5kbGVyIHRvIGludm9rZSB3aGVuIGFuIGV4ZWN1dGlvbiBlcnJvciBvY2N1cnMgaW4gdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24uIiwgImNvZGVfZXhhbXBsZSI6ICJST1VUSU5FIEV4YW1wbGUgT04gQU5ZIHtcbiAgU1RSSU5HIGhhbmRsZXJOYW1lID0gXCJ1cGxvYWRfc2Nhbl9mYWxsYmFja1wiXG4gIE1XRy5TZXRFcnJvckhhbmRsZXIoaGFuZGxlck5hbWUpXG4gIENBTEwgXCJQcm9jZXNzVXBsb2FkXCJcbn0iLCAibmFtZSI6ICJNV0cuU2V0RXJyb3JIYW5kbGVyIChTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgZXJyb3IgaGFuZGxlciB0byBpbnZva2UuIn0sIHsiZGVzY3JpcHRpb24iOiAiUmVwbGFjZXMgdGhlIGhvc3QgY29tcG9uZW50IG9mIGEgVVJMIG9iamVjdCBhbmQgdXBkYXRlcyB0cmFuc2FjdGlvbiBVUkwvcXVlcnkgc3RhdGUgd2hlbiB0aGUgVVJMIGJlbG9uZ3MgdG8gdGhlIGFjdGl2ZSB0cmFuc2FjdGlvbi4iLCAiY29kZV9leGFtcGxlIjogIi8vIEdldCB0aGUgY3VycmVudCBVUkxcbk1XRy5VUkwgY3VycmVudFVybCA9IE1XRy5VcmwoKVxuXG4vLyBEZWZpbmUgdGhlIG5ldyBob3N0XG5TVFJJTkcgbmV3SG9zdCA9IFwibmV3aG9zdC5leGFtcGxlLmNvbVwiXG5cbi8vIFNldCB0aGUgaG9zdCBvZiB0aGUgY3VycmVudCBVUkwgdG8gdGhlIG5ldyBob3N0XG5NV0cuU2V0SG9zdChjdXJyZW50VXJsLCBuZXdIb3N0KVxuXG4vLyBUaGUgaG9zdCBvZiB0aGUgVVJMIGhhcyBiZWVuIGNoYW5nZWQgdG86IG5ld0hvc3RcblxuLy8gQWxsb3cgdGhlIG1vZGlmaWVkIHJlcXVlc3QgdG8gcHJvY2VlZFxuTVdHLkFsbG93KFwiSG9zdCBtb2RpZmllZCBzdWNjZXNzZnVsbHlcIikiLCAibmFtZSI6ICJNV0cuU2V0SG9zdCAoTVdHLlVSTCwgU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgTVdHLlVSTGA6IFRoZSBVUkwgb2JqZWN0IHRvIG1vZGlmeS5cbjIuIGBTVFJJTkdgOiBUaGUgaG9zdCB2YWx1ZSB0byBzZXQuIn0sIHsiZGVzY3JpcHRpb24iOiAiU2V0cyB0aGUgSFRUUCBzdGF0dXMgY29kZSBvbiB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiByZXNwb25zZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIEV4YW1wbGUgY29uZGl0aW9uOiBDaGVjayBpZiB0aGUgVVJMIGNvbnRhaW5zIGEgc3BlY2lmaWMgcGF0aFxuTVdHLlVSTCB1cmwgPSBNV0cuVXJsKClcblNUUklORyBwYXRoID0gdXJsLkdldFBhdGgoKVxuXG5JRiBwYXRoID09IFwiL2ZvcmJpZGRlblwiIFRIRU4ge1xuICAgIC8vIFNldCB0aGUgSFRUUCBzdGF0dXMgY29kZSB0byA0MDMgRm9yYmlkZGVuXG4gICAgTVdHLlNldEhUVFBTdGF0dXNDb2RlKDQwMylcbiAgICAvLyBTZXQgSFRUUCBzdGF0dXMgY29kZSB0byA0MDMgRm9yYmlkZGVuIGZvciBwYXRoOiBcIiArIHBhdGhcbn0gRUxTRSB7XG4gICAgLy8gU2V0IHRoZSBIVFRQIHN0YXR1cyBjb2RlIHRvIDIwMCBPS1xuICAgIE1XRy5TZXRIVFRQU3RhdHVzQ29kZSgyMDApXG4gICAgLy8gU2V0IEhUVFAgc3RhdHVzIGNvZGUgdG8gMjAwIE9LIGZvciBwYXRoOiBcIiArIHBhdGhcbn0iLCAibmFtZSI6ICJNV0cuU2V0SFRUUFN0YXR1c0NvZGUgKE5VTUJFUikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE5VTUJFUmA6IFRoZSBIVFRQIHN0YXR1cyBjb2RlIHRvIGFzc2lnbiB0byB0aGUgcmVzcG9uc2UuIn0sIHsiZGVzY3JpcHRpb24iOiAiQXBwbGllcyBHVEkgKFVSTCBjYXRlZ29yaXphdGlvbikgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24uIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBDcmVhdGUgYSBuZXcgVVJMIGNhdGVnb3JpemF0aW9uIHNldHRpbmcgb2JqZWN0XG5NV0cuVXJsQ2F0ZWdvcml6YXRpb25TZXR0aW5nIHVybENhdGVnb3JpemF0aW9uU2V0dGluZyA9IE1XRy5VcmxDYXRlZ29yaXphdGlvblNldHRpbmcoKVxuXG4vLyBDb25maWd1cmUgdGhlIFVSTCBjYXRlZ29yaXphdGlvbiBzZXR0aW5nIGFzIG5lZWRlZFxudXJsQ2F0ZWdvcml6YXRpb25TZXR0aW5nLmVuYWJsZUNhdGVnb3JpemF0aW9uID0gVFJVRVxudXJsQ2F0ZWdvcml6YXRpb25TZXR0aW5nLmVuYWJsZVJlcHV0YXRpb24gPSBUUlVFXG51cmxDYXRlZ29yaXphdGlvblNldHRpbmcucmVwdXRhdGlvblRocmVzaG9sZCA9IDUwXG5cbi8vIFNldCB0aGUgaW50ZXJuYWwgR1RJIHNldHRpbmdzIHdpdGggdGhlIGNvbmZpZ3VyZWQgVVJMIGNhdGVnb3JpemF0aW9uIHNldHRpbmdcbk1XRy5TZXRJbnRlcm5hbEdUSVNldHRpbmdzKHVybENhdGVnb3JpemF0aW9uU2V0dGluZylcblxuLy8gSW50ZXJuYWwgR1RJIHNldHRpbmdzIGhhdmUgYmVlbiBzZXQuXG5cbi8vIENvbnRpbnVlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3Rcbk1XRy5BbGxvdyhcIkdUSSBzZXR0aW5ncyBhcHBsaWVkLlwiKSIsICJuYW1lIjogIk1XRy5TZXRJbnRlcm5hbEdUSVNldHRpbmdzIChNV0cuVXJsQ2F0ZWdvcml6YXRpb25TZXR0aW5nKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgTVdHLlVybENhdGVnb3JpemF0aW9uU2V0dGluZ2A6IFRoZSBHVEkgY29uZmlndXJhdGlvbiBvYmplY3QgdG8gYXBwbHkuIn0sIHsiZGVzY3JpcHRpb24iOiAiQ29uZmlndXJlcyB0aGUgbmV4dC1ob3AgcHJveHkgbGlzdCBmcm9tIHRoZSBwcm92aWRlZCBKU09OIGFycmF5IG9mIHByb3h5IGVudHJpZXMuIiwgImNvZGVfZXhhbXBsZSI6ICJKU09OIG5leHRIb3BzID0gSlNPTi5DcmVhdGVFbXB0eUFycmF5XG5KU09OIHByaW1hcnkgPSBKU09OLkNyZWF0ZUVtcHR5T2JqZWN0XG5KU09OLlNldChwcmltYXJ5LCBcImhvc3RcIiwgXCJwcm94eTEuY29ycC5leGFtcGxlLmNvbVwiKVxuSlNPTi5TZXQocHJpbWFyeSwgXCJwb3J0XCIsIDg0NDMpXG5KU09OLlNldChwcmltYXJ5LCBcInNuaHBfY25cIiwgXCJwcm94eTEuY29ycC5leGFtcGxlLmNvbVwiKVxuSlNPTi5BcnJheUFwcGVuZChuZXh0SG9wcywgcHJpbWFyeSlcbk1XRy5TZXROZXh0SG9wQWRkcmVzc2VzKG5leHRIb3BzLCBUUlVFKSIsICJuYW1lIjogIk1XRy5TZXROZXh0SG9wQWRkcmVzc2VzIChKU09OLCBCT09MRUFOKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgSlNPTmA6IEFycmF5IG9mIHByb3h5IGVudHJpZXMuIEVhY2ggZW50cnkgcmVxdWlyZXMgYSBgaG9zdGAga2V5IGFuZCBtYXkgaW5jbHVkZSBvcHRpb25hbCBgcG9ydGAgYW5kIGBzbmhwX2NuYCBmaWVsZHMuXG4yLiBgQk9PTEVBTmA6IFdoZW4gYFRSVUVgLCB1c2VzIHNlY3VyZSBjb25uZWN0aW9uIGRlZmF1bHRzIChwb3J0IDgwODEpOyB3aGVuIGBGQUxTRWAsIHVzZXMgbm9uLXNlY3VyZSBkZWZhdWx0cyAocG9ydCA4MDgwKS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJBcHBsaWVzIGEgbmV4dC1ob3AgcHJveHkgZmlsdGVyIGNvbmZpZ3VyYXRpb24gdG8gdGhlIHRyYW5zYWN0aW9uIGFuZCB1cGRhdGVzIG5leHQtaG9wIGNvbm5lY3QgYmVoYXZpb3IgZnJvbSBwcm94eS1zdHlsZSBzZXR0aW5ncy4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBhIG5ldyBNV0cuTmV4dEhvcFByb3h5U2V0dGluZyBvYmplY3Rcbk1XRy5OZXh0SG9wUHJveHlTZXR0aW5nIHByb3h5U2V0dGluZyA9IE1XRy5OZXh0SG9wUHJveHlTZXR0aW5nKClcblxuLy8gQ29uZmlndXJlIHRoZSBwcm94eSBzZXR0aW5nc1xucHJveHlTZXR0aW5nLkhvc3QgPSBcInByb3h5LmV4YW1wbGUuY29tXCJcbnByb3h5U2V0dGluZy5Qb3J0ID0gODA4MFxucHJveHlTZXR0aW5nLlVzZXJuYW1lID0gXCJwcm94eVVzZXJcIlxucHJveHlTZXR0aW5nLlBhc3N3b3JkID0gXCJwcm94eVBhc3NcIlxuXG4vLyBBcHBseSB0aGUgbmV4dCBob3AgcHJveHkgc2V0dGluZ1xuTVdHLlNldE5leHRIb3BQcm94eShwcm94eVNldHRpbmcpXG5cbi8vIExvZyB0aGUgYWN0aW9uXG4vLyBOZXh0IGhvcCBwcm94eSBoYXMgYmVlbiBzZXQgdG8gcHJveHkuZXhhbXBsZS5jb206ODA4MCIsICJuYW1lIjogIk1XRy5TZXROZXh0SG9wUHJveHkgKE1XRy5OZXh0SG9wUHJveHlTZXR0aW5nKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgTVdHLk5leHRIb3BQcm94eVNldHRpbmdgOiBUaGUgbmV4dC1ob3AgcHJveHkgY29uZmlndXJhdGlvbiB0byBhcHBseSB0byB0aGUgY3VycmVudCB0cmFuc2FjdGlvbi4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIHRoZSBgTVdHLkludGVybmFsT3JpZ2luYWxVUkxgIHByb3BlcnR5IG9uIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiU1RSSU5HIG9yaWdpbmFsVXJsID0gXCJodHRwOi8vaW50ZXJuYWwuZXhhbXBsZS5jb21cIlxuTVdHLlNldE9yaWdpbmFsSW50ZXJuYWxVcmwob3JpZ2luYWxVcmwpXG4vLyBPcmlnaW5hbCBpbnRlcm5hbCBVUkwgaGFzIGJlZW4gc2V0IHRvOiBcIiArIG9yaWdpbmFsVXJsIiwgIm5hbWUiOiAiTVdHLlNldE9yaWdpbmFsSW50ZXJuYWxVcmwgKFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBvcmlnaW5hbCBpbnRlcm5hbCBVUkwgc3RyaW5nIHRvIHN0b3JlIG9uIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgYSBxdWVyeSBwYXJhbWV0ZXIgb24gdGhlIGFjdGl2ZSB0cmFuc2FjdGlvbiBVUkwuIFRoZSBgTVdHLlVSTGAgYXJndW1lbnQgaXMgaWdub3JlZDsgdGhlIHRyYW5zYWN0aW9uIFVSTCBpcyBhbHdheXMgbW9kaWZpZWQuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBHZXQgdGhlIGN1cnJlbnQgVVJMIG9iamVjdFxuTVdHLlVSTCBjdXJyZW50VXJsID0gTVdHLlVybCgpXG5cbi8vIEFkZCBhIG5ldyBwYXJhbWV0ZXIgdG8gdGhlIFVSTFxuTVdHLlNldFBhcmFtZXRlcihjdXJyZW50VXJsLCBcIm5ld0tleVwiLCBcIm5ld1ZhbHVlXCIpXG5cbi8vIE1vZGlmaWVkIFVSTDogXCIgKyBjdXJyZW50VXJsXG4vLyBBbGxvdyB0aGUgcmVxdWVzdCB0byBwcm9jZWVkIHdpdGggdGhlIG1vZGlmaWVkIFVSTFxuTVdHLkFsbG93KFwiVVJMIHBhcmFtZXRlcnMgbW9kaWZpZWRcIikiLCAibmFtZSI6ICJNV0cuU2V0UGFyYW1ldGVyIChNV0cuVVJMLCBTVFJJTkcsIFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5VUkxgOiBJZ25vcmVkLiBUaGUgYWN0aXZlIHRyYW5zYWN0aW9uIFVSTCBpcyBhbHdheXMgdXNlZCByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZSBzdXBwbGllZC5cbjIuIGBTVFJJTkdgOiBUaGUgcXVlcnkgcGFyYW1ldGVyIGtleSB0byBzZXQuXG4zLiBgU1RSSU5HYDogVGhlIHF1ZXJ5IHBhcmFtZXRlciB2YWx1ZSB0byBhc3NpZ24uIn0sIHsiZGVzY3JpcHRpb24iOiAiU2V0cyBhbiBpbnRlZ2VyLXZhbHVlZCB0cmFuc2FjdGlvbiBwcm9wZXJ0eSBieSBuYW1lLiIsICJjb2RlX2V4YW1wbGUiOiAiU1RSSU5HIHByb3BlcnR5TmFtZSA9IFwiZXhhbXBsZVByb3BlcnR5XCJcbk5VTUJFUiBwcm9wZXJ0eVZhbHVlID0gMTAwXG5cbi8vIFNldCB0aGUgcHJvcGVydHkgdmFsdWVcbk1XRy5TZXRQcm9wZXJ0eUxvbmdWYWx1ZShwcm9wZXJ0eU5hbWUsIHByb3BlcnR5VmFsdWUpXG4gICAgXG4vLyBQcm9wZXJ0eSBcImV4YW1wbGVQcm9wZXJ0eVwiIHNldCB0byB2YWx1ZSAxMDAiLCAibmFtZSI6ICJNV0cuU2V0UHJvcGVydHlMb25nVmFsdWUgKFNUUklORywgTlVNQkVSKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIHByb3BlcnR5IG5hbWUgdG8gc2V0LlxuMi4gYE5VTUJFUmA6IFRoZSBpbnRlZ2VyIHZhbHVlIHRvIGFzc2lnbi4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIHRoZSBzcGVjaWZpZWQgdHJhbnNhY3Rpb24gcHJvcGVydHkgdG8gYSBCT09MRUFOIHZhbHVlIHZpYSB0aGUgcHJvcGVydHkgZGlzcGF0Y2hlci4iLCAiY29kZV9leGFtcGxlIjogIi8vIERlZmluZSB0aGUgcHJvcGVydHkgbmFtZSBhbmQgdGhlIGJvb2xlYW4gdmFsdWUgeW91IHdhbnQgdG8gc2V0XG5TVFJJTkcgcHJvcGVydHlOYW1lID0gXCJFbmFibGVDb250ZW50SW5zcGVjdGlvblwiO1xuQk9PTEVBTiBwcm9wZXJ0eVZhbHVlID0gVFJVRTtcblxuLy8gU2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSB1c2luZyBNV0cuU2V0UHJvcGVydHlWYWx1ZVxuTVdHLlNldFByb3BlcnR5VmFsdWUocHJvcGVydHlOYW1lLCBwcm9wZXJ0eVZhbHVlKTtcblxuLy8gT3B0aW9uYWxseSwgeW91IGNhbiBsb2cgdGhlIGFjdGlvbiBmb3IgZGVidWdnaW5nIHB1cnBvc2VzXG4vLyBQcm9wZXJ0eSBcIiArIHByb3BlcnR5TmFtZSArIFwiIHNldCB0byBcIiArIHByb3BlcnR5VmFsdWUiLCAibmFtZSI6ICJNV0cuU2V0UHJvcGVydHlWYWx1ZSAoU1RSSU5HLCBCT09MRUFOKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIHByb3BlcnR5IG5hbWUgdG8gc2V0LlxuMi4gYEJPT0xFQU5gOiBUaGUgYm9vbGVhbiB2YWx1ZSB0byBhc3NpZ24uIn0sIHsiZGVzY3JpcHRpb24iOiAiU2V0cyB0aGUgc3BlY2lmaWVkIHRyYW5zYWN0aW9uIHByb3BlcnR5IHRvIGEgTmV0LklQIHZhbHVlIHZpYSB0aGUgcHJvcGVydHkgZGlzcGF0Y2hlci4iLCAiY29kZV9leGFtcGxlIjogIlZFQ1RPUjxOZXQuSVA+IGlwQWRkcmVzc2VzID0gTmV0LklQKFwiMTkyLjE2OC4xLjFcIiksIE5ldC5JUChcIjE5Mi4xNjguMS4yXCIpXG5NV0cuU2V0VXNlckRlZmluZWRWYXIoXCJVc2VyRGVmaW5lZElQTGlzdFwiLCBpcEFkZHJlc3Nlcylcbi8vIFVzZXItZGVmaW5lZCBJUCBsaXN0IGhhcyBiZWVuIHNldC4iLCAibmFtZSI6ICJNV0cuU2V0UHJvcGVydHlWYWx1ZSAoU1RSSU5HLCBOZXQuSVApIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgcHJvcGVydHkgbmFtZSB0byBzZXQuXG4yLiBgTmV0LklQYDogVGhlIElQIGFkZHJlc3MgdmFsdWUgdG8gYXNzaWduLiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgdGhlIHNwZWNpZmllZCB0cmFuc2FjdGlvbiBwcm9wZXJ0eSB0byBhIE5VTUJFUiB2YWx1ZSB2aWEgdGhlIHByb3BlcnR5IGRpc3BhdGNoZXIuIiwgImNvZGVfZXhhbXBsZSI6ICJTVFJJTkcgcHJvcGVydHlOYW1lID0gXCJleGFtcGxlUHJvcGVydHlcIlxuTlVNQkVSIHByb3BlcnR5VmFsdWUgPSA0MlxuXG4vLyBTZXQgdGhlIHByb3BlcnR5IHZhbHVlXG5NV0cuU2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eU5hbWUsIHByb3BlcnR5VmFsdWUpXG5cbi8vIFByb3BlcnR5IFwiZXhhbXBsZVByb3BlcnR5XCIgc2V0IHRvIHZhbHVlIDQyIiwgIm5hbWUiOiAiTVdHLlNldFByb3BlcnR5VmFsdWUgKFNUUklORywgTlVNQkVSKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIHByb3BlcnR5IG5hbWUgdG8gc2V0LlxuMi4gYE5VTUJFUmA6IFRoZSBudW1lcmljIHZhbHVlIHRvIGFzc2lnbi4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIHRoZSBzcGVjaWZpZWQgdHJhbnNhY3Rpb24gcHJvcGVydHkgdG8gYSBTVFJJTkcgdmFsdWUgdmlhIHRoZSBwcm9wZXJ0eSBkaXNwYXRjaGVyLiIsICJjb2RlX2V4YW1wbGUiOiAiU1RSSU5HIHByb3BlcnR5TmFtZSA9IFwiVXNlckNhdGVnb3J5XCJcblNUUklORyBwcm9wZXJ0eVZhbHVlID0gXCJQcmVtaXVtVXNlclwiXG5cbk1XRy5TZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5TmFtZSwgcHJvcGVydHlWYWx1ZSlcblxuLy8gUHJvcGVydHkgVXNlckNhdGVnb3J5IHNldCB0byBQcmVtaXVtVXNlciIsICJuYW1lIjogIk1XRy5TZXRQcm9wZXJ0eVZhbHVlIChTVFJJTkcsIFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBwcm9wZXJ0eSBuYW1lIHRvIHNldC5cbjIuIGBTVFJJTkdgOiBUaGUgc3RyaW5nIHZhbHVlIHRvIGFzc2lnbi4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIHRoZSBzcGVjaWZpZWQgdHJhbnNhY3Rpb24gcHJvcGVydHkgdG8gYSBTVFJJTkcgbGlzdCB2YWx1ZSB2aWEgdGhlIHByb3BlcnR5IGRpc3BhdGNoZXIuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBEZWZpbmUgdGhlIHByb3BlcnR5IG5hbWUgYW5kIHRoZSB2YWx1ZSB0byBzZXRcblNUUklORyBwcm9wZXJ0eU5hbWUgPSBcIkN1c3RvbVByb3BlcnR5XCJcblZFQ1RPUjxTVFJJTkc+IHByb3BlcnR5VmFsdWUgPSBcIlZhbHVlMVwiLCBcIlZhbHVlMlwiLCBcIlZhbHVlM1wiXG5cbi8vIFNldCB0aGUgcHJvcGVydHkgdmFsdWVcbk1XRy5TZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5TmFtZSwgcHJvcGVydHlWYWx1ZSlcblxuLy8gUHJvcGVydHkgXCIgKyBwcm9wZXJ0eU5hbWUgKyBcIiBoYXMgYmVlbiBzZXQgdG86IFwiICsgcHJvcGVydHlWYWx1ZSIsICJuYW1lIjogIk1XRy5TZXRQcm9wZXJ0eVZhbHVlIChTVFJJTkcsIFZFQ1RPUjxTVFJJTkc+KSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIHByb3BlcnR5IG5hbWUgdG8gc2V0LlxuMi4gYFZFQ1RPUjxTVFJJTkc+YDogVGhlIGxpc3Qgb2Ygc3RyaW5nIHZhbHVlcyB0byBhc3NpZ24uIn0sIHsiZGVzY3JpcHRpb24iOiAiQXNzaWducyByYXcgVVJMIHRleHQgd2l0aG91dCBub3JtYWxpemF0aW9uL3BhcnNpbmcgYW5kIHVwZGF0ZXMgdHJhbnNhY3Rpb24gVVJML3F1ZXJ5IHN0YXRlIHdoZW4gYm91bmQgdG8gYWN0aXZlIHRyYW5zYWN0aW9uIFVSTC4iLCAiY29kZV9leGFtcGxlIjogIk1XRy5VUkwgY3VycmVudFVybCA9IE1XRy5VcmwoKVxuU1RSSU5HIG5ld1VybCA9IFwiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb21cIlxuXG5NV0cuU2V0UmF3KGN1cnJlbnRVcmwsIG5ld1VybClcblxuLy8gVVJMIGhhcyBiZWVuIG1vZGlmaWVkIHRvOiBodHRwczovL3d3dy5leGFtcGxlLmNvbVxuTVdHLkFsbG93KFwiVVJMIE1vZGlmaWNhdGlvbiBSdWxlXCIpIiwgIm5hbWUiOiAiTVdHLlNldFJhdyAoTVdHLlVSTCwgU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgTVdHLlVSTGA6IFRoZSBVUkwgb2JqZWN0IHRvIG1vZGlmeS5cbjIuIGBTVFJJTkdgOiBUaGUgcmF3IFVSTCBzdHJpbmcgdG8gYXNzaWduIHdpdGhvdXQgbm9ybWFsaXphdGlvbiBvciBwYXJzaW5nLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkFwcGxpZXMgZm9yd2FyZC1wcm94eSBTU0wgY2xpZW50IGNvbnRleHQgYW5kIHNldHMgdHJ1c3QtYW5jaG9yIGRhdGEgZnJvbSBDQUNoYWluL0NBQ2VydCBmb3IgVExTIGhhbmRsaW5nLiIsICJjb2RlX2V4YW1wbGUiOiAiTVdHLkNsaWVudENvbnRleHRGd2RQcm94eVNldHRpbmcgY2xpZW50Q29udGV4dFNldHRpbmdcbi8vIENvbmZpZ3VyZSB0aGUgY2xpZW50Q29udGV4dFNldHRpbmcgYXMgbmVlZGVkXG4vLyBGb3IgZXhhbXBsZSwgc2V0dGluZyBzb21lIGh5cG90aGV0aWNhbCBwcm9wZXJ0aWVzXG5jbGllbnRDb250ZXh0U2V0dGluZy5zb21lUHJvcGVydHkgPSBcInNvbWVWYWx1ZVwiXG5jbGllbnRDb250ZXh0U2V0dGluZy5hbm90aGVyUHJvcGVydHkgPSBUUlVFXG5cbi8vIEFwcGx5IHRoZSBjbGllbnQgY29udGV4dCBmb3J3YXJkIHByb3h5IHNldHRpbmdcbk1XRy5TZXRTU0xDbGllbnRDb250ZXh0RndkUHJveHkoY2xpZW50Q29udGV4dFNldHRpbmcpXG5cbi8vIFNTTCBDbGllbnQgQ29udGV4dCBGb3J3YXJkIFByb3h5IHNldHRpbmcgYXBwbGllZC4iLCAibmFtZSI6ICJNV0cuU2V0U1NMQ2xpZW50Q29udGV4dEZ3ZFByb3h5IChNV0cuQ2xpZW50Q29udGV4dEZ3ZFByb3h5U2V0dGluZykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5DbGllbnRDb250ZXh0RndkUHJveHlTZXR0aW5nYDogVGhlIGZvcndhcmQtcHJveHkgU1NMIGNsaWVudCBjb250ZXh0IGNvbmZpZ3VyYXRpb24gdG8gYXBwbHkuIn0sIHsiZGVzY3JpcHRpb24iOiAiQXBwbGllcyByZXZlcnNlLXByb3h5IFNTTCBjbGllbnQgY29udGV4dCBjb25maWd1cmF0aW9uIHRvIHRoZSBhY3RpdmUgdHJhbnNhY3Rpb24gc28gVExTIGhhbmRsaW5nIGNhbiB1c2UgdGhlIGNvbmZpZ3VyZWQgcmV2ZXJzZS1wcm94eSBjZXJ0aWZpY2F0ZS9jb250ZXh0IG1hcHBpbmcuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBDcmVhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTVdHLkNsaWVudENvbnRleHRSZXZQcm94eVNldHRpbmcgb2JqZWN0XG5NV0cuQ2xpZW50Q29udGV4dFJldlByb3h5U2V0dGluZyByZXZQcm94eVNldHRpbmcgPSBNV0cuQ2xpZW50Q29udGV4dFJldlByb3h5U2V0dGluZygpXG5cbi8vIFNldCB2YXJpb3VzIHByb3BlcnRpZXMgb2YgdGhlIHJldlByb3h5U2V0dGluZyBvYmplY3QgYXMgbmVlZGVkXG5yZXZQcm94eVNldHRpbmcuc29tZVByb3BlcnR5ID0gXCJzb21lVmFsdWVcIlxucmV2UHJveHlTZXR0aW5nLmFub3RoZXJQcm9wZXJ0eSA9IFwiYW5vdGhlclZhbHVlXCJcblxuLy8gU2V0IHRoZSBTU0wgY2xpZW50IGNvbnRleHQgZm9yIHRoZSByZXZlcnNlIHByb3h5XG5NV0cuU2V0U1NMQ2xpZW50Q29udGV4dFJldlByb3h5KHJldlByb3h5U2V0dGluZylcblxuLy8gU1NMIGNsaWVudCBjb250ZXh0IGZvciByZXZlcnNlIHByb3h5IGhhcyBiZWVuIHNldC4iLCAibmFtZSI6ICJNV0cuU2V0U1NMQ2xpZW50Q29udGV4dFJldlByb3h5IChNV0cuQ2xpZW50Q29udGV4dFJldlByb3h5U2V0dGluZykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE1XRy5DbGllbnRDb250ZXh0UmV2UHJveHlTZXR0aW5nYDogVGhlIHJldmVyc2UtcHJveHkgU1NMIGNsaWVudCBjb250ZXh0IGNvbmZpZ3VyYXRpb24gdG8gYXBwbHkuIn0sIHsiZGVzY3JpcHRpb24iOiAiQ29udHJvbHMgVExTIGhhbmRzaGFrZSBkaXJlY3Rpb246IHdoZW4gYFRSVUVgIHRoZSBwcm94eSBhY3RzIGFzIGFuIEhUVFBTIHdlYiBzZXJ2ZXI7IHdoZW4gYEZBTFNFYCBpdCBiZWhhdmVzIGFzIGFuIEhUVFBTIHByb3h5LiIsICJjb2RlX2V4YW1wbGUiOiAiQk9PTEVBTiBlbmFibGVTU0xIYW5kbGluZyA9IFRSVUUgIC8vIFNldCB0byBUUlVFIHRvIGVuYWJsZSBTU0wgaGFuZGxpbmcgYXMgYSB3ZWIgc2VydmVyXG5cbk1XRy5TZXRTU0xIYW5kbGluZ0FzV2ViU2VydmVyKGVuYWJsZVNTTEhhbmRsaW5nKVxuXG4vLyBTU0wgSGFuZGxpbmcgYXMgV2ViIFNlcnZlcjogXCIgKyAoZW5hYmxlU1NMSGFuZGxpbmcgPyBcIkVuYWJsZWRcIiA6IFwiRGlzYWJsZWRcIikiLCAibmFtZSI6ICJNV0cuU2V0U1NMSGFuZGxpbmdBc1dlYlNlcnZlciAoQk9PTEVBTikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYEJPT0xFQU5gOiBXaGVuIGBUUlVFYCwgdGhlIHByb3h5IHBlcmZvcm1zIHRoZSBjbGllbnQgVExTIGhhbmRzaGFrZSBiZWZvcmUgY29ubmVjdGluZyB0byB0aGUgc2VydmVyOyB3aGVuIGBGQUxTRWAsIGl0IGNvbm5lY3RzIHRvIHRoZSBzZXJ2ZXIgZmlyc3QuIn0sIHsiZGVzY3JpcHRpb24iOiAiTWFya3MgdHJhbnNhY3Rpb24gdXNlci1kZWZpbmVkIHZhcmlhYmxlcyBhcyBpbml0aWFsaXplZCBpbiB0cmFuc2FjdGlvbiBzdGF0ZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIFBlcmZvcm0gc29tZSB1c2VyLWRlZmluZWQgaW5pdGlhbGl6YXRpb24gdGFza3Ncbi8vIFN0YXJ0aW5nIHVzZXItZGVmaW5lZCBpbml0aWFsaXphdGlvblxuXG4vLyBFeGFtcGxlIGluaXRpYWxpemF0aW9uIHRhc2tzXG5TVFJJTkcgaW5pdE1lc3NhZ2UgPSBcIkluaXRpYWxpemF0aW9uIGNvbXBsZXRlXCJcbi8vIGluaXRNZXNzYWdlXG5cbi8vIEluZGljYXRlIHRoYXQgdXNlci1kZWZpbmVkIGluaXRpYWxpemF0aW9uIGlzIGRvbmVcbk1XRy5TZXRVc2VyRGVmaW5lZEluaXREb25lKClcblxuLy8gVXNlci1kZWZpbmVkIGluaXRpYWxpemF0aW9uIGZsYWcgc2V0IiwgIm5hbWUiOiAiTVdHLlNldFVzZXJEZWZpbmVkSW5pdERvbmUgKCkiLCAicGFyYW1ldGVyX2Rlc2MiOiAiKk4vQSoifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIGEgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIGEgYEJPT0xFQU5gIHZhbHVlLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRXhhbXBsZSBjb25kaXRpb246IENoZWNrIGlmIHRoZSBjdXJyZW50IFVSTCBjb250YWlucyBcImV4YW1wbGUuY29tXCJcbk1XRy5VUkwgY3VycmVudFVybCA9IE1XRy5VcmwoKVxuQk9PTEVBTiBpc0V4YW1wbGVEb21haW4gPSBjdXJyZW50VXJsIENPTlRBSU5TIFwiZXhhbXBsZS5jb21cIlxuXG4vLyBTZXQgYSB1c2VyLWRlZmluZWQgdmFyaWFibGUgXCJJc0V4YW1wbGVEb21haW5cIiBiYXNlZCBvbiB0aGUgY29uZGl0aW9uXG5NV0cuU2V0VXNlckRlZmluZWRWYXIoXCJJc0V4YW1wbGVEb21haW5cIiwgaXNFeGFtcGxlRG9tYWluKVxuXG4vLyBJc0V4YW1wbGVEb21haW4gc2V0IHRvOiBcIiArIGlzRXhhbXBsZURvbWFpbiIsICJuYW1lIjogIk1XRy5TZXRVc2VyRGVmaW5lZFZhciAoU1RSSU5HLCBCT09MRUFOKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIG5hbWUgb2YgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBzZXQuXG4yLiBgQk9PTEVBTmA6IFRoZSBib29sZWFuIHZhbHVlIHRvIHN0b3JlLiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgYSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdG8gYSBgSlNPTmAgdmFsdWUuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBEZWZpbmUgdGhlIG5hbWUgb2YgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZVxuU1RSSU5HIHZhcmlhYmxlTmFtZSA9IFwiY3VzdG9tVmFyaWFibGVcIlxuXG4vLyBDcmVhdGUgYSBKU09OIG9iamVjdCB0byBhc3NpZ24gdG8gdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZVxuSlNPTiBqc29uVmFsdWUgPSB7XG4gICAgXCJrZXkxXCI6IFwidmFsdWUxXCIsXG4gICAgXCJrZXkyXCI6IDEyMyxcbiAgICBcImtleTNcIjogVFJVRVxufVxuXG4vLyBTZXQgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB3aXRoIHRoZSBKU09OIHZhbHVlXG5NV0cuU2V0VXNlckRlZmluZWRWYXIodmFyaWFibGVOYW1lLCBqc29uVmFsdWUpXG5cbi8vIFVzZXItZGVmaW5lZCB2YXJpYWJsZSAnY3VzdG9tVmFyaWFibGUnIGhhcyBiZWVuIHNldCB3aXRoIHRoZSB2YWx1ZToge1wia2V5MVwiOiBcInZhbHVlMVwiLCBcImtleTJcIjogMTIzLCBcImtleTNcIjogVFJVRX0iLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgSlNPTikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBuYW1lIG9mIHRoZSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdG8gc2V0LlxuMi4gYEpTT05gOiBUaGUgSlNPTiB2YWx1ZSB0byBzdG9yZS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIGEgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIGEgYE1BUDxTVFJJTkcsTVdHLkludGVybmFsVmFyaWFudD5gIHZhbHVlLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIGEgTUFQIHRvIGhvbGQgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZSdzIHZhbHVlXG5NQVA8U1RSSU5HLCBNV0cuSW50ZXJuYWxWYXJpYW50PiB1c2VyRGVmaW5lZFZhbHVlXG5cbi8vIFNldCBzb21lIGtleS12YWx1ZSBwYWlycyBpbiB0aGUgTUFQXG51c2VyRGVmaW5lZFZhbHVlW1wia2V5MVwiXSA9IE1XRy5JbnRlcm5hbFZhcmlhbnQoXCJ2YWx1ZTFcIilcbnVzZXJEZWZpbmVkVmFsdWVbXCJrZXkyXCJdID0gTVdHLkludGVybmFsVmFyaWFudCgxMjM0NSkgLy8gRXhhbXBsZSB3aXRoIGEgTlVNQkVSXG51c2VyRGVmaW5lZFZhbHVlW1wia2V5M1wiXSA9IE1XRy5JbnRlcm5hbFZhcmlhbnQoVFJVRSkgIC8vIEV4YW1wbGUgd2l0aCBhIEJPT0xFQU5cblxuLy8gU2V0IHRoZSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdXNpbmcgdGhlIE1BUFxuTVdHLlNldFVzZXJEZWZpbmVkVmFyKFwiTXlDdXN0b21WYXJpYWJsZVwiLCB1c2VyRGVmaW5lZFZhbHVlKVxuXG4vLyBVc2VyLWRlZmluZWQgdmFyaWFibGUgJ015Q3VzdG9tVmFyaWFibGUnIGhhcyBiZWVuIHNldCB3aXRoIHRoZSBmb2xsb3dpbmcgdmFsdWVzOlxuLy8ga2V5MTogdmFsdWUxXG4vLyBrZXkyOiAxMjM0NVxuLy8ga2V5MzogVFJVRSIsICJuYW1lIjogIk1XRy5TZXRVc2VyRGVmaW5lZFZhciAoU1RSSU5HLCBNQVA8U1RSSU5HLCBNV0cuSW50ZXJuYWxWYXJpYW50PikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBuYW1lIG9mIHRoZSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdG8gc2V0LlxuMi4gYE1BUDxTVFJJTkcsTVdHLkludGVybmFsVmFyaWFudD5gOiBUaGUgbWFwIHZhbHVlIHRvIHN0b3JlLiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgYSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdG8gYSBgTUFQPFNUUklORyxTVFJJTkc+YCB2YWx1ZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBhIE1BUDxTVFJJTkcsIFNUUklORz4gd2l0aCBzb21lIGtleS12YWx1ZSBwYWlyc1xuTUFQPFNUUklORywgU1RSSU5HPiB1c2VySW5mb1xudXNlckluZm9bXCJ1c2VybmFtZVwiXSA9IFwiam9obl9kb2VcIlxudXNlckluZm9bXCJlbWFpbFwiXSA9IFwiam9obi5kb2VAZXhhbXBsZS5jb21cIlxudXNlckluZm9bXCJyb2xlXCJdID0gXCJhZG1pblwiXG5cbi8vIFNldCB0aGUgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHdpdGggdGhlIG1hcFxuTVdHLlNldFVzZXJEZWZpbmVkVmFyKFwiVXNlckluZm9ybWF0aW9uXCIsIHVzZXJJbmZvKVxuXG4vLyBVc2VySW5mb3JtYXRpb24gc2V0IHdpdGggdmFsdWVzOiBcIiArIHVzZXJJbmZvIiwgIm5hbWUiOiAiTVdHLlNldFVzZXJEZWZpbmVkVmFyIChTVFJJTkcsIE1BUDxTVFJJTkcsIFNUUklORz4pIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIHNldC5cbjIuIGBNQVA8U1RSSU5HLFNUUklORz5gOiBUaGUgc3RyaW5nLXRvLXN0cmluZyBtYXAgdmFsdWUgdG8gc3RvcmUuIn0sIHsiZGVzY3JpcHRpb24iOiAiU2V0cyBhIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBhIGBNZWRpYVR5cGVgIHZhbHVlLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIGEgTWVkaWFUeXBlIHZhcmlhYmxlXG5NZWRpYVR5cGUgbWVkaWFUeXBlRXhhbXBsZSA9IE1lZGlhVHlwZShcImFwcGxpY2F0aW9uL2pzb25cIilcblxuLy8gU2V0IGEgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHdpdGggdGhlIG5hbWUgXCJDdXN0b21NZWRpYVR5cGVcIiBhbmQgdGhlIHZhbHVlIG9mIG1lZGlhVHlwZUV4YW1wbGVcbk1XRy5TZXRVc2VyRGVmaW5lZFZhcihcIkN1c3RvbU1lZGlhVHlwZVwiLCBtZWRpYVR5cGVFeGFtcGxlKVxuXG4vLyBVc2VyLWRlZmluZWQgdmFyaWFibGUgJ0N1c3RvbU1lZGlhVHlwZScgc2V0IHRvOiBcIiArIG1lZGlhVHlwZUV4YW1wbGUiLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgTWVkaWFUeXBlKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIG5hbWUgb2YgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBzZXQuXG4yLiBgTWVkaWFUeXBlYDogVGhlIG1lZGlhIHR5cGUgdmFsdWUgdG8gc3RvcmUuIn0sIHsiZGVzY3JpcHRpb24iOiAiU2V0cyBhIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBhIGBNV0cuVXJsQ2F0ZWdvcnlgIHZhbHVlLiIsICJjb2RlX2V4YW1wbGUiOiAiUk9VVElORSBFeGFtcGxlIE9OIChXZWIuUmVxdWVzdCkge1xuICBWRUNUT1I8TVdHLlVybENhdGVnb3J5PiBjYXRlZ29yaWVzXG4gIE1XRy5VcmxDYXRlZ29yeSBwcmltYXJ5Q2F0ZWdvcnlcbiAgY2F0ZWdvcmllcyA9IE1XRy5VcmxDYXRlZ29yaWVzKE1XRy5MQVNUX1VTRURfY29uZmlnKVxuICBwcmltYXJ5Q2F0ZWdvcnkgPSBHZXRSYW5nZShjYXRlZ29yaWVzLCAwLCAxKVswXVxuICBNV0cuU2V0VXNlckRlZmluZWRWYXIoXCJyZXF1ZXN0ZWRfdXJsX2NhdGVnb3J5XCIsIHByaW1hcnlDYXRlZ29yeSlcbn0iLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgTVdHLlVybENhdGVnb3J5KSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIG5hbWUgb2YgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBzZXQuXG4yLiBgTVdHLlVybENhdGVnb3J5YDogVGhlIFVSTCBjYXRlZ29yeSB2YWx1ZSB0byBzdG9yZS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIGEgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIGEgYE5ldC5JUGAgdmFsdWUuIiwgImNvZGVfZXhhbXBsZSI6ICJOZXQuSVAgdXNlcklQID0gTmV0LklQKFwiMTkyLjE2OC4xLjFcIilcbk1XRy5TZXRVc2VyRGVmaW5lZFZhcihcIlVzZXJJUEFkZHJlc3NcIiwgdXNlcklQKVxuLy8gVXNlciBJUCBhZGRyZXNzIGhhcyBiZWVuIHNldCB0byAxOTIuMTY4LjEuMSIsICJuYW1lIjogIk1XRy5TZXRVc2VyRGVmaW5lZFZhciAoU1RSSU5HLCBOZXQuSVApIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIHNldC5cbjIuIGBOZXQuSVBgOiBUaGUgSVAgYWRkcmVzcyB2YWx1ZSB0byBzdG9yZS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIGEgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIGEgYE5ldC5JUFJhbmdlYCB2YWx1ZS4iLCAiY29kZV9leGFtcGxlIjogIlNUUklORyB2YXJpYWJsZU5hbWUgPSBcIkFsbG93ZWRJUFJhbmdlXCJcbk5ldC5JUFJhbmdlIGlwUmFuZ2UgPSBOZXQuSVBSYW5nZShcIjE5Mi4xNjguMS4wLzI0XCIpXG5cbk1XRy5TZXRVc2VyRGVmaW5lZFZhcih2YXJpYWJsZU5hbWUsIGlwUmFuZ2UpXG5cbi8vIFVzZXItZGVmaW5lZCB2YXJpYWJsZSAnQWxsb3dlZElQUmFuZ2UnIGhhcyBiZWVuIHNldCB0byAxOTIuMTY4LjEuMC8yNC4iLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgTmV0LklQUmFuZ2UpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIHNldC5cbjIuIGBOZXQuSVBSYW5nZWA6IFRoZSBJUCByYW5nZSB2YWx1ZSB0byBzdG9yZS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIGEgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIGEgYE5VTUJFUmAgdmFsdWUuIiwgImNvZGVfZXhhbXBsZSI6ICJNV0cuVVJMIGN1cnJlbnRVcmwgPSBNV0cuVXJsKClcblNUUklORyB1cmxTdHJpbmcgPSBjdXJyZW50VXJsLlRvU3RyaW5nKClcblxuSUYgRW5kc1dpdGgodXJsU3RyaW5nLCBcIi5wZGZcIikgVEhFTiB7XG4gICAgTVdHLlNldFVzZXJEZWZpbmVkVmFyKFwiRmlsZVR5cGVcIiwgMSlcbiAgICAvLyBTZXQgdXNlci1kZWZpbmVkIHZhcmlhYmxlICdGaWxlVHlwZScgdG8gMSBmb3IgUERGIGZpbGVzXG59IEVMU0Uge1xuICAgIE1XRy5TZXRVc2VyRGVmaW5lZFZhcihcIkZpbGVUeXBlXCIsIDApXG4gICAgLy8gU2V0IHVzZXItZGVmaW5lZCB2YXJpYWJsZSAnRmlsZVR5cGUnIHRvIDAgZm9yIG5vbi1QREYgZmlsZXNcbn0iLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgTlVNQkVSKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIG5hbWUgb2YgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBzZXQuXG4yLiBgTlVNQkVSYDogVGhlIG51bWVyaWMgdmFsdWUgdG8gc3RvcmUuIn0sIHsiZGVzY3JpcHRpb24iOiAiU2V0cyBhIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBhIGBSZWdFeEpTaWAgdmFsdWUuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBEZWZpbmUgYSByZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVyblxuUmVnRXhKU2kgcmVnZXhQYXR0ZXJuID0gUmVnRXhKU2koXCJleGFtcGxlUGF0dGVyblwiLCBcImlcIikgIC8vIFwiaVwiIGZvciBjYXNlLWluc2Vuc2l0aXZlXG5cbi8vIFNldCB0aGUgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHdpdGggdGhlIG5hbWUgXCJVc2VyRGVmaW5lZFJlZ2V4XCIgdG8gdGhlIHJlZ2V4IHBhdHRlcm5cbk1XRy5TZXRVc2VyRGVmaW5lZFZhcihcIlVzZXJEZWZpbmVkUmVnZXhcIiwgcmVnZXhQYXR0ZXJuKVxuXG4vLyBVc2VyLWRlZmluZWQgdmFyaWFibGUgJ1VzZXJEZWZpbmVkUmVnZXgnIGhhcyBiZWVuIHNldC4iLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgUmVnRXhKU2kpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIHNldC5cbjIuIGBSZWdFeEpTaWA6IFRoZSByZWd1bGFyIGV4cHJlc3Npb24gdmFsdWUgdG8gc3RvcmUuIn0sIHsiZGVzY3JpcHRpb24iOiAiU2V0cyBhIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBhIGBSZWdFeEpTaS5MaXN0YCB2YWx1ZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBhIFJlZ0V4SlNpLkxpc3Qgb2JqZWN0XG5SZWdFeEpTaS5MaXN0IHJlZ2V4TGlzdCA9IFJlZ0V4SlNpLkxpc3QoKVxuXG4vLyBBZGQgc29tZSByZWd1bGFyIGV4cHJlc3Npb25zIHRvIHRoZSBsaXN0XG5yZWdleExpc3QuQWRkKFwiLipleGFtcGxlLipcIilcbnJlZ2V4TGlzdC5BZGQoXCIuKnRlc3QuKlwiKVxuXG4vLyBTZXQgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB3aXRoIHRoZSBuYW1lIFwiTXlSZWdleExpc3RcIiBhbmQgdGhlIGNyZWF0ZWQgcmVnZXggbGlzdFxuTVdHLlNldFVzZXJEZWZpbmVkVmFyKFwiTXlSZWdleExpc3RcIiwgcmVnZXhMaXN0KVxuXG4vLyBVc2VyLWRlZmluZWQgdmFyaWFibGUgJ015UmVnZXhMaXN0JyBoYXMgYmVlbiBzZXQgd2l0aCB0aGUgcmVnZXggbGlzdC4iLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgUmVnRXhKU2kuTGlzdCkiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBuYW1lIG9mIHRoZSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdG8gc2V0LlxuMi4gYFJlZ0V4SlNpLkxpc3RgOiBUaGUgbGlzdCBvZiByZWd1bGFyIGV4cHJlc3Npb25zIHRvIHN0b3JlLiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgYSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdG8gYSBgU1RSSU5HYCB2YWx1ZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIERlZmluZSB0aGUgbmFtZSBhbmQgdmFsdWUgb2YgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZVxuU1RSSU5HIHZhcmlhYmxlTmFtZSA9IFwiVXNlckRlZmluZWRWYXIxXCJcblNUUklORyB2YXJpYWJsZVZhbHVlID0gXCJFeGFtcGxlVmFsdWVcIlxuXG4vLyBTZXQgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZVxuTVdHLlNldFVzZXJEZWZpbmVkVmFyKHZhcmlhYmxlTmFtZSwgdmFyaWFibGVWYWx1ZSlcblxuLy8gVXNlciBEZWZpbmVkIFZhcmlhYmxlIE5hbWU6IFVzZXJEZWZpbmVkVmFyMVxuLy8gVXNlciBEZWZpbmVkIFZhcmlhYmxlIFZhbHVlOiBFeGFtcGxlVmFsdWUiLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIG5hbWUgb2YgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBzZXQuXG4yLiBgU1RSSU5HYDogVGhlIHN0cmluZyB2YWx1ZSB0byBzdG9yZS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIGEgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIGEgYFZFQ1RPUjxNZWRpYVR5cGU+YCB2YWx1ZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIERlZmluZSBhIFZFQ1RPUiBvZiBNZWRpYVR5cGVcblZFQ1RPUjxNZWRpYVR5cGU+IG1lZGlhVHlwZXMgPSBcImFwcGxpY2F0aW9uL2pzb25cIiwgXCJ0ZXh0L2h0bWxcIiwgXCJpbWFnZS9wbmdcIlxuXG4vLyBTZXQgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB3aXRoIHRoZSBuYW1lIFwiQWxsb3dlZE1lZGlhVHlwZXNcIiB0byB0aGUgZGVmaW5lZCBWRUNUT1Jcbk1XRy5TZXRVc2VyRGVmaW5lZFZhcihcIkFsbG93ZWRNZWRpYVR5cGVzXCIsIG1lZGlhVHlwZXMpXG5cbi8vIFVzZXItZGVmaW5lZCB2YXJpYWJsZSAnQWxsb3dlZE1lZGlhVHlwZXMnIGhhcyBiZWVuIHNldC4iLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgVkVDVE9SPE1lZGlhVHlwZT4pIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIHNldC5cbjIuIGBWRUNUT1I8TWVkaWFUeXBlPmA6IFRoZSBsaXN0IG9mIG1lZGlhIHR5cGVzIHRvIHN0b3JlLiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgYSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdG8gYSBgVkVDVE9SPE1XRy5VcmxDYXRlZ29yeT5gIHZhbHVlLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIGEgdmVjdG9yIG9mIFVSTCBjYXRlZ29yaWVzXG5WRUNUT1I8TVdHLlVybENhdGVnb3J5PiB1cmxDYXRlZ29yaWVzID0gW1wiU29jaWFsIE1lZGlhXCIsIFwiTmV3c1wiLCBcIlNob3BwaW5nXCJdXG5cbi8vIFNldCB0aGUgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHdpdGggdGhlIG5hbWUgXCJVc2VyQ2F0ZWdvcmllc1wiIHRvIHRoZSB2ZWN0b3Igb2YgVVJMIGNhdGVnb3JpZXNcbk1XRy5TZXRVc2VyRGVmaW5lZFZhcihcIlVzZXJDYXRlZ29yaWVzXCIsIHVybENhdGVnb3JpZXMpXG5cbi8vIFVzZXItZGVmaW5lZCB2YXJpYWJsZSAnVXNlckNhdGVnb3JpZXMnIHNldCB3aXRoIFVSTCBjYXRlZ29yaWVzOiBcIiArIHVybENhdGVnb3JpZXMiLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgVkVDVE9SPE1XRy5VcmxDYXRlZ29yeT4pIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIHNldC5cbjIuIGBWRUNUT1I8TVdHLlVybENhdGVnb3J5PmA6IFRoZSBsaXN0IG9mIFVSTCBjYXRlZ29yaWVzIHRvIHN0b3JlLiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgYSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdG8gYSBgVkVDVE9SPE5ldC5JUD5gIHZhbHVlLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIGEgVkVDVE9SIG9mIE5ldC5JUFxuVkVDVE9SPE5ldC5JUD4gaXBMaXN0ID0gXCIxOTIuMTY4LjEuMVwiLCBcIjE5Mi4xNjguMS4yXCIsIFwiMTkyLjE2OC4xLjNcIlxuXG4vLyBTZXQgdGhlIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB3aXRoIHRoZSBuYW1lIFwiQWxsb3dlZElQc1wiIHRvIHRoZSBpcExpc3Rcbk1XRy5TZXRVc2VyRGVmaW5lZFZhcihcIkFsbG93ZWRJUHNcIiwgaXBMaXN0KVxuXG4vLyBVc2VyLWRlZmluZWQgdmFyaWFibGUgJ0FsbG93ZWRJUHMnIGhhcyBiZWVuIHNldCB3aXRoIHRoZSBmb2xsb3dpbmcgSVBzOiBcIiArIGlwTGlzdCIsICJuYW1lIjogIk1XRy5TZXRVc2VyRGVmaW5lZFZhciAoU1RSSU5HLCBWRUNUT1I8TmV0LklQPikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBuYW1lIG9mIHRoZSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdG8gc2V0LlxuMi4gYFZFQ1RPUjxOZXQuSVA+YDogVGhlIGxpc3Qgb2YgSVAgYWRkcmVzcyB2YWx1ZXMgdG8gc3RvcmUuIn0sIHsiZGVzY3JpcHRpb24iOiAiU2V0cyBhIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBhIGBWRUNUT1I8TmV0LklQUmFuZ2U+YCB2YWx1ZS4iLCAiY29kZV9leGFtcGxlIjogIi8vIERlZmluZSBhIHZlY3RvciBvZiBJUCByYW5nZXNcblZFQ1RPUjxOZXQuSVBSYW5nZT4gaXBSYW5nZXMgPSBOZXQuSVBSYW5nZShcIjE5Mi4xNjguMS4wLzI0XCIpLCBOZXQuSVBSYW5nZShcIjEwLjAuMC4wLzhcIilcblxuLy8gU2V0IHRoZSB1c2VyLWRlZmluZWQgdmFyaWFibGUgd2l0aCB0aGUgbmFtZSBcIkFsbG93ZWRJUFJhbmdlc1wiIHRvIHRoZSB2ZWN0b3Igb2YgSVAgcmFuZ2VzXG5NV0cuU2V0VXNlckRlZmluZWRWYXIoXCJBbGxvd2VkSVBSYW5nZXNcIiwgaXBSYW5nZXMpXG5cbi8vIFVzZXItZGVmaW5lZCB2YXJpYWJsZSAnQWxsb3dlZElQUmFuZ2VzJyBoYXMgYmVlbiBzZXQgd2l0aCB0aGUgc3BlY2lmaWVkIElQIHJhbmdlcy4iLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgVkVDVE9SPE5ldC5JUFJhbmdlPikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBuYW1lIG9mIHRoZSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdG8gc2V0LlxuMi4gYFZFQ1RPUjxOZXQuSVBSYW5nZT5gOiBUaGUgbGlzdCBvZiBJUCByYW5nZSB2YWx1ZXMgdG8gc3RvcmUuIn0sIHsiZGVzY3JpcHRpb24iOiAiU2V0cyBhIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBhIGBWRUNUT1I8TlVNQkVSPmAgdmFsdWUuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBEZWZpbmUgYSBWRUNUT1Igb2YgTlVNQkVSc1xuVkVDVE9SPE5VTUJFUj4gbnVtYmVyVmVjdG9yID0gMSwgMiwgMy41LCA0Ljc1XG5cbi8vIFNldCB0aGUgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHdpdGggdGhlIG5hbWUgXCJleGFtcGxlTnVtYmVyc1wiIHRvIHRoZSBudW1iZXJWZWN0b3Jcbk1XRy5TZXRVc2VyRGVmaW5lZFZhcihcImV4YW1wbGVOdW1iZXJzXCIsIG51bWJlclZlY3RvcilcblxuLy8gVXNlci1kZWZpbmVkIHZhcmlhYmxlICdleGFtcGxlTnVtYmVycycgaGFzIGJlZW4gc2V0LiIsICJuYW1lIjogIk1XRy5TZXRVc2VyRGVmaW5lZFZhciAoU1RSSU5HLCBWRUNUT1I8TlVNQkVSPikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IFRoZSBuYW1lIG9mIHRoZSB1c2VyLWRlZmluZWQgdmFyaWFibGUgdG8gc2V0LlxuMi4gYFZFQ1RPUjxOVU1CRVI+YDogVGhlIGxpc3Qgb2YgbnVtZXJpYyB2YWx1ZXMgdG8gc3RvcmUuIn0sIHsiZGVzY3JpcHRpb24iOiAiU2V0cyBhIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB0byBhIGBWRUNUT1I8U1RSSU5HPmAgdmFsdWUuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBEZWZpbmUgYSBWRUNUT1Igb2YgU1RSSU5Hc1xuVkVDVE9SPFNUUklORz4gdXNlckRlZmluZWRWYWx1ZXMgPSBcInZhbHVlMVwiLCBcInZhbHVlMlwiLCBcInZhbHVlM1wiXG5cbi8vIFNldCBhIHVzZXItZGVmaW5lZCB2YXJpYWJsZSB3aXRoIHRoZSBuYW1lIFwiQ3VzdG9tVmFyXCIgYW5kIHRoZSBkZWZpbmVkIFZFQ1RPUiBvZiBTVFJJTkdzXG5NV0cuU2V0VXNlckRlZmluZWRWYXIoXCJDdXN0b21WYXJcIiwgdXNlckRlZmluZWRWYWx1ZXMpXG5cbi8vIFVzZXItZGVmaW5lZCB2YXJpYWJsZSAnQ3VzdG9tVmFyJyBoYXMgYmVlbiBzZXQgd2l0aCB2YWx1ZXM6IFwiICsgdXNlckRlZmluZWRWYWx1ZXMiLCAibmFtZSI6ICJNV0cuU2V0VXNlckRlZmluZWRWYXIgKFNUUklORywgVkVDVE9SPFNUUklORz4pIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgdXNlci1kZWZpbmVkIHZhcmlhYmxlIHRvIHNldC5cbjIuIGBWRUNUT1I8U1RSSU5HPmA6IFRoZSBsaXN0IG9mIHN0cmluZyB2YWx1ZXMgdG8gc3RvcmUuIn0sIHsiZGVzY3JpcHRpb24iOiAiQXNzaWducyB0aGUgc3BlY2lmaWVkIGdyb3VwIGxpc3QgdG8gdGhlIGF1dGhlbnRpY2F0ZWQgdXNlciBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24uIElmIHRoZSBsaXN0IGlzIGVtcHR5LCBjbGVhcnMgYWxsIGFzc2lnbmVkIGdyb3Vwcy4iLCAiY29kZV9leGFtcGxlIjogIi8vIERlZmluZSBhIHZlY3RvciBvZiB1c2VyIGdyb3VwcyB0byBhc3NpZ25cblZFQ1RPUjxTVFJJTkc+IHVzZXJHcm91cHMgPSBcIkFkbWluXCIsIFwiRWRpdG9yXCIsIFwiVmlld2VyXCJcblxuLy8gQXNzaWduIHRoZSB1c2VyIGdyb3VwcyB1c2luZyB0aGUgTVdHLlNldFVzZXJHcm91cHMgZnVuY3Rpb25cbk1XRy5TZXRVc2VyR3JvdXBzKHVzZXJHcm91cHMpXG5cbi8vIFVzZXIgZ3JvdXBzIGhhdmUgYmVlbiBhc3NpZ25lZDogXCIgKyB1c2VyR3JvdXBzIiwgIm5hbWUiOiAiTVdHLlNldFVzZXJHcm91cHMgKFZFQ1RPUjxTVFJJTkc+KSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgVkVDVE9SPFNUUklORz5gOiBUaGUgbGlzdCBvZiBncm91cCBuYW1lcyB0byBhc3NpZ24gdG8gdGhlIGF1dGhlbnRpY2F0ZWQgdXNlci4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIGF1dGhlbnRpY2F0aW9uIHVzZXJuYW1lIHdoZW4gaW5wdXQgaXMgdmFsaWQgVVRGLTg7IGludmFsaWQgVVRGLTggaW5wdXQgaXMgaWdub3JlZC4iLCAiY29kZV9leGFtcGxlIjogIi8vIEFzc3VtZSB3ZSBoYXZlIGEgY3VzdG9tIEhUVFAgaGVhZGVyIFwiWC1Vc2VyLU5hbWVcIiB0aGF0IGNvbnRhaW5zIHRoZSB1c2VybmFtZVxuU1RSSU5HIGhlYWRlck5hbWUgPSBcIlgtVXNlci1OYW1lXCJcblNUUklORyB1c2VyTmFtZSA9IEhUVFAuR2V0UmVxdWVzdEhlYWRlcihoZWFkZXJOYW1lKVxuXG5JRiB1c2VyTmFtZSAhPSBcIlwiIFRIRU4ge1xuICAgIE1XRy5TZXRVc2VyTmFtZSh1c2VyTmFtZSlcbiAgICAvLyBVc2VybmFtZSBzZXQgdG86IFwiICsgdXNlck5hbWVcbn0gRUxTRSB7XG4gICAgLy8gVXNlcm5hbWUgaGVhZGVyIG5vdCBmb3VuZFxufSIsICJuYW1lIjogIk1XRy5TZXRVc2VyTmFtZSAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIHVzZXJuYW1lIHRvIHNldC4gTXVzdCBiZSB2YWxpZCBVVEYtODsgbm9uLVVURi04IGlucHV0IGlzIHNpbGVudGx5IGlnbm9yZWQuIn0sIHsiZGVzY3JpcHRpb24iOiAiU3RvcmVzIHRoZSBsaXN0IG1hdGNoIGluZm8gaW4gdGhlIHZhcmlhYmxlIHN0b3JlLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIGEgcnVsZSBuYW1lXG5TVFJJTkcgcnVsZU5hbWUgPSBcIkV4YW1wbGVSdWxlXCJcblxuLy8gU3RvcmUgdGhlIGxpc3QgbWF0Y2ggaW5mbyBmb3IgdGhlIGdpdmVuIHJ1bGUgbmFtZVxuTVdHLlN0b3JlTGlzdE1hdGNoSW5mbyhydWxlTmFtZSlcblxuLy8gTGlzdCBtYXRjaCBpbmZvIHN0b3JlZCBmb3IgcnVsZTogRXhhbXBsZVJ1bGUiLCAibmFtZSI6ICJNV0cuU3RvcmVMaXN0TWF0Y2hJbmZvIChTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgcnVsZSBuYW1lIGlkZW50aWZ5aW5nIHdoaWNoIGxpc3QgbWF0Y2ggaW5mb3JtYXRpb24gdG8gc3RvcmUuIn0sIHsiZGVzY3JpcHRpb24iOiAiTGVnYWN5LiBTZXRzIHRoZSBjbGlwYm9hcmQgcG9saWN5IHVzaW5nIHRoZSBzcGVjaWZpZWQgY29udHJvbCBsaXN0LiBVc2UgYFJCSS5TZXRDbGlwYm9hcmRQb2xpY3lQZXJtaXRgIG9yIGBSQkkuU2V0Q2xpcGJvYXJkUG9saWN5QmxvY2tgIGluc3RlYWQuIiwgImNvZGVfZXhhbXBsZSI6ICJSQkkuQ2xpcGJvYXJkQ29udHJvbExpc3QgZmluYW5jZUNsaXBib2FyZFJ1bGVzID0gW1wiZmluYW5jZUNsaXBib2FyZFJ1bGVzXCJdXG5cbklGIE1XRy5BcHBsaWNhdGlvbklzSW5TZXJ2aWNlR3JvdXAoXCJGaW5hbmNlXCIpIFRIRU4ge1xuICAgIFJCSS5BcHBseUNsaXBib2FyZFBvbGljeShUUlVFLCBmaW5hbmNlQ2xpcGJvYXJkUnVsZXMpXG59IiwgIm5hbWUiOiAiUkJJLkFwcGx5Q2xpcGJvYXJkUG9saWN5IChCT09MRUFOLCBSQkkuQ2xpcGJvYXJkQ29udHJvbExpc3QpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBCT09MRUFOYDogV2hlbiBgRkFMU0VgLCB0aGUgbGlzdCBhY3RzIGFzIGFuIGFsbG93IGxpc3QgKGJsb2NrIGlzIHRoZSBkZWZhdWx0KTsgd2hlbiBgVFJVRWAsIHRoZSBsaXN0IGFjdHMgYXMgYSBibG9jayBsaXN0IChwZXJtaXQgaXMgdGhlIGRlZmF1bHQpLlxuMi4gYFJCSS5DbGlwYm9hcmRDb250cm9sTGlzdGA6IFRoZSBjbGlwYm9hcmQgY29udHJvbCBsaXN0IGRlZmluaW5nIHBlci1ob3N0IGNsaXBib2FyZCBwZXJtaXNzaW9ucy4ifSwgeyJkZXNjcmlwdGlvbiI6ICJMZWdhY3kuIENvbmZpZ3VyZXMgdGhlIFJCSSBjbGlwYm9hcmQgYmVoYXZpb3IgZm9yIHRoZSBjdXJyZW50IHNlc3Npb24uIFVzZSBgUkJJLlNldENsaXBib2FyZFBvbGljeVBlcm1pdGAgb3IgYFJCSS5TZXRDbGlwYm9hcmRQb2xpY3lCbG9ja2AgaW5zdGVhZC4iLCAiY29kZV9leGFtcGxlIjogIlNUUklORyBwb2xpY3lOYW1lID0gXCJEZWZhdWx0Q2xpcGJvYXJkUG9saWN5XCJcblxuLy8gQXBwbHkgdGhlIHNwZWNpZmllZCBjbGlwYm9hcmQgcG9saWN5XG5SQkkuQXBwbHlDbGlwYm9hcmRQb2xpY3kocG9saWN5TmFtZSlcblxuLy8gQ2xpcGJvYXJkIHBvbGljeSBhcHBsaWVkOiBcIiArIHBvbGljeU5hbWUiLCAibmFtZSI6ICJSQkkuQXBwbHlDbGlwYm9hcmRQb2xpY3kgKFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFNUUklOR2A6IENsaXBib2FyZCBhY3Rpb24gdG8gYXBwbHkuIEFjY2VwdGVkIHZhbHVlczogYGNvcHlgLCBgcGFzdGVgLCBgY29weSZwYXN0ZWAsIG9yIGBub25lYC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJJbml0aWFsaXplcyBSQkkgZnVsbC1pc29sYXRpb24gc2V0dGluZ3MgZm9yIHRoZSBjdXJyZW50IGNvbnRleHQuIiwgImNvZGVfZXhhbXBsZSI6ICJCT09MRUFOIGVuYWJsZUlzb2xhdGlvbiA9IFRSVUVcbkJPT0xFQU4gZW5hYmxlQ2xpcGJvYXJkID0gRkFMU0VcbkJPT0xFQU4gZW5hYmxlRmlsZVVwbG9hZCA9IFRSVUVcbkJPT0xFQU4gZW5hYmxlRmlsZURvd25sb2FkID0gRkFMU0Vcbk5VTUJFUiBtYXhVcGxvYWRTaXplID0gMTA0ODU3NjAgIC8vIDEwIE1CXG5OVU1CRVIgbWF4RG93bmxvYWRTaXplID0gNTI0Mjg4MDAgIC8vIDUwIE1CXG5cblJCSS5BcHBseUZ1bGxJc29sYXRpb25TZXR0aW5ncyhlbmFibGVJc29sYXRpb24sIGVuYWJsZUNsaXBib2FyZCwgZW5hYmxlRmlsZVVwbG9hZCwgZW5hYmxlRmlsZURvd25sb2FkLCBtYXhVcGxvYWRTaXplLCBtYXhEb3dubG9hZFNpemUpXG5cbi8vIEZ1bGwgaXNvbGF0aW9uIHNldHRpbmdzIGFwcGxpZWQgd2l0aCB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnM6XG4vLyBJc29sYXRpb24gRW5hYmxlZDogXCIgKyBlbmFibGVJc29sYXRpb25cbi8vIENsaXBib2FyZCBFbmFibGVkOiBcIiArIGVuYWJsZUNsaXBib2FyZFxuLy8gRmlsZSBVcGxvYWQgRW5hYmxlZDogXCIgKyBlbmFibGVGaWxlVXBsb2FkXG4vLyBGaWxlIERvd25sb2FkIEVuYWJsZWQ6IFwiICsgZW5hYmxlRmlsZURvd25sb2FkXG4vLyBNYXggVXBsb2FkIFNpemU6IFwiICsgbWF4VXBsb2FkU2l6ZVxuLy8gTWF4IERvd25sb2FkIFNpemU6IFwiICsgbWF4RG93bmxvYWRTaXplIiwgIm5hbWUiOiAiUkJJLkFwcGx5RnVsbElzb2xhdGlvblNldHRpbmdzIChCT09MRUFOLCBCT09MRUFOLCBCT09MRUFOLCBCT09MRUFOLCBOVU1CRVIsIE5VTUJFUikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYEJPT0xFQU5gOiBXaGV0aGVyIHRvIGZhaWwgY2xvc2VkIG9uIFJCSSBlcnJvcnMuXG4yLiBgQk9PTEVBTmA6IFdoZXRoZXIgdG8gYWxsb3cgbG9jYWwgY29va2llcy5cbjMuIGBCT09MRUFOYDogV2hldGhlciB0byBhbGxvdyBjbGlwYm9hcmQgY29weSBmcm9tIHRoZSBpc29sYXRlZCBzZXNzaW9uIHRvIHRoZSBsb2NhbCBtYWNoaW5lLlxuNC4gYEJPT0xFQU5gOiBXaGV0aGVyIHRvIGFsbG93IGNsaXBib2FyZCBwYXN0ZSBmcm9tIHRoZSBsb2NhbCBtYWNoaW5lIHRvIHRoZSBpc29sYXRlZCBzZXNzaW9uLlxuNS4gYE5VTUJFUmA6IE1heGltdW0gc2l6ZSBpbiBieXRlcyBmb3IgY2xpcGJvYXJkIHBhc3RlIG9wZXJhdGlvbnMuXG42LiBgTlVNQkVSYDogTWF4aW11bSBzaXplIGluIGJ5dGVzIGZvciBjbGlwYm9hcmQgY29weSBvcGVyYXRpb25zLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkluaXRpYWxpemVzIFJCSSByaXNreS13ZWIgc2V0dGluZ3MgZm9yIHRoZSBjdXJyZW50IGNvbnRleHQuIiwgImNvZGVfZXhhbXBsZSI6ICJCT09MRUFOIGVuYWJsZUNsaXBib2FyZENvbnRyb2wgPSBUUlVFXG5CT09MRUFOIGVuYWJsZUZpbGVVcGxvYWRDb250cm9sID0gVFJVRVxuQk9PTEVBTiBlbmFibGVGaWxlRG93bmxvYWRDb250cm9sID0gVFJVRVxuQk9PTEVBTiBlbmFibGVQcmludGluZ0NvbnRyb2wgPSBUUlVFXG5CT09MRUFOIGVuYWJsZVNjcmVlbkNhcHR1cmVDb250cm9sID0gVFJVRVxuQk9PTEVBTiBlbmFibGVSZW1vdGVBY2Nlc3NDb250cm9sID0gVFJVRVxuQk9PTEVBTiBlbmFibGVCcm93c2VySXNvbGF0aW9uID0gVFJVRVxuQk9PTEVBTiBlbmFibGVVUkxGaWx0ZXJpbmcgPSBUUlVFXG5cblJCSS5BcHBseVJpc2t5V2ViU2V0dGluZ3MoXG4gICAgZW5hYmxlQ2xpcGJvYXJkQ29udHJvbCxcbiAgICBlbmFibGVGaWxlVXBsb2FkQ29udHJvbCxcbiAgICBlbmFibGVGaWxlRG93bmxvYWRDb250cm9sLFxuICAgIGVuYWJsZVByaW50aW5nQ29udHJvbCxcbiAgICBlbmFibGVTY3JlZW5DYXB0dXJlQ29udHJvbCxcbiAgICBlbmFibGVSZW1vdGVBY2Nlc3NDb250cm9sLFxuICAgIGVuYWJsZUJyb3dzZXJJc29sYXRpb24sXG4gICAgZW5hYmxlVVJMRmlsdGVyaW5nXG4pXG5cbi8vIFJpc2t5IHdlYiBzZXR0aW5ncyBoYXZlIGJlZW4gYXBwbGllZC4iLCAibmFtZSI6ICJSQkkuQXBwbHlSaXNreVdlYlNldHRpbmdzIChCT09MRUFOLCBCT09MRUFOLCBCT09MRUFOLCBCT09MRUFOLCBCT09MRUFOLCBCT09MRUFOLCBCT09MRUFOLCBCT09MRUFOKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgQk9PTEVBTmA6IFdoZXRoZXIgdG8gZmFpbCBjbG9zZWQgb24gUkJJIGVycm9ycy5cbjIuIGBCT09MRUFOYDogV2hldGhlciB0byBhbGxvdyBsb2NhbCBjb29raWVzLlxuMy4gYEJPT0xFQU5gOiBXaGV0aGVyIHRvIGFsbG93IGZpbGUgdXBsb2FkcyBmcm9tIHRoZSBpc29sYXRlZCBzZXNzaW9uLlxuNC4gYEJPT0xFQU5gOiBXaGV0aGVyIHRvIGFsbG93IGZpbGUgZG93bmxvYWRzIHRvIHRoZSBsb2NhbCBtYWNoaW5lLlxuNS4gYEJPT0xFQU5gOiBXaGV0aGVyIGNsaXBib2FyZCBjb3B5IHdpdGhpbiB0aGUgaXNvbGF0ZWQgc2Vzc2lvbiBpcyBjb250cm9sbGVkIHRocm91Z2ggUkJJLlxuNi4gYEJPT0xFQU5gOiBXaGV0aGVyIGNsaXBib2FyZCBwYXN0ZSB3aXRoaW4gdGhlIGlzb2xhdGVkIHNlc3Npb24gaXMgY29udHJvbGxlZCB0aHJvdWdoIFJCSS5cbjcuIGBCT09MRUFOYDogV2hldGhlciB0byBhbGxvdyBjbGlwYm9hcmQgY29weSBmcm9tIHRoZSBpc29sYXRlZCBzZXNzaW9uIHRvIHRoZSBsb2NhbCBtYWNoaW5lLlxuOC4gYEJPT0xFQU5gOiBXaGV0aGVyIHRvIGFsbG93IGNsaXBib2FyZCBwYXN0ZSBmcm9tIHRoZSBsb2NhbCBtYWNoaW5lIHRvIHRoZSBpc29sYXRlZCBzZXNzaW9uLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkxlZ2FjeS4gQWRkcyBhIHJlc3BvbnNlIGhlYWRlciB0aGF0IHBlcm1pdHMgZG93bmxvYWQgdG8gdGhlIGxvY2FsIGJyb3dzZXIuIFVzZSByZW1vdGUgYnJvd3NlciBkb3dubG9hZCBlbmZvcmNlbWVudCBpbnN0ZWFkLiIsICJjb2RlX2V4YW1wbGUiOiAiUk9VVElORSBleGFtcGxlIE9OIChXZWIuUmVzcG9uc2UpIHtcbklGIE1XRy5TdGF0dXNDb2RlKE1XRy5SZXNwb25zZSgpKSA9PSAyMDAgQU5EIEVuZHNXaXRoQ2FzZUluc2Vuc2l0aXZlKE1XRy5Cb2R5RmlsZU5hbWUoKSwgXCIucGRmXCIpIFRIRU4ge1xuUkJJLlBlcm1pdERvd25sb2FkVG9Mb2NhbEJyb3dzZXIoKVxufVxufSIsICJuYW1lIjogIlJCSS5QZXJtaXREb3dubG9hZFRvTG9jYWxCcm93c2VyICgpIiwgInBhcmFtZXRlcl9kZXNjIjogIipOL0EqIn0sIHsiZGVzY3JpcHRpb24iOiAiQ29udHJvbHMgd2hldGhlciB0aGUgcmVtb3RlIGJyb3dzZXIncyBwYXNzd29yZCBtYW5hZ2VyIGlzIGJsb2NrZWQgZm9yIGFsbCBpc29sYXRlZCBzaXRlcyBpbiB0aGUgc2Vzc2lvbi4iLCAiY29kZV9leGFtcGxlIjogIkJPT0xFQU4gYmxvY2tQYXNzd29yZE1hbmFnZXIgPSBUUlVFXG5cblJCSS5TZXRCbG9ja1Bhc3N3b3JkTWFuYWdlcihibG9ja1Bhc3N3b3JkTWFuYWdlcilcblxuSUYgYmxvY2tQYXNzd29yZE1hbmFnZXIgVEhFTiB7XG4gICAgLy8gXCJQYXNzd29yZCBtYW5hZ2VyIGJsb2NraW5nIGlzIGVuYWJsZWQuXCJcbn0gRUxTRSB7XG4gICAgLy8gXCJQYXNzd29yZCBtYW5hZ2VyIGJsb2NraW5nIGlzIGRpc2FibGVkLlwiXG59IiwgIm5hbWUiOiAiUkJJLlNldEJsb2NrUGFzc3dvcmRNYW5hZ2VyIChCT09MRUFOKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgQk9PTEVBTmA6IFdoZW4gYFRSVUVgLCB0aGUgcGFzc3dvcmQgbWFuYWdlciBpcyBibG9ja2VkOyB3aGVuIGBGQUxTRWAsIGl0IGlzIGFsbG93ZWQuIn0sIHsiZGVzY3JpcHRpb24iOiAiQ29udHJvbHMgd2hldGhlciBwcmludGluZyBpcyBibG9ja2VkIGZvciBpc29sYXRlZCBzaXRlcyBhbmQgZG9jdW1lbnRzIGluIHRoZSBzZXNzaW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiQk9PTEVBTiBibG9ja1ByaW50aW5nID0gVFJVRVxuXG5SQkkuU2V0QmxvY2tQcmludGluZyhibG9ja1ByaW50aW5nKVxuXG4vLyBcIlByaW50aW5nIGhhcyBiZWVuIGJsb2NrZWQ6IFwiICsgYmxvY2tQcmludGluZyIsICJuYW1lIjogIlJCSS5TZXRCbG9ja1ByaW50aW5nIChCT09MRUFOKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgQk9PTEVBTmA6IFdoZW4gYFRSVUVgLCBwcmludGluZyBpcyBibG9ja2VkOyB3aGVuIGBGQUxTRWAsIHByaW50aW5nIGlzIGFsbG93ZWQuIn0sIHsiZGVzY3JpcHRpb24iOiAiQmxvY2tzIGNsaXBib2FyZCB1c2FnZSBleGNlcHQgZm9yIHRoZSBnaXZlbiBleGNlcHRpb25zLiIsICJjb2RlX2V4YW1wbGUiOiAiU1RSSU5HIHBvbGljeSA9IFwibm9uZVwiICAvLyBPcHRpb25zOiBcIm5vbmVcIiwgXCJjb3B5XCIsIFwicGFzdGVcIiwgXCJjb3B5JnBhc3RlXCJcblxuLy8gQXBwbHkgdGhlIGNsaXBib2FyZCBwb2xpY3lcblJCSS5BcHBseUNsaXBib2FyZFBvbGljeShwb2xpY3kpXG5cbi8vIENsaXBib2FyZCBwb2xpY3kgc2V0IHRvOiBcIm5vbmVcIiIsICJuYW1lIjogIlJCSS5TZXRDbGlwYm9hcmRQb2xpY3lCbG9jayAoUkJJLkNsaXBib2FyZENvbnRyb2xMaXN0KSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgUkJJLkNsaXBib2FyZENvbnRyb2xMaXN0YDogVGhlIGxpc3Qgb2YgY2xpcGJvYXJkIG9wZXJhdGlvbnMgcGVybWl0dGVkIGFzIGV4Y2VwdGlvbnMgdG8gdGhlIGJsb2NrIHBvbGljeS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJQZXJtaXRzIGNsaXBib2FyZCB1c2FnZSBleGNlcHQgZm9yIHRoZSBnaXZlbiBleGNlcHRpb25zLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gQXNzdW1lIGNsaXBib2FyZFBvbGljeUxpc3QgaXMgYSBwcmVkZWZpbmVkIFJCSS5DbGlwYm9hcmRDb250cm9sTGlzdFxuUkJJLkNsaXBib2FyZENvbnRyb2xMaXN0IGNsaXBib2FyZFBvbGljeUxpc3QgPSBbXCJleGFtcGxlX2NsaXBib2FyZF9wb2xpY3lfbGlzdFwiXVxuXG4vLyBTZXQgdGhlIGNsaXBib2FyZCBwb2xpY3kgdG8gcGVybWl0IGJhc2VkIG9uIHRoZSBjbGlwYm9hcmRQb2xpY3lMaXN0XG5SQkkuU2V0Q2xpcGJvYXJkUG9saWN5UGVybWl0KGNsaXBib2FyZFBvbGljeUxpc3QpXG5cbi8vIFByaW50IGEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gdGhlIGNvbnNvbGVcbi8vIENsaXBib2FyZCBwb2xpY3kgc2V0IHRvIHBlcm1pdCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgbGlzdC4iLCAibmFtZSI6ICJSQkkuU2V0Q2xpcGJvYXJkUG9saWN5UGVybWl0IChSQkkuQ2xpcGJvYXJkQ29udHJvbExpc3QpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBSQkkuQ2xpcGJvYXJkQ29udHJvbExpc3RgOiBUaGUgbGlzdCBvZiBjbGlwYm9hcmQgb3BlcmF0aW9ucyBibG9ja2VkIGFzIGV4Y2VwdGlvbnMgdG8gdGhlIHBlcm1pdCBwb2xpY3kuIn0sIHsiZGVzY3JpcHRpb24iOiAiQmxvY2tzIGZpbGUgZG93bmxvYWRzIGV4Y2VwdCBmb3IgdGhlIGdpdmVuIGV4Y2VwdGlvbiBydWxlcy4iLCAiY29kZV9leGFtcGxlIjogIi8vIERlZmluZSBhIFVDRS5GaWxlVHJhbnNmZXJDb250cm9sTGlzdCB3aXRoIHNvbWUgY29udHJvbCBzZXR0aW5nc1xuVUNFLkZpbGVUcmFuc2ZlckNvbnRyb2xMaXN0IGNvbnRyb2xMaXN0ID0ge1xuICAgIFwiYmxvY2tFeHRlbnNpb25zXCI6IFwiZXhlLGJhdCxjbWRcIixcbiAgICBcIm1heEZpbGVTaXplXCI6IFwiMTA0ODU3NjBcIiAvLyAxMCBNQiBpbiBieXRlc1xufVxuXG4vLyBTZXQgdGhlIGRvd25sb2FkIGZpbGUgY29udHJvbCBibG9jayB1c2luZyB0aGUgZGVmaW5lZCBjb250cm9sIGxpc3RcblJCSS5TZXREb3dubG9hZEZpbGVDb250cm9sQmxvY2soY29udHJvbExpc3QpXG5cbi8vIERvd25sb2FkIGZpbGUgY29udHJvbCBibG9jayBoYXMgYmVlbiBzZXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbnRyb2wgbGlzdC4iLCAibmFtZSI6ICJSQkkuU2V0RG93bmxvYWRGaWxlQ29udHJvbEJsb2NrIChVQ0UuRmlsZVRyYW5zZmVyQ29udHJvbExpc3QpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBVQ0UuRmlsZVRyYW5zZmVyQ29udHJvbExpc3RgOiBUaGUgbGlzdCBvZiBmaWxlIHRyYW5zZmVyIHJ1bGVzIHRoYXQgcmVtYWluIHBlcm1pdHRlZCBhcyBleGNlcHRpb25zIHRvIHRoZSBkb3dubG9hZCBibG9jayBwb2xpY3kuIn0sIHsiZGVzY3JpcHRpb24iOiAiUGVybWl0cyBmaWxlIGRvd25sb2FkcyBleGNlcHQgZm9yIHRoZSBnaXZlbiBleGNlcHRpb25zLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIGEgZmlsZSB0cmFuc2ZlciBjb250cm9sIGxpc3Qgd2l0aCBwZXJtaXR0ZWQgZmlsZSB0eXBlc1xuVUNFLkZpbGVUcmFuc2ZlckNvbnRyb2xMaXN0IHBlcm1pdHRlZEZpbGVzID0ge1xuICAgIFwiYXBwbGljYXRpb24vcGRmXCIsXG4gICAgXCJpbWFnZS9qcGVnXCIsXG4gICAgXCJpbWFnZS9wbmdcIlxufVxuXG4vLyBTZXQgdGhlIGRvd25sb2FkIGZpbGUgY29udHJvbCB0byBwZXJtaXQgdGhlIHNwZWNpZmllZCBmaWxlIHR5cGVzXG5SQkkuU2V0RG93bmxvYWRGaWxlQ29udHJvbFBlcm1pdChwZXJtaXR0ZWRGaWxlcylcblxuLy8gUGVybWl0dGVkIGZpbGUgdHlwZXMgZm9yIGRvd25sb2FkIGhhdmUgYmVlbiBzZXQuIiwgIm5hbWUiOiAiUkJJLlNldERvd25sb2FkRmlsZUNvbnRyb2xQZXJtaXQgKFVDRS5GaWxlVHJhbnNmZXJDb250cm9sTGlzdCkiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFVDRS5GaWxlVHJhbnNmZXJDb250cm9sTGlzdGA6IFRoZSBsaXN0IG9mIGZpbGUgdHJhbnNmZXIgcnVsZXMgdGhhdCByZW1haW4gYmxvY2tlZCBhcyBleGNlcHRpb25zIHRvIHRoZSBkb3dubG9hZCBwZXJtaXQgcG9saWN5LiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgdGhlIGNvbG9yIG9mIHRoZSBpc29sYXRpb24gaW5kaWNhdG9yIGZvciB0aGUgc2Vzc2lvbi4iLCAiY29kZV9leGFtcGxlIjogIlJPVVRJTkUgU2V0RmluYW5jZUlzb2xhdGlvbkluZGljYXRvckNvbG9yXG4gIElGIENvbnRhaW5zKE1XRy5Vc2VyR3JvdXBzLCBcIkZpbmFuY2VcIilcbiAgICBSQkkuU2V0SXNvbGF0YXRpb25JbmRpY2F0b3JDb2xvcihcImJsdWVcIilcbiAgRU5ESUZcbkVORFJPVVRJTkUiLCAibmFtZSI6ICJSQkkuU2V0SXNvbGF0YXRpb25JbmRpY2F0b3JDb2xvciAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIGNvbG9yIHZhbHVlIGZvciB0aGUgaXNvbGF0aW9uIGluZGljYXRvci4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIHRoZSB3aWR0aCBvZiB0aGUgaXNvbGF0aW9uIGluZGljYXRvciBmb3IgdGhlIHNlc3Npb24uIiwgImNvZGVfZXhhbXBsZSI6ICJST1VUSU5FIGV4YW1wbGUgT04gKFdlYi5SZXF1ZXN0KSB7XG4gICAgTlVNQkVSIGluZGljYXRvcldpZHRoID0gMjIwXG4gICAgUkJJLlNldElzb2xhdGlvbkluZGljYXRvcldpZHRoKGluZGljYXRvcldpZHRoKVxufSIsICJuYW1lIjogIlJCSS5TZXRJc29sYXRpb25JbmRpY2F0b3JXaWR0aCAoTlVNQkVSKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgTlVNQkVSYDogVGhlIHdpZHRoIHZhbHVlIGZvciB0aGUgaXNvbGF0aW9uIGluZGljYXRvci4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTZXRzIHRoZSB0aXRsZSB0ZXh0IGZvciBSQkkgcG9wdXAgcHJvbXB0cyBpbiB0aGUgc2Vzc2lvbi4iLCAiY29kZV9leGFtcGxlIjogIi8vIEJyYW5kIHRoZSBSQkkgcHJvbXB0IGZvciBhIGZpbmFuY2UgcG9ydGFsIHNlc3Npb25cblJCSS5TZXRQb3B1cFRpdGxlKFwiT3BlbiBGaW5hbmNlIFBvcnRhbCBpbiBSZW1vdGUgQnJvd3NlclwiKSIsICJuYW1lIjogIlJCSS5TZXRQb3B1cFRpdGxlIChTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgdGl0bGUgdGV4dCB0byBkaXNwbGF5IGluIFJCSSBwb3B1cCBwcm9tcHRzLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgdGhlIGlzb2xhdGlvbiBpbmRpY2F0b3IgaXMgdmlzaWJsZSBmb3IgYWxsIGlzb2xhdGVkIHNpdGVzIGluIHRoZSBzZXNzaW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIGEgQk9PTEVBTiB2YXJpYWJsZSB0byBkZXRlcm1pbmUgd2hldGhlciB0byBzaG93IHRoZSBib3JkZXJcbkJPT0xFQU4gc2hvd0JvcmRlciA9IFRSVUVcblxuLy8gU2V0IHRoZSBib3JkZXIgdmlzaWJpbGl0eSB1c2luZyB0aGUgUkJJLlNldFNob3dCb3JkZXIgZnVuY3Rpb25cblJCSS5TZXRTaG93Qm9yZGVyKHNob3dCb3JkZXIpXG5cbi8vIFByaW50IGEgbWVzc2FnZSB0byB0aGUgY29uc29sZSBmb3IgZGVidWdnaW5nXG4vLyBcIkJvcmRlciB2aXNpYmlsaXR5IHNldCB0bzogXCIgKyBzaG93Qm9yZGVyIiwgIm5hbWUiOiAiUkJJLlNldFNob3dCb3JkZXIgKEJPT0xFQU4pIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBCT09MRUFOYDogV2hlbiBgVFJVRWAsIHRoZSBpc29sYXRpb24gaW5kaWNhdG9yIGlzIHNob3duOyB3aGVuIGBGQUxTRWAsIGl0IGlzIGhpZGRlbi4ifSwgeyJkZXNjcmlwdGlvbiI6ICJEZWZpbmVzIGlmIHRoZSBSQkkgZGlhbG9nIHNob3VsZCBiZSBzaG93biBhdCBzZXNzaW9uIHN0YXJ0LiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIGEgQk9PTEVBTiB2YXJpYWJsZSB0byBjb250cm9sIHRoZSBkaWFsb2cgZGlzcGxheVxuQk9PTEVBTiBzaG93RGlhbG9nID0gVFJVRVxuXG4vLyBTZXQgdGhlIFJCSSBkaWFsb2cgZGlzcGxheSBiYXNlZCBvbiB0aGUgQk9PTEVBTiB2YXJpYWJsZVxuUkJJLlNldFNob3dEaWFsb2coc2hvd0RpYWxvZylcblxuLy8gUkJJIGRpYWxvZyBkaXNwbGF5IHNldCB0bzogc2hvd0RpYWxvZyIsICJuYW1lIjogIlJCSS5TZXRTaG93RGlhbG9nIChCT09MRUFOKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgQk9PTEVBTmA6IFdoZW4gYFRSVUVgLCB0aGUgUkJJIGRpYWxvZyBpcyBkaXNwbGF5ZWQgYXQgc2Vzc2lvbiBzdGFydDsgd2hlbiBgRkFMU0VgLCBpdCBpcyBzdXBwcmVzc2VkLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgdGhlIFNreWhpZ2ggU2VjdXJpdHkgbG9nbyBpcyBzaG93biBuZWFyIHRoZSBicm93c2VyIGFkZHJlc3MgYmFyIGluIFJCSSBzZXNzaW9ucy4iLCAiY29kZV9leGFtcGxlIjogIlJPVVRJTkUgZXhhbXBsZSBPTiAoV2ViLlJlcXVlc3QpIHtcblx0Qk9PTEVBTiBzaG93TG9nbyA9IFRSVUVcblx0UkJJLlNldFNob3dMb2dvKHNob3dMb2dvKVxufSIsICJuYW1lIjogIlJCSS5TZXRTaG93TG9nbyAoQk9PTEVBTikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYEJPT0xFQU5gOiBXaGVuIGBUUlVFYCwgdGhlIFNreWhpZ2ggU2VjdXJpdHkgbG9nbyBpcyBkaXNwbGF5ZWQ7IHdoZW4gYEZBTFNFYCwgaXQgaXMgaGlkZGVuLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgUkJJIGRpc3BsYXlzIHRoZSBjb25uZWN0aW5nL2xvYWRpbmcgc2NyZWVuIGZvciB0aGUgc2Vzc2lvbi4iLCAiY29kZV9leGFtcGxlIjogIi8vIFJlZHVjZSBSQkkgZnJpY3Rpb24gZm9yIGF1dGhlbnRpY2F0ZWQgdXNlcnMgYnkgaGlkaW5nIHRoZSBjb25uZWN0aW5nIHNjcmVlblxuSUYgTVdHLklzQXV0aGVudGljYXRlZCBUSEVOIHtcbiAgUkJJLlNldFNob3dTZXNzaW9uTG9hZGluZ1NjcmVlbihGQUxTRSlcbn0gRUxTRSB7XG4gIFJCSS5TZXRTaG93U2Vzc2lvbkxvYWRpbmdTY3JlZW4oVFJVRSlcbn0iLCAibmFtZSI6ICJSQkkuU2V0U2hvd1Nlc3Npb25Mb2FkaW5nU2NyZWVuIChCT09MRUFOKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgQk9PTEVBTmA6IFdoZW4gYFRSVUVgLCB0aGUgc2Vzc2lvbiBsb2FkaW5nIHNjcmVlbiBpcyBkaXNwbGF5ZWQ7IHdoZW4gYEZBTFNFYCwgaXQgaXMgaGlkZGVuLiJ9LCB7ImRlc2NyaXB0aW9uIjogIk1hcmtzIHRoZSBpc29sYXRlZCBzaXRlIGFzIHJlYWQtb25seSBieSBhZGRpbmcgdGhlIFJCSSByZWFkLW9ubHkgcmVzcG9uc2UgaGVhZGVyLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gQXNzdW1pbmcgUkJJLlNldFNpdGVSZWFkT25seSgpIGlzIGEgdmFsaWQgZnVuY3Rpb24gdGhhdCBzZXRzIHRoZSBzaXRlIHRvIHJlYWQtb25seSBtb2RlXG5SQkkuU2V0U2l0ZVJlYWRPbmx5KFRSVUUpXG4vLyBTaXRlIGhhcyBiZWVuIHNldCB0byByZWFkLW9ubHkgbW9kZS4iLCAibmFtZSI6ICJSQkkuU2V0U2l0ZVJlYWRPbmx5ICgpIiwgInBhcmFtZXRlcl9kZXNjIjogIipOL0EqIn0sIHsiZGVzY3JpcHRpb24iOiAiU3BlY2lmaWVzIHRoZSBzaXRlIHBhdHRlcm5zIHRoYXQgcmVtYWluIGlzb2xhdGVkIHdoZW4gbmF2aWdhdGVkIHRvIGZyb20gYW4gaXNvbGF0ZWQgc2Vzc2lvbi4gVGhpcyBzZXR0aW5nIGFwcGxpZXMgb25seSBpbiBGdWxsIElzb2xhdGlvbiBtb2RlLiIsICJjb2RlX2V4YW1wbGUiOiAiUk9VVElORSBleGFtcGxlIE9OIEFOWSB7XG4gICAgVkVDVE9SPFNUUklORz4gc3RheUlzb2xhdGVkU2l0ZXMgPSBcImxvZ2luLm1pY3Jvc29mdG9ubGluZS5jb21cIiwgXCJhY2NvdW50cy5nb29nbGUuY29tXCIsIFwic3VwcG9ydC5jb21wYW55LmNvbVwiLCBcInNzby5jb21wYW55LmNvbVwiXG4gICAgUkJJLlNldFN0YXlJc29sYXRlZExpc3Qoc3RheUlzb2xhdGVkU2l0ZXMpXG59IiwgIm5hbWUiOiAiUkJJLlNldFN0YXlJc29sYXRlZExpc3QgKFZFQ1RPUjxTVFJJTkc+KSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgVkVDVE9SPFNUUklORz5gOiBUaGUgbGlzdCBvZiBzaXRlIHBhdHRlcm5zIHRoYXQgbXVzdCByZW1haW4gaXNvbGF0ZWQuIn0sIHsiZGVzY3JpcHRpb24iOiAiQmxvY2tzIGZpbGUgdXBsb2FkcyBleGNlcHQgZm9yIHRoZSBnaXZlbiBleGNlcHRpb25zLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gSW5pdGlhbGl6ZSBhIFVDRS5GaWxlVHJhbnNmZXJDb250cm9sTGlzdCB3aXRoIGV4Y2VwdGlvbnNcblVDRS5GaWxlVHJhbnNmZXJDb250cm9sTGlzdCBleGNlcHRpb25zID0gW1wiQWxsb3dlZEZpbGVUeXBlc1wiXVxuXG4vLyBTZXQgdGhlIHVwbG9hZCBmaWxlIGNvbnRyb2wgYmxvY2sgd2l0aCB0aGUgZXhjZXB0aW9ucyBsaXN0XG5SQkkuU2V0VXBsb2FkRmlsZUNvbnRyb2xCbG9jayhleGNlcHRpb25zKVxuXG4vLyBGaWxlIHVwbG9hZHMgYXJlIGJsb2NrZWQgZXhjZXB0IGZvciB0aGUgc3BlY2lmaWVkIGV4Y2VwdGlvbnMuIiwgIm5hbWUiOiAiUkJJLlNldFVwbG9hZEZpbGVDb250cm9sQmxvY2sgKFVDRS5GaWxlVHJhbnNmZXJDb250cm9sTGlzdCkiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFVDRS5GaWxlVHJhbnNmZXJDb250cm9sTGlzdGA6IFRoZSBsaXN0IG9mIGZpbGUgdHJhbnNmZXIgcnVsZXMgdGhhdCByZW1haW4gcGVybWl0dGVkIGFzIGV4Y2VwdGlvbnMgdG8gdGhlIHVwbG9hZCBibG9jayBwb2xpY3kuIn0sIHsiZGVzY3JpcHRpb24iOiAiUGVybWl0cyBmaWxlIHVwbG9hZHMgZXhjZXB0IGZvciB0aGUgZ2l2ZW4gZXhjZXB0aW9uIHJ1bGVzLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gQXNzdW1lIHdlIGhhdmUgYSBVQ0UuRmlsZVRyYW5zZmVyQ29udHJvbExpc3Qgb2JqZWN0XG5VQ0UuRmlsZVRyYW5zZmVyQ29udHJvbExpc3QgZmlsZVRyYW5zZmVyQ29udHJvbExpc3QgPSBVQ0UuRmlsZVRyYW5zZmVyQ29udHJvbExpc3QoKVxuXG4vLyBBZGQgc29tZSBmaWxlIHRyYW5zZmVyIGNvbnRyb2wgc2V0dGluZ3MgdG8gdGhlIGxpc3Rcbi8vIChUaGlzIHBhcnQgaXMgaHlwb3RoZXRpY2FsIGFzIHRoZSBhY3R1YWwgbWV0aG9kIHRvIGFkZCBzZXR0aW5ncyBkZXBlbmRzIG9uIHRoZSBhdmFpbGFibGUgZnVuY3Rpb25zKVxuZmlsZVRyYW5zZmVyQ29udHJvbExpc3QuQWRkKFwiZXhhbXBsZV9zZXR0aW5nXzFcIilcbmZpbGVUcmFuc2ZlckNvbnRyb2xMaXN0LkFkZChcImV4YW1wbGVfc2V0dGluZ18yXCIpXG5cbi8vIFVzZSB0aGUgUkJJLlNldFVwbG9hZEZpbGVDb250cm9sUGVybWl0IGZ1bmN0aW9uIHRvIHNldCB0aGUgZmlsZSB1cGxvYWQgY29udHJvbCBwZXJtaXNzaW9uc1xuUkJJLlNldFVwbG9hZEZpbGVDb250cm9sUGVybWl0KGZpbGVUcmFuc2ZlckNvbnRyb2xMaXN0KVxuXG4vLyBGaWxlIHVwbG9hZCBjb250cm9sIHBlcm1pc3Npb25zIGhhdmUgYmVlbiBzZXQuIiwgIm5hbWUiOiAiUkJJLlNldFVwbG9hZEZpbGVDb250cm9sUGVybWl0IChVQ0UuRmlsZVRyYW5zZmVyQ29udHJvbExpc3QpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBVQ0UuRmlsZVRyYW5zZmVyQ29udHJvbExpc3RgOiBUaGUgbGlzdCBvZiBmaWxlIHRyYW5zZmVyIHJ1bGVzIHRoYXQgcmVtYWluIGJsb2NrZWQgYXMgZXhjZXB0aW9ucyB0byB0aGUgdXBsb2FkIHBlcm1pdCBwb2xpY3kuIn0sIHsiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyBvciBkaXNhYmxlcyBSQkkgd2VicGFnZSB3YXRlcm1hcmtpbmcgZm9yIHRoZSBzZXNzaW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRW5hYmxlIFJCSSB3YXRlcm1hcmtpbmcgZm9yIGF1dGhlbnRpY2F0ZWQgc2Vzc2lvbnNcbklGIE1XRy5Jc0F1dGhlbnRpY2F0ZWQgVEhFTiB7XG4gICAgUkJJLlNldFdhdGVybWFya2luZyhUUlVFKVxufSIsICJuYW1lIjogIlJCSS5TZXRXYXRlcm1hcmtpbmcgKEJPT0xFQU4pIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBCT09MRUFOYDogV2hlbiBgVFJVRWAsIHdlYnBhZ2Ugd2F0ZXJtYXJraW5nIGlzIGVuYWJsZWQ7IHdoZW4gYEZBTFNFYCwgaXQgaXMgZGlzYWJsZWQuIn0sIHsiZGVzY3JpcHRpb24iOiAiQWRkcyByZWd1bGFyIGV4cHJlc3Npb24gdG8gdGhlIGxpc3QuIiwgImNvZGVfZXhhbXBsZSI6ICIvLyBDcmVhdGUgYSBSZWdFeEpTaS5MaXN0IG9iamVjdFxuUmVnRXhKU2kuTGlzdCByZWdleExpc3QgPSBSZWdFeEpTaS5MaXN0KClcblxuLy8gQ3JlYXRlIGEgZmV3IFJlZ0V4SlNpIG9iamVjdHNcblJlZ0V4SlNpIHJlZ2V4MSA9IFRvUmVnRXhKU2koXCJwYXR0ZXJuMVwiKVxuUmVnRXhKU2kgcmVnZXgyID0gVG9SZWdFeEpTaShcInBhdHRlcm4yXCIpXG5SZWdFeEpTaSByZWdleDMgPSBUb1JlZ0V4SlNpKFwicGF0dGVybjNcIilcblxuLy8gQWRkIHRoZSBSZWdFeEpTaSBvYmplY3RzIHRvIHRoZSBSZWdFeEpTaS5MaXN0XG5SZWdFeEpTaS5BZGQocmVnZXhMaXN0LCByZWdleDEpXG5SZWdFeEpTaS5BZGQocmVnZXhMaXN0LCByZWdleDIpXG5SZWdFeEpTaS5BZGQocmVnZXhMaXN0LCByZWdleDMpXG5cbi8vIFByaW50IHRoZSBsaXN0IHRvIHRoZSBjb25zb2xlIGZvciBkZWJ1Z2dpbmdcbi8vIFwiUmVnRXhKU2kgTGlzdDogXCIgKyByZWdleExpc3QiLCAibmFtZSI6ICJSZWdFeEpTaS5BZGQgKFJlZ0V4SlNpLkxpc3QsIFJlZ0V4SlNpKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgUmVnRXhKU2kuTGlzdGA6IFRoZSBsaXN0IHRvIGFkZCB0aGUgZXhwcmVzc2lvbiB0by5cbjIuIGBSZWdFeEpTaWA6IFRoZSBjb21waWxlZCByZWd1bGFyIGV4cHJlc3Npb24gdG8gYWRkLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkNvbXBpbGVzIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQgYWRkcyBpdCB0byB0aGUgbGlzdC4iLCAiY29kZV9leGFtcGxlIjogIi8vIENyZWF0ZSBhbiBlbXB0eSBSZWdFeEpTaS5MaXN0XG5SZWdFeEpTaS5MaXN0IHJlZ2V4TGlzdCA9IFJlZ0V4SlNpLkxpc3QoKVxuXG4vLyBBZGQgcmVndWxhciBleHByZXNzaW9uIHBhdHRlcm5zIHRvIHRoZSBsaXN0XG5SZWdFeEpTaS5BZGQocmVnZXhMaXN0LCBcIl5odHRwcz86Ly8uKlwiKSAvLyBNYXRjaGVzIFVSTHMgc3RhcnRpbmcgd2l0aCBodHRwIG9yIGh0dHBzXG5SZWdFeEpTaS5BZGQocmVnZXhMaXN0LCBcIi4qXFxcXC5leGFtcGxlXFxcXC5jb20kXCIpIC8vIE1hdGNoZXMgVVJMcyBlbmRpbmcgd2l0aCAuZXhhbXBsZS5jb21cblxuLy8gRGVmaW5lIGEgdGVzdCBVUkxcblNUUklORyB0ZXN0VXJsID0gXCJodHRwczovL3d3dy5leGFtcGxlLmNvbVwiXG5cbi8vIENoZWNrIGlmIHRoZSB0ZXN0IFVSTCBtYXRjaGVzIGFueSBvZiB0aGUgcGF0dGVybnMgaW4gdGhlIGxpc3RcbkJPT0xFQU4gaXNNYXRjaCA9IEZBTFNFXG5GT1IgcGF0dGVybiBJTiByZWdleExpc3Qge1xuICAgIElGIFJlZ0V4SlNpLk1hdGNoZXMocGF0dGVybiwgdGVzdFVybCkgVEhFTiB7XG4gICAgICAgIGlzTWF0Y2ggPSBUUlVFXG4gICAgICAgIEJSRUFLXG4gICAgfVxufVxuXG4vLyBUaGUgVVJMIG1hdGNoZXMgb25lIG9mIHRoZSBwYXR0ZXJucy5cbklGIGlzTWF0Y2ggVEhFTiB7XG4gICAgLy8gVGhlIFVSTCBtYXRjaGVzIG9uZSBvZiB0aGUgcGF0dGVybnMuXG59IEVMU0Uge1xuICAgIC8vIFRoZSBVUkwgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBwYXR0ZXJucy5cbn0iLCAibmFtZSI6ICJSZWdFeEpTaS5BZGQgKFJlZ0V4SlNpLkxpc3QsIFNUUklORykiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYFJlZ0V4SlNpLkxpc3RgOiBUaGUgbGlzdCB0byBhZGQgdGhlIGV4cHJlc3Npb24gdG8uXG4yLiBgU1RSSU5HYDogVGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuIHN0cmluZyB0byBjb21waWxlIGFuZCBhZGQuIn0sIHsiZGVzY3JpcHRpb24iOiAiUmVzZXRzIGEgc3RvcHdhdGNoLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIHRoZSBuYW1lIG9mIHRoZSBzdG9wd2F0Y2hcblNUUklORyBzdG9wd2F0Y2hOYW1lID0gXCJleGFtcGxlU3RvcHdhdGNoXCJcblxuLy8gU3RhcnQgdGhlIHN0b3B3YXRjaFxuU3RvcFdhdGNoLlN0YXJ0KHN0b3B3YXRjaE5hbWUpXG4vLyBTdG9wd2F0Y2ggc3RhcnRlZDogZXhhbXBsZVN0b3B3YXRjaFxuXG4vLyBQZXJmb3JtIHNvbWUgb3BlcmF0aW9uc1xuLy8gLi4uXG5cbi8vIFJlc2V0IHRoZSBzdG9wd2F0Y2hcblN0b3BXYXRjaC5SZXNldChzdG9wd2F0Y2hOYW1lKVxuLy8gU3RvcHdhdGNoIHJlc2V0OiBleGFtcGxlU3RvcHdhdGNoIiwgIm5hbWUiOiAiU3RvcFdhdGNoLlJlc2V0IChTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgc3RvcHdhdGNoIHRvIHJlc2V0LiJ9LCB7ImRlc2NyaXB0aW9uIjogIlN0YXJ0cyBhIHN0b3B3YXRjaC4iLCAiY29kZV9leGFtcGxlIjogIi8vIFN0YXJ0IHRoZSBzdG9wd2F0Y2ggd2l0aCBhIGdpdmVuIG5hbWVcblN0b3BXYXRjaC5TdGFydChcIkV4YW1wbGVUaW1lclwiKVxuXG4vLyBQZXJmb3JtIHNvbWUgb3BlcmF0aW9uc1xuLy8gU3RhcnRpbmcgc29tZSBvcGVyYXRpb25zLi4uXG5cbi8vIFNpbXVsYXRlIGEgZGVsYXkgb3Igc29tZSBvcGVyYXRpb25zXG4vLyAoSW4gYSByZWFsIHNjZW5hcmlvLCB0aGlzIGNvdWxkIGJlIGFueSBjb2RlIHRoYXQgdGFrZXMgdGltZSB0byBleGVjdXRlKVxuRk9SIE5VTUJFUiBpID0gMSBUTyAxMDAwMDAwIHtcbiAgICAvLyBKdXN0IGEgZHVtbXkgbG9vcCB0byBzaW11bGF0ZSB0aW1lLWNvbnN1bWluZyBvcGVyYXRpb25zXG59XG5cbi8vIFN0b3AgdGhlIHN0b3B3YXRjaCBhbmQgcHJpbnQgdGhlIGVsYXBzZWQgdGltZVxuU3RvcFdhdGNoLlN0b3AoXCJFeGFtcGxlVGltZXJcIilcbk5VTUJFUiBlbGFwc2VkVGltZSA9IFN0b3BXYXRjaC5FbGFwc2VkKFwiRXhhbXBsZVRpbWVyXCIpXG4vLyBFbGFwc2VkIHRpbWU6IFwiICsgZWxhcHNlZFRpbWUgKyBcIiBtaWxsaXNlY29uZHNcIiIsICJuYW1lIjogIlN0b3BXYXRjaC5TdGFydCAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIG5hbWUgb2YgdGhlIHN0b3B3YXRjaCB0byBzdGFydC4ifSwgeyJkZXNjcmlwdGlvbiI6ICJTdG9wcyBhIHN0b3B3YXRjaC4iLCAiY29kZV9leGFtcGxlIjogIi8vIFN0YXJ0IHRoZSBzdG9wd2F0Y2ggd2l0aCBhIGdpdmVuIG5hbWVcblN0b3BXYXRjaC5TdGFydChcImV4YW1wbGVXYXRjaFwiKVxuXG4vLyBQZXJmb3JtIHNvbWUgb3BlcmF0aW9uc1xuVkVDVE9SPFNUUklORz4gZXhhbXBsZUxpc3QgPSBcImFwcGxlXCIsIFwiYmFuYW5hXCIsIFwiY2hlcnJ5XCIsIFwiZGF0ZVwiLCBcImVsZGVyYmVycnlcIiwgXCJmaWdcIiwgXCJncmFwZVwiXG5OVU1CRVIgc3RhcnRJbmRleCA9IDJcbk5VTUJFUiBlbmRJbmRleCA9IDVcblZFQ1RPUjxTVFJJTkc+IHN1Ymxpc3QgPSBHZXRSYW5nZShleGFtcGxlTGlzdCwgc3RhcnRJbmRleCwgZW5kSW5kZXgpXG5cbi8vIFN0b3AgdGhlIHN0b3B3YXRjaFxuU3RvcFdhdGNoLlN0b3AoXCJleGFtcGxlV2F0Y2hcIilcblxuLy8gUHJpbnQgdGhlIHN1Ymxpc3QgdG8gdGhlIGNvbnNvbGVcbi8vIFN1Ymxpc3Q6IFwiICsgc3VibGlzdCIsICJuYW1lIjogIlN0b3BXYXRjaC5TdG9wIChTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgc3RvcHdhdGNoIHRvIHN0b3AuIn0sIHsiZGVzY3JpcHRpb24iOiAiQXBwbGllcyB0aGUgc3BlY2lmaWVkIGN1c3RvbSBlZ3Jlc3MgcHJvZmlsZSB0byB0aGUgY3VycmVudCB0cmFuc2FjdGlvbi4iLCAiY29kZV9leGFtcGxlIjogIi8vIERlZmluZSB0aGUgZWdyZXNzIElEIHlvdSB3YW50IHRvIGFwcGx5XG5TVFJJTkcgZWdyZXNzSUQgPSBcImN1c3RvbUVncmVzc0lEMTIzXCJcblxuLy8gQXBwbHkgdGhlIGN1c3RvbSBlZ3Jlc3MgSVAgdXNpbmcgdGhlIHNwZWNpZmllZCBlZ3Jlc3MgSURcblVDRS5BcHBseUN1c3RvbUVncmVzcyhlZ3Jlc3NJRClcblxuLy8gQXBwbGllZCBjdXN0b20gZWdyZXNzIHdpdGggSUQ6IGN1c3RvbUVncmVzc0lEMTIzIiwgIm5hbWUiOiAiVUNFLkFwcGx5Q3VzdG9tRWdyZXNzIChTVFJJTkcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgY3VzdG9tIGVncmVzcyBwcm9maWxlIHRvIGFwcGx5LiJ9LCB7ImRlc2NyaXB0aW9uIjogIlNldHMgdGhlIGN1c3RvbSBzaGFkb3ctSVQgdGFnIGlkZW50aWZpZXIgZm9yIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLiIsICJjb2RlX2V4YW1wbGUiOiAiUk9VVElORSBleGFtcGxlIE9OIChXZWIuUmVxdWVzdCkgW2VuYWJsZWQ9XCJ0cnVlXCIsIGRpc3BsYXlOYW1lPVwiVGFnIFNhbGVzZm9yY2UgdXBsb2Fkc1wiXSB7XG5JRiAoRXF1YWxzQ2FzZUluc2Vuc2l0aXZlKE1XRy5Ib3N0KE1XRy5VcmwpLCBcInNhbGVzZm9yY2UuY29tXCIpIEFORCBTdGFydHNXaXRoKE1XRy5QYXRoKE1XRy5VcmwpLCBcIi9zZmMvXCIpKSBUSEVOIHtcblVDRS5BcHBseVRhZ0lEKDEwMDEpXG59XG59IiwgIm5hbWUiOiAiVUNFLkFwcGx5VGFnSUQgKE5VTUJFUikiLCAicGFyYW1ldGVyX2Rlc2MiOiAiMS4gYE5VTUJFUmA6IFRoZSBzaGFkb3ctSVQgdGFnIGlkZW50aWZpZXIgdG8gYXBwbHkuIn0sIHsiZGVzY3JpcHRpb24iOiAiRW5mb3JjZXMgZGVkaWNhdGVkIGVncmVzcyB1c2luZyB0aGUgc3BlY2lmaWVkIHByb2ZpbGUuIElmIGRlZGljYXRlZCBlZ3Jlc3MgY2Fubm90IGJlIG9idGFpbmVkLCBmYWxscyBiYWNrIHRvIGEgc2hhcmVkIElQLiIsICJjb2RlX2V4YW1wbGUiOiAiLy8gRGVmaW5lIHRoZSBlZ3Jlc3MgSUQgeW91IHdhbnQgdG8gYXBwbHlcblNUUklORyBlZ3Jlc3NJRCA9IFwiY3VzdG9tX2VncmVzc19pZFwiXG5cbi8vIEFwcGx5IHRoZSBjdXN0b20gZWdyZXNzIElQXG5VQ0UuQXBwbHlDdXN0b21FZ3Jlc3MoZWdyZXNzSUQpXG5cbi8vIEFwcGxpZWQgY3VzdG9tIGVncmVzcyBJUCB3aXRoIElEOiBjdXN0b21fZWdyZXNzX2lkIiwgIm5hbWUiOiAiVUNFLkVuZm9yY2VDdXN0b21FZ3Jlc3NJUCAoU1RSSU5HKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIG5hbWUgb2YgdGhlIGN1c3RvbSBlZ3Jlc3MgcHJvZmlsZSB0byBlbmZvcmNlLiJ9LCB7ImRlc2NyaXB0aW9uIjogIkVuZm9yY2VzIGRlZGljYXRlZCBlZ3Jlc3MgdXNpbmcgdGhlIHNwZWNpZmllZCBwcm9maWxlLiBJZiBkZWRpY2F0ZWQgZWdyZXNzIGNhbm5vdCBiZSBvYnRhaW5lZCwgYXBwbGllcyB0aGUgYmxvY2sgc2V0dGluZy4iLCAiY29kZV9leGFtcGxlIjogIlNUUklORyBlZ3Jlc3NJRCA9IFwiY3VzdG9tLWVncmVzcy1pZFwiXG5NV0cuQmxvY2tTZXR0aW5nIGJsb2NrU2V0dGluZ1xuXG4vLyBDb25maWd1cmUgdGhlIGJsb2NrIHNldHRpbmcgYXMgbmVlZGVkXG5ibG9ja1NldHRpbmcucmVhc29uID0gXCJDdXN0b20gZWdyZXNzIElQIGVuZm9yY2VtZW50XCJcblxuLy8gRW5mb3JjZSB0aGUgY3VzdG9tIGVncmVzcyBJUFxuVUNFLkVuZm9yY2VDdXN0b21FZ3Jlc3NJUChlZ3Jlc3NJRCwgYmxvY2tTZXR0aW5nKVxuXG4vLyBDdXN0b20gZWdyZXNzIElQIGVuZm9yY2VkIHdpdGggSUQ6IFwiICsgZWdyZXNzSUQiLCAibmFtZSI6ICJVQ0UuRW5mb3JjZUN1c3RvbUVncmVzc0lQIChTVFJJTkcsIE1XRy5CbG9ja1NldHRpbmcpIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBTVFJJTkdgOiBUaGUgbmFtZSBvZiB0aGUgY3VzdG9tIGVncmVzcyBwcm9maWxlIHRvIGVuZm9yY2UuXG4yLiBgTVdHLkJsb2NrU2V0dGluZ2A6IFRoZSBibG9jayByZXNwb25zZSBjb25maWd1cmF0aW9uIHRvIGFwcGx5IHdoZW4gZGVkaWNhdGVkIGVncmVzcyBpcyB1bmF2YWlsYWJsZS4ifSwgeyJkZXNjcmlwdGlvbiI6ICJNYXJrcyB0aGlzIGFjY2VzcyB0byBhIHByaXZhdGUgYXBwbGljYXRpb24gZm9yIGlzb2xhdGlvbi4iLCAiY29kZV9leGFtcGxlIjogIi8vIEdldCB0aGUgZGV0ZWN0ZWQgcHJpdmF0ZSBhcHBcblVDRS5Qcml2YXRlQXBwIHByaXZhdGVBcHAgPSBVQ0UuR2V0UHJpdmF0ZUFwcCgpXG5cbi8vIENoZWNrIGlmIGEgcHJpdmF0ZSBhcHAgaXMgZGV0ZWN0ZWRcbklGIHByaXZhdGVBcHAgIT0gTlVMTCBUSEVOIHtcbiAgICAvLyBNYXJrIHRoZSBkZXRlY3RlZCBwcml2YXRlIGFwcCBmb3IgUkJJXG4gICAgVUNFLk1hcmtGb3JSQkkocHJpdmF0ZUFwcClcblxuICAgIC8vIERlYnVnIG91dHB1dCB0byBjb25maXJtIHRoZSBhY3Rpb25cbiAgICAvLyBcIlByaXZhdGUgYXBwIG1hcmtlZCBmb3IgUkJJOiBcIiArIHByaXZhdGVBcHAuTmFtZSgpXG59IEVMU0Uge1xuICAgIC8vIERlYnVnIG91dHB1dCBpZiBubyBwcml2YXRlIGFwcCBpcyBkZXRlY3RlZFxuICAgIC8vIFwiTm8gcHJpdmF0ZSBhcHAgZGV0ZWN0ZWQuXCJcbn0iLCAibmFtZSI6ICJVQ0UuTWFya0ZvclJCSSAoVUNFLlByaXZhdGVBcHApIiwgInBhcmFtZXRlcl9kZXNjIjogIjEuIGBVQ0UuUHJpdmF0ZUFwcGA6IFRoZSBwcml2YXRlIGFwcGxpY2F0aW9uIGFjY2VzcyB0byBtYXJrIGZvciBSQkkgaXNvbGF0aW9uLiJ9LCB7ImRlc2NyaXB0aW9uIjogIlN0YXJ0cyBhIGNvYWNoaW5nIHNlc3Npb24gd2l0aCB0aGUgc3BlY2lmaWVkIGlkZW50aWZpZXIgYW5kIHRpbWUtdG8tbGl2ZS4gSWYgdGhlIFRUTCBpcyB6ZXJvIG9yIGxlc3MsIHRoZSBzZXNzaW9uIGlzIG5vdCBzdGFydGVkLiIsICJjb2RlX2V4YW1wbGUiOiAiU1RSSU5HIHNlc3Npb25JZCA9IFwic2Vzc2lvbjEyM1wiXG5OVU1CRVIgdHRsID0gMzYwMCAgLy8gVGltZSB0byBsaXZlIGluIHNlY29uZHMgKDEgaG91cilcblxuVUNFLlN0YXJ0Q29hY2hpbmdTZXNzaW9uKHNlc3Npb25JZCwgdHRsKVxuLy8gQ29hY2hpbmcgc2Vzc2lvbiBzdGFydGVkIHdpdGggSUQ6IFwiICsgc2Vzc2lvbklkICsgXCIgYW5kIFRUTDogXCIgKyB0dGwiLCAibmFtZSI6ICJVQ0UuU3RhcnRDb2FjaGluZ1Nlc3Npb24gKFNUUklORywgTlVNQkVSKSIsICJwYXJhbWV0ZXJfZGVzYyI6ICIxLiBgU1RSSU5HYDogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29hY2hpbmcgc2Vzc2lvbi5cbjIuIGBOVU1CRVJgOiBUaGUgdGltZS10by1saXZlIGluIHNlY29uZHMuIE11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uIn1d
eyJEQVRBUkVGIjogIkEgYnVpbHQtaW4gTW93Z2xpIHR5cGUgcmVwcmVzZW50aW5nIGFuIG9wYXF1ZSBiaW5hcnkgZGF0YSBvYmplY3QgYmFja2VkIGJ5IElEYXRhUmVmUHRyLiBJdCBpcyB0aGUgaW5wdXQgYW5kIG91dHB1dCB0eXBlIGZvciBjcnlwdG9ncmFwaGljIG9wZXJhdGlvbnMgc3VjaCBhcyBgQ3J5cHRvZ3JhcGh5Lkhhc2hgLCBgQ3J5cHRvZ3JhcGh5LkhNQUNgLCBhbmQgYENyeXB0b2dyYXBoeS5FbmNyeXB0YDsgZm9yIGVuY29kaW5nIGZ1bmN0aW9ucyBzdWNoIGFzIGBFbmNvZGluZy5CYXNlNjRFbmNvZGVgIGFuZCBgRW5jb2RpbmcuSGV4RW5jb2RlYDsgZm9yIGNvbXByZXNzaW9uIGZ1bmN0aW9ucyBzdWNoIGFzIGBDb21wcmVzcy5EZWZsYXRlYCBhbmQgYENvbXByZXNzLkdaaXBgOyBhbmQgZm9yIE1lc3NhZ2VQYWNrIHNlcmlhbGl6YXRpb24gdmlhIGBKU09OLlRvTXNnUGFja2AgYW5kIGBKU09OLkZyb21Nc2dQYWNrYC4gQSBEQVRBUkVGIGNhbiBiZSBjb25zdHJ1Y3RlZCBmcm9tIGEgc3RyaW5nIHdpdGggYFRvRGF0YVJlZmAgb3IgZ2VuZXJhdGVkIGFzIHJhbmRvbSBieXRlcyB3aXRoIGBDcnlwdG9ncmFwaHkuQ3JlYXRlUmFuZG9tQnl0ZXNgLCBhbmQgaXRzIGJ5dGUgbGVuZ3RoIGlzIHJlYWRhYmxlIHZpYSBgU2l6ZWAuIiwgIkRMUC5DbGFzc2lmaWNhdGlvbiI6ICJBIHRva2VuIHRoYXQgaWRlbnRpZmllcyBhIHNpbmdsZSBETFAgY2xhc3NpZmljYXRpb24gcnVsZSBieSBpdHMgc3RyaW5nIElELCBvYnRhaW5lZCBieSBwYXNzaW5nIHRoYXQgSUQgdG8gYFRvRExQQ2xhc3NpZmljYXRpb25gLiBJdCBpcyBwYXNzZWQgdG8gYERMUC5NYXRjaGAgb3IgYERMUC5Mb2NhdGlvbk1hdGNoYCB0byB0ZXN0IHdoZXRoZXIgdGhlIGFjdGl2ZSBETFAgc2NhbiByZXN1bHQgc2F0aXNmaWVzIHRoYXQgc3BlY2lmaWMgY2xhc3NpZmljYXRpb24sIGFuZCBhIGdpdmVuIGNsYXNzaWZpZXIgY2FuIGJlIHRlc3RlZCBhZ2FpbnN0IG11bHRpcGxlIGNsYXNzaWZpY2F0aW9ucyBpbiBzZXF1ZW5jZSB3aXRoaW4gb25lIHJ1bGUgZXZhbHVhdGlvbi4iLCAiRExQLkNsYXNzaWZpZXIiOiAiVGhlIHNjYW5uaW5nIGNvbnRleHQgaGFuZGxlIGZvciB0aGUgRExQIGVuZ2luZSwgcmVwcmVzZW50aW5nIG9uZSBhY3RpdmUgaW5zcGVjdGlvbiBzZXNzaW9uIGZvciBhIHJlcXVlc3Qgb3IgcmVzcG9uc2UuIFBvbGljeSBydWxlcyBwb3B1bGF0ZSBpdCB3aXRoIGNvbnRlbnQgdmlhIGBETFAuU2V0Qm9keWAgKGFuZCByZWxhdGVkIHNldHVwIHByb2NlZHVyZXMgc3VjaCBhcyBgRExQLlNldEhUVFBIZWFkZXJgKSwgdGhlbiBxdWVyeSBpdCB0aHJvdWdoIGBETFAuTWF0Y2hgLCBgRExQLkxvY2F0aW9uTWF0Y2hgLCBhbmQgYERMUC5TdGFydFJvdXRpbmVgIHRvIGRyaXZlIGNsYXNzaWZpY2F0aW9uIGFuZCBpbmNpZGVudCBjb2xsZWN0aW9uLiBBIHNpbmdsZSBjbGFzc2lmaWVyIGluc3RhbmNlIGlzIHNjb3BlZCB0byBvbmUgcG9saWN5IGV2ZW50IGFuZCBtdXN0IG5vdCBiZSBzaGFyZWQgYWNyb3NzIGNvbmN1cnJlbnQgZXhlY3V0aW9ucy4iLCAiRExQLkluY2lkZW50Q29sbGVjdG9yIjogIkFuIGFjY3VtdWxhdG9yIGZvciBETFAgbWF0Y2ggcmVzdWx0cyB3aXRoaW4gYSBzaW5nbGUgcnVsZSBleGVjdXRpb24sIGNyZWF0ZWQgYnkgY2FsbGluZyBgRExQLlN0YXJ0Um91dGluZWAgd2l0aCBhIGBETFAuQ2xhc3NpZmllcmAgYW5kIGEgcnVsZS1uYW1lIHN0cmluZy4gU2V2ZXJpdHkgc2NvcmVzIGFyZSByZWNvcmRlZCBpbnRvIGl0IHZpYSBgRExQLkFkZGAsIGFuZCB0aGUgYWdncmVnYXRlIGNhbiBiZSB0ZXN0ZWQgYWdhaW5zdCBhIHRocmVzaG9sZCB1c2luZyBgRExQLkhhc0F0TGVhc3RgLiBPbmNlIGNvbGxlY3Rpb24gaXMgY29tcGxldGUsIGBETFAuQ3JlYXRlSW5jaWRlbnRgIHVzZXMgdGhlIGNvbGxlY3RvciB0b2dldGhlciB3aXRoIHRoZSBjbGFzc2lmaWVyIHRvIGVtaXQgYSBmb3JtYWwgRExQIGluY2lkZW50LiIsICJIVFRQSGVhZGVyIjogIkFuIG9yZGVyZWQsIGNhc2UtaW5zZW5zaXRpdmUgbXVsdGltYXAgb2YgSFRUUCBoZWFkZXIgbmFtZS92YWx1ZSBwYWlycywgd2l0aCBhIHNlcGFyYXRlbHkgc3RvcmVkIGZpcnN0IGxpbmUgKHN1Y2ggYXMgYSByZXF1ZXN0IG9yIHN0YXR1cyBsaW5lKS4gSXQgaXMgb2J0YWluZWQgYXQgcnVudGltZSBieSBjYWxsaW5nIGBNV0cuR2V0SFRUUEhlYWRlcihNV0cuSGVhZGVyTWFwKWAsIGFuZCBtdWx0aXBsZSB2YWx1ZXMgcGVyIGtleSBhcmUgcHJlc2VydmVkIGluIGluc2VydGlvbiBvcmRlci4gS2V5IGxvb2t1cHMgYWNyb3NzIGFsbCBvcGVyYXRpb25zIGFyZSBjYXNlLWluc2Vuc2l0aXZlLCB3aGlsZSB2YWx1ZSBjb21wYXJpc29ucyByZW1haW4gY2FzZS1zZW5zaXRpdmUsIGFsbG93aW5nIHNhZmUgcm91bmQtdHJpcCBoYW5kbGluZyBvZiByZWFsLXdvcmxkIEhUVFAgaGVhZGVycy4iLCAiTUNQLlNldHRpbmciOiAiSG9sZHMgdGhlIGF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBNYW5hZ2VkIENsaWVudCBQcm94eSBpbnRlZ3JhdGlvbiwgaW5jbHVkaW5nIGEgc2hhcmVkIHNlY3JldCBhbmQgYSBmbGFnIGNvbnRyb2xsaW5nIHdoZXRoZXIgZG9tYWluIG5hbWVzIGFyZSBwcmVzZXJ2ZWQgZHVyaW5nIHRva2VuIGV4Y2hhbmdlLiBQb2xpY3kgcnVsZXMgcmV0cmlldmUgYW4gaW5zdGFuY2UgdmlhIGBNQ1AuR2V0U2V0dGluZ2AgYW5kIHBhc3MgaXQgdG8gYE1DUC5BdXRoZW50aWNhdGVgIHRvIHZhbGlkYXRlIGNsaWVudCBpZGVudGl0eSBhZ2FpbnN0IHRoZSBzaGFyZWQgc2VjcmV0LiBBIHNldHRpbmcgaXMgY29uc2lkZXJlZCB2YWxpZCBvbmx5IHdoZW4gdGhlIHNoYXJlZCBzZWNyZXQgZXhjZWVkcyAxNiBjaGFyYWN0ZXJzLiIsICJNZWRpYVR5cGUiOiAiUmVwcmVzZW50cyBhIHNpbmdsZSBNSU1FIG1lZGlhIHR5cGUgc3RyaW5nIHVzZWQgdG8gY2xhc3NpZnkgSFRUUCBib2R5IGNvbnRlbnQuIEluc3RhbmNlcyBhcHBlYXIgaW4gcG9saWN5IHJ1bGVzIGFzIGVsZW1lbnRzIG9mIGBWRUNUT1I8TWVkaWFUeXBlPmAgYW5kIGFyZSB0ZXN0ZWQgZm9yIG1lbWJlcnNoaXAgb3IgcmVnZXggbWF0Y2ggdXNpbmcgYENvbnRhaW5zYCBhbmQgYENvbnRhaW5zTWF0Y2hgLiBUaGUgYFVDRS5GaWxlVHJhbnNmZXJDb250cm9sTGlzdGAgdHlwZSBwYWlycyBob3N0IHBhdHRlcm5zIHdpdGggYSBtZWRpYSB0eXBlIHRvIGNvbnRyb2wgZmlsZSB0cmFuc2ZlciBwZXJtaXNzaW9ucy4iLCAiTVdHLkFub255bWl6YXRpb25TZXR0aW5nIjogIkhvbGRzIHRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgYW5vbnltaXphdGlvbiBlbmdpbmUsIHdoaWNoIHBzZXVkb255bWl6ZXMgc3RyaW5nIHZhbHVlcyBpbiBwb2xpY3kgcnVsZXMgdG8gc3VwcG9ydCBkYXRhLXByaXZhY3kgcmVxdWlyZW1lbnRzLiBJdCBpcyBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIGBNV0cuQW5vbnltaXplYCwgd2hpY2ggcmV0dXJucyB0aGUgaGFzaGVkIG9yIGFub255bWl6ZWQgZm9ybSBvZiBhIGdpdmVuIHN0cmluZy4gVGhlIHNldHRpbmcgaXMgbG9hZGVkIGZyb20gdGhlIGdhdGV3YXkgcG9saWN5IHN0b3JlIGFuZCBpcyBub3QgZGlyZWN0bHkgY29uc3RydWN0aWJsZSBpbiBydWxlIHNjcmlwdHMuIiwgIk1XRy5BbnRpbWFsd2FyZVNldHRpbmciOiAiSG9sZHMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBHQU0tYmFzZWQgYW50aW1hbHdhcmUgc2Nhbm5lciwgaW5jbHVkaW5nIHNjYW4gbW9kZSBmbGFncyAoYW50aXZpcnVzLW9ubHksIGFudGl2aXJ1cy1wbHVzLWFudGltYWx3YXJlLCBBdmlyYSBjb3ZlcmFnZSBvcHRpb25zKSwgcHJvYWN0aXZlIHNjYW4gcGFyYW1ldGVycywgYW5kIHRocmVhdC1yYXRpbmcgdGhyZXNob2xkcy4gUG9saWN5IHJ1bGVzIHBhc3MgaXQgdG8gYE1XRy5BbnRpbWFsd2FyZUVuYWJsZVN0cmVhbVNjYW5uZXJgIHRvIGFjdGl2YXRlIHNjYW5uaW5nLCBhbmQgdGhlbiBxdWVyeSB0aGUgc2NhbiBvdXRjb21lIHdpdGggYE1XRy5Cb2R5SW5mZWN0ZWRgLCBgTVdHLlZpcnVzTmFtZXNgLCBgTVdHLk1hbHdhcmVQcm9iYWJpbGl0eWAsIGFuZCBgTVdHLkFWTWl0cmVUYWdzYC4gTUFURCBtb2RlIGlzIGV4cGxpY2l0bHkgc3VwcHJlc3NlZCBpbiB0aGlzIHR5cGU7IHVzZSBgTVdHLk1BVERTZXR0aW5nYCB3aGVuIE1BVEQgc2Nhbm5pbmcgaXMgcmVxdWlyZWQuIiwgIk1XRy5BcHBsaWNhdGlvbkNhdGVnb3J5VHlwZSI6ICJIb2xkcyB0aGUgaWRlbnRpZmllciBvZiBhIHRvcC1sZXZlbCBhcHBsaWNhdGlvbiBjYXRlZ29yeSBhcyBkZXRlY3RlZCBieSB0aGUgYXBwbGljYXRpb24gY29udHJvbCBlbmdpbmUuIGBNV0cuQXBwbGljYXRpb25DYXRlZ29yeUlEYCByZXR1cm5zIHRoaXMgdHlwZSBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24sIGFuZCBgVG9TdHJpbmdgIGNvbnZlcnRzIGl0IHRvIGl0cyBzdHJpbmcgSUQgZm9yIGxvZ2dpbmcgb3IgY29tcGFyaXNvbi4gVmFsdWVzIGFwcGVhciBpbiBgVkVDVE9SPE1XRy5BcHBsaWNhdGlvbkNhdGVnb3J5VHlwZT5gIGxpc3RzIHRoYXQgcG9saWN5IHJ1bGVzIGNhbiBidWlsZCwgc2xpY2UsIGpvaW4sIGFuZCB0ZXN0IGFnYWluc3QuIiwgIk1XRy5BcHBsaWNhdGlvblNlcnZpY2VHcm91cFR5cGUiOiAiSG9sZHMgdGhlIGlkZW50aWZpZXIgb2YgYSBuYW1lZCBzZXJ2aWNlIGdyb3VwLCB3aGljaCBpcyBhbiBhZG1pbmlzdHJhdG9yLWRlZmluZWQgY29sbGVjdGlvbiBvZiBhcHBsaWNhdGlvbnMuIGBNV0cuQXBwbGljYXRpb25Jc0luU2VydmljZUdyb3VwYCBhY2NlcHRzIGEgc2luZ2xlIHZhbHVlIG9mIHRoaXMgdHlwZSB0byBjaGVjayB3aGV0aGVyIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uIGJlbG9uZ3MgdG8gdGhlIGdyb3VwLCBhbmQgYE1XRy5BcHBsaWNhdGlvblNlcnZpY2VHcm91cGAgYWNjZXB0cyBvbmUgdG8gcmV0dXJuIHRoZSBmdWxsIHZlY3RvciBvZiBtZW1iZXIgYXBwbGljYXRpb24gSURzLiBgTVdHLlNlcnZpY2VJc0NvbnRhaW5lZEluU2VydmljZUdyb3Vwc2AgYWNjZXB0cyBhIGBWRUNUT1I8TVdHLkFwcGxpY2F0aW9uU2VydmljZUdyb3VwVHlwZT5gIHRvIHRlc3QgbWVtYmVyc2hpcCBhY3Jvc3MgbXVsdGlwbGUgZ3JvdXBzIGF0IG9uY2UuIiwgIk1XRy5BcHBsaWNhdGlvblN1YkNhdGVnb3J5VHlwZSI6ICJIb2xkcyB0aGUgaWRlbnRpZmllciBvZiBhbiBhcHBsaWNhdGlvbiBzdWItY2F0ZWdvcnksIHdoaWNoIHJlZmluZXMgdGhlIGJyb2FkZXIgY2F0ZWdvcnkgY2xhc3NpZmljYXRpb24gcHJvZHVjZWQgYnkgdGhlIGFwcGxpY2F0aW9uIGNvbnRyb2wgZW5naW5lLiBgTVdHLkFwcGxpY2F0aW9uU3ViQ2F0ZWdvcnlJRGAgcmV0dXJucyB0aGlzIHR5cGUgZm9yIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLCBhbmQgYFRvU3RyaW5nYCBjb252ZXJ0cyBpdCB0byBpdHMgc3RyaW5nIHJlcHJlc2VudGF0aW9uLiBWYWx1ZXMgY2FuIGJlIHRlc3RlZCBpbmRpdmlkdWFsbHkgb3IgY29sbGVjdGVkIGludG8gYFZFQ1RPUjxNV0cuQXBwbGljYXRpb25TdWJDYXRlZ29yeVR5cGU+YCBsaXN0cyBpbiBwb2xpY3kgcnVsZXMuIiwgIk1XRy5BcHBsaWNhdGlvblR5cGUiOiAiSG9sZHMgdGhlIGlkZW50aWZpZXIgb2YgYSBzcGVjaWZpYyBkZXRlY3RlZCBhcHBsaWNhdGlvbiwgc2VyaWFsaXplZCBhcyBhIHN0cmluZyBJRCBpbiB0aGUgdW5kZXJseWluZyBgQXBwbGljYXRpb25JRGAgY2xhc3MuIGBNV0cuQXBwbGljYXRpb25JRGAgcmV0dXJucyB0aGlzIHR5cGUgZm9yIHRoZSBjdXJyZW50bHkgZGV0ZWN0ZWQgYXBwbGljYXRpb24sIGFuZCBgTVdHLkNsb3VkU2VydmljZUlEYCByZXR1cm5zIGl0IGZvciB0aGUgZGV0ZWN0ZWQgY2xvdWQgc2VydmljZSB3aXRob3V0IGFjdGl2aXR5IGNvbnRleHQuIGBUb1N0cmluZ2AgY29udmVydHMgdGhlIHZhbHVlIHRvIGl0cyBzdHJpbmcgSUQsIGFuZCB0aGUgdHlwZSBhcHBlYXJzIGluIGBWRUNUT1I8TVdHLkFwcGxpY2F0aW9uVHlwZT5gIGxpc3RzIHByb2R1Y2VkIGJ5IGNhbGxhYmxlcyBzdWNoIGFzIGBNV0cuQXBwbGljYXRpb25TZXJ2aWNlR3JvdXBgLiIsICJNV0cuQXV0aGVudGljYXRpb25TZXJ2ZXJPcHRpb25zIjogIkNhcnJpZXMgdGhlIHBhcmFtZXRlcnMgZm9yIGFuIGF1dGhlbnRpY2F0aW9uIHNlcnZlciBlbnRyeSwgcmVjb3JkaW5nIHdoZXRoZXIgYXV0aGVudGljYXRpb24gaXMgY29va2llLWJhc2VkIG9yIElQLWJhc2VkLCB3aGV0aGVyIHRoZSBtb2RlIGlzIHN0cmljdCBvciByZWxheGVkLCBhbmQgYSBzZXNzaW9uIFRUTCBpbiBzZWNvbmRzLiBJdCBpcyBsb2FkZWQgZnJvbSB0aGUgZ2F0ZXdheSBwb2xpY3kgc3RvcmUgYW5kIGlzIG5vdCBkaXJlY3RseSBjb25zdHJ1Y3RpYmxlIGluIHJ1bGUgc2NyaXB0czsgaW50ZXJuYWwgZ2F0ZXdheSBjYWxsYWJsZXMgcmVhZCBpdHMgZmllbGRzIHRvIG1ha2UgcGVyLXRyYW5zYWN0aW9uIGF1dGhlbnRpY2F0aW9uIHJvdXRpbmcgZGVjaXNpb25zLiIsICJNV0cuQXp1cmVEaXJMb29rdXBTZXR0aW5nIjogIkhvbGRzIHRoZSBjb25uZWN0aW9uIGFuZCBhdXRoZW50aWNhdGlvbiBwYXJhbWV0ZXJzIGZvciBxdWVyeWluZyBNaWNyb3NvZnQgRW50cmEgSUQgZ3JvdXAgbWVtYmVyc2hpcCwgaW5jbHVkaW5nIHRoZSB0ZW5hbnQgSUQsIGFwcGxpY2F0aW9uIGNyZWRlbnRpYWxzLCBDQSBjZXJ0aWZpY2F0ZSBsaXN0IGZvciBUTFMgdmFsaWRhdGlvbiwgY2FjaGUgY29uZmlndXJhdGlvbiwgYW5kIG5ldHdvcmsgdGltZW91dCB2YWx1ZXMuIFBvbGljeSBydWxlcyBzdXBwbHkgaXQgdG8gYE1XRy5HZXRVc2VyQXp1cmVHcm91cHNgIGFsb25nc2lkZSBhIHVzZXJuYW1lIHRvIHJldHJpZXZlIHRoZSB1c2VyJ3MgRW50cmEgSUQgZ3JvdXAgbGlzdC4gVGhlIHNldHRpbmcgaXMgbG9hZGVkIGZyb20gdGhlIGdhdGV3YXkgcG9saWN5IHN0b3JlIGFuZCByZWxpZXMgb24gYSBrbm93bi1DQSBsaXN0IHRoYXQgaXMgaW5qZWN0ZWQgYXQgY2FsbCB0aW1lLiIsICJNV0cuQmxvY2tTZXR0aW5nIjogIkNvbmZpZ3VyZXMgdGhlIGJsb2NrIHBhZ2UgZGlzcGxheWVkIHdoZW4gYSB0cmFuc2FjdGlvbiBpcyBkZW5pZWQsIGhvbGRpbmcgdGhlIHRlbXBsYXRlIG5hbWUsIGRpcmVjdG9yeSwgYmxvY2sgcmVhc29uIHRleHQsIGJsb2NrIHJlYXNvbiBJRCwgYW5kIGRpc3BsYXkgbGFuZ3VhZ2UgKFwiYXV0b1wiLCBcInRyYW5zYWN0aW9uXCIsIG9yIGFuIGV4cGxpY2l0IGNvdW50cnkgY29kZSkuIFBvbGljeSBydWxlcyBwYXNzIGEgYE1XRy5CbG9ja1NldHRpbmdgIHZhbHVlIHRvIGBNV0cuQmxvY2tgIG9yIGBBZ2VudGxlc3NBZGRCbG9ja1BhZ2VgIHRvIGNvbnRyb2wgd2hpY2ggYmxvY2sgcGFnZSB0ZW1wbGF0ZSBpcyByZW5kZXJlZCBhbmQgaW4gd2hpY2ggbGFuZ3VhZ2UuIiwgIk1XRy5DZXJ0aWZpY2F0ZUF1dGhvcml0eUxpc3QiOiAiSG9sZHMgYW4gb3JkZXJlZCBjb2xsZWN0aW9uIG9mIENBIGNlcnRpZmljYXRlcywgZWFjaCBwYWlyZWQgd2l0aCBhIHRydXN0IGZsYWcsIGEgc2V0IG9mIENSTCBkaXN0cmlidXRpb24gVVJMcywgYW5kIGFuIE9DU1AgVVJMOyBhbiBvcmRlci1pbmRlcGVuZGVudCBjb250ZW50IGhhc2ggYW5kIGFuIE9wZW5TU0wgWDUwOV9TVE9SRSB0cnVzdCBjYWNoZSBhcmUgZGVyaXZlZCBmcm9tIHRoZSBsaXN0IGF0IGxvYWQgdGltZS4gQ2VydGlmaWNhdGUgY2hhaW4gdmVyaWZpY2F0aW9uIGZ1bmN0aW9ucyBzdWNoIGFzIGBNV0cuU2VydmVyQ2hhaW5Db21wbGV0ZWAsIGBNV0cuU2VydmVyQ2hhaW5Gb3VuZEtub3duQ0FgLCBhbmQgYE1XRy5TZXJ2ZXJDaGFpbkZpcnN0S25vd25DQUlzVHJ1c3RlZGAgYWNjZXB0IGEgYE1XRy5DZXJ0aWZpY2F0ZUF1dGhvcml0eUxpc3RgIGFzIGlucHV0OyBsaXN0cyBhcmUgcmV0cmlldmVkIGJ5IGBNV0cuQ0FMaXN0QnlOYW1lYCBvciBjcmVhdGVkIGVtcHR5IGJ5IGBNV0cuQ3JlYXRlQ2VydGlmaWNhdGVBdXRob3JpdHlMaXN0YC4iLCAiTVdHLkNlcnRpZmljYXRlVmVyaWZpY2F0aW9uU2V0dGluZyI6ICJIb2xkcyB0aGUgY29uZmlndXJhdGlvbiB0aGF0IGdvdmVybnMgVExTIHNlcnZlciBjZXJ0aWZpY2F0ZSBjaGFpbiB2ZXJpZmljYXRpb24sIGluY2x1ZGluZyB0aGUgdHJ1c3Qtc3RvcmUgcmVmZXJlbmNlIGFuZCBjaGFpbiBldmFsdWF0aW9uIHBhcmFtZXRlcnMuIEl0IGlzIHBhaXJlZCB3aXRoIGEgYE1XRy5DZXJ0aWZpY2F0ZUF1dGhvcml0eUxpc3RgIGFuZCBwYXNzZWQgdG8gdGhlIGBNV0cuU2VydmVyQ2hhaW4qYCBmYW1pbHkgb2YgZnVuY3Rpb25zIFx1MjAxNCBgTVdHLlNlcnZlckNoYWluQ29tcGxldGVgLCBgTVdHLlNlcnZlckNoYWluQ29udGFpbnNFeHBpcmVkQ0FgLCBgTVdHLlNlcnZlckNoYWluQ29udGFpbnNSZXZva2VkYCwgYE1XRy5TZXJ2ZXJDaGFpbkNvbnRhaW5zVmlvbGF0aW9uYCwgYE1XRy5TZXJ2ZXJDaGFpbkZvdW5kS25vd25DQWAsIGBNV0cuU2VydmVyQ2hhaW5GaXJzdEtub3duQ0FJc1RydXN0ZWRgLCBgTVdHLlNlcnZlckNoYWluTGVuZ3RoYCwgYE1XRy5TZXJ2ZXJDaGFpblNpZ25hdHVyZUFsZ29yaXRobXNgLCBhbmQgYE1XRy5TZXJ2ZXJDaGFpbklzc3VlckNOc2AgXHUyMDE0IHdoaWNoIHRvZ2V0aGVyIGxldCBwb2xpY3kgcnVsZXMgaW5zcGVjdCBhbmQgbWFrZSBkZWNpc2lvbnMgYWJvdXQgdGhlIHNlcnZlciBjZXJ0aWZpY2F0ZSBjaGFpbi4iLCAiTVdHLkNsaWVudENvbnRleHRGd2RQcm94eVNldHRpbmciOiAiSG9sZHMgdGhlIFRMUyBjbGllbnQgY29udGV4dCBjb25maWd1cmF0aW9uIGZvciBmb3J3YXJkIHByb3h5IGNvbm5lY3Rpb25zLCBjb250cm9sbGluZyBob3cgdGhlIHByb3h5IHByZXNlbnRzIGl0c2VsZiBkdXJpbmcgb3V0Ym91bmQgVExTIGhhbmRzaGFrZXMuIFBvbGljeSBydWxlcyBwYXNzIGEgdmFsdWUgb2YgdGhpcyB0eXBlIHRvIGBNV0cuU2V0U1NMQ2xpZW50Q29udGV4dEZ3ZFByb3h5YCB0byBhY3RpdmF0ZSB0aGUgY29uZmlndXJlZCBjb250ZXh0IGZvciBhIGNvbm5lY3Rpb24uIiwgIk1XRy5DbGllbnRDb250ZXh0UmV2UHJveHlTZXR0aW5nIjogIkhvbGRzIHRoZSBUTFMgY2xpZW50IGNvbnRleHQgY29uZmlndXJhdGlvbiBmb3IgcmV2ZXJzZSBwcm94eSBjb25uZWN0aW9ucywgaW5jbHVkaW5nIHRoZSBzZXJ2ZXIgY2VydGlmaWNhdGVzIGFuZCB0aGUgaG9zdCBwYXR0ZXJucyAod2lsZGNhcmQgYW5kIG5vbi13aWxkY2FyZCkgZXh0cmFjdGVkIGZyb20gdGhvc2UgY2VydGlmaWNhdGVzLiBQb2xpY3kgcnVsZXMgcGFzcyBhIHZhbHVlIG9mIHRoaXMgdHlwZSB0byBgTVdHLlNldFNTTENsaWVudENvbnRleHRSZXZQcm94eWAgdG8gYXBwbHkgdGhlIHJldmVyc2UgcHJveHkgVExTIGlkZW50aXR5LCBhbmQgdXNlIGBNV0cuSGFzTWF0Y2hpbmdDZXJ0aWZpY2F0ZWAgdG8gY2hlY2sgd2hldGhlciBhIGNlcnRpZmljYXRlIGNvdmVyaW5nIGEgZ2l2ZW4gaG9zdCBpcyBwcmVzZW50IGluIHRoZSBzZXR0aW5nLiIsICJNV0cuQ2xpZW50TG9jYXRpb25Qcm9wZXJ0aWVzIjogIk1hcHMgY2xpZW50IGVncmVzcyBJUCBhZGRyZXNzZXMgYW5kIGxvY2F0aW9uIElEcyB0byBhIGJ1bmRsZSBvZiBwZXItbG9jYXRpb24gYXR0cmlidXRlcyBcdTIwMTQgbG9jYXRpb24gSUQsIGxvY2F0aW9uIG5hbWUsIGxvZyBzdG9yYWdlIHJlZ2lvbiwgYW5kIFNBTUwgY29uZmlndXJhdGlvbiBJRCBcdTIwMTQgbG9hZGVkIGZyb20gdGhlIGdhdGV3YXkgcG9saWN5IHN0b3JlLiBBZnRlciB0aGUgZ2F0ZXdheSByZXNvbHZlcyBsb2NhdGlvbiBwcm9wZXJ0aWVzIGludG8gdGhlIHRyYW5zYWN0aW9uIGNvbnRleHQsIGBNV0cuU2FtbENvbmZpZ0J5TG9jYXRpb25gIHJlYWRzIHRoZSBzdG9yZWQgU0FNTCBjb25maWd1cmF0aW9uIElEIHRvIHJvdXRlIHRoZSBjbGllbnQgdG8gdGhlIGNvcnJlY3QgaWRlbnRpdHkgcHJvdmlkZXIuIiwgIk1XRy5DbG91ZFN0b3JhZ2VFbmNyeXB0aW9uU2V0dGluZyI6ICJIb2xkcyB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIENBU0IgY2xvdWQtc3RvcmFnZSBlbmNyeXB0aW9uIGVuZ2luZSwgd2hpY2ggY29udHJvbHMgY2xpZW50LXNpZGUgZW5jcnlwdGlvbiBvZiBkYXRhIHVwbG9hZGVkIHRvIGNsb3VkIHN0b3JhZ2Ugc2VydmljZXMuIFBvbGljeSBydWxlcyBjb252ZXJ0IGl0IHRvIGFuIGludGVybmFsIGVuZ2luZSBoYW5kbGUgdmlhIGBNV0cuVG9NV0dTZXR0aW5nYCBhbmQgdGhlbiBhY3RpdmF0ZSB0aGUgZmlsdGVyIHdpdGggYE1XRy5FbmFibGVgLiBJdCBpcyBwYWlyZWQgd2l0aCBgTVdHLkNsb3VkU3RvcmFnZUVuY3J5cHRpb25TdXBwb3J0U2V0dGluZ2AsIHdoaWNoIGNhcnJpZXMgdGhlIGVuZ2luZSdzIHN1cHBsZW1lbnRhbCBwcm9wZXJ0eSBjb25maWd1cmF0aW9uLiIsICJNV0cuQ2xvdWRTdG9yYWdlRW5jcnlwdGlvblN1cHBvcnRTZXR0aW5nIjogIkhvbGRzIHN1cHBsZW1lbnRhbCBwcm9wZXJ0eSBjb25maWd1cmF0aW9uIGZvciB0aGUgQ0FTQiBjbG91ZC1zdG9yYWdlIGVuY3J5cHRpb24gZmlsdGVyLCBjb21wbGVtZW50aW5nIGBNV0cuQ2xvdWRTdG9yYWdlRW5jcnlwdGlvblNldHRpbmdgLiBQb2xpY3kgcnVsZXMgY29udmVydCBpdCB0byBhbiBpbnRlcm5hbCBlbmdpbmUgaGFuZGxlIHZpYSBgTVdHLlRvTVdHU2V0dGluZ2AgYW5kIGFjdGl2YXRlIHRoZSBmaWx0ZXIgd2l0aCBgTVdHLkVuYWJsZWAuIEJvdGggc2V0dGluZ3MgbXVzdCBiZSBkZXBsb3llZCB0b2dldGhlciB0byBmdWxseSBjb25maWd1cmUgdGhlIENBU0IgZW5jcnlwdGlvbiBwaXBlbGluZS4iLCAiTVdHLkNvbXBvc2l0ZU9wZW5lclNldHRpbmciOiAiSG9sZHMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjb21wb3NpdGUgKGFyY2hpdmUgYW5kIGRvY3VtZW50KSBvcGVuZXIgZW5naW5lLCBpbmNsdWRpbmcgdGhlIG1heGltdW0gbmVzdGVkLW9iamVjdCBkZXB0aCwgdGhlIHVuY29tcHJlc3NlZC1zaXplIGxpbWl0LCBhbmQgdGhlIGNvbXByZXNzaW9uLXJhdGlvIGxpbWl0LiBQb2xpY3kgcnVsZXMgcGFzcyBpdCB0byBgTVdHLkVuYWJsZU9wZW5lcmAgdG8gYWN0aXZhdGUgcmVjdXJzaXZlIGNvbnRlbnQgZXh0cmFjdGlvbiwgYWZ0ZXIgd2hpY2ggYXJjaGl2ZS1pbnNwZWN0aW9uIGZ1bmN0aW9ucyBzdWNoIGFzIGBNV0cuQm9keUlzRW5jcnlwdGVkT2JqZWN0YCwgYE1XRy5Cb2R5QWxsTWVtYmVyQ291bnRgLCBhbmQgYE1XRy5Cb2R5TmVzdGVkQXJjaGl2ZUxldmVsYCBiZWNvbWUgYXZhaWxhYmxlIGZvciB0aGUgY3VycmVudCB0cmFuc2FjdGlvbi4iLCAiTVdHLkRhdGFUcmlja2xpbmdTZXR0aW5nIjogIkhvbGRzIHRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgZGF0YS10cmlja2xpbmcgZW5naW5lLCB3aGljaCBjb250cm9scyBob3cgcGFydGlhbCByZXNwb25zZSBkYXRhIGlzIGZvcndhcmRlZCB0byB0aGUgY2xpZW50IHdoaWxlIHRoZSBwcm94eSBjb250aW51ZXMgc2Nhbm5pbmcgdGhlIGJvZHksIGluY2x1ZGluZyB0aGUgaW5pdGlhbCBjaHVuayBzaXplIGFuZCB0aGUgb25nb2luZyBmb3J3YXJkaW5nIHJhdGUuIFBvbGljeSBydWxlcyBwYXNzIGl0IHRvIGBNV0cuRW5hYmxlRGF0YVRyaWNrbGluZ2AgdG8gYWN0aXZhdGUgdGhlIGZlYXR1cmUgZm9yIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLiBXaGV0aGVyIHRyaWNrbGluZyBpcyBjdXJyZW50bHkgYWN0aXZlIGNhbiBiZSBjaGVja2VkIHdpdGggYE1XRy5EYXRhVHJpY2tsaW5nRW5hYmxlZGAuIiwgIk1XRy5ETFBDbGFzc2lmaWNhdGlvblNldHRpbmciOiAiQ29uZmlndXJlcyB0aGUgRExQIGNsYXNzaWZpY2F0aW9uIGVuZ2luZSwgd2hpY2ggYXBwbGllcyBjb250ZW50LWNsYXNzaWZpY2F0aW9uIHJ1bGVzIHRvIGlkZW50aWZ5IHNlbnNpdGl2ZSBkYXRhIGluIHRyYWZmaWMuIFBvbGljeSBydWxlcyBwYXNzIGl0IHRvIGBNV0cuRExQQ2xhc3NpZmljYXRpb25NYXRjaGVzYCB0byB0ZXN0IHdoZXRoZXIgYm9keSBvciBhcmJpdHJhcnkgdGV4dCBjb250YWlucyBhIGNsYXNzaWZpY2F0aW9uIG1hdGNoLCBhbmQgdG8gYE1XRy5ETFBDbGFzc2lmaWNhdGlvbk1hdGNoZWRUZXJtc2AgYW5kIGBNV0cuRExQQ2xhc3NpZmljYXRpb25NYXRjaGVkQ2xhc3NpZmljYXRpb25zYCB0byByZXRyaWV2ZSB0aGUgc3BlY2lmaWMgbWF0Y2hlZCB0ZXJtcyBhbmQgY2xhc3NpZmljYXRpb24gbGFiZWxzLiIsICJNV0cuRExQRGljdGlvbmFyeVNldHRpbmciOiAiQ29uZmlndXJlcyB0aGUgRExQIGRpY3Rpb25hcnkgZW5naW5lLCB3aGljaCBzY2FucyBjb250ZW50IGFnYWluc3QgYSBzZXQgb2YgZGVmaW5lZCBrZXl3b3JkIG9yIHBocmFzZSBsaXN0cy4gUG9saWN5IHJ1bGVzIHBhc3MgaXQgdG8gYE1XRy5ETFBEaWN0aW9uYXJ5TWF0Y2hlc2AgdG8gdGVzdCB3aGV0aGVyIGJvZHkgb3IgYXJiaXRyYXJ5IHRleHQgY29udGFpbnMgYSBkaWN0aW9uYXJ5IG1hdGNoLCBhbmQgdG8gYE1XRy5ETFBEaWN0aW9uYXJ5TWF0Y2hlZFRlcm1zYCB0byByZXRyaWV2ZSB0aGUgbWF0Y2hlZCB0ZXJtcy4iLCAiTVdHLkVuYWJsZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uU2V0dGluZyI6ICJDb25maWd1cmVzIHdoZXRoZXIgYW5kIGhvdyB0aGUgcHJveHkgdmVyaWZpZXMgc2VydmVyLXNpZGUgVExTIGNlcnRpZmljYXRlcyBkdXJpbmcgb3V0Ym91bmQgY29ubmVjdGlvbnMuIEEgdmFsdWUgb2YgdGhpcyB0eXBlIGlzIHBhc3NlZCB0byBgTVdHLkVuYWJsZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uYCBpbiBwb2xpY3kgcnVsZXMgdG8gYWN0aXZhdGUgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBvcHRpb25zLiIsICJNV0cuRW5hYmxlQ29udGVudEluc3BlY3Rpb25TZXR0aW5nIjogIkNvbmZpZ3VyZXMgVExTIGRlY3J5cHRpb24gKGNvbnRlbnQgaW5zcGVjdGlvbikgZm9yIGNvbm5lY3Rpb25zIHBhc3NpbmcgdGhyb3VnaCB0aGUgcHJveHksIGdvdmVybmluZyB0aGUgcGFyYW1ldGVycyB1bmRlciB3aGljaCBlbmNyeXB0ZWQgdHJhZmZpYyBpcyBpbnRlcmNlcHRlZCBhbmQgaW5zcGVjdGVkLiBQb2xpY3kgcnVsZXMgcGFzcyBhIHZhbHVlIG9mIHRoaXMgdHlwZSB0byBgTVdHLkVuYWJsZUNvbnRlbnRJbnNwZWN0aW9uYCB0byBhY3RpdmF0ZSBkZWNyeXB0aW9uIGZvciB0aGUgY3VycmVudCBjb25uZWN0aW9uLiIsICJNV0cuSGVhZGVyTWFwIjogIlByb3ZpZGVzIHJlYWQgYW5kIHdyaXRlIGFjY2VzcyB0byB0aGUgSFRUUCBoZWFkZXIgZmllbGRzIG9mIGEgcmVxdWVzdCBvciByZXNwb25zZSwgYmFja2VkIGJ5IGVpdGhlciBhIGxpdmUgdHJhbnNhY3Rpb24gb2JqZWN0IG9yIGEgc3RyaW5nLWxpc3QgZGVsaXZlcmVkIGZyb20gYSBmaWx0ZXIgcGx1Z2luIHN1Y2ggYXMgdGhlIElDQVAgY2xpZW50LiBQb2xpY3kgcnVsZXMgcmV0cmlldmUgYSBgTVdHLkhlYWRlck1hcGAgZnJvbSBgTVdHLkhlYWRlcnNgIChwYXNzaW5nIGEgYE1XRy5SZXF1ZXN0UmVzcG9uc2VgKSBhbmQgdGhlbiBpbnNwZWN0IG9yIG11dGF0ZSBoZWFkZXJzIHRocm91Z2ggY2FsbGFibGVzIHN1Y2ggYXMgYE1XRy5BZGRgIGFuZCBgTVdHLktleXNgLiIsICJNV0cuSG9zdEFuZENlcnRpZmljYXRlIjogIlBhaXJzIGEgc2VydmVyIGhvc3RuYW1lIChzdG9yZWQgYXMgYm90aCBhIHBsYWluIHN0cmluZyBhbmQgYSBjb21waWxlZCByZWdleCBmb3IgbWF0Y2hpbmcpIHdpdGggaXRzIFRMUyBjZXJ0aWZpY2F0ZSwgcmVwcmVzZW50ZWQgYXMgYSBQRU0gc3RyaW5nIGFuZCBhIGNlcnRpZmljYXRlIGhhc2guIGBNV0cuU2VydmVySG9zdEFuZENlcnRgIHJldHVybnMgdGhlIGhvc3RuYW1lIGFuZCBmdWxsIHNlcnZlciBjZXJ0aWZpY2F0ZSBhcyBhIGBNV0cuSG9zdEFuZENlcnRpZmljYXRlYCwgYE1XRy5TZXJ2ZXJPbmx5Q2VydGAgcmV0dXJucyBvbmx5IHRoZSBsZWFmIGNlcnRpZmljYXRlLCBhbmQgYE1XRy5Ib3N0QW5kQ2VydGlmaWNhdGVMaXN0QnlOYW1lYCByZXRyaWV2ZXMgbmFtZWQgbGlzdHMgb2YgdGhlc2UgcGFpcnMgZm9yIHVzZSBpbiBwaW5uaW5nIG9yIGFsbG93LWxpc3QgcG9saWN5IHJ1bGVzLiIsICJNV0cuSFRNTE9wZW5lclNldHRpbmciOiAiQ29uZmlndXJlcyB0aGUgSFRNTCBvcGVuZXIgZmVhdHVyZSwgd2hpY2ggY29udHJvbHMgaG93IHRoZSBnYXRld2F5IHByb2Nlc3NlcyBhbmQgcmVuZGVycyBIVE1MIGNvbnRlbnQgZHVyaW5nIGluc3BlY3Rpb24uIFBvbGljeSBydWxlcyBwYXNzIGl0IHRvIGBNV0cuRW5hYmxlSFRNTE9wZW5lcmAgdG8gYWN0aXZhdGUgdGhlIGZlYXR1cmUgZm9yIGEgcmVxdWVzdC4iLCAiTVdHLklDQVBDbGllbnRTZXR0aW5nIjogIkNvbmZpZ3VyZXMgYW4gSUNBUCBjbGllbnQgY29ubmVjdGlvbiwgaW5jbHVkaW5nIHRoZSB0YXJnZXQgSUNBUCBzZXJ2ZXIgYW5kIHJlcXVlc3QgcGFyYW1ldGVycyBmb3IgUmVxTW9kIGFuZCBSZXNwTW9kIG9wZXJhdGlvbnMuIFBvbGljeSBydWxlcyBwYXNzIGl0IHRvIGBNV0cuSUNBUENsaWVudFJlcU1vZFNhdGlzZmFjdGlvbmAsIGBNV0cuSUNBUENsaWVudFJlc3BNb2RFbmNhcHN1bGF0ZWRIVFRQQ2hhbmdlZGAsIGBNV0cuSUNBUENsaWVudFJlcU1vZEhlYWRlcnNgLCBhbmQgYE1XRy5JQ0FQQ2xpZW50UmVzcE1vZEhlYWRlcnNgIHRvIGluc3BlY3QgcmVzdWx0cywgYW5kIHRvIGBNV0cuSUNBUENsaWVudEFkZFJlcXVlc3RIZWFkZXJgIGFuZCBgTVdHLklDQVBDbGllbnRBZGRSZXF1ZXN0VVJJUGFyYW1ldGVyYCB0byBtb2RpZnkgb3V0Z29pbmcgSUNBUCByZXF1ZXN0cy4iLCAiTVdHLkludGVybmFsRW5hYmxlRmlsdGVyTGlzdCI6ICJBIHJ1bnRpbWUtbWFuYWdlZCBxdWV1ZSBvZiBhY3RpdmUgZW5hYmxlIGZpbHRlcnMgXHUyMDE0IGRlZmVycmVkIGZpbHRlciBwaXBlbGluZSBlbnRyaWVzIGZvciB3aGljaCB0aGUgcHJveHkgaGFzIHJlcXVlc3RlZCBhZGRpdGlvbmFsIGJvZHkgZGF0YSBcdTIwMTQgc3RvcmVkIGluIHRoZSBNb3dnbGkgdHJhbnNhY3Rpb24gY29udGV4dCBhbmQgZHJhaW5lZCBpbmNyZW1lbnRhbGx5IGJ5IHRoZSBwcm94eSBwcm9jZXNzIGxvb3AgYXMgYnl0ZXMgYXJyaXZlLiBJdCBpcyBub3QgdXNlci1jb25zdHJ1Y3RpYmxlIGFuZCBjYW5ub3QgYmUgc2VyaWFsaXplZDsgaXQgaXMgY3JlYXRlZCBhbmQgY29uc3VtZWQgZW50aXJlbHkgd2l0aGluIHRoZSBwcm94eSBydW50aW1lLiIsICJNV0cuSW50ZXJuYWxQYXJhbWV0ZXJMaXN0IjogIkFuIG9yZGVyZWQsIG1peGVkLXR5cGUgYXJndW1lbnQgbGlzdCB1c2VkIHRvIHN1cHBseSBwYXJhbWV0ZXJzIHRvIGNsYXNzaWMgTVdHIFhNTCBlbmdpbmUgb3BlcmF0aW9ucywgaW50ZXJuYWxseSBiYWNrZWQgYnkgYSBga01peGVkTGlzdGAgdmFyaWFudCB0aGF0IGNhbiBob2xkIHN0cmluZ3MsIG51bWJlcnMsIGJvb2xlYW5zLCBJUCBhZGRyZXNzZXMsIElQIHJhbmdlcywgY2F0ZWdvcmllcywgbWVkaWEgdHlwZXMsIGRpbWVuc2lvbnMsIHJlZ2V4IHZhbHVlcywgbWFwcywgYW5kIG5lc3RlZCBgTVdHLkludGVybmFsVmFyaWFudGAgdmFsdWVzLiBMaXN0cyBhcmUgY29uc3RydWN0ZWQgd2l0aCBgTVdHLkNyZWF0ZVBhcmFtc2Agb3IgZXh0ZW5kZWQgd2l0aCBgTVdHLkFkZGAsIHRoZW4gcGFzc2VkIHRvIGBNV0cuR2V0UHJvcGVydHlWYWx1ZWAsIGBNV0cuR2V0UHJvcGVydHlWYWx1ZVdpdGhDb25maWdgLCBhbmQgYE1XRy5FeGVjdXRlRXZlbnRgLiIsICJNV0cuSW50ZXJuYWxTZXR0aW5nIjogIkNhcnJpZXMgYSBwYXJzZWQgWE1MIGZpbHRlciBjb25maWd1cmF0aW9uXHUyMDE0ZGVzZXJpYWxpemVkIGZyb20gSlNPTiBpbnRvIGEgYENQYXJzZWRDb25maWd1cmF0aW9uYFx1MjAxNGludG8gY2xhc3NpYyBNV0cgZW5naW5lIGNhbGxzLCBvcHRpb25hbGx5IHNjb3BlZCB0byBhIHRlbmFudC4gQ2FsbGFibGVzIGBNV0cuRW5hYmxlYCwgYE1XRy5FeGVjdXRlRXZlbnRgLCBhbmQgYE1XRy5HZXRQcm9wZXJ0eVZhbHVlV2l0aENvbmZpZ2AgYWNjZXB0IGEgYE1XRy5JbnRlcm5hbFNldHRpbmdgIHRvIGV4ZWN1dGUgYSBmaWx0ZXIgb3IgcmV0cmlldmUgYSBwcm9wZXJ0eSB2YWx1ZSB1bmRlciBhIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gcmF0aGVyIHRoYW4gdGhlIHRyYW5zYWN0aW9uJ3MgY3VycmVudCBhY3RpdmUgY29uZmlndXJhdGlvbi4iLCAiTVdHLkludGVybmFsVHJhbnNhY3Rpb25PYmplY3QiOiAiQW4gb3BhcXVlIHdyYXBwZXIgYXJvdW5kIHRoZSBsaXZlIHByb3h5IHRyYW5zYWN0aW9uIChgU2VjdXJlV2ViOjpJVHJhbnNhY3Rpb25gKSB0aGF0IGlzIGluamVjdGVkIGludG8gdGhlIE1vd2dsaSBzY3JpcHQgY29udGV4dCBhdCB0aGUgc3RhcnQgb2YgZWFjaCByZXF1ZXN0L3Jlc3BvbnNlIGN5Y2xlLiBJbnRlcm5hbCBnYXRld2F5IGNhbGxhYmxlcyByZXRyaWV2ZSBpdCB2aWEgY29udGV4dCBsb29rdXAgdG8gYWNjZXNzIHRyYW5zYWN0aW9uLWxldmVsIGRhdGE7IGl0IGNhbm5vdCBiZSBzZXJpYWxpemVkLCBkZXNlcmlhbGl6ZWQsIG9yIGNvbnN0cnVjdGVkIGluIHBvbGljeSBydWxlcy4iLCAiTVdHLkludGVybmFsVmFyaWFudCI6ICJBIHRoaW4gTU9XR0xJIG9iamVjdCBjbGFzcyB3cmFwcGVyIGFyb3VuZCBhIHR5cGVkIGBTZWN1cmVXZWI6OklWYXJpYW50YCB2YWx1ZSwgYnJpZGdpbmcgdGhlIGVuZ2luZSdzIGludGVybmFsIHBvbHltb3JwaGljIHZhbHVlIHN5c3RlbSB0byBwb2xpY3ktcnVsZSBleHByZXNzaW9ucy4gYE1XRy5HZXRQcm9wZXJ0eVZhbHVlYCBhbmQgYE1XRy5HZXRQcm9wZXJ0eVZhbHVlV2l0aENvbmZpZ2AgcmV0dXJuIGEgYE1XRy5JbnRlcm5hbFZhcmlhbnRgLCBhbmQgY29udmVyc2lvbiBjYWxsYWJsZXMgc3VjaCBhcyBgVG9TdHJpbmdgLCBgVG9OdW1iZXJgLCBgVG9Cb29sZWFuYCwgYFRvTWFwYCwgYW5kIGBUb1N0cmluZ1ZlY3RvcmAgZXh0cmFjdCB0eXBlZCB2YWx1ZXMgZnJvbSBpdCBmb3IgdXNlIGluIHJ1bGUgY29uZGl0aW9ucyBvciBhcyBhcmd1bWVudHMgdG8gYE1XRy5BZGRgIGFuZCBgTVdHLkNyZWF0ZVBhcmFtc2AuIiwgIk1XRy5JUFJhbmdlQXV0aGVudGljYXRpb24iOiAiTWFwcyBJUHY0IGFuZCBJUHY2IGFkZHJlc3MgcmFuZ2VzIHRvIHRlbmFudCBpZGVudGlmaWVyIHN0cmluZ3MgZm9yIElQLWJhc2VkIGF1dGhlbnRpY2F0aW9uLiBQb2xpY3kgcnVsZXMgcGFzcyBhIGBOZXQuSVBgIHZhbHVlIHRvIHRoZSBjYWxsYWJsZSB0aGF0IGFjY2VwdHMgYE1XRy5JUFJhbmdlQXV0aGVudGljYXRpb25gIGFuZCByZWNlaXZlcyBiYWNrIHRoZSB0ZW5hbnQgc3RyaW5nIGZvciB0aGF0IGNsaWVudCBhZGRyZXNzLiBCb3RoIElQdjQgYW5kIElQdjYgcmFuZ2VzIGFyZSBzdG9yZWQgc2VwYXJhdGVseSBhbmQgbG9va2VkIHVwIHdpdGggYW4gaW5jbHVzaXZlIHJhbmdlIGNoZWNrLiIsICJNV0cuSVZYQ2xvdWRTZXR0aW5nIjogIkNvbmZpZ3VyZXMgdGhlIFRyZWxsaXggSVZYIENsb3VkIG1hbHdhcmUtYW5hbHlzaXMgZmVhdHVyZSwgZW5mb3JjaW5nIHRoYXQgdGhlIElWWENsb3VkIGZsYWcgaXMgZW5hYmxlZCBpbiB0aGUgdW5kZXJseWluZyBhbnRpdmlydXMgY29uZmlndXJhdGlvbi4gUG9saWN5IHJ1bGVzIHBhc3MgaXQgdG8gYE1XRy5Cb2R5SW5mZWN0ZWRgIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBjdXJyZW50IGJvZHkgaXMgaW5mZWN0ZWQgYW5kIHRvIGBNV0cuVmlydXNOYW1lc2AgdG8gcmV0cmlldmUgdGhlIG5hbWVzIG9mIGFueSBkZXRlY3RlZCB2aXJ1c2VzLiIsICJNV0cuTG9nU3RvcmFnZVJlZ2lvblNldHRpbmciOiAiSG9sZHMgYSBzaW5nbGUgc2VsZWN0ZWQgY2xvdWQgc3RvcmFnZSByZWdpb24gdGhhdCBvdmVycmlkZXMgdGhlIGRlZmF1bHQgZGVzdGluYXRpb24gZm9yIGFjY2VzcyBsb2cgZGF0YS4gUG9saWN5IHJ1bGVzIHBhc3MgaXQgdG8gYE1XRy5Mb2dnaW5nU2V0U3RvcmFnZVJlZ2lvbmAgdG8gYXBwbHkgdGhlIHJlZ2lvbiBvdmVycmlkZSBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24uIiwgIk1XRy5NQVREU2V0dGluZyI6ICJDb25maWd1cmVzIHRoZSBNY0FmZWUgQWR2YW5jZWQgVGhyZWF0IERlZmVuc2UgKEFURCkgbWFsd2FyZS1hbmFseXNpcyBmZWF0dXJlLCBlbmZvcmNpbmcgdGhhdCB0aGUgTUFURCBmbGFnIGlzIGVuYWJsZWQgaW4gdGhlIHVuZGVybHlpbmcgYW50aXZpcnVzIGNvbmZpZ3VyYXRpb24uIFBvbGljeSBydWxlcyBwYXNzIGl0IHRvIGBNV0cuQm9keUluZmVjdGVkYCB0byBjaGVjayBmb3IgaW5mZWN0aW9uLCBgTVdHLlZpcnVzTmFtZXNgIHRvIHJldHJpZXZlIGRldGVjdGVkIHZpcnVzIG5hbWVzLCBhbmQgYE1XRy5NYWx3YXJlUHJvYmFiaWxpdHlgIHRvIG9idGFpbiBhIG51bWVyaWMgbWFsd2FyZSBwcm9iYWJpbGl0eSBzY29yZS4iLCAiTVdHLk5leHRIb3BQcm94eVNldHRpbmciOiAiSG9sZHMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGEgbmV4dC1ob3AgcHJveHksIGRlZmluaW5nIHRoZSB1cHN0cmVhbSBwcm94eSB0byB3aGljaCB0aGUgZ2F0ZXdheSBzaG91bGQgZm9yd2FyZCB0cmFmZmljLiBQb2xpY3kgcnVsZXMgcGFzcyBhIHZhbHVlIG9mIHRoaXMgdHlwZSB0byBgTVdHLlNldE5leHRIb3BQcm94eWAgdG8gcm91dGUgdGhlIGN1cnJlbnQgY29ubmVjdGlvbiB0aHJvdWdoIHRoZSBzcGVjaWZpZWQgdXBzdHJlYW0gcHJveHkuIiwgIk1XRy5Qcm9ncmVzc1BhZ2VTZXR0aW5nIjogIkNvbmZpZ3VyZXMgdGhlIHByb2dyZXNzIHBhZ2UgZmVhdHVyZSwgd2hpY2ggc2VuZHMgYW4gaW50ZXJtZWRpYXRlIEhUTUwgcGFnZSB0byB0aGUgY2xpZW50IHdoaWxlIGEgc2xvdyByZXNwb25zZSBpcyBiZWluZyBzY2FubmVkLiBQb2xpY3kgcnVsZXMgcGFzcyBpdCB0byBgTVdHLkVuYWJsZVByb2dyZXNzUGFnZWAgdG8gYWN0aXZhdGUgdGhlIGZlYXR1cmUsIGFuZCB1c2UgdGhlIHBhcmFtZXRlci1mcmVlIGZ1bmN0aW9ucyBgTVdHLlByb2dyZXNzUGFnZUVuYWJsZWRgIGFuZCBgTVdHLlByb2dyZXNzUGFnZVNlbnRgIHRvIGNoZWNrIHdoZXRoZXIgYSBwcm9ncmVzcyBwYWdlIGhhcyBiZWVuIGVuYWJsZWQgb3IgYWxyZWFkeSBkZWxpdmVyZWQgZm9yIHRoZSBjdXJyZW50IHJlcXVlc3QuIiwgIk1XRy5Qcm94eUNvbnRyb2xTZXR0aW5nIjogIkNvbmZpZ3VyZXMgc3BlY2lhbCBwcm94eSBjb250cm9sIGJlaGF2aW9yIHRoYXQgYWRqdXN0cyBob3cgdGhlIGdhdGV3YXkgaGFuZGxlcyBhIHRyYW5zYWN0aW9uIGF0IHRoZSBwcm94eSBsYXllci4gUG9saWN5IHJ1bGVzIHBhc3MgaXQgdG8gYE1XRy5Qcm94eUNvbnRyb2xgIHRvIGFwcGx5IHRob3NlIHNldHRpbmdzIHRvIHRoZSBjdXJyZW50IHJlcXVlc3QuIiwgIk1XRy5SZXBsaWNhdGVTZXJ2ZXJDZXJ0U2V0dGluZyI6ICJDb25maWd1cmVzIHRoZSBQcmVzZXJ2ZSBTZXJ2ZXIgQ2VydGlmaWNhdGUgZmVhdHVyZSwgd2hpY2ggY2F1c2VzIHRoZSBwcm94eSB0byByZXBsaWNhdGUgdGhlIG9yaWdpbiBzZXJ2ZXIncyBjZXJ0aWZpY2F0ZSB0b3dhcmQgdGhlIGNsaWVudCByYXRoZXIgdGhhbiBwcmVzZW50aW5nIGl0cyBvd24gQ0Etc2lnbmVkIHN1YnN0aXR1dGUuIFBvbGljeSBydWxlcyBwYXNzIGEgdmFsdWUgb2YgdGhpcyB0eXBlIHRvIGBNV0cuRW5hYmxlUHJlc2VydmVTZXJ2ZXJDZXJ0YCB0byBlbmFibGUgdGhpcyBiZWhhdmlvciBmb3IgdGhlIGN1cnJlbnQgVExTIGNvbm5lY3Rpb24uIiwgIk1XRy5SZXF1ZXN0UmVzcG9uc2UiOiAiV3JhcHMgYSBgU2VjdXJlV2ViOjpJUmVxUmVzcE9iamVjdGAgdG8gcmVwcmVzZW50IGVpdGhlciB0aGUgY3VycmVudCBIVFRQIHJlcXVlc3Qgb3IgSFRUUCByZXNwb25zZSB3aXRoaW4gYSBwb2xpY3kgY3ljbGUuIGBNV0cuUmVxdWVzdGAgYW5kIGBNV0cuUmVzcG9uc2VgIHJldHVybiBgTVdHLlJlcXVlc3RSZXNwb25zZWAgb2JqZWN0cyBmb3IgdGhlIHJlc3BlY3RpdmUgY3ljbGUgc2lkZXMsIGBNV0cuQ3VycmVudFJlcXVlc3RPclJlc3BvbnNlYCByZXR1cm5zIHdoaWNoZXZlciBpcyBhY3RpdmUsIGFuZCBjYWxsYWJsZXMgc3VjaCBhcyBgTVdHLkhlYWRlcnNgIGFuZCBgTVdHLkJvZHlgIGFjY2VwdCBhIGBNV0cuUmVxdWVzdFJlc3BvbnNlYCB0byBhY2Nlc3MgaXRzIGhlYWRlciBtYXAgb3IgYm9keSBzdHJlYW0uIiwgIk1XRy5TYWZlU2VhcmNoRW5mb3JjZXJTZXR0aW5nIjogIkNvbmZpZ3VyZXMgdGhlIEdvb2dsZSBTYWZlU2VhcmNoIGVuZm9yY2VyLCB3aGljaCByZXdyaXRlcyBzZWFyY2gtZW5naW5lIHJlcXVlc3RzIHRvIGZvcmNlIHNhZmUtc2VhcmNoIGZpbHRlcmluZy4gUG9saWN5IHJ1bGVzIHBhc3MgaXQgdG8gYE1XRy5FbmFibGVTYWZlU2VhcmNoRW5mb3JjZXJgIHRvIGFjdGl2YXRlIGVuZm9yY2VtZW50IGZvciB0aGUgY3VycmVudCByZXF1ZXN0LiIsICJNV0cuU2FtbEF1dGhuUmVxdWVzdFNldHRpbmciOiAiQ29uZmlndXJlcyBTQU1MIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgZ2VuZXJhdGlvbiwgY2FycnlpbmcgcHJvcGVydGllcyBzdWNoIGFzIHRoZSBJZFAgVVJMIGFuZCBzZXJ2aWNlIHByb3ZpZGVyIGVudGl0eSBJRC4gYE1XRy5TQU1MR2V0UmVxdWVzdFNldHRpbmdgIGNvbnN0cnVjdHMgYW5kIHJldHVybnMgdGhpcyB0eXBlIGZyb20gYSB0ZW5hbnQgSUQgYW5kIGNvbmZpZ3VyYXRpb24gSUQgcGFpciwgYW5kIGBNV0cuU0FNTENyZWF0ZUF1dGhuUmVxdWVzdGAgY29uc3VtZXMgaXQgdG8gcHJvZHVjZSB0aGUgZW5jb2RlZCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHN0cmluZyBzZW50IHRvIHRoZSBpZGVudGl0eSBwcm92aWRlci4iLCAiTVdHLlNhbWxBdXRoblJlc3BvbnNlU2V0dGluZyI6ICJDb25maWd1cmVzIHZhbGlkYXRpb24gb2YgaW5jb21pbmcgU0FNTCBhdXRoZW50aWNhdGlvbiByZXNwb25zZXMsIGhvbGRpbmcgcHJvcGVydGllcyBzdWNoIGFzIEFDUyBVUkwsIGF1ZGllbmNlLCBlbnRpdHkgSUQsIElkUCBjZXJ0aWZpY2F0ZSwgYW5kIHNpZ25hdHVyZSBlbmZvcmNlbWVudCBmbGFncy4gYE1XRy5TQU1MR2V0UmVzcG9uc2VTZXR0aW5nYCBjb25zdHJ1Y3RzIGFuZCByZXR1cm5zIHRoaXMgdHlwZSBmcm9tIGEgdGVuYW50IElEIGFuZCBjb25maWd1cmF0aW9uIElEIHBhaXIsIGFuZCBgTVdHLlNBTUxQYXJzZUF1dGhuUmVzcG9uc2VgIGNvbnN1bWVzIGl0IHRvIHZhbGlkYXRlIGFuZCBwYXJzZSB0aGUgU0FNTCByZXNwb25zZSByZXR1cm5lZCBieSB0aGUgaWRlbnRpdHkgcHJvdmlkZXIuIiwgIk1XRy5TQU1MQ29uZmlndXJhdGlvbiI6ICJIb2xkcyBhIHNpbmdsZSBTQU1MIGNvbmZpZ3VyYXRpb24gSUQgc3RyaW5nIGlkZW50aWZ5aW5nIGEgc3BlY2lmaWMgU0FNTCBzZXR1cCwgcmV0dXJuZWQgYnkgYE1XRy5HZXRTQU1MQ29uZmlndXJhdGlvbmAuIFRoZSBzdG9yZWQgSUQgaXMgdXNlZCBhcyBhIGxvb2t1cCBrZXkgYW5kIHN1cHBvcnRzIG9yZGVyaW5nIGJ5IHZhbHVlLCBtYWtpbmcgdGhlIHR5cGUgc3VpdGFibGUgZm9yIHVzZSBpbiBwb2xpY3kgcnVsZSBzZXQgY29tcGFyaXNvbnMuIiwgIk1XRy5TQU1MRG9tYWluQXV0aGVudGljYXRpb24iOiAiU3RvcmVzIGEgbWFwcGluZyBmcm9tIGVtYWlsIGRvbWFpbiBuYW1lcyB0byAodGVuYW50IElELCBjb25maWd1cmF0aW9uIElEKSBwYWlycywgZW5hYmxpbmcgcGVyLWRvbWFpbiByb3V0aW5nIG9mIFNBTUwgYXV0aGVudGljYXRpb24gdG8gdGhlIGNvcnJlY3QgaWRlbnRpdHkgcHJvdmlkZXIuIGBNV0cuU0FNTEdldFRlbmFudEJ5TWFpbERvbWFpbmAgYWNjZXB0cyB0aGlzIHR5cGUgdG9nZXRoZXIgd2l0aCBhIGRvbWFpbiBzdHJpbmcgdG8gcmVzb2x2ZSB0aGUgdGVuYW50IElEIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGRvbWFpbi4iLCAiTVdHLlNlcnZpY2VDYXRlZ29yeUFuZEFjdGl2aXR5VHlwZSI6ICJQYWlycyBhbiBhcHBsaWNhdGlvbiBjYXRlZ29yeSBJRCB3aXRoIGEgc2V0IG9mIGFjdGl2aXR5IHN0cmluZ3MsIGJhY2tlZCBieSBgVEFwcGxpY2F0aW9uU2V0V2l0aEFjdGl2aXR5PEFwcGxpY2F0aW9uQ2F0ZWdvcnlJRD5gLiBBIHZhbHVlIGVuY29kZXMgYm90aCB0aGUgY2F0ZWdvcnkgYW5kIHRoZSBzcGVjaWZpYyBhY3Rpdml0aWVzIChzdWNoIGFzIHVwbG9hZCBvciBkb3dubG9hZCkgdGhhdCBhIHBvbGljeSBydWxlIGlzIGludGVyZXN0ZWQgaW4uIGBNV0cuU2VydmljZUFuZEFjdGl2aXR5Q29udGFpbmVkYCBhY2NlcHRzIGEgYFZFQ1RPUjxNV0cuU2VydmljZUNhdGVnb3J5QW5kQWN0aXZpdHlUeXBlPmAgYW5kIHJldHVybnMgdHJ1ZSB3aGVuIHRoZSBjdXJyZW50IHJlcXVlc3QncyBjYXRlZ29yeSBhbmQgYWN0aXZpdHkgbWF0Y2ggYW4gZW50cnkgaW4gdGhlIGxpc3QuIiwgIk1XRy5TZXJ2aWNlR3JvdXBBbmRBY3Rpdml0eVR5cGUiOiAiUGFpcnMgYSBzZXJ2aWNlIGdyb3VwIElEIHdpdGggYSBzZXQgb2YgYWN0aXZpdHkgc3RyaW5ncywgYmFja2VkIGJ5IGBUQXBwbGljYXRpb25TZXRXaXRoQWN0aXZpdHk8QXBwbGljYXRpb25TZXJ2aWNlR3JvdXBJRD5gLiBFYWNoIHZhbHVlIHNwZWNpZmllcyBib3RoIHdoaWNoIG5hbWVkIHNlcnZpY2UgZ3JvdXAgYW5kIHdoaWNoIGFjdGl2aXRpZXMgbXVzdCBtYXRjaCBmb3IgYSBwb2xpY3kgY29uZGl0aW9uIHRvIGZpcmUuIGBNV0cuU2VydmljZUFuZEFjdGl2aXR5Q29udGFpbmVkYCBhY2NlcHRzIGEgYFZFQ1RPUjxNV0cuU2VydmljZUdyb3VwQW5kQWN0aXZpdHlUeXBlPmAgYW5kIGV2YWx1YXRlcyB3aGV0aGVyIHRoZSBjdXJyZW50IHNlcnZpY2UgYW5kIGl0cyBkZXRlY3RlZCBhY3Rpdml0eSBhcHBlYXIgaW4gdGhhdCBsaXN0LiIsICJNV0cuU2VydmljZVN1YkNhdGVnb3J5QW5kQWN0aXZpdHlUeXBlIjogIlBhaXJzIGFuIGFwcGxpY2F0aW9uIHN1Yi1jYXRlZ29yeSBJRCB3aXRoIGEgc2V0IG9mIGFjdGl2aXR5IHN0cmluZ3MsIGJhY2tlZCBieSBgVEFwcGxpY2F0aW9uU2V0V2l0aEFjdGl2aXR5PEFwcGxpY2F0aW9uU3ViQ2F0ZWdvcnlJRD5gLiBUaGUgY29tYmluZWQgdmFsdWUgbGV0cyBhIHBvbGljeSBydWxlIHJlc3RyaWN0IGVuZm9yY2VtZW50IHRvIHBhcnRpY3VsYXIgYWN0aXZpdGllcyB3aXRoaW4gYSBzdWItY2F0ZWdvcnkgcmF0aGVyIHRoYW4gYmxvY2tpbmcgdGhlIHN1Yi1jYXRlZ29yeSBhcyBhIHdob2xlLiBgTVdHLlNlcnZpY2VBbmRBY3Rpdml0eUNvbnRhaW5lZGAgYWNjZXB0cyBhIGBWRUNUT1I8TVdHLlNlcnZpY2VTdWJDYXRlZ29yeUFuZEFjdGl2aXR5VHlwZT5gIHRvIHBlcmZvcm0gdGhpcyBjb21iaW5lZCBzdWItY2F0ZWdvcnktYW5kLWFjdGl2aXR5IGNoZWNrIGFnYWluc3QgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24uIiwgIk1XRy5TbWFydE1hdGNoTGlzdCI6ICJTdG9yZXMgYSBjb21waWxlZCBsaXN0IG9mIFVSTCBwYXR0ZXJucyB0aGF0IHN1cHBvcnQgZmxleGlibGUgaG9zdCwgcGF0aCwgcG9ydCwgcHJvdG9jb2wsIGFuZCBxdWVyeS1wYXJhbWV0ZXIgbWF0Y2hpbmcsIGluY2x1ZGluZyBzdWJkb21haW4gd2lsZGNhcmQgc2VtYW50aWNzLiBgTVdHLlNtYXJ0TWF0Y2hgIGFjY2VwdHMgYSBgTVdHLlVSTGAgYW5kIGEgYE1XRy5TbWFydE1hdGNoTGlzdGAgYW5kIHJldHVybnMgdHJ1ZSB3aGVuIHRoZSByZXF1ZXN0IFVSTCBtYXRjaGVzIGFueSBlbnRyeS4gRW50cmllcyB3aXRoIGEgbGVhZGluZyBlcXVhbHMgc2lnbiBlbmZvcmNlIGV4YWN0IGhvc3RuYW1lIG1hdGNoaW5nLCBhbmQgZm9yIGxhcmdlIGxpc3RzIGFuIGludGVybmFsIGRvbWFpbi10cmVlIGluZGV4IGlzIGJ1aWx0IGF1dG9tYXRpY2FsbHkgdG8gcmVkdWNlIGxvb2t1cCBjb3N0LiIsICJNV0cuVElFRmlsZVJlcHV0YXRpb25TZXR0aW5nIjogIkNhcnJpZXMgdGhlIGNvbmZpZ3VyYXRpb24gcmVxdWlyZWQgdG8gcXVlcnkgdGhlIFRyZWxsaXggSW50ZWxsaWdlbmNlIEV4Y2hhbmdlIChUSUUpIHNlcnZlciBmb3IgZmlsZSByZXB1dGF0aW9uIHNjb3Jlcy4gYE1XRy5USUVGaWxlUmVwdXRhdGlvbmAgYWNjZXB0cyBhIGBNV0cuVElFRmlsZVJlcHV0YXRpb25TZXR0aW5nYCBhbmQgcmV0dXJucyBhIG51bWVyaWMgcmVwdXRhdGlvbiBzY29yZSBmb3IgdGhlIGN1cnJlbnQgcmVxdWVzdCBib2R5LiBUaGUgc2V0dGluZyBpcyByZWdpc3RlcmVkIGFzIGEgREVGSU5FX1NFVFRJTkcgdHlwZSBhbmQgaXMgY29uc3VtZWQgZXhjbHVzaXZlbHkgYnkgdGhlIFRJRSBmaWxlLXJlcHV0YXRpb24gZmlsdGVyIHBpcGVsaW5lLiIsICJNV0cuVVJMIjogIlJlcHJlc2VudHMgYSBmdWxseSBwYXJzZWQgVVJMLCBleHBvc2luZyBpdHMgaW5kaXZpZHVhbCBjb21wb25lbnRzIFx1MjAxNCBzY2hlbWUsIGhvc3QsIHBvcnQsIHBhdGgsIHBhcmFtZXRlcnMsIGFuZCBmaWxlIGluZm9ybWF0aW9uIFx1MjAxNCBmb3IgdXNlIGluIHBvbGljeSBjb25kaXRpb25zIGFuZCBhY3Rpb25zLiBUaGUgY3VycmVudCByZXF1ZXN0IFVSTCBpcyByZXRyaWV2ZWQgdmlhIGBNV0cuVXJsYCwgYW5kIGNvbXBvbmVudHMgY2FuIGJlIHJlYWQgd2l0aCBmdW5jdGlvbnMgc3VjaCBhcyBgTVdHLkhvc3RgLCBgTVdHLkRvbWFpbmAsIGBNV0cuUGF0aGAsIGBNV0cuUHJvdG9jb2xgLCBgTVdHLlBvcnRgLCBhbmQgYE1XRy5TbWFydE1hdGNoYCwgb3IgbW9kaWZpZWQgaW4gcGxhY2Ugd2l0aCBwcm9jZWR1cmVzIHN1Y2ggYXMgYE1XRy5TZXRgLCBgTVdHLlNldEhvc3RgLCBgTVdHLlNldFJhd2AsIGFuZCBgTVdHLlNldFBhcmFtZXRlcmAuIiwgIk1XRy5VcmxDYXRlZ29yaXphdGlvblNldHRpbmciOiAiQ29uZmlndXJlcyB0aGUgR1RJIChHbG9iYWwgVGhyZWF0IEludGVsbGlnZW5jZSkgVVJMIGNhdGVnb3JpemF0aW9uIGFuZCByZXB1dGF0aW9uIHNlcnZpY2UsIHdpdGggb3B0aW9uYWwgcGFydGlhbC1jb25maWd1cmF0aW9uIG92ZXJyaWRlcyBmb3Igc2VydmVyIGNlcnRpZmljYXRlcyBhbmQgRE5TIGxvb2t1cCBiZWhhdmlvci4gUG9saWN5IHJ1bGVzIHBhc3MgaXQgdG8gY2FsbGFibGVzIHN1Y2ggYXMgYE1XRy5VcmxDYXRlZ29yaWVzYCwgYE1XRy5VUkxSZXB1dGF0aW9uYCwgYE1XRy5VUkxSZXB1dGF0aW9uU3RyaW5nYCwgYE1XRy5VcmxIYXNIaWdoUmlza2AsIGBNV0cuVXJsSGFzTWVkaXVtUmlza2AsIGBNV0cuVXJsSGFzTWluaW1hbFJpc2tgLCBgTVdHLlVybEhhc1VudmVyaWZpZWRSaXNrYCwgYE1XRy5VcmxDYXRlZ29yaXplZEJ5Rm9yd2FyZEROU2AsIGBNV0cuVXJsQ2F0ZWdvcml6ZWRCeVJldmVyc2VETlNgLCBgTVdHLlVybENhdGVnb3JpemF0aW9uQ2xvdWRMb29rdXBEb25lYCwgYE1XRy5VcmxDYXRlZ29yaXplZEJ5Q2xvdW5kTG9va3VwYCwgYE1XRy5VcmxDYXRlZ29yaXplZEJ5RENDYCwgYE1XRy5Cb2R5UmVwdXRhdGlvbklzR29vZGAsIGBNV0cuQm9keVJlcHV0YXRpb25Jc0JhZGAsIGBNV0cuQm9keVJlcHV0YXRpb25Jc0tub3duYCwgYW5kIGBNV0cuVXJsR2VvbG9jYXRpb25gIHRvIGV2YWx1YXRlIFVSTCByaXNrLCBjYXRlZ29yeSwgYW5kIGJvZHkgcmVwdXRhdGlvbiBpbiBwb2xpY3kgcnVsZXMuIiwgIk1XRy5VcmxDYXRlZ29yeSI6ICJFbmNvZGVzIGEgc2luZ2xlIG51bWVyaWMgR1RJIChHbG9iYWwgVGhyZWF0IEludGVsbGlnZW5jZSkgVVJMIGNhdGVnb3J5IGlkZW50aWZpZXIuIGBNV0cuVXJsQ2F0ZWdvcmllc2AgcmV0dXJucyBhIGBWRUNUT1I8TVdHLlVybENhdGVnb3J5PmAgZm9yIHRoZSBjdXJyZW50IHJlcXVlc3QgVVJMLCBhbmQgYFRvU3RyaW5nYCBhbmQgYFRvSURTdHJpbmdgIGNvbnZlcnQgYSBjYXRlZ29yeSB2YWx1ZSB0byBpdHMgaHVtYW4tcmVhZGFibGUgb3IgbnVtZXJpYyBzdHJpbmcgZm9ybS4gQ2F0ZWdvcmllcyBjYW4gYmUgc3RvcmVkIGluIHNldHMgYW5kIGNvbXBhcmVkIHdpdGggYENvbnRhaW5zYCwgYElzU3ViU2V0YCwgYW5kIGBJc0Rpc2pvaW5lZGAgb3BlcmF0aW9ucyBvbiBjYXRlZ29yeSB2ZWN0b3JzLiIsICJOZXQuSVAiOiAiUmVwcmVzZW50cyBhIHBhcnNlZCBJUHY0IG9yIElQdjYgYWRkcmVzcy4gYE1XRy5DbGllbnRJUGAgYW5kIGBNV0cuQ2xpZW50RUdyZXNzSVBgIHJldHVybiBgTmV0LklQYCB2YWx1ZXMsIGBOZXQuVG9JUGAgY29uc3RydWN0cyBvbmUgZnJvbSBhIHN0cmluZywgYW5kIGBOZXQuSXNJUHY2YCB0ZXN0cyBhZGRyZXNzIGZhbWlseS4gVGhlIGFkZHJlc3MgY2FuIGJlIHBhc3NlZCB0byBgTmV0LklzSW5SYW5nZWAgb3IgYE5ldC5Jc0luUmFuZ2VMaXN0YCB0byBjaGVjayBtZW1iZXJzaGlwIGFnYWluc3QgYE5ldC5JUFJhbmdlYCB2YWx1ZXMuIiwgIk5ldC5JUFJhbmdlIjogIlJlcHJlc2VudHMgYSBjb250aWd1b3VzIHJhbmdlIG9mIElQIGFkZHJlc3NlcyBkZWZpbmVkIGJ5IGEgYmVnaW4gYW5kIGVuZCBhZGRyZXNzLiBgTmV0LlRvSVBSYW5nZWAgcGFyc2VzIGEgc3RyaW5nIGludG8gYSByYW5nZSwgYW5kIGBOZXQuSXNJblJhbmdlYCBhbmQgYE5ldC5Jc0luUmFuZ2VMaXN0YCB0ZXN0IHdoZXRoZXIgYSBgTmV0LklQYCBmYWxscyB3aXRoaW4gb25lIG9yIG1vcmUgcmFuZ2VzLiBCZWdpbiBhbmQgZW5kIGFkZHJlc3NlcyBhcmUgYWNjZXNzaWJsZSB2aWEgYE5ldC5CZWdpbmAgYW5kIGBOZXQuRW5kYC4iLCAiUkJJLkNsaXBib2FyZENvbnRyb2xMaXN0IjogIkhvbGRzIGEgbGlzdCBvZiBob3N0LXBhdHRlcm4tdG8tY2xpcGJvYXJkLWZ1bmN0aW9uIG1hcHBpbmdzIHVzZWQgdG8gY29udHJvbCBjb3B5IGFuZCBwYXN0ZSBiZWhhdmlvciBpbiBSZW1vdGUgQnJvd3NlciBJc29sYXRpb24gc2Vzc2lvbnMuIGBSQkkuU2V0Q2xpcGJvYXJkUG9saWN5QmxvY2tgIGFuZCBgUkJJLlNldENsaXBib2FyZFBvbGljeVBlcm1pdGAgZWFjaCBhY2NlcHQgYSBgUkJJLkNsaXBib2FyZENvbnRyb2xMaXN0YCB0byBkZWZpbmUgcGVyLWhvc3QgZXhjZXB0aW9ucyB0byB0aGUgZGVmYXVsdCBjbGlwYm9hcmQgcG9saWN5LiBFYWNoIGVudHJ5IHBhaXJzIGEgY2FzZS1pbnNlbnNpdGl2ZSBKYXZhU2NyaXB0IHJlZ3VsYXIgZXhwcmVzc2lvbiBhZ2FpbnN0IGEgaG9zdCB3aXRoIGEgY29udHJvbCBzdHJpbmcgc3VjaCBhcyBcImNvcHlcIiwgXCJwYXN0ZVwiLCBvciBcImNvcHkrcGFzdGVcIi4iLCAiUmVnRXhKU2kiOiAiRW5jYXBzdWxhdGVzIGEgc2luZ2xlIGNvbXBpbGVkLCBjYXNlLWluc2Vuc2l0aXZlIEphdmFTY3JpcHQtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb24uIENhbGxhYmxlcyBzdWNoIGFzIGBDb250YWluc01hdGNoYCBhbmQgYEZpbmRgIGFjY2VwdCBhIGBSZWdFeEpTaWAgdG8gbWF0Y2ggb3IgbG9jYXRlIHBhdHRlcm5zIGluIHN0cmluZ3Mgb3IgbWVkaWEgdHlwZSB2ZWN0b3JzLCBhbmQgYE1XRy5SZW1vdmVBbGxNYXRjaGluZ2AgdXNlcyBvbmUgdG8gZmlsdGVyIEhUVFAgaGVhZGVyIGVudHJpZXMuIFRoZSBleHByZXNzaW9uIHN1cHBvcnRzIG1hdGNoaW5nLCBzZWFyY2hpbmcsIHdpbGRjYXJkLWdyb3VwIGNhcHR1cmUsIGFuZCBzdHJpbmcgcmVwbGFjZW1lbnQgb3BlcmF0aW9ucy4iLCAiUmVnRXhKU2kuTGlzdCI6ICJIb2xkcyBhbiBvcmRlcmVkLCBjb21waWxlZCBsaXN0IG9mIGNhc2UtaW5zZW5zaXRpdmUgSmF2YVNjcmlwdC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgdGhhdCBjYW4gYmUgdGVzdGVkIGFzIGEgZ3JvdXAuIGBSZWdFeEpTaS5BZGRgIGFwcGVuZHMgYSBgUmVnRXhKU2lgIG9yIGEgcmF3IHN0cmluZyB0byBhIGBSZWdFeEpTaS5MaXN0YCwgYW5kIGBDb250YWluc2AgdGVzdHMgd2hldGhlciBhbnkgZW50cnkgbWF0Y2hlcyBhIGdpdmVuIGlucHV0LiBJbiBjdXN0b21lci1jb250cm9sbGVkIHBvbGljeSBjb250ZXh0cywgaW52YWxpZCByZWdleCBlbnRyaWVzIGNhdXNlIGRlc2VyaWFsaXphdGlvbiB0byBmYWlsOyBpbiBtYW5hZ2VkIGNvbnRleHRzIHRoZSBsaXN0IGlzIGFjY2VwdGVkIHBlcm1pc3NpdmVseS4iLCAiVUNFLkRldmljZVByb2ZpbGUiOiAiUmVwcmVzZW50cyBhIG5hbWVkIGRldmljZSBwcm9maWxlIHRva2VuIHJlcG9ydGVkIGJ5IGEgbWFuYWdlZCBjbGllbnQgZW5kcG9pbnQuIGBVQ0UuR2V0Q2xpZW50RGV2aWNlUHJvZmlsZXNgIHJldHVybnMgYSBgVkVDVE9SPFVDRS5EZXZpY2VQcm9maWxlPmAgcmVmbGVjdGluZyB0aGUgcHJvZmlsZXMgYWN0aXZlIG9uIHRoZSBjb25uZWN0aW5nIGRldmljZSwgYW5kIGBDb250YWluc2AgdGVzdHMgd2hldGhlciBhIHNwZWNpZmljIHByb2ZpbGUgbmFtZSBpcyBwcmVzZW50IGluIHRoYXQgdmVjdG9yLiBUaGUgdHlwZSBpcyB1c2VkIGluIHBvbGljeSBydWxlcyB0byBtYWtlIGFjY2VzcyBkZWNpc2lvbnMgYmFzZWQgb24gZW5kcG9pbnQgY29tcGxpYW5jZSBzdGF0ZS4iLCAiVUNFLkZpbGVUcmFuc2ZlckNvbnRyb2xMaXN0IjogIlN0b3JlcyBhIGxpc3Qgb2YgaG9zdC1yZWdleC10by1tZWRpYS10eXBlIHBhaXJzIHRoYXQgZ292ZXJuIGZpbGUgdXBsb2FkIGFuZCBkb3dubG9hZCBwZXJtaXNzaW9ucyBpbiBSZW1vdGUgQnJvd3NlciBJc29sYXRpb24gc2Vzc2lvbnMuIGBSQkkuU2V0VXBsb2FkRmlsZUNvbnRyb2xCbG9ja2AsIGBSQkkuU2V0VXBsb2FkRmlsZUNvbnRyb2xQZXJtaXRgLCBgUkJJLlNldERvd25sb2FkRmlsZUNvbnRyb2xCbG9ja2AsIGFuZCBgUkJJLlNldERvd25sb2FkRmlsZUNvbnRyb2xQZXJtaXRgIGVhY2ggYWNjZXB0IGEgYFVDRS5GaWxlVHJhbnNmZXJDb250cm9sTGlzdGAgdG8gZGVmaW5lIHBlci1ob3N0LCBwZXItbWVkaWEtdHlwZSBleGNlcHRpb25zLiBgQ29udGFpbnNgIHRlc3RzIHdoZXRoZXIgYSBnaXZlbiBkb21haW4gYW5kIG1lZGlhIHR5cGUgY29tYmluYXRpb24gaXMgcHJlc2VudCBpbiB0aGUgbGlzdC4iLCAiVUNFLlByaXZhdGVBcHAiOiAiUmVwcmVzZW50cyBhIGRldGVjdGVkIHByaXZhdGUgYXBwbGljYXRpb24gZW50cnksIGhvbGRpbmcgdGhlIGFwcCdzIGhvc3QgcGF0dGVybiwgSVAgcmFuZ2UsIHByb3RvY29sLCBjb25maWd1cmVkIHBvcnRzLCBjb25uZWN0b3IgZ3JvdXAgYXNzaWdubWVudHMsIGFuZCBydW50aW1lIHJvdXRpbmcgbWV0YWRhdGEuIGBVQ0UuR2V0UHJpdmF0ZUFwcGAgcmV0dXJucyB0aGUgYFVDRS5Qcml2YXRlQXBwYCBmb3IgdGhlIGN1cnJlbnQgY29ubmVjdGlvbiwgYW5kIGNhbGxhYmxlcyBzdWNoIGFzIGBVQ0UuSXNQcml2YXRlQXBwYCwgYFVDRS5OYW1lYCwgYFVDRS5JRGAsIGFuZCBgVUNFLkFwcEdyb3Vwc2AgaW50ZXJyb2dhdGUgaXRzIGZpZWxkcyBpbiBwb2xpY3kgcnVsZXMuIGBVQ0UuTWFya0ZvclJCSWAgdXBkYXRlcyB0aGUgaW5zdGFuY2UgdG8gZmxhZyB0aGUgY29ubmVjdGlvbiBmb3IgYnJvd3NlciBpc29sYXRpb24uIiwgIllvdVR1YmVWaWRlb0NhdGVnb3J5IjogIlJlcHJlc2VudHMgYSBZb3VUdWJlIHZpZGVvIGNhdGVnb3J5IGlkZW50aWZpZXIgYXMgYSBzdHJpbmcgdmFsdWUuIGBUb1lvdVR1YmVWaWRlb0NhdGVnb3J5YCBjb252ZXJ0cyBhIHN0cmluZyBpbnRvIGEgYFlvdVR1YmVWaWRlb0NhdGVnb3J5YCwgYFRvU3RyaW5nYCByZXR1cm5zIHRoZSBjYXRlZ29yeSBuYW1lLCBhbmQgYENvbnRhaW5zYCB0ZXN0cyBtZW1iZXJzaGlwIHdpdGhpbiBhIGBWRUNUT1I8WW91VHViZVZpZGVvQ2F0ZWdvcnk+YC4gUG9saWN5IHJ1bGVzIHVzZSB0aGUgdHlwZSB0byBtYXRjaCBvciBjb21wYXJlIHRoZSBjYXRlZ29yeSBvZiBhIFlvdVR1YmUgdmlkZW8gYWdhaW5zdCBhZG1pbmlzdHJhdG9yLWRlZmluZWQgc2V0cy4ifQ==
eyJOVU1CRVIiOiAiL1NTRV9Qb2xpY3lfQ29kZS9BYm91dF9Ta3loaWdoX1BvbGljeV9Db2RlL1NreWhpZ2hfUG9saWN5X0NvZGVfRXNzZW50aWFscyNOYXRpdmVfT2JqZWN0X1R5cGVzIiwgIlNUUklORyI6ICIvU1NFX1BvbGljeV9Db2RlL0Fib3V0X1NreWhpZ2hfUG9saWN5X0NvZGUvU2t5aGlnaF9Qb2xpY3lfQ29kZV9Fc3NlbnRpYWxzI05hdGl2ZV9PYmplY3RfVHlwZXMiLCAiQk9PTEVBTiI6ICIvU1NFX1BvbGljeV9Db2RlL0Fib3V0X1NreWhpZ2hfUG9saWN5X0NvZGUvU2t5aGlnaF9Qb2xpY3lfQ29kZV9Fc3NlbnRpYWxzI05hdGl2ZV9PYmplY3RfVHlwZXMiLCAiKFZFQ1RPUilcXDwiOiAiL1NTRV9Qb2xpY3lfQ29kZS9BYm91dF9Ta3loaWdoX1BvbGljeV9Db2RlL1NreWhpZ2hfUG9saWN5X0NvZGVfRXNzZW50aWFscyNWRUNUT1IuM0NJdGVtVHlwZS4zRSIsICIoTUFQKVxcPCI6ICIvU1NFX1BvbGljeV9Db2RlL0Fib3V0X1NreWhpZ2hfUG9saWN5X0NvZGUvU2t5aGlnaF9Qb2xpY3lfQ29kZV9Fc3NlbnRpYWxzI01BUC4zQ0tleVR5cGUuMkNfVmFsdWVUeXBlLjNFIn0=
