@tricoteuses/assemblee 1.1.9 → 1.1.10
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/LICENSE.md +5 -1
- package/README.md +69 -178
- package/lib/bugs/acteur-00010/plugin.test.js +1 -1
- package/lib/bugs/agenda-00002/plugin.test.js +1 -1
- package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00002.js +3 -3
- package/lib/bugs/agenda-00002.mjs +2 -2
- package/lib/bugs/agenda-00008/plugin.test.js +1 -1
- package/lib/bugs/agenda-00011/plugin.test.js +1 -1
- package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00011.js +1 -1
- package/lib/bugs/agenda-00011.mjs +1 -1
- package/lib/bugs.js +1 -1
- package/lib/bugs.mjs +1 -1
- package/lib/cleaners/acteurs.js +1 -1
- package/lib/cleaners/acteurs.mjs +1 -1
- package/lib/cleaners/amendements.js +1 -1
- package/lib/cleaners/amendements.mjs +1 -1
- package/lib/cleaners/debats.d.ts +1 -0
- package/lib/cleaners/debats.js +12 -0
- package/lib/cleaners/debats.mjs +5 -0
- package/lib/cleaners/index.d.ts +2 -0
- package/lib/cleaners/index.js +15 -1
- package/lib/cleaners/index.mjs +3 -1
- package/lib/cleaners/questions.d.ts +1 -0
- package/lib/cleaners/questions.js +12 -0
- package/lib/cleaners/questions.mjs +5 -0
- package/lib/cleaners/reunions.js +1 -1
- package/lib/cleaners/reunions.mjs +1 -1
- package/lib/cleaners/xml.js +12 -6
- package/lib/cleaners/xml.mjs +12 -6
- package/lib/datasets.d.ts +5 -1
- package/lib/datasets.js +62 -4
- package/lib/datasets.mjs +62 -4
- package/lib/dates.js +1 -1
- package/lib/dates.mjs +1 -1
- package/lib/dossiers_legislatifs.js +1 -1
- package/lib/dossiers_legislatifs.mjs +1 -1
- package/lib/file_systems.js +4 -4
- package/lib/file_systems.mjs +2 -2
- package/lib/git.js +1 -1
- package/lib/git.mjs +1 -1
- package/lib/loaders.d.ts +21 -0
- package/lib/loaders.js +608 -202
- package/lib/loaders.mjs +200 -3
- package/lib/organes.js +1 -1
- package/lib/organes.mjs +1 -1
- package/lib/parsers/documents.js +1 -1
- package/lib/parsers/documents.mjs +1 -1
- package/lib/parsers/recherche_amendements.js +3 -2
- package/lib/parsers/recherche_amendements.mjs +1 -1
- package/lib/raw_types/acteurs_et_organes.js +1 -1
- package/lib/raw_types/acteurs_et_organes.mjs +1 -1
- package/lib/raw_types/agendas.js +1 -1
- package/lib/raw_types/agendas.mjs +1 -1
- package/lib/raw_types/amendements.d.ts +2 -0
- package/lib/raw_types/amendements.js +5 -3
- package/lib/raw_types/amendements.mjs +5 -3
- package/lib/raw_types/debats.d.ts +190 -0
- package/lib/raw_types/debats.js +816 -0
- package/lib/raw_types/debats.mjs +758 -0
- package/lib/raw_types/dossiers_legislatifs.js +11 -2
- package/lib/raw_types/dossiers_legislatifs.mjs +1 -1
- package/lib/raw_types/questions.d.ts +129 -0
- package/lib/raw_types/questions.js +497 -0
- package/lib/raw_types/questions.mjs +439 -0
- package/lib/raw_types/scrutins.js +1 -1
- package/lib/raw_types/scrutins.mjs +1 -1
- package/lib/scripts/bugs_helper.js +1 -1
- package/lib/scripts/bugs_helper.mjs +1 -1
- package/lib/scripts/clean_reorganized_data.js +174 -24
- package/lib/scripts/clean_reorganized_data.mjs +127 -13
- package/lib/scripts/diff_amendements.js +1 -1
- package/lib/scripts/diff_amendements.mjs +1 -1
- package/lib/scripts/document_dossiers_legislatifs.js +1 -1
- package/lib/scripts/document_dossiers_legislatifs.mjs +1 -1
- package/lib/scripts/get_today_reunions.js +1 -1
- package/lib/scripts/get_today_reunions.mjs +1 -1
- package/lib/scripts/merge_scrutins.js +1 -1
- package/lib/scripts/merge_scrutins.mjs +1 -1
- package/lib/scripts/parse_textes_lois.js +4 -3
- package/lib/scripts/parse_textes_lois.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 +189 -7
- package/lib/scripts/reorganize_data.mjs +136 -8
- package/lib/scripts/retrieve_deputes_photos.js +7 -1
- package/lib/scripts/retrieve_deputes_photos.mjs +7 -1
- package/lib/scripts/retrieve_documents.js +1 -1
- package/lib/scripts/retrieve_documents.mjs +1 -1
- package/lib/scripts/retrieve_open_data.js +105 -37
- package/lib/scripts/retrieve_open_data.mjs +34 -2
- package/lib/scripts/retrieve_pending_amendments.js +7 -1
- package/lib/scripts/retrieve_pending_amendments.mjs +7 -1
- package/lib/scripts/retrieve_senateurs_photos.js +10 -2
- package/lib/scripts/retrieve_senateurs_photos.mjs +7 -1
- package/lib/scripts/retrieve_textes_lois.js +1 -1
- package/lib/scripts/retrieve_textes_lois.mjs +1 -1
- package/lib/scripts/test_load.js +1 -1
- package/lib/scripts/test_load.mjs +1 -1
- package/lib/scripts/test_load_big_files.js +1 -1
- package/lib/scripts/test_load_big_files.mjs +1 -1
- package/lib/scripts/validate_json.js +1 -1
- package/lib/scripts/validate_json.mjs +1 -1
- package/lib/strings.js +1 -1
- package/lib/strings.mjs +1 -1
- package/lib/types/acteurs_et_organes.js +1 -1
- package/lib/types/acteurs_et_organes.mjs +1 -1
- package/lib/types/agendas.js +1 -1
- package/lib/types/agendas.mjs +1 -1
- package/lib/types/amendements.d.ts +1 -0
- package/lib/types/amendements.js +3 -2
- package/lib/types/amendements.mjs +3 -2
- package/lib/types/debats.d.ts +184 -0
- package/lib/types/debats.js +805 -0
- package/lib/types/debats.mjs +747 -0
- package/lib/types/dossiers_legislatifs.js +11 -2
- package/lib/types/dossiers_legislatifs.mjs +1 -1
- package/lib/types/questions.d.ts +122 -0
- package/lib/types/questions.js +482 -0
- package/lib/types/questions.mjs +424 -0
- package/lib/types/scrutins.js +1 -1
- package/lib/types/scrutins.mjs +1 -1
- package/lib/urls.js +1 -1
- package/lib/urls.mjs +1 -1
- package/package.json +14 -6
- package/lib/scripts/clean_data.d.ts +0 -1
- package/lib/scripts/clean_data.js +0 -309
- package/lib/scripts/clean_data.mjs +0 -171
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
// To parse this data:
|
|
2
|
+
//
|
|
3
|
+
// import { Convert, Questions, QuestionWrapper } from "./file";
|
|
4
|
+
//
|
|
5
|
+
// const questions = Convert.toQuestionsjson);
|
|
6
|
+
// const questionWrapper = Convert.toQuestionWrapper(json);
|
|
7
|
+
//
|
|
8
|
+
// These functions will throw an error if the JSON doesn't
|
|
9
|
+
// match the expected interface, even if the JSON is valid.
|
|
10
|
+
|
|
11
|
+
export let QuestionXsiType = /*#__PURE__*/function (QuestionXsiType) {
|
|
12
|
+
QuestionXsiType["QuestionEcrite"] = "QuestionEcrite_Type";
|
|
13
|
+
QuestionXsiType["QuestionGouvernement"] = "QuestionGouvernement_Type";
|
|
14
|
+
QuestionXsiType["QuestionOrale"] = "QuestionOrale_Type";
|
|
15
|
+
return QuestionXsiType;
|
|
16
|
+
}({});
|
|
17
|
+
export let CodeCloture = /*#__PURE__*/function (CodeCloture) {
|
|
18
|
+
CodeCloture["Au"] = "AU";
|
|
19
|
+
CodeCloture["Fm"] = "FM";
|
|
20
|
+
CodeCloture["RepPub"] = "REP_PUB";
|
|
21
|
+
return CodeCloture;
|
|
22
|
+
}({});
|
|
23
|
+
export let TypeJo = /*#__PURE__*/function (TypeJo) {
|
|
24
|
+
TypeJo["JoQuestion"] = "JO_QUESTION";
|
|
25
|
+
TypeJo["JoLoiDecret"] = "JO_LOI_DECRET";
|
|
26
|
+
TypeJo["JoDebate"] = "JO_DEBAT";
|
|
27
|
+
return TypeJo;
|
|
28
|
+
}({});
|
|
29
|
+
export let LibelleCloture = /*#__PURE__*/function (LibelleCloture) {
|
|
30
|
+
LibelleCloture["FinDeMandat"] = "Fin de mandat";
|
|
31
|
+
LibelleCloture["Retrait\xC0LInitiativeDeLAuteur"] = "Retrait \xE0 l'initiative de l'auteur";
|
|
32
|
+
LibelleCloture["R\xE9ponsePubli\xE9e"] = "R\xE9ponse publi\xE9e";
|
|
33
|
+
return LibelleCloture;
|
|
34
|
+
}({});
|
|
35
|
+
export let Type = /*#__PURE__*/function (Type) {
|
|
36
|
+
Type["Qe"] = "QE";
|
|
37
|
+
Type["Qg"] = "QG";
|
|
38
|
+
Type["Qosd"] = "QOSD";
|
|
39
|
+
return Type;
|
|
40
|
+
}({});
|
|
41
|
+
|
|
42
|
+
// Converts JSON strings to/from your types
|
|
43
|
+
// and asserts the results of JSON.parse at runtime
|
|
44
|
+
export class Convert {
|
|
45
|
+
static toQuestions(json) {
|
|
46
|
+
return cast(JSON.parse(json), r("Questions"));
|
|
47
|
+
}
|
|
48
|
+
static questionsToJson(value) {
|
|
49
|
+
return JSON.stringify(uncast(value, r("Questions")), null, 2);
|
|
50
|
+
}
|
|
51
|
+
static toQuestionWrapper(json) {
|
|
52
|
+
return cast(JSON.parse(json), r("QuestionWrapper"));
|
|
53
|
+
}
|
|
54
|
+
static questionWrapperToJson(value) {
|
|
55
|
+
return JSON.stringify(uncast(value, r("QuestionWrapper")), null, 2);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function invalidValue(typ, val, key = '') {
|
|
59
|
+
if (key) {
|
|
60
|
+
throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);
|
|
61
|
+
}
|
|
62
|
+
throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);
|
|
63
|
+
}
|
|
64
|
+
function jsonToJSProps(typ) {
|
|
65
|
+
if (typ.jsonToJS === undefined) {
|
|
66
|
+
const map = {};
|
|
67
|
+
typ.props.forEach(p => map[p.json] = {
|
|
68
|
+
key: p.js,
|
|
69
|
+
typ: p.typ
|
|
70
|
+
});
|
|
71
|
+
typ.jsonToJS = map;
|
|
72
|
+
}
|
|
73
|
+
return typ.jsonToJS;
|
|
74
|
+
}
|
|
75
|
+
function jsToJSONProps(typ) {
|
|
76
|
+
if (typ.jsToJSON === undefined) {
|
|
77
|
+
const map = {};
|
|
78
|
+
typ.props.forEach(p => map[p.js] = {
|
|
79
|
+
key: p.json,
|
|
80
|
+
typ: p.typ
|
|
81
|
+
});
|
|
82
|
+
typ.jsToJSON = map;
|
|
83
|
+
}
|
|
84
|
+
return typ.jsToJSON;
|
|
85
|
+
}
|
|
86
|
+
function transform(val, typ, getProps, key = '') {
|
|
87
|
+
function transformPrimitive(typ, val) {
|
|
88
|
+
if (typeof typ === typeof val) return val;
|
|
89
|
+
return invalidValue(typ, val, key);
|
|
90
|
+
}
|
|
91
|
+
function transformUnion(typs, val) {
|
|
92
|
+
// val must validate against one typ in typs
|
|
93
|
+
const l = typs.length;
|
|
94
|
+
for (let i = 0; i < l; i++) {
|
|
95
|
+
const typ = typs[i];
|
|
96
|
+
try {
|
|
97
|
+
return transform(val, typ, getProps);
|
|
98
|
+
} catch (_) {}
|
|
99
|
+
}
|
|
100
|
+
return invalidValue(typs, val);
|
|
101
|
+
}
|
|
102
|
+
function transformEnum(cases, val) {
|
|
103
|
+
if (cases.indexOf(val) !== -1) return val;
|
|
104
|
+
return invalidValue(cases, val);
|
|
105
|
+
}
|
|
106
|
+
function transformArray(typ, val) {
|
|
107
|
+
// val must be an array with no invalid elements
|
|
108
|
+
if (!Array.isArray(val)) return invalidValue("array", val);
|
|
109
|
+
return val.map(el => transform(el, typ, getProps));
|
|
110
|
+
}
|
|
111
|
+
function transformDate(val) {
|
|
112
|
+
if (val === null) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
const d = new Date(val);
|
|
116
|
+
if (isNaN(d.valueOf())) {
|
|
117
|
+
return invalidValue("Date", val);
|
|
118
|
+
}
|
|
119
|
+
return d;
|
|
120
|
+
}
|
|
121
|
+
function transformObject(props, additional, val) {
|
|
122
|
+
if (val === null || typeof val !== "object" || Array.isArray(val)) {
|
|
123
|
+
return invalidValue("object", val);
|
|
124
|
+
}
|
|
125
|
+
const result = {};
|
|
126
|
+
Object.getOwnPropertyNames(props).forEach(key => {
|
|
127
|
+
const prop = props[key];
|
|
128
|
+
const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
|
|
129
|
+
result[prop.key] = transform(v, prop.typ, getProps, prop.key);
|
|
130
|
+
});
|
|
131
|
+
Object.getOwnPropertyNames(val).forEach(key => {
|
|
132
|
+
if (!Object.prototype.hasOwnProperty.call(props, key)) {
|
|
133
|
+
result[key] = transform(val[key], additional, getProps, key);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
if (typ === "any") return val;
|
|
139
|
+
if (typ === null) {
|
|
140
|
+
if (val === null) return val;
|
|
141
|
+
return invalidValue(typ, val);
|
|
142
|
+
}
|
|
143
|
+
if (typ === false) return invalidValue(typ, val);
|
|
144
|
+
while (typeof typ === "object" && typ.ref !== undefined) {
|
|
145
|
+
typ = typeMap[typ.ref];
|
|
146
|
+
}
|
|
147
|
+
if (Array.isArray(typ)) return transformEnum(typ, val);
|
|
148
|
+
if (typeof typ === "object") {
|
|
149
|
+
return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val) : typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val) : typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val) : invalidValue(typ, val);
|
|
150
|
+
}
|
|
151
|
+
// Numbers can be parsed by Date but shouldn't be.
|
|
152
|
+
if (typ === Date && typeof val !== "number") return transformDate(val);
|
|
153
|
+
return transformPrimitive(typ, val);
|
|
154
|
+
}
|
|
155
|
+
function cast(val, typ) {
|
|
156
|
+
return transform(val, typ, jsonToJSProps);
|
|
157
|
+
}
|
|
158
|
+
function uncast(val, typ) {
|
|
159
|
+
return transform(val, typ, jsToJSONProps);
|
|
160
|
+
}
|
|
161
|
+
function a(typ) {
|
|
162
|
+
return {
|
|
163
|
+
arrayItems: typ
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
function u(...typs) {
|
|
167
|
+
return {
|
|
168
|
+
unionMembers: typs
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function o(props, additional) {
|
|
172
|
+
return {
|
|
173
|
+
props,
|
|
174
|
+
additional
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// function m(additional: any) {
|
|
179
|
+
// return { props: [], additional };
|
|
180
|
+
// }
|
|
181
|
+
|
|
182
|
+
function r(name) {
|
|
183
|
+
return {
|
|
184
|
+
ref: name
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
const typeMap = {
|
|
188
|
+
"Questions": o([{
|
|
189
|
+
json: "questions",
|
|
190
|
+
js: "questions",
|
|
191
|
+
typ: r("QuestionsClass")
|
|
192
|
+
}], false),
|
|
193
|
+
"QuestionsClass": o([{
|
|
194
|
+
json: "question",
|
|
195
|
+
js: "question",
|
|
196
|
+
typ: a(r("Question"))
|
|
197
|
+
}], false),
|
|
198
|
+
"QuestionWrapper": o([{
|
|
199
|
+
json: "question",
|
|
200
|
+
js: "question",
|
|
201
|
+
typ: r("Question")
|
|
202
|
+
}], false),
|
|
203
|
+
"Question": o([{
|
|
204
|
+
json: "@xmlns",
|
|
205
|
+
js: "@xmlns",
|
|
206
|
+
typ: ""
|
|
207
|
+
}, {
|
|
208
|
+
json: "@xmlns:xsi",
|
|
209
|
+
js: "@xmlns:xsi",
|
|
210
|
+
typ: ""
|
|
211
|
+
}, {
|
|
212
|
+
json: "@xsi:type",
|
|
213
|
+
js: "@xsi:type",
|
|
214
|
+
typ: r("QuestionXsiType")
|
|
215
|
+
}, {
|
|
216
|
+
json: "uid",
|
|
217
|
+
js: "uid",
|
|
218
|
+
typ: ""
|
|
219
|
+
}, {
|
|
220
|
+
json: "identifiant",
|
|
221
|
+
js: "identifiant",
|
|
222
|
+
typ: r("Identifiant")
|
|
223
|
+
}, {
|
|
224
|
+
json: "type",
|
|
225
|
+
js: "type",
|
|
226
|
+
typ: r("Type")
|
|
227
|
+
}, {
|
|
228
|
+
json: "indexationAN",
|
|
229
|
+
js: "indexationAN",
|
|
230
|
+
typ: r("IndexationAn")
|
|
231
|
+
}, {
|
|
232
|
+
json: "auteur",
|
|
233
|
+
js: "auteur",
|
|
234
|
+
typ: r("Auteur")
|
|
235
|
+
}, {
|
|
236
|
+
json: "minInt",
|
|
237
|
+
js: "minInt",
|
|
238
|
+
typ: r("MinInt")
|
|
239
|
+
}, {
|
|
240
|
+
json: "minAttribs",
|
|
241
|
+
js: "minAttribs",
|
|
242
|
+
typ: r("MinAttribs")
|
|
243
|
+
}, {
|
|
244
|
+
json: "textesQuestion",
|
|
245
|
+
js: "textesQuestion",
|
|
246
|
+
typ: u(r("TextesQuestion"), null, undefined)
|
|
247
|
+
}, {
|
|
248
|
+
json: "textesReponse",
|
|
249
|
+
js: "textesReponse",
|
|
250
|
+
typ: u(r("TextesReponse"), null, undefined)
|
|
251
|
+
}, {
|
|
252
|
+
json: "cloture",
|
|
253
|
+
js: "cloture",
|
|
254
|
+
typ: u(r("Cloture"), null, undefined)
|
|
255
|
+
}, {
|
|
256
|
+
json: "signalement",
|
|
257
|
+
js: "signalement",
|
|
258
|
+
typ: u(r("Signalement"), null, undefined)
|
|
259
|
+
}, {
|
|
260
|
+
json: "renouvellements",
|
|
261
|
+
js: "renouvellements",
|
|
262
|
+
typ: u(r("Renouvellements"), null, undefined)
|
|
263
|
+
}], false),
|
|
264
|
+
"Auteur": o([{
|
|
265
|
+
json: "identite",
|
|
266
|
+
js: "identite",
|
|
267
|
+
typ: r("Identite")
|
|
268
|
+
}, {
|
|
269
|
+
json: "groupe",
|
|
270
|
+
js: "groupe",
|
|
271
|
+
typ: r("Groupe")
|
|
272
|
+
}], false),
|
|
273
|
+
"Groupe": o([{
|
|
274
|
+
json: "organeRef",
|
|
275
|
+
js: "organeRef",
|
|
276
|
+
typ: ""
|
|
277
|
+
}, {
|
|
278
|
+
json: "abrege",
|
|
279
|
+
js: "abrege",
|
|
280
|
+
typ: ""
|
|
281
|
+
}, {
|
|
282
|
+
json: "developpe",
|
|
283
|
+
js: "developpe",
|
|
284
|
+
typ: ""
|
|
285
|
+
}], false),
|
|
286
|
+
"Identite": o([{
|
|
287
|
+
json: "acteurRef",
|
|
288
|
+
js: "acteurRef",
|
|
289
|
+
typ: ""
|
|
290
|
+
}, {
|
|
291
|
+
json: "mandatRef",
|
|
292
|
+
js: "mandatRef",
|
|
293
|
+
typ: ""
|
|
294
|
+
}], false),
|
|
295
|
+
"Cloture": o([{
|
|
296
|
+
json: "codeCloture",
|
|
297
|
+
js: "codeCloture",
|
|
298
|
+
typ: r("CodeCloture")
|
|
299
|
+
}, {
|
|
300
|
+
json: "libelleCloture",
|
|
301
|
+
js: "libelleCloture",
|
|
302
|
+
typ: r("LibelleCloture")
|
|
303
|
+
}, {
|
|
304
|
+
json: "dateCloture",
|
|
305
|
+
js: "dateCloture",
|
|
306
|
+
typ: ""
|
|
307
|
+
}, {
|
|
308
|
+
json: "infoJO",
|
|
309
|
+
js: "infoJO",
|
|
310
|
+
typ: u(r("InfoJo"), null)
|
|
311
|
+
}], false),
|
|
312
|
+
"Identifiant": o([{
|
|
313
|
+
json: "numero",
|
|
314
|
+
js: "numero",
|
|
315
|
+
typ: ""
|
|
316
|
+
}, {
|
|
317
|
+
json: "regime",
|
|
318
|
+
js: "regime",
|
|
319
|
+
typ: ""
|
|
320
|
+
}, {
|
|
321
|
+
json: "legislature",
|
|
322
|
+
js: "legislature",
|
|
323
|
+
typ: ""
|
|
324
|
+
}], false),
|
|
325
|
+
"IndexationAn": o([{
|
|
326
|
+
json: "rubrique",
|
|
327
|
+
js: "rubrique",
|
|
328
|
+
typ: u("", null)
|
|
329
|
+
}, {
|
|
330
|
+
json: "teteAnalyse",
|
|
331
|
+
js: "teteAnalyse",
|
|
332
|
+
typ: null
|
|
333
|
+
}, {
|
|
334
|
+
json: "analyses",
|
|
335
|
+
js: "analyses",
|
|
336
|
+
typ: r("Analyse")
|
|
337
|
+
}], false),
|
|
338
|
+
"Analyse": o([{
|
|
339
|
+
json: "analyse",
|
|
340
|
+
js: "analyse",
|
|
341
|
+
typ: u("", null)
|
|
342
|
+
}], false),
|
|
343
|
+
"MinAttribs": o([{
|
|
344
|
+
json: "minAttrib",
|
|
345
|
+
js: "minAttrib",
|
|
346
|
+
typ: u(a(r("MinAttribElement")), r("MinAttribElement"))
|
|
347
|
+
}], false),
|
|
348
|
+
"MinAttribElement": o([{
|
|
349
|
+
json: "infoJO",
|
|
350
|
+
js: "infoJO",
|
|
351
|
+
typ: r("InfoJo")
|
|
352
|
+
}, {
|
|
353
|
+
json: "denomination",
|
|
354
|
+
js: "denomination",
|
|
355
|
+
typ: r("MinInt")
|
|
356
|
+
}], false),
|
|
357
|
+
"MinInt": o([{
|
|
358
|
+
json: "abrege",
|
|
359
|
+
js: "abrege",
|
|
360
|
+
typ: ""
|
|
361
|
+
}, {
|
|
362
|
+
json: "developpe",
|
|
363
|
+
js: "developpe",
|
|
364
|
+
typ: ""
|
|
365
|
+
}], false),
|
|
366
|
+
"InfoJo": o([{
|
|
367
|
+
json: "typeJO",
|
|
368
|
+
js: "typeJO",
|
|
369
|
+
typ: r("TypeJo")
|
|
370
|
+
}, {
|
|
371
|
+
json: "dateJO",
|
|
372
|
+
js: "dateJO",
|
|
373
|
+
typ: ""
|
|
374
|
+
}, {
|
|
375
|
+
json: "pageJO",
|
|
376
|
+
js: "pageJO",
|
|
377
|
+
typ: u("", null)
|
|
378
|
+
}, {
|
|
379
|
+
json: "numJO",
|
|
380
|
+
js: "numJO",
|
|
381
|
+
typ: u("", null)
|
|
382
|
+
}, {
|
|
383
|
+
json: "urlLegifrance",
|
|
384
|
+
js: "urlLegifrance",
|
|
385
|
+
typ: u("", null)
|
|
386
|
+
}, {
|
|
387
|
+
json: "referenceNOR",
|
|
388
|
+
js: "referenceNOR",
|
|
389
|
+
typ: u("", null)
|
|
390
|
+
}], false),
|
|
391
|
+
"TextesQuestion": o([{
|
|
392
|
+
json: "texteQuestion",
|
|
393
|
+
js: "texteQuestion",
|
|
394
|
+
typ: u(a(r("Texte")), r("Texte"))
|
|
395
|
+
}], false),
|
|
396
|
+
"Texte": o([{
|
|
397
|
+
json: "infoJO",
|
|
398
|
+
js: "infoJO",
|
|
399
|
+
typ: r("InfoJo")
|
|
400
|
+
}, {
|
|
401
|
+
json: "texte",
|
|
402
|
+
js: "texte",
|
|
403
|
+
typ: u("", null)
|
|
404
|
+
}, {
|
|
405
|
+
json: "erratum",
|
|
406
|
+
js: "erratum",
|
|
407
|
+
typ: u(undefined, "")
|
|
408
|
+
}], false),
|
|
409
|
+
"TextesReponse": o([{
|
|
410
|
+
json: "texteReponse",
|
|
411
|
+
js: "texteReponse",
|
|
412
|
+
typ: u(a(r("Texte")), r("Texte"))
|
|
413
|
+
}], false),
|
|
414
|
+
"Signalement": o([{
|
|
415
|
+
json: "infoJO",
|
|
416
|
+
js: "infoJO",
|
|
417
|
+
typ: r("InfoJo")
|
|
418
|
+
}, {
|
|
419
|
+
json: "dateDepotSignal",
|
|
420
|
+
js: "dateDepotSignal",
|
|
421
|
+
typ: ""
|
|
422
|
+
}], false),
|
|
423
|
+
"Renouvellements": o([{
|
|
424
|
+
json: "renouvellement",
|
|
425
|
+
js: "renouvellement",
|
|
426
|
+
typ: u(a(r("Renouvellement")), r("Renouvellement"))
|
|
427
|
+
}], false),
|
|
428
|
+
"Renouvellement": o([{
|
|
429
|
+
json: "infoJO",
|
|
430
|
+
js: "infoJO",
|
|
431
|
+
typ: r("InfoJo")
|
|
432
|
+
}], false),
|
|
433
|
+
"QuestionXsiType": ["QuestionEcrite_Type", "QuestionGouvernement_Type", "QuestionOrale_Type"],
|
|
434
|
+
"CodeCloture": ["AU", "FM", "REP_PUB"],
|
|
435
|
+
"TypeJo": ["JO_QUESTION", "JO_LOI_DECRET", "JO_DEBAT"],
|
|
436
|
+
"LibelleCloture": ["Fin de mandat", "Retrait à l'initiative de l'auteur", "Réponse publiée"],
|
|
437
|
+
"Type": ["QE", "QG", "QOSD"]
|
|
438
|
+
};
|
|
439
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWVzdGlvblhzaVR5cGUiLCJDb2RlQ2xvdHVyZSIsIlR5cGVKbyIsIkxpYmVsbGVDbG90dXJlIiwiVHlwZSIsIkNvbnZlcnQiLCJ0b1F1ZXN0aW9ucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInF1ZXN0aW9uc1RvSnNvbiIsInZhbHVlIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9RdWVzdGlvbldyYXBwZXIiLCJxdWVzdGlvbldyYXBwZXJUb0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJrZXkiLCJFcnJvciIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInVuZGVmaW5lZCIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImxlbmd0aCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIm8iLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jhd190eXBlcy9xdWVzdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgUXVlc3Rpb25zLCBRdWVzdGlvbldyYXBwZXIgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBxdWVzdGlvbnMgPSBDb252ZXJ0LnRvUXVlc3Rpb25zanNvbik7XG4vLyAgIGNvbnN0IHF1ZXN0aW9uV3JhcHBlciA9IENvbnZlcnQudG9RdWVzdGlvbldyYXBwZXIoanNvbik7XG4vL1xuLy8gVGhlc2UgZnVuY3Rpb25zIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIEpTT04gZG9lc24ndFxuLy8gbWF0Y2ggdGhlIGV4cGVjdGVkIGludGVyZmFjZSwgZXZlbiBpZiB0aGUgSlNPTiBpcyB2YWxpZC5cblxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbnMge1xuICAgIHF1ZXN0aW9uczogUXVlc3Rpb25zQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25zQ2xhc3Mge1xuICAgIHF1ZXN0aW9uOiBRdWVzdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uV3JhcHBlciB7XG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb24ge1xuICAgIFwiQHhtbG5zXCI/OiAgICAgICAgc3RyaW5nO1xuICAgIFwiQHhtbG5zOnhzaVwiOiAgICAgc3RyaW5nO1xuICAgIFwiQHhzaTp0eXBlXCI6ICAgICAgUXVlc3Rpb25Yc2lUeXBlO1xuICAgIHVpZDogICAgICAgICAgICAgIHN0cmluZztcbiAgICBpZGVudGlmaWFudDogICAgICBJZGVudGlmaWFudDtcbiAgICB0eXBlOiAgICAgICAgICAgICBUeXBlO1xuICAgIGluZGV4YXRpb25BTjogICAgIEluZGV4YXRpb25BbjtcbiAgICBhdXRldXI6ICAgICAgICAgICBBdXRldXI7XG4gICAgbWluSW50OiAgICAgICAgICAgTWluSW50O1xuICAgIG1pbkF0dHJpYnM6ICAgICAgIE1pbkF0dHJpYnM7XG4gICAgdGV4dGVzUXVlc3Rpb24/OiAgVGV4dGVzUXVlc3Rpb24gfCBudWxsO1xuICAgIHRleHRlc1JlcG9uc2U/OiAgIFRleHRlc1JlcG9uc2UgfCBudWxsO1xuICAgIGNsb3R1cmU/OiAgICAgICAgIENsb3R1cmUgfCBudWxsO1xuICAgIHNpZ25hbGVtZW50PzogICAgIFNpZ25hbGVtZW50IHwgbnVsbDtcbiAgICByZW5vdXZlbGxlbWVudHM/OiBSZW5vdXZlbGxlbWVudHMgfCBudWxsO1xufVxuXG5leHBvcnQgZW51bSBRdWVzdGlvblhzaVR5cGUge1xuICAgIFF1ZXN0aW9uRWNyaXRlID0gXCJRdWVzdGlvbkVjcml0ZV9UeXBlXCIsXG4gICAgUXVlc3Rpb25Hb3V2ZXJuZW1lbnQgPSBcIlF1ZXN0aW9uR291dmVybmVtZW50X1R5cGVcIixcbiAgICBRdWVzdGlvbk9yYWxlID0gXCJRdWVzdGlvbk9yYWxlX1R5cGVcIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGV1ciB7XG4gICAgaWRlbnRpdGU6IElkZW50aXRlO1xuICAgIGdyb3VwZTogICBHcm91cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlIHtcbiAgICBvcmdhbmVSZWY6IHN0cmluZztcbiAgICBhYnJlZ2U6ICAgIHN0cmluZztcbiAgICBkZXZlbG9wcGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0ZSB7XG4gICAgYWN0ZXVyUmVmOiBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdHVyZSB7XG4gICAgY29kZUNsb3R1cmU6ICAgIENvZGVDbG90dXJlO1xuICAgIGxpYmVsbGVDbG90dXJlOiBMaWJlbGxlQ2xvdHVyZTtcbiAgICBkYXRlQ2xvdHVyZTogICAgc3RyaW5nO1xuICAgIGluZm9KTzogICAgICAgICBJbmZvSm8gfCBudWxsO1xufVxuXG5leHBvcnQgZW51bSBDb2RlQ2xvdHVyZSB7XG4gICAgQXUgPSBcIkFVXCIsXG4gICAgRm0gPSBcIkZNXCIsXG4gICAgUmVwUHViID0gXCJSRVBfUFVCXCIsXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVKbyB7XG4gICAgSm9RdWVzdGlvbiA9IFwiSk9fUVVFU1RJT05cIixcbiAgICBKb0xvaURlY3JldCA9IFwiSk9fTE9JX0RFQ1JFVFwiLFxuICAgIEpvRGViYXRlID0gXCJKT19ERUJBVFwiLFxufVxuXG5leHBvcnQgZW51bSBMaWJlbGxlQ2xvdHVyZSB7XG4gICAgRmluRGVNYW5kYXQgPSBcIkZpbiBkZSBtYW5kYXRcIixcbiAgICBSZXRyYWl0w4BMSW5pdGlhdGl2ZURlTEF1dGV1ciA9IFwiUmV0cmFpdCDDoCBsJ2luaXRpYXRpdmUgZGUgbCdhdXRldXJcIixcbiAgICBSw6lwb25zZVB1Ymxpw6llID0gXCJSw6lwb25zZSBwdWJsacOpZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpYW50IHtcbiAgICBudW1lcm86ICAgICAgc3RyaW5nO1xuICAgIHJlZ2ltZTogICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmRleGF0aW9uQW4ge1xuICAgIHJ1YnJpcXVlOiAgICBzdHJpbmcgfCBudWxsO1xuICAgIHRldGVBbmFseXNlOiBudWxsO1xuICAgIGFuYWx5c2VzOiAgICAgQW5hbHlzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmFseXNlIHtcbiAgICBhbmFseXNlOiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbkF0dHJpYnMge1xuICAgIG1pbkF0dHJpYjogTWluQXR0cmliRWxlbWVudFtdIHwgTWluQXR0cmliRWxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5BdHRyaWJFbGVtZW50IHtcbiAgICBpbmZvSk86IEluZm9KbztcbiAgICBkZW5vbWluYXRpb246IE1pbkludDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5JbnQge1xuICAgIGFicmVnZTogICAgc3RyaW5nO1xuICAgIGRldmVsb3BwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlc1F1ZXN0aW9uIHtcbiAgICB0ZXh0ZVF1ZXN0aW9uOiBUZXh0ZVtdIHwgVGV4dGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dGUge1xuICAgIGluZm9KTzogSW5mb0pvO1xuICAgIHRleHRlOiAgc3RyaW5nIHwgbnVsbDtcbiAgICBlcnJhdHVtPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZm9KbyB7XG4gICAgdHlwZUpPOiAgICAgICAgICBUeXBlSm87XG4gICAgZGF0ZUpPOiAgICAgICAgICBzdHJpbmc7XG4gICAgcGFnZUpPOiAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICAgIG51bUpPOiAgICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgICB1cmxMZWdpZnJhbmNlOiAgIHN0cmluZyB8IG51bGw7XG4gICAgcmVmZXJlbmNlTk9SOiAgICBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlc1JlcG9uc2Uge1xuICAgIHRleHRlUmVwb25zZTogVGV4dGVbXSB8IFRleHRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hbGVtZW50IHtcbiAgICBkYXRlRGVwb3RTaWduYWw6ICBzdHJpbmc7XG4gICAgaW5mb0pPOiAgICAgICAgICAgSW5mb0pvO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbm91dmVsbGVtZW50cyB7XG4gICAgcmVub3V2ZWxsZW1lbnQ6IFJlbm91dmVsbGVtZW50W10gfCBSZW5vdXZlbGxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW5vdXZlbGxlbWVudCB7XG4gICAgaW5mb0pPOiBJbmZvSm87XG59XG5cbmV4cG9ydCBlbnVtIFR5cGUge1xuICAgIFFlID0gXCJRRVwiLFxuICAgIFFnID0gXCJRR1wiLFxuICAgIFFvc2QgPSBcIlFPU0RcIlxufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgICBwdWJsaWMgc3RhdGljIHRvUXVlc3Rpb25zKGpzb246IHN0cmluZyk6IFF1ZXN0aW9ucyB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJRdWVzdGlvbnNcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcXVlc3Rpb25zVG9Kc29uKHZhbHVlOiBRdWVzdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiUXVlc3Rpb25zXCIpKSwgbnVsbCwgMik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0b1F1ZXN0aW9uV3JhcHBlcihqc29uOiBzdHJpbmcpOiBRdWVzdGlvbldyYXBwZXIge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiUXVlc3Rpb25XcmFwcGVyXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHF1ZXN0aW9uV3JhcHBlclRvSnNvbih2YWx1ZTogUXVlc3Rpb25XcmFwcGVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlF1ZXN0aW9uV3JhcHBlclwiKSksIG51bGwsIDIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZFZhbHVlKHR5cDogYW55LCB2YWw6IGFueSwga2V5OiBhbnkgPSAnJyk6IG5ldmVyIHtcbiAgICBpZiAoa2V5KSB7XG4gICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWApO1xuICAgIH1cbiAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLCApO1xufVxuXG5mdW5jdGlvbiBqc29uVG9KU1Byb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzb25Ub0pTID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzb25Ub0pTO1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNdID0geyBrZXk6IHAuanNvbiwgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzVG9KU09OID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzVG9KU09OO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9ICcnKTogYW55IHtcbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICAgICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdHlwID0gdHlwc1tpXTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpO1xuICAgICAgICAgICAgfSBjYXRjaCAoXykge31cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRW51bShjYXNlczogc3RyaW5nW10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoY2FzZXMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBubyBpbnZhbGlkIGVsZW1lbnRzXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKTtcbiAgICAgICAgcmV0dXJuIHZhbC5tYXAoZWwgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpO1xuICAgICAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwiRGF0ZVwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybU9iamVjdChwcm9wczogeyBbazogc3RyaW5nXTogYW55IH0sIGFkZGl0aW9uYWw6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwib2JqZWN0XCIsIHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldO1xuICAgICAgICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSkgPyB2YWxba2V5XSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBwcm9wLmtleSk7XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBpZiAodHlwID09PSBcImFueVwiKSByZXR1cm4gdmFsO1xuICAgIGlmICh0eXAgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpO1xuICAgIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIikgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIikgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKSAgICAgICAgID8gdHJhbnNmb3JtT2JqZWN0KGdldFByb3BzKHR5cCksIHR5cC5hZGRpdGlvbmFsLCB2YWwpXG4gICAgICAgICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gICAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpO1xuICAgIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpO1xufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpO1xufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfTtcbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICAgIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9O1xufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gICAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfTtcbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgICByZXR1cm4geyBwcm9wczogW10sIGFkZGl0aW9uYWwgfTtcbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4geyByZWY6IG5hbWUgfTtcbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICAgIFwiUXVlc3Rpb25zXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicXVlc3Rpb25zXCIsIGpzOiBcInF1ZXN0aW9uc1wiLCB0eXA6IHIoXCJRdWVzdGlvbnNDbGFzc1wiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlF1ZXN0aW9uc0NsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicXVlc3Rpb25cIiwganM6IFwicXVlc3Rpb25cIiwgdHlwOiBhKHIoXCJRdWVzdGlvblwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJRdWVzdGlvbldyYXBwZXJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJxdWVzdGlvblwiLCBqczogXCJxdWVzdGlvblwiLCB0eXA6IHIoXCJRdWVzdGlvblwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlF1ZXN0aW9uXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zXCIsIGpzOiBcIkB4bWxuc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6dHlwZVwiLCBqczogXCJAeHNpOnR5cGVcIiwgdHlwOiByKFwiUXVlc3Rpb25Yc2lUeXBlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRlbnRpZmlhbnRcIiwganM6IFwiaWRlbnRpZmlhbnRcIiwgdHlwOiByKFwiSWRlbnRpZmlhbnRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IHIoXCJUeXBlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJpbmRleGF0aW9uQU5cIiwganM6IFwiaW5kZXhhdGlvbkFOXCIsIHR5cDogcihcIkluZGV4YXRpb25BblwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYXV0ZXVyXCIsIGpzOiBcImF1dGV1clwiLCB0eXA6IHIoXCJBdXRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1pbkludFwiLCBqczogXCJtaW5JbnRcIiwgdHlwOiByKFwiTWluSW50XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtaW5BdHRyaWJzXCIsIGpzOiBcIm1pbkF0dHJpYnNcIiwgdHlwOiByKFwiTWluQXR0cmlic1wiKSB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVzUXVlc3Rpb25cIiwganM6IFwidGV4dGVzUXVlc3Rpb25cIiwgdHlwOiB1KHIoXCJUZXh0ZXNRdWVzdGlvblwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVzUmVwb25zZVwiLCBqczogXCJ0ZXh0ZXNSZXBvbnNlXCIsIHR5cDogdShyKFwiVGV4dGVzUmVwb25zZVwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwiY2xvdHVyZVwiLCBqczogXCJjbG90dXJlXCIsIHR5cDogdShyKFwiQ2xvdHVyZVwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwic2lnbmFsZW1lbnRcIiwganM6IFwic2lnbmFsZW1lbnRcIiwgdHlwOiB1KHIoXCJTaWduYWxlbWVudFwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwicmVub3V2ZWxsZW1lbnRzXCIsIGpzOiBcInJlbm91dmVsbGVtZW50c1wiLCB0eXA6IHUocihcIlJlbm91dmVsbGVtZW50c1wiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkF1dGV1clwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImlkZW50aXRlXCIsIGpzOiBcImlkZW50aXRlXCIsIHR5cDogcihcIklkZW50aXRlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJncm91cGVcIiwganM6IFwiZ3JvdXBlXCIsIHR5cDogcihcIkdyb3VwZVwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkdyb3VwZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhYnJlZ2VcIiwganM6IFwiYWJyZWdlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGV2ZWxvcHBlXCIsIGpzOiBcImRldmVsb3BwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJZGVudGl0ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkNsb3R1cmVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlQ2xvdHVyZVwiLCBqczogXCJjb2RlQ2xvdHVyZVwiLCB0eXA6IHIoXCJDb2RlQ2xvdHVyZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZUNsb3R1cmVcIiwganM6IFwibGliZWxsZUNsb3R1cmVcIiwgdHlwOiByKFwiTGliZWxsZUNsb3R1cmVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRhdGVDbG90dXJlXCIsIGpzOiBcImRhdGVDbG90dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHUocihcIkluZm9Kb1wiKSwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJZGVudGlmaWFudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb1wiLCBqczogXCJudW1lcm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJyZWdpbWVcIiwganM6IFwicmVnaW1lXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSW5kZXhhdGlvbkFuXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicnVicmlxdWVcIiwganM6IFwicnVicmlxdWVcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXRlQW5hbHlzZVwiLCBqczogXCJ0ZXRlQW5hbHlzZVwiLCB0eXA6IG51bGwgfSxcbiAgICAgICAgeyBqc29uOiBcImFuYWx5c2VzXCIsIGpzOiBcImFuYWx5c2VzXCIsIHR5cDogcihcIkFuYWx5c2VcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBbmFseXNlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYW5hbHlzZVwiLCBqczogXCJhbmFseXNlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk1pbkF0dHJpYnNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJtaW5BdHRyaWJcIiwganM6IFwibWluQXR0cmliXCIsIHR5cDogdShhKHIoXCJNaW5BdHRyaWJFbGVtZW50XCIpKSwgcihcIk1pbkF0dHJpYkVsZW1lbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWluQXR0cmliRWxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZW5vbWluYXRpb25cIiwganM6IFwiZGVub21pbmF0aW9uXCIsIHR5cDogcihcIk1pbkludFwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk1pbkludFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFicmVnZVwiLCBqczogXCJhYnJlZ2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkZXZlbG9wcGVcIiwganM6IFwiZGV2ZWxvcHBlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkluZm9Kb1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInR5cGVKT1wiLCBqczogXCJ0eXBlSk9cIiwgdHlwOiByKFwiVHlwZUpvXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlSk9cIiwganM6IFwiZGF0ZUpPXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicGFnZUpPXCIsIGpzOiBcInBhZ2VKT1wiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bUpPXCIsIGpzOiBcIm51bUpPXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwidXJsTGVnaWZyYW5jZVwiLCBqczogXCJ1cmxMZWdpZnJhbmNlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicmVmZXJlbmNlTk9SXCIsIGpzOiBcInJlZmVyZW5jZU5PUlwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUZXh0ZXNRdWVzdGlvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRleHRlUXVlc3Rpb25cIiwganM6IFwidGV4dGVRdWVzdGlvblwiLCB0eXA6IHUoYShyKFwiVGV4dGVcIikpLCByKFwiVGV4dGVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVGV4dGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVcIiwganM6IFwidGV4dGVcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJlcnJhdHVtXCIsIGpzOiBcImVycmF0dW1cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIil9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlRleHRlc1JlcG9uc2VcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZVJlcG9uc2VcIiwganM6IFwidGV4dGVSZXBvbnNlXCIsIHR5cDogdShhKHIoXCJUZXh0ZVwiKSksIHIoXCJUZXh0ZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTaWduYWxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlRGVwb3RTaWduYWxcIiwganM6IFwiZGF0ZURlcG90U2lnbmFsXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlJlbm91dmVsbGVtZW50c1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInJlbm91dmVsbGVtZW50XCIsIGpzOiBcInJlbm91dmVsbGVtZW50XCIsIHR5cDogdShhKHIoXCJSZW5vdXZlbGxlbWVudFwiKSksIHIoXCJSZW5vdXZlbGxlbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJSZW5vdXZlbGxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH1cbiAgICBdLCBmYWxzZSksXG4gICAgXCJRdWVzdGlvblhzaVR5cGVcIjogW1xuICAgICAgICBcIlF1ZXN0aW9uRWNyaXRlX1R5cGVcIixcbiAgICAgICAgXCJRdWVzdGlvbkdvdXZlcm5lbWVudF9UeXBlXCIsXG4gICAgICAgIFwiUXVlc3Rpb25PcmFsZV9UeXBlXCJcbiAgICBdLFxuICAgIFwiQ29kZUNsb3R1cmVcIjogW1xuICAgICAgICBcIkFVXCIsXG4gICAgICAgIFwiRk1cIixcbiAgICAgICAgXCJSRVBfUFVCXCIsXG4gICAgXSxcbiAgICBcIlR5cGVKb1wiOiBbXG4gICAgICAgIFwiSk9fUVVFU1RJT05cIixcbiAgICAgICAgXCJKT19MT0lfREVDUkVUXCIsXG4gICAgICAgIFwiSk9fREVCQVRcIlxuICAgIF0sXG4gICAgXCJMaWJlbGxlQ2xvdHVyZVwiOiBbXG4gICAgICAgIFwiRmluIGRlIG1hbmRhdFwiLFxuICAgICAgICBcIlJldHJhaXQgw6AgbCdpbml0aWF0aXZlIGRlIGwnYXV0ZXVyXCIsXG4gICAgICAgIFwiUsOpcG9uc2UgcHVibGnDqWVcIixcbiAgICBdLFxuICAgIFwiVHlwZVwiOiBbXG4gICAgICAgIFwiUUVcIixcbiAgICAgICAgXCJRR1wiLFxuICAgICAgICBcIlFPU0RcIlxuICAgIF0sXG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBZ0NBLFdBQVlBLGVBQWUsMEJB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
|