@tricoteuses/assemblee 1.0.2 → 1.0.4

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.
package/lib/dates.js CHANGED
@@ -27,8 +27,6 @@ require("core-js/modules/es.string.replace.js");
27
27
 
28
28
  require("core-js/modules/es.date.to-iso-string.js");
29
29
 
30
- require("core-js/modules/es.string.split.js");
31
-
32
30
  require("core-js/modules/es.object.to-string.js");
33
31
 
34
32
  require("core-js/modules/es.regexp.to-string.js");
@@ -154,4 +152,4 @@ function frenchTimeFromDateOrString(dateOrString) {
154
152
  function localIso8601StringFromDate(date) {
155
153
  return new Date(date.getTime() - date.getTimezoneOffset() * 60000).toISOString().split("T")[0];
156
154
  }
157
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleGlzdGluZ0RhdGVUb0pzb24iLCJEYXRlIiwicHJvdG90eXBlIiwidG9KU09OIiwicGF0Y2hlZERhdGVUb0pzb24iLCJ0aW1lem9uZU9mZnNldEluSG91cnMiLCJnZXRUaW1lem9uZU9mZnNldCIsInNpZ24iLCJsZWFkaW5nWmVybyIsIk1hdGgiLCJhYnMiLCJjb3JyZWN0ZWREYXRlIiwiZ2V0RnVsbFllYXIiLCJnZXRNb250aCIsImdldERhdGUiLCJnZXRIb3VycyIsImdldE1pbnV0ZXMiLCJnZXRTZWNvbmRzIiwiZ2V0TWlsbGlzZWNvbmRzIiwic2V0SG91cnMiLCJpc28iLCJ0b0lTT1N0cmluZyIsInJlcGxhY2UiLCJ0b1N0cmluZyIsInNwbGl0IiwiZSIsImpzb25EYXRlIiwiZnJlbmNoRGF0ZUZvcm1hdCIsIkludGwiLCJEYXRlVGltZUZvcm1hdCIsImRheSIsIm1vbnRoIiwid2Vla2RheSIsInllYXIiLCJmcmVuY2hEYXRlU2FtZVllYXJTaG9ydEZvcm1hdCIsImZyZW5jaFRpbWVGb3JtYXQiLCJob3VyIiwibWludXRlIiwiZGF0ZUZyb21OdWxsYWJsZURhdGVPcklzb1N0cmluZyIsImRhdGUiLCJkZWZhdWx0VmFsdWUiLCJwYXJzZUlTTyIsImRhdGVGcm9tWWVhck1vbnRoRGF5VGltZXpvbmVTdHJpbmciLCJkYXRlU3RyaW5nIiwicGFyc2UiLCJkaXNwbGF5RGF0ZUZyb21Mb2NhbElzb1N0cmluZyIsImZvcm1hdCIsImxvY2FsZSIsImZyTG9jYWxlIiwiZW5kc1dpdGgiLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJmb3JtYXRSZWxhdGl2ZUZyZW5jaFRpbWUiLCJub3ciLCJmcmVuY2hEYXRlV2l0aG91dERheU9mV2Vla0Zyb21EYXRlT3JTdHJpbmciLCJkYXRlT3JTdHJpbmciLCJmcmVuY2hUaW1lRnJvbURhdGVPclN0cmluZyIsImxvY2FsSXNvODYwMVN0cmluZ0Zyb21EYXRlIiwiZ2V0VGltZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBOb3RlOiBcIi9pbmRleC5qc1wiIGFkZGVkIHRvIGltcG9ydHMsIGJlY2F1c2Ugb2YgaXNzdWVcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9pc3N1ZXMvMjk2NFxuaW1wb3J0IGZvcm1hdCBmcm9tIFwiZGF0ZS1mbnMvZm9ybWF0L2luZGV4LmpzXCJcbmltcG9ydCBmckxvY2FsZSBmcm9tIFwiZGF0ZS1mbnMvbG9jYWxlL2ZyL2luZGV4LmpzXCJcbmltcG9ydCBwYXJzZSBmcm9tIFwiZGF0ZS1mbnMvcGFyc2UvaW5kZXguanNcIlxuaW1wb3J0IHBhcnNlSVNPIGZyb20gXCJkYXRlLWZucy9wYXJzZUlTTy9pbmRleC5qc1wiXG5cbi8vIFBhdGNoIERhdGUucHJvdG90eXBlLnRvSlNPTiB0byBlbnN1cmUgdGhhdCBkYXRlcyBrZWVwIHRoZWlyIHRpbWV6b25lIHdoZW4gY29udmVydGVkIHRvIHN0cmluZ3MuXG4vLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zMTA5NjEzMC9ob3ctdG8tanNvbi1zdHJpbmdpZnktYS1qYXZhc2NyaXB0LWRhdGUtYW5kLXByZXNlcnZlLXRpbWV6b25lXG5leHBvcnQgY29uc3QgZXhpc3RpbmdEYXRlVG9Kc29uID0gRGF0ZS5wcm90b3R5cGUudG9KU09OXG5leHBvcnQgY29uc3QgcGF0Y2hlZERhdGVUb0pzb24gPSBmdW5jdGlvbiAodGhpczogRGF0ZSk6IHN0cmluZyB7XG4gIHRyeSB7XG4gICAgY29uc3QgdGltZXpvbmVPZmZzZXRJbkhvdXJzID0gLSh0aGlzLmdldFRpbWV6b25lT2Zmc2V0KCkgLyA2MCkgLy9VVEMgbWludXMgbG9jYWwgdGltZVxuICAgIGNvbnN0IHNpZ24gPSB0aW1lem9uZU9mZnNldEluSG91cnMgPj0gMCA/IFwiK1wiIDogXCItXCJcbiAgICBjb25zdCBsZWFkaW5nWmVybyA9IE1hdGguYWJzKHRpbWV6b25lT2Zmc2V0SW5Ib3VycykgPCAxMCA/IFwiMFwiIDogXCJcIlxuXG4gICAgLy8gSXQncyBhIGJpdCB1bmZvcnR1bmF0ZSB0aGF0IHdlIG5lZWQgdG8gY29uc3RydWN0IGEgbmV3IERhdGUgaW5zdGFuY2VcbiAgICAvLyAod2UgZG9uJ3Qgd2FudCBfdGhpc18gRGF0ZSBpbnN0YW5jZSB0byBiZSBtb2RpZmllZCkuXG4gICAgY29uc3QgY29ycmVjdGVkRGF0ZSA9IG5ldyBEYXRlKFxuICAgICAgdGhpcy5nZXRGdWxsWWVhcigpLFxuICAgICAgdGhpcy5nZXRNb250aCgpLFxuICAgICAgdGhpcy5nZXREYXRlKCksXG4gICAgICB0aGlzLmdldEhvdXJzKCksXG4gICAgICB0aGlzLmdldE1pbnV0ZXMoKSxcbiAgICAgIHRoaXMuZ2V0U2Vjb25kcygpLFxuICAgICAgdGhpcy5nZXRNaWxsaXNlY29uZHMoKSxcbiAgICApXG4gICAgY29ycmVjdGVkRGF0ZS5zZXRIb3Vycyh0aGlzLmdldEhvdXJzKCkgKyB0aW1lem9uZU9mZnNldEluSG91cnMpXG4gICAgY29uc3QgaXNvID0gY29ycmVjdGVkRGF0ZS50b0lTT1N0cmluZygpLnJlcGxhY2UoXCJaXCIsIFwiXCIpXG4gICAgcmV0dXJuIChcbiAgICAgIGlzbyArXG4gICAgICBzaWduICtcbiAgICAgIGxlYWRpbmdaZXJvICtcbiAgICAgIE1hdGguYWJzKHRpbWV6b25lT2Zmc2V0SW5Ib3VycykudG9TdHJpbmcoKS5zcGxpdChcIi5cIilbMF0gK1xuICAgICAgXCI6MDBcIlxuICAgIClcbiAgfSBjYXRjaCAoZSkge1xuICAgIERhdGUucHJvdG90eXBlLnRvSlNPTiA9IGV4aXN0aW5nRGF0ZVRvSnNvblxuICAgIGNvbnN0IGpzb25EYXRlID0gdGhpcy50b0pTT04oKVxuICAgIERhdGUucHJvdG90eXBlLnRvSlNPTiA9IHBhdGNoZWREYXRlVG9Kc29uXG4gICAgcmV0dXJuIGpzb25EYXRlXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGZyZW5jaERhdGVGb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChcImZyLUZSXCIsIHtcbiAgZGF5OiBcIm51bWVyaWNcIixcbiAgbW9udGg6IFwibG9uZ1wiLFxuICB3ZWVrZGF5OiBcImxvbmdcIixcbiAgeWVhcjogXCJudW1lcmljXCIsXG59KVxuZXhwb3J0IGNvbnN0IGZyZW5jaERhdGVTYW1lWWVhclNob3J0Rm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXCJmci1GUlwiLCB7XG4gIGRheTogXCJudW1lcmljXCIsXG4gIG1vbnRoOiBcInNob3J0XCIsXG59KVxuZXhwb3J0IGNvbnN0IGZyZW5jaFRpbWVGb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChcImZyLUZSXCIsIHtcbiAgaG91cjogXCJudW1lcmljXCIsXG4gIG1pbnV0ZTogXCIyLWRpZ2l0XCIsXG59KVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZUZyb21OdWxsYWJsZURhdGVPcklzb1N0cmluZyhcbiAgZGF0ZTogRGF0ZSB8IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwsXG4gIGRlZmF1bHRWYWx1ZTogRGF0ZSB8IHVuZGVmaW5lZCB8IG51bGwsXG4pOiBEYXRlIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIHJldHVybiBkYXRlXG4gIH1cbiAgaWYgKHR5cGVvZiBkYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHBhcnNlSVNPKGRhdGUpXG4gIH1cbiAgcmV0dXJuIGRlZmF1bHRWYWx1ZVxufVxuXG4vLy8gQ29udmVydCBzdHJpbmdzIGxpa2UgXCIyMDE3LTExLTI0KzAxOjAwXCIgdG8gZGF0ZXMuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZUZyb21ZZWFyTW9udGhEYXlUaW1lem9uZVN0cmluZyhkYXRlU3RyaW5nOiBzdHJpbmcpOiBEYXRlIHtcbiAgcmV0dXJuIHBhcnNlKGRhdGVTdHJpbmcsIFwieXl5eS1NTS1kZFhYWFwiLCBuZXcgRGF0ZSgpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlzcGxheURhdGVGcm9tTG9jYWxJc29TdHJpbmcoZGF0ZVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZGF0ZSA9IHBhcnNlSVNPKGRhdGVTdHJpbmcpXG4gIGRhdGVTdHJpbmcgPSBmb3JtYXQoZGF0ZSwgXCJFRUVFIGQgTExMTCB5eXl5IEgnaCdtbVwiLCB7IGxvY2FsZTogZnJMb2NhbGUgfSlcbiAgaWYgKGRhdGVTdHJpbmcuZW5kc1dpdGgoXCIgMGgwMFwiKSkge1xuICAgIGRhdGVTdHJpbmcgPSBkYXRlU3RyaW5nLnN1YnN0cmluZygwLCBkYXRlU3RyaW5nLmxlbmd0aCAtIDUpXG4gIH1cbiAgcmV0dXJuIGRhdGVTdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFJlbGF0aXZlRnJlbmNoVGltZShkYXRlOiBEYXRlLCBub3c6IERhdGUpIHtcbiAgaWYgKFxuICAgIGRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gbm93LmdldEZ1bGxZZWFyKCkgJiZcbiAgICBkYXRlLmdldE1vbnRoKCkgPT09IG5vdy5nZXRNb250aCgpICYmXG4gICAgZGF0ZS5nZXREYXRlKCkgPT09IG5vdy5nZXREYXRlKClcbiAgKSB7XG4gICAgcmV0dXJuIGZyZW5jaFRpbWVGb3JtYXQuZm9ybWF0KGRhdGUpXG4gIH1cbiAgcmV0dXJuIGZyZW5jaERhdGVTYW1lWWVhclNob3J0Rm9ybWF0LmZvcm1hdChkYXRlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJlbmNoRGF0ZVdpdGhvdXREYXlPZldlZWtGcm9tRGF0ZU9yU3RyaW5nKFxuICBkYXRlT3JTdHJpbmc6IERhdGUgfCBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICBjb25zdCBkYXRlOiBEYXRlID1cbiAgICBkYXRlT3JTdHJpbmcgaW5zdGFuY2VvZiBEYXRlID8gZGF0ZU9yU3RyaW5nIDogcGFyc2VJU08oZGF0ZU9yU3RyaW5nKVxuICBsZXQgZGF0ZVN0cmluZyA9IGZvcm1hdChkYXRlLCBcImQgTExMTCB5eXl5IEgnaCdtbVwiLCB7IGxvY2FsZTogZnJMb2NhbGUgfSlcbiAgaWYgKGRhdGVTdHJpbmcuZW5kc1dpdGgoXCIgMGgwMFwiKSkge1xuICAgIGRhdGVTdHJpbmcgPSBkYXRlU3RyaW5nLnN1YnN0cmluZygwLCBkYXRlU3RyaW5nLmxlbmd0aCAtIDUpXG4gIH1cbiAgcmV0dXJuIGRhdGVTdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyZW5jaFRpbWVGcm9tRGF0ZU9yU3RyaW5nKFxuICBkYXRlT3JTdHJpbmc6IERhdGUgfCBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICBjb25zdCBkYXRlOiBEYXRlID1cbiAgICBkYXRlT3JTdHJpbmcgaW5zdGFuY2VvZiBEYXRlID8gZGF0ZU9yU3RyaW5nIDogcGFyc2VJU08oZGF0ZU9yU3RyaW5nKVxuICByZXR1cm4gZm9ybWF0KGRhdGUsIFwiSCdoJ21tXCIsIHsgbG9jYWxlOiBmckxvY2FsZSB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxJc284NjAxU3RyaW5nRnJvbURhdGUoZGF0ZTogRGF0ZSkge1xuICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMClcbiAgICAudG9JU09TdHJpbmcoKVxuICAgIC5zcGxpdChcIlRcIilbMF1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFMQTtBQUNBO0FBTUE7QUFDQTtBQUNPLElBQU1BLGtCQUFrQixHQUFHQyxJQUFJLENBQUNDLFNBQUwsQ0FBZUMsTUFBMUM7OztBQUNBLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsR0FBOEI7RUFDN0QsSUFBSTtJQUNGLElBQU1DLHFCQUFxQixHQUFHLEVBQUUsS0FBS0MsaUJBQUwsS0FBMkIsRUFBN0IsQ0FBOUIsQ0FERSxDQUM2RDs7SUFDL0QsSUFBTUMsSUFBSSxHQUFHRixxQkFBcUIsSUFBSSxDQUF6QixHQUE2QixHQUE3QixHQUFtQyxHQUFoRDtJQUNB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
155
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleGlzdGluZ0RhdGVUb0pzb24iLCJEYXRlIiwicHJvdG90eXBlIiwidG9KU09OIiwicGF0Y2hlZERhdGVUb0pzb24iLCJ0aW1lem9uZU9mZnNldEluSG91cnMiLCJnZXRUaW1lem9uZU9mZnNldCIsInNpZ24iLCJsZWFkaW5nWmVybyIsIk1hdGgiLCJhYnMiLCJjb3JyZWN0ZWREYXRlIiwiZ2V0RnVsbFllYXIiLCJnZXRNb250aCIsImdldERhdGUiLCJnZXRIb3VycyIsImdldE1pbnV0ZXMiLCJnZXRTZWNvbmRzIiwiZ2V0TWlsbGlzZWNvbmRzIiwic2V0SG91cnMiLCJpc28iLCJ0b0lTT1N0cmluZyIsInJlcGxhY2UiLCJ0b1N0cmluZyIsInNwbGl0IiwiZSIsImpzb25EYXRlIiwiZnJlbmNoRGF0ZUZvcm1hdCIsIkludGwiLCJEYXRlVGltZUZvcm1hdCIsImRheSIsIm1vbnRoIiwid2Vla2RheSIsInllYXIiLCJmcmVuY2hEYXRlU2FtZVllYXJTaG9ydEZvcm1hdCIsImZyZW5jaFRpbWVGb3JtYXQiLCJob3VyIiwibWludXRlIiwiZGF0ZUZyb21OdWxsYWJsZURhdGVPcklzb1N0cmluZyIsImRhdGUiLCJkZWZhdWx0VmFsdWUiLCJwYXJzZUlTTyIsImRhdGVGcm9tWWVhck1vbnRoRGF5VGltZXpvbmVTdHJpbmciLCJkYXRlU3RyaW5nIiwicGFyc2UiLCJkaXNwbGF5RGF0ZUZyb21Mb2NhbElzb1N0cmluZyIsImZvcm1hdCIsImxvY2FsZSIsImZyTG9jYWxlIiwiZW5kc1dpdGgiLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJmb3JtYXRSZWxhdGl2ZUZyZW5jaFRpbWUiLCJub3ciLCJmcmVuY2hEYXRlV2l0aG91dERheU9mV2Vla0Zyb21EYXRlT3JTdHJpbmciLCJkYXRlT3JTdHJpbmciLCJmcmVuY2hUaW1lRnJvbURhdGVPclN0cmluZyIsImxvY2FsSXNvODYwMVN0cmluZ0Zyb21EYXRlIiwiZ2V0VGltZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBOb3RlOiBcIi9pbmRleC5qc1wiIGFkZGVkIHRvIGltcG9ydHMsIGJlY2F1c2Ugb2YgaXNzdWVcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9pc3N1ZXMvMjk2NFxuaW1wb3J0IGZvcm1hdCBmcm9tIFwiZGF0ZS1mbnMvZm9ybWF0L2luZGV4LmpzXCJcbmltcG9ydCBmckxvY2FsZSBmcm9tIFwiZGF0ZS1mbnMvbG9jYWxlL2ZyL2luZGV4LmpzXCJcbmltcG9ydCBwYXJzZSBmcm9tIFwiZGF0ZS1mbnMvcGFyc2UvaW5kZXguanNcIlxuaW1wb3J0IHBhcnNlSVNPIGZyb20gXCJkYXRlLWZucy9wYXJzZUlTTy9pbmRleC5qc1wiXG5cbi8vIFBhdGNoIERhdGUucHJvdG90eXBlLnRvSlNPTiB0byBlbnN1cmUgdGhhdCBkYXRlcyBrZWVwIHRoZWlyIHRpbWV6b25lIHdoZW4gY29udmVydGVkIHRvIHN0cmluZ3MuXG4vLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zMTA5NjEzMC9ob3ctdG8tanNvbi1zdHJpbmdpZnktYS1qYXZhc2NyaXB0LWRhdGUtYW5kLXByZXNlcnZlLXRpbWV6b25lXG5leHBvcnQgY29uc3QgZXhpc3RpbmdEYXRlVG9Kc29uID0gRGF0ZS5wcm90b3R5cGUudG9KU09OXG5leHBvcnQgY29uc3QgcGF0Y2hlZERhdGVUb0pzb24gPSBmdW5jdGlvbiAodGhpczogRGF0ZSk6IHN0cmluZyB7XG4gIHRyeSB7XG4gICAgY29uc3QgdGltZXpvbmVPZmZzZXRJbkhvdXJzID0gLSh0aGlzLmdldFRpbWV6b25lT2Zmc2V0KCkgLyA2MCkgLy9VVEMgbWludXMgbG9jYWwgdGltZVxuICAgIGNvbnN0IHNpZ24gPSB0aW1lem9uZU9mZnNldEluSG91cnMgPj0gMCA/IFwiK1wiIDogXCItXCJcbiAgICBjb25zdCBsZWFkaW5nWmVybyA9IE1hdGguYWJzKHRpbWV6b25lT2Zmc2V0SW5Ib3VycykgPCAxMCA/IFwiMFwiIDogXCJcIlxuXG4gICAgLy8gSXQncyBhIGJpdCB1bmZvcnR1bmF0ZSB0aGF0IHdlIG5lZWQgdG8gY29uc3RydWN0IGEgbmV3IERhdGUgaW5zdGFuY2VcbiAgICAvLyAod2UgZG9uJ3Qgd2FudCBfdGhpc18gRGF0ZSBpbnN0YW5jZSB0byBiZSBtb2RpZmllZCkuXG4gICAgY29uc3QgY29ycmVjdGVkRGF0ZSA9IG5ldyBEYXRlKFxuICAgICAgdGhpcy5nZXRGdWxsWWVhcigpLFxuICAgICAgdGhpcy5nZXRNb250aCgpLFxuICAgICAgdGhpcy5nZXREYXRlKCksXG4gICAgICB0aGlzLmdldEhvdXJzKCksXG4gICAgICB0aGlzLmdldE1pbnV0ZXMoKSxcbiAgICAgIHRoaXMuZ2V0U2Vjb25kcygpLFxuICAgICAgdGhpcy5nZXRNaWxsaXNlY29uZHMoKSxcbiAgICApXG4gICAgY29ycmVjdGVkRGF0ZS5zZXRIb3Vycyh0aGlzLmdldEhvdXJzKCkgKyB0aW1lem9uZU9mZnNldEluSG91cnMpXG4gICAgY29uc3QgaXNvID0gY29ycmVjdGVkRGF0ZS50b0lTT1N0cmluZygpLnJlcGxhY2UoXCJaXCIsIFwiXCIpXG4gICAgcmV0dXJuIChcbiAgICAgIGlzbyArXG4gICAgICBzaWduICtcbiAgICAgIGxlYWRpbmdaZXJvICtcbiAgICAgIE1hdGguYWJzKHRpbWV6b25lT2Zmc2V0SW5Ib3VycykudG9TdHJpbmcoKS5zcGxpdChcIi5cIilbMF0gK1xuICAgICAgXCI6MDBcIlxuICAgIClcbiAgfSBjYXRjaCAoZSkge1xuICAgIERhdGUucHJvdG90eXBlLnRvSlNPTiA9IGV4aXN0aW5nRGF0ZVRvSnNvblxuICAgIGNvbnN0IGpzb25EYXRlID0gdGhpcy50b0pTT04oKVxuICAgIERhdGUucHJvdG90eXBlLnRvSlNPTiA9IHBhdGNoZWREYXRlVG9Kc29uXG4gICAgcmV0dXJuIGpzb25EYXRlXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGZyZW5jaERhdGVGb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChcImZyLUZSXCIsIHtcbiAgZGF5OiBcIm51bWVyaWNcIixcbiAgbW9udGg6IFwibG9uZ1wiLFxuICB3ZWVrZGF5OiBcImxvbmdcIixcbiAgeWVhcjogXCJudW1lcmljXCIsXG59KVxuZXhwb3J0IGNvbnN0IGZyZW5jaERhdGVTYW1lWWVhclNob3J0Rm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXCJmci1GUlwiLCB7XG4gIGRheTogXCJudW1lcmljXCIsXG4gIG1vbnRoOiBcInNob3J0XCIsXG59KVxuZXhwb3J0IGNvbnN0IGZyZW5jaFRpbWVGb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChcImZyLUZSXCIsIHtcbiAgaG91cjogXCJudW1lcmljXCIsXG4gIG1pbnV0ZTogXCIyLWRpZ2l0XCIsXG59KVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZUZyb21OdWxsYWJsZURhdGVPcklzb1N0cmluZyhcbiAgZGF0ZTogRGF0ZSB8IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwsXG4gIGRlZmF1bHRWYWx1ZTogRGF0ZSB8IHVuZGVmaW5lZCB8IG51bGwsXG4pOiBEYXRlIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIHJldHVybiBkYXRlXG4gIH1cbiAgaWYgKHR5cGVvZiBkYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHBhcnNlSVNPKGRhdGUpXG4gIH1cbiAgcmV0dXJuIGRlZmF1bHRWYWx1ZVxufVxuXG4vLy8gQ29udmVydCBzdHJpbmdzIGxpa2UgXCIyMDE3LTExLTI0KzAxOjAwXCIgdG8gZGF0ZXMuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZUZyb21ZZWFyTW9udGhEYXlUaW1lem9uZVN0cmluZyhkYXRlU3RyaW5nOiBzdHJpbmcpOiBEYXRlIHtcbiAgcmV0dXJuIHBhcnNlKGRhdGVTdHJpbmcsIFwieXl5eS1NTS1kZFhYWFwiLCBuZXcgRGF0ZSgpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlzcGxheURhdGVGcm9tTG9jYWxJc29TdHJpbmcoZGF0ZVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZGF0ZSA9IHBhcnNlSVNPKGRhdGVTdHJpbmcpXG4gIGRhdGVTdHJpbmcgPSBmb3JtYXQoZGF0ZSwgXCJFRUVFIGQgTExMTCB5eXl5IEgnaCdtbVwiLCB7IGxvY2FsZTogZnJMb2NhbGUgfSlcbiAgaWYgKGRhdGVTdHJpbmcuZW5kc1dpdGgoXCIgMGgwMFwiKSkge1xuICAgIGRhdGVTdHJpbmcgPSBkYXRlU3RyaW5nLnN1YnN0cmluZygwLCBkYXRlU3RyaW5nLmxlbmd0aCAtIDUpXG4gIH1cbiAgcmV0dXJuIGRhdGVTdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFJlbGF0aXZlRnJlbmNoVGltZShkYXRlOiBEYXRlLCBub3c6IERhdGUpIHtcbiAgaWYgKFxuICAgIGRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gbm93LmdldEZ1bGxZZWFyKCkgJiZcbiAgICBkYXRlLmdldE1vbnRoKCkgPT09IG5vdy5nZXRNb250aCgpICYmXG4gICAgZGF0ZS5nZXREYXRlKCkgPT09IG5vdy5nZXREYXRlKClcbiAgKSB7XG4gICAgcmV0dXJuIGZyZW5jaFRpbWVGb3JtYXQuZm9ybWF0KGRhdGUpXG4gIH1cbiAgcmV0dXJuIGZyZW5jaERhdGVTYW1lWWVhclNob3J0Rm9ybWF0LmZvcm1hdChkYXRlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJlbmNoRGF0ZVdpdGhvdXREYXlPZldlZWtGcm9tRGF0ZU9yU3RyaW5nKFxuICBkYXRlT3JTdHJpbmc6IERhdGUgfCBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICBjb25zdCBkYXRlOiBEYXRlID1cbiAgICBkYXRlT3JTdHJpbmcgaW5zdGFuY2VvZiBEYXRlID8gZGF0ZU9yU3RyaW5nIDogcGFyc2VJU08oZGF0ZU9yU3RyaW5nKVxuICBsZXQgZGF0ZVN0cmluZyA9IGZvcm1hdChkYXRlLCBcImQgTExMTCB5eXl5IEgnaCdtbVwiLCB7IGxvY2FsZTogZnJMb2NhbGUgfSlcbiAgaWYgKGRhdGVTdHJpbmcuZW5kc1dpdGgoXCIgMGgwMFwiKSkge1xuICAgIGRhdGVTdHJpbmcgPSBkYXRlU3RyaW5nLnN1YnN0cmluZygwLCBkYXRlU3RyaW5nLmxlbmd0aCAtIDUpXG4gIH1cbiAgcmV0dXJuIGRhdGVTdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyZW5jaFRpbWVGcm9tRGF0ZU9yU3RyaW5nKFxuICBkYXRlT3JTdHJpbmc6IERhdGUgfCBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICBjb25zdCBkYXRlOiBEYXRlID1cbiAgICBkYXRlT3JTdHJpbmcgaW5zdGFuY2VvZiBEYXRlID8gZGF0ZU9yU3RyaW5nIDogcGFyc2VJU08oZGF0ZU9yU3RyaW5nKVxuICByZXR1cm4gZm9ybWF0KGRhdGUsIFwiSCdoJ21tXCIsIHsgbG9jYWxlOiBmckxvY2FsZSB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxJc284NjAxU3RyaW5nRnJvbURhdGUoZGF0ZTogRGF0ZSkge1xuICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMClcbiAgICAudG9JU09TdHJpbmcoKVxuICAgIC5zcGxpdChcIlRcIilbMF1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBTEE7QUFDQTtBQU1BO0FBQ0E7QUFDTyxJQUFNQSxrQkFBa0IsR0FBR0MsSUFBSSxDQUFDQyxTQUFMLENBQWVDLE1BQTFDOzs7QUFDQSxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLEdBQThCO0VBQzdELElBQUk7SUFDRixJQUFNQyxxQkFBcUIsR0FBRyxFQUFFLEtBQUtDLGlCQUFMLEtBQTJCLEVBQTdCLENBQTlCLENBREUsQ0FDNkQ7O0lBQy9ELElBQU1DLElBQUksR0FBR0YscUJBQXFCLElBQUksQ0FBekIsR0FBNkIsR0FBN0IsR0FBbUMsR0FBaEQ7SUFDQSxJQUFNRyxXQUFXLEdBQUdDLElBQUksQ0FBQ0MsR0FBTCxDQUFTTCxxQkFBVCxJQUFrQyxFQUFsQyxHQUF1QyxHQUF2QyxHQUE2QyxFQUFqRSxDQUhFLENBS0Y7SUFDQTs7SUFDQSxJQUFNTSxhQUFhLEdBQUcsSUFBSVYsSUFBSixDQUNwQixLQUFLVyxXQUFMLEVBRG9CLEVBRXBCLEtBQUtDLFFBQUwsRUFGb0IsRUFHcEIsS0FBS0MsT0FBTCxFQUhvQixFQUlwQixLQUFLQyxRQUFMLEVBSm9CLEVBS3BCLEtBQUtDLFVBQUwsRUFMb0IsRUFNcEIsS0FBS0MsVUFBTCxFQU5vQixFQU9wQixLQUFLQyxlQUFMLEVBUG9CLENBQXRCO0lBU0FQLGFBQWEsQ0FBQ1EsUUFBZCxDQUF1QixLQUFLSixRQUFMLEtBQWtCVixxQkFBekM7SUFDQSxJQUFNZSxHQUFHLEdBQUdULGFBQWEsQ0FBQ1UsV0FBZCxHQUE0QkMsT0FBNUIsQ0FBb0MsR0FBcEMsRUFBeUMsRUFBekMsQ0FBWjtJQUNBLE9BQ0VGLEdBQUcsR0FDSGIsSUFEQSxHQUVBQyxXQUZBLEdBR0FDLElBQUksQ0FBQ0MsR0FBTCxDQUFTTCxxQkFBVCxFQUFnQ2tCLFFBQWhDLEdBQTJDQyxLQUEzQyxDQUFpRCxHQUFqRCxFQUFzRCxDQUF0RCxDQUhBLEdBSUEsS0FMRjtFQU9ELENBekJELENBeUJFLE9BQU9DLENBQVAsRUFBVTtJQUNWeEIsSUFBSSxDQUFDQyxTQUFMLENBQWVDLE1BQWYsR0FBd0JILGtCQUF4QjtJQUNBLElBQU0wQixRQUFRLEdBQUcsS0FBS3ZCLE1BQUwsRUFBakI7SUFDQUYsSUFBSSxDQUFDQyxTQUFMLENBQWVDLE1BQWYsR0FBd0JDLGlCQUF4QjtJQUNBLE9BQU9zQixRQUFQO0VBQ0Q7QUFDRixDQWhDTTs7O0FBa0NBLElBQU1DLGdCQUFnQixHQUFHLElBQUlDLElBQUksQ0FBQ0MsY0FBVCxDQUF3QixPQUF4QixFQUFpQztFQUMvREMsR0FBRyxFQUFFLFNBRDBEO0VBRS9EQyxLQUFLLEVBQUUsTUFGd0Q7RUFHL0RDLE9BQU8sRUFBRSxNQUhzRDtFQUkvREMsSUFBSSxFQUFFO0FBSnlELENBQWpDLENBQXpCOztBQU1BLElBQU1DLDZCQUE2QixHQUFHLElBQUlOLElBQUksQ0FBQ0MsY0FBVCxDQUF3QixPQUF4QixFQUFpQztFQUM1RUMsR0FBRyxFQUFFLFNBRHVFO0VBRTVFQyxLQUFLLEVBQUU7QUFGcUUsQ0FBakMsQ0FBdEM7O0FBSUEsSUFBTUksZ0JBQWdCLEdBQUcsSUFBSVAsSUFBSSxDQUFDQyxjQUFULENBQXdCLE9BQXhCLEVBQWlDO0VBQy9ETyxJQUFJLEVBQUUsU0FEeUQ7RUFFL0RDLE1BQU0sRUFBRTtBQUZ1RCxDQUFqQyxDQUF6Qjs7O0FBS0EsU0FBU0MsK0JBQVQsQ0FDTEMsSUFESyxFQUVMQyxZQUZLLEVBR29CO0VBQ3pCLElBQUlELElBQUksWUFBWXRDLElBQXBCLEVBQTBCO0lBQ3hCLE9BQU9zQyxJQUFQO0VBQ0Q7O0VBQ0QsSUFBSSxPQUFPQSxJQUFQLEtBQWdCLFFBQXBCLEVBQThCO0lBQzVCLE9BQU8sSUFBQUUsa0JBQUEsRUFBU0YsSUFBVCxDQUFQO0VBQ0Q7O0VBQ0QsT0FBT0MsWUFBUDtBQUNELEMsQ0FFRDs7O0FBQ08sU0FBU0Usa0NBQVQsQ0FBNENDLFVBQTVDLEVBQXNFO0VBQzNFLE9BQU8sSUFBQUMsa0JBQUEsRUFBTUQsVUFBTixFQUFrQixlQUFsQixFQUFtQyxJQUFJMUMsSUFBSixFQUFuQyxDQUFQO0FBQ0Q7O0FBRU0sU0FBUzRDLDZCQUFULENBQXVDRixVQUF2QyxFQUFtRTtFQUN4RSxJQUFNSixJQUFJLEdBQUcsSUFBQUUsa0JBQUEsRUFBU0UsVUFBVCxDQUFiO0VBQ0FBLFVBQVUsR0FBRyxJQUFBRyxpQkFBQSxFQUFPUCxJQUFQLEVBQWEseUJBQWIsRUFBd0M7SUFBRVEsTUFBTSxFQUFFQztFQUFWLENBQXhDLENBQWI7O0VBQ0EsSUFBSUwsVUFBVSxDQUFDTSxRQUFYLENBQW9CLE9BQXBCLENBQUosRUFBa0M7SUFDaENOLFVBQVUsR0FBR0EsVUFBVSxDQUFDTyxTQUFYLENBQXFCLENBQXJCLEVBQXdCUCxVQUFVLENBQUNRLE1BQVgsR0FBb0IsQ0FBNUMsQ0FBYjtFQUNEOztFQUNELE9BQU9SLFVBQVA7QUFDRDs7QUFFTSxTQUFTUyx3QkFBVCxDQUFrQ2IsSUFBbEMsRUFBOENjLEdBQTlDLEVBQXlEO0VBQzlELElBQ0VkLElBQUksQ0FBQzNCLFdBQUwsT0FBdUJ5QyxHQUFHLENBQUN6QyxXQUFKLEVBQXZCLElBQ0EyQixJQUFJLENBQUMxQixRQUFMLE9BQW9Cd0MsR0FBRyxDQUFDeEMsUUFBSixFQURwQixJQUVBMEIsSUFBSSxDQUFDekIsT0FBTCxPQUFtQnVDLEdBQUcsQ0FBQ3ZDLE9BQUosRUFIckIsRUFJRTtJQUNBLE9BQU9xQixnQkFBZ0IsQ0FBQ1csTUFBakIsQ0FBd0JQLElBQXhCLENBQVA7RUFDRDs7RUFDRCxPQUFPTCw2QkFBNkIsQ0FBQ1ksTUFBOUIsQ0FBcUNQLElBQXJDLENBQVA7QUFDRDs7QUFFTSxTQUFTZSwwQ0FBVCxDQUNMQyxZQURLLEVBRUc7RUFDUixJQUFNaEIsSUFBVSxHQUNkZ0IsWUFBWSxZQUFZdEQsSUFBeEIsR0FBK0JzRCxZQUEvQixHQUE4QyxJQUFBZCxrQkFBQSxFQUFTYyxZQUFULENBRGhEO0VBRUEsSUFBSVosVUFBVSxHQUFHLElBQUFHLGlCQUFBLEVBQU9QLElBQVAsRUFBYSxvQkFBYixFQUFtQztJQUFFUSxNQUFNLEVBQUVDO0VBQVYsQ0FBbkMsQ0FBakI7O0VBQ0EsSUFBSUwsVUFBVSxDQUFDTSxRQUFYLENBQW9CLE9BQXBCLENBQUosRUFBa0M7SUFDaENOLFVBQVUsR0FBR0EsVUFBVSxDQUFDTyxTQUFYLENBQXFCLENBQXJCLEVBQXdCUCxVQUFVLENBQUNRLE1BQVgsR0FBb0IsQ0FBNUMsQ0FBYjtFQUNEOztFQUNELE9BQU9SLFVBQVA7QUFDRDs7QUFFTSxTQUFTYSwwQkFBVCxDQUNMRCxZQURLLEVBRUc7RUFDUixJQUFNaEIsSUFBVSxHQUNkZ0IsWUFBWSxZQUFZdEQsSUFBeEIsR0FBK0JzRCxZQUEvQixHQUE4QyxJQUFBZCxrQkFBQSxFQUFTYyxZQUFULENBRGhEO0VBRUEsT0FBTyxJQUFBVCxpQkFBQSxFQUFPUCxJQUFQLEVBQWEsUUFBYixFQUF1QjtJQUFFUSxNQUFNLEVBQUVDO0VBQVYsQ0FBdkIsQ0FBUDtBQUNEOztBQUVNLFNBQVNTLDBCQUFULENBQW9DbEIsSUFBcEMsRUFBZ0Q7RUFDckQsT0FBTyxJQUFJdEMsSUFBSixDQUFTc0MsSUFBSSxDQUFDbUIsT0FBTCxLQUFpQm5CLElBQUksQ0FBQ2pDLGlCQUFMLEtBQTJCLEtBQXJELEVBQ0plLFdBREksR0FFSkcsS0FGSSxDQUVFLEdBRkYsRUFFTyxDQUZQLENBQVA7QUFHRCJ9
package/lib/index.d.ts CHANGED
@@ -8,11 +8,11 @@ export { insertActeurReferences, insertAmendementReferences, insertDocumentRefer
8
8
  export { shortNameFromOrgane } from "./organes";
9
9
  export { CodeActe } from "./shared_types/codes_actes";
10
10
  export { capitalizeFirstLetter, uncapitalizeFirstLetter } from "./strings";
11
- export type { Acteur, EtatCivil, Mandat, Organe, Photo } from "./types/acteurs_et_organes";
11
+ export type { Acteur, EtatCivil, Mandat, Organe, Photo, } from "./types/acteurs_et_organes";
12
12
  export { CodeTypeOrgane, TypeMandat, TypeOrgane, } from "./types/acteurs_et_organes";
13
13
  export type { Reunion } from "./types/agendas";
14
- export { EtatCycleDeVie } from "./types/agendas";
15
- export type { Amendement, EtatAmendement } from "./types/amendements";
14
+ export { EtatCycleDeVie, TypeReunion } from "./types/agendas";
15
+ export type { Amendement, EtatAmendement, Signataires, } from "./types/amendements";
16
16
  export { AvantAApres, Convert as AmendementsConvert, EtatAmendementLibelle, SortAmendement, } from "./types/amendements";
17
17
  export type { ActeLegislatif, Division, Document, DossierParlementaire, InfoJo, } from "./types/dossiers_legislatifs";
18
18
  export { TypeActeLegislatif, TypeDocument } from "./types/dossiers_legislatifs";
package/lib/index.js CHANGED
@@ -101,6 +101,12 @@ Object.defineProperty(exports, "TypeOrgane", {
101
101
  return _acteurs_et_organes.TypeOrgane;
102
102
  }
103
103
  });
104
+ Object.defineProperty(exports, "TypeReunion", {
105
+ enumerable: true,
106
+ get: function get() {
107
+ return _agendas.TypeReunion;
108
+ }
109
+ });
104
110
  Object.defineProperty(exports, "allFacets", {
105
111
  enumerable: true,
106
112
  get: function get() {
@@ -307,4 +313,4 @@ var _dossiers_legislatifs2 = require("./types/dossiers_legislatifs");
307
313
  var _legislatures = require("./types/legislatures");
308
314
 
309
315
  var _urls = require("./urls");
310
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIE5vdGU6IFRoaXMgbW9kdWxlIGNhbiBvbmx5IGV4cG9ydCBjbGVhbiBkYXRhIGFuZCBoZWxwZXJzIHRvIG1hbmlwdWxhdGUgaXQuXG4vLyBOb3RlOiBUaGlzIG1vZHVsZSBjYW4gbm90IGNvbnRhaW4gTm9kZUpTIHNwZWNpZmljIGNvZGUgKGxpa2UgYGFzc2VydGApLlxuXG5leHBvcnQgdHlwZSB7XG4gIFNlYXJjaFF1ZXJ5LFxuICBWYWxpZFNlYXJjaFF1ZXJ5LFxuICBWYWxpZFNlYXJjaFF1ZXJ5U2hhcmVkU3Vic2V0LFxufSBmcm9tIFwiLi9hcGlcIlxuZXhwb3J0IHsgYWxsRmFjZXRzLCBhbGxGb2xsb3dzLCBGYWNldCwgRm9sbG93IH0gZnJvbSBcIi4vYXBpXCJcbmV4cG9ydCB7XG4gIGRhdGVGcm9tTnVsbGFibGVEYXRlT3JJc29TdHJpbmcsXG4gIGRhdGVGcm9tWWVhck1vbnRoRGF5VGltZXpvbmVTdHJpbmcsXG4gIGRpc3BsYXlEYXRlRnJvbUxvY2FsSXNvU3RyaW5nLFxuICBleGlzdGluZ0RhdGVUb0pzb24sXG4gIGZvcm1hdFJlbGF0aXZlRnJlbmNoVGltZSxcbiAgZnJlbmNoRGF0ZUZvcm1hdCxcbiAgZnJlbmNoRGF0ZVNhbWVZZWFyU2hvcnRGb3JtYXQsXG4gIGZyZW5jaERhdGVXaXRob3V0RGF5T2ZXZWVrRnJvbURhdGVPclN0cmluZyxcbiAgZnJlbmNoVGltZUZvcm1hdCxcbiAgZnJlbmNoVGltZUZyb21EYXRlT3JTdHJpbmcsXG4gIGxvY2FsSXNvODYwMVN0cmluZ0Zyb21EYXRlLFxuICBwYXRjaGVkRGF0ZVRvSnNvbixcbn0gZnJvbSBcIi4vZGF0ZXNcIlxuZXhwb3J0IHR5cGUgeyBTdGF0dXMgfSBmcm9tIFwiLi9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5leHBvcnQge1xuICBzdGF0ZUZyb21BY3RlUGF0aCxcbiAgc3RhdGVGcm9tQWN0ZXMsXG4gIHN0YXRlRnJvbURvc3NpZXIsXG4gIHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlLFxuICBTdGF0dXNPbmx5LFxufSBmcm9tIFwiLi9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5leHBvcnQgdHlwZSB7IE91dHB1dERhdGEgfSBmcm9tIFwiLi9pbnNlcnRlcnNcIlxuZXhwb3J0IHtcbiAgaW5zZXJ0QWN0ZXVyUmVmZXJlbmNlcyxcbiAgaW5zZXJ0QW1lbmRlbWVudFJlZmVyZW5jZXMsXG4gIGluc2VydERvY3VtZW50UmVmZXJlbmNlcyxcbiAgaW5zZXJ0RG9zc2llclJlZmVyZW5jZXMsXG4gIGluc2VydE9yZ2FuZVJlZmVyZW5jZXMsXG4gIGluc2VydFJldW5pb25SZWZlcmVuY2VzLFxuICBpbnNlcnRTY3J1dGluUmVmZXJlbmNlcyxcbn0gZnJvbSBcIi4vaW5zZXJ0ZXJzXCJcbmV4cG9ydCB7IHNob3J0TmFtZUZyb21PcmdhbmUgfSBmcm9tIFwiLi9vcmdhbmVzXCJcbmV4cG9ydCB7IENvZGVBY3RlIH0gZnJvbSBcIi4vc2hhcmVkX3R5cGVzL2NvZGVzX2FjdGVzXCJcbmV4cG9ydCB7IGNhcGl0YWxpemVGaXJzdExldHRlciwgdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIgfSBmcm9tIFwiLi9zdHJpbmdzXCJcbmV4cG9ydCB0eXBlIHsgQWN0ZXVyLCBFdGF0Q2l2aWwsIE1hbmRhdCwgT3JnYW5lLCBQaG90byB9IGZyb20gXCIuL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5leHBvcnQge1xuICBDb2RlVHlwZU9yZ2FuZSxcbiAgVHlwZU1hbmRhdCxcbiAgVHlwZU9yZ2FuZSxcbn0gZnJvbSBcIi4vdHlwZXMvYWN0ZXVyc19ldF9vcmdhbmVzXCJcbmV4cG9ydCB0eXBlIHsgUmV1bmlvbiB9IGZyb20gXCIuL3R5cGVzL2FnZW5kYXNcIlxuZXhwb3J0IHsgRXRhdEN5Y2xlRGVWaWUgfSBmcm9tIFwiLi90eXBlcy9hZ2VuZGFzXCJcbmV4cG9ydCB0eXBlIHsgQW1lbmRlbWVudCwgRXRhdEFtZW5kZW1lbnQgfSBmcm9tIFwiLi90eXBlcy9hbWVuZGVtZW50c1wiXG5leHBvcnQge1xuICBBdmFudEFBcHJlcyxcbiAgQ29udmVydCBhcyBBbWVuZGVtZW50c0NvbnZlcnQsXG4gIEV0YXRBbWVuZGVtZW50TGliZWxsZSxcbiAgU29ydEFtZW5kZW1lbnQsXG59IGZyb20gXCIuL3R5cGVzL2FtZW5kZW1lbnRzXCJcbmV4cG9ydCB0eXBlIHtcbiAgQWN0ZUxlZ2lzbGF0aWYsXG4gIERpdmlzaW9uLFxuICBEb2N1bWVudCxcbiAgRG9zc2llclBhcmxlbWVudGFpcmUsXG4gIEluZm9Kbyxcbn0gZnJvbSBcIi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuZXhwb3J0IHsgVHlwZUFjdGVMZWdpc2xhdGlmLCBUeXBlRG9jdW1lbnQgfSBmcm9tIFwiLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5leHBvcnQgeyBMZWdpc2xhdHVyZSB9IGZyb20gXCIuL3R5cGVzL2xlZ2lzbGF0dXJlc1wiXG5leHBvcnQgdHlwZSB7IFNjcnV0aW4gfSBmcm9tIFwiLi90eXBlcy9zY3J1dGluc1wiXG5leHBvcnQgeyBEb2N1bWVudFVybEZvcm1hdCwgdXJsRnJvbURvY3VtZW50LCB1cmxGcm9tU2NydXRpbiB9IGZyb20gXCIuL3VybHNcIlxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBOztBQUNBOztBQWVBOztBQVFBOztBQVNBOztBQUNBOztBQUNBOztBQUVBOztBQU1BOztBQUVBOztBQWFBOztBQUNBOztBQUVBIn0=
316
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIE5vdGU6IFRoaXMgbW9kdWxlIGNhbiBvbmx5IGV4cG9ydCBjbGVhbiBkYXRhIGFuZCBoZWxwZXJzIHRvIG1hbmlwdWxhdGUgaXQuXG4vLyBOb3RlOiBUaGlzIG1vZHVsZSBjYW4gbm90IGNvbnRhaW4gTm9kZUpTIHNwZWNpZmljIGNvZGUgKGxpa2UgYGFzc2VydGApLlxuXG5leHBvcnQgdHlwZSB7XG4gIFNlYXJjaFF1ZXJ5LFxuICBWYWxpZFNlYXJjaFF1ZXJ5LFxuICBWYWxpZFNlYXJjaFF1ZXJ5U2hhcmVkU3Vic2V0LFxufSBmcm9tIFwiLi9hcGlcIlxuZXhwb3J0IHsgYWxsRmFjZXRzLCBhbGxGb2xsb3dzLCBGYWNldCwgRm9sbG93IH0gZnJvbSBcIi4vYXBpXCJcbmV4cG9ydCB7XG4gIGRhdGVGcm9tTnVsbGFibGVEYXRlT3JJc29TdHJpbmcsXG4gIGRhdGVGcm9tWWVhck1vbnRoRGF5VGltZXpvbmVTdHJpbmcsXG4gIGRpc3BsYXlEYXRlRnJvbUxvY2FsSXNvU3RyaW5nLFxuICBleGlzdGluZ0RhdGVUb0pzb24sXG4gIGZvcm1hdFJlbGF0aXZlRnJlbmNoVGltZSxcbiAgZnJlbmNoRGF0ZUZvcm1hdCxcbiAgZnJlbmNoRGF0ZVNhbWVZZWFyU2hvcnRGb3JtYXQsXG4gIGZyZW5jaERhdGVXaXRob3V0RGF5T2ZXZWVrRnJvbURhdGVPclN0cmluZyxcbiAgZnJlbmNoVGltZUZvcm1hdCxcbiAgZnJlbmNoVGltZUZyb21EYXRlT3JTdHJpbmcsXG4gIGxvY2FsSXNvODYwMVN0cmluZ0Zyb21EYXRlLFxuICBwYXRjaGVkRGF0ZVRvSnNvbixcbn0gZnJvbSBcIi4vZGF0ZXNcIlxuZXhwb3J0IHR5cGUgeyBTdGF0dXMgfSBmcm9tIFwiLi9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5leHBvcnQge1xuICBzdGF0ZUZyb21BY3RlUGF0aCxcbiAgc3RhdGVGcm9tQWN0ZXMsXG4gIHN0YXRlRnJvbURvc3NpZXIsXG4gIHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlLFxuICBTdGF0dXNPbmx5LFxufSBmcm9tIFwiLi9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5leHBvcnQgdHlwZSB7IE91dHB1dERhdGEgfSBmcm9tIFwiLi9pbnNlcnRlcnNcIlxuZXhwb3J0IHtcbiAgaW5zZXJ0QWN0ZXVyUmVmZXJlbmNlcyxcbiAgaW5zZXJ0QW1lbmRlbWVudFJlZmVyZW5jZXMsXG4gIGluc2VydERvY3VtZW50UmVmZXJlbmNlcyxcbiAgaW5zZXJ0RG9zc2llclJlZmVyZW5jZXMsXG4gIGluc2VydE9yZ2FuZVJlZmVyZW5jZXMsXG4gIGluc2VydFJldW5pb25SZWZlcmVuY2VzLFxuICBpbnNlcnRTY3J1dGluUmVmZXJlbmNlcyxcbn0gZnJvbSBcIi4vaW5zZXJ0ZXJzXCJcbmV4cG9ydCB7IHNob3J0TmFtZUZyb21PcmdhbmUgfSBmcm9tIFwiLi9vcmdhbmVzXCJcbmV4cG9ydCB7IENvZGVBY3RlIH0gZnJvbSBcIi4vc2hhcmVkX3R5cGVzL2NvZGVzX2FjdGVzXCJcbmV4cG9ydCB7IGNhcGl0YWxpemVGaXJzdExldHRlciwgdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIgfSBmcm9tIFwiLi9zdHJpbmdzXCJcbmV4cG9ydCB0eXBlIHtcbiAgQWN0ZXVyLFxuICBFdGF0Q2l2aWwsXG4gIE1hbmRhdCxcbiAgT3JnYW5lLFxuICBQaG90byxcbn0gZnJvbSBcIi4vdHlwZXMvYWN0ZXVyc19ldF9vcmdhbmVzXCJcbmV4cG9ydCB7XG4gIENvZGVUeXBlT3JnYW5lLFxuICBUeXBlTWFuZGF0LFxuICBUeXBlT3JnYW5lLFxufSBmcm9tIFwiLi90eXBlcy9hY3RldXJzX2V0X29yZ2FuZXNcIlxuZXhwb3J0IHR5cGUgeyBSZXVuaW9uIH0gZnJvbSBcIi4vdHlwZXMvYWdlbmRhc1wiXG5leHBvcnQgeyBFdGF0Q3ljbGVEZVZpZSwgVHlwZVJldW5pb24gfSBmcm9tIFwiLi90eXBlcy9hZ2VuZGFzXCJcbmV4cG9ydCB0eXBlIHtcbiAgQW1lbmRlbWVudCxcbiAgRXRhdEFtZW5kZW1lbnQsXG4gIFNpZ25hdGFpcmVzLFxufSBmcm9tIFwiLi90eXBlcy9hbWVuZGVtZW50c1wiXG5leHBvcnQge1xuICBBdmFudEFBcHJlcyxcbiAgQ29udmVydCBhcyBBbWVuZGVtZW50c0NvbnZlcnQsXG4gIEV0YXRBbWVuZGVtZW50TGliZWxsZSxcbiAgU29ydEFtZW5kZW1lbnQsXG59IGZyb20gXCIuL3R5cGVzL2FtZW5kZW1lbnRzXCJcbmV4cG9ydCB0eXBlIHtcbiAgQWN0ZUxlZ2lzbGF0aWYsXG4gIERpdmlzaW9uLFxuICBEb2N1bWVudCxcbiAgRG9zc2llclBhcmxlbWVudGFpcmUsXG4gIEluZm9Kbyxcbn0gZnJvbSBcIi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuZXhwb3J0IHsgVHlwZUFjdGVMZWdpc2xhdGlmLCBUeXBlRG9jdW1lbnQgfSBmcm9tIFwiLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5leHBvcnQgeyBMZWdpc2xhdHVyZSB9IGZyb20gXCIuL3R5cGVzL2xlZ2lzbGF0dXJlc1wiXG5leHBvcnQgdHlwZSB7IFNjcnV0aW4gfSBmcm9tIFwiLi90eXBlcy9zY3J1dGluc1wiXG5leHBvcnQgeyBEb2N1bWVudFVybEZvcm1hdCwgdXJsRnJvbURvY3VtZW50LCB1cmxGcm9tU2NydXRpbiB9IGZyb20gXCIuL3VybHNcIlxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBOztBQUNBOztBQWVBOztBQVFBOztBQVNBOztBQUNBOztBQUNBOztBQVFBOztBQU1BOztBQU1BOztBQWFBOztBQUNBOztBQUVBIn0=
package/lib/index.mjs CHANGED
@@ -8,9 +8,9 @@ export { shortNameFromOrgane } from "./organes.mjs";
8
8
  export { CodeActe } from "./shared_types/codes_actes.mjs";
9
9
  export { capitalizeFirstLetter, uncapitalizeFirstLetter } from "./strings.mjs";
10
10
  export { CodeTypeOrgane, TypeMandat, TypeOrgane } from "./types/acteurs_et_organes.mjs";
11
- export { EtatCycleDeVie } from "./types/agendas.mjs";
11
+ export { EtatCycleDeVie, TypeReunion } from "./types/agendas.mjs";
12
12
  export { AvantAApres, Convert as AmendementsConvert, EtatAmendementLibelle, SortAmendement } from "./types/amendements.mjs";
13
13
  export { TypeActeLegislatif, TypeDocument } from "./types/dossiers_legislatifs.mjs";
14
14
  export { Legislature } from "./types/legislatures.mjs";
15
15
  export { DocumentUrlFormat, urlFromDocument, urlFromScrutin } from "./urls.mjs";
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhbGxGYWNldHMiLCJhbGxGb2xsb3dzIiwiRmFjZXQiLCJGb2xsb3ciLCJkYXRlRnJvbU51bGxhYmxlRGF0ZU9ySXNvU3RyaW5nIiwiZGF0ZUZyb21ZZWFyTW9udGhEYXlUaW1lem9uZVN0cmluZyIsImRpc3BsYXlEYXRlRnJvbUxvY2FsSXNvU3RyaW5nIiwiZXhpc3RpbmdEYXRlVG9Kc29uIiwiZm9ybWF0UmVsYXRpdmVGcmVuY2hUaW1lIiwiZnJlbmNoRGF0ZUZvcm1hdCIsImZyZW5jaERhdGVTYW1lWWVhclNob3J0Rm9ybWF0IiwiZnJlbmNoRGF0ZVdpdGhvdXREYXlPZldlZWtGcm9tRGF0ZU9yU3RyaW5nIiwiZnJlbmNoVGltZUZvcm1hdCIsImZyZW5jaFRpbWVGcm9tRGF0ZU9yU3RyaW5nIiwibG9jYWxJc284NjAxU3RyaW5nRnJvbURhdGUiLCJwYXRjaGVkRGF0ZVRvSnNvbiIsInN0YXRlRnJvbUFjdGVQYXRoIiwic3RhdGVGcm9tQWN0ZXMiLCJzdGF0ZUZyb21Eb3NzaWVyIiwic3RhdHVzRnJvbUNvZGllckxpYmVsbGUiLCJTdGF0dXNPbmx5IiwiaW5zZXJ0QWN0ZXVyUmVmZXJlbmNlcyIsImluc2VydEFtZW5kZW1lbnRSZWZlcmVuY2VzIiwiaW5zZXJ0RG9jdW1lbnRSZWZlcmVuY2VzIiwiaW5zZXJ0RG9zc2llclJlZmVyZW5jZXMiLCJpbnNlcnRPcmdhbmVSZWZlcmVuY2VzIiwiaW5zZXJ0UmV1bmlvblJlZmVyZW5jZXMiLCJpbnNlcnRTY3J1dGluUmVmZXJlbmNlcyIsInNob3J0TmFtZUZyb21PcmdhbmUiLCJDb2RlQWN0ZSIsImNhcGl0YWxpemVGaXJzdExldHRlciIsInVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwiQ29kZVR5cGVPcmdhbmUiLCJUeXBlTWFuZGF0IiwiVHlwZU9yZ2FuZSIsIkV0YXRDeWNsZURlVmllIiwiQXZhbnRBQXByZXMiLCJDb252ZXJ0IiwiQW1lbmRlbWVudHNDb252ZXJ0IiwiRXRhdEFtZW5kZW1lbnRMaWJlbGxlIiwiU29ydEFtZW5kZW1lbnQiLCJUeXBlQWN0ZUxlZ2lzbGF0aWYiLCJUeXBlRG9jdW1lbnQiLCJMZWdpc2xhdHVyZSIsIkRvY3VtZW50VXJsRm9ybWF0IiwidXJsRnJvbURvY3VtZW50IiwidXJsRnJvbVNjcnV0aW4iXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gTm90ZTogVGhpcyBtb2R1bGUgY2FuIG9ubHkgZXhwb3J0IGNsZWFuIGRhdGEgYW5kIGhlbHBlcnMgdG8gbWFuaXB1bGF0ZSBpdC5cbi8vIE5vdGU6IFRoaXMgbW9kdWxlIGNhbiBub3QgY29udGFpbiBOb2RlSlMgc3BlY2lmaWMgY29kZSAobGlrZSBgYXNzZXJ0YCkuXG5cbmV4cG9ydCB0eXBlIHtcbiAgU2VhcmNoUXVlcnksXG4gIFZhbGlkU2VhcmNoUXVlcnksXG4gIFZhbGlkU2VhcmNoUXVlcnlTaGFyZWRTdWJzZXQsXG59IGZyb20gXCIuL2FwaVwiXG5leHBvcnQgeyBhbGxGYWNldHMsIGFsbEZvbGxvd3MsIEZhY2V0LCBGb2xsb3cgfSBmcm9tIFwiLi9hcGlcIlxuZXhwb3J0IHtcbiAgZGF0ZUZyb21OdWxsYWJsZURhdGVPcklzb1N0cmluZyxcbiAgZGF0ZUZyb21ZZWFyTW9udGhEYXlUaW1lem9uZVN0cmluZyxcbiAgZGlzcGxheURhdGVGcm9tTG9jYWxJc29TdHJpbmcsXG4gIGV4aXN0aW5nRGF0ZVRvSnNvbixcbiAgZm9ybWF0UmVsYXRpdmVGcmVuY2hUaW1lLFxuICBmcmVuY2hEYXRlRm9ybWF0LFxuICBmcmVuY2hEYXRlU2FtZVllYXJTaG9ydEZvcm1hdCxcbiAgZnJlbmNoRGF0ZVdpdGhvdXREYXlPZldlZWtGcm9tRGF0ZU9yU3RyaW5nLFxuICBmcmVuY2hUaW1lRm9ybWF0LFxuICBmcmVuY2hUaW1lRnJvbURhdGVPclN0cmluZyxcbiAgbG9jYWxJc284NjAxU3RyaW5nRnJvbURhdGUsXG4gIHBhdGNoZWREYXRlVG9Kc29uLFxufSBmcm9tIFwiLi9kYXRlc1wiXG5leHBvcnQgdHlwZSB7IFN0YXR1cyB9IGZyb20gXCIuL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzXCJcbmV4cG9ydCB7XG4gIHN0YXRlRnJvbUFjdGVQYXRoLFxuICBzdGF0ZUZyb21BY3RlcyxcbiAgc3RhdGVGcm9tRG9zc2llcixcbiAgc3RhdHVzRnJvbUNvZGllckxpYmVsbGUsXG4gIFN0YXR1c09ubHksXG59IGZyb20gXCIuL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzXCJcbmV4cG9ydCB0eXBlIHsgT3V0cHV0RGF0YSB9IGZyb20gXCIuL2luc2VydGVyc1wiXG5leHBvcnQge1xuICBpbnNlcnRBY3RldXJSZWZlcmVuY2VzLFxuICBpbnNlcnRBbWVuZGVtZW50UmVmZXJlbmNlcyxcbiAgaW5zZXJ0RG9jdW1lbnRSZWZlcmVuY2VzLFxuICBpbnNlcnREb3NzaWVyUmVmZXJlbmNlcyxcbiAgaW5zZXJ0T3JnYW5lUmVmZXJlbmNlcyxcbiAgaW5zZXJ0UmV1bmlvblJlZmVyZW5jZXMsXG4gIGluc2VydFNjcnV0aW5SZWZlcmVuY2VzLFxufSBmcm9tIFwiLi9pbnNlcnRlcnNcIlxuZXhwb3J0IHsgc2hvcnROYW1lRnJvbU9yZ2FuZSB9IGZyb20gXCIuL29yZ2FuZXNcIlxuZXhwb3J0IHsgQ29kZUFjdGUgfSBmcm9tIFwiLi9zaGFyZWRfdHlwZXMvY29kZXNfYWN0ZXNcIlxuZXhwb3J0IHsgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyLCB1bmNhcGl0YWxpemVGaXJzdExldHRlciB9IGZyb20gXCIuL3N0cmluZ3NcIlxuZXhwb3J0IHR5cGUgeyBBY3RldXIsIEV0YXRDaXZpbCwgTWFuZGF0LCBPcmdhbmUsIFBob3RvIH0gZnJvbSBcIi4vdHlwZXMvYWN0ZXVyc19ldF9vcmdhbmVzXCJcbmV4cG9ydCB7XG4gIENvZGVUeXBlT3JnYW5lLFxuICBUeXBlTWFuZGF0LFxuICBUeXBlT3JnYW5lLFxufSBmcm9tIFwiLi90eXBlcy9hY3RldXJzX2V0X29yZ2FuZXNcIlxuZXhwb3J0IHR5cGUgeyBSZXVuaW9uIH0gZnJvbSBcIi4vdHlwZXMvYWdlbmRhc1wiXG5leHBvcnQgeyBFdGF0Q3ljbGVEZVZpZSB9IGZyb20gXCIuL3R5cGVzL2FnZW5kYXNcIlxuZXhwb3J0IHR5cGUgeyBBbWVuZGVtZW50LCBFdGF0QW1lbmRlbWVudCB9IGZyb20gXCIuL3R5cGVzL2FtZW5kZW1lbnRzXCJcbmV4cG9ydCB7XG4gIEF2YW50QUFwcmVzLFxuICBDb252ZXJ0IGFzIEFtZW5kZW1lbnRzQ29udmVydCxcbiAgRXRhdEFtZW5kZW1lbnRMaWJlbGxlLFxuICBTb3J0QW1lbmRlbWVudCxcbn0gZnJvbSBcIi4vdHlwZXMvYW1lbmRlbWVudHNcIlxuZXhwb3J0IHR5cGUge1xuICBBY3RlTGVnaXNsYXRpZixcbiAgRGl2aXNpb24sXG4gIERvY3VtZW50LFxuICBEb3NzaWVyUGFybGVtZW50YWlyZSxcbiAgSW5mb0pvLFxufSBmcm9tIFwiLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5leHBvcnQgeyBUeXBlQWN0ZUxlZ2lzbGF0aWYsIFR5cGVEb2N1bWVudCB9IGZyb20gXCIuL3R5cGVzL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzXCJcbmV4cG9ydCB7IExlZ2lzbGF0dXJlIH0gZnJvbSBcIi4vdHlwZXMvbGVnaXNsYXR1cmVzXCJcbmV4cG9ydCB0eXBlIHsgU2NydXRpbiB9IGZyb20gXCIuL3R5cGVzL3NjcnV0aW5zXCJcbmV4cG9ydCB7IERvY3VtZW50VXJsRm9ybWF0LCB1cmxGcm9tRG9jdW1lbnQsIHVybEZyb21TY3J1dGluIH0gZnJvbSBcIi4vdXJsc1wiXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7U0FPU0EsUyxFQUFXQyxVLEVBQVlDLEssRUFBT0MsTTtTQUVyQ0MsK0IsRUFDQUMsa0MsRUFDQUMsNkIsRUFDQUMsa0IsRUFDQUMsd0IsRUFDQUMsZ0IsRUFDQUMsNkIsRUFDQUMsMEMsRUFDQUMsZ0IsRUFDQUMsMEIsRUFDQUMsMEIsRUFDQUMsaUI7U0FJQUMsaUIsRUFDQUMsYyxFQUNBQyxnQixFQUNBQyx1QixFQUNBQyxVO1NBSUFDLHNCLEVBQ0FDLDBCLEVBQ0FDLHdCLEVBQ0FDLHVCLEVBQ0FDLHNCLEVBQ0FDLHVCLEVBQ0FDLHVCO1NBRU9DLG1CO1NBQ0FDLFE7U0FDQUMscUIsRUFBdUJDLHVCO1NBRzlCQyxjLEVBQ0FDLFUsRUFDQUMsVTtTQUdPQyxjO1NBR1BDLFcsRUFDQUMsT0FBTyxJQUFJQyxrQixFQUNYQyxxQixFQUNBQyxjO1NBU09DLGtCLEVBQW9CQyxZO1NBQ3BCQyxXO1NBRUFDLGlCLEVBQW1CQyxlLEVBQWlCQyxjIn0=
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhbGxGYWNldHMiLCJhbGxGb2xsb3dzIiwiRmFjZXQiLCJGb2xsb3ciLCJkYXRlRnJvbU51bGxhYmxlRGF0ZU9ySXNvU3RyaW5nIiwiZGF0ZUZyb21ZZWFyTW9udGhEYXlUaW1lem9uZVN0cmluZyIsImRpc3BsYXlEYXRlRnJvbUxvY2FsSXNvU3RyaW5nIiwiZXhpc3RpbmdEYXRlVG9Kc29uIiwiZm9ybWF0UmVsYXRpdmVGcmVuY2hUaW1lIiwiZnJlbmNoRGF0ZUZvcm1hdCIsImZyZW5jaERhdGVTYW1lWWVhclNob3J0Rm9ybWF0IiwiZnJlbmNoRGF0ZVdpdGhvdXREYXlPZldlZWtGcm9tRGF0ZU9yU3RyaW5nIiwiZnJlbmNoVGltZUZvcm1hdCIsImZyZW5jaFRpbWVGcm9tRGF0ZU9yU3RyaW5nIiwibG9jYWxJc284NjAxU3RyaW5nRnJvbURhdGUiLCJwYXRjaGVkRGF0ZVRvSnNvbiIsInN0YXRlRnJvbUFjdGVQYXRoIiwic3RhdGVGcm9tQWN0ZXMiLCJzdGF0ZUZyb21Eb3NzaWVyIiwic3RhdHVzRnJvbUNvZGllckxpYmVsbGUiLCJTdGF0dXNPbmx5IiwiaW5zZXJ0QWN0ZXVyUmVmZXJlbmNlcyIsImluc2VydEFtZW5kZW1lbnRSZWZlcmVuY2VzIiwiaW5zZXJ0RG9jdW1lbnRSZWZlcmVuY2VzIiwiaW5zZXJ0RG9zc2llclJlZmVyZW5jZXMiLCJpbnNlcnRPcmdhbmVSZWZlcmVuY2VzIiwiaW5zZXJ0UmV1bmlvblJlZmVyZW5jZXMiLCJpbnNlcnRTY3J1dGluUmVmZXJlbmNlcyIsInNob3J0TmFtZUZyb21PcmdhbmUiLCJDb2RlQWN0ZSIsImNhcGl0YWxpemVGaXJzdExldHRlciIsInVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwiQ29kZVR5cGVPcmdhbmUiLCJUeXBlTWFuZGF0IiwiVHlwZU9yZ2FuZSIsIkV0YXRDeWNsZURlVmllIiwiVHlwZVJldW5pb24iLCJBdmFudEFBcHJlcyIsIkNvbnZlcnQiLCJBbWVuZGVtZW50c0NvbnZlcnQiLCJFdGF0QW1lbmRlbWVudExpYmVsbGUiLCJTb3J0QW1lbmRlbWVudCIsIlR5cGVBY3RlTGVnaXNsYXRpZiIsIlR5cGVEb2N1bWVudCIsIkxlZ2lzbGF0dXJlIiwiRG9jdW1lbnRVcmxGb3JtYXQiLCJ1cmxGcm9tRG9jdW1lbnQiLCJ1cmxGcm9tU2NydXRpbiJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBOb3RlOiBUaGlzIG1vZHVsZSBjYW4gb25seSBleHBvcnQgY2xlYW4gZGF0YSBhbmQgaGVscGVycyB0byBtYW5pcHVsYXRlIGl0LlxuLy8gTm90ZTogVGhpcyBtb2R1bGUgY2FuIG5vdCBjb250YWluIE5vZGVKUyBzcGVjaWZpYyBjb2RlIChsaWtlIGBhc3NlcnRgKS5cblxuZXhwb3J0IHR5cGUge1xuICBTZWFyY2hRdWVyeSxcbiAgVmFsaWRTZWFyY2hRdWVyeSxcbiAgVmFsaWRTZWFyY2hRdWVyeVNoYXJlZFN1YnNldCxcbn0gZnJvbSBcIi4vYXBpXCJcbmV4cG9ydCB7IGFsbEZhY2V0cywgYWxsRm9sbG93cywgRmFjZXQsIEZvbGxvdyB9IGZyb20gXCIuL2FwaVwiXG5leHBvcnQge1xuICBkYXRlRnJvbU51bGxhYmxlRGF0ZU9ySXNvU3RyaW5nLFxuICBkYXRlRnJvbVllYXJNb250aERheVRpbWV6b25lU3RyaW5nLFxuICBkaXNwbGF5RGF0ZUZyb21Mb2NhbElzb1N0cmluZyxcbiAgZXhpc3RpbmdEYXRlVG9Kc29uLFxuICBmb3JtYXRSZWxhdGl2ZUZyZW5jaFRpbWUsXG4gIGZyZW5jaERhdGVGb3JtYXQsXG4gIGZyZW5jaERhdGVTYW1lWWVhclNob3J0Rm9ybWF0LFxuICBmcmVuY2hEYXRlV2l0aG91dERheU9mV2Vla0Zyb21EYXRlT3JTdHJpbmcsXG4gIGZyZW5jaFRpbWVGb3JtYXQsXG4gIGZyZW5jaFRpbWVGcm9tRGF0ZU9yU3RyaW5nLFxuICBsb2NhbElzbzg2MDFTdHJpbmdGcm9tRGF0ZSxcbiAgcGF0Y2hlZERhdGVUb0pzb24sXG59IGZyb20gXCIuL2RhdGVzXCJcbmV4cG9ydCB0eXBlIHsgU3RhdHVzIH0gZnJvbSBcIi4vZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuZXhwb3J0IHtcbiAgc3RhdGVGcm9tQWN0ZVBhdGgsXG4gIHN0YXRlRnJvbUFjdGVzLFxuICBzdGF0ZUZyb21Eb3NzaWVyLFxuICBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZSxcbiAgU3RhdHVzT25seSxcbn0gZnJvbSBcIi4vZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuZXhwb3J0IHR5cGUgeyBPdXRwdXREYXRhIH0gZnJvbSBcIi4vaW5zZXJ0ZXJzXCJcbmV4cG9ydCB7XG4gIGluc2VydEFjdGV1clJlZmVyZW5jZXMsXG4gIGluc2VydEFtZW5kZW1lbnRSZWZlcmVuY2VzLFxuICBpbnNlcnREb2N1bWVudFJlZmVyZW5jZXMsXG4gIGluc2VydERvc3NpZXJSZWZlcmVuY2VzLFxuICBpbnNlcnRPcmdhbmVSZWZlcmVuY2VzLFxuICBpbnNlcnRSZXVuaW9uUmVmZXJlbmNlcyxcbiAgaW5zZXJ0U2NydXRpblJlZmVyZW5jZXMsXG59IGZyb20gXCIuL2luc2VydGVyc1wiXG5leHBvcnQgeyBzaG9ydE5hbWVGcm9tT3JnYW5lIH0gZnJvbSBcIi4vb3JnYW5lc1wiXG5leHBvcnQgeyBDb2RlQWN0ZSB9IGZyb20gXCIuL3NoYXJlZF90eXBlcy9jb2Rlc19hY3Rlc1wiXG5leHBvcnQgeyBjYXBpdGFsaXplRmlyc3RMZXR0ZXIsIHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIH0gZnJvbSBcIi4vc3RyaW5nc1wiXG5leHBvcnQgdHlwZSB7XG4gIEFjdGV1cixcbiAgRXRhdENpdmlsLFxuICBNYW5kYXQsXG4gIE9yZ2FuZSxcbiAgUGhvdG8sXG59IGZyb20gXCIuL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5leHBvcnQge1xuICBDb2RlVHlwZU9yZ2FuZSxcbiAgVHlwZU1hbmRhdCxcbiAgVHlwZU9yZ2FuZSxcbn0gZnJvbSBcIi4vdHlwZXMvYWN0ZXVyc19ldF9vcmdhbmVzXCJcbmV4cG9ydCB0eXBlIHsgUmV1bmlvbiB9IGZyb20gXCIuL3R5cGVzL2FnZW5kYXNcIlxuZXhwb3J0IHsgRXRhdEN5Y2xlRGVWaWUsIFR5cGVSZXVuaW9uIH0gZnJvbSBcIi4vdHlwZXMvYWdlbmRhc1wiXG5leHBvcnQgdHlwZSB7XG4gIEFtZW5kZW1lbnQsXG4gIEV0YXRBbWVuZGVtZW50LFxuICBTaWduYXRhaXJlcyxcbn0gZnJvbSBcIi4vdHlwZXMvYW1lbmRlbWVudHNcIlxuZXhwb3J0IHtcbiAgQXZhbnRBQXByZXMsXG4gIENvbnZlcnQgYXMgQW1lbmRlbWVudHNDb252ZXJ0LFxuICBFdGF0QW1lbmRlbWVudExpYmVsbGUsXG4gIFNvcnRBbWVuZGVtZW50LFxufSBmcm9tIFwiLi90eXBlcy9hbWVuZGVtZW50c1wiXG5leHBvcnQgdHlwZSB7XG4gIEFjdGVMZWdpc2xhdGlmLFxuICBEaXZpc2lvbixcbiAgRG9jdW1lbnQsXG4gIERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBJbmZvSm8sXG59IGZyb20gXCIuL3R5cGVzL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzXCJcbmV4cG9ydCB7IFR5cGVBY3RlTGVnaXNsYXRpZiwgVHlwZURvY3VtZW50IH0gZnJvbSBcIi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuZXhwb3J0IHsgTGVnaXNsYXR1cmUgfSBmcm9tIFwiLi90eXBlcy9sZWdpc2xhdHVyZXNcIlxuZXhwb3J0IHR5cGUgeyBTY3J1dGluIH0gZnJvbSBcIi4vdHlwZXMvc2NydXRpbnNcIlxuZXhwb3J0IHsgRG9jdW1lbnRVcmxGb3JtYXQsIHVybEZyb21Eb2N1bWVudCwgdXJsRnJvbVNjcnV0aW4gfSBmcm9tIFwiLi91cmxzXCJcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtTQU9TQSxTLEVBQVdDLFUsRUFBWUMsSyxFQUFPQyxNO1NBRXJDQywrQixFQUNBQyxrQyxFQUNBQyw2QixFQUNBQyxrQixFQUNBQyx3QixFQUNBQyxnQixFQUNBQyw2QixFQUNBQywwQyxFQUNBQyxnQixFQUNBQywwQixFQUNBQywwQixFQUNBQyxpQjtTQUlBQyxpQixFQUNBQyxjLEVBQ0FDLGdCLEVBQ0FDLHVCLEVBQ0FDLFU7U0FJQUMsc0IsRUFDQUMsMEIsRUFDQUMsd0IsRUFDQUMsdUIsRUFDQUMsc0IsRUFDQUMsdUIsRUFDQUMsdUI7U0FFT0MsbUI7U0FDQUMsUTtTQUNBQyxxQixFQUF1QkMsdUI7U0FTOUJDLGMsRUFDQUMsVSxFQUNBQyxVO1NBR09DLGMsRUFBZ0JDLFc7U0FPdkJDLFcsRUFDQUMsT0FBTyxJQUFJQyxrQixFQUNYQyxxQixFQUNBQyxjO1NBU09DLGtCLEVBQW9CQyxZO1NBQ3BCQyxXO1NBRUFDLGlCLEVBQW1CQyxlLEVBQWlCQyxjIn0=
package/lib/loaders.js CHANGED
@@ -56,8 +56,6 @@ require("core-js/modules/es.string.ends-with.js");
56
56
 
57
57
  require("core-js/modules/es.array.concat.js");
58
58
 
59
- require("core-js/modules/es.string.split.js");
60
-
61
59
  require("core-js/modules/es.date.to-iso-string.js");
62
60
 
63
61
  require("core-js/modules/es.object.assign.js");
@@ -1135,4 +1133,4 @@ function pathFromScrutinUid(scrutinsDir, uid) {
1135
1133
 
1136
1134
  return _path["default"].join(numeroMilliersDir, uid);
1137
1135
  }
1138
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkb2N1bWVudFVpZFJlZ2V4IiwiZG9zc2llclVpZFJlZ2V4IiwicmV1bmlvblVpZFJlZ2V4Iiwic2NydXRpblVpZFJlZ2V4IiwibG9hZEFzc2VtYmxlZURhdGEiLCJkYXRhRGlyIiwiZW5hYmxlZERhdGFzZXRzIiwibGVnaXNsYXR1cmUiLCJsb2ciLCJhY3RldXJCeVVpZCIsIm9yZ2FuZUJ5VWlkIiwiRW5hYmxlZERhdGFzZXRzIiwiQWN0ZXVyc0V0T3JnYW5lcyIsImRhdGFzZXRzIiwiYWN0ZXVyc0V0T3JnYW5lcyIsImRhdGFzZXQiLCJpZ25vcmVGb3JXZWIiLCJMZWdpc2xhdHVyZSIsIkFsbCIsImRhdGFzZXREaXIiLCJwYXRoIiwiam9pbiIsImZpbGVuYW1lIiwicmVwbGFjZSIsIndhbGtEaXIiLCJhY3RldXJTcGxpdFBhdGgiLCJhY3RldXJGaWxlbmFtZSIsImxlbmd0aCIsImVuZHNXaXRoIiwiYWN0ZXVyRmlsZVBhdGgiLCJjb25zb2xlIiwiYWN0ZXVySnNvbiIsImZzIiwicmVhZEZpbGVTeW5jIiwiZW5jb2RpbmciLCJhY3RldXIiLCJBY3RldXJzRXRPcmdhbmVzQ29udmVydCIsInRvQWN0ZXVyIiwidWlkIiwidW5kZWZpbmVkIiwib3JnYW5lU3BsaXRQYXRoIiwib3JnYW5lRmlsZW5hbWUiLCJvcmdhbmVGaWxlUGF0aCIsIm9yZ2FuZUpzb24iLCJvcmdhbmUiLCJ0b09yZ2FuZSIsInJldW5pb25CeVVpZCIsInJldW5pb25zQnlEYXkiLCJyZXVuaW9uc0J5RG9zc2llclVpZCIsIkFnZW5kYXMiLCJhZ2VuZGFzIiwicmV1bmlvblNwbGl0UGF0aCIsInJldW5pb25GaWxlbmFtZSIsInJldW5pb25GaWxlUGF0aCIsInJldW5pb25Kc29uIiwicmV1bmlvbiIsIkFnZW5kYXNDb252ZXJ0IiwidG9SZXVuaW9uIiwiZGF5IiwidGltZXN0YW1wRGVidXQiLCJ0b0lTT1N0cmluZyIsInNwbGl0IiwicmV1bmlvbnNBdERheSIsInB1c2giLCJvZGoiLCJwb2ludHNPZGoiLCJwb2ludE9kaiIsImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzIiwiZG9zc2llckxlZ2lzbGF0aWZSZWYiLCJyZXVuaW9uc0F0RG9zc2llclVpZCIsImFtZW5kZW1lbnRCeVVpZCIsIkFtZW5kZW1lbnRzIiwiYW1lbmRlbWVudHMiLCJhbWVuZGVtZW50U3BsaXRQYXRoIiwiYW1lbmRlbWVudEZpbGVuYW1lIiwiYW1lbmRlbWVudEZpbGVQYXRoIiwiYW1lbmRlbWVudEpzb24iLCJhbWVuZGVtZW50IiwiQW1lbmRlbWVudHNDb252ZXJ0IiwidG9BbWVuZGVtZW50IiwiZG9jdW1lbnRCeVVpZCIsImRvc3NpZXJQYXJsZW1lbnRhaXJlQnlTZW5hdENoZW1pbiIsImRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pbiIsImRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWQiLCJEb3NzaWVyc0xlZ2lzbGF0aWZzIiwiZG9zc2llcnNMZWdpc2xhdGlmcyIsImRvY3VtZW50U3BsaXRQYXRoIiwiZG9jdW1lbnRGaWxlbmFtZSIsImRvY3VtZW50RmlsZVBhdGgiLCJkb2N1bWVudEpzb24iLCJkb2N1bWVudCIsIkRvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0IiwidG9Eb2N1bWVudCIsImRvc3NpZXJTcGxpdFBhdGgiLCJkb3NzaWVyRmlsZW5hbWUiLCJkb3NzaWVyRmlsZVBhdGgiLCJkb3NzaWVySnNvbiIsImRvc3NpZXIiLCJ0b0Rvc3NpZXJQYXJsZW1lbnRhaXJlIiwidGl0cmVEb3NzaWVyIiwic2VuYXRDaGVtaW4iLCJ0aXRyZUNoZW1pbiIsInBob3RvQnlVaWQiLCJQaG90b3MiLCJqc29uRmlsZVBhdGgiLCJTZWl6ZSIsImV4aXN0c1N5bmMiLCJqc29uIiwiT2JqZWN0IiwiYXNzaWduIiwiSlNPTiIsInBhcnNlIiwic2NydXRpbkJ5VWlkIiwiU2NydXRpbnMiLCJzY3J1dGlucyIsInNjcnV0aW5TcGxpdFBhdGgiLCJzY3J1dGluRmlsZW5hbWUiLCJzY3J1dGluRmlsZVBhdGgiLCJzY3J1dGluSnNvbiIsInNjcnV0aW4iLCJTY3J1dGluc0NvbnZlcnQiLCJ0b1NjcnV0aW4iLCJsb2FkQXNzZW1ibGVlRGF0YUZyb21CaWdGaWxlcyIsInRvQWN0ZXVyc0V0T3JnYW5lcyIsImFjdGV1cnMiLCJvcmdhbmVzIiwidG9BZ2VuZGFzIiwicmV1bmlvbnMiLCJ0b0FtZW5kZW1lbnRzIiwidGV4dGVzTGVnaXNsYXRpZnMiLCJ0ZXh0ZUxlZ2lzbGF0aWYiLCJ0b0Rvc3NpZXJzTGVnaXNsYXRpZnMiLCJkb3NzaWVyc1BhcmxlbWVudGFpcmVzIiwidG9TY3J1dGlucyIsInBhdGhGcm9tRG9jdW1lbnRVaWQiLCJkb2N1bWVudHNEaXIiLCJtYXRjaCIsImV4ZWMiLCJhc3NlcnQiLCJub3RTdHJpY3RFcXVhbCIsImRvY3VtZW50VHlwZSIsImNoYW1icmVEaXIiLCJyZXB1YmxpcXVlRGlyIiwibGVnaXNsYXR1cmVEaXIiLCJldGF0RGlyIiwibnVtZXJvIiwic3Vic3RyIiwibnVtZXJvTWlsbGllcnNEaXIiLCJlbnN1cmVEaXJTeW5jIiwicGF0aEZyb21Eb3NzaWVyUGFybGVtZW50YWlyZVVpZCIsImRvc3NpZXJzRGlyIiwicGF0aEZyb21SZXVuaW9uVWlkIiwicmV1bmlvbnNEaXIiLCJzZXNzaW9uRGlyIiwiaWREaXIiLCJudW1lcm9NaWxsaW9uc0RpciIsInBhdGhGcm9tU2NydXRpblVpZCIsInNjcnV0aW5zRGlyIl0sInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8vIExvYWQgZGF0YSBmcm9tIGZpbGVzXG5cbmltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuZXhwb3J0IHsgRW5hYmxlZERhdGFzZXRzIH0gZnJvbSBcIi4vZGF0YXNldHNcIlxuaW1wb3J0IHsgZGF0YXNldHMsIEVuYWJsZWREYXRhc2V0cyB9IGZyb20gXCIuL2RhdGFzZXRzXCJcbmV4cG9ydCB7IHdhbGtEaXIgfSBmcm9tIFwiLi9maWxlX3N5c3RlbXNcIlxuaW1wb3J0IHsgd2Fsa0RpciB9IGZyb20gXCIuL2ZpbGVfc3lzdGVtc1wiXG5pbXBvcnQge1xuICBBY3RldXIsXG4gIENvbnZlcnQgYXMgQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQsXG4gIE9yZ2FuZSxcbiAgUGhvdG8sXG59IGZyb20gXCIuL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQgeyBDb252ZXJ0IGFzIEFnZW5kYXNDb252ZXJ0LCBSZXVuaW9uIH0gZnJvbSBcIi4vdHlwZXMvYWdlbmRhc1wiXG5pbXBvcnQgeyBBbWVuZGVtZW50LCBDb252ZXJ0IGFzIEFtZW5kZW1lbnRzQ29udmVydCB9IGZyb20gXCIuL3R5cGVzL2FtZW5kZW1lbnRzXCJcbmltcG9ydCB7XG4gIENvbnZlcnQgYXMgRG9zc2llcnNMZWdpc2xhdGlmc0NvbnZlcnQsXG4gIERvY3VtZW50LFxuICBEb3NzaWVyUGFybGVtZW50YWlyZSxcbn0gZnJvbSBcIi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuaW1wb3J0IHsgTGVnaXNsYXR1cmUgfSBmcm9tIFwiLi90eXBlcy9sZWdpc2xhdHVyZXNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBTY3J1dGluc0NvbnZlcnQsIFNjcnV0aW4gfSBmcm9tIFwiLi90eXBlcy9zY3J1dGluc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YSB7XG4gIHJlYWRvbmx5IGFjdGV1ckJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IEFjdGV1ciB9XG4gIHJlYWRvbmx5IGFtZW5kZW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBBbWVuZGVtZW50IH1cbiAgcmVhZG9ubHkgZG9jdW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBEb2N1bWVudCB9XG4gIHJlYWRvbmx5IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlTZW5hdENoZW1pbjoge1xuICAgIFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlXG4gIH1cbiAgcmVhZG9ubHkgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluOiB7XG4gICAgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmVcbiAgfVxuICByZWFkb25seSBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlIH1cbiAgcmVhZG9ubHkgb3JnYW5lQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogT3JnYW5lIH1cbiAgcmVhZG9ubHkgcGhvdG9CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBQaG90byB9XG4gIHJlYWRvbmx5IHJldW5pb25CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBSZXVuaW9uIH1cbiAgcmVhZG9ubHkgcmV1bmlvbnNCeURheTogeyBbZGF5OiBzdHJpbmddOiBSZXVuaW9uW10gfVxuICByZWFkb25seSByZXVuaW9uc0J5RG9zc2llclVpZDogeyBbZG9zc2llclVpZDogc3RyaW5nXTogUmV1bmlvbltdIH1cbiAgcmVhZG9ubHkgc2NydXRpbkJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFNjcnV0aW4gfVxufVxuXG5jb25zdCBkb2N1bWVudFVpZFJlZ2V4ID1cbiAgL14oQUNJTnxBTENOfEFWQ0V8QVZJU3xERUNMfEVUREl8TEVUVHxNRVNTfFBJT058UE5SRXxQUkpMfFJBUFB8UklORnxSSU9OKShBTnxTTikoUlxcZCspW0xTXShcXGQrKShCfEJUQXxCVEN8VEFQKShcXGQrKSgtLiopPyQvXG5jb25zdCBkb3NzaWVyVWlkUmVnZXggPSAvXkRMKFJcXGQrKShMXFxkKylOKFxcZCspJC9cbmNvbnN0IHJldW5pb25VaWRSZWdleCA9XG4gIC9eUlUoQU58Q0d8U04pKFJcXGQrKShMXFxkKykoW0FTXVxcZHs0fSkoSURDfElERkw/fElEUykoXFxkKykkL1xuY29uc3Qgc2NydXRpblVpZFJlZ2V4ID0gL15WVEFOKFJcXGQrKShMXFxkKylWKFxcZCspJC9cblxuLyoqIExvYWQgZGF0YSBmcm9tIHNwbGl0IGZpbGVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBc3NlbWJsZWVEYXRhKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIGVuYWJsZWREYXRhc2V0czogRW5hYmxlZERhdGFzZXRzLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogRGF0YSB7XG4gIGNvbnN0IGFjdGV1ckJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IEFjdGV1ciB9ID0ge31cbiAgY29uc3Qgb3JnYW5lQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogT3JnYW5lIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFjdGV1cnNFdE9yZ2FuZXMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYWN0ZXVyc0V0T3JnYW5lcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuXG4gICAgICBmb3IgKGNvbnN0IGFjdGV1clNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIsIFtcImFjdGV1cnNcIl0pKSB7XG4gICAgICAgIGNvbnN0IGFjdGV1ckZpbGVuYW1lID0gYWN0ZXVyU3BsaXRQYXRoW2FjdGV1clNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIWFjdGV1ckZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGV1ckZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLmFjdGV1clNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7YWN0ZXVyRmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhY3RldXJKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoYWN0ZXVyRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IGFjdGV1ciA9IEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LnRvQWN0ZXVyKGFjdGV1ckpzb24pXG4gICAgICAgIC8vIEtlZXAgdGhlIGZpcnN0IGV4aXN0aW5nIFwiYWN0ZXVyXCIsIGJlY2F1c2UgdGhlIGZpcnN0IHdyYXBwZXIgaXMgdGhlIG1vc3QgY29tcGxldGUuXG4gICAgICAgIGlmIChhY3RldXJCeVVpZFthY3RldXIudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWN0ZXVyQnlVaWRbYWN0ZXVyLnVpZF0gPSBhY3RldXJcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IG9yZ2FuZVNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIsIFtcIm9yZ2FuZXNcIl0pKSB7XG4gICAgICAgIGNvbnN0IG9yZ2FuZUZpbGVuYW1lID0gb3JnYW5lU3BsaXRQYXRoW29yZ2FuZVNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIW9yZ2FuZUZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9yZ2FuZUZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLm9yZ2FuZVNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7b3JnYW5lRmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcmdhbmVKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMob3JnYW5lRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IG9yZ2FuZSA9IEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LnRvT3JnYW5lKG9yZ2FuZUpzb24pXG4gICAgICAgIC8vIEtlZXAgdGhlIGZpcnN0IGV4aXN0aW5nIFwib3JnYW5lXCIsIGJlY2F1c2UgdGhlIGZpcnN0IHdyYXBwZXIgaXMgdGhlIG1vc3QgY29tcGxldGUuXG4gICAgICAgIGlmIChvcmdhbmVCeVVpZFtvcmdhbmUudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgb3JnYW5lQnlVaWRbb3JnYW5lLnVpZF0gPSBvcmdhbmVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJldW5pb25CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBSZXVuaW9uIH0gPSB7fVxuICBjb25zdCByZXVuaW9uc0J5RGF5OiB7IFtkYXk6IHN0cmluZ106IFJldW5pb25bXSB9ID0ge31cbiAgY29uc3QgcmV1bmlvbnNCeURvc3NpZXJVaWQ6IHsgW2Rvc3NpZXJVaWQ6IHN0cmluZ106IFJldW5pb25bXSB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BZ2VuZGFzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFnZW5kYXMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICAgIClcbiAgICAgIGZvciAoY29uc3QgcmV1bmlvblNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIpKSB7XG4gICAgICAgIGNvbnN0IHJldW5pb25GaWxlbmFtZSA9IHJldW5pb25TcGxpdFBhdGhbcmV1bmlvblNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIXJldW5pb25GaWxlbmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXVuaW9uRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4ucmV1bmlvblNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7cmV1bmlvbkZpbGVQYXRofeKApmApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmV1bmlvbkpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhyZXVuaW9uRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IHJldW5pb24gPSBBZ2VuZGFzQ29udmVydC50b1JldW5pb24ocmV1bmlvbkpzb24pXG4gICAgICAgIGlmIChyZXVuaW9uQnlVaWRbcmV1bmlvbi51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXVuaW9uQnlVaWRbcmV1bmlvbi51aWRdID0gcmV1bmlvblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF5ID0gcmV1bmlvbi50aW1lc3RhbXBEZWJ1dC50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXVxuICAgICAgICBsZXQgcmV1bmlvbnNBdERheSA9IHJldW5pb25zQnlEYXlbZGF5XVxuICAgICAgICBpZiAocmV1bmlvbnNBdERheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV1bmlvbnNBdERheSA9IHJldW5pb25zQnlEYXlbZGF5XSA9IFtdXG4gICAgICAgIH1cbiAgICAgICAgcmV1bmlvbnNBdERheS5wdXNoKHJldW5pb24pXG5cbiAgICAgICAgY29uc3Qgb2RqID0gcmV1bmlvbi5vZGpcbiAgICAgICAgaWYgKG9kaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBwb2ludE9kaiBvZiBvZGoucG9pbnRzT2RqIHx8IFtdKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGRvc3NpZXJMZWdpc2xhdGlmUmVmIG9mIHBvaW50T2RqLmRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzIHx8XG4gICAgICAgICAgICAgIFtdKSB7XG4gICAgICAgICAgICAgIGxldCByZXVuaW9uc0F0RG9zc2llclVpZCA9XG4gICAgICAgICAgICAgICAgcmV1bmlvbnNCeURvc3NpZXJVaWRbZG9zc2llckxlZ2lzbGF0aWZSZWZdXG4gICAgICAgICAgICAgIGlmIChyZXVuaW9uc0F0RG9zc2llclVpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV1bmlvbnNBdERvc3NpZXJVaWQgPSByZXVuaW9uc0J5RG9zc2llclVpZFtcbiAgICAgICAgICAgICAgICAgIGRvc3NpZXJMZWdpc2xhdGlmUmVmXG4gICAgICAgICAgICAgICAgXSA9IFtdXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV1bmlvbnNBdERvc3NpZXJVaWQucHVzaChyZXVuaW9uKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFtZW5kZW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBBbWVuZGVtZW50IH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFtZW5kZW1lbnRzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFtZW5kZW1lbnRzKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWVcIiksXG4gICAgICApXG5cbiAgICAgIGZvciAoY29uc3QgYW1lbmRlbWVudFNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIpKSB7XG4gICAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlbmFtZSA9XG4gICAgICAgICAgYW1lbmRlbWVudFNwbGl0UGF0aFthbWVuZGVtZW50U3BsaXRQYXRoLmxlbmd0aCAtIDFdXG4gICAgICAgIGlmICghYW1lbmRlbWVudEZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5hbWVuZGVtZW50U3BsaXRQYXRoKVxuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhbWVuZGVtZW50SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGFtZW5kZW1lbnRGaWxlUGF0aCwge1xuICAgICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgYW1lbmRlbWVudCA9IEFtZW5kZW1lbnRzQ29udmVydC50b0FtZW5kZW1lbnQoYW1lbmRlbWVudEpzb24pXG4gICAgICAgIGlmIChhbWVuZGVtZW50QnlVaWRbYW1lbmRlbWVudC51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBhbWVuZGVtZW50QnlVaWRbYW1lbmRlbWVudC51aWRdID0gYW1lbmRlbWVudFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZG9jdW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBEb2N1bWVudCB9ID0ge31cbiAgY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluOiB7XG4gICAgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmVcbiAgfSA9IHt9XG4gIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pbjoge1xuICAgIFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlXG4gIH0gPSB7fVxuICBjb25zdCBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkRvc3NpZXJzTGVnaXNsYXRpZnMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuZG9zc2llcnNMZWdpc2xhdGlmcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuXG4gICAgICBmb3IgKGNvbnN0IGRvY3VtZW50U3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpciwgW1wiZG9jdW1lbnRzXCJdKSkge1xuICAgICAgICBjb25zdCBkb2N1bWVudEZpbGVuYW1lID0gZG9jdW1lbnRTcGxpdFBhdGhbZG9jdW1lbnRTcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgICAgaWYgKCFkb2N1bWVudEZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRvY3VtZW50RmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4uZG9jdW1lbnRTcGxpdFBhdGgpXG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2RvY3VtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkb2N1bWVudEpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhkb2N1bWVudEZpbGVQYXRoLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBkb2N1bWVudCA9IERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LnRvRG9jdW1lbnQoZG9jdW1lbnRKc29uKVxuICAgICAgICBpZiAoZG9jdW1lbnRCeVVpZFtkb2N1bWVudC51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkb2N1bWVudEJ5VWlkW2RvY3VtZW50LnVpZF0gPSBkb2N1bWVudFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgZG9zc2llclNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIsIFtcImRvc3NpZXJzXCJdKSkge1xuICAgICAgICBjb25zdCBkb3NzaWVyRmlsZW5hbWUgPSBkb3NzaWVyU3BsaXRQYXRoW2Rvc3NpZXJTcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgICAgaWYgKCFkb3NzaWVyRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZG9zc2llckZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLmRvc3NpZXJTcGxpdFBhdGgpXG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2Rvc3NpZXJGaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRvc3NpZXJKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoZG9zc2llckZpbGVQYXRoLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBkb3NzaWVyID1cbiAgICAgICAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydC50b0Rvc3NpZXJQYXJsZW1lbnRhaXJlKGRvc3NpZXJKc29uKVxuICAgICAgICBjb25zdCB0aXRyZURvc3NpZXIgPSBkb3NzaWVyLnRpdHJlRG9zc2llclxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGl0cmVEb3NzaWVyLnNlbmF0Q2hlbWluICYmXG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluW3RpdHJlRG9zc2llci5zZW5hdENoZW1pbl0gPT09XG4gICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluW3RpdHJlRG9zc2llci5zZW5hdENoZW1pbl0gPSBkb3NzaWVyXG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRpdHJlRG9zc2llci50aXRyZUNoZW1pbiAmJlxuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pblt0aXRyZURvc3NpZXIudGl0cmVDaGVtaW5dID09PVxuICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pblt0aXRyZURvc3NpZXIudGl0cmVDaGVtaW5dID0gZG9zc2llclxuICAgICAgICB9XG4gICAgICAgIGlmIChkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkW2Rvc3NpZXIudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVVpZFtkb3NzaWVyLnVpZF0gPSBkb3NzaWVyXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgcGhvdG9CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBQaG90byB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5QaG90b3MpIHtcbiAgICB7XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgYHBob3Rvc19kZXB1dGVzXyR7XG4gICAgICAgICAgLy8gVE9ETzogSGFuZGxlIExlZ2lzbGF0dXJlLkFsbC5cbiAgICAgICAgICBsZWdpc2xhdHVyZSA9PT0gTGVnaXNsYXR1cmUuQWxsID8gTGVnaXNsYXR1cmUuU2VpemUgOiBsZWdpc2xhdHVyZVxuICAgICAgICB9YCxcbiAgICAgICAgXCJkZXB1dGVzLmpzb25cIixcbiAgICAgIClcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGpzb25GaWxlUGF0aCkpIHtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwaG90b0J5VWlkLCBKU09OLnBhcnNlKGpzb24pKVxuICAgICAgfSBlbHNlIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYElnbm9yaW5nIG1pc3NpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICB7XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgXCJwaG90b3Nfc2VuYXRldXJzXCIsXG4gICAgICAgIFwic2VuYXRldXJzLmpzb25cIixcbiAgICAgIClcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGpzb25GaWxlUGF0aCkpIHtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwaG90b0J5VWlkLCBKU09OLnBhcnNlKGpzb24pKVxuICAgICAgfSBlbHNlIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYElnbm9yaW5nIG1pc3NpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBzY3J1dGluQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogU2NydXRpbiB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5TY3J1dGlucykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5zY3J1dGlucykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuXG4gICAgICBmb3IgKGNvbnN0IHNjcnV0aW5TcGxpdFBhdGggb2Ygd2Fsa0RpcihkYXRhc2V0RGlyKSkge1xuICAgICAgICBjb25zdCBzY3J1dGluRmlsZW5hbWUgPSBzY3J1dGluU3BsaXRQYXRoW3NjcnV0aW5TcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgICAgaWYgKCFzY3J1dGluRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2NydXRpbkZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLnNjcnV0aW5TcGxpdFBhdGgpXG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke3NjcnV0aW5GaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNjcnV0aW5Kc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoc2NydXRpbkZpbGVQYXRoLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBzY3J1dGluID0gU2NydXRpbnNDb252ZXJ0LnRvU2NydXRpbihzY3J1dGluSnNvbilcbiAgICAgICAgaWYgKHNjcnV0aW5CeVVpZFtzY3J1dGluLnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHNjcnV0aW5CeVVpZFtzY3J1dGluLnVpZF0gPSBzY3J1dGluXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGFjdGV1ckJ5VWlkLFxuICAgIGFtZW5kZW1lbnRCeVVpZCxcbiAgICBkb2N1bWVudEJ5VWlkLFxuICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlTZW5hdENoZW1pbixcbiAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VGl0cmVDaGVtaW4sXG4gICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVVpZCxcbiAgICBvcmdhbmVCeVVpZCxcbiAgICBwaG90b0J5VWlkLFxuICAgIHJldW5pb25CeVVpZCxcbiAgICByZXVuaW9uc0J5RGF5LFxuICAgIHJldW5pb25zQnlEb3NzaWVyVWlkLFxuICAgIHNjcnV0aW5CeVVpZCxcbiAgfVxufVxuXG4vKiogTG9hZCBkYXRhIGZyb20gYmlnIG1vbm9seXRpYyBmaWxlcy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQXNzZW1ibGVlRGF0YUZyb21CaWdGaWxlcyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBlbmFibGVkRGF0YXNldHM6IEVuYWJsZWREYXRhc2V0cyxcbiAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLFxuICB7IGxvZyA9IGZhbHNlIH0gPSB7fSxcbik6IERhdGEge1xuICBjb25zdCBhY3RldXJCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBBY3RldXIgfSA9IHt9XG4gIGNvbnN0IG9yZ2FuZUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IE9yZ2FuZSB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BY3RldXJzRXRPcmdhbmVzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFjdGV1cnNFdE9yZ2FuZXMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWUuanNvblwiKSxcbiAgICAgIClcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhqc29uRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgICBjb25zdCBhY3RldXJzRXRPcmdhbmVzID0gQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQudG9BY3RldXJzRXRPcmdhbmVzKGpzb24pXG4gICAgICBmb3IgKGNvbnN0IGFjdGV1ciBvZiBhY3RldXJzRXRPcmdhbmVzLmFjdGV1cnMpIHtcbiAgICAgICAgLy8gS2VlcCB0aGUgZmlyc3QgZXhpc3RpbmcgXCJhY3RldXJcIiwgYmVjYXVzZSB0aGUgZmlyc3Qgd3JhcHBlciBpcyB0aGUgbW9zdCBjb21wbGV0ZS5cbiAgICAgICAgaWYgKGFjdGV1ckJ5VWlkW2FjdGV1ci51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBhY3RldXJCeVVpZFthY3RldXIudWlkXSA9IGFjdGV1clxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IG9yZ2FuZSBvZiBhY3RldXJzRXRPcmdhbmVzLm9yZ2FuZXMpIHtcbiAgICAgICAgLy8gS2VlcCB0aGUgZmlyc3QgZXhpc3RpbmcgXCJvcmdhbmVcIiwgYmVjYXVzZSB0aGUgZmlyc3Qgd3JhcHBlciBpcyB0aGUgbW9zdCBjb21wbGV0ZS5cbiAgICAgICAgaWYgKG9yZ2FuZUJ5VWlkW29yZ2FuZS51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBvcmdhbmVCeVVpZFtvcmdhbmUudWlkXSA9IG9yZ2FuZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcmV1bmlvbkJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFJldW5pb24gfSA9IHt9XG4gIGNvbnN0IHJldW5pb25zQnlEYXk6IHsgW2RheTogc3RyaW5nXTogUmV1bmlvbltdIH0gPSB7fVxuICBjb25zdCByZXVuaW9uc0J5RG9zc2llclVpZDogeyBbZG9zc2llclVpZDogc3RyaW5nXTogUmV1bmlvbltdIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFnZW5kYXMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYWdlbmRhcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZS5qc29uXCIpLFxuICAgICAgKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgIGNvbnN0IGFnZW5kYXMgPSBBZ2VuZGFzQ29udmVydC50b0FnZW5kYXMoanNvbilcbiAgICAgIGZvciAoY29uc3QgcmV1bmlvbiBvZiBhZ2VuZGFzLnJldW5pb25zKSB7XG4gICAgICAgIGlmIChyZXVuaW9uQnlVaWRbcmV1bmlvbi51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXVuaW9uQnlVaWRbcmV1bmlvbi51aWRdID0gcmV1bmlvblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF5ID0gcmV1bmlvbi50aW1lc3RhbXBEZWJ1dC50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXVxuICAgICAgICBsZXQgcmV1bmlvbnNBdERheSA9IHJldW5pb25zQnlEYXlbZGF5XVxuICAgICAgICBpZiAocmV1bmlvbnNBdERheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV1bmlvbnNBdERheSA9IHJldW5pb25zQnlEYXlbZGF5XSA9IFtdXG4gICAgICAgIH1cbiAgICAgICAgcmV1bmlvbnNBdERheS5wdXNoKHJldW5pb24pXG5cbiAgICAgICAgY29uc3Qgb2RqID0gcmV1bmlvbi5vZGpcbiAgICAgICAgaWYgKG9kaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBwb2ludE9kaiBvZiBvZGoucG9pbnRzT2RqIHx8IFtdKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGRvc3NpZXJMZWdpc2xhdGlmUmVmIG9mIHBvaW50T2RqLmRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzIHx8XG4gICAgICAgICAgICAgIFtdKSB7XG4gICAgICAgICAgICAgIGxldCByZXVuaW9uc0F0RG9zc2llclVpZCA9XG4gICAgICAgICAgICAgICAgcmV1bmlvbnNCeURvc3NpZXJVaWRbZG9zc2llckxlZ2lzbGF0aWZSZWZdXG4gICAgICAgICAgICAgIGlmIChyZXVuaW9uc0F0RG9zc2llclVpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV1bmlvbnNBdERvc3NpZXJVaWQgPSByZXVuaW9uc0J5RG9zc2llclVpZFtcbiAgICAgICAgICAgICAgICAgIGRvc3NpZXJMZWdpc2xhdGlmUmVmXG4gICAgICAgICAgICAgICAgXSA9IFtdXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV1bmlvbnNBdERvc3NpZXJVaWQucHVzaChyZXVuaW9uKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFtZW5kZW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBBbWVuZGVtZW50IH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFtZW5kZW1lbnRzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFtZW5kZW1lbnRzKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgY29uc3QgYW1lbmRlbWVudHMgPSBBbWVuZGVtZW50c0NvbnZlcnQudG9BbWVuZGVtZW50cyhqc29uKVxuICAgICAgZm9yIChjb25zdCB0ZXh0ZUxlZ2lzbGF0aWYgb2YgYW1lbmRlbWVudHMudGV4dGVzTGVnaXNsYXRpZnMpIHtcbiAgICAgICAgZm9yIChjb25zdCBhbWVuZGVtZW50IG9mIHRleHRlTGVnaXNsYXRpZi5hbWVuZGVtZW50cykge1xuICAgICAgICAgIGlmIChhbWVuZGVtZW50QnlVaWRbYW1lbmRlbWVudC51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFtZW5kZW1lbnRCeVVpZFthbWVuZGVtZW50LnVpZF0gPSBhbWVuZGVtZW50XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZG9jdW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBEb2N1bWVudCB9ID0ge31cbiAgY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluOiB7XG4gICAgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmVcbiAgfSA9IHt9XG4gIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pbjoge1xuICAgIFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlXG4gIH0gPSB7fVxuICBjb25zdCBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkRvc3NpZXJzTGVnaXNsYXRpZnMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuZG9zc2llcnNMZWdpc2xhdGlmcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZS5qc29uXCIpLFxuICAgICAgKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgIGNvbnN0IGRvc3NpZXJzTGVnaXNsYXRpZnMgPVxuICAgICAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydC50b0Rvc3NpZXJzTGVnaXNsYXRpZnMoanNvbilcbiAgICAgIGZvciAoY29uc3QgZG9jdW1lbnQgb2YgZG9zc2llcnNMZWdpc2xhdGlmcy50ZXh0ZXNMZWdpc2xhdGlmcykge1xuICAgICAgICBpZiAoZG9jdW1lbnRCeVVpZFtkb2N1bWVudC51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkb2N1bWVudEJ5VWlkW2RvY3VtZW50LnVpZF0gPSBkb2N1bWVudFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGRvc3NpZXIgb2YgZG9zc2llcnNMZWdpc2xhdGlmcy5kb3NzaWVyc1BhcmxlbWVudGFpcmVzKSB7XG4gICAgICAgIGNvbnN0IHRpdHJlRG9zc2llciA9IGRvc3NpZXIudGl0cmVEb3NzaWVyXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aXRyZURvc3NpZXIuc2VuYXRDaGVtaW4gJiZcbiAgICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5U2VuYXRDaGVtaW5bdGl0cmVEb3NzaWVyLnNlbmF0Q2hlbWluXSA9PT1cbiAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5U2VuYXRDaGVtaW5bdGl0cmVEb3NzaWVyLnNlbmF0Q2hlbWluXSA9IGRvc3NpZXJcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGl0cmVEb3NzaWVyLnRpdHJlQ2hlbWluICYmXG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluW3RpdHJlRG9zc2llci50aXRyZUNoZW1pbl0gPT09XG4gICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluW3RpdHJlRG9zc2llci50aXRyZUNoZW1pbl0gPSBkb3NzaWVyXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWRbZG9zc2llci51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkW2Rvc3NpZXIudWlkXSA9IGRvc3NpZXJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBob3RvQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogUGhvdG8gfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuUGhvdG9zKSB7XG4gICAgY29uc3QgcGhvdG9CeVVpZCA9IHt9XG5cbiAgICB7XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgYHBob3Rvc19kZXB1dGVzXyR7XG4gICAgICAgICAgLy8gVE9ETzogSGFuZGxlIExlZ2lzbGF0dXJlLkFsbC5cbiAgICAgICAgICBsZWdpc2xhdHVyZSA9PT0gTGVnaXNsYXR1cmUuQWxsID8gTGVnaXNsYXR1cmUuU2VpemUgOiBsZWdpc2xhdHVyZVxuICAgICAgICB9YCxcbiAgICAgICAgXCJkZXB1dGVzLmpzb25cIixcbiAgICAgIClcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGpzb25GaWxlUGF0aCkpIHtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwaG90b0J5VWlkLCBKU09OLnBhcnNlKGpzb24pKVxuICAgICAgfSBlbHNlIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYElnbm9yaW5nIG1pc3NpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICB7XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgXCJwaG90b3Nfc2VuYXRldXJzXCIsXG4gICAgICAgIFwic2VuYXRldXJzLmpzb25cIixcbiAgICAgIClcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGpzb25GaWxlUGF0aCkpIHtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwaG90b0J5VWlkLCBKU09OLnBhcnNlKGpzb24pKVxuICAgICAgfSBlbHNlIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYElnbm9yaW5nIG1pc3NpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBzY3J1dGluQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogU2NydXRpbiB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5TY3J1dGlucykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5zY3J1dGlucykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZS5qc29uXCIpLFxuICAgICAgKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgIGNvbnN0IHNjcnV0aW5zID0gU2NydXRpbnNDb252ZXJ0LnRvU2NydXRpbnMoanNvbilcbiAgICAgIGZvciAoY29uc3Qgc2NydXRpbiBvZiBzY3J1dGlucy5zY3J1dGlucykge1xuICAgICAgICBpZiAoc2NydXRpbkJ5VWlkW3NjcnV0aW4udWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc2NydXRpbkJ5VWlkW3NjcnV0aW4udWlkXSA9IHNjcnV0aW5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYWN0ZXVyQnlVaWQsXG4gICAgYW1lbmRlbWVudEJ5VWlkLFxuICAgIGRvY3VtZW50QnlVaWQsXG4gICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluLFxuICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pbixcbiAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkLFxuICAgIG9yZ2FuZUJ5VWlkLFxuICAgIHBob3RvQnlVaWQsXG4gICAgcmV1bmlvbkJ5VWlkLFxuICAgIHJldW5pb25zQnlEYXksXG4gICAgcmV1bmlvbnNCeURvc3NpZXJVaWQsXG4gICAgc2NydXRpbkJ5VWlkLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRoRnJvbURvY3VtZW50VWlkKGRvY3VtZW50c0Rpcjogc3RyaW5nLCB1aWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG1hdGNoID0gZG9jdW1lbnRVaWRSZWdleC5leGVjKHVpZClcbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIG1hdGNoLFxuICAgIG51bGwsXG4gICAgYFVuZXhwZWN0ZWQgc3RydWN0dXJlIGZvciBkb2N1bWVudCBVSUQ6ICR7dWlkfWAsXG4gIClcbiAgY29uc3QgZG9jdW1lbnRUeXBlID0gcGF0aC5qb2luKGRvY3VtZW50c0RpciwgbWF0Y2ghWzFdKVxuICBjb25zdCBjaGFtYnJlRGlyID0gcGF0aC5qb2luKGRvY3VtZW50VHlwZSwgbWF0Y2ghWzJdKVxuICBjb25zdCByZXB1YmxpcXVlRGlyID0gcGF0aC5qb2luKGNoYW1icmVEaXIsIG1hdGNoIVszXSlcbiAgY29uc3QgbGVnaXNsYXR1cmVEaXIgPSBwYXRoLmpvaW4ocmVwdWJsaXF1ZURpciwgbWF0Y2ghWzRdKVxuICBjb25zdCBldGF0RGlyID0gcGF0aC5qb2luKGxlZ2lzbGF0dXJlRGlyLCBtYXRjaCFbNV0pXG4gIGxldCBudW1lcm8gPSBcIjAwMDAwMFwiICsgbWF0Y2ghWzZdXG4gIG51bWVybyA9IG51bWVyby5zdWJzdHIobnVtZXJvLmxlbmd0aCAtIDYpXG4gIGNvbnN0IG51bWVyb01pbGxpZXJzRGlyID0gcGF0aC5qb2luKGV0YXREaXIsIG51bWVyby5zdWJzdHIoMCwgMykpXG4gIGZzLmVuc3VyZURpclN5bmMobnVtZXJvTWlsbGllcnNEaXIpXG4gIHJldHVybiBwYXRoLmpvaW4obnVtZXJvTWlsbGllcnNEaXIsIHVpZClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGhGcm9tRG9zc2llclBhcmxlbWVudGFpcmVVaWQoXG4gIGRvc3NpZXJzRGlyOiBzdHJpbmcsXG4gIHVpZDogc3RyaW5nLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgbWF0Y2ggPSBkb3NzaWVyVWlkUmVnZXguZXhlYyh1aWQpXG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICBtYXRjaCxcbiAgICBudWxsLFxuICAgIGBVbmV4cGVjdGVkIHN0cnVjdHVyZSBmb3IgZG9zc2llciBwYXJsZW1lbnRhaXJlIFVJRDogJHt1aWR9YCxcbiAgKVxuICBjb25zdCByZXB1YmxpcXVlRGlyID0gcGF0aC5qb2luKGRvc3NpZXJzRGlyLCBtYXRjaCFbMV0pXG4gIGNvbnN0IGxlZ2lzbGF0dXJlRGlyID0gcGF0aC5qb2luKHJlcHVibGlxdWVEaXIsIG1hdGNoIVsyXSlcbiAgbGV0IG51bWVybyA9IFwiMDAwMDAwXCIgKyBtYXRjaCFbM11cbiAgbnVtZXJvID0gbnVtZXJvLnN1YnN0cihudW1lcm8ubGVuZ3RoIC0gNilcbiAgY29uc3QgbnVtZXJvTWlsbGllcnNEaXIgPSBwYXRoLmpvaW4obGVnaXNsYXR1cmVEaXIsIG51bWVyby5zdWJzdHIoMCwgMykpXG4gIGZzLmVuc3VyZURpclN5bmMobnVtZXJvTWlsbGllcnNEaXIpXG4gIHJldHVybiBwYXRoLmpvaW4obnVtZXJvTWlsbGllcnNEaXIsIHVpZClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGhGcm9tUmV1bmlvblVpZChyZXVuaW9uc0Rpcjogc3RyaW5nLCB1aWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG1hdGNoID0gcmV1bmlvblVpZFJlZ2V4LmV4ZWModWlkKVxuICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgbWF0Y2gsXG4gICAgbnVsbCxcbiAgICBgVW5leHBlY3RlZCBzdHJ1Y3R1cmUgZm9yIHJldW5pb24gVUlEOiAke3VpZH1gLFxuICApXG4gIGNvbnN0IGNoYW1icmVEaXIgPSBwYXRoLmpvaW4ocmV1bmlvbnNEaXIsIG1hdGNoIVsxXSlcbiAgY29uc3QgcmVwdWJsaXF1ZURpciA9IHBhdGguam9pbihjaGFtYnJlRGlyLCBtYXRjaCFbMl0pXG4gIGNvbnN0IGxlZ2lzbGF0dXJlRGlyID0gcGF0aC5qb2luKHJlcHVibGlxdWVEaXIsIG1hdGNoIVszXSlcbiAgY29uc3Qgc2Vzc2lvbkRpciA9IHBhdGguam9pbihsZWdpc2xhdHVyZURpciwgbWF0Y2ghWzRdKVxuICBjb25zdCBpZERpciA9IHBhdGguam9pbihzZXNzaW9uRGlyLCBtYXRjaCFbNV0pXG4gIGxldCBudW1lcm8gPSBcIjAwMDAwMDAwMFwiICsgbWF0Y2ghWzZdXG4gIG51bWVybyA9IG51bWVyby5zdWJzdHIobnVtZXJvLmxlbmd0aCAtIDkpXG4gIGNvbnN0IG51bWVyb01pbGxpb25zRGlyID0gcGF0aC5qb2luKGlkRGlyLCBudW1lcm8uc3Vic3RyKDAsIDMpKVxuICBjb25zdCBudW1lcm9NaWxsaWVyc0RpciA9IHBhdGguam9pbihudW1lcm9NaWxsaW9uc0RpciwgbnVtZXJvLnN1YnN0cigzLCAzKSlcbiAgZnMuZW5zdXJlRGlyU3luYyhudW1lcm9NaWxsaWVyc0RpcilcbiAgcmV0dXJuIHBhdGguam9pbihudW1lcm9NaWxsaWVyc0RpciwgdWlkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0aEZyb21TY3J1dGluVWlkKHNjcnV0aW5zRGlyOiBzdHJpbmcsIHVpZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbWF0Y2ggPSBzY3J1dGluVWlkUmVnZXguZXhlYyh1aWQpXG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICBtYXRjaCxcbiAgICBudWxsLFxuICAgIGBVbmV4cGVjdGVkIHN0cnVjdHVyZSBmb3Igc2NydXRpbiBVSUQ6ICR7dWlkfWAsXG4gIClcbiAgY29uc3QgcmVwdWJsaXF1ZURpciA9IHBhdGguam9pbihzY3J1dGluc0RpciwgbWF0Y2ghWzFdKVxuICBjb25zdCBsZWdpc2xhdHVyZURpciA9IHBhdGguam9pbihyZXB1YmxpcXVlRGlyLCBtYXRjaCFbMl0pXG4gIGxldCBudW1lcm8gPSBcIjAwMDAwMFwiICsgbWF0Y2ghWzNdXG4gIG51bWVybyA9IG51bWVyby5zdWJzdHIobnVtZXJvLmxlbmd0aCAtIDYpXG4gIGNvbnN0IG51bWVyb01pbGxpZXJzRGlyID0gcGF0aC5qb2luKGxlZ2lzbGF0dXJlRGlyLCBudW1lcm8uc3Vic3RyKDAsIDMpKVxuICBmcy5lbnN1cmVEaXJTeW5jKG51bWVyb01pbGxpZXJzRGlyKVxuICByZXR1cm4gcGF0aC5qb2luKG51bWVyb01pbGxpZXJzRGlyLCB1aWQpXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFNQTs7QUFDQTs7QUFDQTs7QUFLQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUJBLElBQU1BLGdCQUFnQixHQUNwQiwySEFERjtBQUVBLElBQU1DLGVBQWUsR0FBRyx3QkFBeEI7QUFDQSxJQUFNQyxlQUFlLEdBQ25CLDJEQURGO0FBRUEsSUFBTUMsZUFBZSxHQUFHLDBCQUF4QjtBQUVBOztBQUNPLFNBQVNDLGlCQUFULENBQ0xDLE9BREssRUFFTEMsZUFGSyxFQUdMQyxXQUhLLEVBS0M7RUFBQSwrRUFEWSxFQUNaO0VBQUEsb0JBREpDLEdBQ0k7RUFBQSxJQURKQSxHQUNJLHlCQURFLEtBQ0Y7O0VB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
1136
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkb2N1bWVudFVpZFJlZ2V4IiwiZG9zc2llclVpZFJlZ2V4IiwicmV1bmlvblVpZFJlZ2V4Iiwic2NydXRpblVpZFJlZ2V4IiwibG9hZEFzc2VtYmxlZURhdGEiLCJkYXRhRGlyIiwiZW5hYmxlZERhdGFzZXRzIiwibGVnaXNsYXR1cmUiLCJsb2ciLCJhY3RldXJCeVVpZCIsIm9yZ2FuZUJ5VWlkIiwiRW5hYmxlZERhdGFzZXRzIiwiQWN0ZXVyc0V0T3JnYW5lcyIsImRhdGFzZXRzIiwiYWN0ZXVyc0V0T3JnYW5lcyIsImRhdGFzZXQiLCJpZ25vcmVGb3JXZWIiLCJMZWdpc2xhdHVyZSIsIkFsbCIsImRhdGFzZXREaXIiLCJwYXRoIiwiam9pbiIsImZpbGVuYW1lIiwicmVwbGFjZSIsIndhbGtEaXIiLCJhY3RldXJTcGxpdFBhdGgiLCJhY3RldXJGaWxlbmFtZSIsImxlbmd0aCIsImVuZHNXaXRoIiwiYWN0ZXVyRmlsZVBhdGgiLCJjb25zb2xlIiwiYWN0ZXVySnNvbiIsImZzIiwicmVhZEZpbGVTeW5jIiwiZW5jb2RpbmciLCJhY3RldXIiLCJBY3RldXJzRXRPcmdhbmVzQ29udmVydCIsInRvQWN0ZXVyIiwidWlkIiwidW5kZWZpbmVkIiwib3JnYW5lU3BsaXRQYXRoIiwib3JnYW5lRmlsZW5hbWUiLCJvcmdhbmVGaWxlUGF0aCIsIm9yZ2FuZUpzb24iLCJvcmdhbmUiLCJ0b09yZ2FuZSIsInJldW5pb25CeVVpZCIsInJldW5pb25zQnlEYXkiLCJyZXVuaW9uc0J5RG9zc2llclVpZCIsIkFnZW5kYXMiLCJhZ2VuZGFzIiwicmV1bmlvblNwbGl0UGF0aCIsInJldW5pb25GaWxlbmFtZSIsInJldW5pb25GaWxlUGF0aCIsInJldW5pb25Kc29uIiwicmV1bmlvbiIsIkFnZW5kYXNDb252ZXJ0IiwidG9SZXVuaW9uIiwiZGF5IiwidGltZXN0YW1wRGVidXQiLCJ0b0lTT1N0cmluZyIsInNwbGl0IiwicmV1bmlvbnNBdERheSIsInB1c2giLCJvZGoiLCJwb2ludHNPZGoiLCJwb2ludE9kaiIsImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzIiwiZG9zc2llckxlZ2lzbGF0aWZSZWYiLCJyZXVuaW9uc0F0RG9zc2llclVpZCIsImFtZW5kZW1lbnRCeVVpZCIsIkFtZW5kZW1lbnRzIiwiYW1lbmRlbWVudHMiLCJhbWVuZGVtZW50U3BsaXRQYXRoIiwiYW1lbmRlbWVudEZpbGVuYW1lIiwiYW1lbmRlbWVudEZpbGVQYXRoIiwiYW1lbmRlbWVudEpzb24iLCJhbWVuZGVtZW50IiwiQW1lbmRlbWVudHNDb252ZXJ0IiwidG9BbWVuZGVtZW50IiwiZG9jdW1lbnRCeVVpZCIsImRvc3NpZXJQYXJsZW1lbnRhaXJlQnlTZW5hdENoZW1pbiIsImRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pbiIsImRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWQiLCJEb3NzaWVyc0xlZ2lzbGF0aWZzIiwiZG9zc2llcnNMZWdpc2xhdGlmcyIsImRvY3VtZW50U3BsaXRQYXRoIiwiZG9jdW1lbnRGaWxlbmFtZSIsImRvY3VtZW50RmlsZVBhdGgiLCJkb2N1bWVudEpzb24iLCJkb2N1bWVudCIsIkRvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0IiwidG9Eb2N1bWVudCIsImRvc3NpZXJTcGxpdFBhdGgiLCJkb3NzaWVyRmlsZW5hbWUiLCJkb3NzaWVyRmlsZVBhdGgiLCJkb3NzaWVySnNvbiIsImRvc3NpZXIiLCJ0b0Rvc3NpZXJQYXJsZW1lbnRhaXJlIiwidGl0cmVEb3NzaWVyIiwic2VuYXRDaGVtaW4iLCJ0aXRyZUNoZW1pbiIsInBob3RvQnlVaWQiLCJQaG90b3MiLCJqc29uRmlsZVBhdGgiLCJTZWl6ZSIsImV4aXN0c1N5bmMiLCJqc29uIiwiT2JqZWN0IiwiYXNzaWduIiwiSlNPTiIsInBhcnNlIiwic2NydXRpbkJ5VWlkIiwiU2NydXRpbnMiLCJzY3J1dGlucyIsInNjcnV0aW5TcGxpdFBhdGgiLCJzY3J1dGluRmlsZW5hbWUiLCJzY3J1dGluRmlsZVBhdGgiLCJzY3J1dGluSnNvbiIsInNjcnV0aW4iLCJTY3J1dGluc0NvbnZlcnQiLCJ0b1NjcnV0aW4iLCJsb2FkQXNzZW1ibGVlRGF0YUZyb21CaWdGaWxlcyIsInRvQWN0ZXVyc0V0T3JnYW5lcyIsImFjdGV1cnMiLCJvcmdhbmVzIiwidG9BZ2VuZGFzIiwicmV1bmlvbnMiLCJ0b0FtZW5kZW1lbnRzIiwidGV4dGVzTGVnaXNsYXRpZnMiLCJ0ZXh0ZUxlZ2lzbGF0aWYiLCJ0b0Rvc3NpZXJzTGVnaXNsYXRpZnMiLCJkb3NzaWVyc1BhcmxlbWVudGFpcmVzIiwidG9TY3J1dGlucyIsInBhdGhGcm9tRG9jdW1lbnRVaWQiLCJkb2N1bWVudHNEaXIiLCJtYXRjaCIsImV4ZWMiLCJhc3NlcnQiLCJub3RTdHJpY3RFcXVhbCIsImRvY3VtZW50VHlwZSIsImNoYW1icmVEaXIiLCJyZXB1YmxpcXVlRGlyIiwibGVnaXNsYXR1cmVEaXIiLCJldGF0RGlyIiwibnVtZXJvIiwic3Vic3RyIiwibnVtZXJvTWlsbGllcnNEaXIiLCJlbnN1cmVEaXJTeW5jIiwicGF0aEZyb21Eb3NzaWVyUGFybGVtZW50YWlyZVVpZCIsImRvc3NpZXJzRGlyIiwicGF0aEZyb21SZXVuaW9uVWlkIiwicmV1bmlvbnNEaXIiLCJzZXNzaW9uRGlyIiwiaWREaXIiLCJudW1lcm9NaWxsaW9uc0RpciIsInBhdGhGcm9tU2NydXRpblVpZCIsInNjcnV0aW5zRGlyIl0sInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8vIExvYWQgZGF0YSBmcm9tIGZpbGVzXG5cbmltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuZXhwb3J0IHsgRW5hYmxlZERhdGFzZXRzIH0gZnJvbSBcIi4vZGF0YXNldHNcIlxuaW1wb3J0IHsgZGF0YXNldHMsIEVuYWJsZWREYXRhc2V0cyB9IGZyb20gXCIuL2RhdGFzZXRzXCJcbmV4cG9ydCB7IHdhbGtEaXIgfSBmcm9tIFwiLi9maWxlX3N5c3RlbXNcIlxuaW1wb3J0IHsgd2Fsa0RpciB9IGZyb20gXCIuL2ZpbGVfc3lzdGVtc1wiXG5pbXBvcnQge1xuICBBY3RldXIsXG4gIENvbnZlcnQgYXMgQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQsXG4gIE9yZ2FuZSxcbiAgUGhvdG8sXG59IGZyb20gXCIuL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQgeyBDb252ZXJ0IGFzIEFnZW5kYXNDb252ZXJ0LCBSZXVuaW9uIH0gZnJvbSBcIi4vdHlwZXMvYWdlbmRhc1wiXG5pbXBvcnQgeyBBbWVuZGVtZW50LCBDb252ZXJ0IGFzIEFtZW5kZW1lbnRzQ29udmVydCB9IGZyb20gXCIuL3R5cGVzL2FtZW5kZW1lbnRzXCJcbmltcG9ydCB7XG4gIENvbnZlcnQgYXMgRG9zc2llcnNMZWdpc2xhdGlmc0NvbnZlcnQsXG4gIERvY3VtZW50LFxuICBEb3NzaWVyUGFybGVtZW50YWlyZSxcbn0gZnJvbSBcIi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuaW1wb3J0IHsgTGVnaXNsYXR1cmUgfSBmcm9tIFwiLi90eXBlcy9sZWdpc2xhdHVyZXNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBTY3J1dGluc0NvbnZlcnQsIFNjcnV0aW4gfSBmcm9tIFwiLi90eXBlcy9zY3J1dGluc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YSB7XG4gIHJlYWRvbmx5IGFjdGV1ckJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IEFjdGV1ciB9XG4gIHJlYWRvbmx5IGFtZW5kZW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBBbWVuZGVtZW50IH1cbiAgcmVhZG9ubHkgZG9jdW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBEb2N1bWVudCB9XG4gIHJlYWRvbmx5IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlTZW5hdENoZW1pbjoge1xuICAgIFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlXG4gIH1cbiAgcmVhZG9ubHkgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluOiB7XG4gICAgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmVcbiAgfVxuICByZWFkb25seSBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlIH1cbiAgcmVhZG9ubHkgb3JnYW5lQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogT3JnYW5lIH1cbiAgcmVhZG9ubHkgcGhvdG9CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBQaG90byB9XG4gIHJlYWRvbmx5IHJldW5pb25CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBSZXVuaW9uIH1cbiAgcmVhZG9ubHkgcmV1bmlvbnNCeURheTogeyBbZGF5OiBzdHJpbmddOiBSZXVuaW9uW10gfVxuICByZWFkb25seSByZXVuaW9uc0J5RG9zc2llclVpZDogeyBbZG9zc2llclVpZDogc3RyaW5nXTogUmV1bmlvbltdIH1cbiAgcmVhZG9ubHkgc2NydXRpbkJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFNjcnV0aW4gfVxufVxuXG5jb25zdCBkb2N1bWVudFVpZFJlZ2V4ID1cbiAgL14oQUNJTnxBTENOfEFWQ0V8QVZJU3xERUNMfEVUREl8TEVUVHxNRVNTfFBJT058UE5SRXxQUkpMfFJBUFB8UklORnxSSU9OKShBTnxTTikoUlxcZCspW0xTXShcXGQrKShCfEJUQXxCVEN8VEFQKShcXGQrKSgtLiopPyQvXG5jb25zdCBkb3NzaWVyVWlkUmVnZXggPSAvXkRMKFJcXGQrKShMXFxkKylOKFxcZCspJC9cbmNvbnN0IHJldW5pb25VaWRSZWdleCA9XG4gIC9eUlUoQU58Q0d8U04pKFJcXGQrKShMXFxkKykoW0FTXVxcZHs0fSkoSURDfElERkw/fElEUykoXFxkKykkL1xuY29uc3Qgc2NydXRpblVpZFJlZ2V4ID0gL15WVEFOKFJcXGQrKShMXFxkKylWKFxcZCspJC9cblxuLyoqIExvYWQgZGF0YSBmcm9tIHNwbGl0IGZpbGVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBc3NlbWJsZWVEYXRhKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIGVuYWJsZWREYXRhc2V0czogRW5hYmxlZERhdGFzZXRzLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogRGF0YSB7XG4gIGNvbnN0IGFjdGV1ckJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IEFjdGV1ciB9ID0ge31cbiAgY29uc3Qgb3JnYW5lQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogT3JnYW5lIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFjdGV1cnNFdE9yZ2FuZXMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYWN0ZXVyc0V0T3JnYW5lcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuXG4gICAgICBmb3IgKGNvbnN0IGFjdGV1clNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIsIFtcImFjdGV1cnNcIl0pKSB7XG4gICAgICAgIGNvbnN0IGFjdGV1ckZpbGVuYW1lID0gYWN0ZXVyU3BsaXRQYXRoW2FjdGV1clNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIWFjdGV1ckZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGV1ckZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLmFjdGV1clNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7YWN0ZXVyRmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhY3RldXJKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoYWN0ZXVyRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IGFjdGV1ciA9IEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LnRvQWN0ZXVyKGFjdGV1ckpzb24pXG4gICAgICAgIC8vIEtlZXAgdGhlIGZpcnN0IGV4aXN0aW5nIFwiYWN0ZXVyXCIsIGJlY2F1c2UgdGhlIGZpcnN0IHdyYXBwZXIgaXMgdGhlIG1vc3QgY29tcGxldGUuXG4gICAgICAgIGlmIChhY3RldXJCeVVpZFthY3RldXIudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWN0ZXVyQnlVaWRbYWN0ZXVyLnVpZF0gPSBhY3RldXJcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IG9yZ2FuZVNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIsIFtcIm9yZ2FuZXNcIl0pKSB7XG4gICAgICAgIGNvbnN0IG9yZ2FuZUZpbGVuYW1lID0gb3JnYW5lU3BsaXRQYXRoW29yZ2FuZVNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIW9yZ2FuZUZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9yZ2FuZUZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLm9yZ2FuZVNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7b3JnYW5lRmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcmdhbmVKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMob3JnYW5lRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IG9yZ2FuZSA9IEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LnRvT3JnYW5lKG9yZ2FuZUpzb24pXG4gICAgICAgIC8vIEtlZXAgdGhlIGZpcnN0IGV4aXN0aW5nIFwib3JnYW5lXCIsIGJlY2F1c2UgdGhlIGZpcnN0IHdyYXBwZXIgaXMgdGhlIG1vc3QgY29tcGxldGUuXG4gICAgICAgIGlmIChvcmdhbmVCeVVpZFtvcmdhbmUudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgb3JnYW5lQnlVaWRbb3JnYW5lLnVpZF0gPSBvcmdhbmVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJldW5pb25CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBSZXVuaW9uIH0gPSB7fVxuICBjb25zdCByZXVuaW9uc0J5RGF5OiB7IFtkYXk6IHN0cmluZ106IFJldW5pb25bXSB9ID0ge31cbiAgY29uc3QgcmV1bmlvbnNCeURvc3NpZXJVaWQ6IHsgW2Rvc3NpZXJVaWQ6IHN0cmluZ106IFJldW5pb25bXSB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BZ2VuZGFzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFnZW5kYXMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICAgIClcbiAgICAgIGZvciAoY29uc3QgcmV1bmlvblNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIpKSB7XG4gICAgICAgIGNvbnN0IHJldW5pb25GaWxlbmFtZSA9IHJldW5pb25TcGxpdFBhdGhbcmV1bmlvblNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIXJldW5pb25GaWxlbmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXVuaW9uRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4ucmV1bmlvblNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7cmV1bmlvbkZpbGVQYXRofeKApmApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmV1bmlvbkpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhyZXVuaW9uRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IHJldW5pb24gPSBBZ2VuZGFzQ29udmVydC50b1JldW5pb24ocmV1bmlvbkpzb24pXG4gICAgICAgIGlmIChyZXVuaW9uQnlVaWRbcmV1bmlvbi51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXVuaW9uQnlVaWRbcmV1bmlvbi51aWRdID0gcmV1bmlvblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF5ID0gcmV1bmlvbi50aW1lc3RhbXBEZWJ1dC50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXVxuICAgICAgICBsZXQgcmV1bmlvbnNBdERheSA9IHJldW5pb25zQnlEYXlbZGF5XVxuICAgICAgICBpZiAocmV1bmlvbnNBdERheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV1bmlvbnNBdERheSA9IHJldW5pb25zQnlEYXlbZGF5XSA9IFtdXG4gICAgICAgIH1cbiAgICAgICAgcmV1bmlvbnNBdERheS5wdXNoKHJldW5pb24pXG5cbiAgICAgICAgY29uc3Qgb2RqID0gcmV1bmlvbi5vZGpcbiAgICAgICAgaWYgKG9kaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBwb2ludE9kaiBvZiBvZGoucG9pbnRzT2RqIHx8IFtdKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGRvc3NpZXJMZWdpc2xhdGlmUmVmIG9mIHBvaW50T2RqLmRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzIHx8XG4gICAgICAgICAgICAgIFtdKSB7XG4gICAgICAgICAgICAgIGxldCByZXVuaW9uc0F0RG9zc2llclVpZCA9XG4gICAgICAgICAgICAgICAgcmV1bmlvbnNCeURvc3NpZXJVaWRbZG9zc2llckxlZ2lzbGF0aWZSZWZdXG4gICAgICAgICAgICAgIGlmIChyZXVuaW9uc0F0RG9zc2llclVpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV1bmlvbnNBdERvc3NpZXJVaWQgPSByZXVuaW9uc0J5RG9zc2llclVpZFtcbiAgICAgICAgICAgICAgICAgIGRvc3NpZXJMZWdpc2xhdGlmUmVmXG4gICAgICAgICAgICAgICAgXSA9IFtdXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV1bmlvbnNBdERvc3NpZXJVaWQucHVzaChyZXVuaW9uKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFtZW5kZW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBBbWVuZGVtZW50IH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFtZW5kZW1lbnRzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFtZW5kZW1lbnRzKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWVcIiksXG4gICAgICApXG5cbiAgICAgIGZvciAoY29uc3QgYW1lbmRlbWVudFNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIpKSB7XG4gICAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlbmFtZSA9XG4gICAgICAgICAgYW1lbmRlbWVudFNwbGl0UGF0aFthbWVuZGVtZW50U3BsaXRQYXRoLmxlbmd0aCAtIDFdXG4gICAgICAgIGlmICghYW1lbmRlbWVudEZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5hbWVuZGVtZW50U3BsaXRQYXRoKVxuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhbWVuZGVtZW50SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGFtZW5kZW1lbnRGaWxlUGF0aCwge1xuICAgICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgYW1lbmRlbWVudCA9IEFtZW5kZW1lbnRzQ29udmVydC50b0FtZW5kZW1lbnQoYW1lbmRlbWVudEpzb24pXG4gICAgICAgIGlmIChhbWVuZGVtZW50QnlVaWRbYW1lbmRlbWVudC51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBhbWVuZGVtZW50QnlVaWRbYW1lbmRlbWVudC51aWRdID0gYW1lbmRlbWVudFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZG9jdW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBEb2N1bWVudCB9ID0ge31cbiAgY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluOiB7XG4gICAgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmVcbiAgfSA9IHt9XG4gIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pbjoge1xuICAgIFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlXG4gIH0gPSB7fVxuICBjb25zdCBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkRvc3NpZXJzTGVnaXNsYXRpZnMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuZG9zc2llcnNMZWdpc2xhdGlmcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuXG4gICAgICBmb3IgKGNvbnN0IGRvY3VtZW50U3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpciwgW1wiZG9jdW1lbnRzXCJdKSkge1xuICAgICAgICBjb25zdCBkb2N1bWVudEZpbGVuYW1lID0gZG9jdW1lbnRTcGxpdFBhdGhbZG9jdW1lbnRTcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgICAgaWYgKCFkb2N1bWVudEZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRvY3VtZW50RmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4uZG9jdW1lbnRTcGxpdFBhdGgpXG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2RvY3VtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkb2N1bWVudEpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhkb2N1bWVudEZpbGVQYXRoLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBkb2N1bWVudCA9IERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LnRvRG9jdW1lbnQoZG9jdW1lbnRKc29uKVxuICAgICAgICBpZiAoZG9jdW1lbnRCeVVpZFtkb2N1bWVudC51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkb2N1bWVudEJ5VWlkW2RvY3VtZW50LnVpZF0gPSBkb2N1bWVudFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgZG9zc2llclNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIsIFtcImRvc3NpZXJzXCJdKSkge1xuICAgICAgICBjb25zdCBkb3NzaWVyRmlsZW5hbWUgPSBkb3NzaWVyU3BsaXRQYXRoW2Rvc3NpZXJTcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgICAgaWYgKCFkb3NzaWVyRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZG9zc2llckZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLmRvc3NpZXJTcGxpdFBhdGgpXG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2Rvc3NpZXJGaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRvc3NpZXJKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoZG9zc2llckZpbGVQYXRoLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBkb3NzaWVyID1cbiAgICAgICAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydC50b0Rvc3NpZXJQYXJsZW1lbnRhaXJlKGRvc3NpZXJKc29uKVxuICAgICAgICBjb25zdCB0aXRyZURvc3NpZXIgPSBkb3NzaWVyLnRpdHJlRG9zc2llclxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGl0cmVEb3NzaWVyLnNlbmF0Q2hlbWluICYmXG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluW3RpdHJlRG9zc2llci5zZW5hdENoZW1pbl0gPT09XG4gICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluW3RpdHJlRG9zc2llci5zZW5hdENoZW1pbl0gPSBkb3NzaWVyXG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRpdHJlRG9zc2llci50aXRyZUNoZW1pbiAmJlxuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pblt0aXRyZURvc3NpZXIudGl0cmVDaGVtaW5dID09PVxuICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pblt0aXRyZURvc3NpZXIudGl0cmVDaGVtaW5dID0gZG9zc2llclxuICAgICAgICB9XG4gICAgICAgIGlmIChkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkW2Rvc3NpZXIudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVVpZFtkb3NzaWVyLnVpZF0gPSBkb3NzaWVyXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgcGhvdG9CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBQaG90byB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5QaG90b3MpIHtcbiAgICB7XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgYHBob3Rvc19kZXB1dGVzXyR7XG4gICAgICAgICAgLy8gVE9ETzogSGFuZGxlIExlZ2lzbGF0dXJlLkFsbC5cbiAgICAgICAgICBsZWdpc2xhdHVyZSA9PT0gTGVnaXNsYXR1cmUuQWxsID8gTGVnaXNsYXR1cmUuU2VpemUgOiBsZWdpc2xhdHVyZVxuICAgICAgICB9YCxcbiAgICAgICAgXCJkZXB1dGVzLmpzb25cIixcbiAgICAgIClcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGpzb25GaWxlUGF0aCkpIHtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwaG90b0J5VWlkLCBKU09OLnBhcnNlKGpzb24pKVxuICAgICAgfSBlbHNlIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYElnbm9yaW5nIG1pc3NpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICB7XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgXCJwaG90b3Nfc2VuYXRldXJzXCIsXG4gICAgICAgIFwic2VuYXRldXJzLmpzb25cIixcbiAgICAgIClcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGpzb25GaWxlUGF0aCkpIHtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwaG90b0J5VWlkLCBKU09OLnBhcnNlKGpzb24pKVxuICAgICAgfSBlbHNlIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYElnbm9yaW5nIG1pc3NpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBzY3J1dGluQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogU2NydXRpbiB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5TY3J1dGlucykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5zY3J1dGlucykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuXG4gICAgICBmb3IgKGNvbnN0IHNjcnV0aW5TcGxpdFBhdGggb2Ygd2Fsa0RpcihkYXRhc2V0RGlyKSkge1xuICAgICAgICBjb25zdCBzY3J1dGluRmlsZW5hbWUgPSBzY3J1dGluU3BsaXRQYXRoW3NjcnV0aW5TcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgICAgaWYgKCFzY3J1dGluRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2NydXRpbkZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLnNjcnV0aW5TcGxpdFBhdGgpXG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke3NjcnV0aW5GaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNjcnV0aW5Kc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoc2NydXRpbkZpbGVQYXRoLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBzY3J1dGluID0gU2NydXRpbnNDb252ZXJ0LnRvU2NydXRpbihzY3J1dGluSnNvbilcbiAgICAgICAgaWYgKHNjcnV0aW5CeVVpZFtzY3J1dGluLnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHNjcnV0aW5CeVVpZFtzY3J1dGluLnVpZF0gPSBzY3J1dGluXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGFjdGV1ckJ5VWlkLFxuICAgIGFtZW5kZW1lbnRCeVVpZCxcbiAgICBkb2N1bWVudEJ5VWlkLFxuICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlTZW5hdENoZW1pbixcbiAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VGl0cmVDaGVtaW4sXG4gICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVVpZCxcbiAgICBvcmdhbmVCeVVpZCxcbiAgICBwaG90b0J5VWlkLFxuICAgIHJldW5pb25CeVVpZCxcbiAgICByZXVuaW9uc0J5RGF5LFxuICAgIHJldW5pb25zQnlEb3NzaWVyVWlkLFxuICAgIHNjcnV0aW5CeVVpZCxcbiAgfVxufVxuXG4vKiogTG9hZCBkYXRhIGZyb20gYmlnIG1vbm9seXRpYyBmaWxlcy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQXNzZW1ibGVlRGF0YUZyb21CaWdGaWxlcyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBlbmFibGVkRGF0YXNldHM6IEVuYWJsZWREYXRhc2V0cyxcbiAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLFxuICB7IGxvZyA9IGZhbHNlIH0gPSB7fSxcbik6IERhdGEge1xuICBjb25zdCBhY3RldXJCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBBY3RldXIgfSA9IHt9XG4gIGNvbnN0IG9yZ2FuZUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IE9yZ2FuZSB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BY3RldXJzRXRPcmdhbmVzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFjdGV1cnNFdE9yZ2FuZXMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWUuanNvblwiKSxcbiAgICAgIClcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhqc29uRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgICBjb25zdCBhY3RldXJzRXRPcmdhbmVzID0gQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQudG9BY3RldXJzRXRPcmdhbmVzKGpzb24pXG4gICAgICBmb3IgKGNvbnN0IGFjdGV1ciBvZiBhY3RldXJzRXRPcmdhbmVzLmFjdGV1cnMpIHtcbiAgICAgICAgLy8gS2VlcCB0aGUgZmlyc3QgZXhpc3RpbmcgXCJhY3RldXJcIiwgYmVjYXVzZSB0aGUgZmlyc3Qgd3JhcHBlciBpcyB0aGUgbW9zdCBjb21wbGV0ZS5cbiAgICAgICAgaWYgKGFjdGV1ckJ5VWlkW2FjdGV1ci51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBhY3RldXJCeVVpZFthY3RldXIudWlkXSA9IGFjdGV1clxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IG9yZ2FuZSBvZiBhY3RldXJzRXRPcmdhbmVzLm9yZ2FuZXMpIHtcbiAgICAgICAgLy8gS2VlcCB0aGUgZmlyc3QgZXhpc3RpbmcgXCJvcmdhbmVcIiwgYmVjYXVzZSB0aGUgZmlyc3Qgd3JhcHBlciBpcyB0aGUgbW9zdCBjb21wbGV0ZS5cbiAgICAgICAgaWYgKG9yZ2FuZUJ5VWlkW29yZ2FuZS51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBvcmdhbmVCeVVpZFtvcmdhbmUudWlkXSA9IG9yZ2FuZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcmV1bmlvbkJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFJldW5pb24gfSA9IHt9XG4gIGNvbnN0IHJldW5pb25zQnlEYXk6IHsgW2RheTogc3RyaW5nXTogUmV1bmlvbltdIH0gPSB7fVxuICBjb25zdCByZXVuaW9uc0J5RG9zc2llclVpZDogeyBbZG9zc2llclVpZDogc3RyaW5nXTogUmV1bmlvbltdIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFnZW5kYXMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYWdlbmRhcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZS5qc29uXCIpLFxuICAgICAgKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgIGNvbnN0IGFnZW5kYXMgPSBBZ2VuZGFzQ29udmVydC50b0FnZW5kYXMoanNvbilcbiAgICAgIGZvciAoY29uc3QgcmV1bmlvbiBvZiBhZ2VuZGFzLnJldW5pb25zKSB7XG4gICAgICAgIGlmIChyZXVuaW9uQnlVaWRbcmV1bmlvbi51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXVuaW9uQnlVaWRbcmV1bmlvbi51aWRdID0gcmV1bmlvblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF5ID0gcmV1bmlvbi50aW1lc3RhbXBEZWJ1dC50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXVxuICAgICAgICBsZXQgcmV1bmlvbnNBdERheSA9IHJldW5pb25zQnlEYXlbZGF5XVxuICAgICAgICBpZiAocmV1bmlvbnNBdERheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV1bmlvbnNBdERheSA9IHJldW5pb25zQnlEYXlbZGF5XSA9IFtdXG4gICAgICAgIH1cbiAgICAgICAgcmV1bmlvbnNBdERheS5wdXNoKHJldW5pb24pXG5cbiAgICAgICAgY29uc3Qgb2RqID0gcmV1bmlvbi5vZGpcbiAgICAgICAgaWYgKG9kaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBwb2ludE9kaiBvZiBvZGoucG9pbnRzT2RqIHx8IFtdKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGRvc3NpZXJMZWdpc2xhdGlmUmVmIG9mIHBvaW50T2RqLmRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzIHx8XG4gICAgICAgICAgICAgIFtdKSB7XG4gICAgICAgICAgICAgIGxldCByZXVuaW9uc0F0RG9zc2llclVpZCA9XG4gICAgICAgICAgICAgICAgcmV1bmlvbnNCeURvc3NpZXJVaWRbZG9zc2llckxlZ2lzbGF0aWZSZWZdXG4gICAgICAgICAgICAgIGlmIChyZXVuaW9uc0F0RG9zc2llclVpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV1bmlvbnNBdERvc3NpZXJVaWQgPSByZXVuaW9uc0J5RG9zc2llclVpZFtcbiAgICAgICAgICAgICAgICAgIGRvc3NpZXJMZWdpc2xhdGlmUmVmXG4gICAgICAgICAgICAgICAgXSA9IFtdXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV1bmlvbnNBdERvc3NpZXJVaWQucHVzaChyZXVuaW9uKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFtZW5kZW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBBbWVuZGVtZW50IH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFtZW5kZW1lbnRzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFtZW5kZW1lbnRzKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgY29uc3QgYW1lbmRlbWVudHMgPSBBbWVuZGVtZW50c0NvbnZlcnQudG9BbWVuZGVtZW50cyhqc29uKVxuICAgICAgZm9yIChjb25zdCB0ZXh0ZUxlZ2lzbGF0aWYgb2YgYW1lbmRlbWVudHMudGV4dGVzTGVnaXNsYXRpZnMpIHtcbiAgICAgICAgZm9yIChjb25zdCBhbWVuZGVtZW50IG9mIHRleHRlTGVnaXNsYXRpZi5hbWVuZGVtZW50cykge1xuICAgICAgICAgIGlmIChhbWVuZGVtZW50QnlVaWRbYW1lbmRlbWVudC51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFtZW5kZW1lbnRCeVVpZFthbWVuZGVtZW50LnVpZF0gPSBhbWVuZGVtZW50XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZG9jdW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBEb2N1bWVudCB9ID0ge31cbiAgY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluOiB7XG4gICAgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmVcbiAgfSA9IHt9XG4gIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pbjoge1xuICAgIFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlXG4gIH0gPSB7fVxuICBjb25zdCBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkRvc3NpZXJzTGVnaXNsYXRpZnMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuZG9zc2llcnNMZWdpc2xhdGlmcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZS5qc29uXCIpLFxuICAgICAgKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgIGNvbnN0IGRvc3NpZXJzTGVnaXNsYXRpZnMgPVxuICAgICAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydC50b0Rvc3NpZXJzTGVnaXNsYXRpZnMoanNvbilcbiAgICAgIGZvciAoY29uc3QgZG9jdW1lbnQgb2YgZG9zc2llcnNMZWdpc2xhdGlmcy50ZXh0ZXNMZWdpc2xhdGlmcykge1xuICAgICAgICBpZiAoZG9jdW1lbnRCeVVpZFtkb2N1bWVudC51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkb2N1bWVudEJ5VWlkW2RvY3VtZW50LnVpZF0gPSBkb2N1bWVudFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGRvc3NpZXIgb2YgZG9zc2llcnNMZWdpc2xhdGlmcy5kb3NzaWVyc1BhcmxlbWVudGFpcmVzKSB7XG4gICAgICAgIGNvbnN0IHRpdHJlRG9zc2llciA9IGRvc3NpZXIudGl0cmVEb3NzaWVyXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aXRyZURvc3NpZXIuc2VuYXRDaGVtaW4gJiZcbiAgICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5U2VuYXRDaGVtaW5bdGl0cmVEb3NzaWVyLnNlbmF0Q2hlbWluXSA9PT1cbiAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5U2VuYXRDaGVtaW5bdGl0cmVEb3NzaWVyLnNlbmF0Q2hlbWluXSA9IGRvc3NpZXJcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGl0cmVEb3NzaWVyLnRpdHJlQ2hlbWluICYmXG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluW3RpdHJlRG9zc2llci50aXRyZUNoZW1pbl0gPT09XG4gICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluW3RpdHJlRG9zc2llci50aXRyZUNoZW1pbl0gPSBkb3NzaWVyXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWRbZG9zc2llci51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkW2Rvc3NpZXIudWlkXSA9IGRvc3NpZXJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBob3RvQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogUGhvdG8gfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuUGhvdG9zKSB7XG4gICAgY29uc3QgcGhvdG9CeVVpZCA9IHt9XG5cbiAgICB7XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgYHBob3Rvc19kZXB1dGVzXyR7XG4gICAgICAgICAgLy8gVE9ETzogSGFuZGxlIExlZ2lzbGF0dXJlLkFsbC5cbiAgICAgICAgICBsZWdpc2xhdHVyZSA9PT0gTGVnaXNsYXR1cmUuQWxsID8gTGVnaXNsYXR1cmUuU2VpemUgOiBsZWdpc2xhdHVyZVxuICAgICAgICB9YCxcbiAgICAgICAgXCJkZXB1dGVzLmpzb25cIixcbiAgICAgIClcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGpzb25GaWxlUGF0aCkpIHtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwaG90b0J5VWlkLCBKU09OLnBhcnNlKGpzb24pKVxuICAgICAgfSBlbHNlIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYElnbm9yaW5nIG1pc3NpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICB7XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgXCJwaG90b3Nfc2VuYXRldXJzXCIsXG4gICAgICAgIFwic2VuYXRldXJzLmpzb25cIixcbiAgICAgIClcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGpzb25GaWxlUGF0aCkpIHtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwaG90b0J5VWlkLCBKU09OLnBhcnNlKGpzb24pKVxuICAgICAgfSBlbHNlIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYElnbm9yaW5nIG1pc3NpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBzY3J1dGluQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogU2NydXRpbiB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5TY3J1dGlucykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5zY3J1dGlucykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZS5qc29uXCIpLFxuICAgICAgKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgIGNvbnN0IHNjcnV0aW5zID0gU2NydXRpbnNDb252ZXJ0LnRvU2NydXRpbnMoanNvbilcbiAgICAgIGZvciAoY29uc3Qgc2NydXRpbiBvZiBzY3J1dGlucy5zY3J1dGlucykge1xuICAgICAgICBpZiAoc2NydXRpbkJ5VWlkW3NjcnV0aW4udWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc2NydXRpbkJ5VWlkW3NjcnV0aW4udWlkXSA9IHNjcnV0aW5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYWN0ZXVyQnlVaWQsXG4gICAgYW1lbmRlbWVudEJ5VWlkLFxuICAgIGRvY3VtZW50QnlVaWQsXG4gICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluLFxuICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pbixcbiAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkLFxuICAgIG9yZ2FuZUJ5VWlkLFxuICAgIHBob3RvQnlVaWQsXG4gICAgcmV1bmlvbkJ5VWlkLFxuICAgIHJldW5pb25zQnlEYXksXG4gICAgcmV1bmlvbnNCeURvc3NpZXJVaWQsXG4gICAgc2NydXRpbkJ5VWlkLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRoRnJvbURvY3VtZW50VWlkKGRvY3VtZW50c0Rpcjogc3RyaW5nLCB1aWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG1hdGNoID0gZG9jdW1lbnRVaWRSZWdleC5leGVjKHVpZClcbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIG1hdGNoLFxuICAgIG51bGwsXG4gICAgYFVuZXhwZWN0ZWQgc3RydWN0dXJlIGZvciBkb2N1bWVudCBVSUQ6ICR7dWlkfWAsXG4gIClcbiAgY29uc3QgZG9jdW1lbnRUeXBlID0gcGF0aC5qb2luKGRvY3VtZW50c0RpciwgbWF0Y2ghWzFdKVxuICBjb25zdCBjaGFtYnJlRGlyID0gcGF0aC5qb2luKGRvY3VtZW50VHlwZSwgbWF0Y2ghWzJdKVxuICBjb25zdCByZXB1YmxpcXVlRGlyID0gcGF0aC5qb2luKGNoYW1icmVEaXIsIG1hdGNoIVszXSlcbiAgY29uc3QgbGVnaXNsYXR1cmVEaXIgPSBwYXRoLmpvaW4ocmVwdWJsaXF1ZURpciwgbWF0Y2ghWzRdKVxuICBjb25zdCBldGF0RGlyID0gcGF0aC5qb2luKGxlZ2lzbGF0dXJlRGlyLCBtYXRjaCFbNV0pXG4gIGxldCBudW1lcm8gPSBcIjAwMDAwMFwiICsgbWF0Y2ghWzZdXG4gIG51bWVybyA9IG51bWVyby5zdWJzdHIobnVtZXJvLmxlbmd0aCAtIDYpXG4gIGNvbnN0IG51bWVyb01pbGxpZXJzRGlyID0gcGF0aC5qb2luKGV0YXREaXIsIG51bWVyby5zdWJzdHIoMCwgMykpXG4gIGZzLmVuc3VyZURpclN5bmMobnVtZXJvTWlsbGllcnNEaXIpXG4gIHJldHVybiBwYXRoLmpvaW4obnVtZXJvTWlsbGllcnNEaXIsIHVpZClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGhGcm9tRG9zc2llclBhcmxlbWVudGFpcmVVaWQoXG4gIGRvc3NpZXJzRGlyOiBzdHJpbmcsXG4gIHVpZDogc3RyaW5nLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgbWF0Y2ggPSBkb3NzaWVyVWlkUmVnZXguZXhlYyh1aWQpXG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICBtYXRjaCxcbiAgICBudWxsLFxuICAgIGBVbmV4cGVjdGVkIHN0cnVjdHVyZSBmb3IgZG9zc2llciBwYXJsZW1lbnRhaXJlIFVJRDogJHt1aWR9YCxcbiAgKVxuICBjb25zdCByZXB1YmxpcXVlRGlyID0gcGF0aC5qb2luKGRvc3NpZXJzRGlyLCBtYXRjaCFbMV0pXG4gIGNvbnN0IGxlZ2lzbGF0dXJlRGlyID0gcGF0aC5qb2luKHJlcHVibGlxdWVEaXIsIG1hdGNoIVsyXSlcbiAgbGV0IG51bWVybyA9IFwiMDAwMDAwXCIgKyBtYXRjaCFbM11cbiAgbnVtZXJvID0gbnVtZXJvLnN1YnN0cihudW1lcm8ubGVuZ3RoIC0gNilcbiAgY29uc3QgbnVtZXJvTWlsbGllcnNEaXIgPSBwYXRoLmpvaW4obGVnaXNsYXR1cmVEaXIsIG51bWVyby5zdWJzdHIoMCwgMykpXG4gIGZzLmVuc3VyZURpclN5bmMobnVtZXJvTWlsbGllcnNEaXIpXG4gIHJldHVybiBwYXRoLmpvaW4obnVtZXJvTWlsbGllcnNEaXIsIHVpZClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGhGcm9tUmV1bmlvblVpZChyZXVuaW9uc0Rpcjogc3RyaW5nLCB1aWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG1hdGNoID0gcmV1bmlvblVpZFJlZ2V4LmV4ZWModWlkKVxuICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgbWF0Y2gsXG4gICAgbnVsbCxcbiAgICBgVW5leHBlY3RlZCBzdHJ1Y3R1cmUgZm9yIHJldW5pb24gVUlEOiAke3VpZH1gLFxuICApXG4gIGNvbnN0IGNoYW1icmVEaXIgPSBwYXRoLmpvaW4ocmV1bmlvbnNEaXIsIG1hdGNoIVsxXSlcbiAgY29uc3QgcmVwdWJsaXF1ZURpciA9IHBhdGguam9pbihjaGFtYnJlRGlyLCBtYXRjaCFbMl0pXG4gIGNvbnN0IGxlZ2lzbGF0dXJlRGlyID0gcGF0aC5qb2luKHJlcHVibGlxdWVEaXIsIG1hdGNoIVszXSlcbiAgY29uc3Qgc2Vzc2lvbkRpciA9IHBhdGguam9pbihsZWdpc2xhdHVyZURpciwgbWF0Y2ghWzRdKVxuICBjb25zdCBpZERpciA9IHBhdGguam9pbihzZXNzaW9uRGlyLCBtYXRjaCFbNV0pXG4gIGxldCBudW1lcm8gPSBcIjAwMDAwMDAwMFwiICsgbWF0Y2ghWzZdXG4gIG51bWVybyA9IG51bWVyby5zdWJzdHIobnVtZXJvLmxlbmd0aCAtIDkpXG4gIGNvbnN0IG51bWVyb01pbGxpb25zRGlyID0gcGF0aC5qb2luKGlkRGlyLCBudW1lcm8uc3Vic3RyKDAsIDMpKVxuICBjb25zdCBudW1lcm9NaWxsaWVyc0RpciA9IHBhdGguam9pbihudW1lcm9NaWxsaW9uc0RpciwgbnVtZXJvLnN1YnN0cigzLCAzKSlcbiAgZnMuZW5zdXJlRGlyU3luYyhudW1lcm9NaWxsaWVyc0RpcilcbiAgcmV0dXJuIHBhdGguam9pbihudW1lcm9NaWxsaWVyc0RpciwgdWlkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0aEZyb21TY3J1dGluVWlkKHNjcnV0aW5zRGlyOiBzdHJpbmcsIHVpZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbWF0Y2ggPSBzY3J1dGluVWlkUmVnZXguZXhlYyh1aWQpXG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICBtYXRjaCxcbiAgICBudWxsLFxuICAgIGBVbmV4cGVjdGVkIHN0cnVjdHVyZSBmb3Igc2NydXRpbiBVSUQ6ICR7dWlkfWAsXG4gIClcbiAgY29uc3QgcmVwdWJsaXF1ZURpciA9IHBhdGguam9pbihzY3J1dGluc0RpciwgbWF0Y2ghWzFdKVxuICBjb25zdCBsZWdpc2xhdHVyZURpciA9IHBhdGguam9pbihyZXB1YmxpcXVlRGlyLCBtYXRjaCFbMl0pXG4gIGxldCBudW1lcm8gPSBcIjAwMDAwMFwiICsgbWF0Y2ghWzNdXG4gIG51bWVybyA9IG51bWVyby5zdWJzdHIobnVtZXJvLmxlbmd0aCAtIDYpXG4gIGNvbnN0IG51bWVyb01pbGxpZXJzRGlyID0gcGF0aC5qb2luKGxlZ2lzbGF0dXJlRGlyLCBudW1lcm8uc3Vic3RyKDAsIDMpKVxuICBmcy5lbnN1cmVEaXJTeW5jKG51bWVyb01pbGxpZXJzRGlyKVxuICByZXR1cm4gcGF0aC5qb2luKG51bWVyb01pbGxpZXJzRGlyLCB1aWQpXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FBS0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCQSxJQUFNQSxnQkFBZ0IsR0FDcEIsMkhBREY7QUFFQSxJQUFNQyxlQUFlLEdBQUcsd0JBQXhCO0FBQ0EsSUFBTUMsZUFBZSxHQUNuQiwyREFERjtBQUVBLElBQU1DLGVBQWUsR0FBRywwQkFBeEI7QUFFQTs7QUFDTyxTQUFTQyxpQkFBVCxDQUNMQyxPQURLLEVBRUxDLGVBRkssRUFHTEMsV0FISyxFQUtDO0VBQUEsK0VBRFksRUFDWjtFQUFBLG9CQURKQyxHQUNJO0VBQUEsSUFESkEsR0FDSSx5QkFERSxLQUNGOztFQUNO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