@tricoteuses/assemblee 1.0.7 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api.js +3 -9
- package/lib/api.mjs +4 -5
- package/lib/bugs/acteur-00010/plugin.test.js +3 -50
- package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
- package/lib/bugs/acteur-00010.js +2 -57
- package/lib/bugs/acteur-00010.mjs +1 -6
- package/lib/bugs/agenda-00002/plugin.test.js +3 -53
- package/lib/bugs/agenda-00002/plugin.test.mjs +1 -3
- package/lib/bugs/agenda-00002.js +3 -148
- package/lib/bugs/agenda-00002.mjs +1 -28
- package/lib/bugs/agenda-00008/plugin.test.js +3 -52
- package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00008.js +2 -61
- package/lib/bugs/agenda-00008.mjs +1 -5
- package/lib/bugs/agenda-00011/plugin.test.js +5 -99
- package/lib/bugs/agenda-00011/plugin.test.mjs +3 -3
- package/lib/bugs/agenda-00011.js +4 -105
- package/lib/bugs/agenda-00011.mjs +3 -29
- package/lib/bugs.js +3 -164
- package/lib/bugs.mjs +1 -26
- package/lib/cleaners/actes_legislatifs.js +11 -115
- package/lib/cleaners/actes_legislatifs.mjs +7 -82
- package/lib/cleaners/acteurs.js +12 -92
- package/lib/cleaners/acteurs.mjs +7 -38
- package/lib/cleaners/amendements.js +10 -103
- package/lib/cleaners/amendements.mjs +4 -58
- package/lib/cleaners/documents.js +5 -67
- package/lib/cleaners/documents.mjs +1 -37
- package/lib/cleaners/dossiers_legislatifs.js +5 -61
- package/lib/cleaners/dossiers_legislatifs.mjs +1 -29
- package/lib/cleaners/index.js +1 -9
- package/lib/cleaners/index.mjs +1 -1
- package/lib/cleaners/organes.js +1 -33
- package/lib/cleaners/organes.mjs +1 -17
- package/lib/cleaners/reunions.js +4 -119
- package/lib/cleaners/reunions.mjs +1 -64
- package/lib/cleaners/scrutins.js +10 -102
- package/lib/cleaners/scrutins.mjs +1 -48
- package/lib/cleaners/xml.js +8 -42
- package/lib/cleaners/xml.mjs +6 -8
- package/lib/datasets.js +14 -113
- package/lib/datasets.mjs +6 -46
- package/lib/dates.js +7 -37
- package/lib/dates.mjs +9 -14
- package/lib/dossiers_legislatifs.js +6 -68
- package/lib/dossiers_legislatifs.mjs +5 -36
- package/lib/file_systems.js +56 -139
- package/lib/file_systems.mjs +1 -9
- package/lib/git.js +4 -53
- package/lib/git.mjs +1 -12
- package/lib/index.js +1 -15
- package/lib/index.mjs +1 -1
- package/lib/inserters.js +23 -146
- package/lib/inserters.mjs +6 -87
- package/lib/loaders.js +44 -316
- package/lib/loaders.mjs +12 -135
- package/lib/organes.js +1 -7
- package/lib/organes.mjs +1 -4
- package/lib/parsers/documents.js +22 -151
- package/lib/parsers/documents.mjs +19 -81
- package/lib/parsers/index.js +1 -4
- package/lib/parsers/index.mjs +1 -1
- package/lib/parsers/recherche_amendements.js +302 -527
- package/lib/parsers/recherche_amendements.mjs +8 -31
- package/lib/raw_types/acteurs_et_organes.d.ts +1 -30
- package/lib/raw_types/acteurs_et_organes.js +5 -124
- package/lib/raw_types/acteurs_et_organes.mjs +5 -105
- package/lib/raw_types/agendas.js +6 -89
- package/lib/raw_types/agendas.mjs +9 -65
- package/lib/raw_types/amendements.d.ts +2 -0
- package/lib/raw_types/amendements.js +10 -90
- package/lib/raw_types/amendements.mjs +11 -69
- package/lib/raw_types/dossiers_legislatifs.js +6 -96
- package/lib/raw_types/dossiers_legislatifs.mjs +6 -73
- package/lib/raw_types/scrutins.js +6 -81
- package/lib/raw_types/scrutins.mjs +9 -57
- package/lib/scripts/bugs_helper.js +2 -181
- package/lib/scripts/bugs_helper.mjs +2 -39
- package/lib/scripts/clean_data.js +27 -143
- package/lib/scripts/clean_data.mjs +15 -34
- package/lib/scripts/clean_reorganized_data.js +76 -240
- package/lib/scripts/clean_reorganized_data.mjs +36 -99
- package/lib/scripts/diff_amendements.js +19 -79
- package/lib/scripts/diff_amendements.mjs +17 -35
- package/lib/scripts/document_dossiers_legislatifs.js +17 -142
- package/lib/scripts/document_dossiers_legislatifs.mjs +6 -90
- package/lib/scripts/get_today_reunions.js +4 -22
- package/lib/scripts/get_today_reunions.mjs +1 -7
- package/lib/scripts/merge_scrutins.js +3 -47
- package/lib/scripts/merge_scrutins.mjs +1 -9
- package/lib/scripts/parse_textes_lois.js +15 -44
- package/lib/scripts/parse_textes_lois.mjs +18 -19
- package/lib/scripts/raw_types_from_amendements.js +3 -95
- package/lib/scripts/raw_types_from_amendements.mjs +1 -16
- package/lib/scripts/reorganize_data.js +74 -294
- package/lib/scripts/reorganize_data.mjs +22 -133
- package/lib/scripts/retrieve_deputes_photos.js +6 -119
- package/lib/scripts/retrieve_deputes_photos.mjs +7 -33
- package/lib/scripts/retrieve_documents.js +4 -192
- package/lib/scripts/retrieve_documents.mjs +2 -50
- package/lib/scripts/retrieve_open_data.js +44 -116
- package/lib/scripts/retrieve_open_data.mjs +14 -19
- package/lib/scripts/retrieve_pending_amendments.js +4 -98
- package/lib/scripts/retrieve_pending_amendments.mjs +1 -14
- package/lib/scripts/retrieve_senateurs_photos.js +18 -114
- package/lib/scripts/retrieve_senateurs_photos.mjs +20 -48
- package/lib/scripts/retrieve_textes_lois.js +3 -122
- package/lib/scripts/retrieve_textes_lois.mjs +3 -21
- package/lib/scripts/test_load.js +2 -10
- package/lib/scripts/test_load.mjs +2 -1
- package/lib/scripts/test_load_big_files.js +2 -10
- package/lib/scripts/test_load_big_files.mjs +2 -1
- package/lib/scripts/validate_json.js +4 -119
- package/lib/scripts/validate_json.mjs +2 -36
- package/lib/shared_types/codes_actes.js +1 -24
- package/lib/shared_types/codes_actes.mjs +3 -10
- package/lib/strings.js +1 -5
- package/lib/strings.mjs +1 -1
- package/lib/types/acteurs_et_organes.js +9 -84
- package/lib/types/acteurs_et_organes.mjs +10 -63
- package/lib/types/agendas.js +8 -90
- package/lib/types/agendas.mjs +11 -66
- package/lib/types/amendements.d.ts +2 -0
- package/lib/types/amendements.js +12 -92
- package/lib/types/amendements.mjs +15 -70
- package/lib/types/dossiers_legislatifs.js +8 -96
- package/lib/types/dossiers_legislatifs.mjs +10 -72
- package/lib/types/legislatures.js +1 -3
- package/lib/types/legislatures.mjs +1 -2
- package/lib/types/scrutins.js +8 -82
- package/lib/types/scrutins.mjs +11 -58
- package/lib/urls.js +3 -27
- package/lib/urls.mjs +3 -21
- package/package.json +1 -1
|
@@ -1,59 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.array.slice.js");
|
|
4
|
-
|
|
5
4
|
require("core-js/modules/es.function.name.js");
|
|
6
|
-
|
|
7
5
|
require("core-js/modules/es.array.from.js");
|
|
8
|
-
|
|
9
6
|
require("core-js/modules/es.string.iterator.js");
|
|
10
|
-
|
|
11
7
|
require("core-js/modules/es.regexp.exec.js");
|
|
12
|
-
|
|
13
8
|
require("core-js/modules/es.symbol.js");
|
|
14
|
-
|
|
15
9
|
require("core-js/modules/es.symbol.description.js");
|
|
16
|
-
|
|
17
10
|
require("core-js/modules/es.symbol.iterator.js");
|
|
18
|
-
|
|
19
11
|
require("core-js/modules/es.array.iterator.js");
|
|
20
|
-
|
|
21
12
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
22
|
-
|
|
23
13
|
require("core-js/modules/es.object.define-property.js");
|
|
24
|
-
|
|
25
14
|
Object.defineProperty(exports, "__esModule", {
|
|
26
15
|
value: true
|
|
27
16
|
});
|
|
28
17
|
exports.cleanAmendement = cleanAmendement;
|
|
29
18
|
exports.cleanTexteLegislatif = cleanTexteLegislatif;
|
|
30
|
-
|
|
31
19
|
require("core-js/modules/es.array.is-array.js");
|
|
32
|
-
|
|
33
20
|
require("core-js/modules/es.array.join.js");
|
|
34
|
-
|
|
35
21
|
require("core-js/modules/es.array.filter.js");
|
|
36
|
-
|
|
37
22
|
require("core-js/modules/es.object.to-string.js");
|
|
38
|
-
|
|
39
23
|
require("core-js/modules/es.array.includes.js");
|
|
40
|
-
|
|
41
24
|
require("core-js/modules/es.string.includes.js");
|
|
42
|
-
|
|
43
25
|
var _assert = _interopRequireDefault(require("assert"));
|
|
44
|
-
|
|
45
26
|
var _xml = require("./xml");
|
|
46
|
-
|
|
47
27
|
var _amendements = require("../types/amendements");
|
|
48
|
-
|
|
49
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
50
|
-
|
|
51
29
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
52
|
-
|
|
53
30
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
54
|
-
|
|
55
31
|
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
|
-
|
|
57
32
|
function cleanAmendement(amendement) {
|
|
58
33
|
(0, _xml.cleanXmlArtefacts)(amendement);
|
|
59
34
|
var signataires = amendement.signataires;
|
|
@@ -63,25 +38,19 @@ function cleanAmendement(amendement) {
|
|
|
63
38
|
{
|
|
64
39
|
(0, _xml.cleanXmlArtefacts)(auteur);
|
|
65
40
|
}
|
|
66
|
-
|
|
67
41
|
if (signataires.cosignataires !== undefined) {
|
|
68
42
|
var acteurRef = signataires.cosignataires.acteurRef;
|
|
69
|
-
|
|
70
43
|
if (Array.isArray(acteurRef)) {
|
|
71
44
|
signataires.cosignatairesRefs = acteurRef;
|
|
72
45
|
} else {
|
|
73
46
|
(0, _assert["default"])(acteurRef);
|
|
74
47
|
signataires.cosignatairesRefs = [acteurRef];
|
|
75
48
|
}
|
|
76
|
-
|
|
77
49
|
delete signataires.cosignataires;
|
|
78
50
|
}
|
|
79
|
-
|
|
80
51
|
var libelle = signataires.libelle;
|
|
81
|
-
|
|
82
52
|
if (libelle !== undefined) {
|
|
83
53
|
libelle = libelle.split(" ").filter(Boolean).join(" ");
|
|
84
|
-
|
|
85
54
|
if (libelle) {
|
|
86
55
|
signataires.libelle = libelle;
|
|
87
56
|
} else {
|
|
@@ -93,75 +62,54 @@ function cleanAmendement(amendement) {
|
|
|
93
62
|
{
|
|
94
63
|
(0, _xml.cleanXmlArtefacts)(pointeurFragmentTexte);
|
|
95
64
|
var division = pointeurFragmentTexte.division;
|
|
96
|
-
|
|
97
65
|
if (division !== undefined) {
|
|
98
66
|
(0, _xml.cleanXmlArtefacts)(division);
|
|
99
67
|
var avantAApres = division.avant_A_Apres;
|
|
100
|
-
|
|
101
68
|
if (avantAApres !== undefined) {
|
|
102
69
|
delete division.avant_A_Apres;
|
|
103
|
-
|
|
104
70
|
if (avantAApres === "Après") {
|
|
105
71
|
avantAApres = _amendements.AvantAApres.Apres;
|
|
106
72
|
}
|
|
107
|
-
|
|
108
73
|
division.avantAApres = avantAApres;
|
|
109
74
|
}
|
|
110
75
|
}
|
|
111
|
-
|
|
112
76
|
var amendementStandard = pointeurFragmentTexte.amendementStandard;
|
|
113
|
-
|
|
114
77
|
if (amendementStandard !== undefined) {
|
|
115
78
|
(0, _xml.cleanXmlArtefacts)(amendementStandard);
|
|
116
79
|
var alinea = amendementStandard.alinea;
|
|
117
|
-
|
|
118
80
|
if (alinea !== undefined) {
|
|
119
81
|
(0, _xml.cleanXmlArtefacts)(alinea);
|
|
120
82
|
var _avantAApres = alinea.avant_A_Apres;
|
|
121
|
-
|
|
122
83
|
if (_avantAApres !== undefined) {
|
|
123
84
|
delete alinea.avant_A_Apres;
|
|
124
|
-
|
|
125
85
|
if (_avantAApres === "Après") {
|
|
126
86
|
_avantAApres = _amendements.AvantAApres.Apres;
|
|
127
87
|
} else if (![_amendements.AvantAApres.A, _amendements.AvantAApres.Apres, _amendements.AvantAApres.Avant].includes(_avantAApres)) {
|
|
128
88
|
_avantAApres = _amendements.AvantAApres.A;
|
|
129
89
|
}
|
|
130
|
-
|
|
131
90
|
alinea.avantAApres = _avantAApres;
|
|
132
91
|
}
|
|
133
|
-
|
|
134
92
|
pointeurFragmentTexte.alinea = alinea;
|
|
135
93
|
}
|
|
136
|
-
|
|
137
94
|
delete pointeurFragmentTexte.amendementStandard;
|
|
138
95
|
}
|
|
139
96
|
}
|
|
140
97
|
var corps = amendement.corps;
|
|
141
|
-
|
|
142
98
|
if (corps !== undefined) {
|
|
143
99
|
(0, _xml.cleanXmlArtefacts)(corps);
|
|
144
100
|
var contenuAuteur = corps.contenuAuteur;
|
|
145
|
-
|
|
146
101
|
if (contenuAuteur !== undefined) {
|
|
147
102
|
(0, _xml.cleanXmlArtefacts)(contenuAuteur);
|
|
148
103
|
var avantAppel = contenuAuteur.avantAppel;
|
|
149
|
-
|
|
150
104
|
if (avantAppel !== undefined) {
|
|
151
105
|
(0, _xml.cleanXmlArtefacts)(avantAppel);
|
|
152
|
-
|
|
153
106
|
_assert["default"].notStrictEqual(avantAppel.dispositif, undefined);
|
|
154
107
|
}
|
|
155
|
-
|
|
156
108
|
_assert["default"].strictEqual(contenuAuteur.annexeExposeSommaire, undefined);
|
|
157
|
-
|
|
158
109
|
var dispositifAmdtCreditPLF = contenuAuteur.dispositifAmdtCreditPLF;
|
|
159
|
-
|
|
160
110
|
if (dispositifAmdtCreditPLF !== undefined) {
|
|
161
111
|
var _dispositifAmdtCredit;
|
|
162
|
-
|
|
163
112
|
var listeProgrammes = (_dispositifAmdtCredit = dispositifAmdtCreditPLF.listeProgrammes) === null || _dispositifAmdtCredit === void 0 ? void 0 : _dispositifAmdtCredit.programme;
|
|
164
|
-
|
|
165
113
|
if (listeProgrammes !== undefined) {
|
|
166
114
|
if (Array.isArray(listeProgrammes)) {
|
|
167
115
|
dispositifAmdtCreditPLF.listeProgrammes = listeProgrammes;
|
|
@@ -169,18 +117,14 @@ function cleanAmendement(amendement) {
|
|
|
169
117
|
(0, _assert["default"])(listeProgrammes);
|
|
170
118
|
dispositifAmdtCreditPLF.listeProgrammes = [listeProgrammes];
|
|
171
119
|
}
|
|
172
|
-
|
|
173
120
|
var _iterator = _createForOfIteratorHelper(dispositifAmdtCreditPLF.listeProgrammes),
|
|
174
|
-
|
|
175
|
-
|
|
121
|
+
_step;
|
|
176
122
|
try {
|
|
177
123
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
178
124
|
var programme = _step.value;
|
|
179
125
|
(0, _xml.cleanXmlArtefacts)(programme);
|
|
180
|
-
|
|
181
126
|
if (programme.lignesCredits !== undefined) {
|
|
182
127
|
var lignesCredits = programme.lignesCredits.ligneCredit;
|
|
183
|
-
|
|
184
128
|
if (lignesCredits === undefined) {
|
|
185
129
|
delete programme.lignesCredits;
|
|
186
130
|
} else {
|
|
@@ -188,14 +132,11 @@ function cleanAmendement(amendement) {
|
|
|
188
132
|
(0, _assert["default"])(lignesCredits);
|
|
189
133
|
lignesCredits = [lignesCredits];
|
|
190
134
|
}
|
|
191
|
-
|
|
192
135
|
programme.lignesCredits = lignesCredits;
|
|
193
136
|
}
|
|
194
|
-
|
|
195
137
|
if (lignesCredits !== undefined) {
|
|
196
138
|
var _iterator2 = _createForOfIteratorHelper(lignesCredits),
|
|
197
|
-
|
|
198
|
-
|
|
139
|
+
_step2;
|
|
199
140
|
try {
|
|
200
141
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
201
142
|
var ligneCredit = _step2.value;
|
|
@@ -216,14 +157,10 @@ function cleanAmendement(amendement) {
|
|
|
216
157
|
}
|
|
217
158
|
}
|
|
218
159
|
}
|
|
219
|
-
|
|
220
160
|
var dispositifAmdtCreditPLFR = contenuAuteur.dispositifAmdtCreditPLFR;
|
|
221
|
-
|
|
222
161
|
if (dispositifAmdtCreditPLFR !== undefined) {
|
|
223
162
|
var _dispositifAmdtCredit2;
|
|
224
|
-
|
|
225
163
|
var _listeProgrammes = (_dispositifAmdtCredit2 = dispositifAmdtCreditPLFR.listeProgrammes) === null || _dispositifAmdtCredit2 === void 0 ? void 0 : _dispositifAmdtCredit2.programme;
|
|
226
|
-
|
|
227
164
|
if (_listeProgrammes !== undefined) {
|
|
228
165
|
if (Array.isArray(_listeProgrammes)) {
|
|
229
166
|
dispositifAmdtCreditPLFR.listeProgrammes = _listeProgrammes;
|
|
@@ -231,18 +168,14 @@ function cleanAmendement(amendement) {
|
|
|
231
168
|
(0, _assert["default"])(_listeProgrammes);
|
|
232
169
|
dispositifAmdtCreditPLFR.listeProgrammes = [_listeProgrammes];
|
|
233
170
|
}
|
|
234
|
-
|
|
235
171
|
var _iterator3 = _createForOfIteratorHelper(dispositifAmdtCreditPLFR.listeProgrammes),
|
|
236
|
-
|
|
237
|
-
|
|
172
|
+
_step3;
|
|
238
173
|
try {
|
|
239
174
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
240
175
|
var _programme = _step3.value;
|
|
241
176
|
(0, _xml.cleanXmlArtefacts)(_programme);
|
|
242
|
-
|
|
243
177
|
if (_programme.lignesCredits !== undefined) {
|
|
244
178
|
var _lignesCredits = _programme.lignesCredits.ligneCredit;
|
|
245
|
-
|
|
246
179
|
if (_lignesCredits === undefined) {
|
|
247
180
|
delete _programme.lignesCredits;
|
|
248
181
|
} else {
|
|
@@ -250,14 +183,11 @@ function cleanAmendement(amendement) {
|
|
|
250
183
|
(0, _assert["default"])(_lignesCredits);
|
|
251
184
|
_lignesCredits = [_lignesCredits];
|
|
252
185
|
}
|
|
253
|
-
|
|
254
186
|
_programme.lignesCredits = _lignesCredits;
|
|
255
187
|
}
|
|
256
|
-
|
|
257
188
|
if (_lignesCredits !== undefined) {
|
|
258
189
|
var _iterator4 = _createForOfIteratorHelper(_lignesCredits),
|
|
259
|
-
|
|
260
|
-
|
|
190
|
+
_step4;
|
|
261
191
|
try {
|
|
262
192
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
263
193
|
var _ligneCredit = _step4.value;
|
|
@@ -280,9 +210,7 @@ function cleanAmendement(amendement) {
|
|
|
280
210
|
}
|
|
281
211
|
}
|
|
282
212
|
}
|
|
283
|
-
|
|
284
213
|
var cycleDeVie = amendement.cycleDeVie;
|
|
285
|
-
|
|
286
214
|
if (cycleDeVie !== undefined) {
|
|
287
215
|
(0, _xml.cleanXmlArtefacts)(cycleDeVie);
|
|
288
216
|
var etatDesTraitements = cycleDeVie.etatDesTraitements;
|
|
@@ -293,13 +221,11 @@ function cleanAmendement(amendement) {
|
|
|
293
221
|
(0, _xml.cleanXmlArtefacts)(etat);
|
|
294
222
|
}
|
|
295
223
|
var sousEtat = etatDesTraitements.sousEtat;
|
|
296
|
-
|
|
297
224
|
if (sousEtat !== undefined) {
|
|
298
225
|
(0, _xml.cleanXmlArtefacts)(sousEtat);
|
|
299
226
|
}
|
|
300
227
|
}
|
|
301
228
|
}
|
|
302
|
-
|
|
303
229
|
if (amendement.representations !== undefined) {
|
|
304
230
|
var representation = amendement.representations.representation;
|
|
305
231
|
(0, _assert["default"])(!Array.isArray(representation));
|
|
@@ -307,13 +233,9 @@ function cleanAmendement(amendement) {
|
|
|
307
233
|
delete amendement.representations;
|
|
308
234
|
{
|
|
309
235
|
(0, _xml.cleanXmlArtefacts)(representation);
|
|
310
|
-
|
|
311
236
|
_assert["default"].strictEqual(representation.repSource, undefined);
|
|
312
|
-
|
|
313
237
|
_assert["default"].strictEqual(representation.offset, undefined);
|
|
314
|
-
|
|
315
238
|
_assert["default"].strictEqual(representation.dateDispoRepresentation, undefined);
|
|
316
|
-
|
|
317
239
|
var statutRepresentation = representation.statutRepresentation;
|
|
318
240
|
{
|
|
319
241
|
(0, _xml.cleanBooleanAttribute)(statutRepresentation, "canonique");
|
|
@@ -324,32 +246,23 @@ function cleanAmendement(amendement) {
|
|
|
324
246
|
}
|
|
325
247
|
}
|
|
326
248
|
}
|
|
327
|
-
|
|
328
249
|
var loiReference = amendement.loiReference;
|
|
329
|
-
|
|
330
250
|
if (loiReference !== undefined) {
|
|
331
251
|
(0, _xml.cleanXmlArtefacts)(loiReference);
|
|
332
252
|
}
|
|
333
|
-
|
|
334
253
|
var discussionCommune = amendement.discussionCommune;
|
|
335
|
-
|
|
336
254
|
if (discussionCommune !== undefined) {
|
|
337
255
|
(0, _xml.cleanXmlArtefacts)(discussionCommune);
|
|
338
256
|
}
|
|
339
|
-
|
|
340
257
|
var discussionIdentique = amendement.discussionIdentique;
|
|
341
|
-
|
|
342
258
|
if (discussionIdentique !== undefined) {
|
|
343
259
|
(0, _xml.cleanXmlArtefacts)(discussionIdentique);
|
|
344
260
|
}
|
|
345
261
|
}
|
|
346
|
-
|
|
347
262
|
function cleanLigneCreditPLFR(ligneCreditPLFR) {
|
|
348
263
|
(0, _xml.cleanXmlArtefacts)(ligneCreditPLFR);
|
|
349
|
-
|
|
350
264
|
if (ligneCreditPLFR.lignesCredits !== undefined) {
|
|
351
265
|
var lignesCredits = ligneCreditPLFR.lignesCredits.ligneCredit;
|
|
352
|
-
|
|
353
266
|
if (lignesCredits === undefined) {
|
|
354
267
|
delete ligneCreditPLFR.lignesCredits;
|
|
355
268
|
} else {
|
|
@@ -357,14 +270,11 @@ function cleanLigneCreditPLFR(ligneCreditPLFR) {
|
|
|
357
270
|
(0, _assert["default"])(lignesCredits);
|
|
358
271
|
lignesCredits = [lignesCredits];
|
|
359
272
|
}
|
|
360
|
-
|
|
361
273
|
ligneCreditPLFR.lignesCredits = lignesCredits;
|
|
362
274
|
}
|
|
363
|
-
|
|
364
275
|
if (lignesCredits !== undefined) {
|
|
365
276
|
var _iterator5 = _createForOfIteratorHelper(lignesCredits),
|
|
366
|
-
|
|
367
|
-
|
|
277
|
+
_step5;
|
|
368
278
|
try {
|
|
369
279
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
370
280
|
var ligneCredit = _step5.value;
|
|
@@ -378,9 +288,10 @@ function cleanLigneCreditPLFR(ligneCreditPLFR) {
|
|
|
378
288
|
}
|
|
379
289
|
}
|
|
380
290
|
}
|
|
381
|
-
|
|
382
291
|
function cleanTexteLegislatif(texteLegislatif) {
|
|
383
|
-
(0, _xml.cleanXmlArtefacts)(texteLegislatif);
|
|
292
|
+
(0, _xml.cleanXmlArtefacts)(texteLegislatif);
|
|
293
|
+
|
|
294
|
+
// Note: The following fields in `texteLegislatif.amendements` are currently ignored:
|
|
384
295
|
// * "#text"?: string;
|
|
385
296
|
// * offset?: null;
|
|
386
297
|
// * nom?: Nom;
|
|
@@ -388,19 +299,15 @@ function cleanTexteLegislatif(texteLegislatif) {
|
|
|
388
299
|
// * dateDepot?: Date;
|
|
389
300
|
// * documentURI?: string;
|
|
390
301
|
// Because it seems they should belong to an "amendement".
|
|
391
|
-
|
|
392
302
|
var amendement = texteLegislatif.amendements.amendement;
|
|
393
|
-
|
|
394
303
|
if (Array.isArray(amendement)) {
|
|
395
304
|
texteLegislatif.amendements = amendement;
|
|
396
305
|
} else {
|
|
397
306
|
(0, _assert["default"])(amendement);
|
|
398
307
|
texteLegislatif.amendements = [amendement];
|
|
399
308
|
}
|
|
400
|
-
|
|
401
309
|
var _iterator6 = _createForOfIteratorHelper(texteLegislatif.amendements),
|
|
402
|
-
|
|
403
|
-
|
|
310
|
+
_step6;
|
|
404
311
|
try {
|
|
405
312
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
406
313
|
var _amendement = _step6.value;
|
|
@@ -412,4 +319,4 @@ function cleanTexteLegislatif(texteLegislatif) {
|
|
|
412
319
|
_iterator6.f();
|
|
413
320
|
}
|
|
414
321
|
}
|
|
415
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbGVhbkFtZW5kZW1lbnQiLCJhbWVuZGVtZW50IiwiY2xlYW5YbWxBcnRlZmFjdHMiLCJzaWduYXRhaXJlcyIsImF1dGV1ciIsImNvc2lnbmF0YWlyZXMiLCJ1bmRlZmluZWQiLCJhY3RldXJSZWYiLCJBcnJheSIsImlzQXJyYXkiLCJjb3NpZ25hdGFpcmVzUmVmcyIsImFzc2VydCIsImxpYmVsbGUiLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwicG9pbnRldXJGcmFnbWVudFRleHRlIiwiZGl2aXNpb24iLCJhdmFudEFBcHJlcyIsImF2YW50X0FfQXByZXMiLCJBdmFudEFBcHJlcyIsIkFwcmVzIiwiYW1lbmRlbWVudFN0YW5kYXJkIiwiYWxpbmVhIiwiQSIsIkF2YW50IiwiaW5jbHVkZXMiLCJjb3JwcyIsImNvbnRlbnVBdXRldXIiLCJhdmFudEFwcGVsIiwibm90U3RyaWN0RXF1YWwiLCJkaXNwb3NpdGlmIiwic3RyaWN0RXF1YWwiLCJhbm5leGVFeHBvc2VTb21tYWlyZSIsImRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIiwibGlzdGVQcm9ncmFtbWVzIiwicHJvZ3JhbW1lIiwibGlnbmVzQ3JlZGl0cyIsImxpZ25lQ3JlZGl0IiwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSIiwiY2xlYW5MaWduZUNyZWRpdFBMRlIiLCJjeWNsZURlVmllIiwiZXRhdERlc1RyYWl0ZW1lbnRzIiwiZXRhdCIsInNvdXNFdGF0IiwicmVwcmVzZW50YXRpb25zIiwicmVwcmVzZW50YXRpb24iLCJyZXBTb3VyY2UiLCJvZmZzZXQiLCJkYXRlRGlzcG9SZXByZXNlbnRhdGlvbiIsInN0YXR1dFJlcHJlc2VudGF0aW9uIiwiY2xlYW5Cb29sZWFuQXR0cmlidXRlIiwibG9pUmVmZXJlbmNlIiwiZGlzY3Vzc2lvbkNvbW11bmUiLCJkaXNjdXNzaW9uSWRlbnRpcXVlIiwibGlnbmVDcmVkaXRQTEZSIiwiY2xlYW5UZXh0ZUxlZ2lzbGF0aWYiLCJ0ZXh0ZUxlZ2lzbGF0aWYiLCJhbWVuZGVtZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9hbWVuZGVtZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5pbXBvcnQgeyBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUsIGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcbmltcG9ydCB7IEF2YW50QUFwcmVzIH0gZnJvbSBcIi4uL3R5cGVzL2FtZW5kZW1lbnRzXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQW1lbmRlbWVudChhbWVuZGVtZW50OiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMoYW1lbmRlbWVudClcblxuICBjb25zdCBzaWduYXRhaXJlcyA9IGFtZW5kZW1lbnQuc2lnbmF0YWlyZXNcbiAge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHNpZ25hdGFpcmVzKVxuXG4gICAgY29uc3QgYXV0ZXVyID0gc2lnbmF0YWlyZXMuYXV0ZXVyXG4gICAge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoYXV0ZXVyKVxuICAgIH1cblxuICAgIGlmIChzaWduYXRhaXJlcy5jb3NpZ25hdGFpcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGFjdGV1clJlZiA9IHNpZ25hdGFpcmVzLmNvc2lnbmF0YWlyZXMuYWN0ZXVyUmVmXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShhY3RldXJSZWYpKSB7XG4gICAgICAgIHNpZ25hdGFpcmVzLmNvc2lnbmF0YWlyZXNSZWZzID0gYWN0ZXVyUmVmXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NlcnQoYWN0ZXVyUmVmKVxuICAgICAgICBzaWduYXRhaXJlcy5jb3NpZ25hdGFpcmVzUmVmcyA9IFthY3RldXJSZWZdXG4gICAgICB9XG4gICAgICBkZWxldGUgc2lnbmF0YWlyZXMuY29zaWduYXRhaXJlc1xuICAgIH1cblxuICAgIGxldCBsaWJlbGxlID0gc2lnbmF0YWlyZXMubGliZWxsZVxuICAgIGlmIChsaWJlbGxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxpYmVsbGUgPSBsaWJlbGxlLnNwbGl0KFwiIFwiKS5maWx0ZXIoQm9vbGVhbikuam9pbihcIiBcIilcbiAgICAgIGlmIChsaWJlbGxlKSB7XG4gICAgICAgIHNpZ25hdGFpcmVzLmxpYmVsbGUgPSBsaWJlbGxlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgc2lnbmF0YWlyZXMubGliZWxsZVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBvaW50ZXVyRnJhZ21lbnRUZXh0ZSA9IGFtZW5kZW1lbnQucG9pbnRldXJGcmFnbWVudFRleHRlXG4gIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhwb2ludGV1ckZyYWdtZW50VGV4dGUpXG5cbiAgICBjb25zdCBkaXZpc2lvbiA9IHBvaW50ZXVyRnJhZ21lbnRUZXh0ZS5kaXZpc2lvblxuICAgIGlmIChkaXZpc2lvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhkaXZpc2lvbilcblxuICAgICAgbGV0IGF2YW50QUFwcmVzID0gZGl2aXNpb24uYXZhbnRfQV9BcHJlc1xuICAgICAgaWYgKGF2YW50QUFwcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGVsZXRlIGRpdmlzaW9uLmF2YW50X0FfQXByZXNcbiAgICAgICAgaWYgKGF2YW50QUFwcmVzID09PSBcIkFwcsOoc1wiKSB7XG4gICAgICAgICAgYXZhbnRBQXByZXMgPSBBdmFudEFBcHJlcy5BcHJlc1xuICAgICAgICB9XG4gICAgICAgIGRpdmlzaW9uLmF2YW50QUFwcmVzID0gYXZhbnRBQXByZXNcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBhbWVuZGVtZW50U3RhbmRhcmQgPSBwb2ludGV1ckZyYWdtZW50VGV4dGUuYW1lbmRlbWVudFN0YW5kYXJkXG4gICAgaWYgKGFtZW5kZW1lbnRTdGFuZGFyZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhhbWVuZGVtZW50U3RhbmRhcmQpXG5cbiAgICAgIGNvbnN0IGFsaW5lYSA9IGFtZW5kZW1lbnRTdGFuZGFyZC5hbGluZWFcbiAgICAgIGlmIChhbGluZWEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhhbGluZWEpXG5cbiAgICAgICAgbGV0IGF2YW50QUFwcmVzID0gYWxpbmVhLmF2YW50X0FfQXByZXNcbiAgICAgICAgaWYgKGF2YW50QUFwcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkZWxldGUgYWxpbmVhLmF2YW50X0FfQXByZXNcbiAgICAgICAgICBpZiAoYXZhbnRBQXByZXMgPT09IFwiQXByw6hzXCIpIHtcbiAgICAgICAgICAgIGF2YW50QUFwcmVzID0gQXZhbnRBQXByZXMuQXByZXNcbiAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgIVtBdmFudEFBcHJlcy5BLCBBdmFudEFBcHJlcy5BcHJlcywgQXZhbnRBQXByZXMuQXZhbnRdLmluY2x1ZGVzKFxuICAgICAgICAgICAgICBhdmFudEFBcHJlcyxcbiAgICAgICAgICAgIClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGF2YW50QUFwcmVzID0gQXZhbnRBQXByZXMuQVxuICAgICAgICAgIH1cbiAgICAgICAgICBhbGluZWEuYXZhbnRBQXByZXMgPSBhdmFudEFBcHJlc1xuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRldXJGcmFnbWVudFRleHRlLmFsaW5lYSA9IGFsaW5lYVxuICAgICAgfVxuICAgICAgZGVsZXRlIHBvaW50ZXVyRnJhZ21lbnRUZXh0ZS5hbWVuZGVtZW50U3RhbmRhcmRcbiAgICB9XG4gIH1cblxuICBjb25zdCBjb3JwcyA9IGFtZW5kZW1lbnQuY29ycHNcbiAgaWYgKGNvcnBzICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhjb3JwcylcblxuICAgIGNvbnN0IGNvbnRlbnVBdXRldXIgPSBjb3Jwcy5jb250ZW51QXV0ZXVyXG4gICAgaWYgKGNvbnRlbnVBdXRldXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoY29udGVudUF1dGV1cilcblxuICAgICAgY29uc3QgYXZhbnRBcHBlbCA9IGNvbnRlbnVBdXRldXIuYXZhbnRBcHBlbFxuICAgICAgaWYgKGF2YW50QXBwZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhhdmFudEFwcGVsKVxuXG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhdmFudEFwcGVsLmRpc3Bvc2l0aWYsIHVuZGVmaW5lZClcbiAgICAgIH1cblxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvbnRlbnVBdXRldXIuYW5uZXhlRXhwb3NlU29tbWFpcmUsIHVuZGVmaW5lZClcblxuICAgICAgY29uc3QgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEYgPSBjb250ZW51QXV0ZXVyLmRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGXG4gICAgICBpZiAoZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBsaXN0ZVByb2dyYW1tZXMgPVxuICAgICAgICAgIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGLmxpc3RlUHJvZ3JhbW1lcz8ucHJvZ3JhbW1lXG4gICAgICAgIGlmIChsaXN0ZVByb2dyYW1tZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3RlUHJvZ3JhbW1lcykpIHtcbiAgICAgICAgICAgIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGLmxpc3RlUHJvZ3JhbW1lcyA9IGxpc3RlUHJvZ3JhbW1lc1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhc3NlcnQobGlzdGVQcm9ncmFtbWVzKVxuICAgICAgICAgICAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEYubGlzdGVQcm9ncmFtbWVzID0gW2xpc3RlUHJvZ3JhbW1lc11cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmb3IgKGNvbnN0IHByb2dyYW1tZSBvZiBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRi5saXN0ZVByb2dyYW1tZXMpIHtcbiAgICAgICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHByb2dyYW1tZSlcblxuICAgICAgICAgICAgaWYgKHByb2dyYW1tZS5saWduZXNDcmVkaXRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgbGV0IGxpZ25lc0NyZWRpdHMgPSBwcm9ncmFtbWUubGlnbmVzQ3JlZGl0cy5saWduZUNyZWRpdFxuICAgICAgICAgICAgICBpZiAobGlnbmVzQ3JlZGl0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHByb2dyYW1tZS5saWduZXNDcmVkaXRzXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGxpZ25lc0NyZWRpdHMpKSB7XG4gICAgICAgICAgICAgICAgICBhc3NlcnQobGlnbmVzQ3JlZGl0cylcbiAgICAgICAgICAgICAgICAgIGxpZ25lc0NyZWRpdHMgPSBbbGlnbmVzQ3JlZGl0c11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcHJvZ3JhbW1lLmxpZ25lc0NyZWRpdHMgPSBsaWduZXNDcmVkaXRzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKGxpZ25lc0NyZWRpdHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbGlnbmVDcmVkaXQgb2YgbGlnbmVzQ3JlZGl0cykge1xuICAgICAgICAgICAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMobGlnbmVDcmVkaXQpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUiA9IGNvbnRlbnVBdXRldXIuZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXG4gICAgICBpZiAoZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbGlzdGVQcm9ncmFtbWVzID1cbiAgICAgICAgICBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlIubGlzdGVQcm9ncmFtbWVzPy5wcm9ncmFtbWVcbiAgICAgICAgaWYgKGxpc3RlUHJvZ3JhbW1lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobGlzdGVQcm9ncmFtbWVzKSkge1xuICAgICAgICAgICAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSLmxpc3RlUHJvZ3JhbW1lcyA9IGxpc3RlUHJvZ3JhbW1lc1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhc3NlcnQobGlzdGVQcm9ncmFtbWVzKVxuICAgICAgICAgICAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSLmxpc3RlUHJvZ3JhbW1lcyA9IFtsaXN0ZVByb2dyYW1tZXNdXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9yIChjb25zdCBwcm9ncmFtbWUgb2YgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSLmxpc3RlUHJvZ3JhbW1lcykge1xuICAgICAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMocHJvZ3JhbW1lKVxuXG4gICAgICAgICAgICBpZiAocHJvZ3JhbW1lLmxpZ25lc0NyZWRpdHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBsZXQgbGlnbmVzQ3JlZGl0cyA9IHByb2dyYW1tZS5saWduZXNDcmVkaXRzLmxpZ25lQ3JlZGl0XG4gICAgICAgICAgICAgIGlmIChsaWduZXNDcmVkaXRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgcHJvZ3JhbW1lLmxpZ25lc0NyZWRpdHNcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkobGlnbmVzQ3JlZGl0cykpIHtcbiAgICAgICAgICAgICAgICAgIGFzc2VydChsaWduZXNDcmVkaXRzKVxuICAgICAgICAgICAgICAgICAgbGlnbmVzQ3JlZGl0cyA9IFtsaWduZXNDcmVkaXRzXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwcm9ncmFtbWUubGlnbmVzQ3JlZGl0cyA9IGxpZ25lc0NyZWRpdHNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAobGlnbmVzQ3JlZGl0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBsaWduZUNyZWRpdCBvZiBsaWduZXNDcmVkaXRzKSB7XG4gICAgICAgICAgICAgICAgICBjbGVhbkxpZ25lQ3JlZGl0UExGUihsaWduZUNyZWRpdClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBjeWNsZURlVmllID0gYW1lbmRlbWVudC5jeWNsZURlVmllXG4gIGlmIChjeWNsZURlVmllICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhjeWNsZURlVmllKVxuXG4gICAgY29uc3QgZXRhdERlc1RyYWl0ZW1lbnRzID0gY3ljbGVEZVZpZS5ldGF0RGVzVHJhaXRlbWVudHNcbiAgICB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhldGF0RGVzVHJhaXRlbWVudHMpXG5cbiAgICAgIGNvbnN0IGV0YXQgPSBldGF0RGVzVHJhaXRlbWVudHMuZXRhdFxuICAgICAge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhldGF0KVxuICAgICAgfVxuXG4gICAgICBjb25zdCBzb3VzRXRhdCA9IGV0YXREZXNUcmFpdGVtZW50cy5zb3VzRXRhdFxuICAgICAgaWYgKHNvdXNFdGF0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoc291c0V0YXQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGFtZW5kZW1lbnQucmVwcmVzZW50YXRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCByZXByZXNlbnRhdGlvbiA9IGFtZW5kZW1lbnQucmVwcmVzZW50YXRpb25zLnJlcHJlc2VudGF0aW9uXG4gICAgYXNzZXJ0KCFBcnJheS5pc0FycmF5KHJlcHJlc2VudGF0aW9uKSlcbiAgICBhbWVuZGVtZW50LnJlcHJlc2VudGF0aW9uID0gcmVwcmVzZW50YXRpb25cbiAgICBkZWxldGUgYW1lbmRlbWVudC5yZXByZXNlbnRhdGlvbnNcbiAgICB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhyZXByZXNlbnRhdGlvbilcblxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlcHJlc2VudGF0aW9uLnJlcFNvdXJjZSwgdW5kZWZpbmVkKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlcHJlc2VudGF0aW9uLm9mZnNldCwgdW5kZWZpbmVkKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlcHJlc2VudGF0aW9uLmRhdGVEaXNwb1JlcHJlc2VudGF0aW9uLCB1bmRlZmluZWQpXG5cbiAgICAgIGNvbnN0IHN0YXR1dFJlcHJlc2VudGF0aW9uID0gcmVwcmVzZW50YXRpb24uc3RhdHV0UmVwcmVzZW50YXRpb25cbiAgICAgIHtcbiAgICAgICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHN0YXR1dFJlcHJlc2VudGF0aW9uLCBcImNhbm9uaXF1ZVwiKVxuICAgICAgICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoc3RhdHV0UmVwcmVzZW50YXRpb24sIFwiZW5yZWdpc3RyZW1lbnRcIilcbiAgICAgICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHN0YXR1dFJlcHJlc2VudGF0aW9uLCBcIm9mZmljaWVsbGVcIilcbiAgICAgICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHN0YXR1dFJlcHJlc2VudGF0aW9uLCBcInRyYW5zY3JpcHRpb25cIilcbiAgICAgICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHN0YXR1dFJlcHJlc2VudGF0aW9uLCBcInZlcmJhdGltXCIpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgbG9pUmVmZXJlbmNlID0gYW1lbmRlbWVudC5sb2lSZWZlcmVuY2VcbiAgaWYgKGxvaVJlZmVyZW5jZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMobG9pUmVmZXJlbmNlKVxuICB9XG5cbiAgY29uc3QgZGlzY3Vzc2lvbkNvbW11bmUgPSBhbWVuZGVtZW50LmRpc2N1c3Npb25Db21tdW5lXG4gIGlmIChkaXNjdXNzaW9uQ29tbXVuZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoZGlzY3Vzc2lvbkNvbW11bmUpXG4gIH1cblxuICBjb25zdCBkaXNjdXNzaW9uSWRlbnRpcXVlID0gYW1lbmRlbWVudC5kaXNjdXNzaW9uSWRlbnRpcXVlXG4gIGlmIChkaXNjdXNzaW9uSWRlbnRpcXVlICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhkaXNjdXNzaW9uSWRlbnRpcXVlKVxuICB9XG59XG5cbmZ1bmN0aW9uIGNsZWFuTGlnbmVDcmVkaXRQTEZSKGxpZ25lQ3JlZGl0UExGUjogYW55KSB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKGxpZ25lQ3JlZGl0UExGUilcblxuICBpZiAobGlnbmVDcmVkaXRQTEZSLmxpZ25lc0NyZWRpdHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBsaWduZXNDcmVkaXRzID0gbGlnbmVDcmVkaXRQTEZSLmxpZ25lc0NyZWRpdHMubGlnbmVDcmVkaXRcbiAgICBpZiAobGlnbmVzQ3JlZGl0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZWxldGUgbGlnbmVDcmVkaXRQTEZSLmxpZ25lc0NyZWRpdHNcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGxpZ25lc0NyZWRpdHMpKSB7XG4gICAgICAgIGFzc2VydChsaWduZXNDcmVkaXRzKVxuICAgICAgICBsaWduZXNDcmVkaXRzID0gW2xpZ25lc0NyZWRpdHNdXG4gICAgICB9XG4gICAgICBsaWduZUNyZWRpdFBMRlIubGlnbmVzQ3JlZGl0cyA9IGxpZ25lc0NyZWRpdHNcbiAgICB9XG4gICAgaWYgKGxpZ25lc0NyZWRpdHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9yIChjb25zdCBsaWduZUNyZWRpdCBvZiBsaWduZXNDcmVkaXRzKSB7XG4gICAgICAgIGNsZWFuTGlnbmVDcmVkaXRQTEZSKGxpZ25lQ3JlZGl0KVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5UZXh0ZUxlZ2lzbGF0aWYodGV4dGVMZWdpc2xhdGlmOiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHModGV4dGVMZWdpc2xhdGlmKVxuXG4gIC8vIE5vdGU6IFRoZSBmb2xsb3dpbmcgZmllbGRzIGluIGB0ZXh0ZUxlZ2lzbGF0aWYuYW1lbmRlbWVudHNgIGFyZSBjdXJyZW50bHkgaWdub3JlZDpcbiAgLy8gKiBcIiN0ZXh0XCI/OiAgICAgICBzdHJpbmc7XG4gIC8vICogb2Zmc2V0PzogICAgICAgIG51bGw7XG4gIC8vICogbm9tPzogICAgICAgICAgIE5vbTtcbiAgLy8gKiBhdmFudF9BX0FwcmVzPzogRGl2aXNpb25BdmFudEFBcHJlcztcbiAgLy8gKiBkYXRlRGVwb3Q/OiAgICAgRGF0ZTtcbiAgLy8gKiBkb2N1bWVudFVSST86ICAgc3RyaW5nO1xuICAvLyBCZWNhdXNlIGl0IHNlZW1zIHRoZXkgc2hvdWxkIGJlbG9uZyB0byBhbiBcImFtZW5kZW1lbnRcIi5cbiAgbGV0IGFtZW5kZW1lbnQgPSB0ZXh0ZUxlZ2lzbGF0aWYuYW1lbmRlbWVudHMuYW1lbmRlbWVudFxuICBpZiAoQXJyYXkuaXNBcnJheShhbWVuZGVtZW50KSkge1xuICAgIHRleHRlTGVnaXNsYXRpZi5hbWVuZGVtZW50cyA9IGFtZW5kZW1lbnRcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQoYW1lbmRlbWVudClcbiAgICB0ZXh0ZUxlZ2lzbGF0aWYuYW1lbmRlbWVudHMgPSBbYW1lbmRlbWVudF1cbiAgfVxuXG4gIGZvciAoY29uc3QgYW1lbmRlbWVudCBvZiB0ZXh0ZUxlZ2lzbGF0aWYuYW1lbmRlbWVudHMpIHtcbiAgICBjbGVhbkFtZW5kZW1lbnQoYW1lbmRlbWVudClcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7Ozs7Ozs7OztBQUVPLFNBQVNBLGVBQVQsQ0FBeUJDLFVBQXpCLEVBQWdEO0VBQ3JELElBQUFDLHNCQUFBLEVBQWtCRCxVQUFsQjtFQUVBLElBQU1FLFdBQVcsR0FBR0YsVUFBVSxDQUFDRSxXQUEvQjtFQUNBO0lBQ0UsSUFBQUQsc0JBQUEsRUFBa0JDLFdBQWxCO0lBRUEsSUFBTUMsTUFBTSxHQUFHRCxXQUFXLENBQUNDLE1BQTNCO0lBQ0E7TUFDRSxJQUFBRixzQkFBQSxFQUFrQkUsTUFBbEI7SUFDRDs7SUFFRCxJQUFJRCxXQUFXLENBQUNFLGFBQVosS0FBOEJDLFNBQWxDLEVBQTZDO01BQzNDLElBQU1DLFNBQVMsR0FBR0osV0FBVyxDQUFDRSxhQUFaLENBQTBCRSxTQUE1Qzs7TUFDQSxJQUFJQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0YsU0FBZCxDQUFKLEVBQThCO1FBQzVCSixXQUFXLENBQUNPLGlCQUFaLEdBQWdDSCxTQUFoQztNQUNELENBRkQsTUFFTztRQUNMLElBQUFJLGtCQUFBLEVBQU9KLFNBQVA7UUFDQUosV0FBVyxDQUFDTyxpQkFBWixHQUFnQyxDQUFDSCxTQUFELENBQWhDO01BQ0Q7O01BQ0QsT0FBT0osV0FBVyxDQUFDRSxhQUFuQjtJQUNEOztJQUVELElBQUlPLE9BQU8sR0FBR1QsV0FBVyxDQUFDUyxPQUExQjs7SUFDQSxJQUFJQSxPQUFPLEtBQUtOLFNBQWhCLEVB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
|
|
322
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbGVhbkFtZW5kZW1lbnQiLCJhbWVuZGVtZW50IiwiY2xlYW5YbWxBcnRlZmFjdHMiLCJzaWduYXRhaXJlcyIsImF1dGV1ciIsImNvc2lnbmF0YWlyZXMiLCJ1bmRlZmluZWQiLCJhY3RldXJSZWYiLCJBcnJheSIsImlzQXJyYXkiLCJjb3NpZ25hdGFpcmVzUmVmcyIsImFzc2VydCIsImxpYmVsbGUiLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwicG9pbnRldXJGcmFnbWVudFRleHRlIiwiZGl2aXNpb24iLCJhdmFudEFBcHJlcyIsImF2YW50X0FfQXByZXMiLCJBdmFudEFBcHJlcyIsIkFwcmVzIiwiYW1lbmRlbWVudFN0YW5kYXJkIiwiYWxpbmVhIiwiQSIsIkF2YW50IiwiaW5jbHVkZXMiLCJjb3JwcyIsImNvbnRlbnVBdXRldXIiLCJhdmFudEFwcGVsIiwibm90U3RyaWN0RXF1YWwiLCJkaXNwb3NpdGlmIiwic3RyaWN0RXF1YWwiLCJhbm5leGVFeHBvc2VTb21tYWlyZSIsImRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIiwibGlzdGVQcm9ncmFtbWVzIiwicHJvZ3JhbW1lIiwibGlnbmVzQ3JlZGl0cyIsImxpZ25lQ3JlZGl0IiwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSIiwiY2xlYW5MaWduZUNyZWRpdFBMRlIiLCJjeWNsZURlVmllIiwiZXRhdERlc1RyYWl0ZW1lbnRzIiwiZXRhdCIsInNvdXNFdGF0IiwicmVwcmVzZW50YXRpb25zIiwicmVwcmVzZW50YXRpb24iLCJyZXBTb3VyY2UiLCJvZmZzZXQiLCJkYXRlRGlzcG9SZXByZXNlbnRhdGlvbiIsInN0YXR1dFJlcHJlc2VudGF0aW9uIiwiY2xlYW5Cb29sZWFuQXR0cmlidXRlIiwibG9pUmVmZXJlbmNlIiwiZGlzY3Vzc2lvbkNvbW11bmUiLCJkaXNjdXNzaW9uSWRlbnRpcXVlIiwibGlnbmVDcmVkaXRQTEZSIiwiY2xlYW5UZXh0ZUxlZ2lzbGF0aWYiLCJ0ZXh0ZUxlZ2lzbGF0aWYiLCJhbWVuZGVtZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9hbWVuZGVtZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5pbXBvcnQgeyBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUsIGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcbmltcG9ydCB7IEF2YW50QUFwcmVzIH0gZnJvbSBcIi4uL3R5cGVzL2FtZW5kZW1lbnRzXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQW1lbmRlbWVudChhbWVuZGVtZW50OiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMoYW1lbmRlbWVudClcblxuICBjb25zdCBzaWduYXRhaXJlcyA9IGFtZW5kZW1lbnQuc2lnbmF0YWlyZXNcbiAge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHNpZ25hdGFpcmVzKVxuXG4gICAgY29uc3QgYXV0ZXVyID0gc2lnbmF0YWlyZXMuYXV0ZXVyXG4gICAge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoYXV0ZXVyKVxuICAgIH1cblxuICAgIGlmIChzaWduYXRhaXJlcy5jb3NpZ25hdGFpcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGFjdGV1clJlZiA9IHNpZ25hdGFpcmVzLmNvc2lnbmF0YWlyZXMuYWN0ZXVyUmVmXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShhY3RldXJSZWYpKSB7XG4gICAgICAgIHNpZ25hdGFpcmVzLmNvc2lnbmF0YWlyZXNSZWZzID0gYWN0ZXVyUmVmXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NlcnQoYWN0ZXVyUmVmKVxuICAgICAgICBzaWduYXRhaXJlcy5jb3NpZ25hdGFpcmVzUmVmcyA9IFthY3RldXJSZWZdXG4gICAgICB9XG4gICAgICBkZWxldGUgc2lnbmF0YWlyZXMuY29zaWduYXRhaXJlc1xuICAgIH1cblxuICAgIGxldCBsaWJlbGxlID0gc2lnbmF0YWlyZXMubGliZWxsZVxuICAgIGlmIChsaWJlbGxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxpYmVsbGUgPSBsaWJlbGxlLnNwbGl0KFwiIFwiKS5maWx0ZXIoQm9vbGVhbikuam9pbihcIiBcIilcbiAgICAgIGlmIChsaWJlbGxlKSB7XG4gICAgICAgIHNpZ25hdGFpcmVzLmxpYmVsbGUgPSBsaWJlbGxlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgc2lnbmF0YWlyZXMubGliZWxsZVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBvaW50ZXVyRnJhZ21lbnRUZXh0ZSA9IGFtZW5kZW1lbnQucG9pbnRldXJGcmFnbWVudFRleHRlXG4gIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhwb2ludGV1ckZyYWdtZW50VGV4dGUpXG5cbiAgICBjb25zdCBkaXZpc2lvbiA9IHBvaW50ZXVyRnJhZ21lbnRUZXh0ZS5kaXZpc2lvblxuICAgIGlmIChkaXZpc2lvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhkaXZpc2lvbilcblxuICAgICAgbGV0IGF2YW50QUFwcmVzID0gZGl2aXNpb24uYXZhbnRfQV9BcHJlc1xuICAgICAgaWYgKGF2YW50QUFwcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGVsZXRlIGRpdmlzaW9uLmF2YW50X0FfQXByZXNcbiAgICAgICAgaWYgKGF2YW50QUFwcmVzID09PSBcIkFwcsOoc1wiKSB7XG4gICAgICAgICAgYXZhbnRBQXByZXMgPSBBdmFudEFBcHJlcy5BcHJlc1xuICAgICAgICB9XG4gICAgICAgIGRpdmlzaW9uLmF2YW50QUFwcmVzID0gYXZhbnRBQXByZXNcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBhbWVuZGVtZW50U3RhbmRhcmQgPSBwb2ludGV1ckZyYWdtZW50VGV4dGUuYW1lbmRlbWVudFN0YW5kYXJkXG4gICAgaWYgKGFtZW5kZW1lbnRTdGFuZGFyZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhhbWVuZGVtZW50U3RhbmRhcmQpXG5cbiAgICAgIGNvbnN0IGFsaW5lYSA9IGFtZW5kZW1lbnRTdGFuZGFyZC5hbGluZWFcbiAgICAgIGlmIChhbGluZWEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhhbGluZWEpXG5cbiAgICAgICAgbGV0IGF2YW50QUFwcmVzID0gYWxpbmVhLmF2YW50X0FfQXByZXNcbiAgICAgICAgaWYgKGF2YW50QUFwcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkZWxldGUgYWxpbmVhLmF2YW50X0FfQXByZXNcbiAgICAgICAgICBpZiAoYXZhbnRBQXByZXMgPT09IFwiQXByw6hzXCIpIHtcbiAgICAgICAgICAgIGF2YW50QUFwcmVzID0gQXZhbnRBQXByZXMuQXByZXNcbiAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgIVtBdmFudEFBcHJlcy5BLCBBdmFudEFBcHJlcy5BcHJlcywgQXZhbnRBQXByZXMuQXZhbnRdLmluY2x1ZGVzKFxuICAgICAgICAgICAgICBhdmFudEFBcHJlcyxcbiAgICAgICAgICAgIClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGF2YW50QUFwcmVzID0gQXZhbnRBQXByZXMuQVxuICAgICAgICAgIH1cbiAgICAgICAgICBhbGluZWEuYXZhbnRBQXByZXMgPSBhdmFudEFBcHJlc1xuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRldXJGcmFnbWVudFRleHRlLmFsaW5lYSA9IGFsaW5lYVxuICAgICAgfVxuICAgICAgZGVsZXRlIHBvaW50ZXVyRnJhZ21lbnRUZXh0ZS5hbWVuZGVtZW50U3RhbmRhcmRcbiAgICB9XG4gIH1cblxuICBjb25zdCBjb3JwcyA9IGFtZW5kZW1lbnQuY29ycHNcbiAgaWYgKGNvcnBzICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhjb3JwcylcblxuICAgIGNvbnN0IGNvbnRlbnVBdXRldXIgPSBjb3Jwcy5jb250ZW51QXV0ZXVyXG4gICAgaWYgKGNvbnRlbnVBdXRldXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoY29udGVudUF1dGV1cilcblxuICAgICAgY29uc3QgYXZhbnRBcHBlbCA9IGNvbnRlbnVBdXRldXIuYXZhbnRBcHBlbFxuICAgICAgaWYgKGF2YW50QXBwZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhhdmFudEFwcGVsKVxuXG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhdmFudEFwcGVsLmRpc3Bvc2l0aWYsIHVuZGVmaW5lZClcbiAgICAgIH1cblxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvbnRlbnVBdXRldXIuYW5uZXhlRXhwb3NlU29tbWFpcmUsIHVuZGVmaW5lZClcblxuICAgICAgY29uc3QgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEYgPSBjb250ZW51QXV0ZXVyLmRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGXG4gICAgICBpZiAoZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBsaXN0ZVByb2dyYW1tZXMgPVxuICAgICAgICAgIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGLmxpc3RlUHJvZ3JhbW1lcz8ucHJvZ3JhbW1lXG4gICAgICAgIGlmIChsaXN0ZVByb2dyYW1tZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3RlUHJvZ3JhbW1lcykpIHtcbiAgICAgICAgICAgIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGLmxpc3RlUHJvZ3JhbW1lcyA9IGxpc3RlUHJvZ3JhbW1lc1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhc3NlcnQobGlzdGVQcm9ncmFtbWVzKVxuICAgICAgICAgICAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEYubGlzdGVQcm9ncmFtbWVzID0gW2xpc3RlUHJvZ3JhbW1lc11cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmb3IgKGNvbnN0IHByb2dyYW1tZSBvZiBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRi5saXN0ZVByb2dyYW1tZXMpIHtcbiAgICAgICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHByb2dyYW1tZSlcblxuICAgICAgICAgICAgaWYgKHByb2dyYW1tZS5saWduZXNDcmVkaXRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgbGV0IGxpZ25lc0NyZWRpdHMgPSBwcm9ncmFtbWUubGlnbmVzQ3JlZGl0cy5saWduZUNyZWRpdFxuICAgICAgICAgICAgICBpZiAobGlnbmVzQ3JlZGl0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHByb2dyYW1tZS5saWduZXNDcmVkaXRzXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGxpZ25lc0NyZWRpdHMpKSB7XG4gICAgICAgICAgICAgICAgICBhc3NlcnQobGlnbmVzQ3JlZGl0cylcbiAgICAgICAgICAgICAgICAgIGxpZ25lc0NyZWRpdHMgPSBbbGlnbmVzQ3JlZGl0c11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcHJvZ3JhbW1lLmxpZ25lc0NyZWRpdHMgPSBsaWduZXNDcmVkaXRzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKGxpZ25lc0NyZWRpdHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbGlnbmVDcmVkaXQgb2YgbGlnbmVzQ3JlZGl0cykge1xuICAgICAgICAgICAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMobGlnbmVDcmVkaXQpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUiA9IGNvbnRlbnVBdXRldXIuZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXG4gICAgICBpZiAoZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbGlzdGVQcm9ncmFtbWVzID1cbiAgICAgICAgICBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlIubGlzdGVQcm9ncmFtbWVzPy5wcm9ncmFtbWVcbiAgICAgICAgaWYgKGxpc3RlUHJvZ3JhbW1lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobGlzdGVQcm9ncmFtbWVzKSkge1xuICAgICAgICAgICAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSLmxpc3RlUHJvZ3JhbW1lcyA9IGxpc3RlUHJvZ3JhbW1lc1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhc3NlcnQobGlzdGVQcm9ncmFtbWVzKVxuICAgICAgICAgICAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSLmxpc3RlUHJvZ3JhbW1lcyA9IFtsaXN0ZVByb2dyYW1tZXNdXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9yIChjb25zdCBwcm9ncmFtbWUgb2YgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSLmxpc3RlUHJvZ3JhbW1lcykge1xuICAgICAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMocHJvZ3JhbW1lKVxuXG4gICAgICAgICAgICBpZiAocHJvZ3JhbW1lLmxpZ25lc0NyZWRpdHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBsZXQgbGlnbmVzQ3JlZGl0cyA9IHByb2dyYW1tZS5saWduZXNDcmVkaXRzLmxpZ25lQ3JlZGl0XG4gICAgICAgICAgICAgIGlmIChsaWduZXNDcmVkaXRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgcHJvZ3JhbW1lLmxpZ25lc0NyZWRpdHNcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkobGlnbmVzQ3JlZGl0cykpIHtcbiAgICAgICAgICAgICAgICAgIGFzc2VydChsaWduZXNDcmVkaXRzKVxuICAgICAgICAgICAgICAgICAgbGlnbmVzQ3JlZGl0cyA9IFtsaWduZXNDcmVkaXRzXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwcm9ncmFtbWUubGlnbmVzQ3JlZGl0cyA9IGxpZ25lc0NyZWRpdHNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAobGlnbmVzQ3JlZGl0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBsaWduZUNyZWRpdCBvZiBsaWduZXNDcmVkaXRzKSB7XG4gICAgICAgICAgICAgICAgICBjbGVhbkxpZ25lQ3JlZGl0UExGUihsaWduZUNyZWRpdClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBjeWNsZURlVmllID0gYW1lbmRlbWVudC5jeWNsZURlVmllXG4gIGlmIChjeWNsZURlVmllICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhjeWNsZURlVmllKVxuXG4gICAgY29uc3QgZXRhdERlc1RyYWl0ZW1lbnRzID0gY3ljbGVEZVZpZS5ldGF0RGVzVHJhaXRlbWVudHNcbiAgICB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhldGF0RGVzVHJhaXRlbWVudHMpXG5cbiAgICAgIGNvbnN0IGV0YXQgPSBldGF0RGVzVHJhaXRlbWVudHMuZXRhdFxuICAgICAge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhldGF0KVxuICAgICAgfVxuXG4gICAgICBjb25zdCBzb3VzRXRhdCA9IGV0YXREZXNUcmFpdGVtZW50cy5zb3VzRXRhdFxuICAgICAgaWYgKHNvdXNFdGF0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoc291c0V0YXQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGFtZW5kZW1lbnQucmVwcmVzZW50YXRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCByZXByZXNlbnRhdGlvbiA9IGFtZW5kZW1lbnQucmVwcmVzZW50YXRpb25zLnJlcHJlc2VudGF0aW9uXG4gICAgYXNzZXJ0KCFBcnJheS5pc0FycmF5KHJlcHJlc2VudGF0aW9uKSlcbiAgICBhbWVuZGVtZW50LnJlcHJlc2VudGF0aW9uID0gcmVwcmVzZW50YXRpb25cbiAgICBkZWxldGUgYW1lbmRlbWVudC5yZXByZXNlbnRhdGlvbnNcbiAgICB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhyZXByZXNlbnRhdGlvbilcblxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlcHJlc2VudGF0aW9uLnJlcFNvdXJjZSwgdW5kZWZpbmVkKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlcHJlc2VudGF0aW9uLm9mZnNldCwgdW5kZWZpbmVkKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlcHJlc2VudGF0aW9uLmRhdGVEaXNwb1JlcHJlc2VudGF0aW9uLCB1bmRlZmluZWQpXG5cbiAgICAgIGNvbnN0IHN0YXR1dFJlcHJlc2VudGF0aW9uID0gcmVwcmVzZW50YXRpb24uc3RhdHV0UmVwcmVzZW50YXRpb25cbiAgICAgIHtcbiAgICAgICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHN0YXR1dFJlcHJlc2VudGF0aW9uLCBcImNhbm9uaXF1ZVwiKVxuICAgICAgICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoc3RhdHV0UmVwcmVzZW50YXRpb24sIFwiZW5yZWdpc3RyZW1lbnRcIilcbiAgICAgICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHN0YXR1dFJlcHJlc2VudGF0aW9uLCBcIm9mZmljaWVsbGVcIilcbiAgICAgICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHN0YXR1dFJlcHJlc2VudGF0aW9uLCBcInRyYW5zY3JpcHRpb25cIilcbiAgICAgICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHN0YXR1dFJlcHJlc2VudGF0aW9uLCBcInZlcmJhdGltXCIpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgbG9pUmVmZXJlbmNlID0gYW1lbmRlbWVudC5sb2lSZWZlcmVuY2VcbiAgaWYgKGxvaVJlZmVyZW5jZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMobG9pUmVmZXJlbmNlKVxuICB9XG5cbiAgY29uc3QgZGlzY3Vzc2lvbkNvbW11bmUgPSBhbWVuZGVtZW50LmRpc2N1c3Npb25Db21tdW5lXG4gIGlmIChkaXNjdXNzaW9uQ29tbXVuZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoZGlzY3Vzc2lvbkNvbW11bmUpXG4gIH1cblxuICBjb25zdCBkaXNjdXNzaW9uSWRlbnRpcXVlID0gYW1lbmRlbWVudC5kaXNjdXNzaW9uSWRlbnRpcXVlXG4gIGlmIChkaXNjdXNzaW9uSWRlbnRpcXVlICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhkaXNjdXNzaW9uSWRlbnRpcXVlKVxuICB9XG59XG5cbmZ1bmN0aW9uIGNsZWFuTGlnbmVDcmVkaXRQTEZSKGxpZ25lQ3JlZGl0UExGUjogYW55KSB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKGxpZ25lQ3JlZGl0UExGUilcblxuICBpZiAobGlnbmVDcmVkaXRQTEZSLmxpZ25lc0NyZWRpdHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBsaWduZXNDcmVkaXRzID0gbGlnbmVDcmVkaXRQTEZSLmxpZ25lc0NyZWRpdHMubGlnbmVDcmVkaXRcbiAgICBpZiAobGlnbmVzQ3JlZGl0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZWxldGUgbGlnbmVDcmVkaXRQTEZSLmxpZ25lc0NyZWRpdHNcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGxpZ25lc0NyZWRpdHMpKSB7XG4gICAgICAgIGFzc2VydChsaWduZXNDcmVkaXRzKVxuICAgICAgICBsaWduZXNDcmVkaXRzID0gW2xpZ25lc0NyZWRpdHNdXG4gICAgICB9XG4gICAgICBsaWduZUNyZWRpdFBMRlIubGlnbmVzQ3JlZGl0cyA9IGxpZ25lc0NyZWRpdHNcbiAgICB9XG4gICAgaWYgKGxpZ25lc0NyZWRpdHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9yIChjb25zdCBsaWduZUNyZWRpdCBvZiBsaWduZXNDcmVkaXRzKSB7XG4gICAgICAgIGNsZWFuTGlnbmVDcmVkaXRQTEZSKGxpZ25lQ3JlZGl0KVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5UZXh0ZUxlZ2lzbGF0aWYodGV4dGVMZWdpc2xhdGlmOiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHModGV4dGVMZWdpc2xhdGlmKVxuXG4gIC8vIE5vdGU6IFRoZSBmb2xsb3dpbmcgZmllbGRzIGluIGB0ZXh0ZUxlZ2lzbGF0aWYuYW1lbmRlbWVudHNgIGFyZSBjdXJyZW50bHkgaWdub3JlZDpcbiAgLy8gKiBcIiN0ZXh0XCI/OiAgICAgICBzdHJpbmc7XG4gIC8vICogb2Zmc2V0PzogICAgICAgIG51bGw7XG4gIC8vICogbm9tPzogICAgICAgICAgIE5vbTtcbiAgLy8gKiBhdmFudF9BX0FwcmVzPzogRGl2aXNpb25BdmFudEFBcHJlcztcbiAgLy8gKiBkYXRlRGVwb3Q/OiAgICAgRGF0ZTtcbiAgLy8gKiBkb2N1bWVudFVSST86ICAgc3RyaW5nO1xuICAvLyBCZWNhdXNlIGl0IHNlZW1zIHRoZXkgc2hvdWxkIGJlbG9uZyB0byBhbiBcImFtZW5kZW1lbnRcIi5cbiAgbGV0IGFtZW5kZW1lbnQgPSB0ZXh0ZUxlZ2lzbGF0aWYuYW1lbmRlbWVudHMuYW1lbmRlbWVudFxuICBpZiAoQXJyYXkuaXNBcnJheShhbWVuZGVtZW50KSkge1xuICAgIHRleHRlTGVnaXNsYXRpZi5hbWVuZGVtZW50cyA9IGFtZW5kZW1lbnRcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQoYW1lbmRlbWVudClcbiAgICB0ZXh0ZUxlZ2lzbGF0aWYuYW1lbmRlbWVudHMgPSBbYW1lbmRlbWVudF1cbiAgfVxuXG4gIGZvciAoY29uc3QgYW1lbmRlbWVudCBvZiB0ZXh0ZUxlZ2lzbGF0aWYuYW1lbmRlbWVudHMpIHtcbiAgICBjbGVhbkFtZW5kZW1lbnQoYW1lbmRlbWVudClcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUVBO0FBQ0E7QUFBa0Q7QUFBQTtBQUFBO0FBQUE7QUFFM0MsU0FBU0EsZUFBZSxDQUFDQyxVQUFlLEVBQVE7RUFDckQsSUFBQUMsc0JBQWlCLEVBQUNELFVBQVUsQ0FBQztFQUU3QixJQUFNRSxXQUFXLEdBQUdGLFVBQVUsQ0FBQ0UsV0FBVztFQUMxQztJQUNFLElBQUFELHNCQUFpQixFQUFDQyxXQUFXLENBQUM7SUFFOUIsSUFBTUMsTUFBTSxHQUFHRCxXQUFXLENBQUNDLE1BQU07SUFDakM7TUFDRSxJQUFBRixzQkFBaUIsRUFBQ0UsTUFBTSxDQUFDO0lBQzNCO0lBRUEsSUFBSUQsV0FBVyxDQUFDRSxhQUFhLEtBQUtDLFNBQVMsRUFBRTtNQUMzQyxJQUFNQyxTQUFTLEdBQUdKLFdBQVcsQ0FBQ0UsYUFBYSxDQUFDRSxTQUFTO01BQ3JELElBQUlDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixTQUFTLENBQUMsRUFBRTtRQUM1QkosV0FBVyxDQUFDTyxpQkFBaUIsR0FBR0gsU0FBUztNQUMzQyxDQUFDLE1BQU07UUFDTCxJQUFBSSxrQkFBTSxFQUFDSixTQUFTLENBQUM7UUFDakJKLFdBQVcsQ0FBQ08saUJBQWlCLEdBQUcsQ0FBQ0gsU0FBUyxDQUFDO01BQzdDO01BQ0EsT0FBT0osV0FBVyxDQUFDRSxhQUFhO0lBQ2xDO0lBRUEsSUFBSU8sT0FBTyxHQUFHVCxXQUFXLENBQUNTLE9BQU87SUFDakMsSUFBSUEsT0FBTyxLQUFLTixTQUFTLEVB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
|