@tricoteuses/assemblee 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/lib/api.d.ts +1 -0
  2. package/lib/api.js +2 -1
  3. package/lib/api.mjs +2 -1
  4. package/lib/bugs/acteur-00010/plugin.test.js +3 -3
  5. package/lib/bugs/acteur-00010.js +3 -3
  6. package/lib/bugs/agenda-00002/plugin.test.js +3 -3
  7. package/lib/bugs/agenda-00002.js +3 -3
  8. package/lib/bugs/agenda-00008/plugin.test.js +3 -3
  9. package/lib/bugs/agenda-00008.js +3 -3
  10. package/lib/bugs/agenda-00011/plugin.test.js +3 -3
  11. package/lib/bugs/agenda-00011.js +3 -3
  12. package/lib/bugs.js +3 -3
  13. package/lib/cleaners/acteurs.js +2 -2
  14. package/lib/cleaners/organes.js +2 -2
  15. package/lib/cleaners/reunions.js +2 -2
  16. package/lib/cleaners/xml.js +2 -2
  17. package/lib/datasets.js +3 -3
  18. package/lib/dossiers_legislatifs.js +3 -3
  19. package/lib/file_systems.js +3 -3
  20. package/lib/inserters.js +8 -1
  21. package/lib/inserters.mjs +8 -1
  22. package/lib/loaders.js +3 -3
  23. package/lib/parsers/documents.js +3 -3
  24. package/lib/parsers/recherche_amendements.js +11 -11
  25. package/lib/raw_types/acteurs_et_organes.d.ts +1 -0
  26. package/lib/raw_types/acteurs_et_organes.js +6 -2
  27. package/lib/raw_types/acteurs_et_organes.mjs +5 -1
  28. package/lib/raw_types/agendas.js +1 -1
  29. package/lib/raw_types/amendements.js +1 -1
  30. package/lib/raw_types/debats.js +1 -1
  31. package/lib/raw_types/dossiers_legislatifs.d.ts +1 -0
  32. package/lib/raw_types/dossiers_legislatifs.js +4 -3
  33. package/lib/raw_types/dossiers_legislatifs.mjs +3 -2
  34. package/lib/raw_types/questions.d.ts +2 -0
  35. package/lib/raw_types/questions.js +6 -4
  36. package/lib/raw_types/questions.mjs +5 -3
  37. package/lib/raw_types/scrutins.js +1 -1
  38. package/lib/scripts/bugs_helper.js +5 -5
  39. package/lib/scripts/clean_reorganized_data.js +4 -4
  40. package/lib/scripts/document_dossiers_legislatifs.js +7 -5
  41. package/lib/scripts/document_dossiers_legislatifs.mjs +4 -2
  42. package/lib/scripts/raw_types_from_amendements.js +3 -3
  43. package/lib/scripts/reorganize_data.js +4 -4
  44. package/lib/scripts/retrieve_deputes_photos.js +8 -8
  45. package/lib/scripts/retrieve_documents.js +7 -7
  46. package/lib/scripts/retrieve_documents.mjs +2 -2
  47. package/lib/scripts/retrieve_open_data.js +3 -3
  48. package/lib/scripts/retrieve_pending_amendments.js +6 -6
  49. package/lib/scripts/retrieve_senateurs_photos.js +8 -8
  50. package/lib/scripts/retrieve_textes_lois.js +5 -5
  51. package/lib/scripts/validate_json.js +3 -3
  52. package/lib/shared_types/codes_actes.js +3 -3
  53. package/lib/types/acteurs_et_organes.d.ts +2 -0
  54. package/lib/types/acteurs_et_organes.js +6 -2
  55. package/lib/types/acteurs_et_organes.mjs +5 -1
  56. package/lib/types/agendas.js +1 -1
  57. package/lib/types/amendements.js +1 -1
  58. package/lib/types/debats.js +1 -1
  59. package/lib/types/dossiers_legislatifs.js +2 -2
  60. package/lib/types/questions.d.ts +2 -0
  61. package/lib/types/questions.js +6 -4
  62. package/lib/types/questions.mjs +5 -3
  63. package/lib/types/scrutins.js +1 -1
  64. package/lib/urls.js +3 -3
  65. package/package.json +7 -7
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
4
  require("core-js/modules/es.date.to-string.js");
5
5
  require("core-js/modules/es.regexp.to-string.js");
6
6
  require("core-js/modules/es.function.name.js");
@@ -49,12 +49,12 @@ var _acteurs_et_organes = require("../types/acteurs_et_organes");
49
49
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
50
50
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
51
51
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52
- 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 exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
52
+ 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 new 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 new 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 new 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; }
53
53
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
54
54
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
55
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
55
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
56
56
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
57
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
57
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
58
58
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
59
59
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
60
60
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
@@ -108,7 +108,7 @@ function retrievePhotosDeputes() {
108
108
  }
109
109
  function _retrievePhotosDeputes() {
110
110
  _retrievePhotosDeputes = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
111
- var dataDir, _loadAssembleeData, acteurByUid, deputesLegislature, gitGroupUrl, photosDirName, photosDir, missingPhotoFilePath, _iterator, _step, depute, ident, numeroDepute, photoFilename, photoFilePath, photoTempFilename, photoTempFilePath, urlPhoto, retries, response, _iterator2, _step2, _depute2, _ident, _numeroDepute2, photoByIdDepute, rowsFilenames, deputeIndex, rowIndex, row, photosFilenames, _iterator3, _step3, _step3$value, columnIndex, _depute, _numeroDepute, _photoFilename, rowFilename, _i2, _rowsFilenames, _rowFilename, jsonFilePath;
111
+ var dataDir, _loadAssembleeData, acteurByUid, deputesLegislature, gitGroupUrl, photosDirName, photosDir, missingPhotoFilePath, _iterator, _step, depute, ident, numeroDepute, photoFilename, photoFilePath, photoTempFilename, photoTempFilePath, urlPhoto, retries, response, _iterator2, _step2, _depute2, _ident, _numeroDepute2, photoByIdDepute, rowsFilenames, deputeIndex, rowIndex, row, photosFilenames, _iterator3, _step3, _step3$value, columnIndex, _depute, _numeroDepute, _photoFilename, rowFilename, _i, _rowsFilenames, _rowFilename, jsonFilePath;
112
112
  return _regeneratorRuntime().wrap(function _callee$(_context) {
113
113
  while (1) switch (_context.prev = _context.next) {
114
114
  case 0:
@@ -292,8 +292,8 @@ function _retrievePhotosDeputes() {
292
292
  (0, _child_process.execSync)("gm convert ".concat(rowsFilenames.join(" "), " -append deputes.jpg"), {
293
293
  cwd: photosDir
294
294
  });
295
- for (_i2 = 0, _rowsFilenames = rowsFilenames; _i2 < _rowsFilenames.length; _i2++) {
296
- _rowFilename = _rowsFilenames[_i2];
295
+ for (_i = 0, _rowsFilenames = rowsFilenames; _i < _rowsFilenames.length; _i++) {
296
+ _rowFilename = _rowsFilenames[_i];
297
297
  _fsExtra["default"].unlinkSync(_path["default"].join(photosDir, _rowFilename));
298
298
  }
299
299
  jsonFilePath = _path["default"].join(photosDir, "deputes.json");
@@ -319,4 +319,4 @@ retrievePhotosDeputes().then(function (exitCode) {
319
319
  console.log(error);
320
320
  process.exit(1);
321
321
  });
322
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hpbGRfcHJvY2VzcyIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9mc0V4dHJhIiwiX3BhdGgiLCJfc3RyZWFtIiwiX3V0aWwiLCJfZGF0YXNldHMiLCJnaXQiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9sb2FkZXJzIiwiX2FjdGV1cnNfZXRfb3JnYW5lcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZXhwb3J0cyIsIk9wIiwiaGFzT3duIiwidmFsdWUiLCIkU3ltYm9sIiwiU3ltYm9sIiwiaXRlcmF0b3JTeW1ib2wiLCJpdGVyYXRvciIsImFzeW5jSXRlcmF0b3JTeW1ib2wiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWdTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImVyciIsIndyYXAiLCJpbm5lckZuIiwib3V0ZXJGbiIsInNlbGYiLCJ0cnlMb2NzTGlzdCIsInByb3RvR2VuZXJhdG9yIiwiR2VuZXJhdG9yIiwiZ2VuZXJhdG9yIiwiY3JlYXRlIiwiY29udGV4dCIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJmbiIsImFyZyIsInR5cGUiLCJDb250aW51ZVNlbnRpbmVsIiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsIkl0ZXJhdG9yUHJvdG90eXBlIiwiZ2V0UHJvdG8iLCJnZXRQcm90b3R5cGVPZiIsIk5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlIiwidmFsdWVzIiwiR3AiLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwibWV0aG9kIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJQcm9taXNlSW1wbCIsImludm9rZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZWNvcmQiLCJyZXN1bHQiLCJfX2F3YWl0IiwidGhlbiIsInVud3JhcHBlZCIsImVycm9yIiwicHJldmlvdXNQcm9taXNlIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJzdGF0ZSIsIkVycm9yIiwiZG9uZVJlc3VsdCIsImRlbGVnYXRlIiwiZGVsZWdhdGVSZXN1bHQiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJkb25lIiwibWV0aG9kTmFtZSIsInVuZGVmaW5lZCIsIlR5cGVFcnJvciIsImluZm8iLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJsb2NzIiwiZW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsIml0ZXJhYmxlIiwiaXRlcmF0b3JNZXRob2QiLCJpc05hTiIsImxlbmd0aCIsImkiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJnZW5GdW4iLCJjdG9yIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJpdGVyIiwia2V5cyIsInZhbCIsIm9iamVjdCIsInJldmVyc2UiLCJwb3AiLCJza2lwVGVtcFJlc2V0IiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJvb3RSZWNvcmQiLCJydmFsIiwiZXhjZXB0aW9uIiwiaGFuZGxlIiwibG9jIiwiY2F1Z2h0IiwiaGFzQ2F0Y2giLCJoYXNGaW5hbGx5IiwiZmluYWxseUVudHJ5IiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJ0aHJvd24iLCJkZWxlZ2F0ZVlpZWxkIiwiX3NsaWNlZFRvQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiX2kiLCJfcyIsIl9lIiwiX3giLCJfciIsIl9hcnIiLCJfbiIsIl9kIiwiQXJyYXkiLCJpc0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJvIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsIkYiLCJzIiwibiIsImUiLCJfZTIiLCJmIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsInN0ZXAiLCJfZTMiLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwiZnJvbSIsInRlc3QiLCJsZW4iLCJhcnIyIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwiX25leHQiLCJfdGhyb3ciLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImFsaWFzIiwiaGVscCIsIlN0cmluZyIsIkJvb2xlYW4iLCJkZWZhdWx0VmFsdWUiLCJtdWx0aXBsZSIsImRlZmF1bHRPcHRpb24iLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwicGlwZWxpbmUiLCJ1dGlsIiwicHJvbWlzaWZ5Iiwic3RyZWFtIiwicmV0cmlldmVQaG90b3NEZXB1dGVzIiwiX3JldHJpZXZlUGhvdG9zRGVwdXRlcyIsIl9jYWxsZWUiLCJkYXRhRGlyIiwiX2xvYWRBc3NlbWJsZWVEYXRhIiwiYWN0ZXVyQnlVaWQiLCJkZXB1dGVzTGVnaXNsYXR1cmUiLCJnaXRHcm91cFVybCIsInBob3Rvc0Rpck5hbWUiLCJwaG90b3NEaXIiLCJtaXNzaW5nUGhvdG9GaWxlUGF0aCIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZGVwdXRlIiwiaWRlbnQiLCJudW1lcm9EZXB1dGUiLCJwaG90b0ZpbGVuYW1lIiwicGhvdG9GaWxlUGF0aCIsInBob3RvVGVtcEZpbGVuYW1lIiwicGhvdG9UZW1wRmlsZVBhdGgiLCJ1cmxQaG90byIsInJldHJpZXMiLCJyZXNwb25zZSIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJfZGVwdXRlMiIsIl9pZGVudCIsIl9udW1lcm9EZXB1dGUyIiwicGhvdG9CeUlkRGVwdXRlIiwicm93c0ZpbGVuYW1lcyIsImRlcHV0ZUluZGV4Iiwicm93SW5kZXgiLCJyb3ciLCJwaG90b3NGaWxlbmFtZXMiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwiX3N0ZXAzJHZhbHVlIiwiY29sdW1uSW5kZXgiLCJfZGVwdXRlIiwiX251bWVyb0RlcHV0ZSIsIl9waG90b0ZpbGVuYW1lIiwicm93RmlsZW5hbWUiLCJfaTIiLCJfcm93c0ZpbGVuYW1lcyIsIl9yb3dGaWxlbmFtZSIsImpzb25GaWxlUGF0aCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJsb2FkQXNzZW1ibGVlRGF0YSIsIkVuYWJsZWREYXRhc2V0cyIsIkFjdGV1cnNFdE9yZ2FuZXMiLCJsZWdpc2xhdHVyZSIsImZpbHRlciIsImFjdGV1ciIsIm1hbmRhdHMiLCJtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSIsIm1hbmRhdCIsInhzaVR5cGUiLCJUeXBlTWFuZGF0IiwiTWFuZGF0UGFybGVtZW50YWlyZVR5cGUiLCJ0eXBlT3JnYW5lIiwiQ29kZVR5cGVPcmdhbmUiLCJBc3NlbWJsZWUiLCJzb3J0IiwiYSIsImIiLCJ1aWQiLCJsb2NhbGVDb21wYXJlIiwiY2xvbmUiLCJ0cmltIiwicmVwbGFjZSIsImNvbmNhdCIsImV4ZWNTeW5jIiwiY3dkIiwiZW52IiwicHJvY2VzcyIsImVuY29kaW5nIiwic3RkaW8iLCJwYXRoIiwiam9pbiIsInB1bGwiLCJmcyIsImVuc3VyZURpclN5bmMiLCJmZXRjaCIsImV0YXRDaXZpbCIsInN1YnN0cmluZyIsInNpbGVudCIsImNvbnNvbGUiLCJsb2ciLCJwcmVub20iLCJub20iLCJvayIsImJvZHkiLCJjcmVhdGVXcml0ZVN0cmVhbSIsInJlbmFtZVN5bmMiLCJ3YXJuIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsInQwIiwidGV4dCIsInQxIiwiZXhpc3RzU3luYyIsImNvcHlGaWxlU3luYyIsInQyIiwiZW50cmllcyIsImNoZW1pbiIsImNoZW1pbk1vc2FpcXVlIiwiaGF1dGV1ciIsImxhcmdldXIiLCJ4TW9zYWlxdWUiLCJ5TW9zYWlxdWUiLCJ1bmxpbmtTeW5jIiwid3JpdGVGaWxlU3luYyIsIkpTT04iLCJzdHJpbmdpZnkiLCJjb21taXQiLCJjb21taXRBbmRQdXNoIiwicmVtb3RlIiwiZXhpdENvZGUiLCJleGl0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfZGVwdXRlc19waG90b3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgY29tbWFuZExpbmVBcmdzIGZyb20gXCJjb21tYW5kLWxpbmUtYXJnc1wiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCBzdHJlYW0gZnJvbSBcInN0cmVhbVwiXG5pbXBvcnQgdXRpbCBmcm9tIFwidXRpbFwiXG5cbmltcG9ydCB7IEVuYWJsZWREYXRhc2V0cyB9IGZyb20gXCIuLi9kYXRhc2V0c1wiXG5pbXBvcnQgKiBhcyBnaXQgZnJvbSBcIi4uL2dpdFwiXG5pbXBvcnQgeyBsb2FkQXNzZW1ibGVlRGF0YSB9IGZyb20gXCIuLi9sb2FkZXJzXCJcbmltcG9ydCB7XG4gIENvZGVUeXBlT3JnYW5lLFxuICBNYW5kYXQsXG4gIFBob3RvLFxuICBUeXBlTWFuZGF0LFxufSBmcm9tIFwiLi4vdHlwZXMvYWN0ZXVyc19ldF9vcmdhbmVzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICB7XG4gICAgYWxpYXM6IFwiQ1wiLFxuICAgIGhlbHA6IFwiY2xvbmUgcmVwb3NpdG9yaWVzIGZyb20gZ2l2ZW4gZ3JvdXAgKG9yIG9yZ2FuaXphdGlvbikgZ2l0IFVSTFwiLFxuICAgIG5hbWU6IFwiY2xvbmVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJjXCIsXG4gICAgaGVscDogXCJjb21taXQgcGhvdG9zXCIsXG4gICAgbmFtZTogXCJjb21taXRcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiZlwiLFxuICAgIGhlbHA6IFwiZmV0Y2ggZMOpcHV0w6lzJyBwaWN0dXJlcyBpbnN0ZWFkIG9mIHJldHJpZXZpbmcgdGhlbSBmcm9tIGZpbGVzXCIsXG4gICAgbmFtZTogXCJmZXRjaFwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJsXCIsXG4gICAgZGVmYXVsdFZhbHVlOiBcIjE2XCIsXG4gICAgbmFtZTogXCJsZWdpc2xhdHVyZVwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInBcIixcbiAgICBoZWxwOiBcInB1bGwgcmVwb3NpdG9yaWVzIGJlZm9yZSBwcm9jZWVkaW5nXCIsXG4gICAgbmFtZTogXCJwdWxsXCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInJcIixcbiAgICBoZWxwOiBcInB1c2ggY29tbWl0IHRvIGdpdmVuIHJlbW90ZVwiLFxuICAgIG11bHRpcGxlOiB0cnVlLFxuICAgIG5hbWU6IFwicmVtb3RlXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwic1wiLFxuICAgIGhlbHA6IFwiZG9uJ3QgbG9nIGFueXRoaW5nXCIsXG4gICAgbmFtZTogXCJzaWxlbnRcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICBoZWxwOiBcImRpcmVjdG9yeSBjb250YWluaW5nIEFzc2VtYmzDqWUgb3BlbiBkYXRhIGZpbGVzXCIsXG4gICAgbmFtZTogXCJkYXRhRGlyXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5jb25zdCBwaXBlbGluZSA9IHV0aWwucHJvbWlzaWZ5KHN0cmVhbS5waXBlbGluZSlcblxuYXN5bmMgZnVuY3Rpb24gcmV0cmlldmVQaG90b3NEZXB1dGVzKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gIGNvbnN0IGRhdGFEaXIgPSBvcHRpb25zLmRhdGFEaXJcbiAgY29uc3QgeyBhY3RldXJCeVVpZCB9ID0gbG9hZEFzc2VtYmxlZURhdGEoXG4gICAgZGF0YURpcixcbiAgICBFbmFibGVkRGF0YXNldHMuQWN0ZXVyc0V0T3JnYW5lcyxcbiAgICBvcHRpb25zLmxlZ2lzbGF0dXJlLFxuICApXG4gIGNvbnN0IGRlcHV0ZXNMZWdpc2xhdHVyZSA9IE9iamVjdC52YWx1ZXMoYWN0ZXVyQnlVaWQpXG4gICAgLmZpbHRlcigoYWN0ZXVyKSA9PiB7XG4gICAgICBjb25zdCB7IG1hbmRhdHMgfSA9IGFjdGV1clxuICAgICAgaWYgKCFtYW5kYXRzKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgICAgY29uc3QgbWFuZGF0RGVwdXRlTGVnaXNsYXR1cmUgPSBtYW5kYXRzLmZpbHRlcihcbiAgICAgICAgKG1hbmRhdDogTWFuZGF0KSA9PlxuICAgICAgICAgIG1hbmRhdC54c2lUeXBlID09PSBUeXBlTWFuZGF0Lk1hbmRhdFBhcmxlbWVudGFpcmVUeXBlICYmXG4gICAgICAgICAgbWFuZGF0LmxlZ2lzbGF0dXJlID09PSBvcHRpb25zLmxlZ2lzbGF0dXJlICYmXG4gICAgICAgICAgbWFuZGF0LnR5cGVPcmdhbmUgPT09IENvZGVUeXBlT3JnYW5lLkFzc2VtYmxlZSxcbiAgICAgIClbMF1cbiAgICAgIHJldHVybiBtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSAhPT0gdW5kZWZpbmVkXG4gICAgfSlcbiAgICAuc29ydCgoYSwgYikgPT5cbiAgICAgIGEudWlkLmxlbmd0aCA9PT0gYi51aWQubGVuZ3RoXG4gICAgICAgID8gYS51aWQubG9jYWxlQ29tcGFyZShiLnVpZClcbiAgICAgICAgOiBhLnVpZC5sZW5ndGggLSBiLnVpZC5sZW5ndGgsXG4gICAgKVxuXG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIGNvbnN0IHBob3Rvc0Rpck5hbWUgPSBgcGhvdG9zX2RlcHV0ZXNfJHtvcHRpb25zLmxlZ2lzbGF0dXJlfWBcbiAgaWYgKGdpdEdyb3VwVXJsICE9PSB1bmRlZmluZWQpIHtcbiAgICBleGVjU3luYyhgZ2l0IGNsb25lICR7Z2l0R3JvdXBVcmx9LyR7cGhvdG9zRGlyTmFtZX0uZ2l0YCwge1xuICAgICAgY3dkOiBkYXRhRGlyLFxuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgIGVuY29kaW5nOiBcInV0Zi04XCIsXG4gICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwiaWdub3JlXCIsIFwicGlwZVwiXSxcbiAgICB9KVxuICB9XG4gIGNvbnN0IHBob3Rvc0RpciA9IHBhdGguam9pbihkYXRhRGlyLCBwaG90b3NEaXJOYW1lKVxuICBpZiAob3B0aW9ucy5wdWxsKSB7XG4gICAgZXhlY1N5bmMoYGdpdCByZXNldCAtLWhhcmQgb3JpZ2luL21hc3RlcmAsIHtcbiAgICAgIGN3ZDogcGhvdG9zRGlyLFxuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgIGVuY29kaW5nOiBcInV0Zi04XCIsXG4gICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwiaWdub3JlXCIsIFwicGlwZVwiXSxcbiAgICB9KVxuICAgIGV4ZWNTeW5jKGBnaXQgcHVsbCAtLXJlYmFzZWAsIHtcbiAgICAgIGN3ZDogcGhvdG9zRGlyLFxuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgIGVuY29kaW5nOiBcInV0Zi04XCIsXG4gICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwiaWdub3JlXCIsIFwicGlwZVwiXSxcbiAgICB9KVxuICB9XG5cbiAgLy8gRG93bmxvYWQgcGhvdG9zLlxuICBmcy5lbnN1cmVEaXJTeW5jKHBob3Rvc0RpcilcbiAgaWYgKG9wdGlvbnMuZmV0Y2gpIHtcbiAgICBjb25zdCBtaXNzaW5nUGhvdG9GaWxlUGF0aCA9IFwiaW1hZ2VzL3RyYW5zcGFyZW50XzE1MHgxOTIuanBnXCJcbiAgICBmb3IgKGNvbnN0IGRlcHV0ZSBvZiBkZXB1dGVzTGVnaXNsYXR1cmUpIHtcbiAgICAgIGNvbnN0IGlkZW50ID0gZGVwdXRlLmV0YXRDaXZpbC5pZGVudFxuICAgICAgY29uc3QgbnVtZXJvRGVwdXRlID0gZGVwdXRlLnVpZC5zdWJzdHJpbmcoMilcbiAgICAgIGNvbnN0IHBob3RvRmlsZW5hbWUgPSBgJHtudW1lcm9EZXB1dGV9LmpwZ2BcbiAgICAgIGNvbnN0IHBob3RvRmlsZVBhdGggPSBwYXRoLmpvaW4ocGhvdG9zRGlyLCBwaG90b0ZpbGVuYW1lKVxuICAgICAgY29uc3QgcGhvdG9UZW1wRmlsZW5hbWUgPSBgJHtudW1lcm9EZXB1dGV9X3RlbXAuanBnYFxuICAgICAgY29uc3QgcGhvdG9UZW1wRmlsZVBhdGggPSBwYXRoLmpvaW4ocGhvdG9zRGlyLCBwaG90b1RlbXBGaWxlbmFtZSlcbiAgICAgIGNvbnN0IHVybFBob3RvID0gYGh0dHA6Ly93d3cyLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL3RyaWJ1bi8ke29wdGlvbnMubGVnaXNsYXR1cmV9L3Bob3Rvcy8ke3Bob3RvRmlsZW5hbWV9YFxuICAgICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBgTG9hZGluZyBwaG90byAke3VybFBob3RvfSBmb3IgJHtpZGVudC5wcmVub219ICR7aWRlbnQubm9tfeKApmAsXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGZvciAobGV0IHJldHJpZXMgPSAwOyByZXRyaWVzIDwgMzsgcmV0cmllcysrKSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsUGhvdG8pXG4gICAgICAgIGlmIChyZXNwb25zZS5vaykge1xuICAgICAgICAgIGF3YWl0IHBpcGVsaW5lKFxuICAgICAgICAgICAgcmVzcG9uc2UuYm9keSBhcyB1bmtub3duIGFzIE5vZGVKUy5SZWFkYWJsZVN0cmVhbSxcbiAgICAgICAgICAgIGZzLmNyZWF0ZVdyaXRlU3RyZWFtKHBob3RvVGVtcEZpbGVQYXRoKSxcbiAgICAgICAgICApXG4gICAgICAgICAgZnMucmVuYW1lU3luYyhwaG90b1RlbXBGaWxlUGF0aCwgcGhvdG9GaWxlUGF0aClcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXRyaWVzID49IDIpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgRmV0Y2ggZmFpbGVkOiAke3VybFBob3RvfSAoJHtpZGVudC5wcmVub219ICR7aWRlbnQubm9tfSlgLFxuICAgICAgICAgIClcbiAgICAgICAgICBjb25zb2xlLndhcm4ocmVzcG9uc2Uuc3RhdHVzLCByZXNwb25zZS5zdGF0dXNUZXh0KVxuICAgICAgICAgIGNvbnNvbGUud2Fybihhd2FpdCByZXNwb25zZS50ZXh0KCkpXG4gICAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMocGhvdG9GaWxlUGF0aCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIiAgPT4gUmV1c2luZyBleGlzdGluZyBpbWFnZVwiKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCIgID0+IFVzaW5nIGJsYW5rIGltYWdlXCIpXG4gICAgICAgICAgICBmcy5jb3B5RmlsZVN5bmMobWlzc2luZ1Bob3RvRmlsZVBhdGgsIHBob3RvRmlsZVBhdGgpXG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNpemUgcGhvdG9zIHRvIDE1MHgxOTIsIGJlY2F1c2Ugc29tZSBoYXZlbid0IGV4YWN0bHkgdGhpcyBzaXplLlxuICBmb3IgKGNvbnN0IGRlcHV0ZSBvZiBkZXB1dGVzTGVnaXNsYXR1cmUpIHtcbiAgICBjb25zdCBpZGVudCA9IGRlcHV0ZS5ldGF0Q2l2aWwuaWRlbnRcbiAgICBjb25zdCBudW1lcm9EZXB1dGUgPSBkZXB1dGUudWlkLnN1YnN0cmluZygyKVxuICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgUmVzaXppbmcgcGhvdG8gJHtudW1lcm9EZXB1dGV9IGZvciAke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub2194oCmYCxcbiAgICAgIClcbiAgICB9XG4gICAgZXhlY1N5bmMoXG4gICAgICBgZ20gY29udmVydCAtcmVzaXplIDE1MHgxOTIhICR7bnVtZXJvRGVwdXRlfS5qcGcgJHtudW1lcm9EZXB1dGV9XzE1MHgxOTIuanBnYCxcbiAgICAgIHtcbiAgICAgICAgY3dkOiBwaG90b3NEaXIsXG4gICAgICB9LFxuICAgIClcbiAgfVxuXG4gIC8vIENyZWF0ZSBhIG1vc2FpYyBvZiBwaG90b3MuXG4gIGNvbnN0IHBob3RvQnlJZERlcHV0ZTogeyBbdWlkOiBzdHJpbmddOiBQaG90byB9ID0ge31cbiAgY29uc3Qgcm93c0ZpbGVuYW1lczogc3RyaW5nW10gPSBbXVxuICBmb3IgKFxuICAgIGxldCBkZXB1dGVJbmRleCA9IDAsIHJvd0luZGV4ID0gMDtcbiAgICBkZXB1dGVJbmRleCA8IGRlcHV0ZXNMZWdpc2xhdHVyZS5sZW5ndGg7XG4gICAgZGVwdXRlSW5kZXggKz0gMjUsIHJvd0luZGV4KytcbiAgKSB7XG4gICAgY29uc3Qgcm93ID0gZGVwdXRlc0xlZ2lzbGF0dXJlLnNsaWNlKGRlcHV0ZUluZGV4LCBkZXB1dGVJbmRleCArIDI1KVxuICAgIGNvbnN0IHBob3Rvc0ZpbGVuYW1lczogc3RyaW5nW10gPSBbXVxuICAgIGZvciAoY29uc3QgW2NvbHVtbkluZGV4LCBkZXB1dGVdIG9mIHJvdy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IG51bWVyb0RlcHV0ZSA9IGRlcHV0ZS51aWQuc3Vic3RyaW5nKDIpXG4gICAgICBjb25zdCBwaG90b0ZpbGVuYW1lID0gYCR7bnVtZXJvRGVwdXRlfV8xNTB4MTkyLmpwZ2BcbiAgICAgIHBob3Rvc0ZpbGVuYW1lcy5wdXNoKHBob3RvRmlsZW5hbWUpXG4gICAgICBwaG90b0J5SWREZXB1dGVbZGVwdXRlLnVpZF0gPSB7XG4gICAgICAgIGNoZW1pbjogYHBob3Rvc19kZXB1dGVzXyR7b3B0aW9ucy5sZWdpc2xhdHVyZX0vJHtwaG90b0ZpbGVuYW1lfWAsXG4gICAgICAgIGNoZW1pbk1vc2FpcXVlOiBgcGhvdG9zX2RlcHV0ZXNfJHtvcHRpb25zLmxlZ2lzbGF0dXJlfS9kZXB1dGVzLmpwZ2AsXG4gICAgICAgIGhhdXRldXI6IDE5MixcbiAgICAgICAgbGFyZ2V1cjogMTUwLFxuICAgICAgICB4TW9zYWlxdWU6IGNvbHVtbkluZGV4ICogMTUwLFxuICAgICAgICB5TW9zYWlxdWU6IHJvd0luZGV4ICogMTkyLFxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByb3dGaWxlbmFtZSA9IGByb3ctJHtyb3dJbmRleH0uanBnYFxuICAgIGV4ZWNTeW5jKGBnbSBjb252ZXJ0ICR7cGhvdG9zRmlsZW5hbWVzLmpvaW4oXCIgXCIpfSArYXBwZW5kICR7cm93RmlsZW5hbWV9YCwge1xuICAgICAgY3dkOiBwaG90b3NEaXIsXG4gICAgfSlcbiAgICByb3dzRmlsZW5hbWVzLnB1c2gocm93RmlsZW5hbWUpXG4gIH1cbiAgZXhlY1N5bmMoYGdtIGNvbnZlcnQgJHtyb3dzRmlsZW5hbWVzLmpvaW4oXCIgXCIpfSAtYXBwZW5kIGRlcHV0ZXMuanBnYCwge1xuICAgIGN3ZDogcGhvdG9zRGlyLFxuICB9KVxuICBmb3IgKGNvbnN0IHJvd0ZpbGVuYW1lIG9mIHJvd3NGaWxlbmFtZXMpIHtcbiAgICBmcy51bmxpbmtTeW5jKHBhdGguam9pbihwaG90b3NEaXIsIHJvd0ZpbGVuYW1lKSlcbiAgfVxuXG4gIGNvbnN0IGpzb25GaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIFwiZGVwdXRlcy5qc29uXCIpXG4gIGZzLndyaXRlRmlsZVN5bmMoanNvbkZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShwaG90b0J5SWREZXB1dGUsIG51bGwsIDIpKVxuXG4gIGlmIChvcHRpb25zLmNvbW1pdCkge1xuICAgIHJldHVybiBnaXQuY29tbWl0QW5kUHVzaChwaG90b3NEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgfVxuICByZXR1cm4gMFxufVxuXG5yZXRyaWV2ZVBob3Rvc0RlcHV0ZXMoKVxuICAudGhlbigoZXhpdENvZGUpID0+IHByb2Nlc3MuZXhpdChleGl0Q29kZSkpXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxjQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxnQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsUUFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssT0FBQSxH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
322
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hpbGRfcHJvY2VzcyIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9mc0V4dHJhIiwiX3BhdGgiLCJfc3RyZWFtIiwiX3V0aWwiLCJfZGF0YXNldHMiLCJnaXQiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9sb2FkZXJzIiwiX2FjdGV1cnNfZXRfb3JnYW5lcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwibiIsIm8iLCJ2YWx1ZSIsImkiLCJTeW1ib2wiLCJhIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImgiLCJsIiwiZiIsInMiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiX3NsaWNlZFRvQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiQXJyYXkiLCJpc0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiRiIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsImVyciIsInN0ZXAiLCJfZTIiLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwiZnJvbSIsInRlc3QiLCJsZW4iLCJhcnIyIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsInVuZGVmaW5lZCIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImFsaWFzIiwiaGVscCIsIlN0cmluZyIsIkJvb2xlYW4iLCJkZWZhdWx0VmFsdWUiLCJtdWx0aXBsZSIsImRlZmF1bHRPcHRpb24iLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwicGlwZWxpbmUiLCJ1dGlsIiwicHJvbWlzaWZ5Iiwic3RyZWFtIiwicmV0cmlldmVQaG90b3NEZXB1dGVzIiwiX3JldHJpZXZlUGhvdG9zRGVwdXRlcyIsIl9jYWxsZWUiLCJkYXRhRGlyIiwiX2xvYWRBc3NlbWJsZWVEYXRhIiwiYWN0ZXVyQnlVaWQiLCJkZXB1dGVzTGVnaXNsYXR1cmUiLCJnaXRHcm91cFVybCIsInBob3Rvc0Rpck5hbWUiLCJwaG90b3NEaXIiLCJtaXNzaW5nUGhvdG9GaWxlUGF0aCIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZGVwdXRlIiwiaWRlbnQiLCJudW1lcm9EZXB1dGUiLCJwaG90b0ZpbGVuYW1lIiwicGhvdG9GaWxlUGF0aCIsInBob3RvVGVtcEZpbGVuYW1lIiwicGhvdG9UZW1wRmlsZVBhdGgiLCJ1cmxQaG90byIsInJldHJpZXMiLCJyZXNwb25zZSIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJfZGVwdXRlMiIsIl9pZGVudCIsIl9udW1lcm9EZXB1dGUyIiwicGhvdG9CeUlkRGVwdXRlIiwicm93c0ZpbGVuYW1lcyIsImRlcHV0ZUluZGV4Iiwicm93SW5kZXgiLCJyb3ciLCJwaG90b3NGaWxlbmFtZXMiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwiX3N0ZXAzJHZhbHVlIiwiY29sdW1uSW5kZXgiLCJfZGVwdXRlIiwiX251bWVyb0RlcHV0ZSIsIl9waG90b0ZpbGVuYW1lIiwicm93RmlsZW5hbWUiLCJfaSIsIl9yb3dzRmlsZW5hbWVzIiwiX3Jvd0ZpbGVuYW1lIiwianNvbkZpbGVQYXRoIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsImxvYWRBc3NlbWJsZWVEYXRhIiwiRW5hYmxlZERhdGFzZXRzIiwiQWN0ZXVyc0V0T3JnYW5lcyIsImxlZ2lzbGF0dXJlIiwiZmlsdGVyIiwiYWN0ZXVyIiwibWFuZGF0cyIsIm1hbmRhdERlcHV0ZUxlZ2lzbGF0dXJlIiwibWFuZGF0IiwieHNpVHlwZSIsIlR5cGVNYW5kYXQiLCJNYW5kYXRQYXJsZW1lbnRhaXJlVHlwZSIsInR5cGVPcmdhbmUiLCJDb2RlVHlwZU9yZ2FuZSIsIkFzc2VtYmxlZSIsInNvcnQiLCJiIiwidWlkIiwibG9jYWxlQ29tcGFyZSIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJjb25jYXQiLCJleGVjU3luYyIsImN3ZCIsImVudiIsInByb2Nlc3MiLCJlbmNvZGluZyIsInN0ZGlvIiwicGF0aCIsImpvaW4iLCJwdWxsIiwiZnMiLCJlbnN1cmVEaXJTeW5jIiwiZmV0Y2giLCJldGF0Q2l2aWwiLCJzdWJzdHJpbmciLCJzaWxlbnQiLCJjb25zb2xlIiwibG9nIiwicHJlbm9tIiwibm9tIiwib2siLCJib2R5IiwiY3JlYXRlV3JpdGVTdHJlYW0iLCJyZW5hbWVTeW5jIiwid2FybiIsInN0YXR1cyIsInN0YXR1c1RleHQiLCJ0MCIsInRleHQiLCJ0MSIsImV4aXN0c1N5bmMiLCJjb3B5RmlsZVN5bmMiLCJ0MiIsImVudHJpZXMiLCJjaGVtaW4iLCJjaGVtaW5Nb3NhaXF1ZSIsImhhdXRldXIiLCJsYXJnZXVyIiwieE1vc2FpcXVlIiwieU1vc2FpcXVlIiwidW5saW5rU3luYyIsIndyaXRlRmlsZVN5bmMiLCJKU09OIiwic3RyaW5naWZ5IiwiY29tbWl0IiwiY29tbWl0QW5kUHVzaCIsInJlbW90ZSIsImV4aXRDb2RlIiwiZXhpdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3JldHJpZXZlX2RlcHV0ZXNfcGhvdG9zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIlxuaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgc3RyZWFtIGZyb20gXCJzdHJlYW1cIlxuaW1wb3J0IHV0aWwgZnJvbSBcInV0aWxcIlxuXG5pbXBvcnQgeyBFbmFibGVkRGF0YXNldHMgfSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuaW1wb3J0ICogYXMgZ2l0IGZyb20gXCIuLi9naXRcIlxuaW1wb3J0IHsgbG9hZEFzc2VtYmxlZURhdGEgfSBmcm9tIFwiLi4vbG9hZGVyc1wiXG5pbXBvcnQge1xuICBDb2RlVHlwZU9yZ2FuZSxcbiAgTWFuZGF0LFxuICBQaG90byxcbiAgVHlwZU1hbmRhdCxcbn0gZnJvbSBcIi4uL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAge1xuICAgIGFsaWFzOiBcIkNcIixcbiAgICBoZWxwOiBcImNsb25lIHJlcG9zaXRvcmllcyBmcm9tIGdpdmVuIGdyb3VwIChvciBvcmdhbml6YXRpb24pIGdpdCBVUkxcIixcbiAgICBuYW1lOiBcImNsb25lXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiY1wiLFxuICAgIGhlbHA6IFwiY29tbWl0IHBob3Rvc1wiLFxuICAgIG5hbWU6IFwiY29tbWl0XCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcImZcIixcbiAgICBoZWxwOiBcImZldGNoIGTDqXB1dMOpcycgcGljdHVyZXMgaW5zdGVhZCBvZiByZXRyaWV2aW5nIHRoZW0gZnJvbSBmaWxlc1wiLFxuICAgIG5hbWU6IFwiZmV0Y2hcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwibFwiLFxuICAgIGRlZmF1bHRWYWx1ZTogXCIxNlwiLFxuICAgIG5hbWU6IFwibGVnaXNsYXR1cmVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJwXCIsXG4gICAgaGVscDogXCJwdWxsIHJlcG9zaXRvcmllcyBiZWZvcmUgcHJvY2VlZGluZ1wiLFxuICAgIG5hbWU6IFwicHVsbFwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJyXCIsXG4gICAgaGVscDogXCJwdXNoIGNvbW1pdCB0byBnaXZlbiByZW1vdGVcIixcbiAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICBuYW1lOiBcInJlbW90ZVwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInNcIixcbiAgICBoZWxwOiBcImRvbid0IGxvZyBhbnl0aGluZ1wiLFxuICAgIG5hbWU6IFwic2lsZW50XCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbiAge1xuICAgIGRlZmF1bHRPcHRpb246IHRydWUsXG4gICAgaGVscDogXCJkaXJlY3RvcnkgY29udGFpbmluZyBBc3NlbWJsw6llIG9wZW4gZGF0YSBmaWxlc1wiLFxuICAgIG5hbWU6IFwiZGF0YURpclwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuY29uc3QgcGlwZWxpbmUgPSB1dGlsLnByb21pc2lmeShzdHJlYW0ucGlwZWxpbmUpXG5cbmFzeW5jIGZ1bmN0aW9uIHJldHJpZXZlUGhvdG9zRGVwdXRlcygpOiBQcm9taXNlPG51bWJlcj4ge1xuICBjb25zdCBkYXRhRGlyID0gb3B0aW9ucy5kYXRhRGlyXG4gIGNvbnN0IHsgYWN0ZXVyQnlVaWQgfSA9IGxvYWRBc3NlbWJsZWVEYXRhKFxuICAgIGRhdGFEaXIsXG4gICAgRW5hYmxlZERhdGFzZXRzLkFjdGV1cnNFdE9yZ2FuZXMsXG4gICAgb3B0aW9ucy5sZWdpc2xhdHVyZSxcbiAgKVxuICBjb25zdCBkZXB1dGVzTGVnaXNsYXR1cmUgPSBPYmplY3QudmFsdWVzKGFjdGV1ckJ5VWlkKVxuICAgIC5maWx0ZXIoKGFjdGV1cikgPT4ge1xuICAgICAgY29uc3QgeyBtYW5kYXRzIH0gPSBhY3RldXJcbiAgICAgIGlmICghbWFuZGF0cykge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1hbmRhdERlcHV0ZUxlZ2lzbGF0dXJlID0gbWFuZGF0cy5maWx0ZXIoXG4gICAgICAgIChtYW5kYXQ6IE1hbmRhdCkgPT5cbiAgICAgICAgICBtYW5kYXQueHNpVHlwZSA9PT0gVHlwZU1hbmRhdC5NYW5kYXRQYXJsZW1lbnRhaXJlVHlwZSAmJlxuICAgICAgICAgIG1hbmRhdC5sZWdpc2xhdHVyZSA9PT0gb3B0aW9ucy5sZWdpc2xhdHVyZSAmJlxuICAgICAgICAgIG1hbmRhdC50eXBlT3JnYW5lID09PSBDb2RlVHlwZU9yZ2FuZS5Bc3NlbWJsZWUsXG4gICAgICApWzBdXG4gICAgICByZXR1cm4gbWFuZGF0RGVwdXRlTGVnaXNsYXR1cmUgIT09IHVuZGVmaW5lZFxuICAgIH0pXG4gICAgLnNvcnQoKGEsIGIpID0+XG4gICAgICBhLnVpZC5sZW5ndGggPT09IGIudWlkLmxlbmd0aFxuICAgICAgICA/IGEudWlkLmxvY2FsZUNvbXBhcmUoYi51aWQpXG4gICAgICAgIDogYS51aWQubGVuZ3RoIC0gYi51aWQubGVuZ3RoLFxuICAgIClcblxuICBjb25zdCBnaXRHcm91cFVybCA9IG9wdGlvbnMuY2xvbmVcbiAgICA/IG9wdGlvbnMuY2xvbmUudHJpbSgpLnJlcGxhY2UoL1xcLyskLywgXCJcIilcbiAgICA6IHVuZGVmaW5lZFxuICBjb25zdCBwaG90b3NEaXJOYW1lID0gYHBob3Rvc19kZXB1dGVzXyR7b3B0aW9ucy5sZWdpc2xhdHVyZX1gXG4gIGlmIChnaXRHcm91cFVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZXhlY1N5bmMoYGdpdCBjbG9uZSAke2dpdEdyb3VwVXJsfS8ke3Bob3Rvc0Rpck5hbWV9LmdpdGAsIHtcbiAgICAgIGN3ZDogZGF0YURpcixcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICBlbmNvZGluZzogXCJ1dGYtOFwiLFxuICAgICAgc3RkaW86IFtcImlnbm9yZVwiLCBcImlnbm9yZVwiLCBcInBpcGVcIl0sXG4gICAgfSlcbiAgfVxuICBjb25zdCBwaG90b3NEaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgcGhvdG9zRGlyTmFtZSlcbiAgaWYgKG9wdGlvbnMucHVsbCkge1xuICAgIGV4ZWNTeW5jKGBnaXQgcmVzZXQgLS1oYXJkIG9yaWdpbi9tYXN0ZXJgLCB7XG4gICAgICBjd2Q6IHBob3Rvc0RpcixcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICBlbmNvZGluZzogXCJ1dGYtOFwiLFxuICAgICAgc3RkaW86IFtcImlnbm9yZVwiLCBcImlnbm9yZVwiLCBcInBpcGVcIl0sXG4gICAgfSlcbiAgICBleGVjU3luYyhgZ2l0IHB1bGwgLS1yZWJhc2VgLCB7XG4gICAgICBjd2Q6IHBob3Rvc0RpcixcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICBlbmNvZGluZzogXCJ1dGYtOFwiLFxuICAgICAgc3RkaW86IFtcImlnbm9yZVwiLCBcImlnbm9yZVwiLCBcInBpcGVcIl0sXG4gICAgfSlcbiAgfVxuXG4gIC8vIERvd25sb2FkIHBob3Rvcy5cbiAgZnMuZW5zdXJlRGlyU3luYyhwaG90b3NEaXIpXG4gIGlmIChvcHRpb25zLmZldGNoKSB7XG4gICAgY29uc3QgbWlzc2luZ1Bob3RvRmlsZVBhdGggPSBcImltYWdlcy90cmFuc3BhcmVudF8xNTB4MTkyLmpwZ1wiXG4gICAgZm9yIChjb25zdCBkZXB1dGUgb2YgZGVwdXRlc0xlZ2lzbGF0dXJlKSB7XG4gICAgICBjb25zdCBpZGVudCA9IGRlcHV0ZS5ldGF0Q2l2aWwuaWRlbnRcbiAgICAgIGNvbnN0IG51bWVyb0RlcHV0ZSA9IGRlcHV0ZS51aWQuc3Vic3RyaW5nKDIpXG4gICAgICBjb25zdCBwaG90b0ZpbGVuYW1lID0gYCR7bnVtZXJvRGVwdXRlfS5qcGdgXG4gICAgICBjb25zdCBwaG90b0ZpbGVQYXRoID0gcGF0aC5qb2luKHBob3Rvc0RpciwgcGhvdG9GaWxlbmFtZSlcbiAgICAgIGNvbnN0IHBob3RvVGVtcEZpbGVuYW1lID0gYCR7bnVtZXJvRGVwdXRlfV90ZW1wLmpwZ2BcbiAgICAgIGNvbnN0IHBob3RvVGVtcEZpbGVQYXRoID0gcGF0aC5qb2luKHBob3Rvc0RpciwgcGhvdG9UZW1wRmlsZW5hbWUpXG4gICAgICBjb25zdCB1cmxQaG90byA9IGBodHRwOi8vd3d3Mi5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy90cmlidW4vJHtvcHRpb25zLmxlZ2lzbGF0dXJlfS9waG90b3MvJHtwaG90b0ZpbGVuYW1lfWBcbiAgICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYExvYWRpbmcgcGhvdG8gJHt1cmxQaG90b30gZm9yICR7aWRlbnQucHJlbm9tfSAke2lkZW50Lm5vbX3igKZgLFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBmb3IgKGxldCByZXRyaWVzID0gMDsgcmV0cmllcyA8IDM7IHJldHJpZXMrKykge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybFBob3RvKVxuICAgICAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgICBhd2FpdCBwaXBlbGluZShcbiAgICAgICAgICAgIHJlc3BvbnNlLmJvZHkgYXMgdW5rbm93biBhcyBOb2RlSlMuUmVhZGFibGVTdHJlYW0sXG4gICAgICAgICAgICBmcy5jcmVhdGVXcml0ZVN0cmVhbShwaG90b1RlbXBGaWxlUGF0aCksXG4gICAgICAgICAgKVxuICAgICAgICAgIGZzLnJlbmFtZVN5bmMocGhvdG9UZW1wRmlsZVBhdGgsIHBob3RvRmlsZVBhdGgpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmV0cmllcyA+PSAyKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYEZldGNoIGZhaWxlZDogJHt1cmxQaG90b30gKCR7aWRlbnQucHJlbm9tfSAke2lkZW50Lm5vbX0pYCxcbiAgICAgICAgICApXG4gICAgICAgICAgY29uc29sZS53YXJuKHJlc3BvbnNlLnN0YXR1cywgcmVzcG9uc2Uuc3RhdHVzVGV4dClcbiAgICAgICAgICBjb25zb2xlLndhcm4oYXdhaXQgcmVzcG9uc2UudGV4dCgpKVxuICAgICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHBob3RvRmlsZVBhdGgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCIgID0+IFJldXNpbmcgZXhpc3RpbmcgaW1hZ2VcIilcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiICA9PiBVc2luZyBibGFuayBpbWFnZVwiKVxuICAgICAgICAgICAgZnMuY29weUZpbGVTeW5jKG1pc3NpbmdQaG90b0ZpbGVQYXRoLCBwaG90b0ZpbGVQYXRoKVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzaXplIHBob3RvcyB0byAxNTB4MTkyLCBiZWNhdXNlIHNvbWUgaGF2ZW4ndCBleGFjdGx5IHRoaXMgc2l6ZS5cbiAgZm9yIChjb25zdCBkZXB1dGUgb2YgZGVwdXRlc0xlZ2lzbGF0dXJlKSB7XG4gICAgY29uc3QgaWRlbnQgPSBkZXB1dGUuZXRhdENpdmlsLmlkZW50XG4gICAgY29uc3QgbnVtZXJvRGVwdXRlID0gZGVwdXRlLnVpZC5zdWJzdHJpbmcoMilcbiAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFJlc2l6aW5nIHBob3RvICR7bnVtZXJvRGVwdXRlfSBmb3IgJHtpZGVudC5wcmVub219ICR7aWRlbnQubm9tfeKApmAsXG4gICAgICApXG4gICAgfVxuICAgIGV4ZWNTeW5jKFxuICAgICAgYGdtIGNvbnZlcnQgLXJlc2l6ZSAxNTB4MTkyISAke251bWVyb0RlcHV0ZX0uanBnICR7bnVtZXJvRGVwdXRlfV8xNTB4MTkyLmpwZ2AsXG4gICAgICB7XG4gICAgICAgIGN3ZDogcGhvdG9zRGlyLFxuICAgICAgfSxcbiAgICApXG4gIH1cblxuICAvLyBDcmVhdGUgYSBtb3NhaWMgb2YgcGhvdG9zLlxuICBjb25zdCBwaG90b0J5SWREZXB1dGU6IHsgW3VpZDogc3RyaW5nXTogUGhvdG8gfSA9IHt9XG4gIGNvbnN0IHJvd3NGaWxlbmFtZXM6IHN0cmluZ1tdID0gW11cbiAgZm9yIChcbiAgICBsZXQgZGVwdXRlSW5kZXggPSAwLCByb3dJbmRleCA9IDA7XG4gICAgZGVwdXRlSW5kZXggPCBkZXB1dGVzTGVnaXNsYXR1cmUubGVuZ3RoO1xuICAgIGRlcHV0ZUluZGV4ICs9IDI1LCByb3dJbmRleCsrXG4gICkge1xuICAgIGNvbnN0IHJvdyA9IGRlcHV0ZXNMZWdpc2xhdHVyZS5zbGljZShkZXB1dGVJbmRleCwgZGVwdXRlSW5kZXggKyAyNSlcbiAgICBjb25zdCBwaG90b3NGaWxlbmFtZXM6IHN0cmluZ1tdID0gW11cbiAgICBmb3IgKGNvbnN0IFtjb2x1bW5JbmRleCwgZGVwdXRlXSBvZiByb3cuZW50cmllcygpKSB7XG4gICAgICBjb25zdCBudW1lcm9EZXB1dGUgPSBkZXB1dGUudWlkLnN1YnN0cmluZygyKVxuICAgICAgY29uc3QgcGhvdG9GaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX1fMTUweDE5Mi5qcGdgXG4gICAgICBwaG90b3NGaWxlbmFtZXMucHVzaChwaG90b0ZpbGVuYW1lKVxuICAgICAgcGhvdG9CeUlkRGVwdXRlW2RlcHV0ZS51aWRdID0ge1xuICAgICAgICBjaGVtaW46IGBwaG90b3NfZGVwdXRlc18ke29wdGlvbnMubGVnaXNsYXR1cmV9LyR7cGhvdG9GaWxlbmFtZX1gLFxuICAgICAgICBjaGVtaW5Nb3NhaXF1ZTogYHBob3Rvc19kZXB1dGVzXyR7b3B0aW9ucy5sZWdpc2xhdHVyZX0vZGVwdXRlcy5qcGdgLFxuICAgICAgICBoYXV0ZXVyOiAxOTIsXG4gICAgICAgIGxhcmdldXI6IDE1MCxcbiAgICAgICAgeE1vc2FpcXVlOiBjb2x1bW5JbmRleCAqIDE1MCxcbiAgICAgICAgeU1vc2FpcXVlOiByb3dJbmRleCAqIDE5MixcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgcm93RmlsZW5hbWUgPSBgcm93LSR7cm93SW5kZXh9LmpwZ2BcbiAgICBleGVjU3luYyhgZ20gY29udmVydCAke3Bob3Rvc0ZpbGVuYW1lcy5qb2luKFwiIFwiKX0gK2FwcGVuZCAke3Jvd0ZpbGVuYW1lfWAsIHtcbiAgICAgIGN3ZDogcGhvdG9zRGlyLFxuICAgIH0pXG4gICAgcm93c0ZpbGVuYW1lcy5wdXNoKHJvd0ZpbGVuYW1lKVxuICB9XG4gIGV4ZWNTeW5jKGBnbSBjb252ZXJ0ICR7cm93c0ZpbGVuYW1lcy5qb2luKFwiIFwiKX0gLWFwcGVuZCBkZXB1dGVzLmpwZ2AsIHtcbiAgICBjd2Q6IHBob3Rvc0RpcixcbiAgfSlcbiAgZm9yIChjb25zdCByb3dGaWxlbmFtZSBvZiByb3dzRmlsZW5hbWVzKSB7XG4gICAgZnMudW5saW5rU3luYyhwYXRoLmpvaW4ocGhvdG9zRGlyLCByb3dGaWxlbmFtZSkpXG4gIH1cblxuICBjb25zdCBqc29uRmlsZVBhdGggPSBwYXRoLmpvaW4ocGhvdG9zRGlyLCBcImRlcHV0ZXMuanNvblwiKVxuICBmcy53cml0ZUZpbGVTeW5jKGpzb25GaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkocGhvdG9CeUlkRGVwdXRlLCBudWxsLCAyKSlcblxuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICByZXR1cm4gZ2l0LmNvbW1pdEFuZFB1c2gocGhvdG9zRGlyLCBcIk5vdXZlbGxlIG1vaXNzb25cIiwgb3B0aW9ucy5yZW1vdGUpXG4gIH1cbiAgcmV0dXJuIDBcbn1cblxucmV0cmlldmVQaG90b3NEZXB1dGVzKClcbiAgLnRoZW4oKGV4aXRDb2RlKSA9PiBwcm9jZXNzLmV4aXQoZXhpdENvZGUpKVxuICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgcHJvY2Vzcy5leGl0KDEpXG4gIH0pXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZ0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFPLFNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLEdBQUEsR0FBQUMsdUJBQUEsQ0FBQVQsT0FBQTtBQUNBLElBQUFVLFFBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLG1CQUFBLEdBQUFYLE9BQUE7QUFLb0MsU0FBQVkseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFKLHdCQUFBUSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLHVDQUFBQSxHQUFBLFVBQUFHLEtBQUEsR0FBQVIsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBTyxLQUFBLElBQUFBLEtBQUEsQ0FB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