@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,918 @@
1
+ // To parse this data:
2
+ //
3
+ // import { Convert, Acteur, Organe, ActeursEtOrganes } from "./file";
4
+ //
5
+ // const acteur = Convert.toActeur(json);
6
+ // const organe = Convert.toOrgane(json);
7
+ // const acteursEtOrganes = Convert.toActeursEtOrganes(json);
8
+ //
9
+ // These functions will throw an error if the JSON doesn't
10
+ // match the expected interface, even if the JSON is valid.
11
+ export let Civ;
12
+
13
+ (function (Civ) {
14
+ Civ["M"] = "M.";
15
+ Civ["Mme"] = "Mme";
16
+ })(Civ || (Civ = {}));
17
+
18
+ export let TypeMandat;
19
+
20
+ (function (TypeMandat) {
21
+ TypeMandat["MandatAvecSuppleantType"] = "MandatAvecSuppleant_Type";
22
+ TypeMandat["MandatMissionType"] = "MandatMission_Type";
23
+ TypeMandat["MandatParlementaireType"] = "MandatParlementaire_type";
24
+ TypeMandat["MandatSimpleType"] = "MandatSimple_Type";
25
+ })(TypeMandat || (TypeMandat = {}));
26
+
27
+ export let RegionType;
28
+
29
+ (function (RegionType) {
30
+ RegionType["Collectivit\xE9sDOutreMerEtNouvelleCal\xE9donie"] = "Collectivit\xE9s d'outre-mer et Nouvelle-Cal\xE9donie";
31
+ RegionType["Dom"] = "Dom";
32
+ RegionType["Fran\xE7ais\xC9tablisHorsDeFrance"] = "Fran\xE7ais \xE9tablis hors de France";
33
+ RegionType["M\xE9tropolitain"] = "M\xE9tropolitain";
34
+ })(RegionType || (RegionType = {}));
35
+
36
+ export let CodeTypeOrgane;
37
+
38
+ (function (CodeTypeOrgane) {
39
+ CodeTypeOrgane["Api"] = "API";
40
+ CodeTypeOrgane["Assemblee"] = "ASSEMBLEE";
41
+ CodeTypeOrgane["Circonscription"] = "CIRCONSCRIPTION";
42
+ CodeTypeOrgane["Cjr"] = "CJR";
43
+ CodeTypeOrgane["Cmp"] = "CMP";
44
+ CodeTypeOrgane["Cnpe"] = "CNPE";
45
+ CodeTypeOrgane["Cnps"] = "CNPS";
46
+ CodeTypeOrgane["Comnl"] = "COMNL";
47
+ CodeTypeOrgane["Comper"] = "COMPER";
48
+ CodeTypeOrgane["Comsenat"] = "COMSENAT";
49
+ CodeTypeOrgane["Comspsenat"] = "COMSPSENAT";
50
+ CodeTypeOrgane["Confpt"] = "CONFPT";
51
+ CodeTypeOrgane["Constitu"] = "CONSTITU";
52
+ CodeTypeOrgane["Deleg"] = "DELEG";
53
+ CodeTypeOrgane["Delegbureau"] = "DELEGBUREAU";
54
+ CodeTypeOrgane["Delegsenat"] = "DELEGSENAT";
55
+ CodeTypeOrgane["Ga"] = "GA";
56
+ CodeTypeOrgane["Ge"] = "GE";
57
+ CodeTypeOrgane["Gevi"] = "GEVI";
58
+ CodeTypeOrgane["Gouvernement"] = "GOUVERNEMENT";
59
+ CodeTypeOrgane["Gp"] = "GP";
60
+ CodeTypeOrgane["Groupesenat"] = "GROUPESENAT";
61
+ CodeTypeOrgane["Hcj"] = "HCJ";
62
+ CodeTypeOrgane["Ministere"] = "MINISTERE";
63
+ CodeTypeOrgane["Misinfo"] = "MISINFO";
64
+ CodeTypeOrgane["Misinfocom"] = "MISINFOCOM";
65
+ CodeTypeOrgane["Misinfopre"] = "MISINFOPRE";
66
+ CodeTypeOrgane["Offpar"] = "OFFPAR";
67
+ CodeTypeOrgane["Orgaint"] = "ORGAINT";
68
+ CodeTypeOrgane["Orgextparl"] = "ORGEXTPARL";
69
+ CodeTypeOrgane["Parpol"] = "PARPOL";
70
+ CodeTypeOrgane["Presrep"] = "PRESREP";
71
+ CodeTypeOrgane["Senat"] = "SENAT";
72
+ })(CodeTypeOrgane || (CodeTypeOrgane = {}));
73
+
74
+ export let FamSocPro;
75
+
76
+ (function (FamSocPro) {
77
+ FamSocPro["AgriculteursExploitants"] = "Agriculteurs exploitants";
78
+ FamSocPro["ArtisansCommer\xE7antsEtChefsDEntreprise"] = "Artisans, commer\xE7ants et chefs d'entreprise";
79
+ FamSocPro["AutresPersonnesSansActivit\xE9Professionnelle"] = "Autres personnes sans activit\xE9 professionnelle";
80
+ FamSocPro["CadresEtProfessionsIntellectuellesSup\xE9rieures"] = "Cadres et professions intellectuelles sup\xE9rieures";
81
+ FamSocPro["Employ\xE9s"] = "Employ\xE9s";
82
+ FamSocPro["Ouvriers"] = "Ouvriers";
83
+ FamSocPro["ProfessionsInterm\xE9diaires"] = "Professions Interm\xE9diaires";
84
+ FamSocPro["Retrait\xE9s"] = "Retrait\xE9s";
85
+ FamSocPro["SansProfessionD\xE9clar\xE9e"] = "Sans profession d\xE9clar\xE9e";
86
+ })(FamSocPro || (FamSocPro = {}));
87
+
88
+ export let TypeOrgane;
89
+
90
+ (function (TypeOrgane) {
91
+ TypeOrgane["GroupePolitiqueType"] = "GroupePolitique_type";
92
+ TypeOrgane["OrganeCirconscriptionType"] = "OrganeCirconscription_type";
93
+ TypeOrgane["OrganeExterneType"] = "OrganeExterne_Type";
94
+ TypeOrgane["OrganeExtraParlementaireType"] = "OrganeExtraParlementaire_type";
95
+ TypeOrgane["OrganeParlementaireInternational"] = "OrganeParlementaireInternational";
96
+ TypeOrgane["OrganeParlementaireType"] = "OrganeParlementaire_Type";
97
+ })(TypeOrgane || (TypeOrgane = {}));
98
+
99
+ export let CodeNatureDep;
100
+
101
+ (function (CodeNatureDep) {
102
+ CodeNatureDep["H"] = "H";
103
+ CodeNatureDep["M"] = "M";
104
+ CodeNatureDep["O"] = "O";
105
+ CodeNatureDep["T"] = "T";
106
+ })(CodeNatureDep || (CodeNatureDep = {}));
107
+
108
+ export let PositionPolitique;
109
+
110
+ (function (PositionPolitique) {
111
+ PositionPolitique["Majoritaire"] = "Majoritaire";
112
+ PositionPolitique["Minoritaire"] = "Minoritaire";
113
+ PositionPolitique["Opposition"] = "Opposition";
114
+ })(PositionPolitique || (PositionPolitique = {}));
115
+
116
+ export let Regime;
117
+
118
+ (function (Regime) {
119
+ Regime["Assembl\xE9eConsultativeProvisoire"] = "Assembl\xE9e consultative provisoire";
120
+ Regime["Assembl\xE9esNationalesConstituantes"] = "Assembl\xE9es nationales constituantes";
121
+ Regime["The3\xC8meR\xE9publique"] = "3\xE8me R\xE9publique";
122
+ Regime["The4\xC8meR\xE9publique"] = "4\xE8me R\xE9publique";
123
+ Regime["The5\xC8meR\xE9publique"] = "5\xE8me R\xE9publique";
124
+ })(Regime || (Regime = {}));
125
+
126
+ // Converts JSON strings to/from your types
127
+ // and asserts the results of JSON.parse at runtime
128
+ export class Convert {
129
+ static toActeursEtOrganes(json) {
130
+ return cast(JSON.parse(json), r("ActeursEtOrganes"));
131
+ }
132
+
133
+ static acteursEtOrganesToJson(value) {
134
+ return JSON.stringify(uncast(value, r("ActeursEtOrganes")), null, 2);
135
+ }
136
+
137
+ static toActeur(json) {
138
+ return cast(JSON.parse(json), r("Acteur"));
139
+ }
140
+
141
+ static acteurToJson(value) {
142
+ return JSON.stringify(uncast(value, r("Acteur")), null, 2);
143
+ }
144
+
145
+ static toOrgane(json) {
146
+ return cast(JSON.parse(json), r("Organe"));
147
+ }
148
+
149
+ static organeToJson(value) {
150
+ return JSON.stringify(uncast(value, r("Organe")), null, 2);
151
+ }
152
+
153
+ }
154
+
155
+ function invalidValue(typ, val, key = "") {
156
+ if (key) {
157
+ throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);
158
+ }
159
+
160
+ throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);
161
+ }
162
+
163
+ function jsonToJSProps(typ) {
164
+ if (typ.jsonToJS === undefined) {
165
+ const map = {};
166
+ typ.props.forEach(p => map[p.json] = {
167
+ key: p.js,
168
+ typ: p.typ
169
+ });
170
+ typ.jsonToJS = map;
171
+ }
172
+
173
+ return typ.jsonToJS;
174
+ }
175
+
176
+ function jsToJSONProps(typ) {
177
+ if (typ.jsToJSON === undefined) {
178
+ const map = {};
179
+ typ.props.forEach(p => map[p.js] = {
180
+ key: p.json,
181
+ typ: p.typ
182
+ });
183
+ typ.jsToJSON = map;
184
+ }
185
+
186
+ return typ.jsToJSON;
187
+ }
188
+
189
+ function transform(val, typ, getProps, key = "") {
190
+ function transformPrimitive(typ, val) {
191
+ if (typeof typ === typeof val) return val;
192
+ return invalidValue(typ, val, key);
193
+ }
194
+
195
+ function transformUnion(typs, val) {
196
+ // val must validate against one typ in typs
197
+ const l = typs.length;
198
+
199
+ for (let i = 0; i < l; i++) {
200
+ const typ = typs[i];
201
+
202
+ try {
203
+ return transform(val, typ, getProps);
204
+ } catch (_) {}
205
+ }
206
+
207
+ return invalidValue(typs, val);
208
+ }
209
+
210
+ function transformEnum(cases, val) {
211
+ if (cases.indexOf(val) !== -1) return val;
212
+ return invalidValue(cases, val);
213
+ }
214
+
215
+ function transformArray(typ, val) {
216
+ // val must be an array with no invalid elements
217
+ if (!Array.isArray(val)) return invalidValue("array", val);
218
+ return val.map(el => transform(el, typ, getProps));
219
+ }
220
+
221
+ function transformDate(val) {
222
+ if (val === null) {
223
+ return null;
224
+ }
225
+
226
+ const d = new Date(val);
227
+
228
+ if (isNaN(d.valueOf())) {
229
+ return invalidValue("Date", val);
230
+ }
231
+
232
+ return d;
233
+ }
234
+
235
+ function transformObject(props, additional, val) {
236
+ if (val === null || typeof val !== "object" || Array.isArray(val)) {
237
+ return invalidValue("object", val);
238
+ }
239
+
240
+ const result = {};
241
+ Object.getOwnPropertyNames(props).forEach(key => {
242
+ const prop = props[key];
243
+ const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
244
+ result[prop.key] = transform(v, prop.typ, getProps, prop.key);
245
+ });
246
+ Object.getOwnPropertyNames(val).forEach(key => {
247
+ if (!Object.prototype.hasOwnProperty.call(props, key)) {
248
+ result[key] = transform(val[key], additional, getProps, key);
249
+ }
250
+ });
251
+ return result;
252
+ }
253
+
254
+ if (typ === "any") return val;
255
+
256
+ if (typ === null) {
257
+ if (val === null) return val;
258
+ return invalidValue(typ, val);
259
+ } // if (typ === false) return invalidValue(typ, val)
260
+
261
+
262
+ while (typeof typ === "object" && typ.ref !== undefined) {
263
+ typ = typeMap[typ.ref];
264
+ }
265
+
266
+ if (Array.isArray(typ)) return transformEnum(typ, val);
267
+
268
+ if (typeof typ === "object") {
269
+ 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);
270
+ } // Numbers can be parsed by Date but shouldn't be.
271
+
272
+
273
+ if (typ === Date && typeof val !== "number") return transformDate(val);
274
+ return transformPrimitive(typ, val);
275
+ }
276
+
277
+ function cast(val, typ) {
278
+ return transform(val, typ, jsonToJSProps);
279
+ }
280
+
281
+ function uncast(val, typ) {
282
+ return transform(val, typ, jsToJSONProps);
283
+ }
284
+
285
+ function a(typ) {
286
+ return {
287
+ arrayItems: typ
288
+ };
289
+ }
290
+
291
+ function u(...typs) {
292
+ return {
293
+ unionMembers: typs
294
+ };
295
+ }
296
+
297
+ function o(props, additional) {
298
+ return {
299
+ props,
300
+ additional
301
+ };
302
+ } // function m(additional: any) {
303
+ // return { props: [], additional }
304
+ // }
305
+
306
+
307
+ function r(name) {
308
+ return {
309
+ ref: name
310
+ };
311
+ }
312
+
313
+ const typeMap = {
314
+ ActeursEtOrganes: o([{
315
+ json: "organes",
316
+ js: "organes",
317
+ typ: a(r("Organe"))
318
+ }, {
319
+ json: "acteurs",
320
+ js: "acteurs",
321
+ typ: a(r("Acteur"))
322
+ }], false),
323
+ Acteur: o([{
324
+ json: "schemaVersion",
325
+ js: "schemaVersion",
326
+ typ: u(undefined, "")
327
+ }, {
328
+ json: "uid",
329
+ js: "uid",
330
+ typ: ""
331
+ }, {
332
+ json: "etatCivil",
333
+ js: "etatCivil",
334
+ typ: r("EtatCivil")
335
+ }, {
336
+ json: "profession",
337
+ js: "profession",
338
+ typ: u(undefined, r("Profession"))
339
+ }, {
340
+ json: "uriHatvp",
341
+ js: "uriHatvp",
342
+ typ: u(undefined, "")
343
+ }, {
344
+ json: "adresses",
345
+ js: "adresses",
346
+ typ: u(undefined, a(u(r("AdresseElectronique"), r("AdressePostale"))))
347
+ }, {
348
+ json: "mandats",
349
+ js: "mandats",
350
+ typ: u(undefined, a(r("Mandat")))
351
+ }, {
352
+ json: "photo",
353
+ js: "photo",
354
+ typ: u(undefined, r("Photo"))
355
+ }, {
356
+ json: "deports",
357
+ js: "deports",
358
+ typ: u(undefined, a(r("Deport")))
359
+ }], false),
360
+ AdresseElectronique: o([{
361
+ json: "xsiType",
362
+ js: "xsiType",
363
+ typ: ""
364
+ }, {
365
+ json: "uid",
366
+ js: "uid",
367
+ typ: ""
368
+ }, {
369
+ json: "type",
370
+ js: "type",
371
+ typ: ""
372
+ }, {
373
+ json: "typeLibelle",
374
+ js: "typeLibelle",
375
+ typ: ""
376
+ }, {
377
+ json: "poids",
378
+ js: "poids",
379
+ typ: u(undefined, "")
380
+ }, {
381
+ json: "adresseDeRattachement",
382
+ js: "adresseDeRattachement",
383
+ typ: u(undefined, "")
384
+ }, {
385
+ json: "valElec",
386
+ js: "valElec",
387
+ typ: u(undefined, "")
388
+ }], false),
389
+ AdressePostale: o([{
390
+ json: "xsiType",
391
+ js: "xsiType",
392
+ typ: ""
393
+ }, {
394
+ json: "uid",
395
+ js: "uid",
396
+ typ: ""
397
+ }, {
398
+ json: "type",
399
+ js: "type",
400
+ typ: ""
401
+ }, {
402
+ json: "typeLibelle",
403
+ js: "typeLibelle",
404
+ typ: ""
405
+ }, {
406
+ json: "poids",
407
+ js: "poids",
408
+ typ: u(undefined, "")
409
+ }, {
410
+ json: "intitule",
411
+ js: "intitule",
412
+ typ: u(undefined, "")
413
+ }, {
414
+ json: "numeroRue",
415
+ js: "numeroRue",
416
+ typ: u(undefined, "")
417
+ }, {
418
+ json: "nomRue",
419
+ js: "nomRue",
420
+ typ: u(undefined, "")
421
+ }, {
422
+ json: "complementAdresse",
423
+ js: "complementAdresse",
424
+ typ: u(undefined, "")
425
+ }, {
426
+ json: "codePostal",
427
+ js: "codePostal",
428
+ typ: u(undefined, "")
429
+ }, {
430
+ json: "ville",
431
+ js: "ville",
432
+ typ: u(undefined, "")
433
+ }], false),
434
+ EtatCivil: o([{
435
+ json: "ident",
436
+ js: "ident",
437
+ typ: r("Ident")
438
+ }, {
439
+ json: "infoNaissance",
440
+ js: "infoNaissance",
441
+ typ: r("InfoNaissance")
442
+ }, {
443
+ json: "dateDeces",
444
+ js: "dateDeces",
445
+ typ: u(undefined, Date)
446
+ }], false),
447
+ Ident: o([{
448
+ json: "civ",
449
+ js: "civ",
450
+ typ: r("Civ")
451
+ }, {
452
+ json: "prenom",
453
+ js: "prenom",
454
+ typ: ""
455
+ }, {
456
+ json: "nom",
457
+ js: "nom",
458
+ typ: ""
459
+ }, {
460
+ json: "alpha",
461
+ js: "alpha",
462
+ typ: ""
463
+ }, {
464
+ json: "trigramme",
465
+ js: "trigramme",
466
+ typ: u(undefined, "")
467
+ }], false),
468
+ InfoNaissance: o([{
469
+ json: "dateNais",
470
+ js: "dateNais",
471
+ typ: u(undefined, Date)
472
+ }, {
473
+ json: "villeNais",
474
+ js: "villeNais",
475
+ typ: u(undefined, "")
476
+ }, {
477
+ json: "depNais",
478
+ js: "depNais",
479
+ typ: u(undefined, "")
480
+ }, {
481
+ json: "paysNais",
482
+ js: "paysNais",
483
+ typ: u(undefined, "")
484
+ }], false),
485
+ Mandat: o([{
486
+ json: "xsiType",
487
+ js: "xsiType",
488
+ typ: u(undefined, r("TypeMandat"))
489
+ }, {
490
+ json: "uid",
491
+ js: "uid",
492
+ typ: ""
493
+ }, {
494
+ json: "acteurRef",
495
+ js: "acteurRef",
496
+ typ: ""
497
+ }, {
498
+ json: "legislature",
499
+ js: "legislature",
500
+ typ: u(undefined, "")
501
+ }, {
502
+ json: "typeOrgane",
503
+ js: "typeOrgane",
504
+ typ: r("CodeTypeOrgane")
505
+ }, {
506
+ json: "dateDebut",
507
+ js: "dateDebut",
508
+ typ: Date
509
+ }, {
510
+ json: "datePublication",
511
+ js: "datePublication",
512
+ typ: u(undefined, Date)
513
+ }, {
514
+ json: "dateFin",
515
+ js: "dateFin",
516
+ typ: u(undefined, Date)
517
+ }, {
518
+ json: "preseance",
519
+ js: "preseance",
520
+ typ: u(undefined, "")
521
+ }, {
522
+ json: "nominPrincipale",
523
+ js: "nominPrincipale",
524
+ typ: ""
525
+ }, {
526
+ json: "infosQualite",
527
+ js: "infosQualite",
528
+ typ: r("InfosQualite")
529
+ }, {
530
+ json: "organesRefs",
531
+ js: "organesRefs",
532
+ typ: a("")
533
+ }, {
534
+ json: "suppleant",
535
+ js: "suppleant",
536
+ typ: u(undefined, r("Suppleant"))
537
+ }, {
538
+ json: "election",
539
+ js: "election",
540
+ typ: u(undefined, r("Election"))
541
+ }, {
542
+ json: "mandature",
543
+ js: "mandature",
544
+ typ: u(undefined, r("Mandature"))
545
+ }, {
546
+ json: "collaborateurs",
547
+ js: "collaborateurs",
548
+ typ: u(undefined, a(r("Collaborateur")))
549
+ }, {
550
+ json: "libelle",
551
+ js: "libelle",
552
+ typ: u(undefined, "")
553
+ }, {
554
+ json: "missionSuivanteRef",
555
+ js: "missionSuivanteRef",
556
+ typ: u(undefined, "")
557
+ }, {
558
+ json: "missionPrecedenteRef",
559
+ js: "missionPrecedenteRef",
560
+ typ: u(undefined, "")
561
+ }], false),
562
+ Collaborateur: o([{
563
+ json: "qualite",
564
+ js: "qualite",
565
+ typ: u(undefined, r("Civ"))
566
+ }, {
567
+ json: "prenom",
568
+ js: "prenom",
569
+ typ: ""
570
+ }, {
571
+ json: "nom",
572
+ js: "nom",
573
+ typ: ""
574
+ }], false),
575
+ Election: o([{
576
+ json: "lieu",
577
+ js: "lieu",
578
+ typ: r("Lieu")
579
+ }, {
580
+ json: "causeMandat",
581
+ js: "causeMandat",
582
+ typ: u(undefined, "")
583
+ }, {
584
+ json: "refCirconscription",
585
+ js: "refCirconscription",
586
+ typ: u(undefined, "")
587
+ }], false),
588
+ Lieu: o([{
589
+ json: "region",
590
+ js: "region",
591
+ typ: u(undefined, "")
592
+ }, {
593
+ json: "regionType",
594
+ js: "regionType",
595
+ typ: u(undefined, r("RegionType"))
596
+ }, {
597
+ json: "departement",
598
+ js: "departement",
599
+ typ: u(undefined, "")
600
+ }, {
601
+ json: "numDepartement",
602
+ js: "numDepartement",
603
+ typ: u(undefined, "")
604
+ }, {
605
+ json: "numCirco",
606
+ js: "numCirco",
607
+ typ: u(undefined, "")
608
+ }], false),
609
+ InfosQualite: o([{
610
+ json: "codeQualite",
611
+ js: "codeQualite",
612
+ typ: u(undefined, "")
613
+ }, {
614
+ json: "libQualite",
615
+ js: "libQualite",
616
+ typ: ""
617
+ }, {
618
+ json: "libQualiteSex",
619
+ js: "libQualiteSex",
620
+ typ: u(undefined, "")
621
+ }], false),
622
+ Mandature: o([{
623
+ json: "datePriseFonction",
624
+ js: "datePriseFonction",
625
+ typ: u(undefined, Date)
626
+ }, {
627
+ json: "causeFin",
628
+ js: "causeFin",
629
+ typ: u(undefined, "")
630
+ }, {
631
+ json: "premiereElection",
632
+ js: "premiereElection",
633
+ typ: u(undefined, "")
634
+ }, {
635
+ json: "placeHemicycle",
636
+ js: "placeHemicycle",
637
+ typ: u(undefined, "")
638
+ }, {
639
+ json: "mandatRemplaceRef",
640
+ js: "mandatRemplaceRef",
641
+ typ: u(undefined, "")
642
+ }, {
643
+ json: "matriculeVote",
644
+ js: "matriculeVote",
645
+ typ: u(undefined, "")
646
+ }], false),
647
+ Suppleant: o([{
648
+ json: "dateDebut",
649
+ js: "dateDebut",
650
+ typ: Date
651
+ }, {
652
+ json: "dateFin",
653
+ js: "dateFin",
654
+ typ: u(undefined, Date)
655
+ }, {
656
+ json: "suppleantRef",
657
+ js: "suppleantRef",
658
+ typ: ""
659
+ }], false),
660
+ Profession: o([{
661
+ json: "libelleCourant",
662
+ js: "libelleCourant",
663
+ typ: u(undefined, "")
664
+ }, {
665
+ json: "socProcInsee",
666
+ js: "socProcInsee",
667
+ typ: r("SocProcInsee")
668
+ }], false),
669
+ SocProcInsee: o([{
670
+ json: "catSocPro",
671
+ js: "catSocPro",
672
+ typ: u(undefined, "")
673
+ }, {
674
+ json: "famSocPro",
675
+ js: "famSocPro",
676
+ typ: u(undefined, r("FamSocPro"))
677
+ }], false),
678
+ Deport: o([{
679
+ json: "uid",
680
+ js: "uid",
681
+ typ: ""
682
+ }, {
683
+ json: "chronotag",
684
+ js: "chronotag",
685
+ typ: ""
686
+ }, {
687
+ json: "legislature",
688
+ js: "legislature",
689
+ typ: ""
690
+ }, {
691
+ json: "refActeur",
692
+ js: "refActeur",
693
+ typ: ""
694
+ }, {
695
+ json: "dateCreation",
696
+ js: "dateCreation",
697
+ typ: Date
698
+ }, {
699
+ json: "datePublication",
700
+ js: "datePublication",
701
+ typ: Date
702
+ }, {
703
+ json: "portee",
704
+ js: "portee",
705
+ typ: r("CodeEtLibelle")
706
+ }, {
707
+ json: "lecture",
708
+ js: "lecture",
709
+ typ: r("CodeEtLibelle")
710
+ }, {
711
+ json: "instance",
712
+ js: "instance",
713
+ typ: r("CodeEtLibelle")
714
+ }, {
715
+ json: "cible",
716
+ js: "cible",
717
+ typ: r("Cible")
718
+ }, {
719
+ json: "explication",
720
+ js: "explication",
721
+ typ: u(undefined, "")
722
+ }], false),
723
+ Cible: o([{
724
+ json: "type",
725
+ js: "type",
726
+ typ: r("CodeEtLibelle")
727
+ }, {
728
+ json: "referenceTextuelle",
729
+ js: "referenceTextuelle",
730
+ typ: ""
731
+ }], false),
732
+ CodeEtLibelle: o([{
733
+ json: "code",
734
+ js: "code",
735
+ typ: ""
736
+ }, {
737
+ json: "libelle",
738
+ js: "libelle",
739
+ typ: ""
740
+ }], false),
741
+ Organe: o([{
742
+ json: "schemaVersion",
743
+ js: "schemaVersion",
744
+ typ: u(undefined, "")
745
+ }, {
746
+ json: "xsiType",
747
+ js: "xsiType",
748
+ typ: u(undefined, r("TypeOrgane"))
749
+ }, {
750
+ json: "uid",
751
+ js: "uid",
752
+ typ: ""
753
+ }, {
754
+ json: "codeType",
755
+ js: "codeType",
756
+ typ: r("CodeTypeOrgane")
757
+ }, {
758
+ json: "libelle",
759
+ js: "libelle",
760
+ typ: ""
761
+ }, {
762
+ json: "libelleEdition",
763
+ js: "libelleEdition",
764
+ typ: u(undefined, "")
765
+ }, {
766
+ json: "libelleAbrege",
767
+ js: "libelleAbrege",
768
+ typ: ""
769
+ }, {
770
+ json: "libelleAbrev",
771
+ js: "libelleAbrev",
772
+ typ: ""
773
+ }, {
774
+ json: "viMoDe",
775
+ js: "viMoDe",
776
+ typ: r("ViMoDe")
777
+ }, {
778
+ json: "organeParentRef",
779
+ js: "organeParentRef",
780
+ typ: u(undefined, "")
781
+ }, {
782
+ json: "regime",
783
+ js: "regime",
784
+ typ: u(undefined, r("Regime"))
785
+ }, {
786
+ json: "legislature",
787
+ js: "legislature",
788
+ typ: u(undefined, "")
789
+ }, {
790
+ json: "secretariat",
791
+ js: "secretariat",
792
+ typ: u(undefined, r("Secretariat"))
793
+ }, {
794
+ json: "numero",
795
+ js: "numero",
796
+ typ: u(undefined, "")
797
+ }, {
798
+ json: "lieu",
799
+ js: "lieu",
800
+ typ: u(undefined, r("OrganeLieu"))
801
+ }, {
802
+ json: "regimeJuridique",
803
+ js: "regimeJuridique",
804
+ typ: u(undefined, "")
805
+ }, {
806
+ json: "siteInternet",
807
+ js: "siteInternet",
808
+ typ: u(undefined, "")
809
+ }, {
810
+ json: "nombreReunionsAnnuelles",
811
+ js: "nombreReunionsAnnuelles",
812
+ typ: u(undefined, "")
813
+ }, {
814
+ json: "positionPolitique",
815
+ js: "positionPolitique",
816
+ typ: u(undefined, r("PositionPolitique"))
817
+ }, {
818
+ json: "preseance",
819
+ js: "preseance",
820
+ typ: u(undefined, "")
821
+ }, {
822
+ json: "couleurAssociee",
823
+ js: "couleurAssociee",
824
+ typ: u(undefined, "")
825
+ }, {
826
+ json: "listePays",
827
+ js: "listePays",
828
+ typ: u(undefined, a(""))
829
+ }], false),
830
+ OrganeLieu: o([{
831
+ json: "region",
832
+ js: "region",
833
+ typ: r("Region")
834
+ }, {
835
+ json: "departement",
836
+ js: "departement",
837
+ typ: r("Departement")
838
+ }], false),
839
+ Departement: o([{
840
+ json: "codeNatureDep",
841
+ js: "codeNatureDep",
842
+ typ: u(undefined, r("CodeNatureDep"))
843
+ }, {
844
+ json: "code",
845
+ js: "code",
846
+ typ: u(undefined, "")
847
+ }, {
848
+ json: "libelle",
849
+ js: "libelle",
850
+ typ: u(undefined, "")
851
+ }], false),
852
+ Region: o([{
853
+ json: "type",
854
+ js: "type",
855
+ typ: u(undefined, r("RegionType"))
856
+ }, {
857
+ json: "libelle",
858
+ js: "libelle",
859
+ typ: u(undefined, "")
860
+ }], false),
861
+ Secretariat: o([{
862
+ json: "secretaire01",
863
+ js: "secretaire01",
864
+ typ: u(undefined, "")
865
+ }, {
866
+ json: "secretaire02",
867
+ js: "secretaire02",
868
+ typ: u(undefined, "")
869
+ }], false),
870
+ ViMoDe: o([{
871
+ json: "dateDebut",
872
+ js: "dateDebut",
873
+ typ: u(undefined, Date)
874
+ }, {
875
+ json: "dateAgrement",
876
+ js: "dateAgrement",
877
+ typ: u(undefined, Date)
878
+ }, {
879
+ json: "dateFin",
880
+ js: "dateFin",
881
+ typ: u(undefined, Date)
882
+ }], false),
883
+ Photo: o([{
884
+ json: "chemin",
885
+ js: "chemin",
886
+ typ: ""
887
+ }, {
888
+ json: "cheminMosaique",
889
+ js: "cheminMosaique",
890
+ typ: ""
891
+ }, {
892
+ json: "hauteur",
893
+ js: "hauteur",
894
+ typ: 0
895
+ }, {
896
+ json: "largeur",
897
+ js: "largeur",
898
+ typ: 0
899
+ }, {
900
+ json: "xMosaique",
901
+ js: "xMosaique",
902
+ typ: 0
903
+ }, {
904
+ json: "yMosaique",
905
+ js: "yMosaique",
906
+ typ: 0
907
+ }], false),
908
+ Civ: ["M.", "Mme"],
909
+ TypeMandat: ["MandatAvecSuppleant_Type", "MandatMission_Type", "MandatParlementaire_type", "MandatSimple_Type"],
910
+ RegionType: ["Collectivités d'outre-mer et Nouvelle-Calédonie", "Dom", "Français établis hors de France", "Métropolitain"],
911
+ CodeTypeOrgane: ["API", "ASSEMBLEE", "CIRCONSCRIPTION", "CJR", "CMP", "CNPE", "CNPS", "COMNL", "COMPER", "COMSENAT", "COMSPSENAT", "CONFPT", "CONSTITU", "DELEG", "DELEGBUREAU", "DELEGSENAT", "GA", "GE", "GEVI", "GOUVERNEMENT", "GP", "GROUPESENAT", "HCJ", "MINISTERE", "MISINFO", "MISINFOCOM", "MISINFOPRE", "OFFPAR", "ORGAINT", "ORGEXTPARL", "PARPOL", "PRESREP", "SENAT"],
912
+ FamSocPro: ["Agriculteurs exploitants", "Artisans, commerçants et chefs d'entreprise", "Autres personnes sans activité professionnelle", "Cadres et professions intellectuelles supérieures", "Employés", "Ouvriers", "Professions Intermédiaires", "Retraités", "Sans profession déclarée"],
913
+ TypeOrgane: ["GroupePolitique_type", "OrganeCirconscription_type", "OrganeExterne_Type", "OrganeExtraParlementaire_type", "OrganeParlementaireInternational", "OrganeParlementaire_Type"],
914
+ CodeNatureDep: ["H", "M", "O", "T"],
915
+ PositionPolitique: ["Majoritaire", "Minoritaire", "Opposition"],
916
+ Regime: ["Assemblée consultative provisoire", "Assemblées nationales constituantes", "3ème République", "4ème République", "5ème République"]
917
+ };
918
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaXYiLCJUeXBlTWFuZGF0IiwiUmVnaW9uVHlwZSIsIkNvZGVUeXBlT3JnYW5lIiwiRmFtU29jUHJvIiwiVHlwZU9yZ2FuZSIsIkNvZGVOYXR1cmVEZXAiLCJQb3NpdGlvblBvbGl0aXF1ZSIsIlJlZ2ltZSIsIkNvbnZlcnQiLCJ0b0FjdGV1cnNFdE9yZ2FuZXMiLCJqc29uIiwiY2FzdCIsIkpTT04iLCJwYXJzZSIsInIiLCJhY3RldXJzRXRPcmdhbmVzVG9Kc29uIiwidmFsdWUiLCJzdHJpbmdpZnkiLCJ1bmNhc3QiLCJ0b0FjdGV1ciIsImFjdGV1clRvSnNvbiIsInRvT3JnYW5lIiwib3JnYW5lVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwia2V5IiwiRXJyb3IiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJ1bmRlZmluZWQiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsInRyYW5zZm9ybVVuaW9uIiwidHlwcyIsImwiLCJsZW5ndGgiLCJpIiwiXyIsInRyYW5zZm9ybUVudW0iLCJjYXNlcyIsImluZGV4T2YiLCJ0cmFuc2Zvcm1BcnJheSIsIkFycmF5IiwiaXNBcnJheSIsImVsIiwidHJhbnNmb3JtRGF0ZSIsImQiLCJEYXRlIiwiaXNOYU4iLCJ2YWx1ZU9mIiwidHJhbnNmb3JtT2JqZWN0IiwiYWRkaXRpb25hbCIsInJlc3VsdCIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wIiwidiIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlZiIsInR5cGVNYXAiLCJ1bmlvbk1lbWJlcnMiLCJhcnJheUl0ZW1zIiwiYSIsInUiLCJvIiwibmFtZSIsIkFjdGV1cnNFdE9yZ2FuZXMiLCJBY3RldXIiLCJBZHJlc3NlRWxlY3Ryb25pcXVlIiwiQWRyZXNzZVBvc3RhbGUiLCJFdGF0Q2l2aWwiLCJJZGVudCIsIkluZm9OYWlzc2FuY2UiLCJNYW5kYXQiLCJDb2xsYWJvcmF0ZXVyIiwiRWxlY3Rpb24iLCJMaWV1IiwiSW5mb3NRdWFsaXRlIiwiTWFuZGF0dXJlIiwiU3VwcGxlYW50IiwiUHJvZmVzc2lvbiIsIlNvY1Byb2NJbnNlZSIsIkRlcG9ydCIsIkNpYmxlIiwiQ29kZUV0TGliZWxsZSIsIk9yZ2FuZSIsIk9yZ2FuZUxpZXUiLCJEZXBhcnRlbWVudCIsIlJlZ2lvbiIsIlNlY3JldGFyaWF0IiwiVmlNb0RlIiwiUGhvdG8iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvYWN0ZXVyc19ldF9vcmdhbmVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIEFjdGV1ciwgT3JnYW5lLCBBY3RldXJzRXRPcmdhbmVzIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3QgYWN0ZXVyID0gQ29udmVydC50b0FjdGV1cihqc29uKTtcbi8vICAgY29uc3Qgb3JnYW5lID0gQ29udmVydC50b09yZ2FuZShqc29uKTtcbi8vICAgY29uc3QgYWN0ZXVyc0V0T3JnYW5lcyA9IENvbnZlcnQudG9BY3RldXJzRXRPcmdhbmVzKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0ZXVyc0V0T3JnYW5lcyB7XG4gIG9yZ2FuZXM6IE9yZ2FuZVtdXG4gIGFjdGV1cnM6IEFjdGV1cltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0ZXVyIHtcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZ1xuICB1aWQ6IHN0cmluZ1xuICBldGF0Q2l2aWw6IEV0YXRDaXZpbFxuICBwcm9mZXNzaW9uPzogUHJvZmVzc2lvblxuICB1cmlIYXR2cD86IHN0cmluZ1xuICBhZHJlc3Nlcz86IEFkcmVzc2VbXVxuICBtYW5kYXRzPzogTWFuZGF0W11cbiAgcGhvdG8/OiBQaG90b1xuICBkZXBvcnRzPzogRGVwb3J0W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGF0Q2l2aWwge1xuICBpZGVudDogSWRlbnRcbiAgaW5mb05haXNzYW5jZTogSW5mb05haXNzYW5jZVxuICBkYXRlRGVjZXM/OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnQge1xuICBjaXY6IENpdlxuICBwcmVub206IHN0cmluZ1xuICBub206IHN0cmluZ1xuICBhbHBoYTogc3RyaW5nXG4gIHRyaWdyYW1tZT86IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBDaXYge1xuICBNID0gXCJNLlwiLFxuICBNbWUgPSBcIk1tZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZm9OYWlzc2FuY2Uge1xuICBkYXRlTmFpcz86IERhdGVcbiAgdmlsbGVOYWlzPzogc3RyaW5nXG4gIGRlcE5haXM/OiBzdHJpbmdcbiAgcGF5c05haXM/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQWRyZXNzZSA9IEFkcmVzc2VFbGVjdHJvbmlxdWUgfCBBZHJlc3NlUG9zdGFsZVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkcmVzc2VFbGVjdHJvbmlxdWUge1xuICB4c2lUeXBlOlxuICAgIHwgXCJBZHJlc3NlTWFpbF9UeXBlXCJcbiAgICB8IFwiQWRyZXNzZVNpdGVXZWJfVHlwZVwiXG4gICAgfCBcIkFkcmVzc2VUZWxlcGhvbmlxdWVfVHlwZVwiXG4gIHVpZDogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICB0eXBlTGliZWxsZTogc3RyaW5nXG4gIHBvaWRzPzogc3RyaW5nXG4gIGFkcmVzc2VEZVJhdHRhY2hlbWVudD86IHN0cmluZ1xuICB2YWxFbGVjPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRyZXNzZVBvc3RhbGUge1xuICB4c2lUeXBlOiBcIkFkcmVzc2VQb3N0YWxlX1R5cGVcIlxuICB1aWQ6IHN0cmluZ1xuICB0eXBlOiBzdHJpbmdcbiAgdHlwZUxpYmVsbGU6IHN0cmluZ1xuICBwb2lkcz86IHN0cmluZ1xuICBpbnRpdHVsZT86IHN0cmluZ1xuICBudW1lcm9SdWU/OiBzdHJpbmdcbiAgbm9tUnVlPzogc3RyaW5nXG4gIGNvbXBsZW1lbnRBZHJlc3NlPzogc3RyaW5nXG4gIGNvZGVQb3N0YWw/OiBzdHJpbmdcbiAgdmlsbGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYW5kYXQge1xuICB4c2lUeXBlPzogVHlwZU1hbmRhdFxuICB1aWQ6IHN0cmluZ1xuICBhY3RldXJSZWY6IHN0cmluZ1xuICBsZWdpc2xhdHVyZT86IHN0cmluZ1xuICB0eXBlT3JnYW5lOiBDb2RlVHlwZU9yZ2FuZVxuICBkYXRlRGVidXQ6IERhdGVcbiAgZGF0ZVB1YmxpY2F0aW9uPzogRGF0ZVxuICBkYXRlRmluPzogRGF0ZVxuICBwcmVzZWFuY2U/OiBzdHJpbmdcbiAgbm9taW5QcmluY2lwYWxlOiBzdHJpbmdcbiAgaW5mb3NRdWFsaXRlOiBJbmZvc1F1YWxpdGVcbiAgb3JnYW5lc1JlZnM6IHN0cmluZ1tdXG4gIG9yZ2FuZXM/OiBPcmdhbmVbXSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBzdXBwbGVhbnQ/OiBTdXBwbGVhbnRcbiAgZWxlY3Rpb24/OiBFbGVjdGlvblxuICBtYW5kYXR1cmU/OiBNYW5kYXR1cmVcbiAgY29sbGFib3JhdGV1cnM/OiBDb2xsYWJvcmF0ZXVyW11cbiAgbGliZWxsZT86IHN0cmluZ1xuICBtaXNzaW9uU3VpdmFudGVSZWY/OiBzdHJpbmdcbiAgbWlzc2lvblByZWNlZGVudGVSZWY/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gVHlwZU1hbmRhdCB7XG4gIE1hbmRhdEF2ZWNTdXBwbGVhbnRUeXBlID0gXCJNYW5kYXRBdmVjU3VwcGxlYW50X1R5cGVcIixcbiAgTWFuZGF0TWlzc2lvblR5cGUgPSBcIk1hbmRhdE1pc3Npb25fVHlwZVwiLFxuICBNYW5kYXRQYXJsZW1lbnRhaXJlVHlwZSA9IFwiTWFuZGF0UGFybGVtZW50YWlyZV90eXBlXCIsXG4gIE1hbmRhdFNpbXBsZVR5cGUgPSBcIk1hbmRhdFNpbXBsZV9UeXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGFib3JhdGV1ciB7XG4gIHF1YWxpdGU/OiBDaXZcbiAgcHJlbm9tOiBzdHJpbmdcbiAgbm9tOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVjdGlvbiB7XG4gIGxpZXU6IExpZXVcbiAgY2F1c2VNYW5kYXQ/OiBzdHJpbmdcbiAgcmVmQ2lyY29uc2NyaXB0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlldSB7XG4gIHJlZ2lvbj86IHN0cmluZ1xuICByZWdpb25UeXBlPzogUmVnaW9uVHlwZVxuICBkZXBhcnRlbWVudD86IHN0cmluZ1xuICBudW1EZXBhcnRlbWVudD86IHN0cmluZ1xuICBudW1DaXJjbz86IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBSZWdpb25UeXBlIHtcbiAgQ29sbGVjdGl2aXTDqXNET3V0cmVNZXJFdE5vdXZlbGxlQ2Fsw6lkb25pZSA9IFwiQ29sbGVjdGl2aXTDqXMgZCdvdXRyZS1tZXIgZXQgTm91dmVsbGUtQ2Fsw6lkb25pZVwiLFxuICBEb20gPSBcIkRvbVwiLFxuICBGcmFuw6dhaXPDiXRhYmxpc0hvcnNEZUZyYW5jZSA9IFwiRnJhbsOnYWlzIMOpdGFibGlzIGhvcnMgZGUgRnJhbmNlXCIsXG4gIE3DqXRyb3BvbGl0YWluID0gXCJNw6l0cm9wb2xpdGFpblwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZm9zUXVhbGl0ZSB7XG4gIGNvZGVRdWFsaXRlPzogc3RyaW5nXG4gIGxpYlF1YWxpdGU6IHN0cmluZ1xuICBsaWJRdWFsaXRlU2V4Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuZGF0dXJlIHtcbiAgZGF0ZVByaXNlRm9uY3Rpb24/OiBEYXRlXG4gIGNhdXNlRmluPzogc3RyaW5nXG4gIHByZW1pZXJlRWxlY3Rpb24/OiBzdHJpbmdcbiAgcGxhY2VIZW1pY3ljbGU/OiBzdHJpbmdcbiAgbWFuZGF0UmVtcGxhY2VSZWY/OiBzdHJpbmdcbiAgbWF0cmljdWxlVm90ZT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBsZWFudCB7XG4gIGRhdGVEZWJ1dDogRGF0ZVxuICBkYXRlRmluPzogRGF0ZVxuICBzdXBwbGVhbnRSZWY6IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBDb2RlVHlwZU9yZ2FuZSB7XG4gIEFwaSA9IFwiQVBJXCIsIC8vIEFzc2VtYmzDqWUgcGFybGVtZW50YWlyZSBpbnRlcm5hdGlvbmFsZVxuICBBc3NlbWJsZWUgPSBcIkFTU0VNQkxFRVwiLCAvLyBBc3NlbWJsw6llIG5hdGlvbmFsZVxuICBDaXJjb25zY3JpcHRpb24gPSBcIkNJUkNPTlNDUklQVElPTlwiLFxuICBDanIgPSBcIkNKUlwiLCAvLyBDb3VyIGRlIGp1c3RpY2UgZGUgbGEgUsOpcHVibGlxdWVcbiAgQ21wID0gXCJDTVBcIiwgLy8gQ29tbWlzc2lvbiBtaXh0ZSBwYXJpdGFpcmUsXG4gIENucGUgPSBcIkNOUEVcIiwgLy8gQ29tbWlzc2lvbiBkJ2VucXXDqnRlOyB3aGF0IGRvZXMgdGhpcyBhY3JvbnltIG1lYW4/XG4gIENucHMgPSBcIkNOUFNcIiwgLy8gQ29tbWlzc2lvbiBzcMOpY2lhbGU7IHdoYXQgZG9lcyB0aGlzIGFjcm9ueW0gbWVhbj9cbiAgQ29tbmwgPSBcIkNPTU5MXCIsIC8vIENvbW1pc3Npb24gc3DDqWNpYWxlIGF1dHJlOyB3aGF0IGRvZXMgdGhpcyBhY3JvbnltIG1lYW4/XG4gIENvbXBlciA9IFwiQ09NUEVSXCIsIC8vIENvbW1pc3Npb24gcGVybWFuZW50ZVxuICBDb21zZW5hdCA9IFwiQ09NU0VOQVRcIiwgLy8gQ29tbWlzc2lvbiBzw6luYXRvcmlhbGVcbiAgQ29tc3BzZW5hdCA9IFwiQ09NU1BTRU5BVFwiLCAvLyBDb21taXNzaW9uIHNww6ljaWFsZSBzw6luYXRvcmlhbGVcbiAgQ29uZnB0ID0gXCJDT05GUFRcIiwgLy8gQ29uZsOpcmVuY2UgZGVzIHByw6lzaWRlbnRzXG4gIENvbnN0aXR1ID0gXCJDT05TVElUVVwiLCAvLyBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICBEZWxlZyA9IFwiREVMRUdcIiwgLy8gRMOpbMOpZ2F0aW9uXG4gIERlbGVnYnVyZWF1ID0gXCJERUxFR0JVUkVBVVwiLCAvLyBEw6lsw6lnYXRpb24gZHUgQnVyZWF1XG4gIERlbGVnc2VuYXQgPSBcIkRFTEVHU0VOQVRcIiwgLy8gRMOpbMOpZ2F0aW9uIHPDqW5hdG9yaWFsZVxuICBHYSA9IFwiR0FcIiwgLy8gR3JvdXBlIGQnYW1pdGnDqVxuICBHZSA9IFwiR0VcIiwgLy8gR3JvdXBlIGQnw6l0dWRlc1xuICBHZXZpID0gXCJHRVZJXCIsIC8vIEdyb3VwZSBkJ8OpdHVkZXMgw6Agdm9jYXRpb24gaW50ZXJuYXRpb25hbGVcbiAgR291dmVybmVtZW50ID0gXCJHT1VWRVJORU1FTlRcIiwgLy8gR291dmVybmVtZW50XG4gIEdwID0gXCJHUFwiLCAvLyBHcm91cGUgcG9saXRpcXVlXG4gIEdyb3VwZXNlbmF0ID0gXCJHUk9VUEVTRU5BVFwiLCAvLyBHcm91cGUgc8OpbmF0b3JpYWxcbiAgSGNqID0gXCJIQ0pcIiwgLy8gSGF1dGUgQ291ciBkZSBKdXN0aWNlXG4gIE1pbmlzdGVyZSA9IFwiTUlOSVNURVJFXCIsIC8vIE1pbmlzdMOocmVcbiAgTWlzaW5mbyA9IFwiTUlTSU5GT1wiLCAvLyBNaXNzaW9uIGQnaW5mb3JtYXRpb25cbiAgTWlzaW5mb2NvbSA9IFwiTUlTSU5GT0NPTVwiLCAvLyBNaXNzaW9uIGQnaW5mb3JtYXRpb24gY29tbXVuZVxuICBNaXNpbmZvcHJlID0gXCJNSVNJTkZPUFJFXCIsIC8vIE1pc3Npb25zIGTigJlpbmZvcm1hdGlvbiBkZSBsYSBjb25mw6lyZW5jZSBkZXMgUHLDqXNpZGVudHNcbiAgT2ZmcGFyID0gXCJPRkZQQVJcIiwgLy8gT2ZmaWNlIHBhcmxlbWVudGFpcmUgb3UgZMOpbMOpZ2F0aW9uIG1peHRlXG4gIE9yZ2FpbnQgPSBcIk9SR0FJTlRcIiwgLy8gT3JnYW5pc21lIGludGVybmF0aW9uYWxcbiAgT3JnZXh0cGFybCA9IFwiT1JHRVhUUEFSTFwiLCAvLyBPcmdhbmlzbWUgZXh0cmEtcGFybGVtZW50YWlyZVxuICBQYXJwb2wgPSBcIlBBUlBPTFwiLCAvLyBQYXJ0aSBwb2xpdGlxdWVcbiAgUHJlc3JlcCA9IFwiUFJFU1JFUFwiLCAvLyBQcsOpc2lkZW5jZSBkZSBsYSBSw6lwdWJsaXF1ZVxuICBTZW5hdCA9IFwiU0VOQVRcIiwgLy8gU8OpbmF0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmVzc2lvbiB7XG4gIGxpYmVsbGVDb3VyYW50Pzogc3RyaW5nXG4gIHNvY1Byb2NJbnNlZTogU29jUHJvY0luc2VlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29jUHJvY0luc2VlIHtcbiAgY2F0U29jUHJvPzogc3RyaW5nXG4gIGZhbVNvY1Bybz86IEZhbVNvY1Byb1xufVxuXG5leHBvcnQgZW51bSBGYW1Tb2NQcm8ge1xuICBBZ3JpY3VsdGV1cnNFeHBsb2l0YW50cyA9IFwiQWdyaWN1bHRldXJzIGV4cGxvaXRhbnRzXCIsXG4gIEFydGlzYW5zQ29tbWVyw6dhbnRzRXRDaGVmc0RFbnRyZXByaXNlID0gXCJBcnRpc2FucywgY29tbWVyw6dhbnRzIGV0IGNoZWZzIGQnZW50cmVwcmlzZVwiLFxuICBBdXRyZXNQZXJzb25uZXNTYW5zQWN0aXZpdMOpUHJvZmVzc2lvbm5lbGxlID0gXCJBdXRyZXMgcGVyc29ubmVzIHNhbnMgYWN0aXZpdMOpIHByb2Zlc3Npb25uZWxsZVwiLFxuICBDYWRyZXNFdFByb2Zlc3Npb25zSW50ZWxsZWN0dWVsbGVzU3Vww6lyaWV1cmVzID0gXCJDYWRyZXMgZXQgcHJvZmVzc2lvbnMgaW50ZWxsZWN0dWVsbGVzIHN1cMOpcmlldXJlc1wiLFxuICBFbXBsb3nDqXMgPSBcIkVtcGxvecOpc1wiLFxuICBPdXZyaWVycyA9IFwiT3V2cmllcnNcIixcbiAgUHJvZmVzc2lvbnNJbnRlcm3DqWRpYWlyZXMgPSBcIlByb2Zlc3Npb25zIEludGVybcOpZGlhaXJlc1wiLFxuICBSZXRyYWl0w6lzID0gXCJSZXRyYWl0w6lzXCIsXG4gIFNhbnNQcm9mZXNzaW9uRMOpY2xhcsOpZSA9IFwiU2FucyBwcm9mZXNzaW9uIGTDqWNsYXLDqWVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBvcnQge1xuICB1aWQ6IHN0cmluZ1xuICBjaHJvbm90YWc6IHN0cmluZ1xuICBsZWdpc2xhdHVyZTogc3RyaW5nXG4gIHJlZkFjdGV1cjogc3RyaW5nXG4gIGRhdGVDcmVhdGlvbjogRGF0ZVxuICBkYXRlUHVibGljYXRpb246IERhdGVcbiAgcG9ydGVlOiBDb2RlRXRMaWJlbGxlXG4gIGxlY3R1cmU6IENvZGVFdExpYmVsbGVcbiAgaW5zdGFuY2U6IENvZGVFdExpYmVsbGVcbiAgY2libGU6IENpYmxlXG4gIGV4cGxpY2F0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2libGUge1xuICB0eXBlOiBDb2RlRXRMaWJlbGxlXG4gIHJlZmVyZW5jZVRleHR1ZWxsZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUV0TGliZWxsZSB7XG4gIGNvZGU6IHN0cmluZ1xuICBsaWJlbGxlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbmUge1xuICBzY2hlbWFWZXJzaW9uPzogc3RyaW5nXG4gIHhzaVR5cGU/OiBUeXBlT3JnYW5lXG4gIHVpZDogc3RyaW5nXG4gIGNvZGVUeXBlOiBDb2RlVHlwZU9yZ2FuZVxuICBsaWJlbGxlOiBzdHJpbmdcbiAgbGliZWxsZUVkaXRpb24/OiBzdHJpbmdcbiAgbGliZWxsZUFicmVnZTogc3RyaW5nXG4gIGxpYmVsbGVBYnJldjogc3RyaW5nXG4gIHZpTW9EZTogVmlNb0RlXG4gIG9yZ2FuZVBhcmVudFJlZj86IHN0cmluZyAvLyBSZW5hbWVkIGJ5IFRyaWNvdGV1c2VzXG4gIG9yZ2FuZVBhcmVudD86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICByZWdpbWU/OiBSZWdpbWVcbiAgbGVnaXNsYXR1cmU/OiBzdHJpbmdcbiAgc2VjcmV0YXJpYXQ/OiBTZWNyZXRhcmlhdFxuICBudW1lcm8/OiBzdHJpbmdcbiAgbGlldT86IE9yZ2FuZUxpZXVcbiAgcmVnaW1lSnVyaWRpcXVlPzogc3RyaW5nXG4gIHNpdGVJbnRlcm5ldD86IHN0cmluZ1xuICBub21icmVSZXVuaW9uc0FubnVlbGxlcz86IHN0cmluZ1xuICBwb3NpdGlvblBvbGl0aXF1ZT86IFBvc2l0aW9uUG9saXRpcXVlXG4gIHByZXNlYW5jZT86IHN0cmluZ1xuICBjb3VsZXVyQXNzb2NpZWU/OiBzdHJpbmdcbiAgbGlzdGVQYXlzPzogc3RyaW5nW11cbn1cblxuZXhwb3J0IGVudW0gVHlwZU9yZ2FuZSB7XG4gIEdyb3VwZVBvbGl0aXF1ZVR5cGUgPSBcIkdyb3VwZVBvbGl0aXF1ZV90eXBlXCIsXG4gIE9yZ2FuZUNpcmNvbnNjcmlwdGlvblR5cGUgPSBcIk9yZ2FuZUNpcmNvbnNjcmlwdGlvbl90eXBlXCIsXG4gIE9yZ2FuZUV4dGVybmVUeXBlID0gXCJPcmdhbmVFeHRlcm5lX1R5cGVcIixcbiAgT3JnYW5lRXh0cmFQYXJsZW1lbnRhaXJlVHlwZSA9IFwiT3JnYW5lRXh0cmFQYXJsZW1lbnRhaXJlX3R5cGVcIixcbiAgT3JnYW5lUGFybGVtZW50YWlyZUludGVybmF0aW9uYWwgPSBcIk9yZ2FuZVBhcmxlbWVudGFpcmVJbnRlcm5hdGlvbmFsXCIsXG4gIE9yZ2FuZVBhcmxlbWVudGFpcmVUeXBlID0gXCJPcmdhbmVQYXJsZW1lbnRhaXJlX1R5cGVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbmVMaWV1IHtcbiAgcmVnaW9uOiBSZWdpb25cbiAgZGVwYXJ0ZW1lbnQ6IERlcGFydGVtZW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwYXJ0ZW1lbnQge1xuICBjb2RlTmF0dXJlRGVwPzogQ29kZU5hdHVyZURlcFxuICBjb2RlPzogc3RyaW5nXG4gIGxpYmVsbGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQ29kZU5hdHVyZURlcCB7XG4gIEggPSBcIkhcIixcbiAgTSA9IFwiTVwiLFxuICBPID0gXCJPXCIsXG4gIFQgPSBcIlRcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpb24ge1xuICB0eXBlPzogUmVnaW9uVHlwZVxuICBsaWJlbGxlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFBvc2l0aW9uUG9saXRpcXVlIHtcbiAgTWFqb3JpdGFpcmUgPSBcIk1ham9yaXRhaXJlXCIsXG4gIE1pbm9yaXRhaXJlID0gXCJNaW5vcml0YWlyZVwiLFxuICBPcHBvc2l0aW9uID0gXCJPcHBvc2l0aW9uXCIsXG59XG5cbmV4cG9ydCBlbnVtIFJlZ2ltZSB7XG4gIEFzc2VtYmzDqWVDb25zdWx0YXRpdmVQcm92aXNvaXJlID0gXCJBc3NlbWJsw6llIGNvbnN1bHRhdGl2ZSBwcm92aXNvaXJlXCIsXG4gIEFzc2VtYmzDqWVzTmF0aW9uYWxlc0NvbnN0aXR1YW50ZXMgPSBcIkFzc2VtYmzDqWVzIG5hdGlvbmFsZXMgY29uc3RpdHVhbnRlc1wiLFxuICBUaGUzw4htZVLDqXB1YmxpcXVlID0gXCIzw6htZSBSw6lwdWJsaXF1ZVwiLFxuICBUaGU0w4htZVLDqXB1YmxpcXVlID0gXCI0w6htZSBSw6lwdWJsaXF1ZVwiLFxuICBUaGU1w4htZVLDqXB1YmxpcXVlID0gXCI1w6htZSBSw6lwdWJsaXF1ZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlY3JldGFyaWF0IHtcbiAgc2VjcmV0YWlyZTAxPzogc3RyaW5nXG4gIHNlY3JldGFpcmUwMj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpTW9EZSB7XG4gIGRhdGVEZWJ1dD86IERhdGVcbiAgZGF0ZUFncmVtZW50PzogRGF0ZVxuICBkYXRlRmluPzogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBob3RvIHtcbiAgY2hlbWluOiBzdHJpbmdcbiAgY2hlbWluTW9zYWlxdWU6IHN0cmluZ1xuICBoYXV0ZXVyOiBudW1iZXJcbiAgbGFyZ2V1cjogbnVtYmVyXG4gIHhNb3NhaXF1ZTogbnVtYmVyXG4gIHlNb3NhaXF1ZTogbnVtYmVyXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICBwdWJsaWMgc3RhdGljIHRvQWN0ZXVyc0V0T3JnYW5lcyhqc29uOiBzdHJpbmcpOiBBY3RldXJzRXRPcmdhbmVzIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiQWN0ZXVyc0V0T3JnYW5lc1wiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYWN0ZXVyc0V0T3JnYW5lc1RvSnNvbih2YWx1ZTogQWN0ZXVyc0V0T3JnYW5lcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkFjdGV1cnNFdE9yZ2FuZXNcIikpLCBudWxsLCAyKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b0FjdGV1cihqc29uOiBzdHJpbmcpOiBBY3RldXIge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJBY3RldXJcIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFjdGV1clRvSnNvbih2YWx1ZTogQWN0ZXVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQWN0ZXVyXCIpKSwgbnVsbCwgMilcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9PcmdhbmUoanNvbjogc3RyaW5nKTogT3JnYW5lIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiT3JnYW5lXCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBvcmdhbmVUb0pzb24odmFsdWU6IE9yZ2FuZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIk9yZ2FuZVwiKSksIG51bGwsIDIpXG4gIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZFZhbHVlKHR5cDogYW55LCB2YWw6IGFueSwga2V5OiBhbnkgPSBcIlwiKTogbmV2ZXIge1xuICBpZiAoa2V5KSB7XG4gICAgdGhyb3cgRXJyb3IoXG4gICAgICBgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgdHlwLFxuICAgICAgKX0gYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KHZhbCl9YCxcbiAgICApXG4gIH1cbiAgdGhyb3cgRXJyb3IoXG4gICAgYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCxcbiAgKVxufVxuXG5mdW5jdGlvbiBqc29uVG9KU1Byb3BzKHR5cDogYW55KTogYW55IHtcbiAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc29uXSA9IHsga2V5OiBwLmpzLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc29uVG9KUyA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNvblRvSlNcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNUb0pTT04gPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNdID0geyBrZXk6IHAuanNvbiwgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNUb0pTT04gPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzVG9KU09OXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybSh2YWw6IGFueSwgdHlwOiBhbnksIGdldFByb3BzOiBhbnksIGtleTogYW55ID0gXCJcIik6IGFueSB7XG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXA6IHN0cmluZywgdmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5KVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB0eXAgPSB0eXBzW2ldXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcylcbiAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgfVxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtRW51bShjYXNlczogc3RyaW5nW10sIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAoY2FzZXMuaW5kZXhPZih2YWwpICE9PSAtMSkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUoY2FzZXMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBubyBpbnZhbGlkIGVsZW1lbnRzXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBpbnZhbGlkVmFsdWUoXCJhcnJheVwiLCB2YWwpXG4gICAgcmV0dXJuIHZhbC5tYXAoKGVsKSA9PiB0cmFuc2Zvcm0oZWwsIHR5cCwgZ2V0UHJvcHMpKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbClcbiAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwiRGF0ZVwiLCB2YWwpXG4gICAgfVxuICAgIHJldHVybiBkXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QoXG4gICAgcHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LFxuICAgIGFkZGl0aW9uYWw6IGFueSxcbiAgICB2YWw6IGFueSxcbiAgKTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwib2JqZWN0XCIsIHZhbClcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldXG4gICAgICBjb25zdCB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwga2V5KVxuICAgICAgICA/IHZhbFtrZXldXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpXG4gICAgfSlcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMsIGtleSkpIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXkpXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBpZiAodHlwID09PSBcImFueVwiKSByZXR1cm4gdmFsXG4gIGlmICh0eXAgPT09IG51bGwpIHtcbiAgICBpZiAodmFsID09PSBudWxsKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgfVxuICAvLyBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXVxuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKVxuICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIilcbiAgICAgID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpXG4gICAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpXG4gICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpXG4gIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpXG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpXG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcylcbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfVxufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfVxufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICByZXR1cm4geyBwcm9wczogW10sIGFkZGl0aW9uYWwgfVxuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICByZXR1cm4geyByZWY6IG5hbWUgfVxufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gIEFjdGV1cnNFdE9yZ2FuZXM6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm9yZ2FuZXNcIiwganM6IFwib3JnYW5lc1wiLCB0eXA6IGEocihcIk9yZ2FuZVwiKSkgfSxcbiAgICAgIHsganNvbjogXCJhY3RldXJzXCIsIGpzOiBcImFjdGV1cnNcIiwgdHlwOiBhKHIoXCJBY3RldXJcIikpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQWN0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJzY2hlbWFWZXJzaW9uXCIsIGpzOiBcInNjaGVtYVZlcnNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImV0YXRDaXZpbFwiLCBqczogXCJldGF0Q2l2aWxcIiwgdHlwOiByKFwiRXRhdENpdmlsXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicHJvZmVzc2lvblwiLFxuICAgICAgICBqczogXCJwcm9mZXNzaW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJQcm9mZXNzaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidXJpSGF0dnBcIiwganM6IFwidXJpSGF0dnBcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhZHJlc3Nlc1wiLFxuICAgICAgICBqczogXCJhZHJlc3Nlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHUocihcIkFkcmVzc2VFbGVjdHJvbmlxdWVcIiksIHIoXCJBZHJlc3NlUG9zdGFsZVwiKSkpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwibWFuZGF0c1wiLCBqczogXCJtYW5kYXRzXCIsIHR5cDogdSh1bmRlZmluZWQsIGEocihcIk1hbmRhdFwiKSkpIH0sXG4gICAgICB7IGpzb246IFwicGhvdG9cIiwganM6IFwicGhvdG9cIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlBob3RvXCIpKSB9LFxuICAgICAgeyBqc29uOiBcImRlcG9ydHNcIiwganM6IFwiZGVwb3J0c1wiLCB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJEZXBvcnRcIikpKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFkcmVzc2VFbGVjdHJvbmlxdWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlTGliZWxsZVwiLCBqczogXCJ0eXBlTGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJwb2lkc1wiLCBqczogXCJwb2lkc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFkcmVzc2VEZVJhdHRhY2hlbWVudFwiLFxuICAgICAgICBqczogXCJhZHJlc3NlRGVSYXR0YWNoZW1lbnRcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInZhbEVsZWNcIiwganM6IFwidmFsRWxlY1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFkcmVzc2VQb3N0YWxlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ4c2lUeXBlXCIsIGpzOiBcInhzaVR5cGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidHlwZUxpYmVsbGVcIiwganM6IFwidHlwZUxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicG9pZHNcIiwganM6IFwicG9pZHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpbnRpdHVsZVwiLCBqczogXCJpbnRpdHVsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcIm51bWVyb1J1ZVwiLCBqczogXCJudW1lcm9SdWVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJub21SdWVcIiwganM6IFwibm9tUnVlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29tcGxlbWVudEFkcmVzc2VcIixcbiAgICAgICAganM6IFwiY29tcGxlbWVudEFkcmVzc2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImNvZGVQb3N0YWxcIiwganM6IFwiY29kZVBvc3RhbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInZpbGxlXCIsIGpzOiBcInZpbGxlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRXRhdENpdmlsOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJpZGVudFwiLCBqczogXCJpZGVudFwiLCB0eXA6IHIoXCJJZGVudFwiKSB9LFxuICAgICAgeyBqc29uOiBcImluZm9OYWlzc2FuY2VcIiwganM6IFwiaW5mb05haXNzYW5jZVwiLCB0eXA6IHIoXCJJbmZvTmFpc3NhbmNlXCIpIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZURlY2VzXCIsIGpzOiBcImRhdGVEZWNlc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIElkZW50OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjaXZcIiwganM6IFwiY2l2XCIsIHR5cDogcihcIkNpdlwiKSB9LFxuICAgICAgeyBqc29uOiBcInByZW5vbVwiLCBqczogXCJwcmVub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJhbHBoYVwiLCBqczogXCJhbHBoYVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0cmlncmFtbWVcIiwganM6IFwidHJpZ3JhbW1lXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSW5mb05haXNzYW5jZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZGF0ZU5haXNcIiwganM6IFwiZGF0ZU5haXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICAgIHsganNvbjogXCJ2aWxsZU5haXNcIiwganM6IFwidmlsbGVOYWlzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiZGVwTmFpc1wiLCBqczogXCJkZXBOYWlzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwicGF5c05haXNcIiwganM6IFwicGF5c05haXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBNYW5kYXQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiVHlwZU1hbmRhdFwiKSkgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlT3JnYW5lXCIsIGpzOiBcInR5cGVPcmdhbmVcIiwgdHlwOiByKFwiQ29kZVR5cGVPcmdhbmVcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlRGVidXRcIiwganM6IFwiZGF0ZURlYnV0XCIsIHR5cDogRGF0ZSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRhdGVQdWJsaWNhdGlvblwiLFxuICAgICAgICBqczogXCJkYXRlUHVibGljYXRpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImRhdGVGaW5cIiwganM6IFwiZGF0ZUZpblwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgICAgeyBqc29uOiBcInByZXNlYW5jZVwiLCBqczogXCJwcmVzZWFuY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJub21pblByaW5jaXBhbGVcIiwganM6IFwibm9taW5QcmluY2lwYWxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImluZm9zUXVhbGl0ZVwiLCBqczogXCJpbmZvc1F1YWxpdGVcIiwgdHlwOiByKFwiSW5mb3NRdWFsaXRlXCIpIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lc1JlZnNcIiwganM6IFwib3JnYW5lc1JlZnNcIiwgdHlwOiBhKFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwic3VwcGxlYW50XCIsIGpzOiBcInN1cHBsZWFudFwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiU3VwcGxlYW50XCIpKSB9LFxuICAgICAgeyBqc29uOiBcImVsZWN0aW9uXCIsIGpzOiBcImVsZWN0aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJFbGVjdGlvblwiKSkgfSxcbiAgICAgIHsganNvbjogXCJtYW5kYXR1cmVcIiwganM6IFwibWFuZGF0dXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJNYW5kYXR1cmVcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29sbGFib3JhdGV1cnNcIixcbiAgICAgICAganM6IFwiY29sbGFib3JhdGV1cnNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiQ29sbGFib3JhdGV1clwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJtaXNzaW9uU3VpdmFudGVSZWZcIixcbiAgICAgICAganM6IFwibWlzc2lvblN1aXZhbnRlUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJtaXNzaW9uUHJlY2VkZW50ZVJlZlwiLFxuICAgICAgICBqczogXCJtaXNzaW9uUHJlY2VkZW50ZVJlZlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ29sbGFib3JhdGV1cjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwicXVhbGl0ZVwiLCBqczogXCJxdWFsaXRlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJDaXZcIikpIH0sXG4gICAgICB7IGpzb246IFwicHJlbm9tXCIsIGpzOiBcInByZW5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEVsZWN0aW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJsaWV1XCIsIGpzOiBcImxpZXVcIiwgdHlwOiByKFwiTGlldVwiKSB9LFxuICAgICAgeyBqc29uOiBcImNhdXNlTWFuZGF0XCIsIGpzOiBcImNhdXNlTWFuZGF0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicmVmQ2lyY29uc2NyaXB0aW9uXCIsXG4gICAgICAgIGpzOiBcInJlZkNpcmNvbnNjcmlwdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTGlldTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwicmVnaW9uXCIsIGpzOiBcInJlZ2lvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInJlZ2lvblR5cGVcIixcbiAgICAgICAganM6IFwicmVnaW9uVHlwZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUmVnaW9uVHlwZVwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImRlcGFydGVtZW50XCIsIGpzOiBcImRlcGFydGVtZW50XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibnVtRGVwYXJ0ZW1lbnRcIiwganM6IFwibnVtRGVwYXJ0ZW1lbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJudW1DaXJjb1wiLCBqczogXCJudW1DaXJjb1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEluZm9zUXVhbGl0ZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY29kZVF1YWxpdGVcIiwganM6IFwiY29kZVF1YWxpdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWJRdWFsaXRlXCIsIGpzOiBcImxpYlF1YWxpdGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibGliUXVhbGl0ZVNleFwiLCBqczogXCJsaWJRdWFsaXRlU2V4XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTWFuZGF0dXJlOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkYXRlUHJpc2VGb25jdGlvblwiLFxuICAgICAgICBqczogXCJkYXRlUHJpc2VGb25jdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiY2F1c2VGaW5cIiwganM6IFwiY2F1c2VGaW5cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwcmVtaWVyZUVsZWN0aW9uXCIsXG4gICAgICAgIGpzOiBcInByZW1pZXJlRWxlY3Rpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInBsYWNlSGVtaWN5Y2xlXCIsIGpzOiBcInBsYWNlSGVtaWN5Y2xlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibWFuZGF0UmVtcGxhY2VSZWZcIixcbiAgICAgICAganM6IFwibWFuZGF0UmVtcGxhY2VSZWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm1hdHJpY3VsZVZvdGVcIiwganM6IFwibWF0cmljdWxlVm90ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFN1cHBsZWFudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZGF0ZURlYnV0XCIsIGpzOiBcImRhdGVEZWJ1dFwiLCB0eXA6IERhdGUgfSxcbiAgICAgIHsganNvbjogXCJkYXRlRmluXCIsIGpzOiBcImRhdGVGaW5cIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICAgIHsganNvbjogXCJzdXBwbGVhbnRSZWZcIiwganM6IFwic3VwcGxlYW50UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFByb2Zlc3Npb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImxpYmVsbGVDb3VyYW50XCIsIGpzOiBcImxpYmVsbGVDb3VyYW50XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwic29jUHJvY0luc2VlXCIsIGpzOiBcInNvY1Byb2NJbnNlZVwiLCB0eXA6IHIoXCJTb2NQcm9jSW5zZWVcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBTb2NQcm9jSW5zZWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNhdFNvY1Byb1wiLCBqczogXCJjYXRTb2NQcm9cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJmYW1Tb2NQcm9cIiwganM6IFwiZmFtU29jUHJvXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJGYW1Tb2NQcm9cIikpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGVwb3J0OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNocm9ub3RhZ1wiLCBqczogXCJjaHJvbm90YWdcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicmVmQWN0ZXVyXCIsIGpzOiBcInJlZkFjdGV1clwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJkYXRlQ3JlYXRpb25cIiwganM6IFwiZGF0ZUNyZWF0aW9uXCIsIHR5cDogRGF0ZSB9LFxuICAgICAgeyBqc29uOiBcImRhdGVQdWJsaWNhdGlvblwiLCBqczogXCJkYXRlUHVibGljYXRpb25cIiwgdHlwOiBEYXRlIH0sXG4gICAgICB7IGpzb246IFwicG9ydGVlXCIsIGpzOiBcInBvcnRlZVwiLCB0eXA6IHIoXCJDb2RlRXRMaWJlbGxlXCIpIH0sXG4gICAgICB7IGpzb246IFwibGVjdHVyZVwiLCBqczogXCJsZWN0dXJlXCIsIHR5cDogcihcIkNvZGVFdExpYmVsbGVcIikgfSxcbiAgICAgIHsganNvbjogXCJpbnN0YW5jZVwiLCBqczogXCJpbnN0YW5jZVwiLCB0eXA6IHIoXCJDb2RlRXRMaWJlbGxlXCIpIH0sXG4gICAgICB7IGpzb246IFwiY2libGVcIiwganM6IFwiY2libGVcIiwgdHlwOiByKFwiQ2libGVcIikgfSxcbiAgICAgIHsganNvbjogXCJleHBsaWNhdGlvblwiLCBqczogXCJleHBsaWNhdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENpYmxlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiByKFwiQ29kZUV0TGliZWxsZVwiKSB9LFxuICAgICAgeyBqc29uOiBcInJlZmVyZW5jZVRleHR1ZWxsZVwiLCBqczogXCJyZWZlcmVuY2VUZXh0dWVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ29kZUV0TGliZWxsZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBPcmdhbmU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInNjaGVtYVZlcnNpb25cIiwganM6IFwic2NoZW1hVmVyc2lvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiVHlwZU9yZ2FuZVwiKSkgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNvZGVUeXBlXCIsIGpzOiBcImNvZGVUeXBlXCIsIHR5cDogcihcIkNvZGVUeXBlT3JnYW5lXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVFZGl0aW9uXCIsIGpzOiBcImxpYmVsbGVFZGl0aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUFicmVnZVwiLCBqczogXCJsaWJlbGxlQWJyZWdlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVBYnJldlwiLCBqczogXCJsaWJlbGxlQWJyZXZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidmlNb0RlXCIsIGpzOiBcInZpTW9EZVwiLCB0eXA6IHIoXCJWaU1vRGVcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJvcmdhbmVQYXJlbnRSZWZcIixcbiAgICAgICAganM6IFwib3JnYW5lUGFyZW50UmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJyZWdpbWVcIiwganM6IFwicmVnaW1lXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJSZWdpbWVcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibGVnaXNsYXR1cmVcIixcbiAgICAgICAganM6IFwibGVnaXNsYXR1cmVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNlY3JldGFyaWF0XCIsXG4gICAgICAgIGpzOiBcInNlY3JldGFyaWF0XCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJTZWNyZXRhcmlhdFwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm51bWVyb1wiLCBqczogXCJudW1lcm9cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWV1XCIsIGpzOiBcImxpZXVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk9yZ2FuZUxpZXVcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicmVnaW1lSnVyaWRpcXVlXCIsXG4gICAgICAgIGpzOiBcInJlZ2ltZUp1cmlkaXF1ZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwic2l0ZUludGVybmV0XCIsXG4gICAgICAgIGpzOiBcInNpdGVJbnRlcm5ldFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibm9tYnJlUmV1bmlvbnNBbm51ZWxsZXNcIixcbiAgICAgICAganM6IFwibm9tYnJlUmV1bmlvbnNBbm51ZWxsZXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInBvc2l0aW9uUG9saXRpcXVlXCIsXG4gICAgICAgIGpzOiBcInBvc2l0aW9uUG9saXRpcXVlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJQb3NpdGlvblBvbGl0aXF1ZVwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInByZXNlYW5jZVwiLCBqczogXCJwcmVzZWFuY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJjb3VsZXVyQXNzb2NpZWVcIiwganM6IFwiY291bGV1ckFzc29jaWVlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibGlzdGVQYXlzXCIsXG4gICAgICAgIGpzOiBcImxpc3RlUGF5c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgT3JnYW5lTGlldTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwicmVnaW9uXCIsIGpzOiBcInJlZ2lvblwiLCB0eXA6IHIoXCJSZWdpb25cIikgfSxcbiAgICAgIHsganNvbjogXCJkZXBhcnRlbWVudFwiLCBqczogXCJkZXBhcnRlbWVudFwiLCB0eXA6IHIoXCJEZXBhcnRlbWVudFwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlcGFydGVtZW50OiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjb2RlTmF0dXJlRGVwXCIsXG4gICAgICAgIGpzOiBcImNvZGVOYXR1cmVEZXBcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkNvZGVOYXR1cmVEZXBcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBSZWdpb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiUmVnaW9uVHlwZVwiKSkgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBTZWNyZXRhcmlhdDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwic2VjcmV0YWlyZTAxXCIsIGpzOiBcInNlY3JldGFpcmUwMVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInNlY3JldGFpcmUwMlwiLCBqczogXCJzZWNyZXRhaXJlMDJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBWaU1vRGU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImRhdGVEZWJ1dFwiLCBqczogXCJkYXRlRGVidXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICAgIHsganNvbjogXCJkYXRlQWdyZW1lbnRcIiwganM6IFwiZGF0ZUFncmVtZW50XCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZUZpblwiLCBqczogXCJkYXRlRmluXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGhvdG86IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNoZW1pblwiLCBqczogXCJjaGVtaW5cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiY2hlbWluTW9zYWlxdWVcIiwganM6IFwiY2hlbWluTW9zYWlxdWVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiaGF1dGV1clwiLCBqczogXCJoYXV0ZXVyXCIsIHR5cDogMCB9LFxuICAgICAgeyBqc29uOiBcImxhcmdldXJcIiwganM6IFwibGFyZ2V1clwiLCB0eXA6IDAgfSxcbiAgICAgIHsganNvbjogXCJ4TW9zYWlxdWVcIiwganM6IFwieE1vc2FpcXVlXCIsIHR5cDogMCB9LFxuICAgICAgeyBqc29uOiBcInlNb3NhaXF1ZVwiLCBqczogXCJ5TW9zYWlxdWVcIiwgdHlwOiAwIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ2l2OiBbXCJNLlwiLCBcIk1tZVwiXSxcbiAgVHlwZU1hbmRhdDogW1xuICAgIFwiTWFuZGF0QXZlY1N1cHBsZWFudF9UeXBlXCIsXG4gICAgXCJNYW5kYXRNaXNzaW9uX1R5cGVcIixcbiAgICBcIk1hbmRhdFBhcmxlbWVudGFpcmVfdHlwZVwiLFxuICAgIFwiTWFuZGF0U2ltcGxlX1R5cGVcIixcbiAgXSxcbiAgUmVnaW9uVHlwZTogW1xuICAgIFwiQ29sbGVjdGl2aXTDqXMgZCdvdXRyZS1tZXIgZXQgTm91dmVsbGUtQ2Fsw6lkb25pZVwiLFxuICAgIFwiRG9tXCIsXG4gICAgXCJGcmFuw6dhaXMgw6l0YWJsaXMgaG9ycyBkZSBGcmFuY2VcIixcbiAgICBcIk3DqXRyb3BvbGl0YWluXCIsXG4gIF0sXG4gIENvZGVUeXBlT3JnYW5lOiBbXG4gICAgXCJBUElcIixcbiAgICBcIkFTU0VNQkxFRVwiLFxuICAgIFwiQ0lSQ09OU0NSSVBUSU9OXCIsXG4gICAgXCJDSlJcIixcbiAgICBcIkNNUFwiLFxuICAgIFwiQ05QRVwiLFxuICAgIFwiQ05QU1wiLFxuICAgIFwiQ09NTkxcIixcbiAgICBcIkNPTVBFUlwiLFxuICAgIFwiQ09NU0VOQVRcIixcbiAgICBcIkNPTVNQU0VOQVRcIixcbiAgICBcIkNPTkZQVFwiLFxuICAgIFwiQ09OU1RJVFVcIixcbiAgICBcIkRFTEVHXCIsXG4gICAgXCJERUxFR0JVUkVBVVwiLFxuICAgIFwiREVMRUdTRU5BVFwiLFxuICAgIFwiR0FcIixcbiAgICBcIkdFXCIsXG4gICAgXCJHRVZJXCIsXG4gICAgXCJHT1VWRVJORU1FTlRcIixcbiAgICBcIkdQXCIsXG4gICAgXCJHUk9VUEVTRU5BVFwiLFxuICAgIFwiSENKXCIsXG4gICAgXCJNSU5JU1RFUkVcIixcbiAgICBcIk1JU0lORk9cIixcbiAgICBcIk1JU0lORk9DT01cIixcbiAgICBcIk1JU0lORk9QUkVcIixcbiAgICBcIk9GRlBBUlwiLFxuICAgIFwiT1JHQUlOVFwiLFxuICAgIFwiT1JHRVhUUEFSTFwiLFxuICAgIFwiUEFSUE9MXCIsXG4gICAgXCJQUkVTUkVQXCIsXG4gICAgXCJTRU5BVFwiLFxuICBdLFxuICBGYW1Tb2NQcm86IFtcbiAgICBcIkFncmljdWx0ZXVycyBleHBsb2l0YW50c1wiLFxuICAgIFwiQXJ0aXNhbnMsIGNvbW1lcsOnYW50cyBldCBjaGVmcyBkJ2VudHJlcHJpc2VcIixcbiAgICBcIkF1dHJlcyBwZXJzb25uZXMgc2FucyBhY3Rpdml0w6kgcHJvZmVzc2lvbm5lbGxlXCIsXG4gICAgXCJDYWRyZXMgZXQgcHJvZmVzc2lvbnMgaW50ZWxsZWN0dWVsbGVzIHN1cMOpcmlldXJlc1wiLFxuICAgIFwiRW1wbG95w6lzXCIsXG4gICAgXCJPdXZyaWVyc1wiLFxuICAgIFwiUHJvZmVzc2lvbnMgSW50ZXJtw6lkaWFpcmVzXCIsXG4gICAgXCJSZXRyYWl0w6lzXCIsXG4gICAgXCJTYW5zIHByb2Zlc3Npb24gZMOpY2xhcsOpZVwiLFxuICBdLFxuICBUeXBlT3JnYW5lOiBbXG4gICAgXCJHcm91cGVQb2xpdGlxdWVfdHlwZVwiLFxuICAgIFwiT3JnYW5lQ2lyY29uc2NyaXB0aW9uX3R5cGVcIixcbiAgICBcIk9yZ2FuZUV4dGVybmVfVHlwZVwiLFxuICAgIFwiT3JnYW5lRXh0cmFQYXJsZW1lbnRhaXJlX3R5cGVcIixcbiAgICBcIk9yZ2FuZVBhcmxlbWVudGFpcmVJbnRlcm5hdGlvbmFsXCIsXG4gICAgXCJPcmdhbmVQYXJsZW1lbnRhaXJlX1R5cGVcIixcbiAgXSxcbiAgQ29kZU5hdHVyZURlcDogW1wiSFwiLCBcIk1cIiwgXCJPXCIsIFwiVFwiXSxcbiAgUG9zaXRpb25Qb2xpdGlxdWU6IFtcIk1ham9yaXRhaXJlXCIsIFwiTWlub3JpdGFpcmVcIiwgXCJPcHBvc2l0aW9uXCJdLFxuICBSZWdpbWU6IFtcbiAgICBcIkFzc2VtYmzDqWUgY29uc3VsdGF0aXZlIHByb3Zpc29pcmVcIixcbiAgICBcIkFzc2VtYmzDqWVzIG5hdGlvbmFsZXMgY29uc3RpdHVhbnRlc1wiLFxuICAgIFwiM8OobWUgUsOpcHVibGlxdWVcIixcbiAgICBcIjTDqG1lIFLDqXB1YmxpcXVlXCIsXG4gICAgXCI1w6htZSBSw6lwdWJsaXF1ZVwiLFxuICBdLFxufVxuIl0sIm1hcHBpbmdzIjoi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