@tricoteuses/assemblee 1.0.0-next.2 → 1.0.2

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 (135) hide show
  1. package/README.md +2 -0
  2. package/lib/api.js +23 -7
  3. package/lib/api.mjs +41 -0
  4. package/lib/bugs/acteur-00010/plugin.test.js +139 -33
  5. package/lib/bugs/acteur-00010/plugin.test.mjs +33 -0
  6. package/lib/bugs/acteur-00010.js +166 -24
  7. package/lib/bugs/acteur-00010.mjs +31 -0
  8. package/lib/bugs/agenda-00002/plugin.test.js +178 -52
  9. package/lib/bugs/agenda-00002/plugin.test.mjs +52 -0
  10. package/lib/bugs/agenda-00002.js +507 -143
  11. package/lib/bugs/agenda-00002.mjs +197 -0
  12. package/lib/bugs/agenda-00008/plugin.test.js +143 -31
  13. package/lib/bugs/agenda-00008/plugin.test.mjs +31 -0
  14. package/lib/bugs/agenda-00008.js +180 -25
  15. package/lib/bugs/agenda-00008.mjs +30 -0
  16. package/lib/bugs/agenda-00011/plugin.test.js +371 -156
  17. package/lib/bugs/agenda-00011/plugin.test.mjs +156 -0
  18. package/lib/bugs/agenda-00011.js +416 -117
  19. package/lib/bugs/agenda-00011.mjs +150 -0
  20. package/lib/bugs.js +591 -54
  21. package/lib/bugs.mjs +93 -0
  22. package/lib/cleaners/actes_legislatifs.js +149 -61
  23. package/lib/cleaners/actes_legislatifs.mjs +311 -0
  24. package/lib/cleaners/acteurs.js +255 -123
  25. package/lib/cleaners/acteurs.mjs +211 -0
  26. package/lib/cleaners/amendements.js +242 -117
  27. package/lib/cleaners/amendements.mjs +292 -0
  28. package/lib/cleaners/documents.js +147 -62
  29. package/lib/cleaners/documents.mjs +162 -0
  30. package/lib/cleaners/dossiers_legislatifs.js +132 -45
  31. package/lib/cleaners/dossiers_legislatifs.mjs +123 -0
  32. package/lib/cleaners/index.js +64 -8
  33. package/lib/cleaners/index.mjs +8 -0
  34. package/lib/cleaners/organes.js +54 -21
  35. package/lib/cleaners/organes.mjs +64 -0
  36. package/lib/cleaners/reunions.js +237 -127
  37. package/lib/cleaners/reunions.mjs +318 -0
  38. package/lib/cleaners/scrutins.js +261 -99
  39. package/lib/cleaners/scrutins.mjs +254 -0
  40. package/lib/cleaners/xml.js +81 -16
  41. package/lib/cleaners/xml.mjs +42 -0
  42. package/lib/datasets.js +284 -153
  43. package/lib/datasets.mjs +596 -0
  44. package/lib/dates.js +93 -34
  45. package/lib/dates.mjs +98 -0
  46. package/lib/dossiers_legislatifs.js +107 -33
  47. package/lib/dossiers_legislatifs.mjs +215 -0
  48. package/lib/file_systems.js +203 -35
  49. package/lib/file_systems.mjs +64 -0
  50. package/lib/git.js +139 -41
  51. package/lib/git.mjs +114 -0
  52. package/lib/index.js +310 -16
  53. package/lib/index.mjs +16 -0
  54. package/lib/inserters.js +355 -131
  55. package/lib/inserters.mjs +413 -0
  56. package/lib/loaders.js +900 -440
  57. package/lib/loaders.mjs +678 -0
  58. package/lib/organes.js +15 -5
  59. package/lib/organes.mjs +18 -0
  60. package/lib/parsers/documents.js +241 -89
  61. package/lib/parsers/documents.mjs +433 -0
  62. package/lib/parsers/index.js +36 -3
  63. package/lib/parsers/index.mjs +3 -0
  64. package/lib/parsers/recherche_amendements.js +616 -173
  65. package/lib/parsers/recherche_amendements.mjs +189 -0
  66. package/lib/raw_types/acteurs_et_organes.d.ts +36 -148
  67. package/lib/raw_types/acteurs_et_organes.js +228 -506
  68. package/lib/raw_types/acteurs_et_organes.mjs +1240 -0
  69. package/lib/raw_types/agendas.js +165 -75
  70. package/lib/raw_types/agendas.mjs +944 -0
  71. package/lib/raw_types/amendements.js +165 -77
  72. package/lib/raw_types/amendements.mjs +1040 -0
  73. package/lib/raw_types/dossiers_legislatifs.d.ts +1 -43
  74. package/lib/raw_types/dossiers_legislatifs.js +181 -143
  75. package/lib/raw_types/dossiers_legislatifs.mjs +1792 -0
  76. package/lib/raw_types/scrutins.js +144 -61
  77. package/lib/raw_types/scrutins.mjs +645 -0
  78. package/lib/scripts/bugs_helper.js +657 -155
  79. package/lib/scripts/bugs_helper.mjs +286 -0
  80. package/lib/scripts/clean_data.js +380 -145
  81. package/lib/scripts/clean_data.mjs +190 -0
  82. package/lib/scripts/clean_reorganized_data.js +627 -331
  83. package/lib/scripts/clean_reorganized_data.mjs +520 -0
  84. package/lib/scripts/diff_amendements.js +159 -73
  85. package/lib/scripts/diff_amendements.mjs +234 -0
  86. package/lib/scripts/document_dossiers_legislatifs.js +570 -288
  87. package/lib/scripts/document_dossiers_legislatifs.mjs +494 -0
  88. package/lib/scripts/get_today_reunions.js +37 -20
  89. package/lib/scripts/get_today_reunions.mjs +41 -0
  90. package/lib/scripts/merge_scrutins.js +121 -39
  91. package/lib/scripts/merge_scrutins.mjs +69 -0
  92. package/lib/scripts/parse_textes_lois.js +179 -125
  93. package/lib/scripts/parse_textes_lois.mjs +215 -0
  94. package/lib/scripts/raw_types_from_amendements.js +276 -77
  95. package/lib/scripts/raw_types_from_amendements.mjs +118 -0
  96. package/lib/scripts/reorganize_data.js +867 -446
  97. package/lib/scripts/reorganize_data.mjs +712 -0
  98. package/lib/scripts/retrieve_deputes_photos.js +378 -157
  99. package/lib/scripts/retrieve_deputes_photos.mjs +230 -0
  100. package/lib/scripts/retrieve_documents.js +648 -172
  101. package/lib/scripts/retrieve_documents.mjs +292 -0
  102. package/lib/scripts/retrieve_open_data.js +286 -85
  103. package/lib/scripts/retrieve_open_data.mjs +125 -0
  104. package/lib/scripts/retrieve_pending_amendments.js +302 -69
  105. package/lib/scripts/retrieve_pending_amendments.mjs +130 -0
  106. package/lib/scripts/retrieve_senateurs_photos.js +374 -198
  107. package/lib/scripts/retrieve_senateurs_photos.mjs +277 -0
  108. package/lib/scripts/retrieve_textes_lois.js +343 -89
  109. package/lib/scripts/retrieve_textes_lois.mjs +168 -0
  110. package/lib/scripts/test_load.js +30 -11
  111. package/lib/scripts/test_load.mjs +26 -0
  112. package/lib/scripts/test_load_big_files.js +30 -11
  113. package/lib/scripts/test_load_big_files.mjs +26 -0
  114. package/lib/scripts/validate_json.js +370 -120
  115. package/lib/scripts/validate_json.mjs +216 -0
  116. package/lib/shared_types/codes_actes.js +50 -15
  117. package/lib/shared_types/codes_actes.mjs +228 -0
  118. package/lib/strings.js +16 -3
  119. package/lib/strings.mjs +7 -0
  120. package/lib/types/acteurs_et_organes.js +156 -71
  121. package/lib/types/acteurs_et_organes.mjs +918 -0
  122. package/lib/types/agendas.js +154 -67
  123. package/lib/types/agendas.mjs +623 -0
  124. package/lib/types/amendements.js +166 -77
  125. package/lib/types/amendements.mjs +885 -0
  126. package/lib/types/dossiers_legislatifs.d.ts +1 -42
  127. package/lib/types/dossiers_legislatifs.js +182 -143
  128. package/lib/types/dossiers_legislatifs.mjs +1120 -0
  129. package/lib/types/legislatures.js +12 -3
  130. package/lib/types/legislatures.mjs +9 -0
  131. package/lib/types/scrutins.js +144 -61
  132. package/lib/types/scrutins.mjs +528 -0
  133. package/lib/urls.js +44 -25
  134. package/lib/urls.mjs +201 -0
  135. package/package.json +33 -12
@@ -0,0 +1,885 @@
1
+ // To parse this data:
2
+ //
3
+ // import { Convert, Amendement, Amendements } from "./file";
4
+ //
5
+ // const amendement = Convert.toAmendement(json);
6
+ // const amendements = Convert.toAmendements(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
+ export let AccordGouvernementDepotHorsDelai;
11
+
12
+ (function (AccordGouvernementDepotHorsDelai) {
13
+ AccordGouvernementDepotHorsDelai["Accord"] = "Accord";
14
+ AccordGouvernementDepotHorsDelai["SansObjet"] = "Sans objet";
15
+ })(AccordGouvernementDepotHorsDelai || (AccordGouvernementDepotHorsDelai = {}));
16
+
17
+ export let Action;
18
+
19
+ (function (Action) {
20
+ Action["Cr\xE9ation"] = "cr\xE9ation";
21
+ Action["Modification"] = "modification";
22
+ Action["Suppression"] = "suppression";
23
+ })(Action || (Action = {}));
24
+
25
+ export let EtatAmendementCode;
26
+
27
+ (function (EtatAmendementCode) {
28
+ EtatAmendementCode["AC"] = "AC";
29
+ EtatAmendementCode["At"] = "AT";
30
+ EtatAmendementCode["Di"] = "DI";
31
+ EtatAmendementCode["Effac\xE9"] = "effac\xE9";
32
+ EtatAmendementCode["Er"] = "ER";
33
+ EtatAmendementCode["IR"] = "IR";
34
+ EtatAmendementCode["Irr127"] = "IRR127";
35
+ EtatAmendementCode["Irr20"] = "IRR20";
36
+ EtatAmendementCode["Irr37"] = "IRR37";
37
+ EtatAmendementCode["Irr38"] = "IRR38";
38
+ EtatAmendementCode["Irr41"] = "IRR41";
39
+ EtatAmendementCode["Irr42"] = "IRR42";
40
+ EtatAmendementCode["Irr45"] = "IRR45";
41
+ EtatAmendementCode["Irr48"] = "IRR48";
42
+ EtatAmendementCode["Irr53"] = "IRR53";
43
+ EtatAmendementCode["Irrai"] = "IRRAI";
44
+ EtatAmendementCode["Irrd"] = "IRRD";
45
+ EtatAmendementCode["Irrhd"] = "IRRHD";
46
+ EtatAmendementCode["Irrsa"] = "IRRSA";
47
+ EtatAmendementCode["R"] = "R";
48
+ EtatAmendementCode["Rt"] = "RT";
49
+ EtatAmendementCode["T"] = "T";
50
+ })(EtatAmendementCode || (EtatAmendementCode = {}));
51
+
52
+ export let EtatAmendementLibelle;
53
+
54
+ (function (EtatAmendementLibelle) {
55
+ EtatAmendementLibelle["ADiscuter"] = "A discuter";
56
+ EtatAmendementLibelle["AD\xE9poser"] = "A d\xE9poser";
57
+ EtatAmendementLibelle["Discut\xE9"] = "Discut\xE9";
58
+ EtatAmendementLibelle["Effac\xE9"] = "effac\xE9";
59
+ EtatAmendementLibelle["EnRecevabilit\xE9"] = "En recevabilit\xE9";
60
+ EtatAmendementLibelle["EnTraitement"] = "En traitement";
61
+ EtatAmendementLibelle["Irrecevable"] = "Irrecevable";
62
+ EtatAmendementLibelle["Irrecevable40"] = "Irrecevable 40";
63
+ EtatAmendementLibelle["Retir\xE9"] = "Retir\xE9";
64
+ })(EtatAmendementLibelle || (EtatAmendementLibelle = {}));
65
+
66
+ export let SortAmendement;
67
+
68
+ (function (SortAmendement) {
69
+ SortAmendement["Adopt\xE9"] = "Adopt\xE9";
70
+ SortAmendement["AutreIrrecevabilit\xE9"] = "Autre irrecevabilit\xE9";
71
+ SortAmendement["AutresIrrLOLF"] = "Autres irr LOLF";
72
+ SortAmendement["AutresIrrLOLFSS"] = "Autres irr LOLFSS";
73
+ SortAmendement["Cavalier45"] = "Cavalier (45)";
74
+ SortAmendement["CavalierBudg\xE9taire"] = "Cavalier budg\xE9taire";
75
+ SortAmendement["CavalierSocial"] = "Cavalier social";
76
+ SortAmendement["ChampDeLHabilitation38"] = "Champ de l'habilitation (38)";
77
+ SortAmendement["Charge"] = "Charge";
78
+ SortAmendement["Cmp45"] = "CMP (45)";
79
+ SortAmendement["Cr\xE9dits"] = "Cr\xE9dits";
80
+ SortAmendement["DispositionR\xE9glementaire37"] = "Disposition r\xE9glementaire (37)";
81
+ SortAmendement["DomaineDeLaLoi41"] = "Domaine de la loi (41)";
82
+ SortAmendement["DomaineLoiOrganique127"] = "Domaine loi organique (127)";
83
+ SortAmendement["Doublon"] = "Doublon";
84
+ SortAmendement["Entonnoir45"] = "Entonnoir (45)";
85
+ SortAmendement["Gage"] = "Gage";
86
+ SortAmendement["HorsD\xE9lais"] = "Hors-d\xE9lais";
87
+ SortAmendement["Injonction20"] = "Injonction (20)";
88
+ SortAmendement["IrrEnPremi\xE8rePartie"] = "Irr en premi\xE8re partie";
89
+ SortAmendement["IrrEnSecondePartie"] = "Irr en seconde partie";
90
+ SortAmendement["Lolf"] = "LOLF";
91
+ SortAmendement["Lolfss"] = "LOLFSS";
92
+ SortAmendement["NonSoutenu"] = "Non soutenu";
93
+ SortAmendement["OrdreDuJour48"] = "Ordre du jour (48)";
94
+ SortAmendement["R"] = "R";
95
+ SortAmendement["RatificationTrait\xE953"] = "Ratification trait\xE9 (53)";
96
+ SortAmendement["Rejet\xE9"] = "Rejet\xE9";
97
+ SortAmendement["Retir\xE9"] = "Retir\xE9";
98
+ SortAmendement["Retir\xE9Apr\xE8sPublication"] = "Retir\xE9 apr\xE8s publication";
99
+ SortAmendement["Retir\xE9AvantPublication"] = "Retir\xE9 avant publication";
100
+ SortAmendement["SatisfaitOuInop\xE9rant42"] = "Satisfait ou inop\xE9rant (42)";
101
+ SortAmendement["SousAmendement98"] = "Sous-amendement (98)";
102
+ SortAmendement["Tomb\xE9"] = "Tomb\xE9";
103
+ })(SortAmendement || (SortAmendement = {}));
104
+
105
+ export let TypePosition;
106
+
107
+ (function (TypePosition) {
108
+ TypePosition["Dernier"] = "Dernier";
109
+ TypePosition["Milieu"] = "Milieu";
110
+ TypePosition["Premier"] = "Premier";
111
+ })(TypePosition || (TypePosition = {}));
112
+
113
+ export let AvantAApres;
114
+
115
+ (function (AvantAApres) {
116
+ AvantAApres["A"] = "A";
117
+ AvantAApres["Apres"] = "Apres";
118
+ AvantAApres["Avant"] = "Avant";
119
+ })(AvantAApres || (AvantAApres = {}));
120
+
121
+ export let DivisionType;
122
+
123
+ (function (DivisionType) {
124
+ DivisionType["Annexe"] = "ANNEXE";
125
+ DivisionType["Article"] = "ARTICLE";
126
+ DivisionType["Chapitre"] = "CHAPITRE";
127
+ DivisionType["Titre"] = "TITRE";
128
+ })(DivisionType || (DivisionType = {}));
129
+
130
+ export let CodeEtat;
131
+
132
+ (function (CodeEtat) {
133
+ CodeEtat["B"] = "B";
134
+ CodeEtat["C"] = "C";
135
+ CodeEtat["D"] = "D";
136
+ })(CodeEtat || (CodeEtat = {}));
137
+
138
+ export let Nom;
139
+
140
+ (function (Nom) {
141
+ Nom["Pdf"] = "PDF";
142
+ })(Nom || (Nom = {}));
143
+
144
+ export let TypeMimeType;
145
+
146
+ (function (TypeMimeType) {
147
+ TypeMimeType["Application"] = "application";
148
+ })(TypeMimeType || (TypeMimeType = {}));
149
+
150
+ export let TypeAuteur; // Converts JSON strings to/from your types
151
+ // and asserts the results of JSON.parse at runtime
152
+
153
+ (function (TypeAuteur) {
154
+ TypeAuteur["D\xE9put\xE9"] = "D\xE9put\xE9";
155
+ TypeAuteur["Gouvernement"] = "Gouvernement";
156
+ TypeAuteur["Rapporteur"] = "Rapporteur";
157
+ })(TypeAuteur || (TypeAuteur = {}));
158
+
159
+ export class Convert {
160
+ static toAmendement(json) {
161
+ return cast(JSON.parse(json), r("Amendement"));
162
+ }
163
+
164
+ static amendementToJson(value) {
165
+ return JSON.stringify(uncast(value, r("Amendement")), null, 2);
166
+ }
167
+
168
+ static toAmendements(json) {
169
+ return cast(JSON.parse(json), r("Amendements"));
170
+ }
171
+
172
+ static amendementsToJson(value) {
173
+ return JSON.stringify(uncast(value, r("Amendements")), null, 2);
174
+ }
175
+
176
+ static toTexteLegislatif(json) {
177
+ return cast(JSON.parse(json), r("TexteLegislatif"));
178
+ }
179
+
180
+ static texteLegislatifToJson(value) {
181
+ return JSON.stringify(uncast(value, r("TexteLegislatif")), null, 2);
182
+ }
183
+
184
+ }
185
+
186
+ function invalidValue(typ, val, key = "") {
187
+ if (key) {
188
+ throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);
189
+ }
190
+
191
+ throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);
192
+ }
193
+
194
+ function jsonToJSProps(typ) {
195
+ if (typ.jsonToJS === undefined) {
196
+ const map = {};
197
+ typ.props.forEach(p => map[p.json] = {
198
+ key: p.js,
199
+ typ: p.typ
200
+ });
201
+ typ.jsonToJS = map;
202
+ }
203
+
204
+ return typ.jsonToJS;
205
+ }
206
+
207
+ function jsToJSONProps(typ) {
208
+ if (typ.jsToJSON === undefined) {
209
+ const map = {};
210
+ typ.props.forEach(p => map[p.js] = {
211
+ key: p.json,
212
+ typ: p.typ
213
+ });
214
+ typ.jsToJSON = map;
215
+ }
216
+
217
+ return typ.jsToJSON;
218
+ }
219
+
220
+ function transform(val, typ, getProps, key = "") {
221
+ function transformPrimitive(typ, val) {
222
+ if (typeof typ === typeof val) return val;
223
+ return invalidValue(typ, val, key);
224
+ }
225
+
226
+ function transformUnion(typs, val) {
227
+ // val must validate against one typ in typs
228
+ const l = typs.length;
229
+
230
+ for (let i = 0; i < l; i++) {
231
+ const typ = typs[i];
232
+
233
+ try {
234
+ return transform(val, typ, getProps);
235
+ } catch (_) {}
236
+ }
237
+
238
+ return invalidValue(typs, val);
239
+ }
240
+
241
+ function transformEnum(cases, val) {
242
+ if (cases.indexOf(val) !== -1) return val;
243
+ return invalidValue(cases, val);
244
+ }
245
+
246
+ function transformArray(typ, val) {
247
+ // val must be an array with no invalid elements
248
+ if (!Array.isArray(val)) return invalidValue("array", val);
249
+ return val.map(el => transform(el, typ, getProps));
250
+ }
251
+
252
+ function transformDate(val) {
253
+ if (val === null) {
254
+ return null;
255
+ }
256
+
257
+ const d = new Date(val);
258
+
259
+ if (isNaN(d.valueOf())) {
260
+ return invalidValue("Date", val);
261
+ }
262
+
263
+ return d;
264
+ }
265
+
266
+ function transformObject(props, additional, val) {
267
+ if (val === null || typeof val !== "object" || Array.isArray(val)) {
268
+ return invalidValue("object", val);
269
+ }
270
+
271
+ const result = {};
272
+ Object.getOwnPropertyNames(props).forEach(key => {
273
+ const prop = props[key];
274
+ const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
275
+ result[prop.key] = transform(v, prop.typ, getProps, prop.key);
276
+ });
277
+ Object.getOwnPropertyNames(val).forEach(key => {
278
+ if (!Object.prototype.hasOwnProperty.call(props, key)) {
279
+ result[key] = transform(val[key], additional, getProps, key);
280
+ }
281
+ });
282
+ return result;
283
+ }
284
+
285
+ if (typ === "any") return val;
286
+
287
+ if (typ === null) {
288
+ if (val === null) return val;
289
+ return invalidValue(typ, val);
290
+ } // if (typ === false) return invalidValue(typ, val)
291
+
292
+
293
+ while (typeof typ === "object" && typ.ref !== undefined) {
294
+ typ = typeMap[typ.ref];
295
+ }
296
+
297
+ if (Array.isArray(typ)) return transformEnum(typ, val);
298
+
299
+ if (typeof typ === "object") {
300
+ 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);
301
+ } // Numbers can be parsed by Date but shouldn't be.
302
+
303
+
304
+ if (typ === Date && typeof val !== "number") return transformDate(val);
305
+ return transformPrimitive(typ, val);
306
+ }
307
+
308
+ function cast(val, typ) {
309
+ return transform(val, typ, jsonToJSProps);
310
+ }
311
+
312
+ function uncast(val, typ) {
313
+ return transform(val, typ, jsToJSONProps);
314
+ }
315
+
316
+ function a(typ) {
317
+ return {
318
+ arrayItems: typ
319
+ };
320
+ }
321
+
322
+ function u(...typs) {
323
+ return {
324
+ unionMembers: typs
325
+ };
326
+ }
327
+
328
+ function o(props, additional) {
329
+ return {
330
+ props,
331
+ additional
332
+ };
333
+ } // function m(additional: any) {
334
+ // return { props: [], additional }
335
+ // }
336
+
337
+
338
+ function r(name) {
339
+ return {
340
+ ref: name
341
+ };
342
+ }
343
+
344
+ const typeMap = {
345
+ Amendements: o([{
346
+ json: "textesLegislatifs",
347
+ js: "textesLegislatifs",
348
+ typ: a(r("TexteLegislatif"))
349
+ }], false),
350
+ TexteLegislatif: o([{
351
+ json: "refTexteLegislatif",
352
+ js: "refTexteLegislatif",
353
+ typ: ""
354
+ }, {
355
+ json: "amendements",
356
+ js: "amendements",
357
+ typ: r("AmendementsClass")
358
+ }], false),
359
+ AmendementsClass: o([{
360
+ json: "amendement",
361
+ js: "amendement",
362
+ typ: a(r("Amendement"))
363
+ }], false),
364
+ AmendementWrapper: o([{
365
+ json: "amendement",
366
+ js: "amendement",
367
+ typ: r("Amendement")
368
+ }], false),
369
+ Amendement: o([{
370
+ json: "uid",
371
+ js: "uid",
372
+ typ: ""
373
+ }, {
374
+ json: "chronotag",
375
+ js: "chronotag",
376
+ typ: ""
377
+ }, {
378
+ json: "legislature",
379
+ js: "legislature",
380
+ typ: ""
381
+ }, {
382
+ json: "identification",
383
+ js: "identification",
384
+ typ: r("Identification")
385
+ }, {
386
+ json: "examenRef",
387
+ js: "examenRef",
388
+ typ: ""
389
+ }, {
390
+ json: "texteLegislatifRef",
391
+ js: "texteLegislatifRef",
392
+ typ: ""
393
+ }, {
394
+ json: "triAmendement",
395
+ js: "triAmendement",
396
+ typ: u(undefined, "")
397
+ }, {
398
+ json: "cardinaliteAmdtMultiples",
399
+ js: "cardinaliteAmdtMultiples",
400
+ typ: u(undefined, "")
401
+ }, {
402
+ json: "amendementParentRef",
403
+ js: "amendementParentRef",
404
+ typ: u(undefined, "")
405
+ }, {
406
+ json: "signataires",
407
+ js: "signataires",
408
+ typ: r("Signataires")
409
+ }, {
410
+ json: "pointeurFragmentTexte",
411
+ js: "pointeurFragmentTexte",
412
+ typ: r("PointeurFragmentTexte")
413
+ }, {
414
+ json: "corps",
415
+ js: "corps",
416
+ typ: u(undefined, r("Corps"))
417
+ }, {
418
+ json: "cycleDeVie",
419
+ js: "cycleDeVie",
420
+ typ: r("CycleDeVie")
421
+ }, {
422
+ json: "representation",
423
+ js: "representation",
424
+ typ: u(undefined, r("Representation"))
425
+ }, {
426
+ json: "seanceDiscussionRef",
427
+ js: "seanceDiscussionRef",
428
+ typ: u(undefined, "")
429
+ }, {
430
+ json: "article99",
431
+ js: "article99",
432
+ typ: ""
433
+ }, {
434
+ json: "loiReference",
435
+ js: "loiReference",
436
+ typ: u(undefined, r("LoiReference"))
437
+ }, {
438
+ json: "discussionCommune",
439
+ js: "discussionCommune",
440
+ typ: u(undefined, r("Discussion"))
441
+ }, {
442
+ json: "discussionIdentique",
443
+ js: "discussionIdentique",
444
+ typ: u(undefined, r("Discussion"))
445
+ }, {
446
+ json: "accordGouvernementDepotHorsDelai",
447
+ js: "accordGouvernementDepotHorsDelai",
448
+ typ: r("AccordGouvernementDepotHorsDelai")
449
+ }], false),
450
+ Corps: o([{
451
+ json: "cartoucheInformatif",
452
+ js: "cartoucheInformatif",
453
+ typ: u(undefined, "")
454
+ }, {
455
+ json: "contenuAuteur",
456
+ js: "contenuAuteur",
457
+ typ: u(undefined, r("ContenuAuteur"))
458
+ }], false),
459
+ ContenuAuteur: o([{
460
+ json: "dispositif",
461
+ js: "dispositif",
462
+ typ: u(undefined, "")
463
+ }, {
464
+ json: "avantAppel",
465
+ js: "avantAppel",
466
+ typ: u(undefined, r("AvantAppel"))
467
+ }, {
468
+ json: "exposeSommaire",
469
+ js: "exposeSommaire",
470
+ typ: u(undefined, "")
471
+ }, {
472
+ json: "dispositifAmdtCreditPLF",
473
+ js: "dispositifAmdtCreditPLF",
474
+ typ: u(undefined, r("DispositifAmdtCreditPLF"))
475
+ }, {
476
+ json: "dispositifAmdtCreditPLFR",
477
+ js: "dispositifAmdtCreditPLFR",
478
+ typ: u(undefined, r("DispositifAmdtCreditPLFR"))
479
+ }], false),
480
+ AvantAppel: o([{
481
+ json: "dispositif",
482
+ js: "dispositif",
483
+ typ: ""
484
+ }], false),
485
+ DispositifAmdtCreditPLF: o([{
486
+ json: "listeProgrammes",
487
+ js: "listeProgrammes",
488
+ typ: u(undefined, a(r("ProgrammePlf")))
489
+ }, {
490
+ json: "soldeAE",
491
+ js: "soldeAE",
492
+ typ: u(undefined, "")
493
+ }, {
494
+ json: "soldeCP",
495
+ js: "soldeCP",
496
+ typ: u(undefined, "")
497
+ }, {
498
+ json: "cpEgalAe",
499
+ js: "cpEgalAe",
500
+ typ: ""
501
+ }], false),
502
+ ProgrammePlf: o([{
503
+ json: "libelle",
504
+ js: "libelle",
505
+ typ: ""
506
+ }, {
507
+ json: "programmeRef",
508
+ js: "programmeRef",
509
+ typ: ""
510
+ }, {
511
+ json: "autorisationEngagement",
512
+ js: "autorisationEngagement",
513
+ typ: ""
514
+ }, {
515
+ json: "creditPaiement",
516
+ js: "creditPaiement",
517
+ typ: ""
518
+ }, {
519
+ json: "action",
520
+ js: "action",
521
+ typ: r("Action")
522
+ }, {
523
+ json: "lignesCredits",
524
+ js: "lignesCredits",
525
+ typ: u(undefined, a(r("LigneCreditPLF")))
526
+ }], false),
527
+ LigneCreditPLF: o([{
528
+ json: "id",
529
+ js: "id",
530
+ typ: ""
531
+ }, {
532
+ json: "libelle",
533
+ js: "libelle",
534
+ typ: ""
535
+ }, {
536
+ json: "autorisationEngagement",
537
+ js: "autorisationEngagement",
538
+ typ: ""
539
+ }, {
540
+ json: "creditPaiement",
541
+ js: "creditPaiement",
542
+ typ: ""
543
+ }, {
544
+ json: "action",
545
+ js: "action",
546
+ typ: r("Action")
547
+ }], false),
548
+ DispositifAmdtCreditPLFR: o([{
549
+ json: "listeProgrammes",
550
+ js: "listeProgrammes",
551
+ typ: u(undefined, a(r("LigneCreditPLFR")))
552
+ }, {
553
+ json: "totalAE",
554
+ js: "totalAE",
555
+ typ: u(undefined, r("Total"))
556
+ }, {
557
+ json: "totalCP",
558
+ js: "totalCP",
559
+ typ: u(undefined, r("Total"))
560
+ }, {
561
+ json: "cpEgalAe",
562
+ js: "cpEgalAe",
563
+ typ: ""
564
+ }], false),
565
+ LigneCreditPLFR: o([{
566
+ json: "libelle",
567
+ js: "libelle",
568
+ typ: ""
569
+ }, {
570
+ json: "programmeRef",
571
+ js: "programmeRef",
572
+ typ: u(undefined, "")
573
+ }, {
574
+ json: "autorisationEngagementSupplementaire",
575
+ js: "autorisationEngagementSupplementaire",
576
+ typ: ""
577
+ }, {
578
+ json: "creditPaiementSupplementaire",
579
+ js: "creditPaiementSupplementaire",
580
+ typ: ""
581
+ }, {
582
+ json: "autorisationEngagementAnnule",
583
+ js: "autorisationEngagementAnnule",
584
+ typ: ""
585
+ }, {
586
+ json: "creditPaiementAnnule",
587
+ js: "creditPaiementAnnule",
588
+ typ: ""
589
+ }, {
590
+ json: "action",
591
+ js: "action",
592
+ typ: r("Action")
593
+ }, {
594
+ json: "lignesCredits",
595
+ js: "lignesCredits",
596
+ typ: u(undefined, a(r("LigneCreditPLFR")))
597
+ }, {
598
+ json: "id",
599
+ js: "id",
600
+ typ: u(undefined, "")
601
+ }], false),
602
+ Total: o([{
603
+ json: "supplementaire",
604
+ js: "supplementaire",
605
+ typ: ""
606
+ }, {
607
+ json: "annule",
608
+ js: "annule",
609
+ typ: ""
610
+ }, {
611
+ json: "solde",
612
+ js: "solde",
613
+ typ: ""
614
+ }], false),
615
+ CycleDeVie: o([{
616
+ json: "dateDepot",
617
+ js: "dateDepot",
618
+ typ: u(undefined, Date)
619
+ }, {
620
+ json: "datePublication",
621
+ js: "datePublication",
622
+ typ: u(undefined, Date)
623
+ }, {
624
+ json: "soumisArticle40",
625
+ js: "soumisArticle40",
626
+ typ: ""
627
+ }, {
628
+ json: "etatDesTraitements",
629
+ js: "etatDesTraitements",
630
+ typ: r("EtatDesTraitements")
631
+ }, {
632
+ json: "dateSort",
633
+ js: "dateSort",
634
+ typ: u(undefined, Date)
635
+ }, {
636
+ json: "sort",
637
+ js: "sort",
638
+ typ: u(undefined, r("SortAmendement"))
639
+ }], false),
640
+ EtatDesTraitements: o([{
641
+ json: "etat",
642
+ js: "etat",
643
+ typ: r("EtatAmendement")
644
+ }, {
645
+ json: "sousEtat",
646
+ js: "sousEtat",
647
+ typ: u(undefined, r("SousEtatAmendement"))
648
+ }], false),
649
+ EtatAmendement: o([{
650
+ json: "code",
651
+ js: "code",
652
+ typ: r("EtatAmendementCode")
653
+ }, {
654
+ json: "libelle",
655
+ js: "libelle",
656
+ typ: r("EtatAmendementLibelle")
657
+ }], false),
658
+ SousEtatAmendement: o([{
659
+ json: "code",
660
+ js: "code",
661
+ typ: r("EtatAmendementCode")
662
+ }, {
663
+ json: "libelle",
664
+ js: "libelle",
665
+ typ: r("SortAmendement")
666
+ }], false),
667
+ Discussion: o([{
668
+ json: "idDiscussion",
669
+ js: "idDiscussion",
670
+ typ: u(undefined, "")
671
+ }, {
672
+ json: "typePosition",
673
+ js: "typePosition",
674
+ typ: u(undefined, r("TypePosition"))
675
+ }], false),
676
+ Identification: o([{
677
+ json: "numeroLong",
678
+ js: "numeroLong",
679
+ typ: ""
680
+ }, {
681
+ json: "numeroOrdreDepot",
682
+ js: "numeroOrdreDepot",
683
+ typ: ""
684
+ }, {
685
+ json: "prefixeOrganeExamen",
686
+ js: "prefixeOrganeExamen",
687
+ typ: ""
688
+ }, {
689
+ json: "numeroRect",
690
+ js: "numeroRect",
691
+ typ: ""
692
+ }], false),
693
+ LoiReference: o([{
694
+ json: "codeLoi",
695
+ js: "codeLoi",
696
+ typ: u(undefined, "")
697
+ }, {
698
+ json: "divisionCodeLoi",
699
+ js: "divisionCodeLoi",
700
+ typ: u(undefined, "")
701
+ }], false),
702
+ PointeurFragmentTexte: o([{
703
+ json: "division",
704
+ js: "division",
705
+ typ: u(undefined, r("Division"))
706
+ }, {
707
+ json: "alinea",
708
+ js: "alinea",
709
+ typ: u(undefined, r("Alinea"))
710
+ }, {
711
+ json: "missionVisee",
712
+ js: "missionVisee",
713
+ typ: u(undefined, r("MissionVisee"))
714
+ }], false),
715
+ Alinea: o([{
716
+ json: "avantAApres",
717
+ js: "avantAApres",
718
+ typ: u(undefined, r("AvantAApres"))
719
+ }, {
720
+ json: "numero",
721
+ js: "numero",
722
+ typ: u(undefined, "")
723
+ }, {
724
+ json: "alineaDesignation",
725
+ js: "alineaDesignation",
726
+ typ: u(undefined, "")
727
+ }], false),
728
+ Division: o([{
729
+ json: "titre",
730
+ js: "titre",
731
+ typ: ""
732
+ }, {
733
+ json: "articleDesignationCourte",
734
+ js: "articleDesignationCourte",
735
+ typ: u(undefined, "")
736
+ }, {
737
+ json: "articleDesignation",
738
+ js: "articleDesignation",
739
+ typ: u(undefined, "")
740
+ }, {
741
+ json: "type",
742
+ js: "type",
743
+ typ: r("DivisionType")
744
+ }, {
745
+ json: "avantAApres",
746
+ js: "avantAApres",
747
+ typ: r("AvantAApres")
748
+ }, {
749
+ json: "divisionRattachee",
750
+ js: "divisionRattachee",
751
+ typ: u(undefined, "")
752
+ }, {
753
+ json: "articleAdditionnel",
754
+ js: "articleAdditionnel",
755
+ typ: ""
756
+ }, {
757
+ json: "chapitreAdditionnel",
758
+ js: "chapitreAdditionnel",
759
+ typ: ""
760
+ }, {
761
+ json: "urlDivisionTexteVise",
762
+ js: "urlDivisionTexteVise",
763
+ typ: u(undefined, "")
764
+ }], false),
765
+ MissionVisee: o([{
766
+ json: "codeEtat",
767
+ js: "codeEtat",
768
+ typ: r("CodeEtat")
769
+ }, {
770
+ json: "codeMissionMinefi",
771
+ js: "codeMissionMinefi",
772
+ typ: ""
773
+ }, {
774
+ json: "libelleMission",
775
+ js: "libelleMission",
776
+ typ: ""
777
+ }, {
778
+ json: "missionRef",
779
+ js: "missionRef",
780
+ typ: ""
781
+ }], false),
782
+ Representation: o([{
783
+ json: "nom",
784
+ js: "nom",
785
+ typ: r("Nom")
786
+ }, {
787
+ json: "typeMime",
788
+ js: "typeMime",
789
+ typ: r("TypeMime")
790
+ }, {
791
+ json: "statutRepresentation",
792
+ js: "statutRepresentation",
793
+ typ: r("StatutRepresentation")
794
+ }, {
795
+ json: "contenu",
796
+ js: "contenu",
797
+ typ: r("Contenu")
798
+ }], false),
799
+ Contenu: o([{
800
+ json: "documentURI",
801
+ js: "documentURI",
802
+ typ: ""
803
+ }], false),
804
+ StatutRepresentation: o([{
805
+ json: "verbatim",
806
+ js: "verbatim",
807
+ typ: false
808
+ }, {
809
+ json: "canonique",
810
+ js: "canonique",
811
+ typ: false
812
+ }, {
813
+ json: "officielle",
814
+ js: "officielle",
815
+ typ: false
816
+ }, {
817
+ json: "transcription",
818
+ js: "transcription",
819
+ typ: false
820
+ }, {
821
+ json: "enregistrement",
822
+ js: "enregistrement",
823
+ typ: false
824
+ }], false),
825
+ TypeMime: o([{
826
+ json: "type",
827
+ js: "type",
828
+ typ: r("TypeMimeType")
829
+ }, {
830
+ json: "subType",
831
+ js: "subType",
832
+ typ: r("Nom")
833
+ }], false),
834
+ Signataires: o([{
835
+ json: "auteur",
836
+ js: "auteur",
837
+ typ: r("Auteur")
838
+ }, {
839
+ json: "cosignatairesRefs",
840
+ js: "cosignatairesRefs",
841
+ typ: u(undefined, a(""))
842
+ }, {
843
+ json: "suffixe",
844
+ js: "suffixe",
845
+ typ: u(undefined, "")
846
+ }, {
847
+ json: "libelle",
848
+ js: "libelle",
849
+ typ: u(undefined, "")
850
+ }], false),
851
+ Auteur: o([{
852
+ json: "typeAuteur",
853
+ js: "typeAuteur",
854
+ typ: r("TypeAuteur")
855
+ }, {
856
+ json: "gouvernementRef",
857
+ js: "gouvernementRef",
858
+ typ: u(undefined, "")
859
+ }, {
860
+ json: "acteurRef",
861
+ js: "acteurRef",
862
+ typ: u(undefined, "")
863
+ }, {
864
+ json: "groupePolitiqueRef",
865
+ js: "groupePolitiqueRef",
866
+ typ: u(undefined, "")
867
+ }, {
868
+ json: "auteurRapporteurOrganeRef",
869
+ js: "auteurRapporteurOrganeRef",
870
+ typ: u(undefined, "")
871
+ }], false),
872
+ AccordGouvernementDepotHorsDelai: ["Accord", "Sans objet"],
873
+ Action: ["création", "modification", "suppression"],
874
+ EtatAmendementCode: ["AC", "AT", "DI", "effacé", "ER", "IR", "IRR127", "IRR20", "IRR37", "IRR38", "IRR41", "IRR42", "IRR45", "IRR48", "IRR53", "IRRAI", "IRRD", "IRRHD", "IRRSA", "R", "RT", "T"],
875
+ EtatAmendementLibelle: ["A discuter", "A déposer", "Discuté", "effacé", "En recevabilité", "En traitement", "Irrecevable", "Irrecevable 40", "Retiré"],
876
+ SortAmendement: ["Adopté", "Autre irrecevabilité", "Autres irr LOLF", "Autres irr LOLFSS", "Cavalier (45)", "Cavalier budgétaire", "Cavalier social", "Champ de l'habilitation (38)", "Charge", "CMP (45)", "Crédits", "Disposition réglementaire (37)", "Domaine de la loi (41)", "Domaine loi organique (127)", "Doublon", "Entonnoir (45)", "Gage", "Hors-délais", "Injonction (20)", "Irr en première partie", "Irr en seconde partie", "LOLF", "LOLFSS", "Non soutenu", "Ordre du jour (48)", "R", "Ratification traité (53)", "Rejeté", "Retiré", "Retiré après publication", "Retiré avant publication", "Satisfait ou inopérant (42)", "Sous-amendement (98)", "Tombé"],
877
+ TypePosition: ["Dernier", "Milieu", "Premier"],
878
+ AvantAApres: ["A", "Apres", "Avant"],
879
+ DivisionType: ["ANNEXE", "ARTICLE", "CHAPITRE", "TITRE"],
880
+ CodeEtat: ["B", "C", "D"],
881
+ Nom: ["PDF"],
882
+ TypeMimeType: ["application"],
883
+ TypeAuteur: ["Député", "Gouvernement", "Rapporteur"]
884
+ };
885
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaSIsIkFjdGlvbiIsIkV0YXRBbWVuZGVtZW50Q29kZSIsIkV0YXRBbWVuZGVtZW50TGliZWxsZSIsIlNvcnRBbWVuZGVtZW50IiwiVHlwZVBvc2l0aW9uIiwiQXZhbnRBQXByZXMiLCJEaXZpc2lvblR5cGUiLCJDb2RlRXRhdCIsIk5vbSIsIlR5cGVNaW1lVHlwZSIsIlR5cGVBdXRldXIiLCJDb252ZXJ0IiwidG9BbWVuZGVtZW50IiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiYW1lbmRlbWVudFRvSnNvbiIsInZhbHVlIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9BbWVuZGVtZW50cyIsImFtZW5kZW1lbnRzVG9Kc29uIiwidG9UZXh0ZUxlZ2lzbGF0aWYiLCJ0ZXh0ZUxlZ2lzbGF0aWZUb0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJrZXkiLCJFcnJvciIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInVuZGVmaW5lZCIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImxlbmd0aCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIm8iLCJuYW1lIiwiQW1lbmRlbWVudHMiLCJUZXh0ZUxlZ2lzbGF0aWYiLCJBbWVuZGVtZW50c0NsYXNzIiwiQW1lbmRlbWVudFdyYXBwZXIiLCJBbWVuZGVtZW50IiwiQ29ycHMiLCJDb250ZW51QXV0ZXVyIiwiQXZhbnRBcHBlbCIsIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIiwiUHJvZ3JhbW1lUGxmIiwiTGlnbmVDcmVkaXRQTEYiLCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlIiLCJMaWduZUNyZWRpdFBMRlIiLCJUb3RhbCIsIkN5Y2xlRGVWaWUiLCJFdGF0RGVzVHJhaXRlbWVudHMiLCJFdGF0QW1lbmRlbWVudCIsIlNvdXNFdGF0QW1lbmRlbWVudCIsIkRpc2N1c3Npb24iLCJJZGVudGlmaWNhdGlvbiIsIkxvaVJlZmVyZW5jZSIsIlBvaW50ZXVyRnJhZ21lbnRUZXh0ZSIsIkFsaW5lYSIsIkRpdmlzaW9uIiwiTWlzc2lvblZpc2VlIiwiUmVwcmVzZW50YXRpb24iLCJDb250ZW51IiwiU3RhdHV0UmVwcmVzZW50YXRpb24iLCJUeXBlTWltZSIsIlNpZ25hdGFpcmVzIiwiQXV0ZXVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2FtZW5kZW1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIEFtZW5kZW1lbnQsIEFtZW5kZW1lbnRzIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3QgYW1lbmRlbWVudCA9IENvbnZlcnQudG9BbWVuZGVtZW50KGpzb24pO1xuLy8gICBjb25zdCBhbWVuZGVtZW50cyA9IENvbnZlcnQudG9BbWVuZGVtZW50cyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5pbXBvcnQgeyBBY3RldXIsIE9yZ2FuZSB9IGZyb20gXCIuL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1lbmRlbWVudHMge1xuICB0ZXh0ZXNMZWdpc2xhdGlmczogVGV4dGVMZWdpc2xhdGlmW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZUxlZ2lzbGF0aWYge1xuICByZWZUZXh0ZUxlZ2lzbGF0aWY6IHN0cmluZ1xuICBhbWVuZGVtZW50czogQW1lbmRlbWVudFtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1lbmRlbWVudCB7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmdcbiAgdWlkOiBzdHJpbmdcbiAgY2hyb25vdGFnOiBzdHJpbmdcbiAgbGVnaXNsYXR1cmU6IHN0cmluZ1xuICBpZGVudGlmaWNhdGlvbjogSWRlbnRpZmljYXRpb25cbiAgZXhhbWVuUmVmOiBzdHJpbmdcbiAgdGV4dGVMZWdpc2xhdGlmUmVmOiBzdHJpbmdcbiAgdHJpQW1lbmRlbWVudD86IHN0cmluZ1xuICBjYXJkaW5hbGl0ZUFtZHRNdWx0aXBsZXM/OiBzdHJpbmdcbiAgYW1lbmRlbWVudFBhcmVudFJlZj86IHN0cmluZ1xuICBzaWduYXRhaXJlczogU2lnbmF0YWlyZXNcbiAgcG9pbnRldXJGcmFnbWVudFRleHRlOiBQb2ludGV1ckZyYWdtZW50VGV4dGVcbiAgY29ycHM/OiBDb3Jwc1xuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIHJlcHJlc2VudGF0aW9uPzogUmVwcmVzZW50YXRpb25cbiAgc2VhbmNlRGlzY3Vzc2lvblJlZj86IHN0cmluZ1xuICBhcnRpY2xlOTk6IHN0cmluZ1xuICBsb2lSZWZlcmVuY2U/OiBMb2lSZWZlcmVuY2VcbiAgZGlzY3Vzc2lvbkNvbW11bmU/OiBEaXNjdXNzaW9uXG4gIGRpc2N1c3Npb25JZGVudGlxdWU/OiBEaXNjdXNzaW9uXG4gIGFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpOiBBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaVxufVxuXG5leHBvcnQgZW51bSBBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaSB7XG4gIEFjY29yZCA9IFwiQWNjb3JkXCIsXG4gIFNhbnNPYmpldCA9IFwiU2FucyBvYmpldFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvcnBzIHtcbiAgY2FydG91Y2hlSW5mb3JtYXRpZj86IHN0cmluZ1xuICBjb250ZW51QXV0ZXVyPzogQ29udGVudUF1dGV1clxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnVBdXRldXIge1xuICBkaXNwb3NpdGlmPzogc3RyaW5nXG4gIGF2YW50QXBwZWw/OiBBdmFudEFwcGVsXG4gIGV4cG9zZVNvbW1haXJlPzogc3RyaW5nXG4gIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGPzogRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcbiAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSPzogRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXZhbnRBcHBlbCB7XG4gIGRpc3Bvc2l0aWY6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIHtcbiAgbGlzdGVQcm9ncmFtbWVzPzogUHJvZ3JhbW1lUGxmW11cbiAgc29sZGVBRT86IHN0cmluZ1xuICBzb2xkZUNQPzogc3RyaW5nXG4gIGNwRWdhbEFlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9ncmFtbWVQbGYge1xuICBsaWJlbGxlOiBzdHJpbmdcbiAgcHJvZ3JhbW1lUmVmOiBzdHJpbmdcbiAgYXV0b3Jpc2F0aW9uRW5nYWdlbWVudDogc3RyaW5nXG4gIGNyZWRpdFBhaWVtZW50OiBzdHJpbmdcbiAgYWN0aW9uOiBBY3Rpb25cbiAgbGlnbmVzQ3JlZGl0cz86IExpZ25lQ3JlZGl0UExGW11cbn1cblxuZXhwb3J0IGVudW0gQWN0aW9uIHtcbiAgQ3LDqWF0aW9uID0gXCJjcsOpYXRpb25cIixcbiAgTW9kaWZpY2F0aW9uID0gXCJtb2RpZmljYXRpb25cIixcbiAgU3VwcHJlc3Npb24gPSBcInN1cHByZXNzaW9uXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlnbmVDcmVkaXRQTEYge1xuICBpZDogc3RyaW5nXG4gIGxpYmVsbGU6IHN0cmluZ1xuICBhdXRvcmlzYXRpb25FbmdhZ2VtZW50OiBzdHJpbmdcbiAgY3JlZGl0UGFpZW1lbnQ6IHN0cmluZ1xuICBhY3Rpb246IEFjdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUiB7XG4gIGxpc3RlUHJvZ3JhbW1lcz86IExpZ25lQ3JlZGl0UExGUltdXG4gIHRvdGFsQUU/OiBUb3RhbFxuICB0b3RhbENQPzogVG90YWxcbiAgY3BFZ2FsQWU6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ25lQ3JlZGl0UExGUiB7XG4gIGxpYmVsbGU6IHN0cmluZ1xuICBwcm9ncmFtbWVSZWY/OiBzdHJpbmdcbiAgYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFN1cHBsZW1lbnRhaXJlOiBzdHJpbmdcbiAgY3JlZGl0UGFpZW1lbnRTdXBwbGVtZW50YWlyZTogc3RyaW5nXG4gIGF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRBbm51bGU6IHN0cmluZ1xuICBjcmVkaXRQYWllbWVudEFubnVsZTogc3RyaW5nXG4gIGFjdGlvbjogQWN0aW9uXG4gIGxpZ25lc0NyZWRpdHM/OiBMaWduZUNyZWRpdFBMRlJbXVxuICBpZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvdGFsIHtcbiAgc3VwcGxlbWVudGFpcmU6IHN0cmluZ1xuICBhbm51bGU6IHN0cmluZ1xuICBzb2xkZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3ljbGVEZVZpZSB7XG4gIGRhdGVEZXBvdD86IERhdGVcbiAgZGF0ZVB1YmxpY2F0aW9uPzogRGF0ZVxuICBzb3VtaXNBcnRpY2xlNDA6IHN0cmluZ1xuICBldGF0RGVzVHJhaXRlbWVudHM6IEV0YXREZXNUcmFpdGVtZW50c1xuICBkYXRlU29ydD86IERhdGVcbiAgc29ydD86IFNvcnRBbWVuZGVtZW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXRhdERlc1RyYWl0ZW1lbnRzIHtcbiAgZXRhdDogRXRhdEFtZW5kZW1lbnRcbiAgc291c0V0YXQ/OiBTb3VzRXRhdEFtZW5kZW1lbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGF0QW1lbmRlbWVudCB7XG4gIGNvZGU6IEV0YXRBbWVuZGVtZW50Q29kZVxuICBsaWJlbGxlOiBFdGF0QW1lbmRlbWVudExpYmVsbGVcbn1cblxuZXhwb3J0IGVudW0gRXRhdEFtZW5kZW1lbnRDb2RlIHtcbiAgQUMgPSBcIkFDXCIsXG4gIEF0ID0gXCJBVFwiLFxuICBEaSA9IFwiRElcIixcbiAgRWZmYWPDqSA9IFwiZWZmYWPDqVwiLFxuICBFciA9IFwiRVJcIixcbiAgSVIgPSBcIklSXCIsXG4gIElycjEyNyA9IFwiSVJSMTI3XCIsXG4gIElycjIwID0gXCJJUlIyMFwiLFxuICBJcnIzNyA9IFwiSVJSMzdcIixcbiAgSXJyMzggPSBcIklSUjM4XCIsXG4gIElycjQxID0gXCJJUlI0MVwiLFxuICBJcnI0MiA9IFwiSVJSNDJcIixcbiAgSXJyNDUgPSBcIklSUjQ1XCIsXG4gIElycjQ4ID0gXCJJUlI0OFwiLFxuICBJcnI1MyA9IFwiSVJSNTNcIixcbiAgSXJyYWkgPSBcIklSUkFJXCIsXG4gIElycmQgPSBcIklSUkRcIixcbiAgSXJyaGQgPSBcIklSUkhEXCIsXG4gIElycnNhID0gXCJJUlJTQVwiLFxuICBSID0gXCJSXCIsXG4gIFJ0ID0gXCJSVFwiLFxuICBUID0gXCJUXCIsXG59XG5cbmV4cG9ydCBlbnVtIEV0YXRBbWVuZGVtZW50TGliZWxsZSB7XG4gIEFEaXNjdXRlciA9IFwiQSBkaXNjdXRlclwiLFxuICBBRMOpcG9zZXIgPSBcIkEgZMOpcG9zZXJcIixcbiAgRGlzY3V0w6kgPSBcIkRpc2N1dMOpXCIsXG4gIEVmZmFjw6kgPSBcImVmZmFjw6lcIixcbiAgRW5SZWNldmFiaWxpdMOpID0gXCJFbiByZWNldmFiaWxpdMOpXCIsXG4gIEVuVHJhaXRlbWVudCA9IFwiRW4gdHJhaXRlbWVudFwiLFxuICBJcnJlY2V2YWJsZSA9IFwiSXJyZWNldmFibGVcIixcbiAgSXJyZWNldmFibGU0MCA9IFwiSXJyZWNldmFibGUgNDBcIixcbiAgUmV0aXLDqSA9IFwiUmV0aXLDqVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvdXNFdGF0QW1lbmRlbWVudCB7XG4gIGNvZGU6IEV0YXRBbWVuZGVtZW50Q29kZVxuICBsaWJlbGxlOiBTb3J0QW1lbmRlbWVudFxufVxuXG5leHBvcnQgZW51bSBTb3J0QW1lbmRlbWVudCB7XG4gIEFkb3B0w6kgPSBcIkFkb3B0w6lcIixcbiAgQXV0cmVJcnJlY2V2YWJpbGl0w6kgPSBcIkF1dHJlIGlycmVjZXZhYmlsaXTDqVwiLFxuICBBdXRyZXNJcnJMT0xGID0gXCJBdXRyZXMgaXJyIExPTEZcIixcbiAgQXV0cmVzSXJyTE9MRlNTID0gXCJBdXRyZXMgaXJyIExPTEZTU1wiLFxuICBDYXZhbGllcjQ1ID0gXCJDYXZhbGllciAoNDUpXCIsXG4gIENhdmFsaWVyQnVkZ8OpdGFpcmUgPSBcIkNhdmFsaWVyIGJ1ZGfDqXRhaXJlXCIsXG4gIENhdmFsaWVyU29jaWFsID0gXCJDYXZhbGllciBzb2NpYWxcIixcbiAgQ2hhbXBEZUxIYWJpbGl0YXRpb24zOCA9IFwiQ2hhbXAgZGUgbCdoYWJpbGl0YXRpb24gKDM4KVwiLFxuICBDaGFyZ2UgPSBcIkNoYXJnZVwiLFxuICBDbXA0NSA9IFwiQ01QICg0NSlcIixcbiAgQ3LDqWRpdHMgPSBcIkNyw6lkaXRzXCIsXG4gIERpc3Bvc2l0aW9uUsOpZ2xlbWVudGFpcmUzNyA9IFwiRGlzcG9zaXRpb24gcsOpZ2xlbWVudGFpcmUgKDM3KVwiLFxuICBEb21haW5lRGVMYUxvaTQxID0gXCJEb21haW5lIGRlIGxhIGxvaSAoNDEpXCIsXG4gIERvbWFpbmVMb2lPcmdhbmlxdWUxMjcgPSBcIkRvbWFpbmUgbG9pIG9yZ2FuaXF1ZSAoMTI3KVwiLFxuICBEb3VibG9uID0gXCJEb3VibG9uXCIsXG4gIEVudG9ubm9pcjQ1ID0gXCJFbnRvbm5vaXIgKDQ1KVwiLFxuICBHYWdlID0gXCJHYWdlXCIsXG4gIEhvcnNEw6lsYWlzID0gXCJIb3JzLWTDqWxhaXNcIixcbiAgSW5qb25jdGlvbjIwID0gXCJJbmpvbmN0aW9uICgyMClcIixcbiAgSXJyRW5QcmVtacOocmVQYXJ0aWUgPSBcIklyciBlbiBwcmVtacOocmUgcGFydGllXCIsXG4gIElyckVuU2Vjb25kZVBhcnRpZSA9IFwiSXJyIGVuIHNlY29uZGUgcGFydGllXCIsXG4gIExvbGYgPSBcIkxPTEZcIixcbiAgTG9sZnNzID0gXCJMT0xGU1NcIixcbiAgTm9uU291dGVudSA9IFwiTm9uIHNvdXRlbnVcIixcbiAgT3JkcmVEdUpvdXI0OCA9IFwiT3JkcmUgZHUgam91ciAoNDgpXCIsXG4gIFIgPSBcIlJcIixcbiAgUmF0aWZpY2F0aW9uVHJhaXTDqTUzID0gXCJSYXRpZmljYXRpb24gdHJhaXTDqSAoNTMpXCIsXG4gIFJlamV0w6kgPSBcIlJlamV0w6lcIixcbiAgUmV0aXLDqSA9IFwiUmV0aXLDqVwiLFxuICBSZXRpcsOpQXByw6hzUHVibGljYXRpb24gPSBcIlJldGlyw6kgYXByw6hzIHB1YmxpY2F0aW9uXCIsXG4gIFJldGlyw6lBdmFudFB1YmxpY2F0aW9uID0gXCJSZXRpcsOpIGF2YW50IHB1YmxpY2F0aW9uXCIsXG4gIFNhdGlzZmFpdE91SW5vcMOpcmFudDQyID0gXCJTYXRpc2ZhaXQgb3UgaW5vcMOpcmFudCAoNDIpXCIsXG4gIFNvdXNBbWVuZGVtZW50OTggPSBcIlNvdXMtYW1lbmRlbWVudCAoOTgpXCIsXG4gIFRvbWLDqSA9IFwiVG9tYsOpXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY3Vzc2lvbiB7XG4gIGlkRGlzY3Vzc2lvbj86IHN0cmluZ1xuICB0eXBlUG9zaXRpb24/OiBUeXBlUG9zaXRpb25cbn1cblxuZXhwb3J0IGVudW0gVHlwZVBvc2l0aW9uIHtcbiAgRGVybmllciA9IFwiRGVybmllclwiLFxuICBNaWxpZXUgPSBcIk1pbGlldVwiLFxuICBQcmVtaWVyID0gXCJQcmVtaWVyXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpZmljYXRpb24ge1xuICBudW1lcm9Mb25nOiBzdHJpbmdcbiAgbnVtZXJvT3JkcmVEZXBvdDogc3RyaW5nXG4gIHByZWZpeGVPcmdhbmVFeGFtZW46IHN0cmluZ1xuICBudW1lcm9SZWN0OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2lSZWZlcmVuY2Uge1xuICBjb2RlTG9pPzogc3RyaW5nXG4gIGRpdmlzaW9uQ29kZUxvaT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50ZXVyRnJhZ21lbnRUZXh0ZSB7XG4gIGRpdmlzaW9uPzogRGl2aXNpb25cbiAgYWxpbmVhPzogQWxpbmVhXG4gIG1pc3Npb25WaXNlZT86IE1pc3Npb25WaXNlZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsaW5lYSB7XG4gIGF2YW50QUFwcmVzPzogQXZhbnRBQXByZXNcbiAgbnVtZXJvPzogc3RyaW5nXG4gIGFsaW5lYURlc2lnbmF0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIEF2YW50QUFwcmVzIHtcbiAgQSA9IFwiQVwiLFxuICBBcHJlcyA9IFwiQXByZXNcIixcbiAgQXZhbnQgPSBcIkF2YW50XCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGl2aXNpb24ge1xuICB0aXRyZTogc3RyaW5nXG4gIGFydGljbGVEZXNpZ25hdGlvbkNvdXJ0ZT86IHN0cmluZ1xuICBhcnRpY2xlRGVzaWduYXRpb24/OiBzdHJpbmdcbiAgdHlwZTogRGl2aXNpb25UeXBlXG4gIGF2YW50QUFwcmVzOiBBdmFudEFBcHJlc1xuICBkaXZpc2lvblJhdHRhY2hlZT86IHN0cmluZ1xuICBhcnRpY2xlQWRkaXRpb25uZWw6IHN0cmluZ1xuICBjaGFwaXRyZUFkZGl0aW9ubmVsOiBzdHJpbmdcbiAgdXJsRGl2aXNpb25UZXh0ZVZpc2U/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gRGl2aXNpb25UeXBlIHtcbiAgQW5uZXhlID0gXCJBTk5FWEVcIixcbiAgQXJ0aWNsZSA9IFwiQVJUSUNMRVwiLFxuICBDaGFwaXRyZSA9IFwiQ0hBUElUUkVcIixcbiAgVGl0cmUgPSBcIlRJVFJFXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlzc2lvblZpc2VlIHtcbiAgY29kZUV0YXQ6IENvZGVFdGF0XG4gIGNvZGVNaXNzaW9uTWluZWZpOiBzdHJpbmdcbiAgbGliZWxsZU1pc3Npb246IHN0cmluZ1xuICBtaXNzaW9uUmVmOiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQ29kZUV0YXQge1xuICBCID0gXCJCXCIsXG4gIEMgPSBcIkNcIixcbiAgRCA9IFwiRFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcHJlc2VudGF0aW9uIHtcbiAgbm9tOiBOb21cbiAgdHlwZU1pbWU6IFR5cGVNaW1lXG4gIHN0YXR1dFJlcHJlc2VudGF0aW9uOiBTdGF0dXRSZXByZXNlbnRhdGlvblxuICBjb250ZW51OiBDb250ZW51XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudSB7XG4gIGRvY3VtZW50VVJJOiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gTm9tIHtcbiAgUGRmID0gXCJQREZcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXRSZXByZXNlbnRhdGlvbiB7XG4gIHZlcmJhdGltOiBib29sZWFuXG4gIGNhbm9uaXF1ZTogYm9vbGVhblxuICBvZmZpY2llbGxlOiBib29sZWFuXG4gIHRyYW5zY3JpcHRpb246IGJvb2xlYW5cbiAgZW5yZWdpc3RyZW1lbnQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlTWltZSB7XG4gIHR5cGU6IFR5cGVNaW1lVHlwZVxuICBzdWJUeXBlOiBOb21cbn1cblxuZXhwb3J0IGVudW0gVHlwZU1pbWVUeXBlIHtcbiAgQXBwbGljYXRpb24gPSBcImFwcGxpY2F0aW9uXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmF0YWlyZXMge1xuICBhdXRldXI6IEF1dGV1clxuICBjb3NpZ25hdGFpcmVzUmVmcz86IHN0cmluZ1tdXG4gIGNvc2lnbmF0YWlyZXM/OiBBY3RldXJbXSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBzdWZmaXhlPzogc3RyaW5nXG4gIGxpYmVsbGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRldXIge1xuICB0eXBlQXV0ZXVyOiBUeXBlQXV0ZXVyXG4gIGdvdXZlcm5lbWVudFJlZj86IHN0cmluZ1xuICBnb3V2ZXJuZW1lbnQ/OiBPcmdhbmUgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgYWN0ZXVyUmVmPzogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBncm91cGVQb2xpdGlxdWVSZWY/OiBzdHJpbmdcbiAgZ3JvdXBlUG9saXRpcXVlPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIGF1dGV1clJhcHBvcnRldXJPcmdhbmVSZWY/OiBzdHJpbmdcbiAgYXV0ZXVyUmFwcG9ydGV1ck9yZ2FuZT86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xufVxuXG5leHBvcnQgZW51bSBUeXBlQXV0ZXVyIHtcbiAgRMOpcHV0w6kgPSBcIkTDqXB1dMOpXCIsXG4gIEdvdXZlcm5lbWVudCA9IFwiR291dmVybmVtZW50XCIsXG4gIFJhcHBvcnRldXIgPSBcIlJhcHBvcnRldXJcIixcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gIHB1YmxpYyBzdGF0aWMgdG9BbWVuZGVtZW50KGpzb246IHN0cmluZyk6IEFtZW5kZW1lbnQge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJBbWVuZGVtZW50XCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhbWVuZGVtZW50VG9Kc29uKHZhbHVlOiBBbWVuZGVtZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQW1lbmRlbWVudFwiKSksIG51bGwsIDIpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvQW1lbmRlbWVudHMoanNvbjogc3RyaW5nKTogQW1lbmRlbWVudHMge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJBbWVuZGVtZW50c1wiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYW1lbmRlbWVudHNUb0pzb24odmFsdWU6IEFtZW5kZW1lbnRzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQW1lbmRlbWVudHNcIikpLCBudWxsLCAyKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b1RleHRlTGVnaXNsYXRpZihqc29uOiBzdHJpbmcpOiBUZXh0ZUxlZ2lzbGF0aWYge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJUZXh0ZUxlZ2lzbGF0aWZcIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRleHRlTGVnaXNsYXRpZlRvSnNvbih2YWx1ZTogVGV4dGVMZWdpc2xhdGlmKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiVGV4dGVMZWdpc2xhdGlmXCIpKSwgbnVsbCwgMilcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBuZXZlciB7XG4gIGlmIChrZXkpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICB0eXAsXG4gICAgICApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gLFxuICAgIClcbiAgfVxuICB0aHJvdyBFcnJvcihcbiAgICBgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLFxuICApXG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzb25Ub0pTID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc29uVG9KU1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc10gPSB7IGtleTogcC5qc29uLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc1RvSlNPTiA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNUb0pTT05cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSBcIlwiKTogYW55IHtcbiAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1Vbmlvbih0eXBzOiBhbnlbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV1cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKVxuICAgICAgfSBjYXRjaCAoXykge31cbiAgICB9XG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1FbnVtKGNhc2VzOiBzdHJpbmdbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZShjYXNlcywgdmFsKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbClcbiAgICByZXR1cm4gdmFsLm1hcCgoZWwpID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKVxuICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJEYXRlXCIsIHZhbClcbiAgICB9XG4gICAgcmV0dXJuIGRcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybU9iamVjdChcbiAgICBwcm9wczogeyBbazogc3RyaW5nXTogYW55IH0sXG4gICAgYWRkaXRpb25hbDogYW55LFxuICAgIHZhbDogYW55LFxuICApOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJvYmplY3RcIiwgdmFsKVxuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV1cbiAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpXG4gICAgICAgID8gdmFsW2tleV1cbiAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBwcm9wLmtleSlcbiAgICB9KVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSlcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWxcbiAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdXG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpXG4gIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIilcbiAgICAgID8gdHJhbnNmb3JtQXJyYXkodHlwLmFycmF5SXRlbXMsIHZhbClcbiAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIilcbiAgICAgID8gdHJhbnNmb3JtT2JqZWN0KGdldFByb3BzKHR5cCksIHR5cC5hZGRpdGlvbmFsLCB2YWwpXG4gICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgfVxuICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICBpZiAodHlwID09PSBEYXRlICYmIHR5cGVvZiB2YWwgIT09IFwibnVtYmVyXCIpIHJldHVybiB0cmFuc2Zvcm1EYXRlKHZhbClcbiAgcmV0dXJuIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXAsIHZhbClcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNvblRvSlNQcm9wcylcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc1RvSlNPTlByb3BzKVxufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH1cbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7IHJlZjogbmFtZSB9XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgQW1lbmRlbWVudHM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcInRleHRlc0xlZ2lzbGF0aWZzXCIsXG4gICAgICAgIGpzOiBcInRleHRlc0xlZ2lzbGF0aWZzXCIsXG4gICAgICAgIHR5cDogYShyKFwiVGV4dGVMZWdpc2xhdGlmXCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVGV4dGVMZWdpc2xhdGlmOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJyZWZUZXh0ZUxlZ2lzbGF0aWZcIiwganM6IFwicmVmVGV4dGVMZWdpc2xhdGlmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFtZW5kZW1lbnRzXCIsIGpzOiBcImFtZW5kZW1lbnRzXCIsIHR5cDogcihcIkFtZW5kZW1lbnRzQ2xhc3NcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBBbWVuZGVtZW50c0NsYXNzOiBvKFxuICAgIFt7IGpzb246IFwiYW1lbmRlbWVudFwiLCBqczogXCJhbWVuZGVtZW50XCIsIHR5cDogYShyKFwiQW1lbmRlbWVudFwiKSkgfV0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFtZW5kZW1lbnRXcmFwcGVyOiBvKFxuICAgIFt7IGpzb246IFwiYW1lbmRlbWVudFwiLCBqczogXCJhbWVuZGVtZW50XCIsIHR5cDogcihcIkFtZW5kZW1lbnRcIikgfV0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFtZW5kZW1lbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiY2hyb25vdGFnXCIsIGpzOiBcImNocm9ub3RhZ1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsZWdpc2xhdHVyZVwiLCBqczogXCJsZWdpc2xhdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpZGVudGlmaWNhdGlvblwiLFxuICAgICAgICBqczogXCJpZGVudGlmaWNhdGlvblwiLFxuICAgICAgICB0eXA6IHIoXCJJZGVudGlmaWNhdGlvblwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiZXhhbWVuUmVmXCIsIGpzOiBcImV4YW1lblJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0ZXh0ZUxlZ2lzbGF0aWZSZWZcIiwganM6IFwidGV4dGVMZWdpc2xhdGlmUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInRyaUFtZW5kZW1lbnRcIiwganM6IFwidHJpQW1lbmRlbWVudFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNhcmRpbmFsaXRlQW1kdE11bHRpcGxlc1wiLFxuICAgICAgICBqczogXCJjYXJkaW5hbGl0ZUFtZHRNdWx0aXBsZXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFtZW5kZW1lbnRQYXJlbnRSZWZcIixcbiAgICAgICAganM6IFwiYW1lbmRlbWVudFBhcmVudFJlZlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwic2lnbmF0YWlyZXNcIiwganM6IFwic2lnbmF0YWlyZXNcIiwgdHlwOiByKFwiU2lnbmF0YWlyZXNcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb2ludGV1ckZyYWdtZW50VGV4dGVcIixcbiAgICAgICAganM6IFwicG9pbnRldXJGcmFnbWVudFRleHRlXCIsXG4gICAgICAgIHR5cDogcihcIlBvaW50ZXVyRnJhZ21lbnRUZXh0ZVwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiY29ycHNcIiwganM6IFwiY29ycHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkNvcnBzXCIpKSB9LFxuICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicmVwcmVzZW50YXRpb25cIixcbiAgICAgICAganM6IFwicmVwcmVzZW50YXRpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlJlcHJlc2VudGF0aW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwic2VhbmNlRGlzY3Vzc2lvblJlZlwiLFxuICAgICAgICBqczogXCJzZWFuY2VEaXNjdXNzaW9uUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJhcnRpY2xlOTlcIiwganM6IFwiYXJ0aWNsZTk5XCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImxvaVJlZmVyZW5jZVwiLFxuICAgICAgICBqczogXCJsb2lSZWZlcmVuY2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkxvaVJlZmVyZW5jZVwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRpc2N1c3Npb25Db21tdW5lXCIsXG4gICAgICAgIGpzOiBcImRpc2N1c3Npb25Db21tdW5lXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEaXNjdXNzaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGlzY3Vzc2lvbklkZW50aXF1ZVwiLFxuICAgICAgICBqczogXCJkaXNjdXNzaW9uSWRlbnRpcXVlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEaXNjdXNzaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIixcbiAgICAgICAganM6IFwiYWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIixcbiAgICAgICAgdHlwOiByKFwiQWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIiksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvcnBzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjYXJ0b3VjaGVJbmZvcm1hdGlmXCIsXG4gICAgICAgIGpzOiBcImNhcnRvdWNoZUluZm9ybWF0aWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvbnRlbnVBdXRldXJcIixcbiAgICAgICAganM6IFwiY29udGVudUF1dGV1clwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiQ29udGVudUF1dGV1clwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvbnRlbnVBdXRldXI6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImRpc3Bvc2l0aWZcIiwganM6IFwiZGlzcG9zaXRpZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImF2YW50QXBwZWxcIixcbiAgICAgICAganM6IFwiYXZhbnRBcHBlbFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiQXZhbnRBcHBlbFwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImV4cG9zZVNvbW1haXJlXCIsIGpzOiBcImV4cG9zZVNvbW1haXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcIixcbiAgICAgICAganM6IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXCIsXG4gICAgICAgIGpzOiBcImRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQXZhbnRBcHBlbDogbyhbeyBqc29uOiBcImRpc3Bvc2l0aWZcIiwganM6IFwiZGlzcG9zaXRpZlwiLCB0eXA6IFwiXCIgfV0sIGZhbHNlKSxcbiAgRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEY6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImxpc3RlUHJvZ3JhbW1lc1wiLFxuICAgICAgICBqczogXCJsaXN0ZVByb2dyYW1tZXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiUHJvZ3JhbW1lUGxmXCIpKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInNvbGRlQUVcIiwganM6IFwic29sZGVBRVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInNvbGRlQ1BcIiwganM6IFwic29sZGVDUFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImNwRWdhbEFlXCIsIGpzOiBcImNwRWdhbEFlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFByb2dyYW1tZVBsZjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInByb2dyYW1tZVJlZlwiLCBqczogXCJwcm9ncmFtbWVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFwiLCBqczogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNyZWRpdFBhaWVtZW50XCIsIGpzOiBcImNyZWRpdFBhaWVtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFjdGlvblwiLCBqczogXCJhY3Rpb25cIiwgdHlwOiByKFwiQWN0aW9uXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibGlnbmVzQ3JlZGl0c1wiLFxuICAgICAgICBqczogXCJsaWduZXNDcmVkaXRzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkxpZ25lQ3JlZGl0UExGXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIExpZ25lQ3JlZGl0UExGOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJpZFwiLCBqczogXCJpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFwiLCBqczogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNyZWRpdFBhaWVtZW50XCIsIGpzOiBcImNyZWRpdFBhaWVtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFjdGlvblwiLCBqczogXCJhY3Rpb25cIiwgdHlwOiByKFwiQWN0aW9uXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJsaXN0ZVByb2dyYW1tZXNcIixcbiAgICAgICAganM6IFwibGlzdGVQcm9ncmFtbWVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkxpZ25lQ3JlZGl0UExGUlwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ0b3RhbEFFXCIsIGpzOiBcInRvdGFsQUVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlRvdGFsXCIpKSB9LFxuICAgICAgeyBqc29uOiBcInRvdGFsQ1BcIiwganM6IFwidG90YWxDUFwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiVG90YWxcIikpIH0sXG4gICAgICB7IGpzb246IFwiY3BFZ2FsQWVcIiwganM6IFwiY3BFZ2FsQWVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTGlnbmVDcmVkaXRQTEZSOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicHJvZ3JhbW1lUmVmXCIsIGpzOiBcInByb2dyYW1tZVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRTdXBwbGVtZW50YWlyZVwiLFxuICAgICAgICBqczogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50U3VwcGxlbWVudGFpcmVcIixcbiAgICAgICAgdHlwOiBcIlwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjcmVkaXRQYWllbWVudFN1cHBsZW1lbnRhaXJlXCIsXG4gICAgICAgIGpzOiBcImNyZWRpdFBhaWVtZW50U3VwcGxlbWVudGFpcmVcIixcbiAgICAgICAgdHlwOiBcIlwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50QW5udWxlXCIsXG4gICAgICAgIGpzOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRBbm51bGVcIixcbiAgICAgICAgdHlwOiBcIlwiLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJjcmVkaXRQYWllbWVudEFubnVsZVwiLCBqczogXCJjcmVkaXRQYWllbWVudEFubnVsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJhY3Rpb25cIiwganM6IFwiYWN0aW9uXCIsIHR5cDogcihcIkFjdGlvblwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImxpZ25lc0NyZWRpdHNcIixcbiAgICAgICAganM6IFwibGlnbmVzQ3JlZGl0c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJMaWduZUNyZWRpdFBMRlJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiaWRcIiwganM6IFwiaWRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBUb3RhbDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwic3VwcGxlbWVudGFpcmVcIiwganM6IFwic3VwcGxlbWVudGFpcmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYW5udWxlXCIsIGpzOiBcImFubnVsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJzb2xkZVwiLCBqczogXCJzb2xkZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDeWNsZURlVmllOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkYXRlRGVwb3RcIiwganM6IFwiZGF0ZURlcG90XCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGF0ZVB1YmxpY2F0aW9uXCIsXG4gICAgICAgIGpzOiBcImRhdGVQdWJsaWNhdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwic291bWlzQXJ0aWNsZTQwXCIsIGpzOiBcInNvdW1pc0FydGljbGU0MFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJldGF0RGVzVHJhaXRlbWVudHNcIixcbiAgICAgICAganM6IFwiZXRhdERlc1RyYWl0ZW1lbnRzXCIsXG4gICAgICAgIHR5cDogcihcIkV0YXREZXNUcmFpdGVtZW50c1wiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGF0ZVNvcnRcIixcbiAgICAgICAganM6IFwiZGF0ZVNvcnRcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvcnRcIixcbiAgICAgICAganM6IFwic29ydFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiU29ydEFtZW5kZW1lbnRcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBFdGF0RGVzVHJhaXRlbWVudHM6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImV0YXRcIiwganM6IFwiZXRhdFwiLCB0eXA6IHIoXCJFdGF0QW1lbmRlbWVudFwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvdXNFdGF0XCIsXG4gICAgICAgIGpzOiBcInNvdXNFdGF0XCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJTb3VzRXRhdEFtZW5kZW1lbnRcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBFdGF0QW1lbmRlbWVudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogcihcIkV0YXRBbWVuZGVtZW50Q29kZVwiKSB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHIoXCJFdGF0QW1lbmRlbWVudExpYmVsbGVcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBTb3VzRXRhdEFtZW5kZW1lbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVcIiwganM6IFwiY29kZVwiLCB0eXA6IHIoXCJFdGF0QW1lbmRlbWVudENvZGVcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiByKFwiU29ydEFtZW5kZW1lbnRcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEaXNjdXNzaW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJpZERpc2N1c3Npb25cIiwganM6IFwiaWREaXNjdXNzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidHlwZVBvc2l0aW9uXCIsXG4gICAgICAgIGpzOiBcInR5cGVQb3NpdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiVHlwZVBvc2l0aW9uXCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSWRlbnRpZmljYXRpb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm51bWVyb0xvbmdcIiwganM6IFwibnVtZXJvTG9uZ1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJudW1lcm9PcmRyZURlcG90XCIsIGpzOiBcIm51bWVyb09yZHJlRGVwb3RcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicHJlZml4ZU9yZ2FuZUV4YW1lblwiLCBqczogXCJwcmVmaXhlT3JnYW5lRXhhbWVuXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm51bWVyb1JlY3RcIiwganM6IFwibnVtZXJvUmVjdFwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBMb2lSZWZlcmVuY2U6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImNvZGVMb2lcIixcbiAgICAgICAganM6IFwiY29kZUxvaVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGl2aXNpb25Db2RlTG9pXCIsXG4gICAgICAgIGpzOiBcImRpdmlzaW9uQ29kZUxvaVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUG9pbnRldXJGcmFnbWVudFRleHRlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkaXZpc2lvblwiLCBqczogXCJkaXZpc2lvblwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGl2aXNpb25cIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWxpbmVhXCIsXG4gICAgICAgIGpzOiBcImFsaW5lYVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiQWxpbmVhXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibWlzc2lvblZpc2VlXCIsXG4gICAgICAgIGpzOiBcIm1pc3Npb25WaXNlZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiTWlzc2lvblZpc2VlXCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQWxpbmVhOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhdmFudEFBcHJlc1wiLFxuICAgICAgICBqczogXCJhdmFudEFBcHJlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiQXZhbnRBQXByZXNcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJudW1lcm9cIiwganM6IFwibnVtZXJvXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWxpbmVhRGVzaWduYXRpb25cIixcbiAgICAgICAganM6IFwiYWxpbmVhRGVzaWduYXRpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERpdmlzaW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0aXRyZVwiLCBqczogXCJ0aXRyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhcnRpY2xlRGVzaWduYXRpb25Db3VydGVcIixcbiAgICAgICAganM6IFwiYXJ0aWNsZURlc2lnbmF0aW9uQ291cnRlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhcnRpY2xlRGVzaWduYXRpb25cIixcbiAgICAgICAganM6IFwiYXJ0aWNsZURlc2lnbmF0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiByKFwiRGl2aXNpb25UeXBlXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYXZhbnRBQXByZXNcIixcbiAgICAgICAganM6IFwiYXZhbnRBQXByZXNcIixcbiAgICAgICAgdHlwOiByKFwiQXZhbnRBQXByZXNcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRpdmlzaW9uUmF0dGFjaGVlXCIsXG4gICAgICAgIGpzOiBcImRpdmlzaW9uUmF0dGFjaGVlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJhcnRpY2xlQWRkaXRpb25uZWxcIiwganM6IFwiYXJ0aWNsZUFkZGl0aW9ubmVsXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNoYXBpdHJlQWRkaXRpb25uZWxcIiwganM6IFwiY2hhcGl0cmVBZGRpdGlvbm5lbFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ1cmxEaXZpc2lvblRleHRlVmlzZVwiLFxuICAgICAgICBqczogXCJ1cmxEaXZpc2lvblRleHRlVmlzZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTWlzc2lvblZpc2VlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjb2RlRXRhdFwiLCBqczogXCJjb2RlRXRhdFwiLCB0eXA6IHIoXCJDb2RlRXRhdFwiKSB9LFxuICAgICAgeyBqc29uOiBcImNvZGVNaXNzaW9uTWluZWZpXCIsIGpzOiBcImNvZGVNaXNzaW9uTWluZWZpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVNaXNzaW9uXCIsIGpzOiBcImxpYmVsbGVNaXNzaW9uXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm1pc3Npb25SZWZcIiwganM6IFwibWlzc2lvblJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBSZXByZXNlbnRhdGlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IHIoXCJOb21cIikgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlTWltZVwiLCBqczogXCJ0eXBlTWltZVwiLCB0eXA6IHIoXCJUeXBlTWltZVwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInN0YXR1dFJlcHJlc2VudGF0aW9uXCIsXG4gICAgICAgIGpzOiBcInN0YXR1dFJlcHJlc2VudGF0aW9uXCIsXG4gICAgICAgIHR5cDogcihcIlN0YXR1dFJlcHJlc2VudGF0aW9uXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJjb250ZW51XCIsIGpzOiBcImNvbnRlbnVcIiwgdHlwOiByKFwiQ29udGVudVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvbnRlbnU6IG8oW3sganNvbjogXCJkb2N1bWVudFVSSVwiLCBqczogXCJkb2N1bWVudFVSSVwiLCB0eXA6IFwiXCIgfV0sIGZhbHNlKSxcbiAgU3RhdHV0UmVwcmVzZW50YXRpb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInZlcmJhdGltXCIsIGpzOiBcInZlcmJhdGltXCIsIHR5cDogZmFsc2UgfSxcbiAgICAgIHsganNvbjogXCJjYW5vbmlxdWVcIiwganM6IFwiY2Fub25pcXVlXCIsIHR5cDogZmFsc2UgfSxcbiAgICAgIHsganNvbjogXCJvZmZpY2llbGxlXCIsIGpzOiBcIm9mZmljaWVsbGVcIiwgdHlwOiBmYWxzZSB9LFxuICAgICAgeyBqc29uOiBcInRyYW5zY3JpcHRpb25cIiwganM6IFwidHJhbnNjcmlwdGlvblwiLCB0eXA6IGZhbHNlIH0sXG4gICAgICB7IGpzb246IFwiZW5yZWdpc3RyZW1lbnRcIiwganM6IFwiZW5yZWdpc3RyZW1lbnRcIiwgdHlwOiBmYWxzZSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFR5cGVNaW1lOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiByKFwiVHlwZU1pbWVUeXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwic3ViVHlwZVwiLCBqczogXCJzdWJUeXBlXCIsIHR5cDogcihcIk5vbVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFNpZ25hdGFpcmVzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJhdXRldXJcIiwganM6IFwiYXV0ZXVyXCIsIHR5cDogcihcIkF1dGV1clwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvc2lnbmF0YWlyZXNSZWZzXCIsXG4gICAgICAgIGpzOiBcImNvc2lnbmF0YWlyZXNSZWZzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEoXCJcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzdWZmaXhlXCIsXG4gICAgICAgIGpzOiBcInN1ZmZpeGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEF1dGV1cjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwidHlwZUF1dGV1clwiLCBqczogXCJ0eXBlQXV0ZXVyXCIsIHR5cDogcihcIlR5cGVBdXRldXJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJnb3V2ZXJuZW1lbnRSZWZcIixcbiAgICAgICAganM6IFwiZ291dmVybmVtZW50UmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhY3RldXJSZWZcIixcbiAgICAgICAganM6IFwiYWN0ZXVyUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJncm91cGVQb2xpdGlxdWVSZWZcIixcbiAgICAgICAganM6IFwiZ3JvdXBlUG9saXRpcXVlUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhdXRldXJSYXBwb3J0ZXVyT3JnYW5lUmVmXCIsXG4gICAgICAgIGpzOiBcImF1dGV1clJhcHBvcnRldXJPcmdhbmVSZWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpOiBbXCJBY2NvcmRcIiwgXCJTYW5zIG9iamV0XCJdLFxuICBBY3Rpb246IFtcImNyw6lhdGlvblwiLCBcIm1vZGlmaWNhdGlvblwiLCBcInN1cHByZXNzaW9uXCJdLFxuICBFdGF0QW1lbmRlbWVudENvZGU6IFtcbiAgICBcIkFDXCIsXG4gICAgXCJBVFwiLFxuICAgIFwiRElcIixcbiAgICBcImVmZmFjw6lcIixcbiAgICBcIkVSXCIsXG4gICAgXCJJUlwiLFxuICAgIFwiSVJSMTI3XCIsXG4gICAgXCJJUlIyMFwiLFxuICAgIFwiSVJSMzdcIixcbiAgICBcIklSUjM4XCIsXG4gICAgXCJJUlI0MVwiLFxuICAgIFwiSVJSNDJcIixcbiAgICBcIklSUjQ1XCIsXG4gICAgXCJJUlI0OFwiLFxuICAgIFwiSVJSNTNcIixcbiAgICBcIklSUkFJXCIsXG4gICAgXCJJUlJEXCIsXG4gICAgXCJJUlJIRFwiLFxuICAgIFwiSVJSU0FcIixcbiAgICBcIlJcIixcbiAgICBcIlJUXCIsXG4gICAgXCJUXCIsXG4gIF0sXG4gIEV0YXRBbWVuZGVtZW50TGliZWxsZTogW1xuICAgIFwiQSBkaXNjdXRlclwiLFxuICAgIFwiQSBkw6lwb3NlclwiLFxuICAgIFwiRGlzY3V0w6lcIixcbiAgICBcImVmZmFjw6lcIixcbiAgICBcIkVuIHJlY2V2YWJpbGl0w6lcIixcbiAgICBcIkVuIHRyYWl0ZW1lbnRcIixcbiAgICBcIklycmVjZXZhYmxlXCIsXG4gICAgXCJJcnJlY2V2YWJsZSA0MFwiLFxuICAgIFwiUmV0aXLDqVwiLFxuICBdLFxuICBTb3J0QW1lbmRlbWVudDogW1xuICAgIFwiQWRvcHTDqVwiLFxuICAgIFwiQXV0cmUgaXJyZWNldmFiaWxpdMOpXCIsXG4gICAgXCJBdXRyZXMgaXJyIExPTEZcIixcbiAgICBcIkF1dHJlcyBpcnIgTE9MRlNTXCIsXG4gICAgXCJDYXZhbGllciAoNDUpXCIsXG4gICAgXCJDYXZhbGllciBidWRnw6l0YWlyZVwiLFxuICAgIFwiQ2F2YWxpZXIgc29jaWFsXCIsXG4gICAgXCJDaGFtcCBkZSBsJ2hhYmlsaXRhdGlvbiAoMzgpXCIsXG4gICAgXCJDaGFyZ2VcIixcbiAgICBcIkNNUCAoNDUpXCIsXG4gICAgXCJDcsOpZGl0c1wiLFxuICAgIFwiRGlzcG9zaXRpb24gcsOpZ2xlbWVudGFpcmUgKDM3KVwiLFxuICAgIFwiRG9tYWluZSBkZSBsYSBsb2kgKDQxKVwiLFxuICAgIFwiRG9tYWluZSBsb2kgb3JnYW5pcXVlICgxMjcpXCIsXG4gICAgXCJEb3VibG9uXCIsXG4gICAgXCJFbnRvbm5vaXIgKDQ1KVwiLFxuICAgIFwiR2FnZVwiLFxuICAgIFwiSG9ycy1kw6lsYWlzXCIsXG4gICAgXCJJbmpvbmN0aW9uICgyMClcIixcbiAgICBcIklyciBlbiBwcmVtacOocmUgcGFydGllXCIsXG4gICAgXCJJcnIgZW4gc2Vjb25kZSBwYXJ0aWVcIixcbiAgICBcIkxPTEZcIixcbiAgICBcIkxPTEZTU1wiLFxuICAgIFwiTm9uIHNvdXRlbnVcIixcbiAgICBcIk9yZHJlIGR1IGpvdXIgKDQ4KVwiLFxuICAgIFwiUlwiLFxuICAgIFwiUmF0aWZpY2F0aW9uIHRyYWl0w6kgKDUzKVwiLFxuICAgIFwiUmVqZXTDqVwiLFxuICAgIFwiUmV0aXLDqVwiLFxuICAgIFwiUmV0aXLDqSBhcHLDqHMgcHVibGljYXRpb25cIixcbiAgICBcIlJldGlyw6kgYXZhbnQgcHVibGljYXRpb25cIixcbiAgICBcIlNhdGlzZmFpdCBvdSBpbm9ww6lyYW50ICg0MilcIixcbiAgICBcIlNvdXMtYW1lbmRlbWVudCAoOTgpXCIsXG4gICAgXCJUb21iw6lcIixcbiAgXSxcbiAgVHlwZVBvc2l0aW9uOiBbXCJEZXJuaWVyXCIsIFwiTWlsaWV1XCIsIFwiUHJlbWllclwiXSxcbiAgQXZhbnRBQXByZXM6IFtcIkFcIiwgXCJBcHJlc1wiLCBcIkF2YW50XCJdLFxuICBEaXZpc2lvblR5cGU6IFtcIkFOTkVYRVwiLCBcIkFSVElDTEVcIiwgXCJDSEFQSVRSRVwiLCBcIlRJVFJFXCJdLFxuICBDb2RlRXRhdDogW1wiQlwiLCBcIkNcIiwgXCJEXCJdLFxuICBOb206IFtcIlBERlwiXSxcbiAgVHlwZU1pbWVUeXBlOiBbXCJhcHBsaWNhdGlvblwiXSxcbiAgVHlwZUF1dGV1cjogW1wiRMOpcHV0w6lcIiwgXCJHb3V2ZXJuZW1lbnRcIiwgXCJSYXBwb3J0ZXVyXCJdLFxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFxQ0EsV0FBWUEsZ0NBQVo7O1dBQVlBLGdDO0VBQUFBLGdDO0VBQUFBLGdDO0dBQUFBLGdDLEtBQUFBLGdDOztBQXNDWixXQUFZQyxNQUFaOztXQUFZQSxNO0VBQUFBLE07RUFBQUEsTTtFQUFBQSxNO0dBQUFBLE0sS0FBQUEsTTs7QUEwRFosV0FBWUMsa0JBQVo7O1dBQVlBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0VBQUFBLGtCO0dBQUFBLGtCLEtBQUFBLGtCOztBQXlCWixXQUFZQyxxQkFBWjs7V0FBWUEscUI7RUFBQUEscUI7RUFBQUEscUI7RUFBQUEs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