@tricoteuses/assemblee 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -27
- package/lib/bugs/acteur-00010/plugin.test.js +4 -4
- package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
- package/lib/bugs/acteur-00010.js +15 -16
- package/lib/bugs/acteur-00010.mjs +1 -1
- package/lib/bugs/agenda-00002/plugin.test.js +4 -4
- package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00002.js +27 -28
- package/lib/bugs/agenda-00002.mjs +3 -3
- package/lib/bugs/agenda-00008/plugin.test.js +4 -4
- package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00008.js +15 -16
- package/lib/bugs/agenda-00008.mjs +1 -1
- package/lib/bugs/agenda-00011/plugin.test.js +5 -5
- package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00011.js +21 -22
- package/lib/bugs/agenda-00011.mjs +3 -3
- package/lib/bugs.js +17 -19
- package/lib/bugs.mjs +3 -3
- package/lib/cleaners/actes_legislatifs.js +5 -5
- package/lib/cleaners/acteurs.js +5 -5
- package/lib/cleaners/acteurs.mjs +1 -1
- package/lib/cleaners/amendements.js +5 -5
- package/lib/cleaners/documents.js +5 -5
- package/lib/cleaners/dossiers_legislatifs.js +5 -5
- package/lib/cleaners/organes.js +2 -2
- package/lib/cleaners/reunions.js +5 -5
- package/lib/cleaners/scrutins.js +8 -8
- package/lib/cleaners/xml.js +8 -8
- package/lib/cleaners/xml.mjs +1 -1
- package/lib/datasets.d.ts +2 -2
- package/lib/datasets.js +53 -132
- package/lib/datasets.mjs +40 -118
- package/lib/dates.js +1 -2
- package/lib/dossiers_legislatifs.js +8 -8
- package/lib/file_systems.js +15 -14
- package/lib/file_systems.mjs +3 -3
- package/lib/git.d.ts +1 -0
- package/lib/git.js +21 -5
- package/lib/git.mjs +16 -1
- package/lib/inserters.js +3 -3
- package/lib/loaders.d.ts +14 -40
- package/lib/loaders.js +580 -1086
- package/lib/loaders.mjs +110 -353
- package/lib/parsers/documents.js +10 -10
- package/lib/parsers/documents.mjs +1 -1
- package/lib/parsers/recherche_amendements.js +17 -15
- package/lib/parsers/recherche_amendements.mjs +1 -1
- package/lib/raw_types/acteurs_et_organes.js +9 -9
- package/lib/raw_types/acteurs_et_organes.mjs +1 -1
- package/lib/raw_types/agendas.js +9 -9
- package/lib/raw_types/agendas.mjs +1 -1
- package/lib/raw_types/amendements.js +9 -9
- package/lib/raw_types/amendements.mjs +1 -1
- package/lib/raw_types/debats.d.ts +26 -78
- package/lib/raw_types/debats.js +49 -242
- package/lib/raw_types/debats.mjs +41 -234
- package/lib/raw_types/dossiers_legislatifs.js +9 -9
- package/lib/raw_types/dossiers_legislatifs.mjs +1 -1
- package/lib/raw_types/questions.js +9 -9
- package/lib/raw_types/questions.mjs +1 -1
- package/lib/raw_types/scrutins.js +9 -9
- package/lib/raw_types/scrutins.mjs +1 -1
- package/lib/scripts/bugs_helper.js +17 -18
- package/lib/scripts/bugs_helper.mjs +3 -3
- package/lib/scripts/clean_reorganized_data.js +183 -561
- package/lib/scripts/clean_reorganized_data.mjs +111 -410
- package/lib/scripts/diff_amendements.js +11 -24
- package/lib/scripts/diff_amendements.mjs +3 -17
- package/lib/scripts/document_dossiers_legislatifs.js +24 -27
- package/lib/scripts/document_dossiers_legislatifs.mjs +3 -3
- package/lib/scripts/get_today_reunions.js +5 -8
- package/lib/scripts/get_today_reunions.mjs +3 -7
- package/lib/scripts/merge_scrutins.js +11 -24
- package/lib/scripts/merge_scrutins.mjs +3 -17
- package/lib/scripts/parse_textes_lois.js +8 -38
- package/lib/scripts/parse_textes_lois.mjs +3 -33
- package/lib/scripts/raw_types_from_amendements.js +14 -27
- package/lib/scripts/raw_types_from_amendements.mjs +3 -17
- package/lib/scripts/reorganize_data.js +204 -456
- package/lib/scripts/reorganize_data.mjs +68 -260
- package/lib/scripts/retrieve_deputes_photos.d.ts +3 -1
- package/lib/scripts/retrieve_deputes_photos.js +146 -172
- package/lib/scripts/retrieve_deputes_photos.mjs +74 -98
- package/lib/scripts/retrieve_documents.js +207 -156
- package/lib/scripts/retrieve_documents.mjs +116 -128
- package/lib/scripts/retrieve_open_data.js +272 -249
- package/lib/scripts/retrieve_open_data.mjs +109 -123
- package/lib/scripts/retrieve_pending_amendments.js +16 -67
- package/lib/scripts/retrieve_pending_amendments.mjs +4 -55
- package/lib/scripts/retrieve_senateurs_photos.js +20 -77
- package/lib/scripts/retrieve_senateurs_photos.mjs +5 -61
- package/lib/scripts/retrieve_textes_lois.js +18 -46
- package/lib/scripts/retrieve_textes_lois.mjs +3 -33
- package/lib/scripts/shared/cli_helpers.d.ts +66 -0
- package/lib/scripts/shared/cli_helpers.js +90 -0
- package/lib/scripts/shared/cli_helpers.mjs +72 -0
- package/lib/scripts/test_iter_load.d.ts +1 -0
- package/lib/scripts/test_iter_load.js +154 -0
- package/lib/scripts/test_iter_load.mjs +71 -0
- package/lib/scripts/test_load.js +4 -15
- package/lib/scripts/test_load.mjs +3 -14
- package/lib/scripts/test_load_big_files.js +4 -15
- package/lib/scripts/test_load_big_files.mjs +3 -14
- package/lib/scripts/validate_json.js +15 -16
- package/lib/scripts/validate_json.mjs +3 -3
- package/lib/types/acteurs_et_organes.js +9 -9
- package/lib/types/acteurs_et_organes.mjs +1 -1
- package/lib/types/agendas.js +9 -9
- package/lib/types/agendas.mjs +1 -1
- package/lib/types/amendements.js +9 -9
- package/lib/types/amendements.mjs +1 -1
- package/lib/types/debats.d.ts +27 -79
- package/lib/types/debats.js +48 -241
- package/lib/types/debats.mjs +40 -233
- package/lib/types/dossiers_legislatifs.js +9 -9
- package/lib/types/dossiers_legislatifs.mjs +1 -1
- package/lib/types/legislatures.d.ts +4 -4
- package/lib/types/legislatures.js +5 -5
- package/lib/types/legislatures.mjs +5 -5
- package/lib/types/questions.js +9 -9
- package/lib/types/questions.mjs +1 -1
- package/lib/types/scrutins.js +9 -9
- package/lib/types/scrutins.mjs +1 -1
- package/lib/urls.js +2 -2
- package/lib/urls.mjs +1 -1
- package/package.json +9 -7
package/lib/cleaners/organes.js
CHANGED
|
@@ -15,7 +15,7 @@ exports.cleanOrgane = cleanOrgane;
|
|
|
15
15
|
require("core-js/modules/es.array.is-array.js");
|
|
16
16
|
var _assert = _interopRequireDefault(require("assert"));
|
|
17
17
|
var _xml = require("./xml");
|
|
18
|
-
function _interopRequireDefault(
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
19
19
|
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); }
|
|
20
20
|
function cleanOrgane(organe) {
|
|
21
21
|
(0, _xml.cleanXmlArtefacts)(organe);
|
|
@@ -62,4 +62,4 @@ function cleanOrgane(organe) {
|
|
|
62
62
|
organe.listePays = listePays;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfeG1sIiwiZSIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJjbGVhbk9yZ2FuZSIsIm9yZ2FuZSIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwieHNpVHlwZSIsInVuZGVmaW5lZCIsInZpTW9EZSIsIm9yZ2FuZVBhcmVudFJlZiIsIm9yZ2FuZVBhcmVudCIsImFzc2VydCIsInN0cmljdEVxdWFsIiwiY2hhbWJyZSIsInNlY3JldGFyaWF0IiwibGlldSIsInJlZ2lvbiIsImRlcGFydGVtZW50IiwiY291bGV1ckFzc29jaWVlIiwibGlzdGVQYXlzIiwicGF5c1JlZiIsIkFycmF5IiwiaXNBcnJheSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9vcmdhbmVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuT3JnYW5lKG9yZ2FuZTogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKG9yZ2FuZSlcblxuICBjb25zdCB4c2lUeXBlID0gb3JnYW5lW1wiQHhzaTp0eXBlXCJdXG4gIGlmICh4c2lUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICBvcmdhbmUueHNpVHlwZSA9IHhzaVR5cGVcbiAgICBkZWxldGUgb3JnYW5lW1wiQHhzaTp0eXBlXCJdXG4gIH1cblxuICBjb25zdCB2aU1vRGUgPSBvcmdhbmUudmlNb0RlXG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKHZpTW9EZSlcblxuICBjb25zdCBvcmdhbmVQYXJlbnRSZWYgPSBvcmdhbmUub3JnYW5lUGFyZW50XG4gIGlmIChvcmdhbmVQYXJlbnRSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIGRlbGV0ZSBvcmdhbmUub3JnYW5lUGFyZW50XG4gICAgb3JnYW5lLm9yZ2FuZVBhcmVudFJlZiA9IG9yZ2FuZVBhcmVudFJlZlxuICB9XG5cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKG9yZ2FuZS5jaGFtYnJlLCB1bmRlZmluZWQpXG5cbiAgY29uc3Qgc2VjcmV0YXJpYXQgPSBvcmdhbmUuc2VjcmV0YXJpYXRcbiAgaWYgKHNlY3JldGFyaWF0ICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhzZWNyZXRhcmlhdClcbiAgfVxuXG4gIGNvbnN0IGxpZXUgPSBvcmdhbmUubGlldVxuICBpZiAobGlldSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMobGlldSlcblxuICAgIGNvbnN0IHJlZ2lvbiA9IGxpZXUucmVnaW9uXG4gICAgaWYgKHJlZ2lvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhyZWdpb24pXG4gICAgfVxuXG4gICAgY29uc3QgZGVwYXJ0ZW1lbnQgPSBsaWV1LmRlcGFydGVtZW50XG4gICAgaWYgKGRlcGFydGVtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGRlcGFydGVtZW50KVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNvdWxldXJBc3NvY2llZSA9IG9yZ2FuZS5jb3VsZXVyQXNzb2NpZWVcbiAgaWYgKGNvdWxldXJBc3NvY2llZSA9PT0gbnVsbCkge1xuICAgIGRlbGV0ZSBvcmdhbmUuY291bGV1ckFzc29jaWVlXG4gIH1cblxuICBsZXQgbGlzdGVQYXlzID0gb3JnYW5lLmxpc3RlUGF5c1xuICBpZiAobGlzdGVQYXlzICE9PSB1bmRlZmluZWQpIHtcbiAgICBsaXN0ZVBheXMgPSBsaXN0ZVBheXMucGF5c1JlZlxuICAgIGlmICghQXJyYXkuaXNBcnJheShsaXN0ZVBheXMpKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGxpc3RlUGF5cywgXCJzdHJpbmdcIilcbiAgICAgIGxpc3RlUGF5cyA9IFtsaXN0ZVBheXNdXG4gICAgfVxuICAgIG9yZ2FuZS5saXN0ZVBheXMgPSBsaXN0ZVBheXNcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxJQUFBLEdBQUFELE9BQUE7QUFBeUMsU0FBQUQsdUJBQUFHLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxnQkFBQUEsQ0FBQTtBQUFBLFNBQUFFLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBRWxDLFNBQVNLLFdBQVdBLENBQUNDLE1BQVcsRUFBUTtFQUM3QyxJQUFBQyxzQkFBaUIsRUFBQ0QsTUFBTSxDQUFDO0VBRXpCLElBQU1FLE9BQU8sR0FBR0YsTUFBTSxDQUFDLFdBQVcsQ0FBQztFQUNuQyxJQUFJRSxPQUFPLEtBQUtDLFNBQVMsRUFBRTtJQUN6QkgsTUFBTSxDQUFDRSxPQUFPLEdBQUdBLE9BQU87SUFDeEIsT0FBT0YsTUFBTSxDQUFDLFdBQVcsQ0FBQztFQUM1QjtFQUVBLElBQU1JLE1BQU0sR0FBR0osTUFBTSxDQUFDSSxNQUFNO0VBQzVCLElBQUFILHNCQUFpQixFQUFDRyxNQUFNLENBQUM7RUFFekIsSUFBTUMsZUFBZSxHQUFHTCxNQUFNLENBQUNNLFlBQVk7RUFDM0MsSUFBSUQsZUFBZSxLQUFLRixTQUFTLEVBQUU7SUFDakMsT0FBT0gsTUFBTSxDQUFDTSxZQUFZO0lBQzFCTixNQUFNLENBQUNLLGVBQWUsR0FBR0EsZUFBZTtFQUMxQztFQUVBRSxrQkFBTSxDQUFDQyxXQUFXLENBQUNSLE1BQU0sQ0FBQ1MsT0FBTyxFQUFFTixTQUFTLENBQUM7RUFFN0MsSUFBTU8sV0FBVyxHQUFHVixNQUFNLENBQUNVLFdBQVc7RUFDdEMsSUFBSUEsV0FBVyxLQUFLUCxTQUFTLEVBQUU7SUFDN0IsSUFBQUYsc0JBQWlCLEVBQUNTLFdBQVcsQ0FBQztFQUNoQztFQUVBLElBQU1DLElBQUksR0FBR1gsTUFBTSxDQUFDVyxJQUFJO0VBQ3hCLElBQUlBLElBQUksS0FBS1IsU0FBUyxFQUFFO0lBQ3RCLElBQUFGLHNCQUFpQixFQUFDVSxJQUFJLENBQUM7SUFFdkIsSUFBTUMsTUFBTSxHQUFHRCxJQUFJLENBQUNDLE1BQU07SUFDMUIsSUFBSUEsTUFBTSxLQUFLVCxTQUFTLEVBQUU7TUFDeEIsSUFBQUYsc0JBQWlCLEVBQUNXLE1BQU0sQ0FBQztJQUMzQjtJQUVBLElBQU1DLFdBQVcsR0FBR0YsSUFBSSxDQUFDRSxXQUFXO0lBQ3BDLElBQUlBLFdBQVcsS0FBS1YsU0FBUyxFQUFFO01BQzdCLElBQUFGLHNCQUFpQixFQUFDWSxXQUFXLENBQUM7SUFDaEM7RUFDRjtFQUVBLElBQU1DLGVBQWUsR0FBR2QsTUFBTSxDQUFDYyxlQUFlO0VBQzlDLElBQUlBLGVBQWUsS0FBSyxJQUFJLEVBQUU7SUFDNUIsT0FBT2QsTUFBTSxDQUFDYyxlQUFlO0VBQy9CO0VBRUEsSUFBSUMsU0FBUyxHQUFHZixNQUFNLENBQUNlLFNBQVM7RUFDaEMsSUFBSUEsU0FBUyxLQUFLWixTQUFTLEVBQUU7SUFDM0JZLFNBQVMsR0FBR0EsU0FBUyxDQUFDQyxPQUFPO0lBQzdCLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNILFNBQVMsQ0FBQyxFQUFFO01BQzdCUixrQkFBTSxDQUFDQyxXQUFXLENBQUFmLE9BQUEsQ0FBUXNCLFNBQVMsR0FBRSxRQUFRLENBQUM7TUFDOUNBLFNBQVMsR0FBRyxDQUFDQSxTQUFTLENBQUM7SUFDekI7SUFDQWYsTUFBTSxDQUFDZSxTQUFTLEdBQUdBLFNBQVM7RUFDOUI7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
|
package/lib/cleaners/reunions.js
CHANGED
|
@@ -22,10 +22,10 @@ require("core-js/modules/es.string.iterator.js");
|
|
|
22
22
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
23
23
|
var _assert = _interopRequireDefault(require("assert"));
|
|
24
24
|
var _xml = require("./xml");
|
|
25
|
-
function _interopRequireDefault(
|
|
26
|
-
function _createForOfIteratorHelper(
|
|
27
|
-
function _unsupportedIterableToArray(
|
|
28
|
-
function _arrayLikeToArray(
|
|
25
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
26
|
+
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; } } }; }
|
|
27
|
+
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; } }
|
|
28
|
+
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; }
|
|
29
29
|
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); }
|
|
30
30
|
function cleanCycleDeVie(cycleDeVie) {
|
|
31
31
|
(0, _xml.cleanXmlArtefacts)(cycleDeVie);
|
|
@@ -309,4 +309,4 @@ function cleanReunion(reunion) {
|
|
|
309
309
|
}
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfeG1sIiwib2JqIiwiX19lc01vZHVsZSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwibyIsImFsbG93QXJyYXlMaWtlIiwiaXQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsImkiLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJlIiwiX2UiLCJmIiwiVHlwZUVycm9yIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsImVyciIsImNhbGwiLCJzdGVwIiwibmV4dCIsIl9lMiIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiYXJyIiwibGVuIiwiYXJyMiIsIl90eXBlb2YiLCJjbGVhbkN5Y2xlRGVWaWUiLCJjeWNsZURlVmllIiwiY2xlYW5YbWxBcnRlZmFjdHMiLCJjaHJvbm8iLCJhc3NlcnQiLCJjcmVhdGlvbiIsInN0cmljdEVxdWFsIiwiRGF0ZSIsImNsb3R1cmUiLCJ1bmRlZmluZWQiLCJjbGVhblJldW5pb24iLCJyZXVuaW9uIiwiY2xlYW5Cb29sZWFuQXR0cmlidXRlIiwieHNpVHlwZSIsInRpbWVzdGFtcERlYnV0IiwidGltZVN0YW1wRGVidXQiLCJub3RTdHJpY3RFcXVhbCIsInRpbWVzdGFtcEZpbiIsInRpbWVTdGFtcEZpbiIsImxpZXUiLCJkZW1hbmRldXJzIiwiYWN0ZXVycyIsImFjdGV1ciIsIl9pdGVyYXRvciIsIl9zdGVwIiwib3JnYW5lIiwiZGVtYW5kZXVyIiwiX2kiLCJfYWN0ZXVyczIiLCJwYXJ0aWNpcGFudHMiLCJwYXJ0aWNpcGFudHNJbnRlcm5lcyIsInBhcnRpY2lwYW50SW50ZXJuZSIsInBlcnNvbm5lc0F1ZGl0aW9ubmVlcyIsInBlcnNvbm5lQXVkaXRpb25uZWUiLCJmaWx0ZXIiLCJwZXJzb25uZUF1ZGlvbm5lZSIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJ1aWQiLCJpZGVudCIsIk9ESiIsIm9kaiIsImNvbnZvY2F0aW9uT2RqIiwiY29udm9jYXRpb25PREoiLCJpdGVtIiwicmVzdW1lT2RqIiwicmVzdW1lT0RKIiwicG9pbnRzT2RqIiwicG9pbnRzT0RKIiwicG9pbnRPZGoiLCJwb2ludE9ESiIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJkZW1hbmRldXJQb2ludCIsImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzIiwiZG9zc2llclJlZiIsInR5cGVQb2ludE9kaiIsInR5cGVQb2ludE9ESiIsInRleHRlc0Fzc29jaWVzIiwibmF0dXJlVHJhdmF1eE9kaiIsIm5hdHVyZVRyYXZhdXhPREoiLCJkYXRlQ29uZlByZXMiLCJzcGxpdCIsImRhdGVMZXR0cmVNaW5pc3RyZSIsImlkZW50aWZpYW50cyIsIm51bVNlYW5jZUpvIiwibnVtU2VhbmNlSk8iLCJpZEpvIiwiaWRKTyIsImRhdGVTZWFuY2UiLCJEYXRlU2VhbmNlIiwiaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlIiwibGlzdGVQYXlzIiwicGF5c1JlZiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9yZXVuaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5pbXBvcnQgeyBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUsIGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZnVuY3Rpb24gY2xlYW5DeWNsZURlVmllKGN5Y2xlRGVWaWU6IGFueSk6IHZvaWQge1xuICBjbGVhblhtbEFydGVmYWN0cyhjeWNsZURlVmllKVxuXG4gIGNvbnN0IGNocm9ubyA9IGN5Y2xlRGVWaWUuY2hyb25vXG4gIGFzc2VydChjaHJvbm8pXG4gIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhjaHJvbm8pXG5cbiAgICBsZXQgY3JlYXRpb24gPSBjaHJvbm8uY3JlYXRpb25cbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGNyZWF0aW9uLCBcInN0cmluZ1wiKVxuICAgIGNyZWF0aW9uID0gbmV3IERhdGUoY3JlYXRpb24pXG4gICAgY2hyb25vLmNyZWF0aW9uID0gY3JlYXRpb25cblxuICAgIGxldCBjbG90dXJlID0gY2hyb25vLmNsb3R1cmVcbiAgICBpZiAoY2xvdHVyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGNsb3R1cmUsIFwic3RyaW5nXCIpXG4gICAgICBjbG90dXJlID0gbmV3IERhdGUoY2xvdHVyZSlcbiAgICAgIGNocm9uby5jbG90dXJlID0gY2xvdHVyZVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5SZXVuaW9uKHJldW5pb246IGFueSk6IHZvaWQge1xuICBjbGVhblhtbEFydGVmYWN0cyhyZXVuaW9uKVxuXG4gIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShyZXVuaW9uLCBcImNhcHRhdGlvblZpZGVvXCIpXG4gIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShyZXVuaW9uLCBcImNvbWl0ZVNlY3JldFwiKVxuICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUocmV1bmlvbiwgXCJvdXZlcnR1cmVQcmVzc2VcIilcblxuICBjb25zdCB4c2lUeXBlID0gcmV1bmlvbltcIkB4c2k6dHlwZVwiXVxuICBpZiAoeHNpVHlwZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV1bmlvbi54c2lUeXBlID0geHNpVHlwZVxuICAgIGRlbGV0ZSByZXVuaW9uW1wiQHhzaTp0eXBlXCJdXG4gIH1cblxuICBjb25zdCB0aW1lc3RhbXBEZWJ1dCA9IHJldW5pb24udGltZVN0YW1wRGVidXRcbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHRpbWVzdGFtcERlYnV0LCB1bmRlZmluZWQpXG4gIHJldW5pb24udGltZXN0YW1wRGVidXQgPSB0aW1lc3RhbXBEZWJ1dFxuICBkZWxldGUgcmV1bmlvbi50aW1lU3RhbXBEZWJ1dFxuXG4gIGxldCB0aW1lc3RhbXBGaW4gPSByZXVuaW9uLnRpbWVTdGFtcEZpblxuICBpZiAodGltZXN0YW1wRmluICE9PSB1bmRlZmluZWQpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHRpbWVzdGFtcEZpbiwgXCJzdHJpbmdcIilcbiAgICB0aW1lc3RhbXBGaW4gPSBuZXcgRGF0ZSh0aW1lc3RhbXBGaW4pXG4gICAgcmV1bmlvbi50aW1lc3RhbXBGaW4gPSB0aW1lc3RhbXBGaW5cbiAgICBkZWxldGUgcmV1bmlvbi50aW1lU3RhbXBGaW5cbiAgfVxuXG4gIGNvbnN0IGxpZXUgPSByZXVuaW9uLmxpZXVcbiAgaWYgKGxpZXUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGxpZXUpXG4gIH1cblxuICBjb25zdCBjeWNsZURlVmllID0gcmV1bmlvbi5jeWNsZURlVmllXG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbChjeWNsZURlVmllLCB1bmRlZmluZWQpXG4gIGNsZWFuQ3ljbGVEZVZpZShjeWNsZURlVmllKVxuXG4gIGNvbnN0IGRlbWFuZGV1cnMgPSByZXVuaW9uLmRlbWFuZGV1cnNcbiAgaWYgKGRlbWFuZGV1cnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBhY3RldXJzID0gZGVtYW5kZXVycy5hY3RldXJcbiAgICBpZiAoYWN0ZXVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWN0ZXVycykpIHtcbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFjdGV1cnMsIG51bGwpXG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgYWN0ZXVycywgXCJvYmplY3RcIilcbiAgICAgICAgYWN0ZXVycyA9IFthY3RldXJzXVxuICAgICAgfVxuICAgICAgZGVtYW5kZXVycy5hY3RldXJzID0gYWN0ZXVyc1xuICAgICAgZGVsZXRlIGRlbWFuZGV1cnMuYWN0ZXVyXG5cbiAgICAgIGZvciAoY29uc3QgYWN0ZXVyIG9mIGFjdGV1cnMpIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoYWN0ZXVyKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG9yZ2FuZSA9IGRlbWFuZGV1cnMub3JnYW5lXG4gICAgaWYgKG9yZ2FuZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhvcmdhbmUpXG4gICAgfVxuICB9XG4gIGNvbnN0IGRlbWFuZGV1ciA9IHJldW5pb24uZGVtYW5kZXVyXG4gIGlmIChkZW1hbmRldXIgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXVuaW9uLmRlbWFuZGV1cnMsIHVuZGVmaW5lZClcbiAgICBkZWxldGUgcmV1bmlvbi5kZW1hbmRldXJcblxuICAgIGxldCBhY3RldXIgPSBkZW1hbmRldXIuYWN0ZXVyXG4gICAgaWYgKGFjdGV1ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYWN0ZXVyLCBudWxsKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBhY3RldXIsIFwib2JqZWN0XCIpXG4gICAgICBjb25zdCBhY3RldXJzID0gW2FjdGV1cl1cbiAgICAgIGRlbWFuZGV1ci5hY3RldXJzID0gYWN0ZXVyc1xuICAgICAgZGVsZXRlIGRlbWFuZGV1ci5hY3RldXJcbiAgICAgIHJldW5pb24uZGVtYW5kZXVycyA9IGRlbWFuZGV1clxuXG4gICAgICBmb3IgKGNvbnN0IGFjdGV1ciBvZiBhY3RldXJzKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGFjdGV1cilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBvcmdhbmUgPSBkZW1hbmRldXIub3JnYW5lXG4gICAgaWYgKG9yZ2FuZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhvcmdhbmUpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgcGFydGljaXBhbnRzID0gcmV1bmlvbi5wYXJ0aWNpcGFudHNcbiAgaWYgKHBhcnRpY2lwYW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMocGFydGljaXBhbnRzKVxuXG4gICAgbGV0IHBhcnRpY2lwYW50c0ludGVybmVzID0gcGFydGljaXBhbnRzLnBhcnRpY2lwYW50c0ludGVybmVzXG4gICAgaWYgKHBhcnRpY2lwYW50c0ludGVybmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHBhcnRpY2lwYW50c0ludGVybmVzID0gcGFydGljaXBhbnRzSW50ZXJuZXMucGFydGljaXBhbnRJbnRlcm5lXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkocGFydGljaXBhbnRzSW50ZXJuZXMpKSB7XG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChwYXJ0aWNpcGFudHNJbnRlcm5lcywgbnVsbClcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBwYXJ0aWNpcGFudHNJbnRlcm5lcywgXCJvYmplY3RcIilcbiAgICAgICAgcGFydGljaXBhbnRzSW50ZXJuZXMgPSBbcGFydGljaXBhbnRzSW50ZXJuZXNdXG4gICAgICB9XG4gICAgICBwYXJ0aWNpcGFudHMucGFydGljaXBhbnRzSW50ZXJuZXMgPSBwYXJ0aWNpcGFudHNJbnRlcm5lc1xuICAgIH1cblxuICAgIGxldCBwZXJzb25uZXNBdWRpdGlvbm5lZXMgPSBwYXJ0aWNpcGFudHMucGVyc29ubmVzQXVkaXRpb25uZWVzXG4gICAgaWYgKHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwZXJzb25uZXNBdWRpdGlvbm5lZXMgPSBwZXJzb25uZXNBdWRpdGlvbm5lZXMucGVyc29ubmVBdWRpdGlvbm5lZVxuICAgICAgaWYgKHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9PT0gbnVsbCkge1xuICAgICAgICBkZWxldGUgcGFydGljaXBhbnRzLnBlcnNvbm5lc0F1ZGl0aW9ubmVlc1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHBlcnNvbm5lc0F1ZGl0aW9ubmVlcykpIHtcbiAgICAgICAgICAvLyBhc3NlcnQubm90U3RyaWN0RXF1YWwocGVyc29ubmVzQXVkaXRpb25uZWVzLCBudWxsKVxuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgcGVyc29ubmVzQXVkaXRpb25uZWVzLCBcIm9iamVjdFwiKVxuICAgICAgICAgIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9IFtwZXJzb25uZXNBdWRpdGlvbm5lZXNdXG4gICAgICAgIH1cbiAgICAgICAgcGVyc29ubmVzQXVkaXRpb25uZWVzID0gcGVyc29ubmVzQXVkaXRpb25uZWVzLmZpbHRlcihcbiAgICAgICAgICAocGVyc29ubmVBdWRpb25uZWU6IGFueSkgPT4gcGVyc29ubmVBdWRpb25uZWUgIT09IG51bGwsXG4gICAgICAgIClcbiAgICAgICAgaWYgKHBlcnNvbm5lc0F1ZGl0aW9ubmVlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcGFydGljaXBhbnRzLnBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9IHBlcnNvbm5lc0F1ZGl0aW9ubmVlc1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlbGV0ZSBwYXJ0aWNpcGFudHMucGVyc29ubmVzQXVkaXRpb25uZWVzXG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHBlcnNvbm5lQXVkaW9ubmVlIG9mIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcykge1xuICAgICAgICAgIGNvbnN0IHhzaVR5cGUgPSBwZXJzb25uZUF1ZGlvbm5lZS51aWRbXCJAeHNpOnR5cGVcIl1cbiAgICAgICAgICBhc3NlcnQoeHNpVHlwZSlcbiAgICAgICAgICBwZXJzb25uZUF1ZGlvbm5lZS54c2lUeXBlID0geHNpVHlwZVxuICAgICAgICAgIGNvbnN0IHVpZCA9IHBlcnNvbm5lQXVkaW9ubmVlLnVpZFtcIiN0ZXh0XCJdXG4gICAgICAgICAgYXNzZXJ0KHVpZClcbiAgICAgICAgICBwZXJzb25uZUF1ZGlvbm5lZS51aWQgPSB1aWRcblxuICAgICAgICAgIGNvbnN0IGlkZW50ID0gcGVyc29ubmVBdWRpb25uZWUuaWRlbnRcbiAgICAgICAgICBhc3NlcnQoaWRlbnQpXG4gICAgICAgICAge1xuICAgICAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoaWRlbnQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHJldW5pb24uT0RKICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBvZGogPSByZXVuaW9uLk9ESlxuICAgIHJldW5pb24ub2RqID0gb2RqXG4gICAgZGVsZXRlIHJldW5pb24uT0RKXG4gICAge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMob2RqKVxuXG4gICAgICBsZXQgY29udm9jYXRpb25PZGogPSBvZGouY29udm9jYXRpb25PREpcbiAgICAgIGlmIChjb252b2NhdGlvbk9kaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbnZvY2F0aW9uT2RqLml0ZW0pKSB7XG4gICAgICAgICAgY29udm9jYXRpb25PZGogPSBjb252b2NhdGlvbk9kai5pdGVtXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzZXJ0KGNvbnZvY2F0aW9uT2RqLml0ZW0pXG4gICAgICAgICAgY29udm9jYXRpb25PZGogPSBbY29udm9jYXRpb25PZGouaXRlbV1cbiAgICAgICAgfVxuICAgICAgICBvZGouY29udm9jYXRpb25PZGogPSBjb252b2NhdGlvbk9kalxuICAgICAgICBkZWxldGUgb2RqLmNvbnZvY2F0aW9uT0RKXG4gICAgICB9XG5cbiAgICAgIGxldCByZXN1bWVPZGogPSBvZGoucmVzdW1lT0RKXG4gICAgICBpZiAocmVzdW1lT2RqICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdW1lT2RqLml0ZW0pKSB7XG4gICAgICAgICAgcmVzdW1lT2RqID0gcmVzdW1lT2RqLml0ZW1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhc3NlcnQocmVzdW1lT2RqLml0ZW0pXG4gICAgICAgICAgcmVzdW1lT2RqID0gW3Jlc3VtZU9kai5pdGVtXVxuICAgICAgICB9XG4gICAgICAgIG9kai5yZXN1bWVPZGogPSByZXN1bWVPZGpcbiAgICAgICAgZGVsZXRlIG9kai5yZXN1bWVPREpcbiAgICAgIH1cblxuICAgICAgbGV0IHBvaW50c09kaiA9IG9kai5wb2ludHNPREpcbiAgICAgIGlmIChwb2ludHNPZGogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsZXQgcG9pbnRPZGogPSBwb2ludHNPZGoucG9pbnRPREpcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocG9pbnRPZGopKSB7XG4gICAgICAgICAgcG9pbnRzT2RqID0gcG9pbnRPZGpcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhc3NlcnQocG9pbnRPZGopXG4gICAgICAgICAgcG9pbnRzT2RqID0gW3BvaW50T2RqXVxuICAgICAgICB9XG4gICAgICAgIG9kai5wb2ludHNPZGogPSBwb2ludHNPZGpcblxuICAgICAgICBmb3IgKGNvbnN0IHBvaW50T2RqIG9mIHBvaW50c09kaikge1xuICAgICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHBvaW50T2RqKVxuXG4gICAgICAgICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHBvaW50T2RqLCBcImNvbWl0ZVNlY3JldFwiKVxuXG4gICAgICAgICAgY29uc3QgeHNpVHlwZSA9IHBvaW50T2RqW1wiQHhzaTp0eXBlXCJdXG4gICAgICAgICAgaWYgKHhzaVR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcG9pbnRPZGoueHNpVHlwZSA9IHhzaVR5cGVcbiAgICAgICAgICAgIGRlbGV0ZSBwb2ludE9kaltcIkB4c2k6dHlwZVwiXVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGN5Y2xlRGVWaWUgPSBwb2ludE9kai5jeWNsZURlVmllXG4gICAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGN5Y2xlRGVWaWUsIHVuZGVmaW5lZClcbiAgICAgICAgICBjbGVhbkN5Y2xlRGVWaWUoY3ljbGVEZVZpZSlcblxuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChwb2ludE9kai5kZW1hbmRldXJQb2ludCwgdW5kZWZpbmVkKVxuXG4gICAgICAgICAgbGV0IGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzID0gcG9pbnRPZGouZG9zc2llcnNMZWdpc2xhdGlmc1JlZnNcbiAgICAgICAgICBpZiAoZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMuZG9zc2llclJlZikpIHtcbiAgICAgICAgICAgICAgZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgPSBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcy5kb3NzaWVyUmVmXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhc3NlcnQoZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMuZG9zc2llclJlZilcbiAgICAgICAgICAgICAgZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgPSBbZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMuZG9zc2llclJlZl1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvaW50T2RqLmRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzID0gZG9zc2llcnNMZWdpc2xhdGlmc1JlZnNcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwb2ludE9kai50eXBlUG9pbnRPZGogPSBwb2ludE9kai50eXBlUG9pbnRPREpcbiAgICAgICAgICBkZWxldGUgcG9pbnRPZGoudHlwZVBvaW50T0RKXG5cbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocG9pbnRPZGoudGV4dGVzQXNzb2NpZXMsIHVuZGVmaW5lZClcblxuICAgICAgICAgIHBvaW50T2RqLm5hdHVyZVRyYXZhdXhPZGogPSBwb2ludE9kai5uYXR1cmVUcmF2YXV4T0RKXG4gICAgICAgICAgZGVsZXRlIHBvaW50T2RqLm5hdHVyZVRyYXZhdXhPREpcblxuICAgICAgICAgIGxldCBkYXRlQ29uZlByZXMgPSBwb2ludE9kai5kYXRlQ29uZlByZXNcbiAgICAgICAgICBpZiAoZGF0ZUNvbmZQcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgZGF0ZUNvbmZQcmVzLCBcInN0cmluZ1wiKVxuICAgICAgICAgICAgYXNzZXJ0KC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1cXCtcXGR7Mn06MDAkLy50ZXN0KGRhdGVDb25mUHJlcykpXG4gICAgICAgICAgICBkYXRlQ29uZlByZXMgPSBuZXcgRGF0ZShkYXRlQ29uZlByZXMuc3BsaXQoXCIrXCIpWzBdKVxuICAgICAgICAgICAgcG9pbnRPZGouZGF0ZUNvbmZQcmVzID0gZGF0ZUNvbmZQcmVzXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGV0IGRhdGVMZXR0cmVNaW5pc3RyZSA9IHBvaW50T2RqLmRhdGVMZXR0cmVNaW5pc3RyZVxuICAgICAgICAgIGlmIChkYXRlTGV0dHJlTWluaXN0cmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBkYXRlTGV0dHJlTWluaXN0cmUsIFwic3RyaW5nXCIpXG4gICAgICAgICAgICBhc3NlcnQoL15cXGR7NH0tXFxkezJ9LVxcZHsyfVxcK1xcZHsyfTowMCQvLnRlc3QoZGF0ZUxldHRyZU1pbmlzdHJlKSlcbiAgICAgICAgICAgIGRhdGVMZXR0cmVNaW5pc3RyZSA9IG5ldyBEYXRlKGRhdGVMZXR0cmVNaW5pc3RyZS5zcGxpdChcIitcIilbMF0pXG4gICAgICAgICAgICBwb2ludE9kai5kYXRlTGV0dHJlTWluaXN0cmUgPSBkYXRlTGV0dHJlTWluaXN0cmVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGVsZXRlIG9kai5wb2ludHNPREpcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBpZGVudGlmaWFudHMgPSByZXVuaW9uLmlkZW50aWZpYW50c1xuICBpZiAoaWRlbnRpZmlhbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhpZGVudGlmaWFudHMpXG4gICAgY29uc3QgbnVtU2VhbmNlSm8gPSBpZGVudGlmaWFudHMubnVtU2VhbmNlSk9cbiAgICBpZiAobnVtU2VhbmNlSm8gIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpvID0gbnVtU2VhbmNlSm9cbiAgICAgIGRlbGV0ZSBpZGVudGlmaWFudHMubnVtU2VhbmNlSk9cbiAgICB9XG5cbiAgICBjb25zdCBpZEpvID0gaWRlbnRpZmlhbnRzLmlkSk9cbiAgICBpZiAoaWRKbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZGVudGlmaWFudHMuaWRKbyA9IGlkSm9cbiAgICAgIGRlbGV0ZSBpZGVudGlmaWFudHMuaWRKT1xuICAgIH1cblxuICAgIGxldCBkYXRlU2VhbmNlID0gaWRlbnRpZmlhbnRzLkRhdGVTZWFuY2VcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGRhdGVTZWFuY2UsIFwic3RyaW5nXCIpXG4gICAgYXNzZXJ0KC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1cXCtcXGR7Mn06MDAkLy50ZXN0KGRhdGVTZWFuY2UpKVxuICAgIGRhdGVTZWFuY2UgPSBuZXcgRGF0ZShkYXRlU2VhbmNlLnNwbGl0KFwiK1wiKVswXSlcbiAgICBpZGVudGlmaWFudHMuZGF0ZVNlYW5jZSA9IGRhdGVTZWFuY2VcbiAgICBkZWxldGUgaWRlbnRpZmlhbnRzLkRhdGVTZWFuY2VcbiAgfVxuXG4gIGNvbnN0IGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSA9IHJldW5pb24uaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXG4gIGlmIChpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSlcblxuICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShcbiAgICAgIGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSxcbiAgICAgIFwiZXN0UmV1bmlvbkludGVybmF0aW9uYWxlXCIsXG4gICAgKVxuXG4gICAgbGV0IGxpc3RlUGF5cyA9IGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZS5saXN0ZVBheXNcbiAgICBpZiAobGlzdGVQYXlzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxpc3RlUGF5cyA9IGxpc3RlUGF5cy5wYXlzUmVmXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkobGlzdGVQYXlzKSkge1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGxpc3RlUGF5cywgXCJzdHJpbmdcIilcbiAgICAgICAgbGlzdGVQYXlzID0gW2xpc3RlUGF5c11cbiAgICAgIH1cbiAgICAgIGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZS5saXN0ZVBheXMgPSBsaXN0ZVBheXNcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLElBQUEsR0FBQUQsT0FBQTtBQUFnRSxTQUFBRCx1QkFBQUcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLGdCQUFBQSxHQUFBO0FBQUEsU0FBQUUsMkJBQUFDLENBQUEsRUFBQUMsY0FBQSxRQUFBQyxFQUFBLFVBQUFDLE1BQUEsb0JBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLEVBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsRUFBQSxHQUFBSywyQkFBQSxDQUFBUCxD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
|
|
312
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfeG1sIiwiZSIsIl9fZXNNb2R1bGUiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJ0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJfbiIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImYiLCJUeXBlRXJyb3IiLCJvIiwiYSIsInUiLCJjYWxsIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiX3R5cGVvZiIsInByb3RvdHlwZSIsImNsZWFuQ3ljbGVEZVZpZSIsImN5Y2xlRGVWaWUiLCJjbGVhblhtbEFydGVmYWN0cyIsImNocm9ubyIsImFzc2VydCIsImNyZWF0aW9uIiwic3RyaWN0RXF1YWwiLCJEYXRlIiwiY2xvdHVyZSIsInVuZGVmaW5lZCIsImNsZWFuUmV1bmlvbiIsInJldW5pb24iLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJ4c2lUeXBlIiwidGltZXN0YW1wRGVidXQiLCJ0aW1lU3RhbXBEZWJ1dCIsIm5vdFN0cmljdEVxdWFsIiwidGltZXN0YW1wRmluIiwidGltZVN0YW1wRmluIiwibGlldSIsImRlbWFuZGV1cnMiLCJhY3RldXJzIiwiYWN0ZXVyIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJlcnIiLCJvcmdhbmUiLCJkZW1hbmRldXIiLCJfaSIsIl9hY3RldXJzMiIsInBhcnRpY2lwYW50cyIsInBhcnRpY2lwYW50c0ludGVybmVzIiwicGFydGljaXBhbnRJbnRlcm5lIiwicGVyc29ubmVzQXVkaXRpb25uZWVzIiwicGVyc29ubmVBdWRpdGlvbm5lZSIsImZpbHRlciIsInBlcnNvbm5lQXVkaW9ubmVlIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInVpZCIsImlkZW50IiwiT0RKIiwib2RqIiwiY29udm9jYXRpb25PZGoiLCJjb252b2NhdGlvbk9ESiIsIml0ZW0iLCJyZXN1bWVPZGoiLCJyZXN1bWVPREoiLCJwb2ludHNPZGoiLCJwb2ludHNPREoiLCJwb2ludE9kaiIsInBvaW50T0RKIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsImRlbWFuZGV1clBvaW50IiwiZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMiLCJkb3NzaWVyUmVmIiwidHlwZVBvaW50T2RqIiwidHlwZVBvaW50T0RKIiwidGV4dGVzQXNzb2NpZXMiLCJuYXR1cmVUcmF2YXV4T2RqIiwibmF0dXJlVHJhdmF1eE9ESiIsImRhdGVDb25mUHJlcyIsInNwbGl0IiwiZGF0ZUxldHRyZU1pbmlzdHJlIiwiaWRlbnRpZmlhbnRzIiwibnVtU2VhbmNlSm8iLCJudW1TZWFuY2VKTyIsImlkSm8iLCJpZEpPIiwiZGF0ZVNlYW5jZSIsIkRhdGVTZWFuY2UiLCJpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUiLCJsaXN0ZVBheXMiLCJwYXlzUmVmIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsZWFuZXJzL3JldW5pb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuQm9vbGVhbkF0dHJpYnV0ZSwgY2xlYW5YbWxBcnRlZmFjdHMgfSBmcm9tIFwiLi94bWxcIlxuXG5mdW5jdGlvbiBjbGVhbkN5Y2xlRGVWaWUoY3ljbGVEZVZpZTogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKGN5Y2xlRGVWaWUpXG5cbiAgY29uc3QgY2hyb25vID0gY3ljbGVEZVZpZS5jaHJvbm9cbiAgYXNzZXJ0KGNocm9ubylcbiAge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGNocm9ubylcblxuICAgIGxldCBjcmVhdGlvbiA9IGNocm9uby5jcmVhdGlvblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgY3JlYXRpb24sIFwic3RyaW5nXCIpXG4gICAgY3JlYXRpb24gPSBuZXcgRGF0ZShjcmVhdGlvbilcbiAgICBjaHJvbm8uY3JlYXRpb24gPSBjcmVhdGlvblxuXG4gICAgbGV0IGNsb3R1cmUgPSBjaHJvbm8uY2xvdHVyZVxuICAgIGlmIChjbG90dXJlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgY2xvdHVyZSwgXCJzdHJpbmdcIilcbiAgICAgIGNsb3R1cmUgPSBuZXcgRGF0ZShjbG90dXJlKVxuICAgICAgY2hyb25vLmNsb3R1cmUgPSBjbG90dXJlXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblJldW5pb24ocmV1bmlvbjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKHJldW5pb24pXG5cbiAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHJldW5pb24sIFwiY2FwdGF0aW9uVmlkZW9cIilcbiAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHJldW5pb24sIFwiY29taXRlU2VjcmV0XCIpXG4gIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShyZXVuaW9uLCBcIm91dmVydHVyZVByZXNzZVwiKVxuXG4gIGNvbnN0IHhzaVR5cGUgPSByZXVuaW9uW1wiQHhzaTp0eXBlXCJdXG4gIGlmICh4c2lUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXVuaW9uLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgZGVsZXRlIHJldW5pb25bXCJAeHNpOnR5cGVcIl1cbiAgfVxuXG4gIGNvbnN0IHRpbWVzdGFtcERlYnV0ID0gcmV1bmlvbi50aW1lU3RhbXBEZWJ1dFxuICBhc3NlcnQubm90U3RyaWN0RXF1YWwodGltZXN0YW1wRGVidXQsIHVuZGVmaW5lZClcbiAgcmV1bmlvbi50aW1lc3RhbXBEZWJ1dCA9IHRpbWVzdGFtcERlYnV0XG4gIGRlbGV0ZSByZXVuaW9uLnRpbWVTdGFtcERlYnV0XG5cbiAgbGV0IHRpbWVzdGFtcEZpbiA9IHJldW5pb24udGltZVN0YW1wRmluXG4gIGlmICh0aW1lc3RhbXBGaW4gIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgdGltZXN0YW1wRmluLCBcInN0cmluZ1wiKVxuICAgIHRpbWVzdGFtcEZpbiA9IG5ldyBEYXRlKHRpbWVzdGFtcEZpbilcbiAgICByZXVuaW9uLnRpbWVzdGFtcEZpbiA9IHRpbWVzdGFtcEZpblxuICAgIGRlbGV0ZSByZXVuaW9uLnRpbWVTdGFtcEZpblxuICB9XG5cbiAgY29uc3QgbGlldSA9IHJldW5pb24ubGlldVxuICBpZiAobGlldSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMobGlldSlcbiAgfVxuXG4gIGNvbnN0IGN5Y2xlRGVWaWUgPSByZXVuaW9uLmN5Y2xlRGVWaWVcbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGN5Y2xlRGVWaWUsIHVuZGVmaW5lZClcbiAgY2xlYW5DeWNsZURlVmllKGN5Y2xlRGVWaWUpXG5cbiAgY29uc3QgZGVtYW5kZXVycyA9IHJldW5pb24uZGVtYW5kZXVyc1xuICBpZiAoZGVtYW5kZXVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgbGV0IGFjdGV1cnMgPSBkZW1hbmRldXJzLmFjdGV1clxuICAgIGlmIChhY3RldXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShhY3RldXJzKSkge1xuICAgICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYWN0ZXVycywgbnVsbClcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBhY3RldXJzLCBcIm9iamVjdFwiKVxuICAgICAgICBhY3RldXJzID0gW2FjdGV1cnNdXG4gICAgICB9XG4gICAgICBkZW1hbmRldXJzLmFjdGV1cnMgPSBhY3RldXJzXG4gICAgICBkZWxldGUgZGVtYW5kZXVycy5hY3RldXJcblxuICAgICAgZm9yIChjb25zdCBhY3RldXIgb2YgYWN0ZXVycykge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhhY3RldXIpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb3JnYW5lID0gZGVtYW5kZXVycy5vcmdhbmVcbiAgICBpZiAob3JnYW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKG9yZ2FuZSlcbiAgICB9XG4gIH1cbiAgY29uc3QgZGVtYW5kZXVyID0gcmV1bmlvbi5kZW1hbmRldXJcbiAgaWYgKGRlbWFuZGV1ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJldW5pb24uZGVtYW5kZXVycywgdW5kZWZpbmVkKVxuICAgIGRlbGV0ZSByZXVuaW9uLmRlbWFuZGV1clxuXG4gICAgbGV0IGFjdGV1ciA9IGRlbWFuZGV1ci5hY3RldXJcbiAgICBpZiAoYWN0ZXVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhY3RldXIsIG51bGwpXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGFjdGV1ciwgXCJvYmplY3RcIilcbiAgICAgIGNvbnN0IGFjdGV1cnMgPSBbYWN0ZXVyXVxuICAgICAgZGVtYW5kZXVyLmFjdGV1cnMgPSBhY3RldXJzXG4gICAgICBkZWxldGUgZGVtYW5kZXVyLmFjdGV1clxuICAgICAgcmV1bmlvbi5kZW1hbmRldXJzID0gZGVtYW5kZXVyXG5cbiAgICAgIGZvciAoY29uc3QgYWN0ZXVyIG9mIGFjdGV1cnMpIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoYWN0ZXVyKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG9yZ2FuZSA9IGRlbWFuZGV1ci5vcmdhbmVcbiAgICBpZiAob3JnYW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKG9yZ2FuZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBwYXJ0aWNpcGFudHMgPSByZXVuaW9uLnBhcnRpY2lwYW50c1xuICBpZiAocGFydGljaXBhbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhwYXJ0aWNpcGFudHMpXG5cbiAgICBsZXQgcGFydGljaXBhbnRzSW50ZXJuZXMgPSBwYXJ0aWNpcGFudHMucGFydGljaXBhbnRzSW50ZXJuZXNcbiAgICBpZiAocGFydGljaXBhbnRzSW50ZXJuZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGFydGljaXBhbnRzSW50ZXJuZXMgPSBwYXJ0aWNpcGFudHNJbnRlcm5lcy5wYXJ0aWNpcGFudEludGVybmVcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShwYXJ0aWNpcGFudHNJbnRlcm5lcykpIHtcbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHBhcnRpY2lwYW50c0ludGVybmVzLCBudWxsKVxuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHBhcnRpY2lwYW50c0ludGVybmVzLCBcIm9iamVjdFwiKVxuICAgICAgICBwYXJ0aWNpcGFudHNJbnRlcm5lcyA9IFtwYXJ0aWNpcGFudHNJbnRlcm5lc11cbiAgICAgIH1cbiAgICAgIHBhcnRpY2lwYW50cy5wYXJ0aWNpcGFudHNJbnRlcm5lcyA9IHBhcnRpY2lwYW50c0ludGVybmVzXG4gICAgfVxuXG4gICAgbGV0IHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9IHBhcnRpY2lwYW50cy5wZXJzb25uZXNBdWRpdGlvbm5lZXNcbiAgICBpZiAocGVyc29ubmVzQXVkaXRpb25uZWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9IHBlcnNvbm5lc0F1ZGl0aW9ubmVlcy5wZXJzb25uZUF1ZGl0aW9ubmVlXG4gICAgICBpZiAocGVyc29ubmVzQXVkaXRpb25uZWVzID09PSBudWxsKSB7XG4gICAgICAgIGRlbGV0ZSBwYXJ0aWNpcGFudHMucGVyc29ubmVzQXVkaXRpb25uZWVzXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocGVyc29ubmVzQXVkaXRpb25uZWVzKSkge1xuICAgICAgICAgIC8vIGFzc2VydC5ub3RTdHJpY3RFcXVhbChwZXJzb25uZXNBdWRpdGlvbm5lZXMsIG51bGwpXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBwZXJzb25uZXNBdWRpdGlvbm5lZXMsIFwib2JqZWN0XCIpXG4gICAgICAgICAgcGVyc29ubmVzQXVkaXRpb25uZWVzID0gW3BlcnNvbm5lc0F1ZGl0aW9ubmVlc11cbiAgICAgICAgfVxuICAgICAgICBwZXJzb25uZXNBdWRpdGlvbm5lZXMgPSBwZXJzb25uZXNBdWRpdGlvbm5lZXMuZmlsdGVyKFxuICAgICAgICAgIChwZXJzb25uZUF1ZGlvbm5lZTogYW55KSA9PiBwZXJzb25uZUF1ZGlvbm5lZSAhPT0gbnVsbCxcbiAgICAgICAgKVxuICAgICAgICBpZiAocGVyc29ubmVzQXVkaXRpb25uZWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBwYXJ0aWNpcGFudHMucGVyc29ubmVzQXVkaXRpb25uZWVzID0gcGVyc29ubmVzQXVkaXRpb25uZWVzXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlIHBhcnRpY2lwYW50cy5wZXJzb25uZXNBdWRpdGlvbm5lZXNcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgcGVyc29ubmVBdWRpb25uZWUgb2YgcGVyc29ubmVzQXVkaXRpb25uZWVzKSB7XG4gICAgICAgICAgY29uc3QgeHNpVHlwZSA9IHBlcnNvbm5lQXVkaW9ubmVlLnVpZFtcIkB4c2k6dHlwZVwiXVxuICAgICAgICAgIGFzc2VydCh4c2lUeXBlKVxuICAgICAgICAgIHBlcnNvbm5lQXVkaW9ubmVlLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgICAgICAgY29uc3QgdWlkID0gcGVyc29ubmVBdWRpb25uZWUudWlkW1wiI3RleHRcIl1cbiAgICAgICAgICBhc3NlcnQodWlkKVxuICAgICAgICAgIHBlcnNvbm5lQXVkaW9ubmVlLnVpZCA9IHVpZFxuXG4gICAgICAgICAgY29uc3QgaWRlbnQgPSBwZXJzb25uZUF1ZGlvbm5lZS5pZGVudFxuICAgICAgICAgIGFzc2VydChpZGVudClcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhpZGVudClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocmV1bmlvbi5PREogIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG9kaiA9IHJldW5pb24uT0RKXG4gICAgcmV1bmlvbi5vZGogPSBvZGpcbiAgICBkZWxldGUgcmV1bmlvbi5PREpcbiAgICB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhvZGopXG5cbiAgICAgIGxldCBjb252b2NhdGlvbk9kaiA9IG9kai5jb252b2NhdGlvbk9ESlxuICAgICAgaWYgKGNvbnZvY2F0aW9uT2RqICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29udm9jYXRpb25PZGouaXRlbSkpIHtcbiAgICAgICAgICBjb252b2NhdGlvbk9kaiA9IGNvbnZvY2F0aW9uT2RqLml0ZW1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhc3NlcnQoY29udm9jYXRpb25PZGouaXRlbSlcbiAgICAgICAgICBjb252b2NhdGlvbk9kaiA9IFtjb252b2NhdGlvbk9kai5pdGVtXVxuICAgICAgICB9XG4gICAgICAgIG9kai5jb252b2NhdGlvbk9kaiA9IGNvbnZvY2F0aW9uT2RqXG4gICAgICAgIGRlbGV0ZSBvZGouY29udm9jYXRpb25PREpcbiAgICAgIH1cblxuICAgICAgbGV0IHJlc3VtZU9kaiA9IG9kai5yZXN1bWVPREpcbiAgICAgIGlmIChyZXN1bWVPZGogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bWVPZGouaXRlbSkpIHtcbiAgICAgICAgICByZXN1bWVPZGogPSByZXN1bWVPZGouaXRlbVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFzc2VydChyZXN1bWVPZGouaXRlbSlcbiAgICAgICAgICByZXN1bWVPZGogPSBbcmVzdW1lT2RqLml0ZW1dXG4gICAgICAgIH1cbiAgICAgICAgb2RqLnJlc3VtZU9kaiA9IHJlc3VtZU9kalxuICAgICAgICBkZWxldGUgb2RqLnJlc3VtZU9ESlxuICAgICAgfVxuXG4gICAgICBsZXQgcG9pbnRzT2RqID0gb2RqLnBvaW50c09ESlxuICAgICAgaWYgKHBvaW50c09kaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGxldCBwb2ludE9kaiA9IHBvaW50c09kai5wb2ludE9ESlxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwb2ludE9kaikpIHtcbiAgICAgICAgICBwb2ludHNPZGogPSBwb2ludE9kalxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFzc2VydChwb2ludE9kailcbiAgICAgICAgICBwb2ludHNPZGogPSBbcG9pbnRPZGpdXG4gICAgICAgIH1cbiAgICAgICAgb2RqLnBvaW50c09kaiA9IHBvaW50c09kalxuXG4gICAgICAgIGZvciAoY29uc3QgcG9pbnRPZGogb2YgcG9pbnRzT2RqKSB7XG4gICAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMocG9pbnRPZGopXG5cbiAgICAgICAgICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUocG9pbnRPZGosIFwiY29taXRlU2VjcmV0XCIpXG5cbiAgICAgICAgICBjb25zdCB4c2lUeXBlID0gcG9pbnRPZGpbXCJAeHNpOnR5cGVcIl1cbiAgICAgICAgICBpZiAoeHNpVHlwZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBwb2ludE9kai54c2lUeXBlID0geHNpVHlwZVxuICAgICAgICAgICAgZGVsZXRlIHBvaW50T2RqW1wiQHhzaTp0eXBlXCJdXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY3ljbGVEZVZpZSA9IHBvaW50T2RqLmN5Y2xlRGVWaWVcbiAgICAgICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoY3ljbGVEZVZpZSwgdW5kZWZpbmVkKVxuICAgICAgICAgIGNsZWFuQ3ljbGVEZVZpZShjeWNsZURlVmllKVxuXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHBvaW50T2RqLmRlbWFuZGV1clBvaW50LCB1bmRlZmluZWQpXG5cbiAgICAgICAgICBsZXQgZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgPSBwb2ludE9kai5kb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1xuICAgICAgICAgIGlmIChkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcy5kb3NzaWVyUmVmKSkge1xuICAgICAgICAgICAgICBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyA9IGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzLmRvc3NpZXJSZWZcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGFzc2VydChkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcy5kb3NzaWVyUmVmKVxuICAgICAgICAgICAgICBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyA9IFtkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcy5kb3NzaWVyUmVmXVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcG9pbnRPZGouZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgPSBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHBvaW50T2RqLnR5cGVQb2ludE9kaiA9IHBvaW50T2RqLnR5cGVQb2ludE9ESlxuICAgICAgICAgIGRlbGV0ZSBwb2ludE9kai50eXBlUG9pbnRPREpcblxuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChwb2ludE9kai50ZXh0ZXNBc3NvY2llcywgdW5kZWZpbmVkKVxuXG4gICAgICAgICAgcG9pbnRPZGoubmF0dXJlVHJhdmF1eE9kaiA9IHBvaW50T2RqLm5hdHVyZVRyYXZhdXhPREpcbiAgICAgICAgICBkZWxldGUgcG9pbnRPZGoubmF0dXJlVHJhdmF1eE9ESlxuXG4gICAgICAgICAgbGV0IGRhdGVDb25mUHJlcyA9IHBvaW50T2RqLmRhdGVDb25mUHJlc1xuICAgICAgICAgIGlmIChkYXRlQ29uZlByZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBkYXRlQ29uZlByZXMsIFwic3RyaW5nXCIpXG4gICAgICAgICAgICBhc3NlcnQoL15cXGR7NH0tXFxkezJ9LVxcZHsyfVxcK1xcZHsyfTowMCQvLnRlc3QoZGF0ZUNvbmZQcmVzKSlcbiAgICAgICAgICAgIGRhdGVDb25mUHJlcyA9IG5ldyBEYXRlKGRhdGVDb25mUHJlcy5zcGxpdChcIitcIilbMF0pXG4gICAgICAgICAgICBwb2ludE9kai5kYXRlQ29uZlByZXMgPSBkYXRlQ29uZlByZXNcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgZGF0ZUxldHRyZU1pbmlzdHJlID0gcG9pbnRPZGouZGF0ZUxldHRyZU1pbmlzdHJlXG4gICAgICAgICAgaWYgKGRhdGVMZXR0cmVNaW5pc3RyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGRhdGVMZXR0cmVNaW5pc3RyZSwgXCJzdHJpbmdcIilcbiAgICAgICAgICAgIGFzc2VydCgvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9XFwrXFxkezJ9OjAwJC8udGVzdChkYXRlTGV0dHJlTWluaXN0cmUpKVxuICAgICAgICAgICAgZGF0ZUxldHRyZU1pbmlzdHJlID0gbmV3IERhdGUoZGF0ZUxldHRyZU1pbmlzdHJlLnNwbGl0KFwiK1wiKVswXSlcbiAgICAgICAgICAgIHBvaW50T2RqLmRhdGVMZXR0cmVNaW5pc3RyZSA9IGRhdGVMZXR0cmVNaW5pc3RyZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkZWxldGUgb2RqLnBvaW50c09ESlxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGlkZW50aWZpYW50cyA9IHJldW5pb24uaWRlbnRpZmlhbnRzXG4gIGlmIChpZGVudGlmaWFudHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGlkZW50aWZpYW50cylcbiAgICBjb25zdCBudW1TZWFuY2VKbyA9IGlkZW50aWZpYW50cy5udW1TZWFuY2VKT1xuICAgIGlmIChudW1TZWFuY2VKbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZGVudGlmaWFudHMubnVtU2VhbmNlSm8gPSBudW1TZWFuY2VKb1xuICAgICAgZGVsZXRlIGlkZW50aWZpYW50cy5udW1TZWFuY2VKT1xuICAgIH1cblxuICAgIGNvbnN0IGlkSm8gPSBpZGVudGlmaWFudHMuaWRKT1xuICAgIGlmIChpZEpvICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpYW50cy5pZEpvID0gaWRKb1xuICAgICAgZGVsZXRlIGlkZW50aWZpYW50cy5pZEpPXG4gICAgfVxuXG4gICAgbGV0IGRhdGVTZWFuY2UgPSBpZGVudGlmaWFudHMuRGF0ZVNlYW5jZVxuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgZGF0ZVNlYW5jZSwgXCJzdHJpbmdcIilcbiAgICBhc3NlcnQoL15cXGR7NH0tXFxkezJ9LVxcZHsyfVxcK1xcZHsyfTowMCQvLnRlc3QoZGF0ZVNlYW5jZSkpXG4gICAgZGF0ZVNlYW5jZSA9IG5ldyBEYXRlKGRhdGVTZWFuY2Uuc3BsaXQoXCIrXCIpWzBdKVxuICAgIGlkZW50aWZpYW50cy5kYXRlU2VhbmNlID0gZGF0ZVNlYW5jZVxuICAgIGRlbGV0ZSBpZGVudGlmaWFudHMuRGF0ZVNlYW5jZVxuICB9XG5cbiAgY29uc3QgaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlID0gcmV1bmlvbi5pbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGVcbiAgaWYgKGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlKVxuXG4gICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKFxuICAgICAgaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlLFxuICAgICAgXCJlc3RSZXVuaW9uSW50ZXJuYXRpb25hbGVcIixcbiAgICApXG5cbiAgICBsZXQgbGlzdGVQYXlzID0gaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlLmxpc3RlUGF5c1xuICAgIGlmIChsaXN0ZVBheXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGlzdGVQYXlzID0gbGlzdGVQYXlzLnBheXNSZWZcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShsaXN0ZVBheXMpKSB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgbGlzdGVQYXlzLCBcInN0cmluZ1wiKVxuICAgICAgICBsaXN0ZVBheXMgPSBbbGlzdGVQYXlzXVxuICAgICAgfVxuICAgICAgaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlLmxpc3RlUGF5cyA9IGxpc3RlUGF5c1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsSUFBQSxHQUFBRCxPQUFBO0FBQWdFLFNBQUFELHVCQUFBRyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSwyQkFBQUMsQ0FBQSxFQUFBSCxDQUFBLFFBQUFJLENBQUEseUJBQUFDLE1BQUEsSUFBQUYsQ0FBQSxDQUFBRSxNQUFBLENBQUFDLFFBQUEsS0FBQUgsQ0FBQSxxQkFBQUMsQ0FBQSxRQUFBRyxLQUFBLENBQUFDLE9BQUEsQ0FBQUwsQ0FBQSxNQUFBQyxDQUFBLEdBQUFLLDJCQUFBLENBQUFOLENBQUEsTUFBQUgsQ0FBQSxJQUFBRyxDQUFBLHVCQUFBQSxDQUFBLENBQUFPLE1BQUEsSUFBQU4sQ0FBQSxLQUFBRCxDQUFBLEdBQUFDLENBQUEsT0FBQU8sRUFBQSxN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
|
package/lib/cleaners/scrutins.js
CHANGED
|
@@ -23,14 +23,14 @@ require("core-js/modules/es.object.to-string.js");
|
|
|
23
23
|
require("core-js/modules/es.object.values.js");
|
|
24
24
|
var _assert = _interopRequireDefault(require("assert"));
|
|
25
25
|
var _xml = require("./xml");
|
|
26
|
-
function _interopRequireDefault(
|
|
27
|
-
function _toConsumableArray(
|
|
26
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
27
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
28
28
|
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."); }
|
|
29
|
-
function _iterableToArray(
|
|
30
|
-
function _arrayWithoutHoles(
|
|
31
|
-
function _createForOfIteratorHelper(
|
|
32
|
-
function _unsupportedIterableToArray(
|
|
33
|
-
function _arrayLikeToArray(
|
|
29
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
30
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
31
|
+
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; } } }; }
|
|
32
|
+
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; } }
|
|
33
|
+
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; }
|
|
34
34
|
function cleanDecompteNominatif(decompteNominatif) {
|
|
35
35
|
(0, _xml.cleanXmlArtefacts)(decompteNominatif);
|
|
36
36
|
var nonVotants = decompteNominatif.nonVotants;
|
|
@@ -336,4 +336,4 @@ function cleanScrutin(scrutin) {
|
|
|
336
336
|
function cleanVotant(votant) {
|
|
337
337
|
(0, _xml.cleanBooleanAttribute)(votant, "parDelegation");
|
|
338
338
|
}
|
|
339
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfeG1sIiwib2JqIiwiX19lc01vZHVsZSIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJpdGVyIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIm8iLCJhbGxvd0FycmF5TGlrZSIsIml0IiwibGVuZ3RoIiwiaSIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImUiLCJfZSIsImYiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwiY2FsbCIsInN0ZXAiLCJuZXh0IiwiX2UyIiwibWluTGVuIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJsZW4iLCJhcnIyIiwiY2xlYW5EZWNvbXB0ZU5vbWluYXRpZiIsImRlY29tcHRlTm9taW5hdGlmIiwiY2xlYW5YbWxBcnRlZmFjdHMiLCJub25Wb3RhbnRzIiwidW5kZWZpbmVkIiwibm9uVm90YW50IiwiYXNzZXJ0Iiwic3RyaWN0RXF1YWwiLCJub25Wb3RhbnRzQXJyYXkiLCJfaXRlcmF0b3IiLCJfc3RlcCIsInZvdGFudCIsIl9ub25Wb3RhbnRzIiwicHVzaCIsImFwcGx5IiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImNsZWFuVm90YW50IiwicG91ciIsInBvdXJzIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsImNvbnRyZSIsImNvbnRyZXMiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiYWJzdGVudGlvbnMiLCJhYnN0ZW50aW9uIiwiYWJzdGVudGlvbnNBcnJheSIsIl9pdGVyYXRvcjUiLCJfc3RlcDUiLCJhYnNlbnRpb25zSXRlbSIsIl9hYnN0ZW50aW9ucyIsIl9pdGVyYXRvcjYiLCJfc3RlcDYiLCJub25Wb3RhbnRzVm9sb250YWlyZXMiLCJub25Wb3RhbnRzVm9sb250YWlyZXNBcnJheSIsIl9pdGVyYXRvcjciLCJfc3RlcDciLCJfbm9uVm90YW50c1ZvbG9udGFpcmUiLCJfaXRlcmF0b3I4IiwiX3N0ZXA4IiwiY2xlYW5TY3J1dGluIiwic2NydXRpbiIsImRlbWFuZGV1ciIsInJlZmVyZW5jZUxlZ2lzbGF0aXZlIiwib2JqZXQiLCJ2ZW50aWxhdGlvblZvdGVzIiwib3JnYW5lIiwiZ3JvdXBlcyIsImdyb3VwZSIsIl9pdGVyYXRvcjkiLCJfc3RlcDkiLCJ2b3RlIiwiZGVjb21wdGVWb2l4IiwibWlzZUF1UG9pbnQiLCJkeXNmb25jdGlvbm5lbWVudCIsInZhbHVlcyIsImZpbHRlciIsImNsZWFuQm9vbGVhbkF0dHJpYnV0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9zY3J1dGlucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5pbXBvcnQgeyBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUsIGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZnVuY3Rpb24gY2xlYW5EZWNvbXB0ZU5vbWluYXRpZihkZWNvbXB0ZU5vbWluYXRpZjogYW55KSB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKGRlY29tcHRlTm9taW5hdGlmKVxuXG4gIGxldCBub25Wb3RhbnRzID0gZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50c1xuICBpZiAobm9uVm90YW50cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgbm9uVm90YW50cyA9IGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudFxuICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50LCB1bmRlZmluZWQpXG4gIH1cbiAgaWYgKG5vblZvdGFudHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICh0eXBlb2Ygbm9uVm90YW50cyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG5vblZvdGFudHMsIFwiMFwiKVxuICAgICAgbm9uVm90YW50cyA9IFtdXG4gICAgfSBlbHNlIGlmICghQXJyYXkuaXNBcnJheShub25Wb3RhbnRzKSkge1xuICAgICAgYXNzZXJ0KG5vblZvdGFudHMpXG4gICAgICBub25Wb3RhbnRzID0gW25vblZvdGFudHNdXG4gICAgfVxuICAgIGNvbnN0IG5vblZvdGFudHNBcnJheSA9IG5vblZvdGFudHNcbiAgICBub25Wb3RhbnRzID0gW11cbiAgICBmb3IgKGxldCBub25Wb3RhbnQgb2Ygbm9uVm90YW50c0FycmF5KSB7XG4gICAgICBpZiAobm9uVm90YW50ID09PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBub25Wb3RhbnQgPSBub25Wb3RhbnQudm90YW50XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShub25Wb3RhbnQpKSB7XG4gICAgICAgIG5vblZvdGFudHMucHVzaCguLi5ub25Wb3RhbnQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NlcnQobm9uVm90YW50KVxuICAgICAgICBub25Wb3RhbnRzLnB1c2gobm9uVm90YW50KVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9uVm90YW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzXG4gICAgfSBlbHNlIHtcbiAgICAgIGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHMgPSBub25Wb3RhbnRzXG4gICAgICBmb3IgKGNvbnN0IHZvdGFudCBvZiBub25Wb3RhbnRzKSB7XG4gICAgICAgIGNsZWFuVm90YW50KHZvdGFudClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgcG91ciA9IGRlY29tcHRlTm9taW5hdGlmLnBvdXJcbiAgaWYgKHBvdXIgPT09IHVuZGVmaW5lZCkge1xuICAgIHBvdXIgPSBkZWNvbXB0ZU5vbWluYXRpZi5wb3Vyc1xuICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5wb3Vyc1xuICB9IGVsc2Uge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZWNvbXB0ZU5vbWluYXRpZi5wb3VycywgdW5kZWZpbmVkKVxuICB9XG4gIGlmIChwb3VyICE9PSB1bmRlZmluZWQpIHtcbiAgICBwb3VyID0gcG91ci52b3RhbnRcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocG91cikpIHtcbiAgICAgIGFzc2VydChwb3VyKVxuICAgICAgcG91ciA9IFtwb3VyXVxuICAgIH1cbiAgICBpZiAocG91ci5sZW5ndGggPT09IDApIHtcbiAgICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5wb3VyXG4gICAgfSBlbHNlIHtcbiAgICAgIGRlY29tcHRlTm9taW5hdGlmLnBvdXIgPSBwb3VyXG4gICAgICBmb3IgKGNvbnN0IHZvdGFudCBvZiBwb3VyKSB7XG4gICAgICAgIGNsZWFuVm90YW50KHZvdGFudClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgY29udHJlID0gZGVjb21wdGVOb21pbmF0aWYuY29udHJlXG4gIGlmIChjb250cmUgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnRyZSA9IGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZXNcbiAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYuY29udHJlc1xuICB9IGVsc2Uge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZWNvbXB0ZU5vbWluYXRpZi5jb250cmVzLCB1bmRlZmluZWQpXG4gIH1cbiAgaWYgKGNvbnRyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29udHJlID0gY29udHJlLnZvdGFudFxuICAgIGlmICghQXJyYXkuaXNBcnJheShjb250cmUpKSB7XG4gICAgICBhc3NlcnQoY29udHJlKVxuICAgICAgY29udHJlID0gW2NvbnRyZV1cbiAgICB9XG4gICAgaWYgKGNvbnRyZS5sZW5ndGggPT09IDApIHtcbiAgICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmVcbiAgICB9IGVsc2Uge1xuICAgICAgZGVjb21wdGVOb21pbmF0aWYuY29udHJlID0gY29udHJlXG4gICAgICBmb3IgKGNvbnN0IHZvdGFudCBvZiBjb250cmUpIHtcbiAgICAgICAgY2xlYW5Wb3RhbnQodm90YW50KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCBhYnN0ZW50aW9ucyA9IGRlY29tcHRlTm9taW5hdGlmLmFic3RlbnRpb25zXG4gIGlmIChhYnN0ZW50aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYWJzdGVudGlvbnMgPSBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uXG4gICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLmFic3RlbnRpb25cbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVjb21wdGVOb21pbmF0aWYuYWJzdGVudGlvbiwgdW5kZWZpbmVkKVxuICB9XG4gIGlmIChhYnN0ZW50aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGFic3RlbnRpb25zKSkge1xuICAgICAgYXNzZXJ0KGFic3RlbnRpb25zKVxuICAgICAgYWJzdGVudGlvbnMgPSBbYWJzdGVudGlvbnNdXG4gICAgfVxuICAgIGNvbnN0IGFic3RlbnRpb25zQXJyYXkgPSBhYnN0ZW50aW9uc1xuICAgIGFic3RlbnRpb25zID0gW11cbiAgICBmb3IgKGxldCBhYnNlbnRpb25zSXRlbSBvZiBhYnN0ZW50aW9uc0FycmF5KSB7XG4gICAgICBpZiAoYWJzZW50aW9uc0l0ZW0gPT09IG51bGwpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGFic2VudGlvbnNJdGVtID0gYWJzZW50aW9uc0l0ZW0udm90YW50XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShhYnNlbnRpb25zSXRlbSkpIHtcbiAgICAgICAgYWJzdGVudGlvbnMucHVzaCguLi5hYnNlbnRpb25zSXRlbSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFzc2VydChhYnNlbnRpb25zSXRlbSlcbiAgICAgICAgYWJzdGVudGlvbnMucHVzaChhYnNlbnRpb25zSXRlbSlcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGFic3RlbnRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLmFic3RlbnRpb25zXG4gICAgfSBlbHNlIHtcbiAgICAgIGRlY29tcHRlTm9taW5hdGlmLmFic3RlbnRpb25zID0gYWJzdGVudGlvbnNcbiAgICAgIGZvciAoY29uc3Qgdm90YW50IG9mIGFic3RlbnRpb25zKSB7XG4gICAgICAgIGNsZWFuVm90YW50KHZvdGFudClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgbm9uVm90YW50c1ZvbG9udGFpcmVzID0gZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50c1ZvbG9udGFpcmVzXG4gIGlmIChub25Wb3RhbnRzVm9sb250YWlyZXMgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShub25Wb3RhbnRzVm9sb250YWlyZXMpKSB7XG4gICAgICBub25Wb3RhbnRzVm9sb250YWlyZXMgPSBbbm9uVm90YW50c1ZvbG9udGFpcmVzXVxuICAgIH1cbiAgICBjb25zdCBub25Wb3RhbnRzVm9sb250YWlyZXNBcnJheSA9IG5vblZvdGFudHNWb2xvbnRhaXJlc1xuICAgIG5vblZvdGFudHNWb2xvbnRhaXJlcyA9IFtdXG4gICAgZm9yIChsZXQgYWJzZW50aW9uc0l0ZW0gb2Ygbm9uVm90YW50c1ZvbG9udGFpcmVzQXJyYXkpIHtcbiAgICAgIGlmIChhYnNlbnRpb25zSXRlbSA9PT0gbnVsbCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgYWJzZW50aW9uc0l0ZW0gPSBhYnNlbnRpb25zSXRlbS52b3RhbnRcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGFic2VudGlvbnNJdGVtKSkge1xuICAgICAgICBub25Wb3RhbnRzVm9sb250YWlyZXMucHVzaCguLi5hYnNlbnRpb25zSXRlbSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFzc2VydChhYnNlbnRpb25zSXRlbSlcbiAgICAgICAgbm9uVm90YW50c1ZvbG9udGFpcmVzLnB1c2goYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChub25Wb3RhbnRzVm9sb250YWlyZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50c1ZvbG9udGFpcmVzXG4gICAgfSBlbHNlIHtcbiAgICAgIGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNWb2xvbnRhaXJlcyA9IG5vblZvdGFudHNWb2xvbnRhaXJlc1xuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2Ygbm9uVm90YW50c1ZvbG9udGFpcmVzKSB7XG4gICAgICAgIGNsZWFuVm90YW50KHZvdGFudClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuU2NydXRpbihzY3J1dGluOiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMoc2NydXRpbilcblxuICBjb25zdCBkZW1hbmRldXIgPSBzY3J1dGluLmRlbWFuZGV1clxuICBhc3NlcnQoZGVtYW5kZXVyKVxuICB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoZGVtYW5kZXVyKVxuXG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlbWFuZGV1ci5yZWZlcmVuY2VMZWdpc2xhdGl2ZSwgdW5kZWZpbmVkKVxuICB9XG5cbiAgY29uc3Qgb2JqZXQgPSBzY3J1dGluLm9iamV0XG4gIGFzc2VydChvYmpldClcbiAge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKG9iamV0KVxuXG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKG9iamV0LnJlZmVyZW5jZUxlZ2lzbGF0aXZlLCB1bmRlZmluZWQpXG4gIH1cblxuICBsZXQgdmVudGlsYXRpb25Wb3RlcyA9IHNjcnV0aW4udmVudGlsYXRpb25Wb3Rlc1xuICBhc3NlcnQodmVudGlsYXRpb25Wb3RlcylcbiAge1xuICAgIHZlbnRpbGF0aW9uVm90ZXMgPSB2ZW50aWxhdGlvblZvdGVzLm9yZ2FuZVxuICAgIGFzc2VydCh2ZW50aWxhdGlvblZvdGVzKVxuXG4gICAgbGV0IGdyb3VwZXMgPSB2ZW50aWxhdGlvblZvdGVzLmdyb3VwZXNcbiAgICBhc3NlcnQoZ3JvdXBlcylcbiAgICB7XG4gICAgICBncm91cGVzID0gZ3JvdXBlcy5ncm91cGVcbiAgICAgIGFzc2VydChBcnJheS5pc0FycmF5KGdyb3VwZXMpKVxuICAgICAgZm9yIChjb25zdCBncm91cGUgb2YgZ3JvdXBlcykge1xuICAgICAgICBjb25zdCB2b3RlID0gZ3JvdXBlLnZvdGVcbiAgICAgICAgYXNzZXJ0KHZvdGUpXG4gICAgICAgIHtcbiAgICAgICAgICBjb25zdCBkZWNvbXB0ZVZvaXggPSB2b3RlLmRlY29tcHRlVm9peFxuICAgICAgICAgIGFzc2VydChkZWNvbXB0ZVZvaXgpXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKGRlY29tcHRlVm9peC5hYnN0ZW50aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlVm9peC5hYnN0ZW50aW9ucywgdW5kZWZpbmVkKVxuICAgICAgICAgICAgICBkZWNvbXB0ZVZvaXguYWJzdGVudGlvbnMgPSBkZWNvbXB0ZVZvaXguYWJzdGVudGlvblxuICAgICAgICAgICAgICBkZWxldGUgZGVjb21wdGVWb2l4LmFic3RlbnRpb25cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGRlY29tcHRlVm9peC5ub25Wb3RhbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVjb21wdGVWb2l4Lm5vblZvdGFudHMsIHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgZGVjb21wdGVWb2l4Lm5vblZvdGFudHMgPSBkZWNvbXB0ZVZvaXgubm9uVm90YW50XG4gICAgICAgICAgICAgIGRlbGV0ZSBkZWNvbXB0ZVZvaXgubm9uVm90YW50XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZGVjb21wdGVOb21pbmF0aWYgPSB2b3RlLmRlY29tcHRlTm9taW5hdGlmXG4gICAgICAgICAgYXNzZXJ0KGRlY29tcHRlTm9taW5hdGlmKVxuICAgICAgICAgIGNsZWFuRGVjb21wdGVOb21pbmF0aWYoZGVjb21wdGVOb21pbmF0aWYpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHZlbnRpbGF0aW9uVm90ZXMuZ3JvdXBlcyA9IGdyb3VwZXNcbiAgICB9XG5cbiAgICBzY3J1dGluLnZlbnRpbGF0aW9uVm90ZXMgPSB2ZW50aWxhdGlvblZvdGVzXG4gIH1cblxuICBjb25zdCBtaXNlQXVQb2ludCA9IHNjcnV0aW4ubWlzZUF1UG9pbnRcbiAgaWYgKG1pc2VBdVBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhbkRlY29tcHRlTm9taW5hdGlmKG1pc2VBdVBvaW50KVxuXG4gICAgbGV0IGR5c2ZvbmN0aW9ubmVtZW50ID0gbWlzZUF1UG9pbnQuZHlzZm9uY3Rpb25uZW1lbnRcbiAgICBpZiAoZHlzZm9uY3Rpb25uZW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xlYW5EZWNvbXB0ZU5vbWluYXRpZihkeXNmb25jdGlvbm5lbWVudClcbiAgICAgIGlmIChcbiAgICAgICAgT2JqZWN0LnZhbHVlcyhkeXNmb25jdGlvbm5lbWVudCkuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAubGVuZ3RoID09PSAwXG4gICAgICApIHtcbiAgICAgICAgZGVsZXRlIG1pc2VBdVBvaW50LmR5c2ZvbmN0aW9ubmVtZW50XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgT2JqZWN0LnZhbHVlcyhtaXNlQXVQb2ludCkuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgLmxlbmd0aCA9PT0gMFxuICAgICkge1xuICAgICAgZGVsZXRlIHNjcnV0aW4ubWlzZUF1UG9pbnRcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xlYW5Wb3RhbnQodm90YW50OiBhbnkpIHtcbiAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHZvdGFudCwgXCJwYXJEZWxlZ2F0aW9uXCIpXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsSUFBQSxHQUFBRCxPQUFBO0FBQWdFLFNBQUFELHVCQUFBRyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsZ0JBQUFBLEdBQUE7QUFBQSxTQUFBRSxtQkFBQUMsR0FBQSxXQUFBQyxrQkFBQSxDQUFBRCxHQUFBLEtBQUFFLGdCQUFBLENBQUFGLEdBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsR0FBQSxLQUFBSSxrQkFBQTtBQUFBLFNBQUFBLG1CQUFBLGNBQUFDLFNBQUE7QUFBQSxTQUFBSCxpQkFBQUksSUFBQSxlQUFBQyxNQUFBLG9CQUFBRCxJQUFBLENBQUFDLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixJQUFBLCtCQUFBRyxLQUFBLENBQUFDLElBQUEsQ0FBQUosSUFBQTtBQUFBLFNBQUFMLG1CQUFBRCxHQUFBLFFBQUFTLEtBQUEsQ0FBQUUsT0FBQSxDQUFBWCxHQUFBLFVBQUFZLGlCQUFBLENBQUFaLEdBQUE7QUFBQSxTQUFBYSwyQkFBQUMsQ0FBQSxFQUFBQyxjQUFBLFFBQUFDLEVBQUEsVUFBQVQsTUFBQSxvQkFBQU8sQ0FBQSxDQUFBUCxNQUFBLENBQUFDLFFB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QUFXLENBQUMrQyxZQUFZLENBQUNuRCxVQUFVLEVBQUVDLFNBQVMsQ0FBQztnQkFDdERrRCxZQUFZLENBQUNuRCxVQUFVLEdBQUdtRCxZQUFZLENBQUNqRCxTQUFTO2dCQUNoRCxPQUFPaUQsWUFBWSxDQUFDakQsU0FBUztjQUMvQjtZQUNGO1lBRUEsSUFBTUosaUJBQWlCLEdBQUdvRCxJQUFJLENBQUNwRCxpQkFBaUI7WUFDaEQsSUFBQUssa0JBQU0sRUFBQ0wsaUJBQWlCLENBQUM7WUFDekJELHNCQUFzQixDQUFDQyxpQkFBaUIsQ0FBQztVQUMzQztRQUNGO01BQUMsU0FBQWhCLEdBQUE7UUFBQWtFLFVBQUEsQ0FBQXZFLENBQUEsQ0FBQUssR0FBQTtNQUFBO1FBQUFrRSxVQUFBLENBQUFyRSxDQUFBO01BQUE7TUFDRGlFLGdCQUFnQixDQUFDRSxPQUFPLEdBQUdBLE9BQU87SUFDcEM7SUFFQU4sT0FBTyxDQUFDSSxnQkFBZ0IsR0FBR0EsZ0JBQWdCO0VBQzdDO0VBRUEsSUFBTVEsV0FBVyxHQUFHWixPQUFPLENBQUNZLFdBQVc7RUFDdkMsSUFBSUEsV0FBVyxLQUFLbkQsU0FBUyxFQUFFO0lBQzdCSixzQkFBc0IsQ0FBQ3VELFdBQVcsQ0FBQztJQUVuQyxJQUFJQyxpQkFBaUIsR0FBR0QsV0FBVyxDQUFDQyxpQkFBaUI7SUFDckQsSUFBSUEsaUJBQWlCLEtBQUtwRCxTQUFTLEVBQUU7TUFDbkNKLHNCQUFzQixDQUFDd0QsaUJBQWlCLENBQUM7TUFDekMsSUFDRWpFLE1BQU0sQ0FBQ2tFLE1BQU0sQ0FBQ0QsaUJBQWlCLENBQUMsQ0FBQ0UsTUFBTSxDQUFDLFVBQUMvRSxLQUFLO1FBQUEsT0FBS0EsS0FBSyxLQUFLeUIsU0FBUztNQUFBLEVBQUMsQ0FDcEUvQixNQUFNLEtBQUssQ0FBQyxFQUNmO1FBQ0EsT0FBT2tGLFdBQVcsQ0FBQ0MsaUJBQWlCO01BQ3RDO0lBQ0Y7SUFFQSxJQUNFakUsTUFBTSxDQUFDa0UsTUFBTSxDQUFDRixXQUFXLENBQUMsQ0FBQ0csTUFBTSxDQUFDLFVBQUMvRSxLQUFLO01BQUEsT0FBS0EsS0FBSyxLQUFLeUIsU0FBUztJQUFBLEVBQUMsQ0FDOUQvQixNQUFNLEtBQUssQ0FBQyxFQUNmO01BQ0EsT0FBT3NFLE9BQU8sQ0FBQ1ksV0FBVztJQUM1QjtFQUNGO0FBQ0Y7QUFFQSxTQUFTdEMsV0FBV0EsQ0FBQ04sTUFBVyxFQUFFO0VBQ2hDLElBQUFnRCwwQkFBcUIsRUFBQ2hELE1BQU0sRUFBRSxlQUFlLENBQUM7QUFDaEQiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
339
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfeG1sIiwiZSIsIl9fZXNNb2R1bGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIlR5cGVFcnJvciIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJ0IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwidGVzdCIsImNsZWFuRGVjb21wdGVOb21pbmF0aWYiLCJkZWNvbXB0ZU5vbWluYXRpZiIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwibm9uVm90YW50cyIsInVuZGVmaW5lZCIsIm5vblZvdGFudCIsImFzc2VydCIsInN0cmljdEVxdWFsIiwibm9uVm90YW50c0FycmF5IiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJ2b3RhbnQiLCJfbm9uVm90YW50cyIsInB1c2giLCJhcHBseSIsImVyciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJjbGVhblZvdGFudCIsInBvdXIiLCJwb3VycyIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJjb250cmUiLCJjb250cmVzIiwiX2l0ZXJhdG9yNCIsIl9zdGVwNCIsImFic3RlbnRpb25zIiwiYWJzdGVudGlvbiIsImFic3RlbnRpb25zQXJyYXkiLCJfaXRlcmF0b3I1IiwiX3N0ZXA1IiwiYWJzZW50aW9uc0l0ZW0iLCJfYWJzdGVudGlvbnMiLCJfaXRlcmF0b3I2IiwiX3N0ZXA2Iiwibm9uVm90YW50c1ZvbG9udGFpcmVzIiwibm9uVm90YW50c1ZvbG9udGFpcmVzQXJyYXkiLCJfaXRlcmF0b3I3IiwiX3N0ZXA3IiwiX25vblZvdGFudHNWb2xvbnRhaXJlIiwiX2l0ZXJhdG9yOCIsIl9zdGVwOCIsImNsZWFuU2NydXRpbiIsInNjcnV0aW4iLCJkZW1hbmRldXIiLCJyZWZlcmVuY2VMZWdpc2xhdGl2ZSIsIm9iamV0IiwidmVudGlsYXRpb25Wb3RlcyIsIm9yZ2FuZSIsImdyb3VwZXMiLCJncm91cGUiLCJfaXRlcmF0b3I5IiwiX3N0ZXA5Iiwidm90ZSIsImRlY29tcHRlVm9peCIsIm1pc2VBdVBvaW50IiwiZHlzZm9uY3Rpb25uZW1lbnQiLCJPYmplY3QiLCJ2YWx1ZXMiLCJmaWx0ZXIiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xlYW5lcnMvc2NydXRpbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcblxuaW1wb3J0IHsgY2xlYW5Cb29sZWFuQXR0cmlidXRlLCBjbGVhblhtbEFydGVmYWN0cyB9IGZyb20gXCIuL3htbFwiXG5cbmZ1bmN0aW9uIGNsZWFuRGVjb21wdGVOb21pbmF0aWYoZGVjb21wdGVOb21pbmF0aWY6IGFueSkge1xuICBjbGVhblhtbEFydGVmYWN0cyhkZWNvbXB0ZU5vbWluYXRpZilcblxuICBsZXQgbm9uVm90YW50cyA9IGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNcbiAgaWYgKG5vblZvdGFudHMgPT09IHVuZGVmaW5lZCkge1xuICAgIG5vblZvdGFudHMgPSBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRcbiAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50XG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudCwgdW5kZWZpbmVkKVxuICB9XG4gIGlmIChub25Wb3RhbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZW9mIG5vblZvdGFudHMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChub25Wb3RhbnRzLCBcIjBcIilcbiAgICAgIG5vblZvdGFudHMgPSBbXVxuICAgIH0gZWxzZSBpZiAoIUFycmF5LmlzQXJyYXkobm9uVm90YW50cykpIHtcbiAgICAgIGFzc2VydChub25Wb3RhbnRzKVxuICAgICAgbm9uVm90YW50cyA9IFtub25Wb3RhbnRzXVxuICAgIH1cbiAgICBjb25zdCBub25Wb3RhbnRzQXJyYXkgPSBub25Wb3RhbnRzXG4gICAgbm9uVm90YW50cyA9IFtdXG4gICAgZm9yIChsZXQgbm9uVm90YW50IG9mIG5vblZvdGFudHNBcnJheSkge1xuICAgICAgaWYgKG5vblZvdGFudCA9PT0gbnVsbCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgbm9uVm90YW50ID0gbm9uVm90YW50LnZvdGFudFxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobm9uVm90YW50KSkge1xuICAgICAgICBub25Wb3RhbnRzLnB1c2goLi4ubm9uVm90YW50KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXNzZXJ0KG5vblZvdGFudClcbiAgICAgICAgbm9uVm90YW50cy5wdXNoKG5vblZvdGFudClcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vblZvdGFudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50c1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzID0gbm9uVm90YW50c1xuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2Ygbm9uVm90YW50cykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IHBvdXIgPSBkZWNvbXB0ZU5vbWluYXRpZi5wb3VyXG4gIGlmIChwb3VyID09PSB1bmRlZmluZWQpIHtcbiAgICBwb3VyID0gZGVjb21wdGVOb21pbmF0aWYucG91cnNcbiAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYucG91cnNcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVjb21wdGVOb21pbmF0aWYucG91cnMsIHVuZGVmaW5lZClcbiAgfVxuICBpZiAocG91ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcG91ciA9IHBvdXIudm90YW50XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBvdXIpKSB7XG4gICAgICBhc3NlcnQocG91cilcbiAgICAgIHBvdXIgPSBbcG91cl1cbiAgICB9XG4gICAgaWYgKHBvdXIubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYucG91clxuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5wb3VyID0gcG91clxuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2YgcG91cikge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IGNvbnRyZSA9IGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZVxuICBpZiAoY29udHJlID09PSB1bmRlZmluZWQpIHtcbiAgICBjb250cmUgPSBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmVzXG4gICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZXNcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVjb21wdGVOb21pbmF0aWYuY29udHJlcywgdW5kZWZpbmVkKVxuICB9XG4gIGlmIChjb250cmUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnRyZSA9IGNvbnRyZS52b3RhbnRcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29udHJlKSkge1xuICAgICAgYXNzZXJ0KGNvbnRyZSlcbiAgICAgIGNvbnRyZSA9IFtjb250cmVdXG4gICAgfVxuICAgIGlmIChjb250cmUubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYuY29udHJlXG4gICAgfSBlbHNlIHtcbiAgICAgIGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZSA9IGNvbnRyZVxuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2YgY29udHJlKSB7XG4gICAgICAgIGNsZWFuVm90YW50KHZvdGFudClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgYWJzdGVudGlvbnMgPSBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uc1xuICBpZiAoYWJzdGVudGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgIGFic3RlbnRpb25zID0gZGVjb21wdGVOb21pbmF0aWYuYWJzdGVudGlvblxuICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uXG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlTm9taW5hdGlmLmFic3RlbnRpb24sIHVuZGVmaW5lZClcbiAgfVxuICBpZiAoYWJzdGVudGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhYnN0ZW50aW9ucykpIHtcbiAgICAgIGFzc2VydChhYnN0ZW50aW9ucylcbiAgICAgIGFic3RlbnRpb25zID0gW2Fic3RlbnRpb25zXVxuICAgIH1cbiAgICBjb25zdCBhYnN0ZW50aW9uc0FycmF5ID0gYWJzdGVudGlvbnNcbiAgICBhYnN0ZW50aW9ucyA9IFtdXG4gICAgZm9yIChsZXQgYWJzZW50aW9uc0l0ZW0gb2YgYWJzdGVudGlvbnNBcnJheSkge1xuICAgICAgaWYgKGFic2VudGlvbnNJdGVtID09PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBhYnNlbnRpb25zSXRlbSA9IGFic2VudGlvbnNJdGVtLnZvdGFudFxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWJzZW50aW9uc0l0ZW0pKSB7XG4gICAgICAgIGFic3RlbnRpb25zLnB1c2goLi4uYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NlcnQoYWJzZW50aW9uc0l0ZW0pXG4gICAgICAgIGFic3RlbnRpb25zLnB1c2goYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChhYnN0ZW50aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uc1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9ucyA9IGFic3RlbnRpb25zXG4gICAgICBmb3IgKGNvbnN0IHZvdGFudCBvZiBhYnN0ZW50aW9ucykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IG5vblZvdGFudHNWb2xvbnRhaXJlcyA9IGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNWb2xvbnRhaXJlc1xuICBpZiAobm9uVm90YW50c1ZvbG9udGFpcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobm9uVm90YW50c1ZvbG9udGFpcmVzKSkge1xuICAgICAgbm9uVm90YW50c1ZvbG9udGFpcmVzID0gW25vblZvdGFudHNWb2xvbnRhaXJlc11cbiAgICB9XG4gICAgY29uc3Qgbm9uVm90YW50c1ZvbG9udGFpcmVzQXJyYXkgPSBub25Wb3RhbnRzVm9sb250YWlyZXNcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXMgPSBbXVxuICAgIGZvciAobGV0IGFic2VudGlvbnNJdGVtIG9mIG5vblZvdGFudHNWb2xvbnRhaXJlc0FycmF5KSB7XG4gICAgICBpZiAoYWJzZW50aW9uc0l0ZW0gPT09IG51bGwpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGFic2VudGlvbnNJdGVtID0gYWJzZW50aW9uc0l0ZW0udm90YW50XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShhYnNlbnRpb25zSXRlbSkpIHtcbiAgICAgICAgbm9uVm90YW50c1ZvbG9udGFpcmVzLnB1c2goLi4uYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NlcnQoYWJzZW50aW9uc0l0ZW0pXG4gICAgICAgIG5vblZvdGFudHNWb2xvbnRhaXJlcy5wdXNoKGFic2VudGlvbnNJdGVtKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9uVm90YW50c1ZvbG9udGFpcmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNWb2xvbnRhaXJlc1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzVm9sb250YWlyZXMgPSBub25Wb3RhbnRzVm9sb250YWlyZXNcbiAgICAgIGZvciAoY29uc3Qgdm90YW50IG9mIG5vblZvdGFudHNWb2xvbnRhaXJlcykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblNjcnV0aW4oc2NydXRpbjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKHNjcnV0aW4pXG5cbiAgY29uc3QgZGVtYW5kZXVyID0gc2NydXRpbi5kZW1hbmRldXJcbiAgYXNzZXJ0KGRlbWFuZGV1cilcbiAge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGRlbWFuZGV1cilcblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZW1hbmRldXIucmVmZXJlbmNlTGVnaXNsYXRpdmUsIHVuZGVmaW5lZClcbiAgfVxuXG4gIGNvbnN0IG9iamV0ID0gc2NydXRpbi5vYmpldFxuICBhc3NlcnQob2JqZXQpXG4gIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhvYmpldClcblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChvYmpldC5yZWZlcmVuY2VMZWdpc2xhdGl2ZSwgdW5kZWZpbmVkKVxuICB9XG5cbiAgbGV0IHZlbnRpbGF0aW9uVm90ZXMgPSBzY3J1dGluLnZlbnRpbGF0aW9uVm90ZXNcbiAgYXNzZXJ0KHZlbnRpbGF0aW9uVm90ZXMpXG4gIHtcbiAgICB2ZW50aWxhdGlvblZvdGVzID0gdmVudGlsYXRpb25Wb3Rlcy5vcmdhbmVcbiAgICBhc3NlcnQodmVudGlsYXRpb25Wb3RlcylcblxuICAgIGxldCBncm91cGVzID0gdmVudGlsYXRpb25Wb3Rlcy5ncm91cGVzXG4gICAgYXNzZXJ0KGdyb3VwZXMpXG4gICAge1xuICAgICAgZ3JvdXBlcyA9IGdyb3VwZXMuZ3JvdXBlXG4gICAgICBhc3NlcnQoQXJyYXkuaXNBcnJheShncm91cGVzKSlcbiAgICAgIGZvciAoY29uc3QgZ3JvdXBlIG9mIGdyb3VwZXMpIHtcbiAgICAgICAgY29uc3Qgdm90ZSA9IGdyb3VwZS52b3RlXG4gICAgICAgIGFzc2VydCh2b3RlKVxuICAgICAgICB7XG4gICAgICAgICAgY29uc3QgZGVjb21wdGVWb2l4ID0gdm90ZS5kZWNvbXB0ZVZvaXhcbiAgICAgICAgICBhc3NlcnQoZGVjb21wdGVWb2l4KVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChkZWNvbXB0ZVZvaXguYWJzdGVudGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZWNvbXB0ZVZvaXguYWJzdGVudGlvbnMsIHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgZGVjb21wdGVWb2l4LmFic3RlbnRpb25zID0gZGVjb21wdGVWb2l4LmFic3RlbnRpb25cbiAgICAgICAgICAgICAgZGVsZXRlIGRlY29tcHRlVm9peC5hYnN0ZW50aW9uXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChkZWNvbXB0ZVZvaXgubm9uVm90YW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlVm9peC5ub25Wb3RhbnRzLCB1bmRlZmluZWQpXG4gICAgICAgICAgICAgIGRlY29tcHRlVm9peC5ub25Wb3RhbnRzID0gZGVjb21wdGVWb2l4Lm5vblZvdGFudFxuICAgICAgICAgICAgICBkZWxldGUgZGVjb21wdGVWb2l4Lm5vblZvdGFudFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGRlY29tcHRlTm9taW5hdGlmID0gdm90ZS5kZWNvbXB0ZU5vbWluYXRpZlxuICAgICAgICAgIGFzc2VydChkZWNvbXB0ZU5vbWluYXRpZilcbiAgICAgICAgICBjbGVhbkRlY29tcHRlTm9taW5hdGlmKGRlY29tcHRlTm9taW5hdGlmKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB2ZW50aWxhdGlvblZvdGVzLmdyb3VwZXMgPSBncm91cGVzXG4gICAgfVxuXG4gICAgc2NydXRpbi52ZW50aWxhdGlvblZvdGVzID0gdmVudGlsYXRpb25Wb3Rlc1xuICB9XG5cbiAgY29uc3QgbWlzZUF1UG9pbnQgPSBzY3J1dGluLm1pc2VBdVBvaW50XG4gIGlmIChtaXNlQXVQb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5EZWNvbXB0ZU5vbWluYXRpZihtaXNlQXVQb2ludClcblxuICAgIGxldCBkeXNmb25jdGlvbm5lbWVudCA9IG1pc2VBdVBvaW50LmR5c2ZvbmN0aW9ubmVtZW50XG4gICAgaWYgKGR5c2ZvbmN0aW9ubmVtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuRGVjb21wdGVOb21pbmF0aWYoZHlzZm9uY3Rpb25uZW1lbnQpXG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC52YWx1ZXMoZHlzZm9uY3Rpb25uZW1lbnQpLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgLmxlbmd0aCA9PT0gMFxuICAgICAgKSB7XG4gICAgICAgIGRlbGV0ZSBtaXNlQXVQb2ludC5keXNmb25jdGlvbm5lbWVudFxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIE9iamVjdC52YWx1ZXMobWlzZUF1UG9pbnQpLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgIC5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIGRlbGV0ZSBzY3J1dGluLm1pc2VBdVBvaW50XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNsZWFuVm90YW50KHZvdGFudDogYW55KSB7XG4gIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZSh2b3RhbnQsIFwicGFyRGVsZWdhdGlvblwiKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLElBQUEsR0FBQUQsT0FBQTtBQUFnRSxTQUFBRCx1QkFBQUcsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLGdCQUFBQSxDQUFBO0FBQUEsU0FBQUUsbUJBQUFDLENBQUEsV0FBQUMsa0JBQUEsQ0FBQUQsQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEsS0FBQUksa0JBQUE7QUFBQSxTQUFBQSxtQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUgsaUJBQUFGLENBQUEsOEJBQUFNLE1BQUEsWUFBQU4sQ0FBQSxDQUFBTSxNQUFBLENBQUFDLFFBQUEsYUFBQVAsQ0FBQSx1QkFBQVEsS0FBQSxDQUFBQyxJQUFBLENBQUFULENBQUE7QUFBQSxTQUFBQyxtQkFBQUQsQ0FBQSxRQUFBUSxLQUFBLENBQUFFLE9BQUEsQ0FBQVYsQ0FBQSxVQUFBVyxpQkFBQSxDQUFBWCxDQUFBO0FBQUEsU0FBQVksMkJBQUFaLENBQUEsRUFBQUgsQ0FBQSxRQUFBZ0IsQ0FBQSx5QkFBQVAsTUFBQSxJQUFBTixDQUFBLENBQUFNLE1BQUEsQ0FBQUMsUUFBQSxLQUFBUCxDQUFBLHFCQUFBYSxDQUFBLFFBQUFMLEtBQUEsQ0FBQUUsT0FBQSxDQUFBVixDQUFBLE1BQUFhLENBQUEsR0FBQVYsMkJBQUEsQ0FBQUgsQ0FBQSxNQUFBSCxDQUFB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
|
package/lib/cleaners/xml.js
CHANGED
|
@@ -24,13 +24,13 @@ require("core-js/modules/es.array.is-array.js");
|
|
|
24
24
|
require("core-js/modules/es.object.entries.js");
|
|
25
25
|
require("core-js/modules/es.object.keys.js");
|
|
26
26
|
var _assert = _interopRequireDefault(require("assert"));
|
|
27
|
-
function _interopRequireDefault(
|
|
28
|
-
function _slicedToArray(
|
|
27
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
28
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
29
29
|
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."); }
|
|
30
|
-
function _unsupportedIterableToArray(
|
|
31
|
-
function _arrayLikeToArray(
|
|
30
|
+
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; } }
|
|
31
|
+
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; }
|
|
32
32
|
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; } }
|
|
33
|
-
function _arrayWithHoles(
|
|
33
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
34
34
|
var booleanByString = {
|
|
35
35
|
"false": false,
|
|
36
36
|
"true": true
|
|
@@ -71,11 +71,11 @@ function cleanXmlArtefacts(o) {
|
|
|
71
71
|
|
|
72
72
|
for (var _i = 0, _Object$entries = Object.entries(o); _i < _Object$entries.length; _i++) {
|
|
73
73
|
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
74
|
-
|
|
74
|
+
key = _Object$entries$_i[0],
|
|
75
75
|
value = _Object$entries$_i[1];
|
|
76
76
|
if (value === null || value !== undefined && (value["@xsi:nil"] === "true" || Array.isArray(value) && value.length === 0 || value.constructor === Object && Object.keys(value).length === 0)) {
|
|
77
|
-
delete o[
|
|
77
|
+
delete o[key];
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsIl9zbGljZWRUb0FycmF5IiwiciIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJhIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0IiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuZ3RoIiwibiIsImwiLCJTeW1ib2wiLCJpdGVyYXRvciIsImkiLCJ1IiwiZiIsIm8iLCJuZXh0IiwiT2JqZWN0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImlzQXJyYXkiLCJib29sZWFuQnlTdHJpbmciLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJrZXkiLCJzdHJpbmdWYWx1ZSIsInVuZGVmaW5lZCIsImJvb2xlYW5WYWx1ZSIsImFzc2VydCIsIm5vdFN0cmljdEVxdWFsIiwiY29uY2F0IiwiY2xlYW5YbWxBcnRlZmFjdHMiLCJjbGVhblhtbG5zIiwiZmllbGQiLCJzdHJpY3RFcXVhbCIsInhtbG5zWHNpIiwiX2kiLCJfT2JqZWN0JGVudHJpZXMiLCJlbnRyaWVzIiwiX09iamVjdCRlbnRyaWVzJF9pIiwia2V5cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy94bWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcblxuY29uc3QgYm9vbGVhbkJ5U3RyaW5nOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHtcbiAgZmFsc2U6IGZhbHNlLFxuICB0cnVlOiB0cnVlLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5Cb29sZWFuQXR0cmlidXRlKFxuICBvOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICBrZXk6IHN0cmluZyxcbik6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICBjb25zdCBzdHJpbmdWYWx1ZSA9IG9ba2V5XVxuICBpZiAoc3RyaW5nVmFsdWUgPT09IHVuZGVmaW5lZCB8fCBzdHJpbmdWYWx1ZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuICBjb25zdCBib29sZWFuVmFsdWUgPSBib29sZWFuQnlTdHJpbmdbc3RyaW5nVmFsdWVdXG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICBib29sZWFuVmFsdWUsXG4gICAgdW5kZWZpbmVkLFxuICAgIGBJbnZhbGlkIGJvb2xlYW4gdmFsdWU6ICR7a2V5fSA9ICR7c3RyaW5nVmFsdWV9YCxcbiAgKVxuICBvW2tleV0gPSBib29sZWFuVmFsdWVcbiAgcmV0dXJuIGJvb2xlYW5WYWx1ZVxufVxuXG4vLy8gUmVtb3ZlIFhNTCBmaWVsZHMgdGhhdCBoYXZlIG5vIHVzZSBpbiBKU09OLlxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuWG1sQXJ0ZWZhY3RzKG86IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiB2b2lkIHtcbiAgLy8gUmVtb3ZlIG5hbWVzcGFjZXMuXG4gIGZ1bmN0aW9uIGNsZWFuWG1sbnMoZmllbGQ6IGFueSkge1xuICAgIGlmIChmaWVsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBcImh0dHA6Ly9zY2hlbWFzLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvcmVmZXJlbnRpZWxcIixcbiAgICAgIClcbiAgICAgIGlmIChmaWVsZCA9PT0gb1tcIkB4bWxuc1wiXSkge1xuICAgICAgICBkZWxldGUgb1tcIkB4bWxuc1wiXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIG9bXCJ4bWxuc1wiXVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNsZWFuWG1sbnMob1tcIkB4bWxuc1wiXSlcbiAgY2xlYW5YbWxucyhvW1wieG1sbnNcIl0pXG5cbiAgY29uc3QgeG1sbnNYc2kgPSBvW1wiQHhtbG5zOnhzaVwiXVxuICBpZiAoeG1sbnNYc2kgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh4bWxuc1hzaSwgXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiKVxuICAgIGRlbGV0ZSBvW1wiQHhtbG5zOnhzaVwiXVxuICB9XG5cbiAgLy8gUmVtb3ZlIG51bGwgb3IgZW1wdHkgaXRlbXMuXG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMobykpIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgKHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgKHZhbHVlW1wiQHhzaTpuaWxcIl0gPT09IFwidHJ1ZVwiIHx8XG4gICAgICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCAmJiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKSkpXG4gICAgKSB7XG4gICAgICBkZWxldGUgb1trZXldXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBMkIsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxnQkFBQUEsQ0FBQTtBQUFBLFNBQUFFLGVBQUFDLENBQUEsRUFBQUgsQ0FBQSxXQUFBSSxlQUFBLENBQUFELENBQUEsS0FBQUUscUJBQUEsQ0FBQUYsQ0FBQSxFQUFBSCxDQUFBLEtBQUFNLDJCQUFBLENBQUFILENBQUEsRUFBQUgsQ0FBQSxLQUFBTyxnQkFBQTtBQUFBLFNBQUFBLGlC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QUFpQkEsQ0FBQ2hCLENBQXlCLEVBQVE7RUFDakU7RUFDQSxTQUFTaUIsVUFBVUEsQ0FBQ0MsS0FBVSxFQUFFO0lBQzlCLElBQUlBLEtBQUssS0FBS1AsU0FBUyxFQUFFO01BQ3ZCRSxrQkFBTSxDQUFDTSxXQUFXLENBQ2hCRCxLQUFLLEVBQ0wsbURBQ0YsQ0FBQztNQUNELElBQUlBLEtBQUssS0FBS2xCLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUN6QixPQUFPQSxDQUFDLENBQUMsUUFBUSxDQUFDO01BQ3BCLENBQUMsTUFBTTtRQUNMLE9BQU9BLENBQUMsQ0FBQyxPQUFPLENBQUM7TUFDbkI7SUFDRjtFQUNGO0VBRUFpQixVQUFVLENBQUNqQixDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDdkJpQixVQUFVLENBQUNqQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7RUFFdEIsSUFBTW9CLFFBQVEsR0FBR3BCLENBQUMsQ0FBQyxZQUFZLENBQUM7RUFDaEMsSUFBSW9CLFFBQVEsS0FBS1QsU0FBUyxFQUFFO0lBQzFCRSxrQkFBTSxDQUFDTSxXQUFXLENBQUNDLFFBQVEsRUFBRSwyQ0FBMkMsQ0FBQztJQUN6RSxPQUFPcEIsQ0FBQyxDQUFDLFlBQVksQ0FBQztFQUN4Qjs7RUFFQTs7RUFFQSxTQUFBcUIsRUFBQSxNQUFBQyxlQUFBLEdBQTJCcEIsTUFBTSxDQUFDcUIsT0FBTyxDQUFDdkIsQ0FBQyxDQUFDLEVBQUFxQixFQUFBLEdBQUFDLGVBQUEsQ0FBQTlCLE1BQUEsRUFBQTZCLEVBQUEsSUFBRTtJQUF6QyxJQUFBRyxrQkFBQSxHQUFBbEQsY0FBQSxDQUFBZ0QsZUFBQSxDQUFBRCxFQUFBO01BQU9aLEdBQUcsR0FBQWUsa0JBQUE7TUFBRW5CLEtBQUssR0FBQW1CLGtCQUFBO0lBQ3BCLElBQ0VuQixLQUFLLEtBQUssSUFBSSxJQUNiQSxLQUFLLEtBQUtNLFNBQVMsS0FDakJOLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLElBQzFCaEIsS0FBSyxDQUFDaUIsT0FBTyxDQUFDRCxLQUFLLENBQUMsSUFBSUEsS0FBSyxDQUFDYixNQUFNLEtBQUssQ0FBRSxJQUMzQ2EsS0FBSyxDQUFDbEIsV0FBVyxLQUFLZSxNQUFNLElBQUlBLE1BQU0sQ0FBQ3VCLElBQUksQ0FBQ3BCLEtBQUssQ0FBQyxDQUFDYixNQUFNLEtBQUssQ0FBRSxDQUFFLEVBQ3ZFO01BQ0EsT0FBT1EsQ0FBQyxDQUFDUyxHQUFHLENBQUM7SUFDZjtFQUNGO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/cleaners/xml.mjs
CHANGED
|
@@ -43,4 +43,4 @@ export function cleanXmlArtefacts(o) {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJib29sZWFuQnlTdHJpbmciLCJmYWxzZSIsInRydWUiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJvIiwia2V5Iiwic3RyaW5nVmFsdWUiLCJ1bmRlZmluZWQiLCJib29sZWFuVmFsdWUiLCJub3RTdHJpY3RFcXVhbCIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwiY2xlYW5YbWxucyIsImZpZWxkIiwic3RyaWN0RXF1YWwiLCJ4bWxuc1hzaSIsInZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImNvbnN0cnVjdG9yIiwia2V5cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy94bWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcblxuY29uc3QgYm9vbGVhbkJ5U3RyaW5nOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHtcbiAgZmFsc2U6IGZhbHNlLFxuICB0cnVlOiB0cnVlLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5Cb29sZWFuQXR0cmlidXRlKFxuICBvOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICBrZXk6IHN0cmluZyxcbik6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICBjb25zdCBzdHJpbmdWYWx1ZSA9IG9ba2V5XVxuICBpZiAoc3RyaW5nVmFsdWUgPT09IHVuZGVmaW5lZCB8fCBzdHJpbmdWYWx1ZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuICBjb25zdCBib29sZWFuVmFsdWUgPSBib29sZWFuQnlTdHJpbmdbc3RyaW5nVmFsdWVdXG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICBib29sZWFuVmFsdWUsXG4gICAgdW5kZWZpbmVkLFxuICAgIGBJbnZhbGlkIGJvb2xlYW4gdmFsdWU6ICR7a2V5fSA9ICR7c3RyaW5nVmFsdWV9YCxcbiAgKVxuICBvW2tleV0gPSBib29sZWFuVmFsdWVcbiAgcmV0dXJuIGJvb2xlYW5WYWx1ZVxufVxuXG4vLy8gUmVtb3ZlIFhNTCBmaWVsZHMgdGhhdCBoYXZlIG5vIHVzZSBpbiBKU09OLlxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuWG1sQXJ0ZWZhY3RzKG86IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiB2b2lkIHtcbiAgLy8gUmVtb3ZlIG5hbWVzcGFjZXMuXG4gIGZ1bmN0aW9uIGNsZWFuWG1sbnMoZmllbGQ6IGFueSkge1xuICAgIGlmIChmaWVsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBcImh0dHA6Ly9zY2hlbWFzLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvcmVmZXJlbnRpZWxcIixcbiAgICAgIClcbiAgICAgIGlmIChmaWVsZCA9PT0gb1tcIkB4bWxuc1wiXSkge1xuICAgICAgICBkZWxldGUgb1tcIkB4bWxuc1wiXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIG9bXCJ4bWxuc1wiXVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNsZWFuWG1sbnMob1tcIkB4bWxuc1wiXSlcbiAgY2xlYW5YbWxucyhvW1wieG1sbnNcIl0pXG5cbiAgY29uc3QgeG1sbnNYc2kgPSBvW1wiQHhtbG5zOnhzaVwiXVxuICBpZiAoeG1sbnNYc2kgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh4bWxuc1hzaSwgXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiKVxuICAgIGRlbGV0ZSBvW1wiQHhtbG5zOnhzaVwiXVxuICB9XG5cbiAgLy8gUmVtb3ZlIG51bGwgb3IgZW1wdHkgaXRlbXMuXG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMobykpIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgKHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgKHZhbHVlW1wiQHhzaTpuaWxcIl0gPT09IFwidHJ1ZVwiIHx8XG4gICAgICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCAmJiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKSkpXG4gICAgKSB7XG4gICAgICBkZWxldGUgb1trZXldXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxRQUFRO0FBRTNCLE1BQU1DLGVBQTJDLEdBQUc7RUFDbERDLEtBQUssRUFBRSxLQUFLO0VBQ1pDLElBQUksRUFBRTtBQUNSLENBQUM7QUFFRCxPQUFPLFNBQVNDLHFCQUFxQkEsQ0FDbkNDLENBQXlCLEVBQ3pCQyxHQUFXLEVBQ1U7RUFDckIsTUFBTUMsV0FBVyxHQUFHRixDQUFDLENBQUNDLEdBQUcsQ0FBQztFQUMxQixJQUFJQyxXQUFXLEtBQUtDLFNBQVMsSUFBSUQsV0FBVyxLQUFLLElBQUksRUFBRTtJQUNyRCxPQUFPQyxTQUFTO0VBQ2xCO0VBQ0EsTUFBTUMsWUFBWSxHQUFHUixlQUFlLENBQUNNLFdBQVcsQ0FBQztFQUNqRFAsTUFBTSxDQUFDVSxjQUFjLENBQ25CRCxZQUFZLEVBQ1pELFNBQVMsRUFDVCwwQkFBMEJGLEdBQUcsTUFBTUMsV0FBVyxFQUNoRCxDQUFDO0VBQ0RGLENBQUMsQ0FBQ0MsR0FBRyxDQUFDLEdBQUdHLFlBQVk7RUFDckIsT0FBT0EsWUFBWTtBQUNyQjs7QUFFQTtBQUNBLE9BQU8sU0FBU0UsaUJBQWlCQSxDQUFDTixDQUF5QixFQUFRO0VBQ2pFO0VBQ0EsU0FBU08sVUFBVUEsQ0FBQ0MsS0FBVSxFQUFFO0lBQzlCLElBQUlBLEtBQUssS0FBS0wsU0FBUyxFQUFFO01BQ3ZCUixNQUFNLENBQUNjLFdBQVcsQ0FDaEJELEtBQUssRUFDTCxtREFDRixDQUFDO01BQ0QsSUFBSUEsS0FBSyxLQUFLUixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDekIsT0FBT0EsQ0FBQyxDQUFDLFFBQVEsQ0FBQztNQUNwQixDQUFDLE1BQU07UUFDTCxPQUFPQSxDQUFDLENBQUMsT0FBTyxDQUFDO01BQ25CO0lBQ0Y7RUFDRjtFQUVBTyxVQUFVLENBQUNQLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUN2Qk8sVUFBVSxDQUFDUCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7RUFFdEIsTUFBTVUsUUFBUSxHQUFHVixDQUFDLENBQUMsWUFBWSxDQUFDO0VBQ2hDLElBQUlVLFFBQVEsS0FBS1AsU0FBUyxFQUFFO0lBQzFCUixNQUFNLENBQUNjLFdBQVcsQ0FBQ0MsUUFBUSxFQUFFLDJDQUEyQyxDQUFDO0lBQ3pFLE9BQU9WLENBQUMsQ0FBQyxZQUFZLENBQUM7RUFDeEI7O0VBRUE7O0VBRUEsS0FBSyxNQUFNLENBQUNDLEdBQUcsRUFBRVUsS0FBSyxDQUFDLElBQUlDLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDYixDQUFDLENBQUMsRUFBRTtJQUM1QyxJQUNFVyxLQUFLLEtBQUssSUFBSSxJQUNiQSxLQUFLLEtBQUtSLFNBQVMsS0FDakJRLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLElBQzFCRyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0osS0FBSyxDQUFDLElBQUlBLEtBQUssQ0FBQ0ssTUFBTSxLQUFLLENBQUUsSUFDM0NMLEtBQUssQ0FBQ00sV0FBVyxLQUFLTCxNQUFNLElBQUlBLE1BQU0sQ0FBQ00sSUFBSSxDQUFDUCxLQUFLLENBQUMsQ0FBQ0ssTUFBTSxLQUFLLENBQUUsQ0FBRSxFQUN2RTtNQUNBLE9BQU9oQixDQUFDLENBQUNDLEdBQUcsQ0FBQztJQUNmO0VBQ0Y7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
|
package/lib/datasets.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Legislature } from "./types/legislatures";
|
|
2
|
-
interface Dataset {
|
|
2
|
+
export interface Dataset {
|
|
3
3
|
filename: string;
|
|
4
4
|
ignoreForWeb?: boolean;
|
|
5
5
|
legislature: Legislature;
|
|
@@ -42,4 +42,4 @@ export declare function fileDatasetUrl(filename: string): [string, string] | nul
|
|
|
42
42
|
export declare function diffUpstream(filename: string): string;
|
|
43
43
|
export declare function masterUrl(filename: string): string;
|
|
44
44
|
export declare function filterByLegislature(datasets: Datasets, legislature: any): Datasets;
|
|
45
|
-
export
|
|
45
|
+
export declare function getEnabledDatasets(categories: any): EnabledDatasets;
|