@tricoteuses/assemblee 1.5.0 → 1.5.2

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 (63) hide show
  1. package/lib/bugs/acteur-00010.js +3 -3
  2. package/lib/bugs/agenda-00002.js +3 -3
  3. package/lib/bugs/agenda-00002.mjs +2 -2
  4. package/lib/bugs/agenda-00008.js +3 -3
  5. package/lib/bugs/agenda-00011.js +3 -3
  6. package/lib/bugs/agenda-00011.mjs +2 -2
  7. package/lib/bugs.js +3 -3
  8. package/lib/bugs.mjs +2 -2
  9. package/lib/datasets.js +1 -2
  10. package/lib/datasets.mjs +1 -2
  11. package/lib/dates.js +16 -20
  12. package/lib/dates.mjs +5 -7
  13. package/lib/dossiers_legislatifs.mjs +1 -2
  14. package/lib/file_systems.js +3 -3
  15. package/lib/file_systems.mjs +3 -3
  16. package/lib/inserters.js +1 -3
  17. package/lib/inserters.mjs +1 -3
  18. package/lib/parsers/documents.js +1 -2
  19. package/lib/parsers/documents.mjs +1 -2
  20. package/lib/parsers/recherche_amendements.js +9 -10
  21. package/lib/parsers/recherche_amendements.mjs +4 -6
  22. package/lib/raw_types/acteurs_et_organes.js +2 -2
  23. package/lib/raw_types/agendas.js +2 -2
  24. package/lib/raw_types/amendements.js +2 -2
  25. package/lib/raw_types/debats.js +2 -2
  26. package/lib/raw_types/dossiers_legislatifs.d.ts +1 -0
  27. package/lib/raw_types/dossiers_legislatifs.js +5 -4
  28. package/lib/raw_types/dossiers_legislatifs.mjs +3 -2
  29. package/lib/raw_types/questions.js +2 -2
  30. package/lib/raw_types/scrutins.js +2 -2
  31. package/lib/scripts/bugs_helper.js +3 -3
  32. package/lib/scripts/bugs_helper.mjs +2 -2
  33. package/lib/scripts/clean_reorganized_data.js +1 -1
  34. package/lib/scripts/clean_reorganized_data.mjs +1 -1
  35. package/lib/scripts/document_dossiers_legislatifs.js +3 -3
  36. package/lib/scripts/document_dossiers_legislatifs.mjs +2 -2
  37. package/lib/scripts/parse_textes_lois.js +2 -1
  38. package/lib/scripts/reorganize_data.js +1 -1
  39. package/lib/scripts/reorganize_data.mjs +1 -1
  40. package/lib/scripts/retrieve_senateurs_photos.js +1 -2
  41. package/lib/scripts/retrieve_senateurs_photos.mjs +1 -2
  42. package/lib/scripts/retrieve_textes_lois.js +3 -3
  43. package/lib/scripts/retrieve_textes_lois.mjs +1 -1
  44. package/lib/scripts/validate_json.js +3 -3
  45. package/lib/scripts/validate_json.mjs +2 -2
  46. package/lib/types/acteurs_et_organes.d.ts +32 -32
  47. package/lib/types/acteurs_et_organes.js +3 -3
  48. package/lib/types/acteurs_et_organes.mjs +1 -1
  49. package/lib/types/agendas.d.ts +5 -5
  50. package/lib/types/agendas.js +3 -3
  51. package/lib/types/agendas.mjs +1 -1
  52. package/lib/types/amendements.d.ts +1 -1
  53. package/lib/types/amendements.js +3 -3
  54. package/lib/types/amendements.mjs +1 -1
  55. package/lib/types/debats.js +3 -3
  56. package/lib/types/debats.mjs +1 -1
  57. package/lib/types/dossiers_legislatifs.js +3 -3
  58. package/lib/types/dossiers_legislatifs.mjs +1 -1
  59. package/lib/types/questions.js +3 -3
  60. package/lib/types/questions.mjs +1 -1
  61. package/lib/types/scrutins.js +3 -3
  62. package/lib/types/scrutins.mjs +1 -1
  63. package/package.json +3 -3
@@ -217,7 +217,6 @@ export function parseTexteLoi(assembleeUrl, page) {
217
217
  // Stay in the same state to go to next bodyChild.
218
218
  }
219
219
  }
220
-
221
220
  break;
222
221
  case "nextParagraphChild":
223
222
  paragraphChild = paragraphChild.nextElementSibling;
@@ -368,4 +367,4 @@ export async function retrieveTexteLoiParsed(fetch, assembleeUrl) {
368
367
  }
369
368
  return parseTexteLoi(assembleeUrl, page);
370
369
  }
371
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJKU0RPTSIsInBhcnNlVGV4dGVMb2kiLCJhc3NlbWJsZWVVcmwiLCJwYWdlIiwicGFnZVNlZ21lbnRzIiwic3BsaXQiLCJzdHJpY3RFcXVhbCIsImxlbmd0aCIsImh0bWwiLCJ0cmltIiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwic3Vic3RyaW5nIiwid2luZG93IiwiZG9jdW1lbnQiLCJjaGlsZHJlbiIsImh0bWxFbGVtZW50IiwiYm9keUVsZW1lbnQiLCJkaXZFbGVtZW50IiwidGFnTmFtZSIsIm5ld0RpdkVsZW1lbnQiLCJpbnNlcnRCZWZvcmUiLCJjcmVhdGVFbGVtZW50IiwiZGl2Q2hpbGQiLCJnZXRBdHRyaWJ1dGUiLCJhcHBlbmRDaGlsZCIsImNsb3NlIiwiZXJyb3IiLCJjb2RlIiwibWVzc2FnZSIsImJvZHlDaGlsZCIsImFsaW5lYUVsZW1lbnQiLCJpc011bHRpTGluZXNIZWFkZXIiLCJsZXZlbCIsImxldmVscyIsImxpbmVFbGVtZW50cyIsIm5leHRQYXJlbnRTdGF0ZSIsInBhcmFncmFwaENoaWxkIiwicGFyYWdyYXBoRWxlbWVudCIsInN0YXRlIiwic3ViQWxpbmVhRWxlbWVudCIsInN1YmRpdmlzaW9ucyIsInN1YmRpdmlzaW9uQWxpbmVhc0h0bWwiLCJzdWJkaXZpc2lvbkFsaW5lYXNUZXh0Iiwic3ViZGl2aXNpb25IZWFkZXJzSHRtbCIsInN1YmRpdmlzaW9uSGVhZGVyc1RleHQiLCJ1bmRlZmluZWQiLCJoZWFkZXJUZXh0IiwidGV4dENvbnRlbnQiLCJuYW1lQ29tcHV0ZWQiLCJub3JtYWxpemUiLCJyZXBsYWNlIiwibmFtZVVwcGVyIiwidG9VcHBlckNhc2UiLCJuZXh0TGV2ZWwiLCJtYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJwb3AiLCJwdXNoIiwiYWxpbmVhcyIsImhlYWRlcnMiLCJpZCIsInJlbGF0aXZlTGV2ZWwiLCJ0ZXh0IiwibmV4dEVsZW1lbnRTaWJsaW5nIiwiaW5jbHVkZXMiLCJsaW5lVGV4dCIsIm1hcCIsImVsZW1lbnQiLCJqb2luIiwibGluZUh0bWwiLCJvdXRlckhUTUwiLCJjbGFzc05hbWUiLCJ1cmwiLCJyZXRyaWV2ZVRleHRlTG9pUGFyc2VkIiwiZmV0Y2giLCJyZXNwb25zZSIsIm9rIiwic3RhdHVzIiwic3RhdHVzVGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXJzL2RvY3VtZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuaW1wb3J0IHsgSlNET00gfSBmcm9tIFwianNkb21cIlxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUZXh0ZUxvaShhc3NlbWJsZWVVcmw6IHN0cmluZywgcGFnZTogc3RyaW5nKSB7XG4gIC8vIFJlcGFpciBIVE1MLlxuICBjb25zdCBwYWdlU2VnbWVudHMgPSBwYWdlLnNwbGl0KFwiPC9zdHlsZT5cIilcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKHBhZ2VTZWdtZW50cy5sZW5ndGgsIDIsIHBhZ2UpXG4gIGxldCBodG1sID0gcGFnZVNlZ21lbnRzWzFdLnRyaW0oKVxuICBhc3NlcnQoaHRtbC5zdGFydHNXaXRoKFwiPGRpdlwiKSlcbiAgYXNzZXJ0KGh0bWwuZW5kc1dpdGgoXCI8L2Rpdj5cIikpXG4gIGh0bWwgPSBgPGh0bWwke2h0bWwuc3Vic3RyaW5nKDQsIGh0bWwubGVuZ3RoIC0gNil9PC9odG1sPmBcblxuICAvLyBFeHRyYWN0IHN1YmRpdmlzaW9ucyBmcm9tIEhUTUwuXG4gIGNvbnN0IHsgd2luZG93IH0gPSBuZXcgSlNET00oaHRtbClcbiAgY29uc3QgeyBkb2N1bWVudCB9ID0gd2luZG93XG4gIGFzc2VydC5zdHJpY3RFcXVhbChkb2N1bWVudC5jaGlsZHJlbi5sZW5ndGgsIDEpXG4gIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuY2hpbGRyZW5bMF1cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGh0bWxFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCwgMilcbiAgY29uc3QgYm9keUVsZW1lbnQgPSBodG1sRWxlbWVudC5jaGlsZHJlblsxXVxuICBpZiAoYXNzZW1ibGVlVXJsID09PSBcImh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDY3NS5hc3BcIikge1xuICAgIC8vIFJlcGFpciBkb2N1bWVudC5cbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYm9keUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoLCAxKVxuICAgIGNvbnN0IGRpdkVsZW1lbnQgPSBib2R5RWxlbWVudC5jaGlsZHJlblswXVxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChkaXZFbGVtZW50LnRhZ05hbWUsIFwiRElWXCIpXG4gICAgY29uc3QgbmV3RGl2RWxlbWVudCA9IGJvZHlFbGVtZW50Lmluc2VydEJlZm9yZShcbiAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksXG4gICAgICBkaXZFbGVtZW50LFxuICAgIClcbiAgICBib2R5RWxlbWVudC5pbnNlcnRCZWZvcmUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJyXCIpLCBkaXZFbGVtZW50KVxuICAgIGZvciAoY29uc3QgZGl2Q2hpbGQgb2YgWy4uLmRpdkVsZW1lbnQuY2hpbGRyZW5dKSB7XG4gICAgICBpZiAoZGl2Q2hpbGQuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIikgPT09IFwiYTlBcnRpY2xlTnVtXCIpIHtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIG5ld0RpdkVsZW1lbnQuYXBwZW5kQ2hpbGQoZGl2Q2hpbGQpXG4gICAgfVxuICB9XG4gIGlmIChib2R5RWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPCAzKSB7XG4gICAgLy8gT2NjdXJzIGluIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDMyNi5hc3AuXG4gICAgd2luZG93LmNsb3NlKCkgLy8gRnJlZSBtZW1vcnkuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVycm9yOiB7IGNvZGU6IC0xLCBtZXNzYWdlOiBcIlRleHRlIGRlIGxvaSBzYW5zIGNvbnRlbnVcIiB9LFxuICAgICAgaHRtbCxcbiAgICAgIHBhZ2UsXG4gICAgfVxuICB9XG4gIGFzc2VydC5zdHJpY3RFcXVhbChib2R5RWxlbWVudC5jaGlsZHJlblswXS50YWdOYW1lLCBcIkRJVlwiKVxuICAvLyBGaXJzdCBjaGlsZCBpcyBhIERJViBkZXNjcmliaW5nIHRoZSBkb2N1bWVudCAoQXNzZW1ibMOpZSdzIGhlYWRlcikuIFNraXAgaXQgZm9yIG5vdy5cbiAgbGV0IGJvZHlDaGlsZCA9IGJvZHlFbGVtZW50LmNoaWxkcmVuWzFdXG4gIGFzc2VydC5zdHJpY3RFcXVhbChib2R5Q2hpbGQudGFnTmFtZSwgXCJCUlwiKVxuICBsZXQgYWxpbmVhRWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsXG4gIGxldCBpc011bHRpTGluZXNIZWFkZXI6IGJvb2xlYW4gPSBmYWxzZVxuICBsZXQgbGV2ZWw6IG51bWJlciB8IG51bGwgPSBudWxsXG4gIGxldCBsZXZlbHM6IG51bWJlcltdID0gW11cbiAgbGV0IGxpbmVFbGVtZW50czogRWxlbWVudFtdIHwgbnVsbCA9IG51bGxcbiAgbGV0IG5leHRQYXJlbnRTdGF0ZSA9IG51bGxcbiAgbGV0IHBhcmFncmFwaENoaWxkOiBFbGVtZW50IHwgbnVsbCA9IG51bGxcbiAgbGV0IHBhcmFncmFwaEVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbFxuICBsZXQgc3RhdGU6IHN0cmluZyB8IG51bGwgPSBcIm5leHRCb2R5Q2hpbGRcIlxuICBsZXQgc3ViQWxpbmVhRWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsXG4gIGNvbnN0IHN1YmRpdmlzaW9ucyA9IFtdXG4gIGxldCBzdWJkaXZpc2lvbkFsaW5lYXNIdG1sOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsXG4gIGxldCBzdWJkaXZpc2lvbkFsaW5lYXNUZXh0OiBzdHJpbmdbXSB8IG51bGwgPSBudWxsXG4gIGxldCBzdWJkaXZpc2lvbkhlYWRlcnNIdG1sOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsXG4gIGxldCBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0OiBzdHJpbmdbXSB8IG51bGwgPSBudWxsXG4gIHdoaWxlIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgXCJhbGluZWFFbGVtZW50XCI6XG4gICAgICAgIHN3aXRjaCAoYWxpbmVhRWxlbWVudCEudGFnTmFtZSkge1xuICAgICAgICAgIGNhc2UgXCJESVZcIjpcbiAgICAgICAgICAgIHN0YXRlID0gXCJmaXJzdFN1YkFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiSDRcIjpcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIG5leHRQYXJlbnRTdGF0ZSA9IFwibmV4dEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgcGFyYWdyYXBoRWxlbWVudCA9IGFsaW5lYUVsZW1lbnRcbiAgICAgICAgICAgIHN0YXRlID0gXCJmaXJzdFBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSBcIlBcIjpcbiAgICAgICAgICAgIG5leHRQYXJlbnRTdGF0ZSA9IFwibmV4dEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgcGFyYWdyYXBoRWxlbWVudCA9IGFsaW5lYUVsZW1lbnRcbiAgICAgICAgICAgIHN0YXRlID0gXCJmaXJzdFBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSBcIk9MXCI6XG4gICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICBzdGF0ZSA9IFwibmV4dEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiVEFCTEVcIjpcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIHN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBlcnJvcjoge1xuICAgICAgICAgICAgICAgIGNvZGU6IC0yLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBVbmV4cGVjdGVkIHRhZyBuYW1lIGZvciBhbGluZWEgZWxlbWVudDogJHtcbiAgICAgICAgICAgICAgICAgIGFsaW5lYUVsZW1lbnQhLnRhZ05hbWVcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbCxcbiAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcImZpcnN0QWxpbmVhRWxlbWVudFwiOlxuICAgICAgICBhbGluZWFFbGVtZW50ID0gYm9keUNoaWxkLmNoaWxkcmVuWzBdXG4gICAgICAgIGlmIChhbGluZWFFbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBObyBhbGluZWEgaW4gY3VycmVudCBib2R5Q2hpbGQ6IGdvIHRvIG5leHQgYm9keUNoaWxkLlxuICAgICAgICAgIHN0YXRlID0gXCJuZXh0Qm9keUNoaWxkXCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZSA9IFwiYWxpbmVhRWxlbWVudFwiXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJmaXJzdFBhcmFncmFwaENoaWxkXCI6XG4gICAgICAgIHBhcmFncmFwaENoaWxkID0gcGFyYWdyYXBoRWxlbWVudCEuY2hpbGRyZW5bMF1cbiAgICAgICAgaWYgKHBhcmFncmFwaENoaWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBObyBjaGlsZCBpbiBjdXJyZW50IHBhcmFncmFwaDogZ28gdG8gbmV4dCBwYXJlbnQgZWxlbWVudC5cbiAgICAgICAgICBzdGF0ZSA9IG5leHRQYXJlbnRTdGF0ZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGhlYWRlclRleHQgPSBwYXJhZ3JhcGhFbGVtZW50IS50ZXh0Q29udGVudFxuICAgICAgICAgIGNvbnN0IG5hbWVDb21wdXRlZCA9IChoZWFkZXJUZXh0IHx8IFwiXCIpXG4gICAgICAgICAgICAubm9ybWFsaXplKFwiTkZEXCIpXG4gICAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgXCJcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXChub3V2ZWF1XFwpLywgXCJcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXChQb3VyIGNvb3JkaW5hdGlvblxcKS8sIFwiXCIpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwoU3VwcHJpbcOpcz9cXCkvLCBcIlwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL8KgL2csIFwiIFwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1tcXC0sLuKApl0vZywgXCJcIilcbiAgICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAgIC5yZXBsYWNlKC8gezEsfS9nLCBcIl9cIilcbiAgICAgICAgICBjb25zdCBuYW1lVXBwZXIgPSBuYW1lQ29tcHV0ZWQudG9VcHBlckNhc2UoKVxuICAgICAgICAgIGlmIChuYW1lVXBwZXIgPT09IFwiXCIpIHtcbiAgICAgICAgICAgIC8vIE9jY3VycyBpbjpcbiAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNDQ1LmFzcFxuICAgICAgICAgICAgLy8gKiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzA2MjYuYXNwXG4gICAgICAgICAgICAvLyBTa2lwIHBhcmFncmFwaC5cbiAgICAgICAgICAgIHN0YXRlID0gbmV4dFBhcmVudFN0YXRlXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBuZXh0TGV2ZWwgPVxuICAgICAgICAgICAgbmFtZVVwcGVyLm1hdGNoKC9eKFJBUFBPUlRfKT9BTk5FWEUoX3wkKS8pICE9PSBudWxsIHx8XG4gICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goL15FVEFUXy8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXlRPTUVfLykgIT09IG51bGxcbiAgICAgICAgICAgICAgPyAxXG4gICAgICAgICAgICAgIDogbmFtZVVwcGVyLm1hdGNoKC9eUEFSVElFXy8pICE9PSBudWxsIHx8XG4gICAgICAgICAgICAgICAgbmFtZVVwcGVyLm1hdGNoKFxuICAgICAgICAgICAgICAgICAgL14oUFJFTUlFUkV8U0VDT05ERXxERVVYSUVNRXxUUk9JU0lFTUV8UVVBVFJJRU1FKV9QQVJUSUUoX3wkKS8sXG4gICAgICAgICAgICAgICAgKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDJcbiAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15MSVZSRV8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDNcbiAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15USVRSRV8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDRcbiAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15TT1VTVElUUkVfLykgIT09IG51bGxcbiAgICAgICAgICAgICAgPyA1XG4gICAgICAgICAgICAgIDogbmFtZVVwcGVyLm1hdGNoKC9eQ0hBUElUUkVfLykgIT09IG51bGxcbiAgICAgICAgICAgICAgPyA2XG4gICAgICAgICAgICAgIDogbmFtZVVwcGVyLm1hdGNoKC9eU0VDVElPTl8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDdcbiAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15TT1VTU0VDVElPTl8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDhcbiAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15BUlRJQ0xFUz9fLykgIT09IG51bGwgfHxcbiAgICAgICAgICAgICAgICAvLyBcIkV4cG9zw6kgZGVzIG1vdGlmc1wiIG11c3QgYmUgYXQgdGhlIHNhbWUgbGV2ZWwgYXMgYXJ0aWNsZS5cbiAgICAgICAgICAgICAgICAvLyBcIkV4cG9zw6kgZGVzIG1vdGlmc1wiIHdpdGhvdXQgY29udGVudDpcbiAgICAgICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDcwMi5hc3BcbiAgICAgICAgICAgICAgICAvLyBcIkV4cG9zw6kgZGVzIG1vdGlmc1wiIHdpdGggY29udGVudDpcbiAgICAgICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMTMyNi5hc3BcbiAgICAgICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMTYxMC5hc3BcbiAgICAgICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goL15FWFBPU0VfREVTX01PVElGUyQvKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDlcbiAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgaWYgKG5leHRMZXZlbCA9PT0gbnVsbCAmJiBzdWJkaXZpc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBpZiAobmFtZVVwcGVyLm1hdGNoKC9eKFBST0pFVHxQUk9QT1NJVElPTilfREVfTE9JKF98JCkvKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBPY2N1cnMgaW46XG4gICAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wMjMyLmFzcFxuICAgICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDYyNi5hc3BcbiAgICAgICAgICAgICAgLy8gKiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzA2NzYuYXNwXG4gICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICBuYW1lVXBwZXIgPT09IFwiSkVVWF9PTFlNUElRVUVTX0VUX1BBUkFMWU1QSVFVRVNfREVfMjAyNFwiXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgLy8gT2NjdXJzIGluIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDY3Ni5hc3BcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmFtZVVwcGVyID09PSBcIlRFWFRFX0RFX0xBX0NPTU1JU1NJT05fTUlYVEVfUEFSSVRBSVJFXCIpIHtcbiAgICAgICAgICAgICAgLy8gT2NjdXJzIGluIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMTI5NC5hc3BcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgICAgIGBVbmV4cGVjdGVkIG5hbWVVcHBlciA9IFwiJHtuYW1lVXBwZXJ9XCIgYXQgYmVnaW5uaW5nIG9mIFwidGV4dGUgZGUgbG9pXCIgYXQgJHthc3NlbWJsZWVVcmx9YCxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU2tpcCBwYXJhZ3JhcGguXG4gICAgICAgICAgICBzdGF0ZSA9IG5leHRQYXJlbnRTdGF0ZVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG5leHRMZXZlbCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgbGV2ZWwgPSBuZXh0TGV2ZWxcbiAgICAgICAgICAgIHdoaWxlIChsZXZlbHMubGVuZ3RoID4gMCAmJiBsZXZlbCA8IGxldmVsc1tsZXZlbHMubGVuZ3RoIC0gMV0pIHtcbiAgICAgICAgICAgICAgbGV2ZWxzLnBvcCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGV2ZWxzLmxlbmd0aCA9PT0gMCB8fCBsZXZlbCA+IGxldmVsc1tsZXZlbHMubGVuZ3RoIC0gMV0pIHtcbiAgICAgICAgICAgICAgbGV2ZWxzLnB1c2gobGV2ZWwpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBBcnRpY2xlcyAmIFwiRXhwb3PDqSBkZXMgbW90aWZzXCIgYXJlIHRoZSBvbmx5IGRpdmlzaW9ucyB3aXRob3V0IHNlY29uZCB0aXRsZS5cbiAgICAgICAgICAgIGlzTXVsdGlMaW5lc0hlYWRlciA9XG4gICAgICAgICAgICAgIG5hbWVVcHBlci5tYXRjaCgvXkFSVElDTEVTP18vKSA9PT0gbnVsbCAmJlxuICAgICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goL15FWFBPU0VfREVTX01PVElGUyQvKSA9PT0gbnVsbFxuICAgICAgICAgICAgc3ViZGl2aXNpb25BbGluZWFzSHRtbCA9IFtdXG4gICAgICAgICAgICBzdWJkaXZpc2lvbkFsaW5lYXNUZXh0ID0gW11cbiAgICAgICAgICAgIHN1YmRpdmlzaW9uSGVhZGVyc0h0bWwgPSBbXVxuICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzVGV4dCA9IFtdXG4gICAgICAgICAgICBzdWJkaXZpc2lvbnMucHVzaCh7XG4gICAgICAgICAgICAgIGh0bWw6IHtcbiAgICAgICAgICAgICAgICBhbGluZWFzOiBzdWJkaXZpc2lvbkFsaW5lYXNIdG1sLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHN1YmRpdmlzaW9uSGVhZGVyc0h0bWwsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGlkOiBcIkRfXCIgKyBuYW1lQ29tcHV0ZWQsXG4gICAgICAgICAgICAgIGxldmVsOiBsZXZlbCArIDEsXG4gICAgICAgICAgICAgIHJlbGF0aXZlTGV2ZWw6IGxldmVscy5sZW5ndGgsXG4gICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICBhbGluZWFzOiBzdWJkaXZpc2lvbkFsaW5lYXNUZXh0LFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHN1YmRpdmlzaW9uSGVhZGVyc1RleHQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICBsaW5lRWxlbWVudHMgPSBbXVxuICAgICAgICAgIHN0YXRlID0gXCJwYXJhZ3JhcGhDaGlsZFwiXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJmaXJzdFN1YkFsaW5lYUVsZW1lbnRcIjpcbiAgICAgICAgc3ViQWxpbmVhRWxlbWVudCA9IGFsaW5lYUVsZW1lbnQhLmNoaWxkcmVuWzBdXG4gICAgICAgIGlmIChzdWJBbGluZWFFbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBObyBzdWItYWxpbmVhIGluIGN1cnJlbnQgYWxpbmVhOiBnbyB0byBuZXh0IGFsaW5lYS5cbiAgICAgICAgICBzdGF0ZSA9IFwibmV4dEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlID0gXCJzdWJBbGluZWFFbGVtZW50XCJcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcIm5leHRBbGluZWFFbGVtZW50XCI6XG4gICAgICAgIGFsaW5lYUVsZW1lbnQgPSBhbGluZWFFbGVtZW50IS5uZXh0RWxlbWVudFNpYmxpbmdcbiAgICAgICAgaWYgKGFsaW5lYUVsZW1lbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUaGUgYm9keUNoaWxkIGhhcyBiZWVuIGZ1bGx5IHBhcnNlZC4gR28gdG8gbmV4dCBib2R5Q2hpbGRcbiAgICAgICAgICBzdGF0ZSA9IFwibmV4dEJvZHlDaGlsZFwiXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGUgPSBcImFsaW5lYUVsZW1lbnRcIlxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwibmV4dEJvZHlDaGlsZFwiOlxuICAgICAgICBpZiAoYm9keUNoaWxkLm5leHRFbGVtZW50U2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoZSBkb2N1bWVudCBoYXMgYmVlbiBmdWxseSBwYXJzZWQuXG4gICAgICAgICAgc3RhdGUgPSBudWxsXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYm9keUNoaWxkID0gYm9keUNoaWxkLm5leHRFbGVtZW50U2libGluZ1xuICAgICAgICAgIGlmIChib2R5Q2hpbGQudGFnTmFtZSA9PT0gXCJESVZcIikge1xuICAgICAgICAgICAgc3RhdGUgPSBcImZpcnN0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIDxQLz4gaXMgZm9yIGZvb3Rub3Rlc1xuICAgICAgICAgICAgYXNzZXJ0KFxuICAgICAgICAgICAgICBbXCJCUlwiLCBcIkhSXCIsIFwiUFwiXS5pbmNsdWRlcyhib2R5Q2hpbGQudGFnTmFtZSksXG4gICAgICAgICAgICAgIGBVbmV4cGVjdGVkIHRhZyBuYW1lIFwiJHtib2R5Q2hpbGQudGFnTmFtZX1cIiBmb3IgYm9keSBjaGlsZGAsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAvLyBTdGF5IGluIHRoZSBzYW1lIHN0YXRlIHRvIGdvIHRvIG5leHQgYm9keUNoaWxkLlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcIm5leHRQYXJhZ3JhcGhDaGlsZFwiOlxuICAgICAgICBwYXJhZ3JhcGhDaGlsZCA9IHBhcmFncmFwaENoaWxkIS5uZXh0RWxlbWVudFNpYmxpbmdcbiAgICAgICAgaWYgKHBhcmFncmFwaENoaWxkID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVGhlIHBhcmFncmFwaCBlbGVtZW50IGhhcyBiZWVuIGZ1bGx5IHBhcnNlZC4gR28gdG8gbmV4dCBwYXJlbnQgZWxlbWVudC5cbiAgICAgICAgICBjb25zdCBsaW5lVGV4dCA9IGxpbmVFbGVtZW50cyFcbiAgICAgICAgICAgIC5tYXAoKGVsZW1lbnQpID0+IGVsZW1lbnQudGV4dENvbnRlbnQpXG4gICAgICAgICAgICAuam9pbihcIlwiKVxuICAgICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgIGlmIChsaW5lVGV4dCkge1xuICAgICAgICAgICAgY29uc3QgbGluZUh0bWwgPSBsaW5lRWxlbWVudHMhXG4gICAgICAgICAgICAgIC5tYXAoKGVsZW1lbnQpID0+IGVsZW1lbnQub3V0ZXJIVE1MKVxuICAgICAgICAgICAgICAuam9pbihcIlwiKVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0IS5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICAgICAgKGlzTXVsdGlMaW5lc0hlYWRlciAmJiBzdWJkaXZpc2lvbkFsaW5lYXNUZXh0IS5sZW5ndGggPT09IDApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzSHRtbCEucHVzaChsaW5lSHRtbClcbiAgICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzVGV4dCEucHVzaChsaW5lVGV4dClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHN1YmRpdmlzaW9uQWxpbmVhc0h0bWwhLnB1c2gobGluZUh0bWwpXG4gICAgICAgICAgICAgIHN1YmRpdmlzaW9uQWxpbmVhc1RleHQhLnB1c2gobGluZVRleHQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc011bHRpTGluZXNIZWFkZXIgJiYgc3ViZGl2aXNpb25IZWFkZXJzVGV4dCEubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgIGlzTXVsdGlMaW5lc0hlYWRlciA9IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICAgIGxpbmVFbGVtZW50cyA9IG51bGxcbiAgICAgICAgICBzdGF0ZSA9IG5leHRQYXJlbnRTdGF0ZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlID0gXCJwYXJhZ3JhcGhDaGlsZFwiXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJuZXh0U3ViQWxpbmVhRWxlbWVudFwiOlxuICAgICAgICBzdWJBbGluZWFFbGVtZW50ID0gc3ViQWxpbmVhRWxlbWVudCEubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgICAgIGlmIChzdWJBbGluZWFFbGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVGhlIGFsaW5lYUVsZW1lbnQgaGFzIGJlZW4gZnVsbHkgcGFyc2VkLiBHbyB0byBuZXh0IGFsaW5lYUVsZW1lbnQuXG4gICAgICAgICAgc3RhdGUgPSBcIm5leHRBbGluZWFFbGVtZW50XCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZSA9IFwic3ViQWxpbmVhRWxlbWVudFwiXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJwYXJhZ3JhcGhDaGlsZFwiOlxuICAgICAgICBzd2l0Y2ggKHBhcmFncmFwaENoaWxkIS50YWdOYW1lKSB7XG4gICAgICAgICAgY2FzZSBcIkFcIjoge1xuICAgICAgICAgICAgbGluZUVsZW1lbnRzIS5wdXNoKHBhcmFncmFwaENoaWxkISlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgXCJCUlwiOiB7XG4gICAgICAgICAgICBjb25zdCBsaW5lVGV4dCA9IGxpbmVFbGVtZW50cyFcbiAgICAgICAgICAgICAgLm1hcCgoZWxlbWVudCkgPT4gZWxlbWVudC50ZXh0Q29udGVudClcbiAgICAgICAgICAgICAgLmpvaW4oXCJcIilcbiAgICAgICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgICAgaWYgKGxpbmVUZXh0KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGxpbmVIdG1sID0gbGluZUVsZW1lbnRzIVxuICAgICAgICAgICAgICAgIC5tYXAoKGVsZW1lbnQpID0+IGVsZW1lbnQub3V0ZXJIVE1MKVxuICAgICAgICAgICAgICAgIC5qb2luKFwiXCIpXG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0IS5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICAgICAgICAoaXNNdWx0aUxpbmVzSGVhZGVyICYmIHN1YmRpdmlzaW9uQWxpbmVhc1RleHQhLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzSHRtbCEucHVzaChsaW5lSHRtbClcbiAgICAgICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0IS5wdXNoKGxpbmVUZXh0KVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHN1YmRpdmlzaW9uQWxpbmVhc0h0bWwhLnB1c2gobGluZUh0bWwpXG4gICAgICAgICAgICAgICAgc3ViZGl2aXNpb25BbGluZWFzVGV4dCEucHVzaChsaW5lVGV4dClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGluZUVsZW1lbnRzID0gW11cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgXCJERUxcIjoge1xuICAgICAgICAgICAgbGluZUVsZW1lbnRzIS5wdXNoKHBhcmFncmFwaENoaWxkISlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgXCJJTUdcIjoge1xuICAgICAgICAgICAgbGluZUVsZW1lbnRzIS5wdXNoKHBhcmFncmFwaENoaWxkISlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgXCJTUEFOXCI6IHtcbiAgICAgICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHBhcmFncmFwaENoaWxkIS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKVxuICAgICAgICAgICAgc3dpdGNoIChjbGFzc05hbWUpIHtcbiAgICAgICAgICAgICAgY2FzZSBcImFFbG9pUGFzdGlsbGVcIjoge1xuICAgICAgICAgICAgICAgIC8vIFNraXAgcGFzdGlsbMOpIFNQQU4uXG4gICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjYXNlIFwiYUVsb2lQYXN0aWxsZTBcIjoge1xuICAgICAgICAgICAgICAgIC8vIFNraXAgcGFzdGlsbMOpIFNQQU4uXG4gICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGxpbmVFbGVtZW50cyEucHVzaChwYXJhZ3JhcGhDaGlsZCEpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICAgICAgICBjb2RlOiAtMyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgVW5leHBlY3RlZCB0YWcgbmFtZSBmb3IgcGFyYWdyYXBoIGNoaWxkOiAke1xuICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoQ2hpbGQhLnRhZ05hbWVcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbCxcbiAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzdGF0ZSA9IFwibmV4dFBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJzdWJBbGluZWFFbGVtZW50XCI6XG4gICAgICAgIHN3aXRjaCAoc3ViQWxpbmVhRWxlbWVudCEudGFnTmFtZSkge1xuICAgICAgICAgIGNhc2UgXCJQXCI6XG4gICAgICAgICAgICBuZXh0UGFyZW50U3RhdGUgPSBcIm5leHRTdWJBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICAgIHBhcmFncmFwaEVsZW1lbnQgPSBzdWJBbGluZWFFbGVtZW50XG4gICAgICAgICAgICBzdGF0ZSA9IFwiZmlyc3RQYXJhZ3JhcGhDaGlsZFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgXCJUQUJMRVwiOlxuICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgc3RhdGUgPSBcIm5leHRTdWJBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgICAgICAgY29kZTogLTQsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYFVuZXhwZWN0ZWQgdGFnIG5hbWUgZm9yIHN1YiBhbGluZWEgZWxlbWVudDogJHtcbiAgICAgICAgICAgICAgICAgIHN1YkFsaW5lYUVsZW1lbnQhLnRhZ05hbWVcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbCxcbiAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgICBzdGF0ZSA9IFwibmV4dFN1YkFsaW5lYUVsZW1lbnRcIlxuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgYFVuZXhwZWN0ZWQgc3RhdGU6ICR7c3RhdGV9YFxuICAgIH1cbiAgfVxuXG4gIHdpbmRvdy5jbG9zZSgpIC8vIEZyZWUgbWVtb3J5LlxuXG4gIHJldHVybiB7XG4gICAgZXJyb3I6IG51bGwsXG4gICAgaHRtbCxcbiAgICBwYWdlLFxuICAgIHN1YmRpdmlzaW9ucyxcbiAgICB1cmw6IGFzc2VtYmxlZVVybCxcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV0cmlldmVUZXh0ZUxvaVBhcnNlZChcbiAgZmV0Y2g6IChcbiAgICB1cmw6IHN0cmluZyB8IFJlcXVlc3QsXG4gICAgaW5pdD86IFJlcXVlc3RJbml0IHwgdW5kZWZpbmVkLFxuICApID0+IFByb21pc2U8UmVzcG9uc2U+LFxuICBhc3NlbWJsZWVVcmw6IHN0cmluZyxcbikge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGFzc2VtYmxlZVVybClcbiAgY29uc3QgcGFnZSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKVxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVycm9yOiB7IGNvZGU6IHJlc3BvbnNlLnN0YXR1cywgbWVzc2FnZTogcmVzcG9uc2Uuc3RhdHVzVGV4dCB9LFxuICAgICAgcGFnZSxcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcnNlVGV4dGVMb2koYXNzZW1ibGVlVXJsLCBwYWdlKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sUUFBUTtBQUMzQixTQUFTQyxLQUFLLFFBQVEsT0FBTztBQUU3QixPQUFPLFNBQVNDLGFBQWFBLENBQUNDLFlBQW9CLEVBQUVDLElBQVksRUFBRTtFQUNoRTtFQUNBLE1BQU1DLFlBQVksR0FBR0QsSUFBSSxDQUFDRSxLQUFLLENBQUMsVUFBVSxDQUFDO0VBQzNDTixNQUFNLENBQUNPLFdBQVcsQ0FBQ0YsWUFBWSxDQUFDRyxNQUFNLEVBQUUsQ0FBQyxFQUFFSixJQUFJLENBQUM7RUFDaEQsSUFBSUssSUFBSSxHQUFHSixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUNLLElBQUksQ0FBQyxDQUFDO0VBQ2pDVixNQUFNLENBQUNTLElBQUksQ0FBQ0UsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0VBQy9CWCxNQUFNLENBQUNTLElBQUksQ0FBQ0csUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQy9CSCxJQUFJLEdBQUksUUFBT0EsSUFBSSxDQUFDSSxTQUFTLENBQUMsQ0FBQyxFQUFFSixJQUFJLENBQUNELE1BQU0sR0FBRyxDQUFDLENBQUUsU0FBUTs7RUFFMUQ7RUFDQSxNQUFNO0lBQUVNO0VBQU8sQ0FBQyxHQUFHLElBQUliLEtBQUssQ0FBQ1EsSUFBSSxDQUFDO0VBQ2xDLE1B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
370
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJKU0RPTSIsInBhcnNlVGV4dGVMb2kiLCJhc3NlbWJsZWVVcmwiLCJwYWdlIiwicGFnZVNlZ21lbnRzIiwic3BsaXQiLCJzdHJpY3RFcXVhbCIsImxlbmd0aCIsImh0bWwiLCJ0cmltIiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwic3Vic3RyaW5nIiwid2luZG93IiwiZG9jdW1lbnQiLCJjaGlsZHJlbiIsImh0bWxFbGVtZW50IiwiYm9keUVsZW1lbnQiLCJkaXZFbGVtZW50IiwidGFnTmFtZSIsIm5ld0RpdkVsZW1lbnQiLCJpbnNlcnRCZWZvcmUiLCJjcmVhdGVFbGVtZW50IiwiZGl2Q2hpbGQiLCJnZXRBdHRyaWJ1dGUiLCJhcHBlbmRDaGlsZCIsImNsb3NlIiwiZXJyb3IiLCJjb2RlIiwibWVzc2FnZSIsImJvZHlDaGlsZCIsImFsaW5lYUVsZW1lbnQiLCJpc011bHRpTGluZXNIZWFkZXIiLCJsZXZlbCIsImxldmVscyIsImxpbmVFbGVtZW50cyIsIm5leHRQYXJlbnRTdGF0ZSIsInBhcmFncmFwaENoaWxkIiwicGFyYWdyYXBoRWxlbWVudCIsInN0YXRlIiwic3ViQWxpbmVhRWxlbWVudCIsInN1YmRpdmlzaW9ucyIsInN1YmRpdmlzaW9uQWxpbmVhc0h0bWwiLCJzdWJkaXZpc2lvbkFsaW5lYXNUZXh0Iiwic3ViZGl2aXNpb25IZWFkZXJzSHRtbCIsInN1YmRpdmlzaW9uSGVhZGVyc1RleHQiLCJ1bmRlZmluZWQiLCJoZWFkZXJUZXh0IiwidGV4dENvbnRlbnQiLCJuYW1lQ29tcHV0ZWQiLCJub3JtYWxpemUiLCJyZXBsYWNlIiwibmFtZVVwcGVyIiwidG9VcHBlckNhc2UiLCJuZXh0TGV2ZWwiLCJtYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJwb3AiLCJwdXNoIiwiYWxpbmVhcyIsImhlYWRlcnMiLCJpZCIsInJlbGF0aXZlTGV2ZWwiLCJ0ZXh0IiwibmV4dEVsZW1lbnRTaWJsaW5nIiwiaW5jbHVkZXMiLCJsaW5lVGV4dCIsIm1hcCIsImVsZW1lbnQiLCJqb2luIiwibGluZUh0bWwiLCJvdXRlckhUTUwiLCJjbGFzc05hbWUiLCJ1cmwiLCJyZXRyaWV2ZVRleHRlTG9pUGFyc2VkIiwiZmV0Y2giLCJyZXNwb25zZSIsIm9rIiwic3RhdHVzIiwic3RhdHVzVGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXJzL2RvY3VtZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuaW1wb3J0IHsgSlNET00gfSBmcm9tIFwianNkb21cIlxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUZXh0ZUxvaShhc3NlbWJsZWVVcmw6IHN0cmluZywgcGFnZTogc3RyaW5nKSB7XG4gIC8vIFJlcGFpciBIVE1MLlxuICBjb25zdCBwYWdlU2VnbWVudHMgPSBwYWdlLnNwbGl0KFwiPC9zdHlsZT5cIilcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKHBhZ2VTZWdtZW50cy5sZW5ndGgsIDIsIHBhZ2UpXG4gIGxldCBodG1sID0gcGFnZVNlZ21lbnRzWzFdLnRyaW0oKVxuICBhc3NlcnQoaHRtbC5zdGFydHNXaXRoKFwiPGRpdlwiKSlcbiAgYXNzZXJ0KGh0bWwuZW5kc1dpdGgoXCI8L2Rpdj5cIikpXG4gIGh0bWwgPSBgPGh0bWwke2h0bWwuc3Vic3RyaW5nKDQsIGh0bWwubGVuZ3RoIC0gNil9PC9odG1sPmBcblxuICAvLyBFeHRyYWN0IHN1YmRpdmlzaW9ucyBmcm9tIEhUTUwuXG4gIGNvbnN0IHsgd2luZG93IH0gPSBuZXcgSlNET00oaHRtbClcbiAgY29uc3QgeyBkb2N1bWVudCB9ID0gd2luZG93XG4gIGFzc2VydC5zdHJpY3RFcXVhbChkb2N1bWVudC5jaGlsZHJlbi5sZW5ndGgsIDEpXG4gIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuY2hpbGRyZW5bMF1cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGh0bWxFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCwgMilcbiAgY29uc3QgYm9keUVsZW1lbnQgPSBodG1sRWxlbWVudC5jaGlsZHJlblsxXVxuICBpZiAoYXNzZW1ibGVlVXJsID09PSBcImh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDY3NS5hc3BcIikge1xuICAgIC8vIFJlcGFpciBkb2N1bWVudC5cbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYm9keUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoLCAxKVxuICAgIGNvbnN0IGRpdkVsZW1lbnQgPSBib2R5RWxlbWVudC5jaGlsZHJlblswXVxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChkaXZFbGVtZW50LnRhZ05hbWUsIFwiRElWXCIpXG4gICAgY29uc3QgbmV3RGl2RWxlbWVudCA9IGJvZHlFbGVtZW50Lmluc2VydEJlZm9yZShcbiAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksXG4gICAgICBkaXZFbGVtZW50LFxuICAgIClcbiAgICBib2R5RWxlbWVudC5pbnNlcnRCZWZvcmUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJyXCIpLCBkaXZFbGVtZW50KVxuICAgIGZvciAoY29uc3QgZGl2Q2hpbGQgb2YgWy4uLmRpdkVsZW1lbnQuY2hpbGRyZW5dKSB7XG4gICAgICBpZiAoZGl2Q2hpbGQuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIikgPT09IFwiYTlBcnRpY2xlTnVtXCIpIHtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIG5ld0RpdkVsZW1lbnQuYXBwZW5kQ2hpbGQoZGl2Q2hpbGQpXG4gICAgfVxuICB9XG4gIGlmIChib2R5RWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPCAzKSB7XG4gICAgLy8gT2NjdXJzIGluIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDMyNi5hc3AuXG4gICAgd2luZG93LmNsb3NlKCkgLy8gRnJlZSBtZW1vcnkuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVycm9yOiB7IGNvZGU6IC0xLCBtZXNzYWdlOiBcIlRleHRlIGRlIGxvaSBzYW5zIGNvbnRlbnVcIiB9LFxuICAgICAgaHRtbCxcbiAgICAgIHBhZ2UsXG4gICAgfVxuICB9XG4gIGFzc2VydC5zdHJpY3RFcXVhbChib2R5RWxlbWVudC5jaGlsZHJlblswXS50YWdOYW1lLCBcIkRJVlwiKVxuICAvLyBGaXJzdCBjaGlsZCBpcyBhIERJViBkZXNjcmliaW5nIHRoZSBkb2N1bWVudCAoQXNzZW1ibMOpZSdzIGhlYWRlcikuIFNraXAgaXQgZm9yIG5vdy5cbiAgbGV0IGJvZHlDaGlsZCA9IGJvZHlFbGVtZW50LmNoaWxkcmVuWzFdXG4gIGFzc2VydC5zdHJpY3RFcXVhbChib2R5Q2hpbGQudGFnTmFtZSwgXCJCUlwiKVxuICBsZXQgYWxpbmVhRWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsXG4gIGxldCBpc011bHRpTGluZXNIZWFkZXI6IGJvb2xlYW4gPSBmYWxzZVxuICBsZXQgbGV2ZWw6IG51bWJlciB8IG51bGwgPSBudWxsXG4gIGxldCBsZXZlbHM6IG51bWJlcltdID0gW11cbiAgbGV0IGxpbmVFbGVtZW50czogRWxlbWVudFtdIHwgbnVsbCA9IG51bGxcbiAgbGV0IG5leHRQYXJlbnRTdGF0ZSA9IG51bGxcbiAgbGV0IHBhcmFncmFwaENoaWxkOiBFbGVtZW50IHwgbnVsbCA9IG51bGxcbiAgbGV0IHBhcmFncmFwaEVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbFxuICBsZXQgc3RhdGU6IHN0cmluZyB8IG51bGwgPSBcIm5leHRCb2R5Q2hpbGRcIlxuICBsZXQgc3ViQWxpbmVhRWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsXG4gIGNvbnN0IHN1YmRpdmlzaW9ucyA9IFtdXG4gIGxldCBzdWJkaXZpc2lvbkFsaW5lYXNIdG1sOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsXG4gIGxldCBzdWJkaXZpc2lvbkFsaW5lYXNUZXh0OiBzdHJpbmdbXSB8IG51bGwgPSBudWxsXG4gIGxldCBzdWJkaXZpc2lvbkhlYWRlcnNIdG1sOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsXG4gIGxldCBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0OiBzdHJpbmdbXSB8IG51bGwgPSBudWxsXG4gIHdoaWxlIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgXCJhbGluZWFFbGVtZW50XCI6XG4gICAgICAgIHN3aXRjaCAoYWxpbmVhRWxlbWVudCEudGFnTmFtZSkge1xuICAgICAgICAgIGNhc2UgXCJESVZcIjpcbiAgICAgICAgICAgIHN0YXRlID0gXCJmaXJzdFN1YkFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiSDRcIjpcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIG5leHRQYXJlbnRTdGF0ZSA9IFwibmV4dEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgcGFyYWdyYXBoRWxlbWVudCA9IGFsaW5lYUVsZW1lbnRcbiAgICAgICAgICAgIHN0YXRlID0gXCJmaXJzdFBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSBcIlBcIjpcbiAgICAgICAgICAgIG5leHRQYXJlbnRTdGF0ZSA9IFwibmV4dEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgcGFyYWdyYXBoRWxlbWVudCA9IGFsaW5lYUVsZW1lbnRcbiAgICAgICAgICAgIHN0YXRlID0gXCJmaXJzdFBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSBcIk9MXCI6XG4gICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICBzdGF0ZSA9IFwibmV4dEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiVEFCTEVcIjpcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIHN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBlcnJvcjoge1xuICAgICAgICAgICAgICAgIGNvZGU6IC0yLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBVbmV4cGVjdGVkIHRhZyBuYW1lIGZvciBhbGluZWEgZWxlbWVudDogJHtcbiAgICAgICAgICAgICAgICAgIGFsaW5lYUVsZW1lbnQhLnRhZ05hbWVcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbCxcbiAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcImZpcnN0QWxpbmVhRWxlbWVudFwiOlxuICAgICAgICBhbGluZWFFbGVtZW50ID0gYm9keUNoaWxkLmNoaWxkcmVuWzBdXG4gICAgICAgIGlmIChhbGluZWFFbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBObyBhbGluZWEgaW4gY3VycmVudCBib2R5Q2hpbGQ6IGdvIHRvIG5leHQgYm9keUNoaWxkLlxuICAgICAgICAgIHN0YXRlID0gXCJuZXh0Qm9keUNoaWxkXCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZSA9IFwiYWxpbmVhRWxlbWVudFwiXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJmaXJzdFBhcmFncmFwaENoaWxkXCI6XG4gICAgICAgIHBhcmFncmFwaENoaWxkID0gcGFyYWdyYXBoRWxlbWVudCEuY2hpbGRyZW5bMF1cbiAgICAgICAgaWYgKHBhcmFncmFwaENoaWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBObyBjaGlsZCBpbiBjdXJyZW50IHBhcmFncmFwaDogZ28gdG8gbmV4dCBwYXJlbnQgZWxlbWVudC5cbiAgICAgICAgICBzdGF0ZSA9IG5leHRQYXJlbnRTdGF0ZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGhlYWRlclRleHQgPSBwYXJhZ3JhcGhFbGVtZW50IS50ZXh0Q29udGVudFxuICAgICAgICAgIGNvbnN0IG5hbWVDb21wdXRlZCA9IChoZWFkZXJUZXh0IHx8IFwiXCIpXG4gICAgICAgICAgICAubm9ybWFsaXplKFwiTkZEXCIpXG4gICAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgXCJcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXChub3V2ZWF1XFwpLywgXCJcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXChQb3VyIGNvb3JkaW5hdGlvblxcKS8sIFwiXCIpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwoU3VwcHJpbcOpcz9cXCkvLCBcIlwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL8KgL2csIFwiIFwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1tcXC0sLuKApl0vZywgXCJcIilcbiAgICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAgIC5yZXBsYWNlKC8gezEsfS9nLCBcIl9cIilcbiAgICAgICAgICBjb25zdCBuYW1lVXBwZXIgPSBuYW1lQ29tcHV0ZWQudG9VcHBlckNhc2UoKVxuICAgICAgICAgIGlmIChuYW1lVXBwZXIgPT09IFwiXCIpIHtcbiAgICAgICAgICAgIC8vIE9jY3VycyBpbjpcbiAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNDQ1LmFzcFxuICAgICAgICAgICAgLy8gKiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzA2MjYuYXNwXG4gICAgICAgICAgICAvLyBTa2lwIHBhcmFncmFwaC5cbiAgICAgICAgICAgIHN0YXRlID0gbmV4dFBhcmVudFN0YXRlXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBuZXh0TGV2ZWwgPVxuICAgICAgICAgICAgbmFtZVVwcGVyLm1hdGNoKC9eKFJBUFBPUlRfKT9BTk5FWEUoX3wkKS8pICE9PSBudWxsIHx8XG4gICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goL15FVEFUXy8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXlRPTUVfLykgIT09IG51bGxcbiAgICAgICAgICAgICAgICA/IDFcbiAgICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXlBBUlRJRV8vKSAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goXG4gICAgICAgICAgICAgICAgICAgICAgL14oUFJFTUlFUkV8U0VDT05ERXxERVVYSUVNRXxUUk9JU0lFTUV8UVVBVFJJRU1FKV9QQVJUSUUoX3wkKS8sXG4gICAgICAgICAgICAgICAgICAgICkgIT09IG51bGxcbiAgICAgICAgICAgICAgICAgID8gMlxuICAgICAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15MSVZSRV8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICA/IDNcbiAgICAgICAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15USVRSRV8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgID8gNFxuICAgICAgICAgICAgICAgICAgICAgIDogbmFtZVVwcGVyLm1hdGNoKC9eU09VU1RJVFJFXy8pICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IDVcbiAgICAgICAgICAgICAgICAgICAgICAgIDogbmFtZVVwcGVyLm1hdGNoKC9eQ0hBUElUUkVfLykgIT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyA2XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogbmFtZVVwcGVyLm1hdGNoKC9eU0VDVElPTl8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gN1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbmFtZVVwcGVyLm1hdGNoKC9eU09VU1NFQ1RJT05fLykgIT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gOFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15BUlRJQ0xFUz9fLykgIT09IG51bGwgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBcIkV4cG9zw6kgZGVzIG1vdGlmc1wiIG11c3QgYmUgYXQgdGhlIHNhbWUgbGV2ZWwgYXMgYXJ0aWNsZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBcIkV4cG9zw6kgZGVzIG1vdGlmc1wiIHdpdGhvdXQgY29udGVudDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDcwMi5hc3BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBcIkV4cG9zw6kgZGVzIG1vdGlmc1wiIHdpdGggY29udGVudDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMTMyNi5hc3BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMTYxMC5hc3BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goL15FWFBPU0VfREVTX01PVElGUyQvKSAhPT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyA5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgIGlmIChuZXh0TGV2ZWwgPT09IG51bGwgJiYgc3ViZGl2aXNpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgaWYgKG5hbWVVcHBlci5tYXRjaCgvXihQUk9KRVR8UFJPUE9TSVRJT04pX0RFX0xPSShffCQpLykgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gT2NjdXJzIGluOlxuICAgICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDIzMi5hc3BcbiAgICAgICAgICAgICAgLy8gKiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzA2MjYuYXNwXG4gICAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNjc2LmFzcFxuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgbmFtZVVwcGVyID09PSBcIkpFVVhfT0xZTVBJUVVFU19FVF9QQVJBTFlNUElRVUVTX0RFXzIwMjRcIlxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIC8vIE9jY3VycyBpbiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzA2NzYuYXNwXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5hbWVVcHBlciA9PT0gXCJURVhURV9ERV9MQV9DT01NSVNTSU9OX01JWFRFX1BBUklUQUlSRVwiKSB7XG4gICAgICAgICAgICAgIC8vIE9jY3VycyBpbiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzEyOTQuYXNwXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgICBgVW5leHBlY3RlZCBuYW1lVXBwZXIgPSBcIiR7bmFtZVVwcGVyfVwiIGF0IGJlZ2lubmluZyBvZiBcInRleHRlIGRlIGxvaVwiIGF0ICR7YXNzZW1ibGVlVXJsfWAsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFNraXAgcGFyYWdyYXBoLlxuICAgICAgICAgICAgc3RhdGUgPSBuZXh0UGFyZW50U3RhdGVcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChuZXh0TGV2ZWwgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGxldmVsID0gbmV4dExldmVsXG4gICAgICAgICAgICB3aGlsZSAobGV2ZWxzLmxlbmd0aCA+IDAgJiYgbGV2ZWwgPCBsZXZlbHNbbGV2ZWxzLmxlbmd0aCAtIDFdKSB7XG4gICAgICAgICAgICAgIGxldmVscy5wb3AoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxldmVscy5sZW5ndGggPT09IDAgfHwgbGV2ZWwgPiBsZXZlbHNbbGV2ZWxzLmxlbmd0aCAtIDFdKSB7XG4gICAgICAgICAgICAgIGxldmVscy5wdXNoKGxldmVsKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQXJ0aWNsZXMgJiBcIkV4cG9zw6kgZGVzIG1vdGlmc1wiIGFyZSB0aGUgb25seSBkaXZpc2lvbnMgd2l0aG91dCBzZWNvbmQgdGl0bGUuXG4gICAgICAgICAgICBpc011bHRpTGluZXNIZWFkZXIgPVxuICAgICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goL15BUlRJQ0xFUz9fLykgPT09IG51bGwgJiZcbiAgICAgICAgICAgICAgbmFtZVVwcGVyLm1hdGNoKC9eRVhQT1NFX0RFU19NT1RJRlMkLykgPT09IG51bGxcbiAgICAgICAgICAgIHN1YmRpdmlzaW9uQWxpbmVhc0h0bWwgPSBbXVxuICAgICAgICAgICAgc3ViZGl2aXNpb25BbGluZWFzVGV4dCA9IFtdXG4gICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNIdG1sID0gW11cbiAgICAgICAgICAgIHN1YmRpdmlzaW9uSGVhZGVyc1RleHQgPSBbXVxuICAgICAgICAgICAgc3ViZGl2aXNpb25zLnB1c2goe1xuICAgICAgICAgICAgICBodG1sOiB7XG4gICAgICAgICAgICAgICAgYWxpbmVhczogc3ViZGl2aXNpb25BbGluZWFzSHRtbCxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBzdWJkaXZpc2lvbkhlYWRlcnNIdG1sLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBpZDogXCJEX1wiICsgbmFtZUNvbXB1dGVkLFxuICAgICAgICAgICAgICBsZXZlbDogbGV2ZWwgKyAxLFxuICAgICAgICAgICAgICByZWxhdGl2ZUxldmVsOiBsZXZlbHMubGVuZ3RoLFxuICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgYWxpbmVhczogc3ViZGl2aXNpb25BbGluZWFzVGV4dCxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgICAgbGluZUVsZW1lbnRzID0gW11cbiAgICAgICAgICBzdGF0ZSA9IFwicGFyYWdyYXBoQ2hpbGRcIlxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwiZmlyc3RTdWJBbGluZWFFbGVtZW50XCI6XG4gICAgICAgIHN1YkFsaW5lYUVsZW1lbnQgPSBhbGluZWFFbGVtZW50IS5jaGlsZHJlblswXVxuICAgICAgICBpZiAoc3ViQWxpbmVhRWxlbWVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gTm8gc3ViLWFsaW5lYSBpbiBjdXJyZW50IGFsaW5lYTogZ28gdG8gbmV4dCBhbGluZWEuXG4gICAgICAgICAgc3RhdGUgPSBcIm5leHRBbGluZWFFbGVtZW50XCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZSA9IFwic3ViQWxpbmVhRWxlbWVudFwiXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJuZXh0QWxpbmVhRWxlbWVudFwiOlxuICAgICAgICBhbGluZWFFbGVtZW50ID0gYWxpbmVhRWxlbWVudCEubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgICAgIGlmIChhbGluZWFFbGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVGhlIGJvZHlDaGlsZCBoYXMgYmVlbiBmdWxseSBwYXJzZWQuIEdvIHRvIG5leHQgYm9keUNoaWxkXG4gICAgICAgICAgc3RhdGUgPSBcIm5leHRCb2R5Q2hpbGRcIlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlID0gXCJhbGluZWFFbGVtZW50XCJcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcIm5leHRCb2R5Q2hpbGRcIjpcbiAgICAgICAgaWYgKGJvZHlDaGlsZC5uZXh0RWxlbWVudFNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUaGUgZG9jdW1lbnQgaGFzIGJlZW4gZnVsbHkgcGFyc2VkLlxuICAgICAgICAgIHN0YXRlID0gbnVsbFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJvZHlDaGlsZCA9IGJvZHlDaGlsZC5uZXh0RWxlbWVudFNpYmxpbmdcbiAgICAgICAgICBpZiAoYm9keUNoaWxkLnRhZ05hbWUgPT09IFwiRElWXCIpIHtcbiAgICAgICAgICAgIHN0YXRlID0gXCJmaXJzdEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyA8UC8+IGlzIGZvciBmb290bm90ZXNcbiAgICAgICAgICAgIGFzc2VydChcbiAgICAgICAgICAgICAgW1wiQlJcIiwgXCJIUlwiLCBcIlBcIl0uaW5jbHVkZXMoYm9keUNoaWxkLnRhZ05hbWUpLFxuICAgICAgICAgICAgICBgVW5leHBlY3RlZCB0YWcgbmFtZSBcIiR7Ym9keUNoaWxkLnRhZ05hbWV9XCIgZm9yIGJvZHkgY2hpbGRgLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLy8gU3RheSBpbiB0aGUgc2FtZSBzdGF0ZSB0byBnbyB0byBuZXh0IGJvZHlDaGlsZC5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJuZXh0UGFyYWdyYXBoQ2hpbGRcIjpcbiAgICAgICAgcGFyYWdyYXBoQ2hpbGQgPSBwYXJhZ3JhcGhDaGlsZCEubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgICAgIGlmIChwYXJhZ3JhcGhDaGlsZCA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoZSBwYXJhZ3JhcGggZWxlbWVudCBoYXMgYmVlbiBmdWxseSBwYXJzZWQuIEdvIHRvIG5leHQgcGFyZW50IGVsZW1lbnQuXG4gICAgICAgICAgY29uc3QgbGluZVRleHQgPSBsaW5lRWxlbWVudHMhXG4gICAgICAgICAgICAubWFwKChlbGVtZW50KSA9PiBlbGVtZW50LnRleHRDb250ZW50KVxuICAgICAgICAgICAgLmpvaW4oXCJcIilcbiAgICAgICAgICAgIC50cmltKClcbiAgICAgICAgICBpZiAobGluZVRleHQpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVIdG1sID0gbGluZUVsZW1lbnRzIVxuICAgICAgICAgICAgICAubWFwKChlbGVtZW50KSA9PiBlbGVtZW50Lm91dGVySFRNTClcbiAgICAgICAgICAgICAgLmpvaW4oXCJcIilcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzVGV4dCEubGVuZ3RoID09PSAwIHx8XG4gICAgICAgICAgICAgIChpc011bHRpTGluZXNIZWFkZXIgJiYgc3ViZGl2aXNpb25BbGluZWFzVGV4dCEubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHN1YmRpdmlzaW9uSGVhZGVyc0h0bWwhLnB1c2gobGluZUh0bWwpXG4gICAgICAgICAgICAgIHN1YmRpdmlzaW9uSGVhZGVyc1RleHQhLnB1c2gobGluZVRleHQpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzdWJkaXZpc2lvbkFsaW5lYXNIdG1sIS5wdXNoKGxpbmVIdG1sKVxuICAgICAgICAgICAgICBzdWJkaXZpc2lvbkFsaW5lYXNUZXh0IS5wdXNoKGxpbmVUZXh0KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXNNdWx0aUxpbmVzSGVhZGVyICYmIHN1YmRpdmlzaW9uSGVhZGVyc1RleHQhLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgICAgICBpc011bHRpTGluZXNIZWFkZXIgPSBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgICBsaW5lRWxlbWVudHMgPSBudWxsXG4gICAgICAgICAgc3RhdGUgPSBuZXh0UGFyZW50U3RhdGVcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZSA9IFwicGFyYWdyYXBoQ2hpbGRcIlxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwibmV4dFN1YkFsaW5lYUVsZW1lbnRcIjpcbiAgICAgICAgc3ViQWxpbmVhRWxlbWVudCA9IHN1YkFsaW5lYUVsZW1lbnQhLm5leHRFbGVtZW50U2libGluZ1xuICAgICAgICBpZiAoc3ViQWxpbmVhRWxlbWVudCA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoZSBhbGluZWFFbGVtZW50IGhhcyBiZWVuIGZ1bGx5IHBhcnNlZC4gR28gdG8gbmV4dCBhbGluZWFFbGVtZW50LlxuICAgICAgICAgIHN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGUgPSBcInN1YkFsaW5lYUVsZW1lbnRcIlxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwicGFyYWdyYXBoQ2hpbGRcIjpcbiAgICAgICAgc3dpdGNoIChwYXJhZ3JhcGhDaGlsZCEudGFnTmFtZSkge1xuICAgICAgICAgIGNhc2UgXCJBXCI6IHtcbiAgICAgICAgICAgIGxpbmVFbGVtZW50cyEucHVzaChwYXJhZ3JhcGhDaGlsZCEpXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFwiQlJcIjoge1xuICAgICAgICAgICAgY29uc3QgbGluZVRleHQgPSBsaW5lRWxlbWVudHMhXG4gICAgICAgICAgICAgIC5tYXAoKGVsZW1lbnQpID0+IGVsZW1lbnQudGV4dENvbnRlbnQpXG4gICAgICAgICAgICAgIC5qb2luKFwiXCIpXG4gICAgICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAgIGlmIChsaW5lVGV4dCkge1xuICAgICAgICAgICAgICBjb25zdCBsaW5lSHRtbCA9IGxpbmVFbGVtZW50cyFcbiAgICAgICAgICAgICAgICAubWFwKChlbGVtZW50KSA9PiBlbGVtZW50Lm91dGVySFRNTClcbiAgICAgICAgICAgICAgICAuam9pbihcIlwiKVxuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzVGV4dCEubGVuZ3RoID09PSAwIHx8XG4gICAgICAgICAgICAgICAgKGlzTXVsdGlMaW5lc0hlYWRlciAmJiBzdWJkaXZpc2lvbkFsaW5lYXNUZXh0IS5sZW5ndGggPT09IDApXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHN1YmRpdmlzaW9uSGVhZGVyc0h0bWwhLnB1c2gobGluZUh0bWwpXG4gICAgICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzVGV4dCEucHVzaChsaW5lVGV4dClcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzdWJkaXZpc2lvbkFsaW5lYXNIdG1sIS5wdXNoKGxpbmVIdG1sKVxuICAgICAgICAgICAgICAgIHN1YmRpdmlzaW9uQWxpbmVhc1RleHQhLnB1c2gobGluZVRleHQpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpbmVFbGVtZW50cyA9IFtdXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFwiREVMXCI6IHtcbiAgICAgICAgICAgIGxpbmVFbGVtZW50cyEucHVzaChwYXJhZ3JhcGhDaGlsZCEpXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFwiSU1HXCI6IHtcbiAgICAgICAgICAgIGxpbmVFbGVtZW50cyEucHVzaChwYXJhZ3JhcGhDaGlsZCEpXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFwiU1BBTlwiOiB7XG4gICAgICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBwYXJhZ3JhcGhDaGlsZCEuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIilcbiAgICAgICAgICAgIHN3aXRjaCAoY2xhc3NOYW1lKSB7XG4gICAgICAgICAgICAgIGNhc2UgXCJhRWxvaVBhc3RpbGxlXCI6IHtcbiAgICAgICAgICAgICAgICAvLyBTa2lwIHBhc3RpbGzDqSBTUEFOLlxuICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2FzZSBcImFFbG9pUGFzdGlsbGUwXCI6IHtcbiAgICAgICAgICAgICAgICAvLyBTa2lwIHBhc3RpbGzDqSBTUEFOLlxuICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBsaW5lRWxlbWVudHMhLnB1c2gocGFyYWdyYXBoQ2hpbGQhKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgICAgICAgY29kZTogLTMsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYFVuZXhwZWN0ZWQgdGFnIG5hbWUgZm9yIHBhcmFncmFwaCBjaGlsZDogJHtcbiAgICAgICAgICAgICAgICAgIHBhcmFncmFwaENoaWxkIS50YWdOYW1lXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGh0bWwsXG4gICAgICAgICAgICAgIHBhZ2UsXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3RhdGUgPSBcIm5leHRQYXJhZ3JhcGhDaGlsZFwiXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwic3ViQWxpbmVhRWxlbWVudFwiOlxuICAgICAgICBzd2l0Y2ggKHN1YkFsaW5lYUVsZW1lbnQhLnRhZ05hbWUpIHtcbiAgICAgICAgICBjYXNlIFwiUFwiOlxuICAgICAgICAgICAgbmV4dFBhcmVudFN0YXRlID0gXCJuZXh0U3ViQWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBwYXJhZ3JhcGhFbGVtZW50ID0gc3ViQWxpbmVhRWxlbWVudFxuICAgICAgICAgICAgc3RhdGUgPSBcImZpcnN0UGFyYWdyYXBoQ2hpbGRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiVEFCTEVcIjpcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIHN0YXRlID0gXCJuZXh0U3ViQWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBlcnJvcjoge1xuICAgICAgICAgICAgICAgIGNvZGU6IC00LFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBVbmV4cGVjdGVkIHRhZyBuYW1lIGZvciBzdWIgYWxpbmVhIGVsZW1lbnQ6ICR7XG4gICAgICAgICAgICAgICAgICBzdWJBbGluZWFFbGVtZW50IS50YWdOYW1lXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGh0bWwsXG4gICAgICAgICAgICAgIHBhZ2UsXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgICAgc3RhdGUgPSBcIm5leHRTdWJBbGluZWFFbGVtZW50XCJcbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IGBVbmV4cGVjdGVkIHN0YXRlOiAke3N0YXRlfWBcbiAgICB9XG4gIH1cblxuICB3aW5kb3cuY2xvc2UoKSAvLyBGcmVlIG1lbW9yeS5cblxuICByZXR1cm4ge1xuICAgIGVycm9yOiBudWxsLFxuICAgIGh0bWwsXG4gICAgcGFnZSxcbiAgICBzdWJkaXZpc2lvbnMsXG4gICAgdXJsOiBhc3NlbWJsZWVVcmwsXG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJldHJpZXZlVGV4dGVMb2lQYXJzZWQoXG4gIGZldGNoOiAoXG4gICAgdXJsOiBzdHJpbmcgfCBSZXF1ZXN0LFxuICAgIGluaXQ/OiBSZXF1ZXN0SW5pdCB8IHVuZGVmaW5lZCxcbiAgKSA9PiBQcm9taXNlPFJlc3BvbnNlPixcbiAgYXNzZW1ibGVlVXJsOiBzdHJpbmcsXG4pIHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChhc3NlbWJsZWVVcmwpXG4gIGNvbnN0IHBhZ2UgPSBhd2FpdCByZXNwb25zZS50ZXh0KClcbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcjogeyBjb2RlOiByZXNwb25zZS5zdGF0dXMsIG1lc3NhZ2U6IHJlc3BvbnNlLnN0YXR1c1RleHQgfSxcbiAgICAgIHBhZ2UsXG4gICAgfVxuICB9XG4gIHJldHVybiBwYXJzZVRleHRlTG9pKGFzc2VtYmxlZVVybCwgcGFnZSlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLFFBQVE7QUFDM0IsU0FBU0MsS0FBSyxRQUFRLE9BQU87QUFFN0IsT0FBTyxTQUFTQyxhQUFhQSxDQUFDQyxZQUFvQixFQUFFQyxJQUFZLEVBQUU7RUFDaEU7RUFDQSxNQUFNQyxZQUFZLEdBQUdELElBQUksQ0FBQ0UsS0FBSyxDQUFDLFVBQVUsQ0FBQztFQUMzQ04sTUFBTSxDQUFDTyxXQUFXLENBQUNGLFlBQVksQ0FBQ0csTUFBTSxFQUFFLENB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
@@ -43,9 +43,9 @@ require("core-js/modules/es.array.slice.js");
43
43
  require("core-js/modules/es.string.replace.js");
44
44
  require("core-js/modules/es.array.find.js");
45
45
  var _assert = _interopRequireDefault(require("assert"));
46
- var _index = _interopRequireDefault(require("date-fns/formatISO/index.js"));
47
- var _index2 = _interopRequireDefault(require("date-fns/locale/fr/index.js"));
48
- var _index3 = _interopRequireDefault(require("date-fns/parse/index.js"));
46
+ var _formatISO = require("date-fns/formatISO");
47
+ var _fr = require("date-fns/locale/fr");
48
+ var _parse = require("date-fns/parse");
49
49
  var _deepEqual = _interopRequireDefault(require("deep-equal"));
50
50
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
51
51
  var _frontMatter = _interopRequireDefault(require("front-matter"));
@@ -73,8 +73,7 @@ function _AsyncGenerator(e) { var r, t; function resume(r, t) { try { var n = e[
73
73
  _AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { return this; }, _AsyncGenerator.prototype.next = function (e) { return this._invoke("next", e); }, _AsyncGenerator.prototype["throw"] = function (e) { return this._invoke("throw", e); }, _AsyncGenerator.prototype["return"] = function (e) { return this._invoke("return", e); };
74
74
  function _OverloadYield(t, e) { this.v = t, this.k = e; }
75
75
  function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
76
- function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function (r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(r) { var n = this.s["return"]; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, "throw": function _throw(r) { var n = this.s["return"]; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); } // Note: "/index.js" added to imports, because of issue
77
- // https://github.com/date-fns/date-fns/issues/2964
76
+ function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function (r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(r) { var n = this.s["return"]; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, "throw": function _throw(r) { var n = this.s["return"]; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); }
78
77
  function iterRechercheAmendements(_x, _x2, _x3, _x4, _x5) {
79
78
  return _iterRechercheAmendements.apply(this, arguments);
80
79
  }
@@ -229,8 +228,8 @@ function _iterRechercheRawAmendements() {
229
228
  break;
230
229
  }
231
230
  dateDepotTd = amendementTdList[10];
232
- dateDepot = (0, _index["default"])((0, _index3["default"])(dateDepotTd.text, "d MMMM y", new Date(), {
233
- locale: _index2["default"]
231
+ dateDepot = (0, _formatISO.formatISO)((0, _parse.parse)(dateDepotTd.text, "d MMMM y", new Date(), {
232
+ locale: _fr.fr
234
233
  }), {
235
234
  representation: "date"
236
235
  });
@@ -249,8 +248,8 @@ function _iterRechercheRawAmendements() {
249
248
  _context2.next = 54;
250
249
  break;
251
250
  }
252
- dateExamen = (0, _index["default"])((0, _index3["default"])(dateExamenTd.text, "d MMMM y", new Date(), {
253
- locale: _index2["default"]
251
+ dateExamen = (0, _formatISO.formatISO)((0, _parse.parse)(dateExamenTd.text, "d MMMM y", new Date(), {
252
+ locale: _fr.fr
254
253
  }), {
255
254
  representation: "date"
256
255
  });
@@ -399,4 +398,4 @@ function _iterRechercheRawAmendements() {
399
398
  });
400
399
  return _iterRechercheRawAmendements.apply(this, arguments);
401
400
  }
402
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfaW5kZXgiLCJfaW5kZXgyIiwiX2luZGV4MyIsIl9kZWVwRXF1YWwiLCJfZnNFeHRyYSIsIl9mcm9udE1hdHRlciIsIl9qc1lhbWwiLCJfbm9kZUh0bWxQYXJzZXIiLCJfcGF0aCIsIl9jbGVhbmVycyIsIl9hbWVuZGVtZW50cyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiaXRlciIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJvIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsImxlbmd0aCIsImkiLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJlIiwiX2UiLCJmIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsImVyciIsImNhbGwiLCJzdGVwIiwibmV4dCIsIl9lMiIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJ0IiwiciIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiZGVmaW5lUHJvcGVydHkiLCJhIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwibCIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsInJlc3VsdE5hbWUiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX25vbkl0ZXJhYmxlUmVzdCIsIm1pbkxlbiIsInRvU3RyaW5nIiwidGVzdCIsImxlbiIsImFycjIiLCJfYXdhaXRBc3luY0dlbmVyYXRvciIsIl9PdmVybG9hZFlpZWxkIiwiX3dyYXBBc3luY0dlbmVyYXRvciIsImZuIiwiX0FzeW5jR2VuZXJhdG9yIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJyZXN1bWUiLCJrIiwic2V0dGxlIiwicmVqZWN0Iiwia2V5IiwiX2FzeW5jSXRlcmF0b3IiLCJBc3luY0Zyb21TeW5jSXRlcmF0b3IiLCJBc3luY0Zyb21TeW5jSXRlcmF0b3JDb250aW51YXRpb24iLCJfcmV0dXJuIiwiX3Rocm93IiwiaXRlclJlY2hlcmNoZUFtZW5kZW1lbnRzIiwiX3giLCJfeDIiLCJfeDMiLCJfeDQiLCJfeDUiLCJfaXRlclJlY2hlcmNoZUFtZW5kZW1lbnRzIiwiYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpciIsInVybCIsImluY3JlbWVudGFsIiwibWluRGF0ZURlcG90IiwibWluRGF0ZUV4YW1lbiIsIm9wdGlvbnMiLCJ1bmRlZmluZWQiLCJfY2FsbGVlIiwiX2l0ZXJhdG9yQWJydXB0Q29tcGxldGlvbiIsIl9kaWRJdGVyYXRvckVycm9yIiwiX2l0ZXJhdG9yRXJyb3IiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIl9zdGVwJHZhbHVlIiwiYW1lbmRlbWVudFVybFBhdGgiLCJhbWVuZGVtZW50IiwiX2NhbGxlZSQiLCJfY29udGV4dCIsIml0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyIsImNsZWFuQW1lbmRlbWVudCIsIkFtZW5kZW1lbnRzQ29udmVydCIsInRvQW1lbmRlbWVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0MCIsIl94NiIsIl94NyIsIl94OCIsIl94OSIsIl94MTAiLCJfaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzIiwiX2NhbGxlZTIiLCJhbWVuZGVtZW50TnVtYmVyIiwicmVzcG9uc2UiLCJwYWdlIiwiaHRtbCIsImFtZW5kZW1lbnRzQ291bnREaXYiLCJhbWVuZGVtZW50c0NvdW50IiwiYW1lbmRlbWVudHNEaXYiLCJhbWVuZGVtZW50c1RhYmxlIiwidGZvb3RUciIsInRmb290VHJDZWxscyIsImFtZW5kZW1lbnRzVHIiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwiYW1lbmRlbWVudFRyIiwiYW1lbmRlbWVudFRkTGlzdCIsImRhdGVEZXBvdFRkIiwiZGF0ZURlcG90IiwiZGF0ZUV4YW1lblRkIiwiZGF0ZUV4YW1lbiIsImFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQiLCJhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCIsImV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlIiwiYW1lbmRlbWVudFRyT3V0ZXJIdG1sIiwiYW1lbmRlbWVudFNlYXJjaENhY2hlIiwiYW1lbmRlbWVudEh0bWxVcmwiLCJhbWVuZGVtZW50SHRtbFJlc3BvbnNlIiwiYW1lbmRlbWVudEh0bWxQYWdlIiwiYW1lbmRlbWVudEh0bWwiLCJmb3JtYXRzTGkiLCJqc29uTGkiLCJqc29uQSIsImFtZW5kZW1lbnRKc29uVXJsUGF0aCIsImFtZW5kZW1lbnRKc29uVXJsIiwiYW1lbmRlbWVudEpzb25SZXNwb25zZSIsInBhZ2luYXRpb25BIiwidXJsUGF0aCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImZzIiwiZW5zdXJlRGlyIiwiYXNzZXJ0Iiwic3RyaWN0RXF1YWwiLCJleGVjIiwiY29uY2F0Iiwibm90U3RyaWN0RXF1YWwiLCJpbmNsdWRlcyIsInZlcmJvc2UiLCJjb25zb2xlIiwibG9nIiwiZmV0Y2giLCJvayIsInN0YXR1cyIsInN0YXR1c1RleHQiLCJ0ZXh0IiwicGFyc2VIdG1sIiwicXVlcnlTZWxlY3RvciIsInBhcnNlSW50IiwicXVlcnlTZWxlY3RvckFsbCIsIm1hcCIsImNlbGwiLCJkZWVwRXF1YWwiLCJvdXRlckhUTUwiLCJmb3JtYXRJU08iLCJwYXJzZURhdGUiLCJEYXRlIiwibG9jYWxlIiwiZnJMb2NhbGUiLCJyZXByZXNlbnRhdGlvbiIsImdldEF0dHJpYnV0ZSIsInNwbGl0IiwicGF0aCIsImpvaW4iLCJkaXJuYW1lIiwicGF0aEV4aXN0cyIsInJlYWRGaWxlIiwianNZYW1sIiwiZHVtcCIsInBvc2l0aW9uIiwic2VhcmNoIiwicmVwbGFjZSIsInNvcnRLZXlzIiwiZnJvbnRNYXR0ZXIiLCJib2R5IiwiVVJMIiwiZmluZCIsImZvcm1hdExpIiwiZm9ybWF0U3BhbiIsImpzb24iLCJ3cml0ZUZpbGUiLCJ0MSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXJzL3JlY2hlcmNoZV9hbWVuZGVtZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuLy8gTm90ZTogXCIvaW5kZXguanNcIiBhZGRlZCB0byBpbXBvcnRzLCBiZWNhdXNlIG9mIGlzc3VlXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvaXNzdWVzLzI5NjRcbmltcG9ydCBmb3JtYXRJU08gZnJvbSBcImRhdGUtZm5zL2Zvcm1hdElTTy9pbmRleC5qc1wiXG5pbXBvcnQgZnJMb2NhbGUgZnJvbSBcImRhdGUtZm5zL2xvY2FsZS9mci9pbmRleC5qc1wiXG5pbXBvcnQgcGFyc2VEYXRlIGZyb20gXCJkYXRlLWZucy9wYXJzZS9pbmRleC5qc1wiXG5pbXBvcnQgZGVlcEVxdWFsIGZyb20gXCJkZWVwLWVxdWFsXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IGZyb250TWF0dGVyIGZyb20gXCJmcm9udC1tYXR0ZXJcIlxuaW1wb3J0IGpzWWFtbCBmcm9tIFwianMteWFtbFwiXG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZUh0bWwgfSBmcm9tIFwibm9kZS1odG1sLXBhcnNlclwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCB7IGNsZWFuQW1lbmRlbWVudCB9IGZyb20gXCIuLi9jbGVhbmVyc1wiXG5pbXBvcnQgeyBBbWVuZGVtZW50IGFzIFJhd0FtZW5kZW1lbnQgfSBmcm9tIFwiLi4vcmF3X3R5cGVzL2FtZW5kZW1lbnRzXCJcbmltcG9ydCB7IEFtZW5kZW1lbnQsIENvbnZlcnQgYXMgQW1lbmRlbWVudHNDb252ZXJ0IH0gZnJvbSBcIi4uL3R5cGVzL2FtZW5kZW1lbnRzXCJcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uKiBpdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMoXG4gIGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXI6IHN0cmluZyxcbiAgdXJsOiBzdHJpbmcsXG4gIGluY3JlbWVudGFsOiBib29sZWFuLFxuICBtaW5EYXRlRGVwb3Q/OiBzdHJpbmcgfCBudWxsLFxuICBtaW5EYXRlRXhhbWVuPzogc3RyaW5nIHwgbnVsbCxcbiAgb3B0aW9uczogeyBzaWxlbnQ/OiBib29sZWFuOyB2ZXJib3NlPzogYm9vbGVhbiB9ID0ge30sXG4pOiBBc3luY0dlbmVyYXRvcjxbc3RyaW5nLCBBbWVuZGVtZW50XSwgdm9pZCwgdW5rbm93bj4ge1xuICBmb3IgYXdhaXQgKGNvbnN0IFtcbiAgICBhbWVuZGVtZW50VXJsUGF0aCxcbiAgICBhbWVuZGVtZW50LFxuICBdIG9mIGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyhcbiAgICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyLFxuICAgIHVybCxcbiAgICBpbmNyZW1lbnRhbCxcbiAgICBtaW5EYXRlRGVwb3QsXG4gICAgbWluRGF0ZUV4YW1lbixcbiAgICBvcHRpb25zLFxuICApKSB7XG4gICAgY2xlYW5BbWVuZGVtZW50KGFtZW5kZW1lbnQpXG4gICAgLy8gRG91YmxlIGNvbnZlcnNpb24sIHRvIGNvbnZlcnQgc3RyaW5ncyB0byBkYXRlcy5cbiAgICB5aWVsZCBbXG4gICAgICBhbWVuZGVtZW50VXJsUGF0aCxcbiAgICAgIEFtZW5kZW1lbnRzQ29udmVydC50b0FtZW5kZW1lbnQoSlNPTi5zdHJpbmdpZnkoYW1lbmRlbWVudCkpLFxuICAgIF1cbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyhcbiAgYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcjogc3RyaW5nLFxuICB1cmw6IHN0cmluZyxcbiAgaW5jcmVtZW50YWw6IGJvb2xlYW4sXG4gIG1pbkRhdGVEZXBvdD86IHN0cmluZyB8IG51bGwsXG4gIG1pbkRhdGVFeGFtZW4/OiBzdHJpbmcgfCBudWxsLFxuICBvcHRpb25zOiB7IHNpbGVudD86IGJvb2xlYW47IHZlcmJvc2U/OiBib29sZWFuIH0gPSB7fSxcbik6IEFzeW5jR2VuZXJhdG9yPFtzdHJpbmcsIFJhd0FtZW5kZW1lbnRdLCB2b2lkLCB1bmtub3duPiB7XG4gIGF3YWl0IGZzLmVuc3VyZURpcihhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyKVxuXG4gIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAvWz8mXWRhdGVfZGVwb3Q9Ly5leGVjKHVybCksXG4gICAgbnVsbCxcbiAgICBgVVJMICR7dXJsfSBhbHJlYWR5IGNvbnRhaW5zIGEgZGVwb3NpdCBkYXRlYCxcbiAgKVxuICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgL1s/Jl1vcmRlcj0vLmV4ZWModXJsKSxcbiAgICBudWxsLFxuICAgIGBVUkwgJHt1cmx9IGFscmVhZHkgY29udGFpbnMgYSBzb3J0IG9yZGVyYCxcbiAgKVxuICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgL1s/Jl1wYWdlPS8uZXhlYyh1cmwpLFxuICAgIG51bGwsXG4gICAgYFVSTCAke3VybH0gYWxyZWFkeSBjb250YWlucyBhIHBhZ2UgbnVtYmVyYCxcbiAgKVxuICBpZiAoaW5jcmVtZW50YWwpIHtcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAvWz8mXWV0YXQ9Ly5leGVjKHVybCksXG4gICAgICBudWxsLFxuICAgICAgYEluIGluY3JlbWVudGFsIG1vZGUsIFVSTCAke3VybH0gbXVzdCBjb250YWluIGFuIFwiZXRhdFwiIHF1ZXJ5IHBhcmFtZXRlcmAsXG4gICAgKVxuICB9XG4gIHVybCArPSAodXJsLmluY2x1ZGVzKFwiP1wiKSA/IFwiJlwiIDogXCI/XCIpICsgXCJvcmRlcj1kYXRlX2RlcG90LGRlc2MmcGFnZT0xXCJcblxuICBpZiAobWluRGF0ZURlcG90ICE9IG51bGwpIHtcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAvXFxkezR9LVxcZHsyfS1cXGR7Mn0vLmV4ZWMobWluRGF0ZURlcG90KSxcbiAgICAgIG51bGwsXG4gICAgICBgSW52YWxpZCBmb3JtYXQgZm9yIG1pbmltdW0gZGF0ZTogJHttaW5EYXRlRGVwb3R9YCxcbiAgICApXG4gIH1cblxuICBsZXQgYW1lbmRlbWVudE51bWJlciA9IDBcbiAgaXRlclNlYXJjaFBhZ2VzOiB3aGlsZSAodHJ1ZSkge1xuICAgIGlmIChvcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBGZXRjaGluZyBhbWVuZGVtZW50cyBzZWFyY2ggcGFnZSBhdCAke3VybH3igKZgKVxuICAgIH1cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybClcbiAgICBhc3NlcnQoXG4gICAgICByZXNwb25zZS5vayxcbiAgICAgIGBSZXRyaWV2YWwgb2Ygc2VhcmNoIHBhZ2UgYXQgJHt1cmx9IGZhaWxlZCB3aXRoIGVycm9yOiAke3Jlc3BvbnNlLnN0YXR1c30gJHtyZXNwb25zZS5zdGF0dXNUZXh0fWAsXG4gICAgKVxuICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCByZXNwb25zZS50ZXh0KClcbiAgICBjb25zdCBodG1sID0gcGFyc2VIdG1sKHBhZ2UpXG4gICAgaWYgKGh0bWwucXVlcnlTZWxlY3RvcihcImRpdi5uby1yZXN1bHRcIikgIT09IG51bGwpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzQ291bnREaXYgPSBodG1sLnF1ZXJ5U2VsZWN0b3IoXCJkaXYubWlycm9yLWNhcmQtc3VidGl0bGVcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudHNDb3VudERpdiwgbnVsbClcbiAgICBjb25zdCBhbWVuZGVtZW50c0NvdW50ID0gcGFyc2VJbnQoL1xcZCsvLmV4ZWMoYW1lbmRlbWVudHNDb3VudERpdiEudGV4dCkhWzBdKVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzRGl2ID0gaHRtbC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJkaXYuYW1lbmRlbWVudC1saXN0LS1yZXN1bHRzLXRhYmxlXCIsXG4gICAgKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50c0RpdiwgbnVsbClcbiAgICBjb25zdCBhbWVuZGVtZW50c1RhYmxlID0gYW1lbmRlbWVudHNEaXYhLnF1ZXJ5U2VsZWN0b3IoXCJ0YWJsZVwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50c1RhYmxlLCBudWxsKVxuICAgIGNvbnN0IHRmb290VHIgPSBhbWVuZGVtZW50c1RhYmxlIS5xdWVyeVNlbGVjdG9yKFwidGZvb3QgPiB0clwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbCh0Zm9vdFRyLCBudWxsKVxuICAgIGNvbnN0IHRmb290VHJDZWxscyA9IHRmb290VHIhXG4gICAgICAucXVlcnlTZWxlY3RvckFsbChcInRkLCB0aFwiKVxuICAgICAgLm1hcCgoY2VsbCkgPT4gY2VsbC50ZXh0KVxuICAgIGFzc2VydChcbiAgICAgIGRlZXBFcXVhbCh0Zm9vdFRyQ2VsbHMsIFtcbiAgICAgICAgXCJcIixcbiAgICAgICAgXCJuwrBcIixcbiAgICAgICAgXCJEb3NzaWVyIGzDqWdpc2xhdGlmXCIsXG4gICAgICAgIFwiRW1wbGFjZW1lbnRcIixcbiAgICAgICAgXCJBdXRldXJcIixcbiAgICAgICAgXCLDiXRhdFwiLFxuICAgICAgICBcIlNvcnRcIixcbiAgICAgICAgXCJEYXRlIGQnZXhhbWVuXCIsXG4gICAgICAgIFwiRXhhbWluw6kgcGFyXCIsXG4gICAgICAgIFwiVGV4dGUgdmlzw6lcIixcbiAgICAgICAgXCJEYXRlIGRlIGTDqXDDtHRcIixcbiAgICAgIF0pLFxuICAgICAgYFVuZXhwZWN0ZWQgY29sdW1ucyBpbiAke0pTT04uc3RyaW5naWZ5KHRmb290VHJDZWxscywgbnVsbCwgMil9YCxcbiAgICApXG4gICAgY29uc3QgYW1lbmRlbWVudHNUciA9IGFtZW5kZW1lbnRzVGFibGUhLnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0Ym9keSA+IHRyXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRzVHIubGVuZ3RoLCAwKVxuICAgIGZvciAoY29uc3QgYW1lbmRlbWVudFRyIG9mIGFtZW5kZW1lbnRzVHIpIHtcbiAgICAgIGFtZW5kZW1lbnROdW1iZXIrK1xuXG4gICAgICBpZiAobWluRGF0ZURlcG90ICE9IG51bGwgfHwgbWluRGF0ZUV4YW1lbiAhPSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGFtZW5kZW1lbnRUZExpc3QgPSBhbWVuZGVtZW50VHIucXVlcnlTZWxlY3RvckFsbChcInRkXCIpXG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgICBhbWVuZGVtZW50VGRMaXN0Lmxlbmd0aCxcbiAgICAgICAgICAxMSxcbiAgICAgICAgICBgVW5leHBlY3RlZCBudW1iZXIgb2YgY29sdW1ucyBpbiBhbWVuZG1lbnQgcm93OiAke2FtZW5kZW1lbnRUci5vdXRlckhUTUx9YCxcbiAgICAgICAgKVxuICAgICAgICBpZiAobWluRGF0ZURlcG90ICE9IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBkYXRlRGVwb3RUZCA9IGFtZW5kZW1lbnRUZExpc3RbMTBdXG4gICAgICAgICAgY29uc3QgZGF0ZURlcG90ID0gZm9ybWF0SVNPKFxuICAgICAgICAgICAgcGFyc2VEYXRlKGRhdGVEZXBvdFRkLnRleHQsIFwiZCBNTU1NIHlcIiwgbmV3IERhdGUoKSwge1xuICAgICAgICAgICAgICBsb2NhbGU6IGZyTG9jYWxlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7IHJlcHJlc2VudGF0aW9uOiBcImRhdGVcIiB9LFxuICAgICAgICAgIClcbiAgICAgICAgICBpZiAoZGF0ZURlcG90IDwgbWluRGF0ZURlcG90KSB7XG4gICAgICAgICAgICAvLyBTaW5jZSB0aGUgYW1lbmRtZW50cyBhcmUgc29ydGVkIGJ5IGRlcG9zaXQgZGF0ZSwgb25jZSBhbiBhbWVuZG1lbnRcbiAgICAgICAgICAgIC8vIHdpdGggYW4gb2xkIGRlcG9zaXQgZGF0ZSBpcyBlbmNvdW50ZXJlZCwgdGhlIGZ1bGwgc2VhcmNoIGNhbiBiZSBzdG9wcGVkLlxuICAgICAgICAgICAgYnJlYWsgaXRlclNlYXJjaFBhZ2VzXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChtaW5EYXRlRXhhbWVuICE9IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBkYXRlRXhhbWVuVGQgPSBhbWVuZGVtZW50VGRMaXN0WzddXG4gICAgICAgICAgaWYgKGRhdGVFeGFtZW5UZC50ZXh0KSB7XG4gICAgICAgICAgICBjb25zdCBkYXRlRXhhbWVuID0gZm9ybWF0SVNPKFxuICAgICAgICAgICAgICBwYXJzZURhdGUoZGF0ZUV4YW1lblRkLnRleHQsIFwiZCBNTU1NIHlcIiwgbmV3IERhdGUoKSwge1xuICAgICAgICAgICAgICAgIGxvY2FsZTogZnJMb2NhbGUsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB7IHJlcHJlc2VudGF0aW9uOiBcImRhdGVcIiB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGRhdGVFeGFtZW4gPCBtaW5EYXRlRXhhbWVuKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgYW1lbmRtZW50IGhhcyBiZWVuIGRpc2N1c3NlZCBzaW5jZSBhIGZldyBkYXlzLlxuICAgICAgICAgICAgICAvLyA9PiBJZ25vcmUgaXQsIGJlY2F1c2UgaXQgc2hvdWxkIGJlIGluIEFzc2VtYmzDqWUgb3BlbiBkYXRhLlxuICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBhbWVuZGVtZW50VXJsUGF0aCA9IGFtZW5kZW1lbnRUci5nZXRBdHRyaWJ1dGUoXCJkYXRhLWhyZWZcIilcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50VXJsUGF0aCwgdW5kZWZpbmVkKVxuICAgICAgY29uc3QgYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZCA9IGFtZW5kZW1lbnRVcmxQYXRoIS5zcGxpdChcIi9cIilcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZFswXSxcbiAgICAgICAgXCJcIixcbiAgICAgICAgYFVuZXhwZWN0ZWQgVVJMIHBhdGggZm9yIGFtZW5kZW1lbnQ6ICR7YW1lbmRlbWVudFVybFBhdGh9YCxcbiAgICAgIClcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZFsxXSxcbiAgICAgICAgXCJkeW5cIixcbiAgICAgICAgYFVuZXhwZWN0ZWQgVVJMIHBhdGggZm9yIGFtZW5kZW1lbnQ6ICR7YW1lbmRlbWVudFVybFBhdGh9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoID1cbiAgICAgICAgcGF0aC5qb2luKFxuICAgICAgICAgIGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXIsXG4gICAgICAgICAgLi4uYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZC5zbGljZSgyKSxcbiAgICAgICAgKSArIFwiLmh0bWxcIlxuICAgICAgYXdhaXQgZnMuZW5zdXJlRGlyKHBhdGguZGlybmFtZShhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCkpXG4gICAgICBjb25zdCBleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSA9IChhd2FpdCBmcy5wYXRoRXhpc3RzKFxuICAgICAgICBhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCxcbiAgICAgICkpXG4gICAgICAgID8gYXdhaXQgZnMucmVhZEZpbGUoYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgsIFwidXRmOFwiKVxuICAgICAgICA6IG51bGxcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRUck91dGVySHRtbCA9IGFtZW5kZW1lbnRUci5vdXRlckhUTUxcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRTZWFyY2hDYWNoZSA9IGAtLS1cXG4ke2pzWWFtbC5kdW1wKFxuICAgICAgICB7XG4gICAgICAgICAgcG9zaXRpb246IGFtZW5kZW1lbnRzQ291bnQgLSBhbWVuZGVtZW50TnVtYmVyLFxuICAgICAgICAgIHNlYXJjaDogdXJsLnJlcGxhY2UoLyZwYWdlPVtcXGRdKy8sIFwiXCIpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc29ydEtleXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICApfS0tLVxcblxcbiR7YW1lbmRlbWVudFRyT3V0ZXJIdG1sfWBcbiAgICAgIGlmIChhbWVuZGVtZW50U2VhcmNoQ2FjaGUgPT09IGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlKSB7XG4gICAgICAgIGlmIChpbmNyZW1lbnRhbCkge1xuICAgICAgICAgIC8vIFRoZSBzYW1lIDx0cj4gaXMgYWxyZWFkeSBpbiBjYWNoZSBhbmQgaW4gdGhlIHNhbWUgcG9zaXRpb24uXG4gICAgICAgICAgLy8gQXNzdW1lIHRoYXQgZm9sbG93aW5nIGFtZW5kbWVudHMgYXJlIG5vdCBjaGFuZ2VkIGFuZCBzdG9wIGxvb2tpbmdcbiAgICAgICAgICAvLyBmb3IgYW1lbmRtZW50cyB0byB1cHNlcnQuXG4gICAgICAgICAgYnJlYWsgaXRlclNlYXJjaFBhZ2VzXG4gICAgICAgIH1cbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUgIT09IG51bGwgJiZcbiAgICAgICAgZnJvbnRNYXR0ZXIoZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUpLmJvZHkgPT09XG4gICAgICAgICAgYW1lbmRlbWVudFRyT3V0ZXJIdG1sXG4gICAgICApIHtcbiAgICAgICAgLy8gVGhlIHNhbWUgPHRyPiBpcyBhbHJlYWR5IGluIGNhY2hlLCBidXQgaW4gYSBkaWZmZXJlbnQgcG9zaXRpb24uXG4gICAgICAgIC8vIEFzc3VtZSB0aGUgYW1lbmRtZW50IGlzIHVuY2hhbmdlZC5cbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgaWYgKGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlID09PSBudWxsKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICBgQWRkaW5nIGFtZW5kZW1lbnQgc2VhcmNoIGNhY2hlOiAke2FtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRofeKApmAsXG4gICAgICAgICAgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgYFVwZGF0aW5nIGFtZW5kZW1lbnQgc2VhcmNoIGNhY2hlOiAke2FtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRofeKApmAsXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBhbWVuZGVtZW50SHRtbFVybCA9IG5ldyBVUkwoXG4gICAgICAgIGFtZW5kZW1lbnRVcmxQYXRoISxcbiAgICAgICAgXCJodHRwczovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL1wiLFxuICAgICAgKS50b1N0cmluZygpXG4gICAgICBjb25zdCBhbWVuZGVtZW50SHRtbFJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYW1lbmRlbWVudEh0bWxVcmwpXG4gICAgICBpZiAoYW1lbmRlbWVudEh0bWxSZXNwb25zZS5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBgQW1lbmRlbWVudCBIVE1MIHBhZ2Ugbm90IGZvdW5kIGF0ICR7YW1lbmRlbWVudEh0bWxVcmx9LiBTa2lwcGluZy5gLFxuICAgICAgICApXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBhc3NlcnQoXG4gICAgICAgIGFtZW5kZW1lbnRIdG1sUmVzcG9uc2Uub2ssXG4gICAgICAgIGBSZXRyaWV2YWwgb2YgYW1lbmRlbWVudCBIVE1MIHBhZ2UgYXQgJHthbWVuZGVtZW50SHRtbFVybH0gZmFpbGVkIHdpdGggZXJyb3I6ICR7YW1lbmRlbWVudEh0bWxSZXNwb25zZS5zdGF0dXN9ICR7YW1lbmRlbWVudEh0bWxSZXNwb25zZS5zdGF0dXNUZXh0fWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50SHRtbFBhZ2UgPSBhd2FpdCBhbWVuZGVtZW50SHRtbFJlc3BvbnNlLnRleHQoKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWwgPSBwYXJzZUh0bWwoYW1lbmRlbWVudEh0bWxQYWdlKVxuICAgICAgY29uc3QgZm9ybWF0c0xpID0gYW1lbmRlbWVudEh0bWwucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgXCJsaS5taXJyb3ItY2FyZC1oZWFkZXItLW9wdGlvbnMtLWNvbnRlbnQtLWl0ZW1cIixcbiAgICAgIClcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChmb3JtYXRzTGkubGVuZ3RoLCAwKVxuICAgICAgY29uc3QganNvbkxpID0gZm9ybWF0c0xpLmZpbmQoKGZvcm1hdExpKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdFNwYW4gPSBmb3JtYXRMaS5xdWVyeVNlbGVjdG9yKFwiYSA+IHNwYW5cIilcbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgICAgIGZvcm1hdFNwYW4sXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBgTm8gPHNwYW4+IGluIDxhPiBmb3VuZCBpbiAke2Zvcm1hdExpLnRvU3RyaW5nKCl9YCxcbiAgICAgICAgKVxuICAgICAgICByZXR1cm4gZm9ybWF0U3BhbiEudGV4dCA9PT0gXCJWZXJzaW9uIEpTT05cIlxuICAgICAgfSlcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAganNvbkxpLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIGBObyBKU09OIHZlcnNpb24gZm91bmQgZm9yIGFtZW5kZW1lbnQgYXQgJHthbWVuZGVtZW50SHRtbFVybH1gLFxuICAgICAgKVxuICAgICAgY29uc3QganNvbkEgPSBqc29uTGkhLnF1ZXJ5U2VsZWN0b3IoXCJhXCIpXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAgIGpzb25BLFxuICAgICAgICBudWxsLFxuICAgICAgICBgTm8gPGE+IGZvdW5kIGluICR7anNvbkxpIS50b1N0cmluZygpfWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50SnNvblVybFBhdGggPSBqc29uQSEuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgICBhbWVuZGVtZW50SnNvblVybFBhdGgsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgYE5vIFVSTCBmb3VuZCBmb3IgSlNPTiB2ZXJzaW9uIG9mIGFtZW5kZW1lbnQ6ICR7anNvbkxpIS50b1N0cmluZygpfWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50SnNvblVybCA9IG5ldyBVUkwoXG4gICAgICAgIGFtZW5kZW1lbnRKc29uVXJsUGF0aCEsXG4gICAgICAgIFwiaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9cIixcbiAgICAgICkudG9TdHJpbmcoKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEpzb25SZXNwb25zZSA9IGF3YWl0IGZldGNoKGFtZW5kZW1lbnRKc29uVXJsKVxuICAgICAgYXNzZXJ0KFxuICAgICAgICBhbWVuZGVtZW50SnNvblJlc3BvbnNlLm9rLFxuICAgICAgICBgUmV0cmlldmFsIG9mIGFtZW5kZW1lbnQgSlNPTiBwYWdlIGF0ICR7YW1lbmRlbWVudEpzb25Vcmx9IGZhaWxlZCB3aXRoIGVycm9yOiAke2FtZW5kZW1lbnRKc29uUmVzcG9uc2Uuc3RhdHVzfSAke2FtZW5kZW1lbnRKc29uUmVzcG9uc2Uuc3RhdHVzVGV4dH1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudCA9IGF3YWl0IGFtZW5kZW1lbnRKc29uUmVzcG9uc2UuanNvbigpXG4gICAgICB5aWVsZCBbYW1lbmRlbWVudFVybFBhdGghLCBhbWVuZGVtZW50XVxuXG4gICAgICAvLyBTZWFyY2hDYWNoZSBtdXN0IGJlIHdyaXR0ZW4gYXQgdGhlIGVuZCB0byBlbnN1cmUgdGhhdCBldmVyeXRoaW5nIGlzIGluIGEgY29uc2lzdGVudCBzdGF0ZSxcbiAgICAgIC8vIGV2ZW4gaWYgc2NyaXB0IGZhaWxzIGFicnVwdGx5LlxuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKFxuICAgICAgICBhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCxcbiAgICAgICAgYW1lbmRlbWVudFNlYXJjaENhY2hlLFxuICAgICAgICBcInV0ZjhcIixcbiAgICAgIClcbiAgICB9XG5cbiAgICBjb25zdCBwYWdpbmF0aW9uQSA9IGh0bWwucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiZGl2LmFuLXBhZ2luYXRpb24tLWl0ZW0gPiBpLmFuLWljb25zLWNoZXZyb24tcmlnaHQgfiBhXCIsXG4gICAgKVxuICAgIGlmIChwYWdpbmF0aW9uQSA9PT0gbnVsbCkge1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY29uc3QgdXJsUGF0aCA9IHBhZ2luYXRpb25BLmdldEF0dHJpYnV0ZShcImhyZWZcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwodXJsUGF0aCwgdW5kZWZpbmVkKVxuICAgIHVybCA9IG5ldyBVUkwodXJsUGF0aCEsIFwiaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9cIikudG9TdHJpbmcoKVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsTUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksVUFBQSxH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
401
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZm9ybWF0SVNPIiwiX2ZyIiwiX3BhcnNlIiwiX2RlZXBFcXVhbCIsIl9mc0V4dHJhIiwiX2Zyb250TWF0dGVyIiwiX2pzWWFtbCIsIl9ub2RlSHRtbFBhcnNlciIsIl9wYXRoIiwiX2NsZWFuZXJzIiwiX2FtZW5kZW1lbnRzIiwib2JqIiwiX19lc01vZHVsZSIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJpdGVyIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIm8iLCJhbGxvd0FycmF5TGlrZSIsIml0IiwibGVuZ3RoIiwiaSIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImUiLCJfZSIsImYiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwiY2FsbCIsInN0ZXAiLCJuZXh0IiwiX2UyIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJkZWZpbmVQcm9wZXJ0eSIsImEiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImgiLCJsIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJfdHlwZW9mIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwicmVzdWx0TmFtZSIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwibWluTGVuIiwidG9TdHJpbmciLCJ0ZXN0IiwibGVuIiwiYXJyMiIsIl9hd2FpdEFzeW5jR2VuZXJhdG9yIiwiX092ZXJsb2FkWWllbGQiLCJfd3JhcEFzeW5jR2VuZXJhdG9yIiwiZm4iLCJfQXN5bmNHZW5lcmF0b3IiLCJhcHBseSIsImFyZ3VtZW50cyIsInJlc3VtZSIsImsiLCJzZXR0bGUiLCJyZWplY3QiLCJrZXkiLCJfYXN5bmNJdGVyYXRvciIsIkFzeW5jRnJvbVN5bmNJdGVyYXRvciIsIkFzeW5jRnJvbVN5bmNJdGVyYXRvckNvbnRpbnVhdGlvbiIsIl9yZXR1cm4iLCJfdGhyb3ciLCJpdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMiLCJfeCIsIl94MiIsIl94MyIsIl94NCIsIl94NSIsIl9pdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMiLCJhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyIiwidXJsIiwiaW5jcmVtZW50YWwiLCJtaW5EYXRlRGVwb3QiLCJtaW5EYXRlRXhhbWVuIiwib3B0aW9ucyIsInVuZGVmaW5lZCIsIl9jYWxsZWUiLCJfaXRlcmF0b3JBYnJ1cHRDb21wbGV0aW9uIiwiX2RpZEl0ZXJhdG9yRXJyb3IiLCJfaXRlcmF0b3JFcnJvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiX3N0ZXAkdmFsdWUiLCJhbWVuZGVtZW50VXJsUGF0aCIsImFtZW5kZW1lbnQiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzIiwiY2xlYW5BbWVuZGVtZW50IiwiQW1lbmRlbWVudHNDb252ZXJ0IiwidG9BbWVuZGVtZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsInQwIiwiX3g2IiwiX3g3IiwiX3g4IiwiX3g5IiwiX3gxMCIsIl9pdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMiLCJfY2FsbGVlMiIsImFtZW5kZW1lbnROdW1iZXIiLCJyZXNwb25zZSIsInBhZ2UiLCJodG1sIiwiYW1lbmRlbWVudHNDb3VudERpdiIsImFtZW5kZW1lbnRzQ291bnQiLCJhbWVuZGVtZW50c0RpdiIsImFtZW5kZW1lbnRzVGFibGUiLCJ0Zm9vdFRyIiwidGZvb3RUckNlbGxzIiwiYW1lbmRlbWVudHNUciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJhbWVuZGVtZW50VHIiLCJhbWVuZGVtZW50VGRMaXN0IiwiZGF0ZURlcG90VGQiLCJkYXRlRGVwb3QiLCJkYXRlRXhhbWVuVGQiLCJkYXRlRXhhbWVuIiwiYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZCIsImFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoIiwiZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUiLCJhbWVuZGVtZW50VHJPdXRlckh0bWwiLCJhbWVuZGVtZW50U2VhcmNoQ2FjaGUiLCJhbWVuZGVtZW50SHRtbFVybCIsImFtZW5kZW1lbnRIdG1sUmVzcG9uc2UiLCJhbWVuZGVtZW50SHRtbFBhZ2UiLCJhbWVuZGVtZW50SHRtbCIsImZvcm1hdHNMaSIsImpzb25MaSIsImpzb25BIiwiYW1lbmRlbWVudEpzb25VcmxQYXRoIiwiYW1lbmRlbWVudEpzb25VcmwiLCJhbWVuZGVtZW50SnNvblJlc3BvbnNlIiwicGFnaW5hdGlvbkEiLCJ1cmxQYXRoIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwiZnMiLCJlbnN1cmVEaXIiLCJhc3NlcnQiLCJzdHJpY3RFcXVhbCIsImV4ZWMiLCJjb25jYXQiLCJub3RTdHJpY3RFcXVhbCIsImluY2x1ZGVzIiwidmVyYm9zZSIsImNvbnNvbGUiLCJsb2ciLCJmZXRjaCIsIm9rIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsInRleHQiLCJwYXJzZUh0bWwiLCJxdWVyeVNlbGVjdG9yIiwicGFyc2VJbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibWFwIiwiY2VsbCIsImRlZXBFcXVhbCIsIm91dGVySFRNTCIsImZvcm1hdElTTyIsInBhcnNlRGF0ZSIsIkRhdGUiLCJsb2NhbGUiLCJmckxvY2FsZSIsInJlcHJlc2VudGF0aW9uIiwiZ2V0QXR0cmlidXRlIiwic3BsaXQiLCJwYXRoIiwiam9pbiIsImRpcm5hbWUiLCJwYXRoRXhpc3RzIiwicmVhZEZpbGUiLCJqc1lhbWwiLCJkdW1wIiwicG9zaXRpb24iLCJzZWFyY2giLCJyZXBsYWNlIiwic29ydEtleXMiLCJmcm9udE1hdHRlciIsImJvZHkiLCJVUkwiLCJmaW5kIiwiZm9ybWF0TGkiLCJmb3JtYXRTcGFuIiwianNvbiIsIndyaXRlRmlsZSIsInQxIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhcnNlcnMvcmVjaGVyY2hlX2FtZW5kZW1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgeyBmb3JtYXRJU08gfSBmcm9tIFwiZGF0ZS1mbnMvZm9ybWF0SVNPXCJcbmltcG9ydCB7IGZyIGFzIGZyTG9jYWxlIH0gZnJvbSBcImRhdGUtZm5zL2xvY2FsZS9mclwiXG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZURhdGUgfSBmcm9tIFwiZGF0ZS1mbnMvcGFyc2VcIlxuaW1wb3J0IGRlZXBFcXVhbCBmcm9tIFwiZGVlcC1lcXVhbFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBmcm9udE1hdHRlciBmcm9tIFwiZnJvbnQtbWF0dGVyXCJcbmltcG9ydCBqc1lhbWwgZnJvbSBcImpzLXlhbWxcIlxuaW1wb3J0IHsgcGFyc2UgYXMgcGFyc2VIdG1sIH0gZnJvbSBcIm5vZGUtaHRtbC1wYXJzZXJcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5pbXBvcnQgeyBjbGVhbkFtZW5kZW1lbnQgfSBmcm9tIFwiLi4vY2xlYW5lcnNcIlxuaW1wb3J0IHsgQW1lbmRlbWVudCBhcyBSYXdBbWVuZGVtZW50IH0gZnJvbSBcIi4uL3Jhd190eXBlcy9hbWVuZGVtZW50c1wiXG5pbXBvcnQgeyBBbWVuZGVtZW50LCBDb252ZXJ0IGFzIEFtZW5kZW1lbnRzQ29udmVydCB9IGZyb20gXCIuLi90eXBlcy9hbWVuZGVtZW50c1wiXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiogaXRlclJlY2hlcmNoZUFtZW5kZW1lbnRzKFxuICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyOiBzdHJpbmcsXG4gIHVybDogc3RyaW5nLFxuICBpbmNyZW1lbnRhbDogYm9vbGVhbixcbiAgbWluRGF0ZURlcG90Pzogc3RyaW5nIHwgbnVsbCxcbiAgbWluRGF0ZUV4YW1lbj86IHN0cmluZyB8IG51bGwsXG4gIG9wdGlvbnM6IHsgc2lsZW50PzogYm9vbGVhbjsgdmVyYm9zZT86IGJvb2xlYW4gfSA9IHt9LFxuKTogQXN5bmNHZW5lcmF0b3I8W3N0cmluZywgQW1lbmRlbWVudF0sIHZvaWQsIHVua25vd24+IHtcbiAgZm9yIGF3YWl0IChjb25zdCBbXG4gICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgYW1lbmRlbWVudCxcbiAgXSBvZiBpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMoXG4gICAgYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcixcbiAgICB1cmwsXG4gICAgaW5jcmVtZW50YWwsXG4gICAgbWluRGF0ZURlcG90LFxuICAgIG1pbkRhdGVFeGFtZW4sXG4gICAgb3B0aW9ucyxcbiAgKSkge1xuICAgIGNsZWFuQW1lbmRlbWVudChhbWVuZGVtZW50KVxuICAgIC8vIERvdWJsZSBjb252ZXJzaW9uLCB0byBjb252ZXJ0IHN0cmluZ3MgdG8gZGF0ZXMuXG4gICAgeWllbGQgW1xuICAgICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgICBBbWVuZGVtZW50c0NvbnZlcnQudG9BbWVuZGVtZW50KEpTT04uc3RyaW5naWZ5KGFtZW5kZW1lbnQpKSxcbiAgICBdXG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uKiBpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMoXG4gIGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXI6IHN0cmluZyxcbiAgdXJsOiBzdHJpbmcsXG4gIGluY3JlbWVudGFsOiBib29sZWFuLFxuICBtaW5EYXRlRGVwb3Q/OiBzdHJpbmcgfCBudWxsLFxuICBtaW5EYXRlRXhhbWVuPzogc3RyaW5nIHwgbnVsbCxcbiAgb3B0aW9uczogeyBzaWxlbnQ/OiBib29sZWFuOyB2ZXJib3NlPzogYm9vbGVhbiB9ID0ge30sXG4pOiBBc3luY0dlbmVyYXRvcjxbc3RyaW5nLCBSYXdBbWVuZGVtZW50XSwgdm9pZCwgdW5rbm93bj4ge1xuICBhd2FpdCBmcy5lbnN1cmVEaXIoYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcilcblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgL1s/Jl1kYXRlX2RlcG90PS8uZXhlYyh1cmwpLFxuICAgIG51bGwsXG4gICAgYFVSTCAke3VybH0gYWxyZWFkeSBjb250YWlucyBhIGRlcG9zaXQgZGF0ZWAsXG4gIClcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgIC9bPyZdb3JkZXI9Ly5leGVjKHVybCksXG4gICAgbnVsbCxcbiAgICBgVVJMICR7dXJsfSBhbHJlYWR5IGNvbnRhaW5zIGEgc29ydCBvcmRlcmAsXG4gIClcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgIC9bPyZdcGFnZT0vLmV4ZWModXJsKSxcbiAgICBudWxsLFxuICAgIGBVUkwgJHt1cmx9IGFscmVhZHkgY29udGFpbnMgYSBwYWdlIG51bWJlcmAsXG4gIClcbiAgaWYgKGluY3JlbWVudGFsKSB7XG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgL1s/Jl1ldGF0PS8uZXhlYyh1cmwpLFxuICAgICAgbnVsbCxcbiAgICAgIGBJbiBpbmNyZW1lbnRhbCBtb2RlLCBVUkwgJHt1cmx9IG11c3QgY29udGFpbiBhbiBcImV0YXRcIiBxdWVyeSBwYXJhbWV0ZXJgLFxuICAgIClcbiAgfVxuICB1cmwgKz0gKHVybC5pbmNsdWRlcyhcIj9cIikgPyBcIiZcIiA6IFwiP1wiKSArIFwib3JkZXI9ZGF0ZV9kZXBvdCxkZXNjJnBhZ2U9MVwiXG5cbiAgaWYgKG1pbkRhdGVEZXBvdCAhPSBudWxsKSB7XG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgL1xcZHs0fS1cXGR7Mn0tXFxkezJ9Ly5leGVjKG1pbkRhdGVEZXBvdCksXG4gICAgICBudWxsLFxuICAgICAgYEludmFsaWQgZm9ybWF0IGZvciBtaW5pbXVtIGRhdGU6ICR7bWluRGF0ZURlcG90fWAsXG4gICAgKVxuICB9XG5cbiAgbGV0IGFtZW5kZW1lbnROdW1iZXIgPSAwXG4gIGl0ZXJTZWFyY2hQYWdlczogd2hpbGUgKHRydWUpIHtcbiAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICBjb25zb2xlLmxvZyhgRmV0Y2hpbmcgYW1lbmRlbWVudHMgc2VhcmNoIHBhZ2UgYXQgJHt1cmx94oCmYClcbiAgICB9XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpXG4gICAgYXNzZXJ0KFxuICAgICAgcmVzcG9uc2Uub2ssXG4gICAgICBgUmV0cmlldmFsIG9mIHNlYXJjaCBwYWdlIGF0ICR7dXJsfSBmYWlsZWQgd2l0aCBlcnJvcjogJHtyZXNwb25zZS5zdGF0dXN9ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gLFxuICAgIClcbiAgICBjb25zdCBwYWdlID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpXG4gICAgY29uc3QgaHRtbCA9IHBhcnNlSHRtbChwYWdlKVxuICAgIGlmIChodG1sLnF1ZXJ5U2VsZWN0b3IoXCJkaXYubm8tcmVzdWx0XCIpICE9PSBudWxsKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgICBjb25zdCBhbWVuZGVtZW50c0NvdW50RGl2ID0gaHRtbC5xdWVyeVNlbGVjdG9yKFwiZGl2Lm1pcnJvci1jYXJkLXN1YnRpdGxlXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRzQ291bnREaXYsIG51bGwpXG4gICAgY29uc3QgYW1lbmRlbWVudHNDb3VudCA9IHBhcnNlSW50KC9cXGQrLy5leGVjKGFtZW5kZW1lbnRzQ291bnREaXYhLnRleHQpIVswXSlcbiAgICBjb25zdCBhbWVuZGVtZW50c0RpdiA9IGh0bWwucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiZGl2LmFtZW5kZW1lbnQtbGlzdC0tcmVzdWx0cy10YWJsZVwiLFxuICAgIClcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudHNEaXYsIG51bGwpXG4gICAgY29uc3QgYW1lbmRlbWVudHNUYWJsZSA9IGFtZW5kZW1lbnRzRGl2IS5xdWVyeVNlbGVjdG9yKFwidGFibGVcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudHNUYWJsZSwgbnVsbClcbiAgICBjb25zdCB0Zm9vdFRyID0gYW1lbmRlbWVudHNUYWJsZSEucXVlcnlTZWxlY3RvcihcInRmb290ID4gdHJcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwodGZvb3RUciwgbnVsbClcbiAgICBjb25zdCB0Zm9vdFRyQ2VsbHMgPSB0Zm9vdFRyIVxuICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0ZCwgdGhcIilcbiAgICAgIC5tYXAoKGNlbGwpID0+IGNlbGwudGV4dClcbiAgICBhc3NlcnQoXG4gICAgICBkZWVwRXF1YWwodGZvb3RUckNlbGxzLCBbXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFwibsKwXCIsXG4gICAgICAgIFwiRG9zc2llciBsw6lnaXNsYXRpZlwiLFxuICAgICAgICBcIkVtcGxhY2VtZW50XCIsXG4gICAgICAgIFwiQXV0ZXVyXCIsXG4gICAgICAgIFwiw4l0YXRcIixcbiAgICAgICAgXCJTb3J0XCIsXG4gICAgICAgIFwiRGF0ZSBkJ2V4YW1lblwiLFxuICAgICAgICBcIkV4YW1pbsOpIHBhclwiLFxuICAgICAgICBcIlRleHRlIHZpc8OpXCIsXG4gICAgICAgIFwiRGF0ZSBkZSBkw6lww7R0XCIsXG4gICAgICBdKSxcbiAgICAgIGBVbmV4cGVjdGVkIGNvbHVtbnMgaW4gJHtKU09OLnN0cmluZ2lmeSh0Zm9vdFRyQ2VsbHMsIG51bGwsIDIpfWAsXG4gICAgKVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzVHIgPSBhbWVuZGVtZW50c1RhYmxlIS5xdWVyeVNlbGVjdG9yQWxsKFwidGJvZHkgPiB0clwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50c1RyLmxlbmd0aCwgMClcbiAgICBmb3IgKGNvbnN0IGFtZW5kZW1lbnRUciBvZiBhbWVuZGVtZW50c1RyKSB7XG4gICAgICBhbWVuZGVtZW50TnVtYmVyKytcblxuICAgICAgaWYgKG1pbkRhdGVEZXBvdCAhPSBudWxsIHx8IG1pbkRhdGVFeGFtZW4gIT0gbnVsbCkge1xuICAgICAgICBjb25zdCBhbWVuZGVtZW50VGRMaXN0ID0gYW1lbmRlbWVudFRyLnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0ZFwiKVxuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgICAgYW1lbmRlbWVudFRkTGlzdC5sZW5ndGgsXG4gICAgICAgICAgMTEsXG4gICAgICAgICAgYFVuZXhwZWN0ZWQgbnVtYmVyIG9mIGNvbHVtbnMgaW4gYW1lbmRtZW50IHJvdzogJHthbWVuZGVtZW50VHIub3V0ZXJIVE1MfWAsXG4gICAgICAgIClcbiAgICAgICAgaWYgKG1pbkRhdGVEZXBvdCAhPSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZURlcG90VGQgPSBhbWVuZGVtZW50VGRMaXN0WzEwXVxuICAgICAgICAgIGNvbnN0IGRhdGVEZXBvdCA9IGZvcm1hdElTTyhcbiAgICAgICAgICAgIHBhcnNlRGF0ZShkYXRlRGVwb3RUZC50ZXh0LCBcImQgTU1NTSB5XCIsIG5ldyBEYXRlKCksIHtcbiAgICAgICAgICAgICAgbG9jYWxlOiBmckxvY2FsZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgeyByZXByZXNlbnRhdGlvbjogXCJkYXRlXCIgfSxcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKGRhdGVEZXBvdCA8IG1pbkRhdGVEZXBvdCkge1xuICAgICAgICAgICAgLy8gU2luY2UgdGhlIGFtZW5kbWVudHMgYXJlIHNvcnRlZCBieSBkZXBvc2l0IGRhdGUsIG9uY2UgYW4gYW1lbmRtZW50XG4gICAgICAgICAgICAvLyB3aXRoIGFuIG9sZCBkZXBvc2l0IGRhdGUgaXMgZW5jb3VudGVyZWQsIHRoZSBmdWxsIHNlYXJjaCBjYW4gYmUgc3RvcHBlZC5cbiAgICAgICAgICAgIGJyZWFrIGl0ZXJTZWFyY2hQYWdlc1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobWluRGF0ZUV4YW1lbiAhPSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZUV4YW1lblRkID0gYW1lbmRlbWVudFRkTGlzdFs3XVxuICAgICAgICAgIGlmIChkYXRlRXhhbWVuVGQudGV4dCkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZUV4YW1lbiA9IGZvcm1hdElTTyhcbiAgICAgICAgICAgICAgcGFyc2VEYXRlKGRhdGVFeGFtZW5UZC50ZXh0LCBcImQgTU1NTSB5XCIsIG5ldyBEYXRlKCksIHtcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGZyTG9jYWxlLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgeyByZXByZXNlbnRhdGlvbjogXCJkYXRlXCIgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChkYXRlRXhhbWVuIDwgbWluRGF0ZUV4YW1lbikge1xuICAgICAgICAgICAgICAvLyBUaGlzIGFtZW5kbWVudCBoYXMgYmVlbiBkaXNjdXNzZWQgc2luY2UgYSBmZXcgZGF5cy5cbiAgICAgICAgICAgICAgLy8gPT4gSWdub3JlIGl0LCBiZWNhdXNlIGl0IHNob3VsZCBiZSBpbiBBc3NlbWJsw6llIG9wZW4gZGF0YS5cbiAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgYW1lbmRlbWVudFVybFBhdGggPSBhbWVuZGVtZW50VHIuZ2V0QXR0cmlidXRlKFwiZGF0YS1ocmVmXCIpXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudFVybFBhdGgsIHVuZGVmaW5lZClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQgPSBhbWVuZGVtZW50VXJsUGF0aCEuc3BsaXQoXCIvXCIpXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWRbMF0sXG4gICAgICAgIFwiXCIsXG4gICAgICAgIGBVbmV4cGVjdGVkIFVSTCBwYXRoIGZvciBhbWVuZGVtZW50OiAke2FtZW5kZW1lbnRVcmxQYXRofWAsXG4gICAgICApXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWRbMV0sXG4gICAgICAgIFwiZHluXCIsXG4gICAgICAgIGBVbmV4cGVjdGVkIFVSTCBwYXRoIGZvciBhbWVuZGVtZW50OiAke2FtZW5kZW1lbnRVcmxQYXRofWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCA9XG4gICAgICAgIHBhdGguam9pbihcbiAgICAgICAgICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyLFxuICAgICAgICAgIC4uLmFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQuc2xpY2UoMiksXG4gICAgICAgICkgKyBcIi5odG1sXCJcbiAgICAgIGF3YWl0IGZzLmVuc3VyZURpcihwYXRoLmRpcm5hbWUoYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgpKVxuICAgICAgY29uc3QgZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUgPSAoYXdhaXQgZnMucGF0aEV4aXN0cyhcbiAgICAgICAgYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgsXG4gICAgICApKVxuICAgICAgICA/IGF3YWl0IGZzLnJlYWRGaWxlKGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoLCBcInV0ZjhcIilcbiAgICAgICAgOiBudWxsXG4gICAgICBjb25zdCBhbWVuZGVtZW50VHJPdXRlckh0bWwgPSBhbWVuZGVtZW50VHIub3V0ZXJIVE1MXG4gICAgICBjb25zdCBhbWVuZGVtZW50U2VhcmNoQ2FjaGUgPSBgLS0tXFxuJHtqc1lhbWwuZHVtcChcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiBhbWVuZGVtZW50c0NvdW50IC0gYW1lbmRlbWVudE51bWJlcixcbiAgICAgICAgICBzZWFyY2g6IHVybC5yZXBsYWNlKC8mcGFnZT1bXFxkXSsvLCBcIlwiKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHNvcnRLZXlzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgKX0tLS1cXG5cXG4ke2FtZW5kZW1lbnRUck91dGVySHRtbH1gXG4gICAgICBpZiAoYW1lbmRlbWVudFNlYXJjaENhY2hlID09PSBleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSkge1xuICAgICAgICBpZiAoaW5jcmVtZW50YWwpIHtcbiAgICAgICAgICAvLyBUaGUgc2FtZSA8dHI+IGlzIGFscmVhZHkgaW4gY2FjaGUgYW5kIGluIHRoZSBzYW1lIHBvc2l0aW9uLlxuICAgICAgICAgIC8vIEFzc3VtZSB0aGF0IGZvbGxvd2luZyBhbWVuZG1lbnRzIGFyZSBub3QgY2hhbmdlZCBhbmQgc3RvcCBsb29raW5nXG4gICAgICAgICAgLy8gZm9yIGFtZW5kbWVudHMgdG8gdXBzZXJ0LlxuICAgICAgICAgIGJyZWFrIGl0ZXJTZWFyY2hQYWdlc1xuICAgICAgICB9XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlICE9PSBudWxsICYmXG4gICAgICAgIGZyb250TWF0dGVyKGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlKS5ib2R5ID09PVxuICAgICAgICAgIGFtZW5kZW1lbnRUck91dGVySHRtbFxuICAgICAgKSB7XG4gICAgICAgIC8vIFRoZSBzYW1lIDx0cj4gaXMgYWxyZWFkeSBpbiBjYWNoZSwgYnV0IGluIGEgZGlmZmVyZW50IHBvc2l0aW9uLlxuICAgICAgICAvLyBBc3N1bWUgdGhlIGFtZW5kbWVudCBpcyB1bmNoYW5nZWQuXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgIGlmIChleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSA9PT0gbnVsbCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgYEFkZGluZyBhbWVuZGVtZW50IHNlYXJjaCBjYWNoZTogJHthbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aH3igKZgLFxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgIGBVcGRhdGluZyBhbWVuZGVtZW50IHNlYXJjaCBjYWNoZTogJHthbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aH3igKZgLFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxVcmwgPSBuZXcgVVJMKFxuICAgICAgICBhbWVuZGVtZW50VXJsUGF0aCEsXG4gICAgICAgIFwiaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9cIixcbiAgICAgICkudG9TdHJpbmcoKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxSZXNwb25zZSA9IGF3YWl0IGZldGNoKGFtZW5kZW1lbnRIdG1sVXJsKVxuICAgICAgaWYgKGFtZW5kZW1lbnRIdG1sUmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYEFtZW5kZW1lbnQgSFRNTCBwYWdlIG5vdCBmb3VuZCBhdCAke2FtZW5kZW1lbnRIdG1sVXJsfS4gU2tpcHBpbmcuYCxcbiAgICAgICAgKVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgYXNzZXJ0KFxuICAgICAgICBhbWVuZGVtZW50SHRtbFJlc3BvbnNlLm9rLFxuICAgICAgICBgUmV0cmlldmFsIG9mIGFtZW5kZW1lbnQgSFRNTCBwYWdlIGF0ICR7YW1lbmRlbWVudEh0bWxVcmx9IGZhaWxlZCB3aXRoIGVycm9yOiAke2FtZW5kZW1lbnRIdG1sUmVzcG9uc2Uuc3RhdHVzfSAke2FtZW5kZW1lbnRIdG1sUmVzcG9uc2Uuc3RhdHVzVGV4dH1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxQYWdlID0gYXdhaXQgYW1lbmRlbWVudEh0bWxSZXNwb25zZS50ZXh0KClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRIdG1sID0gcGFyc2VIdG1sKGFtZW5kZW1lbnRIdG1sUGFnZSlcbiAgICAgIGNvbnN0IGZvcm1hdHNMaSA9IGFtZW5kZW1lbnRIdG1sLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgIFwibGkubWlycm9yLWNhcmQtaGVhZGVyLS1vcHRpb25zLS1jb250ZW50LS1pdGVtXCIsXG4gICAgICApXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoZm9ybWF0c0xpLmxlbmd0aCwgMClcbiAgICAgIGNvbnN0IGpzb25MaSA9IGZvcm1hdHNMaS5maW5kKChmb3JtYXRMaSkgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXRTcGFuID0gZm9ybWF0TGkucXVlcnlTZWxlY3RvcihcImEgPiBzcGFuXCIpXG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAgICBmb3JtYXRTcGFuLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgYE5vIDxzcGFuPiBpbiA8YT4gZm91bmQgaW4gJHtmb3JtYXRMaS50b1N0cmluZygpfWAsXG4gICAgICAgIClcbiAgICAgICAgcmV0dXJuIGZvcm1hdFNwYW4hLnRleHQgPT09IFwiVmVyc2lvbiBKU09OXCJcbiAgICAgIH0pXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAgIGpzb25MaSxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBgTm8gSlNPTiB2ZXJzaW9uIGZvdW5kIGZvciBhbWVuZGVtZW50IGF0ICR7YW1lbmRlbWVudEh0bWxVcmx9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGpzb25BID0ganNvbkxpIS5xdWVyeVNlbGVjdG9yKFwiYVwiKVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgICBqc29uQSxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgYE5vIDxhPiBmb3VuZCBpbiAke2pzb25MaSEudG9TdHJpbmcoKX1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEpzb25VcmxQYXRoID0ganNvbkEhLmdldEF0dHJpYnV0ZShcImhyZWZcIilcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAgYW1lbmRlbWVudEpzb25VcmxQYXRoLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIGBObyBVUkwgZm91bmQgZm9yIEpTT04gdmVyc2lvbiBvZiBhbWVuZGVtZW50OiAke2pzb25MaSEudG9TdHJpbmcoKX1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEpzb25VcmwgPSBuZXcgVVJMKFxuICAgICAgICBhbWVuZGVtZW50SnNvblVybFBhdGghLFxuICAgICAgICBcImh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvXCIsXG4gICAgICApLnRvU3RyaW5nKClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRKc29uUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChhbWVuZGVtZW50SnNvblVybClcbiAgICAgIGFzc2VydChcbiAgICAgICAgYW1lbmRlbWVudEpzb25SZXNwb25zZS5vayxcbiAgICAgICAgYFJldHJpZXZhbCBvZiBhbWVuZGVtZW50IEpTT04gcGFnZSBhdCAke2FtZW5kZW1lbnRKc29uVXJsfSBmYWlsZWQgd2l0aCBlcnJvcjogJHthbWVuZGVtZW50SnNvblJlc3BvbnNlLnN0YXR1c30gJHthbWVuZGVtZW50SnNvblJlc3BvbnNlLnN0YXR1c1RleHR9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnQgPSBhd2FpdCBhbWVuZGVtZW50SnNvblJlc3BvbnNlLmpzb24oKVxuICAgICAgeWllbGQgW2FtZW5kZW1lbnRVcmxQYXRoISwgYW1lbmRlbWVudF1cblxuICAgICAgLy8gU2VhcmNoQ2FjaGUgbXVzdCBiZSB3cml0dGVuIGF0IHRoZSBlbmQgdG8gZW5zdXJlIHRoYXQgZXZlcnl0aGluZyBpcyBpbiBhIGNvbnNpc3RlbnQgc3RhdGUsXG4gICAgICAvLyBldmVuIGlmIHNjcmlwdCBmYWlscyBhYnJ1cHRseS5cbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICAgICAgYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgsXG4gICAgICAgIGFtZW5kZW1lbnRTZWFyY2hDYWNoZSxcbiAgICAgICAgXCJ1dGY4XCIsXG4gICAgICApXG4gICAgfVxuXG4gICAgY29uc3QgcGFnaW5hdGlvbkEgPSBodG1sLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcImRpdi5hbi1wYWdpbmF0aW9uLS1pdGVtID4gaS5hbi1pY29ucy1jaGV2cm9uLXJpZ2h0IH4gYVwiLFxuICAgIClcbiAgICBpZiAocGFnaW5hdGlvbkEgPT09IG51bGwpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNvbnN0IHVybFBhdGggPSBwYWdpbmF0aW9uQS5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHVybFBhdGgsIHVuZGVmaW5lZClcbiAgICB1cmwgPSBuZXcgVVJMKHVybFBhdGghLCBcImh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvXCIpLnRvU3RyaW5nKClcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFR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