@tricoteuses/assemblee 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/lib/bugs/acteur-00010/plugin.test.js +2 -2
  2. package/lib/bugs/acteur-00010.js +3 -3
  3. package/lib/bugs/agenda-00002/plugin.test.js +3 -3
  4. package/lib/bugs/agenda-00002.js +5 -5
  5. package/lib/bugs/agenda-00008/plugin.test.js +2 -2
  6. package/lib/bugs/agenda-00008.js +3 -3
  7. package/lib/bugs/agenda-00011/plugin.test.js +6 -6
  8. package/lib/bugs/agenda-00011.js +8 -8
  9. package/lib/bugs.js +11 -11
  10. package/lib/cleaners/index.d.ts +1 -0
  11. package/lib/cleaners/index.js +8 -1
  12. package/lib/cleaners/index.mjs +2 -1
  13. package/lib/cleaners/scrutins.js +2 -1
  14. package/lib/cleaners/scrutins.mjs +3 -2
  15. package/lib/cleaners/textes_loi.d.ts +1 -0
  16. package/lib/cleaners/textes_loi.js +12 -0
  17. package/lib/cleaners/textes_loi.mjs +5 -0
  18. package/lib/cleaners/xml.d.ts +3 -0
  19. package/lib/cleaners/xml.js +13 -1
  20. package/lib/cleaners/xml.mjs +11 -1
  21. package/lib/datasets.d.ts +9 -2
  22. package/lib/datasets.js +24 -3
  23. package/lib/datasets.mjs +24 -3
  24. package/lib/dates.js +3 -3
  25. package/lib/examples/PIONANR5L15B0020/input.d.ts +2 -0
  26. package/lib/examples/PIONANR5L15B0020/input.js +10 -0
  27. package/lib/examples/PIONANR5L15B0020/input.mjs +193 -0
  28. package/lib/examples/PRJLANR5L16B0914/input.d.ts +2 -0
  29. package/lib/examples/PRJLANR5L16B0914/input.js +10 -0
  30. package/lib/examples/PRJLANR5L16B0914/input.mjs +322 -0
  31. package/lib/examples/PRJLANR5L16B2014/input.d.ts +2 -0
  32. package/lib/examples/PRJLANR5L16B2014/input.js +10 -0
  33. package/lib/examples/PRJLANR5L16B2014/input.mjs +577 -0
  34. package/lib/examples/PRJLANR5L16B2424/input.d.ts +2 -0
  35. package/lib/examples/PRJLANR5L16B2424/input.js +10 -0
  36. package/lib/examples/PRJLANR5L16B2424/input.mjs +322 -0
  37. package/lib/examples/PRJLANR5L16B2462/input.d.ts +2 -0
  38. package/lib/examples/PRJLANR5L16B2462/input.js +10 -0
  39. package/lib/examples/PRJLANR5L16B2462/input.mjs +1308 -0
  40. package/lib/loaders.d.ts +5 -0
  41. package/lib/loaders.js +308 -262
  42. package/lib/loaders.mjs +16 -3
  43. package/lib/logger.d.ts +16 -0
  44. package/lib/logger.js +35 -0
  45. package/lib/logger.mjs +26 -0
  46. package/lib/parsers/documents.js +2 -2
  47. package/lib/parsers/textes_lois.d.ts +16 -1
  48. package/lib/parsers/textes_lois.js +733 -28
  49. package/lib/parsers/textes_lois.mjs +587 -22
  50. package/lib/raw_types/acteurs_et_organes.js +1 -1
  51. package/lib/raw_types/agendas.js +1 -1
  52. package/lib/raw_types/amendements.js +1 -1
  53. package/lib/raw_types/debats.js +1 -1
  54. package/lib/raw_types/dossiers_legislatifs.js +1 -1
  55. package/lib/raw_types/questions.js +1 -1
  56. package/lib/raw_types/scrutins.d.ts +18 -13
  57. package/lib/raw_types/scrutins.js +28 -14
  58. package/lib/raw_types/scrutins.mjs +28 -14
  59. package/lib/raw_types/textes_loi.d.ts +93 -0
  60. package/lib/raw_types/textes_loi.js +429 -0
  61. package/lib/raw_types/textes_loi.mjs +378 -0
  62. package/lib/scripts/bugs_helper.js +9 -9
  63. package/lib/scripts/document_dossiers_legislatifs.js +1 -1
  64. package/lib/scripts/process_open_dataset.d.ts +17 -0
  65. package/lib/scripts/process_open_dataset.js +302 -0
  66. package/lib/scripts/process_open_dataset.mjs +136 -0
  67. package/lib/scripts/process_textes_loi_dataset.d.ts +7 -0
  68. package/lib/scripts/process_textes_loi_dataset.js +374 -0
  69. package/lib/scripts/process_textes_loi_dataset.mjs +237 -0
  70. package/lib/scripts/raw_types_from_amendements.js +2 -2
  71. package/lib/scripts/reorganize_data.js +1 -1
  72. package/lib/scripts/reorganize_data.mjs +1 -1
  73. package/lib/scripts/retrieve_deputes_photos.js +3 -3
  74. package/lib/scripts/retrieve_documents.js +4 -4
  75. package/lib/scripts/retrieve_open_data.js +41 -279
  76. package/lib/scripts/retrieve_open_data.mjs +13 -126
  77. package/lib/scripts/retrieve_pending_amendments.js +2 -2
  78. package/lib/scripts/retrieve_senateurs_photos.js +2 -2
  79. package/lib/scripts/retrieve_textes_lois.js +2 -2
  80. package/lib/scripts/shared/cli_helpers.d.ts +5 -0
  81. package/lib/scripts/shared/cli_helpers.js +7 -2
  82. package/lib/scripts/shared/cli_helpers.mjs +6 -1
  83. package/lib/scripts/test_iter_load.js +25 -10
  84. package/lib/scripts/test_iter_load.mjs +19 -11
  85. package/lib/scripts/validate_json.js +3 -3
  86. package/lib/types/acteurs_et_organes.js +1 -1
  87. package/lib/types/agendas.js +1 -1
  88. package/lib/types/amendements.js +1 -1
  89. package/lib/types/debats.js +1 -1
  90. package/lib/types/dossiers_legislatifs.js +1 -1
  91. package/lib/types/questions.js +1 -1
  92. package/lib/types/scrutins.d.ts +6 -3
  93. package/lib/types/scrutins.js +13 -7
  94. package/lib/types/scrutins.mjs +13 -7
  95. package/lib/types/textes_loi.d.ts +94 -0
  96. package/lib/types/textes_loi.js +429 -0
  97. package/lib/types/textes_loi.mjs +378 -0
  98. package/package.json +13 -12
  99. package/lib/scripts/retrieve_textes_lois_llm.d.ts +0 -1
  100. package/lib/scripts/retrieve_textes_lois_llm.js +0 -188
  101. package/lib/scripts/retrieve_textes_lois_llm.mjs +0 -85
@@ -9,6 +9,7 @@ require("core-js/modules/es.symbol.to-string-tag.js");
9
9
  require("core-js/modules/es.array.for-each.js");
10
10
  require("core-js/modules/es.array.from.js");
11
11
  require("core-js/modules/es.array.is-array.js");
12
+ require("core-js/modules/es.array.iterator.js");
12
13
  require("core-js/modules/es.array.reverse.js");
13
14
  require("core-js/modules/es.array.slice.js");
14
15
  require("core-js/modules/es.date.to-string.js");
@@ -19,325 +20,86 @@ require("core-js/modules/es.object.create.js");
19
20
  require("core-js/modules/es.object.define-property.js");
20
21
  require("core-js/modules/es.object.get-prototype-of.js");
21
22
  require("core-js/modules/es.object.set-prototype-of.js");
23
+ require("core-js/modules/es.regexp.exec.js");
22
24
  require("core-js/modules/es.regexp.to-string.js");
25
+ require("core-js/modules/es.string.iterator.js");
23
26
  require("core-js/modules/web.dom-collections.for-each.js");
27
+ require("core-js/modules/web.dom-collections.iterator.js");
24
28
  require("core-js/modules/es.array.concat.js");
25
29
  require("core-js/modules/es.array.filter.js");
26
- require("core-js/modules/es.array.iterator.js");
27
- require("core-js/modules/es.array.join.js");
28
- require("core-js/modules/es.date.to-json.js");
29
- require("core-js/modules/es.object.keys.js");
30
30
  require("core-js/modules/es.object.to-string.js");
31
31
  require("core-js/modules/es.promise.js");
32
- require("core-js/modules/es.regexp.exec.js");
33
- require("core-js/modules/es.string.ends-with.js");
34
- require("core-js/modules/es.string.iterator.js");
35
- require("core-js/modules/es.string.replace.js");
36
- require("core-js/modules/web.dom-collections.iterator.js");
37
32
  var _commandLineArgs = _interopRequireDefault(require("command-line-args"));
38
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
39
- var _path = _interopRequireDefault(require("path"));
40
- var _stream = _interopRequireDefault(require("stream"));
41
- var _nodeStreamZip = _interopRequireDefault(require("node-stream-zip"));
42
- var _util = _interopRequireDefault(require("util"));
43
33
  var _datasets = require("../datasets");
44
- var _file_systems = require("../file_systems");
45
34
  var _legislatures = require("../types/legislatures");
46
35
  var _cli_helpers = require("./shared/cli_helpers");
36
+ var _process_open_dataset = require("./process_open_dataset");
47
37
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
48
38
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
39
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
49
40
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
50
41
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
42
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
51
43
  function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
52
44
  function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
53
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
54
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
55
45
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
56
46
  function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
57
47
  function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
58
- var _require = require("fast-xml-parser"),
59
- XMLParser = _require.XMLParser;
60
- var optionsDefinitions = [_cli_helpers.categoriesOption, _cli_helpers.legislatureOption, _cli_helpers.silentOption, _cli_helpers.dataDirDefaultOption, _cli_helpers.fetchOption];
48
+ var optionsDefinitions = [_cli_helpers.categoriesOption, _cli_helpers.legislatureOption, _cli_helpers.silentOption, _cli_helpers.dataDirDefaultOption, _cli_helpers.fetchOption, _cli_helpers.fetchDocumentsOption];
61
49
  var options = (0, _commandLineArgs["default"])(optionsDefinitions);
62
- var pipeline = _util["default"].promisify(_stream["default"].pipeline);
63
-
64
- // Function to fetch zip files with retry mechanism
65
- function fetchZipFile(_x, _x2) {
66
- return _fetchZipFile.apply(this, arguments);
67
- }
68
- function _fetchZipFile() {
69
- _fetchZipFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(url, zipFilePath) {
70
- var retries,
71
- attempt,
72
- response,
73
- _args = arguments;
74
- return _regeneratorRuntime().wrap(function _callee$(_context) {
75
- while (1) switch (_context.prev = _context.next) {
76
- case 0:
77
- retries = _args.length > 2 && _args[2] !== undefined ? _args[2] : 3;
78
- attempt = 0;
79
- case 2:
80
- if (!(attempt < retries)) {
81
- _context.next = 21;
82
- break;
83
- }
84
- _context.next = 5;
85
- return fetch(url);
86
- case 5:
87
- response = _context.sent;
88
- if (!response.ok) {
89
- _context.next = 12;
90
- break;
91
- }
92
- _context.next = 9;
93
- return pipeline(response.body, _fsExtra["default"].createWriteStream(zipFilePath));
94
- case 9:
95
- return _context.abrupt("return");
96
- case 12:
97
- if (!(attempt < retries - 1)) {
98
- _context.next = 16;
99
- break;
100
- }
101
- console.warn("Retrying fetch for ".concat(url, ": ").concat(response.statusText));
102
- _context.next = 18;
103
- break;
104
- case 16:
105
- console.error("Failed to fetch ".concat(url, " after ").concat(retries, " attempts"));
106
- throw new Error("Fetch failed: ".concat(url));
107
- case 18:
108
- attempt++;
109
- _context.next = 2;
110
- break;
111
- case 21:
112
- case "end":
113
- return _context.stop();
114
- }
115
- }, _callee);
116
- }));
117
- return _fetchZipFile.apply(this, arguments);
118
- }
119
- function extractZip(_x3, _x4) {
120
- return _extractZip.apply(this, arguments);
121
- }
122
- function _extractZip() {
123
- _extractZip = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(zipFilePath, outputDir) {
124
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
125
- while (1) switch (_context2.prev = _context2.next) {
126
- case 0:
127
- return _context2.abrupt("return", new Promise(function (resolve, reject) {
128
- var zip = new _nodeStreamZip["default"]({
129
- file: zipFilePath,
130
- storeEntries: true
131
- });
132
- zip.on("ready", function () {
133
- zip.extract(null, outputDir, function (err) {
134
- zip.close();
135
- if (err) {
136
- reject(err);
137
- } else {
138
- resolve();
139
- }
140
- });
141
- });
142
- }));
143
- case 1:
144
- case "end":
145
- return _context2.stop();
146
- }
147
- }, _callee2);
148
- }));
149
- return _extractZip.apply(this, arguments);
150
- }
151
- function reindentJsonFiles(dataDirOrFilePath) {
152
- if (_fsExtra["default"].statSync(dataDirOrFilePath).isDirectory()) {
153
- var _iterator = _createForOfIteratorHelper((0, _file_systems.walkDir)(dataDirOrFilePath)),
154
- _step;
155
- try {
156
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
157
- var dataFileSplitPath = _step.value;
158
- var dataFilePath = _path["default"].join.apply(_path["default"], [dataDirOrFilePath].concat(_toConsumableArray(dataFileSplitPath)));
159
- if (dataFilePath.endsWith(".json")) {
160
- var data = JSON.parse(_fsExtra["default"].readFileSync(dataFilePath, {
161
- encoding: "utf-8"
162
- }));
163
- _fsExtra["default"].writeFileSync(dataFilePath, JSON.stringify(data, null, 2));
164
- }
165
- }
166
- } catch (err) {
167
- _iterator.e(err);
168
- } finally {
169
- _iterator.f();
170
- }
171
- } else {
172
- var _data = JSON.parse(_fsExtra["default"].readFileSync(dataDirOrFilePath, {
173
- encoding: "utf-8"
174
- }));
175
- _fsExtra["default"].writeFileSync(dataDirOrFilePath, JSON.stringify(_data, null, 2));
176
- }
177
- }
178
- function processDataset(_x5, _x6, _x7, _x8) {
179
- return _processDataset.apply(this, arguments);
180
- }
181
- function _processDataset() {
182
- _processDataset = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(dataset, dataDir, parser, options) {
183
- var zipFilePath, dataDirOrFilePath, _iterator2, _step2, _loop;
184
- return _regeneratorRuntime().wrap(function _callee3$(_context4) {
185
- while (1) switch (_context4.prev = _context4.next) {
186
- case 0:
187
- zipFilePath = _path["default"].join(dataDir, "".concat(dataset.filename, ".zip"));
188
- dataDirOrFilePath = _path["default"].join(dataDir, dataset.filename);
189
- _fsExtra["default"].removeSync(dataDirOrFilePath);
190
- if (!options.fetch) {
191
- _context4.next = 7;
192
- break;
193
- }
194
- // Fetch & save ZIP file.
195
- if (!options.silent) {
196
- console.log("Loading ".concat(dataset.title, ": ").concat(dataset.filename, ".zip"));
197
- }
198
- _context4.next = 7;
199
- return fetchZipFile(dataset.url, zipFilePath);
200
- case 7:
201
- if (!options.silent) {
202
- console.log("Unzipping ".concat(dataset.title, ": ").concat(dataset.filename, ".zip"));
203
- }
204
- _context4.next = 10;
205
- return extractZip(zipFilePath, dataDir);
206
- case 10:
207
- if (dataset.repairZip !== undefined) {
208
- if (!options.silent) {
209
- console.log("Repairing ".concat(dataset.title, ": ").concat(dataset.filename));
210
- }
211
- dataset.repairZip(dataset, dataDir);
212
- }
213
-
214
- // Convert xml to JSON.
215
- if (!dataset.filename.endsWith(".xml")) {
216
- _context4.next = 28;
217
- break;
218
- }
219
- _iterator2 = _createForOfIteratorHelper((0, _file_systems.walkDir)(dataDirOrFilePath));
220
- _context4.prev = 13;
221
- _loop = /*#__PURE__*/_regeneratorRuntime().mark(function _loop() {
222
- var dataFileSplitPath, dataFilePath;
223
- return _regeneratorRuntime().wrap(function _loop$(_context3) {
224
- while (1) switch (_context3.prev = _context3.next) {
225
- case 0:
226
- dataFileSplitPath = _step2.value;
227
- dataFilePath = _path["default"].join.apply(_path["default"], [dataDirOrFilePath].concat(_toConsumableArray(dataFileSplitPath)));
228
- if (dataFilePath.endsWith(".xml")) {
229
- _fsExtra["default"].readFile(dataFilePath, function (err, data) {
230
- if (err) return console.error(err);
231
- var result = parser.parse(data);
232
- var newDataFilePath = dataFilePath.replace(/\.[^.]+$/, ".json");
233
- _fsExtra["default"].copy(dataFilePath, newDataFilePath, function (err) {
234
- _fsExtra["default"].writeFileSync(newDataFilePath, JSON.stringify(result, null, 2));
235
- if (err) return console.error(err);
236
- });
237
- });
238
- }
239
- case 3:
240
- case "end":
241
- return _context3.stop();
242
- }
243
- }, _loop);
244
- });
245
- _iterator2.s();
246
- case 16:
247
- if ((_step2 = _iterator2.n()).done) {
248
- _context4.next = 20;
249
- break;
250
- }
251
- return _context4.delegateYield(_loop(), "t0", 18);
252
- case 18:
253
- _context4.next = 16;
254
- break;
255
- case 20:
256
- _context4.next = 25;
257
- break;
258
- case 22:
259
- _context4.prev = 22;
260
- _context4.t1 = _context4["catch"](13);
261
- _iterator2.e(_context4.t1);
262
- case 25:
263
- _context4.prev = 25;
264
- _iterator2.f();
265
- return _context4.finish(25);
266
- case 28:
267
- // Reindent JSON file.
268
- if (!options.silent) {
269
- console.log("Reidenting ".concat(dataset.title, ": ").concat(dataset.filename));
270
- }
271
- reindentJsonFiles(dataDirOrFilePath);
272
- case 30:
273
- case "end":
274
- return _context4.stop();
275
- }
276
- }, _callee3, null, [[13, 22, 25, 28]]);
277
- }));
278
- return _processDataset.apply(this, arguments);
279
- }
280
- function retrieveOpenData(_x9) {
50
+ function retrieveOpenData(_x) {
281
51
  return _retrieveOpenData.apply(this, arguments);
282
52
  }
283
53
  function _retrieveOpenData() {
284
- _retrieveOpenData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(dataDir) {
285
- var enabledDatasets, chosenDatasets, parser, _iterator3, _step3, dataset;
286
- return _regeneratorRuntime().wrap(function _callee4$(_context5) {
287
- while (1) switch (_context5.prev = _context5.next) {
54
+ _retrieveOpenData = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(dataDir) {
55
+ var enabledDatasets, chosenDatasets, _iterator, _step, dataset;
56
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
57
+ while (1) switch (_context.prev = _context.next) {
288
58
  case 0:
289
59
  enabledDatasets = (0, _datasets.getEnabledDatasets)(options.categories);
290
- chosenDatasets = [].concat(_toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.ActeursEtOrganes ? _datasets.datasets.acteursEtOrganes : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.Agendas ? _datasets.datasets.agendas : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.Amendements ? _datasets.datasets.amendements : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.DossiersLegislatifs ? _datasets.datasets.dossiersLegislatifs : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.Scrutins ? _datasets.datasets.scrutins : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.Questions ? _datasets.datasets.questions : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.ComptesRendusSeances ? _datasets.datasets.comptesRendusSeances : []));
60
+ chosenDatasets = [].concat(_toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.ActeursEtOrganes ? _datasets.datasets.acteursEtOrganes : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.Agendas ? _datasets.datasets.agendas : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.Amendements ? _datasets.datasets.amendements : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.DossiersLegislatifs ? _datasets.datasets.dossiersLegislatifs : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.Scrutins ? _datasets.datasets.scrutins : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.Questions ? _datasets.datasets.questions : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.TextesLoi ? _datasets.datasets.textesLoi : []), _toConsumableArray(enabledDatasets & _datasets.EnabledDatasets.ComptesRendusSeances ? _datasets.datasets.comptesRendusSeances : []));
291
61
  if (options.legislature !== 0 && options.legislature !== undefined) {
292
62
  chosenDatasets = chosenDatasets.filter(function (dataset) {
293
63
  return dataset.legislature === _legislatures.Legislature.All || options.legislature === dataset.legislature;
294
64
  });
295
65
  }
296
- parser = new XMLParser({
297
- ignoreDeclaration: true,
298
- ignoreAttributes: false,
299
- ignorePiTags: true,
300
- attributeNamePrefix: "",
301
- textNodeName: "_",
302
- processEntities: false,
303
- trimValues: true,
304
- stopNodes: ["*.texte", "*.intitule"],
305
- parseTagValue: false,
306
- parseAttributeValue: false,
307
- transformTagName: function transformTagName(tagName) {
308
- return tagName === "Para" ? "para" : tagName;
309
- }
310
- });
311
- _iterator3 = _createForOfIteratorHelper(chosenDatasets);
312
- _context5.prev = 5;
313
- _iterator3.s();
314
- case 7:
315
- if ((_step3 = _iterator3.n()).done) {
316
- _context5.next = 13;
66
+ _iterator = _createForOfIteratorHelper(chosenDatasets);
67
+ _context.prev = 4;
68
+ _iterator.s();
69
+ case 6:
70
+ if ((_step = _iterator.n()).done) {
71
+ _context.next = 13;
317
72
  break;
318
73
  }
319
- dataset = _step3.value;
320
- _context5.next = 11;
321
- return processDataset(dataset, dataDir, parser, options);
74
+ dataset = _step.value;
75
+ if (typeof dataset.download !== "function") {
76
+ dataset.download = _process_open_dataset.processDataset;
77
+ }
78
+ _context.next = 11;
79
+ return dataset.download({
80
+ dataDir: dataDir,
81
+ dataset: dataset,
82
+ options: options
83
+ });
322
84
  case 11:
323
- _context5.next = 7;
85
+ _context.next = 6;
324
86
  break;
325
87
  case 13:
326
- _context5.next = 18;
88
+ _context.next = 18;
327
89
  break;
328
90
  case 15:
329
- _context5.prev = 15;
330
- _context5.t0 = _context5["catch"](5);
331
- _iterator3.e(_context5.t0);
91
+ _context.prev = 15;
92
+ _context.t0 = _context["catch"](4);
93
+ _iterator.e(_context.t0);
332
94
  case 18:
333
- _context5.prev = 18;
334
- _iterator3.f();
335
- return _context5.finish(18);
95
+ _context.prev = 18;
96
+ _iterator.f();
97
+ return _context.finish(18);
336
98
  case 21:
337
99
  case "end":
338
- return _context5.stop();
100
+ return _context.stop();
339
101
  }
340
- }, _callee4, null, [[5, 15, 18, 21]]);
102
+ }, _callee, null, [[4, 15, 18, 21]]);
341
103
  }));
342
104
  return _retrieveOpenData.apply(this, arguments);
343
105
  }
@@ -345,4 +107,4 @@ retrieveOpenData(options.dataDir)["catch"](function (error) {
345
107
  console.log(error);
346
108
  process.exit(1);
347
109
  });
348
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZnNFeHRyYSIsIl9wYXRoIiwiX3N0cmVhbSIsIl9ub2RlU3RyZWFtWmlwIiwiX3V0aWwiLCJfZGF0YXNldHMiLCJfZmlsZV9zeXN0ZW1zIiwiX2xlZ2lzbGF0dXJlcyIsIl9jbGlfaGVscGVycyIsImUiLCJfX2VzTW9kdWxlIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwidG9TdHJpbmciLCJ0ZXN0IiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93IiwiX3JlcXVpcmUiLCJYTUxQYXJzZXIiLCJvcHRpb25zRGVmaW5pdGlvbnMiLCJjYXRlZ29yaWVzT3B0aW9uIiwibGVnaXNsYXR1cmVPcHRpb24iLCJzaWxlbnRPcHRpb24iLCJkYXRhRGlyRGVmYXVsdE9wdGlvbiIsImZldGNoT3B0aW9uIiwib3B0aW9ucyIsImNvbW1hbmRMaW5lQXJncyIsInBpcGVsaW5lIiwidXRpbCIsInByb21pc2lmeSIsInN0cmVhbSIsImZldGNoWmlwRmlsZSIsIl94IiwiX3gyIiwiX2ZldGNoWmlwRmlsZSIsIl9jYWxsZWUiLCJ1cmwiLCJ6aXBGaWxlUGF0aCIsInJldHJpZXMiLCJhdHRlbXB0IiwicmVzcG9uc2UiLCJfYXJncyIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJ1bmRlZmluZWQiLCJmZXRjaCIsIm9rIiwiYm9keSIsImZzIiwiY3JlYXRlV3JpdGVTdHJlYW0iLCJjb25zb2xlIiwid2FybiIsImNvbmNhdCIsInN0YXR1c1RleHQiLCJlcnJvciIsImV4dHJhY3RaaXAiLCJfeDMiLCJfeDQiLCJfZXh0cmFjdFppcCIsIl9jYWxsZWUyIiwib3V0cHV0RGlyIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwicmVqZWN0IiwiemlwIiwiU3RyZWFtWmlwIiwiZmlsZSIsInN0b3JlRW50cmllcyIsIm9uIiwiZXh0cmFjdCIsImVyciIsImNsb3NlIiwicmVpbmRlbnRKc29uRmlsZXMiLCJkYXRhRGlyT3JGaWxlUGF0aCIsInN0YXRTeW5jIiwiaXNEaXJlY3RvcnkiLCJfaXRlcmF0b3IiLCJ3YWxrRGlyIiwiX3N0ZXAiLCJkYXRhRmlsZVNwbGl0UGF0aCIsImRhdGFGaWxlUGF0aCIsInBhdGgiLCJqb2luIiwiZW5kc1dpdGgiLCJkYXRhIiwiSlNPTiIsInBhcnNlIiwicmVhZEZpbGVTeW5jIiwiZW5jb2RpbmciLCJ3cml0ZUZpbGVTeW5jIiwic3RyaW5naWZ5IiwicHJvY2Vzc0RhdGFzZXQiLCJfeDUiLCJfeDYiLCJfeDciLCJfeDgiLCJfcHJvY2Vzc0RhdGFzZXQiLCJfY2FsbGVlMyIsImRhdGFzZXQiLCJkYXRhRGlyIiwicGFyc2VyIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsIl9sb29wIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQ0IiwiZmlsZW5hbWUiLCJyZW1vdmVTeW5jIiwic2lsZW50IiwibG9nIiwidGl0bGUiLCJyZXBhaXJaaXAiLCJfbG9vcCQiLCJfY29udGV4dDMiLCJyZWFkRmlsZSIsInJlc3VsdCIsIm5ld0RhdGFGaWxlUGF0aCIsInJlcGxhY2UiLCJjb3B5IiwidDEiLCJyZXRyaWV2ZU9wZW5EYXRhIiwiX3g5IiwiX3JldHJpZXZlT3BlbkRhdGEiLCJfY2FsbGVlNCIsImVuYWJsZWREYXRhc2V0cyIsImNob3NlbkRhdGFzZXRzIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NSIsImdldEVuYWJsZWREYXRhc2V0cyIsImNhdGVnb3JpZXMiLCJFbmFibGVkRGF0YXNldHMiLCJBY3RldXJzRXRPcmdhbmVzIiwiZGF0YXNldHMiLCJhY3RldXJzRXRPcmdhbmVzIiwiQWdlbmRhcyIsImFnZW5kYXMiLCJBbWVuZGVtZW50cyIsImFtZW5kZW1lbnRzIiwiRG9zc2llcnNMZWdpc2xhdGlmcyIsImRvc3NpZXJzTGVnaXNsYXRpZnMiLCJTY3J1dGlucyIsInNjcnV0aW5zIiwiUXVlc3Rpb25zIiwicXVlc3Rpb25zIiwiQ29tcHRlc1JlbmR1c1NlYW5jZXMiLCJjb21wdGVzUmVuZHVzU2VhbmNlcyIsImxlZ2lzbGF0dXJlIiwiZmlsdGVyIiwiTGVnaXNsYXR1cmUiLCJBbGwiLCJpZ25vcmVEZWNsYXJhdGlvbiIsImlnbm9yZUF0dHJpYnV0ZXMiLCJpZ25vcmVQaVRhZ3MiLCJhdHRyaWJ1dGVOYW1lUHJlZml4IiwidGV4dE5vZGVOYW1lIiwicHJvY2Vzc0VudGl0aWVzIiwidHJpbVZhbHVlcyIsInN0b3BOb2RlcyIsInBhcnNlVGFnVmFsdWUiLCJwYXJzZUF0dHJpYnV0ZVZhbHVlIiwidHJhbnNmb3JtVGFnTmFtZSIsInRhZ05hbWUiLCJ0MCIsInByb2Nlc3MiLCJleGl0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfb3Blbl9kYXRhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHN0cmVhbSBmcm9tIFwic3RyZWFtXCJcbmltcG9ydCBTdHJlYW1aaXAgZnJvbSBcIm5vZGUtc3RyZWFtLXppcFwiXG5pbXBvcnQgdXRpbCBmcm9tIFwidXRpbFwiXG5pbXBvcnQgeyBkYXRhc2V0cywgRW5hYmxlZERhdGFzZXRzLCBnZXRFbmFibGVkRGF0YXNldHMgfSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuaW1wb3J0IHsgd2Fsa0RpciB9IGZyb20gXCIuLi9maWxlX3N5c3RlbXNcIlxuaW1wb3J0IHsgTGVnaXNsYXR1cmUgfSBmcm9tIFwiLi4vdHlwZXMvbGVnaXNsYXR1cmVzXCJcbmltcG9ydCB7XG4gIGNhdGVnb3JpZXNPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBmZXRjaE9wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbn0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcbmNvbnN0IHsgWE1MUGFyc2VyIH0gPSByZXF1aXJlKFwiZmFzdC14bWwtcGFyc2VyXCIpXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAgY2F0ZWdvcmllc09wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIGZldGNoT3B0aW9uLFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5jb25zdCBwaXBlbGluZSA9IHV0aWwucHJvbWlzaWZ5KHN0cmVhbS5waXBlbGluZSlcblxuLy8gRnVuY3Rpb24gdG8gZmV0Y2ggemlwIGZpbGVzIHdpdGggcmV0cnkgbWVjaGFuaXNtXG5hc3luYyBmdW5jdGlvbiBmZXRjaFppcEZpbGUoXG4gIHVybDogc3RyaW5nLFxuICB6aXBGaWxlUGF0aDogc3RyaW5nLFxuICByZXRyaWVzID0gMyxcbik6IFByb21pc2U8dm9pZD4ge1xuICBmb3IgKGxldCBhdHRlbXB0ID0gMDsgYXR0ZW1wdCA8IHJldHJpZXM7IGF0dGVtcHQrKykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKVxuICAgIGlmIChyZXNwb25zZS5vaykge1xuICAgICAgYXdhaXQgcGlwZWxpbmUoXG4gICAgICAgIHJlc3BvbnNlLmJvZHkgYXMgdW5rbm93biBhcyBOb2RlSlMuUmVhZGFibGVTdHJlYW0sXG4gICAgICAgIGZzLmNyZWF0ZVdyaXRlU3RyZWFtKHppcEZpbGVQYXRoKSxcbiAgICAgIClcbiAgICAgIHJldHVyblxuICAgIH0gZWxzZSBpZiAoYXR0ZW1wdCA8IHJldHJpZXMgLSAxKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFJldHJ5aW5nIGZldGNoIGZvciAke3VybH06ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggJHt1cmx9IGFmdGVyICR7cmV0cmllc30gYXR0ZW1wdHNgKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGZXRjaCBmYWlsZWQ6ICR7dXJsfWApXG4gICAgfVxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGV4dHJhY3RaaXAoXG4gIHppcEZpbGVQYXRoOiBzdHJpbmcsXG4gIG91dHB1dERpcjogc3RyaW5nLFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgemlwID0gbmV3IFN0cmVhbVppcCh7XG4gICAgICBmaWxlOiB6aXBGaWxlUGF0aCxcbiAgICAgIHN0b3JlRW50cmllczogdHJ1ZSxcbiAgICB9KVxuXG4gICAgemlwLm9uKFwicmVhZHlcIiwgKCkgPT4ge1xuICAgICAgemlwLmV4dHJhY3QobnVsbCEsIG91dHB1dERpciwgKGVycikgPT4ge1xuICAgICAgICB6aXAuY2xvc2UoKVxuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgcmVqZWN0KGVycilcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9KVxufVxuXG5mdW5jdGlvbiByZWluZGVudEpzb25GaWxlcyhkYXRhRGlyT3JGaWxlUGF0aDogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChmcy5zdGF0U3luYyhkYXRhRGlyT3JGaWxlUGF0aCkuaXNEaXJlY3RvcnkoKSkge1xuICAgIGZvciAoY29uc3QgZGF0YUZpbGVTcGxpdFBhdGggb2Ygd2Fsa0RpcihkYXRhRGlyT3JGaWxlUGF0aCkpIHtcbiAgICAgIGNvbnN0IGRhdGFGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhRGlyT3JGaWxlUGF0aCwgLi4uZGF0YUZpbGVTcGxpdFBhdGgpXG4gICAgICBpZiAoZGF0YUZpbGVQYXRoLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgZnMucmVhZEZpbGVTeW5jKGRhdGFGaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0pLFxuICAgICAgICApXG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMoZGF0YUZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCAyKSlcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMoZGF0YURpck9yRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmLThcIiB9KSxcbiAgICApXG4gICAgZnMud3JpdGVGaWxlU3luYyhkYXRhRGlyT3JGaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgMikpXG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc0RhdGFzZXQoXG4gIGRhdGFzZXQ6IGFueSxcbiAgZGF0YURpcjogc3RyaW5nLFxuICBwYXJzZXI6IGFueSxcbiAgb3B0aW9uczogYW55LFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHppcEZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFEaXIsIGAke2RhdGFzZXQuZmlsZW5hbWV9LnppcGApXG4gIGNvbnN0IGRhdGFEaXJPckZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gIGZzLnJlbW92ZVN5bmMoZGF0YURpck9yRmlsZVBhdGgpXG5cbiAgaWYgKG9wdGlvbnMuZmV0Y2gpIHtcbiAgICAvLyBGZXRjaCAmIHNhdmUgWklQIGZpbGUuXG4gICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgJHtkYXRhc2V0LnRpdGxlfTogJHtkYXRhc2V0LmZpbGVuYW1lfS56aXBgKVxuICAgIH1cbiAgICBhd2FpdCBmZXRjaFppcEZpbGUoZGF0YXNldC51cmwsIHppcEZpbGVQYXRoKVxuICB9XG4gIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICBjb25zb2xlLmxvZyhgVW56aXBwaW5nICR7ZGF0YXNldC50aXRsZX06ICR7ZGF0YXNldC5maWxlbmFtZX0uemlwYClcbiAgfVxuICBhd2FpdCBleHRyYWN0WmlwKHppcEZpbGVQYXRoLCBkYXRhRGlyKVxuXG4gIGlmIChkYXRhc2V0LnJlcGFpclppcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgY29uc29sZS5sb2coYFJlcGFpcmluZyAke2RhdGFzZXQudGl0bGV9OiAke2RhdGFzZXQuZmlsZW5hbWV9YClcbiAgICB9XG4gICAgZGF0YXNldC5yZXBhaXJaaXAoZGF0YXNldCwgZGF0YURpcilcbiAgfVxuXG4gIC8vIENvbnZlcnQgeG1sIHRvIEpTT04uXG4gIGlmIChkYXRhc2V0LmZpbGVuYW1lLmVuZHNXaXRoKFwiLnhtbFwiKSkge1xuICAgIGZvciAoY29uc3QgZGF0YUZpbGVTcGxpdFBhdGggb2Ygd2Fsa0RpcihkYXRhRGlyT3JGaWxlUGF0aCkpIHtcbiAgICAgIGNvbnN0IGRhdGFGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhRGlyT3JGaWxlUGF0aCwgLi4uZGF0YUZpbGVTcGxpdFBhdGgpXG4gICAgICBpZiAoZGF0YUZpbGVQYXRoLmVuZHNXaXRoKFwiLnhtbFwiKSkge1xuICAgICAgICBmcy5yZWFkRmlsZShkYXRhRmlsZVBhdGgsIGZ1bmN0aW9uIChlcnIsIGRhdGEpIHtcbiAgICAgICAgICBpZiAoZXJyKSByZXR1cm4gY29uc29sZS5lcnJvcihlcnIpXG4gICAgICAgICAgbGV0IHJlc3VsdCA9IHBhcnNlci5wYXJzZShkYXRhKVxuICAgICAgICAgIGNvbnN0IG5ld0RhdGFGaWxlUGF0aCA9IGRhdGFGaWxlUGF0aC5yZXBsYWNlKC9cXC5bXi5dKyQvLCBcIi5qc29uXCIpXG4gICAgICAgICAgZnMuY29weShkYXRhRmlsZVBhdGgsIG5ld0RhdGFGaWxlUGF0aCwgKGVycikgPT4ge1xuICAgICAgICAgICAgZnMud3JpdGVGaWxlU3luYyhuZXdEYXRhRmlsZVBhdGgsIEpTT04uc3RyaW5naWZ5KHJlc3VsdCwgbnVsbCwgMikpXG4gICAgICAgICAgICBpZiAoZXJyKSByZXR1cm4gY29uc29sZS5lcnJvcihlcnIpXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZWluZGVudCBKU09OIGZpbGUuXG4gIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICBjb25zb2xlLmxvZyhgUmVpZGVudGluZyAke2RhdGFzZXQudGl0bGV9OiAke2RhdGFzZXQuZmlsZW5hbWV9YClcbiAgfVxuICByZWluZGVudEpzb25GaWxlcyhkYXRhRGlyT3JGaWxlUGF0aClcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmV0cmlldmVPcGVuRGF0YShkYXRhRGlyOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgZW5hYmxlZERhdGFzZXRzID0gZ2V0RW5hYmxlZERhdGFzZXRzKG9wdGlvbnMuY2F0ZWdvcmllcylcblxuICBsZXQgY2hvc2VuRGF0YXNldHMgPSBbXG4gICAgLi4uKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BY3RldXJzRXRPcmdhbmVzXG4gICAgICA/IGRhdGFzZXRzLmFjdGV1cnNFdE9yZ2FuZXNcbiAgICAgIDogW10pLFxuICAgIC4uLihlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQWdlbmRhcyA/IGRhdGFzZXRzLmFnZW5kYXMgOiBbXSksXG4gICAgLi4uKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BbWVuZGVtZW50c1xuICAgICAgPyBkYXRhc2V0cy5hbWVuZGVtZW50c1xuICAgICAgOiBbXSksXG4gICAgLi4uKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5Eb3NzaWVyc0xlZ2lzbGF0aWZzXG4gICAgICA/IGRhdGFzZXRzLmRvc3NpZXJzTGVnaXNsYXRpZnNcbiAgICAgIDogW10pLFxuICAgIC4uLihlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuU2NydXRpbnMgPyBkYXRhc2V0cy5zY3J1dGlucyA6IFtdKSxcbiAgICAuLi4oZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlF1ZXN0aW9ucyA/IGRhdGFzZXRzLnF1ZXN0aW9ucyA6IFtdKSxcbiAgICAuLi4oZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkNvbXB0ZXNSZW5kdXNTZWFuY2VzXG4gICAgICA/IGRhdGFzZXRzLmNvbXB0ZXNSZW5kdXNTZWFuY2VzXG4gICAgICA6IFtdKSxcbiAgXVxuXG4gIGlmIChvcHRpb25zLmxlZ2lzbGF0dXJlICE9PSAwICYmIG9wdGlvbnMubGVnaXNsYXR1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNob3NlbkRhdGFzZXRzID0gY2hvc2VuRGF0YXNldHMuZmlsdGVyKFxuICAgICAgKGRhdGFzZXQpID0+XG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgPT09IExlZ2lzbGF0dXJlLkFsbCB8fFxuICAgICAgICBvcHRpb25zLmxlZ2lzbGF0dXJlID09PSBkYXRhc2V0LmxlZ2lzbGF0dXJlLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHBhcnNlciA9IG5ldyBYTUxQYXJzZXIoe1xuICAgIGlnbm9yZURlY2xhcmF0aW9uOiB0cnVlLFxuICAgIGlnbm9yZUF0dHJpYnV0ZXM6IGZhbHNlLFxuICAgIGlnbm9yZVBpVGFnczogdHJ1ZSxcbiAgICBhdHRyaWJ1dGVOYW1lUHJlZml4OiBcIlwiLFxuICAgIHRleHROb2RlTmFtZTogXCJfXCIsXG4gICAgcHJvY2Vzc0VudGl0aWVzOiBmYWxzZSxcbiAgICB0cmltVmFsdWVzOiB0cnVlLFxuICAgIHN0b3BOb2RlczogW1wiKi50ZXh0ZVwiLCBcIiouaW50aXR1bGVcIl0sXG4gICAgcGFyc2VUYWdWYWx1ZTogZmFsc2UsXG4gICAgcGFyc2VBdHRyaWJ1dGVWYWx1ZTogZmFsc2UsXG4gICAgdHJhbnNmb3JtVGFnTmFtZTogKHRhZ05hbWU6IHN0cmluZykgPT5cbiAgICAgIHRhZ05hbWUgPT09IFwiUGFyYVwiID8gXCJwYXJhXCIgOiB0YWdOYW1lLFxuICB9KVxuXG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBjaG9zZW5EYXRhc2V0cykge1xuICAgIGF3YWl0IHByb2Nlc3NEYXRhc2V0KGRhdGFzZXQsIGRhdGFEaXIsIHBhcnNlciwgb3B0aW9ucylcbiAgfVxufVxuXG5yZXRyaWV2ZU9wZW5EYXRhKG9wdGlvbnMuZGF0YURpcikuY2F0Y2goKGVycm9yKSA9PiB7XG4gIGNvbnNvbGUubG9nKGVycm9yKVxuICBwcm9jZXNzLmV4aXQoMSlcbn0pXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLGdCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFB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QUNqQkMsZUFBZSxFQUFFLEtBQUs7WUFDdEJDLFVBQVUsRUFBRSxJQUFJO1lBQ2hCQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDO1lBQ3BDQyxhQUFhLEVBQUUsS0FBSztZQUNwQkMsbUJBQW1CLEVBQUUsS0FBSztZQUMxQkMsZ0JBQWdCLEVBQUUsU0FBQUEsaUJBQUNDLE9BQWU7Y0FBQSxPQUNoQ0EsT0FBTyxLQUFLLE1BQU0sR0FBRyxNQUFNLEdBQUdBLE9BQU87WUFBQTtVQUN6QyxDQUFDLENBQUM7VUFBQXJDLFVBQUEsR0FBQXhILDBCQUFBLENBRW9CdUgsY0FBYztVQUFBSSxTQUFBLENBQUE5SSxJQUFBO1VBQUEySSxVQUFBLENBQUFyTSxDQUFBO1FBQUE7VUFBQSxLQUFBc00sTUFBQSxHQUFBRCxVQUFBLENBQUFsTyxDQUFBLElBQUFrRCxJQUFBO1lBQUFtTCxTQUFBLENBQUF6SyxJQUFBO1lBQUE7VUFBQTtVQUF6QjBJLE9BQU8sR0FBQTZCLE1BQUEsQ0FBQS9OLEtBQUE7VUFBQWlPLFNBQUEsQ0FBQXpLLElBQUE7VUFBQSxPQUNWbUksY0FBYyxDQUFDTyxPQUFPLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFM0UsT0FBTyxDQUFDO1FBQUE7VUFBQXdHLFNBQUEsQ0FBQXpLLElBQUE7VUFBQTtRQUFBO1VBQUF5SyxTQUFBLENBQUF6SyxJQUFBO1VBQUE7UUFBQTtVQUFBeUssU0FBQSxDQUFBOUksSUFBQTtVQUFBOEksU0FBQSxDQUFBbUMsRUFBQSxHQUFBbkMsU0FBQTtVQUFBSCxVQUFBLENBQUF6TyxDQUFBLENBQUE0TyxTQUFBLENBQUFtQyxFQUFBO1FBQUE7VUFBQW5DLFNBQUEsQ0FBQTlJLElBQUE7VUFBQTJJLFVBQUEsQ0FBQXRNLENBQUE7VUFBQSxPQUFBeU0sU0FBQSxDQUFBdkksTUFBQTtRQUFBO1FBQUE7VUFBQSxPQUFBdUksU0FBQSxDQUFBM0ksSUFBQTtNQUFBO0lBQUEsR0FBQXFJLFFBQUE7RUFBQSxDQUUxRDtFQUFBLE9BQUFELGlCQUFBLENBQUE1RyxLQUFBLE9BQUFELFNBQUE7QUFBQTtBQUVEMkcsZ0JBQWdCLENBQUMvRixPQUFPLENBQUMwRSxPQUFPLENBQUMsU0FBTSxDQUFDLFVBQUM3QyxLQUFLLEVBQUs7RUFDakRKLE9BQU8sQ0FBQzJELEdBQUcsQ0FBQ3ZELEtBQUssQ0FBQztFQUNsQitHLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
110
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZGF0YXNldHMiLCJfbGVnaXNsYXR1cmVzIiwiX2NsaV9oZWxwZXJzIiwiX3Byb2Nlc3Nfb3Blbl9kYXRhc2V0IiwiZSIsIl9fZXNNb2R1bGUiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwidCIsInIiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJuIiwiaGFzT3duUHJvcGVydHkiLCJvIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImkiLCJTeW1ib2wiLCJhIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImNhbGwiLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJfdHlwZW9mIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9uIiwiRiIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwiZnJvbSIsInRlc3QiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJvcHRpb25zRGVmaW5pdGlvbnMiLCJjYXRlZ29yaWVzT3B0aW9uIiwibGVnaXNsYXR1cmVPcHRpb24iLCJzaWxlbnRPcHRpb24iLCJkYXRhRGlyRGVmYXVsdE9wdGlvbiIsImZldGNoT3B0aW9uIiwiZmV0Y2hEb2N1bWVudHNPcHRpb24iLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwicmV0cmlldmVPcGVuRGF0YSIsIl94IiwiX3JldHJpZXZlT3BlbkRhdGEiLCJfY2FsbGVlIiwiZGF0YURpciIsImVuYWJsZWREYXRhc2V0cyIsImNob3NlbkRhdGFzZXRzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJkYXRhc2V0IiwiX2NhbGxlZSQiLCJfY29udGV4dCIsImdldEVuYWJsZWREYXRhc2V0cyIsImNhdGVnb3JpZXMiLCJjb25jYXQiLCJFbmFibGVkRGF0YXNldHMiLCJBY3RldXJzRXRPcmdhbmVzIiwiZGF0YXNldHMiLCJhY3RldXJzRXRPcmdhbmVzIiwiQWdlbmRhcyIsImFnZW5kYXMiLCJBbWVuZGVtZW50cyIsImFtZW5kZW1lbnRzIiwiRG9zc2llcnNMZWdpc2xhdGlmcyIsImRvc3NpZXJzTGVnaXNsYXRpZnMiLCJTY3J1dGlucyIsInNjcnV0aW5zIiwiUXVlc3Rpb25zIiwicXVlc3Rpb25zIiwiVGV4dGVzTG9pIiwidGV4dGVzTG9pIiwiQ29tcHRlc1JlbmR1c1NlYW5jZXMiLCJjb21wdGVzUmVuZHVzU2VhbmNlcyIsImxlZ2lzbGF0dXJlIiwidW5kZWZpbmVkIiwiZmlsdGVyIiwiTGVnaXNsYXR1cmUiLCJBbGwiLCJkb3dubG9hZCIsInByb2Nlc3NEYXRhc2V0IiwidDAiLCJlcnJvciIsImNvbnNvbGUiLCJsb2ciLCJwcm9jZXNzIiwiZXhpdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3JldHJpZXZlX29wZW5fZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29tbWFuZExpbmVBcmdzIGZyb20gXCJjb21tYW5kLWxpbmUtYXJnc1wiXG5pbXBvcnQge1xuICBEYXRhc2V0LFxuICBkYXRhc2V0cyxcbiAgRW5hYmxlZERhdGFzZXRzLFxuICBnZXRFbmFibGVkRGF0YXNldHMsXG59IGZyb20gXCIuLi9kYXRhc2V0c1wiXG5pbXBvcnQgeyBMZWdpc2xhdHVyZSB9IGZyb20gXCIuLi90eXBlcy9sZWdpc2xhdHVyZXNcIlxuaW1wb3J0IHtcbiAgY2F0ZWdvcmllc09wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIGZldGNoT3B0aW9uLFxuICBmZXRjaERvY3VtZW50c09wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbn0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcbmltcG9ydCB7IHByb2Nlc3NEYXRhc2V0IH0gZnJvbSBcIi4vcHJvY2Vzc19vcGVuX2RhdGFzZXRcIlxuXG5jb25zdCBvcHRpb25zRGVmaW5pdGlvbnMgPSBbXG4gIGNhdGVnb3JpZXNPcHRpb24sXG4gIGxlZ2lzbGF0dXJlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBmZXRjaE9wdGlvbixcbiAgZmV0Y2hEb2N1bWVudHNPcHRpb24sXG5dXG5jb25zdCBvcHRpb25zID0gY29tbWFuZExpbmVBcmdzKG9wdGlvbnNEZWZpbml0aW9ucylcblxuYXN5bmMgZnVuY3Rpb24gcmV0cmlldmVPcGVuRGF0YShkYXRhRGlyOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgZW5hYmxlZERhdGFzZXRzID0gZ2V0RW5hYmxlZERhdGFzZXRzKG9wdGlvbnMuY2F0ZWdvcmllcylcblxuICBsZXQgY2hvc2VuRGF0YXNldHMgPSBbXG4gICAgLi4uKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BY3RldXJzRXRPcmdhbmVzXG4gICAgICA/IGRhdGFzZXRzLmFjdGV1cnNFdE9yZ2FuZXNcbiAgICAgIDogW10pLFxuICAgIC4uLihlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQWdlbmRhcyA/IGRhdGFzZXRzLmFnZW5kYXMgOiBbXSksXG4gICAgLi4uKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BbWVuZGVtZW50c1xuICAgICAgPyBkYXRhc2V0cy5hbWVuZGVtZW50c1xuICAgICAgOiBbXSksXG4gICAgLi4uKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5Eb3NzaWVyc0xlZ2lzbGF0aWZzXG4gICAgICA/IGRhdGFzZXRzLmRvc3NpZXJzTGVnaXNsYXRpZnNcbiAgICAgIDogW10pLFxuICAgIC4uLihlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuU2NydXRpbnMgPyBkYXRhc2V0cy5zY3J1dGlucyA6IFtdKSxcbiAgICAuLi4oZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlF1ZXN0aW9ucyA/IGRhdGFzZXRzLnF1ZXN0aW9ucyA6IFtdKSxcbiAgICAuLi4oZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlRleHRlc0xvaSA/IGRhdGFzZXRzLnRleHRlc0xvaSA6IFtdKSxcbiAgICAuLi4oZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkNvbXB0ZXNSZW5kdXNTZWFuY2VzXG4gICAgICA/IGRhdGFzZXRzLmNvbXB0ZXNSZW5kdXNTZWFuY2VzXG4gICAgICA6IFtdKSxcbiAgXVxuXG4gIGlmIChvcHRpb25zLmxlZ2lzbGF0dXJlICE9PSAwICYmIG9wdGlvbnMubGVnaXNsYXR1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNob3NlbkRhdGFzZXRzID0gY2hvc2VuRGF0YXNldHMuZmlsdGVyKFxuICAgICAgKGRhdGFzZXQ6IERhdGFzZXQpID0+XG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgPT09IExlZ2lzbGF0dXJlLkFsbCB8fFxuICAgICAgICBvcHRpb25zLmxlZ2lzbGF0dXJlID09PSBkYXRhc2V0LmxlZ2lzbGF0dXJlLFxuICAgIClcbiAgfVxuXG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBjaG9zZW5EYXRhc2V0cykge1xuICAgIGlmICh0eXBlb2YgZGF0YXNldC5kb3dubG9hZCAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBkYXRhc2V0LmRvd25sb2FkID0gcHJvY2Vzc0RhdGFzZXRcbiAgICB9XG5cbiAgICBhd2FpdCBkYXRhc2V0LmRvd25sb2FkKHsgZGF0YURpciwgZGF0YXNldCwgb3B0aW9ucyB9KVxuICB9XG59XG5cbnJldHJpZXZlT3BlbkRhdGEob3B0aW9ucy5kYXRhRGlyKS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgY29uc29sZS5sb2coZXJyb3IpXG4gIHByb2Nlc3MuZXhpdCgxKVxu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