diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift index 25947343e34e..0d96a0dfef05 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift @@ -84,250 +84,251 @@ enum CmuxEmbeddedConfigSchema { "ICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0aGUgd29ya3NwYWNlIHRpdGxlIGJhciBhbmQgbW92ZSBjb250cm9scyBpbnRvIHRoZSBzaWRlYmFyLiIKICAgICAgICB9LAogICAgICAgICJrZWVwV29ya3NwYWNlT3BlbldoZW5DbG9zaW5nTGFzdFN1cmZhY2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBjbG9zaW5nIHRoZSBsYXN0IHN1cmZhY2Uga2Vl", "cHMgdGhlIHdvcmtzcGFjZSBvcGVuLiIKICAgICAgICB9LAogICAgICAgICJmb2N1c1BhbmVPbkZpcnN0Q2xpY2siOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGNtdXggaXMgaW5hY3RpdmUsIHRoZSBmaXJzdCBjbGljayBjYW4gYWN0aXZhdGUgYW5kIGZvY3VzIHRoZSBjbGlja2VkIHBhbmUuIgogICAgICAgIH0sCiAgICAgICAgInBhbmVSZXNpemVTdGVwUGl4ZWxzIjogewogICAgICAgICAgInR5cGUiOiAiaW50", "ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAibWF4aW11bSI6IDIwMCwKICAgICAgICAgICJkZWZhdWx0IjogMjAsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGl4ZWxzIG1vdmVkIHBlciBrZXlwcmVzcyB3aGVuIHVzaW5nIHBhbmUtcmVzaXplIHNob3J0Y3V0cy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hcHAucGFuZVJlc2l6ZVN0ZXBQaXhlbHMiCiAgICAgICAgfSwKICAgICAgICAiZm9jdXNIaXN0b3J5SW5jbHVkZXNQYW5lc0FuZFRhYnMiOiB7", - "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBCYWNrIGFuZCBGb3J3YXJkIGluY2x1ZGUgZm9jdXMgY2hhbmdlcyBiZXR3ZWVuIHBhbmVzIGFuZCB0YWJzLiBXaGVuIGZhbHNlLCB0aGV5IG5hdmlnYXRlIGJldHdlZW4gd29ya3NwYWNlcyBvbmx5LiIKICAgICAgICB9LAogICAgICAgICJwcmVmZXJyZWRFZGl0b3IiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAi", - "IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gZWRpdG9yIGNvbW1hbmQgdXNlZCB3aGVuIENtZC1jbGljayBmaWxlIHByZXZpZXdzIGFyZSBkaXNhYmxlZCBvciBhIGZpbGUgaXMgdW5zdXBwb3J0ZWQuIExlYXZlIGVtcHR5IHRvIHVzZSB0aGUgZGVmYXVsdC4iCiAgICAgICAgfSwKICAgICAgICAiZGVmYXVsdFdvcmtzcGFjZVBhdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGb2xkZXIgdGhlIE9wZW4gRm9s", - "ZGVyIHBhbmVsIHN0YXJ0cyBpbiwgZm9yIGV4YW1wbGUgfi9jb2RlLiBTdXBwb3J0cyBhIGxlYWRpbmcgfi4gTGVhdmUgZW1wdHkgdG8gc3RhcnQgaW4gdGhlIGFjdGl2ZSB3b3Jrc3BhY2UncyBkaXJlY3RvcnkuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5TdXBwb3J0ZWRGaWxlc0luQ211eCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gZW5hYmxlZCwgQ21kLWNsaWNraW5nIHJlYWRhYmxlIGxvY2FsIGZpbGVz", - "IG9wZW5zIHN1cHBvcnRlZCBwcmV2aWV3cyBpbiBjbXV4LCBpbmNsdWRpbmcgdGV4dCwgY29kZSwgUERGcywgaW1hZ2VzLCBhdWRpbywgdmlkZW8sIGFuZCBRdWljayBMb29rIGZpbGVzLiBQcmV2aWV3IGhlYWRlcnMgaW5jbHVkZSBhbiBPcGVuIFdpdGggbWVudSBiYXNlZCBvbiB0aGUgdXNlcidzIGRlZmF1bHQgYW5kIGNvbXBhdGlibGUgbWFjT1MgYXBwcyBmb3IgdGhhdCBmaWxlLiIKICAgICAgICB9LAogICAgICAgICJvcGVuTWFya2Rvd25JbkNtdXhWaWV3ZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAg", - "ICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGVuYWJsZWQsIENtZC1jbGlja2luZyAubWQvLm1hcmtkb3duLy5ta2QvLm1keCBmaWxlcyBvcGVucyB0aGUgcmVuZGVyZWQgY211eCBtYXJrZG93biB2aWV3ZXIgcGFuZWwgKHdpdGggbGl2ZSByZWxvYWQpIGluc3RlYWQgb2YgdGhlIGdlbmVyaWMgZmlsZSBwcmV2aWV3LiIKICAgICAgICB9LAogICAgICAgICJnbG9iYWxGb250TWFnbmlmaWNhdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1p", - "bmltdW0iOiA1MCwKICAgICAgICAgICJtYXhpbXVtIjogMjAwLAogICAgICAgICAgIm11bHRpcGxlT2YiOiAxMCwKICAgICAgICAgICJkZWZhdWx0IjogMTAwLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hcHAuZ2xvYmFsRm9udE1hZ25pZmljYXRpb24iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNjYWxlcyBjbXV4LW93bmVkIHRlcm1pbmFscywgdGFiIHRpdGxlcywgc2lkZWJhcnMsIHNldHRpbmdzLCBvdmVybGF5cywgYW5kIGFwcCBjaHJvbWUgYnkgdGhpcyBwZXJjZW50YWdl", - "LiBSZW5kZXJlZCBicm93c2VyIHBhZ2UgY29udGVudCBpcyBleGNsdWRlZC4iCiAgICAgICAgfSwKICAgICAgICAicmVvcmRlck9uTm90aWZpY2F0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTW92ZSB3b3Jrc3BhY2VzIHdpdGggbmV3IG5vdGlmaWNhdGlvbnMgdG93YXJkIHRoZSB0b3AuIgogICAgICAgIH0sCiAgICAgICAgImlNZXNzYWdlTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAg", - "ICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNb3ZlIGEgd29ya3NwYWNlIHRvIHRoZSB0b3AgYW5kIHNob3cgdGhlIHN1Ym1pdHRlZCBtZXNzYWdlIHdoZW4gc2VuZGluZyBhbiBhZ2VudCBwcm9tcHQuIgogICAgICAgIH0sCiAgICAgICAgInNlbmRBbm9ueW1vdXNUZWxlbWV0cnkiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxvdyBhbm9ueW1vdXMgdGVsZW1ldHJ5LiIKICAg", - "ICAgICB9LAogICAgICAgICJjb25maXJtUXVpdCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsiYWx3YXlzIiwgImRpcnR5LW9ubHkiLCAibmV2ZXIiXSwKICAgICAgICAgICJkZWZhdWx0IjogImFsd2F5cyIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5jb25maXJtUXVpdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29udHJvbCB3aGVuIGNtdXggYXNrcyBmb3IgY29uZmlybWF0aW9uIGJlZm9yZSBxdWl0dGluZy4gREVWIGJ1", - "aWxkcyBhbHdheXMgcXVpdCBpbW1lZGlhdGVseSByZWdhcmRsZXNzIG9mIHRoaXMgc2V0dGluZy4gTGVnYWN5IGFwcC53YXJuQmVmb3JlUXVpdCBpcyBzdGlsbCBhY2NlcHRlZCBhcyBhIGJvb2xlYW4gZmFsbGJhY2suIgogICAgICAgIH0sCiAgICAgICAgIndhcm5CZWZvcmVRdWl0IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC53YXJuQmVmb3JlUXVpdCIsCiAgICAgICAgICAi", - "ZGVzY3JpcHRpb24iOiAiTGVnYWN5IGJvb2xlYW4gZmFsbGJhY2sgZm9yIHF1aXQgY29uZmlybWF0aW9uLiBVc2UgYXBwLmNvbmZpcm1RdWl0IGZvciBuZXcgY29uZmlncy4iCiAgICAgICAgfSwKICAgICAgICAid2FybkJlZm9yZUNsb3NpbmdUYWIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgY29uZmlybWF0aW9uIGJlZm9yZSBjbG9zaW5nIGEgdGFiLiIKICAgICAgICB9LAogICAgICAgICJ3YXJuQmVmb3Jl", - "Q2xvc2luZ1RhYlhCdXR0b24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC53YXJuQmVmb3JlQ2xvc2luZ1RhYlhCdXR0b24iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBjb25maXJtYXRpb24gYmVmb3JlIGNsb3NpbmcgYSB0YWIgd2l0aCB0aGUgdGFiIGNsb3NlIGJ1dHRvbi4iCiAgICAgICAgfSwKICAgICAgICAiaGlkZVRhYkNsb3NlQnV0dG9uIjogewog", - "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hcHAuaGlkZVRhYkNsb3NlQnV0dG9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWRlIHRhYiBjbG9zZSBidXR0b25zIGluIHRoZSBwYW5lIHRhYiBiYXIuIgogICAgICAgIH0sCiAgICAgICAgInJlbmFtZVNlbGVjdHNFeGlzdGluZ05hbWUiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0Ijog", - "dHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWxlY3QgdGhlIGN1cnJlbnQgbmFtZSB3aGVuIG9wZW5pbmcgcmVuYW1lIGZsb3dzLiIKICAgICAgICB9LAogICAgICAgICJjb21tYW5kUGFsZXR0ZVNlYXJjaGVzQWxsU3VyZmFjZXMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2VhcmNoIGV2ZXJ5IHN1cmZhY2UgaW4gdGhlIGNvbW1hbmQgcGFsZXR0ZSBzd2l0Y2hlciBpbnN0ZWFkIG9mIG9ubHkgdGhlIGFj", - "dGl2ZSB3b3Jrc3BhY2UuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJ0ZXJtaW5hbCI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAidGVybWluYWwiLAogICAgICAiZGVzY3JpcHRpb24iOiAiVGVybWluYWwgcHJlc2VudGF0aW9uIHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBUZXJtaW5hbC4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImFkYXB0", - "aXZlRGVmYXVsdFRoZW1lIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLmFkYXB0aXZlRGVmYXVsdFRoZW1lIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUgKHRoZSBkZWZhdWx0KSwgY211eCBzdXBwbGllcyBhbiBhcHBlYXJhbmNlLWFkYXB0aXZlIGRlZmF1bHQgcGFsZXR0ZSB1bmxlc3MgYSBHaG9zdHR5IHRoZW1lIG9yIHRlcm1pbmFsIGNvbG9y", - "cyBhcmUgY29uZmlndXJlZC4gRm9udCBhbmQgb3RoZXIgc2V0dGluZ3MgYXJlIHByZXNlcnZlZC4gV2hlbiBmYWxzZSwgR2hvc3R0eSB1c2VzIGl0cyBmaXhlZCBidWlsdC1pbiBwYWxldHRlLiBFeHBsaWNpdCB0aGVtZXMgYW5kIGNvbG9ycyBhbHdheXMgdGFrZSBwcmVjZWRlbmNlLCBpbmNsdWRpbmcgdGhlbWUgPSBsaWdodDpYLGRhcms6WS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1Njcm9sbEJhciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAg", - "ImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJpZ2h0LWVkZ2UgdGVybWluYWwgc2Nyb2xsIGJhciB3aGVuIHNjcm9sbGJhY2sgaXMgYXZhaWxhYmxlLiBjbXV4IGF1dG9tYXRpY2FsbHkgc3VwcHJlc3NlcyBpdCBmb3IgYWx0ZXJuYXRlLXNjcmVlbiBzdHlsZSBUVUkgc3VyZmFjZXMuIgogICAgICAgIH0sCiAgICAgICAgInNjcm9sbFNwZWVkIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJtaW5pbXVtIjogMC4yNSwKICAgICAgICAgICJtYXhpbXVtIjogMy4wLAogICAgICAgICAgImRlZmF1bHQiOiAx", - "LjAsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnNjcm9sbFNwZWVkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNdWx0aXBsaWVyIGFwcGxpZWQgdG8gdGVybWluYWwgc2Nyb2xsIHdoZWVsIGFuZCB0cmFja3BhZCBkZWx0YXMuIEhpZ2hlciB2YWx1ZXMgc2Nyb2xsIGZhc3RlcjsgbG93ZXIgdmFsdWVzIHNjcm9sbCBzbG93ZXIuIgogICAgICAgIH0sCiAgICAgICAgInNlc3Npb25Db250ZW50TWF4V2lkdGgiOiB7CiAgICAgICAgICAib25lT2YiOiBbCiAgICAgICAg", - "ICAgIHsKICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAiY29uc3QiOiBmYWxzZQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDMyMCwKICAgICAgICAgICAgICAibXVsdGlwbGVPZiI6IDIwCiAgICAgICAgICAgIH0KICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5h", - "bC5zZXNzaW9uQ29udGVudE1heFdpZHRoIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBtYXhpbXVtIHdpZHRoLCBpbiBwb2ludHMsIGZvciB0ZXJtaW5hbCBhbmQgYnVpbHQtaW4gYWdlbnQgY2hhdCBjb250ZW50LiBTZXQgZmFsc2UgdG8gdXNlIHRoZSBmdWxsIHBhbmUgd2lkdGguIgogICAgICAgIH0sCiAgICAgICAgInNlc3Npb25Db250ZW50QWxpZ25tZW50IjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJsZWZ0IiwgImNlbnRlciIsICJyaWdodCJdLAogICAg", - "ICAgICAgImRlZmF1bHQiOiAiY2VudGVyIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuc2Vzc2lvbkNvbnRlbnRBbGlnbm1lbnQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhvcml6b250YWwgcGxhY2VtZW50IGZvciB0ZXJtaW5hbCBhbmQgYnVpbHQtaW4gYWdlbnQgY2hhdCBjb250ZW50IHdoZW4gc2Vzc2lvbkNvbnRlbnRNYXhXaWR0aCBpcyBlbmFibGVkLiIKICAgICAgICB9LAogICAgICAgICJjb3B5T25TZWxlY3QiOiB7CiAgICAgICAgICAidHlwZSI6ICJi", - "b29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLmNvcHlPblNlbGVjdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBjb3B5IHNlbGVjdGVkIHRlcm1pbmFsIHRleHQgdG8gdGhlIHN5c3RlbSBjbGlwYm9hcmQgd2hlbiB0aGUgc2VsZWN0aW9uIGlzIGNvbW1pdHRlZC4gV2hlbiBmYWxzZSwgY211eCBkb2VzIG5vdCBlbWl0IGEgR2hvc3R0eSBjb3B5LW9uLXNlbGVjdCBvdmVycmlkZTsgR2hv", - "c3R0eSBjb25maWcgYW5kIGRlZmF1bHRzIGNvbnRyb2wgc2VsZWN0aW9uLWNsaXBib2FyZCBiZWhhdmlvci4iCiAgICAgICAgfSwKICAgICAgICAiYXV0b1Jlc3VtZUFnZW50U2Vzc2lvbnMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBdXRvbWF0aWNhbGx5IHJ1biBhZ2VudCByZXN1bWUgY29tbWFuZHMgZm9yIHJlc3RvcmVkIHRlcm1pbmFsIHNlc3Npb25zIHdoZW4gY211eCByZW9wZW5zIGFmdGVyIHF1aXQuIFNldCBm", - "YWxzZSB0byByZXN0b3JlIHBhbmVzIHdoaWxlIGtlZXBpbmcgQ2xhdWRlIENvZGUsIENvZGV4LCBPcGVuQ29kZSwgYW5kIG90aGVyIHNhdmVkIGFnZW50IHNlc3Npb25zIGlkbGUgdW50aWwgeW91IHJlc3VtZSB0aGVtIG1hbnVhbGx5LiIKICAgICAgICB9LAogICAgICAgICJzaG93VGV4dEJveE9uTmV3VGVybWluYWxzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5z", - "aG93VGV4dEJveE9uTmV3VGVybWluYWxzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBiZXRhIFRleHRCb3ggaW5wdXQgYnkgZGVmYXVsdCBmb3IgbmV3bHkgY3JlYXRlZCB3b3Jrc3BhY2VzLCB0ZXJtaW5hbCB0YWJzLCBhbmQgdGVybWluYWwgc3BsaXRzLiIKICAgICAgICB9LAogICAgICAgICJmb2N1c1RleHRCb3hPbk5ld1Rlcm1pbmFscyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hl", - "bWFEZXNjcmlwdGlvbnMudGVybWluYWwuZm9jdXNUZXh0Qm94T25OZXdUZXJtaW5hbHMiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZvY3VzIHRoZSBiZXRhIFRleHRCb3ggaW5wdXQgYnkgZGVmYXVsdCBmb3IgbmV3bHkgY3JlYXRlZCB3b3Jrc3BhY2VzLCB0ZXJtaW5hbCB0YWJzLCBhbmQgdGVybWluYWwgc3BsaXRzLiBGb2N1c2luZyBhbHNvIHNob3dzIHRoZSBUZXh0Qm94LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudEhpYmVybmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJh", - "ZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5hZ2VudEhpYmVybmF0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSb3V0aW5lIEFnZW50IEhpYmVybmF0aW9uIHNldHRpbmdzLiBjbXV4IGtpbGxzIGlkbGUgYmFja2dyb3VuZCBhZ2VudCBwcm9jZXNzZXMgdG8gZnJlZSBSQU0gYW5kIENQVSwgdGhlbiByZXN1bWVzIHRoZW0gd2l0aCB0aGVpciBzYXZlZCBzZXNzaW9uIHdoZW4gdGhlaXIgdGFiIGlzIHZpc2l0ZWQu", - "IFJvdXRpbmUgaGliZXJuYXRpb24gcmVxdWlyZXMgYSByZXN0b3JhYmxlIGNvZGluZyBhZ2VudCB3aG9zZSBsaWZlY3ljbGUgcmVwb3J0cyBpZGxlLCBhbiBvZmYtc2NyZWVuIHRlcm1pbmFsLCBhIGxpdmUtdGVybWluYWwgY291bnQgYWJvdmUgdGhlIGNvbmZpZ3VyZWQgbGltaXQsIGFuZCB1bmNoYW5nZWQgb3V0cHV0IHRocm91Z2ggdGhlIGlkbGUgYW5kIGNvbmZpcm1hdGlvbiB3aW5kb3dzLiBJbmRlcGVuZGVudGx5LCBkdXJpbmcgY3JpdGljYWwgbWVtb3J5IHByZXNzdXJlIGNtdXggbWF5IGhpYmVybmF0ZSBhIGJvdW5kZWQg", - "YmF0Y2ggb2Ygc2FmZSBpZGxlIGJhY2tncm91bmQgYWdlbnRzIGV2ZW4gd2hlbiBlbmFibGVkIGlzIGZhbHNlOyB2aXNpYmxlLCBydW5uaW5nLCBuZWVkcy1pbnB1dCwgcmVjZW50bHkgY2hhbmdlZCwgYW5kIHVucHJvdGVjdGFibGUgYWdlbnRzIHJlbWFpbiBleGNsdWRlZC4gVGhlIHBsYWNlaG9sZGVyIFJlc3VtZSBidXR0b24gaXMgYSBtYW51YWwgZmFsbGJhY2suIiwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", - "ICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuYWdlbnRIaWJlcm5hdGlvbkVuYWJsZWQiLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUgcm91dGluZSBBZ2VudCBIaWJlcm5hdGlvbiBiYXNlZCBvbiB0aGUgbGl2ZS10ZXJtaW5hbCBsaW1pdC4gQ3JpdGljYWwtcHJlc3N1cmUgc2FmZXR5IGhpYmVybmF0aW9uIHJlbWFpbnMgYWN0aXZlIHdoZW4gZmFsc2UuIgogICAgICAgICAgICB9LAogICAgICAgICAg", - "ICAiaWRsZVNlY29uZHMiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgIm1pbmltdW0iOiA1LAogICAgICAgICAgICAgICJtYXhpbXVtIjogNjA0ODAwLAogICAgICAgICAgICAgICJkZWZhdWx0IjogNSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWluaW11bSBzZWNvbmRzIHdpdGggbm8gdGVybWluYWwgb3V0cHV0IG9yIGlucHV0IGJlZm9yZSBhbiBpZGxlIHJlc3RvcmFibGUgYWdlbnQgdGVybWluYWwgY2FuIGhpYmVybmF0ZS4gQSBzaG9ydCBjb25maXJtYXRpb24gc2V0", - "dGxlIHdpbmRvdyAofjYwcykgc3RpbGwgYXBwbGllcyBvbiB0b3Agb2YgdGhpcyBiZWZvcmUgdGhlIGFnZW50IGlzIGtpbGxlZC4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtYXhMaXZlVGVybWluYWxzIjogewogICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICAgICAibWF4aW11bSI6IDI1NiwKICAgICAgICAgICAgICAiZGVmYXVsdCI6IDEyLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIGxpdmUgcmVzdG9yYWJsZSBh", - "Z2VudCB0ZXJtaW5hbHMgdG8ga2VlcCBiZWZvcmUgY211eCBoaWJlcm5hdGVzIGVsaWdpYmxlIGJhY2tncm91bmQgdGVybWluYWxzLCBvbGRlc3QgZmlyc3QuIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVuZGVyZXJSZWFsaXphdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZWNsYWltIG9mZi1zY3JlZW4gdGVybWluYWwgR1BVIHJlbmRlcmVyIG1l", - "bW9yeS4gY211eCByZWxlYXNlcyB0aGUgTWV0YWwgcmVuZGVyZXIgKElPU3VyZmFjZSkgb2YgYSB0ZXJtaW5hbCB0aGF0IGhhcyBzdGF5ZWQgb2ZmLXNjcmVlbiBhbmQgaWRsZSB3aGlsZSBrZWVwaW5nIGl0cyBwcm9jZXNzIGFuZCB0ZXJtaW5hbCBzdGF0ZSBhbGl2ZSwgdGhlbiByZWJ1aWxkcyB0aGUgcmVuZGVyZXIgaW5zdGFudGx5IHdoZW4gdGhlIHRhYiBpcyB2aXNpdGVkIGFnYWluLiBOb24tZGVzdHJ1Y3RpdmUgYW5kIG9uIGJ5IGRlZmF1bHQuIiwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiZW5h", - "YmxlZCI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJlY2xhaW0gb2ZmLXNjcmVlbiB0ZXJtaW5hbCByZW5kZXJlciBtZW1vcnkuIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiaWRsZVNlY29uZHMiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgIm1pbmltdW0iOiA1LAogICAgICAgICAgICAgICJtYXhpbXVtIjogNjA0ODAwLAogICAgICAgICAgICAg", - "ICJkZWZhdWx0IjogNSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWluaW11bSBzZWNvbmRzIGEgdGVybWluYWwgbXVzdCBzdGF5IG9mZi1zY3JlZW4gYmVmb3JlIGl0cyBHUFUgcmVuZGVyZXIgbWVtb3J5IGlzIHJlY2xhaW1lZC4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtYXhXYXJtUmVuZGVyZXJzIjogewogICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICAgICAibWF4aW11bSI6IDI1NiwKICAgICAgICAgICAgICAiZGVmYXVs", - "dCI6IDEsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1vc3QgcmVjZW50bHkgdmlzaWJsZSB0ZXJtaW5hbHMgdG8ga2VlcCByZW5kZXJlci1yZWFkeSBzbyBzd2l0Y2hpbmcgc3RheXMgaW5zdGFudC4gRXh0cmEgb2ZmLXNjcmVlbiByZW5kZXJlcnMgYXJlIHJlY2xhaW1lZCBvbGRlc3QgZmlyc3QuIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAidGV4dEJveE1heExpbmVzIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAg", - "ICAgICAibWF4aW11bSI6IDIwLAogICAgICAgICAgImRlZmF1bHQiOiAxMCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIG51bWJlciBvZiBsaW5lcyB0aGUgcmljaCB0ZXJtaW5hbCBUZXh0Qm94IGlucHV0IGNhbiBncm93IHRvIGJlZm9yZSBpdCBzY3JvbGxzLiIKICAgICAgICB9LAogICAgICAgICJ0ZXh0Qm94RGVmYXVsdFN1Ym1pdEFjdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICJ0ZXh0LWVudHJ5IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJE", - "ZWZhdWx0IFRleHRCb3ggc3VibWl0IGFjdGlvbiBJRCBmb3IgbmV3IHRlcm1pbmFsIHNlc3Npb25zLiBVc2UgdGV4dC1lbnRyeSBmb3IgcGxhaW4gaW5wdXQgb3Igb25lIG9mIHRoZSBjb25maWd1cmVkIGFjdGlvbiBJRHMuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveERlZmF1bHRTdWJtaXRBY3Rpb24iCiAgICAgICAgfSwKICAgICAgICAidGV4dEJveFN1Ym1pdEFjdGlvbnMiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVm", - "YXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyYWJsZSBUZXh0Qm94IHN1Ym1pdCBhY3Rpb25zIHNob3duIG9uIHRoZSBzdWJtaXQgYnV0dG9uLCBTaGlmdC1UYWIgY3ljbGUsIGFuZCByaWdodC1jbGljayBtZW51LiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25zIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9w", - "ZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJyZXF1aXJlZCI6IFsiaWQiLCAidGl0bGUiLCAia2luZCIsICJzeXN0ZW1JbWFnZSIsICJiYWNrZ3JvdW5kQ29sb3JIZXgiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImlkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIl5bQS1aYS16MC05Ll8tXSskIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdGFibGUgYWN0aW9uIElEIHJlZmVyZW5jZWQgYnkgdGVy", - "bWluYWwudGV4dEJveERlZmF1bHRTdWJtaXRBY3Rpb24uIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbklkIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInRpdGxlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNZW51IGxhYmVsIGZvciB0aGlzIHN1Ym1pdCBhY3Rpb24uIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", - "ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvblRpdGxlIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImtpbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImVudW0iOiBbInRleHRFbnRyeSIsICJjb21tYW5kVGVtcGxhdGUiXSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoaXMgYWN0aW9uIHN1Ym1pdHMgcGxhaW4gVGV4dCBFbnRyeSBvciBleHBhbmRzIGEgc2hlbGwgY29tbWFuZCB0ZW1wbGF0", - "ZS4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uS2luZCIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJjb21tYW5kVGVtcGxhdGUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGNvbW1hbmQgdGVtcGxhdGUgZm9yIGNvbW1hbmRUZW1wbGF0ZSBhY3Rpb25zLiBJbmNsdWRlIHt7cHJvbXB0fX0gdG8gc2hlbGwtcXVvdGUgdGhl", - "IHByb21wdCBpbnRvIHRoZSBjb21tYW5kLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25Db21tYW5kVGVtcGxhdGUiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAicHJlc2VydmVQcm9tcHRBZnRlckxhdW5jaCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSwgbGF1bmNoIGNvbW1hbmRUZW1wbGF0ZSB3aXRob3V0IHRo", - "ZSBwcm9tcHQgYW5kIGtlZXAgdGhlIHByb21wdCBpbiB0aGUgVGV4dEJveCBmb3IgdGhlIGFjdGl2ZSBhZ2VudC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uUHJlc2VydmVQcm9tcHRBZnRlckxhdW5jaCIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzeXN0ZW1JbWFnZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmFsbGJhY2sg", - "U0YgU3ltYm9sIG5hbWUgc2hvd24gb24gdGhlIHN1Ym1pdCBidXR0b24uIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvblN5c3RlbUltYWdlIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImFzc2V0TmFtZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgYXBwIGFzc2V0IGNhdGFsb2cgaW1hZ2UgbmFtZSBzaG93biBvbiB0", - "aGUgc3VibWl0IGJ1dHRvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uQXNzZXROYW1lIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImltYWdlUGF0aCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgUE5HIG9yIGltYWdlIGZpbGUgcGF0aCBzaG93biBvbiB0aGUgc3VibWl0IGJ1dHRvbi4gVGlsZGUgaXMgZXhwYW5k", - "ZWQuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbkltYWdlUGF0aCIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJiYWNrZ3JvdW5kQ29sb3JIZXgiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXiM/WzAtOUEtRmEtZl17Nn0oWzAtOUEtRmEtZl17Mn0pPyQiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFjdGlvbiBjb2xvciBt", - "ZXRhZGF0YSBhcyBSR0Igb3IgUkdCQSBoZXguIFRoZSBzdWJtaXQgYnV0dG9uIGZpbGwgc3RheXMgd2hpdGUgYW5kIG9ubHkgY2hhbmdlcyBvcGFjaXR5IGJldHdlZW4gZW5hYmxlZCBhbmQgZGlzYWJsZWQgc3RhdGVzLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25CYWNrZ3JvdW5kQ29sb3JIZXgiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiYWxsT2YiOiBbCiAgICAgICAgICAgICAgewog", - "ICAgICAgICAgICAgICAgImlmIjogewogICAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBbImtpbmQiXSwKICAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImtpbmQiOiB7ICJjb25zdCI6ICJjb21tYW5kVGVtcGxhdGUiIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJ0aGVuIjogewogICAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBbImNvbW1hbmRUZW1wbGF0ZSJdLAogICAgICAgICAgICAgICAgICAiYW55T2YiOiBb", - "CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJjb21tYW5kVGVtcGxhdGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0dGVybiI6ICJcXHtcXHtwcm9tcHRcXH1cXH0iCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAg", - "IHsKICAgICAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IFsicHJlc2VydmVQcm9tcHRBZnRlckxhdW5jaCJdLAogICAgICAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIjogeyAiY29uc3QiOiB0cnVlIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0KICAgICAgICAg", - "IH0KICAgICAgICB9LAogICAgICAgICJyZXN1bWVDb21tYW5kcyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZWZhdWx0IjogW10sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2lnbmVkIGNvbW1hbmQtcHJlZml4IGFwcHJvdmFscyBmb3IgcmVzdG9yaW5nIG5vbi1hZ2VudCB0ZXJtaW5hbCBzdXJmYWNlcy4gY211eCB3cml0ZXMgdGhpcyBsaXN0IHdoZW4geW91IGFwcHJvdmUgYSBzdXJmYWNlIHJlc3VtZSBjb21tYW5kLiIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBl", - "IjogIm9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbInZlcnNpb24iLCAiaWQiLCAiY29tbWFuZFByZWZpeCIsICJlbnZpcm9ubWVudEtleXMiLCAicG9saWN5IiwgImNyZWF0ZWRBdCIsICJ1cGRhdGVkQXQiLCAic2lnbmF0dXJlIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJ2ZXJzaW9uIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgICAiY29uc3QiOiAx", - "CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiaWQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAibmFtZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJjb21tYW5kUHJlZml4IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAg", - "ICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwgYXJndiBwcmVmaXggdGhhdCBtdXN0IG1hdGNoIHRoZSBzYXZlZCByZXN1bWUgY29tbWFuZC4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY3dkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCB3b3JraW5nIGRpcmVjdG9y", - "eSB0aGF0IG11c3QgbWF0Y2ggdGhlIHNhdmVkIHJlc3VtZSBjb21tYW5kLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJlbnZpcm9ubWVudCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgbm9uLXNlbnNpdGl2ZSBlbnZpcm9ubWVudCB2YWx1ZXMgdGhh", - "dCBtdXN0IG1hdGNoIHRoZSBzYXZlZCByZXN1bWUgY29tbWFuZC4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiZW52aXJvbm1lbnRLZXlzIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAic291cmNlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgIH0sCiAg", - "ICAgICAgICAgICAgInBvbGljeSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZW51bSI6IFsibWFudWFsIiwgInByb21wdCIsICJhdXRvIl0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJjcmVhdGVkQXQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAidXBkYXRlZEF0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAg", - "Imxhc3RVc2VkQXQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAic2lnbmF0dXJlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJITUFDIHNpZ25hdHVyZSBmb3IgdGhlIHJlY29yZC4gQ2hhbmdpbmcgc2lnbmVkIGZpZWxkcyBpbnZhbGlkYXRlcyB0aGUgYXBwcm92YWwuIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAg", - "ICAgInVwbG9hZENvbW1hbmRzIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIb3N0LXNjb3BlZCBydWxlcyB0aGF0IHJlcGxhY2UgdGhlIGJ1aWx0LWluIHNjcCBmb3IgdGVybWluYWwgZmlsZSBkcm9wcyBhbmQgcGFzdGVzIG92ZXIgU1NILiBXaGVuIHRoZSBzc2ggZGVzdGluYXRpb24gbWF0Y2hlcyBhIHJ1bGUsIGNtdXggcnVucyB0aGF0IHJ1bGUncyBjb21tYW5kIG9uY2UgcGVyIGZpbGUgaW5zdGVhZCBvZiBzY3AsIGFuZCBp", - "bnNlcnRzIHRoZSBjb21tYW5kJ3Mgc3Rkb3V0IGF0IHRoZSBjdXJzb3IgKHZlcmJhdGltLCB3aXRoIGNvbnRyb2wgY2hhcmFjdGVycyBzdHJpcHBlZCk7IGlmIHRoZSBjb21tYW5kIHByaW50cyBub3RoaW5nLCBjbXV4IGluc2VydHMgdGhlIHNoZWxsLWVzY2FwZWQgcmVtb3RlIHBhdGggaXQgY2hvc2UgaW5zdGVhZC4gUGVyLWZpbGUgb3V0cHV0cyBhcmUgc3BhY2Utam9pbmVkLiBGaXJzdCBtYXRjaGluZyBlbmFibGVkIHJ1bGUgd2luczsgbm8gbWF0Y2ggcnVucyB0aGUgYnVpbHQtaW4gc2NwIHVuY2hhbmdlZC4gQSBub24temVy", - "byBleGl0LCB0aW1lb3V0LCBvciBjYW5jZWwgaW5zZXJ0cyBub3RoaW5nLiIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbImNvbW1hbmQiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImhvc3RQYXR0ZXJuIjogewogICAgICAgICAgICAgICAgInR5cGUiOiBbInN0cmluZyIsICJudWxsIl0sCiAgICAgICAgICAgICAgICAibWlu", - "TGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJmbm1hdGNoIGdsb2IgbWF0Y2hlZCBhZ2FpbnN0IHRoZSBzc2ggZGVzdGluYXRpb24gKHVzZXJAIGFuZCBJUHY2IGJyYWNrZXRzIHN0cmlwcGVkLCBsb3dlcmNhc2VkKSwgbGlrZSBhIHNpbmdsZSBzc2hfY29uZmlnIEhvc3QgcGF0dGVybi4gV2hlbiB0aGUgc2Vzc2lvbiBzZXRzIGEgSG9zdE5hbWUgKGZvciBleGFtcGxlIHRocm91Z2ggYSBQcm94eUNvbW1hbmQgb3IgYnJva2VyKSwgdGhlIHJ1bGUgYWxzbyBtYXRjaGVzIGFnYWluc3QgdGhhdCByZXNv", - "bHZlZCBob3N0LiBPbWl0IHRoZSBrZXkgb3Igc2V0IGl0IHRvIG51bGwgZm9yIGEgY2F0Y2gtYWxsIChhIGJsYW5rIHN0cmluZyBpcyByZWplY3RlZCkuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNvbW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgICAicGF0dGVybiI6ICJcXFMiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGNvbW1hbmQgcnVuIHZpYSAvYmluL3NoIC1jLCBv", - "bmNlIHBlciBmaWxlLiBJdCByZWNlaXZlcyB0aGUgZmlsZSBhbmQgZW5kcG9pbnQgb24gaXRzIGVudmlyb25tZW50IChDTVVYX1VQTE9BRF9MT0NBTF9QQVRILCBDTVVYX1VQTE9BRF9SRU1PVEVfUEFUSCwgQ01VWF9VUExPQURfREVTVElOQVRJT04sIENNVVhfVVBMT0FEX1BPUlQsIENNVVhfVVBMT0FEX0lERU5USVRZX0ZJTEUsIENNVVhfVVBMT0FEX1NTSF9PUFRJT05TKS4gSXRzIHN0ZG91dCBpcyB3aGF0IGNtdXggaW5zZXJ0cyBhdCB0aGUgY3Vyc29yLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJlbmFibGVk", - "IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGlzIHJ1bGUgaXMgYWN0aXZlLiBEZWZhdWx0cyB0byB0cnVlLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAibm90aWZpY2F0aW9ucyI6IHsKICAgICAgInRpdGxlIjogIm5vdGlmaWNhdGlvbnMiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTm90", - "aWZpY2F0aW9uIGJlaGF2aW9yIGZyb20gU2V0dGluZ3MgPiBOb3RpZmljYXRpb25zLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZG9ja0JhZGdlIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgdW5yZWFkIGNvdW50", - "IGluIHRoZSBEb2NrIHRpbGUuIgogICAgICAgIH0sCiAgICAgICAgInNob3dJbk1lbnVCYXIiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBtZW51IGJhciBleHRyYS4iCiAgICAgICAgfSwKICAgICAgICAidW5yZWFkUGFuZVJpbmciOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6", - "ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWdobGlnaHQgcGFuZXMgd2l0aCB1bnJlYWQgbm90aWZpY2F0aW9ucy4iCiAgICAgICAgfSwKICAgICAgICAicGFuZUZsYXNoIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmxhc2ggdGhlIGZvY3VzZWQgcGFuZSB3aGVuIHJlcXVlc3Rl", - "ZC4iCiAgICAgICAgfSwKICAgICAgICAicGFuZUZsYXNoQ29sb3IiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5wYW5lRmxhc2hDb2xvciIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGUgdGhlIHBhbmUgZmxhc2ggYW5kIHVucmVhZCByaW5nIGNv", - "bG9yLiBOdWxsIGtlZXBzIHRoZSBidWlsdC1pbiBibHVlLiIKICAgICAgICB9LAogICAgICAgICJzdXBwcmVzc09ubHlGb2N1c2VkU3VyZmFjZSI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5zdXBwcmVzc09ubHlGb2N1c2VkU3VyZmFjZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", - "V2hlbiBlbmFibGVkLCBhIG5vdGlmaWNhdGlvbiBiYW5uZXIgaXMgYXV0by13aXRoZHJhd24gb25seSB3aGVuIGl0cyBzdXJmYWNlIGlzIHRoZSBleGFjdCBmb2N1c2VkIHN1cmZhY2UuIEEgYmFubmVyIGRlbGl2ZXJlZCBmb3IgYSBub24tZm9jdXNlZCBzdXJmYWNlIGluIHRoZSBjdXJyZW50bHkgdmlzaWJsZSB3b3Jrc3BhY2Ugc3RheXMgdXAgdW50aWwgeW91IGZvY3VzIHRoYXQgc3VyZmFjZSAob3IgY2xpY2svZGlzbWlzcyBpdCksIGluc3RlYWQgb2YgYmVpbmcgcmV0cmFjdGVkIHdoZW4gdGhlIHdvcmtzcGFjZSBiZWNvbWVz", - "IHZpc2libGUuIE9mZiBwcmVzZXJ2ZXMgdGhlIGxlZ2FjeSB3b3Jrc3BhY2UtdmlzaWJpbGl0eSB3aXRoZHJhdy4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRQZXJtaXNzaW9uUHJvbXB0IjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLm5vdGlmaWNhdGlvbnMuYWdlbnRQZXJtaXNzaW9uUHJvbXB0IiwKICAgICAg", - "ICAgICJkZXNjcmlwdGlvbiI6ICJOb3RpZnkgd2hlbiBhbiBhZ2VudCAoZS5nLiBDbGF1ZGUgQ29kZSkgaXMgYmxvY2tlZCB3YWl0aW5nIGZvciB5b3VyIHBlcm1pc3Npb24gdG8gcnVuIGEgdG9vbC4gT24gYnkgZGVmYXVsdCwgc2luY2UgdGhpcyBpcyB0aGUgYWxlcnQgeW91IG11c3QgYWN0IG9uIHRvIHVuYmxvY2sgdGhlIGFnZW50LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudFR1cm5Db21wbGV0ZSI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIs", - "CiAgICAgICAgICAiZW51bSI6IFsid2hlbklkbGUiLCAiYWx3YXlzIiwgIm5ldmVyIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ3aGVuSWRsZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLm5vdGlmaWNhdGlvbnMuYWdlbnRUdXJuQ29tcGxldGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdG8gbm90aWZ5IHRoYXQgYW4gYWdlbnQgZmluaXNoZWQgYSB0dXJuLiB3aGVuSWRsZSAoZGVmYXVsdCkgc3VwcHJlc3NlcyB0aGUgbm90aWZpY2F0aW9uIHdoaWxlIHRoZSBhZ2Vu", - "dCBzdGlsbCBoYXMgYSBydW5uaW5nIGJhY2tncm91bmQgdGFzayBvciBhIHBlbmRpbmcgc2NoZWR1bGVkIHdha2V1cCwgc28geW91IGFyZSBwaW5nZWQgb25jZSB3b3JrIHRydWx5IGRyYWlucy4gYWx3YXlzIG5vdGlmaWVzIG9uIGV2ZXJ5IHR1cm4gZW5kOyBuZXZlciBkaXNhYmxlcyBpdC4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRJZGxlUmVtaW5kZXIiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1", - "ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudElkbGVSZW1pbmRlciIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZ5IHdoZW4gYW4gYWdlbnQgaGFzIGJlZW4gaWRsZSB3YWl0aW5nIGZvciB5b3VyIGlucHV0IChhYm91dCA2MHMgYWZ0ZXIgYSB0dXJuIGVuZHMpLiBTdXBwcmVzc2VkIHdoaWxlIGJhY2tncm91bmQgd29yayBmcm9tIHRoZSBsYXN0IHR1cm4gaXMgc3RpbGwgcGVuZGluZywgc28gYSBydW5uaW5nIGJ1aWxkIG9yIHdhdGNoZXIg", - "ZG9lcyBub3QgdHJpZ2dlciBhIGZhbHNlIHdhaXRpbmcgYWxlcnQuIgogICAgICAgIH0sCiAgICAgICAgInNvdW5kIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAiZGVmYXVsdCIsCiAgICAgICAgICAgICJCYXNzbyIsCiAgICAgICAgICAgICJCbG93IiwKICAgICAgICAgICAgIkJvdHRsZSIsCiAgICAgICAgICAgICJGcm9nIiwKICAgICAgICAgICAgIkZ1bmsiLAogICAgICAgICAgICAiR2xh", - "c3MiLAogICAgICAgICAgICAiSGVybyIsCiAgICAgICAgICAgICJNb3JzZSIsCiAgICAgICAgICAgICJQaW5nIiwKICAgICAgICAgICAgIlBvcCIsCiAgICAgICAgICAgICJQdXJyIiwKICAgICAgICAgICAgIlNvc3VtaSIsCiAgICAgICAgICAgICJTdWJtYXJpbmUiLAogICAgICAgICAgICAiVGluayIsCiAgICAgICAgICAgICJjdXN0b21fZmlsZSIsCiAgICAgICAgICAgICJub25lIgogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogImRlZmF1bHQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWNhdGlv", - "biBzb3VuZCBwcmVzZXQuIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNvdW5kRmlsZVBhdGgiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMb2NhbCBwYXRoIHRvIHRoZSBjdXN0b20gbm90aWZpY2F0aW9uIHNvdW5kIGZpbGUuIgogICAgICAgIH0sCiAgICAgICAgInNvdW5kT3ZlcnJpZGVzIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImds", - "b2JhbCJdLAogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZWZhdWx0Ijoge30sCiAgICAgICAgICAibWF4UHJvcGVydGllcyI6IDI1NiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5zb3VuZE92ZXJyaWRlcyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3BhcnNlIHBlci1hZ2VudCBhbmQgcGVyLWFsZXJ0LXR5cGUgbm90aWZpY2F0aW9uIHNvdW5kIG92ZXJyaWRlcy4gTWlzc2luZyBjZWxscyB1c2Ugbm90aWZpY2F0aW9ucy5zb3Vu", - "ZC4iLAogICAgICAgICAgInByb3BlcnR5TmFtZXMiOiB7CiAgICAgICAgICAgICJhbGxPZiI6IFsKICAgICAgICAgICAgICB7ICJwYXR0ZXJuIjogIl5bQS1aYS16MC05Ll8tXSskIiB9LAogICAgICAgICAgICAgIHsgIm1heExlbmd0aCI6IDY0IH0sCiAgICAgICAgICAgICAgeyAibm90IjogeyAiZW51bSI6IFsiLiIsICIuLiJdIH0gfQogICAgICAgICAgICBdCiAgICAgICAgICB9LAogICAgICAgICAgInBhdHRlcm5Qcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiXltBLVphLXowLTkuXy1dKyQiOiB7CiAgICAgICAgICAgICAg", - "InR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAibWF4UHJvcGVydGllcyI6IDMsCiAgICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAidHVybkRvbmUiOiB7ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlkZSIgfSwKICAgICAgICAgICAgICAgICJuZWVkc0lucHV0IjogeyAiJHJlZiI6ICIjLyRkZWZzL25vdGlmaWNhdGlvblNvdW5kT3ZlcnJpZGUiIH0sCiAgICAgICAgICAgICAgICAi", - "ZXJyb3JTdGFsbGVkIjogeyAiJHJlZiI6ICIjLyRkZWZzL25vdGlmaWNhdGlvblNvdW5kT3ZlcnJpZGUiIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZQogICAgICAgIH0sCiAgICAgICAgImNvbW1hbmQiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRp", - "b25hbCBzaGVsbCBjb21tYW5kIHRvIHJ1biBhbG9uZ3NpZGUgbm90aWZpY2F0aW9uIGRlbGl2ZXJ5LiIKICAgICAgICB9LAogICAgICAgICJob29rc01vZGUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFwcGVuZCIsICJyZXBsYWNlIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJhcHBlbmQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgcHJvamVjdC1sb2NhbCBub3RpZmljYXRpb24gaG9va3MgYXBwZW5kIHRvIGluaGVyaXRlZCBob29rcyBvciBy", - "ZXBsYWNlIHRoZW0uIgogICAgICAgIH0sCiAgICAgICAgImhvb2tzIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb21wb3NhYmxlIHNoZWxsIGhvb2tzIHRoYXQgcmVjZWl2ZSBub3RpZmljYXRpb24gcG9saWN5IEpTT04gb24gc3RkaW4gYW5kIHJldHVybiB1cGRhdGVkIHBvbGljeSBKU09OIG9uIHN0ZG91dC4iLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAi", - "YWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgInJlcXVpcmVkIjogWyJpZCIsICJjb21tYW5kIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdGFibGUgaG9vayBpZGVudGlmaWVyIHVzZWQgaW4gbG9ncyBhbmQgZmFpbHVyZSBhbGVydHMuIgogICAgICAgICAgICAgIH0sCiAgICAg", - "ICAgICAgICAgImNvbW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgICAicGF0dGVybiI6ICIuKlxcUy4qIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaGVsbCBjb21tYW5kIHJ1biB3aXRoIG5vdGlmaWNhdGlvbiBwb2xpY3kgSlNPTiBvbiBzdGRpbi4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAidGltZW91dFNlY29uZHMiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIi", - "LAogICAgICAgICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICAgImRlZmF1bHQiOiAyMCwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIHRpbWUgY211eCB3YWl0cyBmb3IgdGhpcyBob29rIGJlZm9yZSBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdCBub3RpZmljYXRpb24gYmVoYXZpb3IuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0", - "IjogdHJ1ZSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNhYmxlIHRoaXMgaG9vayB3aXRob3V0IHJlbW92aW5nIGl0LiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAic2lkZWJhciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAic2lkZWJhciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWRlYmFyIGNvbnRlbnQgYW5kIG1ldGFkYXRhIHZpc2liaWxpdHkgZnJvbSBTZXR0aW5n", - "cyA+IFNpZGViYXIuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJoaWRlQWxsRGV0YWlscyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWRlIGFsbCBwZXItd29ya3NwYWNlIGRldGFpbCByb3dzLiIKICAgICAgICB9LAogICAgICAgICJ3cmFwV29ya3NwYWNlVGl0bGVzIjogewogICAgICAgICAg", - "InR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IHdvcmtzcGFjZSB0aXRsZXMgaW4gdGhlIHNpZGViYXIgdG8gd3JhcCB0byBtdWx0aXBsZSBsaW5lcyBpbnN0ZWFkIG9mIHRydW5jYXRpbmcgYWZ0ZXIgb25lIGxpbmUuIgogICAgICAgIH0sCiAgICAgICAgInNob3dXb3Jrc3BhY2VEZXNjcmlwdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0", - "aW9uIjogIlNob3cgY3VzdG9tIHdvcmtzcGFjZSBkZXNjcmlwdGlvbnMgaW4gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgIndvcmtzcGFjZURlc2NyaXB0aW9uQ29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgd29ya3NwYWNlIGRlc2NyaXB0aW9uIHRleHQgY29sb3IgaW4gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImJldGEiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRXhwZXJpbWVudGFsIHNpZGViYXIgZmVhdHVyZXMuIiwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAid29ya3NwYWNlVG9kb3MiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV29ya3NwYWNl", - "IHRvZG9zIGNoZWNrbGlzdCBwcmVzZW50YXRpb24uIiwKICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICJjaGVja2xpc3RTdHlsZSI6IHsKICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgImVudW0iOiBbInBvcG92ZXIiLCAiaW5saW5lIl0sCiAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogInBvcG92ZXIiLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG93IGEgcm93J3MgY2hlY2tsaXN0IG9wZW5zIGZyb20gaXRzIHN1bW1h", - "cnkgbGluZTogYW4gYW5jaG9yZWQgcG9wb3ZlciBvciBpbmxpbmUgZXhwYW5zaW9uLiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJicmFuY2hMYXlvdXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInZlcnRpY2FsIiwgImlubGluZSJdLAogICAgICAgICAgImRlZmF1bHQiOiAidmVydGljYWwiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgZ2l0IGJyYW5jaCBkZXRhaWxz", - "IHN0YWNrZWQgdmVydGljYWxseSBvciBpbmxpbmUuIgogICAgICAgIH0sCiAgICAgICAgInNob3dOb3RpZmljYXRpb25NZXNzYWdlIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgbGF0ZXN0IG5vdGlmaWNhdGlvbiB0ZXh0IGluIHRoZSBzaWRlYmFyLiIKICAgICAgICB9LAogICAgICAgICJub3RpZmljYXRpb25NZXNzYWdlTGluZUxpbWl0IjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAg", - "ICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAibWF4aW11bSI6IDUwLAogICAgICAgICAgImRlZmF1bHQiOiAxMiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIGxpbmVzIHNob3duIGZvciB0aGUgbGF0ZXN0IG5vdGlmaWNhdGlvbiBiZWxvdyBlYWNoIHdvcmtzcGFjZSB0aXRsZS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaWRlYmFyLm5vdGlmaWNhdGlvbk1lc3NhZ2VMaW5lTGltaXQiCiAgICAgICAgfSwKICAgICAgICAic2hvd0JyYW5jaERpcmVjdG9yeSI6", - "IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHdvcmtzcGFjZSB3b3JraW5nIGRpcmVjdG9yeS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1B1bGxSZXF1ZXN0cyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgcHVsbCByZXF1ZXN0IG1ldGFkYXRhIGluIHRoZSBzaWRlYmFyLiIKICAgICAgICB9", - "LAogICAgICAgICJ3YXRjaEdpdFN0YXR1cyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldhdGNoIHJlcG9zaXRvcnkgZmlsZXMgZm9yIHNpZGViYXIgYnJhbmNoIGFuZCBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgd2l0aG91dCBwb2xsaW5nIGdpdC4iCiAgICAgICAgfSwKICAgICAgICAibWFrZVB1bGxSZXF1ZXN0c0NsaWNrYWJsZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQi", - "OiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IHNpZGViYXIgcHVsbCByZXF1ZXN0IG1ldGFkYXRhIHRvIG9wZW4gbGlua3Mgd2hlbiBjbGlja2VkLiIKICAgICAgICB9LAogICAgICAgICJvcGVuUHVsbFJlcXVlc3RMaW5rc0luQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIHNpZGViYXIgcHVsbCByZXF1ZXN0IGxpbmtzIGluIHRoZSBlbWJlZGRlZCBjbXV4IGJyb3dzZXIu", - "IgogICAgICAgIH0sCiAgICAgICAgIm9wZW5Qb3J0TGlua3NJbkNtdXhCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3BlbiBzaWRlYmFyIHBvcnQgbGlua3MgaW4gdGhlIGVtYmVkZGVkIGNtdXggYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1NTSCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9u", - "IjogIlNob3cgU1NIIGNvbm5lY3Rpb24gZGV0YWlscy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1BvcnRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBsaXN0ZW5pbmcgcG9ydHMuIgogICAgICAgIH0sCiAgICAgICAgInNob3dMb2ciOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHJlY2VudCBs", - "b2cgc25pcHBldHMuIgogICAgICAgIH0sCiAgICAgICAgInNob3dQcm9ncmVzcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgcHJvZ3Jlc3MgaW5kaWNhdG9ycy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0FnZW50QWN0aXZpdHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBsb2FkaW5n", - "IHNwaW5uZXIgb24gd29ya3NwYWNlcyB3aXRoIHJ1bm5pbmcgY29kaW5nIGFnZW50cyBvciBhY3RpdmUgbG9hZGVycy4iCiAgICAgICAgfSwKICAgICAgICAibG9hZGluZ1NwaW5uZXJQb3NpdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsibGVhZGluZyIsICJ0cmFpbGluZyJdLAogICAgICAgICAgImRlZmF1bHQiOiAibGVhZGluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hpY2ggc2lkZSBvZiB0aGUgd29ya3NwYWNlIHJvdyB0aGUgbG9hZGluZyBzcGlubmVyIGFw", - "cGVhcnMgb246IGxlYWRpbmcgKGxlZnQsIHNoYXJpbmcgdGhlIHVucmVhZC1iYWRnZSBzbG90KSBvciB0cmFpbGluZyAocmlnaHQpLiIKICAgICAgICB9LAogICAgICAgICJub3RpZmljYXRpb25CYWRnZVBvc2l0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJsZWFkaW5nIiwgInRyYWlsaW5nIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJsZWFkaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBzaWRlIG9mIHRoZSB3b3Jrc3BhY2Ugcm93IHRoZSB1bnJlYWQg", - "bm90aWZpY2F0aW9uIGJhZGdlIGFwcGVhcnMgb246IGxlYWRpbmcgKGxlZnQpIG9yIHRyYWlsaW5nIChyaWdodCkuIgogICAgICAgIH0sCiAgICAgICAgInNob3dDdXN0b21NZXRhZGF0YSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VzdG9tIG1ldGFkYXRhIHBpbGxzLiIKICAgICAgICB9LAogICAgICAgICJyaWdodE1heFdpZHRoIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJl", - "eGNsdXNpdmVNaW5pbXVtIjogMCwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2lkZWJhci5yaWdodE1heFdpZHRoIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIHdpZHRoIGluIHBvaW50cyBmb3IgdGhlIHJpZ2h0IHNpZGViYXIuIFdoZW4gb21pdHRlZCwgdGhlIGJ1aWx0LWluIGR5bmFtaWMgY2FwIGFwcGxpZXMuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJ3b3Jrc3BhY2VDb2xvcnMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwK", - "ICAgICAgInRpdGxlIjogIndvcmtzcGFjZUNvbG9ycyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJXb3Jrc3BhY2UgdGFiIGFuZCBiYWRnZSBjb2xvcnMgZnJvbSBTZXR0aW5ncyA+IFdvcmtzcGFjZSBDb2xvcnMuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJpbmRpY2F0b3JTdHlsZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgImxlZnRS", - "YWlsIiwKICAgICAgICAgICAgInNvbGlkRmlsbCIsCiAgICAgICAgICAgICJyYWlsIiwKICAgICAgICAgICAgImJvcmRlciIsCiAgICAgICAgICAgICJ3YXNoIiwKICAgICAgICAgICAgImxpZnQiLAogICAgICAgICAgICAidHlwb2dyYXBoeSIsCiAgICAgICAgICAgICJ3YXNoUmFpbCIsCiAgICAgICAgICAgICJibHVlV2FzaENvbG9yUmFpbCIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJsZWZ0UmFpbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWN0aXZlIHdvcmtzcGFjZSBpbmRpY2F0b3Igc3R5bGUu", - "IExlZ2FjeSBhbGlhc2VzIGFyZSBhY2NlcHRlZCBhbmQgbm9ybWFsaXplZC4iCiAgICAgICAgfSwKICAgICAgICAic2VsZWN0aW9uQ29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgc2VsZWN0ZWQgd29ya3NwYWNlIGJhY2tncm91bmQgY29sb3IuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbkJhZGdlQ29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIj", - "LyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgdW5yZWFkIG5vdGlmaWNhdGlvbiBiYWRnZSBjb2xvci4iCiAgICAgICAgfSwKICAgICAgICAiY29sb3JzIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGdWxsIG5hbWVkIHdvcmtzcGFjZSBjb2xvciBwYWxldHRlLiBJbmNsdWRlIGJ1aWx0LWluIGVudHJpZXMgeW91IHdhbnQgdG8ga2VlcCwgcmVtb3ZlIGtleXMg", - "dG8gcmVtb3ZlIGNvbG9ycywgYW5kIGFkZCBtb3JlIG5hbWVkIGVudHJpZXMgdG8gZXh0ZW5kIHRoZSBwaWNrZXIuIiwKICAgICAgICAgICJkZWZhdWx0IjogewogICAgICAgICAgICAiUmVkIjogIiNDMDM5MkIiLAogICAgICAgICAgICAiQ3JpbXNvbiI6ICIjOTIyQjIxIiwKICAgICAgICAgICAgIk9yYW5nZSI6ICIjQTA0MDAwIiwKICAgICAgICAgICAgIkFtYmVyIjogIiM3RDY2MDgiLAogICAgICAgICAgICAiT2xpdmUiOiAiIzRBNUMxOCIsCiAgICAgICAgICAgICJHcmVlbiI6ICIjMTk2RjNEIiwKICAgICAgICAgICAgIlRl", - "YWwiOiAiIzAwNkI2QiIsCiAgICAgICAgICAgICJBcXVhIjogIiMwRTZCOEMiLAogICAgICAgICAgICAiQmx1ZSI6ICIjMTU2NUMwIiwKICAgICAgICAgICAgIk5hdnkiOiAiIzFBNTI3NiIsCiAgICAgICAgICAgICJJbmRpZ28iOiAiIzI4MzU5MyIsCiAgICAgICAgICAgICJQdXJwbGUiOiAiIzZBMUI5QSIsCiAgICAgICAgICAgICJNYWdlbnRhIjogIiNBRDE0NTciLAogICAgICAgICAgICAiUm9zZSI6ICIjODgwRTRGIiwKICAgICAgICAgICAgIkJyb3duIjogIiM3QjNGMDAiLAogICAgICAgICAgICAiQ2hhcmNvYWwiOiAiIzNF", - "NEI1RSIKICAgICAgICAgIH0sCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXgiCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicGFsZXR0ZU92ZXJyaWRlcyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IHdvcmtzcGFjZSBjb2xvciBvdmVycmlkZXMgZm9yIGJ1aWx0LWluIHBhbGV0dGUgbmFtZXMuIFByZWZlciB3b3Jrc3BhY2VDb2xvcnMuY29sb3JzIGZvciBuZXcg", - "Y29uZmlncy4iLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJkZXByZWNhdGVkIjogdHJ1ZSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJjdXN0b21Db2xvcnMiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IGxpc3Qgb2YgY3VzdG9tIHdvcmtzcGFjZSBjb2xvcnMuIFByZWZlciB3b3Jrc3BhY2VD", - "b2xvcnMuY29sb3JzIGZvciBuZXcgY29uZmlncy4iLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXByZWNhdGVkIjogdHJ1ZSwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAic2lkZWJhckFwcGVhcmFuY2UiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInNpZGViYXJBcHBlYXJhbmNlIiwKICAgICAgImRlc2NyaXB0aW9u", - "IjogIlNpZGViYXIgdGludCBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gU2lkZWJhciBBcHBlYXJhbmNlLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAibWF0Y2hUZXJtaW5hbEJhY2tncm91bmQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVXNlIHRoZSB0ZXJtaW5hbCBiYWNrZ3JvdW5kIGluc3Rl", - "YWQgb2YgdGhlIHNpZGViYXIgdGludC4iCiAgICAgICAgfSwKICAgICAgICAidGludENvbG9yIjogewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIjMDAwMDAwIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCYXNlIHNpZGViYXIgdGludCBjb2xvciB1c2VkIHdoZW4gbGlnaHQvZGFyayBvdmVycmlkZXMgYXJlIG5vdCBzZXQuIgogICAgICAgIH0sCiAgICAgICAgImxpZ2h0TW9kZVRpbnRDb2xvciI6IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JI", - "ZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBvdmVycmlkZSBmb3IgbGlnaHQgYXBwZWFyYW5jZS4iCiAgICAgICAgfSwKICAgICAgICAiZGFya01vZGVUaW50Q29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWRlYmFyIHRpbnQgb3ZlcnJpZGUgZm9yIGRhcmsgYXBwZWFyYW5jZS4iCiAgICAgICAg", - "fSwKICAgICAgICAidGludE9wYWNpdHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLAogICAgICAgICAgIm1heGltdW0iOiAxLAogICAgICAgICAgImRlZmF1bHQiOiAwLjAzLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBvcGFjaXR5IGZyb20gMCB0byAxLiBOb3RlOiB0aGlzIG9ubHkgY29udHJvbHMgdGhlIHNpZGViYXIgdGludCwgbm90IHRlcm1pbmFsL3dpbmRvdyB0cmFuc3BhcmVuY3kuIEZvciB0ZXJtaW5hbCBiYWNrZ3JvdW5kIHRyYW5zcGFy", - "ZW5jeSBvciBibHVyLCBzZXQgYGJhY2tncm91bmQtb3BhY2l0eWAgYW5kIGBiYWNrZ3JvdW5kLWJsdXJgIGluIGB+Ly5jb25maWcvZ2hvc3R0eS9jb25maWdgIGFuZCBydW4gYGNtdXggcmVsb2FkLWNvbmZpZ2AuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJhdXRvbWF0aW9uIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJhdXRvbWF0aW9uIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlNvY2tldCBjb250cm9sIGFuZCBhdXRvbWF0aW9uIHNldHRpbmdzIGZyb20gU2V0", - "dGluZ3MgPiBBdXRvbWF0aW9uLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAic29ja2V0Q29udHJvbE1vZGUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbCiAgICAgICAgICAgICJvZmYiLAogICAgICAgICAgICAiY211eE9ubHkiLAogICAgICAgICAgICAiYXV0b21hdGlvbiIsCiAgICAgICAgICAgICJwYXNzd29yZCIsCiAgICAgICAgICAgICJhbGxvd0FsbCIs", - "CiAgICAgICAgICAgICJvcGVuQWNjZXNzIiwKICAgICAgICAgICAgImZ1bGxPcGVuQWNjZXNzIiwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbnMiLAogICAgICAgICAgICAiZnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJjbXV4T25seSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU29ja2V0IGNvbnRyb2wgbW9kZS4gTGVnYWN5IGFsaWFzZXMgYXJlIGFjY2VwdGVkIGFuZCBub3JtYWxpemVkLiIKICAgICAgICB9LAogICAgICAgICJzb2NrZXRQYXNzd29yZCI6IHsKICAgICAgICAgICJvbmVPZiI6", - "IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogIm51bGwiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBhc3N3b3JkIGZvciBwYXNzd29yZC1tb2RlIHNvY2tldCBhY2Nlc3MuIFVzZSBudWxsIG9yIGFuIGVtcHR5IHN0cmluZyB0byBjbGVhciBpdC4iCiAgICAgICAgfSwKICAgICAgICAiY2xhdWRlQ29kZUlu", - "dGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIGNtdXggaW50ZWdyYXRpb24gaG9va3MgZm9yIENsYXVkZSBDb2RlLiIKICAgICAgICB9LAogICAgICAgICJjbGF1ZGVCaW5hcnlQYXRoIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9tIHBhdGggdG8gdGhlIGNsYXVkZSBiaW5hcnkuIgog", - "ICAgICAgIH0sCiAgICAgICAgIndvcmtzcGFjZUF1dG9OYW1pbmciOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24ud29ya3NwYWNlQXV0b05hbWluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0LWluIEFJIGF1dG8tbmFtaW5nIG9mIHdvcmtzcGFjZXMgYW5kIHRhYnMgZnJvbSBhZ2VudCBjb252ZXJzYXRpb24gY29udGVudC4gV2hlbiBlbmFibGVkLCBj", - "bXV4IHN1bW1hcml6ZXMgc3VwcG9ydGVkIGFnZW50IHNlc3Npb25zIGludG8gc2hvcnQgdGl0bGVzIHVzaW5nIGVhY2ggYWdlbnQncyBvd24gYmluYXJ5OyBtYW51YWwgcmVuYW1lcyBhbHdheXMgd2luLiIKICAgICAgICB9LAogICAgICAgICJhdXRvTmFtaW5nQWdlbnQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiYXV0byIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uYXV0b05hbWluZ0FnZW50IiwKICAgICAgICAg", - "ICJkZXNjcmlwdGlvbiI6ICJXaGljaCBhZ2VudCBnZW5lcmF0ZXMgYXV0by1uYW1lcyBmb3IgZXZlcnkgc2Vzc2lvbi4gXCJhdXRvXCIgKGRlZmF1bHQpIG5hbWVzIGVhY2ggc2Vzc2lvbiB3aXRoIGl0cyBvd24gYWdlbnQ7IGFueSBhZ2VudCBzbHVnIChjbGF1ZGUsIGNvZGV4LCBncm9rLCBvcGVuY29kZSwgcGksIG9tcCwg4oCmKSBvdmVycmlkZXMgbmFtaW5nIGZvciBhbGwgc2Vzc2lvbnMsIGV2ZW4gb3RoZXIgYWdlbnRzJyBzZXNzaW9ucy4gVW5kcml2ZWFibGUgb3IgdW5pbnN0YWxsZWQgYWdlbnRzIGZhbGwgYmFjayB0byB0", - "aGUgc2Vzc2lvbidzIG93biBhZ2VudCwgc28gbmFtaW5nIG5ldmVyIGJyZWFrcy4iCiAgICAgICAgfSwKICAgICAgICAicmlwZ3JlcEJpbmFyeVBhdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gcGF0aCB0byB0aGUgcmlwZ3JlcCAocmcpIGJpbmFyeSB1c2VkIGJ5IHByb2plY3Qgc2VhcmNoLiIKICAgICAgICB9LAogICAgICAgICJzdXBwcmVzc1N1YmFnZW50Tm90aWZpY2F0aW9ucyI6IHsKICAgICAgICAgICJ0", - "eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hdXRvbWF0aW9uLnN1cHByZXNzU3ViYWdlbnROb3RpZmljYXRpb25zIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdXBwcmVzcyB2aXNpYmxlIGNvbXBsZXRpb24gbm90aWZpY2F0aW9ucyBhbmQgc3RhdHVzIG11dGF0aW9ucyBmcm9tIG5lc3RlZCBDb2RleCBvciBDbGF1ZGUgY2hpbGQgYWdlbnRzIHdoaWxlIGtlZXBpbmcgdGhlaXIgZXZlbnRzIGluIEZlZWQg", - "dGVsZW1ldHJ5LiIKICAgICAgICB9LAogICAgICAgICJhbXBJbnRlZ3JhdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hdXRvbWF0aW9uLmFtcEludGVncmF0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQW1wLiBXaGVuIGRpc2FibGVkLCB0aGUgYnVuZGxlZCBwbHVnaW4gc3RheXMgaW5hY3RpdmUgd2l0", - "aG91dCBuZWVkaW5nIHRvIGJlIHJlbW92ZWQuIgogICAgICAgIH0sCiAgICAgICAgImN1cnNvckludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIGNtdXggaW50ZWdyYXRpb24gaG9va3MgZm9yIEN1cnNvci4iCiAgICAgICAgfSwKICAgICAgICAiZ2VtaW5pSW50ZWdyYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAg", - "ICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgR2VtaW5pLiIKICAgICAgICB9LAogICAgICAgICJraXJvSW50ZWdyYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgS2lybyBDTEkuIgogICAgICAgIH0sCiAgICAgICAgImtpcm9Ob3RpZmljYXRpb25MZXZlbCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmlu", - "ZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgIm1pbmltYWwiLAogICAgICAgICAgICAic3RhbmRhcmQiLAogICAgICAgICAgICAidmVyYm9zZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzdGFuZGFyZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29udHJvbHMgaG93IG1hbnkgS2lybyB0b29sIGV2ZW50cyBhcHBlYXIgaW4gRmVlZC4iCiAgICAgICAgfSwKICAgICAgICAicG9ydEJhc2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjog", - "MSwKICAgICAgICAgICJkZWZhdWx0IjogOTEwMCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdGFydGluZyB2YWx1ZSBmb3Igd29ya3NwYWNlIENNVVhfUE9SVCBhc3NpZ25tZW50cy4iCiAgICAgICAgfSwKICAgICAgICAicG9ydFJhbmdlIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk51bWJlciBvZiBwb3J0cyByZXNlcnZlZCBwZXIgd29ya3NwYWNlLiIKICAgICAgICB9CiAg", - "ICAgIH0KICAgIH0sCiAgICAiYnJvd3NlciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAiYnJvd3NlciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJFbWJlZGRlZCBicm93c2VyIHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBCcm93c2VyLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZGVmYXVsdFNlYXJjaEVuZ2luZSI6IHsKICAgICAgICAgICJ0eXBlIjog", - "InN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsiZ29vZ2xlIiwgImR1Y2tkdWNrZ28iLCAiYmluZyIsICJrYWdpIiwgInN0YXJ0cGFnZSIsICJicmF2ZSIsICJwZXJwbGV4aXR5IiwgImV4YSIsICJ5YWhvbyIsICJlY29zaWEiLCAicXdhbnQiLCAibW9qZWVrIiwgIndpa2lwZWRpYSIsICJnaXRodWIiLCAiYmFpZHUiLCAieWFuZGV4IiwgImN1c3RvbSJdLAogICAgICAgICAgImRlZmF1bHQiOiAiZ29vZ2xlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYnJvd3Nlci5kZWZhdWx0U2Vh", - "cmNoRW5naW5lIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IHNlYXJjaCBlbmdpbmUgZm9yIG5vbi1VUkwgYnJvd3NlciBhZGRyZXNzIGJhciBxdWVyaWVzLiBVc2UgY3VzdG9tIHdpdGggY3VzdG9tU2VhcmNoRW5naW5lVVJMVGVtcGxhdGUgZm9yIGFyYml0cmFyeSBwcm92aWRlcnMuIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNlYXJjaEVuZ2luZU5hbWUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", - "ICJzY2hlbWFEZXNjcmlwdGlvbnMuYnJvd3Nlci5jdXN0b21TZWFyY2hFbmdpbmVOYW1lIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNwbGF5IG5hbWUgdXNlZCB3aGVuIGRlZmF1bHRTZWFyY2hFbmdpbmUgaXMgY3VzdG9tLiIKICAgICAgICB9LAogICAgICAgICJjdXN0b21TZWFyY2hFbmdpbmVVUkxUZW1wbGF0ZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL3NlYXJjaD9xPXtxdWVyeX0iLAogICAgICAgICAgImRlc2NyaXB0", - "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmN1c3RvbVNlYXJjaEVuZ2luZVVSTFRlbXBsYXRlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWFyY2ggVVJMIHVzZWQgd2hlbiBkZWZhdWx0U2VhcmNoRW5naW5lIGlzIGN1c3RvbS4gSW5jbHVkZSB7cXVlcnl9IG9yICVzIGZvciB0aGUgZW5jb2RlZCBxdWVyeS4gSWYgb21pdHRlZCwgY211eCBhcHBlbmRzIHE9IHRvIHRoZSBVUkwuIgogICAgICAgIH0sCiAgICAgICAgInNob3dTZWFyY2hTdWdnZXN0aW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImJv", - "b2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgb21uaWJhciBzZWFyY2ggc3VnZ2VzdGlvbnMuIgogICAgICAgIH0sCiAgICAgICAgInRoZW1lIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJzeXN0ZW0iLCAibGlnaHQiLCAiZGFyayJdLAogICAgICAgICAgImRlZmF1bHQiOiAic3lzdGVtIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbWJlZGRlZCBicm93c2VyIHRoZW1lLiIKICAgICAgICB9LAogICAgICAg", - "ICJkZWZhdWx0Wm9vbUxldmVsIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJtaW5pbXVtIjogMC4yNSwKICAgICAgICAgICJtYXhpbXVtIjogNSwKICAgICAgICAgICJkZWZhdWx0IjogMSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYnJvd3Nlci5kZWZhdWx0Wm9vbUxldmVsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IHBhZ2Ugem9vbSBmYWN0b3IgYXBwbGllZCB0byBuZXdseSBvcGVuZWQgYnJvd3NlciBwYWdlcyAoMSA9IDEwMCUp", - "LiBab29tIEluLCBab29tIE91dCwgYW5kIEFjdHVhbCBTaXplIHN0aWxsIGFkanVzdCBlYWNoIHBhZ2UuIgogICAgICAgIH0sCiAgICAgICAgImRpc2NhcmRIaWRkZW5XZWJWaWV3cyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IGhpZGRlbiBicm93c2VyIHRhYnMgdG8gcmVsZWFzZSBwYWdlIG1lbW9yeSBhbmQgcmVzdG9yZSB3aGVuIHNob3duIGFnYWluLiIKICAgICAgICB9LAogICAgICAgICJoaWRkZW5XZWJW", - "aWV3RGlzY2FyZERlbGF5U2Vjb25kcyI6IHsKICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAibWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDM2MDAsCiAgICAgICAgICAiZGVmYXVsdCI6IDMwMCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWNvbmRzIGEgYnJvd3NlciB0YWIgbXVzdCBzdGF5IGhpZGRlbiBiZWZvcmUgY211eCBmcmVlcyBpdHMgcGFnZSBtZW1vcnkuIgogICAgICAgIH0sCiAgICAgICAgImFza1doZXJlVG9TYXZlRG93bmxvYWRzIjogewogICAgICAgICAgInR5cGUiOiAi", - "Ym9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmFza1doZXJlVG9TYXZlRG93bmxvYWRzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgc2F2ZSBwYW5lbCBmb3IgYnJvd3NlciBkb3dubG9hZHMgaW5zdGVhZCBvZiBzYXZpbmcgZGlyZWN0bHkgdG8gRG93bmxvYWRzLiIKICAgICAgICB9LAogICAgICAgICJvcGVuVGVybWluYWxMaW5rc0luQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6", - "ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIGNsaWNrZWQgdGVybWluYWwgbGlua3MgaW4gdGhlIGVtYmVkZGVkIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgImludGVyY2VwdFRlcm1pbmFsT3BlbkNvbW1hbmRJbkNtdXhCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSW50ZXJjZXB0IHRlcm1pbmFsIG9wZW4gaHR0cChzKSBj", - "b21tYW5kcyBhbmQgcm91dGUgdGhlbSB0aHJvdWdoIHRoZSBlbWJlZGRlZCBicm93c2VyLiIKICAgICAgICB9LAogICAgICAgICJob3N0c1RvT3BlbkluRW1iZWRkZWRCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxvd2xpc3Qgb2YgaG9zdHMgdGhhdCBzaG91bGQgc3RheSBpbnNpZGUgdGhlIGVtYmVk", - "ZGVkIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgInVybHNUb0Fsd2F5c09wZW5FeHRlcm5hbGx5IjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSdWxlcyB0aGF0IGFsd2F5cyBvcGVuIG1hdGNoaW5nIFVSTHMgaW4gdGhlIHN5c3RlbSBicm93c2VyLiIKICAgICAgICB9LAogICAgICAgICJpbnNlY3VyZUh0dHBI", - "b3N0c0FsbG93ZWRJbkVtYmVkZGVkQnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgfSwKICAgICAgICAgICJkZWZhdWx0IjogWwogICAgICAgICAgICAibG9jYWxob3N0IiwKICAgICAgICAgICAgIioubG9jYWxob3N0IiwKICAgICAgICAgICAgIjEyNy4wLjAuMSIsCiAgICAgICAgICAgICI6OjEiLAogICAgICAgICAgICAiMC4wLjAuMCIsCiAgICAgICAgICAgICIqLmxvY2FsdGVzdC5tZSIKICAgICAg", - "ICAgIF0sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSFRUUCBob3N0cyBhbGxvd2VkIGluIHRoZSBlbWJlZGRlZCBicm93c2VyIHdpdGhvdXQgYSB3YXJuaW5nIHByb21wdC4iCiAgICAgICAgfSwKICAgICAgICAidXJsQWxsb3dsaXN0IjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLnVybEFsbG93bGlzdCIs", - "CiAgICAgICAgICAiZGVmYXVsdCI6IFsKICAgICAgICAgICAgImxvY2FsaG9zdCIsCiAgICAgICAgICAgICIqLmxvY2FsaG9zdCIsCiAgICAgICAgICAgICIxMjcuMC4wLjEiLAogICAgICAgICAgICAiOjoxIiwKICAgICAgICAgICAgIjAuMC4wLjAiLAogICAgICAgICAgICAiKi5sb2NhbHRlc3QubWUiCiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhvc3Qgb3IgVVJMIHBhdHRlcm5zIHRoYXQgcmVzdHJpY3QgZW1iZWRkZWQtYnJvd3NlciBuYXZpZ2F0aW9uLiBUaGUgU2V0dGluZ3MgVUkgc3VnZ2VzdHMg", - "bG9jYWwgZGV2ZWxvcG1lbnQgb3JpZ2luczsgc2F2aW5nIGEgbGlzdCBvcHRzIGludG8gdGhlIG9wdGlvbmFsIHJlc3RyaWN0aW9uLiBSZW1vdmUgZW50cmllcyB0byBibG9jayB0aGVtLCBvciBsZWF2ZSB0aGUgdXNlciB2YWx1ZSBlbXB0eSB0byBkaXNhYmxlIGl0IHdoZW4gbm8gbWFuYWdlZCBwb2xpY3kgYXBwbGllcy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0ltcG9ydEhpbnRPbkJsYW5rVGFicyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAg", - "ImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGJyb3dzZXIgaW1wb3J0IGhpbnQgb24gYmxhbmsgdGFicy4iCiAgICAgICAgfSwKICAgICAgICAicmVhY3RHcmFiVmVyc2lvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIwLjEuMjkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBpbm5lZCByZWFjdC1ncmFiIHZlcnNpb24gZm9yIHRoZSBicm93c2VyIHRvb2xiYXIgaGVscGVyLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAibW9iaWxlIjogewogICAgICAieC1jbXV4", - "LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJtb2JpbGUiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTWFjLXNpZGUgc2V0dGluZ3MgZm9yIGNtdXggb24gaU9TLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiYXJ0aWZhY3RGb2xkZXJBY2Nlc3MiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInN1YnRyZWUiLCAib25lTGV2ZWwiXSwKICAgICAg", - "ICAgICJkZWZhdWx0IjogInN1YnRyZWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgYSByZWZlcmVuY2VkIG9yIHRlcm1pbmFsLXZpc2libGUgZGlyZWN0b3J5IGF1dGhvcml6ZXMgaXRzIGZ1bGwgY2Fub25pY2FsIHN1YnRyZWUgb3Igb25seSBpbW1lZGlhdGUgY2hpbGRyZW4uIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtYXJrZG93biI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAibWFya2Rvd24iLAogICAgICAiZGVzY3JpcHRp", - "b24iOiAiQnVpbHQtaW4gbWFya2Rvd24gdmlld2VyIHNldHRpbmdzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZm9udFNpemUiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogOCwKICAgICAgICAgICJtYXhpbXVtIjogOTYsCiAgICAgICAgICAiZGVmYXVsdCI6IDE1LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgYm9keSBmb250IHNpemUs", - "IGluIHBvaW50cywgZm9yIG5ld2x5IG9wZW5lZCBtYXJrZG93biB2aWV3ZXJzLiBab29tIGEgdmlld2VyIGxpdmUgd2l0aCBDbWQtKyAvIENtZC0tIC8gQ21kLTAuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubWFya2Rvd24uZm9udFNpemUiCiAgICAgICAgfSwKICAgICAgICAiZm9udEZhbWlseSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgYm9keSBmb250IGZhbWls", - "eSBmb3IgbmV3bHkgb3BlbmVkIG1hcmtkb3duIHZpZXdlcnMuIExlYXZlIGVtcHR5IGZvciB0aGUgc3lzdGVtIG1hcmtkb3duIGZvbnQgc3RhY2suIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubWFya2Rvd24uZm9udEZhbWlseSIKICAgICAgICB9LAogICAgICAgICJtYXhXaWR0aCI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAzMjAsCiAgICAgICAgICAibWF4aW11bSI6IDI0MDAsCiAgICAgICAgICAiZGVmYXVsdCI6IDk4MCwKICAg", - "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IG1heGltdW0gcmVhZGluZyBjb2x1bW4gd2lkdGgsIGluIENTUyBwaXhlbHMsIGZvciBuZXdseSBvcGVuZWQgbWFya2Rvd24gdmlld2Vycy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5tYXhXaWR0aCIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiY2FudmFzIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJjYW52YXMiLAogICAgICAiZGVzY3JpcHRpb24i", - "OiAiRnJlZWZvcm0gY2FudmFzIHdvcmtzcGFjZSBsYXlvdXQgc2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJwYW5lR2FwIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDY0LAogICAgICAgICAgImRlZmF1bHQiOiAxNiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTcGFjaW5nIGJldHdlZW4gcGFu", - "ZXMgaW4gdGhlIGNhbnZhcyBsYXlvdXQsIGluIHBvaW50cy4gU25hcHBpbmcsIHRpZHksIGFuZCBuZXctcGFuZSBwbGFjZW1lbnQgYWxsIHVzZSB0aGlzIG9uZSBnYXAuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY2FudmFzLnBhbmVHYXAiCiAgICAgICAgfSwKICAgICAgICAic25hcHBpbmdFbmFibGVkIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU25hcCBwYW5lIGRyYWdz", - "IGFuZCByZXNpemVzIHRvIG5laWdoYm9yIGVkZ2VzIGFuZCB0aGUgcGFuZSBnYXAuIEhvbGQgQ29tbWFuZCB0byBzdXNwZW5kIHNuYXBwaW5nIGZvciBvbmUgZ2VzdHVyZS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jYW52YXMuc25hcHBpbmdFbmFibGVkIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJmaWxlRWRpdG9yIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJmaWxlRWRpdG9yIiwKICAgICAgImRlc2NyaXB0aW9u", - "IjogIkJ1aWx0LWluIGZpbGUgZWRpdG9yIHNldHRpbmdzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAid29yZFdyYXAiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV3JhcCBsb25nIGxpbmVzIGF0IHRoZSBlZGl0b3IncyByaWdodCBlZGdlIGluc3RlYWQgb2Ygc2Nyb2xsaW5nIGhvcml6b250YWxs", - "eS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxlRWRpdG9yLndvcmRXcmFwIgogICAgICAgIH0sCiAgICAgICAgInN5bnRheEhpZ2hsaWdodGluZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbG9yIHNvdXJjZSB0b2tlbnMgaW4gdGhlIGJ1aWx0LWluIGZpbGUgZWRpdG9yLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZp", - "bGVFZGl0b3Iuc3ludGF4SGlnaGxpZ2h0aW5nIgogICAgICAgIH0sCiAgICAgICAgImxpbmVOdW1iZXJzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBhIGxpbmUtbnVtYmVyIGd1dHRlciBpbiB0aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5saW5lTnVtYmVycyIKICAgICAgICB9LAogICAgICAgICJpbmRl", - "bnRHdWlkZXMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEcmF3IHZlcnRpY2FsIGluZGVudCBndWlkZXMgaW4gdGhlIGJ1aWx0LWluIGZpbGUgZWRpdG9yLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3IuaW5kZW50R3VpZGVzIgogICAgICAgIH0sCiAgICAgICAgImN1cnJlbnRMaW5lSGlnaGxpZ2h0IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIs", - "CiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlnaGxpZ2h0IHRoZSBjYXJldCdzIGxpbmUgd2hlbiB0aGUgc2VsZWN0aW9uIGlzIGVtcHR5LiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3IuY3VycmVudExpbmVIaWdobGlnaHQiCiAgICAgICAgfSwKICAgICAgICAidGFiV2lkdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJkZWZhdWx0IjogNCwKICAgICAgICAgICJtaW5pbXVtIjog", - "MSwKICAgICAgICAgICJtYXhpbXVtIjogOCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb2x1bW5zIHBlciB0YWIgc3RvcCBmb3IgaW5kZW50IGd1aWRlcy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxlRWRpdG9yLnRhYldpZHRoIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJmaWxlRXhwbG9yZXIiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImZpbGVFeHBsb3JlciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJS", - "aWdodC1zaWRlYmFyIGZpbGUgZXhwbG9yZXIgKGZpbGUgdHJlZSkgc2V0dGluZ3MuIiwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxlRXhwbG9yZXIuZGVzY3JpcHRpb24iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImRvdWJsZUNsaWNrQWN0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJwcmV2aWV3IiwgImRlZmF1", - "bHRFZGl0b3IiLCAicHJlZmVycmVkRWRpdG9yIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJwcmV2aWV3IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGF0IGRvdWJsZS1jbGlja2luZyAob3IgcHJlc3NpbmcgUmV0dXJuIG9uIGEgc2VhcmNoIHJlc3VsdCBmb3IpIGEgZmlsZSBpbiB0aGUgZmlsZSBleHBsb3JlciBkb2VzLiBgcHJldmlld2Agb3BlbnMgdGhlIGJ1aWx0LWluIGNtdXggZmlsZSBwcmV2aWV3ICh0aGUgZGVmYXVsdCBhbmQgaGlzdG9yaWNhbCBiZWhhdmlvcikuIGBkZWZhdWx0RWRpdG9yYCBvcGVucyB3aXRo", - "IHRoZSBtYWNPUyBkZWZhdWx0IGFwcCBmb3IgdGhlIGZpbGUgdHlwZS4gYHByZWZlcnJlZEVkaXRvcmAgb3BlbnMgd2l0aCB0aGUgYGFwcC5wcmVmZXJyZWRFZGl0b3JgIGNvbW1hbmQsIGZhbGxpbmcgYmFjayB0byB0aGUgZGVmYXVsdCBhcHAgd2hlbiBub25lIGlzIHNldC4gT25seSBhcHBsaWVzIHRvIGZpbGVzOyBkaXJlY3RvcmllcyBhbHdheXMgZXhwYW5kL2NvbGxhcHNlLCBhbmQgbm9uLWxvY2FsIChyZW1vdGUpIGZpbGUgZXhwbG9yZXJzIGFsd2F5cyBvcGVuIHRoZSBjbXV4IHByZXZpZXcuIiwKICAgICAgICAgICJkZXNj", - "cmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUV4cGxvcmVyLmRvdWJsZUNsaWNrQWN0aW9uIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJkaWZmVmlld2VyIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJkaWZmVmlld2VyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkJ1aWx0LWluIGRpZmYgdmlld2VyIHNldHRpbmdzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJv", - "cGVydGllcyI6IHsKICAgICAgICAiZGVmYXVsdExheW91dCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsidW5pZmllZCIsICJzcGxpdCJdLAogICAgICAgICAgImRlZmF1bHQiOiAidW5pZmllZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBsYXlvdXQgZm9yIG5ld2x5IG9wZW5lZCBkaWZmIHZpZXdlcnMuIFRoZSB0b29sYmFyIGxheW91dCB0b2dnbGUgcGVyc2lzdHMgdGhlIHVzZXIncyBsYXN0IGNob2ljZTsgYW4gZXhwbGljaXQgYGNtdXggZGlmZiAtLWxheW91", - "dGAgb3B0aW9uIG92ZXJyaWRlcyBib3RoLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmRpZmZWaWV3ZXIuZGVmYXVsdExheW91dCIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAicmlnaHRTaWRlYmFyIjogewogICAgICAidGl0bGUiOiAicmlnaHRTaWRlYmFyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkxlZ2FjeSBhbmQgZXh0ZW5zaW9uLW93bmVkIHJpZ2h0LXNpZGViYXIgY29uZmlndXJhdGlvbiBwcmVzZXJ2ZWQgaW4gY211eC5qc29uLiIsCiAgICAgICJkZXNjcmlwdGlv", - "bktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMucmlnaHRTaWRlYmFyIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZQogICAgfSwKICAgICJzaG9ydGN1dHMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInNob3J0Y3V0cyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJLZXlib2FyZCBzaG9ydGN1dCBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gS2V5Ym9hcmQgU2hvcnRjdXRzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIs", - "CiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAic2hvd01vZGlmaWVySG9sZEhpbnRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBzaG9ydGN1dC1oaW50IGNoaXBzIHdoaWxlIGhvbGRpbmcgQ21kIG9yIENvbnRyb2wuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2hvcnRjdXRzLnNob3dNb2Rp", - "ZmllckhvbGRIaW50cyIKICAgICAgICB9LAogICAgICAgICJiaW5kaW5ncyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVmYXVsdCI6IHt9LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3J0Y3V0IG92ZXJyaWRlcyBrZXllZCBieSBjbXV4IGFjdGlvbiBpZC4gVXNlIGEgc3RyaW5nIGZvciBhIHNpbmdsZSBzaG9ydGN1dCwgYW4gYXJyYXkgZm9yIGEgY2hvcmQsIG51bGwsIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkIHRvIHVuYmluZC4iLAog", - "ICAgICAgICAgInByb3BlcnR5TmFtZXMiOiB7CiAgICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAgICJvcGVuU2V0dGluZ3MiLAogICAgICAgICAgICAgICJvcGVuVGVhbVBpY2tlciIsCiAgICAgICAgICAgICAgInJlbG9hZENvbmZpZ3VyYXRpb24iLAogICAgICAgICAgICAgICJzaG93SGlkZUFsbFdpbmRvd3MiLAogICAgICAgICAgICAgICJnbG9iYWxTZWFyY2giLAogICAgICAgICAgICAgICJuZXdXaW5kb3ciLAogICAgICAgICAgICAgICJjbG9zZVdpbmRvdyIsCiAgICAgICAgICAgICAgInRvZ2dsZUZ1bGxTY3Jl", - "ZW4iLAogICAgICAgICAgICAgICJxdWl0IiwKICAgICAgICAgICAgICAidG9nZ2xlU2lkZWJhciIsCiAgICAgICAgICAgICAgIm5ld1RhYiIsCiAgICAgICAgICAgICAgIm5ld0Jyb3dzZXJXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJuZXdDbG91ZFdvcmtzcGFjZSIsCiAgICAgICAgICAgICAgIm5ld0Nsb3VkTWFjaGluZSIsCiAgICAgICAgICAgICAgIm9wZW5Gb2xkZXIiLAogICAgICAgICAgICAgICJyZW9wZW5QcmV2aW91c1Nlc3Npb24iLAogICAgICAgICAgICAgICJnb1RvV29ya3NwYWNlIiwKICAgICAgICAgICAgICAi", - "Y29tbWFuZFBhbGV0dGUiLAogICAgICAgICAgICAgICJjb21tYW5kUGFsZXR0ZU5leHQiLAogICAgICAgICAgICAgICJjb21tYW5kUGFsZXR0ZVByZXZpb3VzIiwKICAgICAgICAgICAgICAic2VuZEZlZWRiYWNrIiwKICAgICAgICAgICAgICAic2hvd05vdGlmaWNhdGlvbnMiLAogICAgICAgICAgICAgICJqdW1wVG9VbnJlYWQiLAogICAgICAgICAgICAgICJ0b2dnbGVVbnJlYWQiLAogICAgICAgICAgICAgICJtYXJrT2xkZXN0VW5yZWFkQW5kSnVtcE5leHQiLAogICAgICAgICAgICAgICJtYXJrQWxsTm90aWZpY2F0aW9uc1Jl", - "YWQiLAogICAgICAgICAgICAgICJjbGVhckFsbE5vdGlmaWNhdGlvbnMiLAogICAgICAgICAgICAgICJmb2N1c1JpZ2h0U2lkZWJhciIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRmlsZXMiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0ZpbmQiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb1Nlc3Npb25zIiwKICAgICAgICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9GZWVkIiwKICAgICAgICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9Eb2NrIiwKICAgICAg", - "ICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9NYWNoaW5lcyIsCiAgICAgICAgICAgICAgInRyaWdnZXJGbGFzaCIsCiAgICAgICAgICAgICAgIm5leHRTdXJmYWNlIiwKICAgICAgICAgICAgICAicHJldlN1cmZhY2UiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZUxlZnQiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVJpZ2h0IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb1ByZXZpb3VzUGFuZSIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9OZXh0UGFuZSIsCiAgICAgICAgICAgICAgIm1vdmVTdXJm", - "YWNlVG9QYW5lTGVmdCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QYW5lUmlnaHQiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZVVwIiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb1BhbmVEb3duIiwKICAgICAgICAgICAgICAic2VsZWN0U3VyZmFjZUJ5TnVtYmVyIiwKICAgICAgICAgICAgICAibmV4dFNpZGViYXJUYWIiLAogICAgICAgICAgICAgICJwcmV2U2lkZWJhclRhYiIsCiAgICAgICAgICAgICAgIm5leHRTaWRlYmFyVGFiSW5Hcm91cCIsCiAgICAgICAgICAgICAgInByZXZTaWRlYmFy", - "VGFiSW5Hcm91cCIsCiAgICAgICAgICAgICAgIm1vdmVXb3Jrc3BhY2VVcCIsCiAgICAgICAgICAgICAgIm1vdmVXb3Jrc3BhY2VEb3duIiwKICAgICAgICAgICAgICAiZm9jdXNIaXN0b3J5QmFjayIsCiAgICAgICAgICAgICAgImZvY3VzSGlzdG9yeUZvcndhcmQiLAogICAgICAgICAgICAgICJmb2N1c0hpc3RvcnlMYXN0IiwKICAgICAgICAgICAgICAic2VsZWN0V29ya3NwYWNlQnlOdW1iZXIiLAogICAgICAgICAgICAgICJyZW5hbWVUYWIiLAogICAgICAgICAgICAgICJyZW5hbWVXb3Jrc3BhY2UiLAogICAgICAgICAgICAg", - "ICJlZGl0V29ya3NwYWNlRGVzY3JpcHRpb24iLAogICAgICAgICAgICAgICJtYXJrV29ya3NwYWNlRG9uZSIsCiAgICAgICAgICAgICAgImN5Y2xlV29ya3NwYWNlU3RhdHVzIiwKICAgICAgICAgICAgICAidG9nZ2xlQ2hlY2tsaXN0SXRlbUNvbXBsZXRlIiwKICAgICAgICAgICAgICAiY2xvc2VUYWIiLAogICAgICAgICAgICAgICJjbG9zZU90aGVyVGFic0luUGFuZSIsCiAgICAgICAgICAgICAgImNsb3NlV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3V29ya3NwYWNlR3JvdXAiLAogICAgICAgICAgICAgICJncm91cFNl", - "bGVjdGVkV29ya3NwYWNlcyIsCiAgICAgICAgICAgICAgInRvZ2dsZUZvY3VzZWRXb3Jrc3BhY2VHcm91cENvbGxhcHNlZCIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZFdvcmtzcGFjZSIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZEJyb3dzZXJQYW5lbCIsCiAgICAgICAgICAgICAgIm5ld1N1cmZhY2UiLAogICAgICAgICAgICAgICJ0b2dnbGVUZXJtaW5hbENvcHlNb2RlIiwKICAgICAgICAgICAgICAiZm9jdXNUZXh0Qm94SW5wdXQiLAogICAgICAgICAgICAgICJjeWNsZVRleHRCb3hTdWJtaXRBY3Rpb24iLAog", - "ICAgICAgICAgICAgICJhdHRhY2hUZXh0Qm94RmlsZSIsCiAgICAgICAgICAgICAgInNlbmRDdHJsRlRvVGVybWluYWwiLAogICAgICAgICAgICAgICJjbGVhclNjcmVlbktlZXBTY3JvbGxiYWNrIiwKICAgICAgICAgICAgICAic2ltdWxhdG9ySG9tZSIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclJvdGF0ZUxlZnQiLAogICAgICAgICAgICAgICJzaW11bGF0b3JSb3RhdGVSaWdodCIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclRvZ2dsZUFwcGVhcmFuY2UiLAogICAgICAgICAgICAgICJzaW11bGF0b3JUb2dnbGVTb2Z0d2Fy", - "ZUtleWJvYXJkIiwKICAgICAgICAgICAgICAiZm9jdXNMZWZ0IiwKICAgICAgICAgICAgICAiZm9jdXNSaWdodCIsCiAgICAgICAgICAgICAgImZvY3VzVXAiLAogICAgICAgICAgICAgICJmb2N1c0Rvd24iLAogICAgICAgICAgICAgICJmb2N1c1ByZXZpb3VzUGFuZSIsCiAgICAgICAgICAgICAgImZvY3VzTmV4dFBhbmUiLAogICAgICAgICAgICAgICJzcGxpdFJpZ2h0IiwKICAgICAgICAgICAgICAic3BsaXREb3duIiwKICAgICAgICAgICAgICAidG9nZ2xlU3BsaXRab29tIiwKICAgICAgICAgICAgICAiaW5jcmVhc2VXb3Jr", - "c3BhY2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZGVjcmVhc2VXb3Jrc3BhY2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAicmVzZXRXb3Jrc3BhY2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZXF1YWxpemVTcGxpdHMiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS1sZWZ0IiwKICAgICAgICAgICAgICAicmVzaXplLXBhbmUtcmlnaHQiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS11cCIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5lLWRvd24iLAogICAgICAgICAg", - "ICAgICJzcGxpdEJyb3dzZXJSaWdodCIsCiAgICAgICAgICAgICAgInNwbGl0QnJvd3NlckRvd24iLAogICAgICAgICAgICAgICJ0b2dnbGVDYW52YXNMYXlvdXQiLAogICAgICAgICAgICAgICJjYW52YXNSZXZlYWxGb2N1c2VkUGFuZSIsCiAgICAgICAgICAgICAgImNhbnZhc092ZXJ2aWV3IiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbUluIiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbU91dCIsCiAgICAgICAgICAgICAgImNhbnZhc1pvb21SZXNldCIsCiAgICAgICAgICAgICAgImNhbnZhc1RpZHkiLAogICAgICAgICAg", - "ICAgICJjYW52YXNBbGlnbkxlZnQiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnblJpZ2h0IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25Ub3AiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnbkJvdHRvbSIsCiAgICAgICAgICAgICAgImNhbnZhc0VxdWFsaXplV2lkdGhzIiwKICAgICAgICAgICAgICAiY2FudmFzRXF1YWxpemVIZWlnaHRzIiwKICAgICAgICAgICAgICAiY2FudmFzRGlzdHJpYnV0ZUhvcml6b250YWxseSIsCiAgICAgICAgICAgICAgImNhbnZhc0Rpc3RyaWJ1dGVWZXJ0aWNhbGx5IiwKICAgICAgICAg", - "ICAgICAidG9nZ2xlRmlsZUV4cGxvcmVyIiwKICAgICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbiIsCiAgICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5TZWxlY3Rpb25GaW5kZXJBbGlhcyIsCiAgICAgICAgICAgICAgInNhdmVGaWxlUHJldmlldyIsCiAgICAgICAgICAgICAgInRvZ2dsZUZpbGVFZGl0b3JXb3JkV3JhcCIsCiAgICAgICAgICAgICAgIm9wZW5Ccm93c2VyIiwKICAgICAgICAgICAgICAiZm9jdXNCcm93c2VyQWRkcmVzc0JhciIsCiAgICAgICAgICAgICAgImJyb3dzZXJCYWNrIiwKICAg", - "ICAgICAgICAgICAiYnJvd3NlckZvcndhcmQiLAogICAgICAgICAgICAgICJicm93c2VyUmVsb2FkIiwKICAgICAgICAgICAgICAiYnJvd3NlckhhcmRSZWxvYWQiLAogICAgICAgICAgICAgICJicm93c2VyWm9vbUluIiwKICAgICAgICAgICAgICAiYnJvd3Nlclpvb21PdXQiLAogICAgICAgICAgICAgICJicm93c2VyWm9vbVJlc2V0IiwKICAgICAgICAgICAgICAibWFya2Rvd25ab29tSW4iLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21PdXQiLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21SZXNldCIsCiAgICAgICAg", - "ICAgICAgImZpbmQiLAogICAgICAgICAgICAgICJmaW5kSW5EaXJlY3RvcnkiLAogICAgICAgICAgICAgICJmaW5kTmV4dCIsCiAgICAgICAgICAgICAgImZpbmRQcmV2aW91cyIsCiAgICAgICAgICAgICAgImhpZGVGaW5kIiwKICAgICAgICAgICAgICAidXNlU2VsZWN0aW9uRm9yRmluZCIsCiAgICAgICAgICAgICAgInRvZ2dsZUJyb3dzZXJEZXZlbG9wZXJUb29scyIsCiAgICAgICAgICAgICAgInNob3dCcm93c2VySmF2YVNjcmlwdENvbnNvbGUiLAogICAgICAgICAgICAgICJ0b2dnbGVCcm93c2VyRm9jdXNNb2RlIiwKICAg", - "ICAgICAgICAgICAidG9nZ2xlQnJvd3NlckRlc2lnbk1vZGUiLAogICAgICAgICAgICAgICJ0b2dnbGVSZWFjdEdyYWIiLAogICAgICAgICAgICAgICJvcGVuRGlmZlZpZXdlciIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3duIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbEhhbGZQYWdlRG93biIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxIYWxmUGFnZVVwIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERv", - "d25FbWFjcyIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxVcEVtYWNzIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvQm90dG9tIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvVG9wIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck9wZW5GaWxlU2VhcmNoIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck5leHRGaWxlIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmlsZSIKICAgICAgICAgICAgXQogICAgICAgICAgfSwKICAgICAgICAgICJwcm9wZXJ0aWVzIjog", - "ewogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbiI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbkZpbmRlckFsaWFzIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZm", - "Vmlld2VyU2Nyb2xsRG93biI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VEb3duIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMv", - "JGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VVcCI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxh", - "YmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwRW1hY3MiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb0JvdHRvbSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNj", - "cm9sbFRvVG9wIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyT3BlbkZpbGVTZWFyY2giOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJOZXh0RmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVG", - "aXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgfQogICAgICAgIH0s", - "CiAgICAgICAgIndoZW4iOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBwZXItYWN0aW9uIGNvbnRleHQgcHJlZGljYXRlcyAoVlMgQ29kZS1zdHlsZSBgd2hlbmAgY2xhdXNlcyksIGtleWVkIGJ5IGNtdXggYWN0aW9uIGlkLiBFYWNoIHZhbHVlIGlzIGEgYm9vbGVhbiBleHByZXNzaW9uIG92ZXIgY29udGV4dCBrZXlzIGNvbWJpbmVkIHdpdGggISwgJiYsIHx8LCBhbmQgcGFyZW50aGVzZXMuIEJvb2xlYW4ga2V5", - "czogc2lkZWJhckZvY3VzLCBicm93c2VyRm9jdXMsIG1hcmtkb3duRm9jdXMsIGZpbGVQcmV2aWV3VGV4dEVkaXRvckZvY3VzLCBzaW11bGF0b3JGb2N1cywgdGVybWluYWxGb2N1cywgY29tbWFuZFBhbGV0dGVWaXNpYmxlLCB0ZXJtaW5hbEZpbmRWaXNpYmxlLCB3b3Jrc3BhY2VDYW52YXNMYXlvdXQuIFR5cGVkIGtleXMgc3VwcG9ydCBjb21wYXJpc29uczogdGhlIHN0cmluZyBzaWRlYmFyTW9kZSAoZmlsZXMsIGZpbmQsIHNlc3Npb25zLCBmZWVkLCBvciBkb2NrKSBhbmQgdGhlIGludGVnZXJzIHBhbmVDb3VudCBhbmQgd29y", - "a3NwYWNlQ291bnQuIENvbXBhcmlzb24gb3BlcmF0b3JzIGFyZSA9PSwgIT0sID1+IChyZWdleCksIDwsIDw9LCA+LCA+PSwgYW5kIGBpbiBbYSwgYl1gOyBhbiB1bmtub3duIG9yIGFic2VudCBrZXkgcmVhZHMgYXMgZmFsc2UuIFRoZSBib29sZWFuIGxpdGVyYWxzIHRydWUgYW5kIGZhbHNlIGFyZSBhbHNvIGFjY2VwdGVkOyBga2V5ID09IGZhbHNlYCBpcyB0aGUgc2FtZSBhcyBgIWtleWAuIFRoZSBhY3Rpb24ncyBzaG9ydGN1dCBvbmx5IGZpcmVzIChhbmQgb25seSBjb25mbGljdHMgd2l0aCBvdGhlciBzaG9ydGN1dHMpIHdo", - "ZW4gdGhlIGNsYXVzZSBob2xkcy4gRXhhbXBsZXM6IHsgXCJzZWxlY3RXb3Jrc3BhY2VCeU51bWJlclwiOiBcIiFzaWRlYmFyRm9jdXNcIiB9IHNlbGVjdHMgd29ya3NwYWNlcyB3aXRoIEN0cmwrMeKAkzkgZXZlcnl3aGVyZSBleGNlcHQgd2hlbiB0aGUgcmlnaHQgc2lkZWJhciBpcyBmb2N1c2VkOyB7IFwic2VsZWN0U3VyZmFjZUJ5TnVtYmVyXCI6IFwic2lkZWJhck1vZGUgPT0gJ2ZpbmQnICYmIHBhbmVDb3VudCA+IDFcIiB9IHNjb3BlcyBhIGJpbmRpbmcgdG8gdGhlIEZpbmQgc2lkZWJhciB3aGVuIHRoZSB3b3Jrc3BhY2Ug", - "aGFzIG11bHRpcGxlIHBhbmVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnNob3J0Y3V0cy53aGVuIiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0sCiAgIiRkZWZzIjogewogICAgImNvbG9ySGV4IjogewogICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAicGF0dGVybiI6ICJeI1swLTlBLUZhLWZdezZ9JCIsCiAgICAgICJkZXNjcmlw", - "dGlvbiI6ICJVcHBlcmNhc2Ugb3IgbG93ZXJjYXNlIDYtZGlnaXQgaGV4IGNvbG9yLiIKICAgIH0sCiAgICAiY29sb3JIZXhPck51bGwiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAibm90aWZpY2F0aW9uU291bmRPdmVycmlkZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm9i", - "amVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJyZXF1aXJlZCI6IFsic291bmQiXSwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic291bmQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAiZW51bSI6IFsiZGVmYXVsdCIsICJCYXNzbyIsICJCbG93IiwgIkJvdHRsZSIsICJGcm9nIiwgIkZ1bmsiLCAiR2xhc3MiLCAiSGVybyIsICJNb3JzZSIsICJQaW5nIiwgIlBvcCIsICJQdXJyIiwgIlNvc3VtaSIsICJT", - "dWJtYXJpbmUiLCAiVGluayIsICJub25lIl0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgInJlcXVpcmVkIjogWyJzb3VuZCIsICJjdXN0b21Tb3VuZEZpbGVQYXRoIl0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInNvdW5kIjogeyAiY29uc3QiOiAiY3VzdG9tX2ZpbGUiIH0sCiAgICAgICAgICAgICJjdXN0b21Tb3VuZEZp", - "bGVQYXRoIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiLipcXFMuKiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgXSwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnNvdW5kT3ZlcnJpZGUiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQSBub3RpZmljYXRpb24gc291bmQgb3ZlcnJpZGUuIGBkZWZhdWx0YCB1c2VzIG5vdGlm", - "aWNhdGlvbnMuc291bmQsIGBub25lYCBkaXNhYmxlcyBwbGF5YmFjaywgYW5kIHRoZSByZW1haW5pbmcgdmFsdWVzIHNlbGVjdCBhIGJ1aWx0LWluIG9yIGN1c3RvbSBzb3VuZC4iCiAgICB9LAogICAgInNob3J0Y3V0QmluZGluZyI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvdW5ib3VuZFNob3J0Y3V0QmluZGluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIEFjY2VwdGVkIHZhbHVlcyBhcmUgYW4gZW1wdHkgc3RyaW5nLCBu", - "b25lLCBjbGVhciwgdW5ib3VuZCwgb3IgZGlzYWJsZWQuIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEZpcnN0U3Ryb2tlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaW5nbGUtc3Ryb2tlIHNob3J0Y3V0LCBmb3IgZXhhbXBsZSBjbWQrbiBvciBjbWQrc3BhY2UuIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAgICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJl", - "Zml4SXRlbXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNob3JkZWQgc2hvcnRjdXQuIEV4YW1wbGU6IFtcImN0cmwrYlwiLCBcImNcIl0uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaG9ydGN1dEJpbmRp", - "bmdOdWxsYWJsZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRCaW5kaW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIj", - "LyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBz", - "dHJva2VzIGFyZSBhY2NlcHRlZCBmb3IgdGhpcyBhY3Rpb24uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRj", - "dXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJiYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAg", - "ICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3IgdGhpcyBhY3Rpb24uIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAgICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMiOiBbCiAgICAgICAgICAgIHsKICAgICAg", - "ICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNob3JkZWQgc2hvcnRjdXQuIEJhcmUgZmlyc3Qgc3Ryb2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRoaXMgYWN0aW9uLiBFeGFtcGxlOiBbXCJnXCIsIFwiZ1wiXS4iCiAgICAgICAgfQogICAgICBd", - "CiAgICB9LAogICAgImJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJudWxsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgInVuYm91bmRTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAg", - "ICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJlbnVtIjogWyIiLCAibm9uZSIsICJjbGVhciIsICJ1bmJvdW5kIiwgImRpc2FibGVkIl0KICAgIH0sCiAgICAic2hvcnRjdXRGaXJzdFN0cm9rZSI6IHsKICAgICAgImFsbE9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRTdHJva2UiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYW55T2YiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86KD86W2NDXVttTV1bZERdfFtjQ11bb09dW21NXVtt", - "TV1bYUFdW25OXVtkRF18W3NTXVtoSF1baUldW2ZGXVt0VF18W29PXVtwUF1bdFRdfFtvT11bcFBdW3RUXVtpSV1bb09dW25OXXxbYUFdW2xMXVt0VF18W2NDXVt0VF1bclJdW2xMXXxbY0NdW29PXVtuTl1bdFRdW3JSXVtvT11bbExdfFtjQ11bdFRdW2xMXXzijJh84oenfOKMpXzijIMpXFwrKSsiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86IHxbc1NdW3BQXVthQV1bY0NdW2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtwUF1bYUFdW2ND", - "XVtlRV0+KSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBvciBvbmx5IHNob3J0Y3V0IHN0cm9rZS4gTXVzdCBpbmNsdWRlIGEgbW9kaWZpZXIgdW5sZXNzIHRoZSBrZXkgaXMgU3BhY2UuIgogICAgfSwKICAgICJiYXJlRmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIjogewogICAgICAiYWxsT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dFN0cm9rZSIKICAgICAgICB9LAogICAgICAgIHsK", - "ICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzooPzpbY0NdW21NXVtkRF18W2NDXVtvT11bbU1dW21NXVthQV1bbk5dW2REXXxbc1NdW2hIXVtpSV1bZkZdW3RUXXxbb09dW3BQXVt0VF18W29PXVtwUF1bdFRdW2lJXVtvT11bbk5dfFthQV1bbExdW3RUXXxbY0NdW3RUXVtyUl1bbExdfFtjQ11bb09dW25OXVt0VF1bclJdW29PXVtsTF18W2NDXVt0VF1bbExdfOKMmHzih6d84oylfOKMgylcXCspKyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAg", - "ICAgICAgICJwYXR0ZXJuIjogIl4oPzogfFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT4pJCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzpbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VFXVtyUl184oapKSQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86W2xMXVtlRV1bZkZdW3RUXXxbYUFdW3JS", - "XVtyUl1bb09dW3dXXVtsTF1bZUVdW2ZGXVt0VF18W2xMXVtlRV1bZkZdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkHxbclJdW2lJXVtnR11baEhdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtyUl1baUldW2dHXVtoSF1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaSfFt1VV1bcFBdfFthQV1bclJdW3JSXVtvT11bd1ddW3VVXVtwUF18W3VVXVtwUF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpF8W2REXVtvT11bd1ddW25OXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtkRF1bb09dW3dXXVtu", - "Tl18W2REXVtvT11bd1ddW25OXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkykkIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/OltBLVphLXowLTldfFssLi9cXFxcOydgPVxcW1xcXS1dfFtjQ11bb09dW21NXVttTV1bYUFdfFtwUF1bZUVdW3JSXVtpSV1bb09dW2REXXxbZERdW29PXVt0VF18W3NTXVtsTF1bYUFdW3NTXVtoSF18W2JCXVthQV1bY0NdW2tLXVtzU11bbExdW2FBXVtzU11baEhdfFtzU11bZUVdW21NXVtpSV1bY0NdW29PXVtsTF1bb09dW25OXXxbcVFdW3VV", - "XVtvT11bdFRdW2VFXXxbYUFdW3BQXVtvT11bc1NdW3RUXVtyUl1bb09dW3BQXVtoSF1bZUVdfFtiQl1bYUFdW2NDXVtrS11bdFRdW2lJXVtjQ11ba0tdfFtnR11bclJdW2FBXVt2Vl1bZUVdfFttTV1baUldW25OXVt1VV1bc1NdfFtoSF1beVldW3BQXVtoSF1bZUVdW25OXXxbcFBdW2xMXVt1VV1bc1NdfFtlRV1bcVFdW3VVXVthQV1bbExdW3NTXXxbbExdW2VFXVtmRl1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbb09dW3BQXVtlRV1bbk5dW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbclJdW2lJXVtnR11b", - "aEhdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W2NDXVtsTF1bb09dW3NTXVtlRV1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdKSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBvciBvbmx5IHNob3J0Y3V0IHN0cm9rZS4gQmFyZSBwcmludGFibGUga2V5cyBhcmUgYWNjZXB0ZWQgZm9yIGFjdGlvbnMgdGhhdCBvcHQgaW50byBiYXJlIGZpcnN0IHN0cm9rZXMuIgogICAgfSwKICAgICJzaG9ydGN1dFN0cm9rZSI6IHsKICAg", - "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgInBhdHRlcm4iOiAiXig/Oig/OltjQ11bbU1dW2REXXxbY0NdW29PXVttTV1bbU1dW2FBXVtuTl1bZERdfFtzU11baEhdW2lJXVtmRl1bdFRdfFtvT11bcFBdW3RUXXxbb09dW3BQXVt0VF1baUldW29PXVtuTl18W2FBXVtsTF1bdFRdfFtjQ11bdFRdW3JSXVtsTF18W2NDXVtvT11bbk5dW3RUXVtyUl1bb09dW2xMXXxbY0NdW3RUXVtsTF184oyYfOKHp3zijKV84oyDKVxcKykqKD86IHxbQS1aYS16MC05XXxbbExdW2VFXVtmRl1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW2xMXVtl", - "RV1bZkZdW3RUXXxbbExdW2VFXVtmRl1bdFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaQfFtyUl1baUldW2dHXVtoSF1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW3JSXVtpSV1bZ0ddW2hIXVt0VF18W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpJ8W3VVXVtwUF18W2FBXVtyUl1bclJdW29PXVt3V11bdVVdW3BQXXxbdVVdW3BQXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkXxbZERdW29PXVt3V11bbk5dfFthQV1bclJdW3JSXVtvT11bd1ddW2REXVtvT11bd1ddW25OXXxbZERdW29PXVt3V11bbk5d", - "W2FBXVtyUl1bclJdW29PXVt3V1184oaTfFt0VF1bYUFdW2JCXXxbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VFXVtyUl184oapfFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT58WywuL1xcXFw7J2A9XFxbXFxdLV18W2NDXVtvT11bbU1dW21NXVthQV18W3BQXVtlRV1bclJdW2lJXVtvT11bZERdfFtkRF1bb09dW3RUXXxbc1NdW2xMXVthQV1bc1NdW2hIXXxbYkJdW2FBXVtjQ11ba0tdW3NTXVtsTF1bYUFdW3NTXVto", - "SF18W3NTXVtlRV1bbU1dW2lJXVtjQ11bb09dW2xMXVtvT11bbk5dfFtxUV1bdVVdW29PXVt0VF1bZUVdfFthQV1bcFBdW29PXVtzU11bdFRdW3JSXVtvT11bcFBdW2hIXVtlRV18W2JCXVthQV1bY0NdW2tLXVt0VF1baUldW2NDXVtrS118W2dHXVtyUl1bYUFdW3ZWXVtlRV18W21NXVtpSV1bbk5dW3VVXVtzU118W2hIXVt5WV1bcFBdW2hIXVtlRV1bbk5dfFtwUF1bbExdW3VVXVtzU118W2VFXVtxUV1bdVVdW2FBXVtsTF1bc1NdfFtsTF1bZUVdW2ZGXVt0VF1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtvT11bcFBdW2VF", - "XVtuTl1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbY0NdW2xMXVtvT11bc1NdW2VFXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W2ZGXSg/OlsxLTldfDFbMC05XXwyMCl8W3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bdVVdW3BQXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLlt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVt1VV1bcFBdfFt2", - "Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW2REXVtvT11bd1ddW25OXXxbYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVth", - "QV1cXC5bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW2REXVtvT11bd1ddW25OXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltiQl1bclJdW2lJXVtnR11baEhdW3RUXVtuTl1bZUVdW3NTXVtzU11bZERdW29PXVt3V11bbk5dfFttTV1bdVVdW3RUXVtlRV18W21NXVtlRV1bZERdW2lJ", - "XVthQV1bbU1dW3VVXVt0VF1bZUVdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW21NXVt1VV1bdFRdW2VFXXxbcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1bcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W25OXVtlRV1beFhdW3RUXVt0VF1bclJdW2FBXVtjQ11ba0tdfFttTV1bZUVdW2REXVtpSV1bYUFdW25OXVtlRV1beFhdW3RUXXxbbU1dW2VFXVtk", - "RF1baUldW2FBXVxcLltuTl1bZUVdW3hYXVt0VF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bbk5dW2VFXVt4WF1bdFRdW3RUXVtyUl1bYUFdW2NDXVtrS118W3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU11bdFRdW3JSXVthQV1bY0NdW2tLXXxbbU1dW2VFXVtkRF1baUldW2FBXVtwUF1bclJdW2VFXVt2Vl1baUldW29PXVt1VV1bc1NdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU118W21NXVtlRV1bZERdW2lJXVthQV1cXC5bcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11b", - "dVVdW3NTXVt0VF1bclJdW2FBXVtjQ11ba0tdKSQiLAogICAgICAiZGVzY3JpcHRpb24iOiAiT25lIGtleWJvYXJkIHNob3J0Y3V0IHN0cm9rZSB1c2luZyBtb2RpZmllcitrZXkgc3ludGF4LiBTdXBwb3J0ZWQga2V5IG5hbWVzIGluY2x1ZGUgc3BhY2UsIFNwYWNlLCA8c3BhY2U+LCBhbmQgPFNwYWNlPi4iCiAgICB9CiAgfQp9Cg==", + "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBCYWNrIGFuZCBGb3J3YXJkIGluY2x1ZGUgZm9jdXMgY2hhbmdlcyBiZXR3ZWVuIHBhbmVzIGFuZCB0YWJzLiBXaGVuIGZhbHNlLCB0aGV5IG5hdmlnYXRlIGJldHdlZW4gd29ya3NwYWNlcyBvbmx5LiIKICAgICAgICB9LAogICAgICAgICJlcXVhbGl6ZVNwbGl0c09uQ3JlYXRlIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVm", + "YXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSwgY3JlYXRpbmcgYSBzcGxpdCByZXNpemVzIHRoZSBwYW5lcyBpbiB0aGF0IHNwbGl0J3Mgcm93IG9yIGNvbHVtbiB0byBlcXVhbCBzaXplcy4gV2hlbiBmYWxzZSwgYSBuZXcgc3BsaXQgaGFsdmVzIHRoZSBwYW5lIGl0IHdhcyBjcmVhdGVkIGZyb20uIgogICAgICAgIH0sCiAgICAgICAgInByZWZlcnJlZEVkaXRvciI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRl", + "c2NyaXB0aW9uIjogIkN1c3RvbSBlZGl0b3IgY29tbWFuZCB1c2VkIHdoZW4gQ21kLWNsaWNrIGZpbGUgcHJldmlld3MgYXJlIGRpc2FibGVkIG9yIGEgZmlsZSBpcyB1bnN1cHBvcnRlZC4gTGVhdmUgZW1wdHkgdG8gdXNlIHRoZSBkZWZhdWx0LiIKICAgICAgICB9LAogICAgICAgICJkZWZhdWx0V29ya3NwYWNlUGF0aCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZvbGRlciB0aGUgT3BlbiBGb2xkZXIgcGFuZWwgc3RhcnRz", + "IGluLCBmb3IgZXhhbXBsZSB+L2NvZGUuIFN1cHBvcnRzIGEgbGVhZGluZyB+LiBMZWF2ZSBlbXB0eSB0byBzdGFydCBpbiB0aGUgYWN0aXZlIHdvcmtzcGFjZSdzIGRpcmVjdG9yeS4iCiAgICAgICAgfSwKICAgICAgICAib3BlblN1cHBvcnRlZEZpbGVzSW5DbXV4IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiBlbmFibGVkLCBDbWQtY2xpY2tpbmcgcmVhZGFibGUgbG9jYWwgZmlsZXMgb3BlbnMgc3VwcG9ydGVk", + "IHByZXZpZXdzIGluIGNtdXgsIGluY2x1ZGluZyB0ZXh0LCBjb2RlLCBQREZzLCBpbWFnZXMsIGF1ZGlvLCB2aWRlbywgYW5kIFF1aWNrIExvb2sgZmlsZXMuIFByZXZpZXcgaGVhZGVycyBpbmNsdWRlIGFuIE9wZW4gV2l0aCBtZW51IGJhc2VkIG9uIHRoZSB1c2VyJ3MgZGVmYXVsdCBhbmQgY29tcGF0aWJsZSBtYWNPUyBhcHBzIGZvciB0aGF0IGZpbGUuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5NYXJrZG93bkluQ211eFZpZXdlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQi", + "OiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gZW5hYmxlZCwgQ21kLWNsaWNraW5nIC5tZC8ubWFya2Rvd24vLm1rZC8ubWR4IGZpbGVzIG9wZW5zIHRoZSByZW5kZXJlZCBjbXV4IG1hcmtkb3duIHZpZXdlciBwYW5lbCAod2l0aCBsaXZlIHJlbG9hZCkgaW5zdGVhZCBvZiB0aGUgZ2VuZXJpYyBmaWxlIHByZXZpZXcuIgogICAgICAgIH0sCiAgICAgICAgImdsb2JhbEZvbnRNYWduaWZpY2F0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDUwLAogICAg", + "ICAgICAgIm1heGltdW0iOiAyMDAsCiAgICAgICAgICAibXVsdGlwbGVPZiI6IDEwLAogICAgICAgICAgImRlZmF1bHQiOiAxMDAsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5nbG9iYWxGb250TWFnbmlmaWNhdGlvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2NhbGVzIGNtdXgtb3duZWQgdGVybWluYWxzLCB0YWIgdGl0bGVzLCBzaWRlYmFycywgc2V0dGluZ3MsIG92ZXJsYXlzLCBhbmQgYXBwIGNocm9tZSBieSB0aGlzIHBlcmNlbnRhZ2UuIFJlbmRlcmVkIGJyb3dz", + "ZXIgcGFnZSBjb250ZW50IGlzIGV4Y2x1ZGVkLiIKICAgICAgICB9LAogICAgICAgICJyZW9yZGVyT25Ob3RpZmljYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNb3ZlIHdvcmtzcGFjZXMgd2l0aCBuZXcgbm90aWZpY2F0aW9ucyB0b3dhcmQgdGhlIHRvcC4iCiAgICAgICAgfSwKICAgICAgICAiaU1lc3NhZ2VNb2RlIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6", + "IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1vdmUgYSB3b3Jrc3BhY2UgdG8gdGhlIHRvcCBhbmQgc2hvdyB0aGUgc3VibWl0dGVkIG1lc3NhZ2Ugd2hlbiBzZW5kaW5nIGFuIGFnZW50IHByb21wdC4iCiAgICAgICAgfSwKICAgICAgICAic2VuZEFub255bW91c1RlbGVtZXRyeSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IGFub255bW91cyB0ZWxlbWV0cnkuIgogICAgICAgIH0sCiAgICAgICAg", + "ImNvbmZpcm1RdWl0IjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJhbHdheXMiLCAiZGlydHktb25seSIsICJuZXZlciJdLAogICAgICAgICAgImRlZmF1bHQiOiAiYWx3YXlzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLmNvbmZpcm1RdWl0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb250cm9sIHdoZW4gY211eCBhc2tzIGZvciBjb25maXJtYXRpb24gYmVmb3JlIHF1aXR0aW5nLiBERVYgYnVpbGRzIGFsd2F5cyBxdWl0", + "IGltbWVkaWF0ZWx5IHJlZ2FyZGxlc3Mgb2YgdGhpcyBzZXR0aW5nLiBMZWdhY3kgYXBwLndhcm5CZWZvcmVRdWl0IGlzIHN0aWxsIGFjY2VwdGVkIGFzIGEgYm9vbGVhbiBmYWxsYmFjay4iCiAgICAgICAgfSwKICAgICAgICAid2FybkJlZm9yZVF1aXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndhcm5CZWZvcmVRdWl0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJM", + "ZWdhY3kgYm9vbGVhbiBmYWxsYmFjayBmb3IgcXVpdCBjb25maXJtYXRpb24uIFVzZSBhcHAuY29uZmlybVF1aXQgZm9yIG5ldyBjb25maWdzLiIKICAgICAgICB9LAogICAgICAgICJ3YXJuQmVmb3JlQ2xvc2luZ1RhYiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBjb25maXJtYXRpb24gYmVmb3JlIGNsb3NpbmcgYSB0YWIuIgogICAgICAgIH0sCiAgICAgICAgIndhcm5CZWZvcmVDbG9zaW5nVGFiWEJ1dHRv", + "biI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndhcm5CZWZvcmVDbG9zaW5nVGFiWEJ1dHRvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBhIGNvbmZpcm1hdGlvbiBiZWZvcmUgY2xvc2luZyBhIHRhYiB3aXRoIHRoZSB0YWIgY2xvc2UgYnV0dG9uLiIKICAgICAgICB9LAogICAgICAgICJoaWRlVGFiQ2xvc2VCdXR0b24iOiB7CiAgICAgICAgICAidHlwZSI6", + "ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5oaWRlVGFiQ2xvc2VCdXR0b24iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGFiIGNsb3NlIGJ1dHRvbnMgaW4gdGhlIHBhbmUgdGFiIGJhci4iCiAgICAgICAgfSwKICAgICAgICAicmVuYW1lU2VsZWN0c0V4aXN0aW5nTmFtZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAg", + "ImRlc2NyaXB0aW9uIjogIlNlbGVjdCB0aGUgY3VycmVudCBuYW1lIHdoZW4gb3BlbmluZyByZW5hbWUgZmxvd3MuIgogICAgICAgIH0sCiAgICAgICAgImNvbW1hbmRQYWxldHRlU2VhcmNoZXNBbGxTdXJmYWNlcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWFyY2ggZXZlcnkgc3VyZmFjZSBpbiB0aGUgY29tbWFuZCBwYWxldHRlIHN3aXRjaGVyIGluc3RlYWQgb2Ygb25seSB0aGUgYWN0aXZlIHdvcmtzcGFjZS4i", + "CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgInRlcm1pbmFsIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJ0ZXJtaW5hbCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJUZXJtaW5hbCBwcmVzZW50YXRpb24gc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+IFRlcm1pbmFsLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiYWRhcHRpdmVEZWZhdWx0VGhlbWUi", + "OiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuYWRhcHRpdmVEZWZhdWx0VGhlbWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSAodGhlIGRlZmF1bHQpLCBjbXV4IHN1cHBsaWVzIGFuIGFwcGVhcmFuY2UtYWRhcHRpdmUgZGVmYXVsdCBwYWxldHRlIHVubGVzcyBhIEdob3N0dHkgdGhlbWUgb3IgdGVybWluYWwgY29sb3JzIGFyZSBjb25maWd1cmVk", + "LiBGb250IGFuZCBvdGhlciBzZXR0aW5ncyBhcmUgcHJlc2VydmVkLiBXaGVuIGZhbHNlLCBHaG9zdHR5IHVzZXMgaXRzIGZpeGVkIGJ1aWx0LWluIHBhbGV0dGUuIEV4cGxpY2l0IHRoZW1lcyBhbmQgY29sb3JzIGFsd2F5cyB0YWtlIHByZWNlZGVuY2UsIGluY2x1ZGluZyB0aGVtZSA9IGxpZ2h0OlgsZGFyazpZLiIKICAgICAgICB9LAogICAgICAgICJzaG93U2Nyb2xsQmFyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", + "U2hvdyB0aGUgcmlnaHQtZWRnZSB0ZXJtaW5hbCBzY3JvbGwgYmFyIHdoZW4gc2Nyb2xsYmFjayBpcyBhdmFpbGFibGUuIGNtdXggYXV0b21hdGljYWxseSBzdXBwcmVzc2VzIGl0IGZvciBhbHRlcm5hdGUtc2NyZWVuIHN0eWxlIFRVSSBzdXJmYWNlcy4iCiAgICAgICAgfSwKICAgICAgICAic2Nyb2xsU3BlZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLjI1LAogICAgICAgICAgIm1heGltdW0iOiAzLjAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEuMCwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuc2Nyb2xsU3BlZWQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk11bHRpcGxpZXIgYXBwbGllZCB0byB0ZXJtaW5hbCBzY3JvbGwgd2hlZWwgYW5kIHRyYWNrcGFkIGRlbHRhcy4gSGlnaGVyIHZhbHVlcyBzY3JvbGwgZmFzdGVyOyBsb3dlciB2YWx1ZXMgc2Nyb2xsIHNsb3dlci4iCiAgICAgICAgfSwKICAgICAgICAic2Vzc2lvbkNvbnRlbnRNYXhXaWR0aCI6IHsKICAgICAgICAgICJvbmVPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAg", + "ICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICJjb25zdCI6IGZhbHNlCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICJtaW5pbXVtIjogMzIwLAogICAgICAgICAgICAgICJtdWx0aXBsZU9mIjogMjAKICAgICAgICAgICAgfQogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnNlc3Npb25Db250ZW50", + "TWF4V2lkdGgiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIG1heGltdW0gd2lkdGgsIGluIHBvaW50cywgZm9yIHRlcm1pbmFsIGFuZCBidWlsdC1pbiBhZ2VudCBjaGF0IGNvbnRlbnQuIFNldCBmYWxzZSB0byB1c2UgdGhlIGZ1bGwgcGFuZSB3aWR0aC4iCiAgICAgICAgfSwKICAgICAgICAic2Vzc2lvbkNvbnRlbnRBbGlnbm1lbnQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImxlZnQiLCAiY2VudGVyIiwgInJpZ2h0Il0sCiAgICAgICAgICAiZGVmYXVsdCI6", + "ICJjZW50ZXIiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5zZXNzaW9uQ29udGVudEFsaWdubWVudCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9yaXpvbnRhbCBwbGFjZW1lbnQgZm9yIHRlcm1pbmFsIGFuZCBidWlsdC1pbiBhZ2VudCBjaGF0IGNvbnRlbnQgd2hlbiBzZXNzaW9uQ29udGVudE1heFdpZHRoIGlzIGVuYWJsZWQuIgogICAgICAgIH0sCiAgICAgICAgImNvcHlPblNlbGVjdCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", + "ICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuY29weU9uU2VsZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUsIGNvcHkgc2VsZWN0ZWQgdGVybWluYWwgdGV4dCB0byB0aGUgc3lzdGVtIGNsaXBib2FyZCB3aGVuIHRoZSBzZWxlY3Rpb24gaXMgY29tbWl0dGVkLiBXaGVuIGZhbHNlLCBjbXV4IGRvZXMgbm90IGVtaXQgYSBHaG9zdHR5IGNvcHktb24tc2VsZWN0IG92ZXJyaWRlOyBHaG9zdHR5IGNvbmZpZyBhbmQg", + "ZGVmYXVsdHMgY29udHJvbCBzZWxlY3Rpb24tY2xpcGJvYXJkIGJlaGF2aW9yLiIKICAgICAgICB9LAogICAgICAgICJhdXRvUmVzdW1lQWdlbnRTZXNzaW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcnVuIGFnZW50IHJlc3VtZSBjb21tYW5kcyBmb3IgcmVzdG9yZWQgdGVybWluYWwgc2Vzc2lvbnMgd2hlbiBjbXV4IHJlb3BlbnMgYWZ0ZXIgcXVpdC4gU2V0IGZhbHNlIHRvIHJlc3RvcmUg", + "cGFuZXMgd2hpbGUga2VlcGluZyBDbGF1ZGUgQ29kZSwgQ29kZXgsIE9wZW5Db2RlLCBhbmQgb3RoZXIgc2F2ZWQgYWdlbnQgc2Vzc2lvbnMgaWRsZSB1bnRpbCB5b3UgcmVzdW1lIHRoZW0gbWFudWFsbHkuIgogICAgICAgIH0sCiAgICAgICAgInNob3dUZXh0Qm94T25OZXdUZXJtaW5hbHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnNob3dUZXh0Qm94T25OZXdU", + "ZXJtaW5hbHMiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGJldGEgVGV4dEJveCBpbnB1dCBieSBkZWZhdWx0IGZvciBuZXdseSBjcmVhdGVkIHdvcmtzcGFjZXMsIHRlcm1pbmFsIHRhYnMsIGFuZCB0ZXJtaW5hbCBzcGxpdHMuIgogICAgICAgIH0sCiAgICAgICAgImZvY3VzVGV4dEJveE9uTmV3VGVybWluYWxzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50", + "ZXJtaW5hbC5mb2N1c1RleHRCb3hPbk5ld1Rlcm1pbmFscyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRm9jdXMgdGhlIGJldGEgVGV4dEJveCBpbnB1dCBieSBkZWZhdWx0IGZvciBuZXdseSBjcmVhdGVkIHdvcmtzcGFjZXMsIHRlcm1pbmFsIHRhYnMsIGFuZCB0ZXJtaW5hbCBzcGxpdHMuIEZvY3VzaW5nIGFsc28gc2hvd3MgdGhlIFRleHRCb3guIgogICAgICAgIH0sCiAgICAgICAgImFnZW50SGliZXJuYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0", + "aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLmFnZW50SGliZXJuYXRpb24iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJvdXRpbmUgQWdlbnQgSGliZXJuYXRpb24gc2V0dGluZ3MuIGNtdXgga2lsbHMgaWRsZSBiYWNrZ3JvdW5kIGFnZW50IHByb2Nlc3NlcyB0byBmcmVlIFJBTSBhbmQgQ1BVLCB0aGVuIHJlc3VtZXMgdGhlbSB3aXRoIHRoZWlyIHNhdmVkIHNlc3Npb24gd2hlbiB0aGVpciB0YWIgaXMgdmlzaXRlZC4gUm91dGluZSBoaWJlcm5h", + "dGlvbiByZXF1aXJlcyBhIHJlc3RvcmFibGUgY29kaW5nIGFnZW50IHdob3NlIGxpZmVjeWNsZSByZXBvcnRzIGlkbGUsIGFuIG9mZi1zY3JlZW4gdGVybWluYWwsIGEgbGl2ZS10ZXJtaW5hbCBjb3VudCBhYm92ZSB0aGUgY29uZmlndXJlZCBsaW1pdCwgYW5kIHVuY2hhbmdlZCBvdXRwdXQgdGhyb3VnaCB0aGUgaWRsZSBhbmQgY29uZmlybWF0aW9uIHdpbmRvd3MuIEluZGVwZW5kZW50bHksIGR1cmluZyBjcml0aWNhbCBtZW1vcnkgcHJlc3N1cmUgY211eCBtYXkgaGliZXJuYXRlIGEgYm91bmRlZCBiYXRjaCBvZiBzYWZlIGlk", + "bGUgYmFja2dyb3VuZCBhZ2VudHMgZXZlbiB3aGVuIGVuYWJsZWQgaXMgZmFsc2U7IHZpc2libGUsIHJ1bm5pbmcsIG5lZWRzLWlucHV0LCByZWNlbnRseSBjaGFuZ2VkLCBhbmQgdW5wcm90ZWN0YWJsZSBhZ2VudHMgcmVtYWluIGV4Y2x1ZGVkLiBUaGUgcGxhY2Vob2xkZXIgUmVzdW1lIGJ1dHRvbiBpcyBhIG1hbnVhbCBmYWxsYmFjay4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJlbmFibGVkIjogewogICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICJkZWZhdWx0", + "IjogZmFsc2UsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5hZ2VudEhpYmVybmF0aW9uRW5hYmxlZCIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSByb3V0aW5lIEFnZW50IEhpYmVybmF0aW9uIGJhc2VkIG9uIHRoZSBsaXZlLXRlcm1pbmFsIGxpbWl0LiBDcml0aWNhbC1wcmVzc3VyZSBzYWZldHkgaGliZXJuYXRpb24gcmVtYWlucyBhY3RpdmUgd2hlbiBmYWxzZS4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJpZGxlU2Vjb25kcyI6", + "IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDUsCiAgICAgICAgICAgICAgIm1heGltdW0iOiA2MDQ4MDAsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiA1LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNaW5pbXVtIHNlY29uZHMgd2l0aCBubyB0ZXJtaW5hbCBvdXRwdXQgb3IgaW5wdXQgYmVmb3JlIGFuIGlkbGUgcmVzdG9yYWJsZSBhZ2VudCB0ZXJtaW5hbCBjYW4gaGliZXJuYXRlLiBBIHNob3J0IGNvbmZpcm1hdGlvbiBzZXR0bGUgd2luZG93ICh+NjBz", + "KSBzdGlsbCBhcHBsaWVzIG9uIHRvcCBvZiB0aGlzIGJlZm9yZSB0aGUgYWdlbnQgaXMga2lsbGVkLiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm1heExpdmVUZXJtaW5hbHMiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgICAgICJtYXhpbXVtIjogMjU2LAogICAgICAgICAgICAgICJkZWZhdWx0IjogMTIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gbGl2ZSByZXN0b3JhYmxlIGFnZW50IHRlcm1pbmFscyB0", + "byBrZWVwIGJlZm9yZSBjbXV4IGhpYmVybmF0ZXMgZWxpZ2libGUgYmFja2dyb3VuZCB0ZXJtaW5hbHMsIG9sZGVzdCBmaXJzdC4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJyZW5kZXJlclJlYWxpemF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJlY2xhaW0gb2ZmLXNjcmVlbiB0ZXJtaW5hbCBHUFUgcmVuZGVyZXIgbWVtb3J5LiBjbXV4IHJlbGVh", + "c2VzIHRoZSBNZXRhbCByZW5kZXJlciAoSU9TdXJmYWNlKSBvZiBhIHRlcm1pbmFsIHRoYXQgaGFzIHN0YXllZCBvZmYtc2NyZWVuIGFuZCBpZGxlIHdoaWxlIGtlZXBpbmcgaXRzIHByb2Nlc3MgYW5kIHRlcm1pbmFsIHN0YXRlIGFsaXZlLCB0aGVuIHJlYnVpbGRzIHRoZSByZW5kZXJlciBpbnN0YW50bHkgd2hlbiB0aGUgdGFiIGlzIHZpc2l0ZWQgYWdhaW4uIE5vbi1kZXN0cnVjdGl2ZSBhbmQgb24gYnkgZGVmYXVsdC4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJlbmFibGVkIjogewogICAgICAg", + "ICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVjbGFpbSBvZmYtc2NyZWVuIHRlcm1pbmFsIHJlbmRlcmVyIG1lbW9yeS4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJpZGxlU2Vjb25kcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDUsCiAgICAgICAgICAgICAgIm1heGltdW0iOiA2MDQ4MDAsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiA1LAog", + "ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNaW5pbXVtIHNlY29uZHMgYSB0ZXJtaW5hbCBtdXN0IHN0YXkgb2ZmLXNjcmVlbiBiZWZvcmUgaXRzIEdQVSByZW5kZXJlciBtZW1vcnkgaXMgcmVjbGFpbWVkLiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm1heFdhcm1SZW5kZXJlcnMiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgICAgICJtYXhpbXVtIjogMjU2LAogICAgICAgICAgICAgICJkZWZhdWx0IjogMSwKICAgICAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiTW9zdCByZWNlbnRseSB2aXNpYmxlIHRlcm1pbmFscyB0byBrZWVwIHJlbmRlcmVyLXJlYWR5IHNvIHN3aXRjaGluZyBzdGF5cyBpbnN0YW50LiBFeHRyYSBvZmYtc2NyZWVuIHJlbmRlcmVycyBhcmUgcmVjbGFpbWVkIG9sZGVzdCBmaXJzdC4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJ0ZXh0Qm94TWF4TGluZXMiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJtYXhpbXVtIjog", + "MjAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRoZSByaWNoIHRlcm1pbmFsIFRleHRCb3ggaW5wdXQgY2FuIGdyb3cgdG8gYmVmb3JlIGl0IHNjcm9sbHMuIgogICAgICAgIH0sCiAgICAgICAgInRleHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogInRleHQtZW50cnkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgVGV4dEJveCBz", + "dWJtaXQgYWN0aW9uIElEIGZvciBuZXcgdGVybWluYWwgc2Vzc2lvbnMuIFVzZSB0ZXh0LWVudHJ5IGZvciBwbGFpbiBpbnB1dCBvciBvbmUgb2YgdGhlIGNvbmZpZ3VyZWQgYWN0aW9uIElEcy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94RGVmYXVsdFN1Ym1pdEFjdGlvbiIKICAgICAgICB9LAogICAgICAgICJ0ZXh0Qm94U3VibWl0QWN0aW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZWZhdWx0IjogW10sCiAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiQ29uZmlndXJhYmxlIFRleHRCb3ggc3VibWl0IGFjdGlvbnMgc2hvd24gb24gdGhlIHN1Ym1pdCBidXR0b24sIFNoaWZ0LVRhYiBjeWNsZSwgYW5kIHJpZ2h0LWNsaWNrIG1lbnUuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbnMiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", + "ICAgICAgICAgICAgInJlcXVpcmVkIjogWyJpZCIsICJ0aXRsZSIsICJraW5kIiwgInN5c3RlbUltYWdlIiwgImJhY2tncm91bmRDb2xvckhleCJdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAiaWQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXltBLVphLXowLTkuXy1dKyQiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YWJsZSBhY3Rpb24gSUQgcmVmZXJlbmNlZCBieSB0ZXJtaW5hbC50ZXh0Qm94RGVm", + "YXVsdFN1Ym1pdEFjdGlvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uSWQiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAidGl0bGUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1lbnUgbGFiZWwgZm9yIHRoaXMgc3VibWl0IGFjdGlvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0", + "aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uVGl0bGUiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAia2luZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZW51bSI6IFsidGV4dEVudHJ5IiwgImNvbW1hbmRUZW1wbGF0ZSJdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhpcyBhY3Rpb24gc3VibWl0cyBwbGFpbiBUZXh0IEVudHJ5IG9yIGV4cGFuZHMgYSBzaGVsbCBjb21tYW5kIHRlbXBsYXRlLiIsCiAgICAgICAgICAg", + "ICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25LaW5kIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNvbW1hbmRUZW1wbGF0ZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwgY29tbWFuZCB0ZW1wbGF0ZSBmb3IgY29tbWFuZFRlbXBsYXRlIGFjdGlvbnMuIEluY2x1ZGUge3twcm9tcHR9fSB0byBzaGVsbC1xdW90ZSB0aGUgcHJvbXB0IGludG8gdGhl", + "IGNvbW1hbmQuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbkNvbW1hbmRUZW1wbGF0ZSIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJwcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBsYXVuY2ggY29tbWFuZFRlbXBsYXRlIHdpdGhvdXQgdGhlIHByb21wdCBhbmQga2Vl", + "cCB0aGUgcHJvbXB0IGluIHRoZSBUZXh0Qm94IGZvciB0aGUgYWN0aXZlIGFnZW50LiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25QcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInN5c3RlbUltYWdlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGYWxsYmFjayBTRiBTeW1ib2wgbmFtZSBz", + "aG93biBvbiB0aGUgc3VibWl0IGJ1dHRvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uU3lzdGVtSW1hZ2UiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiYXNzZXROYW1lIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBhcHAgYXNzZXQgY2F0YWxvZyBpbWFnZSBuYW1lIHNob3duIG9uIHRoZSBzdWJtaXQgYnV0dG9u", + "LiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25Bc3NldE5hbWUiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiaW1hZ2VQYXRoIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBQTkcgb3IgaW1hZ2UgZmlsZSBwYXRoIHNob3duIG9uIHRoZSBzdWJtaXQgYnV0dG9uLiBUaWxkZSBpcyBleHBhbmRlZC4iLAogICAgICAgICAg", + "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uSW1hZ2VQYXRoIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImJhY2tncm91bmRDb2xvckhleCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAicGF0dGVybiI6ICJeIz9bMC05QS1GYS1mXXs2fShbMC05QS1GYS1mXXsyfSk/JCIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWN0aW9uIGNvbG9yIG1ldGFkYXRhIGFzIFJHQiBv", + "ciBSR0JBIGhleC4gVGhlIHN1Ym1pdCBidXR0b24gZmlsbCBzdGF5cyB3aGl0ZSBhbmQgb25seSBjaGFuZ2VzIG9wYWNpdHkgYmV0d2VlbiBlbmFibGVkIGFuZCBkaXNhYmxlZCBzdGF0ZXMuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbkJhY2tncm91bmRDb2xvckhleCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhbGxPZiI6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAi", + "aWYiOiB7CiAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IFsia2luZCJdLAogICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAia2luZCI6IHsgImNvbnN0IjogImNvbW1hbmRUZW1wbGF0ZSIgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInRoZW4iOiB7CiAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IFsiY29tbWFuZFRlbXBsYXRlIl0sCiAgICAgICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgICAg", + "ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImNvbW1hbmRUZW1wbGF0ZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIlxce1xce3Byb21wdFxcfVxcfSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg", + "ICAgICAgICAgInJlcXVpcmVkIjogWyJwcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIl0sCiAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giOiB7ICJjb25zdCI6IHRydWUgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgICAgfQogICAgICAgIH0sCiAg", + "ICAgICAgInJlc3VtZUNvbW1hbmRzIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWduZWQgY29tbWFuZC1wcmVmaXggYXBwcm92YWxzIGZvciByZXN0b3Jpbmcgbm9uLWFnZW50IHRlcm1pbmFsIHN1cmZhY2VzLiBjbXV4IHdyaXRlcyB0aGlzIGxpc3Qgd2hlbiB5b3UgYXBwcm92ZSBhIHN1cmZhY2UgcmVzdW1lIGNvbW1hbmQuIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAg", + "ICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJyZXF1aXJlZCI6IFsidmVyc2lvbiIsICJpZCIsICJjb21tYW5kUHJlZml4IiwgImVudmlyb25tZW50S2V5cyIsICJwb2xpY3kiLCAiY3JlYXRlZEF0IiwgInVwZGF0ZWRBdCIsICJzaWduYXR1cmUiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgInZlcnNpb24iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAgICJjb25zdCI6IDEKICAgICAgICAgICAgICB9", + "LAogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJuYW1lIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNvbW1hbmRQcmVmaXgiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAibWluSXRlbXMiOiAxLAogICAgICAgICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJz", + "dHJpbmciLAogICAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaGVsbCBhcmd2IHByZWZpeCB0aGF0IG11c3QgbWF0Y2ggdGhlIHNhdmVkIHJlc3VtZSBjb21tYW5kLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJjd2QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHdvcmtpbmcgZGlyZWN0b3J5IHRoYXQgbXVzdCBtYXRj", + "aCB0aGUgc2F2ZWQgcmVzdW1lIGNvbW1hbmQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVudmlyb25tZW50IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBub24tc2Vuc2l0aXZlIGVudmlyb25tZW50IHZhbHVlcyB0aGF0IG11c3QgbWF0Y2ggdGhl", + "IHNhdmVkIHJlc3VtZSBjb21tYW5kLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJlbnZpcm9ubWVudEtleXMiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAicG9s", + "aWN5IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJlbnVtIjogWyJtYW51YWwiLCAicHJvbXB0IiwgImF1dG8iXQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNyZWF0ZWRBdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ1cGRhdGVkQXQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAibGFzdFVzZWRBdCI6IHsK", + "ICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzaWduYXR1cmUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhNQUMgc2lnbmF0dXJlIGZvciB0aGUgcmVjb3JkLiBDaGFuZ2luZyBzaWduZWQgZmllbGRzIGludmFsaWRhdGVzIHRoZSBhcHByb3ZhbC4iCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAidXBsb2FkQ29tbWFu", + "ZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhvc3Qtc2NvcGVkIHJ1bGVzIHRoYXQgcmVwbGFjZSB0aGUgYnVpbHQtaW4gc2NwIGZvciB0ZXJtaW5hbCBmaWxlIGRyb3BzIGFuZCBwYXN0ZXMgb3ZlciBTU0guIFdoZW4gdGhlIHNzaCBkZXN0aW5hdGlvbiBtYXRjaGVzIGEgcnVsZSwgY211eCBydW5zIHRoYXQgcnVsZSdzIGNvbW1hbmQgb25jZSBwZXIgZmlsZSBpbnN0ZWFkIG9mIHNjcCwgYW5kIGluc2VydHMgdGhlIGNvbW1h", + "bmQncyBzdGRvdXQgYXQgdGhlIGN1cnNvciAodmVyYmF0aW0sIHdpdGggY29udHJvbCBjaGFyYWN0ZXJzIHN0cmlwcGVkKTsgaWYgdGhlIGNvbW1hbmQgcHJpbnRzIG5vdGhpbmcsIGNtdXggaW5zZXJ0cyB0aGUgc2hlbGwtZXNjYXBlZCByZW1vdGUgcGF0aCBpdCBjaG9zZSBpbnN0ZWFkLiBQZXItZmlsZSBvdXRwdXRzIGFyZSBzcGFjZS1qb2luZWQuIEZpcnN0IG1hdGNoaW5nIGVuYWJsZWQgcnVsZSB3aW5zOyBubyBtYXRjaCBydW5zIHRoZSBidWlsdC1pbiBzY3AgdW5jaGFuZ2VkLiBBIG5vbi16ZXJvIGV4aXQsIHRpbWVvdXQs", + "IG9yIGNhbmNlbCBpbnNlcnRzIG5vdGhpbmcuIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJyZXF1aXJlZCI6IFsiY29tbWFuZCJdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAiaG9zdFBhdHRlcm4iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6IFsic3RyaW5nIiwgIm51bGwiXSwKICAgICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAg", + "ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImZubWF0Y2ggZ2xvYiBtYXRjaGVkIGFnYWluc3QgdGhlIHNzaCBkZXN0aW5hdGlvbiAodXNlckAgYW5kIElQdjYgYnJhY2tldHMgc3RyaXBwZWQsIGxvd2VyY2FzZWQpLCBsaWtlIGEgc2luZ2xlIHNzaF9jb25maWcgSG9zdCBwYXR0ZXJuLiBXaGVuIHRoZSBzZXNzaW9uIHNldHMgYSBIb3N0TmFtZSAoZm9yIGV4YW1wbGUgdGhyb3VnaCBhIFByb3h5Q29tbWFuZCBvciBicm9rZXIpLCB0aGUgcnVsZSBhbHNvIG1hdGNoZXMgYWdhaW5zdCB0aGF0IHJlc29sdmVkIGhvc3QuIE9taXQg", + "dGhlIGtleSBvciBzZXQgaXQgdG8gbnVsbCBmb3IgYSBjYXRjaC1hbGwgKGEgYmxhbmsgc3RyaW5nIGlzIHJlamVjdGVkKS4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFuZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIlxcUyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwgY29tbWFuZCBydW4gdmlhIC9iaW4vc2ggLWMsIG9uY2UgcGVyIGZpbGUuIEl0", + "IHJlY2VpdmVzIHRoZSBmaWxlIGFuZCBlbmRwb2ludCBvbiBpdHMgZW52aXJvbm1lbnQgKENNVVhfVVBMT0FEX0xPQ0FMX1BBVEgsIENNVVhfVVBMT0FEX1JFTU9URV9QQVRILCBDTVVYX1VQTE9BRF9ERVNUSU5BVElPTiwgQ01VWF9VUExPQURfUE9SVCwgQ01VWF9VUExPQURfSURFTlRJVFlfRklMRSwgQ01VWF9VUExPQURfU1NIX09QVElPTlMpLiBJdHMgc3Rkb3V0IGlzIHdoYXQgY211eCBpbnNlcnRzIGF0IHRoZSBjdXJzb3IuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAg", + "ICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoaXMgcnVsZSBpcyBhY3RpdmUuIERlZmF1bHRzIHRvIHRydWUuIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJub3RpZmljYXRpb25zIjogewogICAgICAidGl0bGUiOiAibm90aWZpY2F0aW9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJOb3RpZmljYXRpb24gYmVoYXZp", + "b3IgZnJvbSBTZXR0aW5ncyA+IE5vdGlmaWNhdGlvbnMuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJkb2NrQmFkZ2UiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSB1bnJlYWQgY291bnQgaW4gdGhlIERvY2sgdGls", + "ZS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0luTWVudUJhciI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIG1lbnUgYmFyIGV4dHJhLiIKICAgICAgICB9LAogICAgICAgICJ1bnJlYWRQYW5lUmluZyI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAg", + "ICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhpZ2hsaWdodCBwYW5lcyB3aXRoIHVucmVhZCBub3RpZmljYXRpb25zLiIKICAgICAgICB9LAogICAgICAgICJwYW5lRmxhc2giOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGbGFzaCB0aGUgZm9jdXNlZCBwYW5lIHdoZW4gcmVxdWVzdGVkLiIKICAgICAgICB9LAog", + "ICAgICAgICJwYW5lRmxhc2hDb2xvciI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnBhbmVGbGFzaENvbG9yIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgcGFuZSBmbGFzaCBhbmQgdW5yZWFkIHJpbmcgY29sb3IuIE51bGwga2VlcHMg", + "dGhlIGJ1aWx0LWluIGJsdWUuIgogICAgICAgIH0sCiAgICAgICAgInN1cHByZXNzT25seUZvY3VzZWRTdXJmYWNlIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnN1cHByZXNzT25seUZvY3VzZWRTdXJmYWNlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGVuYWJsZWQsIGEg", + "bm90aWZpY2F0aW9uIGJhbm5lciBpcyBhdXRvLXdpdGhkcmF3biBvbmx5IHdoZW4gaXRzIHN1cmZhY2UgaXMgdGhlIGV4YWN0IGZvY3VzZWQgc3VyZmFjZS4gQSBiYW5uZXIgZGVsaXZlcmVkIGZvciBhIG5vbi1mb2N1c2VkIHN1cmZhY2UgaW4gdGhlIGN1cnJlbnRseSB2aXNpYmxlIHdvcmtzcGFjZSBzdGF5cyB1cCB1bnRpbCB5b3UgZm9jdXMgdGhhdCBzdXJmYWNlIChvciBjbGljay9kaXNtaXNzIGl0KSwgaW5zdGVhZCBvZiBiZWluZyByZXRyYWN0ZWQgd2hlbiB0aGUgd29ya3NwYWNlIGJlY29tZXMgdmlzaWJsZS4gT2ZmIHBy", + "ZXNlcnZlcyB0aGUgbGVnYWN5IHdvcmtzcGFjZS12aXNpYmlsaXR5IHdpdGhkcmF3LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudFBlcm1pc3Npb25Qcm9tcHQiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudFBlcm1pc3Npb25Qcm9tcHQiLAogICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIk5vdGlmeSB3aGVuIGFuIGFnZW50IChlLmcuIENsYXVkZSBDb2RlKSBpcyBibG9ja2VkIHdhaXRpbmcgZm9yIHlvdXIgcGVybWlzc2lvbiB0byBydW4gYSB0b29sLiBPbiBieSBkZWZhdWx0LCBzaW5jZSB0aGlzIGlzIHRoZSBhbGVydCB5b3UgbXVzdCBhY3Qgb24gdG8gdW5ibG9jayB0aGUgYWdlbnQuIgogICAgICAgIH0sCiAgICAgICAgImFnZW50VHVybkNvbXBsZXRlIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVt", + "IjogWyJ3aGVuSWRsZSIsICJhbHdheXMiLCAibmV2ZXIiXSwKICAgICAgICAgICJkZWZhdWx0IjogIndoZW5JZGxlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudFR1cm5Db21wbGV0ZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0byBub3RpZnkgdGhhdCBhbiBhZ2VudCBmaW5pc2hlZCBhIHR1cm4uIHdoZW5JZGxlIChkZWZhdWx0KSBzdXBwcmVzc2VzIHRoZSBub3RpZmljYXRpb24gd2hpbGUgdGhlIGFnZW50IHN0aWxsIGhhcyBhIHJ1", + "bm5pbmcgYmFja2dyb3VuZCB0YXNrIG9yIGEgcGVuZGluZyBzY2hlZHVsZWQgd2FrZXVwLCBzbyB5b3UgYXJlIHBpbmdlZCBvbmNlIHdvcmsgdHJ1bHkgZHJhaW5zLiBhbHdheXMgbm90aWZpZXMgb24gZXZlcnkgdHVybiBlbmQ7IG5ldmVyIGRpc2FibGVzIGl0LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudElkbGVSZW1pbmRlciI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRl", + "c2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLmFnZW50SWRsZVJlbWluZGVyIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJOb3RpZnkgd2hlbiBhbiBhZ2VudCBoYXMgYmVlbiBpZGxlIHdhaXRpbmcgZm9yIHlvdXIgaW5wdXQgKGFib3V0IDYwcyBhZnRlciBhIHR1cm4gZW5kcykuIFN1cHByZXNzZWQgd2hpbGUgYmFja2dyb3VuZCB3b3JrIGZyb20gdGhlIGxhc3QgdHVybiBpcyBzdGlsbCBwZW5kaW5nLCBzbyBhIHJ1bm5pbmcgYnVpbGQgb3Igd2F0Y2hlciBkb2VzIG5vdCB0cmlnZ2Vy", + "IGEgZmFsc2Ugd2FpdGluZyBhbGVydC4iCiAgICAgICAgfSwKICAgICAgICAic291bmQiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbCiAgICAgICAgICAgICJkZWZhdWx0IiwKICAgICAgICAgICAgIkJhc3NvIiwKICAgICAgICAgICAgIkJsb3ciLAogICAgICAgICAgICAiQm90dGxlIiwKICAgICAgICAgICAgIkZyb2ciLAogICAgICAgICAgICAiRnVuayIsCiAgICAgICAgICAgICJHbGFzcyIsCiAgICAgICAgICAg", + "ICJIZXJvIiwKICAgICAgICAgICAgIk1vcnNlIiwKICAgICAgICAgICAgIlBpbmciLAogICAgICAgICAgICAiUG9wIiwKICAgICAgICAgICAgIlB1cnIiLAogICAgICAgICAgICAiU29zdW1pIiwKICAgICAgICAgICAgIlN1Ym1hcmluZSIsCiAgICAgICAgICAgICJUaW5rIiwKICAgICAgICAgICAgImN1c3RvbV9maWxlIiwKICAgICAgICAgICAgIm5vbmUiCiAgICAgICAgICBdLAogICAgICAgICAgImRlZmF1bHQiOiAiZGVmYXVsdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZpY2F0aW9uIHNvdW5kIHByZXNldC4i", + "CiAgICAgICAgfSwKICAgICAgICAiY3VzdG9tU291bmRGaWxlUGF0aCI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxvY2FsIHBhdGggdG8gdGhlIGN1c3RvbSBub3RpZmljYXRpb24gc291bmQgZmlsZS4iCiAgICAgICAgfSwKICAgICAgICAic291bmRPdmVycmlkZXMiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAg", + "ICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJtYXhQcm9wZXJ0aWVzIjogMjU2LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnNvdW5kT3ZlcnJpZGVzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTcGFyc2UgcGVyLWFnZW50IGFuZCBwZXItYWxlcnQtdHlwZSBub3RpZmljYXRpb24gc291bmQgb3ZlcnJpZGVzLiBNaXNzaW5nIGNlbGxzIHVzZSBub3RpZmljYXRpb25zLnNvdW5kLiIsCiAgICAgICAgICAi", + "cHJvcGVydHlOYW1lcyI6IHsKICAgICAgICAgICAgImFsbE9mIjogWwogICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXltBLVphLXowLTkuXy1dKyQiIH0sCiAgICAgICAgICAgICAgeyAibWF4TGVuZ3RoIjogNjQgfSwKICAgICAgICAgICAgICB7ICJub3QiOiB7ICJlbnVtIjogWyIuIiwgIi4uIl0gfSB9CiAgICAgICAgICAgIF0KICAgICAgICAgIH0sCiAgICAgICAgICAicGF0dGVyblByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJeW0EtWmEtejAtOS5fLV0rJCI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3Qi", + "LAogICAgICAgICAgICAgICJtYXhQcm9wZXJ0aWVzIjogMywKICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICJ0dXJuRG9uZSI6IHsgIiRyZWYiOiAiIy8kZGVmcy9ub3RpZmljYXRpb25Tb3VuZE92ZXJyaWRlIiB9LAogICAgICAgICAgICAgICAgIm5lZWRzSW5wdXQiOiB7ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlkZSIgfSwKICAgICAgICAgICAgICAgICJlcnJvclN0YWxsZWQiOiB7", + "ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlkZSIgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlCiAgICAgICAgfSwKICAgICAgICAiY29tbWFuZCI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHNoZWxsIGNvbW1h", + "bmQgdG8gcnVuIGFsb25nc2lkZSBub3RpZmljYXRpb24gZGVsaXZlcnkuIgogICAgICAgIH0sCiAgICAgICAgImhvb2tzTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsiYXBwZW5kIiwgInJlcGxhY2UiXSwKICAgICAgICAgICJkZWZhdWx0IjogImFwcGVuZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29udHJvbHMgd2hldGhlciBwcm9qZWN0LWxvY2FsIG5vdGlmaWNhdGlvbiBob29rcyBhcHBlbmQgdG8gaW5oZXJpdGVkIGhvb2tzIG9yIHJlcGxhY2UgdGhlbS4iCiAg", + "ICAgICAgfSwKICAgICAgICAiaG9va3MiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbXBvc2FibGUgc2hlbGwgaG9va3MgdGhhdCByZWNlaXZlIG5vdGlmaWNhdGlvbiBwb2xpY3kgSlNPTiBvbiBzdGRpbiBhbmQgcmV0dXJuIHVwZGF0ZWQgcG9saWN5IEpTT04gb24gc3Rkb3V0LiIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVy", + "dGllcyI6IGZhbHNlLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbImlkIiwgImNvbW1hbmQiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImlkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YWJsZSBob29rIGlkZW50aWZpZXIgdXNlZCBpbiBsb2dzIGFuZCBmYWlsdXJlIGFsZXJ0cy4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFu", + "ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIi4qXFxTLioiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGNvbW1hbmQgcnVuIHdpdGggbm90aWZpY2F0aW9uIHBvbGljeSBKU09OIG9uIHN0ZGluLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ0aW1lb3V0U2Vjb25kcyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAg", + "ICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IDIwLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gdGltZSBjbXV4IHdhaXRzIGZvciB0aGlzIGhvb2sgYmVmb3JlIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0IG5vdGlmaWNhdGlvbiBiZWhhdmlvci4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiZW5hYmxlZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAg", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhpcyBob29rIHdpdGhvdXQgcmVtb3ZpbmcgaXQuIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJzaWRlYmFyIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJzaWRlYmFyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgY29udGVudCBhbmQgbWV0YWRhdGEgdmlzaWJpbGl0eSBmcm9tIFNldHRpbmdzID4gU2lkZWJhci4iLAog", + "ICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImhpZGVBbGxEZXRhaWxzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhpZGUgYWxsIHBlci13b3Jrc3BhY2UgZGV0YWlsIHJvd3MuIgogICAgICAgIH0sCiAgICAgICAgIndyYXBXb3Jrc3BhY2VUaXRsZXMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFu", + "IiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgd29ya3NwYWNlIHRpdGxlcyBpbiB0aGUgc2lkZWJhciB0byB3cmFwIHRvIG11bHRpcGxlIGxpbmVzIGluc3RlYWQgb2YgdHJ1bmNhdGluZyBhZnRlciBvbmUgbGluZS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1dvcmtzcGFjZURlc2NyaXB0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBjdXN0", + "b20gd29ya3NwYWNlIGRlc2NyaXB0aW9ucyBpbiB0aGUgc2lkZWJhci4iCiAgICAgICAgfSwKICAgICAgICAid29ya3NwYWNlRGVzY3JpcHRpb25Db2xvciI6IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSB3b3Jrc3BhY2UgZGVzY3JpcHRpb24gdGV4dCBjb2xvciBpbiB0aGUgc2lkZWJhci4iCiAgICAgICAgfSwKICAgICAgICAiYmV0YSI6IHsKICAgICAgICAgICJ0eXBlIjog", + "Im9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFeHBlcmltZW50YWwgc2lkZWJhciBmZWF0dXJlcy4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJ3b3Jrc3BhY2VUb2RvcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXb3Jrc3BhY2UgdG9kb3MgY2hlY2tsaXN0", + "IHByZXNlbnRhdGlvbi4iLAogICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgImNoZWNrbGlzdFN0eWxlIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAiZW51bSI6IFsicG9wb3ZlciIsICJpbmxpbmUiXSwKICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiAicG9wb3ZlciIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIb3cgYSByb3cncyBjaGVja2xpc3Qgb3BlbnMgZnJvbSBpdHMgc3VtbWFyeSBsaW5lOiBhbiBhbmNo", + "b3JlZCBwb3BvdmVyIG9yIGlubGluZSBleHBhbnNpb24uIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImJyYW5jaExheW91dCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsidmVydGljYWwiLCAiaW5saW5lIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ2ZXJ0aWNhbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBnaXQgYnJhbmNoIGRldGFpbHMgc3RhY2tlZCB2ZXJ0aWNh", + "bGx5IG9yIGlubGluZS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd05vdGlmaWNhdGlvbk1lc3NhZ2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBsYXRlc3Qgbm90aWZpY2F0aW9uIHRleHQgaW4gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbk1lc3NhZ2VMaW5lTGltaXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjog", + "MSwKICAgICAgICAgICJtYXhpbXVtIjogNTAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEyLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gbGluZXMgc2hvd24gZm9yIHRoZSBsYXRlc3Qgbm90aWZpY2F0aW9uIGJlbG93IGVhY2ggd29ya3NwYWNlIHRpdGxlLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnNpZGViYXIubm90aWZpY2F0aW9uTWVzc2FnZUxpbmVMaW1pdCIKICAgICAgICB9LAogICAgICAgICJzaG93QnJhbmNoRGlyZWN0b3J5IjogewogICAgICAgICAgInR5", + "cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgd29ya3NwYWNlIHdvcmtpbmcgZGlyZWN0b3J5LiIKICAgICAgICB9LAogICAgICAgICJzaG93UHVsbFJlcXVlc3RzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgaW4gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgIndhdGNo", + "R2l0U3RhdHVzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2F0Y2ggcmVwb3NpdG9yeSBmaWxlcyBmb3Igc2lkZWJhciBicmFuY2ggYW5kIHB1bGwgcmVxdWVzdCBtZXRhZGF0YSB3aXRob3V0IHBvbGxpbmcgZ2l0LiIKICAgICAgICB9LAogICAgICAgICJtYWtlUHVsbFJlcXVlc3RzQ2xpY2thYmxlIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAg", + "ICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgc2lkZWJhciBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgdG8gb3BlbiBsaW5rcyB3aGVuIGNsaWNrZWQuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5QdWxsUmVxdWVzdExpbmtzSW5DbXV4QnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW4gc2lkZWJhciBwdWxsIHJlcXVlc3QgbGlua3MgaW4gdGhlIGVtYmVkZGVkIGNtdXggYnJvd3Nlci4iCiAgICAgICAgfSwKICAg", + "ICAgICAib3BlblBvcnRMaW5rc0luQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIHNpZGViYXIgcG9ydCBsaW5rcyBpbiB0aGUgZW1iZWRkZWQgY211eCBicm93c2VyLiIKICAgICAgICB9LAogICAgICAgICJzaG93U1NIIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBTU0ggY29u", + "bmVjdGlvbiBkZXRhaWxzLiIKICAgICAgICB9LAogICAgICAgICJzaG93UG9ydHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGxpc3RlbmluZyBwb3J0cy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0xvZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgcmVjZW50IGxvZyBzbmlwcGV0cy4iCiAg", + "ICAgICAgfSwKICAgICAgICAic2hvd1Byb2dyZXNzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBwcm9ncmVzcyBpbmRpY2F0b3JzLiIKICAgICAgICB9LAogICAgICAgICJzaG93QWdlbnRBY3Rpdml0eSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGxvYWRpbmcgc3Bpbm5lciBvbiB3b3Jr", + "c3BhY2VzIHdpdGggcnVubmluZyBjb2RpbmcgYWdlbnRzIG9yIGFjdGl2ZSBsb2FkZXJzLiIKICAgICAgICB9LAogICAgICAgICJsb2FkaW5nU3Bpbm5lclBvc2l0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJsZWFkaW5nIiwgInRyYWlsaW5nIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJsZWFkaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBzaWRlIG9mIHRoZSB3b3Jrc3BhY2Ugcm93IHRoZSBsb2FkaW5nIHNwaW5uZXIgYXBwZWFycyBvbjogbGVhZGlu", + "ZyAobGVmdCwgc2hhcmluZyB0aGUgdW5yZWFkLWJhZGdlIHNsb3QpIG9yIHRyYWlsaW5nIChyaWdodCkuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbkJhZGdlUG9zaXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImxlYWRpbmciLCAidHJhaWxpbmciXSwKICAgICAgICAgICJkZWZhdWx0IjogImxlYWRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoaWNoIHNpZGUgb2YgdGhlIHdvcmtzcGFjZSByb3cgdGhlIHVucmVhZCBub3RpZmljYXRpb24gYmFk", + "Z2UgYXBwZWFycyBvbjogbGVhZGluZyAobGVmdCkgb3IgdHJhaWxpbmcgKHJpZ2h0KS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0N1c3RvbU1ldGFkYXRhIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBjdXN0b20gbWV0YWRhdGEgcGlsbHMuIgogICAgICAgIH0sCiAgICAgICAgInJpZ2h0TWF4V2lkdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0i", + "OiAwLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaWRlYmFyLnJpZ2h0TWF4V2lkdGgiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gd2lkdGggaW4gcG9pbnRzIGZvciB0aGUgcmlnaHQgc2lkZWJhci4gV2hlbiBvbWl0dGVkLCB0aGUgYnVpbHQtaW4gZHluYW1pYyBjYXAgYXBwbGllcy4iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIndvcmtzcGFjZUNvbG9ycyI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAi", + "d29ya3NwYWNlQ29sb3JzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSB0YWIgYW5kIGJhZGdlIGNvbG9ycyBmcm9tIFNldHRpbmdzID4gV29ya3NwYWNlIENvbG9ycy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImluZGljYXRvclN0eWxlIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAibGVmdFJhaWwiLAogICAgICAgICAg", + "ICAic29saWRGaWxsIiwKICAgICAgICAgICAgInJhaWwiLAogICAgICAgICAgICAiYm9yZGVyIiwKICAgICAgICAgICAgIndhc2giLAogICAgICAgICAgICAibGlmdCIsCiAgICAgICAgICAgICJ0eXBvZ3JhcGh5IiwKICAgICAgICAgICAgIndhc2hSYWlsIiwKICAgICAgICAgICAgImJsdWVXYXNoQ29sb3JSYWlsIgogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogImxlZnRSYWlsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3RpdmUgd29ya3NwYWNlIGluZGljYXRvciBzdHlsZS4gTGVnYWN5IGFsaWFzZXMg", + "YXJlIGFjY2VwdGVkIGFuZCBub3JtYWxpemVkLiIKICAgICAgICB9LAogICAgICAgICJzZWxlY3Rpb25Db2xvciI6IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSBzZWxlY3RlZCB3b3Jrc3BhY2UgYmFja2dyb3VuZCBjb2xvci4iCiAgICAgICAgfSwKICAgICAgICAibm90aWZpY2F0aW9uQmFkZ2VDb2xvciI6IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhP", + "ck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSB1bnJlYWQgbm90aWZpY2F0aW9uIGJhZGdlIGNvbG9yLiIKICAgICAgICB9LAogICAgICAgICJjb2xvcnMiOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZ1bGwgbmFtZWQgd29ya3NwYWNlIGNvbG9yIHBhbGV0dGUuIEluY2x1ZGUgYnVpbHQtaW4gZW50cmllcyB5b3Ugd2FudCB0byBrZWVwLCByZW1vdmUga2V5cyB0byByZW1vdmUgY29sb3Jz", + "LCBhbmQgYWRkIG1vcmUgbmFtZWQgZW50cmllcyB0byBleHRlbmQgdGhlIHBpY2tlci4iLAogICAgICAgICAgImRlZmF1bHQiOiB7CiAgICAgICAgICAgICJSZWQiOiAiI0MwMzkyQiIsCiAgICAgICAgICAgICJDcmltc29uIjogIiM5MjJCMjEiLAogICAgICAgICAgICAiT3JhbmdlIjogIiNBMDQwMDAiLAogICAgICAgICAgICAiQW1iZXIiOiAiIzdENjYwOCIsCiAgICAgICAgICAgICJPbGl2ZSI6ICIjNEE1QzE4IiwKICAgICAgICAgICAgIkdyZWVuIjogIiMxOTZGM0QiLAogICAgICAgICAgICAiVGVhbCI6ICIjMDA2QjZCIiwK", + "ICAgICAgICAgICAgIkFxdWEiOiAiIzBFNkI4QyIsCiAgICAgICAgICAgICJCbHVlIjogIiMxNTY1QzAiLAogICAgICAgICAgICAiTmF2eSI6ICIjMUE1Mjc2IiwKICAgICAgICAgICAgIkluZGlnbyI6ICIjMjgzNTkzIiwKICAgICAgICAgICAgIlB1cnBsZSI6ICIjNkExQjlBIiwKICAgICAgICAgICAgIk1hZ2VudGEiOiAiI0FEMTQ1NyIsCiAgICAgICAgICAgICJSb3NlIjogIiM4ODBFNEYiLAogICAgICAgICAgICAiQnJvd24iOiAiIzdCM0YwMCIsCiAgICAgICAgICAgICJDaGFyY29hbCI6ICIjM0U0QjVFIgogICAgICAgICAg", + "fSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJwYWxldHRlT3ZlcnJpZGVzIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgd29ya3NwYWNlIGNvbG9yIG92ZXJyaWRlcyBmb3IgYnVpbHQtaW4gcGFsZXR0ZSBuYW1lcy4gUHJlZmVyIHdvcmtzcGFjZUNvbG9ycy5jb2xvcnMgZm9yIG5ldyBjb25maWdzLiIsCiAgICAg", + "ICAgICAiZGVmYXVsdCI6IHt9LAogICAgICAgICAgImRlcHJlY2F0ZWQiOiB0cnVlLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImN1c3RvbUNvbG9ycyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgbGlzdCBvZiBjdXN0b20gd29ya3NwYWNlIGNvbG9ycy4gUHJlZmVyIHdvcmtzcGFjZUNvbG9ycy5jb2xvcnMgZm9y", + "IG5ldyBjb25maWdzLiIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlcHJlY2F0ZWQiOiB0cnVlLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJzaWRlYmFyQXBwZWFyYW5jZSI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAic2lkZWJhckFwcGVhcmFuY2UiLAogICAgICAiZGVzY3JpcHRpb24iOiAiU2lkZWJhciB0aW50", + "IHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBTaWRlYmFyIEFwcGVhcmFuY2UuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJtYXRjaFRlcm1pbmFsQmFja2dyb3VuZCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVc2UgdGhlIHRlcm1pbmFsIGJhY2tncm91bmQgaW5zdGVhZCBvZiB0aGUgc2lkZWJh", + "ciB0aW50LiIKICAgICAgICB9LAogICAgICAgICJ0aW50Q29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IiwKICAgICAgICAgICJkZWZhdWx0IjogIiMwMDAwMDAiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJhc2Ugc2lkZWJhciB0aW50IGNvbG9yIHVzZWQgd2hlbiBsaWdodC9kYXJrIG92ZXJyaWRlcyBhcmUgbm90IHNldC4iCiAgICAgICAgfSwKICAgICAgICAibGlnaHRNb2RlVGludENvbG9yIjogewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleE9yTnVsbCIsCiAgICAg", + "ICAgICAiZGVmYXVsdCI6IG51bGwsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2lkZWJhciB0aW50IG92ZXJyaWRlIGZvciBsaWdodCBhcHBlYXJhbmNlLiIKICAgICAgICB9LAogICAgICAgICJkYXJrTW9kZVRpbnRDb2xvciI6IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBvdmVycmlkZSBmb3IgZGFyayBhcHBlYXJhbmNlLiIKICAgICAgICB9LAogICAgICAgICJ0aW50", + "T3BhY2l0eSI6IHsKICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAibWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6IDAuMDMsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2lkZWJhciB0aW50IG9wYWNpdHkgZnJvbSAwIHRvIDEuIE5vdGU6IHRoaXMgb25seSBjb250cm9scyB0aGUgc2lkZWJhciB0aW50LCBub3QgdGVybWluYWwvd2luZG93IHRyYW5zcGFyZW5jeS4gRm9yIHRlcm1pbmFsIGJhY2tncm91bmQgdHJhbnNwYXJlbmN5IG9yIGJsdXIsIHNl", + "dCBgYmFja2dyb3VuZC1vcGFjaXR5YCBhbmQgYGJhY2tncm91bmQtYmx1cmAgaW4gYH4vLmNvbmZpZy9naG9zdHR5L2NvbmZpZ2AgYW5kIHJ1biBgY211eCByZWxvYWQtY29uZmlnYC4iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImF1dG9tYXRpb24iOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImF1dG9tYXRpb24iLAogICAgICAiZGVzY3JpcHRpb24iOiAiU29ja2V0IGNvbnRyb2wgYW5kIGF1dG9tYXRpb24gc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+IEF1dG9tYXRp", + "b24uIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJzb2NrZXRDb250cm9sTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgIm9mZiIsCiAgICAgICAgICAgICJjbXV4T25seSIsCiAgICAgICAgICAgICJhdXRvbWF0aW9uIiwKICAgICAgICAgICAgInBhc3N3b3JkIiwKICAgICAgICAgICAgImFsbG93QWxsIiwKICAgICAgICAgICAgIm9w", + "ZW5BY2Nlc3MiLAogICAgICAgICAgICAiZnVsbE9wZW5BY2Nlc3MiLAogICAgICAgICAgICAibm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICJmdWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogImNtdXhPbmx5IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTb2NrZXQgY29udHJvbCBtb2RlLiBMZWdhY3kgYWxpYXNlcyBhcmUgYWNjZXB0ZWQgYW5kIG5vcm1hbGl6ZWQuIgogICAgICAgIH0sCiAgICAgICAgInNvY2tldFBhc3N3b3JkIjogewogICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICB7", + "CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICAgICAgfQogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGFzc3dvcmQgZm9yIHBhc3N3b3JkLW1vZGUgc29ja2V0IGFjY2Vzcy4gVXNlIG51bGwgb3IgYW4gZW1wdHkgc3RyaW5nIHRvIGNsZWFyIGl0LiIKICAgICAgICB9LAogICAgICAgICJjbGF1ZGVDb2RlSW50ZWdyYXRpb24iOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQ2xhdWRlIENvZGUuIgogICAgICAgIH0sCiAgICAgICAgImNsYXVkZUJpbmFyeVBhdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gcGF0aCB0byB0aGUgY2xhdWRlIGJpbmFyeS4iCiAgICAgICAgfSwKICAgICAg", + "ICAid29ya3NwYWNlQXV0b05hbWluZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXV0b21hdGlvbi53b3Jrc3BhY2VBdXRvTmFtaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHQtaW4gQUkgYXV0by1uYW1pbmcgb2Ygd29ya3NwYWNlcyBhbmQgdGFicyBmcm9tIGFnZW50IGNvbnZlcnNhdGlvbiBjb250ZW50LiBXaGVuIGVuYWJsZWQsIGNtdXggc3VtbWFyaXplcyBz", + "dXBwb3J0ZWQgYWdlbnQgc2Vzc2lvbnMgaW50byBzaG9ydCB0aXRsZXMgdXNpbmcgZWFjaCBhZ2VudCdzIG93biBiaW5hcnk7IG1hbnVhbCByZW5hbWVzIGFsd2F5cyB3aW4uIgogICAgICAgIH0sCiAgICAgICAgImF1dG9OYW1pbmdBZ2VudCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICJhdXRvIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXV0b21hdGlvbi5hdXRvTmFtaW5nQWdlbnQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IldoaWNoIGFnZW50IGdlbmVyYXRlcyBhdXRvLW5hbWVzIGZvciBldmVyeSBzZXNzaW9uLiBcImF1dG9cIiAoZGVmYXVsdCkgbmFtZXMgZWFjaCBzZXNzaW9uIHdpdGggaXRzIG93biBhZ2VudDsgYW55IGFnZW50IHNsdWcgKGNsYXVkZSwgY29kZXgsIGdyb2ssIG9wZW5jb2RlLCBwaSwgb21wLCDigKYpIG92ZXJyaWRlcyBuYW1pbmcgZm9yIGFsbCBzZXNzaW9ucywgZXZlbiBvdGhlciBhZ2VudHMnIHNlc3Npb25zLiBVbmRyaXZlYWJsZSBvciB1bmluc3RhbGxlZCBhZ2VudHMgZmFsbCBiYWNrIHRvIHRoZSBzZXNzaW9uJ3Mgb3du", + "IGFnZW50LCBzbyBuYW1pbmcgbmV2ZXIgYnJlYWtzLiIKICAgICAgICB9LAogICAgICAgICJyaXBncmVwQmluYXJ5UGF0aCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBwYXRoIHRvIHRoZSByaXBncmVwIChyZykgYmluYXJ5IHVzZWQgYnkgcHJvamVjdCBzZWFyY2guIgogICAgICAgIH0sCiAgICAgICAgInN1cHByZXNzU3ViYWdlbnROb3RpZmljYXRpb25zIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIs", + "CiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uc3VwcHJlc3NTdWJhZ2VudE5vdGlmaWNhdGlvbnMiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN1cHByZXNzIHZpc2libGUgY29tcGxldGlvbiBub3RpZmljYXRpb25zIGFuZCBzdGF0dXMgbXV0YXRpb25zIGZyb20gbmVzdGVkIENvZGV4IG9yIENsYXVkZSBjaGlsZCBhZ2VudHMgd2hpbGUga2VlcGluZyB0aGVpciBldmVudHMgaW4gRmVlZCB0ZWxlbWV0cnkuIgogICAg", + "ICAgIH0sCiAgICAgICAgImFtcEludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uYW1wSW50ZWdyYXRpb24iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVncmF0aW9uIGhvb2tzIGZvciBBbXAuIFdoZW4gZGlzYWJsZWQsIHRoZSBidW5kbGVkIHBsdWdpbiBzdGF5cyBpbmFjdGl2ZSB3aXRob3V0IG5lZWRpbmcgdG8g", + "YmUgcmVtb3ZlZC4iCiAgICAgICAgfSwKICAgICAgICAiY3Vyc29ySW50ZWdyYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQ3Vyc29yLiIKICAgICAgICB9LAogICAgICAgICJnZW1pbmlJbnRlZ3JhdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIkVuYWJsZSBjbXV4IGludGVncmF0aW9uIGhvb2tzIGZvciBHZW1pbmkuIgogICAgICAgIH0sCiAgICAgICAgImtpcm9JbnRlZ3JhdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVncmF0aW9uIGhvb2tzIGZvciBLaXJvIENMSS4iCiAgICAgICAgfSwKICAgICAgICAia2lyb05vdGlmaWNhdGlvbkxldmVsIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJl", + "bnVtIjogWwogICAgICAgICAgICAibWluaW1hbCIsCiAgICAgICAgICAgICJzdGFuZGFyZCIsCiAgICAgICAgICAgICJ2ZXJib3NlIgogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogInN0YW5kYXJkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb250cm9scyBob3cgbWFueSBLaXJvIHRvb2wgZXZlbnRzIGFwcGVhciBpbiBGZWVkLiIKICAgICAgICB9LAogICAgICAgICJwb3J0QmFzZSI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgImRl", + "ZmF1bHQiOiA5MTAwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YXJ0aW5nIHZhbHVlIGZvciB3b3Jrc3BhY2UgQ01VWF9QT1JUIGFzc2lnbm1lbnRzLiIKICAgICAgICB9LAogICAgICAgICJwb3J0UmFuZ2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJkZWZhdWx0IjogMTAsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTnVtYmVyIG9mIHBvcnRzIHJlc2VydmVkIHBlciB3b3Jrc3BhY2UuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAg", + "ICJicm93c2VyIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJicm93c2VyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkVtYmVkZGVkIGJyb3dzZXIgc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+IEJyb3dzZXIuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJkZWZhdWx0U2VhcmNoRW5naW5lIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAg", + "ICAgICJlbnVtIjogWyJnb29nbGUiLCAiZHVja2R1Y2tnbyIsICJiaW5nIiwgImthZ2kiLCAic3RhcnRwYWdlIiwgImJyYXZlIiwgInBlcnBsZXhpdHkiLCAiZXhhIiwgInlhaG9vIiwgImVjb3NpYSIsICJxd2FudCIsICJtb2plZWsiLCAid2lraXBlZGlhIiwgImdpdGh1YiIsICJiYWlkdSIsICJ5YW5kZXgiLCAiY3VzdG9tIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJnb29nbGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmRlZmF1bHRTZWFyY2hFbmdpbmUiLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgc2VhcmNoIGVuZ2luZSBmb3Igbm9uLVVSTCBicm93c2VyIGFkZHJlc3MgYmFyIHF1ZXJpZXMuIFVzZSBjdXN0b20gd2l0aCBjdXN0b21TZWFyY2hFbmdpbmVVUkxUZW1wbGF0ZSBmb3IgYXJiaXRyYXJ5IHByb3ZpZGVycy4iCiAgICAgICAgfSwKICAgICAgICAiY3VzdG9tU2VhcmNoRW5naW5lTmFtZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0", + "aW9ucy5icm93c2VyLmN1c3RvbVNlYXJjaEVuZ2luZU5hbWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbmFtZSB1c2VkIHdoZW4gZGVmYXVsdFNlYXJjaEVuZ2luZSBpcyBjdXN0b20uIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNlYXJjaEVuZ2luZVVSTFRlbXBsYXRlIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2VhcmNoP3E9e3F1ZXJ5fSIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1h", + "RGVzY3JpcHRpb25zLmJyb3dzZXIuY3VzdG9tU2VhcmNoRW5naW5lVVJMVGVtcGxhdGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBVUkwgdXNlZCB3aGVuIGRlZmF1bHRTZWFyY2hFbmdpbmUgaXMgY3VzdG9tLiBJbmNsdWRlIHtxdWVyeX0gb3IgJXMgZm9yIHRoZSBlbmNvZGVkIHF1ZXJ5LiBJZiBvbWl0dGVkLCBjbXV4IGFwcGVuZHMgcT0gdG8gdGhlIFVSTC4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1NlYXJjaFN1Z2dlc3Rpb25zIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAg", + "ICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBvbW5pYmFyIHNlYXJjaCBzdWdnZXN0aW9ucy4iCiAgICAgICAgfSwKICAgICAgICAidGhlbWUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInN5c3RlbSIsICJsaWdodCIsICJkYXJrIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzeXN0ZW0iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVtYmVkZGVkIGJyb3dzZXIgdGhlbWUuIgogICAgICAgIH0sCiAgICAgICAgImRlZmF1bHRab29tTGV2", + "ZWwiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLjI1LAogICAgICAgICAgIm1heGltdW0iOiA1LAogICAgICAgICAgImRlZmF1bHQiOiAxLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmRlZmF1bHRab29tTGV2ZWwiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgcGFnZSB6b29tIGZhY3RvciBhcHBsaWVkIHRvIG5ld2x5IG9wZW5lZCBicm93c2VyIHBhZ2VzICgxID0gMTAwJSkuIFpvb20gSW4sIFpvb20g", + "T3V0LCBhbmQgQWN0dWFsIFNpemUgc3RpbGwgYWRqdXN0IGVhY2ggcGFnZS4iCiAgICAgICAgfSwKICAgICAgICAiZGlzY2FyZEhpZGRlbldlYlZpZXdzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgaGlkZGVuIGJyb3dzZXIgdGFicyB0byByZWxlYXNlIHBhZ2UgbWVtb3J5IGFuZCByZXN0b3JlIHdoZW4gc2hvd24gYWdhaW4uIgogICAgICAgIH0sCiAgICAgICAgImhpZGRlbldlYlZpZXdEaXNjYXJkRGVsYXlT", + "ZWNvbmRzIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJtaW5pbXVtIjogMCwKICAgICAgICAgICJtYXhpbXVtIjogMzYwMCwKICAgICAgICAgICJkZWZhdWx0IjogMzAwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlY29uZHMgYSBicm93c2VyIHRhYiBtdXN0IHN0YXkgaGlkZGVuIGJlZm9yZSBjbXV4IGZyZWVzIGl0cyBwYWdlIG1lbW9yeS4iCiAgICAgICAgfSwKICAgICAgICAiYXNrV2hlcmVUb1NhdmVEb3dubG9hZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", + "ICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIuYXNrV2hlcmVUb1NhdmVEb3dubG9hZHMiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBzYXZlIHBhbmVsIGZvciBicm93c2VyIGRvd25sb2FkcyBpbnN0ZWFkIG9mIHNhdmluZyBkaXJlY3RseSB0byBEb3dubG9hZHMuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5UZXJtaW5hbExpbmtzSW5DbXV4QnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAg", + "ICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW4gY2xpY2tlZCB0ZXJtaW5hbCBsaW5rcyBpbiB0aGUgZW1iZWRkZWQgYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAiaW50ZXJjZXB0VGVybWluYWxPcGVuQ29tbWFuZEluQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJJbnRlcmNlcHQgdGVybWluYWwgb3BlbiBodHRwKHMpIGNvbW1hbmRzIGFuZCByb3V0", + "ZSB0aGVtIHRocm91Z2ggdGhlIGVtYmVkZGVkIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgImhvc3RzVG9PcGVuSW5FbWJlZGRlZEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93bGlzdCBvZiBob3N0cyB0aGF0IHNob3VsZCBzdGF5IGluc2lkZSB0aGUgZW1iZWRkZWQgYnJvd3Nlci4iCiAg", + "ICAgICAgfSwKICAgICAgICAidXJsc1RvQWx3YXlzT3BlbkV4dGVybmFsbHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJ1bGVzIHRoYXQgYWx3YXlzIG9wZW4gbWF0Y2hpbmcgVVJMcyBpbiB0aGUgc3lzdGVtIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgImluc2VjdXJlSHR0cEhvc3RzQWxsb3dlZEluRW1i", + "ZWRkZWRCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbCiAgICAgICAgICAgICJsb2NhbGhvc3QiLAogICAgICAgICAgICAiKi5sb2NhbGhvc3QiLAogICAgICAgICAgICAiMTI3LjAuMC4xIiwKICAgICAgICAgICAgIjo6MSIsCiAgICAgICAgICAgICIwLjAuMC4wIiwKICAgICAgICAgICAgIioubG9jYWx0ZXN0Lm1lIgogICAgICAgICAgXSwKICAgICAgICAg", + "ICJkZXNjcmlwdGlvbiI6ICJIVFRQIGhvc3RzIGFsbG93ZWQgaW4gdGhlIGVtYmVkZGVkIGJyb3dzZXIgd2l0aG91dCBhIHdhcm5pbmcgcHJvbXB0LiIKICAgICAgICB9LAogICAgICAgICJ1cmxBbGxvd2xpc3QiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIudXJsQWxsb3dsaXN0IiwKICAgICAgICAgICJkZWZh", + "dWx0IjogWwogICAgICAgICAgICAibG9jYWxob3N0IiwKICAgICAgICAgICAgIioubG9jYWxob3N0IiwKICAgICAgICAgICAgIjEyNy4wLjAuMSIsCiAgICAgICAgICAgICI6OjEiLAogICAgICAgICAgICAiMC4wLjAuMCIsCiAgICAgICAgICAgICIqLmxvY2FsdGVzdC5tZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9zdCBvciBVUkwgcGF0dGVybnMgdGhhdCByZXN0cmljdCBlbWJlZGRlZC1icm93c2VyIG5hdmlnYXRpb24uIFRoZSBTZXR0aW5ncyBVSSBzdWdnZXN0cyBsb2NhbCBkZXZlbG9wbWVu", + "dCBvcmlnaW5zOyBzYXZpbmcgYSBsaXN0IG9wdHMgaW50byB0aGUgb3B0aW9uYWwgcmVzdHJpY3Rpb24uIFJlbW92ZSBlbnRyaWVzIHRvIGJsb2NrIHRoZW0sIG9yIGxlYXZlIHRoZSB1c2VyIHZhbHVlIGVtcHR5IHRvIGRpc2FibGUgaXQgd2hlbiBubyBtYW5hZ2VkIHBvbGljeSBhcHBsaWVzLiIKICAgICAgICB9LAogICAgICAgICJzaG93SW1wb3J0SGludE9uQmxhbmtUYWJzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", + "U2hvdyB0aGUgYnJvd3NlciBpbXBvcnQgaGludCBvbiBibGFuayB0YWJzLiIKICAgICAgICB9LAogICAgICAgICJyZWFjdEdyYWJWZXJzaW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIjAuMS4yOSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGlubmVkIHJlYWN0LWdyYWIgdmVyc2lvbiBmb3IgdGhlIGJyb3dzZXIgdG9vbGJhciBoZWxwZXIuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtb2JpbGUiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9i", + "YWwiXSwKICAgICAgInRpdGxlIjogIm1vYmlsZSIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJNYWMtc2lkZSBzZXR0aW5ncyBmb3IgY211eCBvbiBpT1MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJhcnRpZmFjdEZvbGRlckFjY2VzcyI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsic3VidHJlZSIsICJvbmVMZXZlbCJdLAogICAgICAgICAgImRlZmF1bHQiOiAi", + "c3VidHJlZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29udHJvbHMgd2hldGhlciBhIHJlZmVyZW5jZWQgb3IgdGVybWluYWwtdmlzaWJsZSBkaXJlY3RvcnkgYXV0aG9yaXplcyBpdHMgZnVsbCBjYW5vbmljYWwgc3VidHJlZSBvciBvbmx5IGltbWVkaWF0ZSBjaGlsZHJlbi4iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIm1hcmtkb3duIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJtYXJrZG93biIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJCdWlsdC1pbiBt", + "YXJrZG93biB2aWV3ZXIgc2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJmb250U2l6ZSI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiA4LAogICAgICAgICAgIm1heGltdW0iOiA5NiwKICAgICAgICAgICJkZWZhdWx0IjogMTUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBib2R5IGZvbnQgc2l6ZSwgaW4gcG9pbnRzLCBmb3Ig", + "bmV3bHkgb3BlbmVkIG1hcmtkb3duIHZpZXdlcnMuIFpvb20gYSB2aWV3ZXIgbGl2ZSB3aXRoIENtZC0rIC8gQ21kLS0gLyBDbWQtMC4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5mb250U2l6ZSIKICAgICAgICB9LAogICAgICAgICJmb250RmFtaWx5IjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBib2R5IGZvbnQgZmFtaWx5IGZvciBuZXdseSBvcGVu", + "ZWQgbWFya2Rvd24gdmlld2Vycy4gTGVhdmUgZW1wdHkgZm9yIHRoZSBzeXN0ZW0gbWFya2Rvd24gZm9udCBzdGFjay4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5mb250RmFtaWx5IgogICAgICAgIH0sCiAgICAgICAgIm1heFdpZHRoIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDMyMCwKICAgICAgICAgICJtYXhpbXVtIjogMjQwMCwKICAgICAgICAgICJkZWZhdWx0IjogOTgwLAogICAgICAgICAgImRlc2NyaXB0", + "aW9uIjogIkRlZmF1bHQgbWF4aW11bSByZWFkaW5nIGNvbHVtbiB3aWR0aCwgaW4gQ1NTIHBpeGVscywgZm9yIG5ld2x5IG9wZW5lZCBtYXJrZG93biB2aWV3ZXJzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLm1hcmtkb3duLm1heFdpZHRoIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJjYW52YXMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImNhbnZhcyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGcmVlZm9ybSBjYW52", + "YXMgd29ya3NwYWNlIGxheW91dCBzZXR0aW5ncy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgInBhbmVHYXAiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMCwKICAgICAgICAgICJtYXhpbXVtIjogNjQsCiAgICAgICAgICAiZGVmYXVsdCI6IDE2LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNwYWNpbmcgYmV0d2VlbiBwYW5lcyBpbiB0aGUgY2FudmFz", + "IGxheW91dCwgaW4gcG9pbnRzLiBTbmFwcGluZywgdGlkeSwgYW5kIG5ldy1wYW5lIHBsYWNlbWVudCBhbGwgdXNlIHRoaXMgb25lIGdhcC4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jYW52YXMucGFuZUdhcCIKICAgICAgICB9LAogICAgICAgICJzbmFwcGluZ0VuYWJsZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTbmFwIHBhbmUgZHJhZ3MgYW5kIHJlc2l6ZXMgdG8g", + "bmVpZ2hib3IgZWRnZXMgYW5kIHRoZSBwYW5lIGdhcC4gSG9sZCBDb21tYW5kIHRvIHN1c3BlbmQgc25hcHBpbmcgZm9yIG9uZSBnZXN0dXJlLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmNhbnZhcy5zbmFwcGluZ0VuYWJsZWQiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImZpbGVFZGl0b3IiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImZpbGVFZGl0b3IiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gZmls", + "ZSBlZGl0b3Igc2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJ3b3JkV3JhcCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXcmFwIGxvbmcgbGluZXMgYXQgdGhlIGVkaXRvcidzIHJpZ2h0IGVkZ2UgaW5zdGVhZCBvZiBzY3JvbGxpbmcgaG9yaXpvbnRhbGx5LiIsCiAgICAgICAgICAi", + "ZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3Iud29yZFdyYXAiCiAgICAgICAgfSwKICAgICAgICAic3ludGF4SGlnaGxpZ2h0aW5nIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29sb3Igc291cmNlIHRva2VucyBpbiB0aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5zeW50YXhI", + "aWdobGlnaHRpbmciCiAgICAgICAgfSwKICAgICAgICAibGluZU51bWJlcnMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgbGluZS1udW1iZXIgZ3V0dGVyIGluIHRoZSBidWlsdC1pbiBmaWxlIGVkaXRvci4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxlRWRpdG9yLmxpbmVOdW1iZXJzIgogICAgICAgIH0sCiAgICAgICAgImluZGVudEd1aWRlcyI6IHsKICAg", + "ICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRyYXcgdmVydGljYWwgaW5kZW50IGd1aWRlcyBpbiB0aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5pbmRlbnRHdWlkZXMiCiAgICAgICAgfSwKICAgICAgICAiY3VycmVudExpbmVIaWdobGlnaHQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZh", + "dWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWdobGlnaHQgdGhlIGNhcmV0J3MgbGluZSB3aGVuIHRoZSBzZWxlY3Rpb24gaXMgZW1wdHkuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5jdXJyZW50TGluZUhpZ2hsaWdodCIKICAgICAgICB9LAogICAgICAgICJ0YWJXaWR0aCI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgImRlZmF1bHQiOiA0LAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgIm1h", + "eGltdW0iOiA4LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbHVtbnMgcGVyIHRhYiBzdG9wIGZvciBpbmRlbnQgZ3VpZGVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3IudGFiV2lkdGgiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImZpbGVFeHBsb3JlciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAiZmlsZUV4cGxvcmVyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlJpZ2h0LXNpZGViYXIgZmls", + "ZSBleHBsb3JlciAoZmlsZSB0cmVlKSBzZXR0aW5ncy4iLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFeHBsb3Jlci5kZXNjcmlwdGlvbiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZG91YmxlQ2xpY2tBY3Rpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInByZXZpZXciLCAiZGVmYXVsdEVkaXRvciIsICJwcmVm", + "ZXJyZWRFZGl0b3IiXSwKICAgICAgICAgICJkZWZhdWx0IjogInByZXZpZXciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoYXQgZG91YmxlLWNsaWNraW5nIChvciBwcmVzc2luZyBSZXR1cm4gb24gYSBzZWFyY2ggcmVzdWx0IGZvcikgYSBmaWxlIGluIHRoZSBmaWxlIGV4cGxvcmVyIGRvZXMuIGBwcmV2aWV3YCBvcGVucyB0aGUgYnVpbHQtaW4gY211eCBmaWxlIHByZXZpZXcgKHRoZSBkZWZhdWx0IGFuZCBoaXN0b3JpY2FsIGJlaGF2aW9yKS4gYGRlZmF1bHRFZGl0b3JgIG9wZW5zIHdpdGggdGhlIG1hY09TIGRlZmF1", + "bHQgYXBwIGZvciB0aGUgZmlsZSB0eXBlLiBgcHJlZmVycmVkRWRpdG9yYCBvcGVucyB3aXRoIHRoZSBgYXBwLnByZWZlcnJlZEVkaXRvcmAgY29tbWFuZCwgZmFsbGluZyBiYWNrIHRvIHRoZSBkZWZhdWx0IGFwcCB3aGVuIG5vbmUgaXMgc2V0LiBPbmx5IGFwcGxpZXMgdG8gZmlsZXM7IGRpcmVjdG9yaWVzIGFsd2F5cyBleHBhbmQvY29sbGFwc2UsIGFuZCBub24tbG9jYWwgKHJlbW90ZSkgZmlsZSBleHBsb3JlcnMgYWx3YXlzIG9wZW4gdGhlIGNtdXggcHJldmlldy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", + "aGVtYURlc2NyaXB0aW9ucy5maWxlRXhwbG9yZXIuZG91YmxlQ2xpY2tBY3Rpb24iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImRpZmZWaWV3ZXIiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImRpZmZWaWV3ZXIiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gZGlmZiB2aWV3ZXIgc2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAg", + "ICAgICJkZWZhdWx0TGF5b3V0IjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ1bmlmaWVkIiwgInNwbGl0Il0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ1bmlmaWVkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IGxheW91dCBmb3IgbmV3bHkgb3BlbmVkIGRpZmYgdmlld2Vycy4gVGhlIHRvb2xiYXIgbGF5b3V0IHRvZ2dsZSBwZXJzaXN0cyB0aGUgdXNlcidzIGxhc3QgY2hvaWNlOyBhbiBleHBsaWNpdCBgY211eCBkaWZmIC0tbGF5b3V0YCBvcHRpb24gb3ZlcnJp", + "ZGVzIGJvdGguIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZGlmZlZpZXdlci5kZWZhdWx0TGF5b3V0IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJyaWdodFNpZGViYXIiOiB7CiAgICAgICJ0aXRsZSI6ICJyaWdodFNpZGViYXIiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IGFuZCBleHRlbnNpb24tb3duZWQgcmlnaHQtc2lkZWJhciBjb25maWd1cmF0aW9uIHByZXNlcnZlZCBpbiBjbXV4Lmpzb24uIiwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURl", + "c2NyaXB0aW9ucy5yaWdodFNpZGViYXIiLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlCiAgICB9LAogICAgInNob3J0Y3V0cyI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAic2hvcnRjdXRzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIktleWJvYXJkIHNob3J0Y3V0IHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBLZXlib2FyZCBTaG9ydGN1dHMuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9u", + "YWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJzaG93TW9kaWZpZXJIb2xkSGludHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHNob3J0Y3V0LWhpbnQgY2hpcHMgd2hpbGUgaG9sZGluZyBDbWQgb3IgQ29udHJvbC4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaG9ydGN1dHMuc2hvd01vZGlmaWVySG9sZEhpbnRzIgog", + "ICAgICAgIH0sCiAgICAgICAgImJpbmRpbmdzIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZWZhdWx0Ijoge30sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvcnRjdXQgb3ZlcnJpZGVzIGtleWVkIGJ5IGNtdXggYWN0aW9uIGlkLiBVc2UgYSBzdHJpbmcgZm9yIGEgc2luZ2xlIHNob3J0Y3V0LCBhbiBhcnJheSBmb3IgYSBjaG9yZCwgbnVsbCwgYW4gZW1wdHkgc3RyaW5nLCBub25lLCBjbGVhciwgdW5ib3VuZCwgb3IgZGlzYWJsZWQgdG8gdW5iaW5kLiIsCiAgICAgICAgICAicHJvcGVy", + "dHlOYW1lcyI6IHsKICAgICAgICAgICAgImVudW0iOiBbCiAgICAgICAgICAgICAgIm9wZW5TZXR0aW5ncyIsCiAgICAgICAgICAgICAgIm9wZW5UZWFtUGlja2VyIiwKICAgICAgICAgICAgICAicmVsb2FkQ29uZmlndXJhdGlvbiIsCiAgICAgICAgICAgICAgInNob3dIaWRlQWxsV2luZG93cyIsCiAgICAgICAgICAgICAgImdsb2JhbFNlYXJjaCIsCiAgICAgICAgICAgICAgIm5ld1dpbmRvdyIsCiAgICAgICAgICAgICAgImNsb3NlV2luZG93IiwKICAgICAgICAgICAgICAidG9nZ2xlRnVsbFNjcmVlbiIsCiAgICAgICAgICAg", + "ICAgInF1aXQiLAogICAgICAgICAgICAgICJ0b2dnbGVTaWRlYmFyIiwKICAgICAgICAgICAgICAibmV3VGFiIiwKICAgICAgICAgICAgICAibmV3QnJvd3NlcldvcmtzcGFjZSIsCiAgICAgICAgICAgICAgIm5ld0Nsb3VkV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3Q2xvdWRNYWNoaW5lIiwKICAgICAgICAgICAgICAib3BlbkZvbGRlciIsCiAgICAgICAgICAgICAgInJlb3BlblByZXZpb3VzU2Vzc2lvbiIsCiAgICAgICAgICAgICAgImdvVG9Xb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJjb21tYW5kUGFsZXR0ZSIs", + "CiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlTmV4dCIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlUHJldmlvdXMiLAogICAgICAgICAgICAgICJzZW5kRmVlZGJhY2siLAogICAgICAgICAgICAgICJzaG93Tm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICAgImp1bXBUb1VucmVhZCIsCiAgICAgICAgICAgICAgInRvZ2dsZVVucmVhZCIsCiAgICAgICAgICAgICAgIm1hcmtPbGRlc3RVbnJlYWRBbmRKdW1wTmV4dCIsCiAgICAgICAgICAgICAgIm1hcmtBbGxOb3RpZmljYXRpb25zUmVhZCIsCiAgICAgICAgICAg", + "ICAgImNsZWFyQWxsTm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICAgImZvY3VzUmlnaHRTaWRlYmFyIiwKICAgICAgICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9GaWxlcyIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRmluZCIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvU2Vzc2lvbnMiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0ZlZWQiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0RvY2siLAogICAgICAgICAgICAgICJzd2l0Y2hS", + "aWdodFNpZGViYXJUb01hY2hpbmVzIiwKICAgICAgICAgICAgICAidHJpZ2dlckZsYXNoIiwKICAgICAgICAgICAgICAibmV4dFN1cmZhY2UiLAogICAgICAgICAgICAgICJwcmV2U3VyZmFjZSIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlTGVmdCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlUmlnaHQiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUHJldmlvdXNQYW5lIiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb05leHRQYW5lIiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb1BhbmVMZWZ0IiwK", + "ICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb1BhbmVSaWdodCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QYW5lVXAiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZURvd24iLAogICAgICAgICAgICAgICJzZWxlY3RTdXJmYWNlQnlOdW1iZXIiLAogICAgICAgICAgICAgICJuZXh0U2lkZWJhclRhYiIsCiAgICAgICAgICAgICAgInByZXZTaWRlYmFyVGFiIiwKICAgICAgICAgICAgICAibmV4dFNpZGViYXJUYWJJbkdyb3VwIiwKICAgICAgICAgICAgICAicHJldlNpZGViYXJUYWJJbkdyb3VwIiwKICAg", + "ICAgICAgICAgICAibW92ZVdvcmtzcGFjZVVwIiwKICAgICAgICAgICAgICAibW92ZVdvcmtzcGFjZURvd24iLAogICAgICAgICAgICAgICJmb2N1c0hpc3RvcnlCYWNrIiwKICAgICAgICAgICAgICAiZm9jdXNIaXN0b3J5Rm9yd2FyZCIsCiAgICAgICAgICAgICAgImZvY3VzSGlzdG9yeUxhc3QiLAogICAgICAgICAgICAgICJzZWxlY3RXb3Jrc3BhY2VCeU51bWJlciIsCiAgICAgICAgICAgICAgInJlbmFtZVRhYiIsCiAgICAgICAgICAgICAgInJlbmFtZVdvcmtzcGFjZSIsCiAgICAgICAgICAgICAgImVkaXRXb3Jrc3BhY2VE", + "ZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgIm1hcmtXb3Jrc3BhY2VEb25lIiwKICAgICAgICAgICAgICAiY3ljbGVXb3Jrc3BhY2VTdGF0dXMiLAogICAgICAgICAgICAgICJ0b2dnbGVDaGVja2xpc3RJdGVtQ29tcGxldGUiLAogICAgICAgICAgICAgICJjbG9zZVRhYiIsCiAgICAgICAgICAgICAgImNsb3NlT3RoZXJUYWJzSW5QYW5lIiwKICAgICAgICAgICAgICAiY2xvc2VXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJuZXdXb3Jrc3BhY2VHcm91cCIsCiAgICAgICAgICAgICAgImdyb3VwU2VsZWN0ZWRXb3Jrc3BhY2Vz", + "IiwKICAgICAgICAgICAgICAidG9nZ2xlRm9jdXNlZFdvcmtzcGFjZUdyb3VwQ29sbGFwc2VkIiwKICAgICAgICAgICAgICAicmVvcGVuQ2xvc2VkV29ya3NwYWNlIiwKICAgICAgICAgICAgICAicmVvcGVuQ2xvc2VkQnJvd3NlclBhbmVsIiwKICAgICAgICAgICAgICAibmV3U3VyZmFjZSIsCiAgICAgICAgICAgICAgInRvZ2dsZVRlcm1pbmFsQ29weU1vZGUiLAogICAgICAgICAgICAgICJmb2N1c1RleHRCb3hJbnB1dCIsCiAgICAgICAgICAgICAgImN5Y2xlVGV4dEJveFN1Ym1pdEFjdGlvbiIsCiAgICAgICAgICAgICAgImF0", + "dGFjaFRleHRCb3hGaWxlIiwKICAgICAgICAgICAgICAic2VuZEN0cmxGVG9UZXJtaW5hbCIsCiAgICAgICAgICAgICAgImNsZWFyU2NyZWVuS2VlcFNjcm9sbGJhY2siLAogICAgICAgICAgICAgICJzaW11bGF0b3JIb21lIiwKICAgICAgICAgICAgICAic2ltdWxhdG9yUm90YXRlTGVmdCIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclJvdGF0ZVJpZ2h0IiwKICAgICAgICAgICAgICAic2ltdWxhdG9yVG9nZ2xlQXBwZWFyYW5jZSIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclRvZ2dsZVNvZnR3YXJlS2V5Ym9hcmQiLAogICAg", + "ICAgICAgICAgICJmb2N1c0xlZnQiLAogICAgICAgICAgICAgICJmb2N1c1JpZ2h0IiwKICAgICAgICAgICAgICAiZm9jdXNVcCIsCiAgICAgICAgICAgICAgImZvY3VzRG93biIsCiAgICAgICAgICAgICAgImZvY3VzUHJldmlvdXNQYW5lIiwKICAgICAgICAgICAgICAiZm9jdXNOZXh0UGFuZSIsCiAgICAgICAgICAgICAgInNwbGl0UmlnaHQiLAogICAgICAgICAgICAgICJzcGxpdERvd24iLAogICAgICAgICAgICAgICJ0b2dnbGVTcGxpdFpvb20iLAogICAgICAgICAgICAgICJpbmNyZWFzZVdvcmtzcGFjZVRlcm1pbmFsRm9u", + "dFNpemUiLAogICAgICAgICAgICAgICJkZWNyZWFzZVdvcmtzcGFjZVRlcm1pbmFsRm9udFNpemUiLAogICAgICAgICAgICAgICJyZXNldFdvcmtzcGFjZVRlcm1pbmFsRm9udFNpemUiLAogICAgICAgICAgICAgICJlcXVhbGl6ZVNwbGl0cyIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5lLWxlZnQiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS1yaWdodCIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5lLXVwIiwKICAgICAgICAgICAgICAicmVzaXplLXBhbmUtZG93biIsCiAgICAgICAgICAgICAgInNwbGl0QnJvd3Nl", + "clJpZ2h0IiwKICAgICAgICAgICAgICAic3BsaXRCcm93c2VyRG93biIsCiAgICAgICAgICAgICAgInRvZ2dsZUNhbnZhc0xheW91dCIsCiAgICAgICAgICAgICAgImNhbnZhc1JldmVhbEZvY3VzZWRQYW5lIiwKICAgICAgICAgICAgICAiY2FudmFzT3ZlcnZpZXciLAogICAgICAgICAgICAgICJjYW52YXNab29tSW4iLAogICAgICAgICAgICAgICJjYW52YXNab29tT3V0IiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbVJlc2V0IiwKICAgICAgICAgICAgICAiY2FudmFzVGlkeSIsCiAgICAgICAgICAgICAgImNhbnZhc0FsaWdu", + "TGVmdCIsCiAgICAgICAgICAgICAgImNhbnZhc0FsaWduUmlnaHQiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnblRvcCIsCiAgICAgICAgICAgICAgImNhbnZhc0FsaWduQm90dG9tIiwKICAgICAgICAgICAgICAiY2FudmFzRXF1YWxpemVXaWR0aHMiLAogICAgICAgICAgICAgICJjYW52YXNFcXVhbGl6ZUhlaWdodHMiLAogICAgICAgICAgICAgICJjYW52YXNEaXN0cmlidXRlSG9yaXpvbnRhbGx5IiwKICAgICAgICAgICAgICAiY2FudmFzRGlzdHJpYnV0ZVZlcnRpY2FsbHkiLAogICAgICAgICAgICAgICJ0b2dnbGVGaWxl", + "RXhwbG9yZXIiLAogICAgICAgICAgICAgICJmaWxlRXhwbG9yZXJPcGVuU2VsZWN0aW9uIiwKICAgICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbkZpbmRlckFsaWFzIiwKICAgICAgICAgICAgICAic2F2ZUZpbGVQcmV2aWV3IiwKICAgICAgICAgICAgICAidG9nZ2xlRmlsZUVkaXRvcldvcmRXcmFwIiwKICAgICAgICAgICAgICAib3BlbkJyb3dzZXIiLAogICAgICAgICAgICAgICJmb2N1c0Jyb3dzZXJBZGRyZXNzQmFyIiwKICAgICAgICAgICAgICAiYnJvd3NlckJhY2siLAogICAgICAgICAgICAgICJicm93", + "c2VyRm9yd2FyZCIsCiAgICAgICAgICAgICAgImJyb3dzZXJSZWxvYWQiLAogICAgICAgICAgICAgICJicm93c2VySGFyZFJlbG9hZCIsCiAgICAgICAgICAgICAgImJyb3dzZXJab29tSW4iLAogICAgICAgICAgICAgICJicm93c2VyWm9vbU91dCIsCiAgICAgICAgICAgICAgImJyb3dzZXJab29tUmVzZXQiLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21JbiIsCiAgICAgICAgICAgICAgIm1hcmtkb3duWm9vbU91dCIsCiAgICAgICAgICAgICAgIm1hcmtkb3duWm9vbVJlc2V0IiwKICAgICAgICAgICAgICAiZmluZCIsCiAg", + "ICAgICAgICAgICAgImZpbmRJbkRpcmVjdG9yeSIsCiAgICAgICAgICAgICAgImZpbmROZXh0IiwKICAgICAgICAgICAgICAiZmluZFByZXZpb3VzIiwKICAgICAgICAgICAgICAiaGlkZUZpbmQiLAogICAgICAgICAgICAgICJ1c2VTZWxlY3Rpb25Gb3JGaW5kIiwKICAgICAgICAgICAgICAidG9nZ2xlQnJvd3NlckRldmVsb3BlclRvb2xzIiwKICAgICAgICAgICAgICAic2hvd0Jyb3dzZXJKYXZhU2NyaXB0Q29uc29sZSIsCiAgICAgICAgICAgICAgInRvZ2dsZUJyb3dzZXJGb2N1c01vZGUiLAogICAgICAgICAgICAgICJ0b2dn", + "bGVCcm93c2VyRGVzaWduTW9kZSIsCiAgICAgICAgICAgICAgInRvZ2dsZVJlYWN0R3JhYiIsCiAgICAgICAgICAgICAgIm9wZW5EaWZmVmlld2VyIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERvd24iLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVXAiLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VEb3duIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbEhhbGZQYWdlVXAiLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsRG93bkVtYWNzIiwKICAgICAg", + "ICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwRW1hY3MiLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVG9Cb3R0b20iLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVG9Ub3AiLAogICAgICAgICAgICAgICJkaWZmVmlld2VyT3BlbkZpbGVTZWFyY2giLAogICAgICAgICAgICAgICJkaWZmVmlld2VyTmV4dEZpbGUiLAogICAgICAgICAgICAgICJkaWZmVmlld2VyUHJldmlvdXNGaWxlIgogICAgICAgICAgICBdCiAgICAgICAgICB9LAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJm", + "aWxlRXhwbG9yZXJPcGVuU2VsZWN0aW9uIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJmaWxlRXhwbG9yZXJPcGVuU2VsZWN0aW9uRmluZGVyQWxpYXMiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3du", + "IjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVXAiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxIYWxmUGFnZURvd24iOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RT", + "dHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxIYWxmUGFnZVVwIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsRG93bkVtYWNzIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAg", + "IH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVXBFbWFjcyI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvQm90dG9tIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVG9Ub3AiOiB7CiAg", + "ICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJPcGVuRmlsZVNlYXJjaCI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlck5leHRGaWxlIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRj", + "dXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyUHJldmlvdXNGaWxlIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAid2hlbiI6", + "IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVmYXVsdCI6IHt9LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHBlci1hY3Rpb24gY29udGV4dCBwcmVkaWNhdGVzIChWUyBDb2RlLXN0eWxlIGB3aGVuYCBjbGF1c2VzKSwga2V5ZWQgYnkgY211eCBhY3Rpb24gaWQuIEVhY2ggdmFsdWUgaXMgYSBib29sZWFuIGV4cHJlc3Npb24gb3ZlciBjb250ZXh0IGtleXMgY29tYmluZWQgd2l0aCAhLCAmJiwgfHwsIGFuZCBwYXJlbnRoZXNlcy4gQm9vbGVhbiBrZXlzOiBzaWRlYmFyRm9jdXMs", + "IGJyb3dzZXJGb2N1cywgbWFya2Rvd25Gb2N1cywgZmlsZVByZXZpZXdUZXh0RWRpdG9yRm9jdXMsIHNpbXVsYXRvckZvY3VzLCB0ZXJtaW5hbEZvY3VzLCBjb21tYW5kUGFsZXR0ZVZpc2libGUsIHRlcm1pbmFsRmluZFZpc2libGUsIHdvcmtzcGFjZUNhbnZhc0xheW91dC4gVHlwZWQga2V5cyBzdXBwb3J0IGNvbXBhcmlzb25zOiB0aGUgc3RyaW5nIHNpZGViYXJNb2RlIChmaWxlcywgZmluZCwgc2Vzc2lvbnMsIGZlZWQsIG9yIGRvY2spIGFuZCB0aGUgaW50ZWdlcnMgcGFuZUNvdW50IGFuZCB3b3Jrc3BhY2VDb3VudC4gQ29t", + "cGFyaXNvbiBvcGVyYXRvcnMgYXJlID09LCAhPSwgPX4gKHJlZ2V4KSwgPCwgPD0sID4sID49LCBhbmQgYGluIFthLCBiXWA7IGFuIHVua25vd24gb3IgYWJzZW50IGtleSByZWFkcyBhcyBmYWxzZS4gVGhlIGJvb2xlYW4gbGl0ZXJhbHMgdHJ1ZSBhbmQgZmFsc2UgYXJlIGFsc28gYWNjZXB0ZWQ7IGBrZXkgPT0gZmFsc2VgIGlzIHRoZSBzYW1lIGFzIGAha2V5YC4gVGhlIGFjdGlvbidzIHNob3J0Y3V0IG9ubHkgZmlyZXMgKGFuZCBvbmx5IGNvbmZsaWN0cyB3aXRoIG90aGVyIHNob3J0Y3V0cykgd2hlbiB0aGUgY2xhdXNlIGhv", + "bGRzLiBFeGFtcGxlczogeyBcInNlbGVjdFdvcmtzcGFjZUJ5TnVtYmVyXCI6IFwiIXNpZGViYXJGb2N1c1wiIH0gc2VsZWN0cyB3b3Jrc3BhY2VzIHdpdGggQ3RybCsx4oCTOSBldmVyeXdoZXJlIGV4Y2VwdCB3aGVuIHRoZSByaWdodCBzaWRlYmFyIGlzIGZvY3VzZWQ7IHsgXCJzZWxlY3RTdXJmYWNlQnlOdW1iZXJcIjogXCJzaWRlYmFyTW9kZSA9PSAnZmluZCcgJiYgcGFuZUNvdW50ID4gMVwiIH0gc2NvcGVzIGEgYmluZGluZyB0byB0aGUgRmluZCBzaWRlYmFyIHdoZW4gdGhlIHdvcmtzcGFjZSBoYXMgbXVsdGlwbGUgcGFu", + "ZXMuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2hvcnRjdXRzLndoZW4iLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfSwKICAiJGRlZnMiOiB7CiAgICAiY29sb3JIZXgiOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJwYXR0ZXJuIjogIl4jWzAtOUEtRmEtZl17Nn0kIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlVwcGVyY2Fz", + "ZSBvciBsb3dlcmNhc2UgNi1kaWdpdCBoZXggY29sb3IuIgogICAgfSwKICAgICJjb2xvckhleE9yTnVsbCI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXgiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJudWxsIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJub3RpZmljYXRpb25Tb3VuZE92ZXJyaWRlIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAg", + "ICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgInJlcXVpcmVkIjogWyJzb3VuZCJdLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJzb3VuZCI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJlbnVtIjogWyJkZWZhdWx0IiwgIkJhc3NvIiwgIkJsb3ciLCAiQm90dGxlIiwgIkZyb2ciLCAiRnVuayIsICJHbGFzcyIsICJIZXJvIiwgIk1vcnNlIiwgIlBpbmciLCAiUG9wIiwgIlB1cnIiLCAiU29zdW1pIiwgIlN1Ym1hcmluZSIsICJUaW5r", + "IiwgIm5vbmUiXQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAicmVxdWlyZWQiOiBbInNvdW5kIiwgImN1c3RvbVNvdW5kRmlsZVBhdGgiXSwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic291bmQiOiB7ICJjb25zdCI6ICJjdXN0b21fZmlsZSIgfSwKICAgICAgICAgICAgImN1c3RvbVNvdW5kRmlsZVBhdGgiOiB7CiAgICAg", + "ICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAicGF0dGVybiI6ICIuKlxcUy4qIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBdLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLm5vdGlmaWNhdGlvbnMuc291bmRPdmVycmlkZSIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJBIG5vdGlmaWNhdGlvbiBzb3VuZCBvdmVycmlkZS4gYGRlZmF1bHRgIHVzZXMgbm90aWZpY2F0aW9ucy5zb3VuZCwg", + "YG5vbmVgIGRpc2FibGVzIHBsYXliYWNrLCBhbmQgdGhlIHJlbWFpbmluZyB2YWx1ZXMgc2VsZWN0IGEgYnVpbHQtaW4gb3IgY3VzdG9tIHNvdW5kLiIKICAgIH0sCiAgICAic2hvcnRjdXRCaW5kaW5nIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy91bmJvdW5kU2hvcnRjdXRCaW5kaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4gQWNjZXB0ZWQgdmFsdWVzIGFyZSBhbiBlbXB0eSBzdHJpbmcsIG5vbmUsIGNsZWFyLCB1bmJv", + "dW5kLCBvciBkaXNhYmxlZC4iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0Rmlyc3RTdHJva2UiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpbmdsZS1zdHJva2Ugc2hvcnRjdXQsIGZvciBleGFtcGxlIGNtZCtuIG9yIGNtZCtzcGFjZS4iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAibWluSXRlbXMiOiAxLAogICAgICAgICAgIm1heEl0ZW1zIjogMiwKICAgICAgICAgICJwcmVmaXhJdGVtcyI6IFsKICAg", + "ICAgICAgICAgewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRGaXJzdFN0cm9rZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRTdHJva2UiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ2hvcmRlZCBzaG9ydGN1dC4gRXhhbXBsZTogW1wiY3RybCtiXCIsIFwiY1wiXS4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgInNob3J0Y3V0QmluZGluZ051bGxhYmxlIjogewog", + "ICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEJpbmRpbmciCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJudWxsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgInNpbmdsZUJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZyI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvdW5ib3VuZFNo", + "b3J0Y3V0QmluZGluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIEFjY2VwdGVkIHZhbHVlcyBhcmUgYW4gZW1wdHkgc3RyaW5nLCBub25lLCBjbGVhciwgdW5ib3VuZCwgb3IgZGlzYWJsZWQuIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaW5nbGUtc3Ryb2tlIHNob3J0Y3V0LiBCYXJlIGZpcnN0IHN0cm9rZXMgYXJlIGFjY2Vw", + "dGVkIGZvciB0aGlzIGFjdGlvbi4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgInNpbmdsZUJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJudWxsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4iCiAgICAgICAgfQog", + "ICAgICBdCiAgICB9LAogICAgImJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZyI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvdW5ib3VuZFNob3J0Y3V0QmluZGluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIEFjY2VwdGVkIHZhbHVlcyBhcmUgYW4gZW1wdHkgc3RyaW5nLCBub25lLCBjbGVhciwgdW5ib3VuZCwgb3IgZGlzYWJsZWQuIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVm", + "cy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaW5nbGUtc3Ryb2tlIHNob3J0Y3V0LiBCYXJlIGZpcnN0IHN0cm9rZXMgYXJlIGFjY2VwdGVkIGZvciB0aGlzIGFjdGlvbi4iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAibWluSXRlbXMiOiAxLAogICAgICAgICAgIm1heEl0ZW1zIjogMiwKICAgICAgICAgICJwcmVmaXhJdGVtcyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICIkcmVmIjog", + "IiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRTdHJva2UiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ2hvcmRlZCBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3IgdGhpcyBhY3Rpb24uIEV4YW1wbGU6IFtcImdcIiwgXCJnXCJdLiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAiYmFy", + "ZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm51bGwiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAidW5ib3VuZFNob3J0Y3V0QmluZGluZyI6IHsKICAgICAgInR5cGUiOiAic3RyaW5n", + "IiwKICAgICAgImVudW0iOiBbIiIsICJub25lIiwgImNsZWFyIiwgInVuYm91bmQiLCAiZGlzYWJsZWQiXQogICAgfSwKICAgICJzaG9ydGN1dEZpcnN0U3Ryb2tlIjogewogICAgICAiYWxsT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dFN0cm9rZSIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzooPzpbY0NdW21NXVtkRF18W2NDXVtvT11bbU1dW21NXVthQV1bbk5dW2REXXxb", + "c1NdW2hIXVtpSV1bZkZdW3RUXXxbb09dW3BQXVt0VF18W29PXVtwUF1bdFRdW2lJXVtvT11bbk5dfFthQV1bbExdW3RUXXxbY0NdW3RUXVtyUl1bbExdfFtjQ11bb09dW25OXVt0VF1bclJdW29PXVtsTF18W2NDXVt0VF1bbExdfOKMmHzih6d84oylfOKMgylcXCspKyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzogfFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT4pJCIKICAgICAg", + "ICAgICAgfQogICAgICAgICAgXQogICAgICAgIH0KICAgICAgXSwKICAgICAgImRlc2NyaXB0aW9uIjogIkZpcnN0IG9yIG9ubHkgc2hvcnRjdXQgc3Ryb2tlLiBNdXN0IGluY2x1ZGUgYSBtb2RpZmllciB1bmxlc3MgdGhlIGtleSBpcyBTcGFjZS4iCiAgICB9LAogICAgImJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiOiB7CiAgICAgICJhbGxPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImFueU9m", + "IjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/Oig/OltjQ11bbU1dW2REXXxbY0NdW29PXVttTV1bbU1dW2FBXVtuTl1bZERdfFtzU11baEhdW2lJXVtmRl1bdFRdfFtvT11bcFBdW3RUXXxbb09dW3BQXVt0VF1baUldW29PXVtuTl18W2FBXVtsTF1bdFRdfFtjQ11bdFRdW3JSXVtsTF18W2NDXVtvT11bbk5dW3RUXVtyUl1bb09dW2xMXXxbY0NdW3RUXVtsTF184oyYfOKHp3zijKV84oyDKVxcKykrIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4i", + "OiAiXig/OiB8W3NTXVtwUF1bYUFdW2NDXVtlRV18W3NTXVtwUF1bYUFdW2NDXVtlRV1bYkJdW2FBXVtyUl18PFtzU11bcFBdW2FBXVtjQ11bZUVdPikkIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/OltyUl1bZUVdW3RUXVt1VV1bclJdW25OXXxbZUVdW25OXVt0VF1bZUVdW3JSXXzihqkpJCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzpbbExdW2VFXVtmRl1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW2xM", + "XVtlRV1bZkZdW3RUXXxbbExdW2VFXVtmRl1bdFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaQfFtyUl1baUldW2dHXVtoSF1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW3JSXVtpSV1bZ0ddW2hIXVt0VF18W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpJ8W3VVXVtwUF18W2FBXVtyUl1bclJdW29PXVt3V11bdVVdW3BQXXxbdVVdW3BQXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkXxbZERdW29PXVt3V11bbk5dfFthQV1bclJdW3JSXVtvT11bd1ddW2REXVtvT11bd1ddW25OXXxbZERdW29PXVt3V11b", + "bk5dW2FBXVtyUl1bclJdW29PXVt3V1184oaTKSQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86W0EtWmEtejAtOV18WywuL1xcXFw7J2A9XFxbXFxdLV18W2NDXVtvT11bbU1dW21NXVthQV18W3BQXVtlRV1bclJdW2lJXVtvT11bZERdfFtkRF1bb09dW3RUXXxbc1NdW2xMXVthQV1bc1NdW2hIXXxbYkJdW2FBXVtjQ11ba0tdW3NTXVtsTF1bYUFdW3NTXVtoSF18W3NTXVtlRV1bbU1dW2lJXVtjQ11bb09dW2xMXVtvT11bbk5dfFtxUV1bdVVdW29PXVt0VF1bZUVdfFth", + "QV1bcFBdW29PXVtzU11bdFRdW3JSXVtvT11bcFBdW2hIXVtlRV18W2JCXVthQV1bY0NdW2tLXVt0VF1baUldW2NDXVtrS118W2dHXVtyUl1bYUFdW3ZWXVtlRV18W21NXVtpSV1bbk5dW3VVXVtzU118W2hIXVt5WV1bcFBdW2hIXVtlRV1bbk5dfFtwUF1bbExdW3VVXVtzU118W2VFXVtxUV1bdVVdW2FBXVtsTF1bc1NdfFtsTF1bZUVdW2ZGXVt0VF1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtvT11bcFBdW2VFXVtuTl1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2JCXVtyUl1b", + "YUFdW2NDXVtrS11bZUVdW3RUXXxbY0NdW2xMXVtvT11bc1NdW2VFXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF0pJCIKICAgICAgICAgICAgfQogICAgICAgICAgXQogICAgICAgIH0KICAgICAgXSwKICAgICAgImRlc2NyaXB0aW9uIjogIkZpcnN0IG9yIG9ubHkgc2hvcnRjdXQgc3Ryb2tlLiBCYXJlIHByaW50YWJsZSBrZXlzIGFyZSBhY2NlcHRlZCBmb3IgYWN0aW9ucyB0aGF0IG9wdCBpbnRvIGJhcmUgZmlyc3Qgc3Ryb2tlcy4iCiAgICB9LAogICAgInNob3J0Y3V0U3Ryb2tlIjogewogICAgICAidHlwZSI6ICJzdHJp", + "bmciLAogICAgICAicGF0dGVybiI6ICJeKD86KD86W2NDXVttTV1bZERdfFtjQ11bb09dW21NXVttTV1bYUFdW25OXVtkRF18W3NTXVtoSF1baUldW2ZGXVt0VF18W29PXVtwUF1bdFRdfFtvT11bcFBdW3RUXVtpSV1bb09dW25OXXxbYUFdW2xMXVt0VF18W2NDXVt0VF1bclJdW2xMXXxbY0NdW29PXVtuTl1bdFRdW3JSXVtvT11bbExdfFtjQ11bdFRdW2xMXXzijJh84oenfOKMpXzijIMpXFwrKSooPzogfFtBLVphLXowLTldfFtsTF1bZUVdW2ZGXVt0VF18W2FBXVtyUl1bclJdW29PXVt3V11bbExdW2VFXVtmRl1bdFRdfFtsTF1b", + "ZUVdW2ZGXVt0VF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpB8W3JSXVtpSV1bZ0ddW2hIXVt0VF18W2FBXVtyUl1bclJdW29PXVt3V11bclJdW2lJXVtnR11baEhdW3RUXXxbclJdW2lJXVtnR11baEhdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGknxbdVVdW3BQXXxbYUFdW3JSXVtyUl1bb09dW3dXXVt1VV1bcFBdfFt1VV1bcFBdW2FBXVtyUl1bclJdW29PXVt3V1184oaRfFtkRF1bb09dW3dXXVtuTl18W2FBXVtyUl1bclJdW29PXVt3V11bZERdW29PXVt3V11bbk5dfFtkRF1bb09dW3dXXVtuTl1bYUFdW3JSXVtyUl1bb09d", + "W3dXXXzihpN8W3RUXVthQV1bYkJdfFtyUl1bZUVdW3RUXVt1VV1bclJdW25OXXxbZUVdW25OXVt0VF1bZUVdW3JSXXzihql8W3NTXVtwUF1bYUFdW2NDXVtlRV18W3NTXVtwUF1bYUFdW2NDXVtlRV1bYkJdW2FBXVtyUl18PFtzU11bcFBdW2FBXVtjQ11bZUVdPnxbLC4vXFxcXDsnYD1cXFtcXF0tXXxbY0NdW29PXVttTV1bbU1dW2FBXXxbcFBdW2VFXVtyUl1baUldW29PXVtkRF18W2REXVtvT11bdFRdfFtzU11bbExdW2FBXVtzU11baEhdfFtiQl1bYUFdW2NDXVtrS11bc1NdW2xMXVthQV1bc1NdW2hIXXxbc1NdW2VFXVttTV1b", + "aUldW2NDXVtvT11bbExdW29PXVtuTl18W3FRXVt1VV1bb09dW3RUXVtlRV18W2FBXVtwUF1bb09dW3NTXVt0VF1bclJdW29PXVtwUF1baEhdW2VFXXxbYkJdW2FBXVtjQ11ba0tdW3RUXVtpSV1bY0NdW2tLXXxbZ0ddW3JSXVthQV1bdlZdW2VFXXxbbU1dW2lJXVtuTl1bdVVdW3NTXXxbaEhdW3lZXVtwUF1baEhdW2VFXVtuTl18W3BQXVtsTF1bdVVdW3NTXXxbZUVdW3FRXVt1VV1bYUFdW2xMXVtzU118W2xMXVtlRV1bZkZdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W29PXVtwUF1bZUVdW25OXVtiQl1bclJdW2FB", + "XVtjQ11ba0tdW2VFXVt0VF18W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtjQ11bbExdW29PXVtzU11bZUVdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbZkZdKD86WzEtOV18MVswLTldfDIwKXxbdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bdVVdW3BQXXxbbU1dW2VFXVtkRF1baUldW2FBXVt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVt1VV1bcFBdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW3VVXVtwUF18W3ZWXVtvT11bbExdW3VVXVtt", + "TV1bZUVdW2REXVtvT11bd1ddW25OXXxbbU1dW2VFXVtkRF1baUldW2FBXVt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bZERdW29PXVt3V11bbk5dfFtiQl1bclJdW2lJXVtnR11baEhdW3RUXVtuTl1bZUVdW3NTXVtzU11bdVVdW3BQXXxbbU1dW2VFXVtkRF1baUldW2FBXVtiQl1bclJdW2lJXVtnR11baEhdW3RUXVtuTl1bZUVdW3NTXVtzU11bdVVdW3BQXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltiQl1bclJdW2lJ", + "XVtnR11baEhdW3RUXVtuTl1bZUVdW3NTXVtzU11bdVVdW3BQXXxbYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW2REXVtvT11bd1ddW25OXXxbbU1dW2VFXVtkRF1baUldW2FBXVtiQl1bclJdW2lJXVtnR11baEhdW3RUXVtuTl1bZUVdW3NTXVtzU11bZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVtkRF1bb09dW3dXXVtuTl18W21NXVt1VV1bdFRdW2VFXXxbbU1dW2VFXVtkRF1baUldW2FBXVttTV1bdVVdW3RU", + "XVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bbU1dW3VVXVt0VF1bZUVdfFtwUF1bbExdW2FBXVt5WV1bcFBdW2FBXVt1VV1bc1NdW2VFXXxbbU1dW2VFXVtkRF1baUldW2FBXVtwUF1bbExdW2FBXVt5WV1bcFBdW2FBXVt1VV1bc1NdW2VFXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltwUF1bbExdW2FBXVt5WV1bcFBdW2FBXVt1VV1bc1NdW2VFXXxbbk5dW2VFXVt4WF1bdFRdW3RUXVtyUl1bYUFdW2NDXVtrS118W21NXVtlRV1bZERdW2lJXVthQV1bbk5dW2VFXVt4WF1bdFRdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW25O", + "XVtlRV1beFhdW3RUXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltuTl1bZUVdW3hYXVt0VF1bdFRdW3JSXVthQV1bY0NdW2tLXXxbcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11bdVVdW3NTXVt0VF1bclJdW2FBXVtjQ11ba0tdfFttTV1bZUVdW2REXVtpSV1bYUFdW3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU118W21NXVtlRV1bZERdW2lJXVthQV1cXC5bcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11bdVVdW3NTXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltwUF1bclJdW2VFXVt2Vl1baUldW29PXVt1VV1bc1NdW3RUXVtyUl1b", + "YUFdW2NDXVtrS10pJCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJPbmUga2V5Ym9hcmQgc2hvcnRjdXQgc3Ryb2tlIHVzaW5nIG1vZGlmaWVyK2tleSBzeW50YXguIFN1cHBvcnRlZCBrZXkgbmFtZXMgaW5jbHVkZSBzcGFjZSwgU3BhY2UsIDxzcGFjZT4sIGFuZCA8U3BhY2U+LiIKICAgIH0KICB9Cn0K", ].joined() guard let data = Data(base64Encoded: base64) else { preconditionFailure("embedded cmux.json schema is corrupt") diff --git a/Packages/macOS/CmuxPanes/Sources/CmuxPanes/Geometry/ExternalTreeNode+SplitGeometry.swift b/Packages/macOS/CmuxPanes/Sources/CmuxPanes/Geometry/ExternalTreeNode+SplitGeometry.swift index 71116600a316..3a52ffaf2de2 100644 --- a/Packages/macOS/CmuxPanes/Sources/CmuxPanes/Geometry/ExternalTreeNode+SplitGeometry.swift +++ b/Packages/macOS/CmuxPanes/Sources/CmuxPanes/Geometry/ExternalTreeNode+SplitGeometry.swift @@ -28,6 +28,83 @@ extension ExternalTreeNode { ) } + /// Plans an equalize pass over the run of same-orientation splits that + /// directly contains `paneId`: the pane's parent split plus every + /// ancestor reached without crossing a split of another orientation, + /// and the same-orientation splits nested inside that run. Splits + /// elsewhere in the tree, including same-orientation splits behind a + /// cross-orientation subtree, are left alone. Returns an empty plan when + /// `paneId` is absent or has no parent split. + public func equalizeDividerPlan(forSplitRunContainingPaneId paneId: String) -> SplitEqualizePlan { + guard let path = splitPath(toPaneId: paneId), let parent = path.last else { + return SplitEqualizePlan(adjustments: [], foundSplit: false, hadInvalidSplitIds: false) + } + var runRoot = parent + for ancestor in path.dropLast().reversed() { + guard ancestor.orientation == parent.orientation else { break } + runRoot = ancestor + } + var adjustments: [SplitDividerAdjustment] = [] + var foundSplit = false + var hadInvalidSplitIds = false + ExternalTreeNode.split(runRoot).appendRunEqualizeAdjustments( + orientation: parent.orientation, + adjustments: &adjustments, + foundSplit: &foundSplit, + hadInvalidSplitIds: &hadInvalidSplitIds + ) + return SplitEqualizePlan( + adjustments: adjustments, + foundSplit: foundSplit, + hadInvalidSplitIds: hadInvalidSplitIds + ) + } + + /// The splits from this node down to `paneId`'s parent, or `nil` when + /// the pane is not in this subtree. + private func splitPath(toPaneId paneId: String) -> [ExternalSplitNode]? { + switch self { + case .pane(let pane): + return pane.id == paneId ? [] : nil + case .split(let splitNode): + guard let rest = splitNode.first.splitPath(toPaneId: paneId) + ?? splitNode.second.splitPath(toPaneId: paneId) else { return nil } + return [splitNode] + rest + } + } + + /// Post-order equalize over a same-orientation run: recurses only into + /// children that continue the run. + private func appendRunEqualizeAdjustments( + orientation: String, + adjustments: inout [SplitDividerAdjustment], + foundSplit: inout Bool, + hadInvalidSplitIds: inout Bool + ) { + guard case .split(let splitNode) = self, splitNode.orientation == orientation else { return } + splitNode.first.appendRunEqualizeAdjustments( + orientation: orientation, + adjustments: &adjustments, + foundSplit: &foundSplit, + hadInvalidSplitIds: &hadInvalidSplitIds + ) + splitNode.second.appendRunEqualizeAdjustments( + orientation: orientation, + adjustments: &adjustments, + foundSplit: &foundSplit, + hadInvalidSplitIds: &hadInvalidSplitIds + ) + foundSplit = true + guard let splitId = UUID(uuidString: splitNode.id) else { + hadInvalidSplitIds = true + return + } + let firstSpanCount = splitNode.first.spanCount(along: orientation) + let secondSpanCount = splitNode.second.spanCount(along: orientation) + let position = CGFloat(firstSpanCount) / CGFloat(firstSpanCount + secondSpanCount) + adjustments.append(SplitDividerAdjustment(splitId: splitId, position: position)) + } + private func appendEqualizeAdjustments( orientationFilter: String?, adjustments: inout [SplitDividerAdjustment], diff --git a/Packages/macOS/CmuxPanes/Sources/CmuxPanes/PaneLayoutService.swift b/Packages/macOS/CmuxPanes/Sources/CmuxPanes/PaneLayoutService.swift index 3a74b23e642d..901d7bcd4e50 100644 --- a/Packages/macOS/CmuxPanes/Sources/CmuxPanes/PaneLayoutService.swift +++ b/Packages/macOS/CmuxPanes/Sources/CmuxPanes/PaneLayoutService.swift @@ -22,7 +22,24 @@ public struct PaneLayoutService { controller: BonsplitController, orientationFilter: String? = nil ) -> SplitEqualizeResult { - let plan = node.equalizeDividerPlan(orientationFilter: orientationFilter) + apply(node.equalizeDividerPlan(orientationFilter: orientationFilter), to: controller) + } + + /// Equalizes only the run of same-orientation splits that directly + /// contains `paneId` (see + /// ``ExternalTreeNode/equalizeDividerPlan(forSplitRunContainingPaneId:)``), + /// so a new split rebalances its own row or column without resetting + /// dividers elsewhere in the tree. + @discardableResult + public func equalizeSplitRun( + containingPaneId paneId: String, + in node: ExternalTreeNode, + controller: BonsplitController + ) -> SplitEqualizeResult { + apply(node.equalizeDividerPlan(forSplitRunContainingPaneId: paneId), to: controller) + } + + private func apply(_ plan: SplitEqualizePlan, to controller: BonsplitController) -> SplitEqualizeResult { var allSucceeded = !plan.hadInvalidSplitIds for adjustment in plan.adjustments { if !controller.setDividerPosition(adjustment.position, forSplit: adjustment.splitId, fromExternal: true) { diff --git a/Packages/macOS/CmuxPanes/Tests/CmuxPanesTests/SplitGeometryTests.swift b/Packages/macOS/CmuxPanes/Tests/CmuxPanesTests/SplitGeometryTests.swift index 175255f663dd..b08b84c0529d 100644 --- a/Packages/macOS/CmuxPanes/Tests/CmuxPanesTests/SplitGeometryTests.swift +++ b/Packages/macOS/CmuxPanes/Tests/CmuxPanesTests/SplitGeometryTests.swift @@ -126,6 +126,48 @@ struct SplitGeometryTests { #expect(plan.adjustments.isEmpty) } + @Test func splitRunPlanRebalancesTheNewPanesRow() { + let outerId = UUID() + let innerId = UUID() + let tree = split( + outerId, + orientation: "horizontal", + first: pane("a"), + second: split(innerId, orientation: "horizontal", first: pane("b"), second: pane("c")) + ) + + let plan = tree.equalizeDividerPlan(forSplitRunContainingPaneId: "c") + + #expect(plan.foundSplit) + #expect(plan.adjustments.map(\.splitId) == [innerId, outerId]) + #expect(plan.adjustments[0].position == 0.5) + #expect(abs(plan.adjustments[1].position - (1.0 / 3.0)) < 0.0001) + } + + @Test func splitRunPlanLeavesOtherRowsAndOrientationsAlone() { + let rootId = UUID() + let topRowId = UUID() + let bottomRowId = UUID() + let tree = split( + rootId, + orientation: "vertical", + dividerPosition: 0.3, + first: split(topRowId, orientation: "horizontal", dividerPosition: 0.2, first: pane("a"), second: pane("b")), + second: split(bottomRowId, orientation: "horizontal", dividerPosition: 0.5, first: pane("c"), second: pane("d")) + ) + + let plan = tree.equalizeDividerPlan(forSplitRunContainingPaneId: "d") + + #expect(plan.adjustments.map(\.splitId) == [bottomRowId]) + #expect(plan.adjustments[0].position == 0.5) + } + + @Test func splitRunPlanIsEmptyWithoutAParentSplit() { + #expect(!pane("solo").equalizeDividerPlan(forSplitRunContainingPaneId: "solo").foundSplit) + let tree = split(UUID(), orientation: "horizontal", first: pane("a"), second: pane("b")) + #expect(tree.equalizeDividerPlan(forSplitRunContainingPaneId: "missing").adjustments.isEmpty) + } + // MARK: Resize planning @Test func resizeMovesControllingDividerByPixelDelta() { diff --git a/Packages/macOS/CmuxSettings/Sources/CmuxSettings/Keys/AppCatalogSection.swift b/Packages/macOS/CmuxSettings/Sources/CmuxSettings/Keys/AppCatalogSection.swift index a6a7f8eb97e2..7f366cdbae82 100644 --- a/Packages/macOS/CmuxSettings/Sources/CmuxSettings/Keys/AppCatalogSection.swift +++ b/Packages/macOS/CmuxSettings/Sources/CmuxSettings/Keys/AppCatalogSection.swift @@ -93,6 +93,15 @@ public struct AppCatalogSection: SettingCatalogSection { userDefaultsKey: "focusHistoryIncludesPanesAndTabs" ) + /// Whether creating a split rebalances the panes along the new split's + /// axis so they share the space evenly. Defaults to off, which keeps the + /// halve-the-source-pane behavior. + public let equalizeSplitsOnCreate = DefaultsKey( + id: "app.equalizeSplitsOnCreate", + defaultValue: false, + userDefaultsKey: "equalizeSplitsOnCreate" + ) + public let preferredEditor = DefaultsKey( id: "app.preferredEditor", defaultValue: "", diff --git a/Packages/macOS/CmuxSettings/Tests/CmuxSettingsTests/SettingCatalogTests.swift b/Packages/macOS/CmuxSettings/Tests/CmuxSettingsTests/SettingCatalogTests.swift index bfee9a9f166c..9b43f404d361 100644 --- a/Packages/macOS/CmuxSettings/Tests/CmuxSettingsTests/SettingCatalogTests.swift +++ b/Packages/macOS/CmuxSettings/Tests/CmuxSettingsTests/SettingCatalogTests.swift @@ -103,6 +103,10 @@ struct SettingCatalogTests { #expect(ids.contains("browser.defaultZoomLevel")) } + @Test func equalizeSplitsOnCreateDefaultsOff() { + #expect(!SettingCatalog().app.equalizeSplitsOnCreate.defaultValue) + } + @Test func focusHistoryDefaultsToWorkspacesOnly() { #expect(!SettingCatalog().app.focusHistoryIncludesPanesAndTabs.defaultValue) } diff --git a/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Navigation/CuratedSettingEntry+Default.swift b/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Navigation/CuratedSettingEntry+Default.swift index c876446a08ae..9e1a467f3482 100644 --- a/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Navigation/CuratedSettingEntry+Default.swift +++ b/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Navigation/CuratedSettingEntry+Default.swift @@ -43,6 +43,12 @@ extension Array where Element == CuratedSettingEntry { title: String(localized: "settings.app.focusHistoryIncludesPanesAndTabs", defaultValue: "Include Panes and Tabs in Focus History"), synonyms: "app.focusHistoryIncludesPanesAndTabs focus history back forward panes tabs workspaces only navigation" ), + .init( + section: .app, + id: "equalize-splits-on-create", + title: String(localized: "settings.app.equalizeSplitsOnCreate", defaultValue: "Equalize Splits on Create"), + synonyms: "app.equalizeSplitsOnCreate equalize balance distribute even equal split pane size new split" + ), .init(section: .app, id: "file-drops", title: String(localized: "settings.app.fileDrop.defaultBehavior", defaultValue: "File Drops"), synonyms: "File Drops drag drop files finder path text terminal editor split preview shift"), .init(section: .app, id: "preferred-editor", title: String(localized: "settings.app.preferredEditor", defaultValue: "Open Files With"), synonyms: "Open Files With app.preferredEditor editor open file code vscode visual studio zed sublime subl cursor"), .init(section: .app, id: "supported-file-previews", title: String(localized: "settings.app.openSupportedFilesInCmux", defaultValue: "Open Supported Files in cmux"), synonyms: "Open Supported Files in cmux app.openSupportedFilesInCmux cmd click file preview pdf image video audio quicklook quick look editor external"), diff --git a/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Sections/AppSection.swift b/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Sections/AppSection.swift index d8b9db486921..132a6ffc1b1a 100644 --- a/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Sections/AppSection.swift +++ b/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Sections/AppSection.swift @@ -31,6 +31,7 @@ public struct AppSection: View { @State private var keepWorkspaceOpen: DefaultsValueModel @State private var firstClick: DefaultsValueModel @State private var focusHistoryIncludesPanesAndTabs: DefaultsValueModel + @State private var equalizeSplitsOnCreate: DefaultsValueModel @State private var fileDrop: DefaultsValueModel @State private var preferredEditor: DefaultsValueModel @State private var openSupported: DefaultsValueModel @@ -96,6 +97,7 @@ public struct AppSection: View { _keepWorkspaceOpen = State(initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.app.keepWorkspaceOpenWhenClosingLastSurface)) _firstClick = State(initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.app.focusPaneOnFirstClick)) _focusHistoryIncludesPanesAndTabs = State(initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.app.focusHistoryIncludesPanesAndTabs)) + _equalizeSplitsOnCreate = State(initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.app.equalizeSplitsOnCreate)) _fileDrop = State(initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.app.fileDropDefaultBehavior)) _preferredEditor = State(initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.app.preferredEditor)) _openSupported = State(initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.app.openSupportedFilesInCmux)) @@ -158,7 +160,7 @@ public struct AppSection: View { mainCard } .task { - startSettingsObservation([language, appearance, appIcon, placement, inheritDir, minimalMode, keepWorkspaceOpen, firstClick, focusHistoryIncludesPanesAndTabs, fileDrop, preferredEditor, openSupported, openMarkdown, globalFontMagnification, markdownFontSize, markdownFontFamily, markdownMaxWidth, canvasPaneGap, canvasSnapping, fileEditorWordWrap, fileEditorSyntaxHighlighting, fileEditorLineNumbers, fileEditorIndentGuides, fileEditorCurrentLineHighlight, fileEditorTabWidth, iMessage, reorder, dockBadge, menuBarOnly, showInMenuBar, paneRing, paneFlash, desktopNotifications, agentPermissionPrompt, agentTurnComplete, agentIdleReminder, soundName, soundCommand, customSoundFile, soundOverrides, telemetry, confirmQuit, warnCloseTab, warnCloseX, hideCloseButton, renameSelects, paletteAllSurfaces]) + startSettingsObservation([language, appearance, appIcon, placement, inheritDir, minimalMode, keepWorkspaceOpen, firstClick, focusHistoryIncludesPanesAndTabs, equalizeSplitsOnCreate, fileDrop, preferredEditor, openSupported, openMarkdown, globalFontMagnification, markdownFontSize, markdownFontFamily, markdownMaxWidth, canvasPaneGap, canvasSnapping, fileEditorWordWrap, fileEditorSyntaxHighlighting, fileEditorLineNumbers, fileEditorIndentGuides, fileEditorCurrentLineHighlight, fileEditorTabWidth, iMessage, reorder, dockBadge, menuBarOnly, showInMenuBar, paneRing, paneFlash, desktopNotifications, agentPermissionPrompt, agentTurnComplete, agentIdleReminder, soundName, soundCommand, customSoundFile, soundOverrides, telemetry, confirmQuit, warnCloseTab, warnCloseX, hideCloseButton, renameSelects, paletteAllSurfaces]) if soundAgents.isEmpty { soundAgents = await hostActions.notificationSoundAgentOptions() } @@ -344,6 +346,24 @@ public struct AppSection: View { } SettingsCardDivider() + // Equalize Splits on Create + SettingsCardRow( + configurationReview: .json("app.equalizeSplitsOnCreate"), + String(localized: "settings.app.equalizeSplitsOnCreate", defaultValue: "Equalize Splits on Create"), + subtitle: equalizeSplitsOnCreate.current + ? String(localized: "settings.app.equalizeSplitsOnCreate.subtitleOn", defaultValue: "New splits resize the panes in that direction to equal sizes.") + : String(localized: "settings.app.equalizeSplitsOnCreate.subtitleOff", defaultValue: "New splits take half of the pane they were created from.") + ) { + Toggle("", isOn: Binding( + get: { equalizeSplitsOnCreate.current }, + set: { equalizeSplitsOnCreate.set($0) } + )) + .labelsHidden() + .controlSize(.small) + .accessibilityIdentifier("SettingsEqualizeSplitsOnCreateToggle") + } + SettingsCardDivider() + // File Drops SettingsCardRow( configurationReview: .settingsOnly, diff --git a/Packages/macOS/CmuxSettingsUI/Tests/CmuxSettingsUITests/SettingsRowAnchorResolutionTests.swift b/Packages/macOS/CmuxSettingsUI/Tests/CmuxSettingsUITests/SettingsRowAnchorResolutionTests.swift index 7ba8e6bd7901..8d876d9d4842 100644 --- a/Packages/macOS/CmuxSettingsUI/Tests/CmuxSettingsUITests/SettingsRowAnchorResolutionTests.swift +++ b/Packages/macOS/CmuxSettingsUI/Tests/CmuxSettingsUITests/SettingsRowAnchorResolutionTests.swift @@ -38,6 +38,7 @@ struct SettingsRowAnchorResolutionTests { static let rowConfigPaths: [String] = [ "app.commandPaletteSearchesAllSurfaces", "app.confirmQuit", + "app.equalizeSplitsOnCreate", "app.focusPaneOnFirstClick", "app.focusHistoryIncludesPanesAndTabs", "app.globalFontMagnification", diff --git a/Resources/Localizable.xcstrings b/Resources/Localizable.xcstrings index fee1b7a125ef..a226ca8d255f 100644 --- a/Resources/Localizable.xcstrings +++ b/Resources/Localizable.xcstrings @@ -61250,7 +61250,8 @@ } } } - }, "browser.import.error.title": { + }, + "browser.import.error.title": { "extractionState": "manual", "localizations": { "en": { @@ -557573,6 +557574,183 @@ } } } + }, + "settings.app.equalizeSplitsOnCreate": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Equalize Splits on Create" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تسوية التقسيمات عند الإنشاء" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Teilungen beim Erstellen angleichen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Igualar divisiones al crear" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Égaliser les divisions à la création" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "作成時に分割を均等にする" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "생성 시 분할 균등화" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "创建时均分面板" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "建立時均等分割" + } + } + } + }, + "settings.app.equalizeSplitsOnCreate.subtitleOff": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "New splits take half of the pane they were created from." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تشغل التقسيمات الجديدة نصف الجزء الذي أُنشئت منه." + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Neue Teilungen nehmen die Hälfte des Bereichs ein, aus dem sie erstellt wurden." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Las divisiones nuevas ocupan la mitad del panel desde el que se crearon." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Les nouvelles divisions occupent la moitié du volet à partir duquel elles ont été créées." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "新しい分割は、作成元のペインの半分を使用します。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "새 분할은 생성된 원래 창의 절반을 차지합니다." + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "新建的分屏会占用其来源面板的一半。" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "新增的分割會佔用其來源窗格的一半。" + } + } + } + }, + "settings.app.equalizeSplitsOnCreate.subtitleOn": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "New splits resize the panes in that direction to equal sizes." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تعيد التقسيمات الجديدة تحجيم الأجزاء في ذلك الاتجاه إلى أحجام متساوية." + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Neue Teilungen gleichen die Bereiche in dieser Richtung auf dieselbe Größe an." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Las divisiones nuevas ajustan los paneles en esa dirección a tamaños iguales." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Les nouvelles divisions redimensionnent les volets dans cette direction à des tailles égales." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "新しい分割を作成すると、その方向のペインが同じサイズに調整されます。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "새 분할을 만들면 해당 방향의 창 크기가 같아지도록 조정됩니다." + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "新建分屏时,会将该方向上的面板调整为相同大小。" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "新增分割時,會將該方向上的窗格調整為相同大小。" + } + } + } } }, "version": "1.0" diff --git a/Sources/CmuxSettingsFileStore+SupportedPaths.swift b/Sources/CmuxSettingsFileStore+SupportedPaths.swift index ce5bdca47975..96db63d4abf3 100644 --- a/Sources/CmuxSettingsFileStore+SupportedPaths.swift +++ b/Sources/CmuxSettingsFileStore+SupportedPaths.swift @@ -21,6 +21,7 @@ extension CmuxSettingsFileStore { "app.focusPaneOnFirstClick", "app.paneResizeStepPixels", "app.focusHistoryIncludesPanesAndTabs", + "app.equalizeSplitsOnCreate", "app.preferredEditor", "app.defaultWorkspacePath", "app.openSupportedFilesInCmux", diff --git a/Sources/CmuxSettingsJSONPathSupport.swift b/Sources/CmuxSettingsJSONPathSupport.swift index a35b0ada44b7..aa0d8b663b95 100644 --- a/Sources/CmuxSettingsJSONPathSupport.swift +++ b/Sources/CmuxSettingsJSONPathSupport.swift @@ -141,6 +141,10 @@ enum AppSettingsFileMapping { jsonKey: "focusHistoryIncludesPanesAndTabs", defaultsKey: app.focusHistoryIncludesPanesAndTabs.userDefaultsKey ), + .init( + jsonKey: "equalizeSplitsOnCreate", + defaultsKey: app.equalizeSplitsOnCreate.userDefaultsKey + ), .init( jsonKey: "openSupportedFilesInCmux", defaultsKey: app.openSupportedFilesInCmux.userDefaultsKey diff --git a/Sources/KeyboardShortcutSettingsFileStore+Template.swift b/Sources/KeyboardShortcutSettingsFileStore+Template.swift index 43ef33df2ff4..af8bdeef3c65 100644 --- a/Sources/KeyboardShortcutSettingsFileStore+Template.swift +++ b/Sources/KeyboardShortcutSettingsFileStore+Template.swift @@ -71,6 +71,7 @@ extension CmuxSettingsFileStore { "focusPaneOnFirstClick": PaneFirstClickFocusSettings.defaultEnabled, "paneResizeStepPixels": SettingCatalog().app.paneResizeStepPixels.defaultValue, "focusHistoryIncludesPanesAndTabs": SettingCatalog().app.focusHistoryIncludesPanesAndTabs.defaultValue, + "equalizeSplitsOnCreate": SettingCatalog().app.equalizeSplitsOnCreate.defaultValue, "preferredEditor": "", "defaultWorkspacePath": AppCatalogSection().defaultWorkspacePath.defaultValue, "openSupportedFilesInCmux": AppCatalogSection().openSupportedFilesInCmux.defaultValue, diff --git a/Sources/TabManager+TerminalSplitAction.swift b/Sources/TabManager+TerminalSplitAction.swift index f5e8247c38f1..26e294d34768 100644 --- a/Sources/TabManager+TerminalSplitAction.swift +++ b/Sources/TabManager+TerminalSplitAction.swift @@ -22,11 +22,15 @@ extension TabManager { workspace.panels[surfaceId] != nil else { return .failed } workspace.clearSplitZoom() sentryBreadcrumb("split.create", data: ["direction": String(describing: direction)]) - return workspace.newTerminalSplitOutcome( + let outcome = workspace.newTerminalSplitOutcome( from: surfaceId, orientation: direction.orientation, insertFirst: direction.insertFirst, focus: focus ) + if let panel = outcome.panel { + workspace.equalizeSplitsAfterCreatingSplitIfEnabled(newPanelId: panel.id) + } + return outcome } } diff --git a/Sources/TabManager.swift b/Sources/TabManager.swift index 20b00ceccd93..f8fd33270360 100644 --- a/Sources/TabManager.swift +++ b/Sources/TabManager.swift @@ -4371,7 +4371,7 @@ class TabManager: ObservableObject { remotePTYSessionID: String? = nil ) -> UUID? { guard let tab = tabs.first(where: { $0.id == tabId }) else { return nil } - return tab.newTerminalSplit( + guard let panel = tab.newTerminalSplit( from: surfaceId, orientation: direction.orientation, insertFirst: direction.insertFirst, @@ -4382,7 +4382,12 @@ class TabManager: ObservableObject { startupEnvironment: startupEnvironment, initialDividerPosition: initialDividerPosition, remotePTYSessionID: remotePTYSessionID - )?.id + ) else { return nil } + // An explicit divider position wins over equalize-on-create. + if initialDividerPosition == nil { + tab.equalizeSplitsAfterCreatingSplitIfEnabled(newPanelId: panel.id) + } + return panel.id } /// Move focus in the specified direction @@ -4460,7 +4465,7 @@ class TabManager: ObservableObject { ) -> UUID? { guard BrowserAvailabilitySettings.isEnabled() else { return nil } guard let tab = tabs.first(where: { $0.id == tabId }) else { return nil } - return tab.newBrowserSplit( + guard let panel = tab.newBrowserSplit( from: fromPanelId, orientation: orientation, insertFirst: insertFirst, @@ -4468,7 +4473,12 @@ class TabManager: ObservableObject { preferredProfileID: preferredProfileID, focus: focus, initialDividerPosition: initialDividerPosition - )?.id + ) else { return nil } + // An explicit divider position wins over equalize-on-create. + if initialDividerPosition == nil { + tab.equalizeSplitsAfterCreatingSplitIfEnabled(newPanelId: panel.id) + } + return panel.id } /// Create a new browser surface in a pane diff --git a/Sources/TerminalController+ControlPaneContext.swift b/Sources/TerminalController+ControlPaneContext.swift index 57f544b5cc4d..fa82ff2ec32b 100644 --- a/Sources/TerminalController+ControlPaneContext.swift +++ b/Sources/TerminalController+ControlPaneContext.swift @@ -371,6 +371,10 @@ extension TerminalController: ControlPaneContext { guard let newPanelId else { return .createFailed } + // An explicit divider position wins over equalize-on-create. + if initialDividerPosition == nil { + ws.equalizeSplitsAfterCreatingSplitIfEnabled(newPanelId: newPanelId) + } let paneUUID = ws.paneId(forPanelId: newPanelId)?.id let windowId = v2ResolveWindowId(tabManager: tabManager) return .created( diff --git a/Sources/TerminalController+ControlSurfaceContext2.swift b/Sources/TerminalController+ControlSurfaceContext2.swift index 730183ddab1a..3ff78fdb0c63 100644 --- a/Sources/TerminalController+ControlSurfaceContext2.swift +++ b/Sources/TerminalController+ControlSurfaceContext2.swift @@ -197,6 +197,10 @@ extension TerminalController { guard let newId else { return .createFailed } + // An explicit divider position wins over equalize-on-create. + if dividerPosition == nil { + ws.equalizeSplitsAfterCreatingSplitIfEnabled(newPanelId: newId) + } return .created( windowID: v2ResolveWindowId(tabManager: tabManager), workspaceID: ws.id, diff --git a/Sources/TerminalController.swift b/Sources/TerminalController.swift index 497806340ecc..13b9d879bba4 100644 --- a/Sources/TerminalController.swift +++ b/Sources/TerminalController.swift @@ -12735,6 +12735,7 @@ class TerminalController { allowTextBoxFocusDefault: false ) { case .created(let panel): + tab.equalizeSplitsAfterCreatingSplitIfEnabled(newPanelId: panel.id) result = "OK \(panel.id.uuidString)" case .routedToRemote: result = "OK routed-to-remote-tmux" diff --git a/Sources/Workspace+EqualizeSplitsSupport.swift b/Sources/Workspace+EqualizeSplitsSupport.swift index b6706d451f81..1819198bf6e7 100644 --- a/Sources/Workspace+EqualizeSplitsSupport.swift +++ b/Sources/Workspace+EqualizeSplitsSupport.swift @@ -1,4 +1,6 @@ import Bonsplit +import CmuxPanes +import CmuxSettings import Foundation extension Workspace { @@ -23,6 +25,66 @@ extension Workspace { applyProvisionalSplitPaneGeometry(originalPane: sourcePaneId, newPane: newPaneId) } + /// Rebalances the panes of a newly created split's row or column when + /// `app.equalizeSplitsOnCreate` is on (issue #731). + /// + /// This is the shared post-create step for user-initiated splits: the + /// TabManager split actions (shortcut, menu, context menu, command + /// palette, Ghostty split passthrough), the browser split action, the + /// v1/v2 socket split commands, and bonsplit's own split buttons. Session + /// restore and layout builders skip it because they impose their own + /// divider positions. Only the run of same-orientation splits that holds + /// the new pane moves, so a vertical split never disturbs the widths of + /// side-by-side panes, and dividers in unrelated rows keep their sizes. + /// + /// - Returns: `true` when the setting is on and a split was rebalanced. + @discardableResult + func equalizeSplitsAfterCreatingSplitIfEnabled( + newPanelId: UUID, + settings: any SettingsReading = UserDefaultsSettingsClient(defaults: .standard) + ) -> Bool { + guard let newPaneId = paneId(forPanelId: newPanelId) else { return false } + return equalizeSplitsAfterCreatingSplitIfEnabled(newPaneId: newPaneId, settings: settings) + } + + @discardableResult + func equalizeSplitsAfterCreatingSplitIfEnabled( + newPaneId: PaneID, + settings: any SettingsReading = UserDefaultsSettingsClient(defaults: .standard) + ) -> Bool { + guard settings.value(for: SettingCatalog().app.equalizeSplitsOnCreate), + layoutMode != .canvas, + !isRemoteTmuxMirror else { return false } + let result = PaneLayoutService().equalizeSplitRun( + containingPaneId: newPaneId.id.uuidString, + in: bonsplitController.treeSnapshot(), + controller: bonsplitController + ) + guard result.foundSplit else { return false } + didProgrammaticallyChangeSplitGeometry() + // The new split's divider moved after bonsplit's didSplitPane + // projection; re-derive the provisional pane frames like + // `applyInitialSplitDividerPosition` does. When the run spans more + // than the new split, the other panes' terminals keep their frames + // until their anchors re-layout, as with the Equalize Splits command. + if let sourcePaneId = siblingPaneId(of: newPaneId, in: bonsplitController.treeSnapshot()) { + applyProvisionalSplitPaneGeometry(originalPane: sourcePaneId, newPane: newPaneId) + } + return true + } + + /// The pane that shares a direct parent split with `paneId`, which right + /// after a split is the pane it was split from. + private func siblingPaneId(of paneId: PaneID, in node: ExternalTreeNode) -> PaneID? { + guard case .split(let split) = node else { return nil } + let target = paneId.id.uuidString + if case .pane(let first) = split.first, case .pane(let second) = split.second { + if first.id == target { return bonsplitController.allPaneIds.first { $0.id.uuidString == second.id } } + if second.id == target { return bonsplitController.allPaneIds.first { $0.id.uuidString == first.id } } + } + return siblingPaneId(of: paneId, in: split.first) ?? siblingPaneId(of: paneId, in: split.second) + } + /// The split whose two subtrees separate `firstPaneId` from `secondPaneId`. func splitNodeJoiningPaneIds( _ firstPaneId: String, diff --git a/Sources/Workspace.swift b/Sources/Workspace.swift index 39e948c1571f..7284081c3685 100644 --- a/Sources/Workspace.swift +++ b/Sources/Workspace.swift @@ -14523,6 +14523,7 @@ extension Workspace: BonsplitDelegate { bindSurface(newTabId, toPanelId: newPanel.id) rememberTerminalConfigInheritanceSource(newPanel) normalizePinnedTabs(in: newPane) + equalizeSplitsAfterCreatingSplitIfEnabled(newPaneId: newPane) publishCmuxSplitCreated(newPane, sourcePaneId: originalPane, orientation: orientation, surfaceId: newPanel.id, kind: "terminal", origin: "ui_split", focused: true) #if DEBUG cmuxDebugLog( diff --git a/cmuxTests/TabManagerUnitTests.swift b/cmuxTests/TabManagerUnitTests.swift index 820459252def..c789541b5126 100644 --- a/cmuxTests/TabManagerUnitTests.swift +++ b/cmuxTests/TabManagerUnitTests.swift @@ -3208,6 +3208,119 @@ final class TabManagerEqualizeSplitsTests: XCTestCase { } } +/// `app.equalizeSplitsOnCreate` (issue #731): creating a split rebalances the +/// panes along the new split's axis instead of halving the source pane. +@MainActor +final class TabManagerEqualizeSplitsOnCreateTests: XCTestCase { + private let defaultsKey = SettingCatalog().app.equalizeSplitsOnCreate.userDefaultsKey + private var savedValue: Any? + + override func setUp() { + super.setUp() + savedValue = UserDefaults.standard.object(forKey: defaultsKey) + } + + override func tearDown() { + if let savedValue { + UserDefaults.standard.set(savedValue, forKey: defaultsKey) + } else { + UserDefaults.standard.removeObject(forKey: defaultsKey) + } + super.tearDown() + } + + func testCreateSplitHalvesSourcePaneWhenSettingIsOff() throws { + UserDefaults.standard.removeObject(forKey: defaultsKey) + let root = try makeThreeColumnRoot() + XCTAssertEqual(root.orientation, "horizontal") + XCTAssertEqual(root.dividerPosition, 0.5, accuracy: 0.000_1) + let inner = try XCTUnwrap(splitNode(root.second)) + XCTAssertEqual(inner.dividerPosition, 0.5, accuracy: 0.000_1) + } + + func testCreateSplitEqualizesSameAxisPanesWhenSettingIsOn() throws { + UserDefaults.standard.set(true, forKey: defaultsKey) + let root = try makeThreeColumnRoot() + XCTAssertEqual(root.orientation, "horizontal") + XCTAssertEqual(root.dividerPosition, 1.0 / 3.0, accuracy: 0.000_1) + let inner = try XCTUnwrap(splitNode(root.second)) + XCTAssertEqual(inner.orientation, "horizontal") + XCTAssertEqual(inner.dividerPosition, 0.5, accuracy: 0.000_1) + } + + func testCreateSplitOnlyEqualizesTheNewSplitsOrientation() throws { + UserDefaults.standard.set(true, forKey: defaultsKey) + let manager = TabManager() + let workspace = try XCTUnwrap(manager.selectedWorkspace) + let top = try XCTUnwrap(workspace.focusedPanelId) + let bottom = try XCTUnwrap(manager.createSplit(tabId: workspace.id, surfaceId: top, direction: .down)) + + let verticalRoot = try XCTUnwrap(splitNode(workspace.bonsplitController.treeSnapshot())) + XCTAssertEqual(verticalRoot.orientation, "vertical") + let verticalSplitId = try XCTUnwrap(UUID(uuidString: verticalRoot.id)) + XCTAssertTrue(workspace.bonsplitController.setDividerPosition(0.3, forSplit: verticalSplitId, fromExternal: true)) + + let middle = try XCTUnwrap(manager.createSplit(tabId: workspace.id, surfaceId: bottom, direction: .right)) + XCTAssertNotNil(manager.createSplit(tabId: workspace.id, surfaceId: middle, direction: .right)) + + let root = try XCTUnwrap(splitNode(workspace.bonsplitController.treeSnapshot())) + XCTAssertEqual(root.orientation, "vertical") + XCTAssertEqual(root.dividerPosition, 0.3, accuracy: 0.000_1, "A horizontal split must not move vertical dividers") + let bottomRow = try XCTUnwrap(splitNode(root.second)) + XCTAssertEqual(bottomRow.orientation, "horizontal") + XCTAssertEqual(bottomRow.dividerPosition, 1.0 / 3.0, accuracy: 0.000_1) + } + + func testCreateSplitLeavesUnrelatedRowsAlone() throws { + UserDefaults.standard.set(true, forKey: defaultsKey) + let manager = TabManager() + let workspace = try XCTUnwrap(manager.selectedWorkspace) + let top = try XCTUnwrap(workspace.focusedPanelId) + let bottom = try XCTUnwrap(manager.createSplit(tabId: workspace.id, surfaceId: top, direction: .down)) + XCTAssertNotNil(manager.createSplit(tabId: workspace.id, surfaceId: top, direction: .right)) + + let beforeRoot = try XCTUnwrap(splitNode(workspace.bonsplitController.treeSnapshot())) + let topRow = try XCTUnwrap(splitNode(beforeRoot.first)) + XCTAssertEqual(topRow.orientation, "horizontal") + let topRowId = try XCTUnwrap(UUID(uuidString: topRow.id)) + XCTAssertTrue(workspace.bonsplitController.setDividerPosition(0.2, forSplit: topRowId, fromExternal: true)) + + XCTAssertNotNil(manager.createSplit(tabId: workspace.id, surfaceId: bottom, direction: .right)) + + let root = try XCTUnwrap(splitNode(workspace.bonsplitController.treeSnapshot())) + let topRowAfter = try XCTUnwrap(splitNode(root.first)) + XCTAssertEqual(topRowAfter.dividerPosition, 0.2, accuracy: 0.000_1, "A split in the bottom row must not reset the top row") + let bottomRow = try XCTUnwrap(splitNode(root.second)) + XCTAssertEqual(bottomRow.dividerPosition, 0.5, accuracy: 0.000_1) + } + + func testExplicitDividerPositionWinsOverEqualizeOnCreate() throws { + UserDefaults.standard.set(true, forKey: defaultsKey) + let manager = TabManager() + let workspace = try XCTUnwrap(manager.selectedWorkspace) + let first = try XCTUnwrap(workspace.focusedPanelId) + XCTAssertNotNil(manager.newSplit(tabId: workspace.id, surfaceId: first, direction: .right, initialDividerPosition: 0.25)) + + let root = try XCTUnwrap(splitNode(workspace.bonsplitController.treeSnapshot())) + XCTAssertEqual(root.dividerPosition, 0.25, accuracy: 0.000_1) + } + + /// Splits right twice from the initial pane, the Cmd+D sequence in #731. + private func makeThreeColumnRoot() throws -> ExternalSplitNode { + let manager = TabManager() + let workspace = try XCTUnwrap(manager.selectedWorkspace) + let first = try XCTUnwrap(workspace.focusedPanelId) + let second = try XCTUnwrap(manager.createSplit(tabId: workspace.id, surfaceId: first, direction: .right)) + XCTAssertNotNil(manager.createSplit(tabId: workspace.id, surfaceId: second, direction: .right)) + return try XCTUnwrap(splitNode(workspace.bonsplitController.treeSnapshot())) + } + + private func splitNode(_ node: ExternalTreeNode) -> ExternalSplitNode? { + if case .split(let split) = node { return split } + return nil + } +} + @MainActor final class TabManagerResizeSplitsTests: XCTestCase { func testResizeSplitMovesHorizontalDividerRightForFirstChildPane() { diff --git a/skills/cmux-settings/references/all-keys.md b/skills/cmux-settings/references/all-keys.md index 9890ffaf9d48..cc5797b2d030 100644 --- a/skills/cmux-settings/references/all-keys.md +++ b/skills/cmux-settings/references/all-keys.md @@ -35,6 +35,7 @@ General app preferences from Settings > App. | `app.forkConversationDefaultDestination` | `"right"` or `"left"` or `"top"` or `"bottom"` or `"newTab"` or `"newWorkspace"` | `"right"` | Default destination for the tab context menu's primary Fork Conversation action. The submenu still exposes every destination. | | `app.paneResizeStepPixels` | integer | `20` | Pixels moved per keypress when using pane-resize shortcuts. | | `app.focusHistoryIncludesPanesAndTabs` | boolean | `false` | When true, Back and Forward include focus changes between panes and tabs. When false, they navigate between workspaces only. | +| `app.equalizeSplitsOnCreate` | boolean | `false` | When true, creating a split resizes the panes in that split's row or column to equal sizes. When false, a new split halves the pane it was created from. | | `app.globalFontMagnification` | integer | `100` | Scales cmux-owned terminals, tab titles, sidebars, settings, overlays, and app chrome by this percentage. Rendered browser page content is excluded. | | `app.confirmQuit` | `"always"` or `"dirty-only"` or `"never"` | `"always"` | Control when cmux asks for confirmation before quitting. DEV builds always quit immediately regardless of this setting. Legacy app.warnBeforeQuit is still accepted as a boolean fallback. | | `app.warnBeforeClosingTabXButton` | boolean | `false` | Show a confirmation before closing a tab with the tab close button. | diff --git a/web/data/cmux.schema.json b/web/data/cmux.schema.json index a0c3990ec0fb..6d9e48c377de 100644 --- a/web/data/cmux.schema.json +++ b/web/data/cmux.schema.json @@ -528,6 +528,11 @@ "default": false, "description": "When true, Back and Forward include focus changes between panes and tabs. When false, they navigate between workspaces only." }, + "equalizeSplitsOnCreate": { + "type": "boolean", + "default": false, + "description": "When true, creating a split resizes the panes in that split's row or column to equal sizes. When false, a new split halves the pane it was created from." + }, "preferredEditor": { "type": "string", "default": "",