@tricoteuses/assemblee 1.9.8 → 1.9.9

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.
@@ -13,9 +13,9 @@ import { Convert as DossiersLegislatifsConvert } from "../types/dossiers_legisla
13
13
  import { Convert as ScrutinsConvert } from "../types/scrutins.mjs";
14
14
  import { Convert as QuestionsConvert } from "../types/questions.mjs";
15
15
  import { Convert as ComptesRendusConvert } from "../types/debats.mjs";
16
- import { cloneOption, commitOption, remoteOption, legislatureOption, categoriesOption, dataDirDefaultOption, silentOption, verboseOption, pullOption } from "./shared/cli_helpers.mjs";
16
+ import { cloneOption, commitOption, remoteOption, legislatureOption, categoriesOption, dataDirDefaultOption, silentOption, verboseOption, pullOption, fetchDocumentsOption } from "./shared/cli_helpers.mjs";
17
17
  function parseArgs(argv) {
18
- const optionsDefinitions = [cloneOption, commitOption, remoteOption, legislatureOption, categoriesOption, silentOption, verboseOption, dataDirDefaultOption, pullOption, {
18
+ const optionsDefinitions = [cloneOption, commitOption, remoteOption, legislatureOption, categoriesOption, silentOption, verboseOption, dataDirDefaultOption, pullOption, fetchDocumentsOption, {
19
19
  alias: "d",
20
20
  help: "single dataset to reorganize",
21
21
  name: "dataset",
@@ -79,7 +79,7 @@ function processFiles(datasetRawDir, datasetCleanDir, walkDirParams, cleaner, da
79
79
  });
80
80
  }
81
81
  }
82
- function cleanReorganizedData(options) {
82
+ async function cleanReorganizedData(options) {
83
83
  const dataDir = options.dataDir;
84
84
  Date.prototype.toJSON = patchedDateToJson;
85
85
  let exitCode = options.commit ? 10 : 0;
@@ -216,6 +216,21 @@ function cleanReorganizedData(options) {
216
216
  exitCode = commitGit(datasetCleanDir, options, exitCode, ["."]);
217
217
  }
218
218
  }
219
+ if (enabledDatasets & EnabledDatasets.TextesLoi) {
220
+ for (const dataset of chosenDatasets.textesLoi) {
221
+ const datasetName = path.basename(dataset.filename, ".json");
222
+ if (options.dataset && datasetName !== options.dataset) {
223
+ continue;
224
+ }
225
+ if (typeof dataset.clean === "function") {
226
+ await dataset.clean({
227
+ dataDir,
228
+ dataset,
229
+ options
230
+ });
231
+ }
232
+ }
233
+ }
219
234
 
220
235
  // Restore standard conversion of dates to JSON.
221
236
  Date.prototype.toJSON = existingDateToJson;
@@ -257,5 +272,7 @@ function main(argv) {
257
272
  }
258
273
 
259
274
  /* istanbul ignore if */
260
- if (process.argv[1].endsWith("clean_reorganized_data.ts")) process.exit(main(process.argv));
261
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kTGluZUFyZ3MiLCJmcyIsInBhdGgiLCJjbGVhbkFjdGV1ciIsImNsZWFuQW1lbmRlbWVudCIsImNsZWFuRG9jdW1lbnRPckRpdmlzaW9uIiwiY2xlYW5Eb3NzaWVyUGFybGVtZW50YWlyZSIsImNsZWFuT3JnYW5lIiwiY2xlYW5SZXVuaW9uIiwiY2xlYW5TY3J1dGluIiwiY2xlYW5RdWVzdGlvbiIsImNsZWFuQ29tcHRlUmVuZHUiLCJkYXRhc2V0cyIsIkVuYWJsZWREYXRhc2V0cyIsImdldEVuYWJsZWREYXRhc2V0cyIsImZpbHRlckJ5TGVnaXNsYXR1cmUiLCJleGlzdGluZ0RhdGVUb0pzb24iLCJwYXRjaGVkRGF0ZVRvSnNvbiIsIndhbGtEaXIiLCJnaXQiLCJDb252ZXJ0IiwiQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQiLCJBZ2VuZGFzQ29udmVydCIsIkFtZW5kZW1lbnRzQ29udmVydCIsIkRvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0IiwiU2NydXRpbnNDb252ZXJ0IiwiUXVlc3Rpb25zQ29udmVydCIsIkNvbXB0ZXNSZW5kdXNDb252ZXJ0IiwiY2xvbmVPcHRpb24iLCJjb21taXRPcHRpb24iLCJyZW1vdGVPcHRpb24iLCJsZWdpc2xhdHVyZU9wdGlvbiIsImNhdGVnb3JpZXNPcHRpb24iLCJkYXRhRGlyRGVmYXVsdE9wdGlvbiIsInNpbGVudE9wdGlvbiIsInZlcmJvc2VPcHRpb24iLCJwdWxsT3B0aW9uIiwicGFyc2VBcmdzIiwiYXJndiIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImFsaWFzIiwiaGVscCIsIm5hbWUiLCJ0eXBlIiwiU3RyaW5nIiwiQm9vbGVhbiIsIm9wdGlvbnMiLCJjbG9uZUdpdCIsImdpdEdyb3VwVXJsIiwiZGF0YXNldE5hbWUiLCJkYXRhRGlyIiwiY2xvbmUiLCJjb21taXRHaXQiLCJkYXRhc2V0Q2xlYW5EaXIiLCJleGl0Q29kZSIsInN1YmRpcmVjdG9yaWVzIiwiY29tbWl0IiwiZXJyb3JDb2RlIiwiY29tbWl0QW5kUHVzaCIsInJlbW90ZSIsImNvbW1pdEFuZFB1c2hVaWQiLCJjbGVhbkFuZFZhbGlkYXRlRGF0YSIsImRhdGEiLCJjbGVhbmVyIiwiZnJvbUpzb24iLCJ0b0pzb24iLCJub1ZhbGlkYXRlIiwianNvbkRhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwidmFsaWRhdGVkRGF0YSIsInByb2Nlc3NGaWxlcyIsImRhdGFzZXRSYXdEaXIiLCJ3YWxrRGlyUGFyYW1zIiwiZGF0YUNvbnZlcnRlciIsImZpbGVQYXRoQXJyYXkiLCJmaWxlbmFtZSIsImxlbmd0aCIsImVuZHNXaXRoIiwicmF3RmlsZVBhdGgiLCJqb2luIiwicmF3SnNvbiIsInJlYWRGaWxlU3luYyIsImVuY29kaW5nIiwidmVyYm9zZSIsImNvbnNvbGUiLCJsb2ciLCJwYXJzZSIsInZhbGlkYXRlRGF0YSIsImNsZWFuSnNvbiIsImNsZWFuRmlsZVBhdGgiLCJlbnN1cmVEaXJTeW5jIiwiZGlybmFtZSIsIndyaXRlRmlsZVN5bmMiLCJjbGVhblJlb3JnYW5pemVkRGF0YSIsIkRhdGUiLCJwcm90b3R5cGUiLCJ0b0pTT04iLCJ0cmltIiwicmVwbGFjZSIsImVuYWJsZWREYXRhc2V0cyIsImNhdGVnb3JpZXMiLCJjaG9zZW5EYXRhc2V0cyIsImxlZ2lzbGF0dXJlIiwiQWN0ZXVyc0V0T3JnYW5lcyIsImRhdGFzZXQiLCJhY3RldXJzRXRPcmdhbmVzIiwiYmFzZW5hbWUiLCJwdWxsIiwicmVzZXRBbmRQdWxsIiwiYW5hbHl6ZUFuZFJlbW92ZSIsInRvQWN0ZXVyIiwiYWN0ZXVyVG9Kc29uIiwidG9PcmdhbmUiLCJvcmdhbmVUb0pzb24iLCJBZ2VuZGFzIiwiYWdlbmRhcyIsInRvUmV1bmlvbiIsInJldW5pb25Ub0pzb24iLCJBbWVuZGVtZW50cyIsImFtZW5kZW1lbnRzIiwidG9BbWVuZGVtZW50IiwiYW1lbmRlbWVudFRvSnNvbiIsIkRvc3NpZXJzTGVnaXNsYXRpZnMiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwidG9Eb2N1bWVudCIsImRvY3VtZW50VG9Kc29uIiwidG9Eb3NzaWVyUGFybGVtZW50YWlyZSIsImRvc3NpZXJQYXJsZW1lbnRhaXJlVG9Kc29uIiwiU2NydXRpbnMiLCJzY3J1dGlucyIsInRvU2NydXRpbiIsInNjcnV0aW5Ub0pzb24iLCJRdWVzdGlvbnMiLCJxdWVzdGlvbnMiLCJ0b1F1ZXN0aW9uIiwicXVlc3Rpb25Ub0pzb24iLCJDb21wdGVzUmVuZHVzU2VhbmNlcyIsImNvbXB0ZXNSZW5kdXNTZWFuY2VzIiwidG9Db21wdGVSZW5kdSIsImNvbXB0ZVJlbmR1VG9Kc29uIiwic2lsZW50IiwicmVhZGRpclN5bmMiLCJwYXRobmFtZSIsInJlbW92ZVN5bmMiLCJyZXBvc2l0b3J5RGlyIiwiZXJyb3IiLCJ1aWRCcmFuY2hVcGRhdGUiLCJydW4iLCJjaGlsZFByb2Nlc3MiLCJtYWluIiwicHJvY2VzcyIsImV4aXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9jbGVhbl9yZW9yZ2FuaXplZF9kYXRhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHtcbiAgY2xlYW5BY3RldXIsXG4gIGNsZWFuQW1lbmRlbWVudCxcbiAgY2xlYW5Eb2N1bWVudE9yRGl2aXNpb24sXG4gIGNsZWFuRG9zc2llclBhcmxlbWVudGFpcmUsXG4gIGNsZWFuT3JnYW5lLFxuICBjbGVhblJldW5pb24sXG4gIGNsZWFuU2NydXRpbixcbiAgY2xlYW5RdWVzdGlvbixcbiAgY2xlYW5Db21wdGVSZW5kdSxcbn0gZnJvbSBcIi4uL2NsZWFuZXJzXCJcbmltcG9ydCB7XG4gIGRhdGFzZXRzLFxuICBFbmFibGVkRGF0YXNldHMsXG4gIGdldEVuYWJsZWREYXRhc2V0cyxcbiAgZmlsdGVyQnlMZWdpc2xhdHVyZSxcbn0gZnJvbSBcIi4uL2RhdGFzZXRzXCJcbmltcG9ydCB7IGV4aXN0aW5nRGF0ZVRvSnNvbiwgcGF0Y2hlZERhdGVUb0pzb24gfSBmcm9tIFwiLi4vZGF0ZXNcIlxuaW1wb3J0IHsgd2Fsa0RpciB9IGZyb20gXCIuLi9maWxlX3N5c3RlbXNcIlxuaW1wb3J0ICogYXMgZ2l0IGZyb20gXCIuLi9naXRcIlxuaW1wb3J0IHtcbiAgQWN0ZXVyLFxuICBDb252ZXJ0IGFzIEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LFxuICBPcmdhbmUsXG59IGZyb20gXCIuLi90eXBlcy9hY3RldXJzX2V0X29yZ2FuZXNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBBZ2VuZGFzQ29udmVydCwgUmV1bmlvbiB9IGZyb20gXCIuLi90eXBlcy9hZ2VuZGFzXCJcbmltcG9ydCB7IEFtZW5kZW1lbnQsIENvbnZlcnQgYXMgQW1lbmRlbWVudHNDb252ZXJ0IH0gZnJvbSBcIi4uL3R5cGVzL2FtZW5kZW1lbnRzXCJcbmltcG9ydCB7XG4gIENvbnZlcnQgYXMgRG9zc2llcnNMZWdpc2xhdGlmc0NvbnZlcnQsXG4gIERvY3VtZW50LFxuICBEb3NzaWVyUGFybGVtZW50YWlyZSxcbn0gZnJvbSBcIi4uL3R5cGVzL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzXCJcbmltcG9ydCB7IENvbnZlcnQgYXMgU2NydXRpbnNDb252ZXJ0LCBTY3J1dGluIH0gZnJvbSBcIi4uL3R5cGVzL3NjcnV0aW5zXCJcbmltcG9ydCB7IENvbnZlcnQgYXMgUXVlc3Rpb25zQ29udmVydCwgUXVlc3Rpb24gfSBmcm9tIFwiLi4vdHlwZXMvcXVlc3Rpb25zXCJcbmltcG9ydCB7IENvbnZlcnQgYXMgQ29tcHRlc1JlbmR1c0NvbnZlcnQsIENvbXB0ZVJlbmR1IH0gZnJvbSBcIi4uL3R5cGVzL2RlYmF0c1wiXG5pbXBvcnQge1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIGxlZ2lzbGF0dXJlT3B0aW9uLFxuICBjYXRlZ29yaWVzT3B0aW9uLFxuICBkYXRhRGlyRGVmYXVsdE9wdGlvbixcbiAgc2lsZW50T3B0aW9uLFxuICB2ZXJib3NlT3B0aW9uLFxuICBwdWxsT3B0aW9uLFxufSBmcm9tIFwiLi9zaGFyZWQvY2xpX2hlbHBlcnNcIlxuXG5mdW5jdGlvbiBwYXJzZUFyZ3MoYXJndjogc3RyaW5nW10pOiBhbnkge1xuICBjb25zdCBvcHRpb25zRGVmaW5pdGlvbnMgPSBbXG4gICAgY2xvbmVPcHRpb24sXG4gICAgY29tbWl0T3B0aW9uLFxuICAgIHJlbW90ZU9wdGlvbixcbiAgICBsZWdpc2xhdHVyZU9wdGlvbixcbiAgICBjYXRlZ29yaWVzT3B0aW9uLFxuICAgIHNpbGVudE9wdGlvbixcbiAgICB2ZXJib3NlT3B0aW9uLFxuICAgIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICAgIHB1bGxPcHRpb24sXG4gICAge1xuICAgICAgYWxpYXM6IFwiZFwiLFxuICAgICAgaGVscDogXCJzaW5nbGUgZGF0YXNldCB0byByZW9yZ2FuaXplXCIsXG4gICAgICBuYW1lOiBcImRhdGFzZXRcIixcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGhlbHA6IFwiZG8gbm90IHJlc2V0IC0taGFyZCBhZnRlciBjb21taXQgdG8gc2F2ZSBJL08gaWYgdGhlIHdvcmtpbmcgdHJlZSBpcyB0byBiZSBkaXNjYXJkZWRcIixcbiAgICAgIG5hbWU6IFwibm8tcmVzZXQtYWZ0ZXItY29tbWl0XCIsXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgIH0sXG4gICAge1xuICAgICAgYWxpYXM6IFwiVlwiLFxuICAgICAgaGVscDogXCJkb24ndCB2YWxpZGF0ZSBkYXRhXCIsXG4gICAgICBuYW1lOiBcIm5vLXZhbGlkYXRlXCIsXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgIH0sXG4gIF1cbiAgY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMsIHtcbiAgICBhcmd2OiBhcmd2LFxuICB9KVxuICByZXR1cm4gb3B0aW9uc1xufVxuXG5mdW5jdGlvbiBjbG9uZUdpdChcbiAgZ2l0R3JvdXBVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZGF0YXNldE5hbWU6IHN0cmluZyxcbiAgZGF0YURpcjogc3RyaW5nLFxuKTogdm9pZCB7XG4gIGdpdC5jbG9uZShnaXRHcm91cFVybCwgYCR7ZGF0YXNldE5hbWV9X25ldHRveWVgLCBkYXRhRGlyKVxufVxuXG5mdW5jdGlvbiBjb21taXRHaXQoXG4gIGRhdGFzZXRDbGVhbkRpcjogc3RyaW5nLFxuICBvcHRpb25zOiBhbnksXG4gIGV4aXRDb2RlOiBudW1iZXIsXG4gIHN1YmRpcmVjdG9yaWVzOiBhbnksXG4pOiBudW1iZXIge1xuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICBjb25zdCBlcnJvckNvZGUgPSBnaXQuY29tbWl0QW5kUHVzaChcbiAgICAgIGRhdGFzZXRDbGVhbkRpcixcbiAgICAgIFwiTm91dmVsbGUgbW9pc3NvblwiLFxuICAgICAgb3B0aW9ucy5yZW1vdGUsXG4gICAgKVxuICAgIGlmIChcbiAgICAgIChleGl0Q29kZSA9PT0gMTAgJiYgZXJyb3JDb2RlICE9PSAxMCkgfHxcbiAgICAgIChleGl0Q29kZSA9PT0gMCAmJiBlcnJvckNvZGUgIT09IDAgJiYgZXJyb3JDb2RlICE9PSAxMClcbiAgICApIHtcbiAgICAgIGV4aXRDb2RlID0gZXJyb3JDb2RlXG4gICAgfVxuICB9XG4gIGlmIChcbiAgICBjb21taXRBbmRQdXNoVWlkKGRhdGFzZXRDbGVhbkRpciwgb3B0aW9ucywgc3ViZGlyZWN0b3JpZXMpICYmXG4gICAgKGV4aXRDb2RlID09PSAwIHx8IGV4aXRDb2RlID09PSAxMClcbiAgKSB7XG4gICAgZXhpdENvZGUgPSAxXG4gIH1cbiAgcmV0dXJuIGV4aXRDb2RlXG59XG5cbmZ1bmN0aW9uIGNsZWFuQW5kVmFsaWRhdGVEYXRhPFQ+KFxuICBkYXRhOiBhbnksXG4gIGNsZWFuZXI6IChkYXRhOiBUKSA9PiB2b2lkLFxuICBmcm9tSnNvbjogKGpzb246IHN0cmluZykgPT4gVCxcbiAgdG9Kc29uOiAoZGF0YTogVCkgPT4gc3RyaW5nLFxuICBub1ZhbGlkYXRlOiBCb29sZWFuLFxuKTogc3RyaW5nIHtcbiAgY2xlYW5lcihkYXRhKVxuICBjb25zdCBqc29uRGF0YSA9IEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpXG4gIGlmICghbm9WYWxpZGF0ZSkge1xuICAgIHJldHVybiBqc29uRGF0YVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHZhbGlkYXRlZERhdGE6IFQgPSBmcm9tSnNvbihqc29uRGF0YSlcbiAgICByZXR1cm4gdG9Kc29uKHZhbGlkYXRlZERhdGEpXG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0ZpbGVzPFQ+KFxuICBkYXRhc2V0UmF3RGlyOiBzdHJpbmcsXG4gIGRhdGFzZXRDbGVhbkRpcjogc3RyaW5nLFxuICB3YWxrRGlyUGFyYW1zOiBhbnlbXSxcbiAgY2xlYW5lcjogYW55LFxuICBkYXRhQ29udmVydGVyOiB7IGZyb21Kc29uOiBhbnk7IHRvSnNvbjogYW55IH0sXG4gIG9wdGlvbnM6IGFueSxcbik6IHZvaWQge1xuICBmb3IgKGNvbnN0IGZpbGVQYXRoQXJyYXkgb2Ygd2Fsa0RpcihkYXRhc2V0UmF3RGlyLCB3YWxrRGlyUGFyYW1zKSkge1xuICAgIGNvbnN0IGZpbGVuYW1lID0gZmlsZVBhdGhBcnJheVtmaWxlUGF0aEFycmF5Lmxlbmd0aCAtIDFdXG4gICAgaWYgKCFmaWxlbmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSBjb250aW51ZVxuICAgIGNvbnN0IHJhd0ZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXRSYXdEaXIsIC4uLmZpbGVQYXRoQXJyYXkpXG4gICAgY29uc3QgcmF3SnNvbiA9IGZzLnJlYWRGaWxlU3luYyhyYXdGaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICBpZiAob3B0aW9ucy52ZXJib3NlKSBjb25zb2xlLmxvZyhgQ2xlYW5pbmcgZmlsZTogJHtyYXdGaWxlUGF0aH0uLi5gKVxuICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKHJhd0pzb24pXG4gICAgY29uc3QgdmFsaWRhdGVEYXRhID0gIW9wdGlvbnNbXCJuby12YWxpZGF0ZVwiXVxuICAgIGNvbnN0IGNsZWFuSnNvbiA9IGNsZWFuQW5kVmFsaWRhdGVEYXRhPFQ+KFxuICAgICAgZGF0YSxcbiAgICAgIGNsZWFuZXIsXG4gICAgICBkYXRhQ29udmVydGVyLmZyb21Kc29uLFxuICAgICAgZGF0YUNvbnZlcnRlci50b0pzb24sXG4gICAgICB2YWxpZGF0ZURhdGEsXG4gICAgKVxuICAgIGNvbnN0IGNsZWFuRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldENsZWFuRGlyLCAuLi5maWxlUGF0aEFycmF5KVxuICAgIGZzLmVuc3VyZURpclN5bmMocGF0aC5kaXJuYW1lKGNsZWFuRmlsZVBhdGgpKVxuICAgIGZzLndyaXRlRmlsZVN5bmMoY2xlYW5GaWxlUGF0aCwgY2xlYW5Kc29uLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIGNsZWFuUmVvcmdhbml6ZWREYXRhKG9wdGlvbnM6IGFueSk6IG51bWJlciB7XG4gIGNvbnN0IGRhdGFEaXI6IHN0cmluZyA9IG9wdGlvbnMuZGF0YURpclxuICBEYXRlLnByb3RvdHlwZS50b0pTT04gPSBwYXRjaGVkRGF0ZVRvSnNvblxuICBsZXQgZXhpdENvZGUgPSBvcHRpb25zLmNvbW1pdCA/IDEwIDogMFxuICBjb25zdCBnaXRHcm91cFVybCA9IG9wdGlvbnMuY2xvbmU/LnRyaW0oKS5yZXBsYWNlKC9cXC8rJC8sIFwiXCIpXG4gIGNvbnN0IGVuYWJsZWREYXRhc2V0cyA9IGdldEVuYWJsZWREYXRhc2V0cyhvcHRpb25zLmNhdGVnb3JpZXMpXG4gIGxldCBjaG9zZW5EYXRhc2V0cyA9IGZpbHRlckJ5TGVnaXNsYXR1cmUoZGF0YXNldHMsIG9wdGlvbnMubGVnaXNsYXR1cmUpXG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BY3RldXJzRXRPcmdhbmVzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGNob3NlbkRhdGFzZXRzLmFjdGV1cnNFdE9yZ2FuZXMpIHtcbiAgICAgIGNvbnN0IGRhdGFzZXROYW1lID0gcGF0aC5iYXNlbmFtZShkYXRhc2V0LmZpbGVuYW1lLCBcIi5qc29uXCIpXG4gICAgICBpZiAob3B0aW9ucy5kYXRhc2V0ICYmIGRhdGFzZXROYW1lICE9PSBvcHRpb25zLmRhdGFzZXQpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNsb25lR2l0KGdpdEdyb3VwVXJsLCBkYXRhc2V0TmFtZSwgZGF0YURpcilcblxuICAgICAgY29uc3QgZGF0YXNldFJhd0Rpcjogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXROYW1lKVxuICAgICAgY29uc3QgZGF0YXNldENsZWFuRGlyOiBzdHJpbmcgPSBkYXRhc2V0UmF3RGlyICsgXCJfbmV0dG95ZVwiXG4gICAgICBpZiAob3B0aW9ucy5wdWxsKSB7XG4gICAgICAgIGdpdC5yZXNldEFuZFB1bGwoZGF0YXNldENsZWFuRGlyKVxuICAgICAgfVxuXG4gICAgICBhbmFseXplQW5kUmVtb3ZlKGRhdGFzZXROYW1lLCBvcHRpb25zKVxuICAgICAgcHJvY2Vzc0ZpbGVzPEFjdGV1cj4oXG4gICAgICAgIGRhdGFzZXRSYXdEaXIsXG4gICAgICAgIGRhdGFzZXRDbGVhbkRpcixcbiAgICAgICAgW1wiYWN0ZXVyc1wiXSxcbiAgICAgICAgY2xlYW5BY3RldXIsXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tSnNvbjogQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQudG9BY3RldXIsXG4gICAgICAgICAgdG9Kc29uOiBBY3RldXJzRXRPcmdhbmVzQ29udmVydC5hY3RldXJUb0pzb24sXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG4gICAgICBwcm9jZXNzRmlsZXM8T3JnYW5lPihcbiAgICAgICAgZGF0YXNldFJhd0RpcixcbiAgICAgICAgZGF0YXNldENsZWFuRGlyLFxuICAgICAgICBbXCJvcmdhbmVzXCJdLFxuICAgICAgICBjbGVhbk9yZ2FuZSxcbiAgICAgICAge1xuICAgICAgICAgIGZyb21Kc29uOiBBY3RldXJzRXRPcmdhbmVzQ29udmVydC50b09yZ2FuZSxcbiAgICAgICAgICB0b0pzb246IEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0Lm9yZ2FuZVRvSnNvbixcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIClcblxuICAgICAgZXhpdENvZGUgPSBjb21taXRHaXQoZGF0YXNldENsZWFuRGlyLCBvcHRpb25zLCBleGl0Q29kZSwgW1xuICAgICAgICBcImFjdGV1cnNcIixcbiAgICAgICAgXCJvcmdhbmVzXCIsXG4gICAgICBdKVxuICAgIH1cbiAgfVxuXG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQWdlbmRhcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBjaG9zZW5EYXRhc2V0cy5hZ2VuZGFzKSB7XG4gICAgICBjb25zdCBkYXRhc2V0TmFtZSA9IHBhdGguYmFzZW5hbWUoZGF0YXNldC5maWxlbmFtZSwgXCIuanNvblwiKVxuICAgICAgaWYgKG9wdGlvbnMuZGF0YXNldCAmJiBkYXRhc2V0TmFtZSAhPT0gb3B0aW9ucy5kYXRhc2V0KSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNsb25lR2l0KGdpdEdyb3VwVXJsLCBkYXRhc2V0TmFtZSwgZGF0YURpcilcbiAgICAgIGFuYWx5emVBbmRSZW1vdmUoZGF0YXNldE5hbWUsIG9wdGlvbnMpXG4gICAgICBjb25zdCBkYXRhc2V0UmF3RGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldE5hbWUpXG4gICAgICBjb25zdCBkYXRhc2V0Q2xlYW5EaXI6IHN0cmluZyA9IGRhdGFzZXRSYXdEaXIgKyBcIl9uZXR0b3llXCJcblxuICAgICAgcHJvY2Vzc0ZpbGVzPFJldW5pb24+KFxuICAgICAgICBkYXRhc2V0UmF3RGlyLFxuICAgICAgICBkYXRhc2V0Q2xlYW5EaXIsXG4gICAgICAgIFtdLFxuICAgICAgICBjbGVhblJldW5pb24sXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tSnNvbjogQWdlbmRhc0NvbnZlcnQudG9SZXVuaW9uLFxuICAgICAgICAgIHRvSnNvbjogQWdlbmRhc0NvbnZlcnQucmV1bmlvblRvSnNvbixcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIClcblxuICAgICAgZXhpdENvZGUgPSBjb21taXRHaXQoZGF0YXNldENsZWFuRGlyLCBvcHRpb25zLCBleGl0Q29kZSwgW1wiLlwiXSlcbiAgICB9XG4gIH1cblxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFtZW5kZW1lbnRzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGNob3NlbkRhdGFzZXRzLmFtZW5kZW1lbnRzKSB7XG4gICAgICBjb25zdCBkYXRhc2V0TmFtZSA9IHBhdGguYmFzZW5hbWUoZGF0YXNldC5maWxlbmFtZSwgXCIuanNvblwiKVxuICAgICAgaWYgKG9wdGlvbnMuZGF0YXNldCAmJiBkYXRhc2V0TmFtZSAhPT0gb3B0aW9ucy5kYXRhc2V0KSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNsb25lR2l0KGdpdEdyb3VwVXJsLCBkYXRhc2V0TmFtZSwgZGF0YURpcilcbiAgICAgIGFuYWx5emVBbmRSZW1vdmUoZGF0YXNldE5hbWUsIG9wdGlvbnMpXG4gICAgICBjb25zdCBkYXRhc2V0UmF3RGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldE5hbWUpXG4gICAgICBjb25zdCBkYXRhc2V0Q2xlYW5EaXI6IHN0cmluZyA9IGRhdGFzZXRSYXdEaXIgKyBcIl9uZXR0b3llXCJcblxuICAgICAgcHJvY2Vzc0ZpbGVzPEFtZW5kZW1lbnQ+KFxuICAgICAgICBkYXRhc2V0UmF3RGlyLFxuICAgICAgICBkYXRhc2V0Q2xlYW5EaXIsXG4gICAgICAgIFtdLFxuICAgICAgICBjbGVhbkFtZW5kZW1lbnQsXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tSnNvbjogQW1lbmRlbWVudHNDb252ZXJ0LnRvQW1lbmRlbWVudCxcbiAgICAgICAgICB0b0pzb246IEFtZW5kZW1lbnRzQ29udmVydC5hbWVuZGVtZW50VG9Kc29uLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuXG4gICAgICBleGl0Q29kZSA9IGNvbW1pdEdpdChkYXRhc2V0Q2xlYW5EaXIsIG9wdGlvbnMsIGV4aXRDb2RlLCBbXCIuXCJdKVxuICAgIH1cbiAgfVxuXG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuRG9zc2llcnNMZWdpc2xhdGlmcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBjaG9zZW5EYXRhc2V0cy5kb3NzaWVyc0xlZ2lzbGF0aWZzKSB7XG4gICAgICBjb25zdCBkYXRhc2V0TmFtZSA9IHBhdGguYmFzZW5hbWUoZGF0YXNldC5maWxlbmFtZSwgXCIuanNvblwiKVxuICAgICAgaWYgKG9wdGlvbnMuZGF0YXNldCAmJiBkYXRhc2V0TmFtZSAhPT0gb3B0aW9ucy5kYXRhc2V0KSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNsb25lR2l0KGdpdEdyb3VwVXJsLCBkYXRhc2V0TmFtZSwgZGF0YURpcilcbiAgICAgIGFuYWx5emVBbmRSZW1vdmUoZGF0YXNldE5hbWUsIG9wdGlvbnMpXG4gICAgICBjb25zdCBkYXRhc2V0UmF3RGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldE5hbWUpXG4gICAgICBjb25zdCBkYXRhc2V0Q2xlYW5EaXI6IHN0cmluZyA9IGRhdGFzZXRSYXdEaXIgKyBcIl9uZXR0b3llXCJcblxuICAgICAgcHJvY2Vzc0ZpbGVzPERvY3VtZW50PihcbiAgICAgICAgZGF0YXNldFJhd0RpcixcbiAgICAgICAgZGF0YXNldENsZWFuRGlyLFxuICAgICAgICBbXCJkb2N1bWVudHNcIl0sXG4gICAgICAgIGNsZWFuRG9jdW1lbnRPckRpdmlzaW9uLFxuICAgICAgICB7XG4gICAgICAgICAgZnJvbUpzb246IERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LnRvRG9jdW1lbnQsXG4gICAgICAgICAgdG9Kc29uOiBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydC5kb2N1bWVudFRvSnNvbixcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIClcbiAgICAgIHByb2Nlc3NGaWxlczxEb3NzaWVyUGFybGVtZW50YWlyZT4oXG4gICAgICAgIGRhdGFzZXRSYXdEaXIsXG4gICAgICAgIGRhdGFzZXRDbGVhbkRpcixcbiAgICAgICAgW1wiZG9zc2llcnNcIl0sXG4gICAgICAgIGNsZWFuRG9zc2llclBhcmxlbWVudGFpcmUsXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tSnNvbjogRG9zc2llcnNMZWdpc2xhdGlmc0NvbnZlcnQudG9Eb3NzaWVyUGFybGVtZW50YWlyZSxcbiAgICAgICAgICB0b0pzb246IERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LmRvc3NpZXJQYXJsZW1lbnRhaXJlVG9Kc29uLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuXG4gICAgICBleGl0Q29kZSA9IGNvbW1pdEdpdChkYXRhc2V0Q2xlYW5EaXIsIG9wdGlvbnMsIGV4aXRDb2RlLCBbXG4gICAgICAgIFwiZG9jdW1lbnRzXCIsXG4gICAgICAgIFwiZG9zc2llcnNcIixcbiAgICAgIF0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5TY3J1dGlucykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBjaG9zZW5EYXRhc2V0cy5zY3J1dGlucykge1xuICAgICAgY29uc3QgZGF0YXNldE5hbWUgPSBwYXRoLmJhc2VuYW1lKGRhdGFzZXQuZmlsZW5hbWUsIFwiLmpzb25cIilcbiAgICAgIGlmIChvcHRpb25zLmRhdGFzZXQgJiYgZGF0YXNldE5hbWUgIT09IG9wdGlvbnMuZGF0YXNldCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBjbG9uZUdpdChnaXRHcm91cFVybCwgZGF0YXNldE5hbWUsIGRhdGFEaXIpXG4gICAgICBhbmFseXplQW5kUmVtb3ZlKGRhdGFzZXROYW1lLCBvcHRpb25zKVxuICAgICAgY29uc3QgZGF0YXNldFJhd0Rpcjogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXROYW1lKVxuICAgICAgY29uc3QgZGF0YXNldENsZWFuRGlyOiBzdHJpbmcgPSBkYXRhc2V0UmF3RGlyICsgXCJfbmV0dG95ZVwiXG5cbiAgICAgIHByb2Nlc3NGaWxlczxTY3J1dGluPihcbiAgICAgICAgZGF0YXNldFJhd0RpcixcbiAgICAgICAgZGF0YXNldENsZWFuRGlyLFxuICAgICAgICBbXSxcbiAgICAgICAgY2xlYW5TY3J1dGluLFxuICAgICAgICB7XG4gICAgICAgICAgZnJvbUpzb246IFNjcnV0aW5zQ29udmVydC50b1NjcnV0aW4sXG4gICAgICAgICAgdG9Kc29uOiBTY3J1dGluc0NvbnZlcnQuc2NydXRpblRvSnNvbixcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIClcblxuICAgICAgZXhpdENvZGUgPSBjb21taXRHaXQoZGF0YXNldENsZWFuRGlyLCBvcHRpb25zLCBleGl0Q29kZSwgW1wiLlwiXSlcbiAgICB9XG4gIH1cblxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlF1ZXN0aW9ucykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5xdWVzdGlvbnMpIHtcbiAgICAgIGNvbnN0IGRhdGFzZXROYW1lID0gcGF0aC5iYXNlbmFtZShkYXRhc2V0LmZpbGVuYW1lLCBcIi5qc29uXCIpXG4gICAgICBpZiAob3B0aW9ucy5kYXRhc2V0ICYmIGRhdGFzZXROYW1lICE9PSBvcHRpb25zLmRhdGFzZXQpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgY2xvbmVHaXQoZ2l0R3JvdXBVcmwsIGRhdGFzZXROYW1lLCBkYXRhRGlyKVxuICAgICAgYW5hbHl6ZUFuZFJlbW92ZShkYXRhc2V0TmFtZSwgb3B0aW9ucylcbiAgICAgIGNvbnN0IGRhdGFzZXRSYXdEaXI6IHN0cmluZyA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0TmFtZSlcbiAgICAgIGNvbnN0IGRhdGFzZXRDbGVhbkRpcjogc3RyaW5nID0gZGF0YXNldFJhd0RpciArIFwiX25ldHRveWVcIlxuXG4gICAgICBwcm9jZXNzRmlsZXM8UXVlc3Rpb24+KFxuICAgICAgICBkYXRhc2V0UmF3RGlyLFxuICAgICAgICBkYXRhc2V0Q2xlYW5EaXIsXG4gICAgICAgIFtdLFxuICAgICAgICBjbGVhblF1ZXN0aW9uLFxuICAgICAgICB7XG4gICAgICAgICAgZnJvbUpzb246IFF1ZXN0aW9uc0NvbnZlcnQudG9RdWVzdGlvbixcbiAgICAgICAgICB0b0pzb246IFF1ZXN0aW9uc0NvbnZlcnQucXVlc3Rpb25Ub0pzb24sXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG5cbiAgICAgIGV4aXRDb2RlID0gY29tbWl0R2l0KGRhdGFzZXRDbGVhbkRpciwgb3B0aW9ucywgZXhpdENvZGUsIFtcIi5cIl0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5Db21wdGVzUmVuZHVzU2VhbmNlcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5jb21wdGVzUmVuZHVzU2VhbmNlcykge1xuICAgICAgY29uc3QgZGF0YXNldE5hbWUgPSBwYXRoLmJhc2VuYW1lKGRhdGFzZXQuZmlsZW5hbWUsIFwiLnhtbFwiKVxuICAgICAgaWYgKG9wdGlvbnMuZGF0YXNldCAmJiBkYXRhc2V0TmFtZSAhPT0gb3B0aW9ucy5kYXRhc2V0KSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNsb25lR2l0KGdpdEdyb3VwVXJsLCBkYXRhc2V0TmFtZSwgZGF0YURpcilcbiAgICAgIGFuYWx5emVBbmRSZW1vdmUoZGF0YXNldE5hbWUsIG9wdGlvbnMpXG4gICAgICBjb25zdCBkYXRhc2V0UmF3RGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldE5hbWUpXG4gICAgICBjb25zdCBkYXRhc2V0Q2xlYW5EaXI6IHN0cmluZyA9IGRhdGFzZXRSYXdEaXIgKyBcIl9uZXR0b3llXCJcblxuICAgICAgcHJvY2Vzc0ZpbGVzPENvbXB0ZVJlbmR1PihcbiAgICAgICAgZGF0YXNldFJhd0RpcixcbiAgICAgICAgZGF0YXNldENsZWFuRGlyLFxuICAgICAgICBbXSxcbiAgICAgICAgY2xlYW5Db21wdGVSZW5kdSxcbiAgICAgICAge1xuICAgICAgICAgIGZyb21Kc29uOiBDb21wdGVzUmVuZHVzQ29udmVydC50b0NvbXB0ZVJlbmR1LFxuICAgICAgICAgIHRvSnNvbjogQ29tcHRlc1JlbmR1c0NvbnZlcnQuY29tcHRlUmVuZHVUb0pzb24sXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG5cbiAgICAgIGV4aXRDb2RlID0gY29tbWl0R2l0KGRhdGFzZXRDbGVhbkRpciwgb3B0aW9ucywgZXhpdENvZGUsIFtcIi5cIl0pXG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdG9yZSBzdGFuZGFyZCBjb252ZXJzaW9uIG9mIGRhdGVzIHRvIEpTT04uXG4gIERhdGUucHJvdG90eXBlLnRvSlNPTiA9IGV4aXN0aW5nRGF0ZVRvSnNvblxuXG4gIHJldHVybiBleGl0Q29kZVxufVxuXG5mdW5jdGlvbiBhbmFseXplQW5kUmVtb3ZlKGRhdGFzZXROYW1lOiBzdHJpbmcsIG9wdGlvbnM6IGFueSk6IGFueSB7XG4gIGNvbnN0IGRhdGFEaXIgPSBvcHRpb25zLmRhdGFEaXJcbiAgY29uc3QgZGF0YXNldFJhd0Rpcjogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXROYW1lKVxuICBjb25zdCBkYXRhc2V0Q2xlYW5EaXI6IHN0cmluZyA9IGRhdGFzZXRSYXdEaXIgKyBcIl9uZXR0b3llXCJcbiAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgIGNvbnNvbGUubG9nKGBDbGVhbmluZyBkaXJlY3Rvcnk6ICR7ZGF0YXNldENsZWFuRGlyfeKApmApXG4gIH1cbiAgZnMuZW5zdXJlRGlyU3luYyhkYXRhc2V0Q2xlYW5EaXIpXG4gIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgZnMucmVhZGRpclN5bmMoZGF0YXNldENsZWFuRGlyKSkge1xuICAgIGlmIChmaWxlbmFtZVswXSA9PT0gXCIuXCIpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGNvbnN0IHBhdGhuYW1lID0gcGF0aC5qb2luKGRhdGFzZXRDbGVhbkRpciwgZmlsZW5hbWUpXG4gICAgZnMucmVtb3ZlU3luYyhwYXRobmFtZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRBbmRQdXNoVWlkKFxuICByZXBvc2l0b3J5RGlyOiBzdHJpbmcsXG4gIG9wdGlvbnM6IGFueSxcbiAgc3ViZGlyZWN0b3JpZXM6IGFueSxcbik6IGJvb2xlYW4ge1xuICBsZXQgZXJyb3IgPSBmYWxzZVxuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICBnaXQudWlkQnJhbmNoVXBkYXRlKFxuICAgICAgcmVwb3NpdG9yeURpcixcbiAgICAgIHN1YmRpcmVjdG9yaWVzLFxuICAgICAgb3B0aW9uc1tcIm5vLXJlc2V0LWFmdGVyLWNvbW1pdFwiXSxcbiAgICApXG4gICAgZm9yIChjb25zdCByZW1vdGUgb2Ygb3B0aW9ucy5yZW1vdGUgfHwgW10pIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGdpdC5ydW4ocmVwb3NpdG9yeURpciwgYHB1c2ggLS1xdWlldCAke3JlbW90ZX0gdWlkOnVpZGApXG4gICAgICB9IGNhdGNoIChjaGlsZFByb2Nlc3MpIHtcbiAgICAgICAgZXJyb3IgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBlcnJvclxufVxuXG5mdW5jdGlvbiBtYWluKGFyZ3Y6IGFueSk6IG51bWJlciB7XG4gIGNvbnN0IG9wdGlvbnMgPSBwYXJzZUFyZ3MoYXJndilcbiAgcmV0dXJuIGNsZWFuUmVvcmdhbml6ZWREYXRhKG9wdGlvbnMpXG59XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuaWYgKHByb2Nlc3MuYXJndlsxXS5lbmRzV2l0aChcImNsZWFuX3Jlb3JnYW5pemVkX2RhdGEudHNcIikpXG4gIHByb2Nlc3MuZXhpdChtYWluKHByb2Nlc3MuYXJndikpXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGVBQWUsTUFBTSxtQkFBbUI7QUFDL0MsT0FBT0MsRUFBRSxNQUFNLFVBQVU7QUFDekIsT0FBT0MsSUFBSSxNQUFNLE1BQU07QUFBQSxTQUVyQkMsV0FBVyxFQUNYQyxlQUFlLEVBQ2ZDLHVCQUF1QixFQUN2QkMseUJBQXlCLEVBQ3pCQyxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxhQUFhLEVBQ2JDLGdCQUFnQjtBQUFBLFNBR2hCQyxRQUFRLEVBQ1JDLGVBQWUsRUFDZkMsa0JBQWtCLEVBQ2xCQyxtQkFBbUI7QUFBQSxTQUVaQyxrQkFBa0IsRUFBRUMsaUJBQWlCO0FBQUEsU0FDckNDLE9BQU87QUFBQSxPQUNULEtBQUtDLEdBQUc7QUFBQSxTQUdiQyxPQUFPLElBQUlDLHVCQUF1QjtBQUFBLFNBRzNCRCxPQUFPLElBQUlFLGNBQWM7QUFBQSxTQUNiRixPQUFPLElBQUlHLGtCQUFrQjtBQUFBLFNBRWhESCxPQUFPLElBQUlJLDBCQUEwQjtBQUFBLFNBSTlCSixPQUFPLElBQUlLLGVBQWU7QUFBQSxTQUMxQkwsT0FBTyxJQUFJTSxnQkFBZ0I7QUFBQSxTQUMzQk4sT0FBTyxJQUFJTyxvQkFBb0I7QUFBQSxTQUV0Q0MsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsaUJBQWlCLEVBQ2pCQyxnQkFBZ0IsRUFD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
275
+ if (process.argv[1].endsWith("clean_reorganized_data.ts")) {
276
+ main(process.argv).then(process.exit);
277
+ }
278
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kTGluZUFyZ3MiLCJmcyIsInBhdGgiLCJjbGVhbkFjdGV1ciIsImNsZWFuQW1lbmRlbWVudCIsImNsZWFuRG9jdW1lbnRPckRpdmlzaW9uIiwiY2xlYW5Eb3NzaWVyUGFybGVtZW50YWlyZSIsImNsZWFuT3JnYW5lIiwiY2xlYW5SZXVuaW9uIiwiY2xlYW5TY3J1dGluIiwiY2xlYW5RdWVzdGlvbiIsImNsZWFuQ29tcHRlUmVuZHUiLCJkYXRhc2V0cyIsIkVuYWJsZWREYXRhc2V0cyIsImdldEVuYWJsZWREYXRhc2V0cyIsImZpbHRlckJ5TGVnaXNsYXR1cmUiLCJleGlzdGluZ0RhdGVUb0pzb24iLCJwYXRjaGVkRGF0ZVRvSnNvbiIsIndhbGtEaXIiLCJnaXQiLCJDb252ZXJ0IiwiQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQiLCJBZ2VuZGFzQ29udmVydCIsIkFtZW5kZW1lbnRzQ29udmVydCIsIkRvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0IiwiU2NydXRpbnNDb252ZXJ0IiwiUXVlc3Rpb25zQ29udmVydCIsIkNvbXB0ZXNSZW5kdXNDb252ZXJ0IiwiY2xvbmVPcHRpb24iLCJjb21taXRPcHRpb24iLCJyZW1vdGVPcHRpb24iLCJsZWdpc2xhdHVyZU9wdGlvbiIsImNhdGVnb3JpZXNPcHRpb24iLCJkYXRhRGlyRGVmYXVsdE9wdGlvbiIsInNpbGVudE9wdGlvbiIsInZlcmJvc2VPcHRpb24iLCJwdWxsT3B0aW9uIiwiZmV0Y2hEb2N1bWVudHNPcHRpb24iLCJwYXJzZUFyZ3MiLCJhcmd2Iiwib3B0aW9uc0RlZmluaXRpb25zIiwiYWxpYXMiLCJoZWxwIiwibmFtZSIsInR5cGUiLCJTdHJpbmciLCJCb29sZWFuIiwib3B0aW9ucyIsImNsb25lR2l0IiwiZ2l0R3JvdXBVcmwiLCJkYXRhc2V0TmFtZSIsImRhdGFEaXIiLCJjbG9uZSIsImNvbW1pdEdpdCIsImRhdGFzZXRDbGVhbkRpciIsImV4aXRDb2RlIiwic3ViZGlyZWN0b3JpZXMiLCJjb21taXQiLCJlcnJvckNvZGUiLCJjb21taXRBbmRQdXNoIiwicmVtb3RlIiwiY29tbWl0QW5kUHVzaFVpZCIsImNsZWFuQW5kVmFsaWRhdGVEYXRhIiwiZGF0YSIsImNsZWFuZXIiLCJmcm9tSnNvbiIsInRvSnNvbiIsIm5vVmFsaWRhdGUiLCJqc29uRGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ2YWxpZGF0ZWREYXRhIiwicHJvY2Vzc0ZpbGVzIiwiZGF0YXNldFJhd0RpciIsIndhbGtEaXJQYXJhbXMiLCJkYXRhQ29udmVydGVyIiwiZmlsZVBhdGhBcnJheSIsImZpbGVuYW1lIiwibGVuZ3RoIiwiZW5kc1dpdGgiLCJyYXdGaWxlUGF0aCIsImpvaW4iLCJyYXdKc29uIiwicmVhZEZpbGVTeW5jIiwiZW5jb2RpbmciLCJ2ZXJib3NlIiwiY29uc29sZSIsImxvZyIsInBhcnNlIiwidmFsaWRhdGVEYXRhIiwiY2xlYW5Kc29uIiwiY2xlYW5GaWxlUGF0aCIsImVuc3VyZURpclN5bmMiLCJkaXJuYW1lIiwid3JpdGVGaWxlU3luYyIsImNsZWFuUmVvcmdhbml6ZWREYXRhIiwiRGF0ZSIsInByb3RvdHlwZSIsInRvSlNPTiIsInRyaW0iLCJyZXBsYWNlIiwiZW5hYmxlZERhdGFzZXRzIiwiY2F0ZWdvcmllcyIsImNob3NlbkRhdGFzZXRzIiwibGVnaXNsYXR1cmUiLCJBY3RldXJzRXRPcmdhbmVzIiwiZGF0YXNldCIsImFjdGV1cnNFdE9yZ2FuZXMiLCJiYXNlbmFtZSIsInB1bGwiLCJyZXNldEFuZFB1bGwiLCJhbmFseXplQW5kUmVtb3ZlIiwidG9BY3RldXIiLCJhY3RldXJUb0pzb24iLCJ0b09yZ2FuZSIsIm9yZ2FuZVRvSnNvbiIsIkFnZW5kYXMiLCJhZ2VuZGFzIiwidG9SZXVuaW9uIiwicmV1bmlvblRvSnNvbiIsIkFtZW5kZW1lbnRzIiwiYW1lbmRlbWVudHMiLCJ0b0FtZW5kZW1lbnQiLCJhbWVuZGVtZW50VG9Kc29uIiwiRG9zc2llcnNMZWdpc2xhdGlmcyIsImRvc3NpZXJzTGVnaXNsYXRpZnMiLCJ0b0RvY3VtZW50IiwiZG9jdW1lbnRUb0pzb24iLCJ0b0Rvc3NpZXJQYXJsZW1lbnRhaXJlIiwiZG9zc2llclBhcmxlbWVudGFpcmVUb0pzb24iLCJTY3J1dGlucyIsInNjcnV0aW5zIiwidG9TY3J1dGluIiwic2NydXRpblRvSnNvbiIsIlF1ZXN0aW9ucyIsInF1ZXN0aW9ucyIsInRvUXVlc3Rpb24iLCJxdWVzdGlvblRvSnNvbiIsIkNvbXB0ZXNSZW5kdXNTZWFuY2VzIiwiY29tcHRlc1JlbmR1c1NlYW5jZXMiLCJ0b0NvbXB0ZVJlbmR1IiwiY29tcHRlUmVuZHVUb0pzb24iLCJUZXh0ZXNMb2kiLCJ0ZXh0ZXNMb2kiLCJjbGVhbiIsInNpbGVudCIsInJlYWRkaXJTeW5jIiwicGF0aG5hbWUiLCJyZW1vdmVTeW5jIiwicmVwb3NpdG9yeURpciIsImVycm9yIiwidWlkQnJhbmNoVXBkYXRlIiwicnVuIiwiY2hpbGRQcm9jZXNzIiwibWFpbiIsInByb2Nlc3MiLCJ0aGVuIiwiZXhpdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2NsZWFuX3Jlb3JnYW5pemVkX2RhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQge1xuICBjbGVhbkFjdGV1cixcbiAgY2xlYW5BbWVuZGVtZW50LFxuICBjbGVhbkRvY3VtZW50T3JEaXZpc2lvbixcbiAgY2xlYW5Eb3NzaWVyUGFybGVtZW50YWlyZSxcbiAgY2xlYW5PcmdhbmUsXG4gIGNsZWFuUmV1bmlvbixcbiAgY2xlYW5TY3J1dGluLFxuICBjbGVhblF1ZXN0aW9uLFxuICBjbGVhbkNvbXB0ZVJlbmR1LFxufSBmcm9tIFwiLi4vY2xlYW5lcnNcIlxuaW1wb3J0IHtcbiAgZGF0YXNldHMsXG4gIEVuYWJsZWREYXRhc2V0cyxcbiAgZ2V0RW5hYmxlZERhdGFzZXRzLFxuICBmaWx0ZXJCeUxlZ2lzbGF0dXJlLFxufSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuaW1wb3J0IHsgZXhpc3RpbmdEYXRlVG9Kc29uLCBwYXRjaGVkRGF0ZVRvSnNvbiB9IGZyb20gXCIuLi9kYXRlc1wiXG5pbXBvcnQgeyB3YWxrRGlyIH0gZnJvbSBcIi4uL2ZpbGVfc3lzdGVtc1wiXG5pbXBvcnQgKiBhcyBnaXQgZnJvbSBcIi4uL2dpdFwiXG5pbXBvcnQge1xuICBBY3RldXIsXG4gIENvbnZlcnQgYXMgQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQsXG4gIE9yZ2FuZSxcbn0gZnJvbSBcIi4uL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQgeyBDb252ZXJ0IGFzIEFnZW5kYXNDb252ZXJ0LCBSZXVuaW9uIH0gZnJvbSBcIi4uL3R5cGVzL2FnZW5kYXNcIlxuaW1wb3J0IHsgQW1lbmRlbWVudCwgQ29udmVydCBhcyBBbWVuZGVtZW50c0NvbnZlcnQgfSBmcm9tIFwiLi4vdHlwZXMvYW1lbmRlbWVudHNcIlxuaW1wb3J0IHtcbiAgQ29udmVydCBhcyBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydCxcbiAgRG9jdW1lbnQsXG4gIERvc3NpZXJQYXJsZW1lbnRhaXJlLFxufSBmcm9tIFwiLi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBTY3J1dGluc0NvbnZlcnQsIFNjcnV0aW4gfSBmcm9tIFwiLi4vdHlwZXMvc2NydXRpbnNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBRdWVzdGlvbnNDb252ZXJ0LCBRdWVzdGlvbiB9IGZyb20gXCIuLi90eXBlcy9xdWVzdGlvbnNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBDb21wdGVzUmVuZHVzQ29udmVydCwgQ29tcHRlUmVuZHUgfSBmcm9tIFwiLi4vdHlwZXMvZGViYXRzXCJcbmltcG9ydCB7XG4gIGNsb25lT3B0aW9uLFxuICBjb21taXRPcHRpb24sXG4gIHJlbW90ZU9wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIGNhdGVnb3JpZXNPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIHZlcmJvc2VPcHRpb24sXG4gIHB1bGxPcHRpb24sXG4gIGZldGNoRG9jdW1lbnRzT3B0aW9uLFxufSBmcm9tIFwiLi9zaGFyZWQvY2xpX2hlbHBlcnNcIlxuXG5mdW5jdGlvbiBwYXJzZUFyZ3MoYXJndjogc3RyaW5nW10pOiBhbnkge1xuICBjb25zdCBvcHRpb25zRGVmaW5pdGlvbnMgPSBbXG4gICAgY2xvbmVPcHRpb24sXG4gICAgY29tbWl0T3B0aW9uLFxuICAgIHJlbW90ZU9wdGlvbixcbiAgICBsZWdpc2xhdHVyZU9wdGlvbixcbiAgICBjYXRlZ29yaWVzT3B0aW9uLFxuICAgIHNpbGVudE9wdGlvbixcbiAgICB2ZXJib3NlT3B0aW9uLFxuICAgIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICAgIHB1bGxPcHRpb24sXG4gICAgZmV0Y2hEb2N1bWVudHNPcHRpb24sXG4gICAge1xuICAgICAgYWxpYXM6IFwiZFwiLFxuICAgICAgaGVscDogXCJzaW5nbGUgZGF0YXNldCB0byByZW9yZ2FuaXplXCIsXG4gICAgICBuYW1lOiBcImRhdGFzZXRcIixcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGhlbHA6IFwiZG8gbm90IHJlc2V0IC0taGFyZCBhZnRlciBjb21taXQgdG8gc2F2ZSBJL08gaWYgdGhlIHdvcmtpbmcgdHJlZSBpcyB0byBiZSBkaXNjYXJkZWRcIixcbiAgICAgIG5hbWU6IFwibm8tcmVzZXQtYWZ0ZXItY29tbWl0XCIsXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgIH0sXG4gICAge1xuICAgICAgYWxpYXM6IFwiVlwiLFxuICAgICAgaGVscDogXCJkb24ndCB2YWxpZGF0ZSBkYXRhXCIsXG4gICAgICBuYW1lOiBcIm5vLXZhbGlkYXRlXCIsXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgIH0sXG4gIF1cbiAgY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMsIHtcbiAgICBhcmd2OiBhcmd2LFxuICB9KVxuICByZXR1cm4gb3B0aW9uc1xufVxuXG5mdW5jdGlvbiBjbG9uZUdpdChcbiAgZ2l0R3JvdXBVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZGF0YXNldE5hbWU6IHN0cmluZyxcbiAgZGF0YURpcjogc3RyaW5nLFxuKTogdm9pZCB7XG4gIGdpdC5jbG9uZShnaXRHcm91cFVybCwgYCR7ZGF0YXNldE5hbWV9X25ldHRveWVgLCBkYXRhRGlyKVxufVxuXG5mdW5jdGlvbiBjb21taXRHaXQoXG4gIGRhdGFzZXRDbGVhbkRpcjogc3RyaW5nLFxuICBvcHRpb25zOiBhbnksXG4gIGV4aXRDb2RlOiBudW1iZXIsXG4gIHN1YmRpcmVjdG9yaWVzOiBhbnksXG4pOiBudW1iZXIge1xuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICBjb25zdCBlcnJvckNvZGUgPSBnaXQuY29tbWl0QW5kUHVzaChcbiAgICAgIGRhdGFzZXRDbGVhbkRpcixcbiAgICAgIFwiTm91dmVsbGUgbW9pc3NvblwiLFxuICAgICAgb3B0aW9ucy5yZW1vdGUsXG4gICAgKVxuICAgIGlmIChcbiAgICAgIChleGl0Q29kZSA9PT0gMTAgJiYgZXJyb3JDb2RlICE9PSAxMCkgfHxcbiAgICAgIChleGl0Q29kZSA9PT0gMCAmJiBlcnJvckNvZGUgIT09IDAgJiYgZXJyb3JDb2RlICE9PSAxMClcbiAgICApIHtcbiAgICAgIGV4aXRDb2RlID0gZXJyb3JDb2RlXG4gICAgfVxuICB9XG4gIGlmIChcbiAgICBjb21taXRBbmRQdXNoVWlkKGRhdGFzZXRDbGVhbkRpciwgb3B0aW9ucywgc3ViZGlyZWN0b3JpZXMpICYmXG4gICAgKGV4aXRDb2RlID09PSAwIHx8IGV4aXRDb2RlID09PSAxMClcbiAgKSB7XG4gICAgZXhpdENvZGUgPSAxXG4gIH1cbiAgcmV0dXJuIGV4aXRDb2RlXG59XG5cbmZ1bmN0aW9uIGNsZWFuQW5kVmFsaWRhdGVEYXRhPFQ+KFxuICBkYXRhOiBhbnksXG4gIGNsZWFuZXI6IChkYXRhOiBUKSA9PiB2b2lkLFxuICBmcm9tSnNvbjogKGpzb246IHN0cmluZykgPT4gVCxcbiAgdG9Kc29uOiAoZGF0YTogVCkgPT4gc3RyaW5nLFxuICBub1ZhbGlkYXRlOiBCb29sZWFuLFxuKTogc3RyaW5nIHtcbiAgY2xlYW5lcihkYXRhKVxuICBjb25zdCBqc29uRGF0YSA9IEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpXG4gIGlmICghbm9WYWxpZGF0ZSkge1xuICAgIHJldHVybiBqc29uRGF0YVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHZhbGlkYXRlZERhdGE6IFQgPSBmcm9tSnNvbihqc29uRGF0YSlcbiAgICByZXR1cm4gdG9Kc29uKHZhbGlkYXRlZERhdGEpXG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0ZpbGVzPFQ+KFxuICBkYXRhc2V0UmF3RGlyOiBzdHJpbmcsXG4gIGRhdGFzZXRDbGVhbkRpcjogc3RyaW5nLFxuICB3YWxrRGlyUGFyYW1zOiBhbnlbXSxcbiAgY2xlYW5lcjogYW55LFxuICBkYXRhQ29udmVydGVyOiB7IGZyb21Kc29uOiBhbnk7IHRvSnNvbjogYW55IH0sXG4gIG9wdGlvbnM6IGFueSxcbik6IHZvaWQge1xuICBmb3IgKGNvbnN0IGZpbGVQYXRoQXJyYXkgb2Ygd2Fsa0RpcihkYXRhc2V0UmF3RGlyLCB3YWxrRGlyUGFyYW1zKSkge1xuICAgIGNvbnN0IGZpbGVuYW1lID0gZmlsZVBhdGhBcnJheVtmaWxlUGF0aEFycmF5Lmxlbmd0aCAtIDFdXG4gICAgaWYgKCFmaWxlbmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSBjb250aW51ZVxuICAgIGNvbnN0IHJhd0ZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXRSYXdEaXIsIC4uLmZpbGVQYXRoQXJyYXkpXG4gICAgY29uc3QgcmF3SnNvbiA9IGZzLnJlYWRGaWxlU3luYyhyYXdGaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICBpZiAob3B0aW9ucy52ZXJib3NlKSBjb25zb2xlLmxvZyhgQ2xlYW5pbmcgZmlsZTogJHtyYXdGaWxlUGF0aH0uLi5gKVxuICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKHJhd0pzb24pXG4gICAgY29uc3QgdmFsaWRhdGVEYXRhID0gIW9wdGlvbnNbXCJuby12YWxpZGF0ZVwiXVxuICAgIGNvbnN0IGNsZWFuSnNvbiA9IGNsZWFuQW5kVmFsaWRhdGVEYXRhPFQ+KFxuICAgICAgZGF0YSxcbiAgICAgIGNsZWFuZXIsXG4gICAgICBkYXRhQ29udmVydGVyLmZyb21Kc29uLFxuICAgICAgZGF0YUNvbnZlcnRlci50b0pzb24sXG4gICAgICB2YWxpZGF0ZURhdGEsXG4gICAgKVxuICAgIGNvbnN0IGNsZWFuRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldENsZWFuRGlyLCAuLi5maWxlUGF0aEFycmF5KVxuICAgIGZzLmVuc3VyZURpclN5bmMocGF0aC5kaXJuYW1lKGNsZWFuRmlsZVBhdGgpKVxuICAgIGZzLndyaXRlRmlsZVN5bmMoY2xlYW5GaWxlUGF0aCwgY2xlYW5Kc29uLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNsZWFuUmVvcmdhbml6ZWREYXRhKG9wdGlvbnM6IGFueSk6IFByb21pc2U8bnVtYmVyPiB7XG4gIGNvbnN0IGRhdGFEaXI6IHN0cmluZyA9IG9wdGlvbnMuZGF0YURpclxuICBEYXRlLnByb3RvdHlwZS50b0pTT04gPSBwYXRjaGVkRGF0ZVRvSnNvblxuICBsZXQgZXhpdENvZGUgPSBvcHRpb25zLmNvbW1pdCA/IDEwIDogMFxuICBjb25zdCBnaXRHcm91cFVybCA9IG9wdGlvbnMuY2xvbmU/LnRyaW0oKS5yZXBsYWNlKC9cXC8rJC8sIFwiXCIpXG4gIGNvbnN0IGVuYWJsZWREYXRhc2V0cyA9IGdldEVuYWJsZWREYXRhc2V0cyhvcHRpb25zLmNhdGVnb3JpZXMpXG4gIGxldCBjaG9zZW5EYXRhc2V0cyA9IGZpbHRlckJ5TGVnaXNsYXR1cmUoZGF0YXNldHMsIG9wdGlvbnMubGVnaXNsYXR1cmUpXG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BY3RldXJzRXRPcmdhbmVzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGNob3NlbkRhdGFzZXRzLmFjdGV1cnNFdE9yZ2FuZXMpIHtcbiAgICAgIGNvbnN0IGRhdGFzZXROYW1lID0gcGF0aC5iYXNlbmFtZShkYXRhc2V0LmZpbGVuYW1lLCBcIi5qc29uXCIpXG4gICAgICBpZiAob3B0aW9ucy5kYXRhc2V0ICYmIGRhdGFzZXROYW1lICE9PSBvcHRpb25zLmRhdGFzZXQpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNsb25lR2l0KGdpdEdyb3VwVXJsLCBkYXRhc2V0TmFtZSwgZGF0YURpcilcblxuICAgICAgY29uc3QgZGF0YXNldFJhd0Rpcjogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXROYW1lKVxuICAgICAgY29uc3QgZGF0YXNldENsZWFuRGlyOiBzdHJpbmcgPSBkYXRhc2V0UmF3RGlyICsgXCJfbmV0dG95ZVwiXG4gICAgICBpZiAob3B0aW9ucy5wdWxsKSB7XG4gICAgICAgIGdpdC5yZXNldEFuZFB1bGwoZGF0YXNldENsZWFuRGlyKVxuICAgICAgfVxuXG4gICAgICBhbmFseXplQW5kUmVtb3ZlKGRhdGFzZXROYW1lLCBvcHRpb25zKVxuICAgICAgcHJvY2Vzc0ZpbGVzPEFjdGV1cj4oXG4gICAgICAgIGRhdGFzZXRSYXdEaXIsXG4gICAgICAgIGRhdGFzZXRDbGVhbkRpcixcbiAgICAgICAgW1wiYWN0ZXVyc1wiXSxcbiAgICAgICAgY2xlYW5BY3RldXIsXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tSnNvbjogQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQudG9BY3RldXIsXG4gICAgICAgICAgdG9Kc29uOiBBY3RldXJzRXRPcmdhbmVzQ29udmVydC5hY3RldXJUb0pzb24sXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG4gICAgICBwcm9jZXNzRmlsZXM8T3JnYW5lPihcbiAgICAgICAgZGF0YXNldFJhd0RpcixcbiAgICAgICAgZGF0YXNldENsZWFuRGlyLFxuICAgICAgICBbXCJvcmdhbmVzXCJdLFxuICAgICAgICBjbGVhbk9yZ2FuZSxcbiAgICAgICAge1xuICAgICAgICAgIGZyb21Kc29uOiBBY3RldXJzRXRPcmdhbmVzQ29udmVydC50b09yZ2FuZSxcbiAgICAgICAgICB0b0pzb246IEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0Lm9yZ2FuZVRvSnNvbixcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIClcblxuICAgICAgZXhpdENvZGUgPSBjb21taXRHaXQoZGF0YXNldENsZWFuRGlyLCBvcHRpb25zLCBleGl0Q29kZSwgW1xuICAgICAgICBcImFjdGV1cnNcIixcbiAgICAgICAgXCJvcmdhbmVzXCIsXG4gICAgICBdKVxuICAgIH1cbiAgfVxuXG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQWdlbmRhcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBjaG9zZW5EYXRhc2V0cy5hZ2VuZGFzKSB7XG4gICAgICBjb25zdCBkYXRhc2V0TmFtZSA9IHBhdGguYmFzZW5hbWUoZGF0YXNldC5maWxlbmFtZSwgXCIuanNvblwiKVxuICAgICAgaWYgKG9wdGlvbnMuZGF0YXNldCAmJiBkYXRhc2V0TmFtZSAhPT0gb3B0aW9ucy5kYXRhc2V0KSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNsb25lR2l0KGdpdEdyb3VwVXJsLCBkYXRhc2V0TmFtZSwgZGF0YURpcilcbiAgICAgIGFuYWx5emVBbmRSZW1vdmUoZGF0YXNldE5hbWUsIG9wdGlvbnMpXG4gICAgICBjb25zdCBkYXRhc2V0UmF3RGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldE5hbWUpXG4gICAgICBjb25zdCBkYXRhc2V0Q2xlYW5EaXI6IHN0cmluZyA9IGRhdGFzZXRSYXdEaXIgKyBcIl9uZXR0b3llXCJcblxuICAgICAgcHJvY2Vzc0ZpbGVzPFJldW5pb24+KFxuICAgICAgICBkYXRhc2V0UmF3RGlyLFxuICAgICAgICBkYXRhc2V0Q2xlYW5EaXIsXG4gICAgICAgIFtdLFxuICAgICAgICBjbGVhblJldW5pb24sXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tSnNvbjogQWdlbmRhc0NvbnZlcnQudG9SZXVuaW9uLFxuICAgICAgICAgIHRvSnNvbjogQWdlbmRhc0NvbnZlcnQucmV1bmlvblRvSnNvbixcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIClcblxuICAgICAgZXhpdENvZGUgPSBjb21taXRHaXQoZGF0YXNldENsZWFuRGlyLCBvcHRpb25zLCBleGl0Q29kZSwgW1wiLlwiXSlcbiAgICB9XG4gIH1cblxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFtZW5kZW1lbnRzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGNob3NlbkRhdGFzZXRzLmFtZW5kZW1lbnRzKSB7XG4gICAgICBjb25zdCBkYXRhc2V0TmFtZSA9IHBhdGguYmFzZW5hbWUoZGF0YXNldC5maWxlbmFtZSwgXCIuanNvblwiKVxuICAgICAgaWYgKG9wdGlvbnMuZGF0YXNldCAmJiBkYXRhc2V0TmFtZSAhPT0gb3B0aW9ucy5kYXRhc2V0KSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNsb25lR2l0KGdpdEdyb3VwVXJsLCBkYXRhc2V0TmFtZSwgZGF0YURpcilcbiAgICAgIGFuYWx5emVBbmRSZW1vdmUoZGF0YXNldE5hbWUsIG9wdGlvbnMpXG4gICAgICBjb25zdCBkYXRhc2V0UmF3RGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldE5hbWUpXG4gICAgICBjb25zdCBkYXRhc2V0Q2xlYW5EaXI6IHN0cmluZyA9IGRhdGFzZXRSYXdEaXIgKyBcIl9uZXR0b3llXCJcblxuICAgICAgcHJvY2Vzc0ZpbGVzPEFtZW5kZW1lbnQ+KFxuICAgICAgICBkYXRhc2V0UmF3RGlyLFxuICAgICAgICBkYXRhc2V0Q2xlYW5EaXIsXG4gICAgICAgIFtdLFxuICAgICAgICBjbGVhbkFtZW5kZW1lbnQsXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tSnNvbjogQW1lbmRlbWVudHNDb252ZXJ0LnRvQW1lbmRlbWVudCxcbiAgICAgICAgICB0b0pzb246IEFtZW5kZW1lbnRzQ29udmVydC5hbWVuZGVtZW50VG9Kc29uLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuXG4gICAgICBleGl0Q29kZSA9IGNvbW1pdEdpdChkYXRhc2V0Q2xlYW5EaXIsIG9wdGlvbnMsIGV4aXRDb2RlLCBbXCIuXCJdKVxuICAgIH1cbiAgfVxuXG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuRG9zc2llcnNMZWdpc2xhdGlmcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBjaG9zZW5EYXRhc2V0cy5kb3NzaWVyc0xlZ2lzbGF0aWZzKSB7XG4gICAgICBjb25zdCBkYXRhc2V0TmFtZSA9IHBhdGguYmFzZW5hbWUoZGF0YXNldC5maWxlbmFtZSwgXCIuanNvblwiKVxuICAgICAgaWYgKG9wdGlvbnMuZGF0YXNldCAmJiBkYXRhc2V0TmFtZSAhPT0gb3B0aW9ucy5kYXRhc2V0KSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNsb25lR2l0KGdpdEdyb3VwVXJsLCBkYXRhc2V0TmFtZSwgZGF0YURpcilcbiAgICAgIGFuYWx5emVBbmRSZW1vdmUoZGF0YXNldE5hbWUsIG9wdGlvbnMpXG4gICAgICBjb25zdCBkYXRhc2V0UmF3RGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldE5hbWUpXG4gICAgICBjb25zdCBkYXRhc2V0Q2xlYW5EaXI6IHN0cmluZyA9IGRhdGFzZXRSYXdEaXIgKyBcIl9uZXR0b3llXCJcblxuICAgICAgcHJvY2Vzc0ZpbGVzPERvY3VtZW50PihcbiAgICAgICAgZGF0YXNldFJhd0RpcixcbiAgICAgICAgZGF0YXNldENsZWFuRGlyLFxuICAgICAgICBbXCJkb2N1bWVudHNcIl0sXG4gICAgICAgIGNsZWFuRG9jdW1lbnRPckRpdmlzaW9uLFxuICAgICAgICB7XG4gICAgICAgICAgZnJvbUpzb246IERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LnRvRG9jdW1lbnQsXG4gICAgICAgICAgdG9Kc29uOiBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydC5kb2N1bWVudFRvSnNvbixcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIClcbiAgICAgIHByb2Nlc3NGaWxlczxEb3NzaWVyUGFybGVtZW50YWlyZT4oXG4gICAgICAgIGRhdGFzZXRSYXdEaXIsXG4gICAgICAgIGRhdGFzZXRDbGVhbkRpcixcbiAgICAgICAgW1wiZG9zc2llcnNcIl0sXG4gICAgICAgIGNsZWFuRG9zc2llclBhcmxlbWVudGFpcmUsXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tSnNvbjogRG9zc2llcnNMZWdpc2xhdGlmc0NvbnZlcnQudG9Eb3NzaWVyUGFybGVtZW50YWlyZSxcbiAgICAgICAgICB0b0pzb246IERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LmRvc3NpZXJQYXJsZW1lbnRhaXJlVG9Kc29uLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuXG4gICAgICBleGl0Q29kZSA9IGNvbW1pdEdpdChkYXRhc2V0Q2xlYW5EaXIsIG9wdGlvbnMsIGV4aXRDb2RlLCBbXG4gICAgICAgIFwiZG9jdW1lbnRzXCIsXG4gICAgICAgIFwiZG9zc2llcnNcIixcbiAgICAgIF0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5TY3J1dGlucykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBjaG9zZW5EYXRhc2V0cy5zY3J1dGlucykge1xuICAgICAgY29uc3QgZGF0YXNldE5hbWUgPSBwYXRoLmJhc2VuYW1lKGRhdGFzZXQuZmlsZW5hbWUsIFwiLmpzb25cIilcbiAgICAgIGlmIChvcHRpb25zLmRhdGFzZXQgJiYgZGF0YXNldE5hbWUgIT09IG9wdGlvbnMuZGF0YXNldCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBjbG9uZUdpdChnaXRHcm91cFVybCwgZGF0YXNldE5hbWUsIGRhdGFEaXIpXG4gICAgICBhbmFseXplQW5kUmVtb3ZlKGRhdGFzZXROYW1lLCBvcHRpb25zKVxuICAgICAgY29uc3QgZGF0YXNldFJhd0Rpcjogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXROYW1lKVxuICAgICAgY29uc3QgZGF0YXNldENsZWFuRGlyOiBzdHJpbmcgPSBkYXRhc2V0UmF3RGlyICsgXCJfbmV0dG95ZVwiXG5cbiAgICAgIHByb2Nlc3NGaWxlczxTY3J1dGluPihcbiAgICAgICAgZGF0YXNldFJhd0RpcixcbiAgICAgICAgZGF0YXNldENsZWFuRGlyLFxuICAgICAgICBbXSxcbiAgICAgICAgY2xlYW5TY3J1dGluLFxuICAgICAgICB7XG4gICAgICAgICAgZnJvbUpzb246IFNjcnV0aW5zQ29udmVydC50b1NjcnV0aW4sXG4gICAgICAgICAgdG9Kc29uOiBTY3J1dGluc0NvbnZlcnQuc2NydXRpblRvSnNvbixcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIClcblxuICAgICAgZXhpdENvZGUgPSBjb21taXRHaXQoZGF0YXNldENsZWFuRGlyLCBvcHRpb25zLCBleGl0Q29kZSwgW1wiLlwiXSlcbiAgICB9XG4gIH1cblxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlF1ZXN0aW9ucykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5xdWVzdGlvbnMpIHtcbiAgICAgIGNvbnN0IGRhdGFzZXROYW1lID0gcGF0aC5iYXNlbmFtZShkYXRhc2V0LmZpbGVuYW1lLCBcIi5qc29uXCIpXG4gICAgICBpZiAob3B0aW9ucy5kYXRhc2V0ICYmIGRhdGFzZXROYW1lICE9PSBvcHRpb25zLmRhdGFzZXQpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgY2xvbmVHaXQoZ2l0R3JvdXBVcmwsIGRhdGFzZXROYW1lLCBkYXRhRGlyKVxuICAgICAgYW5hbHl6ZUFuZFJlbW92ZShkYXRhc2V0TmFtZSwgb3B0aW9ucylcbiAgICAgIGNvbnN0IGRhdGFzZXRSYXdEaXI6IHN0cmluZyA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0TmFtZSlcbiAgICAgIGNvbnN0IGRhdGFzZXRDbGVhbkRpcjogc3RyaW5nID0gZGF0YXNldFJhd0RpciArIFwiX25ldHRveWVcIlxuXG4gICAgICBwcm9jZXNzRmlsZXM8UXVlc3Rpb24+KFxuICAgICAgICBkYXRhc2V0UmF3RGlyLFxuICAgICAgICBkYXRhc2V0Q2xlYW5EaXIsXG4gICAgICAgIFtdLFxuICAgICAgICBjbGVhblF1ZXN0aW9uLFxuICAgICAgICB7XG4gICAgICAgICAgZnJvbUpzb246IFF1ZXN0aW9uc0NvbnZlcnQudG9RdWVzdGlvbixcbiAgICAgICAgICB0b0pzb246IFF1ZXN0aW9uc0NvbnZlcnQucXVlc3Rpb25Ub0pzb24sXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG5cbiAgICAgIGV4aXRDb2RlID0gY29tbWl0R2l0KGRhdGFzZXRDbGVhbkRpciwgb3B0aW9ucywgZXhpdENvZGUsIFtcIi5cIl0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5Db21wdGVzUmVuZHVzU2VhbmNlcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5jb21wdGVzUmVuZHVzU2VhbmNlcykge1xuICAgICAgY29uc3QgZGF0YXNldE5hbWUgPSBwYXRoLmJhc2VuYW1lKGRhdGFzZXQuZmlsZW5hbWUsIFwiLnhtbFwiKVxuICAgICAgaWYgKG9wdGlvbnMuZGF0YXNldCAmJiBkYXRhc2V0TmFtZSAhPT0gb3B0aW9ucy5kYXRhc2V0KSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNsb25lR2l0KGdpdEdyb3VwVXJsLCBkYXRhc2V0TmFtZSwgZGF0YURpcilcbiAgICAgIGFuYWx5emVBbmRSZW1vdmUoZGF0YXNldE5hbWUsIG9wdGlvbnMpXG4gICAgICBjb25zdCBkYXRhc2V0UmF3RGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldE5hbWUpXG4gICAgICBjb25zdCBkYXRhc2V0Q2xlYW5EaXI6IHN0cmluZyA9IGRhdGFzZXRSYXdEaXIgKyBcIl9uZXR0b3llXCJcblxuICAgICAgcHJvY2Vzc0ZpbGVzPENvbXB0ZVJlbmR1PihcbiAgICAgICAgZGF0YXNldFJhd0RpcixcbiAgICAgICAgZGF0YXNldENsZWFuRGlyLFxuICAgICAgICBbXSxcbiAgICAgICAgY2xlYW5Db21wdGVSZW5kdSxcbiAgICAgICAge1xuICAgICAgICAgIGZyb21Kc29uOiBDb21wdGVzUmVuZHVzQ29udmVydC50b0NvbXB0ZVJlbmR1LFxuICAgICAgICAgIHRvSnNvbjogQ29tcHRlc1JlbmR1c0NvbnZlcnQuY29tcHRlUmVuZHVUb0pzb24sXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG5cbiAgICAgIGV4aXRDb2RlID0gY29tbWl0R2l0KGRhdGFzZXRDbGVhbkRpciwgb3B0aW9ucywgZXhpdENvZGUsIFtcIi5cIl0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5UZXh0ZXNMb2kpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgY2hvc2VuRGF0YXNldHMudGV4dGVzTG9pKSB7XG4gICAgICBjb25zdCBkYXRhc2V0TmFtZSA9IHBhdGguYmFzZW5hbWUoZGF0YXNldC5maWxlbmFtZSwgXCIuanNvblwiKVxuICAgICAgaWYgKG9wdGlvbnMuZGF0YXNldCAmJiBkYXRhc2V0TmFtZSAhPT0gb3B0aW9ucy5kYXRhc2V0KSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgZGF0YXNldC5jbGVhbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGF3YWl0IGRhdGFzZXQuY2xlYW4oeyBkYXRhRGlyLCBkYXRhc2V0LCBvcHRpb25zIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdG9yZSBzdGFuZGFyZCBjb252ZXJzaW9uIG9mIGRhdGVzIHRvIEpTT04uXG4gIERhdGUucHJvdG90eXBlLnRvSlNPTiA9IGV4aXN0aW5nRGF0ZVRvSnNvblxuXG4gIHJldHVybiBleGl0Q29kZVxufVxuXG5mdW5jdGlvbiBhbmFseXplQW5kUmVtb3ZlKGRhdGFzZXROYW1lOiBzdHJpbmcsIG9wdGlvbnM6IGFueSk6IGFueSB7XG4gIGNvbnN0IGRhdGFEaXIgPSBvcHRpb25zLmRhdGFEaXJcbiAgY29uc3QgZGF0YXNldFJhd0Rpcjogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXROYW1lKVxuICBjb25zdCBkYXRhc2V0Q2xlYW5EaXI6IHN0cmluZyA9IGRhdGFzZXRSYXdEaXIgKyBcIl9uZXR0b3llXCJcbiAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgIGNvbnNvbGUubG9nKGBDbGVhbmluZyBkaXJlY3Rvcnk6ICR7ZGF0YXNldENsZWFuRGlyfeKApmApXG4gIH1cbiAgZnMuZW5zdXJlRGlyU3luYyhkYXRhc2V0Q2xlYW5EaXIpXG4gIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgZnMucmVhZGRpclN5bmMoZGF0YXNldENsZWFuRGlyKSkge1xuICAgIGlmIChmaWxlbmFtZVswXSA9PT0gXCIuXCIpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGNvbnN0IHBhdGhuYW1lID0gcGF0aC5qb2luKGRhdGFzZXRDbGVhbkRpciwgZmlsZW5hbWUpXG4gICAgZnMucmVtb3ZlU3luYyhwYXRobmFtZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRBbmRQdXNoVWlkKFxuICByZXBvc2l0b3J5RGlyOiBzdHJpbmcsXG4gIG9wdGlvbnM6IGFueSxcbiAgc3ViZGlyZWN0b3JpZXM6IGFueSxcbik6IGJvb2xlYW4ge1xuICBsZXQgZXJyb3IgPSBmYWxzZVxuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICBnaXQudWlkQnJhbmNoVXBkYXRlKFxuICAgICAgcmVwb3NpdG9yeURpcixcbiAgICAgIHN1YmRpcmVjdG9yaWVzLFxuICAgICAgb3B0aW9uc1tcIm5vLXJlc2V0LWFmdGVyLWNvbW1pdFwiXSxcbiAgICApXG4gICAgZm9yIChjb25zdCByZW1vdGUgb2Ygb3B0aW9ucy5yZW1vdGUgfHwgW10pIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGdpdC5ydW4ocmVwb3NpdG9yeURpciwgYHB1c2ggLS1xdWlldCAke3JlbW90ZX0gdWlkOnVpZGApXG4gICAgICB9IGNhdGNoIChjaGlsZFByb2Nlc3MpIHtcbiAgICAgICAgZXJyb3IgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBlcnJvclxufVxuXG5mdW5jdGlvbiBtYWluKGFyZ3Y6IGFueSk6IFByb21pc2U8bnVtYmVyPiB7XG4gIGNvbnN0IG9wdGlvbnMgPSBwYXJzZUFyZ3MoYXJndilcbiAgcmV0dXJuIGNsZWFuUmVvcmdhbml6ZWREYXRhKG9wdGlvbnMpXG59XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuaWYgKHByb2Nlc3MuYXJndlsxXS5lbmRzV2l0aChcImNsZWFuX3Jlb3JnYW5pemVkX2RhdGEudHNcIikpIHtcbiAgbWFpbihwcm9jZXNzLmFyZ3YpLnRoZW4ocHJvY2Vzcy5leGl0KVxufSJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsZUFBZSxNQUFNLG1CQUFtQjtBQUMvQyxPQUFP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
@@ -105,8 +105,8 @@ function _processTextesLoiDataset() {
105
105
  }
106
106
  document = _step.value.document;
107
107
  documentType = (_document$classificat = document.classification) === null || _document$classificat === void 0 || (_document$classificat = _document$classificat.type) === null || _document$classificat === void 0 ? void 0 : _document$classificat.code;
108
- allowedTypes = ["PION", "PRJL"];
109
- if (allowedTypes.includes(documentType)) {
108
+ allowedTypes = ["PION", "PRJL"]; // Check document type and check also document uid.
109
+ if (!(!allowedTypes.includes(documentType) || !allowedTypes.includes(document.uid))) {
110
110
  _context.next = 19;
111
111
  break;
112
112
  }
@@ -370,4 +370,4 @@ function timeout(ms) {
370
370
  }, ms);
371
371
  });
372
372
  }
373
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnNFeHRyYSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3BhdGgiLCJfdXRpbCIsIl9zdHJlYW0iLCJfbG9hZGVycyIsIl90ZXh0ZXNfbG9pcyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5Iiwia2V5IiwidmFsdWUiLCJfdG9Qcm9wZXJ0eUtleSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsIl90eXBlb2YiLCJTdHJpbmciLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIkYiLCJfZSIsIm5vcm1hbENvbXBsZXRpb24iLCJkaWRFcnIiLCJlcnIiLCJzdGVwIiwiX2UyIiwiX3NsaWNlZFRvQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsImZyb20iLCJ0ZXN0IiwibGVuIiwiYXJyMiIsImFzeW5jR2VuZXJhdG9yU3RlcCIsImdlbiIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93IiwiaW5mbyIsImVycm9yIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJmbiIsInNlbGYiLCJhcmdzIiwidW5kZWZpbmVkIiwicGlwZWxpbmUiLCJ1dGlsIiwicHJvbWlzaWZ5Iiwic3RyZWFtIiwicHJvY2Vzc1RleHRlc0xvaURhdGFzZXQiLCJfeCIsIl9wcm9jZXNzVGV4dGVzTG9pRGF0YXNldCIsIl9jYWxsZWUiLCJkYXRhc2V0IiwiZGF0YURpciIsIm9wdGlvbnMiLCJfb3B0aW9ucyRzaWxlbnQiLCJzaWxlbnQiLCJfb3B0aW9ucyRmdWxsIiwiZnVsbCIsImZldGNoRG9jdW1lbnRzIiwiX29wdGlvbnMkaWdub3JlSWRzIiwiaWdub3JlSWRzIiwibGVnaXNsYXR1cmUiLCJfb3B0aW9ucyRvbmx5UHJvY2Vzc0kiLCJvbmx5UHJvY2Vzc0lkcyIsIl9vcHRpb25zJHRleHRQcm9jZXNzVCIsInRleHRQcm9jZXNzVGltZW91dCIsIl9vcHRpb25zJHNob3VsZENyZWF0ZSIsInNob3VsZENyZWF0ZUV4YW1wbGUiLCJkYXRlIiwiZG9jdW1lbnRzRGlyIiwibG9nVG9kYXlEaXIiLCJleGFtcGxlRGlyIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJfZG9jdW1lbnQkY2xhc3NpZmljYXQiLCJkb2N1bWVudCIsImRvY3VtZW50VHlwZSIsImFsbG93ZWRUeXBlcyIsImRvY3VtZW50RGlyIiwiaHRtbEZpbGVQYXRoIiwiaHRtbFRlbXBGaWxlUGF0aCIsInVybCIsInJlc3BvbnNlIiwianNvbkZpbGVQYXRoIiwiaHRtbCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwidGl0bGUiLCJwcm9jZXNzIiwiZW52IiwicHJvY2Vzcy5lbnYiLCJPUEVOQUlfQVBJX0tFWSIsIkRhdGUiLCJ0b1VUQ1N0cmluZyIsInJlcGxhY2VBbGwiLCJyZXBsYWNlIiwicGF0aCIsImpvaW4iLCJmaWxlbmFtZSIsImZzIiwiZW5zdXJlRGlyU3luYyIsIml0ZXJMb2FkQXNzZW1ibGVlRG9jdW1lbnRzIiwibm9WYWxpZGF0aW9uIiwiY2xhc3NpZmljYXRpb24iLCJjb2RlIiwiaW5jbHVkZXMiLCJ1aWQiLCJwYXRoRnJvbURvY3VtZW50VWlkIiwiZmV0Y2giLCJvayIsImJvZHkiLCJjcmVhdGVXcml0ZVN0cmVhbSIsInJlbmFtZVN5bmMiLCJleGlzdHNTeW5jIiwicmVhZEZpbGVTeW5jIiwiZW5jb2RpbmciLCJncm91cCIsInQwIiwiZXh0cmFjdFRleHRlTG9pIiwidDEiLCJ0MiIsInRpbWVvdXQiLCJ0MyIsInJhY2UiLCJsb2dTdWNjZXNzIiwiZG9jdW1lbnRJZCIsImRpcmVjdG9yeSIsImdyb3VwRW5kIiwidDQiLCJsb2dFcnJvciIsImVycm9yU3RhY2tUcmFjZSIsInQ1IiwiX3gyIiwiX2V4dHJhY3RUZXh0ZUxvaSIsIl9jYWxsZWUyIiwiX3JlZiIsIl90ZXh0ZUxvaURhdGEkc29tbWFpciIsInRleHRlTG9pRGF0YSIsImpzb25EYXRhIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwicGFyc2VUZXh0ZUxvaSIsIm1ldGEiLCJkb2N1bWVudFJlZiIsInNvbW1haXJlIiwiY29udGVudSIsImFydGljbGVzIiwibG9pIiwiZXhwb3NlTW90aWZzIiwid3JpdGVGaWxlU3luYyIsIkpTT04iLCJzdHJpbmdpZnkiLCJjcmVhdGVFeGFtcGxlIiwiZGF0YSIsIl9yZWYyIiwiX2kiLCJfT2JqZWN0JGVudHJpZXMiLCJlbnRyaWVzIiwiX09iamVjdCRlbnRyaWVzJF9pIiwiX3JlZjMiLCJlcnJvcnNGaWxlUGF0aCIsImVycm9ycyIsInBhcnNlIiwiX3JlZjQiLCJzdWNjZXNzZXNGaWxlUGF0aCIsInN1Y2Nlc3NlcyIsInN1Y2Nlc3MiLCJtcyIsInNldFRpbWVvdXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9wcm9jZXNzX3RleHRlc19sb2lfZGF0YXNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB1dGlsIGZyb20gXCJ1dGlsXCJcbmltcG9ydCBzdHJlYW0gZnJvbSBcInN0cmVhbVwiXG5pbXBvcnQgeyBpdGVyTG9hZEFzc2VtYmxlZURvY3VtZW50cywgcGF0aEZyb21Eb2N1bWVudFVpZCB9IGZyb20gXCIuLi9sb2FkZXJzXCJcbmltcG9ydCB7IHBhcnNlVGV4dGVMb2kgfSBmcm9tIFwiLi4vcGFyc2Vycy90ZXh0ZXNfbG9pc1wiXG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gXCIuLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5cbmNvbnN0IHBpcGVsaW5lID0gdXRpbC5wcm9taXNpZnkoc3RyZWFtLnBpcGVsaW5lKVxuXG50eXBlIFJldHJpZXZlVGV4dGVMb2lBcmd1bWVudHMgPSB7XG4gIGRhdGFzZXQ6IGFueVxuICBkYXRhRGlyOiBzdHJpbmdcbiAgb3B0aW9uczogYW55XG59XG5cbnR5cGUgRXh0cmFjdFRleHRMb2lPcHRpb25zID0ge1xuICBleGFtcGxlRGlyOiBzdHJpbmdcbiAgaHRtbDogc3RyaW5nXG4gIG9wdGlvbnM6IGFueVxuICBkb2N1bWVudDogRG9jdW1lbnRcbiAganNvbkZpbGVQYXRoOiBzdHJpbmdcbiAgc2hvdWxkQ3JlYXRlRXhhbXBsZTogYm9vbGVhblxufVxuXG50eXBlIExvZ09wdGlvbnMgPSB7XG4gIGRpcmVjdG9yeTogc3RyaW5nXG4gIGRvY3VtZW50SWQ6IHN0cmluZ1xuICBlcnJvclN0YWNrVHJhY2U/OiBzdHJpbmdcbn1cblxudHlwZSBFeGFtcGxlT3B0aW9ucyA9IHtcbiAgZGF0YTogb2JqZWN0XG4gIGRpcmVjdG9yeTogc3RyaW5nXG4gIGRvY3VtZW50SWQ6IHN0cmluZ1xuICBzaWxlbnQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NUZXh0ZXNMb2lEYXRhc2V0KFxuICBhcmdzOiBSZXRyaWV2ZVRleHRlTG9pQXJndW1lbnRzLFxuKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgY29uc3QgeyBkYXRhc2V0LCBkYXRhRGlyLCBvcHRpb25zIH0gPSBhcmdzXG5cbiAgY29uc3Qge1xuICAgIHNpbGVudCA9IGZhbHNlLFxuICAgIGZ1bGwgPSBmYWxzZSxcbiAgICBmZXRjaERvY3VtZW50cyxcbiAgICBpZ25vcmVJZHMgPSBbXSxcbiAgICBsZWdpc2xhdHVyZSxcbiAgICBvbmx5UHJvY2Vzc0lkcyA9IFtdLFxuICAgIHRleHRQcm9jZXNzVGltZW91dCA9IDFfMDAwICogNjAgKiAxMCxcbiAgICBzaG91bGRDcmVhdGVFeGFtcGxlID0gdHJ1ZSxcbiAgfSA9IG9wdGlvbnNcblxuICBpZiAoIXNpbGVudCkge1xuICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nICR7ZGF0YXNldD8udGl0bGV9YClcbiAgfVxuXG4gIGlmIChcbiAgICAhc2lsZW50ICYmXG4gICAgKCFwcm9jZXNzLmVudi5PUEVOQUlfQVBJX0tFWSB8fFxuICAgICAgdHlwZW9mIHByb2Nlc3MuZW52Lk9QRU5BSV9BUElfS0VZICE9PSBcInN0cmluZ1wiKVxuICApIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgXCJObyBBUEkga2V5IHNwZWNpZmllZCBmb3IgdGhlIGV4dHJhY3Rpb24gb2YgdGV4dGVzIGRlIGxvaS4gRG9jdW1lbnRzIHdpbGwgbm90IGJlIHBhcnNlZCB0byBKU09OLlwiLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG4gICAgLnRvVVRDU3RyaW5nKClcbiAgICAucmVwbGFjZUFsbChcIjpcIiwgXCItXCIpXG4gICAgLnJlcGxhY2UoXCIsXCIsIFwiXCIpXG4gICAgLnJlcGxhY2UoXCIgXCIsIFwiLVwiKVxuXG4gIGNvbnN0IGRvY3VtZW50c0Rpcjogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gIGNvbnN0IGxvZ1RvZGF5RGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oYCR7ZG9jdW1lbnRzRGlyfV9Mb2dzYCwgZGF0ZSlcbiAgY29uc3QgZXhhbXBsZURpcjogc3RyaW5nID0gcGF0aC5qb2luKGAke2RvY3VtZW50c0Rpcn1fRXhhbXBsZXNgKVxuICBmcy5lbnN1cmVEaXJTeW5jKGRvY3VtZW50c0RpcilcbiAgZnMuZW5zdXJlRGlyU3luYyhsb2dUb2RheURpcilcblxuICBmb3IgKGNvbnN0IHsgZG9jdW1lbnQgfSBvZiBpdGVyTG9hZEFzc2VtYmxlZURvY3VtZW50cyhkYXRhRGlyLCBsZWdpc2xhdHVyZSwge1xuICAgIG5vVmFsaWRhdGlvbjogdHJ1ZSxcbiAgfSkpIHtcbiAgICBjb25zdCBkb2N1bWVudFR5cGU6IHN0cmluZyA9IGRvY3VtZW50LmNsYXNzaWZpY2F0aW9uPy50eXBlPy5jb2RlXG4gICAgY29uc3QgYWxsb3dlZFR5cGVzID0gW1wiUElPTlwiLCBcIlBSSkxcIl1cblxuICAgIGlmICghYWxsb3dlZFR5cGVzLmluY2x1ZGVzKGRvY3VtZW50VHlwZSkpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgaWYgKGlnbm9yZUlkcy5pbmNsdWRlcyhkb2N1bWVudC51aWQpKSB7XG4gICAgICBpZiAoIXNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgU2tpcHBpbmcuIFxuICAgICAgICAgIERvY3VtZW50ICR7ZG9jdW1lbnQudWlkfSBtdXN0IE5PVCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCdzIGluY2x1ZGVkIGluIFwiaWdub3JlSWRzXCIgYXJyYXkuYClcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgLy8gTk9URTogVGhpcyBjYW4gYmUgb3B0aW1pemVkLlxuICAgIGlmIChvbmx5UHJvY2Vzc0lkcy5sZW5ndGggPiAwICYmICFvbmx5UHJvY2Vzc0lkcy5pbmNsdWRlcyhkb2N1bWVudC51aWQpKSB7XG4gICAgICBpZiAoIXNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgU2tpcHBpbmcuIFxuICAgICAgICAgIERvY3VtZW50ICR7ZG9jdW1lbnQudWlkfSBtdXN0IE5PVCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCdzIE5PVCBpbmNsdWRlZCBpbiBcIm9ubHlQcm9jZXNzSWRzXCIgYXJyYXkuYClcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgY29uc3QgZG9jdW1lbnREaXI6IHN0cmluZyA9IHBhdGhGcm9tRG9jdW1lbnRVaWQoZG9jdW1lbnRzRGlyLCBkb2N1bWVudC51aWQpXG4gICAgZnMuZW5zdXJlRGlyU3luYyhkb2N1bWVudERpcilcblxuICAgIGNvbnN0IGh0bWxGaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKGRvY3VtZW50RGlyLCBcImR5bi1vcGVuZGF0YS5odG1sXCIpXG4gICAgY29uc3QgaHRtbFRlbXBGaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgZG9jdW1lbnREaXIsXG4gICAgICBcImR5bi1vcGVuZGF0YV90ZW1wLmh0bWxcIixcbiAgICApXG5cbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IGBodHRwczovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL2R5bi9vcGVuZGF0YS8ke2RvY3VtZW50LnVpZH0uaHRtbGBcblxuICAgIGlmIChmZXRjaERvY3VtZW50cyA9PT0gdHJ1ZSkge1xuICAgICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFJldHJpZXZpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR9IGF0ICR7dXJsfWApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBSZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybClcblxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgIGF3YWl0IHBpcGVsaW5lKFxuICAgICAgICAgIHJlc3BvbnNlLmJvZHkgYXMgdW5rbm93biBhcyBOb2RlSlMuUmVhZGFibGVTdHJlYW0sXG4gICAgICAgICAgZnMuY3JlYXRlV3JpdGVTdHJlYW0oaHRtbFRlbXBGaWxlUGF0aCksXG4gICAgICAgIClcbiAgICAgICAgZnMucmVuYW1lU3luYyhodG1sVGVtcEZpbGVQYXRoLCBodG1sRmlsZVBhdGgpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgIXByb2Nlc3MuZW52Lk9QRU5BSV9BUElfS0VZIHx8XG4gICAgICB0eXBlb2YgcHJvY2Vzcy5lbnYuT1BFTkFJX0FQSV9LRVkgIT09IFwic3RyaW5nXCJcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oZG9jdW1lbnREaXIsIGAke2RvY3VtZW50LnVpZH0uanNvbmApXG5cbiAgICAvLyBJZiBIVE1MIGRvZXMgbm90IGV4aXN0LCBjb250aW51ZVxuICAgIGlmICghZnMuZXhpc3RzU3luYyhodG1sRmlsZVBhdGgpKSB7XG4gICAgICBpZiAoIXNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgU2tpcHBpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR9YClcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoanNvbkZpbGVQYXRoKSAmJiAhZnVsbCkge1xuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICBjb25zdCBodG1sOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoaHRtbEZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuXG4gICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgIGNvbnNvbGUuZ3JvdXAoYFBhcnNpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR94oCmYClcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgUHJvbWlzZS5yYWNlKFtcbiAgICAgICAgYXdhaXQgZXh0cmFjdFRleHRlTG9pKHtcbiAgICAgICAgICBodG1sLFxuICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAganNvbkZpbGVQYXRoLFxuICAgICAgICAgIHNob3VsZENyZWF0ZUV4YW1wbGUsXG4gICAgICAgICAgZXhhbXBsZURpcixcbiAgICAgICAgfSksXG4gICAgICAgIHRpbWVvdXQodGV4dFByb2Nlc3NUaW1lb3V0KSxcbiAgICAgIF0pXG5cbiAgICAgIGxvZ1N1Y2Nlc3Moe1xuICAgICAgICBkb2N1bWVudElkOiBkb2N1bWVudC51aWQsXG4gICAgICAgIGRpcmVjdG9yeTogbG9nVG9kYXlEaXIsXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmdyb3VwRW5kKCkgLy8gRW5kaW5nIGdyb3VwOiBQYXJzaW5nIGRvY3VtZW50ICR7ZG9jdW1lbnQudWlkfeKAplxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIGV4dHJhY3RpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR9LmAsIGVycm9yKVxuICAgICAgfVxuXG4gICAgICBsb2dFcnJvcih7XG4gICAgICAgIGRpcmVjdG9yeTogbG9nVG9kYXlEaXIsXG4gICAgICAgIGRvY3VtZW50SWQ6IGRvY3VtZW50LnVpZCxcbiAgICAgICAgZXJyb3JTdGFja1RyYWNlOiBlcnJvci50b1N0cmluZygpLFxuICAgICAgfSlcbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUuZ3JvdXBFbmQoKSAvLyBFbmRpbmcgZ3JvdXA6IFBhcnNpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR94oCmXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKCFzaWxlbnQpIHtcbiAgICBjb25zb2xlLmdyb3VwRW5kKCkgLy8gRW5kaW5nIGdyb3VwOiBQcm9jZXNzVGV4dGVzTG9pRGF0YXNldFxuICB9XG5cbiAgcmV0dXJuIDBcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXh0cmFjdFRleHRlTG9pKHtcbiAgaHRtbCxcbiAgZG9jdW1lbnQsXG4gIG9wdGlvbnMsXG4gIGpzb25GaWxlUGF0aCxcbiAgc2hvdWxkQ3JlYXRlRXhhbXBsZSxcbiAgZXhhbXBsZURpcixcbn06IEV4dHJhY3RUZXh0TG9pT3B0aW9ucykge1xuICBjb25zdCB0ZXh0ZUxvaURhdGE6IGFueSA9IGF3YWl0IHBhcnNlVGV4dGVMb2koaHRtbClcblxuICBpZiAoIXRleHRlTG9pRGF0YSkge1xuICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBFcnJvciB3aGVuIHBhcnNpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR9YClcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYHRleHRMb2lEYXRhIGNvdWxkIG5vdCBiZSBleHRyYWN0ZWQuYClcbiAgfVxuXG4gIHRleHRlTG9pRGF0YS5tZXRhLnVpZCA9IGRvY3VtZW50LnVpZFxuICB0ZXh0ZUxvaURhdGEubWV0YS5kb2N1bWVudFJlZiA9IGRvY3VtZW50LnVpZFxuXG4gIGNvbnN0IGpzb25EYXRhID0ge1xuICAgIC4uLnRleHRlTG9pRGF0YS5tZXRhLFxuICAgIHNvbW1haXJlOiB0ZXh0ZUxvaURhdGEuc29tbWFpcmUgPz8gW10sXG4gICAgY29udGVudToge1xuICAgICAgYXJ0aWNsZXM6IHRleHRlTG9pRGF0YS5sb2kuYXJ0aWNsZXMsXG4gICAgICBleHBvc2VNb3RpZnM6IHRleHRlTG9pRGF0YS5leHBvc2VNb3RpZnMsXG4gICAgfSxcbiAgfVxuXG4gIGZzLndyaXRlRmlsZVN5bmMoanNvbkZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShqc29uRGF0YSwgbnVsbCwgMikpXG5cbiAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgIGNvbnNvbGUubG9nKGBEb2N1bWVudCAke2RvY3VtZW50LnVpZH0gc3VjY2Vzc2Z1bGx5IHBhcnNlZCAhYClcbiAgfVxuXG4gIGlmIChzaG91bGRDcmVhdGVFeGFtcGxlKSB7XG4gICAgY3JlYXRlRXhhbXBsZSh7XG4gICAgICBkYXRhOiB0ZXh0ZUxvaURhdGEsXG4gICAgICBkb2N1bWVudElkOiBkb2N1bWVudC51aWQsXG4gICAgICBkaXJlY3Rvcnk6IGV4YW1wbGVEaXIsXG4gICAgICBzaWxlbnQ6IG9wdGlvbnMuc2lsZW50LFxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlRXhhbXBsZSh7XG4gIGRhdGEsXG4gIGRpcmVjdG9yeSxcbiAgZG9jdW1lbnRJZCxcbiAgc2lsZW50LFxufTogRXhhbXBsZU9wdGlvbnMpIHtcbiAgY29uc3QgZXhhbXBsZURpcjogc3RyaW5nID0gcGF0aC5qb2luKGRpcmVjdG9yeSwgZG9jdW1lbnRJZClcbiAgZnMuZW5zdXJlRGlyU3luYyhleGFtcGxlRGlyKVxuXG4gIGlmICghc2lsZW50KSB7XG4gICAgY29uc29sZS5sb2coXCJHZW5lcmF0ZSBleGFtcGxlIGF0OiBcIiwgZXhhbXBsZURpcilcbiAgfVxuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGRhdGEpKSB7XG4gICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbihleGFtcGxlRGlyLCBgJHtrZXl9Lmpzb25gKSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHZhbHVlLCBudWxsLCAyKSxcbiAgICApXG4gIH1cbn1cblxuZnVuY3Rpb24gbG9nRXJyb3IoeyBkaXJlY3RvcnksIGRvY3VtZW50SWQsIGVycm9yU3RhY2tUcmFjZSB9OiBMb2dPcHRpb25zKSB7XG4gIGNvbnN0IGVycm9yc0ZpbGVQYXRoID0gcGF0aC5qb2luKGRpcmVjdG9yeSwgXCJlcnJvcnMuanNvblwiKVxuICBsZXQgZXJyb3JzOiB7IFtrZXk6IHN0cmluZ106IHsgZGF0ZTogc3RyaW5nOyBlcnJvcjogc3RyaW5nIH0gfSA9IHt9XG5cbiAgaWYgKGZzLmV4aXN0c1N5bmMoZXJyb3JzRmlsZVBhdGgpKSB7XG4gICAgY29uc3QgZGF0YTogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGVycm9yc0ZpbGVQYXRoLCBcInV0ZjhcIilcbiAgICBlcnJvcnMgPSBKU09OLnBhcnNlKGRhdGEpXG4gIH1cblxuICBlcnJvcnNbZG9jdW1lbnRJZF0gPSB7XG4gICAgZGF0ZTogbmV3IERhdGUoKVxuICAgICAgLnRvVVRDU3RyaW5nKClcbiAgICAgIC5yZXBsYWNlQWxsKFwiOlwiLCBcIi1cIilcbiAgICAgIC5yZXBsYWNlKFwiLFwiLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoXCIgXCIsIFwiLVwiKSxcbiAgICBlcnJvcjogZXJyb3JTdGFja1RyYWNlID8/IFwiXCIsXG4gIH1cblxuICBmcy53cml0ZUZpbGVTeW5jKGVycm9yc0ZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShlcnJvcnMsIG51bGwsIDIpLCBcInV0ZjhcIilcbn1cblxuZnVuY3Rpb24gbG9nU3VjY2Vzcyh7IGRpcmVjdG9yeSwgZG9jdW1lbnRJZCB9OiBMb2dPcHRpb25zKSB7XG4gIGNvbnN0IHN1Y2Nlc3Nlc0ZpbGVQYXRoID0gcGF0aC5qb2luKGRpcmVjdG9yeSwgXCJzdWNjZXNzZXMuanNvblwiKVxuICBsZXQgc3VjY2Vzc2VzOiB7IFtrZXk6IHN0cmluZ106IHsgZGF0ZTogc3RyaW5nOyBzdWNjZXNzOiBib29sZWFuIH0gfSA9IHt9XG5cbiAgaWYgKGZzLmV4aXN0c1N5bmMoc3VjY2Vzc2VzRmlsZVBhdGgpKSB7XG4gICAgY29uc3QgZGF0YTogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHN1Y2Nlc3Nlc0ZpbGVQYXRoLCBcInV0ZjhcIilcbiAgICBzdWNjZXNzZXMgPSBKU09OLnBhcnNlKGRhdGEpXG4gIH1cblxuICBzdWNjZXNzZXNbZG9jdW1lbnRJZF0gPSB7XG4gICAgZGF0ZTogbmV3IERhdGUoKVxuICAgICAgLnRvVVRDU3RyaW5nKClcbiAgICAgIC5yZXBsYWNlQWxsKFwiOlwiLCBcIi1cIilcbiAgICAgIC5yZXBsYWNlKFwiLFwiLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoXCIgXCIsIFwiLVwiKSxcbiAgICBzdWNjZXNzOiB0cnVlLFxuICB9XG5cbiAgZnMud3JpdGVGaWxlU3luYyhcbiAgICBzdWNjZXNzZXNGaWxlUGF0aCxcbiAgICBKU09OLnN0cmluZ2lmeShzdWNjZXNzZXMsIG51bGwsIDIpLFxuICAgIFwidXRmOFwiLFxuICApXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHByb21pc2UgdGhhdCByZWplY3RzIHdpdGggYW4gZXJyb3IgYWZ0ZXIgYSBzcGVjaWZpZWQgdGltZW91dC5cbiAqIElmIHRoZSB0aW1lb3V0IGR1cmF0aW9uIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB6ZXJvLCB0aGUgcHJvbWlzZSByZXNvbHZlcyBpbW1lZGlhdGVseS5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gbXMgLSBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byB3YWl0IGJlZm9yZSByZWplY3RpbmcgdGhlIHByb21pc2UuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVqZWN0cyB3aXRoIGFuIGVycm9yIGFmdGVyIHRoZSBzcGVjaWZpZWQgdGltZW91dC5cbiAqL1xuZnVuY3Rpb24gdGltZW91dChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgaWYgKG1zIDw9IDApIHtcbiAgICAgIHJlc29sdmUoKVxuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgcmVqZWN0KG5ldyBFcnJvcihcIk9wZXJhdGlvbiB0aW1lZCBvdXRcIikpXG4gICAgfSwgbXMpXG4gIH0pXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFMLE9BQUE7QUFBc0QsU0FBQUQs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
373
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnNFeHRyYSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3BhdGgiLCJfdXRpbCIsIl9zdHJlYW0iLCJfbG9hZGVycyIsIl90ZXh0ZXNfbG9pcyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5Iiwia2V5IiwidmFsdWUiLCJfdG9Qcm9wZXJ0eUtleSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsIl90eXBlb2YiLCJTdHJpbmciLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIkYiLCJfZSIsIm5vcm1hbENvbXBsZXRpb24iLCJkaWRFcnIiLCJlcnIiLCJzdGVwIiwiX2UyIiwiX3NsaWNlZFRvQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsImZyb20iLCJ0ZXN0IiwibGVuIiwiYXJyMiIsImFzeW5jR2VuZXJhdG9yU3RlcCIsImdlbiIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93IiwiaW5mbyIsImVycm9yIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJmbiIsInNlbGYiLCJhcmdzIiwidW5kZWZpbmVkIiwicGlwZWxpbmUiLCJ1dGlsIiwicHJvbWlzaWZ5Iiwic3RyZWFtIiwicHJvY2Vzc1RleHRlc0xvaURhdGFzZXQiLCJfeCIsIl9wcm9jZXNzVGV4dGVzTG9pRGF0YXNldCIsIl9jYWxsZWUiLCJkYXRhc2V0IiwiZGF0YURpciIsIm9wdGlvbnMiLCJfb3B0aW9ucyRzaWxlbnQiLCJzaWxlbnQiLCJfb3B0aW9ucyRmdWxsIiwiZnVsbCIsImZldGNoRG9jdW1lbnRzIiwiX29wdGlvbnMkaWdub3JlSWRzIiwiaWdub3JlSWRzIiwibGVnaXNsYXR1cmUiLCJfb3B0aW9ucyRvbmx5UHJvY2Vzc0kiLCJvbmx5UHJvY2Vzc0lkcyIsIl9vcHRpb25zJHRleHRQcm9jZXNzVCIsInRleHRQcm9jZXNzVGltZW91dCIsIl9vcHRpb25zJHNob3VsZENyZWF0ZSIsInNob3VsZENyZWF0ZUV4YW1wbGUiLCJkYXRlIiwiZG9jdW1lbnRzRGlyIiwibG9nVG9kYXlEaXIiLCJleGFtcGxlRGlyIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJfZG9jdW1lbnQkY2xhc3NpZmljYXQiLCJkb2N1bWVudCIsImRvY3VtZW50VHlwZSIsImFsbG93ZWRUeXBlcyIsImRvY3VtZW50RGlyIiwiaHRtbEZpbGVQYXRoIiwiaHRtbFRlbXBGaWxlUGF0aCIsInVybCIsInJlc3BvbnNlIiwianNvbkZpbGVQYXRoIiwiaHRtbCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwidGl0bGUiLCJwcm9jZXNzIiwiZW52IiwicHJvY2Vzcy5lbnYiLCJPUEVOQUlfQVBJX0tFWSIsIkRhdGUiLCJ0b1VUQ1N0cmluZyIsInJlcGxhY2VBbGwiLCJyZXBsYWNlIiwicGF0aCIsImpvaW4iLCJmaWxlbmFtZSIsImZzIiwiZW5zdXJlRGlyU3luYyIsIml0ZXJMb2FkQXNzZW1ibGVlRG9jdW1lbnRzIiwibm9WYWxpZGF0aW9uIiwiY2xhc3NpZmljYXRpb24iLCJjb2RlIiwiaW5jbHVkZXMiLCJ1aWQiLCJwYXRoRnJvbURvY3VtZW50VWlkIiwiZmV0Y2giLCJvayIsImJvZHkiLCJjcmVhdGVXcml0ZVN0cmVhbSIsInJlbmFtZVN5bmMiLCJleGlzdHNTeW5jIiwicmVhZEZpbGVTeW5jIiwiZW5jb2RpbmciLCJncm91cCIsInQwIiwiZXh0cmFjdFRleHRlTG9pIiwidDEiLCJ0MiIsInRpbWVvdXQiLCJ0MyIsInJhY2UiLCJsb2dTdWNjZXNzIiwiZG9jdW1lbnRJZCIsImRpcmVjdG9yeSIsImdyb3VwRW5kIiwidDQiLCJsb2dFcnJvciIsImVycm9yU3RhY2tUcmFjZSIsInQ1IiwiX3gyIiwiX2V4dHJhY3RUZXh0ZUxvaSIsIl9jYWxsZWUyIiwiX3JlZiIsIl90ZXh0ZUxvaURhdGEkc29tbWFpciIsInRleHRlTG9pRGF0YSIsImpzb25EYXRhIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwicGFyc2VUZXh0ZUxvaSIsIm1ldGEiLCJkb2N1bWVudFJlZiIsInNvbW1haXJlIiwiY29udGVudSIsImFydGljbGVzIiwibG9pIiwiZXhwb3NlTW90aWZzIiwid3JpdGVGaWxlU3luYyIsIkpTT04iLCJzdHJpbmdpZnkiLCJjcmVhdGVFeGFtcGxlIiwiZGF0YSIsIl9yZWYyIiwiX2kiLCJfT2JqZWN0JGVudHJpZXMiLCJlbnRyaWVzIiwiX09iamVjdCRlbnRyaWVzJF9pIiwiX3JlZjMiLCJlcnJvcnNGaWxlUGF0aCIsImVycm9ycyIsInBhcnNlIiwiX3JlZjQiLCJzdWNjZXNzZXNGaWxlUGF0aCIsInN1Y2Nlc3NlcyIsInN1Y2Nlc3MiLCJtcyIsInNldFRpbWVvdXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9wcm9jZXNzX3RleHRlc19sb2lfZGF0YXNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB1dGlsIGZyb20gXCJ1dGlsXCJcbmltcG9ydCBzdHJlYW0gZnJvbSBcInN0cmVhbVwiXG5pbXBvcnQgeyBpdGVyTG9hZEFzc2VtYmxlZURvY3VtZW50cywgcGF0aEZyb21Eb2N1bWVudFVpZCB9IGZyb20gXCIuLi9sb2FkZXJzXCJcbmltcG9ydCB7IHBhcnNlVGV4dGVMb2kgfSBmcm9tIFwiLi4vcGFyc2Vycy90ZXh0ZXNfbG9pc1wiXG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gXCIuLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5cbmNvbnN0IHBpcGVsaW5lID0gdXRpbC5wcm9taXNpZnkoc3RyZWFtLnBpcGVsaW5lKVxuXG50eXBlIFJldHJpZXZlVGV4dGVMb2lBcmd1bWVudHMgPSB7XG4gIGRhdGFzZXQ6IGFueVxuICBkYXRhRGlyOiBzdHJpbmdcbiAgb3B0aW9uczogYW55XG59XG5cbnR5cGUgRXh0cmFjdFRleHRMb2lPcHRpb25zID0ge1xuICBleGFtcGxlRGlyOiBzdHJpbmdcbiAgaHRtbDogc3RyaW5nXG4gIG9wdGlvbnM6IGFueVxuICBkb2N1bWVudDogRG9jdW1lbnRcbiAganNvbkZpbGVQYXRoOiBzdHJpbmdcbiAgc2hvdWxkQ3JlYXRlRXhhbXBsZTogYm9vbGVhblxufVxuXG50eXBlIExvZ09wdGlvbnMgPSB7XG4gIGRpcmVjdG9yeTogc3RyaW5nXG4gIGRvY3VtZW50SWQ6IHN0cmluZ1xuICBlcnJvclN0YWNrVHJhY2U/OiBzdHJpbmdcbn1cblxudHlwZSBFeGFtcGxlT3B0aW9ucyA9IHtcbiAgZGF0YTogb2JqZWN0XG4gIGRpcmVjdG9yeTogc3RyaW5nXG4gIGRvY3VtZW50SWQ6IHN0cmluZ1xuICBzaWxlbnQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NUZXh0ZXNMb2lEYXRhc2V0KFxuICBhcmdzOiBSZXRyaWV2ZVRleHRlTG9pQXJndW1lbnRzLFxuKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgY29uc3QgeyBkYXRhc2V0LCBkYXRhRGlyLCBvcHRpb25zIH0gPSBhcmdzXG5cbiAgY29uc3Qge1xuICAgIHNpbGVudCA9IGZhbHNlLFxuICAgIGZ1bGwgPSBmYWxzZSxcbiAgICBmZXRjaERvY3VtZW50cyxcbiAgICBpZ25vcmVJZHMgPSBbXSxcbiAgICBsZWdpc2xhdHVyZSxcbiAgICBvbmx5UHJvY2Vzc0lkcyA9IFtdLFxuICAgIHRleHRQcm9jZXNzVGltZW91dCA9IDFfMDAwICogNjAgKiAxMCxcbiAgICBzaG91bGRDcmVhdGVFeGFtcGxlID0gdHJ1ZSxcbiAgfSA9IG9wdGlvbnNcblxuICBpZiAoIXNpbGVudCkge1xuICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nICR7ZGF0YXNldD8udGl0bGV9YClcbiAgfVxuXG4gIGlmIChcbiAgICAhc2lsZW50ICYmXG4gICAgKCFwcm9jZXNzLmVudi5PUEVOQUlfQVBJX0tFWSB8fFxuICAgICAgdHlwZW9mIHByb2Nlc3MuZW52Lk9QRU5BSV9BUElfS0VZICE9PSBcInN0cmluZ1wiKVxuICApIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgXCJObyBBUEkga2V5IHNwZWNpZmllZCBmb3IgdGhlIGV4dHJhY3Rpb24gb2YgdGV4dGVzIGRlIGxvaS4gRG9jdW1lbnRzIHdpbGwgbm90IGJlIHBhcnNlZCB0byBKU09OLlwiLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG4gICAgLnRvVVRDU3RyaW5nKClcbiAgICAucmVwbGFjZUFsbChcIjpcIiwgXCItXCIpXG4gICAgLnJlcGxhY2UoXCIsXCIsIFwiXCIpXG4gICAgLnJlcGxhY2UoXCIgXCIsIFwiLVwiKVxuXG4gIGNvbnN0IGRvY3VtZW50c0Rpcjogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gIGNvbnN0IGxvZ1RvZGF5RGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oYCR7ZG9jdW1lbnRzRGlyfV9Mb2dzYCwgZGF0ZSlcbiAgY29uc3QgZXhhbXBsZURpcjogc3RyaW5nID0gcGF0aC5qb2luKGAke2RvY3VtZW50c0Rpcn1fRXhhbXBsZXNgKVxuICBmcy5lbnN1cmVEaXJTeW5jKGRvY3VtZW50c0RpcilcbiAgZnMuZW5zdXJlRGlyU3luYyhsb2dUb2RheURpcilcblxuICBmb3IgKGNvbnN0IHsgZG9jdW1lbnQgfSBvZiBpdGVyTG9hZEFzc2VtYmxlZURvY3VtZW50cyhkYXRhRGlyLCBsZWdpc2xhdHVyZSwge1xuICAgIG5vVmFsaWRhdGlvbjogdHJ1ZSxcbiAgfSkpIHtcbiAgICBjb25zdCBkb2N1bWVudFR5cGU6IHN0cmluZyA9IGRvY3VtZW50LmNsYXNzaWZpY2F0aW9uPy50eXBlPy5jb2RlXG4gICAgY29uc3QgYWxsb3dlZFR5cGVzID0gW1wiUElPTlwiLCBcIlBSSkxcIl1cblxuICAgIC8vIENoZWNrIGRvY3VtZW50IHR5cGUgYW5kIGNoZWNrIGFsc28gZG9jdW1lbnQgdWlkLlxuICAgIGlmICghYWxsb3dlZFR5cGVzLmluY2x1ZGVzKGRvY3VtZW50VHlwZSkgfHwgIWFsbG93ZWRUeXBlcy5pbmNsdWRlcyhkb2N1bWVudC51aWQpKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIGlmIChpZ25vcmVJZHMuaW5jbHVkZXMoZG9jdW1lbnQudWlkKSkge1xuICAgICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFNraXBwaW5nLiBcbiAgICAgICAgICBEb2N1bWVudCAke2RvY3VtZW50LnVpZH0gbXVzdCBOT1QgYmUgcHJvY2Vzc2VkIGJlY2F1c2UgaXQncyBpbmNsdWRlZCBpbiBcImlnbm9yZUlkc1wiIGFycmF5LmApXG4gICAgICB9XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIC8vIE5PVEU6IFRoaXMgY2FuIGJlIG9wdGltaXplZC5cbiAgICBpZiAob25seVByb2Nlc3NJZHMubGVuZ3RoID4gMCAmJiAhb25seVByb2Nlc3NJZHMuaW5jbHVkZXMoZG9jdW1lbnQudWlkKSkge1xuICAgICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFNraXBwaW5nLiBcbiAgICAgICAgICBEb2N1bWVudCAke2RvY3VtZW50LnVpZH0gbXVzdCBOT1QgYmUgcHJvY2Vzc2VkIGJlY2F1c2UgaXQncyBOT1QgaW5jbHVkZWQgaW4gXCJvbmx5UHJvY2Vzc0lkc1wiIGFycmF5LmApXG4gICAgICB9XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIGNvbnN0IGRvY3VtZW50RGlyOiBzdHJpbmcgPSBwYXRoRnJvbURvY3VtZW50VWlkKGRvY3VtZW50c0RpciwgZG9jdW1lbnQudWlkKVxuICAgIGZzLmVuc3VyZURpclN5bmMoZG9jdW1lbnREaXIpXG5cbiAgICBjb25zdCBodG1sRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihkb2N1bWVudERpciwgXCJkeW4tb3BlbmRhdGEuaHRtbFwiKVxuICAgIGNvbnN0IGh0bWxUZW1wRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgIGRvY3VtZW50RGlyLFxuICAgICAgXCJkeW4tb3BlbmRhdGFfdGVtcC5odG1sXCIsXG4gICAgKVxuXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSBgaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9keW4vb3BlbmRhdGEvJHtkb2N1bWVudC51aWR9Lmh0bWxgXG5cbiAgICBpZiAoZmV0Y2hEb2N1bWVudHMgPT09IHRydWUpIHtcbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBSZXRyaWV2aW5nIGRvY3VtZW50ICR7ZG9jdW1lbnQudWlkfSBhdCAke3VybH1gKVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZXNwb25zZTogUmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpXG5cbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xuICAgICAgICBhd2FpdCBwaXBlbGluZShcbiAgICAgICAgICByZXNwb25zZS5ib2R5IGFzIHVua25vd24gYXMgTm9kZUpTLlJlYWRhYmxlU3RyZWFtLFxuICAgICAgICAgIGZzLmNyZWF0ZVdyaXRlU3RyZWFtKGh0bWxUZW1wRmlsZVBhdGgpLFxuICAgICAgICApXG4gICAgICAgIGZzLnJlbmFtZVN5bmMoaHRtbFRlbXBGaWxlUGF0aCwgaHRtbEZpbGVQYXRoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFwcm9jZXNzLmVudi5PUEVOQUlfQVBJX0tFWSB8fFxuICAgICAgdHlwZW9mIHByb2Nlc3MuZW52Lk9QRU5BSV9BUElfS0VZICE9PSBcInN0cmluZ1wiXG4gICAgKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKGRvY3VtZW50RGlyLCBgJHtkb2N1bWVudC51aWR9Lmpzb25gKVxuXG4gICAgLy8gSWYgSFRNTCBkb2VzIG5vdCBleGlzdCwgY29udGludWVcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoaHRtbEZpbGVQYXRoKSkge1xuICAgICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFNraXBwaW5nIGRvY3VtZW50ICR7ZG9jdW1lbnQudWlkfWApXG4gICAgICB9XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIGlmIChmcy5leGlzdHNTeW5jKGpzb25GaWxlUGF0aCkgJiYgIWZ1bGwpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgY29uc3QgaHRtbDogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGh0bWxGaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcblxuICAgIGlmICghc2lsZW50KSB7XG4gICAgICBjb25zb2xlLmdyb3VwKGBQYXJzaW5nIGRvY3VtZW50ICR7ZG9jdW1lbnQudWlkfeKApmApXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IFByb21pc2UucmFjZShbXG4gICAgICAgIGF3YWl0IGV4dHJhY3RUZXh0ZUxvaSh7XG4gICAgICAgICAgaHRtbCxcbiAgICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIGpzb25GaWxlUGF0aCxcbiAgICAgICAgICBzaG91bGRDcmVhdGVFeGFtcGxlLFxuICAgICAgICAgIGV4YW1wbGVEaXIsXG4gICAgICAgIH0pLFxuICAgICAgICB0aW1lb3V0KHRleHRQcm9jZXNzVGltZW91dCksXG4gICAgICBdKVxuXG4gICAgICBsb2dTdWNjZXNzKHtcbiAgICAgICAgZG9jdW1lbnRJZDogZG9jdW1lbnQudWlkLFxuICAgICAgICBkaXJlY3Rvcnk6IGxvZ1RvZGF5RGlyLFxuICAgICAgfSlcblxuICAgICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5ncm91cEVuZCgpIC8vIEVuZGluZyBncm91cDogUGFyc2luZyBkb2N1bWVudCAke2RvY3VtZW50LnVpZH3igKZcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBpZiAoIXNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBleHRyYWN0aW5nIGRvY3VtZW50ICR7ZG9jdW1lbnQudWlkfS5gLCBlcnJvcilcbiAgICAgIH1cblxuICAgICAgbG9nRXJyb3Ioe1xuICAgICAgICBkaXJlY3Rvcnk6IGxvZ1RvZGF5RGlyLFxuICAgICAgICBkb2N1bWVudElkOiBkb2N1bWVudC51aWQsXG4gICAgICAgIGVycm9yU3RhY2tUcmFjZTogZXJyb3IudG9TdHJpbmcoKSxcbiAgICAgIH0pXG4gICAgICBpZiAoIXNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmdyb3VwRW5kKCkgLy8gRW5kaW5nIGdyb3VwOiBQYXJzaW5nIGRvY3VtZW50ICR7ZG9jdW1lbnQudWlkfeKAplxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICghc2lsZW50KSB7XG4gICAgY29uc29sZS5ncm91cEVuZCgpIC8vIEVuZGluZyBncm91cDogUHJvY2Vzc1RleHRlc0xvaURhdGFzZXRcbiAgfVxuXG4gIHJldHVybiAwXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGV4dHJhY3RUZXh0ZUxvaSh7XG4gIGh0bWwsXG4gIGRvY3VtZW50LFxuICBvcHRpb25zLFxuICBqc29uRmlsZVBhdGgsXG4gIHNob3VsZENyZWF0ZUV4YW1wbGUsXG4gIGV4YW1wbGVEaXIsXG59OiBFeHRyYWN0VGV4dExvaU9wdGlvbnMpIHtcbiAgY29uc3QgdGV4dGVMb2lEYXRhOiBhbnkgPSBhd2FpdCBwYXJzZVRleHRlTG9pKGh0bWwpXG5cbiAgaWYgKCF0ZXh0ZUxvaURhdGEpIHtcbiAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICBjb25zb2xlLmxvZyhgRXJyb3Igd2hlbiBwYXJzaW5nIGRvY3VtZW50ICR7ZG9jdW1lbnQudWlkfWApXG4gICAgfVxuICAgIHRocm93IEVycm9yKGB0ZXh0TG9pRGF0YSBjb3VsZCBub3QgYmUgZXh0cmFjdGVkLmApXG4gIH1cblxuICB0ZXh0ZUxvaURhdGEubWV0YS51aWQgPSBkb2N1bWVudC51aWRcbiAgdGV4dGVMb2lEYXRhLm1ldGEuZG9jdW1lbnRSZWYgPSBkb2N1bWVudC51aWRcblxuICBjb25zdCBqc29uRGF0YSA9IHtcbiAgICAuLi50ZXh0ZUxvaURhdGEubWV0YSxcbiAgICBzb21tYWlyZTogdGV4dGVMb2lEYXRhLnNvbW1haXJlID8/IFtdLFxuICAgIGNvbnRlbnU6IHtcbiAgICAgIGFydGljbGVzOiB0ZXh0ZUxvaURhdGEubG9pLmFydGljbGVzLFxuICAgICAgZXhwb3NlTW90aWZzOiB0ZXh0ZUxvaURhdGEuZXhwb3NlTW90aWZzLFxuICAgIH0sXG4gIH1cblxuICBmcy53cml0ZUZpbGVTeW5jKGpzb25GaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoanNvbkRhdGEsIG51bGwsIDIpKVxuXG4gIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICBjb25zb2xlLmxvZyhgRG9jdW1lbnQgJHtkb2N1bWVudC51aWR9IHN1Y2Nlc3NmdWxseSBwYXJzZWQgIWApXG4gIH1cblxuICBpZiAoc2hvdWxkQ3JlYXRlRXhhbXBsZSkge1xuICAgIGNyZWF0ZUV4YW1wbGUoe1xuICAgICAgZGF0YTogdGV4dGVMb2lEYXRhLFxuICAgICAgZG9jdW1lbnRJZDogZG9jdW1lbnQudWlkLFxuICAgICAgZGlyZWN0b3J5OiBleGFtcGxlRGlyLFxuICAgICAgc2lsZW50OiBvcHRpb25zLnNpbGVudCxcbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUV4YW1wbGUoe1xuICBkYXRhLFxuICBkaXJlY3RvcnksXG4gIGRvY3VtZW50SWQsXG4gIHNpbGVudCxcbn06IEV4YW1wbGVPcHRpb25zKSB7XG4gIGNvbnN0IGV4YW1wbGVEaXI6IHN0cmluZyA9IHBhdGguam9pbihkaXJlY3RvcnksIGRvY3VtZW50SWQpXG4gIGZzLmVuc3VyZURpclN5bmMoZXhhbXBsZURpcilcblxuICBpZiAoIXNpbGVudCkge1xuICAgIGNvbnNvbGUubG9nKFwiR2VuZXJhdGUgZXhhbXBsZSBhdDogXCIsIGV4YW1wbGVEaXIpXG4gIH1cblxuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkYXRhKSkge1xuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oZXhhbXBsZURpciwgYCR7a2V5fS5qc29uYCksXG4gICAgICBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgbnVsbCwgMiksXG4gICAgKVxuICB9XG59XG5cbmZ1bmN0aW9uIGxvZ0Vycm9yKHsgZGlyZWN0b3J5LCBkb2N1bWVudElkLCBlcnJvclN0YWNrVHJhY2UgfTogTG9nT3B0aW9ucykge1xuICBjb25zdCBlcnJvcnNGaWxlUGF0aCA9IHBhdGguam9pbihkaXJlY3RvcnksIFwiZXJyb3JzLmpzb25cIilcbiAgbGV0IGVycm9yczogeyBba2V5OiBzdHJpbmddOiB7IGRhdGU6IHN0cmluZzsgZXJyb3I6IHN0cmluZyB9IH0gPSB7fVxuXG4gIGlmIChmcy5leGlzdHNTeW5jKGVycm9yc0ZpbGVQYXRoKSkge1xuICAgIGNvbnN0IGRhdGE6IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhlcnJvcnNGaWxlUGF0aCwgXCJ1dGY4XCIpXG4gICAgZXJyb3JzID0gSlNPTi5wYXJzZShkYXRhKVxuICB9XG5cbiAgZXJyb3JzW2RvY3VtZW50SWRdID0ge1xuICAgIGRhdGU6IG5ldyBEYXRlKClcbiAgICAgIC50b1VUQ1N0cmluZygpXG4gICAgICAucmVwbGFjZUFsbChcIjpcIiwgXCItXCIpXG4gICAgICAucmVwbGFjZShcIixcIiwgXCJcIilcbiAgICAgIC5yZXBsYWNlKFwiIFwiLCBcIi1cIiksXG4gICAgZXJyb3I6IGVycm9yU3RhY2tUcmFjZSA/PyBcIlwiLFxuICB9XG5cbiAgZnMud3JpdGVGaWxlU3luYyhlcnJvcnNGaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoZXJyb3JzLCBudWxsLCAyKSwgXCJ1dGY4XCIpXG59XG5cbmZ1bmN0aW9uIGxvZ1N1Y2Nlc3MoeyBkaXJlY3RvcnksIGRvY3VtZW50SWQgfTogTG9nT3B0aW9ucykge1xuICBjb25zdCBzdWNjZXNzZXNGaWxlUGF0aCA9IHBhdGguam9pbihkaXJlY3RvcnksIFwic3VjY2Vzc2VzLmpzb25cIilcbiAgbGV0IHN1Y2Nlc3NlczogeyBba2V5OiBzdHJpbmddOiB7IGRhdGU6IHN0cmluZzsgc3VjY2VzczogYm9vbGVhbiB9IH0gPSB7fVxuXG4gIGlmIChmcy5leGlzdHNTeW5jKHN1Y2Nlc3Nlc0ZpbGVQYXRoKSkge1xuICAgIGNvbnN0IGRhdGE6IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhzdWNjZXNzZXNGaWxlUGF0aCwgXCJ1dGY4XCIpXG4gICAgc3VjY2Vzc2VzID0gSlNPTi5wYXJzZShkYXRhKVxuICB9XG5cbiAgc3VjY2Vzc2VzW2RvY3VtZW50SWRdID0ge1xuICAgIGRhdGU6IG5ldyBEYXRlKClcbiAgICAgIC50b1VUQ1N0cmluZygpXG4gICAgICAucmVwbGFjZUFsbChcIjpcIiwgXCItXCIpXG4gICAgICAucmVwbGFjZShcIixcIiwgXCJcIilcbiAgICAgIC5yZXBsYWNlKFwiIFwiLCBcIi1cIiksXG4gICAgc3VjY2VzczogdHJ1ZSxcbiAgfVxuXG4gIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgc3VjY2Vzc2VzRmlsZVBhdGgsXG4gICAgSlNPTi5zdHJpbmdpZnkoc3VjY2Vzc2VzLCBudWxsLCAyKSxcbiAgICBcInV0ZjhcIixcbiAgKVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwcm9taXNlIHRoYXQgcmVqZWN0cyB3aXRoIGFuIGVycm9yIGFmdGVyIGEgc3BlY2lmaWVkIHRpbWVvdXQuXG4gKiBJZiB0aGUgdGltZW91dCBkdXJhdGlvbiBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gemVybywgdGhlIHByb21pc2UgcmVzb2x2ZXMgaW1tZWRpYXRlbHkuXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IG1zIC0gVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgcmVqZWN0aW5nIHRoZSBwcm9taXNlLlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlamVjdHMgd2l0aCBhbiBlcnJvciBhZnRlciB0aGUgc3BlY2lmaWVkIHRpbWVvdXQuXG4gKi9cbmZ1bmN0aW9uIHRpbWVvdXQobXM6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGlmIChtcyA8PSAwKSB7XG4gICAgICByZXNvbHZlKClcbiAgICB9XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHJlamVjdChuZXcgRXJyb3IoXCJPcGVyYXRpb24gdGltZWQgb3V0XCIpKVxuICAgIH0sIG1zKVxuICB9KVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFB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
@@ -40,7 +40,9 @@ export async function processTextesLoiDataset(args) {
40
40
  })) {
41
41
  const documentType = document.classification?.type?.code;
42
42
  const allowedTypes = ["PION", "PRJL"];
43
- if (!allowedTypes.includes(documentType)) {
43
+
44
+ // Check document type and check also document uid.
45
+ if (!allowedTypes.includes(documentType) || !allowedTypes.includes(document.uid)) {
44
46
  continue;
45
47
  }
46
48
  if (ignoreIds.includes(document.uid)) {
@@ -234,4 +236,4 @@ function timeout(ms) {
234
236
  }, ms);
235
237
  });
236
238
  }
237
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsInBhdGgiLCJ1dGlsIiwic3RyZWFtIiwiaXRlckxvYWRBc3NlbWJsZWVEb2N1bWVudHMiLCJwYXRoRnJvbURvY3VtZW50VWlkIiwicGFyc2VUZXh0ZUxvaSIsInBpcGVsaW5lIiwicHJvbWlzaWZ5IiwicHJvY2Vzc1RleHRlc0xvaURhdGFzZXQiLCJhcmdzIiwiZGF0YXNldCIsImRhdGFEaXIiLCJvcHRpb25zIiwic2lsZW50IiwiZnVsbCIsImZldGNoRG9jdW1lbnRzIiwiaWdub3JlSWRzIiwibGVnaXNsYXR1cmUiLCJvbmx5UHJvY2Vzc0lkcyIsInRleHRQcm9jZXNzVGltZW91dCIsInNob3VsZENyZWF0ZUV4YW1wbGUiLCJjb25zb2xlIiwibG9nIiwidGl0bGUiLCJwcm9jZXNzIiwiZW52IiwiT1BFTkFJX0FQSV9LRVkiLCJlcnJvciIsImRhdGUiLCJEYXRlIiwidG9VVENTdHJpbmciLCJyZXBsYWNlQWxsIiwicmVwbGFjZSIsImRvY3VtZW50c0RpciIsImpvaW4iLCJmaWxlbmFtZSIsImxvZ1RvZGF5RGlyIiwiZXhhbXBsZURpciIsImVuc3VyZURpclN5bmMiLCJkb2N1bWVudCIsIm5vVmFsaWRhdGlvbiIsImRvY3VtZW50VHlwZSIsImNsYXNzaWZpY2F0aW9uIiwidHlwZSIsImNvZGUiLCJhbGxvd2VkVHlwZXMiLCJpbmNsdWRlcyIsInVpZCIsImxlbmd0aCIsImRvY3VtZW50RGlyIiwiaHRtbEZpbGVQYXRoIiwiaHRtbFRlbXBGaWxlUGF0aCIsInVybCIsInJlc3BvbnNlIiwiZmV0Y2giLCJvayIsImJvZHkiLCJjcmVhdGVXcml0ZVN0cmVhbSIsInJlbmFtZVN5bmMiLCJqc29uRmlsZVBhdGgiLCJleGlzdHNTeW5jIiwiaHRtbCIsInJlYWRGaWxlU3luYyIsImVuY29kaW5nIiwiZ3JvdXAiLCJQcm9taXNlIiwicmFjZSIsImV4dHJhY3RUZXh0ZUxvaSIsInRpbWVvdXQiLCJsb2dTdWNjZXNzIiwiZG9jdW1lbnRJZCIsImRpcmVjdG9yeSIsImdyb3VwRW5kIiwibG9nRXJyb3IiLCJlcnJvclN0YWNrVHJhY2UiLCJ0b1N0cmluZyIsInRleHRlTG9pRGF0YSIsIkVycm9yIiwibWV0YSIsImRvY3VtZW50UmVmIiwianNvbkRhdGEiLCJzb21tYWlyZSIsImNvbnRlbnUiLCJhcnRpY2xlcyIsImxvaSIsImV4cG9zZU1vdGlmcyIsIndyaXRlRmlsZVN5bmMiLCJKU09OIiwic3RyaW5naWZ5IiwiY3JlYXRlRXhhbXBsZSIsImRhdGEiLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJlcnJvcnNGaWxlUGF0aCIsImVycm9ycyIsInBhcnNlIiwic3VjY2Vzc2VzRmlsZVBhdGgiLCJzdWNjZXNzZXMiLCJzdWNjZXNzIiwibXMiLCJyZXNvbHZlIiwicmVqZWN0Iiwic2V0VGltZW91dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3Byb2Nlc3NfdGV4dGVzX2xvaV9kYXRhc2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHV0aWwgZnJvbSBcInV0aWxcIlxuaW1wb3J0IHN0cmVhbSBmcm9tIFwic3RyZWFtXCJcbmltcG9ydCB7IGl0ZXJMb2FkQXNzZW1ibGVlRG9jdW1lbnRzLCBwYXRoRnJvbURvY3VtZW50VWlkIH0gZnJvbSBcIi4uL2xvYWRlcnNcIlxuaW1wb3J0IHsgcGFyc2VUZXh0ZUxvaSB9IGZyb20gXCIuLi9wYXJzZXJzL3RleHRlc19sb2lzXCJcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSBcIi4uL3R5cGVzL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzXCJcblxuY29uc3QgcGlwZWxpbmUgPSB1dGlsLnByb21pc2lmeShzdHJlYW0ucGlwZWxpbmUpXG5cbnR5cGUgUmV0cmlldmVUZXh0ZUxvaUFyZ3VtZW50cyA9IHtcbiAgZGF0YXNldDogYW55XG4gIGRhdGFEaXI6IHN0cmluZ1xuICBvcHRpb25zOiBhbnlcbn1cblxudHlwZSBFeHRyYWN0VGV4dExvaU9wdGlvbnMgPSB7XG4gIGV4YW1wbGVEaXI6IHN0cmluZ1xuICBodG1sOiBzdHJpbmdcbiAgb3B0aW9uczogYW55XG4gIGRvY3VtZW50OiBEb2N1bWVudFxuICBqc29uRmlsZVBhdGg6IHN0cmluZ1xuICBzaG91bGRDcmVhdGVFeGFtcGxlOiBib29sZWFuXG59XG5cbnR5cGUgTG9nT3B0aW9ucyA9IHtcbiAgZGlyZWN0b3J5OiBzdHJpbmdcbiAgZG9jdW1lbnRJZDogc3RyaW5nXG4gIGVycm9yU3RhY2tUcmFjZT86IHN0cmluZ1xufVxuXG50eXBlIEV4YW1wbGVPcHRpb25zID0ge1xuICBkYXRhOiBvYmplY3RcbiAgZGlyZWN0b3J5OiBzdHJpbmdcbiAgZG9jdW1lbnRJZDogc3RyaW5nXG4gIHNpbGVudDogYm9vbGVhblxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc1RleHRlc0xvaURhdGFzZXQoXG4gIGFyZ3M6IFJldHJpZXZlVGV4dGVMb2lBcmd1bWVudHMsXG4pOiBQcm9taXNlPG51bWJlcj4ge1xuICBjb25zdCB7IGRhdGFzZXQsIGRhdGFEaXIsIG9wdGlvbnMgfSA9IGFyZ3NcblxuICBjb25zdCB7XG4gICAgc2lsZW50ID0gZmFsc2UsXG4gICAgZnVsbCA9IGZhbHNlLFxuICAgIGZldGNoRG9jdW1lbnRzLFxuICAgIGlnbm9yZUlkcyA9IFtdLFxuICAgIGxlZ2lzbGF0dXJlLFxuICAgIG9ubHlQcm9jZXNzSWRzID0gW10sXG4gICAgdGV4dFByb2Nlc3NUaW1lb3V0ID0gMV8wMDAgKiA2MCAqIDEwLFxuICAgIHNob3VsZENyZWF0ZUV4YW1wbGUgPSB0cnVlLFxuICB9ID0gb3B0aW9uc1xuXG4gIGlmICghc2lsZW50KSB7XG4gICAgY29uc29sZS5sb2coYExvYWRpbmcgJHtkYXRhc2V0Py50aXRsZX1gKVxuICB9XG5cbiAgaWYgKFxuICAgICFzaWxlbnQgJiZcbiAgICAoIXByb2Nlc3MuZW52Lk9QRU5BSV9BUElfS0VZIHx8XG4gICAgICB0eXBlb2YgcHJvY2Vzcy5lbnYuT1BFTkFJX0FQSV9LRVkgIT09IFwic3RyaW5nXCIpXG4gICkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBcIk5vIEFQSSBrZXkgc3BlY2lmaWVkIGZvciB0aGUgZXh0cmFjdGlvbiBvZiB0ZXh0ZXMgZGUgbG9pLiBEb2N1bWVudHMgd2lsbCBub3QgYmUgcGFyc2VkIHRvIEpTT04uXCIsXG4gICAgKVxuICB9XG5cbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKClcbiAgICAudG9VVENTdHJpbmcoKVxuICAgIC5yZXBsYWNlQWxsKFwiOlwiLCBcIi1cIilcbiAgICAucmVwbGFjZShcIixcIiwgXCJcIilcbiAgICAucmVwbGFjZShcIiBcIiwgXCItXCIpXG5cbiAgY29uc3QgZG9jdW1lbnRzRGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgY29uc3QgbG9nVG9kYXlEaXI6IHN0cmluZyA9IHBhdGguam9pbihgJHtkb2N1bWVudHNEaXJ9X0xvZ3NgLCBkYXRlKVxuICBjb25zdCBleGFtcGxlRGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oYCR7ZG9jdW1lbnRzRGlyfV9FeGFtcGxlc2ApXG4gIGZzLmVuc3VyZURpclN5bmMoZG9jdW1lbnRzRGlyKVxuICBmcy5lbnN1cmVEaXJTeW5jKGxvZ1RvZGF5RGlyKVxuXG4gIGZvciAoY29uc3QgeyBkb2N1bWVudCB9IG9mIGl0ZXJMb2FkQXNzZW1ibGVlRG9jdW1lbnRzKGRhdGFEaXIsIGxlZ2lzbGF0dXJlLCB7XG4gICAgbm9WYWxpZGF0aW9uOiB0cnVlLFxuICB9KSkge1xuICAgIGNvbnN0IGRvY3VtZW50VHlwZTogc3RyaW5nID0gZG9jdW1lbnQuY2xhc3NpZmljYXRpb24/LnR5cGU/LmNvZGVcbiAgICBjb25zdCBhbGxvd2VkVHlwZXMgPSBbXCJQSU9OXCIsIFwiUFJKTFwiXVxuXG4gICAgaWYgKCFhbGxvd2VkVHlwZXMuaW5jbHVkZXMoZG9jdW1lbnRUeXBlKSkge1xuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICBpZiAoaWdub3JlSWRzLmluY2x1ZGVzKGRvY3VtZW50LnVpZCkpIHtcbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBTa2lwcGluZy4gXG4gICAgICAgICAgRG9jdW1lbnQgJHtkb2N1bWVudC51aWR9IG11c3QgTk9UIGJlIHByb2Nlc3NlZCBiZWNhdXNlIGl0J3MgaW5jbHVkZWQgaW4gXCJpZ25vcmVJZHNcIiBhcnJheS5gKVxuICAgICAgfVxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICAvLyBOT1RFOiBUaGlzIGNhbiBiZSBvcHRpbWl6ZWQuXG4gICAgaWYgKG9ubHlQcm9jZXNzSWRzLmxlbmd0aCA+IDAgJiYgIW9ubHlQcm9jZXNzSWRzLmluY2x1ZGVzKGRvY3VtZW50LnVpZCkpIHtcbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBTa2lwcGluZy4gXG4gICAgICAgICAgRG9jdW1lbnQgJHtkb2N1bWVudC51aWR9IG11c3QgTk9UIGJlIHByb2Nlc3NlZCBiZWNhdXNlIGl0J3MgTk9UIGluY2x1ZGVkIGluIFwib25seVByb2Nlc3NJZHNcIiBhcnJheS5gKVxuICAgICAgfVxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICBjb25zdCBkb2N1bWVudERpcjogc3RyaW5nID0gcGF0aEZyb21Eb2N1bWVudFVpZChkb2N1bWVudHNEaXIsIGRvY3VtZW50LnVpZClcbiAgICBmcy5lbnN1cmVEaXJTeW5jKGRvY3VtZW50RGlyKVxuXG4gICAgY29uc3QgaHRtbEZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oZG9jdW1lbnREaXIsIFwiZHluLW9wZW5kYXRhLmh0bWxcIilcbiAgICBjb25zdCBodG1sVGVtcEZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICBkb2N1bWVudERpcixcbiAgICAgIFwiZHluLW9wZW5kYXRhX3RlbXAuaHRtbFwiLFxuICAgIClcblxuICAgIGNvbnN0IHVybDogc3RyaW5nID0gYGh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvZHluL29wZW5kYXRhLyR7ZG9jdW1lbnQudWlkfS5odG1sYFxuXG4gICAgaWYgKGZldGNoRG9jdW1lbnRzID09PSB0cnVlKSB7XG4gICAgICBpZiAoIXNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgUmV0cmlldmluZyBkb2N1bWVudCAke2RvY3VtZW50LnVpZH0gYXQgJHt1cmx9YClcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzcG9uc2U6IFJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKVxuXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgYXdhaXQgcGlwZWxpbmUoXG4gICAgICAgICAgcmVzcG9uc2UuYm9keSBhcyB1bmtub3duIGFzIE5vZGVKUy5SZWFkYWJsZVN0cmVhbSxcbiAgICAgICAgICBmcy5jcmVhdGVXcml0ZVN0cmVhbShodG1sVGVtcEZpbGVQYXRoKSxcbiAgICAgICAgKVxuICAgICAgICBmcy5yZW5hbWVTeW5jKGh0bWxUZW1wRmlsZVBhdGgsIGh0bWxGaWxlUGF0aClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhcHJvY2Vzcy5lbnYuT1BFTkFJX0FQSV9LRVkgfHxcbiAgICAgIHR5cGVvZiBwcm9jZXNzLmVudi5PUEVOQUlfQVBJX0tFWSAhPT0gXCJzdHJpbmdcIlxuICAgICkge1xuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihkb2N1bWVudERpciwgYCR7ZG9jdW1lbnQudWlkfS5qc29uYClcblxuICAgIC8vIElmIEhUTUwgZG9lcyBub3QgZXhpc3QsIGNvbnRpbnVlXG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGh0bWxGaWxlUGF0aCkpIHtcbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBTa2lwcGluZyBkb2N1bWVudCAke2RvY3VtZW50LnVpZH1gKVxuICAgICAgfVxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICBpZiAoZnMuZXhpc3RzU3luYyhqc29uRmlsZVBhdGgpICYmICFmdWxsKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIGNvbnN0IGh0bWw6IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhodG1sRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG5cbiAgICBpZiAoIXNpbGVudCkge1xuICAgICAgY29uc29sZS5ncm91cChgUGFyc2luZyBkb2N1bWVudCAke2RvY3VtZW50LnVpZH3igKZgKVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgICAgICBhd2FpdCBleHRyYWN0VGV4dGVMb2koe1xuICAgICAgICAgIGh0bWwsXG4gICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICBqc29uRmlsZVBhdGgsXG4gICAgICAgICAgc2hvdWxkQ3JlYXRlRXhhbXBsZSxcbiAgICAgICAgICBleGFtcGxlRGlyLFxuICAgICAgICB9KSxcbiAgICAgICAgdGltZW91dCh0ZXh0UHJvY2Vzc1RpbWVvdXQpLFxuICAgICAgXSlcblxuICAgICAgbG9nU3VjY2Vzcyh7XG4gICAgICAgIGRvY3VtZW50SWQ6IGRvY3VtZW50LnVpZCxcbiAgICAgICAgZGlyZWN0b3J5OiBsb2dUb2RheURpcixcbiAgICAgIH0pXG5cbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUuZ3JvdXBFbmQoKSAvLyBFbmRpbmcgZ3JvdXA6IFBhcnNpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR94oCmXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgZXh0cmFjdGluZyBkb2N1bWVudCAke2RvY3VtZW50LnVpZH0uYCwgZXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGxvZ0Vycm9yKHtcbiAgICAgICAgZGlyZWN0b3J5OiBsb2dUb2RheURpcixcbiAgICAgICAgZG9jdW1lbnRJZDogZG9jdW1lbnQudWlkLFxuICAgICAgICBlcnJvclN0YWNrVHJhY2U6IGVycm9yLnRvU3RyaW5nKCksXG4gICAgICB9KVxuICAgICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5ncm91cEVuZCgpIC8vIEVuZGluZyBncm91cDogUGFyc2luZyBkb2N1bWVudCAke2RvY3VtZW50LnVpZH3igKZcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoIXNpbGVudCkge1xuICAgIGNvbnNvbGUuZ3JvdXBFbmQoKSAvLyBFbmRpbmcgZ3JvdXA6IFByb2Nlc3NUZXh0ZXNMb2lEYXRhc2V0XG4gIH1cblxuICByZXR1cm4gMFxufVxuXG5hc3luYyBmdW5jdGlvbiBleHRyYWN0VGV4dGVMb2koe1xuICBodG1sLFxuICBkb2N1bWVudCxcbiAgb3B0aW9ucyxcbiAganNvbkZpbGVQYXRoLFxuICBzaG91bGRDcmVhdGVFeGFtcGxlLFxuICBleGFtcGxlRGlyLFxufTogRXh0cmFjdFRleHRMb2lPcHRpb25zKSB7XG4gIGNvbnN0IHRleHRlTG9pRGF0YTogYW55ID0gYXdhaXQgcGFyc2VUZXh0ZUxvaShodG1sKVxuXG4gIGlmICghdGV4dGVMb2lEYXRhKSB7XG4gICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgY29uc29sZS5sb2coYEVycm9yIHdoZW4gcGFyc2luZyBkb2N1bWVudCAke2RvY3VtZW50LnVpZH1gKVxuICAgIH1cbiAgICB0aHJvdyBFcnJvcihgdGV4dExvaURhdGEgY291bGQgbm90IGJlIGV4dHJhY3RlZC5gKVxuICB9XG5cbiAgdGV4dGVMb2lEYXRhLm1ldGEudWlkID0gZG9jdW1lbnQudWlkXG4gIHRleHRlTG9pRGF0YS5tZXRhLmRvY3VtZW50UmVmID0gZG9jdW1lbnQudWlkXG5cbiAgY29uc3QganNvbkRhdGEgPSB7XG4gICAgLi4udGV4dGVMb2lEYXRhLm1ldGEsXG4gICAgc29tbWFpcmU6IHRleHRlTG9pRGF0YS5zb21tYWlyZSA/PyBbXSxcbiAgICBjb250ZW51OiB7XG4gICAgICBhcnRpY2xlczogdGV4dGVMb2lEYXRhLmxvaS5hcnRpY2xlcyxcbiAgICAgIGV4cG9zZU1vdGlmczogdGV4dGVMb2lEYXRhLmV4cG9zZU1vdGlmcyxcbiAgICB9LFxuICB9XG5cbiAgZnMud3JpdGVGaWxlU3luYyhqc29uRmlsZVBhdGgsIEpTT04uc3RyaW5naWZ5KGpzb25EYXRhLCBudWxsLCAyKSlcblxuICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgY29uc29sZS5sb2coYERvY3VtZW50ICR7ZG9jdW1lbnQudWlkfSBzdWNjZXNzZnVsbHkgcGFyc2VkICFgKVxuICB9XG5cbiAgaWYgKHNob3VsZENyZWF0ZUV4YW1wbGUpIHtcbiAgICBjcmVhdGVFeGFtcGxlKHtcbiAgICAgIGRhdGE6IHRleHRlTG9pRGF0YSxcbiAgICAgIGRvY3VtZW50SWQ6IGRvY3VtZW50LnVpZCxcbiAgICAgIGRpcmVjdG9yeTogZXhhbXBsZURpcixcbiAgICAgIHNpbGVudDogb3B0aW9ucy5zaWxlbnQsXG4gICAgfSlcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVFeGFtcGxlKHtcbiAgZGF0YSxcbiAgZGlyZWN0b3J5LFxuICBkb2N1bWVudElkLFxuICBzaWxlbnQsXG59OiBFeGFtcGxlT3B0aW9ucykge1xuICBjb25zdCBleGFtcGxlRGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBkb2N1bWVudElkKVxuICBmcy5lbnN1cmVEaXJTeW5jKGV4YW1wbGVEaXIpXG5cbiAgaWYgKCFzaWxlbnQpIHtcbiAgICBjb25zb2xlLmxvZyhcIkdlbmVyYXRlIGV4YW1wbGUgYXQ6IFwiLCBleGFtcGxlRGlyKVxuICB9XG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZGF0YSkpIHtcbiAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgcGF0aC5qb2luKGV4YW1wbGVEaXIsIGAke2tleX0uanNvbmApLFxuICAgICAgSlNPTi5zdHJpbmdpZnkodmFsdWUsIG51bGwsIDIpLFxuICAgIClcbiAgfVxufVxuXG5mdW5jdGlvbiBsb2dFcnJvcih7IGRpcmVjdG9yeSwgZG9jdW1lbnRJZCwgZXJyb3JTdGFja1RyYWNlIH06IExvZ09wdGlvbnMpIHtcbiAgY29uc3QgZXJyb3JzRmlsZVBhdGggPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBcImVycm9ycy5qc29uXCIpXG4gIGxldCBlcnJvcnM6IHsgW2tleTogc3RyaW5nXTogeyBkYXRlOiBzdHJpbmc7IGVycm9yOiBzdHJpbmcgfSB9ID0ge31cblxuICBpZiAoZnMuZXhpc3RzU3luYyhlcnJvcnNGaWxlUGF0aCkpIHtcbiAgICBjb25zdCBkYXRhOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoZXJyb3JzRmlsZVBhdGgsIFwidXRmOFwiKVxuICAgIGVycm9ycyA9IEpTT04ucGFyc2UoZGF0YSlcbiAgfVxuXG4gIGVycm9yc1tkb2N1bWVudElkXSA9IHtcbiAgICBkYXRlOiBuZXcgRGF0ZSgpXG4gICAgICAudG9VVENTdHJpbmcoKVxuICAgICAgLnJlcGxhY2VBbGwoXCI6XCIsIFwiLVwiKVxuICAgICAgLnJlcGxhY2UoXCIsXCIsIFwiXCIpXG4gICAgICAucmVwbGFjZShcIiBcIiwgXCItXCIpLFxuICAgIGVycm9yOiBlcnJvclN0YWNrVHJhY2UgPz8gXCJcIixcbiAgfVxuXG4gIGZzLndyaXRlRmlsZVN5bmMoZXJyb3JzRmlsZVBhdGgsIEpTT04uc3RyaW5naWZ5KGVycm9ycywgbnVsbCwgMiksIFwidXRmOFwiKVxufVxuXG5mdW5jdGlvbiBsb2dTdWNjZXNzKHsgZGlyZWN0b3J5LCBkb2N1bWVudElkIH06IExvZ09wdGlvbnMpIHtcbiAgY29uc3Qgc3VjY2Vzc2VzRmlsZVBhdGggPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBcInN1Y2Nlc3Nlcy5qc29uXCIpXG4gIGxldCBzdWNjZXNzZXM6IHsgW2tleTogc3RyaW5nXTogeyBkYXRlOiBzdHJpbmc7IHN1Y2Nlc3M6IGJvb2xlYW4gfSB9ID0ge31cblxuICBpZiAoZnMuZXhpc3RzU3luYyhzdWNjZXNzZXNGaWxlUGF0aCkpIHtcbiAgICBjb25zdCBkYXRhOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoc3VjY2Vzc2VzRmlsZVBhdGgsIFwidXRmOFwiKVxuICAgIHN1Y2Nlc3NlcyA9IEpTT04ucGFyc2UoZGF0YSlcbiAgfVxuXG4gIHN1Y2Nlc3Nlc1tkb2N1bWVudElkXSA9IHtcbiAgICBkYXRlOiBuZXcgRGF0ZSgpXG4gICAgICAudG9VVENTdHJpbmcoKVxuICAgICAgLnJlcGxhY2VBbGwoXCI6XCIsIFwiLVwiKVxuICAgICAgLnJlcGxhY2UoXCIsXCIsIFwiXCIpXG4gICAgICAucmVwbGFjZShcIiBcIiwgXCItXCIpLFxuICAgIHN1Y2Nlc3M6IHRydWUsXG4gIH1cblxuICBmcy53cml0ZUZpbGVTeW5jKFxuICAgIHN1Y2Nlc3Nlc0ZpbGVQYXRoLFxuICAgIEpTT04uc3RyaW5naWZ5KHN1Y2Nlc3NlcywgbnVsbCwgMiksXG4gICAgXCJ1dGY4XCIsXG4gIClcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcHJvbWlzZSB0aGF0IHJlamVjdHMgd2l0aCBhbiBlcnJvciBhZnRlciBhIHNwZWNpZmllZCB0aW1lb3V0LlxuICogSWYgdGhlIHRpbWVvdXQgZHVyYXRpb24gaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHplcm8sIHRoZSBwcm9taXNlIHJlc29sdmVzIGltbWVkaWF0ZWx5LlxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBtcyAtIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIHJlamVjdGluZyB0aGUgcHJvbWlzZS5cbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZWplY3RzIHdpdGggYW4gZXJyb3IgYWZ0ZXIgdGhlIHNwZWNpZmllZCB0aW1lb3V0LlxuICovXG5mdW5jdGlvbiB0aW1lb3V0KG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBpZiAobXMgPD0gMCkge1xuICAgICAgcmVzb2x2ZSgpXG4gICAgfVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICByZWplY3QobmV3IEVycm9yKFwiT3BlcmF0aW9uIHRpbWVkIG91dFwiKSlcbiAgICB9LCBtcylcbiAgfSlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsRUFBRSxNQUFNLFVBQVU7QUFDekIsT0FBT0MsSUFBSSxNQUFNLE1BQU07QUFDdkIsT0FBT0MsSUFBSSxNQUFNLE1BQU07QUFDdkIsT0FBT0MsTUFBTSxNQUFNLFFBQVE7QUFBQSxTQUNsQkMsMEJBQTBCLEVBQUVDLG1CQUFtQjtBQUFBLFNBQy9DQyxhQUFhO0FBR3RCLE1BQU1DLFFBQVEsR0FBR0wsSUFBSSxDQUFDTSxTQUFTLENBQUNMLE1BQU0sQ0FBQ0ksUUFBUSxDQUFDO0FBOEJoRCxPQUFPLGVBQWVFLHVCQUF1QkEsQ0FDM0NDLElBQStCLEVBQ2Q7RUFDakIsTUFBTTtJQUFFQyxPQUFPO0lBQUVDLE9BQU87SUFBRUM7RUFBUSxDQUFDLEdBQUdILElBQUk7RUFFMUMsTUFBTTtJQUNKSSxNQUFNLEdBQUcsS0FBSztJQUNkQyxJQUFJLEdBQUcsS0FBSztJQUNaQyxjQUFjO0lBQ2RDLFNBQVMsR0FBRyxFQUFFO0lBQ2RDLFdBQVc7SUFDWEMsY0FBYyxHQUFHLEVBQUU7SUFDbkJDLGtCQUFrQixHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRTtJQUNwQ0MsbUJBQW1CLEdBQUc7RUFDeEIsQ0FBQyxHQUFHUixPQUFPO0VBRVgsSUFBSSxDQUFDQyxNQUFNLEVBQUU7SUFDWFEsT0FBTyxDQUFDQyxHQUFHLENBQUUsV0FBVVosT0FBTyxFQUFFYSxLQUFNLEVBQUMsQ0FBQztFQUMxQztFQUVBLElBQ0UsQ0FBQ1YsTUFBTSxLQUNOLENBQUNXLE9BQU8sQ0FBQ0Ms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
239
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsInBhdGgiLCJ1dGlsIiwic3RyZWFtIiwiaXRlckxvYWRBc3NlbWJsZWVEb2N1bWVudHMiLCJwYXRoRnJvbURvY3VtZW50VWlkIiwicGFyc2VUZXh0ZUxvaSIsInBpcGVsaW5lIiwicHJvbWlzaWZ5IiwicHJvY2Vzc1RleHRlc0xvaURhdGFzZXQiLCJhcmdzIiwiZGF0YXNldCIsImRhdGFEaXIiLCJvcHRpb25zIiwic2lsZW50IiwiZnVsbCIsImZldGNoRG9jdW1lbnRzIiwiaWdub3JlSWRzIiwibGVnaXNsYXR1cmUiLCJvbmx5UHJvY2Vzc0lkcyIsInRleHRQcm9jZXNzVGltZW91dCIsInNob3VsZENyZWF0ZUV4YW1wbGUiLCJjb25zb2xlIiwibG9nIiwidGl0bGUiLCJwcm9jZXNzIiwiZW52IiwiT1BFTkFJX0FQSV9LRVkiLCJlcnJvciIsImRhdGUiLCJEYXRlIiwidG9VVENTdHJpbmciLCJyZXBsYWNlQWxsIiwicmVwbGFjZSIsImRvY3VtZW50c0RpciIsImpvaW4iLCJmaWxlbmFtZSIsImxvZ1RvZGF5RGlyIiwiZXhhbXBsZURpciIsImVuc3VyZURpclN5bmMiLCJkb2N1bWVudCIsIm5vVmFsaWRhdGlvbiIsImRvY3VtZW50VHlwZSIsImNsYXNzaWZpY2F0aW9uIiwidHlwZSIsImNvZGUiLCJhbGxvd2VkVHlwZXMiLCJpbmNsdWRlcyIsInVpZCIsImxlbmd0aCIsImRvY3VtZW50RGlyIiwiaHRtbEZpbGVQYXRoIiwiaHRtbFRlbXBGaWxlUGF0aCIsInVybCIsInJlc3BvbnNlIiwiZmV0Y2giLCJvayIsImJvZHkiLCJjcmVhdGVXcml0ZVN0cmVhbSIsInJlbmFtZVN5bmMiLCJqc29uRmlsZVBhdGgiLCJleGlzdHNTeW5jIiwiaHRtbCIsInJlYWRGaWxlU3luYyIsImVuY29kaW5nIiwiZ3JvdXAiLCJQcm9taXNlIiwicmFjZSIsImV4dHJhY3RUZXh0ZUxvaSIsInRpbWVvdXQiLCJsb2dTdWNjZXNzIiwiZG9jdW1lbnRJZCIsImRpcmVjdG9yeSIsImdyb3VwRW5kIiwibG9nRXJyb3IiLCJlcnJvclN0YWNrVHJhY2UiLCJ0b1N0cmluZyIsInRleHRlTG9pRGF0YSIsIkVycm9yIiwibWV0YSIsImRvY3VtZW50UmVmIiwianNvbkRhdGEiLCJzb21tYWlyZSIsImNvbnRlbnUiLCJhcnRpY2xlcyIsImxvaSIsImV4cG9zZU1vdGlmcyIsIndyaXRlRmlsZVN5bmMiLCJKU09OIiwic3RyaW5naWZ5IiwiY3JlYXRlRXhhbXBsZSIsImRhdGEiLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJlcnJvcnNGaWxlUGF0aCIsImVycm9ycyIsInBhcnNlIiwic3VjY2Vzc2VzRmlsZVBhdGgiLCJzdWNjZXNzZXMiLCJzdWNjZXNzIiwibXMiLCJyZXNvbHZlIiwicmVqZWN0Iiwic2V0VGltZW91dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3Byb2Nlc3NfdGV4dGVzX2xvaV9kYXRhc2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHV0aWwgZnJvbSBcInV0aWxcIlxuaW1wb3J0IHN0cmVhbSBmcm9tIFwic3RyZWFtXCJcbmltcG9ydCB7IGl0ZXJMb2FkQXNzZW1ibGVlRG9jdW1lbnRzLCBwYXRoRnJvbURvY3VtZW50VWlkIH0gZnJvbSBcIi4uL2xvYWRlcnNcIlxuaW1wb3J0IHsgcGFyc2VUZXh0ZUxvaSB9IGZyb20gXCIuLi9wYXJzZXJzL3RleHRlc19sb2lzXCJcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSBcIi4uL3R5cGVzL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzXCJcblxuY29uc3QgcGlwZWxpbmUgPSB1dGlsLnByb21pc2lmeShzdHJlYW0ucGlwZWxpbmUpXG5cbnR5cGUgUmV0cmlldmVUZXh0ZUxvaUFyZ3VtZW50cyA9IHtcbiAgZGF0YXNldDogYW55XG4gIGRhdGFEaXI6IHN0cmluZ1xuICBvcHRpb25zOiBhbnlcbn1cblxudHlwZSBFeHRyYWN0VGV4dExvaU9wdGlvbnMgPSB7XG4gIGV4YW1wbGVEaXI6IHN0cmluZ1xuICBodG1sOiBzdHJpbmdcbiAgb3B0aW9uczogYW55XG4gIGRvY3VtZW50OiBEb2N1bWVudFxuICBqc29uRmlsZVBhdGg6IHN0cmluZ1xuICBzaG91bGRDcmVhdGVFeGFtcGxlOiBib29sZWFuXG59XG5cbnR5cGUgTG9nT3B0aW9ucyA9IHtcbiAgZGlyZWN0b3J5OiBzdHJpbmdcbiAgZG9jdW1lbnRJZDogc3RyaW5nXG4gIGVycm9yU3RhY2tUcmFjZT86IHN0cmluZ1xufVxuXG50eXBlIEV4YW1wbGVPcHRpb25zID0ge1xuICBkYXRhOiBvYmplY3RcbiAgZGlyZWN0b3J5OiBzdHJpbmdcbiAgZG9jdW1lbnRJZDogc3RyaW5nXG4gIHNpbGVudDogYm9vbGVhblxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc1RleHRlc0xvaURhdGFzZXQoXG4gIGFyZ3M6IFJldHJpZXZlVGV4dGVMb2lBcmd1bWVudHMsXG4pOiBQcm9taXNlPG51bWJlcj4ge1xuICBjb25zdCB7IGRhdGFzZXQsIGRhdGFEaXIsIG9wdGlvbnMgfSA9IGFyZ3NcblxuICBjb25zdCB7XG4gICAgc2lsZW50ID0gZmFsc2UsXG4gICAgZnVsbCA9IGZhbHNlLFxuICAgIGZldGNoRG9jdW1lbnRzLFxuICAgIGlnbm9yZUlkcyA9IFtdLFxuICAgIGxlZ2lzbGF0dXJlLFxuICAgIG9ubHlQcm9jZXNzSWRzID0gW10sXG4gICAgdGV4dFByb2Nlc3NUaW1lb3V0ID0gMV8wMDAgKiA2MCAqIDEwLFxuICAgIHNob3VsZENyZWF0ZUV4YW1wbGUgPSB0cnVlLFxuICB9ID0gb3B0aW9uc1xuXG4gIGlmICghc2lsZW50KSB7XG4gICAgY29uc29sZS5sb2coYExvYWRpbmcgJHtkYXRhc2V0Py50aXRsZX1gKVxuICB9XG5cbiAgaWYgKFxuICAgICFzaWxlbnQgJiZcbiAgICAoIXByb2Nlc3MuZW52Lk9QRU5BSV9BUElfS0VZIHx8XG4gICAgICB0eXBlb2YgcHJvY2Vzcy5lbnYuT1BFTkFJX0FQSV9LRVkgIT09IFwic3RyaW5nXCIpXG4gICkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBcIk5vIEFQSSBrZXkgc3BlY2lmaWVkIGZvciB0aGUgZXh0cmFjdGlvbiBvZiB0ZXh0ZXMgZGUgbG9pLiBEb2N1bWVudHMgd2lsbCBub3QgYmUgcGFyc2VkIHRvIEpTT04uXCIsXG4gICAgKVxuICB9XG5cbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKClcbiAgICAudG9VVENTdHJpbmcoKVxuICAgIC5yZXBsYWNlQWxsKFwiOlwiLCBcIi1cIilcbiAgICAucmVwbGFjZShcIixcIiwgXCJcIilcbiAgICAucmVwbGFjZShcIiBcIiwgXCItXCIpXG5cbiAgY29uc3QgZG9jdW1lbnRzRGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgY29uc3QgbG9nVG9kYXlEaXI6IHN0cmluZyA9IHBhdGguam9pbihgJHtkb2N1bWVudHNEaXJ9X0xvZ3NgLCBkYXRlKVxuICBjb25zdCBleGFtcGxlRGlyOiBzdHJpbmcgPSBwYXRoLmpvaW4oYCR7ZG9jdW1lbnRzRGlyfV9FeGFtcGxlc2ApXG4gIGZzLmVuc3VyZURpclN5bmMoZG9jdW1lbnRzRGlyKVxuICBmcy5lbnN1cmVEaXJTeW5jKGxvZ1RvZGF5RGlyKVxuXG4gIGZvciAoY29uc3QgeyBkb2N1bWVudCB9IG9mIGl0ZXJMb2FkQXNzZW1ibGVlRG9jdW1lbnRzKGRhdGFEaXIsIGxlZ2lzbGF0dXJlLCB7XG4gICAgbm9WYWxpZGF0aW9uOiB0cnVlLFxuICB9KSkge1xuICAgIGNvbnN0IGRvY3VtZW50VHlwZTogc3RyaW5nID0gZG9jdW1lbnQuY2xhc3NpZmljYXRpb24/LnR5cGU/LmNvZGVcbiAgICBjb25zdCBhbGxvd2VkVHlwZXMgPSBbXCJQSU9OXCIsIFwiUFJKTFwiXVxuXG4gICAgLy8gQ2hlY2sgZG9jdW1lbnQgdHlwZSBhbmQgY2hlY2sgYWxzbyBkb2N1bWVudCB1aWQuXG4gICAgaWYgKCFhbGxvd2VkVHlwZXMuaW5jbHVkZXMoZG9jdW1lbnRUeXBlKSB8fCAhYWxsb3dlZFR5cGVzLmluY2x1ZGVzKGRvY3VtZW50LnVpZCkpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgaWYgKGlnbm9yZUlkcy5pbmNsdWRlcyhkb2N1bWVudC51aWQpKSB7XG4gICAgICBpZiAoIXNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgU2tpcHBpbmcuIFxuICAgICAgICAgIERvY3VtZW50ICR7ZG9jdW1lbnQudWlkfSBtdXN0IE5PVCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCdzIGluY2x1ZGVkIGluIFwiaWdub3JlSWRzXCIgYXJyYXkuYClcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgLy8gTk9URTogVGhpcyBjYW4gYmUgb3B0aW1pemVkLlxuICAgIGlmIChvbmx5UHJvY2Vzc0lkcy5sZW5ndGggPiAwICYmICFvbmx5UHJvY2Vzc0lkcy5pbmNsdWRlcyhkb2N1bWVudC51aWQpKSB7XG4gICAgICBpZiAoIXNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgU2tpcHBpbmcuIFxuICAgICAgICAgIERvY3VtZW50ICR7ZG9jdW1lbnQudWlkfSBtdXN0IE5PVCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCdzIE5PVCBpbmNsdWRlZCBpbiBcIm9ubHlQcm9jZXNzSWRzXCIgYXJyYXkuYClcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgY29uc3QgZG9jdW1lbnREaXI6IHN0cmluZyA9IHBhdGhGcm9tRG9jdW1lbnRVaWQoZG9jdW1lbnRzRGlyLCBkb2N1bWVudC51aWQpXG4gICAgZnMuZW5zdXJlRGlyU3luYyhkb2N1bWVudERpcilcblxuICAgIGNvbnN0IGh0bWxGaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKGRvY3VtZW50RGlyLCBcImR5bi1vcGVuZGF0YS5odG1sXCIpXG4gICAgY29uc3QgaHRtbFRlbXBGaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgZG9jdW1lbnREaXIsXG4gICAgICBcImR5bi1vcGVuZGF0YV90ZW1wLmh0bWxcIixcbiAgICApXG5cbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IGBodHRwczovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL2R5bi9vcGVuZGF0YS8ke2RvY3VtZW50LnVpZH0uaHRtbGBcblxuICAgIGlmIChmZXRjaERvY3VtZW50cyA9PT0gdHJ1ZSkge1xuICAgICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFJldHJpZXZpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR9IGF0ICR7dXJsfWApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBSZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybClcblxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgIGF3YWl0IHBpcGVsaW5lKFxuICAgICAgICAgIHJlc3BvbnNlLmJvZHkgYXMgdW5rbm93biBhcyBOb2RlSlMuUmVhZGFibGVTdHJlYW0sXG4gICAgICAgICAgZnMuY3JlYXRlV3JpdGVTdHJlYW0oaHRtbFRlbXBGaWxlUGF0aCksXG4gICAgICAgIClcbiAgICAgICAgZnMucmVuYW1lU3luYyhodG1sVGVtcEZpbGVQYXRoLCBodG1sRmlsZVBhdGgpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgIXByb2Nlc3MuZW52Lk9QRU5BSV9BUElfS0VZIHx8XG4gICAgICB0eXBlb2YgcHJvY2Vzcy5lbnYuT1BFTkFJX0FQSV9LRVkgIT09IFwic3RyaW5nXCJcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oZG9jdW1lbnREaXIsIGAke2RvY3VtZW50LnVpZH0uanNvbmApXG5cbiAgICAvLyBJZiBIVE1MIGRvZXMgbm90IGV4aXN0LCBjb250aW51ZVxuICAgIGlmICghZnMuZXhpc3RzU3luYyhodG1sRmlsZVBhdGgpKSB7XG4gICAgICBpZiAoIXNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgU2tpcHBpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR9YClcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoanNvbkZpbGVQYXRoKSAmJiAhZnVsbCkge1xuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICBjb25zdCBodG1sOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoaHRtbEZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuXG4gICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgIGNvbnNvbGUuZ3JvdXAoYFBhcnNpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR94oCmYClcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgUHJvbWlzZS5yYWNlKFtcbiAgICAgICAgYXdhaXQgZXh0cmFjdFRleHRlTG9pKHtcbiAgICAgICAgICBodG1sLFxuICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAganNvbkZpbGVQYXRoLFxuICAgICAgICAgIHNob3VsZENyZWF0ZUV4YW1wbGUsXG4gICAgICAgICAgZXhhbXBsZURpcixcbiAgICAgICAgfSksXG4gICAgICAgIHRpbWVvdXQodGV4dFByb2Nlc3NUaW1lb3V0KSxcbiAgICAgIF0pXG5cbiAgICAgIGxvZ1N1Y2Nlc3Moe1xuICAgICAgICBkb2N1bWVudElkOiBkb2N1bWVudC51aWQsXG4gICAgICAgIGRpcmVjdG9yeTogbG9nVG9kYXlEaXIsXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmdyb3VwRW5kKCkgLy8gRW5kaW5nIGdyb3VwOiBQYXJzaW5nIGRvY3VtZW50ICR7ZG9jdW1lbnQudWlkfeKAplxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIGV4dHJhY3RpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR9LmAsIGVycm9yKVxuICAgICAgfVxuXG4gICAgICBsb2dFcnJvcih7XG4gICAgICAgIGRpcmVjdG9yeTogbG9nVG9kYXlEaXIsXG4gICAgICAgIGRvY3VtZW50SWQ6IGRvY3VtZW50LnVpZCxcbiAgICAgICAgZXJyb3JTdGFja1RyYWNlOiBlcnJvci50b1N0cmluZygpLFxuICAgICAgfSlcbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUuZ3JvdXBFbmQoKSAvLyBFbmRpbmcgZ3JvdXA6IFBhcnNpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR94oCmXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKCFzaWxlbnQpIHtcbiAgICBjb25zb2xlLmdyb3VwRW5kKCkgLy8gRW5kaW5nIGdyb3VwOiBQcm9jZXNzVGV4dGVzTG9pRGF0YXNldFxuICB9XG5cbiAgcmV0dXJuIDBcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXh0cmFjdFRleHRlTG9pKHtcbiAgaHRtbCxcbiAgZG9jdW1lbnQsXG4gIG9wdGlvbnMsXG4gIGpzb25GaWxlUGF0aCxcbiAgc2hvdWxkQ3JlYXRlRXhhbXBsZSxcbiAgZXhhbXBsZURpcixcbn06IEV4dHJhY3RUZXh0TG9pT3B0aW9ucykge1xuICBjb25zdCB0ZXh0ZUxvaURhdGE6IGFueSA9IGF3YWl0IHBhcnNlVGV4dGVMb2koaHRtbClcblxuICBpZiAoIXRleHRlTG9pRGF0YSkge1xuICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBFcnJvciB3aGVuIHBhcnNpbmcgZG9jdW1lbnQgJHtkb2N1bWVudC51aWR9YClcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYHRleHRMb2lEYXRhIGNvdWxkIG5vdCBiZSBleHRyYWN0ZWQuYClcbiAgfVxuXG4gIHRleHRlTG9pRGF0YS5tZXRhLnVpZCA9IGRvY3VtZW50LnVpZFxuICB0ZXh0ZUxvaURhdGEubWV0YS5kb2N1bWVudFJlZiA9IGRvY3VtZW50LnVpZFxuXG4gIGNvbnN0IGpzb25EYXRhID0ge1xuICAgIC4uLnRleHRlTG9pRGF0YS5tZXRhLFxuICAgIHNvbW1haXJlOiB0ZXh0ZUxvaURhdGEuc29tbWFpcmUgPz8gW10sXG4gICAgY29udGVudToge1xuICAgICAgYXJ0aWNsZXM6IHRleHRlTG9pRGF0YS5sb2kuYXJ0aWNsZXMsXG4gICAgICBleHBvc2VNb3RpZnM6IHRleHRlTG9pRGF0YS5leHBvc2VNb3RpZnMsXG4gICAgfSxcbiAgfVxuXG4gIGZzLndyaXRlRmlsZVN5bmMoanNvbkZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShqc29uRGF0YSwgbnVsbCwgMikpXG5cbiAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgIGNvbnNvbGUubG9nKGBEb2N1bWVudCAke2RvY3VtZW50LnVpZH0gc3VjY2Vzc2Z1bGx5IHBhcnNlZCAhYClcbiAgfVxuXG4gIGlmIChzaG91bGRDcmVhdGVFeGFtcGxlKSB7XG4gICAgY3JlYXRlRXhhbXBsZSh7XG4gICAgICBkYXRhOiB0ZXh0ZUxvaURhdGEsXG4gICAgICBkb2N1bWVudElkOiBkb2N1bWVudC51aWQsXG4gICAgICBkaXJlY3Rvcnk6IGV4YW1wbGVEaXIsXG4gICAgICBzaWxlbnQ6IG9wdGlvbnMuc2lsZW50LFxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlRXhhbXBsZSh7XG4gIGRhdGEsXG4gIGRpcmVjdG9yeSxcbiAgZG9jdW1lbnRJZCxcbiAgc2lsZW50LFxufTogRXhhbXBsZU9wdGlvbnMpIHtcbiAgY29uc3QgZXhhbXBsZURpcjogc3RyaW5nID0gcGF0aC5qb2luKGRpcmVjdG9yeSwgZG9jdW1lbnRJZClcbiAgZnMuZW5zdXJlRGlyU3luYyhleGFtcGxlRGlyKVxuXG4gIGlmICghc2lsZW50KSB7XG4gICAgY29uc29sZS5sb2coXCJHZW5lcmF0ZSBleGFtcGxlIGF0OiBcIiwgZXhhbXBsZURpcilcbiAgfVxuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGRhdGEpKSB7XG4gICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbihleGFtcGxlRGlyLCBgJHtrZXl9Lmpzb25gKSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHZhbHVlLCBudWxsLCAyKSxcbiAgICApXG4gIH1cbn1cblxuZnVuY3Rpb24gbG9nRXJyb3IoeyBkaXJlY3RvcnksIGRvY3VtZW50SWQsIGVycm9yU3RhY2tUcmFjZSB9OiBMb2dPcHRpb25zKSB7XG4gIGNvbnN0IGVycm9yc0ZpbGVQYXRoID0gcGF0aC5qb2luKGRpcmVjdG9yeSwgXCJlcnJvcnMuanNvblwiKVxuICBsZXQgZXJyb3JzOiB7IFtrZXk6IHN0cmluZ106IHsgZGF0ZTogc3RyaW5nOyBlcnJvcjogc3RyaW5nIH0gfSA9IHt9XG5cbiAgaWYgKGZzLmV4aXN0c1N5bmMoZXJyb3JzRmlsZVBhdGgpKSB7XG4gICAgY29uc3QgZGF0YTogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGVycm9yc0ZpbGVQYXRoLCBcInV0ZjhcIilcbiAgICBlcnJvcnMgPSBKU09OLnBhcnNlKGRhdGEpXG4gIH1cblxuICBlcnJvcnNbZG9jdW1lbnRJZF0gPSB7XG4gICAgZGF0ZTogbmV3IERhdGUoKVxuICAgICAgLnRvVVRDU3RyaW5nKClcbiAgICAgIC5yZXBsYWNlQWxsKFwiOlwiLCBcIi1cIilcbiAgICAgIC5yZXBsYWNlKFwiLFwiLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoXCIgXCIsIFwiLVwiKSxcbiAgICBlcnJvcjogZXJyb3JTdGFja1RyYWNlID8/IFwiXCIsXG4gIH1cblxuICBmcy53cml0ZUZpbGVTeW5jKGVycm9yc0ZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShlcnJvcnMsIG51bGwsIDIpLCBcInV0ZjhcIilcbn1cblxuZnVuY3Rpb24gbG9nU3VjY2Vzcyh7IGRpcmVjdG9yeSwgZG9jdW1lbnRJZCB9OiBMb2dPcHRpb25zKSB7XG4gIGNvbnN0IHN1Y2Nlc3Nlc0ZpbGVQYXRoID0gcGF0aC5qb2luKGRpcmVjdG9yeSwgXCJzdWNjZXNzZXMuanNvblwiKVxuICBsZXQgc3VjY2Vzc2VzOiB7IFtrZXk6IHN0cmluZ106IHsgZGF0ZTogc3RyaW5nOyBzdWNjZXNzOiBib29sZWFuIH0gfSA9IHt9XG5cbiAgaWYgKGZzLmV4aXN0c1N5bmMoc3VjY2Vzc2VzRmlsZVBhdGgpKSB7XG4gICAgY29uc3QgZGF0YTogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHN1Y2Nlc3Nlc0ZpbGVQYXRoLCBcInV0ZjhcIilcbiAgICBzdWNjZXNzZXMgPSBKU09OLnBhcnNlKGRhdGEpXG4gIH1cblxuICBzdWNjZXNzZXNbZG9jdW1lbnRJZF0gPSB7XG4gICAgZGF0ZTogbmV3IERhdGUoKVxuICAgICAgLnRvVVRDU3RyaW5nKClcbiAgICAgIC5yZXBsYWNlQWxsKFwiOlwiLCBcIi1cIilcbiAgICAgIC5yZXBsYWNlKFwiLFwiLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoXCIgXCIsIFwiLVwiKSxcbiAgICBzdWNjZXNzOiB0cnVlLFxuICB9XG5cbiAgZnMud3JpdGVGaWxlU3luYyhcbiAgICBzdWNjZXNzZXNGaWxlUGF0aCxcbiAgICBKU09OLnN0cmluZ2lmeShzdWNjZXNzZXMsIG51bGwsIDIpLFxuICAgIFwidXRmOFwiLFxuICApXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHByb21pc2UgdGhhdCByZWplY3RzIHdpdGggYW4gZXJyb3IgYWZ0ZXIgYSBzcGVjaWZpZWQgdGltZW91dC5cbiAqIElmIHRoZSB0aW1lb3V0IGR1cmF0aW9uIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB6ZXJvLCB0aGUgcHJvbWlzZSByZXNvbHZlcyBpbW1lZGlhdGVseS5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gbXMgLSBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byB3YWl0IGJlZm9yZSByZWplY3RpbmcgdGhlIHByb21pc2UuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVqZWN0cyB3aXRoIGFuIGVycm9yIGFmdGVyIHRoZSBzcGVjaWZpZWQgdGltZW91dC5cbiAqL1xuZnVuY3Rpb24gdGltZW91dChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgaWYgKG1zIDw9IDApIHtcbiAgICAgIHJlc29sdmUoKVxuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgcmVqZWN0KG5ldyBFcnJvcihcIk9wZXJhdGlvbiB0aW1lZCBvdXRcIikpXG4gICAgfSwgbXMpXG4gIH0pXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLEVBQUUsTUFBTSxVQUFVO0FBQ3pCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQ3ZCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQ3ZCLE9BQU9DLE1BQU0sTUFBTSxRQUFRO0FBQUEsU0FDbEJDLDBCQUEwQixFQUFFQyxtQkFBbUI7QUFBQSxTQUMvQ0MsYUFBYTtBQUd0QixNQUFNQyxRQUFRLEdBQUdMLElBQUksQ0FBQ00sU0FBUyxDQUFDTCxNQUFNLENBQUNJLFFBQVEsQ0FBQztBQThCaEQsT0FBTyxlQUFlRSx1QkFBdUJBLENBQzNDQyxJQUErQixFQUNkO0VBQ2pCLE1BQU07SUFBRUMsT0FBTztJQUFFQyxPQUFPO0lBQUVDO0VBQVEsQ0FBQyxHQUFHSCxJQUFJO0VBRTFDLE1BQU07SUFDSkksTUFBTSxHQUFHLEtBQUs7SUFDZEMsSUFBSSxHQUFHLEtBQUs7SUFDWkMsY0FBYztJQUNkQyxTQUFTLEdBQUcsRUFBRTtJQUNkQyxXQUFXO0lBQ1hDLGNBQWMsR0FBRyxFQUFFO0lBQ25CQyxrQkFBa0IsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUU7SUFDcENDLG1CQUFtQixHQUFHO0VBQ3hCLENBQUMsR0FBR1IsT0FBTztFQUVYLElBQUksQ0FBQ0MsTUFBTSxFQUFFO0lBQ1hRLE9BQU8s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