From c8b2a70902646f64e9480fa1a9756e46aba2d2e5 Mon Sep 17 00:00:00 2001 From: Ben Boyter Date: Thu, 26 Jul 2018 08:34:41 +1000 Subject: [PATCH] Add support for languages with extentions like test.d.ts such as typescript typings --- languages.json | 51 ++++++++++++++++++++++++++++++++++++++++++ processor/constants.go | 2 +- processor/file.go | 22 ++++++++++++------ processor/file_test.go | 23 +++++++++++++++++-- 4 files changed, 88 insertions(+), 10 deletions(-) diff --git a/languages.json b/languages.json index e11298dc8..8a57abcec 100644 --- a/languages.json +++ b/languages.json @@ -81,6 +81,57 @@ ] ] }, + "TypeScript Typings": { + "line_comment": [ + "//" + ], + "complexitychecks": [ + "for ", + "for(", + "if ", + "if(", + "switch ", + "while ", + "else ", + "| ", + "|| ", + "& ", + "&& ", + "!= ", + "!== ", + "== ", + "=== ", + "foreach(", + "case ", + "case(", + "casex ", + "casex(", + "casez ", + "casez(", + "casexz ", + "casexz(", + "fork", + "?", + ":", + "inside", + "with" + ], + "extensions": [ + "d.ts" + ], + "multi_line": [ + [ + "/*", + "*/" + ] + ], + "quotes": [ + [ + "\"", + "\"" + ] + ] + }, "Lisp": { "line_comment": [ ";" diff --git a/processor/constants.go b/processor/constants.go index ede1ca6ba..bd7b8bde0 100644 --- a/processor/constants.go +++ b/processor/constants.go @@ -1,5 +1,5 @@ package processor const ( -languages = `ewogICJSYXpvciI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY3NodG1sIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwhLS0iLAogICAgICAgICItLT4iCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiQCoiLAogICAgICAgICIqQCIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlR5cGVTY3JpcHQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8ICIsCiAgICAgICJ8fCAiLAogICAgICAiJiAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICIhPT0gIiwKICAgICAgIj09ICIsCiAgICAgICI9PT0gIiwKICAgICAgImZvcmVhY2goIiwKICAgICAgImNhc2UgIiwKICAgICAgImNhc2UoIiwKICAgICAgImNhc2V4ICIsCiAgICAgICJjYXNleCgiLAogICAgICAiY2FzZXogIiwKICAgICAgImNhc2V6KCIsCiAgICAgICJjYXNleHogIiwKICAgICAgImNhc2V4eigiLAogICAgICAiZm9yayIsCiAgICAgICI/IiwKICAgICAgIjoiLAogICAgICAiaW5zaWRlIiwKICAgICAgIndpdGgiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0cyIsCiAgICAgICJ0c3giCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkxpc3AiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiOyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImxpc3AiLAogICAgICAibHNwIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIiN8IiwKICAgICAgICAifCMiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJMRVNTIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImxlc3MiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkxlYW4iOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLS0iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJsZWFuIiwKICAgICAgImhsZWFuIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8tIiwKICAgICAgICAiLS8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJDZXlsb24iOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjZXlsb24iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkZPUlRSQU4gTW9kZXJuIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiEiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJmMDMiLAogICAgICAiZjA4IiwKICAgICAgImY5MCIsCiAgICAgICJmOTUiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJIYXBweSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInkiLAogICAgICAibHkiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlNoZWxsIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJzaCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkp1bGl1cyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImp1bGl1cyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiVXIvV2ViIFByb2plY3QiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInVycCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiRWxpeGlyIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJleCIsCiAgICAgICJleHMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIlxcXCJcXFwiIiwKICAgICAgICAiXFxcIlxcXCJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIicnJyIsCiAgICAgICAgIicnJyIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkFnZGEiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLS0iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJhZ2RhIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInstIiwKICAgICAgICAiLX0iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJTUmVjb2RlIFRlbXBsYXRlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIjs7IgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic3J0IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJEIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiU2FzcyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInNhc3MiLAogICAgICAic2NzcyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiS290bGluIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAia3QiLAogICAgICAia3RzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJDb2xkRnVzaW9uIENGU2NyaXB0IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY2ZjIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJCYXRjaCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICJSRU0iLAogICAgICAiOjoiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJiYXQiLAogICAgICAiYnRtIiwKICAgICAgImNtZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiQ3J5c3RhbCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY3IiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJDb2dlbnQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLS0iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjb2dlbnQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIk1TQnVpbGQiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNzcHJvaiIsCiAgICAgICJ2YnByb2oiLAogICAgICAiZnNwcm9qIiwKICAgICAgInByb3BzIiwKICAgICAgInRhcmdldHMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPCEtLSIsCiAgICAgICAgIi0tPiIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIk96IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiUiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJveiIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiSkFJIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiamFpIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJac2giOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInpzaCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkJBU0giOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImJhc2giCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJSdWJ5IEhUTUwiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInJodG1sIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwhLS0iLAogICAgICAgICItLT4iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJIYW5kbGViYXJzIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJoYnMiLAogICAgICAiaGFuZGxlYmFycyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICI8IS0tIiwKICAgICAgICAiLS0+IgogICAgICBdLAogICAgICBbCiAgICAgICAgInt7ISIsCiAgICAgICAgIn19IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIlJ1YnkiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInJiIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIj1iZWdpbiIsCiAgICAgICAgIj1lbmQiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiQ09CT0wiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiKiIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNvYiIsCiAgICAgICJjYmwiLAogICAgICAiY2NwIiwKICAgICAgImNvYm9sIiwKICAgICAgImNweSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiUHJvdG9jb2wgQnVmZmVycyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInByb3RvIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJUaHJpZnQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iLAogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0aHJpZnQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIlNRTCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICItLSIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInNxbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkdvIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZ28iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICJgIiwKICAgICAgICAiYCIKICAgICAgXQogICAgXQogIH0sCiAgIlZpc3VhbCBCYXNpYyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICInIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAiZWxzZWlmICIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ2YiIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlBIUCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIiwKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicGhwIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiR3Jvb3Z5IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZ3Jvb3Z5IiwKICAgICAgImdydCIsCiAgICAgICJndHBsIiwKICAgICAgImd2eSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiU3BlY21hbiBlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIiwKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICInPiIsCiAgICAgICAgIjwnIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiSmF2YSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImphdmEiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlNjYWxhIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic2MiLAogICAgICAic2NhbGEiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkNsb2p1cmVTY3JpcHQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiOyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNsanMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkZPUlRSQU4gTGVnYWN5IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgImMiLAogICAgICAiQyIsCiAgICAgICIhIiwKICAgICAgIioiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJmIiwKICAgICAgImZvciIsCiAgICAgICJmdG4iLAogICAgICAiZjc3IiwKICAgICAgInBmbyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkMrKyBIZWFkZXIiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJoaCIsCiAgICAgICJocHAiLAogICAgICAiaHh4IiwKICAgICAgImlubCIsCiAgICAgICJpcHAiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIk1ha2VmaWxlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtYWtlZmlsZSIsCiAgICAgICJtYWsiLAogICAgICAibWsiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIk1hZGxhbmciOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm1hZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICJ7IyIsCiAgICAgICAgIiN9IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiUGVybCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicGwiLAogICAgICAicG0iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPXBvZCIsCiAgICAgICAgIj1jdXQiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiTHVhIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibHVhIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi0tW1siLAogICAgICAgICJdXSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJDIFNoZWxsIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjc2giCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkdEU2NyaXB0IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJnZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXSwKICAgICAgWwogICAgICAgICJcXFwiXFxcIlxcXCIiLAogICAgICAgICJcXFwiXFxcIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJWZXJpbG9nIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAidmciLAogICAgICAidmgiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkhheGUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJoeCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiRG9ja2VyZmlsZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZG9ja2VyZmlsZSIsCiAgICAgICJkb2NrZXJpZ25vcmUiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJXb2xmcmFtIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJuYiIsCiAgICAgICJ3bCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIoKiIsCiAgICAgICAgIiopIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiQyBIZWFkZXIiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJoIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJDb2ZmZWVTY3JpcHQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNvZmZlZSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIjIyMiLAogICAgICAgICIjIyMiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiVENMIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0Y2wiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJIVE1MIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJodG1sIiwKICAgICAgImh0bSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICI8IS0tIiwKICAgICAgICAiLS0+IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiT3JnIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMgIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAib3JnIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJJZHJpcyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICItLSIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImlkciIsCiAgICAgICJsaWRyIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInstIiwKICAgICAgICAiLX0iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIlxcXCJcXFwiXFxcIiIsCiAgICAgICAgIlxcXCJcXFwiXFxcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlVyL1dlYiI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAidXIiLAogICAgICAidXJzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAiKikiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJDIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiYyIsCiAgICAgICJlYyIsCiAgICAgICJwZ2MiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIklzYWJlbGxlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAidGh5IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInsqIiwKICAgICAgICAiKn0iCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiKCoiLAogICAgICAgICIqKSIKICAgICAgXSwKICAgICAgWwogICAgICAgICLigLkiLAogICAgICAgICLigLoiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiXFxcXDxvcGVuPiIsCiAgICAgICAgIlxcXFw8Y2xvc2U+IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICInJyIsCiAgICAgICAgIicnIgogICAgICBdCiAgICBdCiAgfSwKICAiWEFNTCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAieGFtbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICI8IS0tIiwKICAgICAgICAiLS0+IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiUmVTdHJ1Y3R1cmVkVGV4dCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInJzdCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiQ2Fzc2l1cyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNhc3NpdXMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkx1Y2l1cyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImx1Y2l1cyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiUmFrZWZpbGUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInJha2UiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPWJlZ2luIiwKICAgICAgICAiPWVuZCIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJTdGFuZGFyZCBNTCAoU01MKSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic21sIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAiKikiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJWZXJpbG9nIEFyZ3MgRmlsZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImlydW5hcmdzIiwKICAgICAgInhydW5hcmdzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJDbG9qdXJlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIjsiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjbGoiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkRldmljZSBUcmVlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZHRzIiwKICAgICAgImR0c2kiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlJ1c3QiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJycyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiUHJvbG9nIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiUiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJwIiwKICAgICAgInBybyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiQ01ha2UiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNtYWtlIiwKICAgICAgImNtYWtlbGlzdHMudHh0IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdCiAgICBdCiAgfSwKICAiQ29sZEZ1c2lvbiI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY2ZtIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwhLS0tIiwKICAgICAgICAiLS0tPiIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJGaXNoIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJmaXNoIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiWUFNTCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInlhbWwiLAogICAgICAieW1sIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJYdGVuZCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInh0ZW5kIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJFbWFjcyBEZXYgRW52IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIjsiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJlZGUiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkdMU0wiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ2ZXJ0IiwKICAgICAgInRlc2MiLAogICAgICAidGVzZSIsCiAgICAgICJnZW9tIiwKICAgICAgImZyYWciLAogICAgICAiY29tcCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiVkhETCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICItLSIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInZoZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiRWxtIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZWxtIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInstIiwKICAgICAgICAiLX0iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJBZGEiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLS0iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJhZGEiLAogICAgICAiYWRiIiwKICAgICAgImFkcyIsCiAgICAgICJwYWQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkFTUCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICInIiwKICAgICAgIlJFTSIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImFzYSIsCiAgICAgICJhc3AiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkFzc2VtYmx5IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIjsiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJzIiwKICAgICAgImFzbSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkMjIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY3MiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlZhbGEiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ2YWxhIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJQcm9jZXNzaW5nIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicGRlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJKU09OIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAianNvbiIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiQ1NTIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY3NzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJNb2R1bGUtRGVmaW5pdGlvbiI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICI7IgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZGVmIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJKU1giOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJqc3giCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlFNTCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInFtbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiWE1MIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ4bWwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPCEtLSIsCiAgICAgICAgIi0tPiIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlBvbGx5IjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJwb2xseSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICI8IS0tIiwKICAgICAgICAiLS0+IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiRm9ydGgiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiXFxcXCIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIjR0aCIsCiAgICAgICJmb3J0aCIsCiAgICAgICJmciIsCiAgICAgICJmcnQiLAogICAgICAiZnRoIiwKICAgICAgImY4MyIsCiAgICAgICJmYiIsCiAgICAgICJmcG0iLAogICAgICAiZTQiLAogICAgICAicngiLAogICAgICAiZnQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiKCAiLAogICAgICAgICIpIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiSEVYIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiaGV4IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJBU1AuTkVUIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJhc2F4IiwKICAgICAgImFzY3giLAogICAgICAiYXNteCIsCiAgICAgICJhc3B4IiwKICAgICAgIm1hc3RlciIsCiAgICAgICJzaXRlbWFwIiwKICAgICAgIndlYmluZm8iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPCEtLSIsCiAgICAgICAgIi0tPiIKICAgICAgXSwKICAgICAgWwogICAgICAgICI8JS0tIiwKICAgICAgICAiLS0+IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiVGVYIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiUiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0ZXgiLAogICAgICAic3R5IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJSIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJyIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJNdXN0YWNoZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibXVzdGFjaGUiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAie3shIiwKICAgICAgICAifX0iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiTWFya2Rvd24iOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtZCIsCiAgICAgICJtYXJrZG93biIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiSW50ZWwgSEVYIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiaWhleCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiU2NvbnMiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFtdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiXFxcIlxcXCJcXFwiIiwKICAgICAgICAiXFxcIlxcXCJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIicnJyIsCiAgICAgICAgIicnJyIKICAgICAgXQogICAgXQogIH0sCiAgIk9DYW1sIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtbCIsCiAgICAgICJtbGkiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiKCoiLAogICAgICAgICIqKSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkhhbWxldCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiaGFtbGV0IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwhLS0iLAogICAgICAgICItLT4iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJQU0wgQXNzZXJ0aW9uIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicHNsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJPYmplY3RpdmUgQyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm0iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlBhc2NhbCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicGFzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInsiLAogICAgICAgICJ9IgogICAgICBdLAogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAiKikiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAieyIsCiAgICAgICAgIiopIgogICAgICBdLAogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAifSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJGIyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImZzIiwKICAgICAgImZzaSIsCiAgICAgICJmc3giLAogICAgICAiZnNzY3JpcHQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiKCoiLAogICAgICAgICIqKSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkFjdGlvblNjcmlwdCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImFzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJGKiI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZnN0IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAiKikiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJQbGFpbiBUZXh0IjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAidGV4dCIsCiAgICAgICJ0eHQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkVtYWNzIExpc3AiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiOyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImVsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJKYXZhU2NyaXB0IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAianMiLAogICAgICAibWpzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJBQkFQIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIioiLAogICAgICAiXFxcIiIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImFiYXAiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkVybGFuZyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIlIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZXJsIiwKICAgICAgImhybCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiUUNMIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicWNsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJTY2hlbWUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiOyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInNjbSIsCiAgICAgICJzcyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIjfCIsCiAgICAgICAgInwjIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiQXV0b0hvdEtleSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICI7IgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiYWhrIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJOaW0iOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm5pbSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICJcXFwiXFxcIlxcXCIiLAogICAgICAgICJcXFwiXFxcIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJQeXRob24iOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgImFuZCAiLAogICAgICAib3IgIiwKICAgICAgIm5vdCAiLAogICAgICAiaW4gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicHkiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiXFxcIlxcXCJcXFwiIiwKICAgICAgICAiXFxcIlxcXCJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIicnJyIsCiAgICAgICAgIicnJyIKICAgICAgXQogICAgXQogIH0sCiAgIk9iamVjdGl2ZSBDKysiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtbSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiRGFydCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImRhcnQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIk5peCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm5peCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiU1ZHIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJzdmciCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPCEtLSIsCiAgICAgICAgIi0tPiIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlN5c3RlbVZlcmlsb2ciOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8ICIsCiAgICAgICImICIsCiAgICAgICIhPSAiLAogICAgICAiIT09ICIsCiAgICAgICI9PSAiLAogICAgICAiZm9yZWFjaCAiLAogICAgICAiZm9yZWFjaCgiLAogICAgICAiY2FzZSAiLAogICAgICAiY2FzZSgiLAogICAgICAiY2FzZXggIiwKICAgICAgImNhc2V4KCIsCiAgICAgICJjYXNleiAiLAogICAgICAiY2FzZXooIiwKICAgICAgImNhc2V4eiAiLAogICAgICAiY2FzZXh6KCIsCiAgICAgICJmb3JrICIsCiAgICAgICIgPyAiLAogICAgICAiaW5zaWRlIiwKICAgICAgIndpdGgiLAogICAgICAiZXZlbnQgIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic3YiLAogICAgICAic3ZoIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJDb3EiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInYiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiKCoiLAogICAgICAgICIqKSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlZ1ZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAidnVlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwhLS0iLAogICAgICAgICItLT4iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJBbGV4IjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAieCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiTEQgU2NyaXB0IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibGRzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJDKysiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjYyIsCiAgICAgICJjcHAiLAogICAgICAiY3h4IiwKICAgICAgImMrKyIsCiAgICAgICJwY2MiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlN3aWZ0IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic3dpZnQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkF1dG9jb25mIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiLAogICAgICAiZG5sIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiaW4iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkNhYmFsIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY2FiYWwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiey0iLAogICAgICAgICItfSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlVucmVhbCBTY3JpcHQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ1YyIsCiAgICAgICJ1Y2kiLAogICAgICAidXBrZyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiUHVyZVNjcmlwdCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICItLSIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInB1cnMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiey0iLAogICAgICAgICItfSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkp1bGlhIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJqbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIjPSIsCiAgICAgICAgIj0jIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICJcXFwiXFxcIlxcXCIiLAogICAgICAgICJcXFwiXFxcIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJIYXNrZWxsIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiaHMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiey0iLAogICAgICAgICItfSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlRPTUwiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInRvbWwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiXFxcIlxcXCJcXFwiIiwKICAgICAgICAiXFxcIlxcXCJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIicnJyIsCiAgICAgICAgIicnJyIKICAgICAgXQogICAgXQogIH0sCiAgIlZpbSBTY3JpcHQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiXFxcIiIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInZpbSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIk1lc29uIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdLAogICAgICBbCiAgICAgICAgIicnJyIsCiAgICAgICAgIicnJyIKICAgICAgXQogICAgXQogIH0sCiAgIlNwaWNlIE5ldGxpc3QiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiKiIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNrdCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiTVFMNCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm1xNCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiTVFMNSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm1xNSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiTVFMIEhlYWRlciI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm1xaCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiWE1MIFNjaGVtYSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInhzZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiRG9jdW1lbnQgVHlwZSBEZWZpbml0aW9uIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZHRkIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJNYWNyb21lZGlhIGVYdGVuc2libGUgTWFya3VwIExhbmd1YWdlIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibXhtbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiRXh0ZW5zaWJsZSBTdHlsZXNoZWV0IExhbmd1YWdlIFRyYW5zZm9ybWF0aW9ucyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInhzbHQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIklETCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImlkbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiQ3l0aG9uIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJhbmQgIiwKICAgICAgIm9yICIsCiAgICAgICJub3QgIiwKICAgICAgImluICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInB5eCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXSwKICAgICAgWwogICAgICAgICJcXFwiXFxcIlxcXCIiLAogICAgICAgICJcXFwiXFxcIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJycnIiwKICAgICAgICAiJycnIgogICAgICBdCiAgICBdCiAgfSwKICAiTEVYIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAic2VkIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJhbmQgIiwKICAgICAgIm9yICIsCiAgICAgICJub3QgIiwKICAgICAgImluICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInNlZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAibTQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtNCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiU21hcnR5IFRlbXBsYXRlIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiLAogICAgICAiaW5jbHVkZSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0cGwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAieyoiLAogICAgICAgICIqfSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkV4cGVjdCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZXhwIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiSmF2YVNlcnZlciBQYWdlcyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImpzcCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiU0tJTEwiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiOyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImlsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJBV0siOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJhd2siCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIk1VTVBTIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIjsiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtcHMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIktvcm4gU2hlbGwiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImtzaCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIk1vZHVsYTMiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm0zIiwKICAgICAgIm1nIiwKICAgICAgImlnIiwKICAgICAgImkzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAiKikiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJMT0xDT0RFIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIkJUVyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgIkFXU1VNIFRIWCAiLAogICAgICAiTyBOT0VTICIsCiAgICAgICJQTFogT1BFTiBGSUxFICIsCiAgICAgICJJTSBJTiBZUiAiLAogICAgICAiTyBSTFk/IiwKICAgICAgIk8gUkxZPyAiLAogICAgICAiV1RGPyIsCiAgICAgICJXVEY/ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImxvbCIsCiAgICAgICJsb2xzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIk9CVFciLAogICAgICAgICJUTERSIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiU29mdGJyaWRnZSBCYXNpYyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICInIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAiZWxzZWlmICIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJzYmwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJnaXRpZ25vcmUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICIuZ2l0aWdub3JlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJCYXNpYyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICInIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAiZWxzZWlmICIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJiYXMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJGcmVlbWFya2VyIFRlbXBsYXRlIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICI8I2xpc3QgIiwKICAgICAgIjwjYXNzaWduICIsCiAgICAgICI8I2lmICIsCiAgICAgICI8I2Vsc2VpZiAiLAogICAgICAiPCNlbHNlPiIsCiAgICAgICI8I2Vsc2U+ICIsCiAgICAgICI8I3N3aXRjaCAgIiwKICAgICAgIjwjY2FzZSAiLAogICAgICAiPCNkZWZhdWx0PiIsCiAgICAgICI8I2RlZmF1bHQ+ICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZnRsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwjLS0iLAogICAgICAgICItLT4iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJHcmFkbGUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZ3JhZGxlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdLAogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJCcmFpbmZ1Y2siOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgIlsiLAogICAgICAiXSIsCiAgICAgICI8IiwKICAgICAgIj4iLAogICAgICAiKyIsCiAgICAgICItIiwKICAgICAgIi4iLAogICAgICAiLCIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImJmIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJMYVRlWCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIlIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInRleCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiQm9vIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJpZiAiLAogICAgICAiZWxpZiAiLAogICAgICAidW5sZXNzICIsCiAgICAgICIgYW5kICIsCiAgICAgICJmb3IgIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0ZXgiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXSwKICAgICAgWwogICAgICAgICJcIlwiXCIiLAogICAgICAgICJcIlwiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJKZW5raW5zIEJ1aWxkZmlsZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImplbmtpbnNmaWxlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJMaWNlbnNlIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibGljZW5zZSIsCiAgICAgICJsaWNlbmNlIiwKICAgICAgImNvcHlpbmciLAogICAgICAiY29weWluZzMiLAogICAgICAidW5saWNlbnNlIiwKICAgICAgInVubGljZW5jZSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiUm9ib3QgRnJhbWV3b3JrIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicm9ib3QiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlBhdGNoIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicGF0Y2giCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlByb3BlcnRpZXMgRmlsZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInByb3BlcnRpZXMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlB1cHBldCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicHAiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPWJlZ2luIiwKICAgICAgICAiPWVuZCIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJDU1YiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjc3YiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlZhcm5pc2ggQ29uZmlndXJhdGlvbiI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIiwKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInZjbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiUEtHQlVJTEQiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJwa2didWlsZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiR2hlcmtpbiBTcGVjaWZpY2F0aW9uIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJnaXZlbiIsCiAgICAgICJ3aGVuIiwKICAgICAgInRoZW4iLAogICAgICAiYW5kIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZmVhdHVyZSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiT3BhbGFuZyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm9wYSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiUmVwb3J0IERlZmluaXRpb24gTGFuZ3VhZ2UiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJyZGwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPCEtLSIsCiAgICAgICAgIi0tPiIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkphZGUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiaWYgIiwKICAgICAgImVsc2UgaWYgIiwKICAgICAgInVubGVzcyAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJqYWRlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJTUERYIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic3BkeCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiR28gVGVtcGxhdGUiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgInt7aWYgIiwKICAgICAgInt7IGlmICIsCiAgICAgICJ7e2Vsc2UiLAogICAgICAie3sgZWxzZSIsCiAgICAgICJ7e3JhbmdlICIsCiAgICAgICJ7eyByYW5nZSAiLAogICAgICAie3t3aXRoIiwKICAgICAgInt7IHdpdGgiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0bXBsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInt7LyoiLAogICAgICAgICIqL319IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiWENvZGUgQ29uZmlnIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInhjY29uZmlnIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9Cn0=` +languages = `ewogICJSYXpvciI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY3NodG1sIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwhLS0iLAogICAgICAgICItLT4iCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiQCoiLAogICAgICAgICIqQCIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlR5cGVTY3JpcHQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8ICIsCiAgICAgICJ8fCAiLAogICAgICAiJiAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICIhPT0gIiwKICAgICAgIj09ICIsCiAgICAgICI9PT0gIiwKICAgICAgImZvcmVhY2goIiwKICAgICAgImNhc2UgIiwKICAgICAgImNhc2UoIiwKICAgICAgImNhc2V4ICIsCiAgICAgICJjYXNleCgiLAogICAgICAiY2FzZXogIiwKICAgICAgImNhc2V6KCIsCiAgICAgICJjYXNleHogIiwKICAgICAgImNhc2V4eigiLAogICAgICAiZm9yayIsCiAgICAgICI/IiwKICAgICAgIjoiLAogICAgICAiaW5zaWRlIiwKICAgICAgIndpdGgiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0cyIsCiAgICAgICJ0c3giCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlR5cGVTY3JpcHQgVHlwaW5ncyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInwgIiwKICAgICAgInx8ICIsCiAgICAgICImICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIiE9PSAiLAogICAgICAiPT0gIiwKICAgICAgIj09PSAiLAogICAgICAiZm9yZWFjaCgiLAogICAgICAiY2FzZSAiLAogICAgICAiY2FzZSgiLAogICAgICAiY2FzZXggIiwKICAgICAgImNhc2V4KCIsCiAgICAgICJjYXNleiAiLAogICAgICAiY2FzZXooIiwKICAgICAgImNhc2V4eiAiLAogICAgICAiY2FzZXh6KCIsCiAgICAgICJmb3JrIiwKICAgICAgIj8iLAogICAgICAiOiIsCiAgICAgICJpbnNpZGUiLAogICAgICAid2l0aCIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImQudHMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkxpc3AiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiOyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImxpc3AiLAogICAgICAibHNwIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIiN8IiwKICAgICAgICAifCMiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJMRVNTIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImxlc3MiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkxlYW4iOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLS0iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJsZWFuIiwKICAgICAgImhsZWFuIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8tIiwKICAgICAgICAiLS8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJDZXlsb24iOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjZXlsb24iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkZPUlRSQU4gTW9kZXJuIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiEiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJmMDMiLAogICAgICAiZjA4IiwKICAgICAgImY5MCIsCiAgICAgICJmOTUiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJIYXBweSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInkiLAogICAgICAibHkiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlNoZWxsIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJzaCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkp1bGl1cyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImp1bGl1cyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiVXIvV2ViIFByb2plY3QiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInVycCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiRWxpeGlyIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJleCIsCiAgICAgICJleHMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIlxcXCJcXFwiIiwKICAgICAgICAiXFxcIlxcXCJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIicnJyIsCiAgICAgICAgIicnJyIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkFnZGEiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLS0iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJhZ2RhIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInstIiwKICAgICAgICAiLX0iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJTUmVjb2RlIFRlbXBsYXRlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIjs7IgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic3J0IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJEIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiU2FzcyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInNhc3MiLAogICAgICAic2NzcyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiS290bGluIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAia3QiLAogICAgICAia3RzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJDb2xkRnVzaW9uIENGU2NyaXB0IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY2ZjIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJCYXRjaCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICJSRU0iLAogICAgICAiOjoiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJiYXQiLAogICAgICAiYnRtIiwKICAgICAgImNtZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiQ3J5c3RhbCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY3IiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJDb2dlbnQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLS0iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjb2dlbnQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIk1TQnVpbGQiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNzcHJvaiIsCiAgICAgICJ2YnByb2oiLAogICAgICAiZnNwcm9qIiwKICAgICAgInByb3BzIiwKICAgICAgInRhcmdldHMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPCEtLSIsCiAgICAgICAgIi0tPiIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIk96IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiUiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJveiIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiSkFJIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiamFpIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJac2giOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInpzaCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkJBU0giOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImJhc2giCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJSdWJ5IEhUTUwiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInJodG1sIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwhLS0iLAogICAgICAgICItLT4iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJIYW5kbGViYXJzIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJoYnMiLAogICAgICAiaGFuZGxlYmFycyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICI8IS0tIiwKICAgICAgICAiLS0+IgogICAgICBdLAogICAgICBbCiAgICAgICAgInt7ISIsCiAgICAgICAgIn19IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIlJ1YnkiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInJiIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIj1iZWdpbiIsCiAgICAgICAgIj1lbmQiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiQ09CT0wiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiKiIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNvYiIsCiAgICAgICJjYmwiLAogICAgICAiY2NwIiwKICAgICAgImNvYm9sIiwKICAgICAgImNweSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiUHJvdG9jb2wgQnVmZmVycyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInByb3RvIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJUaHJpZnQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iLAogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0aHJpZnQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIlNRTCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICItLSIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInNxbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkdvIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZ28iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICJgIiwKICAgICAgICAiYCIKICAgICAgXQogICAgXQogIH0sCiAgIlZpc3VhbCBCYXNpYyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICInIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAiZWxzZWlmICIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ2YiIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlBIUCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIiwKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicGhwIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiR3Jvb3Z5IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZ3Jvb3Z5IiwKICAgICAgImdydCIsCiAgICAgICJndHBsIiwKICAgICAgImd2eSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiU3BlY21hbiBlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIiwKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICInPiIsCiAgICAgICAgIjwnIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiSmF2YSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImphdmEiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlNjYWxhIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic2MiLAogICAgICAic2NhbGEiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkNsb2p1cmVTY3JpcHQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiOyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNsanMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkZPUlRSQU4gTGVnYWN5IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgImMiLAogICAgICAiQyIsCiAgICAgICIhIiwKICAgICAgIioiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJmIiwKICAgICAgImZvciIsCiAgICAgICJmdG4iLAogICAgICAiZjc3IiwKICAgICAgInBmbyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkMrKyBIZWFkZXIiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJoaCIsCiAgICAgICJocHAiLAogICAgICAiaHh4IiwKICAgICAgImlubCIsCiAgICAgICJpcHAiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIk1ha2VmaWxlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtYWtlZmlsZSIsCiAgICAgICJtYWsiLAogICAgICAibWsiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIk1hZGxhbmciOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm1hZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICJ7IyIsCiAgICAgICAgIiN9IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiUGVybCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicGwiLAogICAgICAicG0iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPXBvZCIsCiAgICAgICAgIj1jdXQiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiTHVhIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibHVhIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi0tW1siLAogICAgICAgICJdXSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJDIFNoZWxsIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjc2giCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkdEU2NyaXB0IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJnZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXSwKICAgICAgWwogICAgICAgICJcXFwiXFxcIlxcXCIiLAogICAgICAgICJcXFwiXFxcIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJWZXJpbG9nIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAidmciLAogICAgICAidmgiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkhheGUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJoeCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiRG9ja2VyZmlsZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZG9ja2VyZmlsZSIsCiAgICAgICJkb2NrZXJpZ25vcmUiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJXb2xmcmFtIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJuYiIsCiAgICAgICJ3bCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIoKiIsCiAgICAgICAgIiopIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiQyBIZWFkZXIiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJoIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJDb2ZmZWVTY3JpcHQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNvZmZlZSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIjIyMiLAogICAgICAgICIjIyMiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiVENMIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0Y2wiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJIVE1MIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJodG1sIiwKICAgICAgImh0bSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICI8IS0tIiwKICAgICAgICAiLS0+IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiT3JnIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMgIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAib3JnIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJJZHJpcyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICItLSIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImlkciIsCiAgICAgICJsaWRyIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInstIiwKICAgICAgICAiLX0iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIlxcXCJcXFwiXFxcIiIsCiAgICAgICAgIlxcXCJcXFwiXFxcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlVyL1dlYiI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAidXIiLAogICAgICAidXJzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAiKikiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJDIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiYyIsCiAgICAgICJlYyIsCiAgICAgICJwZ2MiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIklzYWJlbGxlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAidGh5IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInsqIiwKICAgICAgICAiKn0iCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiKCoiLAogICAgICAgICIqKSIKICAgICAgXSwKICAgICAgWwogICAgICAgICLigLkiLAogICAgICAgICLigLoiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiXFxcXDxvcGVuPiIsCiAgICAgICAgIlxcXFw8Y2xvc2U+IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICInJyIsCiAgICAgICAgIicnIgogICAgICBdCiAgICBdCiAgfSwKICAiWEFNTCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAieGFtbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICI8IS0tIiwKICAgICAgICAiLS0+IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiUmVTdHJ1Y3R1cmVkVGV4dCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInJzdCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiQ2Fzc2l1cyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNhc3NpdXMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkx1Y2l1cyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImx1Y2l1cyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiUmFrZWZpbGUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInJha2UiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPWJlZ2luIiwKICAgICAgICAiPWVuZCIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJTdGFuZGFyZCBNTCAoU01MKSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic21sIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAiKikiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJWZXJpbG9nIEFyZ3MgRmlsZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImlydW5hcmdzIiwKICAgICAgInhydW5hcmdzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJDbG9qdXJlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIjsiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjbGoiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkRldmljZSBUcmVlIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZHRzIiwKICAgICAgImR0c2kiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlJ1c3QiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJycyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiUHJvbG9nIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiUiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJwIiwKICAgICAgInBybyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiQ01ha2UiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNtYWtlIiwKICAgICAgImNtYWtlbGlzdHMudHh0IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdCiAgICBdCiAgfSwKICAiQ29sZEZ1c2lvbiI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY2ZtIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwhLS0tIiwKICAgICAgICAiLS0tPiIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJGaXNoIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJmaXNoIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiWUFNTCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInlhbWwiLAogICAgICAieW1sIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJYdGVuZCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInh0ZW5kIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJFbWFjcyBEZXYgRW52IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIjsiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJlZGUiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkdMU0wiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ2ZXJ0IiwKICAgICAgInRlc2MiLAogICAgICAidGVzZSIsCiAgICAgICJnZW9tIiwKICAgICAgImZyYWciLAogICAgICAiY29tcCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiVkhETCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICItLSIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInZoZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiRWxtIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZWxtIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInstIiwKICAgICAgICAiLX0iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJBZGEiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLS0iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJhZGEiLAogICAgICAiYWRiIiwKICAgICAgImFkcyIsCiAgICAgICJwYWQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkFTUCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICInIiwKICAgICAgIlJFTSIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImFzYSIsCiAgICAgICJhc3AiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkFzc2VtYmx5IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIjsiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJzIiwKICAgICAgImFzbSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIkMjIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY3MiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlZhbGEiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ2YWxhIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJQcm9jZXNzaW5nIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicGRlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJKU09OIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAianNvbiIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiQ1NTIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY3NzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJNb2R1bGUtRGVmaW5pdGlvbiI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICI7IgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZGVmIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJKU1giOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJqc3giCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlFNTCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInFtbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiWE1MIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ4bWwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPCEtLSIsCiAgICAgICAgIi0tPiIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlBvbGx5IjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJwb2xseSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICI8IS0tIiwKICAgICAgICAiLS0+IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiRm9ydGgiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiXFxcXCIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIjR0aCIsCiAgICAgICJmb3J0aCIsCiAgICAgICJmciIsCiAgICAgICJmcnQiLAogICAgICAiZnRoIiwKICAgICAgImY4MyIsCiAgICAgICJmYiIsCiAgICAgICJmcG0iLAogICAgICAiZTQiLAogICAgICAicngiLAogICAgICAiZnQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiKCAiLAogICAgICAgICIpIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiSEVYIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiaGV4IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJBU1AuTkVUIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJhc2F4IiwKICAgICAgImFzY3giLAogICAgICAiYXNteCIsCiAgICAgICJhc3B4IiwKICAgICAgIm1hc3RlciIsCiAgICAgICJzaXRlbWFwIiwKICAgICAgIndlYmluZm8iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPCEtLSIsCiAgICAgICAgIi0tPiIKICAgICAgXSwKICAgICAgWwogICAgICAgICI8JS0tIiwKICAgICAgICAiLS0+IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiVGVYIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiUiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0ZXgiLAogICAgICAic3R5IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJSIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJyIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJNdXN0YWNoZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibXVzdGFjaGUiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAie3shIiwKICAgICAgICAifX0iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiTWFya2Rvd24iOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtZCIsCiAgICAgICJtYXJrZG93biIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiSW50ZWwgSEVYIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiaWhleCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiU2NvbnMiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFtdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiXFxcIlxcXCJcXFwiIiwKICAgICAgICAiXFxcIlxcXCJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIicnJyIsCiAgICAgICAgIicnJyIKICAgICAgXQogICAgXQogIH0sCiAgIk9DYW1sIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtbCIsCiAgICAgICJtbGkiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiKCoiLAogICAgICAgICIqKSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkhhbWxldCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiaGFtbGV0IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwhLS0iLAogICAgICAgICItLT4iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJQU0wgQXNzZXJ0aW9uIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicHNsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJPYmplY3RpdmUgQyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm0iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlBhc2NhbCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicGFzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInsiLAogICAgICAgICJ9IgogICAgICBdLAogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAiKikiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAieyIsCiAgICAgICAgIiopIgogICAgICBdLAogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAifSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJGIyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImZzIiwKICAgICAgImZzaSIsCiAgICAgICJmc3giLAogICAgICAiZnNzY3JpcHQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiKCoiLAogICAgICAgICIqKSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkFjdGlvblNjcmlwdCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImFzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJGKiI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZnN0IgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAiKikiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJQbGFpbiBUZXh0IjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAidGV4dCIsCiAgICAgICJ0eHQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkVtYWNzIExpc3AiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiOyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImVsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJKYXZhU2NyaXB0IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAianMiLAogICAgICAibWpzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJBQkFQIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIioiLAogICAgICAiXFxcIiIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImFiYXAiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkVybGFuZyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIlIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZXJsIiwKICAgICAgImhybCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiUUNMIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicWNsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJTY2hlbWUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiOyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInNjbSIsCiAgICAgICJzcyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIjfCIsCiAgICAgICAgInwjIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiQXV0b0hvdEtleSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICI7IgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiYWhrIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJOaW0iOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm5pbSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICJcXFwiXFxcIlxcXCIiLAogICAgICAgICJcXFwiXFxcIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJQeXRob24iOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgImFuZCAiLAogICAgICAib3IgIiwKICAgICAgIm5vdCAiLAogICAgICAiaW4gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicHkiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiXFxcIlxcXCJcXFwiIiwKICAgICAgICAiXFxcIlxcXCJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIicnJyIsCiAgICAgICAgIicnJyIKICAgICAgXQogICAgXQogIH0sCiAgIk9iamVjdGl2ZSBDKysiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtbSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiRGFydCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImRhcnQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIk5peCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm5peCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiU1ZHIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJzdmciCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPCEtLSIsCiAgICAgICAgIi0tPiIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlN5c3RlbVZlcmlsb2ciOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8ICIsCiAgICAgICImICIsCiAgICAgICIhPSAiLAogICAgICAiIT09ICIsCiAgICAgICI9PSAiLAogICAgICAiZm9yZWFjaCAiLAogICAgICAiZm9yZWFjaCgiLAogICAgICAiY2FzZSAiLAogICAgICAiY2FzZSgiLAogICAgICAiY2FzZXggIiwKICAgICAgImNhc2V4KCIsCiAgICAgICJjYXNleiAiLAogICAgICAiY2FzZXooIiwKICAgICAgImNhc2V4eiAiLAogICAgICAiY2FzZXh6KCIsCiAgICAgICJmb3JrICIsCiAgICAgICIgPyAiLAogICAgICAiaW5zaWRlIiwKICAgICAgIndpdGgiLAogICAgICAiZXZlbnQgIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic3YiLAogICAgICAic3ZoIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJDb3EiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInYiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiKCoiLAogICAgICAgICIqKSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlZ1ZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAidnVlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwhLS0iLAogICAgICAgICItLT4iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJBbGV4IjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAieCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiTEQgU2NyaXB0IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibGRzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJDKysiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjYyIsCiAgICAgICJjcHAiLAogICAgICAiY3h4IiwKICAgICAgImMrKyIsCiAgICAgICJwY2MiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIlN3aWZ0IjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic3dpZnQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkF1dG9jb25mIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiLAogICAgICAiZG5sIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiaW4iCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkNhYmFsIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiY2FiYWwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiey0iLAogICAgICAgICItfSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlVucmVhbCBTY3JpcHQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ1YyIsCiAgICAgICJ1Y2kiLAogICAgICAidXBrZyIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiUHVyZVNjcmlwdCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICItLSIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInB1cnMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiey0iLAogICAgICAgICItfSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkp1bGlhIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJqbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIjPSIsCiAgICAgICAgIj0jIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICJcXFwiXFxcIlxcXCIiLAogICAgICAgICJcXFwiXFxcIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJIYXNrZWxsIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi0tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiaHMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiey0iLAogICAgICAgICItfSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlRPTUwiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInRvbWwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiXFxcIlxcXCJcXFwiIiwKICAgICAgICAiXFxcIlxcXCJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIicnJyIsCiAgICAgICAgIicnJyIKICAgICAgXQogICAgXQogIH0sCiAgIlZpbSBTY3JpcHQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiXFxcIiIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInZpbSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIk1lc29uIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdLAogICAgICBbCiAgICAgICAgIicnJyIsCiAgICAgICAgIicnJyIKICAgICAgXQogICAgXQogIH0sCiAgIlNwaWNlIE5ldGxpc3QiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiKiIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImNrdCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiTVFMNCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm1xNCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiTVFMNSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm1xNSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiTVFMIEhlYWRlciI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm1xaCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiWE1MIFNjaGVtYSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInhzZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiRG9jdW1lbnQgVHlwZSBEZWZpbml0aW9uIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZHRkIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJNYWNyb21lZGlhIGVYdGVuc2libGUgTWFya3VwIExhbmd1YWdlIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibXhtbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiRXh0ZW5zaWJsZSBTdHlsZXNoZWV0IExhbmd1YWdlIFRyYW5zZm9ybWF0aW9ucyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInhzbHQiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIklETCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImlkbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiQ3l0aG9uIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJhbmQgIiwKICAgICAgIm9yICIsCiAgICAgICJub3QgIiwKICAgICAgImluICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInB5eCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXSwKICAgICAgWwogICAgICAgICJcXFwiXFxcIlxcXCIiLAogICAgICAgICJcXFwiXFxcIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJycnIiwKICAgICAgICAiJycnIgogICAgICBdCiAgICBdCiAgfSwKICAiTEVYIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAic2VkIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJhbmQgIiwKICAgICAgIm9yICIsCiAgICAgICJub3QgIiwKICAgICAgImluICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInNlZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAibTQiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtNCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiU21hcnR5IFRlbXBsYXRlIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiLAogICAgICAiaW5jbHVkZSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0cGwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAieyoiLAogICAgICAgICIqfSIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIkV4cGVjdCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZXhwIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlxcXCIiLAogICAgICAgICJcXFwiIgogICAgICBdLAogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdCiAgICBdCiAgfSwKICAiSmF2YVNlcnZlciBQYWdlcyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImpzcCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiU0tJTEwiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiOyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImlsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIi8qIiwKICAgICAgICAiKi8iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJBV0siOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJhd2siCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIk1VTVBTIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIjsiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJmb3IgIiwKICAgICAgImZvcigiLAogICAgICAiaWYgIiwKICAgICAgImlmKCIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJtcHMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIktvcm4gU2hlbGwiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImtzaCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcXFwiIiwKICAgICAgICAiXFxcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXQogICAgXQogIH0sCiAgIk1vZHVsYTMiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm0zIiwKICAgICAgIm1nIiwKICAgICAgImlnIiwKICAgICAgImkzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIigqIiwKICAgICAgICAiKikiCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJMT0xDT0RFIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIkJUVyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgIkFXU1VNIFRIWCAiLAogICAgICAiTyBOT0VTICIsCiAgICAgICJQTFogT1BFTiBGSUxFICIsCiAgICAgICJJTSBJTiBZUiAiLAogICAgICAiTyBSTFk/IiwKICAgICAgIk8gUkxZPyAiLAogICAgICAiV1RGPyIsCiAgICAgICJXVEY/ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImxvbCIsCiAgICAgICJsb2xzIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIk9CVFciLAogICAgICAgICJUTERSIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiU29mdGJyaWRnZSBCYXNpYyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICInIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAiZWxzZWlmICIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJzYmwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJnaXRpZ25vcmUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiIyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICIuZ2l0aWdub3JlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJCYXNpYyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICInIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAiZWxzZWlmICIsCiAgICAgICJzd2l0Y2ggIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJiYXMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJGcmVlbWFya2VyIFRlbXBsYXRlIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICI8I2xpc3QgIiwKICAgICAgIjwjYXNzaWduICIsCiAgICAgICI8I2lmICIsCiAgICAgICI8I2Vsc2VpZiAiLAogICAgICAiPCNlbHNlPiIsCiAgICAgICI8I2Vsc2U+ICIsCiAgICAgICI8I3N3aXRjaCAgIiwKICAgICAgIjwjY2FzZSAiLAogICAgICAiPCNkZWZhdWx0PiIsCiAgICAgICI8I2RlZmF1bHQ+ICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZnRsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgIjwjLS0iLAogICAgICAgICItLT4iCiAgICAgIF0KICAgIF0sCiAgICAicXVvdGVzIjogW10KICB9LAogICJHcmFkbGUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8iCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZ3JhZGxlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogWwogICAgICBbCiAgICAgICAgIiciLAogICAgICAgICInIgogICAgICBdLAogICAgICBbCiAgICAgICAgIlwiIiwKICAgICAgICAiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJCcmFpbmZ1Y2siOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgIlsiLAogICAgICAiXSIsCiAgICAgICI8IiwKICAgICAgIj4iLAogICAgICAiKyIsCiAgICAgICItIiwKICAgICAgIi4iLAogICAgICAiLCIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImJmIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJMYVRlWCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIlIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInRleCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiQm9vIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJpZiAiLAogICAgICAiZWxpZiAiLAogICAgICAidW5sZXNzICIsCiAgICAgICIgYW5kICIsCiAgICAgICJmb3IgIiwKICAgICAgIndoaWxlICIsCiAgICAgICJlbHNlICIsCiAgICAgICJ8fCAiLAogICAgICAiJiYgIiwKICAgICAgIiE9ICIsCiAgICAgICI9PSAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0ZXgiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiLyoiLAogICAgICAgICIqLyIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXSwKICAgICAgWwogICAgICAgICInIiwKICAgICAgICAiJyIKICAgICAgXSwKICAgICAgWwogICAgICAgICJcIlwiXCIiLAogICAgICAgICJcIlwiXCIiCiAgICAgIF0KICAgIF0KICB9LAogICJKZW5raW5zIEJ1aWxkZmlsZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgImplbmtpbnNmaWxlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJMaWNlbnNlIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAibGljZW5zZSIsCiAgICAgICJsaWNlbmNlIiwKICAgICAgImNvcHlpbmciLAogICAgICAiY29weWluZzMiLAogICAgICAidW5saWNlbnNlIiwKICAgICAgInVubGljZW5jZSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiUm9ib3QgRnJhbWV3b3JrIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicm9ib3QiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlBhdGNoIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicGF0Y2giCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlByb3BlcnRpZXMgRmlsZSI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInByb3BlcnRpZXMiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlB1cHBldCI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiZm9yICIsCiAgICAgICJmb3IoIiwKICAgICAgImlmICIsCiAgICAgICJpZigiLAogICAgICAic3dpdGNoICIsCiAgICAgICJ3aGlsZSAiLAogICAgICAiZWxzZSAiLAogICAgICAifHwgIiwKICAgICAgIiYmICIsCiAgICAgICIhPSAiLAogICAgICAiPT0gIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAicHAiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPWJlZ2luIiwKICAgICAgICAiPWVuZCIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXFxcIiIsCiAgICAgICAgIlxcXCIiCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAiJyIsCiAgICAgICAgIiciCiAgICAgIF0KICAgIF0KICB9LAogICJDU1YiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJjc3YiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbXSwKICAgICJxdW90ZXMiOiBbXQogIH0sCiAgIlZhcm5pc2ggQ29uZmlndXJhdGlvbiI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIjIiwKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInZjbCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiUEtHQlVJTEQiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJwa2didWlsZCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiR2hlcmtpbiBTcGVjaWZpY2F0aW9uIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIiMiCiAgICBdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbCiAgICAgICJnaXZlbiIsCiAgICAgICJ3aGVuIiwKICAgICAgInRoZW4iLAogICAgICAiYW5kIgogICAgXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAiZmVhdHVyZSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiT3BhbGFuZyI6IHsKICAgICJsaW5lX2NvbW1lbnQiOiBbCiAgICAgICIvLyIKICAgIF0sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgImZvciAiLAogICAgICAiZm9yKCIsCiAgICAgICJpZiAiLAogICAgICAiaWYoIiwKICAgICAgInN3aXRjaCAiLAogICAgICAid2hpbGUgIiwKICAgICAgImVsc2UgIiwKICAgICAgInx8ICIsCiAgICAgICImJiAiLAogICAgICAiIT0gIiwKICAgICAgIj09ICIKICAgIF0sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgIm9wYSIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFsKICAgICAgWwogICAgICAgICIvKiIsCiAgICAgICAgIiovIgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFsKICAgICAgWwogICAgICAgICJcIiIsCiAgICAgICAgIlwiIgogICAgICBdCiAgICBdCiAgfSwKICAiUmVwb3J0IERlZmluaXRpb24gTGFuZ3VhZ2UiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFtdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJyZGwiCiAgICBdLAogICAgIm11bHRpX2xpbmUiOiBbCiAgICAgIFsKICAgICAgICAiPCEtLSIsCiAgICAgICAgIi0tPiIKICAgICAgXQogICAgXSwKICAgICJxdW90ZXMiOiBbCiAgICAgIFsKICAgICAgICAiXCIiLAogICAgICAgICJcIiIKICAgICAgXQogICAgXQogIH0sCiAgIkphZGUiOiB7CiAgICAibGluZV9jb21tZW50IjogWwogICAgICAiLy8tIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogWwogICAgICAiaWYgIiwKICAgICAgImVsc2UgaWYgIiwKICAgICAgInVubGVzcyAiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJqYWRlIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9LAogICJTUERYIjogewogICAgImxpbmVfY29tbWVudCI6IFtdLAogICAgImNvbXBsZXhpdHljaGVja3MiOiBbXSwKICAgICJleHRlbnNpb25zIjogWwogICAgICAic3BkeCIKICAgIF0sCiAgICAibXVsdGlfbGluZSI6IFtdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiR28gVGVtcGxhdGUiOiB7CiAgICAibGluZV9jb21tZW50IjogW10sCiAgICAiY29tcGxleGl0eWNoZWNrcyI6IFsKICAgICAgInt7aWYgIiwKICAgICAgInt7IGlmICIsCiAgICAgICJ7e2Vsc2UiLAogICAgICAie3sgZWxzZSIsCiAgICAgICJ7e3JhbmdlICIsCiAgICAgICJ7eyByYW5nZSAiLAogICAgICAie3t3aXRoIiwKICAgICAgInt7IHdpdGgiCiAgICBdLAogICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICJ0bXBsIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogWwogICAgICBbCiAgICAgICAgInt7LyoiLAogICAgICAgICIqL319IgogICAgICBdCiAgICBdLAogICAgInF1b3RlcyI6IFtdCiAgfSwKICAiWENvZGUgQ29uZmlnIjogewogICAgImxpbmVfY29tbWVudCI6IFsKICAgICAgIi8vIgogICAgXSwKICAgICJjb21wbGV4aXR5Y2hlY2tzIjogW10sCiAgICAiZXh0ZW5zaW9ucyI6IFsKICAgICAgInhjY29uZmlnIgogICAgXSwKICAgICJtdWx0aV9saW5lIjogW10sCiAgICAicXVvdGVzIjogW10KICB9Cn0=` ) diff --git a/processor/file.go b/processor/file.go index 803888dcd..8691efd1e 100644 --- a/processor/file.go +++ b/processor/file.go @@ -25,12 +25,15 @@ func getExtension(name string) string { return extension.(string) } - loc := strings.LastIndex(name, ".") + locs := strings.Split(name, ".") - if loc == -1 || loc == 0 { + switch { + case len(locs) == 0 || len(locs) == 1 || strings.LastIndex(name, ".") == 0: extension = name - } else { - extension = name[loc+1:] + case len(locs) == 2: + extension = locs[len(locs)-1] + default: + extension = locs[len(locs)-2] + "." + locs[len(locs)-1] } extensionCache.Store(name, extension) @@ -109,15 +112,20 @@ func walkDirectoryParallel(root string, output *chan *FileJob) { if !info.IsDir() { if gitignoreerror != nil || !gitignore.Match(filepath.Join(root, info.Name()), false) { - extension = getExtension(info.Name()) - - // If unknown lookup in case the full name matches + // Lookup in case the full name matches language, ok := extensionLookup[strings.ToLower(info.Name())] + // If no match check if we have a matching extension if !ok { + extension = getExtension(info.Name()) language, ok = extensionLookup[extension] } + // Convert from d.ts to ts and check that in case of multiple extensions + if !ok { + language, ok = extensionLookup[getExtension(extension)] + } + if ok { *output <- &FileJob{Location: root, Filename: info.Name(), Extension: extension, Language: language} } else if Verbose { diff --git a/processor/file_test.go b/processor/file_test.go index 45b0178df..d46bc3c69 100644 --- a/processor/file_test.go +++ b/processor/file_test.go @@ -25,7 +25,7 @@ func TestGetExtensionNoExtension(t *testing.T) { func TestGetExtensionMultipleDots(t *testing.T) { got := getExtension(".travis.yml") - expected := "yml" + expected := "travis.yml" if got != expected { t.Errorf("Expected %s got %s", expected, got) @@ -34,7 +34,7 @@ func TestGetExtensionMultipleDots(t *testing.T) { func TestGetExtensionMultipleExtensions(t *testing.T) { got := getExtension("something.go.yml") - expected := "yml" + expected := "go.yml" if got != expected { t.Errorf("Expected %s got %s", expected, got) @@ -50,6 +50,25 @@ func TestGetExtensionStartsWith(t *testing.T) { } } +func TestGetExtensionTypeScriptDefinition(t *testing.T) { + got := getExtension("test.d.ts") + expected := "d.ts" + + if got != expected { + t.Errorf("Expected %s got %s", expected, got) + } +} + +func TestGetExtensionSecondPass(t *testing.T) { + got := getExtension("test.d.ts") + got = getExtension(got) + expected := "ts" + + if got != expected { + t.Errorf("Expected %s got %s", expected, got) + } +} + func BenchmarkGetExtensionDifferent(b *testing.B) { for i := 0; i < b.N; i++ {