@tricoteuses/assemblee 1.1.9 → 1.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/LICENSE.md +5 -1
  2. package/README.md +69 -178
  3. package/lib/bugs/acteur-00010/plugin.test.js +1 -1
  4. package/lib/bugs/agenda-00002/plugin.test.js +1 -1
  5. package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
  6. package/lib/bugs/agenda-00002.js +3 -3
  7. package/lib/bugs/agenda-00002.mjs +2 -2
  8. package/lib/bugs/agenda-00008/plugin.test.js +1 -1
  9. package/lib/bugs/agenda-00011/plugin.test.js +1 -1
  10. package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
  11. package/lib/bugs/agenda-00011.js +1 -1
  12. package/lib/bugs/agenda-00011.mjs +1 -1
  13. package/lib/bugs.js +1 -1
  14. package/lib/bugs.mjs +1 -1
  15. package/lib/cleaners/acteurs.js +1 -1
  16. package/lib/cleaners/acteurs.mjs +1 -1
  17. package/lib/cleaners/amendements.js +1 -1
  18. package/lib/cleaners/amendements.mjs +1 -1
  19. package/lib/cleaners/debats.d.ts +1 -0
  20. package/lib/cleaners/debats.js +12 -0
  21. package/lib/cleaners/debats.mjs +5 -0
  22. package/lib/cleaners/index.d.ts +2 -0
  23. package/lib/cleaners/index.js +15 -1
  24. package/lib/cleaners/index.mjs +3 -1
  25. package/lib/cleaners/questions.d.ts +1 -0
  26. package/lib/cleaners/questions.js +12 -0
  27. package/lib/cleaners/questions.mjs +5 -0
  28. package/lib/cleaners/reunions.js +1 -1
  29. package/lib/cleaners/reunions.mjs +1 -1
  30. package/lib/cleaners/xml.js +12 -6
  31. package/lib/cleaners/xml.mjs +12 -6
  32. package/lib/datasets.d.ts +5 -1
  33. package/lib/datasets.js +62 -4
  34. package/lib/datasets.mjs +62 -4
  35. package/lib/dates.js +1 -1
  36. package/lib/dates.mjs +1 -1
  37. package/lib/dossiers_legislatifs.js +1 -1
  38. package/lib/dossiers_legislatifs.mjs +1 -1
  39. package/lib/file_systems.js +4 -4
  40. package/lib/file_systems.mjs +2 -2
  41. package/lib/git.js +1 -1
  42. package/lib/git.mjs +1 -1
  43. package/lib/loaders.d.ts +21 -0
  44. package/lib/loaders.js +608 -202
  45. package/lib/loaders.mjs +200 -3
  46. package/lib/organes.js +1 -1
  47. package/lib/organes.mjs +1 -1
  48. package/lib/parsers/documents.js +1 -1
  49. package/lib/parsers/documents.mjs +1 -1
  50. package/lib/parsers/recherche_amendements.js +3 -2
  51. package/lib/parsers/recherche_amendements.mjs +1 -1
  52. package/lib/raw_types/acteurs_et_organes.js +1 -1
  53. package/lib/raw_types/acteurs_et_organes.mjs +1 -1
  54. package/lib/raw_types/agendas.js +1 -1
  55. package/lib/raw_types/agendas.mjs +1 -1
  56. package/lib/raw_types/amendements.d.ts +2 -0
  57. package/lib/raw_types/amendements.js +5 -3
  58. package/lib/raw_types/amendements.mjs +5 -3
  59. package/lib/raw_types/debats.d.ts +190 -0
  60. package/lib/raw_types/debats.js +816 -0
  61. package/lib/raw_types/debats.mjs +758 -0
  62. package/lib/raw_types/dossiers_legislatifs.js +11 -2
  63. package/lib/raw_types/dossiers_legislatifs.mjs +1 -1
  64. package/lib/raw_types/questions.d.ts +129 -0
  65. package/lib/raw_types/questions.js +497 -0
  66. package/lib/raw_types/questions.mjs +439 -0
  67. package/lib/raw_types/scrutins.js +1 -1
  68. package/lib/raw_types/scrutins.mjs +1 -1
  69. package/lib/scripts/bugs_helper.js +1 -1
  70. package/lib/scripts/bugs_helper.mjs +1 -1
  71. package/lib/scripts/clean_reorganized_data.js +174 -24
  72. package/lib/scripts/clean_reorganized_data.mjs +127 -13
  73. package/lib/scripts/diff_amendements.js +1 -1
  74. package/lib/scripts/diff_amendements.mjs +1 -1
  75. package/lib/scripts/document_dossiers_legislatifs.js +1 -1
  76. package/lib/scripts/document_dossiers_legislatifs.mjs +1 -1
  77. package/lib/scripts/get_today_reunions.js +1 -1
  78. package/lib/scripts/get_today_reunions.mjs +1 -1
  79. package/lib/scripts/merge_scrutins.js +1 -1
  80. package/lib/scripts/merge_scrutins.mjs +1 -1
  81. package/lib/scripts/parse_textes_lois.js +4 -3
  82. package/lib/scripts/parse_textes_lois.mjs +1 -1
  83. package/lib/scripts/raw_types_from_amendements.js +1 -1
  84. package/lib/scripts/raw_types_from_amendements.mjs +1 -1
  85. package/lib/scripts/reorganize_data.js +189 -7
  86. package/lib/scripts/reorganize_data.mjs +136 -8
  87. package/lib/scripts/retrieve_deputes_photos.js +7 -1
  88. package/lib/scripts/retrieve_deputes_photos.mjs +7 -1
  89. package/lib/scripts/retrieve_documents.js +1 -1
  90. package/lib/scripts/retrieve_documents.mjs +1 -1
  91. package/lib/scripts/retrieve_open_data.js +105 -37
  92. package/lib/scripts/retrieve_open_data.mjs +34 -2
  93. package/lib/scripts/retrieve_pending_amendments.js +7 -1
  94. package/lib/scripts/retrieve_pending_amendments.mjs +7 -1
  95. package/lib/scripts/retrieve_senateurs_photos.js +10 -2
  96. package/lib/scripts/retrieve_senateurs_photos.mjs +7 -1
  97. package/lib/scripts/retrieve_textes_lois.js +1 -1
  98. package/lib/scripts/retrieve_textes_lois.mjs +1 -1
  99. package/lib/scripts/test_load.js +1 -1
  100. package/lib/scripts/test_load.mjs +1 -1
  101. package/lib/scripts/test_load_big_files.js +1 -1
  102. package/lib/scripts/test_load_big_files.mjs +1 -1
  103. package/lib/scripts/validate_json.js +1 -1
  104. package/lib/scripts/validate_json.mjs +1 -1
  105. package/lib/strings.js +1 -1
  106. package/lib/strings.mjs +1 -1
  107. package/lib/types/acteurs_et_organes.js +1 -1
  108. package/lib/types/acteurs_et_organes.mjs +1 -1
  109. package/lib/types/agendas.js +1 -1
  110. package/lib/types/agendas.mjs +1 -1
  111. package/lib/types/amendements.d.ts +2 -0
  112. package/lib/types/amendements.js +5 -3
  113. package/lib/types/amendements.mjs +5 -3
  114. package/lib/types/debats.d.ts +184 -0
  115. package/lib/types/debats.js +805 -0
  116. package/lib/types/debats.mjs +747 -0
  117. package/lib/types/dossiers_legislatifs.js +11 -2
  118. package/lib/types/dossiers_legislatifs.mjs +1 -1
  119. package/lib/types/questions.d.ts +122 -0
  120. package/lib/types/questions.js +482 -0
  121. package/lib/types/questions.mjs +424 -0
  122. package/lib/types/scrutins.js +1 -1
  123. package/lib/types/scrutins.mjs +1 -1
  124. package/lib/urls.js +1 -1
  125. package/lib/urls.mjs +1 -1
  126. package/package.json +14 -6
  127. package/lib/scripts/clean_data.d.ts +0 -1
  128. package/lib/scripts/clean_data.js +0 -309
  129. package/lib/scripts/clean_data.mjs +0 -171
@@ -0,0 +1,758 @@
1
+ // To parse this data:
2
+ //
3
+ // import { Convert, ComptesRendus, CompteRenduWrapper } from "./file";
4
+ //
5
+ // const compteRendu = Convert.toCompteRendu(json);
6
+ // const compteRenduWrapper = Convert.toCompteRenduWrapper(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 Decision = /*#__PURE__*/function (Decision) {
12
+ Decision["AdoptionAmendementMainLev\xE9eAdt"] = "ADOPTION amendement (main lev\xE9e) adt";
13
+ Decision["AdoptionDUnArticleVote\xC0MainLev\xE9e"] = "ADOPTION d\u2019un article (vote \xE0 main lev\xE9e)";
14
+ Decision["AdoptionDUnSousAmendementMainLev\xE9eSsAdt"] = "ADOPTION d\u2019un sous-amendement (main lev\xE9e) ss-adt";
15
+ Decision["AdoptionDePlusieursAmendementsMainLev\xE9eAdts"] = "ADOPTION de plusieurs amendements (main lev\xE9e) adts";
16
+ Decision["AdoptionDePlusieursSousAmendementsMainLev\xE9eSsAdts"] = "ADOPTION de plusieurs sous-amendements (main lev\xE9e) ss-adts";
17
+ Decision["Empty"] = "";
18
+ Decision["RejetDUnAmendementMainLev\xE9eAdt"] = "REJET d\u2019un amendement (main lev\xE9e) adt";
19
+ Decision["RejetDUnArticleVote\xC0MainLev\xE9e"] = "REJET d\u2019un article (vote \xE0 main lev\xE9e)";
20
+ Decision["RejetDUnSousAmendementMainLev\xE9eSsAdt"] = "REJET d\u2019un sous-amendement (main lev\xE9e) ss-adt";
21
+ Decision["RejetDePlusieursAmendementsMainLev\xE9eAdts"] = "REJET de plusieurs amendements (main lev\xE9e) adts";
22
+ Decision["RejetDePlusieursSousAmendementsMainLev\xE9eSsAdts"] = "REJET de plusieurs sous-amendements (main lev\xE9e) ss-adts";
23
+ Decision["RejetMotionDeRejetPr\xE9alableMainLev\xE9e"] = "REJET motion de rejet pr\xE9alable (main lev\xE9e)";
24
+ return Decision;
25
+ }({});
26
+ // Converts JSON strings to/from your types
27
+ // and asserts the results of JSON.parse at runtime
28
+ export class Convert {
29
+ static toComptesRendus(json) {
30
+ return cast(JSON.parse(json), r("ComptesRendus"));
31
+ }
32
+ static comptesRendusToJson(value) {
33
+ return JSON.stringify(uncast(value, r("ComptesRendus")), null, 2);
34
+ }
35
+ static toCompteRenduWrapper(json) {
36
+ return cast(JSON.parse(json), r("CompteRenduWrapper"));
37
+ }
38
+ static compteRenduWrapperToJson(value) {
39
+ return JSON.stringify(uncast(value, r("CompteRenduWrapper")), null, 2);
40
+ }
41
+ }
42
+ function invalidValue(typ, val, key, parent = '') {
43
+ const prettyTyp = prettyTypeName(typ);
44
+ const parentText = parent ? ` on ${parent}` : '';
45
+ const keyText = key ? ` for key "${key}"` : '';
46
+ throw Error(`Invalid value${keyText}${parentText}. Expected ${prettyTyp} but got ${JSON.stringify(val)}`);
47
+ }
48
+ function prettyTypeName(typ) {
49
+ if (Array.isArray(typ)) {
50
+ if (typ.length === 2 && typ[0] === undefined) {
51
+ return `an optional ${prettyTypeName(typ[1])}`;
52
+ } else {
53
+ return `one of [${typ.map(a => {
54
+ return prettyTypeName(a);
55
+ }).join(", ")}]`;
56
+ }
57
+ } else if (typeof typ === "object" && typ.literal !== undefined) {
58
+ return typ.literal;
59
+ } else {
60
+ return typeof typ;
61
+ }
62
+ }
63
+ function jsonToJSProps(typ) {
64
+ if (typ.jsonToJS === undefined) {
65
+ const map = {};
66
+ typ.props.forEach(p => map[p.json] = {
67
+ key: p.js,
68
+ typ: p.typ
69
+ });
70
+ typ.jsonToJS = map;
71
+ }
72
+ return typ.jsonToJS;
73
+ }
74
+ function jsToJSONProps(typ) {
75
+ if (typ.jsToJSON === undefined) {
76
+ const map = {};
77
+ typ.props.forEach(p => map[p.js] = {
78
+ key: p.json,
79
+ typ: p.typ
80
+ });
81
+ typ.jsToJSON = map;
82
+ }
83
+ return typ.jsToJSON;
84
+ }
85
+ function transform(val, typ, getProps, key = '', parent = '') {
86
+ function transformPrimitive(typ, val) {
87
+ if (typeof typ === typeof val) return val;
88
+ return invalidValue(typ, val, key, parent);
89
+ }
90
+ function transformUnion(typs, val) {
91
+ // val must validate against one typ in typs
92
+ const l = typs.length;
93
+ for (let i = 0; i < l; i++) {
94
+ const typ = typs[i];
95
+ try {
96
+ return transform(val, typ, getProps);
97
+ } catch (_) {}
98
+ }
99
+ return invalidValue(typs, val, key, parent);
100
+ }
101
+ function transformEnum(cases, val) {
102
+ if (cases.indexOf(val) !== -1) return val;
103
+ return invalidValue(cases.map(a => {
104
+ return l(a);
105
+ }), val, key, parent);
106
+ }
107
+ function transformArray(typ, val) {
108
+ // val must be an array with no invalid elements
109
+ if (!Array.isArray(val)) return invalidValue(l("array"), val, key, parent);
110
+ return val.map(el => transform(el, typ, getProps));
111
+ }
112
+ function transformDate(val) {
113
+ if (val === null) {
114
+ return null;
115
+ }
116
+ const d = new Date(val);
117
+ if (isNaN(d.valueOf())) {
118
+ return invalidValue(l("Date"), val, key, parent);
119
+ }
120
+ return d;
121
+ }
122
+ function transformObject(props, additional, val) {
123
+ if (val === null || typeof val !== "object" || Array.isArray(val)) {
124
+ return invalidValue(l(ref || "object"), val, key, parent);
125
+ }
126
+ const result = {};
127
+ Object.getOwnPropertyNames(props).forEach(key => {
128
+ const prop = props[key];
129
+ const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
130
+ result[prop.key] = transform(v, prop.typ, getProps, key, ref);
131
+ });
132
+ Object.getOwnPropertyNames(val).forEach(key => {
133
+ if (!Object.prototype.hasOwnProperty.call(props, key)) {
134
+ result[key] = transform(val[key], additional, getProps, key, ref);
135
+ }
136
+ });
137
+ return result;
138
+ }
139
+ if (typ === "any") return val;
140
+ if (typ === null) {
141
+ if (val === null) return val;
142
+ return invalidValue(typ, val, key, parent);
143
+ }
144
+ if (typ === false) return invalidValue(typ, val, key, parent);
145
+ let ref = undefined;
146
+ while (typeof typ === "object" && typ.ref !== undefined) {
147
+ ref = typ.ref;
148
+ typ = typeMap[typ.ref];
149
+ }
150
+ if (Array.isArray(typ)) return transformEnum(typ, val);
151
+ if (typeof typ === "object") {
152
+ 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, key, parent);
153
+ }
154
+ // Numbers can be parsed by Date but shouldn't be.
155
+ if (typ === Date && typeof val !== "number") return transformDate(val);
156
+ return transformPrimitive(typ, val);
157
+ }
158
+ function cast(val, typ) {
159
+ return transform(val, typ, jsonToJSProps);
160
+ }
161
+ function uncast(val, typ) {
162
+ return transform(val, typ, jsToJSONProps);
163
+ }
164
+ function l(typ) {
165
+ return {
166
+ literal: typ
167
+ };
168
+ }
169
+ function a(typ) {
170
+ return {
171
+ arrayItems: typ
172
+ };
173
+ }
174
+ function u(...typs) {
175
+ return {
176
+ unionMembers: typs
177
+ };
178
+ }
179
+ function o(props, additional) {
180
+ return {
181
+ props,
182
+ additional
183
+ };
184
+ }
185
+
186
+ // function m(additional: any) {
187
+ // return { props: [], additional };
188
+ // }
189
+
190
+ function r(name) {
191
+ return {
192
+ ref: name
193
+ };
194
+ }
195
+ const typeMap = {
196
+ "ComptesRendus": o([{
197
+ json: "comptesRendus",
198
+ js: "comptesRendus",
199
+ typ: r("CompteRenduClass")
200
+ }], false),
201
+ "CompteRenduClass": o([{
202
+ json: "compteRendu",
203
+ js: "compteRendu",
204
+ typ: a(r("CompteRendu"))
205
+ }], false),
206
+ "CompteRenduWrapper": o([{
207
+ json: "compteRendu",
208
+ js: "compteRendu",
209
+ typ: r("CompteRendu")
210
+ }], false),
211
+ "CompteRendu": o([{
212
+ json: "xmlns",
213
+ js: "xmlns",
214
+ typ: ""
215
+ }, {
216
+ json: "uid",
217
+ js: "uid",
218
+ typ: ""
219
+ }, {
220
+ json: "seanceRef",
221
+ js: "seanceRef",
222
+ typ: ""
223
+ }, {
224
+ json: "sessionRef",
225
+ js: "sessionRef",
226
+ typ: ""
227
+ }, {
228
+ json: "metadonnees",
229
+ js: "metadonnees",
230
+ typ: r("Metadonnees")
231
+ }, {
232
+ json: "contenu",
233
+ js: "contenu",
234
+ typ: r("Contenu")
235
+ }], false),
236
+ "Contenu": o([{
237
+ json: "quantiemes",
238
+ js: "quantiemes",
239
+ typ: r("Quantiemes")
240
+ }, {
241
+ json: "ouvertureSeance",
242
+ js: "ouvertureSeance",
243
+ typ: r("OuvertureSeance")
244
+ }, {
245
+ json: "point",
246
+ js: "point",
247
+ typ: u(a(r("Point")), r("Point"))
248
+ }, {
249
+ json: "finSeance",
250
+ js: "finSeance",
251
+ typ: u(undefined, r("FinSeance"))
252
+ }, {
253
+ json: "paragraphe",
254
+ js: "paragraphe",
255
+ typ: u(undefined, a(r("Point")))
256
+ }], false),
257
+ "FinSeance": o([{
258
+ json: "point",
259
+ js: "point",
260
+ typ: r("FinSeancePoint")
261
+ }], false),
262
+ "FinSeancePoint": o([{
263
+ json: "nivpoint",
264
+ js: "nivpoint",
265
+ typ: ""
266
+ }, {
267
+ json: "valeur_ptsodj",
268
+ js: "valeur_ptsodj",
269
+ typ: ""
270
+ }, {
271
+ json: "ordinal_prise",
272
+ js: "ordinal_prise",
273
+ typ: ""
274
+ }, {
275
+ json: "id_preparation",
276
+ js: "id_preparation",
277
+ typ: ""
278
+ }, {
279
+ json: "ordre_absolu_seance",
280
+ js: "ordre_absolu_seance",
281
+ typ: ""
282
+ }, {
283
+ json: "code_grammaire",
284
+ js: "code_grammaire",
285
+ typ: ""
286
+ }, {
287
+ json: "code_style",
288
+ js: "code_style",
289
+ typ: ""
290
+ }, {
291
+ json: "code_parole",
292
+ js: "code_parole",
293
+ typ: ""
294
+ }, {
295
+ json: "sommaire",
296
+ js: "sommaire",
297
+ typ: ""
298
+ }, {
299
+ json: "id_syceron",
300
+ js: "id_syceron",
301
+ typ: ""
302
+ }, {
303
+ json: "valeur",
304
+ js: "valeur",
305
+ typ: ""
306
+ }, {
307
+ json: "orateurs",
308
+ js: "orateurs",
309
+ typ: ""
310
+ }, {
311
+ json: "texte",
312
+ js: "texte",
313
+ typ: ""
314
+ }, {
315
+ json: "paragraphe",
316
+ js: "paragraphe",
317
+ typ: a(r("Point"))
318
+ }, {
319
+ json: "type_debat",
320
+ js: "type_debat",
321
+ typ: u(undefined, "")
322
+ }], false),
323
+ "Orateurs": o([{
324
+ json: "orateur",
325
+ js: "orateur",
326
+ typ: u(a(r("OrateurElement")), r("OrateurElement"))
327
+ }], false),
328
+ "OrateurElement": o([{
329
+ json: "nom",
330
+ js: "nom",
331
+ typ: u(undefined, "")
332
+ }, {
333
+ json: "id",
334
+ js: "id",
335
+ typ: u(undefined, "")
336
+ }, {
337
+ json: "qualite",
338
+ js: "qualite",
339
+ typ: u(undefined, "")
340
+ }], false),
341
+ "Texte": o([{
342
+ json: "_",
343
+ js: "_",
344
+ typ: u(undefined, "")
345
+ }, {
346
+ json: "stime",
347
+ js: "stime",
348
+ typ: u(undefined, "")
349
+ }, {
350
+ json: "indice",
351
+ js: "indice",
352
+ typ: u(undefined, u(a(""), ""))
353
+ }], false),
354
+ "OuvertureSeance": o([{
355
+ json: "nivpoint",
356
+ js: "nivpoint",
357
+ typ: u(undefined, "")
358
+ }, {
359
+ json: "valeur_ptsodj",
360
+ js: "valeur_ptsodj",
361
+ typ: ""
362
+ }, {
363
+ json: "ordinal_prise",
364
+ js: "ordinal_prise",
365
+ typ: ""
366
+ }, {
367
+ json: "id_preparation",
368
+ js: "id_preparation",
369
+ typ: ""
370
+ }, {
371
+ json: "ordre_absolu_seance",
372
+ js: "ordre_absolu_seance",
373
+ typ: ""
374
+ }, {
375
+ json: "id_acteur",
376
+ js: "id_acteur",
377
+ typ: ""
378
+ }, {
379
+ json: "id_mandat",
380
+ js: "id_mandat",
381
+ typ: ""
382
+ }, {
383
+ json: "id_nomination_oe",
384
+ js: "id_nomination_oe",
385
+ typ: ""
386
+ }, {
387
+ json: "id_nomination_op",
388
+ js: "id_nomination_op",
389
+ typ: ""
390
+ }, {
391
+ json: "code_grammaire",
392
+ js: "code_grammaire",
393
+ typ: ""
394
+ }, {
395
+ json: "code_style",
396
+ js: "code_style",
397
+ typ: ""
398
+ }, {
399
+ json: "code_parole",
400
+ js: "code_parole",
401
+ typ: ""
402
+ }, {
403
+ json: "sommaire",
404
+ js: "sommaire",
405
+ typ: ""
406
+ }, {
407
+ json: "id_syceron",
408
+ js: "id_syceron",
409
+ typ: ""
410
+ }, {
411
+ json: "valeur",
412
+ js: "valeur",
413
+ typ: ""
414
+ }, {
415
+ json: "orateurs",
416
+ js: "orateurs",
417
+ typ: u(r("Orateurs"), "")
418
+ }, {
419
+ json: "texte",
420
+ js: "texte",
421
+ typ: u(r("Texte"), "")
422
+ }, {
423
+ json: "paragraphe",
424
+ js: "paragraphe",
425
+ typ: u(undefined, a(r("Point")))
426
+ }, {
427
+ json: "interExtraction",
428
+ js: "interExtraction",
429
+ typ: u(undefined, r("InterExtraction"))
430
+ }, {
431
+ json: "point",
432
+ js: "point",
433
+ typ: u(undefined, r("Point"))
434
+ }], false),
435
+ "InterExtraction": o([{
436
+ json: "nom_orateur",
437
+ js: "nom_orateur",
438
+ typ: ""
439
+ }, {
440
+ json: "qualite",
441
+ js: "nom_orateur",
442
+ typ: u(undefined, "")
443
+ }, {
444
+ json: "id_acteur",
445
+ js: "id_acteur",
446
+ typ: ""
447
+ }, {
448
+ json: "id_nomination_oe",
449
+ js: "id_nomination_oe",
450
+ typ: ""
451
+ }, {
452
+ json: "id_nomination_op",
453
+ js: "id_nomination_op",
454
+ typ: ""
455
+ }, {
456
+ json: "id_mandat",
457
+ js: "id_mandat",
458
+ typ: ""
459
+ }, {
460
+ json: "paragraphe",
461
+ js: "paragraphe",
462
+ typ: u(a(r("Point")), r("Point"))
463
+ }, {
464
+ json: "changementPresidence",
465
+ js: "changementPresidence",
466
+ typ: u(undefined, r("Point"))
467
+ }], false),
468
+ "Point": o([{
469
+ json: "nivpoint",
470
+ js: "nivpoint",
471
+ typ: u(undefined, "")
472
+ }, {
473
+ json: "valeur_ptsodj",
474
+ js: "valeur_ptsodj",
475
+ typ: ""
476
+ }, {
477
+ json: "ordinal_prise",
478
+ js: "ordinal_prise",
479
+ typ: ""
480
+ }, {
481
+ json: "id_preparation",
482
+ js: "id_preparation",
483
+ typ: ""
484
+ }, {
485
+ json: "ordre_absolu_seance",
486
+ js: "ordre_absolu_seance",
487
+ typ: ""
488
+ }, {
489
+ json: "code_grammaire",
490
+ js: "code_grammaire",
491
+ typ: ""
492
+ }, {
493
+ json: "code_style",
494
+ js: "code_style",
495
+ typ: u(undefined, "")
496
+ }, {
497
+ json: "code_parole",
498
+ js: "code_parole",
499
+ typ: ""
500
+ }, {
501
+ json: "sommaire",
502
+ js: "sommaire",
503
+ typ: ""
504
+ }, {
505
+ json: "id_syceron",
506
+ js: "id_syceron",
507
+ typ: ""
508
+ }, {
509
+ json: "valeur",
510
+ js: "valeur",
511
+ typ: ""
512
+ }, {
513
+ json: "orateurs",
514
+ js: "orateurs",
515
+ typ: u(r("Orateurs"), "", undefined)
516
+ }, {
517
+ json: "texte",
518
+ js: "texte",
519
+ typ: u(r("Texte"), "", undefined)
520
+ }, {
521
+ json: "paragraphe",
522
+ js: "paragraphe",
523
+ typ: u(undefined, u(a(r("Point")), r("Point")))
524
+ }, {
525
+ json: "interExtraction",
526
+ js: "interExtraction",
527
+ typ: u(undefined, a(r("InterExtraction")), r("InterExtraction"))
528
+ }, {
529
+ json: "point",
530
+ js: "point",
531
+ typ: u(undefined, u(a(r("Point")), r("Point")))
532
+ }, {
533
+ json: "structure",
534
+ js: "structure",
535
+ typ: u(undefined, "")
536
+ }, {
537
+ json: "id_acteur",
538
+ js: "id_acteur",
539
+ typ: u(undefined, "")
540
+ }, {
541
+ json: "id_mandat",
542
+ js: "id_mandat",
543
+ typ: u(undefined, "")
544
+ }, {
545
+ json: "id_nomination_oe",
546
+ js: "id_nomination_oe",
547
+ typ: u(undefined, "")
548
+ }, {
549
+ json: "id_nomination_op",
550
+ js: "id_nomination_op",
551
+ typ: u(undefined, "")
552
+ }, {
553
+ json: "orateur",
554
+ js: "orateur",
555
+ typ: u(undefined, "")
556
+ }, {
557
+ json: "bibard",
558
+ js: "bibard",
559
+ typ: u(undefined, "")
560
+ }, {
561
+ json: "art",
562
+ js: "art",
563
+ typ: u(undefined, "")
564
+ }, {
565
+ json: "adt",
566
+ js: "adt",
567
+ typ: u(undefined, "")
568
+ }, {
569
+ json: "ssadt",
570
+ js: "ssadt",
571
+ typ: u(undefined, "")
572
+ }, {
573
+ json: "roledebat",
574
+ js: "roledebat",
575
+ typ: u(undefined, "")
576
+ }, {
577
+ json: "type_debat",
578
+ js: "type_debat",
579
+ typ: u(undefined, "")
580
+ }, {
581
+ json: "changementPresidence",
582
+ js: "changementPresidence",
583
+ typ: u(undefined, r("Point"))
584
+ }, {
585
+ json: "decision",
586
+ js: "decision",
587
+ typ: u(undefined, r("Decision"))
588
+ }], false),
589
+ "Quantiemes": o([{
590
+ json: "journee",
591
+ js: "journee",
592
+ typ: ""
593
+ }, {
594
+ json: "session",
595
+ js: "session",
596
+ typ: ""
597
+ }], false),
598
+ "Metadonnees": o([{
599
+ json: "dateSeance",
600
+ js: "dateSeance",
601
+ typ: ""
602
+ }, {
603
+ json: "dateSeanceJour",
604
+ js: "dateSeanceJour",
605
+ typ: ""
606
+ }, {
607
+ json: "numSeanceJour",
608
+ js: "numSeanceJour",
609
+ typ: ""
610
+ }, {
611
+ json: "numSeance",
612
+ js: "numSeance",
613
+ typ: ""
614
+ }, {
615
+ json: "typeAssemblee",
616
+ js: "typeAssemblee",
617
+ typ: ""
618
+ }, {
619
+ json: "legislature",
620
+ js: "legislature",
621
+ typ: ""
622
+ }, {
623
+ json: "session",
624
+ js: "session",
625
+ typ: ""
626
+ }, {
627
+ json: "nomFichierJo",
628
+ js: "nomFichierJo",
629
+ typ: ""
630
+ }, {
631
+ json: "validite",
632
+ js: "validite",
633
+ typ: ""
634
+ }, {
635
+ json: "etat",
636
+ js: "etat",
637
+ typ: ""
638
+ }, {
639
+ json: "diffusion",
640
+ js: "diffusion",
641
+ typ: ""
642
+ }, {
643
+ json: "version",
644
+ js: "version",
645
+ typ: ""
646
+ }, {
647
+ json: "environnement",
648
+ js: "environnement",
649
+ typ: ""
650
+ }, {
651
+ json: "heureGeneration",
652
+ js: "heureGeneration",
653
+ typ: Date
654
+ }, {
655
+ json: "sommaire",
656
+ js: "sommaire",
657
+ typ: r("Sommaire")
658
+ }], false),
659
+ "Sommaire": o([{
660
+ json: "presidentSeance",
661
+ js: "presidentSeance",
662
+ typ: r("Para")
663
+ }, {
664
+ json: "sommaire1",
665
+ js: "sommaire1",
666
+ typ: u(a(r("SommaireElement")), r("SommaireElement"))
667
+ }, {
668
+ json: "sommaire3",
669
+ js: "sommaire3",
670
+ typ: u(undefined, u(a(r("SommaireElement")), r("SommaireElement")))
671
+ }, {
672
+ json: "sommaire2",
673
+ js: "sommaire2",
674
+ typ: u(undefined, u(a(r("SommaireElement")), r("SommaireElement")))
675
+ }, {
676
+ json: "para",
677
+ js: "para",
678
+ typ: u(undefined, r("Para"))
679
+ }], false),
680
+ "SommaireElement": o([{
681
+ json: "valeur_pts_odj",
682
+ js: "valeur_pts_odj",
683
+ typ: u(undefined, "")
684
+ }, {
685
+ json: "titreStruct",
686
+ js: "titreStruct",
687
+ typ: u(undefined, r("TitreStruct"))
688
+ }, {
689
+ json: "para",
690
+ js: "para",
691
+ typ: u(undefined, u(a(u(r("Para"), "")), r("Para")))
692
+ }, {
693
+ json: "sommaire2",
694
+ js: "sommaire2",
695
+ typ: u(undefined, u(a(r("SommaireElement")), r("SommaireElement")))
696
+ }, {
697
+ json: "sommaire3",
698
+ js: "sommaire3",
699
+ typ: u(undefined, u(a(r("SommaireElement")), r("SommaireElement")))
700
+ }, {
701
+ json: "presidentSeance",
702
+ js: "presidentSeance",
703
+ typ: u(undefined, u(a(r("Para")), r("Para")))
704
+ }, {
705
+ json: "type_debat",
706
+ js: "type_debat",
707
+ typ: u(undefined, "")
708
+ }], false),
709
+ "Para": o([{
710
+ json: "_",
711
+ js: "_",
712
+ typ: u(undefined, "")
713
+ }, {
714
+ json: "id_syceron",
715
+ js: "id_syceron",
716
+ typ: u(undefined, "")
717
+ }, {
718
+ json: "sup",
719
+ js: "sup",
720
+ typ: u(undefined, "")
721
+ }, {
722
+ json: "lienAdt",
723
+ js: "lienAdt",
724
+ typ: u(undefined, u(a(r("Para")), r("Para")))
725
+ }], false),
726
+ "Test": o([{
727
+ json: "_",
728
+ js: "_",
729
+ typ: u(undefined, "")
730
+ }, {
731
+ json: "id_syceron",
732
+ js: "id_syceron",
733
+ typ: u(undefined, "")
734
+ }, {
735
+ json: "sup",
736
+ js: "sup",
737
+ typ: u(undefined, "")
738
+ }], false),
739
+ "TitreStruct": o([{
740
+ json: "id_syceron",
741
+ js: "id_syceron",
742
+ typ: ""
743
+ }, {
744
+ json: "intitule",
745
+ js: "intitule",
746
+ typ: u(r("Texte"), "")
747
+ }, {
748
+ json: "sousIntitule",
749
+ js: "sousIntitule",
750
+ typ: u(undefined, "")
751
+ }, {
752
+ json: "type_debat",
753
+ js: "type_debat",
754
+ typ: u(undefined, "")
755
+ }], false),
756
+ "Decision": ["ADOPTION amendement (main levée) adt", "ADOPTION d’un article (vote à main levée)", "ADOPTION d’un sous-amendement (main levée) ss-adt", "ADOPTION de plusieurs amendements (main levée) adts", "ADOPTION de plusieurs sous-amendements (main levée) ss-adts", "", "REJET d’un amendement (main levée) adt", "REJET d’un article (vote à main levée)", "REJET d’un sous-amendement (main levée) ss-adt", "REJET de plusieurs amendements (main levée) adts", "REJET de plusieurs sous-amendements (main levée) ss-adts", "REJET motion de rejet préalable (main levée)"]
757
+ };
758
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWNpc2lvbiIsIkNvbnZlcnQiLCJ0b0NvbXB0ZXNSZW5kdXMiLCJqc29uIiwiY2FzdCIsIkpTT04iLCJwYXJzZSIsInIiLCJjb21wdGVzUmVuZHVzVG9Kc29uIiwidmFsdWUiLCJzdHJpbmdpZnkiLCJ1bmNhc3QiLCJ0b0NvbXB0ZVJlbmR1V3JhcHBlciIsImNvbXB0ZVJlbmR1V3JhcHBlclRvSnNvbiIsImludmFsaWRWYWx1ZSIsInR5cCIsInZhbCIsImtleSIsInBhcmVudCIsInByZXR0eVR5cCIsInByZXR0eVR5cGVOYW1lIiwicGFyZW50VGV4dCIsImtleVRleHQiLCJFcnJvciIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm1hcCIsImEiLCJqb2luIiwibGl0ZXJhbCIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVmIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJ1IiwibyIsIm5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcmF3X3R5cGVzL2RlYmF0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUbyBwYXJzZSB0aGlzIGRhdGE6XG4vL1xuLy8gICBpbXBvcnQgeyBDb252ZXJ0LCBDb21wdGVzUmVuZHVzLCBDb21wdGVSZW5kdVdyYXBwZXIgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBjb21wdGVSZW5kdSA9IENvbnZlcnQudG9Db21wdGVSZW5kdShqc29uKTtcbi8vICAgY29uc3QgY29tcHRlUmVuZHVXcmFwcGVyID0gQ29udmVydC50b0NvbXB0ZVJlbmR1V3JhcHBlcihqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5leHBvcnQgaW50ZXJmYWNlIENvbXB0ZXNSZW5kdXMge1xuICAgIGNvbXB0ZVJlbmR1OiBDb21wdGVSZW5kdUNsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbXB0ZVJlbmR1Q2xhc3Mge1x0XG4gICAgY29tcHRlUmVuZHU6IENvbXB0ZVJlbmR1W107XHRcbn1cdFxuXG5leHBvcnQgaW50ZXJmYWNlIENvbXB0ZVJlbmR1V3JhcHBlciB7XHRcbiAgICBjb21wdGVSZW5kdTogQ29tcHRlUmVuZHU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHRlUmVuZHUge1xuICAgIHhtbG5zOiAgICAgICBzdHJpbmc7XG4gICAgdWlkOiAgICAgICAgIHN0cmluZztcbiAgICBzZWFuY2VSZWY6ICAgc3RyaW5nO1xuICAgIHNlc3Npb25SZWY6ICBzdHJpbmc7XG4gICAgbWV0YWRvbm5lZXM6IE1ldGFkb25uZWVzO1xuICAgIGNvbnRlbnU6ICAgICBDb250ZW51O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnUge1xuICAgIHF1YW50aWVtZXM6ICAgICAgUXVhbnRpZW1lcztcbiAgICBvdXZlcnR1cmVTZWFuY2U6IE91dmVydHVyZVNlYW5jZTtcbiAgICBwb2ludDogICAgICAgICAgIFBvaW50W10gfCBQb2ludDtcbiAgICBmaW5TZWFuY2U/OiAgICAgIEZpblNlYW5jZTtcbiAgICBwYXJhZ3JhcGhlPzogICAgIFBvaW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmluU2VhbmNlIHtcbiAgICBwb2ludDogRmluU2VhbmNlUG9pbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmluU2VhbmNlUG9pbnQge1xuICAgIG5pdnBvaW50OiAgICAgICAgICAgIHN0cmluZztcbiAgICB2YWxldXJfcHRzb2RqOiAgICAgICBzdHJpbmc7XG4gICAgb3JkaW5hbF9wcmlzZTogICAgICAgc3RyaW5nO1xuICAgIGlkX3ByZXBhcmF0aW9uOiAgICAgIHN0cmluZztcbiAgICBvcmRyZV9hYnNvbHVfc2VhbmNlOiBzdHJpbmc7XG4gICAgY29kZV9ncmFtbWFpcmU6ICAgICAgc3RyaW5nO1xuICAgIGNvZGVfc3R5bGU6ICAgICAgICAgIHN0cmluZztcbiAgICBjb2RlX3Bhcm9sZTogICAgICAgICBzdHJpbmc7XG4gICAgc29tbWFpcmU6ICAgICAgICAgICAgc3RyaW5nO1xuICAgIGlkX3N5Y2Vyb246ICAgICAgICAgIHN0cmluZztcbiAgICB2YWxldXI6ICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgb3JhdGV1cnM6ICAgICAgICAgICAgc3RyaW5nO1xuICAgIHRleHRlOiAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBwYXJhZ3JhcGhlOiAgICAgICAgICBQb2ludFtdO1xuICAgIHR5cGVfZGViYXQ/OiAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmF0ZXVycyB7XG4gICAgb3JhdGV1cjogT3JhdGV1ckVsZW1lbnRbXSB8IE9yYXRldXJFbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yYXRldXJFbGVtZW50IHtcbiAgICBub206ICAgICBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWQ6ICAgICAgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHF1YWxpdGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZSB7XG4gICAgXz86ICAgICAgc3RyaW5nO1xuICAgIHN0aW1lPzogIHN0cmluZztcbiAgICBpbmRpY2U/OiBzdHJpbmdbXSB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPdXZlcnR1cmVTZWFuY2Uge1xuICAgIG5pdnBvaW50PzogICAgICAgICAgIHN0cmluZztcbiAgICB2YWxldXJfcHRzb2RqOiAgICAgICBzdHJpbmc7XG4gICAgb3JkaW5hbF9wcmlzZTogICAgICAgc3RyaW5nO1xuICAgIGlkX3ByZXBhcmF0aW9uOiAgICAgIHN0cmluZztcbiAgICBvcmRyZV9hYnNvbHVfc2VhbmNlOiBzdHJpbmc7XG4gICAgaWRfYWN0ZXVyOiAgICAgICAgICAgc3RyaW5nO1xuICAgIGlkX21hbmRhdDogICAgICAgICAgIHN0cmluZztcbiAgICBpZF9ub21pbmF0aW9uX29lOiAgICBzdHJpbmc7XG4gICAgaWRfbm9taW5hdGlvbl9vcDogICAgc3RyaW5nO1xuICAgIGNvZGVfZ3JhbW1haXJlOiAgICAgIHN0cmluZztcbiAgICBjb2RlX3N0eWxlOiAgICAgICAgICBzdHJpbmc7XG4gICAgY29kZV9wYXJvbGU6ICAgICAgICAgc3RyaW5nO1xuICAgIHNvbW1haXJlOiAgICAgICAgICAgIHN0cmluZztcbiAgICBpZF9zeWNlcm9uOiAgICAgICAgICBzdHJpbmc7XG4gICAgdmFsZXVyOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIG9yYXRldXJzOiAgICAgICAgICAgIE9yYXRldXJzIHwgc3RyaW5nO1xuICAgIHRleHRlOiAgICAgICAgICAgICAgIFRleHRlIHwgc3RyaW5nO1xuICAgIHBhcmFncmFwaGU/OiAgICAgICAgIFBvaW50W107XG4gICAgaW50ZXJFeHRyYWN0aW9uPzogICAgSW50ZXJFeHRyYWN0aW9uO1xuICAgIHBvaW50PzogICAgICAgICAgICAgIFBvaW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyRXh0cmFjdGlvbiB7XG4gICAgbm9tX29yYXRldXI6ICAgICAgc3RyaW5nO1xuICAgIHF1YWxpdGU6ICAgICAgICAgIHN0cmluZztcbiAgICBpZF9hY3RldXI6ICAgICAgICBzdHJpbmc7XG4gICAgaWRfbm9taW5hdGlvbl9vZTogc3RyaW5nO1xuICAgIGlkX25vbWluYXRpb25fb3A6IHN0cmluZztcbiAgICBpZF9tYW5kYXQ6ICAgICAgICBzdHJpbmc7XG4gICAgcGFyYWdyYXBoZTogICAgICAgUG9pbnRbXSB8IFBvaW50O1xuICAgIGNoYW5nZW1lbnRQcmVzaWRlbmNlPzogUG9pbnQ7XG59XG5cbmV4cG9ydCBlbnVtIERlY2lzaW9uIHtcbiAgICBBZG9wdGlvbkFtZW5kZW1lbnRNYWluTGV2w6llQWR0ID0gXCJBRE9QVElPTiBhbWVuZGVtZW50IChtYWluIGxldsOpZSkgYWR0XCIsXG4gICAgQWRvcHRpb25EVW5BcnRpY2xlVm90ZcOATWFpbkxldsOpZSA9IFwiQURPUFRJT04gZOKAmXVuIGFydGljbGUgKHZvdGUgw6AgbWFpbiBsZXbDqWUpXCIsXG4gICAgQWRvcHRpb25EVW5Tb3VzQW1lbmRlbWVudE1haW5MZXbDqWVTc0FkdCA9IFwiQURPUFRJT04gZOKAmXVuIHNvdXMtYW1lbmRlbWVudCAobWFpbiBsZXbDqWUpIHNzLWFkdFwiLFxuICAgIEFkb3B0aW9uRGVQbHVzaWV1cnNBbWVuZGVtZW50c01haW5MZXbDqWVBZHRzID0gXCJBRE9QVElPTiBkZSBwbHVzaWV1cnMgYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBhZHRzXCIsXG4gICAgQWRvcHRpb25EZVBsdXNpZXVyc1NvdXNBbWVuZGVtZW50c01haW5MZXbDqWVTc0FkdHMgPSBcIkFET1BUSU9OIGRlIHBsdXNpZXVycyBzb3VzLWFtZW5kZW1lbnRzIChtYWluIGxldsOpZSkgc3MtYWR0c1wiLFxuICAgIEVtcHR5ID0gXCJcIixcbiAgICBSZWpldERVbkFtZW5kZW1lbnRNYWluTGV2w6llQWR0ID0gXCJSRUpFVCBk4oCZdW4gYW1lbmRlbWVudCAobWFpbiBsZXbDqWUpIGFkdFwiLFxuICAgIFJlamV0RFVuQXJ0aWNsZVZvdGXDgE1haW5MZXbDqWUgPSBcIlJFSkVUIGTigJl1biBhcnRpY2xlICh2b3RlIMOgIG1haW4gbGV2w6llKVwiLFxuICAgIFJlamV0RFVuU291c0FtZW5kZW1lbnRNYWluTGV2w6llU3NBZHQgPSBcIlJFSkVUIGTigJl1biBzb3VzLWFtZW5kZW1lbnQgKG1haW4gbGV2w6llKSBzcy1hZHRcIixcbiAgICBSZWpldERlUGx1c2lldXJzQW1lbmRlbWVudHNNYWluTGV2w6llQWR0cyA9IFwiUkVKRVQgZGUgcGx1c2lldXJzIGFtZW5kZW1lbnRzIChtYWluIGxldsOpZSkgYWR0c1wiLFxuICAgIFJlamV0RGVQbHVzaWV1cnNTb3VzQW1lbmRlbWVudHNNYWluTGV2w6llU3NBZHRzID0gXCJSRUpFVCBkZSBwbHVzaWV1cnMgc291cy1hbWVuZGVtZW50cyAobWFpbiBsZXbDqWUpIHNzLWFkdHNcIixcbiAgICBSZWpldE1vdGlvbkRlUmVqZXRQcsOpYWxhYmxlTWFpbkxldsOpZSA9IFwiUkVKRVQgbW90aW9uIGRlIHJlamV0IHByw6lhbGFibGUgKG1haW4gbGV2w6llKVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50IHtcbiAgICBuaXZwb2ludDogICAgICAgICAgICBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgdmFsZXVyX3B0c29kajogICAgICAgc3RyaW5nO1xuICAgIG9yZGluYWxfcHJpc2U6ICAgICAgIHN0cmluZztcbiAgICBpZF9wcmVwYXJhdGlvbjogICAgICBzdHJpbmc7XG4gICAgb3JkcmVfYWJzb2x1X3NlYW5jZTogc3RyaW5nO1xuICAgIGNvZGVfZ3JhbW1haXJlOiAgICAgIHN0cmluZztcbiAgICBjb2RlX3N0eWxlPzogICAgICAgICBzdHJpbmc7XG4gICAgY29kZV9wYXJvbGU6ICAgICAgICAgc3RyaW5nO1xuICAgIHNvbW1haXJlOiAgICAgICAgICAgIHN0cmluZztcbiAgICBpZF9zeWNlcm9uOiAgICAgICAgICBzdHJpbmc7XG4gICAgdmFsZXVyOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIG9yYXRldXJzPzogICAgICAgICAgIE9yYXRldXJzIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHRleHRlPzogICAgICAgICAgICAgIFRleHRlIHwgc3RyaW5nO1xuICAgIHBhcmFncmFwaGU/OiAgICAgICAgIFBvaW50W10gfCBQb2ludDtcbiAgICBpbnRlckV4dHJhY3Rpb246ICAgICBJbnRlckV4dHJhY3Rpb25bXSB8IEludGVyRXh0cmFjdGlvbiB8IHVuZGVmaW5lZDtcbiAgICBwb2ludD86ICAgICAgICAgICAgICBQb2ludFtdIHwgUG9pbnQ7XG4gICAgc3RydWN0dXJlPzogICAgICAgICAgc3RyaW5nO1xuICAgIGlkX2FjdGV1cj86ICAgICAgICAgIHN0cmluZztcbiAgICBpZF9tYW5kYXQ/OiAgICAgICAgICBzdHJpbmc7XG4gICAgaWRfbm9taW5hdGlvbl9vZT86ICAgc3RyaW5nO1xuICAgIGlkX25vbWluYXRpb25fb3A/OiAgIHN0cmluZztcbiAgICBvcmF0ZXVyPzogICAgICAgICAgICBzdHJpbmc7XG4gICAgYmliYXJkPzogICAgICAgICAgICAgc3RyaW5nO1xuICAgIGFydD86ICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBhZHQ/OiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgc3NhZHQ/OiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHJvbGVkZWJhdD86ICAgICAgICAgIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBjaGFuZ2VtZW50UHJlc2lkZW5jZT86IFBvaW50O1xuICAgIHR5cGVfZGViYXQ/OiAgICAgICAgIHN0cmluZztcbiAgICBkZWNpc2lvbj86ICAgICAgICAgICBEZWNpc2lvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWFudGllbWVzIHtcbiAgICBqb3VybmVlOiBzdHJpbmc7XG4gICAgc2Vzc2lvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkb25uZWVzIHtcbiAgICBkYXRlU2VhbmNlOiAgICAgIHN0cmluZztcbiAgICBkYXRlU2VhbmNlSm91cjogIHN0cmluZztcbiAgICBudW1TZWFuY2VKb3VyOiAgIHN0cmluZztcbiAgICBudW1TZWFuY2U6ICAgICAgIHN0cmluZztcbiAgICB0eXBlQXNzZW1ibGVlOiAgIHN0cmluZztcbiAgICBsZWdpc2xhdHVyZTogICAgIHN0cmluZztcbiAgICBzZXNzaW9uOiAgICAgICAgIHN0cmluZztcbiAgICBub21GaWNoaWVySm86ICAgIHN0cmluZztcbiAgICB2YWxpZGl0ZTogICAgICAgIHN0cmluZztcbiAgICBldGF0OiAgICAgICAgICAgIHN0cmluZztcbiAgICBkaWZmdXNpb246ICAgICAgIHN0cmluZztcbiAgICB2ZXJzaW9uOiAgICAgICAgIHN0cmluZztcbiAgICBlbnZpcm9ubmVtZW50OiAgIHN0cmluZztcbiAgICBoZXVyZUdlbmVyYXRpb246IERhdGU7XG4gICAgc29tbWFpcmU6ICAgICAgICBTb21tYWlyZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb21tYWlyZSB7XG4gICAgcHJlc2lkZW50U2VhbmNlOiBQYXJhO1xuICAgIHNvbW1haXJlMTogICAgICAgU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnQ7XG4gICAgc29tbWFpcmUzPzogICAgICBTb21tYWlyZUVsZW1lbnRbXSB8IFNvbW1haXJlRWxlbWVudDtcbiAgICBzb21tYWlyZTI/OiAgICAgIFNvbW1haXJlRWxlbWVudFtdIHwgU29tbWFpcmVFbGVtZW50O1xuICAgIHBhcmE/OiAgICAgICAgICAgUGFyYTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb21tYWlyZUVsZW1lbnQge1xuICAgIHZhbGV1cl9wdHNfb2RqOiAgIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB0aXRyZVN0cnVjdDogICAgICBUaXRyZVN0cnVjdDtcbiAgICBwYXJhPzogICAgICAgICAgICBBcnJheTxQYXJhIHwgc3RyaW5nPiB8IFBhcmE7XG4gICAgc29tbWFpcmUyPzogICAgICAgU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnQ7XG4gICAgc29tbWFpcmUzPzogICAgICAgU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnQ7XG4gICAgcHJlc2lkZW50U2VhbmNlPzogUGFyYVtdIHwgUGFyYTtcbiAgICB0eXBlX2RlYmF0PzogICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYSB7XG4gICAgXz86ICAgICAgICAgICBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWRfc3ljZXJvbj86ICBzdHJpbmc7XG4gICAgc3VwPzogICAgICAgICBzdHJpbmc7XG4gICAgbGllbkFkdD86ICAgICBQYXJhW10gfCBQYXJhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpdHJlU3RydWN0IHtcbiAgICBpZF9zeWNlcm9uOiAgICBzdHJpbmc7XG4gICAgaW50aXR1bGU/OiAgICAgVGV4dGUgfCBzdHJpbmc7XG4gICAgc291c0ludGl0dWxlPzogc3RyaW5nO1xuICAgIHR5cGVfZGViYXQ/OiAgIHN0cmluZztcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gICAgcHVibGljIHN0YXRpYyB0b0NvbXB0ZXNSZW5kdXMoanNvbjogc3RyaW5nKTogQ29tcHRlc1JlbmR1cyB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJDb21wdGVzUmVuZHVzXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNvbXB0ZXNSZW5kdXNUb0pzb24odmFsdWU6IENvbXB0ZXNSZW5kdXMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQ29tcHRlc1JlbmR1c1wiKSksIG51bGwsIDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9Db21wdGVSZW5kdVdyYXBwZXIoanNvbjogc3RyaW5nKTogQ29tcHRlUmVuZHVXcmFwcGVyIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkNvbXB0ZVJlbmR1V3JhcHBlclwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjb21wdGVSZW5kdVdyYXBwZXJUb0pzb24odmFsdWU6IENvbXB0ZVJlbmR1V3JhcHBlcik6IHN0cmluZyB7XHRcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkNvbXB0ZVJlbmR1V3JhcHBlclwiKSksIG51bGwsIDIpO1x0XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSwgcGFyZW50OiBhbnkgPSAnJyk6IG5ldmVyIHtcbiAgICBjb25zdCBwcmV0dHlUeXAgPSBwcmV0dHlUeXBlTmFtZSh0eXApO1xuICAgIGNvbnN0IHBhcmVudFRleHQgPSBwYXJlbnQgPyBgIG9uICR7cGFyZW50fWAgOiAnJztcbiAgICBjb25zdCBrZXlUZXh0ID0ga2V5ID8gYCBmb3Iga2V5IFwiJHtrZXl9XCJgIDogJyc7XG4gICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUke2tleVRleHR9JHtwYXJlbnRUZXh0fS4gRXhwZWN0ZWQgJHtwcmV0dHlUeXB9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWApO1xufVxuXG5mdW5jdGlvbiBwcmV0dHlUeXBlTmFtZSh0eXA6IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkge1xuICAgICAgICBpZiAodHlwLmxlbmd0aCA9PT0gMiAmJiB0eXBbMF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGBhbiBvcHRpb25hbCAke3ByZXR0eVR5cGVOYW1lKHR5cFsxXSl9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgb25lIG9mIFske3R5cC5tYXAoYSA9PiB7IHJldHVybiBwcmV0dHlUeXBlTmFtZShhKTsgfSkuam9pbihcIiwgXCIpfV1gO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5saXRlcmFsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHR5cC5saXRlcmFsO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdHlwO1xuICAgIH1cbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc29uVG9KUyA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc29uVG9KUztcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc1RvSlNPTiA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc1RvSlNPTjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSAnJywgcGFyZW50OiBhbnkgPSAnJyk6IGFueSB7XG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXksIHBhcmVudCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICAgICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdHlwID0gdHlwc1tpXTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpO1xuICAgICAgICAgICAgfSBjYXRjaCAoXykge31cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbCwga2V5LCBwYXJlbnQpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLm1hcChhID0+IHsgcmV0dXJuIGwoYSk7IH0pLCB2YWwsIGtleSwgcGFyZW50KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBpbnZhbGlkVmFsdWUobChcImFycmF5XCIpLCB2YWwsIGtleSwgcGFyZW50KTtcbiAgICAgICAgcmV0dXJuIHZhbC5tYXAoZWwgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpO1xuICAgICAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGwoXCJEYXRlXCIpLCB2YWwsIGtleSwgcGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QocHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LCBhZGRpdGlvbmFsOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShsKHJlZiB8fCBcIm9iamVjdFwiKSwgdmFsLCBrZXksIHBhcmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldO1xuICAgICAgICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSkgPyB2YWxba2V5XSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBrZXksIHJlZik7XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXksIHJlZik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWw7XG4gICAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXksIHBhcmVudCk7XG4gICAgfVxuICAgIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXksIHBhcmVudCk7XG4gICAgbGV0IHJlZjogYW55ID0gdW5kZWZpbmVkO1xuICAgIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZWYgPSB0eXAucmVmO1xuICAgICAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbCk7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKSA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKSAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpICAgICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgICAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXksIHBhcmVudCk7XG4gICAgfVxuICAgIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gICAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpO1xuICAgIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpO1xufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpO1xufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIGwodHlwOiBhbnkpIHtcbiAgICByZXR1cm4geyBsaXRlcmFsOiB0eXAgfTtcbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICAgIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9O1xufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gICAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH07XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9O1xufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9O1xuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB7IHJlZjogbmFtZSB9O1xufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gICAgXCJDb21wdGVzUmVuZHVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiY29tcHRlc1JlbmR1c1wiLCBqczogXCJjb21wdGVzUmVuZHVzXCIsIHR5cDogcihcIkNvbXB0ZVJlbmR1Q2xhc3NcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb21wdGVSZW5kdUNsYXNzXCI6IG8oW1x0XG4gICAgICAgIHsganNvbjogXCJjb21wdGVSZW5kdVwiLCBqczogXCJjb21wdGVSZW5kdVwiLCB0eXA6IGEocihcIkNvbXB0ZVJlbmR1XCIpKSB9LFx0XG4gICAgXSwgZmFsc2UpLFx0XG4gICAgXCJDb21wdGVSZW5kdVdyYXBwZXJcIjogbyhbXHRcbiAgICAgICAgeyBqc29uOiBcImNvbXB0ZVJlbmR1XCIsIGpzOiBcImNvbXB0ZVJlbmR1XCIsIHR5cDogcihcIkNvbXB0ZVJlbmR1XCIpIH0sXHRcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb21wdGVSZW5kdVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInhtbG5zXCIsIGpzOiBcInhtbG5zXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInNlYW5jZVJlZlwiLCBqczogXCJzZWFuY2VSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZXNzaW9uUmVmXCIsIGpzOiBcInNlc3Npb25SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtZXRhZG9ubmVlc1wiLCBqczogXCJtZXRhZG9ubmVlc1wiLCB0eXA6IHIoXCJNZXRhZG9ubmVlc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udGVudVwiLCBqczogXCJjb250ZW51XCIsIHR5cDogcihcIkNvbnRlbnVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb250ZW51XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicXVhbnRpZW1lc1wiLCBqczogXCJxdWFudGllbWVzXCIsIHR5cDogcihcIlF1YW50aWVtZXNcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm91dmVydHVyZVNlYW5jZVwiLCBqczogXCJvdXZlcnR1cmVTZWFuY2VcIiwgdHlwOiByKFwiT3V2ZXJ0dXJlU2VhbmNlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJwb2ludFwiLCBqczogXCJwb2ludFwiLCB0eXA6IHUoYShyKFwiUG9pbnRcIikpLCByKFwiUG9pbnRcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJmaW5TZWFuY2VcIiwganM6IFwiZmluU2VhbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJGaW5TZWFuY2VcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJwYXJhZ3JhcGhlXCIsIGpzOiBcInBhcmFncmFwaGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiUG9pbnRcIikpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkZpblNlYW5jZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvaW50XCIsIGpzOiBcInBvaW50XCIsIHR5cDogcihcIkZpblNlYW5jZVBvaW50XCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRmluU2VhbmNlUG9pbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJuaXZwb2ludFwiLCBqczogXCJuaXZwb2ludFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInZhbGV1cl9wdHNvZGpcIiwganM6IFwidmFsZXVyX3B0c29kalwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm9yZGluYWxfcHJpc2VcIiwganM6IFwib3JkaW5hbF9wcmlzZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImlkX3ByZXBhcmF0aW9uXCIsIGpzOiBcImlkX3ByZXBhcmF0aW9uXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwib3JkcmVfYWJzb2x1X3NlYW5jZVwiLCBqczogXCJvcmRyZV9hYnNvbHVfc2VhbmNlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY29kZV9ncmFtbWFpcmVcIiwganM6IFwiY29kZV9ncmFtbWFpcmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb2RlX3N0eWxlXCIsIGpzOiBcImNvZGVfc3R5bGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb2RlX3Bhcm9sZVwiLCBqczogXCJjb2RlX3Bhcm9sZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInNvbW1haXJlXCIsIGpzOiBcInNvbW1haXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRfc3ljZXJvblwiLCBqczogXCJpZF9zeWNlcm9uXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidmFsZXVyXCIsIGpzOiBcInZhbGV1clwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm9yYXRldXJzXCIsIGpzOiBcIm9yYXRldXJzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVcIiwganM6IFwidGV4dGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJwYXJhZ3JhcGhlXCIsIGpzOiBcInBhcmFncmFwaGVcIiwgdHlwOiBhKHIoXCJQb2ludFwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVfZGViYXRcIiwganM6IFwidHlwZV9kZWJhdFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk9yYXRldXJzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JhdGV1clwiLCBqczogXCJvcmF0ZXVyXCIsIHR5cDogdShhKHIoXCJPcmF0ZXVyRWxlbWVudFwiKSksIHIoXCJPcmF0ZXVyRWxlbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJPcmF0ZXVyRWxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImlkXCIsIGpzOiBcImlkXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJxdWFsaXRlXCIsIGpzOiBcInF1YWxpdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUZXh0ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIl9cIiwganM6IFwiX1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwic3RpbWVcIiwganM6IFwic3RpbWVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImluZGljZVwiLCBqczogXCJpbmRpY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShhKFwiXCIpLCBcIlwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJPdXZlcnR1cmVTZWFuY2VcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJuaXZwb2ludFwiLCBqczogXCJuaXZwb2ludFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwidmFsZXVyX3B0c29kalwiLCBqczogXCJ2YWxldXJfcHRzb2RqXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwib3JkaW5hbF9wcmlzZVwiLCBqczogXCJvcmRpbmFsX3ByaXNlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRfcHJlcGFyYXRpb25cIiwganM6IFwiaWRfcHJlcGFyYXRpb25cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJvcmRyZV9hYnNvbHVfc2VhbmNlXCIsIGpzOiBcIm9yZHJlX2Fic29sdV9zZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJpZF9hY3RldXJcIiwganM6IFwiaWRfYWN0ZXVyXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRfbWFuZGF0XCIsIGpzOiBcImlkX21hbmRhdFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImlkX25vbWluYXRpb25fb2VcIiwganM6IFwiaWRfbm9taW5hdGlvbl9vZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImlkX25vbWluYXRpb25fb3BcIiwganM6IFwiaWRfbm9taW5hdGlvbl9vcFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNvZGVfZ3JhbW1haXJlXCIsIGpzOiBcImNvZGVfZ3JhbW1haXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY29kZV9zdHlsZVwiLCBqczogXCJjb2RlX3N0eWxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY29kZV9wYXJvbGVcIiwganM6IFwiY29kZV9wYXJvbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzb21tYWlyZVwiLCBqczogXCJzb21tYWlyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImlkX3N5Y2Vyb25cIiwganM6IFwiaWRfc3ljZXJvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInZhbGV1clwiLCBqczogXCJ2YWxldXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJvcmF0ZXVyc1wiLCBqczogXCJvcmF0ZXVyc1wiLCB0eXA6IHUocihcIk9yYXRldXJzXCIpLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVcIiwganM6IFwidGV4dGVcIiwgdHlwOiB1KHIoXCJUZXh0ZVwiKSwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInBhcmFncmFwaGVcIiwganM6IFwicGFyYWdyYXBoZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJQb2ludFwiKSkpIH0sXG4gICAgICAgIHsganNvbjogXCJpbnRlckV4dHJhY3Rpb25cIiwganM6IFwiaW50ZXJFeHRyYWN0aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJJbnRlckV4dHJhY3Rpb25cIikpIH0sXG4gICAgICAgIHsganNvbjogXCJwb2ludFwiLCBqczogXCJwb2ludFwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiUG9pbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSW50ZXJFeHRyYWN0aW9uXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibm9tX29yYXRldXJcIiwganM6IFwibm9tX29yYXRldXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJxdWFsaXRlXCIsIGpzOiBcIm5vbV9vcmF0ZXVyXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJpZF9hY3RldXJcIiwganM6IFwiaWRfYWN0ZXVyXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRfbm9taW5hdGlvbl9vZVwiLCBqczogXCJpZF9ub21pbmF0aW9uX29lXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRfbm9taW5hdGlvbl9vcFwiLCBqczogXCJpZF9ub21pbmF0aW9uX29wXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRfbWFuZGF0XCIsIGpzOiBcImlkX21hbmRhdFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInBhcmFncmFwaGVcIiwganM6IFwicGFyYWdyYXBoZVwiLCB0eXA6IHUoYShyKFwiUG9pbnRcIikpLCByKFwiUG9pbnRcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJjaGFuZ2VtZW50UHJlc2lkZW5jZVwiLCBqczogXCJjaGFuZ2VtZW50UHJlc2lkZW5jZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiUG9pbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUG9pbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJuaXZwb2ludFwiLCBqczogXCJuaXZwb2ludFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwidmFsZXVyX3B0c29kalwiLCBqczogXCJ2YWxldXJfcHRzb2RqXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwib3JkaW5hbF9wcmlzZVwiLCBqczogXCJvcmRpbmFsX3ByaXNlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRfcHJlcGFyYXRpb25cIiwganM6IFwiaWRfcHJlcGFyYXRpb25cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJvcmRyZV9hYnNvbHVfc2VhbmNlXCIsIGpzOiBcIm9yZHJlX2Fic29sdV9zZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb2RlX2dyYW1tYWlyZVwiLCBqczogXCJjb2RlX2dyYW1tYWlyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNvZGVfc3R5bGVcIiwganM6IFwiY29kZV9zdHlsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiY29kZV9wYXJvbGVcIiwganM6IFwiY29kZV9wYXJvbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzb21tYWlyZVwiLCBqczogXCJzb21tYWlyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImlkX3N5Y2Vyb25cIiwganM6IFwiaWRfc3ljZXJvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInZhbGV1clwiLCBqczogXCJ2YWxldXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJvcmF0ZXVyc1wiLCBqczogXCJvcmF0ZXVyc1wiLCB0eXA6IHUocihcIk9yYXRldXJzXCIpLCBcIlwiLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZVwiLCBqczogXCJ0ZXh0ZVwiLCB0eXA6IHUocihcIlRleHRlXCIpLCBcIlwiLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJwYXJhZ3JhcGhlXCIsIGpzOiBcInBhcmFncmFwaGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSkpIH0sXG4gICAgICAgIHsganNvbjogXCJpbnRlckV4dHJhY3Rpb25cIiwganM6IFwiaW50ZXJFeHRyYWN0aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkludGVyRXh0cmFjdGlvblwiKSksIHIoXCJJbnRlckV4dHJhY3Rpb25cIikpIH0sXG4gICAgICAgIHsganNvbjogXCJwb2ludFwiLCBqczogXCJwb2ludFwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KGEocihcIlBvaW50XCIpKSwgcihcIlBvaW50XCIpKSkgfSxcbiAgICAgICAgeyBqc29uOiBcInN0cnVjdHVyZVwiLCBqczogXCJzdHJ1Y3R1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImlkX2FjdGV1clwiLCBqczogXCJpZF9hY3RldXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImlkX21hbmRhdFwiLCBqczogXCJpZF9tYW5kYXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImlkX25vbWluYXRpb25fb2VcIiwganM6IFwiaWRfbm9taW5hdGlvbl9vZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiaWRfbm9taW5hdGlvbl9vcFwiLCBqczogXCJpZF9ub21pbmF0aW9uX29wXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJvcmF0ZXVyXCIsIGpzOiBcIm9yYXRldXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImJpYmFyZFwiLCBqczogXCJiaWJhcmRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFydFwiLCBqczogXCJhcnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFkdFwiLCBqczogXCJhZHRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInNzYWR0XCIsIGpzOiBcInNzYWR0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJyb2xlZGViYXRcIiwganM6IFwicm9sZWRlYmF0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlX2RlYmF0XCIsIGpzOiBcInR5cGVfZGViYXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImNoYW5nZW1lbnRQcmVzaWRlbmNlXCIsIGpzOiBcImNoYW5nZW1lbnRQcmVzaWRlbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJQb2ludFwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImRlY2lzaW9uXCIsIGpzOiBcImRlY2lzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEZWNpc2lvblwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJRdWFudGllbWVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiam91cm5lZVwiLCBqczogXCJqb3VybmVlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwic2Vzc2lvblwiLCBqczogXCJzZXNzaW9uXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk1ldGFkb25uZWVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiZGF0ZVNlYW5jZVwiLCBqczogXCJkYXRlU2VhbmNlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZVNlYW5jZUpvdXJcIiwganM6IFwiZGF0ZVNlYW5jZUpvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJudW1TZWFuY2VKb3VyXCIsIGpzOiBcIm51bVNlYW5jZUpvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJudW1TZWFuY2VcIiwganM6IFwibnVtU2VhbmNlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidHlwZUFzc2VtYmxlZVwiLCBqczogXCJ0eXBlQXNzZW1ibGVlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZXNzaW9uXCIsIGpzOiBcInNlc3Npb25cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJub21GaWNoaWVySm9cIiwganM6IFwibm9tRmljaGllckpvXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidmFsaWRpdGVcIiwganM6IFwidmFsaWRpdGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJldGF0XCIsIGpzOiBcImV0YXRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkaWZmdXNpb25cIiwganM6IFwiZGlmZnVzaW9uXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidmVyc2lvblwiLCBqczogXCJ2ZXJzaW9uXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZW52aXJvbm5lbWVudFwiLCBqczogXCJlbnZpcm9ubmVtZW50XCIsIHR5cDogXCJcIn0sXG4gICAgICAgIHsganNvbjogXCJoZXVyZUdlbmVyYXRpb25cIiwganM6IFwiaGV1cmVHZW5lcmF0aW9uXCIsIHR5cDogRGF0ZSB9LFxuICAgICAgICB7IGpzb246IFwic29tbWFpcmVcIiwganM6IFwic29tbWFpcmVcIiwgdHlwOiByKFwiU29tbWFpcmVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTb21tYWlyZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInByZXNpZGVudFNlYW5jZVwiLCBqczogXCJwcmVzaWRlbnRTZWFuY2VcIiwgdHlwOiByKFwiUGFyYVwiKSB9LFxuICAgICAgICB7IGpzb246IFwic29tbWFpcmUxXCIsIGpzOiBcInNvbW1haXJlMVwiLCB0eXA6IHUoYShyKFwiU29tbWFpcmVFbGVtZW50XCIpKSwgcihcIlNvbW1haXJlRWxlbWVudFwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcInNvbW1haXJlM1wiLCBqczogXCJzb21tYWlyZTNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJTb21tYWlyZUVsZW1lbnRcIikpLCByKFwiU29tbWFpcmVFbGVtZW50XCIpKSkgfSxcbiAgICAgICAgeyBqc29uOiBcInNvbW1haXJlMlwiLCBqczogXCJzb21tYWlyZTJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJTb21tYWlyZUVsZW1lbnRcIikpLCByKFwiU29tbWFpcmVFbGVtZW50XCIpKSkgfSxcbiAgICAgICAgeyBqc29uOiBcInBhcmFcIiwganM6IFwicGFyYVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiUGFyYVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTb21tYWlyZUVsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ2YWxldXJfcHRzX29kalwiLCBqczogXCJ2YWxldXJfcHRzX29kalwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwidGl0cmVTdHJ1Y3RcIiwganM6IFwidGl0cmVTdHJ1Y3RcIiwgdHlwOiB1KCB1bmRlZmluZWQsIHIoXCJUaXRyZVN0cnVjdFwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcInBhcmFcIiwganM6IFwicGFyYVwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KGEodShyKFwiUGFyYVwiKSwgXCJcIikpLCByKFwiUGFyYVwiKSkpIH0sXG4gICAgICAgIHsganNvbjogXCJzb21tYWlyZTJcIiwganM6IFwic29tbWFpcmUyXCIsIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiU29tbWFpcmVFbGVtZW50XCIpKSwgcihcIlNvbW1haXJlRWxlbWVudFwiKSkpIH0sXG4gICAgICAgIHsganNvbjogXCJzb21tYWlyZTNcIiwganM6IFwic29tbWFpcmUzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiU29tbWFpcmVFbGVtZW50XCIpKSwgcihcIlNvbW1haXJlRWxlbWVudFwiKSkpIH0sXG4gICAgICAgIHsganNvbjogXCJwcmVzaWRlbnRTZWFuY2VcIiwganM6IFwicHJlc2lkZW50U2VhbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiUGFyYVwiKSksIHIoXCJQYXJhXCIpKSkgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVfZGViYXRcIiwganM6IFwidHlwZV9kZWJhdFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlBhcmFcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJfXCIsIGpzOiBcIl9cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImlkX3N5Y2Vyb25cIiwganM6IFwiaWRfc3ljZXJvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwic3VwXCIsIGpzOiBcInN1cFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGllbkFkdFwiLCBqczogXCJsaWVuQWR0XCIsIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiUGFyYVwiKSksIHIoXCJQYXJhXCIpKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUZXN0XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiX1wiLCBqczogXCJfXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJpZF9zeWNlcm9uXCIsIGpzOiBcImlkX3N5Y2Vyb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInN1cFwiLCBqczogXCJzdXBcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUaXRyZVN0cnVjdFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImlkX3N5Y2Vyb25cIiwganM6IFwiaWRfc3ljZXJvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImludGl0dWxlXCIsIGpzOiBcImludGl0dWxlXCIsIHR5cDogdShyKFwiVGV4dGVcIiksIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzb3VzSW50aXR1bGVcIiwganM6IFwic291c0ludGl0dWxlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlX2RlYmF0XCIsIGpzOiBcInR5cGVfZGViYXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNpc2lvblwiOiBbXG4gICAgICAgIFwiQURPUFRJT04gYW1lbmRlbWVudCAobWFpbiBsZXbDqWUpIGFkdFwiLFxuICAgICAgICBcIkFET1BUSU9OIGTigJl1biBhcnRpY2xlICh2b3RlIMOgIG1haW4gbGV2w6llKVwiLFxuICAgICAgICBcIkFET1BUSU9OIGTigJl1biBzb3VzLWFtZW5kZW1lbnQgKG1haW4gbGV2w6llKSBzcy1hZHRcIixcbiAgICAgICAgXCJBRE9QVElPTiBkZSBwbHVzaWV1cnMgYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBhZHRzXCIsXG4gICAgICAgIFwiQURPUFRJT04gZGUgcGx1c2lldXJzIHNvdXMtYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBzcy1hZHRzXCIsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFwiUkVKRVQgZOKAmXVuIGFtZW5kZW1lbnQgKG1haW4gbGV2w6llKSBhZHRcIixcbiAgICAgICAgXCJSRUpFVCBk4oCZdW4gYXJ0aWNsZSAodm90ZSDDoCBtYWluIGxldsOpZSlcIixcbiAgICAgICAgXCJSRUpFVCBk4oCZdW4gc291cy1hbWVuZGVtZW50IChtYWluIGxldsOpZSkgc3MtYWR0XCIsXG4gICAgICAgIFwiUkVKRVQgZGUgcGx1c2lldXJzIGFtZW5kZW1lbnRzIChtYWluIGxldsOpZSkgYWR0c1wiLFxuICAgICAgICBcIlJFSkVUIGRlIHBsdXNpZXVycyBzb3VzLWFtZW5kZW1lbnRzIChtYWluIGxldsOpZSkgc3MtYWR0c1wiLFxuICAgICAgICBcIlJFSkVUIG1vdGlvbiBkZSByZWpldCBwcsOpYWxhYmxlIChtYWluIGxldsOpZSlcIixcbiAgICBdLFxufTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUF1R0EsV0FBWUEsUUFBUSwwQkFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFBLE9BQVJBLFFBQVE7QUFBQTtBQXVHcEI7QUFDQTtBQUNBLE9BQU8sTUFBTUMsT0FBTyxDQUFDO0VBQ2pCLE9BQWNDLGVBQWVBLENBQUNDLElBQVksRUFBaUI7SUFDdkQsT0FBT0Ms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