@tricoteuses/assemblee 0.25.2 → 0.26.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 +5 -0
- package/lib/bugs/acteur-00010.js +5 -5
- package/lib/bugs/agenda-00002.js +4 -4
- package/lib/bugs/agenda-00002.mjs +1 -1
- package/lib/bugs/agenda-00008.js +5 -5
- package/lib/bugs/agenda-00011.js +3 -3
- package/lib/bugs.js +2 -2
- package/lib/cleaners/acteurs.js +39 -2
- package/lib/cleaners/acteurs.mjs +25 -1
- package/lib/cleaners/amendements.mjs +3 -7
- package/lib/cleaners/documents.js +3 -1
- package/lib/cleaners/documents.mjs +3 -1
- package/lib/cleaners/organes.js +19 -2
- package/lib/cleaners/organes.mjs +18 -1
- package/lib/cleaners/reunions.js +1 -1
- package/lib/datasets.js +1 -1
- package/lib/datasets.mjs +1 -1
- package/lib/dates.js +1 -1
- package/lib/dates.mjs +1 -1
- package/lib/file_systems.js +7 -3
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -2
- package/lib/index.mjs +3 -2
- package/lib/inserters.js +1 -1
- package/lib/inserters.mjs +1 -1
- package/lib/loaders.js +1 -1
- package/lib/loaders.mjs +1 -1
- package/lib/parsers/documents.js +2 -2
- package/lib/parsers/documents.mjs +2 -2
- package/lib/parsers/recherche_amendements.js +2 -2
- package/lib/raw_types/acteurs_et_organes.d.ts +181 -13
- package/lib/raw_types/acteurs_et_organes.js +327 -60
- package/lib/raw_types/acteurs_et_organes.mjs +318 -55
- package/lib/raw_types/agendas.d.ts +2 -1
- package/lib/raw_types/agendas.js +6 -5
- package/lib/raw_types/agendas.mjs +4 -3
- package/lib/raw_types/amendements.d.ts +2 -2
- package/lib/raw_types/amendements.js +5 -5
- package/lib/raw_types/amendements.mjs +3 -3
- package/lib/raw_types/dossiers_legislatifs.d.ts +80 -714
- package/lib/raw_types/dossiers_legislatifs.js +310 -1771
- package/lib/raw_types/dossiers_legislatifs.mjs +304 -1747
- package/lib/raw_types/scrutins.js +2 -2
- package/lib/scripts/bugs_helper.js +2 -2
- package/lib/scripts/clean_data.js +2 -2
- package/lib/scripts/clean_data.mjs +2 -2
- package/lib/scripts/clean_reorganized_data.js +2 -2
- package/lib/scripts/clean_reorganized_data.mjs +1 -1
- package/lib/scripts/document_dossiers_legislatifs.js +10 -10
- package/lib/scripts/document_dossiers_legislatifs.mjs +1 -1
- package/lib/scripts/raw_types_from_amendements.js +1 -1
- package/lib/scripts/raw_types_from_amendements.mjs +1 -1
- package/lib/scripts/reorganize_data.js +195 -136
- package/lib/scripts/reorganize_data.mjs +46 -2
- package/lib/scripts/retrieve_documents.js +2 -2
- package/lib/scripts/retrieve_open_data.js +2 -2
- package/lib/scripts/retrieve_open_data.mjs +2 -2
- package/lib/scripts/retrieve_pending_amendments.js +2 -2
- package/lib/scripts/retrieve_textes_lois.js +2 -2
- package/lib/scripts/test_load.js +2 -2
- package/lib/scripts/test_load.mjs +2 -2
- package/lib/scripts/test_load_big_files.js +2 -2
- package/lib/scripts/test_load_big_files.mjs +2 -2
- package/lib/scripts/validate_json.js +2 -2
- package/lib/shared_types/codes_actes.d.ts +413 -0
- package/lib/shared_types/codes_actes.js +262 -0
- package/lib/shared_types/codes_actes.mjs +227 -0
- package/lib/types/acteurs_et_organes.d.ts +48 -27
- package/lib/types/acteurs_et_organes.js +132 -39
- package/lib/types/acteurs_et_organes.mjs +128 -35
- package/lib/types/agendas.js +2 -2
- package/lib/types/amendements.js +2 -2
- package/lib/types/dossiers_legislatifs.d.ts +3 -413
- package/lib/types/dossiers_legislatifs.js +20 -262
- package/lib/types/dossiers_legislatifs.mjs +14 -231
- package/lib/types/scrutins.js +2 -2
- package/lib/urls.js +1 -1
- package/lib/urls.mjs +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -156,6 +156,11 @@ npx quicktype --acronym-style=camel -o src/raw_types/dossiers_legislatifs.ts ../
|
|
|
156
156
|
|
|
157
157
|
Edit `src/raw_types/dossiers_legislatifs.ts` to:
|
|
158
158
|
|
|
159
|
+
- Replace regular expression `r\(".+CodeActe"\)` with `r("CodeActe")`.
|
|
160
|
+
- Remove definitions of regular expression `[^ ]+CodeActe;` and replace it with `CodeActe;`.
|
|
161
|
+
- Add `import { CodeActe } from "../shared_types/codes_actes"` on top of file.
|
|
162
|
+
- Remove occurrences of `"[^"]*CodeActe":` and replace them with one `"CodeActe": Object.values(CodeActe),`.
|
|
163
|
+
- Remove occurrences of `CodeActe \{`.
|
|
159
164
|
- Replace regular expression `r\(".*OrganeRef"\)` with `""`.
|
|
160
165
|
- Remove definitions of regular expression `[^ ]*OrganeRef` and replace it with `string`.
|
|
161
166
|
- Replace regular expression `r\(".*DossierRef"\)` with `""`.
|
package/lib/bugs/acteur-00010.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
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); }
|
|
4
4
|
|
|
5
5
|
require("core-js/modules/es.object.to-string.js");
|
|
6
6
|
|
|
7
7
|
require("core-js/modules/es.reflect.construct.js");
|
|
8
8
|
|
|
9
|
-
require("core-js/modules/es.object.create.js");
|
|
10
|
-
|
|
11
9
|
require("core-js/modules/es.object.define-property.js");
|
|
12
10
|
|
|
11
|
+
require("core-js/modules/es.object.create.js");
|
|
12
|
+
|
|
13
13
|
require("core-js/modules/es.promise.js");
|
|
14
14
|
|
|
15
15
|
require("core-js/modules/es.symbol.js");
|
|
@@ -47,9 +47,9 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
47
47
|
|
|
48
48
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
49
49
|
|
|
50
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
50
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
51
51
|
|
|
52
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass
|
|
52
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
53
53
|
|
|
54
54
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
55
55
|
|
package/lib/bugs/agenda-00002.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
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); }
|
|
4
4
|
|
|
5
5
|
require("core-js/modules/es.object.set-prototype-of.js");
|
|
6
6
|
|
|
@@ -95,9 +95,9 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
95
95
|
|
|
96
96
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
97
97
|
|
|
98
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
98
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
99
99
|
|
|
100
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass
|
|
100
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
101
101
|
|
|
102
102
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
103
103
|
|
|
@@ -542,4 +542,4 @@ var Plugin = /*#__PURE__*/function (_BasePlugin) {
|
|
|
542
542
|
}(_bugs.BasePlugin);
|
|
543
543
|
|
|
544
544
|
exports.Plugin = Plugin;
|
|
545
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWdzL2FnZW5kYS0wMDAwMi50cyJdLCJuYW1lcyI6WyJyZW1hcEpvIiwiUlVBTlI1TDE1UzIwMTdJRFMyMDY2NyIsIlJVQU5SNUwxNVMyMDE4SURTMjA4MTciLCJSVUFOUjVMMTVTMjAxOElEUzIwODY0IiwiUlVBTlI1TDE1UzIwMThJRFMyMDk4MSIsIlJVQU5SNUwxNVMyMDE5SURTMjE1MDciLCJSVUFOUjVMMTVTMjAxOUlEUzIxNjA4IiwiUlVBTlI1TDE1UzIwMjBJRFMyMTg0MCIsIlJVQU5SNUwxNVMyMDIwSURTMjE4NDEiLCJSVUFOUjVMMTVTMjAyMElEUzIxODU5IiwiUlVBTlI1TDE1UzIwMjBJRFMyMTk3MCIsIlJVQU5SNUwxNVMyMDIwSURTMjE5ODMiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDE5IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjAyMCIsIlJVQU5SNUwxNVMyMDIwSURTMjIwMjEiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU0IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA1NSIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTYiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU3IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA4NyIsIlJVQU5SNUwxNVMyMDIwSURTMjIwODkiLCJSVUFOUjVMMTVTMjAyMElEUzIyMTA2IiwiUGx1Z2luIiwib3B0aW9ucyIsImNyIiwidW5kZWZpbmVkIiwiZmlsZW5hbWUyZGF0ZSIsImNyMmZpbGVuYW1lcyIsImRhdGUyY3JzIiwiY3IyZGF0ZSIsImNvbnRlbnQiLCJmcyIsInJlYWRGaWxlU3luYyIsImVuY29kaW5nIiwiZG9jIiwicm9vdCIsImZvdW5kIiwicXVlcnlTZWxlY3RvckFsbCIsIm1ldGEiLCJhdHRyaWJ1dGVzIiwiZGF0ZSIsInNwbGl0Iiwic3BsaWNlIiwiam9pbiIsInB1c2giLCJjb25zb2xlIiwiZXJyb3IiLCJhZ2VuZGEiLCJmaWxlbmFtZSIsInhzaVR5cGUiLCJsaWV1IiwiY29kZSIsImN5Y2xlRGVWaWUiLCJldGF0IiwidmVyYm9zZSIsImxvZyIsInN0YXR1cyIsImluZm8iLCJkYXRlU2VhbmNlIiwiRGF0ZSIsImlkZW50aWZpYW50cyIsInN1YnN0cmluZyIsInllYXIiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJkYXkiLCJtb250aCIsImRhdGVTZWFuY2VTdHJpbmciLCJpZEpvIiwid2VlayIsImdldFRpbWUiLCJ1aWQiLCJwYXR0ZXJuIiwiZXhwYW5kZWQiLCJnbG9iIiwic3luYyIsImxlbmd0aCIsImNvbXB0ZXNSZW5kdXNVcmxzIiwiY2FuZGlkYXRlcyIsImFuYWx5c2lzIiwiT2JqZWN0Iiwia2V5cyIsInJlc3VsdCIsImluY2x1ZGVzIiwiY29uY2F0IiwiZmluZENhbmRpZGF0ZXMiLCJudW1TZWFuY2VKbyIsIlN0cmluZyIsIk51bWJlciIsInJlIiwibWF0Y2giLCJSZWdFeHAiLCJleGVjIiwiZmlsZSIsIkJhc2VQbHVnaW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTyxJQUFJQSxPQUFZLEdBQUc7QUFDeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBREE7QUFFeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBRkE7QUFHeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBSEE7QUFJeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBSkE7QUFLeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBTEE7QUFNeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBTkE7QUFPeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBUEE7QUFReEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBUkE7QUFTeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBVEE7QUFVeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBVkE7QUFXeEJDLEVBQUFBLHNC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QUNqRCxVQUFNd0MsRUFBRSxHQUFHLHlCQUFYO0FBQ0EsVUFBTUMsS0FBSyxHQUFHLElBQUlDLE1BQUosQ0FBV0YsRUFBWCxFQUFlRyxJQUFmLENBQW9CM0MsUUFBcEIsQ0FBZDtBQUNBLFVBQUl5QyxLQUFLLElBQUksSUFBYixFQUFtQixPQUFPekMsUUFBUDtBQUNuQixVQUFNNEMsSUFBSSxHQUFHSCxLQUFLLENBQUMsQ0FBRCxDQUFsQjtBQUNBLHdCQUFXRyxJQUFYLHFGQUEwRkEsSUFBMUY7QUFDRDs7OztFQXBEeUJDLGdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdsb2IgZnJvbSBcImdsb2JcIlxuaW1wb3J0IHsgSFRNTEVsZW1lbnQsIHBhcnNlLCBUZXh0Tm9kZSB9IGZyb20gXCJub2RlLWh0bWwtcGFyc2VyXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHsgZ2V0RmlsZXMgfSBmcm9tIFwiLi4vZmlsZV9zeXN0ZW1zXCJcbmltcG9ydCB7IEJhc2VQbHVnaW4gfSBmcm9tIFwiLi4vYnVnc1wiXG5pbXBvcnQgeyBtYXN0ZXJVcmwgfSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuXG5leHBvcnQgbGV0IHJlbWFwSm86IGFueSA9IHtcbiAgUlVBTlI1TDE1UzIwMTdJRFMyMDY2NzogXCIyMDE3MjAwMlwiLFxuICBSVUFOUjVMMTVTMjAxOElEUzIwODE3OiBcIjIwMTgwMDg2XCIsXG4gIFJVQU5SNUwxNVMyMDE4SURTMjA4NjQ6IFwiMjAxODAxMjFcIixcbiAgUlVBTlI1TDE1UzIwMThJRFMyMDk4MTogXCIyMDE4MDE3NFwiLFxuICBSVUFOUjVMMTVTMjAxOUlEUzIxNTA3OiBcIjIwMTkwMTUzXCIsXG4gIFJVQU5SNUwxNVMyMDE5SURTMjE2MDg6IFwiMjAxOTAyMThcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTg0MDogXCIyMDIwMDAwMlwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxODQxOiBcIjIwMjAwMDAzXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE4NTk6IFwiMjAyMDAwMDFcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTk3MDogXCIyMDIwMDA5MFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxOTgzOiBcIjIwMjAwMDkyXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwMTk6IFwiMjAyMDAxMTdcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjAyMDogXCIyMDIwMDExOFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDIxOiBcIjIwMjAwMTE5XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTQ6IFwiMjAyMDAxMzRcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NTogXCIyMDIwMDEzNVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDU2OiBcIjIwMjAwMTM2XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTc6IFwiMjAyMDAxMzdcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA4NzogXCIyMDIwMDEzOVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDg5OiBcIjIwMjAwMTQwXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIxMDY6IFwiMjAyMDAxMjVcIixcbn1cblxuZXhwb3J0IGNsYXNzIFBsdWdpbiBleHRlbmRzIEJhc2VQbHVnaW4ge1xuICBjcjJmaWxlbmFtZXM6IGFueVxuICBkYXRlMmNyczogYW55XG4gIGNyMmRhdGU6IGFueVxuICBmaWxlbmFtZTJkYXRlOiBhbnlcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBhbnkpIHtcbiAgICBzdXBlcihvcHRpb25zLCBcImFnZW5kYS0wMDAwMlwiKVxuICB9XG5cbiAgYXN5bmMgcHJlQ2hlY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5jciA9PSB1bmRlZmluZWQpIHRocm93IFwiLS1jciBpcyByZXF1aXJlZFwiXG4gICAgdGhpcy5maWxlbmFtZTJkYXRlID0ge31cbiAgICB0aGlzLmNyMmZpbGVuYW1lcyA9IHt9XG4gICAgdGhpcy5kYXRlMmNycyA9IHt9XG4gICAgdGhpcy5jcjJkYXRlID0ge31cbiAgICBmb3IgKGNvbnN0IGNyIG9mIGdldEZpbGVzKFtgJHt0aGlzLm9wdGlvbnMuY3J9LyouYXNwYF0pKSB7XG4gICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0gPSBbXVxuXG4gICAgICBjb25zdCBjb250ZW50OiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoY3IsIHsgZW5jb2Rpbmc6IFwidXRmLThcIiB9KVxuXG4gICAgICB0eXBlIFBhcnNlUmVzdWx0ID1cbiAgICAgICAgfCAoVGV4dE5vZGUgJiB7IHZhbGlkPzogYm9vbGVhbiB9KVxuICAgICAgICB8IChIVE1MRWxlbWVudCAmIHsgdmFsaWQ/OiBib29sZWFuIH0pXG4gICAgICBjb25zdCBkb2M6IFBhcnNlUmVzdWx0ID0gcGFyc2UoY29udGVudClcbiAgICAgIGNvbnN0IHJvb3QgPSAoZG9jIGFzIHVua25vd24pIGFzIEhUTUxFbGVtZW50XG4gICAgICBsZXQgZm91bmQgPSBmYWxzZVxuICAgICAgZm9yIChjb25zdCBtZXRhIG9mIHJvb3QucXVlcnlTZWxlY3RvckFsbChcIm1ldGFcIikpIHtcbiAgICAgICAgaWYgKG1ldGEuYXR0cmlidXRlc1tcIm5hbWVcIl0gPT0gXCJRVUFOVElFTUVfU0VBTkNFXCIpIHtcbiAgICAgICAgICBjb25zdCBkYXRlID0gbWV0YS5hdHRyaWJ1dGVzW1wiY29udGVudFwiXVxuICAgICAgICAgICAgLnNwbGl0KFwiIFwiKVxuICAgICAgICAgICAgLnNwbGljZSgtMylcbiAgICAgICAgICAgIC5qb2luKFwiIFwiKVxuICAgICAgICAgIGlmICghKGRhdGUgaW4gdGhpcy5kYXRlMmNycykpIHRoaXMuZGF0ZTJjcnNbZGF0ZV0gPSBbXVxuICAgICAgICAgIHRoaXMuZGF0ZTJjcnNbZGF0ZV0ucHVzaChjcilcbiAgICAgICAgICB0aGlzLmNyMmRhdGVbY3JdID0gZGF0ZVxuICAgICAgICAgIGZvdW5kID0gdHJ1ZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgJHtjcn0gaXMgbWlzc2luZyB0aGUgbWV0YSBuYW1lPVwiUVVBTlRJRU1FX1NFQU5DRVwiYClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgY29tcHRlc1JlbmR1c1VybHMoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmUgPSBcIl4uKi9jb21wdGVzLXJlbmR1cy8oLiopXCJcbiAgICBjb25zdCBtYXRjaCA9IG5ldyBSZWdFeHAocmUpLmV4ZWMoZmlsZW5hbWUpXG4gICAgaWYgKG1hdGNoID09IG51bGwpIHJldHVybiBmaWxlbmFtZVxuICAgIGNvbnN0IGZpbGUgPSBtYXRjaFsxXVxuICAgIHJldHVybiBgWyR7ZmlsZX1dKGh0dHBzOi8vZ2l0LmVuLXJvb3Qub3JnL3RyaWNvdGV1c2VzL2h0bWwvY29tcHRlcy1yZW5kdXMvLS90cmVlL21hc3Rlci8ke2ZpbGV9KWBcbiAgfVxuXG4gIGFzeW5jIGNoZWNrKGFnZW5kYTogYW55LCBmaWxlbmFtZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAoXG4gICAgICBhZ2VuZGEueHNpVHlwZSAhPSBcInNlYW5jZV90eXBlXCIgfHxcbiAgICAgIGFnZW5kYS5saWV1LmNvZGUgIT0gXCJBTlwiIHx8XG4gICAgICBhZ2VuZGEuY3ljbGVEZVZpZS5ldGF0ID09IFwiU3VwcHJpbcOpXCIgfHxcbiAgICAgIGFnZW5kYS5jeWNsZURlVmllLmV0YXQgPT0gXCJBbm51bMOpXCJcbiAgICApXG4gICAgICByZXR1cm4gbnVsbFxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy52ZXJib3NlKSBjb25zb2xlLmxvZyhgYWdlbmRhLTAwMDAyOiAke2ZpbGVuYW1lfWApXG4gICAgbGV0IHN0YXR1cyA9IFwib2tcIlxuICAgIGxldCBpbmZvOiBhbnkgPSBbXVxuXG4gICAgY29uc3QgZGF0ZVNlYW5jZSA9IG5ldyBEYXRlKGFnZW5kYS5pZGVudGlmaWFudHMuZGF0ZVNlYW5jZS5zdWJzdHJpbmcoMCwgMTApKVxuICAgIGNvbnN0IHllYXIgPSBkYXRlU2VhbmNlLnRvTG9jYWxlRGF0ZVN0cmluZyhcImZyXCIsIHsgeWVhcjogXCJudW1lcmljXCIgfSlcbiAgICBjb25zdCBkYXkgPSBkYXRlU2VhbmNlLnRvTG9jYWxlRGF0ZVN0cmluZyhcImZyXCIsIHsgZGF5OiBcIjItZGlnaXRcIiB9KVxuICAgIGNvbnN0IG1vbnRoID0gZGF0ZVNlYW5jZS50b0xvY2FsZURhdGVTdHJpbmcoXCJmclwiLCB7IG1vbnRoOiBcImxvbmdcIiB9KVxuICAgIGNvbnN0IGRhdGVTZWFuY2VTdHJpbmcgPSBgJHtkYXl9ICR7bW9udGh9ICR7eWVhcn1gXG4gICAgdGhpcy5maWxlbmFtZTJkYXRlW2ZpbGVuYW1lXSA9IGRhdGVTZWFuY2VTdHJpbmdcblxuICAgIGxldCBpZEpvXG5cbiAgICBpZiAoXG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzID09IHVuZGVmaW5lZCB8fFxuICAgICAgYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvID09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgY29uc3Qgd2VlayA9IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwXG4gICAgICBpZiAoZGF0ZVNlYW5jZSA+PSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHdlZWspKSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZEpvID0gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlkSm8gPSBhZ2VuZGEuaWRlbnRpZmlhbnRzLmlkSm9cbiAgICB9XG5cbiAgICBpZiAoYWdlbmRhLnVpZCBpbiByZW1hcEpvKSB7XG4gICAgICBpZiAoaWRKbyA9PSByZW1hcEpvW2FnZW5kYS51aWRdKSB7XG4gICAgICAgIGluZm8ucHVzaChgaWRKbyBhbHJlYWR5IGlzICR7aWRKb31gKVxuICAgICAgICBzdGF0dXMgPSBcImFscmVhZHktZml4ZWRcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWRKbyA9IHJlbWFwSm9bYWdlbmRhLnVpZF1cbiAgICAgICAgc3RhdHVzID0gXCJ3aWxsLWJlLWZpeGVkXCJcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaWRKbyA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1czogXCJuZWVkcy1maXhpbmdcIixcbiAgICAgICAgaW5mbzogW1wiaWRKbyBmaWVsZCBpcyBtaXNzaW5nXCJdLFxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHBhdHRlcm4gPSBgJHt0aGlzLm9wdGlvbnMuY3J9LypfJHtpZEpvfS5hc3BgXG4gICAgY29uc3QgZXhwYW5kZWQgPSBnbG9iLnN5bmMocGF0dGVybilcbiAgICBsZXQgY3JcbiAgICBpZiAoZXhwYW5kZWQubGVuZ3RoID4gMCkgY3IgPSBleHBhbmRlZFswXVxuICAgIGVsc2UgY3IgPSB1bmRlZmluZWRcbiAgICBpZiAoY3IgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0ucHVzaChmaWxlbmFtZSlcblxuICAgICAgaWYgKGRhdGVTZWFuY2VTdHJpbmcgIT0gdGhpcy5jcjJkYXRlW2NyXSkge1xuICAgICAgICBpbmZvLnB1c2goXG4gICAgICAgICAgYCR7UGx1Z2luLmNvbXB0ZXNSZW5kdXNVcmxzKGNyKX0gbWV0YSBRVUFOVElFTUVfU0VBTkNFIGNvbnRhaW5zICR7XG4gICAgICAgICAgICB0aGlzLmNyMmRhdGVbY3JdXG4gICAgICAgICAgfSBpbnN0ZWFkIG9mIHRoZSBleHBlY3RlZCAke2RhdGVTZWFuY2VTdHJpbmd9YCxcbiAgICAgICAgKVxuICAgICAgICBzdGF0dXMgPSBcIm5lZWRzLWZpeGluZ1wiXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzdGF0dXMgIT0gXCJ3aWxsLWJlLWZpeGVkXCIpIHtcbiAgICAgICAgaW5mby5wdXNoKGAke3BhdHRlcm59IGRvZXMgbm90IGV4aXN0YClcbiAgICAgICAgc3RhdHVzID0gXCJuZWVkcy1maXhpbmdcIlxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cywgaW5mbzogaW5mbyB9XG4gIH1cblxuICBmaW5kQ2FuZGlkYXRlcyhmaWxlbmFtZTogYW55KTogYW55IHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5maWxlbmFtZTJkYXRlW2ZpbGVuYW1lXVxuICAgIGlmICghKGRhdGUgaW4gdGhpcy5kYXRlMmNycykpIHJldHVybiBbXVxuICAgIGxldCBjYW5kaWRhdGVzID0gW11cbiAgICBmb3IgKGNvbnN0IGNyIG9mIHRoaXMuZGF0ZTJjcnNbZGF0ZV0pIHtcbiAgICAgIGlmICh0aGlzLmNyMmZpbGVuYW1lc1tjcl0ubGVuZ3RoID4gMClcbiAgICAgICAgY2FuZGlkYXRlcy5wdXNoKFxuICAgICAgICAgIGAke1BsdWdpbi5jb21wdGVzUmVuZHVzVXJscyhcbiAgICAgICAgICAgIGNyLFxuICAgICAgICAgICl9IGlzIG5vdCBhIGNhbmRpZGF0ZSBiZWNhdXNlIGl0IGlzIHJlZmVyZW5jZWQgYnkgJHttYXN0ZXJVcmwoXG4gICAgICAgICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0sXG4gICAgICAgICAgKX1gLFxuICAgICAgICApXG4gICAgICBlbHNlIGNhbmRpZGF0ZXMucHVzaChgJHtQbHVnaW4uY29tcHRlc1JlbmR1c1VybHMoY3IpfSBpcyBhIGNhbmRpZGF0ZWApXG4gICAgfVxuICAgIHJldHVybiBjYW5kaWRhdGVzXG4gIH1cblxuICBhc3luYyBwb3N0Q2hlY2soYW5hbHlzaXM6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBPYmplY3Qua2V5cyhhbmFseXNpcykpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGFuYWx5c2lzW2ZpbGVuYW1lXVtcImFnZW5kYS0wMDAwMlwiXVxuICAgICAgaWYgKHJlc3VsdCA9PSBudWxsIHx8IHJlc3VsdFtcInN0YXR1c1wiXSAhPSBcIm5lZWRzLWZpeGluZ1wiKSBjb250aW51ZVxuICAgICAgY29uc3QgaW5mbyA9IHJlc3VsdFtcImluZm9cIl0uam9pbihcIlwiKVxuICAgICAgaWYgKFxuICAgICAgICBpbmZvLmluY2x1ZGVzKFwibWV0YSBRVUFOVElFTUVcIikgfHxcbiAgICAgICAgaW5mby5pbmNsdWRlcyhcImlkSm8gZmllbGQgaXMgbWlzc2luZ1wiKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3VsdFtcImluZm9cIl0gPSByZXN1bHRbXCJpbmZvXCJdLmNvbmNhdCh0aGlzLmZpbmRDYW5kaWRhdGVzKGZpbGVuYW1lKSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBmaXgoYWdlbmRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICghKGFnZW5kYS51aWQgaW4gcmVtYXBKbykpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgaWRKbyA9IHJlbWFwSm9bYWdlbmRhLnVpZF1cbiAgICBjb25zdCBudW1TZWFuY2VKbyA9IFN0cmluZyhOdW1iZXIoaWRKby5zdWJzdHJpbmcoNSkpKVxuICAgIGlmIChcbiAgICAgIGFnZW5kYS5pZGVudGlmaWFudHMuaWRKbyA9PSBpZEpvICYmXG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpvID09IG51bVNlYW5jZUpvXG4gICAgKVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvID0gaWRKb1xuICAgIGFnZW5kYS5pZGVudGlmaWFudHMubnVtU2VhbmNlSm8gPSBudW1TZWFuY2VKb1xuICAgIHJldHVybiB0cnVlXG4gIH1cbn1cbiJdfQ==
|
|
545
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWdzL2FnZW5kYS0wMDAwMi50cyJdLCJuYW1lcyI6WyJyZW1hcEpvIiwiUlVBTlI1TDE1UzIwMTdJRFMyMDY2NyIsIlJVQU5SNUwxNVMyMDE4SURTMjA4MTciLCJSVUFOUjVMMTVTMjAxOElEUzIwODY0IiwiUlVBTlI1TDE1UzIwMThJRFMyMDk4MSIsIlJVQU5SNUwxNVMyMDE5SURTMjE1MDciLCJSVUFOUjVMMTVTMjAxOUlEUzIxNjA4IiwiUlVBTlI1TDE1UzIwMjBJRFMyMTg0MCIsIlJVQU5SNUwxNVMyMDIwSURTMjE4NDEiLCJSVUFOUjVMMTVTMjAyMElEUzIxODU5IiwiUlVBTlI1TDE1UzIwMjBJRFMyMTk3MCIsIlJVQU5SNUwxNVMyMDIwSURTMjE5ODMiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDE5IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjAyMCIsIlJVQU5SNUwxNVMyMDIwSURTMjIwMjEiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU0IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA1NSIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTYiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU3IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA4NyIsIlJVQU5SNUwxNVMyMDIwSURTMjIwODkiLCJSVUFOUjVMMTVTMjAyMElEUzIyMTA2IiwiUGx1Z2luIiwib3B0aW9ucyIsImNyIiwidW5kZWZpbmVkIiwiZmlsZW5hbWUyZGF0ZSIsImNyMmZpbGVuYW1lcyIsImRhdGUyY3JzIiwiY3IyZGF0ZSIsImNvbnRlbnQiLCJmcyIsInJlYWRGaWxlU3luYyIsImVuY29kaW5nIiwiZG9jIiwicm9vdCIsImZvdW5kIiwicXVlcnlTZWxlY3RvckFsbCIsIm1ldGEiLCJhdHRyaWJ1dGVzIiwiZGF0ZSIsInNwbGl0Iiwic3BsaWNlIiwiam9pbiIsInB1c2giLCJjb25zb2xlIiwiZXJyb3IiLCJhZ2VuZGEiLCJmaWxlbmFtZSIsInhzaVR5cGUiLCJsaWV1IiwiY29kZSIsImN5Y2xlRGVWaWUiLCJldGF0IiwidmVyYm9zZSIsImxvZyIsInN0YXR1cyIsImluZm8iLCJkYXRlU2VhbmNlIiwiRGF0ZSIsImlkZW50aWZpYW50cyIsInN1YnN0cmluZyIsInllYXIiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJkYXkiLCJtb250aCIsImRhdGVTZWFuY2VTdHJpbmciLCJpZEpvIiwid2VlayIsImdldFRpbWUiLCJ1aWQiLCJwYXR0ZXJuIiwiZXhwYW5kZWQiLCJnbG9iIiwic3luYyIsImxlbmd0aCIsImNvbXB0ZXNSZW5kdXNVcmxzIiwiY2FuZGlkYXRlcyIsImFuYWx5c2lzIiwiT2JqZWN0Iiwia2V5cyIsInJlc3VsdCIsImluY2x1ZGVzIiwiY29uY2F0IiwiZmluZENhbmRpZGF0ZXMiLCJudW1TZWFuY2VKbyIsIlN0cmluZyIsIk51bWJlciIsInJlIiwibWF0Y2giLCJSZWdFeHAiLCJleGVjIiwiZmlsZSIsIkJhc2VQbHVnaW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTyxJQUFJQSxPQUFZLEdBQUc7QUFDeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBREE7QUFFeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBRkE7QUFHeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBSEE7QUFJeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBSkE7QUFLeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBTEE7QUFNeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBTkE7QUFPeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBUEE7QUFReEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBUkE7QUFTeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBVEE7QUFVeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBVkE7QUFXeEJDLEVBQUFBLHNC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QUNqRCxVQUFNd0MsRUFBRSxHQUFHLHlCQUFYO0FBQ0EsVUFBTUMsS0FBSyxHQUFHLElBQUlDLE1BQUosQ0FBV0YsRUFBWCxFQUFlRyxJQUFmLENBQW9CM0MsUUFBcEIsQ0FBZDtBQUNBLFVBQUl5QyxLQUFLLElBQUksSUFBYixFQUFtQixPQUFPekMsUUFBUDtBQUNuQixVQUFNNEMsSUFBSSxHQUFHSCxLQUFLLENBQUMsQ0FBRCxDQUFsQjtBQUNBLHdCQUFXRyxJQUFYLHFGQUEwRkEsSUFBMUY7QUFDRDs7OztFQXBEeUJDLGdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdsb2IgZnJvbSBcImdsb2JcIlxuaW1wb3J0IHsgSFRNTEVsZW1lbnQsIHBhcnNlLCBUZXh0Tm9kZSB9IGZyb20gXCJub2RlLWh0bWwtcGFyc2VyXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHsgZ2V0RmlsZXMgfSBmcm9tIFwiLi4vZmlsZV9zeXN0ZW1zXCJcbmltcG9ydCB7IEJhc2VQbHVnaW4gfSBmcm9tIFwiLi4vYnVnc1wiXG5pbXBvcnQgeyBtYXN0ZXJVcmwgfSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuXG5leHBvcnQgbGV0IHJlbWFwSm86IGFueSA9IHtcbiAgUlVBTlI1TDE1UzIwMTdJRFMyMDY2NzogXCIyMDE3MjAwMlwiLFxuICBSVUFOUjVMMTVTMjAxOElEUzIwODE3OiBcIjIwMTgwMDg2XCIsXG4gIFJVQU5SNUwxNVMyMDE4SURTMjA4NjQ6IFwiMjAxODAxMjFcIixcbiAgUlVBTlI1TDE1UzIwMThJRFMyMDk4MTogXCIyMDE4MDE3NFwiLFxuICBSVUFOUjVMMTVTMjAxOUlEUzIxNTA3OiBcIjIwMTkwMTUzXCIsXG4gIFJVQU5SNUwxNVMyMDE5SURTMjE2MDg6IFwiMjAxOTAyMThcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTg0MDogXCIyMDIwMDAwMlwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxODQxOiBcIjIwMjAwMDAzXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE4NTk6IFwiMjAyMDAwMDFcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTk3MDogXCIyMDIwMDA5MFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxOTgzOiBcIjIwMjAwMDkyXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwMTk6IFwiMjAyMDAxMTdcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjAyMDogXCIyMDIwMDExOFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDIxOiBcIjIwMjAwMTE5XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTQ6IFwiMjAyMDAxMzRcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NTogXCIyMDIwMDEzNVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDU2OiBcIjIwMjAwMTM2XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTc6IFwiMjAyMDAxMzdcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA4NzogXCIyMDIwMDEzOVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDg5OiBcIjIwMjAwMTQwXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIxMDY6IFwiMjAyMDAxMjVcIixcbn1cblxuZXhwb3J0IGNsYXNzIFBsdWdpbiBleHRlbmRzIEJhc2VQbHVnaW4ge1xuICBjcjJmaWxlbmFtZXM6IGFueVxuICBkYXRlMmNyczogYW55XG4gIGNyMmRhdGU6IGFueVxuICBmaWxlbmFtZTJkYXRlOiBhbnlcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBhbnkpIHtcbiAgICBzdXBlcihvcHRpb25zLCBcImFnZW5kYS0wMDAwMlwiKVxuICB9XG5cbiAgYXN5bmMgcHJlQ2hlY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5jciA9PSB1bmRlZmluZWQpIHRocm93IFwiLS1jciBpcyByZXF1aXJlZFwiXG4gICAgdGhpcy5maWxlbmFtZTJkYXRlID0ge31cbiAgICB0aGlzLmNyMmZpbGVuYW1lcyA9IHt9XG4gICAgdGhpcy5kYXRlMmNycyA9IHt9XG4gICAgdGhpcy5jcjJkYXRlID0ge31cbiAgICBmb3IgKGNvbnN0IGNyIG9mIGdldEZpbGVzKFtgJHt0aGlzLm9wdGlvbnMuY3J9LyouYXNwYF0pKSB7XG4gICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0gPSBbXVxuXG4gICAgICBjb25zdCBjb250ZW50OiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoY3IsIHsgZW5jb2Rpbmc6IFwidXRmLThcIiB9KVxuXG4gICAgICB0eXBlIFBhcnNlUmVzdWx0ID1cbiAgICAgICAgfCAoVGV4dE5vZGUgJiB7IHZhbGlkPzogYm9vbGVhbiB9KVxuICAgICAgICB8IChIVE1MRWxlbWVudCAmIHsgdmFsaWQ/OiBib29sZWFuIH0pXG4gICAgICBjb25zdCBkb2M6IFBhcnNlUmVzdWx0ID0gcGFyc2UoY29udGVudClcbiAgICAgIGNvbnN0IHJvb3QgPSBkb2MgYXMgdW5rbm93biBhcyBIVE1MRWxlbWVudFxuICAgICAgbGV0IGZvdW5kID0gZmFsc2VcbiAgICAgIGZvciAoY29uc3QgbWV0YSBvZiByb290LnF1ZXJ5U2VsZWN0b3JBbGwoXCJtZXRhXCIpKSB7XG4gICAgICAgIGlmIChtZXRhLmF0dHJpYnV0ZXNbXCJuYW1lXCJdID09IFwiUVVBTlRJRU1FX1NFQU5DRVwiKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZSA9IG1ldGEuYXR0cmlidXRlc1tcImNvbnRlbnRcIl1cbiAgICAgICAgICAgIC5zcGxpdChcIiBcIilcbiAgICAgICAgICAgIC5zcGxpY2UoLTMpXG4gICAgICAgICAgICAuam9pbihcIiBcIilcbiAgICAgICAgICBpZiAoIShkYXRlIGluIHRoaXMuZGF0ZTJjcnMpKSB0aGlzLmRhdGUyY3JzW2RhdGVdID0gW11cbiAgICAgICAgICB0aGlzLmRhdGUyY3JzW2RhdGVdLnB1c2goY3IpXG4gICAgICAgICAgdGhpcy5jcjJkYXRlW2NyXSA9IGRhdGVcbiAgICAgICAgICBmb3VuZCA9IHRydWVcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYCR7Y3J9IGlzIG1pc3NpbmcgdGhlIG1ldGEgbmFtZT1cIlFVQU5USUVNRV9TRUFOQ0VcImApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGNvbXB0ZXNSZW5kdXNVcmxzKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlID0gXCJeLiovY29tcHRlcy1yZW5kdXMvKC4qKVwiXG4gICAgY29uc3QgbWF0Y2ggPSBuZXcgUmVnRXhwKHJlKS5leGVjKGZpbGVuYW1lKVxuICAgIGlmIChtYXRjaCA9PSBudWxsKSByZXR1cm4gZmlsZW5hbWVcbiAgICBjb25zdCBmaWxlID0gbWF0Y2hbMV1cbiAgICByZXR1cm4gYFske2ZpbGV9XShodHRwczovL2dpdC5lbi1yb290Lm9yZy90cmljb3RldXNlcy9odG1sL2NvbXB0ZXMtcmVuZHVzLy0vdHJlZS9tYXN0ZXIvJHtmaWxlfSlgXG4gIH1cblxuICBhc3luYyBjaGVjayhhZ2VuZGE6IGFueSwgZmlsZW5hbWU6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKFxuICAgICAgYWdlbmRhLnhzaVR5cGUgIT0gXCJzZWFuY2VfdHlwZVwiIHx8XG4gICAgICBhZ2VuZGEubGlldS5jb2RlICE9IFwiQU5cIiB8fFxuICAgICAgYWdlbmRhLmN5Y2xlRGVWaWUuZXRhdCA9PSBcIlN1cHByaW3DqVwiIHx8XG4gICAgICBhZ2VuZGEuY3ljbGVEZVZpZS5ldGF0ID09IFwiQW5udWzDqVwiXG4gICAgKVxuICAgICAgcmV0dXJuIG51bGxcblxuICAgIGlmICh0aGlzLm9wdGlvbnMudmVyYm9zZSkgY29uc29sZS5sb2coYGFnZW5kYS0wMDAwMjogJHtmaWxlbmFtZX1gKVxuICAgIGxldCBzdGF0dXMgPSBcIm9rXCJcbiAgICBsZXQgaW5mbzogYW55ID0gW11cblxuICAgIGNvbnN0IGRhdGVTZWFuY2UgPSBuZXcgRGF0ZShhZ2VuZGEuaWRlbnRpZmlhbnRzLmRhdGVTZWFuY2Uuc3Vic3RyaW5nKDAsIDEwKSlcbiAgICBjb25zdCB5ZWFyID0gZGF0ZVNlYW5jZS50b0xvY2FsZURhdGVTdHJpbmcoXCJmclwiLCB7IHllYXI6IFwibnVtZXJpY1wiIH0pXG4gICAgY29uc3QgZGF5ID0gZGF0ZVNlYW5jZS50b0xvY2FsZURhdGVTdHJpbmcoXCJmclwiLCB7IGRheTogXCIyLWRpZ2l0XCIgfSlcbiAgICBjb25zdCBtb250aCA9IGRhdGVTZWFuY2UudG9Mb2NhbGVEYXRlU3RyaW5nKFwiZnJcIiwgeyBtb250aDogXCJsb25nXCIgfSlcbiAgICBjb25zdCBkYXRlU2VhbmNlU3RyaW5nID0gYCR7ZGF5fSAke21vbnRofSAke3llYXJ9YFxuICAgIHRoaXMuZmlsZW5hbWUyZGF0ZVtmaWxlbmFtZV0gPSBkYXRlU2VhbmNlU3RyaW5nXG5cbiAgICBsZXQgaWRKb1xuXG4gICAgaWYgKFxuICAgICAgYWdlbmRhLmlkZW50aWZpYW50cyA9PSB1bmRlZmluZWQgfHxcbiAgICAgIGFnZW5kYS5pZGVudGlmaWFudHMuaWRKbyA9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIGNvbnN0IHdlZWsgPSA3ICogMjQgKiA2MCAqIDYwICogMTAwMFxuICAgICAgaWYgKGRhdGVTZWFuY2UgPj0gbmV3IERhdGUobmV3IERhdGUoKS5nZXRUaW1lKCkgLSB3ZWVrKSkge1xuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWRKbyA9IHVuZGVmaW5lZFxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZEpvID0gYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvXG4gICAgfVxuXG4gICAgaWYgKGFnZW5kYS51aWQgaW4gcmVtYXBKbykge1xuICAgICAgaWYgKGlkSm8gPT0gcmVtYXBKb1thZ2VuZGEudWlkXSkge1xuICAgICAgICBpbmZvLnB1c2goYGlkSm8gYWxyZWFkeSBpcyAke2lkSm99YClcbiAgICAgICAgc3RhdHVzID0gXCJhbHJlYWR5LWZpeGVkXCJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlkSm8gPSByZW1hcEpvW2FnZW5kYS51aWRdXG4gICAgICAgIHN0YXR1cyA9IFwid2lsbC1iZS1maXhlZFwiXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlkSm8gPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdGF0dXM6IFwibmVlZHMtZml4aW5nXCIsXG4gICAgICAgIGluZm86IFtcImlkSm8gZmllbGQgaXMgbWlzc2luZ1wiXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwYXR0ZXJuID0gYCR7dGhpcy5vcHRpb25zLmNyfS8qXyR7aWRKb30uYXNwYFxuICAgIGNvbnN0IGV4cGFuZGVkID0gZ2xvYi5zeW5jKHBhdHRlcm4pXG4gICAgbGV0IGNyXG4gICAgaWYgKGV4cGFuZGVkLmxlbmd0aCA+IDApIGNyID0gZXhwYW5kZWRbMF1cbiAgICBlbHNlIGNyID0gdW5kZWZpbmVkXG4gICAgaWYgKGNyICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jcjJmaWxlbmFtZXNbY3JdLnB1c2goZmlsZW5hbWUpXG5cbiAgICAgIGlmIChkYXRlU2VhbmNlU3RyaW5nICE9IHRoaXMuY3IyZGF0ZVtjcl0pIHtcbiAgICAgICAgaW5mby5wdXNoKFxuICAgICAgICAgIGAke1BsdWdpbi5jb21wdGVzUmVuZHVzVXJscyhjcil9IG1ldGEgUVVBTlRJRU1FX1NFQU5DRSBjb250YWlucyAke1xuICAgICAgICAgICAgdGhpcy5jcjJkYXRlW2NyXVxuICAgICAgICAgIH0gaW5zdGVhZCBvZiB0aGUgZXhwZWN0ZWQgJHtkYXRlU2VhbmNlU3RyaW5nfWAsXG4gICAgICAgIClcbiAgICAgICAgc3RhdHVzID0gXCJuZWVkcy1maXhpbmdcIlxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc3RhdHVzICE9IFwid2lsbC1iZS1maXhlZFwiKSB7XG4gICAgICAgIGluZm8ucHVzaChgJHtwYXR0ZXJufSBkb2VzIG5vdCBleGlzdGApXG4gICAgICAgIHN0YXR1cyA9IFwibmVlZHMtZml4aW5nXCJcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMsIGluZm86IGluZm8gfVxuICB9XG5cbiAgZmluZENhbmRpZGF0ZXMoZmlsZW5hbWU6IGFueSk6IGFueSB7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuZmlsZW5hbWUyZGF0ZVtmaWxlbmFtZV1cbiAgICBpZiAoIShkYXRlIGluIHRoaXMuZGF0ZTJjcnMpKSByZXR1cm4gW11cbiAgICBsZXQgY2FuZGlkYXRlcyA9IFtdXG4gICAgZm9yIChjb25zdCBjciBvZiB0aGlzLmRhdGUyY3JzW2RhdGVdKSB7XG4gICAgICBpZiAodGhpcy5jcjJmaWxlbmFtZXNbY3JdLmxlbmd0aCA+IDApXG4gICAgICAgIGNhbmRpZGF0ZXMucHVzaChcbiAgICAgICAgICBgJHtQbHVnaW4uY29tcHRlc1JlbmR1c1VybHMoXG4gICAgICAgICAgICBjcixcbiAgICAgICAgICApfSBpcyBub3QgYSBjYW5kaWRhdGUgYmVjYXVzZSBpdCBpcyByZWZlcmVuY2VkIGJ5ICR7bWFzdGVyVXJsKFxuICAgICAgICAgICAgdGhpcy5jcjJmaWxlbmFtZXNbY3JdLFxuICAgICAgICAgICl9YCxcbiAgICAgICAgKVxuICAgICAgZWxzZSBjYW5kaWRhdGVzLnB1c2goYCR7UGx1Z2luLmNvbXB0ZXNSZW5kdXNVcmxzKGNyKX0gaXMgYSBjYW5kaWRhdGVgKVxuICAgIH1cbiAgICByZXR1cm4gY2FuZGlkYXRlc1xuICB9XG5cbiAgYXN5bmMgcG9zdENoZWNrKGFuYWx5c2lzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgT2JqZWN0LmtleXMoYW5hbHlzaXMpKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhbmFseXNpc1tmaWxlbmFtZV1bXCJhZ2VuZGEtMDAwMDJcIl1cbiAgICAgIGlmIChyZXN1bHQgPT0gbnVsbCB8fCByZXN1bHRbXCJzdGF0dXNcIl0gIT0gXCJuZWVkcy1maXhpbmdcIikgY29udGludWVcbiAgICAgIGNvbnN0IGluZm8gPSByZXN1bHRbXCJpbmZvXCJdLmpvaW4oXCJcIilcbiAgICAgIGlmIChcbiAgICAgICAgaW5mby5pbmNsdWRlcyhcIm1ldGEgUVVBTlRJRU1FXCIpIHx8XG4gICAgICAgIGluZm8uaW5jbHVkZXMoXCJpZEpvIGZpZWxkIGlzIG1pc3NpbmdcIilcbiAgICAgICkge1xuICAgICAgICByZXN1bHRbXCJpbmZvXCJdID0gcmVzdWx0W1wiaW5mb1wiXS5jb25jYXQodGhpcy5maW5kQ2FuZGlkYXRlcyhmaWxlbmFtZSkpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZml4KGFnZW5kYTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAoIShhZ2VuZGEudWlkIGluIHJlbWFwSm8pKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IGlkSm8gPSByZW1hcEpvW2FnZW5kYS51aWRdXG4gICAgY29uc3QgbnVtU2VhbmNlSm8gPSBTdHJpbmcoTnVtYmVyKGlkSm8uc3Vic3RyaW5nKDUpKSlcbiAgICBpZiAoXG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLmlkSm8gPT0gaWRKbyAmJlxuICAgICAgYWdlbmRhLmlkZW50aWZpYW50cy5udW1TZWFuY2VKbyA9PSBudW1TZWFuY2VKb1xuICAgIClcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIGFnZW5kYS5pZGVudGlmaWFudHMuaWRKbyA9IGlkSm9cbiAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpvID0gbnVtU2VhbmNlSm9cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG59XG4iXX0=
|
|
@@ -194,4 +194,4 @@ export class Plugin extends BasePlugin {
|
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
}
|
|
197
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWdzL2FnZW5kYS0wMDAwMi50cyJdLCJuYW1lcyI6WyJnbG9iIiwicGFyc2UiLCJmcyIsImdldEZpbGVzIiwiQmFzZVBsdWdpbiIsIm1hc3RlclVybCIsInJlbWFwSm8iLCJSVUFOUjVMMTVTMjAxN0lEUzIwNjY3IiwiUlVBTlI1TDE1UzIwMThJRFMyMDgxNyIsIlJVQU5SNUwxNVMyMDE4SURTMjA4NjQiLCJSVUFOUjVMMTVTMjAxOElEUzIwOTgxIiwiUlVBTlI1TDE1UzIwMTlJRFMyMTUwNyIsIlJVQU5SNUwxNVMyMDE5SURTMjE2MDgiLCJSVUFOUjVMMTVTMjAyMElEUzIxODQwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMTg0MSIsIlJVQU5SNUwxNVMyMDIwSURTMjE4NTkiLCJSVUFOUjVMMTVTMjAyMElEUzIxOTcwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMTk4MyIsIlJVQU5SNUwxNVMyMDIwSURTMjIwMTkiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDIwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMjAyMSIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTQiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU1IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA1NiIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTciLCJSVUFOUjVMMTVTMjAyMElEUzIyMDg3IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA4OSIsIlJVQU5SNUwxNVMyMDIwSURTMjIxMDYiLCJQbHVnaW4iLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJwcmVDaGVjayIsImNyIiwidW5kZWZpbmVkIiwiZmlsZW5hbWUyZGF0ZSIsImNyMmZpbGVuYW1lcyIsImRhdGUyY3JzIiwiY3IyZGF0ZSIsImNvbnRlbnQiLCJyZWFkRmlsZVN5bmMiLCJlbmNvZGluZyIsImRvYyIsInJvb3QiLCJmb3VuZCIsIm1ldGEiLCJxdWVyeVNlbGVjdG9yQWxsIiwiYXR0cmlidXRlcyIsImRhdGUiLCJzcGxpdCIsInNwbGljZSIsImpvaW4iLCJwdXNoIiwiY29uc29sZSIsImVycm9yIiwiY29tcHRlc1JlbmR1c1VybHMiLCJmaWxlbmFtZSIsInJlIiwibWF0Y2giLCJSZWdFeHAiLCJleGVjIiwiZmlsZSIsImNoZWNrIiwiYWdlbmRhIiwieHNpVHlwZSIsImxpZXUiLCJjb2RlIiwiY3ljbGVEZVZpZSIsImV0YXQiLCJ2ZXJib3NlIiwibG9nIiwic3RhdHVzIiwiaW5mbyIsImRhdGVTZWFuY2UiLCJEYXRlIiwiaWRlbnRpZmlhbnRzIiwic3Vic3RyaW5nIiwieWVhciIsInRvTG9jYWxlRGF0ZVN0cmluZyIsImRheSIsIm1vbnRoIiwiZGF0ZVNlYW5jZVN0cmluZyIsImlkSm8iLCJ3ZWVrIiwiZ2V0VGltZSIsInVpZCIsInBhdHRlcm4iLCJleHBhbmRlZCIsInN5bmMiLCJsZW5ndGgiLCJmaW5kQ2FuZGlkYXRlcyIsImNhbmRpZGF0ZXMiLCJwb3N0Q2hlY2siLCJhbmFseXNpcyIsIk9iamVjdCIsImtleXMiLCJyZXN1bHQiLCJpbmNsdWRlcyIsImNvbmNhdCIsImZpeCIsIm51bVNlYW5jZUpvIiwiU3RyaW5nIiwiTnVtYmVyIl0sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU9BLElBQVAsTUFBaUIsTUFBakI7QUFDQSxTQUFzQkMsS0FBdEIsUUFBNkMsa0JBQTdDO0FBQ0EsT0FBT0MsRUFBUCxNQUFlLFVBQWY7U0FDU0MsUTtTQUNBQyxVO1NBQ0FDLFM7QUFFVCxPQUFPLElBQUlDLE9BQVksR0FBRztBQUN4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFEQTtBQUV4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFGQTtBQUd4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFIQTtBQUl4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFKQTtBQUt4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFMQTtBQU14QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFOQTtBQU94QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFQQTtBQVF4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFSQTtBQVN4QkMsRUFBQUEsc0JB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LENBQU4sQ0FBZUUsTUFBZixDQUFzQixLQUFLUixjQUFMLENBQW9CbEMsUUFBcEIsQ0FBdEIsQ0FBakI7QUFDRDtBQUNGO0FBQ0Y7O0FBRVEsUUFBSDJDLEdBQUcsQ0FBQ3BDLE1BQUQsRUFBNEI7QUFDbkMsUUFBSSxFQUFFQSxNQUFNLENBQUNzQixHQUFQLElBQWM5RSxPQUFoQixDQUFKLEVBQThCO0FBQzVCLGFBQU8sSUFBUDtBQUNEOztBQUVELFVBQU0yRSxJQUFJLEdBQUczRSxPQUFPLENBQUN3RCxNQUFNLENBQUNzQixHQUFSLENBQXBCO0FBQ0EsVUFBTWUsV0FBVyxHQUFHQyxNQUFNLENBQUNDLE1BQU0sQ0FBQ3BCLElBQUksQ0FBQ04sU0FBTCxDQUFlLENBQWYsQ0FBRCxDQUFQLENBQTFCO0FBQ0EsUUFDRWIsTUFBTSxDQUFDWSxZQUFQLENBQW9CTyxJQUFwQixJQUE0QkEsSUFBNUIsSUFDQW5CLE1BQU0sQ0FBQ1ksWUFBUCxDQUFvQnlCLFdBQXBCLElBQW1DQSxXQUZyQyxFQUlFLE9BQU8sS0FBUDtBQUNGckMsSUFBQUEsTUFBTSxDQUFDWSxZQUFQLENBQW9CTyxJQUFwQixHQUEyQkEsSUFBM0I7QUFDQW5CLElBQUFBLE1BQU0sQ0FBQ1ksWUFBUCxDQUFvQnlCLFdBQXBCLEdBQWtDQSxXQUFsQztBQUNBLFdBQU8sSUFBUDtBQUNEOztBQW5Mb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2xvYiBmcm9tIFwiZ2xvYlwiXG5pbXBvcnQgeyBIVE1MRWxlbWVudCwgcGFyc2UsIFRleHROb2RlIH0gZnJvbSBcIm5vZGUtaHRtbC1wYXJzZXJcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgeyBnZXRGaWxlcyB9IGZyb20gXCIuLi9maWxlX3N5c3RlbXNcIlxuaW1wb3J0IHsgQmFzZVBsdWdpbiB9IGZyb20gXCIuLi9idWdzXCJcbmltcG9ydCB7IG1hc3RlclVybCB9IGZyb20gXCIuLi9kYXRhc2V0c1wiXG5cbmV4cG9ydCBsZXQgcmVtYXBKbzogYW55ID0ge1xuICBSVUFOUjVMMTVTMjAxN0lEUzIwNjY3OiBcIjIwMTcyMDAyXCIsXG4gIFJVQU5SNUwxNVMyMDE4SURTMjA4MTc6IFwiMjAxODAwODZcIixcbiAgUlVBTlI1TDE1UzIwMThJRFMyMDg2NDogXCIyMDE4MDEyMVwiLFxuICBSVUFOUjVMMTVTMjAxOElEUzIwOTgxOiBcIjIwMTgwMTc0XCIsXG4gIFJVQU5SNUwxNVMyMDE5SURTMjE1MDc6IFwiMjAxOTAxNTNcIixcbiAgUlVBTlI1TDE1UzIwMTlJRFMyMTYwODogXCIyMDE5MDIxOFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxODQwOiBcIjIwMjAwMDAyXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE4NDE6IFwiMjAyMDAwMDNcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTg1OTogXCIyMDIwMDAwMVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxOTcwOiBcIjIwMjAwMDkwXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE5ODM6IFwiMjAyMDAwOTJcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjAxOTogXCIyMDIwMDExN1wiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDIwOiBcIjIwMjAwMTE4XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwMjE6IFwiMjAyMDAxMTlcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NDogXCIyMDIwMDEzNFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDU1OiBcIjIwMjAwMTM1XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTY6IFwiMjAyMDAxMzZcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NzogXCIyMDIwMDEzN1wiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDg3OiBcIjIwMjAwMTM5XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwODk6IFwiMjAyMDAxNDBcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjEwNjogXCIyMDIwMDEyNVwiLFxufVxuXG5leHBvcnQgY2xhc3MgUGx1Z2luIGV4dGVuZHMgQmFzZVBsdWdpbiB7XG4gIGNyMmZpbGVuYW1lczogYW55XG4gIGRhdGUyY3JzOiBhbnlcbiAgY3IyZGF0ZTogYW55XG4gIGZpbGVuYW1lMmRhdGU6IGFueVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IGFueSkge1xuICAgIHN1cGVyKG9wdGlvbnMsIFwiYWdlbmRhLTAwMDAyXCIpXG4gIH1cblxuICBhc3luYyBwcmVDaGVjaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmNyID09IHVuZGVmaW5lZCkgdGhyb3cgXCItLWNyIGlzIHJlcXVpcmVkXCJcbiAgICB0aGlzLmZpbGVuYW1lMmRhdGUgPSB7fVxuICAgIHRoaXMuY3IyZmlsZW5hbWVzID0ge31cbiAgICB0aGlzLmRhdGUyY3JzID0ge31cbiAgICB0aGlzLmNyMmRhdGUgPSB7fVxuICAgIGZvciAoY29uc3QgY3Igb2YgZ2V0RmlsZXMoW2Ake3RoaXMub3B0aW9ucy5jcn0vKi5hc3BgXSkpIHtcbiAgICAgIHRoaXMuY3IyZmlsZW5hbWVzW2NyXSA9IFtdXG5cbiAgICAgIGNvbnN0IGNvbnRlbnQ6IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhjciwgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0pXG5cbiAgICAgIHR5cGUgUGFyc2VSZXN1bHQgPVxuICAgICAgICB8IChUZXh0Tm9kZSAmIHsgdmFsaWQ/OiBib29sZWFuIH0pXG4gICAgICAgIHwgKEhUTUxFbGVtZW50ICYgeyB2YWxpZD86IGJvb2xlYW4gfSlcbiAgICAgIGNvbnN0IGRvYzogUGFyc2VSZXN1bHQgPSBwYXJzZShjb250ZW50KVxuICAgICAgY29uc3Qgcm9vdCA9IChkb2MgYXMgdW5rbm93bikgYXMgSFRNTEVsZW1lbnRcbiAgICAgIGxldCBmb3VuZCA9IGZhbHNlXG4gICAgICBmb3IgKGNvbnN0IG1ldGEgb2Ygcm9vdC5xdWVyeVNlbGVjdG9yQWxsKFwibWV0YVwiKSkge1xuICAgICAgICBpZiAobWV0YS5hdHRyaWJ1dGVzW1wibmFtZVwiXSA9PSBcIlFVQU5USUVNRV9TRUFOQ0VcIikge1xuICAgICAgICAgIGNvbnN0IGRhdGUgPSBtZXRhLmF0dHJpYnV0ZXNbXCJjb250ZW50XCJdXG4gICAgICAgICAgICAuc3BsaXQoXCIgXCIpXG4gICAgICAgICAgICAuc3BsaWNlKC0zKVxuICAgICAgICAgICAgLmpvaW4oXCIgXCIpXG4gICAgICAgICAgaWYgKCEoZGF0ZSBpbiB0aGlzLmRhdGUyY3JzKSkgdGhpcy5kYXRlMmNyc1tkYXRlXSA9IFtdXG4gICAgICAgICAgdGhpcy5kYXRlMmNyc1tkYXRlXS5wdXNoKGNyKVxuICAgICAgICAgIHRoaXMuY3IyZGF0ZVtjcl0gPSBkYXRlXG4gICAgICAgICAgZm91bmQgPSB0cnVlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFmb3VuZCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGAke2NyfSBpcyBtaXNzaW5nIHRoZSBtZXRhIG5hbWU9XCJRVUFOVElFTUVfU0VBTkNFXCJgKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBjb21wdGVzUmVuZHVzVXJscyhmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCByZSA9IFwiXi4qL2NvbXB0ZXMtcmVuZHVzLyguKilcIlxuICAgIGNvbnN0IG1hdGNoID0gbmV3IFJlZ0V4cChyZSkuZXhlYyhmaWxlbmFtZSlcbiAgICBpZiAobWF0Y2ggPT0gbnVsbCkgcmV0dXJuIGZpbGVuYW1lXG4gICAgY29uc3QgZmlsZSA9IG1hdGNoWzFdXG4gICAgcmV0dXJuIGBbJHtmaWxlfV0oaHR0cHM6Ly9naXQuZW4tcm9vdC5vcmcvdHJpY290ZXVzZXMvaHRtbC9jb21wdGVzLXJlbmR1cy8tL3RyZWUvbWFzdGVyLyR7ZmlsZX0pYFxuICB9XG5cbiAgYXN5bmMgY2hlY2soYWdlbmRhOiBhbnksIGZpbGVuYW1lOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmIChcbiAgICAgIGFnZW5kYS54c2lUeXBlICE9IFwic2VhbmNlX3R5cGVcIiB8fFxuICAgICAgYWdlbmRhLmxpZXUuY29kZSAhPSBcIkFOXCIgfHxcbiAgICAgIGFnZW5kYS5jeWNsZURlVmllLmV0YXQgPT0gXCJTdXBwcmltw6lcIiB8fFxuICAgICAgYWdlbmRhLmN5Y2xlRGVWaWUuZXRhdCA9PSBcIkFubnVsw6lcIlxuICAgIClcbiAgICAgIHJldHVybiBudWxsXG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnZlcmJvc2UpIGNvbnNvbGUubG9nKGBhZ2VuZGEtMDAwMDI6ICR7ZmlsZW5hbWV9YClcbiAgICBsZXQgc3RhdHVzID0gXCJva1wiXG4gICAgbGV0IGluZm86IGFueSA9IFtdXG5cbiAgICBjb25zdCBkYXRlU2VhbmNlID0gbmV3IERhdGUoYWdlbmRhLmlkZW50aWZpYW50cy5kYXRlU2VhbmNlLnN1YnN0cmluZygwLCAxMCkpXG4gICAgY29uc3QgeWVhciA9IGRhdGVTZWFuY2UudG9Mb2NhbGVEYXRlU3RyaW5nKFwiZnJcIiwgeyB5ZWFyOiBcIm51bWVyaWNcIiB9KVxuICAgIGNvbnN0IGRheSA9IGRhdGVTZWFuY2UudG9Mb2NhbGVEYXRlU3RyaW5nKFwiZnJcIiwgeyBkYXk6IFwiMi1kaWdpdFwiIH0pXG4gICAgY29uc3QgbW9udGggPSBkYXRlU2VhbmNlLnRvTG9jYWxlRGF0ZVN0cmluZyhcImZyXCIsIHsgbW9udGg6IFwibG9uZ1wiIH0pXG4gICAgY29uc3QgZGF0ZVNlYW5jZVN0cmluZyA9IGAke2RheX0gJHttb250aH0gJHt5ZWFyfWBcbiAgICB0aGlzLmZpbGVuYW1lMmRhdGVbZmlsZW5hbWVdID0gZGF0ZVNlYW5jZVN0cmluZ1xuXG4gICAgbGV0IGlkSm9cblxuICAgIGlmIChcbiAgICAgIGFnZW5kYS5pZGVudGlmaWFudHMgPT0gdW5kZWZpbmVkIHx8XG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLmlkSm8gPT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICBjb25zdCB3ZWVrID0gNyAqIDI0ICogNjAgKiA2MCAqIDEwMDBcbiAgICAgIGlmIChkYXRlU2VhbmNlID49IG5ldyBEYXRlKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gd2VlaykpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlkSm8gPSB1bmRlZmluZWRcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWRKbyA9IGFnZW5kYS5pZGVudGlmaWFudHMuaWRKb1xuICAgIH1cblxuICAgIGlmIChhZ2VuZGEudWlkIGluIHJlbWFwSm8pIHtcbiAgICAgIGlmIChpZEpvID09IHJlbWFwSm9bYWdlbmRhLnVpZF0pIHtcbiAgICAgICAgaW5mby5wdXNoKGBpZEpvIGFscmVhZHkgaXMgJHtpZEpvfWApXG4gICAgICAgIHN0YXR1cyA9IFwiYWxyZWFkeS1maXhlZFwiXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZEpvID0gcmVtYXBKb1thZ2VuZGEudWlkXVxuICAgICAgICBzdGF0dXMgPSBcIndpbGwtYmUtZml4ZWRcIlxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpZEpvID09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3RhdHVzOiBcIm5lZWRzLWZpeGluZ1wiLFxuICAgICAgICBpbmZvOiBbXCJpZEpvIGZpZWxkIGlzIG1pc3NpbmdcIl0sXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcGF0dGVybiA9IGAke3RoaXMub3B0aW9ucy5jcn0vKl8ke2lkSm99LmFzcGBcbiAgICBjb25zdCBleHBhbmRlZCA9IGdsb2Iuc3luYyhwYXR0ZXJuKVxuICAgIGxldCBjclxuICAgIGlmIChleHBhbmRlZC5sZW5ndGggPiAwKSBjciA9IGV4cGFuZGVkWzBdXG4gICAgZWxzZSBjciA9IHVuZGVmaW5lZFxuICAgIGlmIChjciAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY3IyZmlsZW5hbWVzW2NyXS5wdXNoKGZpbGVuYW1lKVxuXG4gICAgICBpZiAoZGF0ZVNlYW5jZVN0cmluZyAhPSB0aGlzLmNyMmRhdGVbY3JdKSB7XG4gICAgICAgIGluZm8ucHVzaChcbiAgICAgICAgICBgJHtQbHVnaW4uY29tcHRlc1JlbmR1c1VybHMoY3IpfSBtZXRhIFFVQU5USUVNRV9TRUFOQ0UgY29udGFpbnMgJHtcbiAgICAgICAgICAgIHRoaXMuY3IyZGF0ZVtjcl1cbiAgICAgICAgICB9IGluc3RlYWQgb2YgdGhlIGV4cGVjdGVkICR7ZGF0ZVNlYW5jZVN0cmluZ31gLFxuICAgICAgICApXG4gICAgICAgIHN0YXR1cyA9IFwibmVlZHMtZml4aW5nXCJcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHN0YXR1cyAhPSBcIndpbGwtYmUtZml4ZWRcIikge1xuICAgICAgICBpbmZvLnB1c2goYCR7cGF0dGVybn0gZG9lcyBub3QgZXhpc3RgKVxuICAgICAgICBzdGF0dXMgPSBcIm5lZWRzLWZpeGluZ1wiXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLCBpbmZvOiBpbmZvIH1cbiAgfVxuXG4gIGZpbmRDYW5kaWRhdGVzKGZpbGVuYW1lOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IGRhdGUgPSB0aGlzLmZpbGVuYW1lMmRhdGVbZmlsZW5hbWVdXG4gICAgaWYgKCEoZGF0ZSBpbiB0aGlzLmRhdGUyY3JzKSkgcmV0dXJuIFtdXG4gICAgbGV0IGNhbmRpZGF0ZXMgPSBbXVxuICAgIGZvciAoY29uc3QgY3Igb2YgdGhpcy5kYXRlMmNyc1tkYXRlXSkge1xuICAgICAgaWYgKHRoaXMuY3IyZmlsZW5hbWVzW2NyXS5sZW5ndGggPiAwKVxuICAgICAgICBjYW5kaWRhdGVzLnB1c2goXG4gICAgICAgICAgYCR7UGx1Z2luLmNvbXB0ZXNSZW5kdXNVcmxzKFxuICAgICAgICAgICAgY3IsXG4gICAgICAgICAgKX0gaXMgbm90IGEgY2FuZGlkYXRlIGJlY2F1c2UgaXQgaXMgcmVmZXJlbmNlZCBieSAke21hc3RlclVybChcbiAgICAgICAgICAgIHRoaXMuY3IyZmlsZW5hbWVzW2NyXSxcbiAgICAgICAgICApfWAsXG4gICAgICAgIClcbiAgICAgIGVsc2UgY2FuZGlkYXRlcy5wdXNoKGAke1BsdWdpbi5jb21wdGVzUmVuZHVzVXJscyhjcil9IGlzIGEgY2FuZGlkYXRlYClcbiAgICB9XG4gICAgcmV0dXJuIGNhbmRpZGF0ZXNcbiAgfVxuXG4gIGFzeW5jIHBvc3RDaGVjayhhbmFseXNpczogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBmb3IgKGNvbnN0IGZpbGVuYW1lIG9mIE9iamVjdC5rZXlzKGFuYWx5c2lzKSkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYW5hbHlzaXNbZmlsZW5hbWVdW1wiYWdlbmRhLTAwMDAyXCJdXG4gICAgICBpZiAocmVzdWx0ID09IG51bGwgfHwgcmVzdWx0W1wic3RhdHVzXCJdICE9IFwibmVlZHMtZml4aW5nXCIpIGNvbnRpbnVlXG4gICAgICBjb25zdCBpbmZvID0gcmVzdWx0W1wiaW5mb1wiXS5qb2luKFwiXCIpXG4gICAgICBpZiAoXG4gICAgICAgIGluZm8uaW5jbHVkZXMoXCJtZXRhIFFVQU5USUVNRVwiKSB8fFxuICAgICAgICBpbmZvLmluY2x1ZGVzKFwiaWRKbyBmaWVsZCBpcyBtaXNzaW5nXCIpXG4gICAgICApIHtcbiAgICAgICAgcmVzdWx0W1wiaW5mb1wiXSA9IHJlc3VsdFtcImluZm9cIl0uY29uY2F0KHRoaXMuZmluZENhbmRpZGF0ZXMoZmlsZW5hbWUpKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGZpeChhZ2VuZGE6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKCEoYWdlbmRhLnVpZCBpbiByZW1hcEpvKSkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBjb25zdCBpZEpvID0gcmVtYXBKb1thZ2VuZGEudWlkXVxuICAgIGNvbnN0IG51bVNlYW5jZUpvID0gU3RyaW5nKE51bWJlcihpZEpvLnN1YnN0cmluZyg1KSkpXG4gICAgaWYgKFxuICAgICAgYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvID09IGlkSm8gJiZcbiAgICAgIGFnZW5kYS5pZGVudGlmaWFudHMubnVtU2VhbmNlSm8gPT0gbnVtU2VhbmNlSm9cbiAgICApXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLmlkSm8gPSBpZEpvXG4gICAgYWdlbmRhLmlkZW50aWZpYW50cy5udW1TZWFuY2VKbyA9IG51bVNlYW5jZUpvXG4gICAgcmV0dXJuIHRydWVcbiAgfVxufVxuIl19
|
|
197
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWdzL2FnZW5kYS0wMDAwMi50cyJdLCJuYW1lcyI6WyJnbG9iIiwicGFyc2UiLCJmcyIsImdldEZpbGVzIiwiQmFzZVBsdWdpbiIsIm1hc3RlclVybCIsInJlbWFwSm8iLCJSVUFOUjVMMTVTMjAxN0lEUzIwNjY3IiwiUlVBTlI1TDE1UzIwMThJRFMyMDgxNyIsIlJVQU5SNUwxNVMyMDE4SURTMjA4NjQiLCJSVUFOUjVMMTVTMjAxOElEUzIwOTgxIiwiUlVBTlI1TDE1UzIwMTlJRFMyMTUwNyIsIlJVQU5SNUwxNVMyMDE5SURTMjE2MDgiLCJSVUFOUjVMMTVTMjAyMElEUzIxODQwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMTg0MSIsIlJVQU5SNUwxNVMyMDIwSURTMjE4NTkiLCJSVUFOUjVMMTVTMjAyMElEUzIxOTcwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMTk4MyIsIlJVQU5SNUwxNVMyMDIwSURTMjIwMTkiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDIwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMjAyMSIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTQiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU1IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA1NiIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTciLCJSVUFOUjVMMTVTMjAyMElEUzIyMDg3IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA4OSIsIlJVQU5SNUwxNVMyMDIwSURTMjIxMDYiLCJQbHVnaW4iLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJwcmVDaGVjayIsImNyIiwidW5kZWZpbmVkIiwiZmlsZW5hbWUyZGF0ZSIsImNyMmZpbGVuYW1lcyIsImRhdGUyY3JzIiwiY3IyZGF0ZSIsImNvbnRlbnQiLCJyZWFkRmlsZVN5bmMiLCJlbmNvZGluZyIsImRvYyIsInJvb3QiLCJmb3VuZCIsIm1ldGEiLCJxdWVyeVNlbGVjdG9yQWxsIiwiYXR0cmlidXRlcyIsImRhdGUiLCJzcGxpdCIsInNwbGljZSIsImpvaW4iLCJwdXNoIiwiY29uc29sZSIsImVycm9yIiwiY29tcHRlc1JlbmR1c1VybHMiLCJmaWxlbmFtZSIsInJlIiwibWF0Y2giLCJSZWdFeHAiLCJleGVjIiwiZmlsZSIsImNoZWNrIiwiYWdlbmRhIiwieHNpVHlwZSIsImxpZXUiLCJjb2RlIiwiY3ljbGVEZVZpZSIsImV0YXQiLCJ2ZXJib3NlIiwibG9nIiwic3RhdHVzIiwiaW5mbyIsImRhdGVTZWFuY2UiLCJEYXRlIiwiaWRlbnRpZmlhbnRzIiwic3Vic3RyaW5nIiwieWVhciIsInRvTG9jYWxlRGF0ZVN0cmluZyIsImRheSIsIm1vbnRoIiwiZGF0ZVNlYW5jZVN0cmluZyIsImlkSm8iLCJ3ZWVrIiwiZ2V0VGltZSIsInVpZCIsInBhdHRlcm4iLCJleHBhbmRlZCIsInN5bmMiLCJsZW5ndGgiLCJmaW5kQ2FuZGlkYXRlcyIsImNhbmRpZGF0ZXMiLCJwb3N0Q2hlY2siLCJhbmFseXNpcyIsIk9iamVjdCIsImtleXMiLCJyZXN1bHQiLCJpbmNsdWRlcyIsImNvbmNhdCIsImZpeCIsIm51bVNlYW5jZUpvIiwiU3RyaW5nIiwiTnVtYmVyIl0sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU9BLElBQVAsTUFBaUIsTUFBakI7QUFDQSxTQUFzQkMsS0FBdEIsUUFBNkMsa0JBQTdDO0FBQ0EsT0FBT0MsRUFBUCxNQUFlLFVBQWY7U0FDU0MsUTtTQUNBQyxVO1NBQ0FDLFM7QUFFVCxPQUFPLElBQUlDLE9BQVksR0FBRztBQUN4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFEQTtBQUV4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFGQTtBQUd4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFIQTtBQUl4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFKQTtBQUt4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFMQTtBQU14QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFOQTtBQU94QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFQQTtBQVF4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFSQTtBQVN4QkMsRUFBQUEsc0JB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LENBQU4sQ0FBZUUsTUFBZixDQUFzQixLQUFLUixjQUFMLENBQW9CbEMsUUFBcEIsQ0FBdEIsQ0FBakI7QUFDRDtBQUNGO0FBQ0Y7O0FBRVEsUUFBSDJDLEdBQUcsQ0FBQ3BDLE1BQUQsRUFBNEI7QUFDbkMsUUFBSSxFQUFFQSxNQUFNLENBQUNzQixHQUFQLElBQWM5RSxPQUFoQixDQUFKLEVBQThCO0FBQzVCLGFBQU8sSUFBUDtBQUNEOztBQUVELFVBQU0yRSxJQUFJLEdBQUczRSxPQUFPLENBQUN3RCxNQUFNLENBQUNzQixHQUFSLENBQXBCO0FBQ0EsVUFBTWUsV0FBVyxHQUFHQyxNQUFNLENBQUNDLE1BQU0sQ0FBQ3BCLElBQUksQ0FBQ04sU0FBTCxDQUFlLENBQWYsQ0FBRCxDQUFQLENBQTFCO0FBQ0EsUUFDRWIsTUFBTSxDQUFDWSxZQUFQLENBQW9CTyxJQUFwQixJQUE0QkEsSUFBNUIsSUFDQW5CLE1BQU0sQ0FBQ1ksWUFBUCxDQUFvQnlCLFdBQXBCLElBQW1DQSxXQUZyQyxFQUlFLE9BQU8sS0FBUDtBQUNGckMsSUFBQUEsTUFBTSxDQUFDWSxZQUFQLENBQW9CTyxJQUFwQixHQUEyQkEsSUFBM0I7QUFDQW5CLElBQUFBLE1BQU0sQ0FBQ1ksWUFBUCxDQUFvQnlCLFdBQXBCLEdBQWtDQSxXQUFsQztBQUNBLFdBQU8sSUFBUDtBQUNEOztBQW5Mb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2xvYiBmcm9tIFwiZ2xvYlwiXG5pbXBvcnQgeyBIVE1MRWxlbWVudCwgcGFyc2UsIFRleHROb2RlIH0gZnJvbSBcIm5vZGUtaHRtbC1wYXJzZXJcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgeyBnZXRGaWxlcyB9IGZyb20gXCIuLi9maWxlX3N5c3RlbXNcIlxuaW1wb3J0IHsgQmFzZVBsdWdpbiB9IGZyb20gXCIuLi9idWdzXCJcbmltcG9ydCB7IG1hc3RlclVybCB9IGZyb20gXCIuLi9kYXRhc2V0c1wiXG5cbmV4cG9ydCBsZXQgcmVtYXBKbzogYW55ID0ge1xuICBSVUFOUjVMMTVTMjAxN0lEUzIwNjY3OiBcIjIwMTcyMDAyXCIsXG4gIFJVQU5SNUwxNVMyMDE4SURTMjA4MTc6IFwiMjAxODAwODZcIixcbiAgUlVBTlI1TDE1UzIwMThJRFMyMDg2NDogXCIyMDE4MDEyMVwiLFxuICBSVUFOUjVMMTVTMjAxOElEUzIwOTgxOiBcIjIwMTgwMTc0XCIsXG4gIFJVQU5SNUwxNVMyMDE5SURTMjE1MDc6IFwiMjAxOTAxNTNcIixcbiAgUlVBTlI1TDE1UzIwMTlJRFMyMTYwODogXCIyMDE5MDIxOFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxODQwOiBcIjIwMjAwMDAyXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE4NDE6IFwiMjAyMDAwMDNcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTg1OTogXCIyMDIwMDAwMVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxOTcwOiBcIjIwMjAwMDkwXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE5ODM6IFwiMjAyMDAwOTJcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjAxOTogXCIyMDIwMDExN1wiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDIwOiBcIjIwMjAwMTE4XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwMjE6IFwiMjAyMDAxMTlcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NDogXCIyMDIwMDEzNFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDU1OiBcIjIwMjAwMTM1XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTY6IFwiMjAyMDAxMzZcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NzogXCIyMDIwMDEzN1wiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDg3OiBcIjIwMjAwMTM5XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwODk6IFwiMjAyMDAxNDBcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjEwNjogXCIyMDIwMDEyNVwiLFxufVxuXG5leHBvcnQgY2xhc3MgUGx1Z2luIGV4dGVuZHMgQmFzZVBsdWdpbiB7XG4gIGNyMmZpbGVuYW1lczogYW55XG4gIGRhdGUyY3JzOiBhbnlcbiAgY3IyZGF0ZTogYW55XG4gIGZpbGVuYW1lMmRhdGU6IGFueVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IGFueSkge1xuICAgIHN1cGVyKG9wdGlvbnMsIFwiYWdlbmRhLTAwMDAyXCIpXG4gIH1cblxuICBhc3luYyBwcmVDaGVjaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmNyID09IHVuZGVmaW5lZCkgdGhyb3cgXCItLWNyIGlzIHJlcXVpcmVkXCJcbiAgICB0aGlzLmZpbGVuYW1lMmRhdGUgPSB7fVxuICAgIHRoaXMuY3IyZmlsZW5hbWVzID0ge31cbiAgICB0aGlzLmRhdGUyY3JzID0ge31cbiAgICB0aGlzLmNyMmRhdGUgPSB7fVxuICAgIGZvciAoY29uc3QgY3Igb2YgZ2V0RmlsZXMoW2Ake3RoaXMub3B0aW9ucy5jcn0vKi5hc3BgXSkpIHtcbiAgICAgIHRoaXMuY3IyZmlsZW5hbWVzW2NyXSA9IFtdXG5cbiAgICAgIGNvbnN0IGNvbnRlbnQ6IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhjciwgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0pXG5cbiAgICAgIHR5cGUgUGFyc2VSZXN1bHQgPVxuICAgICAgICB8IChUZXh0Tm9kZSAmIHsgdmFsaWQ/OiBib29sZWFuIH0pXG4gICAgICAgIHwgKEhUTUxFbGVtZW50ICYgeyB2YWxpZD86IGJvb2xlYW4gfSlcbiAgICAgIGNvbnN0IGRvYzogUGFyc2VSZXN1bHQgPSBwYXJzZShjb250ZW50KVxuICAgICAgY29uc3Qgcm9vdCA9IGRvYyBhcyB1bmtub3duIGFzIEhUTUxFbGVtZW50XG4gICAgICBsZXQgZm91bmQgPSBmYWxzZVxuICAgICAgZm9yIChjb25zdCBtZXRhIG9mIHJvb3QucXVlcnlTZWxlY3RvckFsbChcIm1ldGFcIikpIHtcbiAgICAgICAgaWYgKG1ldGEuYXR0cmlidXRlc1tcIm5hbWVcIl0gPT0gXCJRVUFOVElFTUVfU0VBTkNFXCIpIHtcbiAgICAgICAgICBjb25zdCBkYXRlID0gbWV0YS5hdHRyaWJ1dGVzW1wiY29udGVudFwiXVxuICAgICAgICAgICAgLnNwbGl0KFwiIFwiKVxuICAgICAgICAgICAgLnNwbGljZSgtMylcbiAgICAgICAgICAgIC5qb2luKFwiIFwiKVxuICAgICAgICAgIGlmICghKGRhdGUgaW4gdGhpcy5kYXRlMmNycykpIHRoaXMuZGF0ZTJjcnNbZGF0ZV0gPSBbXVxuICAgICAgICAgIHRoaXMuZGF0ZTJjcnNbZGF0ZV0ucHVzaChjcilcbiAgICAgICAgICB0aGlzLmNyMmRhdGVbY3JdID0gZGF0ZVxuICAgICAgICAgIGZvdW5kID0gdHJ1ZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgJHtjcn0gaXMgbWlzc2luZyB0aGUgbWV0YSBuYW1lPVwiUVVBTlRJRU1FX1NFQU5DRVwiYClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgY29tcHRlc1JlbmR1c1VybHMoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmUgPSBcIl4uKi9jb21wdGVzLXJlbmR1cy8oLiopXCJcbiAgICBjb25zdCBtYXRjaCA9IG5ldyBSZWdFeHAocmUpLmV4ZWMoZmlsZW5hbWUpXG4gICAgaWYgKG1hdGNoID09IG51bGwpIHJldHVybiBmaWxlbmFtZVxuICAgIGNvbnN0IGZpbGUgPSBtYXRjaFsxXVxuICAgIHJldHVybiBgWyR7ZmlsZX1dKGh0dHBzOi8vZ2l0LmVuLXJvb3Qub3JnL3RyaWNvdGV1c2VzL2h0bWwvY29tcHRlcy1yZW5kdXMvLS90cmVlL21hc3Rlci8ke2ZpbGV9KWBcbiAgfVxuXG4gIGFzeW5jIGNoZWNrKGFnZW5kYTogYW55LCBmaWxlbmFtZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAoXG4gICAgICBhZ2VuZGEueHNpVHlwZSAhPSBcInNlYW5jZV90eXBlXCIgfHxcbiAgICAgIGFnZW5kYS5saWV1LmNvZGUgIT0gXCJBTlwiIHx8XG4gICAgICBhZ2VuZGEuY3ljbGVEZVZpZS5ldGF0ID09IFwiU3VwcHJpbcOpXCIgfHxcbiAgICAgIGFnZW5kYS5jeWNsZURlVmllLmV0YXQgPT0gXCJBbm51bMOpXCJcbiAgICApXG4gICAgICByZXR1cm4gbnVsbFxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy52ZXJib3NlKSBjb25zb2xlLmxvZyhgYWdlbmRhLTAwMDAyOiAke2ZpbGVuYW1lfWApXG4gICAgbGV0IHN0YXR1cyA9IFwib2tcIlxuICAgIGxldCBpbmZvOiBhbnkgPSBbXVxuXG4gICAgY29uc3QgZGF0ZVNlYW5jZSA9IG5ldyBEYXRlKGFnZW5kYS5pZGVudGlmaWFudHMuZGF0ZVNlYW5jZS5zdWJzdHJpbmcoMCwgMTApKVxuICAgIGNvbnN0IHllYXIgPSBkYXRlU2VhbmNlLnRvTG9jYWxlRGF0ZVN0cmluZyhcImZyXCIsIHsgeWVhcjogXCJudW1lcmljXCIgfSlcbiAgICBjb25zdCBkYXkgPSBkYXRlU2VhbmNlLnRvTG9jYWxlRGF0ZVN0cmluZyhcImZyXCIsIHsgZGF5OiBcIjItZGlnaXRcIiB9KVxuICAgIGNvbnN0IG1vbnRoID0gZGF0ZVNlYW5jZS50b0xvY2FsZURhdGVTdHJpbmcoXCJmclwiLCB7IG1vbnRoOiBcImxvbmdcIiB9KVxuICAgIGNvbnN0IGRhdGVTZWFuY2VTdHJpbmcgPSBgJHtkYXl9ICR7bW9udGh9ICR7eWVhcn1gXG4gICAgdGhpcy5maWxlbmFtZTJkYXRlW2ZpbGVuYW1lXSA9IGRhdGVTZWFuY2VTdHJpbmdcblxuICAgIGxldCBpZEpvXG5cbiAgICBpZiAoXG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzID09IHVuZGVmaW5lZCB8fFxuICAgICAgYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvID09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgY29uc3Qgd2VlayA9IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwXG4gICAgICBpZiAoZGF0ZVNlYW5jZSA+PSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHdlZWspKSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZEpvID0gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlkSm8gPSBhZ2VuZGEuaWRlbnRpZmlhbnRzLmlkSm9cbiAgICB9XG5cbiAgICBpZiAoYWdlbmRhLnVpZCBpbiByZW1hcEpvKSB7XG4gICAgICBpZiAoaWRKbyA9PSByZW1hcEpvW2FnZW5kYS51aWRdKSB7XG4gICAgICAgIGluZm8ucHVzaChgaWRKbyBhbHJlYWR5IGlzICR7aWRKb31gKVxuICAgICAgICBzdGF0dXMgPSBcImFscmVhZHktZml4ZWRcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWRKbyA9IHJlbWFwSm9bYWdlbmRhLnVpZF1cbiAgICAgICAgc3RhdHVzID0gXCJ3aWxsLWJlLWZpeGVkXCJcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaWRKbyA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1czogXCJuZWVkcy1maXhpbmdcIixcbiAgICAgICAgaW5mbzogW1wiaWRKbyBmaWVsZCBpcyBtaXNzaW5nXCJdLFxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHBhdHRlcm4gPSBgJHt0aGlzLm9wdGlvbnMuY3J9LypfJHtpZEpvfS5hc3BgXG4gICAgY29uc3QgZXhwYW5kZWQgPSBnbG9iLnN5bmMocGF0dGVybilcbiAgICBsZXQgY3JcbiAgICBpZiAoZXhwYW5kZWQubGVuZ3RoID4gMCkgY3IgPSBleHBhbmRlZFswXVxuICAgIGVsc2UgY3IgPSB1bmRlZmluZWRcbiAgICBpZiAoY3IgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0ucHVzaChmaWxlbmFtZSlcblxuICAgICAgaWYgKGRhdGVTZWFuY2VTdHJpbmcgIT0gdGhpcy5jcjJkYXRlW2NyXSkge1xuICAgICAgICBpbmZvLnB1c2goXG4gICAgICAgICAgYCR7UGx1Z2luLmNvbXB0ZXNSZW5kdXNVcmxzKGNyKX0gbWV0YSBRVUFOVElFTUVfU0VBTkNFIGNvbnRhaW5zICR7XG4gICAgICAgICAgICB0aGlzLmNyMmRhdGVbY3JdXG4gICAgICAgICAgfSBpbnN0ZWFkIG9mIHRoZSBleHBlY3RlZCAke2RhdGVTZWFuY2VTdHJpbmd9YCxcbiAgICAgICAgKVxuICAgICAgICBzdGF0dXMgPSBcIm5lZWRzLWZpeGluZ1wiXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzdGF0dXMgIT0gXCJ3aWxsLWJlLWZpeGVkXCIpIHtcbiAgICAgICAgaW5mby5wdXNoKGAke3BhdHRlcm59IGRvZXMgbm90IGV4aXN0YClcbiAgICAgICAgc3RhdHVzID0gXCJuZWVkcy1maXhpbmdcIlxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cywgaW5mbzogaW5mbyB9XG4gIH1cblxuICBmaW5kQ2FuZGlkYXRlcyhmaWxlbmFtZTogYW55KTogYW55IHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5maWxlbmFtZTJkYXRlW2ZpbGVuYW1lXVxuICAgIGlmICghKGRhdGUgaW4gdGhpcy5kYXRlMmNycykpIHJldHVybiBbXVxuICAgIGxldCBjYW5kaWRhdGVzID0gW11cbiAgICBmb3IgKGNvbnN0IGNyIG9mIHRoaXMuZGF0ZTJjcnNbZGF0ZV0pIHtcbiAgICAgIGlmICh0aGlzLmNyMmZpbGVuYW1lc1tjcl0ubGVuZ3RoID4gMClcbiAgICAgICAgY2FuZGlkYXRlcy5wdXNoKFxuICAgICAgICAgIGAke1BsdWdpbi5jb21wdGVzUmVuZHVzVXJscyhcbiAgICAgICAgICAgIGNyLFxuICAgICAgICAgICl9IGlzIG5vdCBhIGNhbmRpZGF0ZSBiZWNhdXNlIGl0IGlzIHJlZmVyZW5jZWQgYnkgJHttYXN0ZXJVcmwoXG4gICAgICAgICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0sXG4gICAgICAgICAgKX1gLFxuICAgICAgICApXG4gICAgICBlbHNlIGNhbmRpZGF0ZXMucHVzaChgJHtQbHVnaW4uY29tcHRlc1JlbmR1c1VybHMoY3IpfSBpcyBhIGNhbmRpZGF0ZWApXG4gICAgfVxuICAgIHJldHVybiBjYW5kaWRhdGVzXG4gIH1cblxuICBhc3luYyBwb3N0Q2hlY2soYW5hbHlzaXM6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBPYmplY3Qua2V5cyhhbmFseXNpcykpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGFuYWx5c2lzW2ZpbGVuYW1lXVtcImFnZW5kYS0wMDAwMlwiXVxuICAgICAgaWYgKHJlc3VsdCA9PSBudWxsIHx8IHJlc3VsdFtcInN0YXR1c1wiXSAhPSBcIm5lZWRzLWZpeGluZ1wiKSBjb250aW51ZVxuICAgICAgY29uc3QgaW5mbyA9IHJlc3VsdFtcImluZm9cIl0uam9pbihcIlwiKVxuICAgICAgaWYgKFxuICAgICAgICBpbmZvLmluY2x1ZGVzKFwibWV0YSBRVUFOVElFTUVcIikgfHxcbiAgICAgICAgaW5mby5pbmNsdWRlcyhcImlkSm8gZmllbGQgaXMgbWlzc2luZ1wiKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3VsdFtcImluZm9cIl0gPSByZXN1bHRbXCJpbmZvXCJdLmNvbmNhdCh0aGlzLmZpbmRDYW5kaWRhdGVzKGZpbGVuYW1lKSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBmaXgoYWdlbmRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICghKGFnZW5kYS51aWQgaW4gcmVtYXBKbykpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgaWRKbyA9IHJlbWFwSm9bYWdlbmRhLnVpZF1cbiAgICBjb25zdCBudW1TZWFuY2VKbyA9IFN0cmluZyhOdW1iZXIoaWRKby5zdWJzdHJpbmcoNSkpKVxuICAgIGlmIChcbiAgICAgIGFnZW5kYS5pZGVudGlmaWFudHMuaWRKbyA9PSBpZEpvICYmXG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpvID09IG51bVNlYW5jZUpvXG4gICAgKVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvID0gaWRKb1xuICAgIGFnZW5kYS5pZGVudGlmaWFudHMubnVtU2VhbmNlSm8gPSBudW1TZWFuY2VKb1xuICAgIHJldHVybiB0cnVlXG4gIH1cbn1cbiJdfQ==
|
package/lib/bugs/agenda-00008.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
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); }
|
|
4
4
|
|
|
5
5
|
require("core-js/modules/es.object.to-string.js");
|
|
6
6
|
|
|
7
7
|
require("core-js/modules/es.reflect.construct.js");
|
|
8
8
|
|
|
9
|
-
require("core-js/modules/es.object.create.js");
|
|
10
|
-
|
|
11
9
|
require("core-js/modules/es.object.define-property.js");
|
|
12
10
|
|
|
11
|
+
require("core-js/modules/es.object.create.js");
|
|
12
|
+
|
|
13
13
|
require("core-js/modules/es.promise.js");
|
|
14
14
|
|
|
15
15
|
require("core-js/modules/es.symbol.js");
|
|
@@ -47,9 +47,9 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
47
47
|
|
|
48
48
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
49
49
|
|
|
50
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
50
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
51
51
|
|
|
52
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass
|
|
52
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
53
53
|
|
|
54
54
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
55
55
|
|
package/lib/bugs/agenda-00011.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
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); }
|
|
4
4
|
|
|
5
5
|
require("core-js/modules/es.object.set-prototype-of.js");
|
|
6
6
|
|
|
@@ -61,9 +61,9 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
61
61
|
|
|
62
62
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
63
63
|
|
|
64
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
64
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
65
65
|
|
|
66
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass
|
|
66
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
67
67
|
|
|
68
68
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
69
69
|
|
package/lib/bugs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
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); }
|
|
4
4
|
|
|
5
5
|
require("core-js/modules/es.promise.js");
|
|
6
6
|
|
|
@@ -71,7 +71,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
71
71
|
|
|
72
72
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
73
73
|
|
|
74
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
74
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
75
75
|
|
|
76
76
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
77
77
|
|
package/lib/cleaners/acteurs.js
CHANGED
|
@@ -54,7 +54,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
54
54
|
|
|
55
55
|
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; }
|
|
56
56
|
|
|
57
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
57
|
+
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); }
|
|
58
58
|
|
|
59
59
|
function cleanActeur(acteur) {
|
|
60
60
|
(0, _xml.cleanXmlArtefacts)(acteur);
|
|
@@ -293,6 +293,43 @@ function cleanActeur(acteur) {
|
|
|
293
293
|
return a.uid.length === b.uid.length ? a.uid.localeCompare(b.uid) : a.uid.length - b.uid.length;
|
|
294
294
|
});
|
|
295
295
|
}
|
|
296
|
+
|
|
297
|
+
var deports = acteur.deports;
|
|
298
|
+
|
|
299
|
+
if (deports !== undefined) {
|
|
300
|
+
var deport = deports.deport;
|
|
301
|
+
|
|
302
|
+
if (Array.isArray(deport)) {
|
|
303
|
+
deports = acteur.deports = deport;
|
|
304
|
+
} else if (_typeof(deport) === "object") {
|
|
305
|
+
deports = acteur.deports = [deport];
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
var _iterator5 = _createForOfIteratorHelper(deports),
|
|
309
|
+
_step5;
|
|
310
|
+
|
|
311
|
+
try {
|
|
312
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
313
|
+
var _deport = _step5.value;
|
|
314
|
+
(0, _xml.cleanXmlArtefacts)(_deport);
|
|
315
|
+
var cible = _deport.cible;
|
|
316
|
+
{
|
|
317
|
+
(0, _xml.cleanXmlArtefacts)(cible);
|
|
318
|
+
|
|
319
|
+
_assert["default"].strictEqual(cible.references, undefined);
|
|
320
|
+
}
|
|
321
|
+
} // Sort deports to ease comparison of different open data files.
|
|
322
|
+
|
|
323
|
+
} catch (err) {
|
|
324
|
+
_iterator5.e(err);
|
|
325
|
+
} finally {
|
|
326
|
+
_iterator5.f();
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
deports.sort(function (a, b) {
|
|
330
|
+
return a.uid.length === b.uid.length ? a.uid.localeCompare(b.uid) : a.uid.length - b.uid.length;
|
|
331
|
+
});
|
|
332
|
+
}
|
|
296
333
|
}
|
|
297
334
|
|
|
298
335
|
function cleanRapporteur(rapporteur) {
|
|
@@ -303,4 +340,4 @@ function cleanRapporteur(rapporteur) {
|
|
|
303
340
|
rapporteur.etudePlfRef = etudePlfRef;
|
|
304
341
|
}
|
|
305
342
|
}
|
|
306
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9hY3RldXJzLnRzIl0sIm5hbWVzIjpbImNsZWFuQWN0ZXVyIiwiYWN0ZXVyIiwiYXNzZXJ0Iiwic3RyaWN0RXF1YWwiLCJ1aWQiLCJldGF0Q2l2aWwiLCJpZGVudCIsImluZm9OYWlzc2FuY2UiLCJwcm9mZXNzaW9uIiwidW5kZWZpbmVkIiwic29jUHJvY0luc2VlIiwic29jUHJvY0lOU0VFIiwidXJpSGF0dnAiLCJ1cmlfaGF0dnAiLCJhZHJlc3NlcyIsImFkcmVzc2UiLCJBcnJheSIsImlzQXJyYXkiLCJub3RTdHJpY3RFcXVhbCIsInhzaVR5cGUiLCJpbmNsdWRlcyIsInR5cGUiLCJ0eXBlTGliZWxsZSIsImFkcmVzc2VEZVJhdHRhY2hlbWVudCIsIm1hbmRhdHMiLCJtYW5kYXQiLCJpbmZvc1F1YWxpdGUiLCJvcmdhbmVzIiwib3JnYW5lc1JlZnMiLCJvcmdhbmVSZWYiLCJzdXBwbGVhbnQiLCJzdXBwbGVhbnRzIiwiZWxlY3Rpb24iLCJsaWV1IiwibWFuZGF0dXJlIiwiY2hhbWJyZSIsImNvbGxhYm9yYXRldXJzIiwiY29sbGFib3JhdGV1cnNBcnJheSIsImZpbHRlciIsImNvbGxhYm9yYXRldXIiLCJtYXAiLCJjb2xsYWJvcmF0ZXVySXRlbSIsInB1c2giLCJsZW5ndGgiLCJkYXRlRGVidXQiLCJkYXRlRmluIiwiaW5mb3NIb3JzU2lhbiIsIkluZm9zSG9yc1NJQU4iLCJIQVRWUF9VUkkiLCJPYmplY3QiLCJrZXlzIiwic29ydCIsImEiLCJiIiwibG9jYWxlQ29tcGFyZSIsImNsZWFuUmFwcG9ydGV1ciIsInJhcHBvcnRldXIiLCJldHVkZVBsZlJlZiIsImV0dWRlUExGUmVmIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOzs7Ozs7Ozs7Ozs7QUFFTyxTQUFTQSxXQUFULENBQXFCQyxNQUFyQixFQUF3QztBQUM3Qyw4QkFBa0JBLE1BQWxC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c0NBQWtCcUMsYUFBbEI7O0FBRUE1Qyw2QkFBT0MsV0FBUCxDQUFtQjJDLGFBQWEsQ0FBQ0UsU0FBakMsRUFBNEN2QyxTQUE1Qzs7QUFDQVAsNkJBQU9DLFdBQVAsQ0FBbUI4QyxNQUFNLENBQUNDLElBQVAsQ0FBWUosYUFBWixFQUEyQkgsTUFBOUMsRUFBc0QsQ0FBdEQ7O0FBQ0EsaUJBQU9sQixNQUFNLENBQUNzQixhQUFkO0FBQ0Q7QUFoR3NCOztBQVF6Qiw2REFBOEI7QUFBQTtBQXlGN0IsT0FqR3dCLENBbUd6Qjs7QUFuR3lCO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBb0d6QnZCLElBQUFBLE9BQU8sQ0FBQzJCLElBQVIsQ0FBYSxVQUFDQyxDQUFELEVBQXFCQyxDQUFyQjtBQUFBLGFBQ1hELENBQUMsQ0FBQ2hELEdBQUYsQ0FBTXVDLE1BQU4sS0FBaUJVLENBQUMsQ0FBQ2pELEdBQUYsQ0FBTXVDLE1BQXZCLEdBQ0lTLENBQUMsQ0FBQ2hELEdBQUYsQ0FBTWtELGFBQU4sQ0FBb0JELENBQUMsQ0FBQ2pELEdBQXRCLENBREosR0FFSWdELENBQUMsQ0FBQ2hELEdBQUYsQ0FBTXVDLE1BQU4sR0FBZVUsQ0FBQyxDQUFDakQsR0FBRixDQUFNdUMsTUFIZDtBQUFBLEtBQWI7QUFLRDtBQUNGOztBQUVNLFNBQVNZLGVBQVQsQ0FBeUJDLFVBQXpCLEVBQTBDO0FBQy9DLE1BQU1DLFdBQVcsR0FBR0QsVUFBVSxDQUFDRSxXQUEvQjs7QUFDQSxNQUFJRixVQUFVLENBQUNFLFdBQVgsS0FBMkJqRCxTQUEvQixFQUEwQztBQUN4QyxXQUFPK0MsVUFBVSxDQUFDRSxXQUFsQjtBQUNBRixJQUFBQSxVQUFVLENBQUNDLFdBQVgsR0FBeUJBLFdBQXpCO0FBQ0Q7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQWN0ZXVyKGFjdGV1cjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKGFjdGV1cilcblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoYWN0ZXVyLnVpZFtcIkB4c2k6dHlwZVwiXSwgXCJJZEFjdGV1cl90eXBlXCIpXG4gIGFjdGV1ci51aWQgPSBhY3RldXIudWlkW1wiI3RleHRcIl1cbiAgYXNzZXJ0KGFjdGV1ci51aWQpXG5cbiAgY29uc3QgZXRhdENpdmlsID0gYWN0ZXVyLmV0YXRDaXZpbFxuICB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoZXRhdENpdmlsKVxuXG4gICAgY29uc3QgaWRlbnQgPSBldGF0Q2l2aWwuaWRlbnRcbiAgICB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhpZGVudClcblxuICAgICAgY29uc3QgaW5mb05haXNzYW5jZSA9IGV0YXRDaXZpbC5pbmZvTmFpc3NhbmNlXG4gICAgICB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGluZm9OYWlzc2FuY2UpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcHJvZmVzc2lvbiA9IGFjdGV1ci5wcm9mZXNzaW9uXG4gIGlmIChwcm9mZXNzaW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhwcm9mZXNzaW9uKVxuXG4gICAgY29uc3Qgc29jUHJvY0luc2VlID0gcHJvZmVzc2lvbi5zb2NQcm9jSU5TRUVcbiAgICBhc3NlcnQoc29jUHJvY0luc2VlKVxuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHNvY1Byb2NJbnNlZSlcbiAgICBkZWxldGUgcHJvZmVzc2lvbi5zb2NQcm9jSU5TRUVcbiAgICBwcm9mZXNzaW9uLnNvY1Byb2NJbnNlZSA9IHNvY1Byb2NJbnNlZVxuICB9XG5cbiAgY29uc3QgdXJpSGF0dnAgPSBhY3RldXIudXJpX2hhdHZwXG4gIGlmICh1cmlIYXR2cCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYWN0ZXVyLnVyaUhhdHZwID0gdXJpSGF0dnBcbiAgICBkZWxldGUgYWN0ZXVyLnVyaV9oYXR2cFxuICB9XG5cbiAgbGV0IGFkcmVzc2VzID0gYWN0ZXVyLmFkcmVzc2VzXG4gIGlmIChhZHJlc3NlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYWRyZXNzZXMgPSBhZHJlc3Nlcy5hZHJlc3NlXG4gICAgaWYgKGFkcmVzc2VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlbGV0ZSBhY3RldXIuYWRyZXNzZXNcbiAgICAgIGFkcmVzc2VzID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGFkcmVzc2VzKSkge1xuICAgICAgYWN0ZXVyLmFkcmVzc2VzID0gYWRyZXNzZXNcbiAgICB9IGVsc2Uge1xuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFkcmVzc2VzLCBudWxsKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBhZHJlc3NlcywgXCJvYmplY3RcIilcbiAgICAgIGFjdGV1ci5hZHJlc3NlcyA9IGFkcmVzc2VzID0gW2FkcmVzc2VzXVxuICAgIH1cbiAgICBpZiAoYWRyZXNzZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9yIChjb25zdCBhZHJlc3NlIG9mIGFkcmVzc2VzKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGFkcmVzc2UpXG5cbiAgICAgICAgY29uc3QgeHNpVHlwZSA9IGFkcmVzc2VbXCJAeHNpOnR5cGVcIl1cbiAgICAgICAgYXNzZXJ0KFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIFwiQWRyZXNzZU1haWxfVHlwZVwiLFxuICAgICAgICAgICAgXCJBZHJlc3NlUG9zdGFsZV9UeXBlXCIsXG4gICAgICAgICAgICBcIkFkcmVzc2VTaXRlV2ViX1R5cGVcIixcbiAgICAgICAgICAgIFwiQWRyZXNzZVRlbGVwaG9uaXF1ZV9UeXBlXCIsXG4gICAgICAgICAgXS5pbmNsdWRlcyh4c2lUeXBlKSxcbiAgICAgICAgICBgVW5leHBlY3RlZCBcIkB4c2k6dHlwZVwiOiAke3hzaVR5cGV9YCxcbiAgICAgICAgKVxuICAgICAgICBhZHJlc3NlLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgICAgIGRlbGV0ZSBhZHJlc3NlW1wiQHhzaTp0eXBlXCJdXG5cbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFkcmVzc2UudWlkLCB1bmRlZmluZWQpXG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhZHJlc3NlLnR5cGUsIHVuZGVmaW5lZClcbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFkcmVzc2UudHlwZUxpYmVsbGUsIHVuZGVmaW5lZClcblxuICAgICAgICBpZiAoeHNpVHlwZSA9PT0gXCJBZHJlc3NlUG9zdGFsZV9UeXBlXCIpIHtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWRyZXNzZS5hZHJlc3NlRGVSYXR0YWNoZW1lbnQsIHVuZGVmaW5lZClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCBtYW5kYXRzID0gYWN0ZXVyLm1hbmRhdHNcbiAgaWYgKG1hbmRhdHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBtYW5kYXQgPSBtYW5kYXRzLm1hbmRhdFxuICAgIGlmIChBcnJheS5pc0FycmF5KG1hbmRhdCkpIHtcbiAgICAgIG1hbmRhdHMgPSBhY3RldXIubWFuZGF0cyA9IG1hbmRhdFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIG1hbmRhdCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgbWFuZGF0cyA9IGFjdGV1ci5tYW5kYXRzID0gW21hbmRhdF1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1hbmRhdCBvZiBtYW5kYXRzKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhtYW5kYXQpXG5cbiAgICAgIGNvbnN0IHhzaVR5cGUgPSBtYW5kYXRbXCJAeHNpOnR5cGVcIl1cbiAgICAgIGlmICh4c2lUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbWFuZGF0LnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgICAgIGRlbGV0ZSBtYW5kYXRbXCJAeHNpOnR5cGVcIl1cbiAgICAgIH1cblxuICAgICAgY29uc3QgaW5mb3NRdWFsaXRlID0gbWFuZGF0LmluZm9zUXVhbGl0ZVxuICAgICAge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhpbmZvc1F1YWxpdGUpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG9yZ2FuZXMgPSBtYW5kYXQub3JnYW5lc1xuICAgICAgZGVsZXRlIG1hbmRhdC5vcmdhbmVzXG4gICAgICBsZXQgb3JnYW5lc1JlZnMgPSBvcmdhbmVzLm9yZ2FuZVJlZlxuICAgICAgYXNzZXJ0KG9yZ2FuZXNSZWZzKVxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG9yZ2FuZXNSZWZzKSkge1xuICAgICAgICBvcmdhbmVzUmVmcyA9IFtvcmdhbmVzUmVmc11cbiAgICAgIH1cbiAgICAgIG1hbmRhdC5vcmdhbmVzUmVmcyA9IG9yZ2FuZXNSZWZzXG5cbiAgICAgIGxldCBzdXBwbGVhbnQgPSBtYW5kYXQuc3VwcGxlYW50c1xuICAgICAgZGVsZXRlIG1hbmRhdC5zdXBwbGVhbnRzXG4gICAgICBpZiAoc3VwcGxlYW50KSB7XG4gICAgICAgIHN1cHBsZWFudCA9IHN1cHBsZWFudC5zdXBwbGVhbnRcbiAgICAgICAgYXNzZXJ0KHN1cHBsZWFudClcbiAgICAgICAgbWFuZGF0LnN1cHBsZWFudCA9IHN1cHBsZWFudFxuXG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHN1cHBsZWFudClcbiAgICAgIH1cblxuICAgICAgY29uc3QgZWxlY3Rpb24gPSBtYW5kYXQuZWxlY3Rpb25cbiAgICAgIGlmIChlbGVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGVsZWN0aW9uKVxuXG4gICAgICAgIGNvbnN0IGxpZXUgPSBlbGVjdGlvbi5saWV1XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGxpZXUpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1hbmRhdHVyZSA9IG1hbmRhdC5tYW5kYXR1cmVcbiAgICAgIGlmIChtYW5kYXR1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhtYW5kYXR1cmUpXG4gICAgICB9XG5cbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChtYW5kYXQuY2hhbWJyZSwgdW5kZWZpbmVkKVxuXG4gICAgICAvLyBSZXBsYWNlIGNvbGxhYm9yYXRldXJzIHdpdGggYW4gYXJyYXkgb2YgY29sbGFib3JhdGV1cnMuXG4gICAgICBsZXQgY29sbGFib3JhdGV1cnMgPSBtYW5kYXQuY29sbGFib3JhdGV1cnNcbiAgICAgIGlmIChjb2xsYWJvcmF0ZXVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGNvbGxhYm9yYXRldXJzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNvbGxhYm9yYXRldXJzKVxuICAgICAgICAgID8gY29sbGFib3JhdGV1cnMuZmlsdGVyKChjb2xsYWJvcmF0ZXVyKSA9PiBjb2xsYWJvcmF0ZXVyICE9PSBudWxsKVxuICAgICAgICAgIDogW2NvbGxhYm9yYXRldXJzXVxuICAgICAgICBjb2xsYWJvcmF0ZXVycyA9IFtdXG4gICAgICAgIGNvbGxhYm9yYXRldXJzQXJyYXkubWFwKCh7IGNvbGxhYm9yYXRldXIgfSkgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbGxhYm9yYXRldXIpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNvbGxhYm9yYXRldXJJdGVtIG9mIGNvbGxhYm9yYXRldXIpIHtcbiAgICAgICAgICAgICAgaWYgKGNvbGxhYm9yYXRldXJJdGVtICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29sbGFib3JhdGV1cnMucHVzaChjb2xsYWJvcmF0ZXVySXRlbSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoY29sbGFib3JhdGV1cikge1xuICAgICAgICAgICAgY29sbGFib3JhdGV1cnMucHVzaChjb2xsYWJvcmF0ZXVyKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGNvbGxhYm9yYXRldXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIGRlbGV0ZSBtYW5kYXQuY29sbGFib3JhdGV1cnNcbiAgICAgICAgICBjb2xsYWJvcmF0ZXVycyA9IHVuZGVmaW5lZFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1hbmRhdC5jb2xsYWJvcmF0ZXVycyA9IGNvbGxhYm9yYXRldXJzXG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGNvbGxhYm9yYXRldXIgb2YgY29sbGFib3JhdGV1cnMgfHwgW10pIHtcbiAgICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhjb2xsYWJvcmF0ZXVyKVxuXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvbGxhYm9yYXRldXIuZGF0ZURlYnV0LCB1bmRlZmluZWQpXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvbGxhYm9yYXRldXIuZGF0ZUZpbiwgdW5kZWZpbmVkKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGluZm9zSG9yc1NpYW4gPSBtYW5kYXQuSW5mb3NIb3JzU0lBTlxuICAgICAgaWYgKGluZm9zSG9yc1NpYW4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhpbmZvc0hvcnNTaWFuKVxuXG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChpbmZvc0hvcnNTaWFuLkhBVFZQX1VSSSwgdW5kZWZpbmVkKVxuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoT2JqZWN0LmtleXMoaW5mb3NIb3JzU2lhbikubGVuZ3RoLCAwKVxuICAgICAgICBkZWxldGUgbWFuZGF0LkluZm9zSG9yc1NJQU5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3J0IG1hbmRhdHMgdG8gZWFzZSBjb21wYXJpc29uIG9mIGRpZmZlcmVudCBvcGVuIGRhdGEgZmlsZXMuXG4gICAgbWFuZGF0cy5zb3J0KChhOiB7IHVpZDogc3RyaW5nIH0sIGI6IHsgdWlkOiBzdHJpbmcgfSkgPT5cbiAgICAgIGEudWlkLmxlbmd0aCA9PT0gYi51aWQubGVuZ3RoXG4gICAgICAgID8gYS51aWQubG9jYWxlQ29tcGFyZShiLnVpZClcbiAgICAgICAgOiBhLnVpZC5sZW5ndGggLSBiLnVpZC5sZW5ndGgsXG4gICAgKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblJhcHBvcnRldXIocmFwcG9ydGV1cjogYW55KSB7XG4gIGNvbnN0IGV0dWRlUGxmUmVmID0gcmFwcG9ydGV1ci5ldHVkZVBMRlJlZlxuICBpZiAocmFwcG9ydGV1ci5ldHVkZVBMRlJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZGVsZXRlIHJhcHBvcnRldXIuZXR1ZGVQTEZSZWZcbiAgICByYXBwb3J0ZXVyLmV0dWRlUGxmUmVmID0gZXR1ZGVQbGZSZWZcbiAgfVxufVxuIl19
|
|
343
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9hY3RldXJzLnRzIl0sIm5hbWVzIjpbImNsZWFuQWN0ZXVyIiwiYWN0ZXVyIiwiYXNzZXJ0Iiwic3RyaWN0RXF1YWwiLCJ1aWQiLCJldGF0Q2l2aWwiLCJpZGVudCIsImluZm9OYWlzc2FuY2UiLCJwcm9mZXNzaW9uIiwidW5kZWZpbmVkIiwic29jUHJvY0luc2VlIiwic29jUHJvY0lOU0VFIiwidXJpSGF0dnAiLCJ1cmlfaGF0dnAiLCJhZHJlc3NlcyIsImFkcmVzc2UiLCJBcnJheSIsImlzQXJyYXkiLCJub3RTdHJpY3RFcXVhbCIsInhzaVR5cGUiLCJpbmNsdWRlcyIsInR5cGUiLCJ0eXBlTGliZWxsZSIsImFkcmVzc2VEZVJhdHRhY2hlbWVudCIsIm1hbmRhdHMiLCJtYW5kYXQiLCJpbmZvc1F1YWxpdGUiLCJvcmdhbmVzIiwib3JnYW5lc1JlZnMiLCJvcmdhbmVSZWYiLCJzdXBwbGVhbnQiLCJzdXBwbGVhbnRzIiwiZWxlY3Rpb24iLCJsaWV1IiwibWFuZGF0dXJlIiwiY2hhbWJyZSIsImNvbGxhYm9yYXRldXJzIiwiY29sbGFib3JhdGV1cnNBcnJheSIsImZpbHRlciIsImNvbGxhYm9yYXRldXIiLCJtYXAiLCJjb2xsYWJvcmF0ZXVySXRlbSIsInB1c2giLCJsZW5ndGgiLCJkYXRlRGVidXQiLCJkYXRlRmluIiwiaW5mb3NIb3JzU2lhbiIsIkluZm9zSG9yc1NJQU4iLCJIQVRWUF9VUkkiLCJPYmplY3QiLCJrZXlzIiwic29ydCIsImEiLCJiIiwibG9jYWxlQ29tcGFyZSIsImRlcG9ydHMiLCJkZXBvcnQiLCJjaWJsZSIsInJlZmVyZW5jZXMiLCJjbGVhblJhcHBvcnRldXIiLCJyYXBwb3J0ZXVyIiwiZXR1ZGVQbGZSZWYiLCJldHVkZVBMRlJlZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FBRU8sU0FBU0EsV0FB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QUFDc0QsT0FBUCxHQUFpQixDQUFDQyxNQUFELENBQTNCO0FBQ0Q7O0FBTndCLGdEQVFKRCxPQVJJO0FBQUE7O0FBQUE7QUFRekIsNkRBQThCO0FBQUEsWUFBbkJDLE9BQW1CO0FBQzVCLG9DQUFrQkEsT0FBbEI7QUFFQSxZQUFNQyxLQUFLLEdBQUdELE9BQU0sQ0FBQ0MsS0FBckI7QUFDQTtBQUNFLHNDQUFrQkEsS0FBbEI7O0FBRUF2RCw2QkFBT0MsV0FBUCxDQUFtQnNELEtBQUssQ0FBQ0MsVUFBekIsRUFBcUNqRCxTQUFyQztBQUNEO0FBQ0YsT0FqQndCLENBbUJ6Qjs7QUFuQnlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBb0J6QjhDLElBQUFBLE9BQU8sQ0FBQ0osSUFBUixDQUFhLFVBQUNDLENBQUQsRUFBcUJDLENBQXJCO0FBQUEsYUFDWEQsQ0FBQyxDQUFDaEQsR0FBRixDQUFNdUMsTUFBTixLQUFpQlUsQ0FBQyxDQUFDakQsR0FBRixDQUFNdUMsTUFBdkIsR0FDSVMsQ0FBQyxDQUFDaEQsR0FBRixDQUFNa0QsYUFBTixDQUFvQkQsQ0FBQyxDQUFDakQsR0FBdEIsQ0FESixHQUVJZ0QsQ0FBQyxDQUFDaEQsR0FBRixDQUFNdUMsTUFBTixHQUFlVSxDQUFDLENBQUNqRCxHQUFGLENBQU11QyxNQUhkO0FBQUEsS0FBYjtBQUtEO0FBQ0Y7O0FBRU0sU0FBU2dCLGVBQVQsQ0FBeUJDLFVBQXpCLEVBQTBDO0FBQy9DLE1BQU1DLFdBQVcsR0FBR0QsVUFBVSxDQUFDRSxXQUEvQjs7QUFDQSxNQUFJRixVQUFVLENBQUNFLFdBQVgsS0FBMkJyRCxTQUEvQixFQUEwQztBQUN4QyxXQUFPbUQsVUFBVSxDQUFDRSxXQUFsQjtBQUNBRixJQUFBQSxVQUFVLENBQUNDLFdBQVgsR0FBeUJBLFdBQXpCO0FBQ0Q7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQWN0ZXVyKGFjdGV1cjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKGFjdGV1cilcblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoYWN0ZXVyLnVpZFtcIkB4c2k6dHlwZVwiXSwgXCJJZEFjdGV1cl90eXBlXCIpXG4gIGFjdGV1ci51aWQgPSBhY3RldXIudWlkW1wiI3RleHRcIl1cbiAgYXNzZXJ0KGFjdGV1ci51aWQpXG5cbiAgY29uc3QgZXRhdENpdmlsID0gYWN0ZXVyLmV0YXRDaXZpbFxuICB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoZXRhdENpdmlsKVxuXG4gICAgY29uc3QgaWRlbnQgPSBldGF0Q2l2aWwuaWRlbnRcbiAgICB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhpZGVudClcblxuICAgICAgY29uc3QgaW5mb05haXNzYW5jZSA9IGV0YXRDaXZpbC5pbmZvTmFpc3NhbmNlXG4gICAgICB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGluZm9OYWlzc2FuY2UpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcHJvZmVzc2lvbiA9IGFjdGV1ci5wcm9mZXNzaW9uXG4gIGlmIChwcm9mZXNzaW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhwcm9mZXNzaW9uKVxuXG4gICAgY29uc3Qgc29jUHJvY0luc2VlID0gcHJvZmVzc2lvbi5zb2NQcm9jSU5TRUVcbiAgICBhc3NlcnQoc29jUHJvY0luc2VlKVxuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHNvY1Byb2NJbnNlZSlcbiAgICBkZWxldGUgcHJvZmVzc2lvbi5zb2NQcm9jSU5TRUVcbiAgICBwcm9mZXNzaW9uLnNvY1Byb2NJbnNlZSA9IHNvY1Byb2NJbnNlZVxuICB9XG5cbiAgY29uc3QgdXJpSGF0dnAgPSBhY3RldXIudXJpX2hhdHZwXG4gIGlmICh1cmlIYXR2cCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYWN0ZXVyLnVyaUhhdHZwID0gdXJpSGF0dnBcbiAgICBkZWxldGUgYWN0ZXVyLnVyaV9oYXR2cFxuICB9XG5cbiAgbGV0IGFkcmVzc2VzID0gYWN0ZXVyLmFkcmVzc2VzXG4gIGlmIChhZHJlc3NlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYWRyZXNzZXMgPSBhZHJlc3Nlcy5hZHJlc3NlXG4gICAgaWYgKGFkcmVzc2VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlbGV0ZSBhY3RldXIuYWRyZXNzZXNcbiAgICAgIGFkcmVzc2VzID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGFkcmVzc2VzKSkge1xuICAgICAgYWN0ZXVyLmFkcmVzc2VzID0gYWRyZXNzZXNcbiAgICB9IGVsc2Uge1xuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFkcmVzc2VzLCBudWxsKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBhZHJlc3NlcywgXCJvYmplY3RcIilcbiAgICAgIGFjdGV1ci5hZHJlc3NlcyA9IGFkcmVzc2VzID0gW2FkcmVzc2VzXVxuICAgIH1cbiAgICBpZiAoYWRyZXNzZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9yIChjb25zdCBhZHJlc3NlIG9mIGFkcmVzc2VzKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGFkcmVzc2UpXG5cbiAgICAgICAgY29uc3QgeHNpVHlwZSA9IGFkcmVzc2VbXCJAeHNpOnR5cGVcIl1cbiAgICAgICAgYXNzZXJ0KFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIFwiQWRyZXNzZU1haWxfVHlwZVwiLFxuICAgICAgICAgICAgXCJBZHJlc3NlUG9zdGFsZV9UeXBlXCIsXG4gICAgICAgICAgICBcIkFkcmVzc2VTaXRlV2ViX1R5cGVcIixcbiAgICAgICAgICAgIFwiQWRyZXNzZVRlbGVwaG9uaXF1ZV9UeXBlXCIsXG4gICAgICAgICAgXS5pbmNsdWRlcyh4c2lUeXBlKSxcbiAgICAgICAgICBgVW5leHBlY3RlZCBcIkB4c2k6dHlwZVwiOiAke3hzaVR5cGV9YCxcbiAgICAgICAgKVxuICAgICAgICBhZHJlc3NlLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgICAgIGRlbGV0ZSBhZHJlc3NlW1wiQHhzaTp0eXBlXCJdXG5cbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFkcmVzc2UudWlkLCB1bmRlZmluZWQpXG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhZHJlc3NlLnR5cGUsIHVuZGVmaW5lZClcbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFkcmVzc2UudHlwZUxpYmVsbGUsIHVuZGVmaW5lZClcblxuICAgICAgICBpZiAoeHNpVHlwZSA9PT0gXCJBZHJlc3NlUG9zdGFsZV9UeXBlXCIpIHtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWRyZXNzZS5hZHJlc3NlRGVSYXR0YWNoZW1lbnQsIHVuZGVmaW5lZClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCBtYW5kYXRzID0gYWN0ZXVyLm1hbmRhdHNcbiAgaWYgKG1hbmRhdHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBtYW5kYXQgPSBtYW5kYXRzLm1hbmRhdFxuICAgIGlmIChBcnJheS5pc0FycmF5KG1hbmRhdCkpIHtcbiAgICAgIG1hbmRhdHMgPSBhY3RldXIubWFuZGF0cyA9IG1hbmRhdFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIG1hbmRhdCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgbWFuZGF0cyA9IGFjdGV1ci5tYW5kYXRzID0gW21hbmRhdF1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1hbmRhdCBvZiBtYW5kYXRzKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhtYW5kYXQpXG5cbiAgICAgIGNvbnN0IHhzaVR5cGUgPSBtYW5kYXRbXCJAeHNpOnR5cGVcIl1cbiAgICAgIGlmICh4c2lUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbWFuZGF0LnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgICAgIGRlbGV0ZSBtYW5kYXRbXCJAeHNpOnR5cGVcIl1cbiAgICAgIH1cblxuICAgICAgY29uc3QgaW5mb3NRdWFsaXRlID0gbWFuZGF0LmluZm9zUXVhbGl0ZVxuICAgICAge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhpbmZvc1F1YWxpdGUpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG9yZ2FuZXMgPSBtYW5kYXQub3JnYW5lc1xuICAgICAgZGVsZXRlIG1hbmRhdC5vcmdhbmVzXG4gICAgICBsZXQgb3JnYW5lc1JlZnMgPSBvcmdhbmVzLm9yZ2FuZVJlZlxuICAgICAgYXNzZXJ0KG9yZ2FuZXNSZWZzKVxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG9yZ2FuZXNSZWZzKSkge1xuICAgICAgICBvcmdhbmVzUmVmcyA9IFtvcmdhbmVzUmVmc11cbiAgICAgIH1cbiAgICAgIG1hbmRhdC5vcmdhbmVzUmVmcyA9IG9yZ2FuZXNSZWZzXG5cbiAgICAgIGxldCBzdXBwbGVhbnQgPSBtYW5kYXQuc3VwcGxlYW50c1xuICAgICAgZGVsZXRlIG1hbmRhdC5zdXBwbGVhbnRzXG4gICAgICBpZiAoc3VwcGxlYW50KSB7XG4gICAgICAgIHN1cHBsZWFudCA9IHN1cHBsZWFudC5zdXBwbGVhbnRcbiAgICAgICAgYXNzZXJ0KHN1cHBsZWFudClcbiAgICAgICAgbWFuZGF0LnN1cHBsZWFudCA9IHN1cHBsZWFudFxuXG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHN1cHBsZWFudClcbiAgICAgIH1cblxuICAgICAgY29uc3QgZWxlY3Rpb24gPSBtYW5kYXQuZWxlY3Rpb25cbiAgICAgIGlmIChlbGVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGVsZWN0aW9uKVxuXG4gICAgICAgIGNvbnN0IGxpZXUgPSBlbGVjdGlvbi5saWV1XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGxpZXUpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1hbmRhdHVyZSA9IG1hbmRhdC5tYW5kYXR1cmVcbiAgICAgIGlmIChtYW5kYXR1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhtYW5kYXR1cmUpXG4gICAgICB9XG5cbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChtYW5kYXQuY2hhbWJyZSwgdW5kZWZpbmVkKVxuXG4gICAgICAvLyBSZXBsYWNlIGNvbGxhYm9yYXRldXJzIHdpdGggYW4gYXJyYXkgb2YgY29sbGFib3JhdGV1cnMuXG4gICAgICBsZXQgY29sbGFib3JhdGV1cnMgPSBtYW5kYXQuY29sbGFib3JhdGV1cnNcbiAgICAgIGlmIChjb2xsYWJvcmF0ZXVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGNvbGxhYm9yYXRldXJzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNvbGxhYm9yYXRldXJzKVxuICAgICAgICAgID8gY29sbGFib3JhdGV1cnMuZmlsdGVyKChjb2xsYWJvcmF0ZXVyKSA9PiBjb2xsYWJvcmF0ZXVyICE9PSBudWxsKVxuICAgICAgICAgIDogW2NvbGxhYm9yYXRldXJzXVxuICAgICAgICBjb2xsYWJvcmF0ZXVycyA9IFtdXG4gICAgICAgIGNvbGxhYm9yYXRldXJzQXJyYXkubWFwKCh7IGNvbGxhYm9yYXRldXIgfSkgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbGxhYm9yYXRldXIpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNvbGxhYm9yYXRldXJJdGVtIG9mIGNvbGxhYm9yYXRldXIpIHtcbiAgICAgICAgICAgICAgaWYgKGNvbGxhYm9yYXRldXJJdGVtICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29sbGFib3JhdGV1cnMucHVzaChjb2xsYWJvcmF0ZXVySXRlbSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoY29sbGFib3JhdGV1cikge1xuICAgICAgICAgICAgY29sbGFib3JhdGV1cnMucHVzaChjb2xsYWJvcmF0ZXVyKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGNvbGxhYm9yYXRldXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIGRlbGV0ZSBtYW5kYXQuY29sbGFib3JhdGV1cnNcbiAgICAgICAgICBjb2xsYWJvcmF0ZXVycyA9IHVuZGVmaW5lZFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1hbmRhdC5jb2xsYWJvcmF0ZXVycyA9IGNvbGxhYm9yYXRldXJzXG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGNvbGxhYm9yYXRldXIgb2YgY29sbGFib3JhdGV1cnMgfHwgW10pIHtcbiAgICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhjb2xsYWJvcmF0ZXVyKVxuXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvbGxhYm9yYXRldXIuZGF0ZURlYnV0LCB1bmRlZmluZWQpXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvbGxhYm9yYXRldXIuZGF0ZUZpbiwgdW5kZWZpbmVkKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGluZm9zSG9yc1NpYW4gPSBtYW5kYXQuSW5mb3NIb3JzU0lBTlxuICAgICAgaWYgKGluZm9zSG9yc1NpYW4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhpbmZvc0hvcnNTaWFuKVxuXG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChpbmZvc0hvcnNTaWFuLkhBVFZQX1VSSSwgdW5kZWZpbmVkKVxuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoT2JqZWN0LmtleXMoaW5mb3NIb3JzU2lhbikubGVuZ3RoLCAwKVxuICAgICAgICBkZWxldGUgbWFuZGF0LkluZm9zSG9yc1NJQU5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3J0IG1hbmRhdHMgdG8gZWFzZSBjb21wYXJpc29uIG9mIGRpZmZlcmVudCBvcGVuIGRhdGEgZmlsZXMuXG4gICAgbWFuZGF0cy5zb3J0KChhOiB7IHVpZDogc3RyaW5nIH0sIGI6IHsgdWlkOiBzdHJpbmcgfSkgPT5cbiAgICAgIGEudWlkLmxlbmd0aCA9PT0gYi51aWQubGVuZ3RoXG4gICAgICAgID8gYS51aWQubG9jYWxlQ29tcGFyZShiLnVpZClcbiAgICAgICAgOiBhLnVpZC5sZW5ndGggLSBiLnVpZC5sZW5ndGgsXG4gICAgKVxuICB9XG5cbiAgbGV0IGRlcG9ydHMgPSBhY3RldXIuZGVwb3J0c1xuICBpZiAoZGVwb3J0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgbGV0IGRlcG9ydCA9IGRlcG9ydHMuZGVwb3J0XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGVwb3J0KSkge1xuICAgICAgZGVwb3J0cyA9IGFjdGV1ci5kZXBvcnRzID0gZGVwb3J0XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZGVwb3J0ID09PSBcIm9iamVjdFwiKSB7XG4gICAgICBkZXBvcnRzID0gYWN0ZXVyLmRlcG9ydHMgPSBbZGVwb3J0XVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgZGVwb3J0IG9mIGRlcG9ydHMpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGRlcG9ydClcblxuICAgICAgY29uc3QgY2libGUgPSBkZXBvcnQuY2libGVcbiAgICAgIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoY2libGUpXG5cbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNpYmxlLnJlZmVyZW5jZXMsIHVuZGVmaW5lZClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3J0IGRlcG9ydHMgdG8gZWFzZSBjb21wYXJpc29uIG9mIGRpZmZlcmVudCBvcGVuIGRhdGEgZmlsZXMuXG4gICAgZGVwb3J0cy5zb3J0KChhOiB7IHVpZDogc3RyaW5nIH0sIGI6IHsgdWlkOiBzdHJpbmcgfSkgPT5cbiAgICAgIGEudWlkLmxlbmd0aCA9PT0gYi51aWQubGVuZ3RoXG4gICAgICAgID8gYS51aWQubG9jYWxlQ29tcGFyZShiLnVpZClcbiAgICAgICAgOiBhLnVpZC5sZW5ndGggLSBiLnVpZC5sZW5ndGgsXG4gICAgKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblJhcHBvcnRldXIocmFwcG9ydGV1cjogYW55KSB7XG4gIGNvbnN0IGV0dWRlUGxmUmVmID0gcmFwcG9ydGV1ci5ldHVkZVBMRlJlZlxuICBpZiAocmFwcG9ydGV1ci5ldHVkZVBMRlJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZGVsZXRlIHJhcHBvcnRldXIuZXR1ZGVQTEZSZWZcbiAgICByYXBwb3J0ZXVyLmV0dWRlUGxmUmVmID0gZXR1ZGVQbGZSZWZcbiAgfVxufVxuIl19
|
package/lib/cleaners/acteurs.mjs
CHANGED
|
@@ -175,6 +175,30 @@ export function cleanActeur(acteur) {
|
|
|
175
175
|
|
|
176
176
|
mandats.sort((a, b) => a.uid.length === b.uid.length ? a.uid.localeCompare(b.uid) : a.uid.length - b.uid.length);
|
|
177
177
|
}
|
|
178
|
+
|
|
179
|
+
let deports = acteur.deports;
|
|
180
|
+
|
|
181
|
+
if (deports !== undefined) {
|
|
182
|
+
let deport = deports.deport;
|
|
183
|
+
|
|
184
|
+
if (Array.isArray(deport)) {
|
|
185
|
+
deports = acteur.deports = deport;
|
|
186
|
+
} else if (typeof deport === "object") {
|
|
187
|
+
deports = acteur.deports = [deport];
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
for (const deport of deports) {
|
|
191
|
+
cleanXmlArtefacts(deport);
|
|
192
|
+
const cible = deport.cible;
|
|
193
|
+
{
|
|
194
|
+
cleanXmlArtefacts(cible);
|
|
195
|
+
assert.strictEqual(cible.references, undefined);
|
|
196
|
+
}
|
|
197
|
+
} // Sort deports to ease comparison of different open data files.
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
deports.sort((a, b) => a.uid.length === b.uid.length ? a.uid.localeCompare(b.uid) : a.uid.length - b.uid.length);
|
|
201
|
+
}
|
|
178
202
|
}
|
|
179
203
|
export function cleanRapporteur(rapporteur) {
|
|
180
204
|
const etudePlfRef = rapporteur.etudePLFRef;
|
|
@@ -184,4 +208,4 @@ export function cleanRapporteur(rapporteur) {
|
|
|
184
208
|
rapporteur.etudePlfRef = etudePlfRef;
|
|
185
209
|
}
|
|
186
210
|
}
|
|
187
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9hY3RldXJzLnRzIl0sIm5hbWVzIjpbImFzc2VydCIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwiY2xlYW5BY3RldXIiLCJhY3RldXIiLCJzdHJpY3RFcXVhbCIsInVpZCIsImV0YXRDaXZpbCIsImlkZW50IiwiaW5mb05haXNzYW5jZSIsInByb2Zlc3Npb24iLCJ1bmRlZmluZWQiLCJzb2NQcm9jSW5zZWUiLCJzb2NQcm9jSU5TRUUiLCJ1cmlIYXR2cCIsInVyaV9oYXR2cCIsImFkcmVzc2VzIiwiYWRyZXNzZSIsIkFycmF5IiwiaXNBcnJheSIsIm5vdFN0cmljdEVxdWFsIiwieHNpVHlwZSIsImluY2x1ZGVzIiwidHlwZSIsInR5cGVMaWJlbGxlIiwiYWRyZXNzZURlUmF0dGFjaGVtZW50IiwibWFuZGF0cyIsIm1hbmRhdCIsImluZm9zUXVhbGl0ZSIsIm9yZ2FuZXMiLCJvcmdhbmVzUmVmcyIsIm9yZ2FuZVJlZiIsInN1cHBsZWFudCIsInN1cHBsZWFudHMiLCJlbGVjdGlvbiIsImxpZXUiLCJtYW5kYXR1cmUiLCJjaGFtYnJlIiwiY29sbGFib3JhdGV1cnMiLCJjb2xsYWJvcmF0ZXVyc0FycmF5IiwiZmlsdGVyIiwiY29sbGFib3JhdGV1ciIsIm1hcCIsImNvbGxhYm9yYXRldXJJdGVtIiwicHVzaCIsImxlbmd0aCIsImRhdGVEZWJ1dCIsImRhdGVGaW4iLCJpbmZvc0hvcnNTaWFuIiwiSW5mb3NIb3JzU0lBTiIsIkhBVFZQX1VSSSIsIk9iamVjdCIsImtleXMiLCJzb3J0IiwiYSIsImIiLCJsb2NhbGVDb21wYXJlIiwiY2xlYW5SYXBwb3J0ZXVyIiwicmFwcG9ydGV1ciIsImV0dWRlUGxmUmVmIiwiZXR1ZGVQTEZSZWYiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQVAsTUFBbUIsUUFBbkI7U0FFU0MsaUI7QUFFVCxPQUFPLFNBQVNDLFdBQVQsQ0FBcUJDLE1BQXJCLEVBQXdDO0FBQzdDRixFQUFBQSxpQkFBaUIsQ0FB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QyxXQUFPK0MsVUFBVSxDQUFDRSxXQUFsQjtBQUNBRixJQUFBQSxVQUFVLENBQUNDLFdBQVgsR0FBeUJBLFdBQXpCO0FBQ0Q7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQWN0ZXVyKGFjdGV1cjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKGFjdGV1cilcblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoYWN0ZXVyLnVpZFtcIkB4c2k6dHlwZVwiXSwgXCJJZEFjdGV1cl90eXBlXCIpXG4gIGFjdGV1ci51aWQgPSBhY3RldXIudWlkW1wiI3RleHRcIl1cbiAgYXNzZXJ0KGFjdGV1ci51aWQpXG5cbiAgY29uc3QgZXRhdENpdmlsID0gYWN0ZXVyLmV0YXRDaXZpbFxuICB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoZXRhdENpdmlsKVxuXG4gICAgY29uc3QgaWRlbnQgPSBldGF0Q2l2aWwuaWRlbnRcbiAgICB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhpZGVudClcblxuICAgICAgY29uc3QgaW5mb05haXNzYW5jZSA9IGV0YXRDaXZpbC5pbmZvTmFpc3NhbmNlXG4gICAgICB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGluZm9OYWlzc2FuY2UpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcHJvZmVzc2lvbiA9IGFjdGV1ci5wcm9mZXNzaW9uXG4gIGlmIChwcm9mZXNzaW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhwcm9mZXNzaW9uKVxuXG4gICAgY29uc3Qgc29jUHJvY0luc2VlID0gcHJvZmVzc2lvbi5zb2NQcm9jSU5TRUVcbiAgICBhc3NlcnQoc29jUHJvY0luc2VlKVxuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHNvY1Byb2NJbnNlZSlcbiAgICBkZWxldGUgcHJvZmVzc2lvbi5zb2NQcm9jSU5TRUVcbiAgICBwcm9mZXNzaW9uLnNvY1Byb2NJbnNlZSA9IHNvY1Byb2NJbnNlZVxuICB9XG5cbiAgY29uc3QgdXJpSGF0dnAgPSBhY3RldXIudXJpX2hhdHZwXG4gIGlmICh1cmlIYXR2cCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYWN0ZXVyLnVyaUhhdHZwID0gdXJpSGF0dnBcbiAgICBkZWxldGUgYWN0ZXVyLnVyaV9oYXR2cFxuICB9XG5cbiAgbGV0IGFkcmVzc2VzID0gYWN0ZXVyLmFkcmVzc2VzXG4gIGlmIChhZHJlc3NlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYWRyZXNzZXMgPSBhZHJlc3Nlcy5hZHJlc3NlXG4gICAgaWYgKGFkcmVzc2VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlbGV0ZSBhY3RldXIuYWRyZXNzZXNcbiAgICAgIGFkcmVzc2VzID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGFkcmVzc2VzKSkge1xuICAgICAgYWN0ZXVyLmFkcmVzc2VzID0gYWRyZXNzZXNcbiAgICB9IGVsc2Uge1xuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFkcmVzc2VzLCBudWxsKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBhZHJlc3NlcywgXCJvYmplY3RcIilcbiAgICAgIGFjdGV1ci5hZHJlc3NlcyA9IGFkcmVzc2VzID0gW2FkcmVzc2VzXVxuICAgIH1cbiAgICBpZiAoYWRyZXNzZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9yIChjb25zdCBhZHJlc3NlIG9mIGFkcmVzc2VzKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGFkcmVzc2UpXG5cbiAgICAgICAgY29uc3QgeHNpVHlwZSA9IGFkcmVzc2VbXCJAeHNpOnR5cGVcIl1cbiAgICAgICAgYXNzZXJ0KFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIFwiQWRyZXNzZU1haWxfVHlwZVwiLFxuICAgICAgICAgICAgXCJBZHJlc3NlUG9zdGFsZV9UeXBlXCIsXG4gICAgICAgICAgICBcIkFkcmVzc2VTaXRlV2ViX1R5cGVcIixcbiAgICAgICAgICAgIFwiQWRyZXNzZVRlbGVwaG9uaXF1ZV9UeXBlXCIsXG4gICAgICAgICAgXS5pbmNsdWRlcyh4c2lUeXBlKSxcbiAgICAgICAgICBgVW5leHBlY3RlZCBcIkB4c2k6dHlwZVwiOiAke3hzaVR5cGV9YCxcbiAgICAgICAgKVxuICAgICAgICBhZHJlc3NlLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgICAgIGRlbGV0ZSBhZHJlc3NlW1wiQHhzaTp0eXBlXCJdXG5cbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFkcmVzc2UudWlkLCB1bmRlZmluZWQpXG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhZHJlc3NlLnR5cGUsIHVuZGVmaW5lZClcbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFkcmVzc2UudHlwZUxpYmVsbGUsIHVuZGVmaW5lZClcblxuICAgICAgICBpZiAoeHNpVHlwZSA9PT0gXCJBZHJlc3NlUG9zdGFsZV9UeXBlXCIpIHtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWRyZXNzZS5hZHJlc3NlRGVSYXR0YWNoZW1lbnQsIHVuZGVmaW5lZClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCBtYW5kYXRzID0gYWN0ZXVyLm1hbmRhdHNcbiAgaWYgKG1hbmRhdHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBtYW5kYXQgPSBtYW5kYXRzLm1hbmRhdFxuICAgIGlmIChBcnJheS5pc0FycmF5KG1hbmRhdCkpIHtcbiAgICAgIG1hbmRhdHMgPSBhY3RldXIubWFuZGF0cyA9IG1hbmRhdFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIG1hbmRhdCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgbWFuZGF0cyA9IGFjdGV1ci5tYW5kYXRzID0gW21hbmRhdF1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1hbmRhdCBvZiBtYW5kYXRzKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhtYW5kYXQpXG5cbiAgICAgIGNvbnN0IHhzaVR5cGUgPSBtYW5kYXRbXCJAeHNpOnR5cGVcIl1cbiAgICAgIGlmICh4c2lUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbWFuZGF0LnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgICAgIGRlbGV0ZSBtYW5kYXRbXCJAeHNpOnR5cGVcIl1cbiAgICAgIH1cblxuICAgICAgY29uc3QgaW5mb3NRdWFsaXRlID0gbWFuZGF0LmluZm9zUXVhbGl0ZVxuICAgICAge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhpbmZvc1F1YWxpdGUpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG9yZ2FuZXMgPSBtYW5kYXQub3JnYW5lc1xuICAgICAgZGVsZXRlIG1hbmRhdC5vcmdhbmVzXG4gICAgICBsZXQgb3JnYW5lc1JlZnMgPSBvcmdhbmVzLm9yZ2FuZVJlZlxuICAgICAgYXNzZXJ0KG9yZ2FuZXNSZWZzKVxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG9yZ2FuZXNSZWZzKSkge1xuICAgICAgICBvcmdhbmVzUmVmcyA9IFtvcmdhbmVzUmVmc11cbiAgICAgIH1cbiAgICAgIG1hbmRhdC5vcmdhbmVzUmVmcyA9IG9yZ2FuZXNSZWZzXG5cbiAgICAgIGxldCBzdXBwbGVhbnQgPSBtYW5kYXQuc3VwcGxlYW50c1xuICAgICAgZGVsZXRlIG1hbmRhdC5zdXBwbGVhbnRzXG4gICAgICBpZiAoc3VwcGxlYW50KSB7XG4gICAgICAgIHN1cHBsZWFudCA9IHN1cHBsZWFudC5zdXBwbGVhbnRcbiAgICAgICAgYXNzZXJ0KHN1cHBsZWFudClcbiAgICAgICAgbWFuZGF0LnN1cHBsZWFudCA9IHN1cHBsZWFudFxuXG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHN1cHBsZWFudClcbiAgICAgIH1cblxuICAgICAgY29uc3QgZWxlY3Rpb24gPSBtYW5kYXQuZWxlY3Rpb25cbiAgICAgIGlmIChlbGVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGVsZWN0aW9uKVxuXG4gICAgICAgIGNvbnN0IGxpZXUgPSBlbGVjdGlvbi5saWV1XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGxpZXUpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1hbmRhdHVyZSA9IG1hbmRhdC5tYW5kYXR1cmVcbiAgICAgIGlmIChtYW5kYXR1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhtYW5kYXR1cmUpXG4gICAgICB9XG5cbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChtYW5kYXQuY2hhbWJyZSwgdW5kZWZpbmVkKVxuXG4gICAgICAvLyBSZXBsYWNlIGNvbGxhYm9yYXRldXJzIHdpdGggYW4gYXJyYXkgb2YgY29sbGFib3JhdGV1cnMuXG4gICAgICBsZXQgY29sbGFib3JhdGV1cnMgPSBtYW5kYXQuY29sbGFib3JhdGV1cnNcbiAgICAgIGlmIChjb2xsYWJvcmF0ZXVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGNvbGxhYm9yYXRldXJzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNvbGxhYm9yYXRldXJzKVxuICAgICAgICAgID8gY29sbGFib3JhdGV1cnMuZmlsdGVyKChjb2xsYWJvcmF0ZXVyKSA9PiBjb2xsYWJvcmF0ZXVyICE9PSBudWxsKVxuICAgICAgICAgIDogW2NvbGxhYm9yYXRldXJzXVxuICAgICAgICBjb2xsYWJvcmF0ZXVycyA9IFtdXG4gICAgICAgIGNvbGxhYm9yYXRldXJzQXJyYXkubWFwKCh7IGNvbGxhYm9yYXRldXIgfSkgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbGxhYm9yYXRldXIpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNvbGxhYm9yYXRldXJJdGVtIG9mIGNvbGxhYm9yYXRldXIpIHtcbiAgICAgICAgICAgICAgaWYgKGNvbGxhYm9yYXRldXJJdGVtICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29sbGFib3JhdGV1cnMucHVzaChjb2xsYWJvcmF0ZXVySXRlbSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoY29sbGFib3JhdGV1cikge1xuICAgICAgICAgICAgY29sbGFib3JhdGV1cnMucHVzaChjb2xsYWJvcmF0ZXVyKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGNvbGxhYm9yYXRldXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIGRlbGV0ZSBtYW5kYXQuY29sbGFib3JhdGV1cnNcbiAgICAgICAgICBjb2xsYWJvcmF0ZXVycyA9IHVuZGVmaW5lZFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1hbmRhdC5jb2xsYWJvcmF0ZXVycyA9IGNvbGxhYm9yYXRldXJzXG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGNvbGxhYm9yYXRldXIgb2YgY29sbGFib3JhdGV1cnMgfHwgW10pIHtcbiAgICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhjb2xsYWJvcmF0ZXVyKVxuXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvbGxhYm9yYXRldXIuZGF0ZURlYnV0LCB1bmRlZmluZWQpXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvbGxhYm9yYXRldXIuZGF0ZUZpbiwgdW5kZWZpbmVkKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGluZm9zSG9yc1NpYW4gPSBtYW5kYXQuSW5mb3NIb3JzU0lBTlxuICAgICAgaWYgKGluZm9zSG9yc1NpYW4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhpbmZvc0hvcnNTaWFuKVxuXG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChpbmZvc0hvcnNTaWFuLkhBVFZQX1VSSSwgdW5kZWZpbmVkKVxuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoT2JqZWN0LmtleXMoaW5mb3NIb3JzU2lhbikubGVuZ3RoLCAwKVxuICAgICAgICBkZWxldGUgbWFuZGF0LkluZm9zSG9yc1NJQU5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3J0IG1hbmRhdHMgdG8gZWFzZSBjb21wYXJpc29uIG9mIGRpZmZlcmVudCBvcGVuIGRhdGEgZmlsZXMuXG4gICAgbWFuZGF0cy5zb3J0KChhOiB7IHVpZDogc3RyaW5nIH0sIGI6IHsgdWlkOiBzdHJpbmcgfSkgPT5cbiAgICAgIGEudWlkLmxlbmd0aCA9PT0gYi51aWQubGVuZ3RoXG4gICAgICAgID8gYS51aWQubG9jYWxlQ29tcGFyZShiLnVpZClcbiAgICAgICAgOiBhLnVpZC5sZW5ndGggLSBiLnVpZC5sZW5ndGgsXG4gICAgKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblJhcHBvcnRldXIocmFwcG9ydGV1cjogYW55KSB7XG4gIGNvbnN0IGV0dWRlUGxmUmVmID0gcmFwcG9ydGV1ci5ldHVkZVBMRlJlZlxuICBpZiAocmFwcG9ydGV1ci5ldHVkZVBMRlJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZGVsZXRlIHJhcHBvcnRldXIuZXR1ZGVQTEZSZWZcbiAgICByYXBwb3J0ZXVyLmV0dWRlUGxmUmVmID0gZXR1ZGVQbGZSZWZcbiAgfVxufVxuIl19
|
|
211
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9hY3RldXJzLnRzIl0sIm5hbWVzIjpbImFzc2VydCIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwiY2xlYW5BY3RldXIiLCJhY3RldXIiLCJzdHJpY3RFcXVhbCIsInVpZCIsImV0YXRDaXZpbCIsImlkZW50IiwiaW5mb05haXNzYW5jZSIsInByb2Zlc3Npb24iLCJ1bmRlZmluZWQiLCJzb2NQcm9jSW5zZWUiLCJzb2NQcm9jSU5TRUUiLCJ1cmlIYXR2cCIsInVyaV9oYXR2cCIsImFkcmVzc2VzIiwiYWRyZXNzZSIsIkFycmF5IiwiaXNBcnJheSIsIm5vdFN0cmljdEVxdWFsIiwieHNpVHlwZSIsImluY2x1ZGVzIiwidHlwZSIsInR5cGVMaWJlbGxlIiwiYWRyZXNzZURlUmF0dGFjaGVtZW50IiwibWFuZGF0cyIsIm1hbmRhdCIsImluZm9zUXVhbGl0ZSIsIm9yZ2FuZXMiLCJvcmdhbmVzUmVmcyIsIm9yZ2FuZVJlZiIsInN1cHBsZWFudCIsInN1cHBsZWFudHMiLCJlbGVjdGlvbiIsImxpZXUiLCJtYW5kYXR1cmUiLCJjaGFtYnJlIiwiY29sbGFib3JhdGV1cnMiLCJjb2xsYWJvcmF0ZXVyc0FycmF5IiwiZmlsdGVyIiwiY29sbGFib3JhdGV1ciIsIm1hcCIsImNvbGxhYm9yYXRldXJJdGVtIiwicHVzaCIsImxlbmd0aCIsImRhdGVEZWJ1dCIsImRhdGVGaW4iLCJpbmZvc0hvcnNTaWFuIiwiSW5mb3NIb3JzU0lBTiIsIkhBVFZQX1VSSSIsIk9iamVjdCIsImtleXMiLCJzb3J0IiwiYSIsImIiLCJsb2NhbGVDb21wYXJlIiwiZGVwb3J0cyIsImRlcG9ydCIsImNpYmxlIiwicmVmZXJlbmNlcyIsImNsZWFuUmFwcG9ydGV1ciIsInJhcHBvcnRldXIiLCJldHVkZVBsZlJlZiIsImV0dWRlUExGUmVmIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFQLE1BQW1CLFFBQW5CO1NBRVNDLGlCO0FBRVQsT0FBTyxTQUFTQyxXQUFULENB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QS9CLEVBQTBDO0FBQ3hDLFdBQU9tRCxVQUFVLENBQUNFLFdBQWxCO0FBQ0FGLElBQUFBLFVBQVUsQ0FBQ0MsV0FBWCxHQUF5QkEsV0FBekI7QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcblxuaW1wb3J0IHsgY2xlYW5YbWxBcnRlZmFjdHMgfSBmcm9tIFwiLi94bWxcIlxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5BY3RldXIoYWN0ZXVyOiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMoYWN0ZXVyKVxuXG4gIGFzc2VydC5zdHJpY3RFcXVhbChhY3RldXIudWlkW1wiQHhzaTp0eXBlXCJdLCBcIklkQWN0ZXVyX3R5cGVcIilcbiAgYWN0ZXVyLnVpZCA9IGFjdGV1ci51aWRbXCIjdGV4dFwiXVxuICBhc3NlcnQoYWN0ZXVyLnVpZClcblxuICBjb25zdCBldGF0Q2l2aWwgPSBhY3RldXIuZXRhdENpdmlsXG4gIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhldGF0Q2l2aWwpXG5cbiAgICBjb25zdCBpZGVudCA9IGV0YXRDaXZpbC5pZGVudFxuICAgIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGlkZW50KVxuXG4gICAgICBjb25zdCBpbmZvTmFpc3NhbmNlID0gZXRhdENpdmlsLmluZm9OYWlzc2FuY2VcbiAgICAgIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoaW5mb05haXNzYW5jZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBwcm9mZXNzaW9uID0gYWN0ZXVyLnByb2Zlc3Npb25cbiAgaWYgKHByb2Zlc3Npb24gIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHByb2Zlc3Npb24pXG5cbiAgICBjb25zdCBzb2NQcm9jSW5zZWUgPSBwcm9mZXNzaW9uLnNvY1Byb2NJTlNFRVxuICAgIGFzc2VydChzb2NQcm9jSW5zZWUpXG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoc29jUHJvY0luc2VlKVxuICAgIGRlbGV0ZSBwcm9mZXNzaW9uLnNvY1Byb2NJTlNFRVxuICAgIHByb2Zlc3Npb24uc29jUHJvY0luc2VlID0gc29jUHJvY0luc2VlXG4gIH1cblxuICBjb25zdCB1cmlIYXR2cCA9IGFjdGV1ci51cmlfaGF0dnBcbiAgaWYgKHVyaUhhdHZwICE9PSB1bmRlZmluZWQpIHtcbiAgICBhY3RldXIudXJpSGF0dnAgPSB1cmlIYXR2cFxuICAgIGRlbGV0ZSBhY3RldXIudXJpX2hhdHZwXG4gIH1cblxuICBsZXQgYWRyZXNzZXMgPSBhY3RldXIuYWRyZXNzZXNcbiAgaWYgKGFkcmVzc2VzICE9PSB1bmRlZmluZWQpIHtcbiAgICBhZHJlc3NlcyA9IGFkcmVzc2VzLmFkcmVzc2VcbiAgICBpZiAoYWRyZXNzZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVsZXRlIGFjdGV1ci5hZHJlc3Nlc1xuICAgICAgYWRyZXNzZXMgPSB1bmRlZmluZWRcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoYWRyZXNzZXMpKSB7XG4gICAgICBhY3RldXIuYWRyZXNzZXMgPSBhZHJlc3Nlc1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYWRyZXNzZXMsIG51bGwpXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGFkcmVzc2VzLCBcIm9iamVjdFwiKVxuICAgICAgYWN0ZXVyLmFkcmVzc2VzID0gYWRyZXNzZXMgPSBbYWRyZXNzZXNdXG4gICAgfVxuICAgIGlmIChhZHJlc3NlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBmb3IgKGNvbnN0IGFkcmVzc2Ugb2YgYWRyZXNzZXMpIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoYWRyZXNzZSlcblxuICAgICAgICBjb25zdCB4c2lUeXBlID0gYWRyZXNzZVtcIkB4c2k6dHlwZVwiXVxuICAgICAgICBhc3NlcnQoXG4gICAgICAgICAgW1xuICAgICAgICAgICAgXCJBZHJlc3NlTWFpbF9UeXBlXCIsXG4gICAgICAgICAgICBcIkFkcmVzc2VQb3N0YWxlX1R5cGVcIixcbiAgICAgICAgICAgIFwiQWRyZXNzZVNpdGVXZWJfVHlwZVwiLFxuICAgICAgICAgICAgXCJBZHJlc3NlVGVsZXBob25pcXVlX1R5cGVcIixcbiAgICAgICAgICBdLmluY2x1ZGVzKHhzaVR5cGUpLFxuICAgICAgICAgIGBVbmV4cGVjdGVkIFwiQHhzaTp0eXBlXCI6ICR7eHNpVHlwZX1gLFxuICAgICAgICApXG4gICAgICAgIGFkcmVzc2UueHNpVHlwZSA9IHhzaVR5cGVcbiAgICAgICAgZGVsZXRlIGFkcmVzc2VbXCJAeHNpOnR5cGVcIl1cblxuICAgICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYWRyZXNzZS51aWQsIHVuZGVmaW5lZClcbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFkcmVzc2UudHlwZSwgdW5kZWZpbmVkKVxuICAgICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYWRyZXNzZS50eXBlTGliZWxsZSwgdW5kZWZpbmVkKVxuXG4gICAgICAgIGlmICh4c2lUeXBlID09PSBcIkFkcmVzc2VQb3N0YWxlX1R5cGVcIikge1xuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhZHJlc3NlLmFkcmVzc2VEZVJhdHRhY2hlbWVudCwgdW5kZWZpbmVkKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IG1hbmRhdHMgPSBhY3RldXIubWFuZGF0c1xuICBpZiAobWFuZGF0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgbGV0IG1hbmRhdCA9IG1hbmRhdHMubWFuZGF0XG4gICAgaWYgKEFycmF5LmlzQXJyYXkobWFuZGF0KSkge1xuICAgICAgbWFuZGF0cyA9IGFjdGV1ci5tYW5kYXRzID0gbWFuZGF0XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgbWFuZGF0ID09PSBcIm9iamVjdFwiKSB7XG4gICAgICBtYW5kYXRzID0gYWN0ZXVyLm1hbmRhdHMgPSBbbWFuZGF0XVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgbWFuZGF0IG9mIG1hbmRhdHMpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKG1hbmRhdClcblxuICAgICAgY29uc3QgeHNpVHlwZSA9IG1hbmRhdFtcIkB4c2k6dHlwZVwiXVxuICAgICAgaWYgKHhzaVR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBtYW5kYXQueHNpVHlwZSA9IHhzaVR5cGVcbiAgICAgICAgZGVsZXRlIG1hbmRhdFtcIkB4c2k6dHlwZVwiXVxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbmZvc1F1YWxpdGUgPSBtYW5kYXQuaW5mb3NRdWFsaXRlXG4gICAgICB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGluZm9zUXVhbGl0ZSlcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3JnYW5lcyA9IG1hbmRhdC5vcmdhbmVzXG4gICAgICBkZWxldGUgbWFuZGF0Lm9yZ2FuZXNcbiAgICAgIGxldCBvcmdhbmVzUmVmcyA9IG9yZ2FuZXMub3JnYW5lUmVmXG4gICAgICBhc3NlcnQob3JnYW5lc1JlZnMpXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkob3JnYW5lc1JlZnMpKSB7XG4gICAgICAgIG9yZ2FuZXNSZWZzID0gW29yZ2FuZXNSZWZzXVxuICAgICAgfVxuICAgICAgbWFuZGF0Lm9yZ2FuZXNSZWZzID0gb3JnYW5lc1JlZnNcblxuICAgICAgbGV0IHN1cHBsZWFudCA9IG1hbmRhdC5zdXBwbGVhbnRzXG4gICAgICBkZWxldGUgbWFuZGF0LnN1cHBsZWFudHNcbiAgICAgIGlmIChzdXBwbGVhbnQpIHtcbiAgICAgICAgc3VwcGxlYW50ID0gc3VwcGxlYW50LnN1cHBsZWFudFxuICAgICAgICBhc3NlcnQoc3VwcGxlYW50KVxuICAgICAgICBtYW5kYXQuc3VwcGxlYW50ID0gc3VwcGxlYW50XG5cbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoc3VwcGxlYW50KVxuICAgICAgfVxuXG4gICAgICBjb25zdCBlbGVjdGlvbiA9IG1hbmRhdC5lbGVjdGlvblxuICAgICAgaWYgKGVsZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoZWxlY3Rpb24pXG5cbiAgICAgICAgY29uc3QgbGlldSA9IGVsZWN0aW9uLmxpZXVcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMobGlldSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWFuZGF0dXJlID0gbWFuZGF0Lm1hbmRhdHVyZVxuICAgICAgaWYgKG1hbmRhdHVyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKG1hbmRhdHVyZSlcbiAgICAgIH1cblxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG1hbmRhdC5jaGFtYnJlLCB1bmRlZmluZWQpXG5cbiAgICAgIC8vIFJlcGxhY2UgY29sbGFib3JhdGV1cnMgd2l0aCBhbiBhcnJheSBvZiBjb2xsYWJvcmF0ZXVycy5cbiAgICAgIGxldCBjb2xsYWJvcmF0ZXVycyA9IG1hbmRhdC5jb2xsYWJvcmF0ZXVyc1xuICAgICAgaWYgKGNvbGxhYm9yYXRldXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgY29sbGFib3JhdGV1cnNBcnJheSA9IEFycmF5LmlzQXJyYXkoY29sbGFib3JhdGV1cnMpXG4gICAgICAgICAgPyBjb2xsYWJvcmF0ZXVycy5maWx0ZXIoKGNvbGxhYm9yYXRldXIpID0+IGNvbGxhYm9yYXRldXIgIT09IG51bGwpXG4gICAgICAgICAgOiBbY29sbGFib3JhdGV1cnNdXG4gICAgICAgIGNvbGxhYm9yYXRldXJzID0gW11cbiAgICAgICAgY29sbGFib3JhdGV1cnNBcnJheS5tYXAoKHsgY29sbGFib3JhdGV1ciB9KSA9PiB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29sbGFib3JhdGV1cikpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY29sbGFib3JhdGV1ckl0ZW0gb2YgY29sbGFib3JhdGV1cikge1xuICAgICAgICAgICAgICBpZiAoY29sbGFib3JhdGV1ckl0ZW0gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb2xsYWJvcmF0ZXVycy5wdXNoKGNvbGxhYm9yYXRldXJJdGVtKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChjb2xsYWJvcmF0ZXVyKSB7XG4gICAgICAgICAgICBjb2xsYWJvcmF0ZXVycy5wdXNoKGNvbGxhYm9yYXRldXIpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICBpZiAoY29sbGFib3JhdGV1cnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgZGVsZXRlIG1hbmRhdC5jb2xsYWJvcmF0ZXVyc1xuICAgICAgICAgIGNvbGxhYm9yYXRldXJzID0gdW5kZWZpbmVkXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbWFuZGF0LmNvbGxhYm9yYXRldXJzID0gY29sbGFib3JhdGV1cnNcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgY29sbGFib3JhdGV1ciBvZiBjb2xsYWJvcmF0ZXVycyB8fCBbXSkge1xuICAgICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGNvbGxhYm9yYXRldXIpXG5cbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY29sbGFib3JhdGV1ci5kYXRlRGVidXQsIHVuZGVmaW5lZClcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY29sbGFib3JhdGV1ci5kYXRlRmluLCB1bmRlZmluZWQpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgaW5mb3NIb3JzU2lhbiA9IG1hbmRhdC5JbmZvc0hvcnNTSUFOXG4gICAgICBpZiAoaW5mb3NIb3JzU2lhbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGluZm9zSG9yc1NpYW4pXG5cbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGluZm9zSG9yc1NpYW4uSEFUVlBfVVJJLCB1bmRlZmluZWQpXG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChPYmplY3Qua2V5cyhpbmZvc0hvcnNTaWFuKS5sZW5ndGgsIDApXG4gICAgICAgIGRlbGV0ZSBtYW5kYXQuSW5mb3NIb3JzU0lBTlxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvcnQgbWFuZGF0cyB0byBlYXNlIGNvbXBhcmlzb24gb2YgZGlmZmVyZW50IG9wZW4gZGF0YSBmaWxlcy5cbiAgICBtYW5kYXRzLnNvcnQoKGE6IHsgdWlkOiBzdHJpbmcgfSwgYjogeyB1aWQ6IHN0cmluZyB9KSA9PlxuICAgICAgYS51aWQubGVuZ3RoID09PSBiLnVpZC5sZW5ndGhcbiAgICAgICAgPyBhLnVpZC5sb2NhbGVDb21wYXJlKGIudWlkKVxuICAgICAgICA6IGEudWlkLmxlbmd0aCAtIGIudWlkLmxlbmd0aCxcbiAgICApXG4gIH1cblxuICBsZXQgZGVwb3J0cyA9IGFjdGV1ci5kZXBvcnRzXG4gIGlmIChkZXBvcnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgZGVwb3J0ID0gZGVwb3J0cy5kZXBvcnRcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkZXBvcnQpKSB7XG4gICAgICBkZXBvcnRzID0gYWN0ZXVyLmRlcG9ydHMgPSBkZXBvcnRcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkZXBvcnQgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGRlcG9ydHMgPSBhY3RldXIuZGVwb3J0cyA9IFtkZXBvcnRdXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBkZXBvcnQgb2YgZGVwb3J0cykge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoZGVwb3J0KVxuXG4gICAgICBjb25zdCBjaWJsZSA9IGRlcG9ydC5jaWJsZVxuICAgICAge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhjaWJsZSlcblxuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY2libGUucmVmZXJlbmNlcywgdW5kZWZpbmVkKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvcnQgZGVwb3J0cyB0byBlYXNlIGNvbXBhcmlzb24gb2YgZGlmZmVyZW50IG9wZW4gZGF0YSBmaWxlcy5cbiAgICBkZXBvcnRzLnNvcnQoKGE6IHsgdWlkOiBzdHJpbmcgfSwgYjogeyB1aWQ6IHN0cmluZyB9KSA9PlxuICAgICAgYS51aWQubGVuZ3RoID09PSBiLnVpZC5sZW5ndGhcbiAgICAgICAgPyBhLnVpZC5sb2NhbGVDb21wYXJlKGIudWlkKVxuICAgICAgICA6IGEudWlkLmxlbmd0aCAtIGIudWlkLmxlbmd0aCxcbiAgICApXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuUmFwcG9ydGV1cihyYXBwb3J0ZXVyOiBhbnkpIHtcbiAgY29uc3QgZXR1ZGVQbGZSZWYgPSByYXBwb3J0ZXVyLmV0dWRlUExGUmVmXG4gIGlmIChyYXBwb3J0ZXVyLmV0dWRlUExGUmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICBkZWxldGUgcmFwcG9ydGV1ci5ldHVkZVBMRlJlZlxuICAgIHJhcHBvcnRldXIuZXR1ZGVQbGZSZWYgPSBldHVkZVBsZlJlZlxuICB9XG59XG4iXX0=
|