@tricoteuses/assemblee 1.8.0 → 1.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/lib/bugs/acteur-00010/plugin.test.js +2 -2
  2. package/lib/bugs/acteur-00010.js +3 -3
  3. package/lib/bugs/agenda-00002/plugin.test.js +3 -3
  4. package/lib/bugs/agenda-00002.js +5 -5
  5. package/lib/bugs/agenda-00008/plugin.test.js +2 -2
  6. package/lib/bugs/agenda-00008.js +3 -3
  7. package/lib/bugs/agenda-00011/plugin.test.js +6 -6
  8. package/lib/bugs/agenda-00011.js +8 -8
  9. package/lib/bugs.js +11 -11
  10. package/lib/cleaners/index.d.ts +1 -0
  11. package/lib/cleaners/index.js +8 -1
  12. package/lib/cleaners/index.mjs +2 -1
  13. package/lib/cleaners/scrutins.js +2 -1
  14. package/lib/cleaners/scrutins.mjs +3 -2
  15. package/lib/cleaners/textes_loi.d.ts +1 -0
  16. package/lib/cleaners/textes_loi.js +12 -0
  17. package/lib/cleaners/textes_loi.mjs +5 -0
  18. package/lib/cleaners/xml.d.ts +3 -0
  19. package/lib/cleaners/xml.js +13 -1
  20. package/lib/cleaners/xml.mjs +11 -1
  21. package/lib/datasets.d.ts +9 -2
  22. package/lib/datasets.js +24 -3
  23. package/lib/datasets.mjs +24 -3
  24. package/lib/dates.js +3 -3
  25. package/lib/examples/PIONANR5L15B0020/input.d.ts +2 -0
  26. package/lib/examples/PIONANR5L15B0020/input.js +10 -0
  27. package/lib/examples/PIONANR5L15B0020/input.mjs +193 -0
  28. package/lib/examples/PRJLANR5L16B0914/input.d.ts +2 -0
  29. package/lib/examples/PRJLANR5L16B0914/input.js +10 -0
  30. package/lib/examples/PRJLANR5L16B0914/input.mjs +322 -0
  31. package/lib/examples/PRJLANR5L16B2014/input.d.ts +2 -0
  32. package/lib/examples/PRJLANR5L16B2014/input.js +10 -0
  33. package/lib/examples/PRJLANR5L16B2014/input.mjs +577 -0
  34. package/lib/examples/PRJLANR5L16B2424/input.d.ts +2 -0
  35. package/lib/examples/PRJLANR5L16B2424/input.js +10 -0
  36. package/lib/examples/PRJLANR5L16B2424/input.mjs +322 -0
  37. package/lib/examples/PRJLANR5L16B2462/input.d.ts +2 -0
  38. package/lib/examples/PRJLANR5L16B2462/input.js +10 -0
  39. package/lib/examples/PRJLANR5L16B2462/input.mjs +1308 -0
  40. package/lib/loaders.d.ts +5 -0
  41. package/lib/loaders.js +308 -262
  42. package/lib/loaders.mjs +16 -3
  43. package/lib/logger.d.ts +16 -0
  44. package/lib/logger.js +35 -0
  45. package/lib/logger.mjs +26 -0
  46. package/lib/parsers/documents.js +2 -2
  47. package/lib/parsers/textes_lois.d.ts +16 -1
  48. package/lib/parsers/textes_lois.js +733 -28
  49. package/lib/parsers/textes_lois.mjs +587 -22
  50. package/lib/raw_types/acteurs_et_organes.js +1 -1
  51. package/lib/raw_types/agendas.js +1 -1
  52. package/lib/raw_types/amendements.js +1 -1
  53. package/lib/raw_types/debats.js +1 -1
  54. package/lib/raw_types/dossiers_legislatifs.js +1 -1
  55. package/lib/raw_types/questions.js +1 -1
  56. package/lib/raw_types/scrutins.d.ts +18 -13
  57. package/lib/raw_types/scrutins.js +28 -14
  58. package/lib/raw_types/scrutins.mjs +28 -14
  59. package/lib/raw_types/textes_loi.d.ts +93 -0
  60. package/lib/raw_types/textes_loi.js +429 -0
  61. package/lib/raw_types/textes_loi.mjs +378 -0
  62. package/lib/scripts/bugs_helper.js +9 -9
  63. package/lib/scripts/document_dossiers_legislatifs.js +1 -1
  64. package/lib/scripts/process_open_dataset.d.ts +17 -0
  65. package/lib/scripts/process_open_dataset.js +302 -0
  66. package/lib/scripts/process_open_dataset.mjs +136 -0
  67. package/lib/scripts/process_textes_loi_dataset.d.ts +7 -0
  68. package/lib/scripts/process_textes_loi_dataset.js +374 -0
  69. package/lib/scripts/process_textes_loi_dataset.mjs +237 -0
  70. package/lib/scripts/raw_types_from_amendements.js +2 -2
  71. package/lib/scripts/reorganize_data.js +1 -1
  72. package/lib/scripts/reorganize_data.mjs +1 -1
  73. package/lib/scripts/retrieve_deputes_photos.js +3 -3
  74. package/lib/scripts/retrieve_documents.js +4 -4
  75. package/lib/scripts/retrieve_open_data.js +41 -279
  76. package/lib/scripts/retrieve_open_data.mjs +13 -126
  77. package/lib/scripts/retrieve_pending_amendments.js +2 -2
  78. package/lib/scripts/retrieve_senateurs_photos.js +2 -2
  79. package/lib/scripts/retrieve_textes_lois.js +2 -2
  80. package/lib/scripts/shared/cli_helpers.d.ts +5 -0
  81. package/lib/scripts/shared/cli_helpers.js +7 -2
  82. package/lib/scripts/shared/cli_helpers.mjs +6 -1
  83. package/lib/scripts/test_iter_load.js +25 -10
  84. package/lib/scripts/test_iter_load.mjs +19 -11
  85. package/lib/scripts/validate_json.js +3 -3
  86. package/lib/types/acteurs_et_organes.js +1 -1
  87. package/lib/types/agendas.js +1 -1
  88. package/lib/types/amendements.js +1 -1
  89. package/lib/types/debats.js +1 -1
  90. package/lib/types/dossiers_legislatifs.js +1 -1
  91. package/lib/types/questions.js +1 -1
  92. package/lib/types/scrutins.d.ts +6 -3
  93. package/lib/types/scrutins.js +13 -7
  94. package/lib/types/scrutins.mjs +13 -7
  95. package/lib/types/textes_loi.d.ts +94 -0
  96. package/lib/types/textes_loi.js +429 -0
  97. package/lib/types/textes_loi.mjs +378 -0
  98. package/package.json +13 -12
  99. package/lib/scripts/retrieve_textes_lois_llm.d.ts +0 -1
  100. package/lib/scripts/retrieve_textes_lois_llm.js +0 -188
  101. package/lib/scripts/retrieve_textes_lois_llm.mjs +0 -85
@@ -466,4 +466,4 @@ var typeMap = {
466
466
  "TypeJo": ["JO_QUESTION", "JO_LOI_DECRET", "JO_DEBAT"],
467
467
  "Type": ["QE", "QG", "QOSD"]
468
468
  };
469
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWVzdGlvblhzaVR5cGUiLCJleHBvcnRzIiwiVHlwZUpvIiwiVHlwZSIsIkNvbnZlcnQiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsInRvUXVlc3Rpb25zIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwicXVlc3Rpb25zVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9RdWVzdGlvbldyYXBwZXIiLCJxdWVzdGlvbldyYXBwZXJUb0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJFcnJvciIsImNvbmNhdCIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRyYW5zZm9ybVVuaW9uIiwidHlwcyIsImwiLCJpIiwiXyIsInRyYW5zZm9ybUVudW0iLCJjYXNlcyIsImluZGV4T2YiLCJ0cmFuc2Zvcm1BcnJheSIsIkFycmF5IiwiaXNBcnJheSIsImVsIiwidHJhbnNmb3JtRGF0ZSIsImQiLCJEYXRlIiwiaXNOYU4iLCJ2YWx1ZU9mIiwidHJhbnNmb3JtT2JqZWN0IiwiYWRkaXRpb25hbCIsInJlc3VsdCIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wIiwidiIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlZiIsInR5cGVNYXAiLCJ1bmlvbk1lbWJlcnMiLCJhcnJheUl0ZW1zIiwiYSIsInUiLCJfbGVuIiwiX2tleSIsIm8iLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jhd190eXBlcy9xdWVzdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgUXVlc3Rpb25zLCBRdWVzdGlvbldyYXBwZXIgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBxdWVzdGlvbnMgPSBDb252ZXJ0LnRvUXVlc3Rpb25zanNvbik7XG4vLyAgIGNvbnN0IHF1ZXN0aW9uV3JhcHBlciA9IENvbnZlcnQudG9RdWVzdGlvbldyYXBwZXIoanNvbik7XG4vL1xuLy8gVGhlc2UgZnVuY3Rpb25zIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIEpTT04gZG9lc24ndFxuLy8gbWF0Y2ggdGhlIGV4cGVjdGVkIGludGVyZmFjZSwgZXZlbiBpZiB0aGUgSlNPTiBpcyB2YWxpZC5cblxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbnMge1xuICAgIHF1ZXN0aW9uczogUXVlc3Rpb25zQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25zQ2xhc3Mge1xuICAgIHF1ZXN0aW9uOiBRdWVzdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uV3JhcHBlciB7XG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb24ge1xuICAgIFwiQHhtbG5zXCI/OiAgICAgICAgc3RyaW5nO1xuICAgIFwiQHhtbG5zOnhzaVwiOiAgICAgc3RyaW5nO1xuICAgIFwiQHhzaTp0eXBlXCI6ICAgICAgUXVlc3Rpb25Yc2lUeXBlO1xuICAgIHVpZDogICAgICAgICAgICAgIHN0cmluZztcbiAgICBpZGVudGlmaWFudDogICAgICBJZGVudGlmaWFudDtcbiAgICB0eXBlOiAgICAgICAgICAgICBUeXBlO1xuICAgIGluZGV4YXRpb25BTjogICAgIEluZGV4YXRpb25BbjtcbiAgICBhdXRldXI6ICAgICAgICAgICBBdXRldXI7XG4gICAgbWluSW50OiAgICAgICAgICAgR3JvdXBlO1xuICAgIG1pbkF0dHJpYnM6ICAgICAgIE1pbkF0dHJpYnM7XG4gICAgdGV4dGVzUXVlc3Rpb24/OiAgVGV4dGVzUXVlc3Rpb24gfCBudWxsO1xuICAgIHRleHRlc1JlcG9uc2U/OiAgIFRleHRlc1JlcG9uc2UgfCBudWxsO1xuICAgIGNsb3R1cmU/OiAgICAgICAgIENsb3R1cmUgfCBudWxsO1xuICAgIHNpZ25hbGVtZW50PzogICAgIFNpZ25hbGVtZW50IHwgbnVsbDtcbiAgICByZW5vdXZlbGxlbWVudHM/OiBSZW5vdXZlbGxlbWVudHMgfCBudWxsO1xufVxuXG5leHBvcnQgZW51bSBRdWVzdGlvblhzaVR5cGUge1xuICAgIFF1ZXN0aW9uRWNyaXRlID0gXCJRdWVzdGlvbkVjcml0ZV9UeXBlXCIsXG4gICAgUXVlc3Rpb25Hb3V2ZXJuZW1lbnQgPSBcIlF1ZXN0aW9uR291dmVybmVtZW50X1R5cGVcIixcbiAgICBRdWVzdGlvbk9yYWxlID0gXCJRdWVzdGlvbk9yYWxlX1R5cGVcIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGV1ciB7XG4gICAgaWRlbnRpdGU6IElkZW50aXRlO1xuICAgIGdyb3VwZTogICBHcm91cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlIHtcbiAgICBvcmdhbmVSZWY6IHN0cmluZztcbiAgICBhYnJlZ2U6ICAgIHN0cmluZztcbiAgICBkZXZlbG9wcGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0ZSB7XG4gICAgYWN0ZXVyUmVmOiBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdHVyZSB7XG4gICAgY29kZUNsb3R1cmU6ICAgIHN0cmluZztcbiAgICBsaWJlbGxlQ2xvdHVyZTogc3RyaW5nO1xuICAgIGRhdGVDbG90dXJlOiAgICBzdHJpbmc7XG4gICAgaW5mb0pPOiAgICAgICAgIEluZm9KbyB8IG51bGw7XG59XG5cbmV4cG9ydCBlbnVtIFR5cGVKbyB7XG4gICAgSm9RdWVzdGlvbiA9IFwiSk9fUVVFU1RJT05cIixcbiAgICBKb0xvaURlY3JldCA9IFwiSk9fTE9JX0RFQ1JFVFwiLFxuICAgIEpvRGViYXRlID0gXCJKT19ERUJBVFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpYW50IHtcbiAgICBudW1lcm86ICAgICAgc3RyaW5nO1xuICAgIHJlZ2ltZTogICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmRleGF0aW9uQW4ge1xuICAgIHJ1YnJpcXVlOiAgICBzdHJpbmcgfCBudWxsO1xuICAgIHRldGVBbmFseXNlOiBudWxsO1xuICAgIGFuYWx5c2VzOiAgICAgQW5hbHlzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmFseXNlIHtcbiAgICBhbmFseXNlOiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbkF0dHJpYnMge1xuICAgIG1pbkF0dHJpYjogTWluQXR0cmliRWxlbWVudFtdIHwgTWluQXR0cmliRWxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5BdHRyaWJFbGVtZW50IHtcbiAgICBpbmZvSk86IEluZm9KbztcbiAgICBkZW5vbWluYXRpb246IEdyb3VwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZXNRdWVzdGlvbiB7XG4gICAgdGV4dGVRdWVzdGlvbjogVGV4dGVbXSB8IFRleHRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlIHtcbiAgICBpbmZvSk86IEluZm9KbztcbiAgICB0ZXh0ZTogIHN0cmluZyB8IG51bGw7XG4gICAgZXJyYXR1bT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvSm8ge1xuICAgIHR5cGVKTzogICAgICAgICAgVHlwZUpvIHwgbnVsbDtcbiAgICBkYXRlSk86ICAgICAgICAgIHN0cmluZztcbiAgICBwYWdlSk86ICAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gICAgbnVtSk86ICAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICAgIHVybExlZ2lmcmFuY2U6ICAgc3RyaW5nIHwgbnVsbDtcbiAgICByZWZlcmVuY2VOT1I6ICAgIHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dGVzUmVwb25zZSB7XG4gICAgdGV4dGVSZXBvbnNlOiBUZXh0ZVtdIHwgVGV4dGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmFsZW1lbnQge1xuICAgIGRhdGVEZXBvdFNpZ25hbDogIHN0cmluZztcbiAgICBpbmZvSk86ICAgICAgICAgICBJbmZvSm87XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVub3V2ZWxsZW1lbnRzIHtcbiAgICByZW5vdXZlbGxlbWVudDogUmVub3V2ZWxsZW1lbnRbXSB8IFJlbm91dmVsbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbm91dmVsbGVtZW50IHtcbiAgICBpbmZvSk86IEluZm9Kbztcbn1cblxuZXhwb3J0IGVudW0gVHlwZSB7XG4gICAgUWUgPSBcIlFFXCIsXG4gICAgUWcgPSBcIlFHXCIsXG4gICAgUW9zZCA9IFwiUU9TRFwiXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICAgIHB1YmxpYyBzdGF0aWMgdG9RdWVzdGlvbnMoanNvbjogc3RyaW5nKTogUXVlc3Rpb25zIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlF1ZXN0aW9uc1wiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBxdWVzdGlvbnNUb0pzb24odmFsdWU6IFF1ZXN0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJRdWVzdGlvbnNcIikpLCBudWxsLCAyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHRvUXVlc3Rpb25XcmFwcGVyKGpzb246IHN0cmluZyk6IFF1ZXN0aW9uV3JhcHBlciB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJRdWVzdGlvbldyYXBwZXJcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcXVlc3Rpb25XcmFwcGVyVG9Kc29uKHZhbHVlOiBRdWVzdGlvbldyYXBwZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiUXVlc3Rpb25XcmFwcGVyXCIpKSwgbnVsbCwgMik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9ICcnKTogbmV2ZXIge1xuICAgIGlmIChrZXkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgZm9yIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX0gYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KHZhbCl9YCk7XG4gICAgfVxuICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsICk7XG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBtYXA6IGFueSA9IHt9O1xuICAgICAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiBtYXBbcC5qc29uXSA9IHsga2V5OiBwLmpzLCB0eXA6IHAudHlwIH0pO1xuICAgICAgICB0eXAuanNvblRvSlMgPSBtYXA7XG4gICAgfVxuICAgIHJldHVybiB0eXAuanNvblRvSlM7XG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXAuanNUb0pTT04gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBtYXA6IGFueSA9IHt9O1xuICAgICAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiBtYXBbcC5qc10gPSB7IGtleTogcC5qc29uLCB0eXA6IHAudHlwIH0pO1xuICAgICAgICB0eXAuanNUb0pTT04gPSBtYXA7XG4gICAgfVxuICAgIHJldHVybiB0eXAuanNUb0pTT047XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybSh2YWw6IGFueSwgdHlwOiBhbnksIGdldFByb3BzOiBhbnksIGtleTogYW55ID0gJycpOiBhbnkge1xuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXA6IHN0cmluZywgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1Vbmlvbih0eXBzOiBhbnlbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgICAgICBjb25zdCBsID0gdHlwcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0eXAgPSB0eXBzW2ldO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcyk7XG4gICAgICAgICAgICB9IGNhdGNoIChfKSB7fVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1FbnVtKGNhc2VzOiBzdHJpbmdbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoY2FzZXMuaW5kZXhPZih2YWwpICE9PSAtMSkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShjYXNlcywgdmFsKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBpbnZhbGlkVmFsdWUoXCJhcnJheVwiLCB2YWwpO1xuICAgICAgICByZXR1cm4gdmFsLm1hcChlbCA9PiB0cmFuc2Zvcm0oZWwsIHR5cCwgZ2V0UHJvcHMpKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbCk7XG4gICAgICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJEYXRlXCIsIHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSwgYWRkaXRpb25hbDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJvYmplY3RcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV07XG4gICAgICAgICAgICBjb25zdCB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwga2V5KSA/IHZhbFtrZXldIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMsIGtleSkpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWw7XG4gICAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB9XG4gICAgaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbCk7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKSA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKSAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpICAgICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgICAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB9XG4gICAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgICBpZiAodHlwID09PSBEYXRlICYmIHR5cGVvZiB2YWwgIT09IFwibnVtYmVyXCIpIHJldHVybiB0cmFuc2Zvcm1EYXRlKHZhbCk7XG4gICAgcmV0dXJuIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXAsIHZhbCk7XG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNvblRvSlNQcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc1RvSlNPTlByb3BzKTtcbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICAgIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9O1xufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gICAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH07XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9O1xufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9O1xuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB7IHJlZjogbmFtZSB9O1xufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gICAgXCJRdWVzdGlvbnNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJxdWVzdGlvbnNcIiwganM6IFwicXVlc3Rpb25zXCIsIHR5cDogcihcIlF1ZXN0aW9uc0NsYXNzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUXVlc3Rpb25zQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJxdWVzdGlvblwiLCBqczogXCJxdWVzdGlvblwiLCB0eXA6IGEocihcIlF1ZXN0aW9uXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlF1ZXN0aW9uV3JhcHBlclwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInF1ZXN0aW9uXCIsIGpzOiBcInF1ZXN0aW9uXCIsIHR5cDogcihcIlF1ZXN0aW9uXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUXVlc3Rpb25cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnNcIiwganM6IFwiQHhtbG5zXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTp0eXBlXCIsIGpzOiBcIkB4c2k6dHlwZVwiLCB0eXA6IHIoXCJRdWVzdGlvblhzaVR5cGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJpZGVudGlmaWFudFwiLCBqczogXCJpZGVudGlmaWFudFwiLCB0eXA6IHIoXCJJZGVudGlmaWFudFwiKSB9LFxuICAgICAgICB7IGpzb246IFwidHlwZVwiLCBqczogXCJ0eXBlXCIsIHR5cDogcihcIlR5cGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImluZGV4YXRpb25BTlwiLCBqczogXCJpbmRleGF0aW9uQU5cIiwgdHlwOiByKFwiSW5kZXhhdGlvbkFuXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhdXRldXJcIiwganM6IFwiYXV0ZXVyXCIsIHR5cDogcihcIkF1dGV1clwiKSB9LFxuICAgICAgICB7IGpzb246IFwibWluSW50XCIsIGpzOiBcIm1pbkludFwiLCB0eXA6IHIoXCJHcm91cGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1pbkF0dHJpYnNcIiwganM6IFwibWluQXR0cmlic1wiLCB0eXA6IHIoXCJNaW5BdHRyaWJzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZXNRdWVzdGlvblwiLCBqczogXCJ0ZXh0ZXNRdWVzdGlvblwiLCB0eXA6IHUocihcIlRleHRlc1F1ZXN0aW9uXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZXNSZXBvbnNlXCIsIGpzOiBcInRleHRlc1JlcG9uc2VcIiwgdHlwOiB1KHIoXCJUZXh0ZXNSZXBvbnNlXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJjbG90dXJlXCIsIGpzOiBcImNsb3R1cmVcIiwgdHlwOiB1KHIoXCJDbG90dXJlXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJzaWduYWxlbWVudFwiLCBqczogXCJzaWduYWxlbWVudFwiLCB0eXA6IHUocihcIlNpZ25hbGVtZW50XCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJyZW5vdXZlbGxlbWVudHNcIiwganM6IFwicmVub3V2ZWxsZW1lbnRzXCIsIHR5cDogdShyKFwiUmVub3V2ZWxsZW1lbnRzXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQXV0ZXVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaWRlbnRpdGVcIiwganM6IFwiaWRlbnRpdGVcIiwgdHlwOiByKFwiSWRlbnRpdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZVwiLCBqczogXCJncm91cGVcIiwgdHlwOiByKFwiR3JvdXBlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImFicmVnZVwiLCBqczogXCJhYnJlZ2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkZXZlbG9wcGVcIiwganM6IFwiZGV2ZWxvcHBlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIklkZW50aXRlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm1hbmRhdFJlZlwiLCBqczogXCJtYW5kYXRSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQ2xvdHVyZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNvZGVDbG90dXJlXCIsIGpzOiBcImNvZGVDbG90dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZUNsb3R1cmVcIiwganM6IFwibGliZWxsZUNsb3R1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlQ2xvdHVyZVwiLCBqczogXCJkYXRlQ2xvdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiB1KHIoXCJJbmZvSm9cIiksIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSWRlbnRpZmlhbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJudW1lcm9cIiwganM6IFwibnVtZXJvXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicmVnaW1lXCIsIGpzOiBcInJlZ2ltZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkluZGV4YXRpb25BblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInJ1YnJpcXVlXCIsIGpzOiBcInJ1YnJpcXVlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwidGV0ZUFuYWx5c2VcIiwganM6IFwidGV0ZUFuYWx5c2VcIiwgdHlwOiBudWxsIH0sXG4gICAgICAgIHsganNvbjogXCJhbmFseXNlc1wiLCBqczogXCJhbmFseXNlc1wiLCB0eXA6IHIoXCJBbmFseXNlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQW5hbHlzZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFuYWx5c2VcIiwganM6IFwiYW5hbHlzZVwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJNaW5BdHRyaWJzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibWluQXR0cmliXCIsIGpzOiBcIm1pbkF0dHJpYlwiLCB0eXA6IHUoYShyKFwiTWluQXR0cmliRWxlbWVudFwiKSksIHIoXCJNaW5BdHRyaWJFbGVtZW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk1pbkF0dHJpYkVsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVub21pbmF0aW9uXCIsIGpzOiBcImRlbm9taW5hdGlvblwiLCB0eXA6IHIoXCJHcm91cGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJbmZvSm9cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ0eXBlSk9cIiwganM6IFwidHlwZUpPXCIsIHR5cDogdShyKFwiVHlwZUpvXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZUpPXCIsIGpzOiBcImRhdGVKT1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInBhZ2VKT1wiLCBqczogXCJwYWdlSk9cIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJudW1KT1wiLCBqczogXCJudW1KT1wiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInVybExlZ2lmcmFuY2VcIiwganM6IFwidXJsTGVnaWZyYW5jZVwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInJlZmVyZW5jZU5PUlwiLCBqczogXCJyZWZlcmVuY2VOT1JcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVGV4dGVzUXVlc3Rpb25cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZVF1ZXN0aW9uXCIsIGpzOiBcInRleHRlUXVlc3Rpb25cIiwgdHlwOiB1KGEocihcIlRleHRlXCIpKSwgcihcIlRleHRlXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlRleHRlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHIoXCJJbmZvSm9cIikgfSxcbiAgICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiZXJyYXR1bVwiLCBqczogXCJlcnJhdHVtXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUZXh0ZXNSZXBvbnNlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGV4dGVSZXBvbnNlXCIsIGpzOiBcInRleHRlUmVwb25zZVwiLCB0eXA6IHUoYShyKFwiVGV4dGVcIikpLCByKFwiVGV4dGVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU2lnbmFsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZURlcG90U2lnbmFsXCIsIGpzOiBcImRhdGVEZXBvdFNpZ25hbFwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJSZW5vdXZlbGxlbWVudHNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJyZW5vdXZlbGxlbWVudFwiLCBqczogXCJyZW5vdXZlbGxlbWVudFwiLCB0eXA6IHUoYShyKFwiUmVub3V2ZWxsZW1lbnRcIikpLCByKFwiUmVub3V2ZWxsZW1lbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUmVub3V2ZWxsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9XG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUXVlc3Rpb25Yc2lUeXBlXCI6IFtcbiAgICAgICAgXCJRdWVzdGlvbkVjcml0ZV9UeXBlXCIsXG4gICAgICAgIFwiUXVlc3Rpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiLFxuICAgICAgICBcIlF1ZXN0aW9uT3JhbGVfVHlwZVwiXG4gICAgXSxcbiAgICBcIlR5cGVKb1wiOiBbXG4gICAgICAgIFwiSk9fUVVFU1RJT05cIixcbiAgICAgICAgXCJKT19MT0lfREVDUkVUXCIsXG4gICAgICAgIFwiSk9fREVCQVRcIlxuICAgIF0sXG4gICAgXCJUeXBlXCI6IFtcbiAgICAgICAgXCJRRVwiLFxuICAgICAgICBcIlFHXCIsXG4gICAgICAgIFwiUU9TRFwiXG4gICAgXSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLElBZ0NZQSxlQUFlLEdBQUFDLE9BQUEsQ0FBQUQsZUFBQSwwQkFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFBLE9BQWZBLGVBQWU7QUFBQTtBQUFBLElBNkJmRSxNQUFNLEdBQUFELE9BQUEsQ0FBQUMsTUFBQSwwQkFBTkEsTUFBTTtFQUFOQSxNQUFNO0VBQU5BLE1BQU07RUFBTkEsTUFBTTtFQUFBLE9BQU5BLE1BQU07QUFBQTtBQUFBLElBbUVOQyxJQUFJLEdBQUFGLE9BQUEsQ0FBQUUsSUFBQSwwQkFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFBLE9BQUpBLElBQUk7QUFBQSxPQU1oQjtBQUNBO0FBQUEsSUFDYUMsT0FBTyxHQUFBSCxPQUFBLENBQUFHLE9BQUE7RUFBQSxTQUFBQSxRQUFBO0lBQUFDLGVBQUEsT0FBQUQsT0FBQTtFQUFBO0VBQUEsT0FBQUUsWUFBQSxDQUFBRixPQUFBO0lBQUFHLEdBQUE7SUFBQUMsS0FBQSxFQUNoQixTQUFBQyxZQUEwQkMsSUFBWSxFQUFhO01BQy9DLE9BQU9DLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBQUNILElBQUksQ0FBQyxFQUFFSSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakQ7RUFBQztJQUFBUCxHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBTyxnQkFBOEJQLEtBQWdCLEVBQVU7TUFDcEQsT0FBT0ksSUFBSSxDQUFDSSxTQUFTLENBQUNDLE1BQU0sQ0FBQ1QsS0FBSyxFQUFFTSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxJQUFJ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
469
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWVzdGlvblhzaVR5cGUiLCJleHBvcnRzIiwiVHlwZUpvIiwiVHlwZSIsIkNvbnZlcnQiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsInRvUXVlc3Rpb25zIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwicXVlc3Rpb25zVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9RdWVzdGlvbldyYXBwZXIiLCJxdWVzdGlvbldyYXBwZXJUb0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJFcnJvciIsImNvbmNhdCIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRyYW5zZm9ybVVuaW9uIiwidHlwcyIsImwiLCJpIiwiXyIsInRyYW5zZm9ybUVudW0iLCJjYXNlcyIsImluZGV4T2YiLCJ0cmFuc2Zvcm1BcnJheSIsIkFycmF5IiwiaXNBcnJheSIsImVsIiwidHJhbnNmb3JtRGF0ZSIsImQiLCJEYXRlIiwiaXNOYU4iLCJ2YWx1ZU9mIiwidHJhbnNmb3JtT2JqZWN0IiwiYWRkaXRpb25hbCIsInJlc3VsdCIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wIiwidiIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlZiIsInR5cGVNYXAiLCJ1bmlvbk1lbWJlcnMiLCJhcnJheUl0ZW1zIiwiYSIsInUiLCJfbGVuIiwiX2tleSIsIm8iLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jhd190eXBlcy9xdWVzdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgUXVlc3Rpb25zLCBRdWVzdGlvbldyYXBwZXIgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBxdWVzdGlvbnMgPSBDb252ZXJ0LnRvUXVlc3Rpb25zanNvbik7XG4vLyAgIGNvbnN0IHF1ZXN0aW9uV3JhcHBlciA9IENvbnZlcnQudG9RdWVzdGlvbldyYXBwZXIoanNvbik7XG4vL1xuLy8gVGhlc2UgZnVuY3Rpb25zIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIEpTT04gZG9lc24ndFxuLy8gbWF0Y2ggdGhlIGV4cGVjdGVkIGludGVyZmFjZSwgZXZlbiBpZiB0aGUgSlNPTiBpcyB2YWxpZC5cblxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbnMge1xuICAgIHF1ZXN0aW9uczogUXVlc3Rpb25zQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25zQ2xhc3Mge1xuICAgIHF1ZXN0aW9uOiBRdWVzdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uV3JhcHBlciB7XG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb24ge1xuICAgIFwiQHhtbG5zXCI/OiAgICAgICAgc3RyaW5nO1xuICAgIFwiQHhtbG5zOnhzaVwiOiAgICAgc3RyaW5nO1xuICAgIFwiQHhzaTp0eXBlXCI6ICAgICAgUXVlc3Rpb25Yc2lUeXBlO1xuICAgIHVpZDogICAgICAgICAgICAgIHN0cmluZztcbiAgICBpZGVudGlmaWFudDogICAgICBJZGVudGlmaWFudDtcbiAgICB0eXBlOiAgICAgICAgICAgICBUeXBlO1xuICAgIGluZGV4YXRpb25BTjogICAgIEluZGV4YXRpb25BbjtcbiAgICBhdXRldXI6ICAgICAgICAgICBBdXRldXI7XG4gICAgbWluSW50OiAgICAgICAgICAgR3JvdXBlO1xuICAgIG1pbkF0dHJpYnM6ICAgICAgIE1pbkF0dHJpYnM7XG4gICAgdGV4dGVzUXVlc3Rpb24/OiAgVGV4dGVzUXVlc3Rpb24gfCBudWxsO1xuICAgIHRleHRlc1JlcG9uc2U/OiAgIFRleHRlc1JlcG9uc2UgfCBudWxsO1xuICAgIGNsb3R1cmU/OiAgICAgICAgIENsb3R1cmUgfCBudWxsO1xuICAgIHNpZ25hbGVtZW50PzogICAgIFNpZ25hbGVtZW50IHwgbnVsbDtcbiAgICByZW5vdXZlbGxlbWVudHM/OiBSZW5vdXZlbGxlbWVudHMgfCBudWxsO1xufVxuXG5leHBvcnQgZW51bSBRdWVzdGlvblhzaVR5cGUge1xuICAgIFF1ZXN0aW9uRWNyaXRlID0gXCJRdWVzdGlvbkVjcml0ZV9UeXBlXCIsXG4gICAgUXVlc3Rpb25Hb3V2ZXJuZW1lbnQgPSBcIlF1ZXN0aW9uR291dmVybmVtZW50X1R5cGVcIixcbiAgICBRdWVzdGlvbk9yYWxlID0gXCJRdWVzdGlvbk9yYWxlX1R5cGVcIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGV1ciB7XG4gICAgaWRlbnRpdGU6IElkZW50aXRlO1xuICAgIGdyb3VwZTogICBHcm91cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlIHtcbiAgICBvcmdhbmVSZWY6IHN0cmluZztcbiAgICBhYnJlZ2U6ICAgIHN0cmluZztcbiAgICBkZXZlbG9wcGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0ZSB7XG4gICAgYWN0ZXVyUmVmOiBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdHVyZSB7XG4gICAgY29kZUNsb3R1cmU6ICAgIHN0cmluZztcbiAgICBsaWJlbGxlQ2xvdHVyZTogc3RyaW5nO1xuICAgIGRhdGVDbG90dXJlOiAgICBzdHJpbmc7XG4gICAgaW5mb0pPOiAgICAgICAgIEluZm9KbyB8IG51bGw7XG59XG5cbmV4cG9ydCBlbnVtIFR5cGVKbyB7XG4gICAgSm9RdWVzdGlvbiA9IFwiSk9fUVVFU1RJT05cIixcbiAgICBKb0xvaURlY3JldCA9IFwiSk9fTE9JX0RFQ1JFVFwiLFxuICAgIEpvRGViYXRlID0gXCJKT19ERUJBVFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpYW50IHtcbiAgICBudW1lcm86ICAgICAgc3RyaW5nO1xuICAgIHJlZ2ltZTogICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmRleGF0aW9uQW4ge1xuICAgIHJ1YnJpcXVlOiAgICBzdHJpbmcgfCBudWxsO1xuICAgIHRldGVBbmFseXNlOiBudWxsO1xuICAgIGFuYWx5c2VzOiAgICAgQW5hbHlzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmFseXNlIHtcbiAgICBhbmFseXNlOiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbkF0dHJpYnMge1xuICAgIG1pbkF0dHJpYjogTWluQXR0cmliRWxlbWVudFtdIHwgTWluQXR0cmliRWxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5BdHRyaWJFbGVtZW50IHtcbiAgICBpbmZvSk86IEluZm9KbztcbiAgICBkZW5vbWluYXRpb246IEdyb3VwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZXNRdWVzdGlvbiB7XG4gICAgdGV4dGVRdWVzdGlvbjogVGV4dGVbXSB8IFRleHRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlIHtcbiAgICBpbmZvSk86IEluZm9KbztcbiAgICB0ZXh0ZTogIHN0cmluZyB8IG51bGw7XG4gICAgZXJyYXR1bT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvSm8ge1xuICAgIHR5cGVKTzogICAgICAgICAgVHlwZUpvIHwgbnVsbDtcbiAgICBkYXRlSk86ICAgICAgICAgIHN0cmluZztcbiAgICBwYWdlSk86ICAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gICAgbnVtSk86ICAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICAgIHVybExlZ2lmcmFuY2U6ICAgc3RyaW5nIHwgbnVsbDtcbiAgICByZWZlcmVuY2VOT1I6ICAgIHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dGVzUmVwb25zZSB7XG4gICAgdGV4dGVSZXBvbnNlOiBUZXh0ZVtdIHwgVGV4dGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmFsZW1lbnQge1xuICAgIGRhdGVEZXBvdFNpZ25hbDogIHN0cmluZztcbiAgICBpbmZvSk86ICAgICAgICAgICBJbmZvSm87XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVub3V2ZWxsZW1lbnRzIHtcbiAgICByZW5vdXZlbGxlbWVudDogUmVub3V2ZWxsZW1lbnRbXSB8IFJlbm91dmVsbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbm91dmVsbGVtZW50IHtcbiAgICBpbmZvSk86IEluZm9Kbztcbn1cblxuZXhwb3J0IGVudW0gVHlwZSB7XG4gICAgUWUgPSBcIlFFXCIsXG4gICAgUWcgPSBcIlFHXCIsXG4gICAgUW9zZCA9IFwiUU9TRFwiXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICAgIHB1YmxpYyBzdGF0aWMgdG9RdWVzdGlvbnMoanNvbjogc3RyaW5nKTogUXVlc3Rpb25zIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlF1ZXN0aW9uc1wiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBxdWVzdGlvbnNUb0pzb24odmFsdWU6IFF1ZXN0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJRdWVzdGlvbnNcIikpLCBudWxsLCAyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHRvUXVlc3Rpb25XcmFwcGVyKGpzb246IHN0cmluZyk6IFF1ZXN0aW9uV3JhcHBlciB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJRdWVzdGlvbldyYXBwZXJcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcXVlc3Rpb25XcmFwcGVyVG9Kc29uKHZhbHVlOiBRdWVzdGlvbldyYXBwZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiUXVlc3Rpb25XcmFwcGVyXCIpKSwgbnVsbCwgMik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9ICcnKTogbmV2ZXIge1xuICAgIGlmIChrZXkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgZm9yIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX0gYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KHZhbCl9YCk7XG4gICAgfVxuICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsICk7XG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBtYXA6IGFueSA9IHt9O1xuICAgICAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiBtYXBbcC5qc29uXSA9IHsga2V5OiBwLmpzLCB0eXA6IHAudHlwIH0pO1xuICAgICAgICB0eXAuanNvblRvSlMgPSBtYXA7XG4gICAgfVxuICAgIHJldHVybiB0eXAuanNvblRvSlM7XG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXAuanNUb0pTT04gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBtYXA6IGFueSA9IHt9O1xuICAgICAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiBtYXBbcC5qc10gPSB7IGtleTogcC5qc29uLCB0eXA6IHAudHlwIH0pO1xuICAgICAgICB0eXAuanNUb0pTT04gPSBtYXA7XG4gICAgfVxuICAgIHJldHVybiB0eXAuanNUb0pTT047XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybSh2YWw6IGFueSwgdHlwOiBhbnksIGdldFByb3BzOiBhbnksIGtleTogYW55ID0gJycpOiBhbnkge1xuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXA6IHN0cmluZywgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1Vbmlvbih0eXBzOiBhbnlbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgICAgICBjb25zdCBsID0gdHlwcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0eXAgPSB0eXBzW2ldO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcyk7XG4gICAgICAgICAgICB9IGNhdGNoIChfKSB7fVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1FbnVtKGNhc2VzOiBzdHJpbmdbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoY2FzZXMuaW5kZXhPZih2YWwpICE9PSAtMSkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShjYXNlcywgdmFsKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBpbnZhbGlkVmFsdWUoXCJhcnJheVwiLCB2YWwpO1xuICAgICAgICByZXR1cm4gdmFsLm1hcChlbCA9PiB0cmFuc2Zvcm0oZWwsIHR5cCwgZ2V0UHJvcHMpKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbCk7XG4gICAgICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJEYXRlXCIsIHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSwgYWRkaXRpb25hbDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJvYmplY3RcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV07XG4gICAgICAgICAgICBjb25zdCB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwga2V5KSA/IHZhbFtrZXldIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMsIGtleSkpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWw7XG4gICAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB9XG4gICAgaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbCk7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKSA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKSAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpICAgICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgICAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB9XG4gICAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgICBpZiAodHlwID09PSBEYXRlICYmIHR5cGVvZiB2YWwgIT09IFwibnVtYmVyXCIpIHJldHVybiB0cmFuc2Zvcm1EYXRlKHZhbCk7XG4gICAgcmV0dXJuIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXAsIHZhbCk7XG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNvblRvSlNQcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc1RvSlNPTlByb3BzKTtcbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICAgIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9O1xufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gICAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH07XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9O1xufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9O1xuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB7IHJlZjogbmFtZSB9O1xufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gICAgXCJRdWVzdGlvbnNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJxdWVzdGlvbnNcIiwganM6IFwicXVlc3Rpb25zXCIsIHR5cDogcihcIlF1ZXN0aW9uc0NsYXNzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUXVlc3Rpb25zQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJxdWVzdGlvblwiLCBqczogXCJxdWVzdGlvblwiLCB0eXA6IGEocihcIlF1ZXN0aW9uXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlF1ZXN0aW9uV3JhcHBlclwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInF1ZXN0aW9uXCIsIGpzOiBcInF1ZXN0aW9uXCIsIHR5cDogcihcIlF1ZXN0aW9uXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUXVlc3Rpb25cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnNcIiwganM6IFwiQHhtbG5zXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTp0eXBlXCIsIGpzOiBcIkB4c2k6dHlwZVwiLCB0eXA6IHIoXCJRdWVzdGlvblhzaVR5cGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJpZGVudGlmaWFudFwiLCBqczogXCJpZGVudGlmaWFudFwiLCB0eXA6IHIoXCJJZGVudGlmaWFudFwiKSB9LFxuICAgICAgICB7IGpzb246IFwidHlwZVwiLCBqczogXCJ0eXBlXCIsIHR5cDogcihcIlR5cGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImluZGV4YXRpb25BTlwiLCBqczogXCJpbmRleGF0aW9uQU5cIiwgdHlwOiByKFwiSW5kZXhhdGlvbkFuXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhdXRldXJcIiwganM6IFwiYXV0ZXVyXCIsIHR5cDogcihcIkF1dGV1clwiKSB9LFxuICAgICAgICB7IGpzb246IFwibWluSW50XCIsIGpzOiBcIm1pbkludFwiLCB0eXA6IHIoXCJHcm91cGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1pbkF0dHJpYnNcIiwganM6IFwibWluQXR0cmlic1wiLCB0eXA6IHIoXCJNaW5BdHRyaWJzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZXNRdWVzdGlvblwiLCBqczogXCJ0ZXh0ZXNRdWVzdGlvblwiLCB0eXA6IHUocihcIlRleHRlc1F1ZXN0aW9uXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZXNSZXBvbnNlXCIsIGpzOiBcInRleHRlc1JlcG9uc2VcIiwgdHlwOiB1KHIoXCJUZXh0ZXNSZXBvbnNlXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJjbG90dXJlXCIsIGpzOiBcImNsb3R1cmVcIiwgdHlwOiB1KHIoXCJDbG90dXJlXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJzaWduYWxlbWVudFwiLCBqczogXCJzaWduYWxlbWVudFwiLCB0eXA6IHUocihcIlNpZ25hbGVtZW50XCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJyZW5vdXZlbGxlbWVudHNcIiwganM6IFwicmVub3V2ZWxsZW1lbnRzXCIsIHR5cDogdShyKFwiUmVub3V2ZWxsZW1lbnRzXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQXV0ZXVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaWRlbnRpdGVcIiwganM6IFwiaWRlbnRpdGVcIiwgdHlwOiByKFwiSWRlbnRpdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZVwiLCBqczogXCJncm91cGVcIiwgdHlwOiByKFwiR3JvdXBlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImFicmVnZVwiLCBqczogXCJhYnJlZ2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkZXZlbG9wcGVcIiwganM6IFwiZGV2ZWxvcHBlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIklkZW50aXRlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm1hbmRhdFJlZlwiLCBqczogXCJtYW5kYXRSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQ2xvdHVyZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNvZGVDbG90dXJlXCIsIGpzOiBcImNvZGVDbG90dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZUNsb3R1cmVcIiwganM6IFwibGliZWxsZUNsb3R1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlQ2xvdHVyZVwiLCBqczogXCJkYXRlQ2xvdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiB1KHIoXCJJbmZvSm9cIiksIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSWRlbnRpZmlhbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJudW1lcm9cIiwganM6IFwibnVtZXJvXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicmVnaW1lXCIsIGpzOiBcInJlZ2ltZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkluZGV4YXRpb25BblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInJ1YnJpcXVlXCIsIGpzOiBcInJ1YnJpcXVlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwidGV0ZUFuYWx5c2VcIiwganM6IFwidGV0ZUFuYWx5c2VcIiwgdHlwOiBudWxsIH0sXG4gICAgICAgIHsganNvbjogXCJhbmFseXNlc1wiLCBqczogXCJhbmFseXNlc1wiLCB0eXA6IHIoXCJBbmFseXNlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQW5hbHlzZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFuYWx5c2VcIiwganM6IFwiYW5hbHlzZVwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJNaW5BdHRyaWJzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibWluQXR0cmliXCIsIGpzOiBcIm1pbkF0dHJpYlwiLCB0eXA6IHUoYShyKFwiTWluQXR0cmliRWxlbWVudFwiKSksIHIoXCJNaW5BdHRyaWJFbGVtZW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk1pbkF0dHJpYkVsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVub21pbmF0aW9uXCIsIGpzOiBcImRlbm9taW5hdGlvblwiLCB0eXA6IHIoXCJHcm91cGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJbmZvSm9cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ0eXBlSk9cIiwganM6IFwidHlwZUpPXCIsIHR5cDogdShyKFwiVHlwZUpvXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZUpPXCIsIGpzOiBcImRhdGVKT1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInBhZ2VKT1wiLCBqczogXCJwYWdlSk9cIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJudW1KT1wiLCBqczogXCJudW1KT1wiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInVybExlZ2lmcmFuY2VcIiwganM6IFwidXJsTGVnaWZyYW5jZVwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInJlZmVyZW5jZU5PUlwiLCBqczogXCJyZWZlcmVuY2VOT1JcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVGV4dGVzUXVlc3Rpb25cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZVF1ZXN0aW9uXCIsIGpzOiBcInRleHRlUXVlc3Rpb25cIiwgdHlwOiB1KGEocihcIlRleHRlXCIpKSwgcihcIlRleHRlXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlRleHRlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHIoXCJJbmZvSm9cIikgfSxcbiAgICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiZXJyYXR1bVwiLCBqczogXCJlcnJhdHVtXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUZXh0ZXNSZXBvbnNlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGV4dGVSZXBvbnNlXCIsIGpzOiBcInRleHRlUmVwb25zZVwiLCB0eXA6IHUoYShyKFwiVGV4dGVcIikpLCByKFwiVGV4dGVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU2lnbmFsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZURlcG90U2lnbmFsXCIsIGpzOiBcImRhdGVEZXBvdFNpZ25hbFwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJSZW5vdXZlbGxlbWVudHNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJyZW5vdXZlbGxlbWVudFwiLCBqczogXCJyZW5vdXZlbGxlbWVudFwiLCB0eXA6IHUoYShyKFwiUmVub3V2ZWxsZW1lbnRcIikpLCByKFwiUmVub3V2ZWxsZW1lbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUmVub3V2ZWxsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9XG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUXVlc3Rpb25Yc2lUeXBlXCI6IFtcbiAgICAgICAgXCJRdWVzdGlvbkVjcml0ZV9UeXBlXCIsXG4gICAgICAgIFwiUXVlc3Rpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiLFxuICAgICAgICBcIlF1ZXN0aW9uT3JhbGVfVHlwZVwiXG4gICAgXSxcbiAgICBcIlR5cGVKb1wiOiBbXG4gICAgICAgIFwiSk9fUVVFU1RJT05cIixcbiAgICAgICAgXCJKT19MT0lfREVDUkVUXCIsXG4gICAgICAgIFwiSk9fREVCQVRcIlxuICAgIF0sXG4gICAgXCJUeXBlXCI6IFtcbiAgICAgICAgXCJRRVwiLFxuICAgICAgICBcIlFHXCIsXG4gICAgICAgIFwiUU9TRFwiXG4gICAgXSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLElBZ0NZQSxlQUFlLEdBQUFDLE9BQUEsQ0FBQUQsZUFBQSwwQkFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFBLE9BQWZBLGVBQWU7QUFBQTtBQUFBLElBNkJmRSxNQUFNLEdBQUFELE9BQUEsQ0FBQUMsTUFBQSwwQkFBTkEsTUFBTTtFQUFOQSxNQUFNO0VBQU5BLE1BQU07RUFBTkEsTUFBTTtFQUFBLE9BQU5BLE1BQU07QUFBQTtBQUFBLElBbUVOQyxJQUFJLEdBQUFGLE9BQUEsQ0FBQUUsSUFBQSwwQkFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFBLE9BQUpBLElBQUk7QUFBQSxPQU1oQjtBQUNBO0FBQUEsSUFDYUMsT0FBTyxHQUFBSCxPQUFBLENBQUFHLE9BQUE7RUFBQSxTQUFBQSxRQUFBO0lBQUFDLGVBQUEsT0FBQUQsT0FBQTtFQUFBO0VBQUEsT0FBQUUsWUFBQSxDQUFBRixPQUFBO0lBQUFHLEdBQUE7SUFBQUMsS0FBQSxFQUNoQixTQUFjQyxXQUFXQSxDQUFDQyxJQUFZLEVBQWE7TUFDL0MsT0FBT0MsSUFBSSxDQUFDQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLEVBQUVJLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRDtFQUFDO0lBQUFQLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQWNPLGVBQWVBLENBQUNQLEtBQWdCLEVBQVU7TUFDcEQsT0FBT0ksSUFBSSxDQUFDSSxTQUFTLENBQUNDLE1BQU0sQ0FBQ1QsS0FBSyxFQUFFTSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMs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
@@ -121,7 +121,8 @@ export declare enum TypeMajorite {
121
121
  MajoritéDesMembresComposantLAssembléeNationale = "majorit\u00E9 des membres composant l'Assembl\u00E9e nationale",
122
122
  MajoritéDesMembresComposantsComposantLAssemblée = "majorit\u00E9 des membres composants composant l'Assembl\u00E9e",
123
123
  MajoritéDesMembresComposantsComposantLAssembléeNationale = "majorit\u00E9 des membres composants composant l'Assembl\u00E9e nationale",
124
- MajoritéRequisePourUnCongrès = "Majorit\u00E9 requise pour un Congr\u00E8s"
124
+ MajoritéRequisePourUnCongrès = "Majorit\u00E9 requise pour un Congr\u00E8s",
125
+ MajoritéRequisePourUneMotionDeCensure = "Majorit\u00E9 requise pour une motion de censure"
125
126
  }
126
127
  export interface VentilationVotes {
127
128
  organe: Organe;
@@ -146,27 +147,30 @@ export interface Vote {
146
147
  export interface DecompteNominatif {
147
148
  nonVotant?: null;
148
149
  nonVotants?: NonVotantsClass | null | string;
149
- pour?: PurpleAbstentions | null;
150
- contre?: PurpleAbstentions | null;
151
- abstention?: PurpleAbstentions | null;
152
- abstentions?: PurpleAbstentions | null;
153
- pours?: PurpleAbstentions | null;
154
- contres?: PurpleAbstentions | null;
150
+ pour?: VotantsClass | null;
151
+ contre?: VotantsClass | null;
152
+ abstention?: VotantsClass | null;
153
+ abstentions?: VotantsClass | null;
154
+ pours?: VotantsClass | null;
155
+ contres?: VotantsClass | null;
155
156
  }
156
- export interface PurpleAbstentions {
157
- votant: PurpleVotant[] | PurpleVotant;
157
+ export interface VotantsClass {
158
+ votant: Votant[] | Votant;
158
159
  }
159
- export interface PurpleVotant {
160
+ export interface Votant {
160
161
  acteurRef: string;
161
162
  mandatRef: string;
162
163
  parDelegation?: string;
164
+ numPlace?: string;
163
165
  }
164
166
  export interface NonVotantsClass {
165
- votant: FluffyVotant[] | FluffyVotant;
167
+ votant: NonVotant[] | NonVotant;
166
168
  }
167
- export interface FluffyVotant {
169
+ export interface NonVotant {
168
170
  acteurRef: string;
169
171
  mandatRef: string;
172
+ parDelegation?: string;
173
+ numPlace?: string;
170
174
  causePositionVote: CausePositionVote;
171
175
  }
172
176
  export declare enum CausePositionVote {
@@ -189,7 +193,8 @@ export declare enum PositionMajoritaire {
189
193
  Pour = "pour"
190
194
  }
191
195
  export declare enum LieuVote {
192
- Congrès = "Congr\u00E8s"
196
+ Congrès = "Congr\u00E8s",
197
+ Salons = "Salons"
193
198
  }
194
199
  export declare class Convert {
195
200
  static toScrutins(json: string): Scrutins;
@@ -79,6 +79,7 @@ var TypeMajorite = exports.TypeMajorite = /*#__PURE__*/function (TypeMajorite) {
79
79
  TypeMajorite["Majorit\xE9DesMembresComposantsComposantLAssembl\xE9e"] = "majorit\xE9 des membres composants composant l'Assembl\xE9e";
80
80
  TypeMajorite["Majorit\xE9DesMembresComposantsComposantLAssembl\xE9eNationale"] = "majorit\xE9 des membres composants composant l'Assembl\xE9e nationale";
81
81
  TypeMajorite["Majorit\xE9RequisePourUnCongr\xE8s"] = "Majorit\xE9 requise pour un Congr\xE8s";
82
+ TypeMajorite["Majorit\xE9RequisePourUneMotionDeCensure"] = "Majorit\xE9 requise pour une motion de censure";
82
83
  return TypeMajorite;
83
84
  }({});
84
85
  var CausePositionVote = exports.CausePositionVote = /*#__PURE__*/function (CausePositionVote) {
@@ -95,6 +96,7 @@ var PositionMajoritaire = exports.PositionMajoritaire = /*#__PURE__*/function (P
95
96
  }({});
96
97
  var LieuVote = exports.LieuVote = /*#__PURE__*/function (LieuVote) {
97
98
  LieuVote["Congr\xE8s"] = "Congr\xE8s";
99
+ LieuVote["Salons"] = "Salons";
98
100
  return LieuVote;
99
101
  }({}); // Converts JSON strings to/from your types
100
102
  // and asserts the results of JSON.parse at runtime
@@ -576,34 +578,34 @@ var typeMap = {
576
578
  }, {
577
579
  json: "pour",
578
580
  js: "pour",
579
- typ: u(undefined, u(r("PurpleAbstentions"), null))
581
+ typ: u(undefined, u(r("VotantsClass"), null))
580
582
  }, {
581
583
  json: "contre",
582
584
  js: "contre",
583
- typ: u(undefined, u(r("PurpleAbstentions"), null))
585
+ typ: u(undefined, u(r("VotantsClass"), null))
584
586
  }, {
585
587
  json: "abstention",
586
588
  js: "abstention",
587
- typ: u(undefined, u(r("PurpleAbstentions"), null))
589
+ typ: u(undefined, u(r("VotantsClass"), null))
588
590
  }, {
589
591
  json: "abstentions",
590
592
  js: "abstentions",
591
- typ: u(undefined, u(r("PurpleAbstentions"), null))
593
+ typ: u(undefined, u(r("VotantsClass"), null))
592
594
  }, {
593
595
  json: "pours",
594
596
  js: "pours",
595
- typ: u(undefined, u(r("PurpleAbstentions"), null))
597
+ typ: u(undefined, u(r("VotantsClass"), null))
596
598
  }, {
597
599
  json: "contres",
598
600
  js: "contres",
599
- typ: u(undefined, u(r("PurpleAbstentions"), null))
601
+ typ: u(undefined, u(r("VotantsClass"), null))
600
602
  }], false),
601
- "PurpleAbstentions": o([{
603
+ "VotantsClass": o([{
602
604
  json: "votant",
603
605
  js: "votant",
604
- typ: u(a(r("PurpleVotant")), r("PurpleVotant"))
606
+ typ: u(a(r("Votant")), r("Votant"))
605
607
  }], false),
606
- "PurpleVotant": o([{
608
+ "Votant": o([{
607
609
  json: "acteurRef",
608
610
  js: "acteurRef",
609
611
  typ: ""
@@ -615,13 +617,17 @@ var typeMap = {
615
617
  json: "parDelegation",
616
618
  js: "parDelegation",
617
619
  typ: u(undefined, "")
620
+ }, {
621
+ json: "numPlace",
622
+ js: "numPlace",
623
+ typ: u(undefined, "")
618
624
  }], false),
619
625
  "NonVotantsClass": o([{
620
626
  json: "votant",
621
627
  js: "votant",
622
- typ: u(a(r("FluffyVotant")), r("FluffyVotant"))
628
+ typ: u(a(r("NonVotant")), r("NonVotant"))
623
629
  }], false),
624
- "FluffyVotant": o([{
630
+ "NonVotant": o([{
625
631
  json: "acteurRef",
626
632
  js: "acteurRef",
627
633
  typ: ""
@@ -629,6 +635,14 @@ var typeMap = {
629
635
  json: "mandatRef",
630
636
  js: "mandatRef",
631
637
  typ: ""
638
+ }, {
639
+ json: "parDelegation",
640
+ js: "parDelegation",
641
+ typ: u(undefined, "")
642
+ }, {
643
+ json: "numPlace",
644
+ js: "numPlace",
645
+ typ: u(undefined, "")
632
646
  }, {
633
647
  json: "causePositionVote",
634
648
  js: "causePositionVote",
@@ -668,9 +682,9 @@ var typeMap = {
668
682
  "Libelle": ["l'Assemblée nationale a adopté", "L'Assemblée nationale n'a pas adopté", "Le Congrès du Parlement a adopté", "Le Congrès du Parlement n'a pas adopté"],
669
683
  "CodeTypeVote": ["MOC", "SAT", "SPO", "SPS", "SSG"],
670
684
  "LibelleTypeVote": ["motion de censure", "scrutin public ordinaire", "scrutin public solennel", "scrutin à la tribune", "Scrutin solennel congrès"],
671
- "TypeMajorite": ["majorité absolue des suffrages exprimés", "majorité des membres composant l'Assemblée nationale", "majorité des membres composants composant l'Assemblée", "majorité des membres composants composant l'Assemblée nationale", "Majorité requise pour un Congrès"],
685
+ "TypeMajorite": ["majorité absolue des suffrages exprimés", "majorité des membres composant l'Assemblée nationale", "majorité des membres composants composant l'Assemblée", "majorité des membres composants composant l'Assemblée nationale", "Majorité requise pour un Congrès", "Majorité requise pour une motion de censure"],
672
686
  "CausePositionVote": ["MG", "PAN", "PSE"],
673
687
  "PositionMajoritaire": ["abstention", "contre", "pour"],
674
- "LieuVote": ["Congrès"]
688
+ "LieuVote": ["Congrès", "Salons"]
675
689
  };
676
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlUHVibGljYXRpb25EZXNWb3RlcyIsImV4cG9ydHMiLCJDb2RlIiwiTGliZWxsZSIsIkNvZGVUeXBlVm90ZSIsIkxpYmVsbGVUeXBlVm90ZSIsIlR5cGVNYWpvcml0ZSIsIkNhdXNlUG9zaXRpb25Wb3RlIiwiUG9zaXRpb25NYWpvcml0YWlyZSIsIkxpZXVWb3RlIiwiQ29udmVydCIsIl9jbGFzc0NhbGxDaGVjayIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwidG9TY3J1dGlucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInNjcnV0aW5zVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9TY3J1dGluV3JhcHBlciIsInNjcnV0aW5XcmFwcGVyVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJjb25jYXQiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsIl90eXBlb2YiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwiX2xlbiIsIl9rZXkiLCJvIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXdfdHlwZXMvc2NydXRpbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgU2NydXRpbnMsIFNjcnV0aW5XcmFwcGVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3Qgc2NydXRpbnMgPSBDb252ZXJ0LnRvU2NydXRpbnMoanNvbik7XG4vLyAgIGNvbnN0IHNjcnV0aW5XcmFwcGVyID0gQ29udmVydC50b1NjcnV0aW5XcmFwcGVyKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NydXRpbnMge1xuICAgIHNjcnV0aW5zOiBTY3J1dGluc0NsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW5zQ2xhc3Mge1xuICAgIHNjcnV0aW46IFNjcnV0aW5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluV3JhcHBlciB7XG4gIHNjcnV0aW46IFNjcnV0aW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluIHtcbiAgICBcIkB4bWxuczp4c2lcIjogICAgICAgICAgICBzdHJpbmc7XG4gICAgdWlkOiAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBudW1lcm86ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIG9yZ2FuZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBzZXNzaW9uUmVmOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHNlYW5jZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgZGF0ZVNjcnV0aW46ICAgICAgICAgICAgIERhdGU7XG4gICAgcXVhbnRpZW1lSm91clNlYW5jZTogICAgIHN0cmluZztcbiAgICB0eXBlVm90ZTogICAgICAgICAgICAgICAgVHlwZVZvdGU7XG4gICAgc29ydDogICAgICAgICAgICAgICAgICAgIFNvcnQ7XG4gICAgdGl0cmU6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBkZW1hbmRldXI6ICAgICAgICAgICAgICAgRGVtYW5kZXVyO1xuICAgIG9iamV0OiAgICAgICAgICAgICAgICAgICBPYmpldDtcbiAgICBtb2RlUHVibGljYXRpb25EZXNWb3RlczogTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXM7XG4gICAgc3ludGhlc2VWb3RlOiAgICAgICAgICAgIFN5bnRoZXNlVm90ZTtcbiAgICB2ZW50aWxhdGlvblZvdGVzOiAgICAgICAgVmVudGlsYXRpb25Wb3RlcztcbiAgICBtaXNlQXVQb2ludDogICAgICAgICAgICAgTWlzZUF1UG9pbnQgfCBudWxsO1xuICAgIGxpZXVWb3RlPzogICAgICAgICAgICAgICBMaWV1Vm90ZTtcbiAgICBcIkB4bWxuc1wiPzogICAgICAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyIHtcbiAgICB0ZXh0ZTogICAgICAgICAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaXNlQXVQb2ludCB7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICBBcnJheTxDb250cmVDbGFzcyB8IG51bGw+IHwgbnVsbDtcbiAgICBwb3VyPzogICAgICAgICAgICAgICAgIENvbnRyZUNsYXNzIHwgbnVsbDtcbiAgICBjb250cmU/OiAgICAgICAgICAgICAgIENvbnRyZUNsYXNzIHwgbnVsbDtcbiAgICBhYnN0ZW50aW9uczogICAgICAgICAgIEFycmF5PENvbnRyZUNsYXNzIHwgbnVsbD4gfCBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgbm9uVm90YW50c1ZvbG9udGFpcmVzOiBBcnJheTxDb250cmVDbGFzcyB8IG51bGw+IHwgTm9uVm90YW50c1ZvbG9udGFpcmVzQ2xhc3MgfCBudWxsO1xuICAgIHBvdXJzPzogICAgICAgICAgICAgICAgQ29udHJlQ2xhc3MgfCBudWxsO1xuICAgIGNvbnRyZXM/OiAgICAgICAgICAgICAgQ29udHJlQ2xhc3MgfCBudWxsO1xuICAgIGR5c2ZvbmN0aW9ubmVtZW50PzogICAgRHlzZm9uY3Rpb25uZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJlQ2xhc3Mge1xuICAgIHZvdGFudDogUG91clZvdGFudENsYXNzW10gfCBQb3VyVm90YW50Q2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG91clZvdGFudENsYXNzIHtcbiAgICBhY3RldXJSZWY6IHN0cmluZztcbiAgICBtYW5kYXRSZWY6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeXNmb25jdGlvbm5lbWVudCB7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgcG91cjogICAgICAgICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgY29udHJlOiAgICAgICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgYWJzdGVudGlvbnM6ICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgbm9uVm90YW50c1ZvbG9udGFpcmVzOiBDb250cmVDbGFzcyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9uVm90YW50c1ZvbG9udGFpcmVzQ2xhc3Mge1xuICAgIHZvdGFudDogUG91clZvdGFudENsYXNzW107XG59XG5cbmV4cG9ydCBlbnVtIE1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzIHtcbiAgICBEZWNvbXB0ZURpc3NpZGVudHNQb3NpdGlvbkdyb3VwZSA9IFwiRGVjb21wdGVEaXNzaWRlbnRzUG9zaXRpb25Hcm91cGVcIixcbiAgICBEZWNvbXB0ZU5vbWluYXRpZiA9IFwiRGVjb21wdGVOb21pbmF0aWZcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYmpldCB7XG4gICAgbGliZWxsZTogICAgICAgICAgICAgIHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbiAgICBkb3NzaWVyTGVnaXNsYXRpZj86IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0IHtcbiAgICBjb2RlOiAgICBDb2RlO1xuICAgIGxpYmVsbGU6IExpYmVsbGU7XG59XG5cbmV4cG9ydCBlbnVtIENvZGUge1xuICAgIEFkb3B0w6kgPSBcImFkb3B0w6lcIixcbiAgICBSZWpldMOpID0gXCJyZWpldMOpXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpYmVsbGUge1xuICAgIExBc3NlbWJsw6llTmF0aW9uYWxlQUFkb3B0w6kgPSBcImwnQXNzZW1ibMOpZSBuYXRpb25hbGUgYSBhZG9wdMOpXCIsXG4gICAgTEFzc2VtYmzDqWVOYXRpb25hbGVOQVBhc0Fkb3B0w6kgPSBcIkwnQXNzZW1ibMOpZSBuYXRpb25hbGUgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgTGVDb25ncsOoc0R1UGFybGVtZW50QUFkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICBMZUNvbmdyw6hzRHVQYXJsZW1lbnROQVBhc0Fkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgfVxuXG5leHBvcnQgaW50ZXJmYWNlIFN5bnRoZXNlVm90ZSB7XG4gICAgbm9tYnJlVm90YW50czogICAgICBzdHJpbmc7XG4gICAgc3VmZnJhZ2VzRXhwcmltZXM6ICBzdHJpbmc7XG4gICAgbmJyU3VmZnJhZ2VzUmVxdWlzOiBzdHJpbmc7XG4gICAgYW5ub25jZTogICAgICAgICAgICBMaWJlbGxlO1xuICAgIGRlY29tcHRlOiAgICAgICAgICAgRGVjb21wdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGUge1xuICAgIHBvdXI6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjb250cmU6ICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgYWJzdGVudGlvbnM6ICAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudHM6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVZvdGUge1xuICAgIGNvZGVUeXBlVm90ZTogICAgQ29kZVR5cGVWb3RlO1xuICAgIGxpYmVsbGVUeXBlVm90ZTogTGliZWxsZVR5cGVWb3RlO1xuICAgIHR5cGVNYWpvcml0ZTogICAgVHlwZU1ham9yaXRlO1xufVxuXG5leHBvcnQgZW51bSBDb2RlVHlwZVZvdGUge1xuICAgIE1vYyA9IFwiTU9DXCIsXG4gICAgU2F0ID0gXCJTQVRcIixcbiAgICBTcG8gPSBcIlNQT1wiLFxuICAgIFNwcyA9IFwiU1BTXCIsXG4gICAgU3NnID0gXCJTU0dcIixcbn1cblxuZXhwb3J0IGVudW0gTGliZWxsZVR5cGVWb3RlIHtcbiAgICBNb3Rpb25EZUNlbnN1cmUgPSBcIm1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gICAgU2NydXRpblB1YmxpY09yZGluYWlyZSA9IFwic2NydXRpbiBwdWJsaWMgb3JkaW5haXJlXCIsXG4gICAgU2NydXRpblB1YmxpY1NvbGVubmVsID0gXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgIFNjcnV0aW7DgExhVHJpYnVuZSA9IFwic2NydXRpbiDDoCBsYSB0cmlidW5lXCIsXG4gICAgU2NydXRpblNvbGVubmVsQ29uZ3LDqHMgPSBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZU1ham9yaXRlIHtcbiAgICBNYWpvcml0w6lBYnNvbHVlRGVzU3VmZnJhZ2VzRXhwcmltw6lzID0gXCJtYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgIE1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRMQXNzZW1ibMOpZU5hdGlvbmFsZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgTWFqb3JpdMOpRGVzTWVtYnJlc0NvbXBvc2FudHNDb21wb3NhbnRMQXNzZW1ibMOpZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZVwiLFxuICAgIE1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRzQ29tcG9zYW50TEFzc2VtYmzDqWVOYXRpb25hbGUgPSBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgTWFqb3JpdMOpUmVxdWlzZVBvdXJVbkNvbmdyw6hzID0gXCJNYWpvcml0w6kgcmVxdWlzZSBwb3VyIHVuIENvbmdyw6hzXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVudGlsYXRpb25Wb3RlcyB7XG4gICAgb3JnYW5lOiBPcmdhbmU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5lIHtcbiAgICBvcmdhbmVSZWY6IHN0cmluZztcbiAgICBncm91cGVzOiAgIEdyb3VwZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlcyB7XG4gICAgZ3JvdXBlOiBHcm91cGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cGUge1xuICAgIG9yZ2FuZVJlZjogICAgICAgICAgIHN0cmluZztcbiAgICBub21icmVNZW1icmVzR3JvdXBlOiBzdHJpbmc7XG4gICAgdm90ZTogICAgICAgICAgICAgICAgVm90ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb3RlIHtcbiAgICBwb3NpdGlvbk1ham9yaXRhaXJlOiBQb3NpdGlvbk1ham9yaXRhaXJlO1xuICAgIGRlY29tcHRlVm9peDogICAgICAgIERlY29tcHRlVm9peDtcbiAgICBkZWNvbXB0ZU5vbWluYXRpZjogICBEZWNvbXB0ZU5vbWluYXRpZjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWNvbXB0ZU5vbWluYXRpZiB7XG4gICAgbm9uVm90YW50PzogICBudWxsXG4gICAgbm9uVm90YW50cz86ICBOb25Wb3RhbnRzQ2xhc3MgfCBudWxsIHwgc3RyaW5nO1xuICAgIHBvdXI/OiAgICAgICBQdXJwbGVBYnN0ZW50aW9ucyB8IG51bGw7XG4gICAgY29udHJlPzogICAgIFB1cnBsZUFic3RlbnRpb25zIHwgbnVsbDtcbiAgICBhYnN0ZW50aW9uPzogUHVycGxlQWJzdGVudGlvbnMgfCBudWxsO1xuICAgIGFic3RlbnRpb25zPzogUHVycGxlQWJzdGVudGlvbnMgfCBudWxsO1xuICAgIHBvdXJzPzogICAgICBQdXJwbGVBYnN0ZW50aW9ucyB8IG51bGw7XG4gICAgY29udHJlcz86ICAgIFB1cnBsZUFic3RlbnRpb25zIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJwbGVBYnN0ZW50aW9ucyB7XG4gICAgdm90YW50OiBQdXJwbGVWb3RhbnRbXSB8IFB1cnBsZVZvdGFudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJwbGVWb3RhbnQge1xuICAgIGFjdGV1clJlZjogICAgICBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiAgICAgIHN0cmluZztcbiAgICBwYXJEZWxlZ2F0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vblZvdGFudHNDbGFzcyB7XG4gICAgdm90YW50OiBGbHVmZnlWb3RhbnRbXSB8IEZsdWZmeVZvdGFudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbHVmZnlWb3RhbnQge1xuICAgIGFjdGV1clJlZjogICAgICAgICBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiAgICAgICAgIHN0cmluZztcbiAgICBjYXVzZVBvc2l0aW9uVm90ZTogQ2F1c2VQb3NpdGlvblZvdGU7XG59XG5cbmV4cG9ydCBlbnVtIENhdXNlUG9zaXRpb25Wb3RlIHtcbiAgICBNZyA9IFwiTUdcIixcbiAgICBQYW4gPSBcIlBBTlwiLFxuICAgIFBzZSA9IFwiUFNFXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGVWb2l4IHtcbiAgICBwb3VyOiAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgY29udHJlOiAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGFic3RlbnRpb24/OiAgICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnQ/OiAgICAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICAgIG5vblZvdGFudHM/OiAgICAgICAgICAgIHN0cmluZztcbiAgICBhYnN0ZW50aW9ucz86ICAgICAgICAgICBzdHJpbmc7XG4gICAgbm9uVm90YW50c1ZvbG9udGFpcmVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBQb3NpdGlvbk1ham9yaXRhaXJlIHtcbiAgICBBYnN0ZW50aW9uID0gXCJhYnN0ZW50aW9uXCIsXG4gICAgQ29udHJlID0gXCJjb250cmVcIixcbiAgICBQb3VyID0gXCJwb3VyXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpZXVWb3RlIHtcbiAgICBDb25ncsOocyA9IFwiQ29uZ3LDqHNcIlxufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgICBwdWJsaWMgc3RhdGljIHRvU2NydXRpbnMoanNvbjogc3RyaW5nKTogU2NydXRpbnMge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiU2NydXRpbnNcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgc2NydXRpbnNUb0pzb24odmFsdWU6IFNjcnV0aW5zKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlNjcnV0aW5zXCIpKSwgbnVsbCwgMik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0b1NjcnV0aW5XcmFwcGVyKGpzb246IHN0cmluZyk6IFNjcnV0aW5XcmFwcGVyIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlNjcnV0aW5XcmFwcGVyXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHNjcnV0aW5XcmFwcGVyVG9Kc29uKHZhbHVlOiBTY3J1dGluV3JhcHBlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJTY3J1dGluV3JhcHBlclwiKSksIG51bGwsIDIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZFZhbHVlKHR5cDogYW55LCB2YWw6IGFueSwga2V5OiBhbnkgPSAnJyk6IG5ldmVyIHtcbiAgICBpZiAoa2V5KSB7XG4gICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWApO1xuICAgIH1cbiAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLCApO1xufVxuXG5mdW5jdGlvbiBqc29uVG9KU1Byb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzb25Ub0pTID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzb25Ub0pTO1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNdID0geyBrZXk6IHAuanNvbiwgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzVG9KU09OID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzVG9KU09OO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9ICcnKTogYW55IHtcbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICAgICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdHlwID0gdHlwc1tpXTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpO1xuICAgICAgICAgICAgfSBjYXRjaCAoXykge31cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRW51bShjYXNlczogc3RyaW5nW10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoY2FzZXMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBubyBpbnZhbGlkIGVsZW1lbnRzXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKTtcbiAgICAgICAgcmV0dXJuIHZhbC5tYXAoZWwgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpO1xuICAgICAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwiRGF0ZVwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybU9iamVjdChwcm9wczogeyBbazogc3RyaW5nXTogYW55IH0sIGFkZGl0aW9uYWw6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwib2JqZWN0XCIsIHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldO1xuICAgICAgICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSkgPyB2YWxba2V5XSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBwcm9wLmtleSk7XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBpZiAodHlwID09PSBcImFueVwiKSByZXR1cm4gdmFsO1xuICAgIGlmICh0eXAgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpO1xuICAgIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIikgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIikgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKSAgICAgICAgID8gdHJhbnNmb3JtT2JqZWN0KGdldFByb3BzKHR5cCksIHR5cC5hZGRpdGlvbmFsLCB2YWwpXG4gICAgICAgICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gICAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpO1xuICAgIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpO1xufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpO1xufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfTtcbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICAgIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9O1xufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gICAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfTtcbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgICByZXR1cm4geyBwcm9wczogW10sIGFkZGl0aW9uYWwgfTtcbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4geyByZWY6IG5hbWUgfTtcbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICAgIFwiU2NydXRpbnNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJzY3J1dGluc1wiLCBqczogXCJzY3J1dGluc1wiLCB0eXA6IHIoXCJTY3J1dGluc0NsYXNzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU2NydXRpbnNDbGFzc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInNjcnV0aW5cIiwganM6IFwic2NydXRpblwiLCB0eXA6IGEocihcIlNjcnV0aW5cIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU2NydXRpbldyYXBwZXJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJzY3J1dGluXCIsIGpzOiBcInNjcnV0aW5cIiwgdHlwOiByKFwiU2NydXRpblwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibnVtZXJvXCIsIGpzOiBcIm51bWVyb1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJsZWdpc2xhdHVyZVwiLCBqczogXCJsZWdpc2xhdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInNlc3Npb25SZWZcIiwganM6IFwic2Vzc2lvblJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInNlYW5jZVJlZlwiLCBqczogXCJzZWFuY2VSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlU2NydXRpblwiLCBqczogXCJkYXRlU2NydXRpblwiLCB0eXA6IERhdGUgfSxcbiAgICAgICAgeyBqc29uOiBcInF1YW50aWVtZUpvdXJTZWFuY2VcIiwganM6IFwicXVhbnRpZW1lSm91clNlYW5jZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVWb3RlXCIsIGpzOiBcInR5cGVWb3RlXCIsIHR5cDogcihcIlR5cGVWb3RlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzb3J0XCIsIGpzOiBcInNvcnRcIiwgdHlwOiByKFwiU29ydFwiKSB9LFxuICAgICAgICB7IGpzb246IFwidGl0cmVcIiwganM6IFwidGl0cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkZW1hbmRldXJcIiwganM6IFwiZGVtYW5kZXVyXCIsIHR5cDogcihcIkRlbWFuZGV1clwiKSB9LFxuICAgICAgICB7IGpzb246IFwib2JqZXRcIiwganM6IFwib2JqZXRcIiwgdHlwOiByKFwiT2JqZXRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzXCIsIGpzOiBcIm1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzXCIsIHR5cDogcihcIk1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzeW50aGVzZVZvdGVcIiwganM6IFwic3ludGhlc2VWb3RlXCIsIHR5cDogcihcIlN5bnRoZXNlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwidmVudGlsYXRpb25Wb3Rlc1wiLCBqczogXCJ2ZW50aWxhdGlvblZvdGVzXCIsIHR5cDogcihcIlZlbnRpbGF0aW9uVm90ZXNcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1pc2VBdVBvaW50XCIsIGpzOiBcIm1pc2VBdVBvaW50XCIsIHR5cDogdShyKFwiTWlzZUF1UG9pbnRcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJsaWV1Vm90ZVwiLCBqczogXCJsaWV1Vm90ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiTGlldVZvdGVcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJAeG1sbnNcIiwganM6IFwiQHhtbG5zXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGVtYW5kZXVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGV4dGVcIiwganM6IFwidGV4dGVcIiwgdHlwOiB1KG51bGwsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCBqczogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCB0eXA6IG51bGwgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJNaXNlQXVQb2ludFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUoYSh1KHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicG91clwiLCBqczogXCJwb3VyXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiQ29udHJlQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiB1KGEodShyKFwiQ29udHJlQ2xhc3NcIiksIG51bGwpKSwgcihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIGpzOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCB0eXA6IHUoYSh1KHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkpLCByKFwiTm9uVm90YW50c1ZvbG9udGFpcmVzQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3Vyc1wiLCBqczogXCJwb3Vyc1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVzXCIsIGpzOiBcImNvbnRyZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiQ29udHJlQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiZHlzZm9uY3Rpb25uZW1lbnRcIiwganM6IFwiZHlzZm9uY3Rpb25uZW1lbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkR5c2ZvbmN0aW9ubmVtZW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkNvbnRyZUNsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidm90YW50XCIsIGpzOiBcInZvdGFudFwiLCB0eXA6IHUoYShyKFwiUG91clZvdGFudENsYXNzXCIpKSwgcihcIlBvdXJWb3RhbnRDbGFzc1wiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJQb3VyVm90YW50Q2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibWFuZGF0UmVmXCIsIGpzOiBcIm1hbmRhdFJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEeXNmb25jdGlvbm5lbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicG91clwiLCBqczogXCJwb3VyXCIsIHR5cDogdShyKFwiQ29udHJlQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogdShyKFwiQ29udHJlQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uc1wiLCBqczogXCJhYnN0ZW50aW9uc1wiLCB0eXA6IHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIGpzOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCB0eXA6IHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk5vblZvdGFudHNWb2xvbnRhaXJlc0NsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidm90YW50XCIsIGpzOiBcInZvdGFudFwiLCB0eXA6IGEocihcIlBvdXJWb3RhbnRDbGFzc1wiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJPYmpldFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInJlZmVyZW5jZUxlZ2lzbGF0aXZlXCIsIGpzOiBcInJlZmVyZW5jZUxlZ2lzbGF0aXZlXCIsIHR5cDogbnVsbCB9LFxuICAgICAgICB7IGpzb246IFwiZG9zc2llckxlZ2lzbGF0aWZcIiwganM6IFwiZG9zc2llckxlZ2lzbGF0aWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgbnVsbCkgfVxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNvcnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiByKFwiQ29kZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTeW50aGVzZVZvdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJub21icmVWb3RhbnRzXCIsIGpzOiBcIm5vbWJyZVZvdGFudHNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzdWZmcmFnZXNFeHByaW1lc1wiLCBqczogXCJzdWZmcmFnZXNFeHByaW1lc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5iclN1ZmZyYWdlc1JlcXVpc1wiLCBqczogXCJuYnJTdWZmcmFnZXNSZXF1aXNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhbm5vbmNlXCIsIGpzOiBcImFubm9uY2VcIiwgdHlwOiByKFwiTGliZWxsZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVjb21wdGVcIiwganM6IFwiZGVjb21wdGVcIiwgdHlwOiByKFwiRGVjb21wdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uc1wiLCBqczogXCJhYnN0ZW50aW9uc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUeXBlVm90ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNvZGVUeXBlVm90ZVwiLCBqczogXCJjb2RlVHlwZVZvdGVcIiwgdHlwOiByKFwiQ29kZVR5cGVWb3RlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlVHlwZVZvdGVcIiwganM6IFwibGliZWxsZVR5cGVWb3RlXCIsIHR5cDogcihcIkxpYmVsbGVUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwidHlwZU1ham9yaXRlXCIsIGpzOiBcInR5cGVNYWpvcml0ZVwiLCB0eXA6IHIoXCJUeXBlTWFqb3JpdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWZW50aWxhdGlvblZvdGVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lXCIsIGpzOiBcIm9yZ2FuZVwiLCB0eXA6IHIoXCJPcmdhbmVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJPcmdhbmVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZ3JvdXBlc1wiLCBqczogXCJncm91cGVzXCIsIHR5cDogcihcIkdyb3VwZXNcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJHcm91cGVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiZ3JvdXBlXCIsIGpzOiBcImdyb3VwZVwiLCB0eXA6IGEocihcIkdyb3VwZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJHcm91cGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibm9tYnJlTWVtYnJlc0dyb3VwZVwiLCBqczogXCJub21icmVNZW1icmVzR3JvdXBlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidm90ZVwiLCBqczogXCJ2b3RlXCIsIHR5cDogcihcIlZvdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWb3RlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicG9zaXRpb25NYWpvcml0YWlyZVwiLCBqczogXCJwb3NpdGlvbk1ham9yaXRhaXJlXCIsIHR5cDogcihcIlBvc2l0aW9uTWFqb3JpdGFpcmVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRlY29tcHRlVm9peFwiLCBqczogXCJkZWNvbXB0ZVZvaXhcIiwgdHlwOiByKFwiRGVjb21wdGVWb2l4XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZWNvbXB0ZU5vbWluYXRpZlwiLCBqczogXCJkZWNvbXB0ZU5vbWluYXRpZlwiLCB0eXA6IHIoXCJEZWNvbXB0ZU5vbWluYXRpZlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlY29tcHRlTm9taW5hdGlmXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibm9uVm90YW50XCIsIGpzOiBcIm5vblZvdGFudFwiLCB0eXA6IHUodW5kZWZpbmVkLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1wiLCBqczogXCJub25Wb3RhbnRzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIk5vblZvdGFudHNDbGFzc1wiKSwgbnVsbCwgXCJcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiUHVycGxlQWJzdGVudGlvbnNcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlXCIsIGpzOiBcImNvbnRyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJQdXJwbGVBYnN0ZW50aW9uc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uXCIsIGpzOiBcImFic3RlbnRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiUHVycGxlQWJzdGVudGlvbnNcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiUHVycGxlQWJzdGVudGlvbnNcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwicG91cnNcIiwganM6IFwicG91cnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiUHVycGxlQWJzdGVudGlvbnNcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlc1wiLCBqczogXCJjb250cmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlB1cnBsZUFic3RlbnRpb25zXCIpLCBudWxsKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJQdXJwbGVBYnN0ZW50aW9uc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInZvdGFudFwiLCBqczogXCJ2b3RhbnRcIiwgdHlwOiB1KGEocihcIlB1cnBsZVZvdGFudFwiKSksIHIoXCJQdXJwbGVWb3RhbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUHVycGxlVm90YW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm1hbmRhdFJlZlwiLCBqczogXCJtYW5kYXRSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJwYXJEZWxlZ2F0aW9uXCIsIGpzOiBcInBhckRlbGVnYXRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJOb25Wb3RhbnRzQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ2b3RhbnRcIiwganM6IFwidm90YW50XCIsIHR5cDogdShhKHIoXCJGbHVmZnlWb3RhbnRcIikpLCByKFwiRmx1ZmZ5Vm90YW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkZsdWZmeVZvdGFudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwganM6IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwgdHlwOiByKFwiQ2F1c2VQb3NpdGlvblZvdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZVZvaXhcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvblwiLCBqczogXCJhYnN0ZW50aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRcIiwganM6IFwibm9uVm90YW50XCIsIHR5cDogdSh1bmRlZmluZWQsIHUoXCJcIiwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXNcIjogW1xuICAgICAgICBcIkRlY29tcHRlRGlzc2lkZW50c1Bvc2l0aW9uR3JvdXBlXCIsXG4gICAgICAgIFwiRGVjb21wdGVOb21pbmF0aWZcIixcbiAgICBdLFxuICAgIFwiQ29kZVwiOiBbXG4gICAgICAgIFwiYWRvcHTDqVwiLFxuICAgICAgICBcInJlamV0w6lcIixcbiAgICBdLFxuICAgIFwiTGliZWxsZVwiOiBbXG4gICAgICAgIFwibCdBc3NlbWJsw6llIG5hdGlvbmFsZSBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlIG4nYSBwYXMgYWRvcHTDqVwiLFxuICAgICAgICBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMZSBDb25ncsOocyBkdSBQYXJsZW1lbnQgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgICAgICAgXSxcbiAgICBcIkNvZGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwiTU9DXCIsXG4gICAgICAgIFwiU0FUXCIsXG4gICAgICAgIFwiU1BPXCIsXG4gICAgICAgIFwiU1BTXCIsXG4gICAgICAgIFwiU1NHXCIsXG4gICAgXSxcbiAgICBcIkxpYmVsbGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwibW90aW9uIGRlIGNlbnN1cmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBvcmRpbmFpcmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgICAgICBcInNjcnV0aW4gw6AgbGEgdHJpYnVuZVwiLFxuICAgICAgICBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbiAgICBdLFxuICAgIFwiVHlwZU1ham9yaXRlXCI6IFtcbiAgICAgICAgXCJtYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgICAgICBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICAgICAgICBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWVcIixcbiAgICAgICAgXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICAgICAgICBcIk1ham9yaXTDqSByZXF1aXNlIHBvdXIgdW4gQ29uZ3LDqHNcIixcbiAgICBdLFxuICAgIFwiQ2F1c2VQb3NpdGlvblZvdGVcIjogW1xuICAgICAgICBcIk1HXCIsXG4gICAgICAgIFwiUEFOXCIsXG4gICAgICAgIFwiUFNFXCIsXG4gICAgXSxcbiAgICBcIlBvc2l0aW9uTWFqb3JpdGFpcmVcIjogW1xuICAgICAgICBcImFic3RlbnRpb25cIixcbiAgICAgICAgXCJjb250cmVcIixcbiAgICAgICAgXCJwb3VyXCIsXG4gICAgXSxcbiAgICBcIkxpZXVWb3RlXCI6IFtcbiAgICAgICAgXCJDb25ncsOoc1wiLFxuICAgIF0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSxJQTBFWUEsdUJBQXVCLEdBQUFDLE9BQUEsQ0FBQUQsdUJBQUEsMEJBQXZCQSx1QkFBdUI7RUFBdkJBLHVCQUF1QjtFQUF2QkEsdUJBQXVCO0VBQUEsT0FBdkJBLHVCQUF1QjtBQUFBO0FBQUEsSUFnQnZCRSxJQUFJLEdBQUFELE9BQUEsQ0FBQUMsSUFBQSwwQkFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBQSxPQUFKQSxJQUFJO0FBQUE7QUFBQSxJQUtKQyxPQUFPLEdBQUFGLE9BQUEsQ0FBQUUsT0FBQSwwQkFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQUEsT0FBUEEsT0FBTztBQUFBO0FBQUEsSUE2QlBDLFlBQVksR0FBQUgsT0FBQSxDQUFBRyxZQUFBLDBCQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFBLE9BQVpBLFlBQVk7QUFBQTtBQUFBLElBUVpDLGVBQWUsR0FBQUosT0FBQSxDQUFBSSxlQUFBLDBCQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFBLE9BQWZBLGVBQWU7QUFBQTtBQUFBLElBUWZDLFlBQVksR0FBQUwsT0FBQSxDQUFBSyxZQUFBLDBCQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFBLE9BQVpBLFlBQVk7QUFBQTtBQUFBLElBZ0VaQyxpQkFBaUIsR0FBQU4sT0FBQSxDQUFBTSxpQkFBQSwwQkFBakJBLGlCQUFpQjtFQUFqQkEsaUJBQWlCO0VBQWpCQSxpQkFBaUI7RUFBakJBLGlCQUFpQjtFQUFBLE9BQWpCQSxpQkFBaUI7QUFBQTtBQUFBLElBZ0JqQkMsbUJBQW1CLEdBQUFQLE9BQUEsQ0FBQU8sbUJBQUEsMEJBQW5CQSxtQkFBbUI7RUFBbkJBLG1CQUFtQjtFQUFuQkEsbUJBQW1CO0VBQW5CQSxtQkFBbUI7RUFBQSxPQUFuQkEsbUJBQW1CO0FBQUE7QUFBQSxJQU1uQkMsUUFBUSxHQUFBUixPQUFBLENBQUFRLFFBQUEsMEJBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFBLE9BQVJBLFFBQVE7QUFBQSxPQUlwQjtBQUNBO0FBQUEsSUFDYUMsT0FBTyxHQUFBVCxPQUFBLENBQUFTLE9BQUE7RUFBQSxTQUFBQSxRQUFBO0lBQUFDLGVBQUEsT0FBQUQsT0FBQTtFQUFBO0VBQUEsT0FBQUUsWUFBQSxDQUFBRixPQUFBO0lBQUFHLEdBQUE7SUFBQUMsS0FBQSxFQUNoQixTQUFBQyxXQUF5QkMsSUFBWSxFQUFZO01BQzdDLE9BQU9DLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBQUNILElBQUksQ0FBQyxFQUFFSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEQ7RUFBQztJQUFBUCxHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBTyxlQUE2QlAsS0FBZSxFQUFVO01BQ2xELE9BQU9JLElBQUksQ0FBQ0ksU0FBUyxDQUFDQyxNQUFNLENBQUNULEtBQUssRUFBRU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRTtFQUFDO0lBQUFQLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUFVLGlCQUErQlIsSUFBWSxFQUFrQjtNQUN6RCxPQUFPQyxJQUFJLENBQUNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxJQUFJLENBQUMsRUFBRUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdEQ7RUFBQztJQUFBUCxHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBVyxxQkFBbUNYLEtBQXFCLEVBQVU7TUFDOUQsT0FBT0ksSUFBSSxDQUFDSSxTQUFTLENBQUNDLE1BQU0sQ0FBQ1QsS0FBSyxFQUFFTSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEU7RUFBQztBQUFBO0FBR0wsU0FBU00sWUFBWUEsQ0FBQ0MsR0FBUSxFQUFFQyxHQUFRLEVBQXdCO0VBQUEsSUFBdEJmLEdBQVEsR0FBQWdCLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLEVBQUU7RUFDbkQsSUFBSWhCLEdBQUcsRUFBRTtJQUNMLE1BQU1tQixLQUFLLDRCQUFBQyxNQUFBLENBQTJCcEIsR0FBRyx3QkFBQW9CLE1BQUEsQ0FBb0JmLElBQUksQ0FBQ0ksU0FBUyxDQUFDSyxHQUFHLENBQUMsZUFBQU0sTUFBQSxDQUFZZixJQUFJLENBQUNJLFNBQVMsQ0FBQ00sR0FBRyxDQUFDLENBQUUsQ0FBQztFQUN0SDtFQUNBLE1BQU1JLEtBQUssa0JBQUFDLE1BQUEsQ0FBa0JmLElBQUksQ0FBQ0ksU0FBUyxDQUFDTSxHQUFHLENBQUMsZ0JBQUFLLE1BQUEsQ0FBYWYsSUFBSSxDQUFDSSxTQUFTLENBQUNLLEdBQUcsQ0FBQyxDQUFJLENBQUM7QUFDekY7QUFFQSxTQUFTTyxhQUFhQSxDQUFDUCxHQUFRLEVBQU87RUFDbEMsSUFBSUEsR0FBRyxDQUFDUSxRQUFRLEtBQUtKLFNBQVMsRUFBRTtJQUM1QixJQUFNSyxHQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ25CVCxHQUFHLENBQUNVLEtBQUssQ0FBQ0MsT0FBTyxDQUFDLFVBQUNDLENBQU07TUFBQSxPQUFLSCxHQUFHLENBQUNHLENBQUMsQ0FBQ3ZCLElBQUksQ0FBQyxHQUFHO1FBQUVILEdBQUcsRUFBRTBCLENBQUMsQ0FBQ0MsRUFBRTtRQUFFYixHQUFHLEVBQUVZLENBQUMsQ0FBQ1o7TUFBSSxDQUFDO0lBQUEsRUFBQztJQUN0RUEsR0FBRyxDQUFDUSxRQUFRLEdBQUdDLEdBQUc7RUFDdEI7RUFDQSxPQUFPVCxHQUFHLENBQUNRLFFBQVE7QUFDdkI7QUFFQSxTQUFTTSxhQUFhQSxDQUFDZCxHQUFRLEVBQU87RUFDbEMsSUFBSUEsR0FBRyxDQUFDZSxRQUFRLEtBQUtYLFNBQVMsRUFBRTtJQUM1QixJQUFNSyxHQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ25CVCxHQUFHLENBQUNVLEtBQUssQ0FBQ0MsT0FBTyxDQUFDLFVBQUNDLENBQU07TUFBQSxPQUFLSCxHQUFHLENBQUNHLENBQUMsQ0FBQ0MsRUFBRSxDQUFDLEdBQUc7UUFBRTNCLEdBQUcsRUFBRTBCLENBQUMsQ0FBQ3ZCLElBQUk7UUFBRVcsR0FBRyxFQUFFWSxDQUFDLENBQUNaO01BQUksQ0FBQztJQUFBLEVBQUM7SUFDdEVBLEdBQUcsQ0FBQ2UsUUFBUSxHQUFHTixHQUFHO0VBQ3RCO0VBQ0EsT0FBT1QsR0FBRyxDQUFDZSxRQUFRO0FBQ3ZCO0FBRUEsU0FBU0MsU0FBU0EsQ0FBQ2YsR0FBUSxFQUFFRCxHQUFRLEVBQUVpQixRQUFhLEVBQXNCO0VBQUEsSUFBcEIvQixHQUFRLEdBQUFnQixTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxFQUFFO0VBQy9ELFNBQVNnQixrQkFBa0JBLENBQUNsQixHQUFXLEVBQUVDLEdBQVEsRUFBTztJQUNwRCxJQUFJa0IsT0FBQSxDQUFPbkIsR0FBRyxNQUFBbUIsT0FBQSxDQUFZbEIsR0FBRyxHQUFFLE9BQU9BLEdBQUc7SUFDekMsT0FBT0YsWUFBWSxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsRUFBRWYsR0FBRyxDQUFDO0VBQ3RDO0VBRUEsU0FBU2tDLGNBQWNBLENBQUNDLElBQVcsRUFBRXBCLEdBQVEsRUFBTztJQUNoRDtJQUNBLElBQU1xQixDQUFDLEdBQUdELElBQUksQ0FBQ2xCLE1BQU07SUFDckIsS0FBSyxJQUFJb0IsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHRCxDQUFDLEVBQUVDLENBQUMsRUFBRSxFQUFFO01BQ3hCLElBQU12QixJQUFHLEdBQUdxQixJQUFJLENBQUNFLENBQUMsQ0FBQztNQUNuQixJQUFJO1FBQ0EsT0FBT1AsU0FBUyxDQUFDZixHQUFHLEVBQUVELElBQUcsRUFBRWlCLFFBQVEsQ0FBQztNQUN4QyxDQUFDLENBQUMsT0FBT08sQ0FBQyxFQUFFLENBQUM7SUFDakI7SUFDQSxPQUFPekIsWUFBWSxDQUFDc0IsSUFBSSxFQUFFcEIsR0FBRyxDQUFDO0VBQ2xDO0VBRUEsU0FBU3dCLGFBQWFBLENBQUNDLEtBQWUsRUFBRXpCLEdBQVEsRUFBTztJQUNuRCxJQUFJeUIsS0FBSyxDQUFDQyxPQUFPLENBQUMxQixHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPQSxHQUFHO0lBQ3pDLE9BQU9GLFlBQVksQ0FBQzJCLEtBQUssRUFBRXpCLEdBQUcsQ0FBQztFQUNuQztFQUVBLFNBQVMyQixjQUFjQSxDQUFDNUIsR0FBUSxFQUFFQyxHQUFRLEVBQU87SUFDN0M7SUFDQSxJQUFJLENBQUM0QixLQUFLLENBQUNDLE9BQU8sQ0FBQzdCLEdBQUcsQ0FBQyxFQUFFLE9BQU9GLFlBQVksQ0FBQyxPQUFPLEVBQUVFLEdBQUcsQ0FBQztJQUMxRCxPQUFPQSxHQUFHLENBQUNRLEdBQUcsQ0FBQyxVQUFBc0IsRUFBRTtNQUFBLE9BQUlmLFNBQVMsQ0FBQ2UsRUFBRSxFQUFFL0IsR0FBRyxFQUFFaUIsUUFBUSxDQUFDO0lBQUEsRUFBQztFQUN0RDtFQUVBLFNBQVNlLGFBQWFBLENBQUMvQixHQUFRLEVBQU87SUFDbEMsSUFBSUEsR0FBRyxLQUFLLElBQUksRUFBRTtNQUNkLE9BQU8sSUFBSTtJQUNmO0lBQ0EsSUFBTWdDLENBQUMsR0FBRyxJQUFJQyxJQUFJLENBQUNqQyxHQUFHLENBQUM7SUFDdkIsSUFBSWtDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7TUFDcEIsT0FBT3JDLFlBQVksQ0FBQyxNQUFNLEVBQUVFLEdBQUcsQ0FBQztJQUNwQztJQUNBLE9BQU9nQyxDQUFDO0VBQ1o7RUFFQSxTQUFTSSxlQUFlQSxDQUFDM0IsS0FBMkIsRUFBRTRCLFVBQWUsRUFBRXJDLEdBQVEsRUFBTztJQUNsRixJQUFJQSxHQUFHLEtBQUssSUFBSSxJQUFJa0IsT0FBQSxDQUFPbEIsR0FBRyxNQUFLLFFBQVEsSUFBSTRCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDN0IsR0FBRyxDQUFDLEVBQUU7TUFDL0QsT0FBT0YsWUFBWSxDQUFDLFFBQVEsRUFBRUUsR0FBRyxDQUFDO0lBQ3RDO0lBQ0EsSUFBTXNDLE1BQVcsR0FBRyxDQUFDLENBQUM7SUFDdEJDLE1BQU0sQ0FBQ0MsbUJBQW1CLENBQUMvQixLQUFLLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFVBQUF6QixHQUFHLEVBQUk7TUFDN0MsSUFBTXdELElBQUksR0FBR2hDLEtBQUssQ0FBQ3hCLEdBQUcsQ0FBQztNQUN2QixJQUFNeUQsQ0FBQyxHQUFHSCxNQUFNLENBQUNJLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUM3QyxHQUFHLEVBQUVmLEdBQUcsQ0FBQyxHQUFHZSxHQUFHLENBQUNmLEdBQUcsQ0FBQyxHQUFHa0IsU0FBUztNQUMvRW1DLE1BQU0sQ0FBQ0csSUFBSSxDQUFDeEQsR0FBRyxDQUFDLEdBQUc4QixTQUFTLENBQUMyQixDQUFDLEVBQUVELElBQUksQ0FBQzFDLEdBQUcsRUFBRWlCLFFBQVEsRUFBRXlCLElBQUksQ0FBQ3hELEdBQUcsQ0FBQztJQUNqRSxDQUFDLENBQUM7SUFDRnNELE1BQU0sQ0FBQ0MsbUJBQW1CLENBQUN4QyxHQUFHLENBQUMsQ0FBQ1UsT0FBTyxDQUFDLFVBQUF6QixHQUFHLEVBQUk7TUFDM0MsSUFBSSxDQUFDc0QsTUFBTSxDQUFDSSxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDcEMsS0FBSyxFQUFFeEIsR0FBRyxDQUFDLEVBQUU7UUFDbkRxRCxNQUFNLENBQUNyRCxHQUFHLENBQUMsR0FBRzhCLFNBQVMsQ0FBQ2YsR0FBRyxDQUFDZixHQUFHLENBQUMsRUFBRW9ELFVBQVUsRUFBRXJCLFFBQVEsRUFBRS9CLEdBQUcsQ0FBQztNQUNoRTtJQUNKLENBQUMsQ0FBQztJQUNGLE9BQU9xRCxNQUFNO0VBQ2pCO0VBRUEsSUFBSXZDLEdBQUcsS0FBSyxLQUFLLEVBQUUsT0FBT0MsR0FBRztFQUM3QixJQUFJRCxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ2QsSUFBSUMsR0FBRyxLQUFLLElBQUksRUFBRSxPQUFPQSxHQUFHO0lBQzVCLE9BQU9GLFlBQVksQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLENBQUM7RUFDakM7RUFDQSxJQUFJRCxHQUFHLEtBQUssS0FBSyxFQUFFLE9BQU9ELFlBQVksQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLENBQUM7RUFDaEQsT0FBT2tCLE9BQUEsQ0FBT25CLEdBQUcsTUFBSyxRQUFRLElBQUlBLEdBQUcsQ0FBQytDLEdBQUcsS0FBSzNDLFNBQVMsRUFBRTtJQUNyREosR0FBRyxHQUFHZ0QsT0FBTyxDQUFDaEQsR0FBRyxDQUFDK0MsR0FBRyxDQUFDO0VBQzFCO0VBQ0EsSUFBSWxCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDOUIsR0FBRyxDQUFDLEVBQUUsT0FBT3lCLGFBQWEsQ0FBQ3pCLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0VBQ3RELElBQUlrQixPQUFBLENBQU9uQixHQUFHLE1BQUssUUFBUSxFQUFFO0lBQ3pCLE9BQU9BLEdBQUcsQ0FBQzZDLGNBQWMsQ0FBQyxjQUFjLENBQUMsR0FBR3pCLGNBQWMsQ0FBQ3BCLEdBQUcsQ0FBQ2lELFlBQVksRUFBRWhELEdBQUcsQ0FBQyxHQUMzRUQsR0FBRyxDQUFDNkMsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFNakIsY0FBYyxDQUFDNUIsR0FBRyxDQUFDa0QsVUFBVSxFQUFFakQsR0FBRyxDQUFDLEdBQ3pFRCxHQUFHLENBQUM2QyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQVdSLGVBQWUsQ0FBQ3BCLFFBQVEsQ0FBQ2pCLEdBQUcsQ0FBQyxFQUFFQSxHQUFHLENBQUNzQyxVQUFVLEVBQUVyQyxHQUFHLENBQUMsR0FDekZGLFlBQVksQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLENBQUM7RUFDaEM7RUFDQTtFQUNBLElBQUlELEdBQUcsS0FBS2tDLElBQUksSUFBSSxPQUFPakMsR0FBRyxLQUFLLFFBQVEsRUFBRSxPQUFPK0IsYUFBYSxDQUFDL0IsR0FBRyxDQUFDO0VBQ3RFLE9BQU9pQixrQkFBa0IsQ0FBQ2xCLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0FBQ3ZDO0FBRUEsU0FBU1gsSUFBSUEsQ0FBSVcsR0FBUSxFQUFFRCxHQUFRLEVBQUs7RUFDcEMsT0FBT2dCLFNBQVMsQ0FBQ2YsR0FBRyxFQUFFRCxHQUFHLEVBQUVPLGFBQWEsQ0FBQztBQUM3QztBQUVBLFNBQVNYLE1BQU1BLENBQUlLLEdBQU0sRUFBRUQsR0FBUSxFQUFPO0VBQ3RDLE9BQU9nQixTQUFTLENBQUNmLEdBQUcsRUFBRUQsR0FBRyxFQUFFYyxhQUFhLENBQUM7QUFDN0M7QUFFQSxTQUFTcUMsQ0FBQ0EsQ0FBQ25ELEdBQVEsRUFBRTtFQUNqQixPQUFPO0lBQUVrRCxVQUFVLEVBQUVsRDtFQUFJLENBQUM7QUFDOUI7QUFFQSxTQUFTb0QsQ0FBQ0EsQ0FBQSxFQUFpQjtFQUFBLFNBQUFDLElBQUEsR0FBQW5ELFNBQUEsQ0FBQUMsTUFBQSxFQUFia0IsSUFBSSxPQUFBUSxLQUFBLENBQUF3QixJQUFBLEdBQUFDLElBQUEsTUFBQUEsSUFBQSxHQUFBRCxJQUFBLEVBQUFDLElBQUE7SUFBSmpDLElBQUksQ0FBQWlDLElBQUEsSUFBQXBELFNBQUEsQ0FBQW9ELElBQUE7RUFBQTtFQUNkLE9BQU87SUFBRUwsWUFBWSxFQUFFNUI7RUFBSyxDQUFDO0FBQ2pDO0FBRUEsU0FBU2tDLENBQUNBLENBQUM3QyxLQUFZLEVBQUU0QixVQUFlLEVBQUU7RUFDdEMsT0FBTztJQUFFNUIsS0FBSyxFQUFMQSxLQUFLO0lBQUU0QixVQUFVLEVBQVZBO0VBQVcsQ0FBQztBQUNoQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsU0FBUzdDLENBQUNBLENBQUMrRCxJQUFZLEVBQUU7RUFDckIsT0FBTztJQUFFVCxHQUFHLEVBQUVTO0VBQUssQ0FBQztBQUN4QjtBQUVBLElBQU1SLE9BQVksR0FBRztFQUNqQixVQUFVLEVBQUVPLENBQUMsQ0FBQyxDQUNWO0lBQUVsRSxJQUFJLEVBQUUsVUFBVTtJQUFFd0IsRUFBRSxFQUFFLFVBQVU7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsZUFBZTtFQUFFLENBQUMsQ0FDaEUsRUFBRSxLQUFLLENBQUM7RUFDVCxlQUFlLEVBQUU4RCxDQUFDLENBQUMsQ0FDZjtJQUFFbEUsSUFBSSxFQUFFLFNBQVM7SUFBRXdCLEVBQUUsRUFBRSxTQUFTO0lBQUViLEdBQUcsRUFBRW1ELENBQUMsQ0FBQzFELENBQUMsQ0FBQyxTQUFTLENBQUM7RUFBRSxDQUFDLENBQzNELEVBQUUsS0FBSyxDQUFDO0VBQ1QsZ0JBQWdCLEVBQUU4RCxDQUFDLENBQUMsQ0FDaEI7SUFBRWxFLElBQUksRUFBRSxTQUFTO0lBQUV3QixFQUFFLEVBQUUsU0FBUztJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxTQUFTO0VBQUUsQ0FBQyxDQUN4RCxFQUFFLEtBQUssQ0FBQztFQUNULFNBQVMsRUFBRThELENBQUMsQ0FBQyxDQUNUO0lBQUVsRSxJQUFJLEVBQUUsWUFBWTtJQUFFd0IsRUFBRSxFQUFFLFlBQVk7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNqRDtJQUFFWCxJQUFJLEVBQUUsS0FBSztJQUFFd0IsRUFBRSxFQUFFLEtBQUs7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNuQztJQUFFWCxJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWCxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWCxJQUFJLEVBQUUsYUFBYTtJQUFFd0IsRUFBRSxFQUFFLGFBQWE7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNuRDtJQUFFWCxJQUFJLEVBQUUsWUFBWTtJQUFFd0IsRUFBRSxFQUFFLFlBQVk7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNqRDtJQUFFWCxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWCxJQUFJLEVBQUUsYUFBYTtJQUFFd0IsRUFBRSxFQUFFLGFBQWE7SUFBRWIsR0FBRyxFQUFFa0M7RUFBSyxDQUFDLEVBQ3JEO0lBQUU3QyxJQUFJLEVBQUUscUJBQXFCO0lBQUV3QixFQUFFLEVBQUUscUJBQXFCO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDbkU7SUFBRVgsSUFBSSxFQUFFLFVBQVU7SUFBRXdCLEVBQUUsRUFBRSxVQUFVO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLFVBQVU7RUFBRSxDQUFDLEVBQ3hEO0lBQUVKLElBQUksRUFBRSxNQUFNO0lBQUV3QixFQUFFLEVBQUUsTUFBTTtJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxNQUFNO0VBQUUsQ0FBQyxFQUM1QztJQUFFSixJQUFJLEVBQUUsT0FBTztJQUFFd0IsRUFBRSxFQUFFLE9BQU87SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN2QztJQUFFWCxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsV0FBVztFQUFFLENBQUMsRUFDM0Q7SUFBRUosSUFBSSxFQUFFLE9BQU87SUFBRXdCLEVBQUUsRUFBRSxPQUFPO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLE9BQU87RUFBRSxDQUFDLEVBQy9DO0lBQUVKLElBQUksRUFBRSx5QkFBeUI7SUFBRXdCLEVBQUUsRUFBRSx5QkFBeUI7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMseUJBQXlCO0VBQUUsQ0FBQyxFQUNyRztJQUFFSixJQUFJLEVBQUUsY0FBYztJQUFFd0IsRUFBRSxFQUFFLGNBQWM7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsY0FBYztFQUFFLENBQUMsRUFDcEU7SUFBRUosSUFBSSxFQUFFLGtCQUFrQjtJQUFFd0IsRUFBRSxFQUFFLGtCQUFrQjtJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxrQkFBa0I7RUFBRSxDQUFDLEVBQ2hGO0lBQUVKLElBQUksRUFBRSxhQUFhO0lBQUV3QixFQUFFLEVBQUUsYUFBYTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDMUU7SUFBRUosSUFBSSxFQUFFLFVBQVU7SUFBRXdCLEVBQUUsRUFBRSxVQUFVO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRVgsQ0FBQyxDQUFDLFVBQVUsQ0FBQztFQUFFLENBQUMsRUFDdEU7SUFBRUosSUFBSSxFQUFFLFFBQVE7SUFBRXdCLEVBQUUsRUFBRSxRQUFRO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxDQUMxRCxFQUFFLEtBQUssQ0FBQztFQUNULFdBQVcsRUFBRW1ELENBQUMsQ0FBQyxDQUNYO0lBQUVsRSxJQUFJLEVBQUUsT0FBTztJQUFFd0IsRUFBRSxFQUFFLE9BQU87SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO0VBQUUsQ0FBQyxFQUNoRDtJQUFFL0QsSUFBSSxFQUFFLHNCQUFzQjtJQUFFd0IsRUFBRSxFQUFFLHNCQUFzQjtJQUFFYixHQUFHLEVBQUU7RUFBSyxDQUFDLENBQzFFLEVBQUUsS0FBSyxDQUFDO0VBQ1QsYUFBYSxFQUFFdUQsQ0FBQyxDQUFDLENBQ2I7SUFBRWxFLElBQUksRUFBRSxZQUFZO0lBQUV3QixFQUFFLEVBQUUsWUFBWTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDM0QsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDcEY7SUFBRUosSUFBSSxFQUFFLE1BQU07SUFBRXdCLEVBQUUsRUFBRSxNQUFNO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRWdELENBQUMsQ0FBQzNELENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLEVBQzFFO0lBQUVKLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUVnRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxDQUFDO0VBQUUsQ0FBQyxFQUM5RTtJQUFFSixJQUFJLEVBQUUsYUFBYTtJQUFFd0IsRUFBRSxFQUFFLGFBQWE7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDRCxDQUFDLENBQUNDLENBQUMsQ0FBQzNELENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDeEc7SUFBRUosSUFBSSxFQUFFLHVCQUF1QjtJQUFFd0IsRUFBRSxFQUFFLHVCQUF1QjtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDM0QsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLElBQUk7RUFBRSxDQUFDLEVBQzNJO0lBQUVKLElBQUksRUFBRSxPQUFPO0lBQUV3QixFQUFFLEVBQUUsT0FBTztJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUVnRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxDQUFDO0VBQUUsQ0FBQyxFQUM1RTtJQUFFSixJQUFJLEVBQUUsU0FBUztJQUFFd0IsRUFBRSxFQUFFLFNBQVM7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFZ0QsQ0FBQyxDQUFDM0QsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksQ0FBQztFQUFFLENBQUMsRUFDaEY7SUFBRUosSUFBSSxFQUFFLG1CQUFtQjtJQUFFd0IsRUFBRSxFQUFFLG1CQUFtQjtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUVYLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztFQUFFLENBQUMsQ0FDcEcsRUFBRSxLQUFLLENBQUM7RUFDVCxhQUFhLEVBQUU4RCxDQUFDLENBQUMsQ0FDYjtJQUFFbEUsSUFBSSxFQUFFLFFBQVE7SUFBRXdCLEVBQUUsRUFBRSxRQUFRO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ0QsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO0VBQUUsQ0FBQyxDQUMxRixFQUFFLEtBQUssQ0FBQztFQUNULGlCQUFpQixFQUFFOEQsQ0FBQyxDQUFDLENBQ2pCO0lBQUVsRSxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWCxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxDQUNsRCxFQUFFLEtBQUssQ0FBQztFQUNULG1CQUFtQixFQUFFdUQsQ0FBQyxDQUFDLENBQ25CO0lBQUVsRSxJQUFJLEVBQUUsWUFBWTtJQUFFd0IsRUFBRSxFQUFFLFlBQVk7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDM0QsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUk7RUFBRSxDQUFDLEVBQ3hFO0lBQUVKLElBQUksRUFBRSxNQUFNO0lBQUV3QixFQUFFLEVBQUUsTUFBTTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDNUQ7SUFBRUosSUFBSSxFQUFFLFFBQVE7SUFBRXdCLEVBQUUsRUFBRSxRQUFRO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQzNELENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJO0VBQUUsQ0FBQyxFQUNoRTtJQUFFSixJQUFJLEVBQUUsYUFBYTtJQUFFd0IsRUFBRSxFQUFFLGFBQWE7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDM0QsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUk7RUFBRSxDQUFDLEVBQzFFO0lBQUVKLElBQUksRUFBRSx1QkFBdUI7SUFBRXdCLEVBQUUsRUFBRSx1QkFBdUI7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDM0QsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUk7RUFBRSxDQUFDLENBQ2pHLEVBQUUsS0FBSyxDQUFDO0VBQ1QsNEJBQTRCLEVBQUU4RCxDQUFDLENBQUMsQ0FDNUI7SUFBRWxFLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUVtRCxDQUFDLENBQUMxRCxDQUFDLENBQUMsaUJBQWlCLENBQUM7RUFBRSxDQUFDLENBQ2pFLEVBQUUsS0FBSyxDQUFDO0VBQ1QsT0FBTyxFQUFFOEQsQ0FBQyxDQUFDLENBQ1A7SUFBRWxFLElBQUksRUFBRSxTQUFTO0lBQUV3QixFQUFFLEVBQUUsU0FBUztJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQzNDO0lBQUVYLElBQUksRUFBRSxzQkFBc0I7SUFBRXdCLEVBQUUsRUFBRSxzQkFBc0I7SUFBRWIsR0FBRyxFQUFFO0VBQUssQ0FBQyxFQUN2RTtJQUFFWCxJQUFJLEVBQUUsbUJBQW1CO0lBQUV3QixFQUFFLEVBQUUsbUJBQW1CO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRSxJQUFJO0VBQUUsQ0FBQyxDQUNsRixFQUFFLEtBQUssQ0FBQztFQUNULE1BQU0sRUFBRW1ELENBQUMsQ0FBQyxDQUNOO0lBQUVsRSxJQUFJLEVBQUUsTUFBTTtJQUFFd0IsRUFBRSxFQUFFLE1BQU07SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsTUFBTTtFQUFFLENBQUMsRUFDNUM7SUFBRUosSUFBSSxFQUFFLFNBQVM7SUFBRXdCLEVBQUUsRUFBRSxTQUFTO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLFNBQVM7RUFBRSxDQUFDLENBQ3hELEVBQUUsS0FBSyxDQUFDO0VBQ1QsY0FBYyxFQUFFOEQsQ0FBQyxDQUFDLENBQ2Q7SUFBRWxFLElBQUksRUFBRSxlQUFlO0lBQUV3QixFQUFFLEVBQUUsZUFBZTtJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ3ZEO0lBQUVYLElBQUksRUFBRSxtQkFBbUI7SUFBRXdCLEVBQUUsRUFBRSxtQkFBbUI7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvRDtJQUFFWCxJQUFJLEVBQUUsb0JBQW9CO0lBQUV3QixFQUFFLEVBQUUsb0JBQW9CO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDakU7SUFBRVgsSUFBSSxFQUFFLFNBQVM7SUFBRXdCLEVBQUUsRUFBRSxTQUFTO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLFNBQVM7RUFBRSxDQUFDLEVBQ3JEO0lBQUVKLElBQUksRUFBRSxVQUFVO0lBQUV3QixFQUFFLEVBQUUsVUFBVTtJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxVQUFVO0VBQUUsQ0FBQyxDQUMzRCxFQUFFLEtBQUssQ0FBQztFQUNULFVBQVUsRUFBRThELENBQUMsQ0FBQyxDQUNWO0lBQUVsRSxJQUFJLEVBQUUsTUFBTTtJQUFFd0IsRUFBRSxFQUFFLE1BQU07SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNyQztJQUFFWCxJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWCxJQUFJLEVBQUUsYUFBYTtJQUFFd0IsRUFBRSxFQUFFLGFBQWE7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNuRDtJQUFFWCxJQUFJLEVBQUUsWUFBWTtJQUFFd0IsRUFBRSxFQUFFLFlBQVk7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNqRDtJQUFFWCxJQUFJLEVBQUUsdUJBQXVCO0lBQUV3QixFQUFFLEVBQUUsdUJBQXVCO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxDQUN4RixFQUFFLEtBQUssQ0FBQztFQUNULFVBQVUsRUFBRW1ELENBQUMsQ0FBQyxDQUNWO0lBQUVsRSxJQUFJLEVBQUUsY0FBYztJQUFFd0IsRUFBRSxFQUFFLGNBQWM7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsY0FBYztFQUFFLENBQUMsRUFDcEU7SUFBRUosSUFBSSxFQUFFLGlCQUFpQjtJQUFFd0IsRUFBRSxFQUFFLGlCQUFpQjtJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxpQkFBaUI7RUFBRSxDQUFDLEVBQzdFO0lBQUVKLElBQUksRUFBRSxjQUFjO0lBQUV3QixFQUFFLEVBQUUsY0FBYztJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxjQUFjO0VBQUUsQ0FBQyxDQUN2RSxFQUFFLEtBQUssQ0FBQztFQUNULGtCQUFrQixFQUFFOEQsQ0FBQyxDQUFDLENBQ2xCO0lBQUVsRSxJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsUUFBUTtFQUFFLENBQUMsQ0FDckQsRUFBRSxLQUFLLENBQUM7RUFDVCxRQUFRLEVBQUU4RCxDQUFDLENBQUMsQ0FDUjtJQUFFbEUsSUFBSSxFQUFFLFdBQVc7SUFBRXdCLEVBQUUsRUFBRSxXQUFXO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDL0M7SUFBRVgsSUFBSSxFQUFFLFNBQVM7SUFBRXdCLEVBQUUsRUFBRSxTQUFTO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLFNBQVM7RUFBRSxDQUFDLENBQ3hELEVBQUUsS0FBSyxDQUFDO0VBQ1QsU0FBUyxFQUFFOEQsQ0FBQyxDQUFDLENBQ1Q7SUFBRWxFLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUVtRCxDQUFDLENBQUMxRCxDQUFDLENBQUMsUUFBUSxDQUFDO0VBQUUsQ0FBQyxDQUN4RCxFQUFFLEtBQUssQ0FBQztFQUNULFFBQVEsRUFBRThELENBQUMsQ0FBQyxDQUNSO0lBQUVsRSxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWCxJQUFJLEVBQUUscUJBQXFCO0lBQUV3QixFQUFFLEVBQUUscUJBQXFCO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDbkU7SUFBRVgsSUFBSSxFQUFFLE1BQU07SUFBRXdCLEVBQUUsRUFBRSxNQUFNO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLE1BQU07RUFBRSxDQUFDLENBQy9DLEVBQUUsS0FBSyxDQUFDO0VBQ1QsTUFBTSxFQUFFOEQsQ0FBQyxDQUFDLENBQ047SUFBRWxFLElBQUksRUFBRSxxQkFBcUI7SUFBRXdCLEVBQUUsRUFBRSxxQkFBcUI7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMscUJBQXFCO0VBQUUsQ0FBQyxFQUN6RjtJQUFFSixJQUFJLEVBQUUsY0FBYztJQUFFd0IsRUFBRSxFQUFFLGNBQWM7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsY0FBYztFQUFFLENBQUMsRUFDcEU7SUFBRUosSUFBSSxFQUFFLG1CQUFtQjtJQUFFd0IsRUFBRSxFQUFFLG1CQUFtQjtJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxtQkFBbUI7RUFBRSxDQUFDLENBQ3RGLEVBQUUsS0FBSyxDQUFDO0VBQ1QsbUJBQW1CLEVBQUU4RCxDQUFDLENBQUMsQ0FDbkI7SUFBRWxFLElBQUksRUFBRSxXQUFXO0lBQUV3QixFQUFFLEVBQUUsV0FBVztJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDL0Q7SUFBRWYsSUFBSSxFQUFFLFlBQVk7SUFBRXdCLEVBQUUsRUFBRSxZQUFZO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRWdELENBQUMsQ0FBQzNELENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7RUFBRSxDQUFDLEVBQzlGO0lBQUVKLElBQUksRUFBRSxNQUFNO0lBQUV3QixFQUFFLEVBQUUsTUFBTTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUVnRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLEVBQ2hGO0lBQUVKLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUVnRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLEVBQ3BGO0lBQUVKLElBQUksRUFBRSxZQUFZO0lBQUV3QixFQUFFLEVBQUUsWUFBWTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUVnRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLEVBQzVGO0lBQUVKLElBQUksRUFBRSxhQUFhO0lBQUV3QixFQUFFLEVBQUUsYUFBYTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUVnRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLEVBQzlGO0lBQUVKLElBQUksRUFBRSxPQUFPO0lBQUV3QixFQUFFLEVBQUUsT0FBTztJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUVnRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLEVBQ2xGO0lBQUVKLElBQUksRUFBRSxTQUFTO0lBQUV3QixFQUFFLEVBQUUsU0FBUztJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUVnRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLENBQ3pGLEVBQUUsS0FBSyxDQUFDO0VBQ1QsbUJBQW1CLEVBQUU4RCxDQUFDLENBQUMsQ0FDbkI7SUFBRWxFLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNELENBQUMsQ0FBQzFELENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsY0FBYyxDQUFDO0VBQUUsQ0FBQyxDQUNwRixFQUFFLEtBQUssQ0FBQztFQUNULGNBQWMsRUFBRThELENBQUMsQ0FBQyxDQUNkO0lBQUVsRSxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWCxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWCxJQUFJLEVBQUUsZUFBZTtJQUFFd0IsRUFBRSxFQUFFLGVBQWU7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLENBQ3hFLEVBQUUsS0FBSyxDQUFDO0VBQ1QsaUJBQWlCLEVBQUVtRCxDQUFDLENBQUMsQ0FDakI7SUFBRWxFLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNELENBQUMsQ0FBQzFELENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsY0FBYyxDQUFDO0VBQUUsQ0FBQyxDQUNwRixFQUFFLEtBQUssQ0FBQztFQUNULGNBQWMsRUFBRThELENBQUMsQ0FBQyxDQUNkO0lBQUVsRSxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWCxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWCxJQUFJLEVBQUUsbUJBQW1CO0lBQUV3QixFQUFFLEVBQUUsbUJBQW1CO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLG1CQUFtQjtFQUFFLENBQUMsQ0FDdEYsRUFBRSxLQUFLLENBQUM7RUFDVCxjQUFjLEVBQUU4RCxDQUFDLENBQUMsQ0FDZDtJQUFFbEUsSUFBSSxFQUFFLE1BQU07SUFBRXdCLEVBQUUsRUFBRSxNQUFNO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDckM7SUFBRVgsSUFBSSxFQUFFLFFBQVE7SUFBRXdCLEVBQUUsRUFBRSxRQUFRO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDekM7SUFBRVgsSUFBSSxFQUFFLFlBQVk7SUFBRXdCLEVBQUUsRUFBRSxZQUFZO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxFQUMvRDtJQUFFZixJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFZ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLEVBQ3RFO0lBQUUvRCxJQUFJLEVBQUUsWUFBWTtJQUFFd0IsRUFBRSxFQUFFLFlBQVk7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLEVBQy9EO0lBQUVmLElBQUksRUFBRSxhQUFhO0lBQUV3QixFQUFFLEVBQUUsYUFBYTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUUsRUFBRTtFQUFFLENBQUMsRUFDakU7SUFBRWYsSUFBSSxFQUFFLHVCQUF1QjtJQUFFd0IsRUFBRSxFQUFFLHVCQUF1QjtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUUsRUFBRTtFQUFFLENBQUMsQ0FDeEYsRUFBRSxLQUFLLENBQUM7RUFDVCx5QkFBeUIsRUFBRSxDQUN2QixrQ0FBa0MsRUFDbEMsbUJBQW1CLENBQ3RCO0VBQ0QsTUFBTSxFQUFFLENBQ0osUUFBUSxFQUNSLFFBQVEsQ0FDWDtFQUNELFNBQVMsRUFBRSxDQUNQLGdDQUFnQyxFQUNoQyxzQ0FBc0MsRUFDdEMsa0NBQWtDLEVBQ2xDLHdDQUF3QyxDQUNyQztFQUNQLGNBQWMsRUFBRSxDQUNaLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLENBQ1I7RUFDRCxpQkFBaUIsRUFBRSxDQUNmLG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0QiwwQkFBMEIsQ0FDN0I7RUFDRCxjQUFjLEVBQUUsQ0FDWix5Q0FBeUMsRUFDekMsc0RBQXNELEVBQ3RELHVEQUF1RCxFQUN2RCxpRUFBaUUsRUFDakUsa0NBQWtDLENBQ3JDO0VBQ0QsbUJBQW1CLEVBQUUsQ0FDakIsSUFBSSxFQUNKLEtBQUssRUFDTCxLQUFLLENBQ1I7RUFDRCxxQkFBcUIsRUFBRSxDQUNuQixZQUFZLEVBQ1osUUFBUSxFQUNSLE1BQU0sQ0FDVDtFQUNELFVBQVUsRUFBRSxDQUNSLFNBQVM7QUFFakIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
690
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlUHVibGljYXRpb25EZXNWb3RlcyIsImV4cG9ydHMiLCJDb2RlIiwiTGliZWxsZSIsIkNvZGVUeXBlVm90ZSIsIkxpYmVsbGVUeXBlVm90ZSIsIlR5cGVNYWpvcml0ZSIsIkNhdXNlUG9zaXRpb25Wb3RlIiwiUG9zaXRpb25NYWpvcml0YWlyZSIsIkxpZXVWb3RlIiwiQ29udmVydCIsIl9jbGFzc0NhbGxDaGVjayIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwidG9TY3J1dGlucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInNjcnV0aW5zVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9TY3J1dGluV3JhcHBlciIsInNjcnV0aW5XcmFwcGVyVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJjb25jYXQiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsIl90eXBlb2YiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwiX2xlbiIsIl9rZXkiLCJvIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXdfdHlwZXMvc2NydXRpbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgU2NydXRpbnMsIFNjcnV0aW5XcmFwcGVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3Qgc2NydXRpbnMgPSBDb252ZXJ0LnRvU2NydXRpbnMoanNvbik7XG4vLyAgIGNvbnN0IHNjcnV0aW5XcmFwcGVyID0gQ29udmVydC50b1NjcnV0aW5XcmFwcGVyKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NydXRpbnMge1xuICAgIHNjcnV0aW5zOiBTY3J1dGluc0NsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW5zQ2xhc3Mge1xuICAgIHNjcnV0aW46IFNjcnV0aW5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluV3JhcHBlciB7XG4gIHNjcnV0aW46IFNjcnV0aW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluIHtcbiAgICBcIkB4bWxuczp4c2lcIjogICAgICAgICAgICBzdHJpbmc7XG4gICAgdWlkOiAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBudW1lcm86ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIG9yZ2FuZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBzZXNzaW9uUmVmOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHNlYW5jZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgZGF0ZVNjcnV0aW46ICAgICAgICAgICAgIERhdGU7XG4gICAgcXVhbnRpZW1lSm91clNlYW5jZTogICAgIHN0cmluZztcbiAgICB0eXBlVm90ZTogICAgICAgICAgICAgICAgVHlwZVZvdGU7XG4gICAgc29ydDogICAgICAgICAgICAgICAgICAgIFNvcnQ7XG4gICAgdGl0cmU6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBkZW1hbmRldXI6ICAgICAgICAgICAgICAgRGVtYW5kZXVyO1xuICAgIG9iamV0OiAgICAgICAgICAgICAgICAgICBPYmpldDtcbiAgICBtb2RlUHVibGljYXRpb25EZXNWb3RlczogTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXM7XG4gICAgc3ludGhlc2VWb3RlOiAgICAgICAgICAgIFN5bnRoZXNlVm90ZTtcbiAgICB2ZW50aWxhdGlvblZvdGVzOiAgICAgICAgVmVudGlsYXRpb25Wb3RlcztcbiAgICBtaXNlQXVQb2ludDogICAgICAgICAgICAgTWlzZUF1UG9pbnQgfCBudWxsO1xuICAgIGxpZXVWb3RlPzogICAgICAgICAgICAgICBMaWV1Vm90ZTtcbiAgICBcIkB4bWxuc1wiPzogICAgICAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyIHtcbiAgICB0ZXh0ZTogICAgICAgICAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaXNlQXVQb2ludCB7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICBBcnJheTxDb250cmVDbGFzcyB8IG51bGw+IHwgbnVsbDtcbiAgICBwb3VyPzogICAgICAgICAgICAgICAgIENvbnRyZUNsYXNzIHwgbnVsbDtcbiAgICBjb250cmU/OiAgICAgICAgICAgICAgIENvbnRyZUNsYXNzIHwgbnVsbDtcbiAgICBhYnN0ZW50aW9uczogICAgICAgICAgIEFycmF5PENvbnRyZUNsYXNzIHwgbnVsbD4gfCBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgbm9uVm90YW50c1ZvbG9udGFpcmVzOiBBcnJheTxDb250cmVDbGFzcyB8IG51bGw+IHwgTm9uVm90YW50c1ZvbG9udGFpcmVzQ2xhc3MgfCBudWxsO1xuICAgIHBvdXJzPzogICAgICAgICAgICAgICAgQ29udHJlQ2xhc3MgfCBudWxsO1xuICAgIGNvbnRyZXM/OiAgICAgICAgICAgICAgQ29udHJlQ2xhc3MgfCBudWxsO1xuICAgIGR5c2ZvbmN0aW9ubmVtZW50PzogICAgRHlzZm9uY3Rpb25uZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJlQ2xhc3Mge1xuICAgIHZvdGFudDogUG91clZvdGFudENsYXNzW10gfCBQb3VyVm90YW50Q2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG91clZvdGFudENsYXNzIHtcbiAgICBhY3RldXJSZWY6IHN0cmluZztcbiAgICBtYW5kYXRSZWY6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeXNmb25jdGlvbm5lbWVudCB7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgcG91cjogICAgICAgICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgY29udHJlOiAgICAgICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgYWJzdGVudGlvbnM6ICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgbm9uVm90YW50c1ZvbG9udGFpcmVzOiBDb250cmVDbGFzcyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9uVm90YW50c1ZvbG9udGFpcmVzQ2xhc3Mge1xuICAgIHZvdGFudDogUG91clZvdGFudENsYXNzW107XG59XG5cbmV4cG9ydCBlbnVtIE1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzIHtcbiAgICBEZWNvbXB0ZURpc3NpZGVudHNQb3NpdGlvbkdyb3VwZSA9IFwiRGVjb21wdGVEaXNzaWRlbnRzUG9zaXRpb25Hcm91cGVcIixcbiAgICBEZWNvbXB0ZU5vbWluYXRpZiA9IFwiRGVjb21wdGVOb21pbmF0aWZcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYmpldCB7XG4gICAgbGliZWxsZTogICAgICAgICAgICAgIHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbiAgICBkb3NzaWVyTGVnaXNsYXRpZj86IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0IHtcbiAgICBjb2RlOiAgICBDb2RlO1xuICAgIGxpYmVsbGU6IExpYmVsbGU7XG59XG5cbmV4cG9ydCBlbnVtIENvZGUge1xuICAgIEFkb3B0w6kgPSBcImFkb3B0w6lcIixcbiAgICBSZWpldMOpID0gXCJyZWpldMOpXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpYmVsbGUge1xuICAgIExBc3NlbWJsw6llTmF0aW9uYWxlQUFkb3B0w6kgPSBcImwnQXNzZW1ibMOpZSBuYXRpb25hbGUgYSBhZG9wdMOpXCIsXG4gICAgTEFzc2VtYmzDqWVOYXRpb25hbGVOQVBhc0Fkb3B0w6kgPSBcIkwnQXNzZW1ibMOpZSBuYXRpb25hbGUgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgTGVDb25ncsOoc0R1UGFybGVtZW50QUFkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICBMZUNvbmdyw6hzRHVQYXJsZW1lbnROQVBhc0Fkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgfVxuXG5leHBvcnQgaW50ZXJmYWNlIFN5bnRoZXNlVm90ZSB7XG4gICAgbm9tYnJlVm90YW50czogICAgICBzdHJpbmc7XG4gICAgc3VmZnJhZ2VzRXhwcmltZXM6ICBzdHJpbmc7XG4gICAgbmJyU3VmZnJhZ2VzUmVxdWlzOiBzdHJpbmc7XG4gICAgYW5ub25jZTogICAgICAgICAgICBMaWJlbGxlO1xuICAgIGRlY29tcHRlOiAgICAgICAgICAgRGVjb21wdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGUge1xuICAgIHBvdXI6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjb250cmU6ICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgYWJzdGVudGlvbnM6ICAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudHM6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVZvdGUge1xuICAgIGNvZGVUeXBlVm90ZTogICAgQ29kZVR5cGVWb3RlO1xuICAgIGxpYmVsbGVUeXBlVm90ZTogTGliZWxsZVR5cGVWb3RlO1xuICAgIHR5cGVNYWpvcml0ZTogICAgVHlwZU1ham9yaXRlO1xufVxuXG5leHBvcnQgZW51bSBDb2RlVHlwZVZvdGUge1xuICAgIE1vYyA9IFwiTU9DXCIsXG4gICAgU2F0ID0gXCJTQVRcIixcbiAgICBTcG8gPSBcIlNQT1wiLFxuICAgIFNwcyA9IFwiU1BTXCIsXG4gICAgU3NnID0gXCJTU0dcIixcbn1cblxuZXhwb3J0IGVudW0gTGliZWxsZVR5cGVWb3RlIHtcbiAgICBNb3Rpb25EZUNlbnN1cmUgPSBcIm1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gICAgU2NydXRpblB1YmxpY09yZGluYWlyZSA9IFwic2NydXRpbiBwdWJsaWMgb3JkaW5haXJlXCIsXG4gICAgU2NydXRpblB1YmxpY1NvbGVubmVsID0gXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgIFNjcnV0aW7DgExhVHJpYnVuZSA9IFwic2NydXRpbiDDoCBsYSB0cmlidW5lXCIsXG4gICAgU2NydXRpblNvbGVubmVsQ29uZ3LDqHMgPSBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZU1ham9yaXRlIHtcbiAgICBNYWpvcml0w6lBYnNvbHVlRGVzU3VmZnJhZ2VzRXhwcmltw6lzID0gXCJtYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgIE1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRMQXNzZW1ibMOpZU5hdGlvbmFsZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgTWFqb3JpdMOpRGVzTWVtYnJlc0NvbXBvc2FudHNDb21wb3NhbnRMQXNzZW1ibMOpZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZVwiLFxuICAgIE1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRzQ29tcG9zYW50TEFzc2VtYmzDqWVOYXRpb25hbGUgPSBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgTWFqb3JpdMOpUmVxdWlzZVBvdXJVbkNvbmdyw6hzID0gXCJNYWpvcml0w6kgcmVxdWlzZSBwb3VyIHVuIENvbmdyw6hzXCIsXG4gICAgTWFqb3JpdMOpUmVxdWlzZVBvdXJVbmVNb3Rpb25EZUNlbnN1cmUgPSBcIk1ham9yaXTDqSByZXF1aXNlIHBvdXIgdW5lIG1vdGlvbiBkZSBjZW5zdXJlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVudGlsYXRpb25Wb3RlcyB7XG4gICAgb3JnYW5lOiBPcmdhbmU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5lIHtcbiAgICBvcmdhbmVSZWY6IHN0cmluZztcbiAgICBncm91cGVzOiAgIEdyb3VwZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlcyB7XG4gICAgZ3JvdXBlOiBHcm91cGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cGUge1xuICAgIG9yZ2FuZVJlZjogICAgICAgICAgIHN0cmluZztcbiAgICBub21icmVNZW1icmVzR3JvdXBlOiBzdHJpbmc7XG4gICAgdm90ZTogICAgICAgICAgICAgICAgVm90ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb3RlIHtcbiAgICBwb3NpdGlvbk1ham9yaXRhaXJlOiBQb3NpdGlvbk1ham9yaXRhaXJlO1xuICAgIGRlY29tcHRlVm9peDogICAgICAgIERlY29tcHRlVm9peDtcbiAgICBkZWNvbXB0ZU5vbWluYXRpZjogICBEZWNvbXB0ZU5vbWluYXRpZjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWNvbXB0ZU5vbWluYXRpZiB7XG4gICAgbm9uVm90YW50PzogICBudWxsXG4gICAgbm9uVm90YW50cz86ICBOb25Wb3RhbnRzQ2xhc3MgfCBudWxsIHwgc3RyaW5nO1xuICAgIHBvdXI/OiAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGNvbnRyZT86ICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGFic3RlbnRpb24/OiBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGFic3RlbnRpb25zPzogVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBwb3Vycz86ICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBjb250cmVzPzogICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb3RhbnRzQ2xhc3Mge1xuICAgIHZvdGFudDogVm90YW50W10gfCBWb3RhbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVm90YW50IHtcbiAgICBhY3RldXJSZWY6ICAgICAgc3RyaW5nO1xuICAgIG1hbmRhdFJlZjogICAgICBzdHJpbmc7XG4gICAgcGFyRGVsZWdhdGlvbj86IHN0cmluZztcbiAgICBudW1QbGFjZT86ICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vblZvdGFudHNDbGFzcyB7XG4gICAgdm90YW50OiBOb25Wb3RhbnRbXSB8IE5vblZvdGFudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb25Wb3RhbnQge1xuICAgIGFjdGV1clJlZjogICAgICAgICBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiAgICAgICAgIHN0cmluZztcbiAgICBwYXJEZWxlZ2F0aW9uPzogICAgc3RyaW5nO1xuICAgIG51bVBsYWNlPzogICAgICAgICBzdHJpbmc7XG4gICAgY2F1c2VQb3NpdGlvblZvdGU6IENhdXNlUG9zaXRpb25Wb3RlO1xufVxuXG5leHBvcnQgZW51bSBDYXVzZVBvc2l0aW9uVm90ZSB7XG4gICAgTWcgPSBcIk1HXCIsXG4gICAgUGFuID0gXCJQQU5cIixcbiAgICBQc2UgPSBcIlBTRVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlY29tcHRlVm9peCB7XG4gICAgcG91cjogICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNvbnRyZTogICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBhYnN0ZW50aW9uPzogICAgICAgICAgICBzdHJpbmc7XG4gICAgbm9uVm90YW50PzogICAgICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgICBub25Wb3RhbnRzPzogICAgICAgICAgICBzdHJpbmc7XG4gICAgYWJzdGVudGlvbnM/OiAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudHNWb2xvbnRhaXJlcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gUG9zaXRpb25NYWpvcml0YWlyZSB7XG4gICAgQWJzdGVudGlvbiA9IFwiYWJzdGVudGlvblwiLFxuICAgIENvbnRyZSA9IFwiY29udHJlXCIsXG4gICAgUG91ciA9IFwicG91clwiLFxufVxuXG5leHBvcnQgZW51bSBMaWV1Vm90ZSB7XG4gICAgQ29uZ3LDqHMgPSBcIkNvbmdyw6hzXCIsXG4gICAgU2Fsb25zID0gXCJTYWxvbnNcIixcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gICAgcHVibGljIHN0YXRpYyB0b1NjcnV0aW5zKGpzb246IHN0cmluZyk6IFNjcnV0aW5zIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlNjcnV0aW5zXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHNjcnV0aW5zVG9Kc29uKHZhbHVlOiBTY3J1dGlucyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJTY3J1dGluc1wiKSksIG51bGwsIDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9TY3J1dGluV3JhcHBlcihqc29uOiBzdHJpbmcpOiBTY3J1dGluV3JhcHBlciB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJTY3J1dGluV3JhcHBlclwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBzY3J1dGluV3JhcHBlclRvSnNvbih2YWx1ZTogU2NydXRpbldyYXBwZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiU2NydXRpbldyYXBwZXJcIikpLCBudWxsLCAyKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gJycpOiBuZXZlciB7XG4gICAgaWYgKGtleSkge1xuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCwgKTtcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc29uVG9KUyA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc29uVG9KUztcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc1RvSlNPTiA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc1RvSlNPTjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSAnJyk6IGFueSB7XG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV07XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbCk7XG4gICAgICAgIHJldHVybiB2YWwubWFwKGVsID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKTtcbiAgICAgICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QocHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LCBhZGRpdGlvbmFsOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpID8gdmFsW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbDtcbiAgICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl07XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKTtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpICAgID8gdHJhbnNmb3JtQXJyYXkodHlwLmFycmF5SXRlbXMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIikgICAgICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICAgIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKTtcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKTtcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpO1xufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gICAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH07XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfTtcbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICAgIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH07XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHsgcmVmOiBuYW1lIH07XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgICBcIlNjcnV0aW5zXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic2NydXRpbnNcIiwganM6IFwic2NydXRpbnNcIiwgdHlwOiByKFwiU2NydXRpbnNDbGFzc1wiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5zQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJzY3J1dGluXCIsIGpzOiBcInNjcnV0aW5cIiwgdHlwOiBhKHIoXCJTY3J1dGluXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5XcmFwcGVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic2NydXRpblwiLCBqczogXCJzY3J1dGluXCIsIHR5cDogcihcIlNjcnV0aW5cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTY3J1dGluXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb1wiLCBqczogXCJudW1lcm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZXNzaW9uUmVmXCIsIGpzOiBcInNlc3Npb25SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZWFuY2VSZWZcIiwganM6IFwic2VhbmNlUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZVNjcnV0aW5cIiwganM6IFwiZGF0ZVNjcnV0aW5cIiwgdHlwOiBEYXRlIH0sXG4gICAgICAgIHsganNvbjogXCJxdWFudGllbWVKb3VyU2VhbmNlXCIsIGpzOiBcInF1YW50aWVtZUpvdXJTZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlVm90ZVwiLCBqczogXCJ0eXBlVm90ZVwiLCB0eXA6IHIoXCJUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwic29ydFwiLCBqczogXCJzb3J0XCIsIHR5cDogcihcIlNvcnRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInRpdHJlXCIsIGpzOiBcInRpdHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGVtYW5kZXVyXCIsIGpzOiBcImRlbWFuZGV1clwiLCB0eXA6IHIoXCJEZW1hbmRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm9iamV0XCIsIGpzOiBcIm9iamV0XCIsIHR5cDogcihcIk9iamV0XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLCBqczogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLCB0eXA6IHIoXCJNb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwic3ludGhlc2VWb3RlXCIsIGpzOiBcInN5bnRoZXNlVm90ZVwiLCB0eXA6IHIoXCJTeW50aGVzZVZvdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInZlbnRpbGF0aW9uVm90ZXNcIiwganM6IFwidmVudGlsYXRpb25Wb3Rlc1wiLCB0eXA6IHIoXCJWZW50aWxhdGlvblZvdGVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtaXNlQXVQb2ludFwiLCBqczogXCJtaXNlQXVQb2ludFwiLCB0eXA6IHUocihcIk1pc2VBdVBvaW50XCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibGlldVZvdGVcIiwganM6IFwibGlldVZvdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkxpZXVWb3RlXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zXCIsIGpzOiBcIkB4bWxuc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlbWFuZGV1clwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdShudWxsLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwicmVmZXJlbmNlTGVnaXNsYXRpdmVcIiwganM6IFwicmVmZXJlbmNlTGVnaXNsYXRpdmVcIiwgdHlwOiBudWxsIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWlzZUF1UG9pbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KGEodShyKFwiQ29udHJlQ2xhc3NcIiksIG51bGwpKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdShhKHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSksIHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KGEodShyKFwiQ29udHJlQ2xhc3NcIiksIG51bGwpKSwgcihcIk5vblZvdGFudHNWb2xvbnRhaXJlc0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicG91cnNcIiwganM6IFwicG91cnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiQ29udHJlQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlc1wiLCBqczogXCJjb250cmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImR5c2ZvbmN0aW9ubmVtZW50XCIsIGpzOiBcImR5c2ZvbmN0aW9ubmVtZW50XCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEeXNmb25jdGlvbm5lbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb250cmVDbGFzc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInZvdGFudFwiLCBqczogXCJ2b3RhbnRcIiwgdHlwOiB1KGEocihcIlBvdXJWb3RhbnRDbGFzc1wiKSksIHIoXCJQb3VyVm90YW50Q2xhc3NcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUG91clZvdGFudENsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm1hbmRhdFJlZlwiLCBqczogXCJtYW5kYXRSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRHlzZm9uY3Rpb25uZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlXCIsIGpzOiBcImNvbnRyZVwiLCB0eXA6IHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiB1KHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJOb25Wb3RhbnRzVm9sb250YWlyZXNDbGFzc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInZvdGFudFwiLCBqczogXCJ2b3RhbnRcIiwgdHlwOiBhKHIoXCJQb3VyVm90YW50Q2xhc3NcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiT2JqZXRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCBqczogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCB0eXA6IG51bGwgfSxcbiAgICAgICAgeyBqc29uOiBcImRvc3NpZXJMZWdpc2xhdGlmXCIsIGpzOiBcImRvc3NpZXJMZWdpc2xhdGlmXCIsIHR5cDogdSh1bmRlZmluZWQsIG51bGwpIH1cbiAgICBdLCBmYWxzZSksXG4gICAgXCJTb3J0XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogcihcIkNvZGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHIoXCJMaWJlbGxlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU3ludGhlc2VWb3RlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibm9tYnJlVm90YW50c1wiLCBqczogXCJub21icmVWb3RhbnRzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwic3VmZnJhZ2VzRXhwcmltZXNcIiwganM6IFwic3VmZnJhZ2VzRXhwcmltZXNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJuYnJTdWZmcmFnZXNSZXF1aXNcIiwganM6IFwibmJyU3VmZnJhZ2VzUmVxdWlzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYW5ub25jZVwiLCBqczogXCJhbm5vbmNlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRlY29tcHRlXCIsIGpzOiBcImRlY29tcHRlXCIsIHR5cDogcihcIkRlY29tcHRlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGVjb21wdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVHlwZVZvdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlVHlwZVZvdGVcIiwganM6IFwiY29kZVR5cGVWb3RlXCIsIHR5cDogcihcIkNvZGVUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZVR5cGVWb3RlXCIsIGpzOiBcImxpYmVsbGVUeXBlVm90ZVwiLCB0eXA6IHIoXCJMaWJlbGxlVHlwZVZvdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVNYWpvcml0ZVwiLCBqczogXCJ0eXBlTWFqb3JpdGVcIiwgdHlwOiByKFwiVHlwZU1ham9yaXRlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVmVudGlsYXRpb25Wb3Rlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVwiLCBqczogXCJvcmdhbmVcIiwgdHlwOiByKFwiT3JnYW5lXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiT3JnYW5lXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZXNcIiwganM6IFwiZ3JvdXBlc1wiLCB0eXA6IHIoXCJHcm91cGVzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZVwiLCBqczogXCJncm91cGVcIiwgdHlwOiBhKHIoXCJHcm91cGVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vbWJyZU1lbWJyZXNHcm91cGVcIiwganM6IFwibm9tYnJlTWVtYnJlc0dyb3VwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInZvdGVcIiwganM6IFwidm90ZVwiLCB0eXA6IHIoXCJWb3RlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVm90ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvc2l0aW9uTWFqb3JpdGFpcmVcIiwganM6IFwicG9zaXRpb25NYWpvcml0YWlyZVwiLCB0eXA6IHIoXCJQb3NpdGlvbk1ham9yaXRhaXJlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZWNvbXB0ZVZvaXhcIiwganM6IFwiZGVjb21wdGVWb2l4XCIsIHR5cDogcihcIkRlY29tcHRlVm9peFwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVjb21wdGVOb21pbmF0aWZcIiwganM6IFwiZGVjb21wdGVOb21pbmF0aWZcIiwgdHlwOiByKFwiRGVjb21wdGVOb21pbmF0aWZcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZU5vbWluYXRpZlwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudFwiLCBqczogXCJub25Wb3RhbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJOb25Wb3RhbnRzQ2xhc3NcIiksIG51bGwsIFwiXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwicG91clwiLCBqczogXCJwb3VyXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uXCIsIGpzOiBcImFic3RlbnRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3Vyc1wiLCBqczogXCJwb3Vyc1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlc1wiLCBqczogXCJjb250cmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVm90YW50c0NsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidm90YW50XCIsIGpzOiBcInZvdGFudFwiLCB0eXA6IHUoYShyKFwiVm90YW50XCIpKSwgcihcIlZvdGFudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWb3RhbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibWFuZGF0UmVmXCIsIGpzOiBcIm1hbmRhdFJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInBhckRlbGVnYXRpb25cIiwganM6IFwicGFyRGVsZWdhdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibnVtUGxhY2VcIiwganM6IFwibnVtUGxhY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJOb25Wb3RhbnRzQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ2b3RhbnRcIiwganM6IFwidm90YW50XCIsIHR5cDogdShhKHIoXCJOb25Wb3RhbnRcIikpLCByKFwiTm9uVm90YW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk5vblZvdGFudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicGFyRGVsZWdhdGlvblwiLCBqczogXCJwYXJEZWxlZ2F0aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJudW1QbGFjZVwiLCBqczogXCJudW1QbGFjZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwganM6IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwgdHlwOiByKFwiQ2F1c2VQb3NpdGlvblZvdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZVZvaXhcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvblwiLCBqczogXCJhYnN0ZW50aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRcIiwganM6IFwibm9uVm90YW50XCIsIHR5cDogdSh1bmRlZmluZWQsIHUoXCJcIiwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXNcIjogW1xuICAgICAgICBcIkRlY29tcHRlRGlzc2lkZW50c1Bvc2l0aW9uR3JvdXBlXCIsXG4gICAgICAgIFwiRGVjb21wdGVOb21pbmF0aWZcIixcbiAgICBdLFxuICAgIFwiQ29kZVwiOiBbXG4gICAgICAgIFwiYWRvcHTDqVwiLFxuICAgICAgICBcInJlamV0w6lcIixcbiAgICBdLFxuICAgIFwiTGliZWxsZVwiOiBbXG4gICAgICAgIFwibCdBc3NlbWJsw6llIG5hdGlvbmFsZSBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlIG4nYSBwYXMgYWRvcHTDqVwiLFxuICAgICAgICBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMZSBDb25ncsOocyBkdSBQYXJsZW1lbnQgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgICAgICAgXSxcbiAgICBcIkNvZGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwiTU9DXCIsXG4gICAgICAgIFwiU0FUXCIsXG4gICAgICAgIFwiU1BPXCIsXG4gICAgICAgIFwiU1BTXCIsXG4gICAgICAgIFwiU1NHXCIsXG4gICAgXSxcbiAgICBcIkxpYmVsbGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwibW90aW9uIGRlIGNlbnN1cmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBvcmRpbmFpcmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgICAgICBcInNjcnV0aW4gw6AgbGEgdHJpYnVuZVwiLFxuICAgICAgICBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbiAgICBdLFxuICAgIFwiVHlwZU1ham9yaXRlXCI6IFtcbiAgICAgICAgXCJtYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgICAgICBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICAgICAgICBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWVcIixcbiAgICAgICAgXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICAgICAgICBcIk1ham9yaXTDqSByZXF1aXNlIHBvdXIgdW4gQ29uZ3LDqHNcIixcbiAgICAgICAgXCJNYWpvcml0w6kgcmVxdWlzZSBwb3VyIHVuZSBtb3Rpb24gZGUgY2Vuc3VyZVwiLFxuICAgIF0sXG4gICAgXCJDYXVzZVBvc2l0aW9uVm90ZVwiOiBbXG4gICAgICAgIFwiTUdcIixcbiAgICAgICAgXCJQQU5cIixcbiAgICAgICAgXCJQU0VcIixcbiAgICBdLFxuICAgIFwiUG9zaXRpb25NYWpvcml0YWlyZVwiOiBbXG4gICAgICAgIFwiYWJzdGVudGlvblwiLFxuICAgICAgICBcImNvbnRyZVwiLFxuICAgICAgICBcInBvdXJcIixcbiAgICBdLFxuICAgIFwiTGlldVZvdGVcIjogW1xuICAgICAgICBcIkNvbmdyw6hzXCIsXG4gICAgICAgIFwiU2Fsb25zXCIsXG4gICAgXSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLElBMEVZQSx1QkFBdUIsR0FBQUMsT0FBQSxDQUFBRCx1QkFBQSwwQkFBdkJBLHVCQUF1QjtFQUF2QkEsdUJBQXVCO0VBQXZCQSx1QkFBdUI7RUFBQSxPQUF2QkEsdUJBQXVCO0FBQUE7QUFBQSxJQWdCdkJFLElBQUksR0FBQUQsT0FBQSxDQUFBQyxJQUFBLDBCQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFBLE9BQUpBLElBQUk7QUFBQTtBQUFBLElBS0pDLE9BQU8sR0FBQUYsT0FBQSxDQUFBRSxPQUFBLDBCQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBQSxPQUFQQSxPQUFPO0FBQUE7QUFBQSxJQTZCUEMsWUFBWSxHQUFBSCxPQUFBLENBQUFHLFlBQUEsMEJBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQUEsT0FBWkEsWUFBWTtBQUFBO0FBQUEsSUFRWkMsZUFBZSxHQUFBSixPQUFBLENBQUFJLGVBQUEsMEJBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQUEsT0FBZkEsZUFBZTtBQUFBO0FBQUEsSUFRZkMsWUFBWSxHQUFBTCxPQUFBLENBQUFLLFlBQUEsMEJBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBQSxPQUFaQSxZQUFZO0FBQUE7QUFBQSxJQW9FWkMsaUJBQWlCLEdBQUFOLE9B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RUFBRTtFQUFFLENBQUMsRUFDL0Q7SUFBRWYsSUFBSSxFQUFFLFdBQVc7SUFBRXdCLEVBQUUsRUFBRSxXQUFXO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRWdELENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO0VBQUUsQ0FBQyxFQUN0RTtJQUFFL0QsSUFBSSxFQUFFLFlBQVk7SUFBRXdCLEVBQUUsRUFBRSxZQUFZO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxFQUMvRDtJQUFFZixJQUFJLEVBQUUsYUFBYTtJQUFFd0IsRUFBRSxFQUFFLGFBQWE7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLEVBQ2pFO0lBQUVmLElBQUksRUFBRSx1QkFBdUI7SUFBRXdCLEVBQUUsRUFBRSx1QkFBdUI7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLENBQ3hGLEVBQUUsS0FBSyxDQUFDO0VBQ1QseUJBQXlCLEVBQUUsQ0FDdkIsa0NBQWtDLEVBQ2xDLG1CQUFtQixDQUN0QjtFQUNELE1BQU0sRUFBRSxDQUNKLFFBQVEsRUFDUixRQUFRLENBQ1g7RUFDRCxTQUFTLEVBQUUsQ0FDUCxnQ0FBZ0MsRUFDaEMsc0NBQXNDLEVBQ3RDLGtDQUFrQyxFQUNsQyx3Q0FBd0MsQ0FDckM7RUFDUCxjQUFjLEVBQUUsQ0FDWixLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxDQUNSO0VBQ0QsaUJBQWlCLEVBQUUsQ0FDZixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsMEJBQTBCLENBQzdCO0VBQ0QsY0FBYyxFQUFFLENBQ1oseUNBQXlDLEVBQ3pDLHNEQUFzRCxFQUN0RCx1REFBdUQsRUFDdkQsaUVBQWlFLEVBQ2pFLGtDQUFrQyxFQUNsQyw2Q0FBNkMsQ0FDaEQ7RUFDRCxtQkFBbUIsRUFBRSxDQUNqQixJQUFJLEVBQ0osS0FBSyxFQUNMLEtBQUssQ0FDUjtFQUNELHFCQUFxQixFQUFFLENBQ25CLFlBQVksRUFDWixRQUFRLEVBQ1IsTUFBTSxDQUNUO0VBQ0QsVUFBVSxFQUFFLENBQ1IsU0FBUyxFQUNULFFBQVE7QUFFaEIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==