@tricoteuses/assemblee 1.10.5 → 2.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 (400) hide show
  1. package/README.md +8 -1
  2. package/lib/amendements-CN7bRFdP.js +259 -0
  3. package/lib/amendements-CN7bRFdP.js.map +1 -0
  4. package/lib/amendements-Cg1lyCBp.js +735 -0
  5. package/lib/amendements-Cg1lyCBp.js.map +1 -0
  6. package/lib/api.d.ts +1 -0
  7. package/lib/api.d.ts.map +1 -0
  8. package/lib/cleaners/actes_legislatifs.d.ts +1 -0
  9. package/lib/cleaners/actes_legislatifs.d.ts.map +1 -0
  10. package/lib/cleaners/acteurs.d.ts +1 -0
  11. package/lib/cleaners/acteurs.d.ts.map +1 -0
  12. package/lib/cleaners/amendements.d.ts +1 -0
  13. package/lib/cleaners/amendements.d.ts.map +1 -0
  14. package/lib/cleaners/debats.d.ts +1 -0
  15. package/lib/cleaners/debats.d.ts.map +1 -0
  16. package/lib/cleaners/documents.d.ts +1 -0
  17. package/lib/cleaners/documents.d.ts.map +1 -0
  18. package/lib/cleaners/dossiers_legislatifs.d.ts +1 -0
  19. package/lib/cleaners/dossiers_legislatifs.d.ts.map +1 -0
  20. package/lib/cleaners/index.d.ts +10 -9
  21. package/lib/cleaners/index.d.ts.map +1 -0
  22. package/lib/cleaners/organes.d.ts +1 -0
  23. package/lib/cleaners/organes.d.ts.map +1 -0
  24. package/lib/cleaners/questions.d.ts +1 -0
  25. package/lib/cleaners/questions.d.ts.map +1 -0
  26. package/lib/cleaners/reunions.d.ts +1 -0
  27. package/lib/cleaners/reunions.d.ts.map +1 -0
  28. package/lib/cleaners/scrutins.d.ts +1 -0
  29. package/lib/cleaners/scrutins.d.ts.map +1 -0
  30. package/lib/cleaners/xml.d.ts +1 -0
  31. package/lib/cleaners/xml.d.ts.map +1 -0
  32. package/lib/cleaners.js +1138 -0
  33. package/lib/cleaners.js.map +1 -0
  34. package/lib/datasets.d.ts +4 -3
  35. package/lib/datasets.d.ts.map +1 -0
  36. package/lib/dates.d.ts +1 -0
  37. package/lib/dates.d.ts.map +1 -0
  38. package/lib/debats-BwZYgzXe.js +3978 -0
  39. package/lib/debats-BwZYgzXe.js.map +1 -0
  40. package/lib/dossiers_legislatifs.d.ts +3 -2
  41. package/lib/dossiers_legislatifs.d.ts.map +1 -0
  42. package/lib/file_systems.d.ts +1 -0
  43. package/lib/file_systems.d.ts.map +1 -0
  44. package/lib/git.d.ts +1 -0
  45. package/lib/git.d.ts.map +1 -0
  46. package/lib/index.d.ts +18 -22
  47. package/lib/index.d.ts.map +1 -0
  48. package/lib/index.js +1916 -285
  49. package/lib/index.js.map +1 -0
  50. package/lib/inserters.d.ts +6 -5
  51. package/lib/inserters.d.ts.map +1 -0
  52. package/lib/loaders.d.ts +13 -12
  53. package/lib/loaders.d.ts.map +1 -0
  54. package/lib/loaders.js +812 -1516
  55. package/lib/loaders.js.map +1 -0
  56. package/lib/logger.d.ts +1 -0
  57. package/lib/logger.d.ts.map +1 -0
  58. package/lib/organes.d.ts +2 -1
  59. package/lib/organes.d.ts.map +1 -0
  60. package/lib/parse-CzW8NHW5.js +2850 -0
  61. package/lib/parse-CzW8NHW5.js.map +1 -0
  62. package/lib/parsers/index.d.ts +3 -3
  63. package/lib/parsers/index.d.ts.map +1 -0
  64. package/lib/parsers/plf.d.ts +2 -0
  65. package/lib/parsers/plf.d.ts.map +1 -0
  66. package/lib/parsers/recherche_amendements.d.ts +3 -2
  67. package/lib/parsers/recherche_amendements.d.ts.map +1 -0
  68. package/lib/parsers/textes_lois.d.ts +2 -23
  69. package/lib/parsers/textes_lois.d.ts.map +1 -0
  70. package/lib/parsers.js +393 -0
  71. package/lib/parsers.js.map +1 -0
  72. package/lib/raw_types/acteurs_et_organes.d.ts +1 -0
  73. package/lib/raw_types/acteurs_et_organes.d.ts.map +1 -0
  74. package/lib/raw_types/agendas.d.ts +1 -0
  75. package/lib/raw_types/agendas.d.ts.map +1 -0
  76. package/lib/raw_types/amendements.d.ts +1 -0
  77. package/lib/raw_types/amendements.d.ts.map +1 -0
  78. package/lib/raw_types/debats.d.ts +3 -2
  79. package/lib/raw_types/debats.d.ts.map +1 -0
  80. package/lib/raw_types/dossiers_legislatifs.d.ts +2 -1
  81. package/lib/raw_types/dossiers_legislatifs.d.ts.map +1 -0
  82. package/lib/raw_types/questions.d.ts +1 -0
  83. package/lib/raw_types/questions.d.ts.map +1 -0
  84. package/lib/raw_types/scrutins.d.ts +1 -0
  85. package/lib/raw_types/scrutins.d.ts.map +1 -0
  86. package/lib/schemas/acteurs_et_organes.d.json +982 -0
  87. package/lib/schemas/acteurs_et_organes.json +1166 -0
  88. package/lib/schemas/agendas.d.json +1561 -0
  89. package/lib/schemas/agendas.json +1745 -0
  90. package/lib/schemas/amendements.d.json +1901 -0
  91. package/lib/schemas/amendements.json +2085 -0
  92. package/lib/schemas/debats.d.json +623 -0
  93. package/lib/schemas/debats.json +842 -0
  94. package/lib/schemas/dossiers_legislatifs.d.json +3690 -0
  95. package/lib/schemas/dossiers_legislatifs.json +3874 -0
  96. package/lib/schemas/legislatures.d.json +17 -0
  97. package/lib/schemas/legislatures.json +17 -0
  98. package/lib/schemas/questions.d.json +520 -0
  99. package/lib/schemas/questions.json +704 -0
  100. package/lib/schemas/scrutins.d.json +517 -0
  101. package/lib/schemas/scrutins.json +701 -0
  102. package/lib/scripts/add_links_to_documents.d.ts +2 -0
  103. package/lib/scripts/add_links_to_documents.d.ts.map +1 -0
  104. package/lib/scripts/clean_reorganized_data.d.ts +1 -0
  105. package/lib/scripts/clean_reorganized_data.d.ts.map +1 -0
  106. package/lib/scripts/copy-schemas.d.ts +2 -0
  107. package/lib/scripts/copy-schemas.d.ts.map +1 -0
  108. package/lib/scripts/diff_amendements.d.ts +1 -0
  109. package/lib/scripts/diff_amendements.d.ts.map +1 -0
  110. package/lib/scripts/document_dossiers_legislatifs.d.ts +1 -0
  111. package/lib/scripts/document_dossiers_legislatifs.d.ts.map +1 -0
  112. package/lib/scripts/generate-json-schemas.d.ts +2 -0
  113. package/lib/scripts/generate-json-schemas.d.ts.map +1 -0
  114. package/lib/scripts/get_today_reunions.d.ts +1 -0
  115. package/lib/scripts/get_today_reunions.d.ts.map +1 -0
  116. package/lib/scripts/merge_scrutins.d.ts +1 -0
  117. package/lib/scripts/merge_scrutins.d.ts.map +1 -0
  118. package/lib/scripts/process_open_dataset.d.ts +1 -0
  119. package/lib/scripts/process_open_dataset.d.ts.map +1 -0
  120. package/lib/scripts/raw_types_from_amendements.d.ts +1 -0
  121. package/lib/scripts/raw_types_from_amendements.d.ts.map +1 -0
  122. package/lib/scripts/reorganize_data.d.ts +1 -0
  123. package/lib/scripts/reorganize_data.d.ts.map +1 -0
  124. package/lib/scripts/retrieve_deputes_photos.d.ts +2 -1
  125. package/lib/scripts/retrieve_deputes_photos.d.ts.map +1 -0
  126. package/lib/scripts/retrieve_documents.d.ts +1 -0
  127. package/lib/scripts/retrieve_documents.d.ts.map +1 -0
  128. package/lib/scripts/retrieve_open_data.d.ts +1 -0
  129. package/lib/scripts/retrieve_open_data.d.ts.map +1 -0
  130. package/lib/scripts/retrieve_pending_amendments.d.ts +1 -0
  131. package/lib/scripts/retrieve_pending_amendments.d.ts.map +1 -0
  132. package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
  133. package/lib/scripts/retrieve_senateurs_photos.d.ts.map +1 -0
  134. package/lib/scripts/shared/cli_helpers.d.ts +1 -0
  135. package/lib/scripts/shared/cli_helpers.d.ts.map +1 -0
  136. package/lib/scripts/test_iter_load.d.ts +1 -0
  137. package/lib/scripts/test_iter_load.d.ts.map +1 -0
  138. package/lib/scripts/test_load.d.ts +1 -0
  139. package/lib/scripts/test_load.d.ts.map +1 -0
  140. package/lib/scripts/test_load_big_files.d.ts +1 -0
  141. package/lib/scripts/test_load_big_files.d.ts.map +1 -0
  142. package/lib/scripts/validate_json.d.ts +1 -0
  143. package/lib/scripts/validate_json.d.ts.map +1 -0
  144. package/lib/shared_types/codes_actes.d.ts +1 -0
  145. package/lib/shared_types/codes_actes.d.ts.map +1 -0
  146. package/lib/strings.d.ts +1 -0
  147. package/lib/strings.d.ts.map +1 -0
  148. package/lib/types/acteurs_et_organes.d.ts +341 -0
  149. package/lib/types/acteurs_et_organes.d.ts.map +1 -0
  150. package/lib/types/agendas.d.ts +237 -10
  151. package/lib/types/agendas.d.ts.map +1 -0
  152. package/lib/types/amendements.d.ts +277 -1
  153. package/lib/types/amendements.d.ts.map +1 -0
  154. package/lib/types/debats.d.ts +53 -2
  155. package/lib/types/debats.d.ts.map +1 -0
  156. package/lib/types/dossiers_legislatifs.d.ts +404 -9
  157. package/lib/types/dossiers_legislatifs.d.ts.map +1 -0
  158. package/lib/types/legislatures.d.ts +1 -0
  159. package/lib/types/legislatures.d.ts.map +1 -0
  160. package/lib/types/questions.d.ts +100 -2
  161. package/lib/types/questions.d.ts.map +1 -0
  162. package/lib/types/scrutins.d.ts +102 -0
  163. package/lib/types/scrutins.d.ts.map +1 -0
  164. package/lib/urls.d.ts +3 -2
  165. package/lib/urls.d.ts.map +1 -0
  166. package/package.json +31 -95
  167. package/lib/api.js +0 -52
  168. package/lib/api.mjs +0 -45
  169. package/lib/bugs/acteur-00010/plugin.test.d.ts +0 -1
  170. package/lib/bugs/acteur-00010/plugin.test.js +0 -90
  171. package/lib/bugs/acteur-00010/plugin.test.mjs +0 -33
  172. package/lib/bugs/acteur-00010.d.ts +0 -7
  173. package/lib/bugs/acteur-00010.js +0 -116
  174. package/lib/bugs/acteur-00010.mjs +0 -26
  175. package/lib/bugs/agenda-00002/plugin.test.d.ts +0 -1
  176. package/lib/bugs/agenda-00002/plugin.test.js +0 -124
  177. package/lib/bugs/agenda-00002/plugin.test.mjs +0 -50
  178. package/lib/bugs/agenda-00002.d.ts +0 -15
  179. package/lib/bugs/agenda-00002.js +0 -406
  180. package/lib/bugs/agenda-00002.mjs +0 -172
  181. package/lib/bugs/agenda-00008/plugin.test.d.ts +0 -1
  182. package/lib/bugs/agenda-00008/plugin.test.js +0 -92
  183. package/lib/bugs/agenda-00008/plugin.test.mjs +0 -31
  184. package/lib/bugs/agenda-00008.d.ts +0 -7
  185. package/lib/bugs/agenda-00008.js +0 -123
  186. package/lib/bugs/agenda-00008.mjs +0 -26
  187. package/lib/bugs/agenda-00011/plugin.test.d.ts +0 -1
  188. package/lib/bugs/agenda-00011/plugin.test.js +0 -263
  189. package/lib/bugs/agenda-00011/plugin.test.mjs +0 -152
  190. package/lib/bugs/agenda-00011.d.ts +0 -16
  191. package/lib/bugs/agenda-00011.js +0 -333
  192. package/lib/bugs/agenda-00011.mjs +0 -125
  193. package/lib/bugs.d.ts +0 -21
  194. package/lib/bugs.js +0 -452
  195. package/lib/bugs.mjs +0 -70
  196. package/lib/cleaners/actes_legislatifs.js +0 -315
  197. package/lib/cleaners/actes_legislatifs.mjs +0 -253
  198. package/lib/cleaners/acteurs.js +0 -265
  199. package/lib/cleaners/acteurs.mjs +0 -180
  200. package/lib/cleaners/amendements.js +0 -294
  201. package/lib/cleaners/amendements.mjs +0 -227
  202. package/lib/cleaners/debats.js +0 -12
  203. package/lib/cleaners/debats.mjs +0 -5
  204. package/lib/cleaners/documents.js +0 -205
  205. package/lib/cleaners/documents.mjs +0 -133
  206. package/lib/cleaners/dossiers_legislatifs.js +0 -131
  207. package/lib/cleaners/dossiers_legislatifs.mjs +0 -70
  208. package/lib/cleaners/index.js +0 -70
  209. package/lib/cleaners/index.mjs +0 -10
  210. package/lib/cleaners/organes.js +0 -65
  211. package/lib/cleaners/organes.mjs +0 -48
  212. package/lib/cleaners/questions.js +0 -12
  213. package/lib/cleaners/questions.mjs +0 -5
  214. package/lib/cleaners/reunions.js +0 -312
  215. package/lib/cleaners/reunions.mjs +0 -255
  216. package/lib/cleaners/scrutins.js +0 -340
  217. package/lib/cleaners/scrutins.mjs +0 -221
  218. package/lib/cleaners/xml.js +0 -74
  219. package/lib/cleaners/xml.mjs +0 -59
  220. package/lib/datasets.js +0 -837
  221. package/lib/datasets.mjs +0 -755
  222. package/lib/dates.js +0 -124
  223. package/lib/dates.mjs +0 -100
  224. package/lib/dossiers_legislatifs.js +0 -346
  225. package/lib/dossiers_legislatifs.mjs +0 -208
  226. package/lib/file_systems.js +0 -162
  227. package/lib/file_systems.mjs +0 -62
  228. package/lib/git.js +0 -223
  229. package/lib/git.mjs +0 -151
  230. package/lib/index.mjs +0 -17
  231. package/lib/inserters.js +0 -521
  232. package/lib/inserters.mjs +0 -337
  233. package/lib/loaders.mjs +0 -886
  234. package/lib/logger.js +0 -35
  235. package/lib/logger.mjs +0 -26
  236. package/lib/organes.js +0 -22
  237. package/lib/organes.mjs +0 -15
  238. package/lib/parsers/documents.d.ts +0 -62
  239. package/lib/parsers/documents.js +0 -453
  240. package/lib/parsers/documents.mjs +0 -370
  241. package/lib/parsers/index.js +0 -40
  242. package/lib/parsers/index.mjs +0 -4
  243. package/lib/parsers/recherche_amendements.js +0 -403
  244. package/lib/parsers/recherche_amendements.mjs +0 -167
  245. package/lib/parsers/textes_lois.js +0 -307
  246. package/lib/parsers/textes_lois.mjs +0 -264
  247. package/lib/raw_types/acteurs_et_organes.js +0 -1215
  248. package/lib/raw_types/acteurs_et_organes.mjs +0 -1148
  249. package/lib/raw_types/agendas.js +0 -777
  250. package/lib/raw_types/agendas.mjs +0 -724
  251. package/lib/raw_types/amendements.js +0 -1052
  252. package/lib/raw_types/amendements.mjs +0 -993
  253. package/lib/raw_types/debats.js +0 -630
  254. package/lib/raw_types/debats.mjs +0 -573
  255. package/lib/raw_types/dossiers_legislatifs.js +0 -1529
  256. package/lib/raw_types/dossiers_legislatifs.mjs +0 -1471
  257. package/lib/raw_types/questions.js +0 -469
  258. package/lib/raw_types/questions.mjs +0 -416
  259. package/lib/raw_types/scrutins.js +0 -651
  260. package/lib/raw_types/scrutins.mjs +0 -598
  261. package/lib/schemas/acteur/Acteur.json +0 -56
  262. package/lib/schemas/acteur/AdresseElectronique.json +0 -52
  263. package/lib/schemas/acteur/AdressePostale.json +0 -75
  264. package/lib/schemas/acteur/Civ.json +0 -14
  265. package/lib/schemas/acteur/Collaborateur.json +0 -29
  266. package/lib/schemas/acteur/EtatCivil.json +0 -51
  267. package/lib/schemas/acteur/Ident.json +0 -40
  268. package/lib/schemas/acteur/Lieu.json +0 -66
  269. package/lib/schemas/acteur/Mandat.json +0 -192
  270. package/lib/schemas/acteur/Profession.json +0 -46
  271. package/lib/schemas/agenda/Agenda.json +0 -318
  272. package/lib/schemas/agenda/CycleDeVie.json +0 -45
  273. package/lib/schemas/agenda/PointOdj.json +0 -82
  274. package/lib/schemas/amendement/Amendement.json +0 -246
  275. package/lib/schemas/amendement/Diff.json +0 -25
  276. package/lib/schemas/amendement/DispositifAmdtCredit.json +0 -85
  277. package/lib/schemas/amendement/Identifiant.json +0 -62
  278. package/lib/schemas/amendement/PointeurFragmentTexte.json +0 -127
  279. package/lib/schemas/amendement/Representation.json +0 -67
  280. package/lib/schemas/amendement/Total.json +0 -26
  281. package/lib/schemas/converted_from_type/acteurs_et_organes.json +0 -666
  282. package/lib/schemas/converted_from_type/agendas.json +0 -1100
  283. package/lib/schemas/converted_from_type/amendements.json +0 -3191
  284. package/lib/schemas/converted_from_type/debats.json +0 -682
  285. package/lib/schemas/converted_from_type/deputes.json +0 -26
  286. package/lib/schemas/converted_from_type/dossiers_legislatifs.json +0 -2918
  287. package/lib/schemas/converted_from_type/legislatures.json +0 -16
  288. package/lib/schemas/converted_from_type/questions.json +0 -328
  289. package/lib/schemas/converted_from_type/scrutins.json +0 -393
  290. package/lib/schemas/debat/Contenu.json +0 -75
  291. package/lib/schemas/debat/Debat.json +0 -40
  292. package/lib/schemas/debat/Metadonnees.json +0 -75
  293. package/lib/schemas/debat/Orateur.json +0 -60
  294. package/lib/schemas/debat/Point.json +0 -169
  295. package/lib/schemas/debat/Sommaire.json +0 -71
  296. package/lib/schemas/debat/SommaireElement.json +0 -108
  297. package/lib/schemas/debat/Texte.json +0 -34
  298. package/lib/schemas/document/CodeLibelle.json +0 -25
  299. package/lib/schemas/document/Document.json +0 -385
  300. package/lib/schemas/document/Indexation.json +0 -38
  301. package/lib/schemas/dossier/ActeLegislatif.json +0 -211
  302. package/lib/schemas/dossier/ActeLegislatifBase.json +0 -62
  303. package/lib/schemas/dossier/Agenda.json +0 -23
  304. package/lib/schemas/dossier/ConseilConstitutionnel.json +0 -35
  305. package/lib/schemas/dossier/Decision.json +0 -25
  306. package/lib/schemas/dossier/Dossier.json +0 -124
  307. package/lib/schemas/dossier/EtudeImpact.json +0 -29
  308. package/lib/schemas/dossier/EtudePlf.json +0 -105
  309. package/lib/schemas/dossier/Europe.json +0 -42
  310. package/lib/schemas/dossier/FamCodeLibelle.json +0 -25
  311. package/lib/schemas/dossier/InfoJO.json +0 -23
  312. package/lib/schemas/dossier/Initiateur.json +0 -36
  313. package/lib/schemas/dossier/Motion.json +0 -27
  314. package/lib/schemas/dossier/Promulgation.json +0 -62
  315. package/lib/schemas/dossier/Rapporteur.json +0 -36
  316. package/lib/schemas/dossier/Texte.json +0 -47
  317. package/lib/schemas/organe/CodeTypeOrgane.json +0 -43
  318. package/lib/schemas/organe/Organe.json +0 -136
  319. package/lib/schemas/organe/ViMoDe.json +0 -28
  320. package/lib/schemas/question/Auteur.json +0 -58
  321. package/lib/schemas/question/Cloture.json +0 -28
  322. package/lib/schemas/question/InfoJO.json +0 -40
  323. package/lib/schemas/question/MinAttribElement.json +0 -30
  324. package/lib/schemas/question/Question.json +0 -172
  325. package/lib/schemas/question/Renouvellement.json +0 -17
  326. package/lib/schemas/question/Signalement.json +0 -21
  327. package/lib/schemas/question/Texte.json +0 -24
  328. package/lib/schemas/scrutin/DecompteVoix.json +0 -35
  329. package/lib/schemas/scrutin/Dysfonctionnement.json +0 -50
  330. package/lib/schemas/scrutin/MiseAuPoint.json +0 -53
  331. package/lib/schemas/scrutin/OrganeVotant.json +0 -88
  332. package/lib/schemas/scrutin/Scrutin.json +0 -187
  333. package/lib/schemas/scrutin/Votant.json +0 -37
  334. package/lib/scripts/bugs_helper.d.ts +0 -13
  335. package/lib/scripts/bugs_helper.js +0 -595
  336. package/lib/scripts/bugs_helper.mjs +0 -251
  337. package/lib/scripts/clean_reorganized_data.js +0 -613
  338. package/lib/scripts/clean_reorganized_data.mjs +0 -276
  339. package/lib/scripts/diff_amendements.js +0 -249
  340. package/lib/scripts/diff_amendements.mjs +0 -202
  341. package/lib/scripts/document_dossiers_legislatifs.js +0 -655
  342. package/lib/scripts/document_dossiers_legislatifs.mjs +0 -414
  343. package/lib/scripts/get_today_reunions.js +0 -37
  344. package/lib/scripts/get_today_reunions.mjs +0 -31
  345. package/lib/scripts/merge_scrutins.js +0 -97
  346. package/lib/scripts/merge_scrutins.mjs +0 -47
  347. package/lib/scripts/parse_textes_lois.d.ts +0 -1
  348. package/lib/scripts/parse_textes_lois.js +0 -171
  349. package/lib/scripts/parse_textes_lois.mjs +0 -140
  350. package/lib/scripts/process_open_dataset.js +0 -301
  351. package/lib/scripts/process_open_dataset.mjs +0 -134
  352. package/lib/scripts/raw_types_from_amendements.js +0 -135
  353. package/lib/scripts/raw_types_from_amendements.mjs +0 -134
  354. package/lib/scripts/reorganize_data.js +0 -805
  355. package/lib/scripts/reorganize_data.mjs +0 -517
  356. package/lib/scripts/retrieve_deputes_photos.js +0 -310
  357. package/lib/scripts/retrieve_deputes_photos.mjs +0 -158
  358. package/lib/scripts/retrieve_documents.js +0 -547
  359. package/lib/scripts/retrieve_documents.mjs +0 -242
  360. package/lib/scripts/retrieve_open_data.js +0 -107
  361. package/lib/scripts/retrieve_open_data.mjs +0 -26
  362. package/lib/scripts/retrieve_pending_amendments.js +0 -206
  363. package/lib/scripts/retrieve_pending_amendments.mjs +0 -57
  364. package/lib/scripts/retrieve_senateurs_photos.js +0 -234
  365. package/lib/scripts/retrieve_senateurs_photos.mjs +0 -116
  366. package/lib/scripts/retrieve_textes_lois.d.ts +0 -1
  367. package/lib/scripts/retrieve_textes_lois.js +0 -240
  368. package/lib/scripts/retrieve_textes_lois.mjs +0 -85
  369. package/lib/scripts/shared/cli_helpers.js +0 -89
  370. package/lib/scripts/shared/cli_helpers.mjs +0 -81
  371. package/lib/scripts/test_iter_load.js +0 -155
  372. package/lib/scripts/test_iter_load.mjs +0 -72
  373. package/lib/scripts/test_load.js +0 -26
  374. package/lib/scripts/test_load.mjs +0 -16
  375. package/lib/scripts/test_load_big_files.js +0 -26
  376. package/lib/scripts/test_load_big_files.mjs +0 -16
  377. package/lib/scripts/validate_json.js +0 -353
  378. package/lib/scripts/validate_json.mjs +0 -184
  379. package/lib/shared_types/codes_actes.js +0 -231
  380. package/lib/shared_types/codes_actes.mjs +0 -224
  381. package/lib/strings.js +0 -16
  382. package/lib/strings.mjs +0 -7
  383. package/lib/types/acteurs_et_organes.js +0 -965
  384. package/lib/types/acteurs_et_organes.mjs +0 -906
  385. package/lib/types/agendas.js +0 -628
  386. package/lib/types/agendas.mjs +0 -575
  387. package/lib/types/amendements.js +0 -899
  388. package/lib/types/amendements.mjs +0 -842
  389. package/lib/types/debats.js +0 -619
  390. package/lib/types/debats.mjs +0 -562
  391. package/lib/types/dossiers_legislatifs.js +0 -1188
  392. package/lib/types/dossiers_legislatifs.mjs +0 -1130
  393. package/lib/types/legislatures.js +0 -17
  394. package/lib/types/legislatures.mjs +0 -10
  395. package/lib/types/questions.js +0 -454
  396. package/lib/types/questions.mjs +0 -401
  397. package/lib/types/scrutins.js +0 -556
  398. package/lib/types/scrutins.mjs +0 -503
  399. package/lib/urls.js +0 -325
  400. package/lib/urls.mjs +0 -258
@@ -1,724 +0,0 @@
1
- // To parse this data:
2
- //
3
- // import { Convert, Reunion, Agendas } from "./file";
4
- //
5
- // const reunion = Convert.toReunion(json);
6
- // const agendas = Convert.toAgendas(json);
7
- //
8
- // These functions will throw an error if the JSON doesn't
9
- // match the expected interface, even if the JSON is valid.
10
-
11
- export let ReunionXsiType = /*#__PURE__*/function (ReunionXsiType) {
12
- ReunionXsiType["ReunionCommissionType"] = "reunionCommission_type";
13
- ReunionXsiType["ReunionInitParlementaireType"] = "reunionInitParlementaire_type";
14
- ReunionXsiType["SeanceType"] = "seance_type";
15
- return ReunionXsiType;
16
- }({});
17
- export let PointOdjXsiType = /*#__PURE__*/function (PointOdjXsiType) {
18
- PointOdjXsiType["PodjReunionType"] = "podjReunion_type";
19
- PointOdjXsiType["PodjSeanceConfPresType"] = "podjSeanceConfPres_type";
20
- return PointOdjXsiType;
21
- }({});
22
- export let Etat = /*#__PURE__*/function (Etat) {
23
- Etat["Annul\xE9"] = "Annul\xE9";
24
- Etat["Confirm\xE9"] = "Confirm\xE9";
25
- Etat["Eventuel"] = "Eventuel";
26
- Etat["Supprim\xE9"] = "Supprim\xE9";
27
- return Etat;
28
- }({});
29
- export let NatureTravauxOdj = /*#__PURE__*/function (NatureTravauxOdj) {
30
- NatureTravauxOdj["Odjpr"] = "ODJPR";
31
- NatureTravauxOdj["Odjsn"] = "ODJSN";
32
- return NatureTravauxOdj;
33
- }({});
34
- export let Procedure = /*#__PURE__*/function (Procedure) {
35
- Procedure["DiscussionG\xE9n\xE9raleCommune"] = "discussion g\xE9n\xE9rale commune";
36
- Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle103"] = "proc\xE9dure d'examen simplifi\xE9e-Article 103";
37
- Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle106"] = "proc\xE9dure d'examen simplifi\xE9e-Article 106";
38
- Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle107"] = "proc\xE9dure d'examen simplifi\xE9e-Article 107";
39
- Procedure["Proc\xE9dureDeL\xE9gislationEnCommissionArticle1071"] = "proc\xE9dure de l\xE9gislation en commission-Article 107-1";
40
- return Procedure;
41
- }({});
42
- export let TypePointOdj = /*#__PURE__*/function (TypePointOdj) {
43
- TypePointOdj["AmendementsArt88"] = "Amendements (Art. 88)";
44
- TypePointOdj["AmendementsArt91"] = "Amendements (Art. 91)";
45
- TypePointOdj["Audition"] = "Audition";
46
- TypePointOdj["AuditionMinistre"] = "Audition ministre";
47
- TypePointOdj["AuditionMinistreOuverte\xC0LaPresse"] = "Audition ministre ouverte \xE0 la presse";
48
- TypePointOdj["AuditionOuverte\xC0LaPresse"] = "Audition ouverte \xE0 la presse";
49
- TypePointOdj["Communication"] = "Communication";
50
- TypePointOdj["ConstitutionDeMissionDInformation"] = "Constitution de mission d'information";
51
- TypePointOdj["Discussion"] = "Discussion";
52
- TypePointOdj["D\xE9batDInitiativeParlementaire"] = "D\xE9bat d'initiative parlementaire";
53
- TypePointOdj["D\xE9clarationDuGouvernementSuivieDUnD\xE9bat"] = "D\xE9claration du Gouvernement suivie d'un d\xE9bat";
54
- TypePointOdj["EchangesDeVues"] = "Echanges de vues";
55
- TypePointOdj["Examen"] = "Examen";
56
- TypePointOdj["ExplicationsDeVoteDesGroupesEtVoteParScrutinPublic"] = "Explications de vote des groupes et vote par scrutin public";
57
- TypePointOdj["ExplicationsDeVoteEtVoteParScrutinPublic"] = "Explications de vote et vote par scrutin public";
58
- TypePointOdj["FixationDeLOrdreDuJour"] = "Fixation de l'ordre du jour";
59
- TypePointOdj["NominationBureau"] = "Nomination bureau";
60
- TypePointOdj["NominationCandidatsOrganismeExtraparlementaire"] = "Nomination candidats organisme extraparlementaire";
61
- TypePointOdj["NominationDUnMembreDUneMissionDInformation"] = "Nomination d'un membre d'une mission d'information";
62
- TypePointOdj["NominationRapporteur"] = "Nomination rapporteur";
63
- TypePointOdj["NominationRapporteurDApplication"] = "Nomination rapporteur d'application";
64
- TypePointOdj["NominationRapporteurDInformation"] = "Nomination rapporteur d'information";
65
- TypePointOdj["NominationRapporteurPourAvis"] = "Nomination rapporteur pour avis";
66
- TypePointOdj["OuvertureEtCl\xF4tureDeSession"] = "Ouverture et cl\xF4ture de session";
67
- TypePointOdj["QuestionsAuGouvernement"] = "Questions au Gouvernement";
68
- TypePointOdj["QuestionsOralesSansD\xE9bat"] = "Questions orales sans d\xE9bat";
69
- TypePointOdj["Rapport"] = "Rapport";
70
- TypePointOdj["RapportDInformation"] = "Rapport d'information";
71
- TypePointOdj["RapportPourAvis"] = "Rapport pour avis";
72
- TypePointOdj["SeancesReserveesGroupeOppositionOuMinoritaire"] = "S\xE9ances r\xE9serv\xE9es \xE0 un groupe de l'opposition ou minoritaire";
73
- TypePointOdj["SuiteDeLaDiscussion"] = "Suite de la discussion";
74
- TypePointOdj["TableRonde"] = "Table ronde";
75
- TypePointOdj["VoteParScrutinPublic"] = "Vote par scrutin public";
76
- TypePointOdj["VoteSolennel"] = "Vote solennel";
77
- return TypePointOdj;
78
- }({});
79
- export let FormatReunion = /*#__PURE__*/function (FormatReunion) {
80
- FormatReunion["AuditionExterne"] = "AuditionExterne";
81
- FormatReunion["AuditionParPresidentCommission"] = "AuditionParPresidentCommission";
82
- FormatReunion["AuditionParRapporteur"] = "AuditionParRapporteur";
83
- FormatReunion["Ordinaire"] = "Ordinaire";
84
- return FormatReunion;
85
- }({});
86
- export let Quantieme = /*#__PURE__*/function (Quantieme) {
87
- Quantieme["Deuxi\xE8me"] = "Deuxi\xE8me";
88
- Quantieme["Premi\xE8re"] = "Premi\xE8re";
89
- Quantieme["Troisi\xE8me"] = "Troisi\xE8me";
90
- Quantieme["Unique"] = "Unique";
91
- return Quantieme;
92
- }({});
93
- export let Presence = /*#__PURE__*/function (Presence) {
94
- Presence["Absent"] = "absent";
95
- Presence["Excus\xE9"] = "excus\xE9";
96
- Presence["Pr\xE9sent"] = "pr\xE9sent";
97
- return Presence;
98
- }({});
99
- export let TypeReunion = /*#__PURE__*/function (TypeReunion) {
100
- TypeReunion["Dep"] = "DEP";
101
- TypeReunion["Ga"] = "GA";
102
- TypeReunion["Ge"] = "GE";
103
- TypeReunion["Gevi"] = "GEVI";
104
- TypeReunion["Gp"] = "GP";
105
- TypeReunion["H\xE9Aur\xE9lien"] = "H\xC9 Aur\xE9lien";
106
- return TypeReunion;
107
- }({});
108
- export let Civ = /*#__PURE__*/function (Civ) {
109
- Civ["M"] = "M.";
110
- Civ["Mme"] = "Mme";
111
- return Civ;
112
- }({});
113
- export let UidXsiType = /*#__PURE__*/function (UidXsiType) {
114
- UidXsiType["IdActeurType"] = "IdActeur_type";
115
- UidXsiType["IdPersonneExterneType"] = "IdPersonneExterne_type";
116
- return UidXsiType;
117
- }({});
118
-
119
- // Converts JSON strings to/from your types
120
- // and asserts the results of JSON.parse at runtime
121
- export class Convert {
122
- static toReunion(json) {
123
- return cast(JSON.parse(json), r("Reunion"));
124
- }
125
- static reunionToJson(value) {
126
- return JSON.stringify(uncast(value, r("Reunion")), null, 2);
127
- }
128
- static toAgendas(json) {
129
- return cast(JSON.parse(json), r("Agendas"));
130
- }
131
- static agendasToJson(value) {
132
- return JSON.stringify(uncast(value, r("Agendas")), null, 2);
133
- }
134
- }
135
- function invalidValue(typ, val, key = '') {
136
- if (key) {
137
- throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);
138
- }
139
- throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);
140
- }
141
- function jsonToJSProps(typ) {
142
- if (typ.jsonToJS === undefined) {
143
- const map = {};
144
- typ.props.forEach(p => map[p.json] = {
145
- key: p.js,
146
- typ: p.typ
147
- });
148
- typ.jsonToJS = map;
149
- }
150
- return typ.jsonToJS;
151
- }
152
- function jsToJSONProps(typ) {
153
- if (typ.jsToJSON === undefined) {
154
- const map = {};
155
- typ.props.forEach(p => map[p.js] = {
156
- key: p.json,
157
- typ: p.typ
158
- });
159
- typ.jsToJSON = map;
160
- }
161
- return typ.jsToJSON;
162
- }
163
- function transform(val, typ, getProps, key = '') {
164
- function transformPrimitive(typ, val) {
165
- if (typeof typ === typeof val) return val;
166
- return invalidValue(typ, val, key);
167
- }
168
- function transformUnion(typs, val) {
169
- // val must validate against one typ in typs
170
- const l = typs.length;
171
- for (let i = 0; i < l; i++) {
172
- const typ = typs[i];
173
- try {
174
- return transform(val, typ, getProps);
175
- } catch (_) {}
176
- }
177
- return invalidValue(typs, val);
178
- }
179
- function transformEnum(cases, val) {
180
- if (cases.indexOf(val) !== -1) return val;
181
- return invalidValue(cases, val);
182
- }
183
- function transformArray(typ, val) {
184
- // val must be an array with no invalid elements
185
- if (!Array.isArray(val)) return invalidValue("array", val);
186
- return val.map(el => transform(el, typ, getProps));
187
- }
188
- function transformDate(val) {
189
- if (val === null) {
190
- return null;
191
- }
192
- const d = new Date(val);
193
- if (isNaN(d.valueOf())) {
194
- return invalidValue("Date", val);
195
- }
196
- return d;
197
- }
198
- function transformObject(props, additional, val) {
199
- if (val === null || typeof val !== "object" || Array.isArray(val)) {
200
- return invalidValue("object", val);
201
- }
202
- const result = {};
203
- Object.getOwnPropertyNames(props).forEach(key => {
204
- const prop = props[key];
205
- const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
206
- result[prop.key] = transform(v, prop.typ, getProps, prop.key);
207
- });
208
- Object.getOwnPropertyNames(val).forEach(key => {
209
- if (!Object.prototype.hasOwnProperty.call(props, key)) {
210
- result[key] = transform(val[key], additional, getProps, key);
211
- }
212
- });
213
- return result;
214
- }
215
- if (typ === "any") return val;
216
- if (typ === null) {
217
- if (val === null) return val;
218
- return invalidValue(typ, val);
219
- }
220
- if (typ === false) return invalidValue(typ, val);
221
- while (typeof typ === "object" && typ.ref !== undefined) {
222
- typ = typeMap[typ.ref];
223
- }
224
- if (Array.isArray(typ)) return transformEnum(typ, val);
225
- if (typeof typ === "object") {
226
- 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);
227
- }
228
- // Numbers can be parsed by Date but shouldn't be.
229
- if (typ === Date && typeof val !== "number") return transformDate(val);
230
- return transformPrimitive(typ, val);
231
- }
232
- function cast(val, typ) {
233
- return transform(val, typ, jsonToJSProps);
234
- }
235
- function uncast(val, typ) {
236
- return transform(val, typ, jsToJSONProps);
237
- }
238
- function a(typ) {
239
- return {
240
- arrayItems: typ
241
- };
242
- }
243
- function u(...typs) {
244
- return {
245
- unionMembers: typs
246
- };
247
- }
248
- function o(props, additional) {
249
- return {
250
- props,
251
- additional
252
- };
253
- }
254
-
255
- // function m(additional: any) {
256
- // return { props: [], additional };
257
- // }
258
-
259
- function r(name) {
260
- return {
261
- ref: name
262
- };
263
- }
264
- const typeMap = {
265
- "Reunion": o([{
266
- json: "reunion",
267
- js: "reunion",
268
- typ: r("ReunionReunion")
269
- }], false),
270
- "ReunionReunion": o([{
271
- json: "@xmlns",
272
- js: "@xmlns",
273
- typ: ""
274
- }, {
275
- json: "@xmlns:xsi",
276
- js: "@xmlns:xsi",
277
- typ: ""
278
- }, {
279
- json: "@xsi:type",
280
- js: "@xsi:type",
281
- typ: r("ReunionXsiType")
282
- }, {
283
- json: "uid",
284
- js: "uid",
285
- typ: ""
286
- }, {
287
- json: "timeStampDebut",
288
- js: "timeStampDebut",
289
- typ: Date
290
- }, {
291
- json: "timeStampFin",
292
- js: "timeStampFin",
293
- typ: u(undefined, "")
294
- }, {
295
- json: "lieu",
296
- js: "lieu",
297
- typ: u(undefined, r("Lieu"))
298
- }, {
299
- json: "cycleDeVie",
300
- js: "cycleDeVie",
301
- typ: r("CycleDeVie")
302
- }, {
303
- json: "demandeurs",
304
- js: "demandeurs",
305
- typ: u(undefined, u(r("Demandeurs"), null))
306
- }, {
307
- json: "organeReuniRef",
308
- js: "organeReuniRef",
309
- typ: u(null, "")
310
- }, {
311
- json: "typeReunion",
312
- js: "typeReunion",
313
- typ: u(undefined, r("TypeReunion"))
314
- }, {
315
- json: "demandeur",
316
- js: "demandeur",
317
- typ: u(undefined, u(r("Demandeur"), null))
318
- }, {
319
- json: "participants",
320
- js: "participants",
321
- typ: u(undefined, u(r("PurpleParticipants"), null))
322
- }, {
323
- json: "visioConference",
324
- js: "visioConference",
325
- typ: u(undefined, u(null, ""))
326
- }, {
327
- json: "ODJ",
328
- js: "ODJ",
329
- typ: u(undefined, u(r("Odj"), null))
330
- }, {
331
- json: "sessionRef",
332
- js: "sessionRef",
333
- typ: u(undefined, u("", null))
334
- }, {
335
- json: "ouverturePresse",
336
- js: "ouverturePresse",
337
- typ: u(undefined, "")
338
- }, {
339
- json: "captationVideo",
340
- js: "captationVideo",
341
- typ: u(undefined, "")
342
- }, {
343
- json: "compteRenduRef",
344
- js: "compteRenduRef",
345
- typ: u(undefined, u(null, ""))
346
- }, {
347
- json: "formatReunion",
348
- js: "formatReunion",
349
- typ: u(undefined, r("FormatReunion"))
350
- }, {
351
- json: "infosReunionsInternationale",
352
- js: "infosReunionsInternationale",
353
- typ: u(undefined, r("InfosReunionsInternationale"))
354
- }, {
355
- json: "identifiants",
356
- js: "identifiants",
357
- typ: u(undefined, r("Identifiants"))
358
- }], false),
359
- "Odj": o([{
360
- json: "convocationODJ",
361
- js: "convocationODJ",
362
- typ: u(r("ConvocationOdjClass"), null)
363
- }, {
364
- json: "resumeODJ",
365
- js: "resumeODJ",
366
- typ: u(r("ConvocationOdjClass"), null)
367
- }, {
368
- json: "pointsODJ",
369
- js: "pointsODJ",
370
- typ: u(undefined, u(r("PointsOdj"), null))
371
- }], false),
372
- "ConvocationOdjClass": o([{
373
- json: "item",
374
- js: "item",
375
- typ: u(a(""), "")
376
- }], false),
377
- "PointsOdj": o([{
378
- json: "pointODJ",
379
- js: "pointODJ",
380
- typ: u(a(r("PointOdjElement")), r("PointOdjElement"))
381
- }], false),
382
- "PointOdjElement": o([{
383
- json: "@xsi:type",
384
- js: "@xsi:type",
385
- typ: r("PointOdjXsiType")
386
- }, {
387
- json: "uid",
388
- js: "uid",
389
- typ: ""
390
- }, {
391
- json: "cycleDeVie",
392
- js: "cycleDeVie",
393
- typ: r("CycleDeVie")
394
- }, {
395
- json: "objet",
396
- js: "objet",
397
- typ: ""
398
- }, {
399
- json: "demandeurPoint",
400
- js: "demandeurPoint",
401
- typ: null
402
- }, {
403
- json: "procedure",
404
- js: "procedure",
405
- typ: u(r("Procedure"), null)
406
- }, {
407
- json: "dossiersLegislatifsRefs",
408
- js: "dossiersLegislatifsRefs",
409
- typ: u(r("DossiersLegislatifsRefs"), null)
410
- }, {
411
- json: "typePointODJ",
412
- js: "typePointODJ",
413
- typ: r("TypePointOdj")
414
- }, {
415
- json: "comiteSecret",
416
- js: "comiteSecret",
417
- typ: ""
418
- }, {
419
- json: "textesAssocies",
420
- js: "textesAssocies",
421
- typ: null
422
- }, {
423
- json: "natureTravauxODJ",
424
- js: "natureTravauxODJ",
425
- typ: u(undefined, r("NatureTravauxOdj"))
426
- }, {
427
- json: "dateConfPres",
428
- js: "dateConfPres",
429
- typ: u(undefined, "")
430
- }, {
431
- json: "dateLettreMinistre",
432
- js: "dateLettreMinistre",
433
- typ: u(undefined, "")
434
- }], false),
435
- "CycleDeVie": o([{
436
- json: "etat",
437
- js: "etat",
438
- typ: r("Etat")
439
- }, {
440
- json: "chrono",
441
- js: "chrono",
442
- typ: r("Chrono")
443
- }], false),
444
- "Chrono": o([{
445
- json: "creation",
446
- js: "creation",
447
- typ: ""
448
- }, {
449
- json: "cloture",
450
- js: "cloture",
451
- typ: u(null, "")
452
- }], false),
453
- "DossiersLegislatifsRefs": o([{
454
- json: "dossierRef",
455
- js: "dossierRef",
456
- typ: u(a(""), "")
457
- }], false),
458
- "Demandeur": o([{
459
- json: "acteur",
460
- js: "acteur",
461
- typ: u(undefined, r("ActeurElement"))
462
- }, {
463
- json: "organe",
464
- js: "organe",
465
- typ: u(undefined, r("Organe"))
466
- }], false),
467
- "ActeurElement": o([{
468
- json: "nom",
469
- js: "nom",
470
- typ: u(null, "")
471
- }, {
472
- json: "acteurRef",
473
- js: "acteurRef",
474
- typ: ""
475
- }], false),
476
- "Organe": o([{
477
- json: "nom",
478
- js: "nom",
479
- typ: ""
480
- }, {
481
- json: "organeRef",
482
- js: "organeRef",
483
- typ: ""
484
- }], false),
485
- "Demandeurs": o([{
486
- json: "acteur",
487
- js: "acteur",
488
- typ: u(undefined, u(a(r("ActeurElement")), r("ActeurElement")))
489
- }, {
490
- json: "organe",
491
- js: "organe",
492
- typ: u(undefined, r("Organe"))
493
- }], false),
494
- "Identifiants": o([{
495
- json: "numSeanceJO",
496
- js: "numSeanceJO",
497
- typ: u(null, "")
498
- }, {
499
- json: "idJO",
500
- js: "idJO",
501
- typ: u(null, "")
502
- }, {
503
- json: "quantieme",
504
- js: "quantieme",
505
- typ: r("Quantieme")
506
- }, {
507
- json: "DateSeance",
508
- js: "DateSeance",
509
- typ: ""
510
- }], false),
511
- "InfosReunionsInternationale": o([{
512
- json: "estReunionInternationale",
513
- js: "estReunionInternationale",
514
- typ: ""
515
- }, {
516
- json: "listePays",
517
- js: "listePays",
518
- typ: u(r("ListePays"), null)
519
- }, {
520
- json: "informationsComplementaires",
521
- js: "informationsComplementaires",
522
- typ: u(undefined, u(null, ""))
523
- }], false),
524
- "ListePays": o([{
525
- json: "paysRef",
526
- js: "paysRef",
527
- typ: u(a(""), "")
528
- }], false),
529
- "Lieu": o([{
530
- json: "code",
531
- js: "code",
532
- typ: u(undefined, u("", null))
533
- }, {
534
- json: "libelleCourt",
535
- js: "libelleCourt",
536
- typ: u(undefined, u("", null))
537
- }, {
538
- json: "libelleLong",
539
- js: "libelleLong",
540
- typ: u(null, "")
541
- }, {
542
- json: "lieuRef",
543
- js: "lieuRef",
544
- typ: u(undefined, u("", null))
545
- }], false),
546
- "PurpleParticipants": o([{
547
- json: "participantsInternes",
548
- js: "participantsInternes",
549
- typ: u(r("PurpleParticipantsInternes"), null)
550
- }, {
551
- json: "personnesAuditionnees",
552
- js: "personnesAuditionnees",
553
- typ: u(r("PurplePersonnesAuditionnees"), null)
554
- }], false),
555
- "PurpleParticipantsInternes": o([{
556
- json: "participantInterne",
557
- js: "participantInterne",
558
- typ: u(a(r("ParticipantInterneElement")), r("ParticipantInterneElement"))
559
- }], false),
560
- "ParticipantInterneElement": o([{
561
- json: "acteurRef",
562
- js: "acteurRef",
563
- typ: ""
564
- }, {
565
- json: "presence",
566
- js: "presence",
567
- typ: r("Presence")
568
- }], false),
569
- "PurplePersonnesAuditionnees": o([{
570
- json: "personneAuditionnee",
571
- js: "personneAuditionnee",
572
- typ: u(a(null), null)
573
- }], false),
574
- "Agendas": o([{
575
- json: "reunions",
576
- js: "reunions",
577
- typ: r("Reunions")
578
- }], false),
579
- "Reunions": o([{
580
- json: "reunion",
581
- js: "reunion",
582
- typ: a(r("ReunionElement"))
583
- }], false),
584
- "ReunionElement": o([{
585
- json: "uid",
586
- js: "uid",
587
- typ: ""
588
- }, {
589
- json: "timeStampDebut",
590
- js: "timeStampDebut",
591
- typ: Date
592
- }, {
593
- json: "timeStampFin",
594
- js: "timeStampFin",
595
- typ: u(undefined, "")
596
- }, {
597
- json: "lieu",
598
- js: "lieu",
599
- typ: r("Lieu")
600
- }, {
601
- json: "cycleDeVie",
602
- js: "cycleDeVie",
603
- typ: r("CycleDeVie")
604
- }, {
605
- json: "demandeurs",
606
- js: "demandeurs",
607
- typ: u(undefined, u(r("Demandeurs"), null))
608
- }, {
609
- json: "organeReuniRef",
610
- js: "organeReuniRef",
611
- typ: u(null, "")
612
- }, {
613
- json: "typeReunion",
614
- js: "typeReunion",
615
- typ: u(undefined, r("TypeReunion"))
616
- }, {
617
- json: "@xmlns:xsi",
618
- js: "@xmlns:xsi",
619
- typ: u(undefined, "")
620
- }, {
621
- json: "demandeur",
622
- js: "demandeur",
623
- typ: u(undefined, null)
624
- }, {
625
- json: "participants",
626
- js: "participants",
627
- typ: u(undefined, u(r("FluffyParticipants"), null))
628
- }, {
629
- json: "sessionRef",
630
- js: "sessionRef",
631
- typ: u(undefined, u("", null))
632
- }, {
633
- json: "ouverturePresse",
634
- js: "ouverturePresse",
635
- typ: u(undefined, "")
636
- }, {
637
- json: "ODJ",
638
- js: "ODJ",
639
- typ: u(undefined, r("Odj"))
640
- }, {
641
- json: "compteRenduRef",
642
- js: "compteRenduRef",
643
- typ: u(undefined, u(null, ""))
644
- }, {
645
- json: "identifiants",
646
- js: "identifiants",
647
- typ: u(undefined, r("Identifiants"))
648
- }], false),
649
- "FluffyParticipants": o([{
650
- json: "participantsInternes",
651
- js: "participantsInternes",
652
- typ: u(r("FluffyParticipantsInternes"), null)
653
- }, {
654
- json: "personnesAuditionnees",
655
- js: "personnesAuditionnees",
656
- typ: u(r("FluffyPersonnesAuditionnees"), null)
657
- }], false),
658
- "FluffyParticipantsInternes": o([{
659
- json: "participantInterne",
660
- js: "participantInterne",
661
- typ: a(r("ParticipantInterneElement"))
662
- }], false),
663
- "FluffyPersonnesAuditionnees": o([{
664
- json: "personneAuditionnee",
665
- js: "personneAuditionnee",
666
- typ: u(a(r("PersonneAuditionneeElement")), r("PersonneAuditionneeElement"))
667
- }], false),
668
- "PersonneAuditionneeElement": o([{
669
- json: "uid",
670
- js: "uid",
671
- typ: r("Uid")
672
- }, {
673
- json: "ident",
674
- js: "ident",
675
- typ: r("Ident")
676
- }, {
677
- json: "dateNais",
678
- js: "dateNais",
679
- typ: u(Date, null)
680
- }], false),
681
- "Ident": o([{
682
- json: "civ",
683
- js: "civ",
684
- typ: r("Civ")
685
- }, {
686
- json: "prenom",
687
- js: "prenom",
688
- typ: ""
689
- }, {
690
- json: "nom",
691
- js: "nom",
692
- typ: ""
693
- }, {
694
- json: "alpha",
695
- js: "alpha",
696
- typ: u(undefined, "")
697
- }, {
698
- json: "trigramme",
699
- js: "trigramme",
700
- typ: u(undefined, u(null, ""))
701
- }], false),
702
- "Uid": o([{
703
- json: "@xsi:type",
704
- js: "@xsi:type",
705
- typ: r("UidXsiType")
706
- }, {
707
- json: "#text",
708
- js: "#text",
709
- typ: ""
710
- }], false),
711
- "ReunionXsiType": ["reunionCommission_type", "reunionInitParlementaire_type", "seance_type"],
712
- "PointOdjXsiType": ["podjReunion_type", "podjSeanceConfPres_type"],
713
- "Etat": ["Annulé", "Confirmé", "Eventuel", "Supprimé"],
714
- "NatureTravauxOdj": ["ODJPR", "ODJSN"],
715
- "Procedure": ["discussion générale commune", "procédure d'examen simplifiée-Article 103", "procédure d'examen simplifiée-Article 106", "procédure d'examen simplifiée-Article 107", "procédure de législation en commission-Article 107-1"],
716
- "TypePointOdj": ["Amendements (Art. 88)", "Amendements (Art. 91)", "Audition", "Audition ministre", "Audition ministre ouverte à la presse", "Audition ouverte à la presse", "Communication", "Constitution de mission d'information", "Discussion", "Débat d'initiative parlementaire", "Déclaration du Gouvernement suivie d'un débat", "Echanges de vues", "Examen", "Explications de vote des groupes et vote par scrutin public", "Explications de vote et vote par scrutin public", "Fixation de l'ordre du jour", "Nomination bureau", "Nomination candidats organisme extraparlementaire", "Nomination d'un membre d'une mission d'information", "Nomination rapporteur", "Nomination rapporteur d'application", "Nomination rapporteur d'information", "Nomination rapporteur pour avis", "Ouverture et clôture de session", "Questions au Gouvernement", "Questions orales sans débat", "Rapport", "Rapport d'information", "Rapport pour avis", "Séances réservées à un groupe de l'opposition ou minoritaire", "Suite de la discussion", "Table ronde", "Vote par scrutin public", "Vote solennel"],
717
- "FormatReunion": ["AuditionExterne", "AuditionParPresidentCommission", "AuditionParRapporteur", "Ordinaire"],
718
- "Quantieme": ["Deuxième", "Première", "Troisième", "Unique"],
719
- "Presence": ["absent", "excusé", "présent"],
720
- "TypeReunion": ["DEP", "GA", "GE", "GEVI", "GP", "HÉ Aurélien"],
721
- "Civ": ["M.", "Mme"],
722
- "UidXsiType": ["IdActeur_type", "IdPersonneExterne_type"]
723
- };
724
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXVuaW9uWHNpVHlwZSIsIlBvaW50T2RqWHNpVHlwZSIsIkV0YXQiLCJOYXR1cmVUcmF2YXV4T2RqIiwiUHJvY2VkdXJlIiwiVHlwZVBvaW50T2RqIiwiRm9ybWF0UmV1bmlvbiIsIlF1YW50aWVtZSIsIlByZXNlbmNlIiwiVHlwZVJldW5pb24iLCJDaXYiLCJVaWRYc2lUeXBlIiwiQ29udmVydCIsInRvUmV1bmlvbiIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInJldW5pb25Ub0pzb24iLCJ2YWx1ZSIsInN0cmluZ2lmeSIsInVuY2FzdCIsInRvQWdlbmRhcyIsImFnZW5kYXNUb0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJrZXkiLCJFcnJvciIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInVuZGVmaW5lZCIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImxlbmd0aCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIm8iLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jhd190eXBlcy9hZ2VuZGFzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIFJldW5pb24sIEFnZW5kYXMgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCByZXVuaW9uID0gQ29udmVydC50b1JldW5pb24oanNvbik7XG4vLyAgIGNvbnN0IGFnZW5kYXMgPSBDb252ZXJ0LnRvQWdlbmRhcyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5leHBvcnQgaW50ZXJmYWNlIFJldW5pb24ge1xuICAgIHJldW5pb246IFJldW5pb25SZXVuaW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldW5pb25SZXVuaW9uIHtcbiAgICBcIkB4bWxuc1wiOiAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBcIkB4bWxuczp4c2lcIjogICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBcIkB4c2k6dHlwZVwiOiAgICAgICAgICAgICAgICAgIFJldW5pb25Yc2lUeXBlO1xuICAgIHVpZDogICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICB0aW1lU3RhbXBEZWJ1dDogICAgICAgICAgICAgICBEYXRlO1xuICAgIHRpbWVTdGFtcEZpbj86ICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBsaWV1PzogICAgICAgICAgICAgICAgICAgICAgICBMaWV1O1xuICAgIGN5Y2xlRGVWaWU6ICAgICAgICAgICAgICAgICAgIEN5Y2xlRGVWaWU7XG4gICAgZGVtYW5kZXVycz86ICAgICAgICAgICAgICAgICAgRGVtYW5kZXVycyB8IG51bGw7XG4gICAgb3JnYW5lUmV1bmlSZWY6ICAgICAgICAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgICB0eXBlUmV1bmlvbj86ICAgICAgICAgICAgICAgICBUeXBlUmV1bmlvbjtcbiAgICBkZW1hbmRldXI/OiAgICAgICAgICAgICAgICAgICBEZW1hbmRldXIgfCBudWxsO1xuICAgIHBhcnRpY2lwYW50cz86ICAgICAgICAgICAgICAgIFB1cnBsZVBhcnRpY2lwYW50cyB8IG51bGw7XG4gICAgdmlzaW9Db25mZXJlbmNlPzogICAgICAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgICBPREo/OiAgICAgICAgICAgICAgICAgICAgICAgICBPZGogfCBudWxsO1xuICAgIHNlc3Npb25SZWY/OiAgICAgICAgICAgICAgICAgIG51bGwgfCBzdHJpbmc7XG4gICAgb3V2ZXJ0dXJlUHJlc3NlPzogICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNhcHRhdGlvblZpZGVvPzogICAgICAgICAgICAgIHN0cmluZztcbiAgICBjb21wdGVSZW5kdVJlZj86ICAgICAgICAgICAgICBudWxsIHwgc3RyaW5nO1xuICAgIGZvcm1hdFJldW5pb24/OiAgICAgICAgICAgICAgIEZvcm1hdFJldW5pb247XG4gICAgaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlPzogSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlO1xuICAgIGlkZW50aWZpYW50cz86ICAgICAgICAgICAgICAgIElkZW50aWZpYW50cztcbn1cblxuZXhwb3J0IGVudW0gUmV1bmlvblhzaVR5cGUge1xuICAgIFJldW5pb25Db21taXNzaW9uVHlwZSA9IFwicmV1bmlvbkNvbW1pc3Npb25fdHlwZVwiLFxuICAgIFJldW5pb25Jbml0UGFybGVtZW50YWlyZVR5cGUgPSBcInJldW5pb25Jbml0UGFybGVtZW50YWlyZV90eXBlXCIsXG4gICAgU2VhbmNlVHlwZSA9IFwic2VhbmNlX3R5cGVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZGoge1xuICAgIGNvbnZvY2F0aW9uT0RKOiBDb252b2NhdGlvbk9kakNsYXNzIHwgbnVsbDtcbiAgICByZXN1bWVPREo6ICAgICAgQ29udm9jYXRpb25PZGpDbGFzcyB8IG51bGw7XG4gICAgcG9pbnRzT0RKPzogICAgIFBvaW50c09kaiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udm9jYXRpb25PZGpDbGFzcyB7XG4gICAgaXRlbTogc3RyaW5nW10gfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRzT2RqIHtcbiAgICBwb2ludE9ESjogUG9pbnRPZGpFbGVtZW50W10gfCBQb2ludE9kakVsZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRPZGpFbGVtZW50IHtcbiAgICBcIkB4c2k6dHlwZVwiOiAgICAgICAgICAgICBQb2ludE9kalhzaVR5cGU7XG4gICAgdWlkOiAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjeWNsZURlVmllOiAgICAgICAgICAgICAgQ3ljbGVEZVZpZTtcbiAgICBvYmpldDogICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGRlbWFuZGV1clBvaW50OiAgICAgICAgICBudWxsO1xuICAgIHByb2NlZHVyZTogICAgICAgICAgICAgICBQcm9jZWR1cmUgfCBudWxsO1xuICAgIGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzOiBEb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyB8IG51bGw7XG4gICAgdHlwZVBvaW50T0RKOiAgICAgICAgICAgIFR5cGVQb2ludE9kajtcbiAgICBjb21pdGVTZWNyZXQ6ICAgICAgICAgICAgc3RyaW5nO1xuICAgIHRleHRlc0Fzc29jaWVzOiAgICAgICAgICBudWxsO1xuICAgIG5hdHVyZVRyYXZhdXhPREo/OiAgICAgICBOYXR1cmVUcmF2YXV4T2RqO1xuICAgIGRhdGVDb25mUHJlcz86ICAgICAgICAgICBzdHJpbmc7XG4gICAgZGF0ZUxldHRyZU1pbmlzdHJlPzogICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gUG9pbnRPZGpYc2lUeXBlIHtcbiAgICBQb2RqUmV1bmlvblR5cGUgPSBcInBvZGpSZXVuaW9uX3R5cGVcIixcbiAgICBQb2RqU2VhbmNlQ29uZlByZXNUeXBlID0gXCJwb2RqU2VhbmNlQ29uZlByZXNfdHlwZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN5Y2xlRGVWaWUge1xuICAgIGV0YXQ6ICAgRXRhdDtcbiAgICBjaHJvbm86IENocm9ubztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJvbm8ge1xuICAgIGNyZWF0aW9uOiBzdHJpbmc7XG4gICAgY2xvdHVyZTogIG51bGwgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEV0YXQge1xuICAgIEFubnVsw6kgPSBcIkFubnVsw6lcIixcbiAgICBDb25maXJtw6kgPSBcIkNvbmZpcm3DqVwiLFxuICAgIEV2ZW50dWVsID0gXCJFdmVudHVlbFwiLFxuICAgIFN1cHByaW3DqSA9IFwiU3VwcHJpbcOpXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9zc2llcnNMZWdpc2xhdGlmc1JlZnMge1xuICAgIGRvc3NpZXJSZWY6IHN0cmluZ1tdIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBOYXR1cmVUcmF2YXV4T2RqIHtcbiAgICBPZGpwciA9IFwiT0RKUFJcIixcbiAgICBPZGpzbiA9IFwiT0RKU05cIixcbn1cblxuZXhwb3J0IGVudW0gUHJvY2VkdXJlIHtcbiAgICBEaXNjdXNzaW9uR8OpbsOpcmFsZUNvbW11bmUgPSBcImRpc2N1c3Npb24gZ8OpbsOpcmFsZSBjb21tdW5lXCIsXG4gICAgUHJvY8OpZHVyZURFeGFtZW5TaW1wbGlmacOpZUFydGljbGUxMDMgPSBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDNcIixcbiAgICBQcm9jw6lkdXJlREV4YW1lblNpbXBsaWZpw6llQXJ0aWNsZTEwNiA9IFwicHJvY8OpZHVyZSBkJ2V4YW1lbiBzaW1wbGlmacOpZS1BcnRpY2xlIDEwNlwiLFxuICAgIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTA3ID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTA3XCIsXG4gICAgUHJvY8OpZHVyZURlTMOpZ2lzbGF0aW9uRW5Db21taXNzaW9uQXJ0aWNsZTEwNzEgPSBcInByb2PDqWR1cmUgZGUgbMOpZ2lzbGF0aW9uIGVuIGNvbW1pc3Npb24tQXJ0aWNsZSAxMDctMVwiLFxufVxuXG5leHBvcnQgZW51bSBUeXBlUG9pbnRPZGoge1xuICAgIEFtZW5kZW1lbnRzQXJ0ODggPSBcIkFtZW5kZW1lbnRzIChBcnQuIDg4KVwiLFxuICAgIEFtZW5kZW1lbnRzQXJ0OTEgPSBcIkFtZW5kZW1lbnRzIChBcnQuIDkxKVwiLFxuICAgIEF1ZGl0aW9uID0gXCJBdWRpdGlvblwiLFxuICAgIEF1ZGl0aW9uTWluaXN0cmUgPSBcIkF1ZGl0aW9uIG1pbmlzdHJlXCIsXG4gICAgQXVkaXRpb25NaW5pc3RyZU91dmVydGXDgExhUHJlc3NlID0gXCJBdWRpdGlvbiBtaW5pc3RyZSBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICAgIEF1ZGl0aW9uT3V2ZXJ0ZcOATGFQcmVzc2UgPSBcIkF1ZGl0aW9uIG91dmVydGUgw6AgbGEgcHJlc3NlXCIsXG4gICAgQ29tbXVuaWNhdGlvbiA9IFwiQ29tbXVuaWNhdGlvblwiLFxuICAgIENvbnN0aXR1dGlvbkRlTWlzc2lvbkRJbmZvcm1hdGlvbiA9IFwiQ29uc3RpdHV0aW9uIGRlIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICAgIERpc2N1c3Npb24gPSBcIkRpc2N1c3Npb25cIixcbiAgICBEw6liYXRESW5pdGlhdGl2ZVBhcmxlbWVudGFpcmUgPSBcIkTDqWJhdCBkJ2luaXRpYXRpdmUgcGFybGVtZW50YWlyZVwiLFxuICAgIETDqWNsYXJhdGlvbkR1R291dmVybmVtZW50U3VpdmllRFVuRMOpYmF0ID0gXCJEw6ljbGFyYXRpb24gZHUgR291dmVybmVtZW50IHN1aXZpZSBkJ3VuIGTDqWJhdFwiLFxuICAgIEVjaGFuZ2VzRGVWdWVzID0gXCJFY2hhbmdlcyBkZSB2dWVzXCIsXG4gICAgRXhhbWVuID0gXCJFeGFtZW5cIixcbiAgICBFeHBsaWNhdGlvbnNEZVZvdGVEZXNHcm91cGVzRXRWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZGVzIGdyb3VwZXMgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBFeHBsaWNhdGlvbnNEZVZvdGVFdFZvdGVQYXJTY3J1dGluUHVibGljID0gXCJFeHBsaWNhdGlvbnMgZGUgdm90ZSBldCB2b3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICAgIEZpeGF0aW9uRGVMT3JkcmVEdUpvdXIgPSBcIkZpeGF0aW9uIGRlIGwnb3JkcmUgZHUgam91clwiLFxuICAgIE5vbWluYXRpb25CdXJlYXUgPSBcIk5vbWluYXRpb24gYnVyZWF1XCIsXG4gICAgTm9taW5hdGlvbkNhbmRpZGF0c09yZ2FuaXNtZUV4dHJhcGFybGVtZW50YWlyZSA9IFwiTm9taW5hdGlvbiBjYW5kaWRhdHMgb3JnYW5pc21lIGV4dHJhcGFybGVtZW50YWlyZVwiLFxuICAgIE5vbWluYXRpb25EVW5NZW1icmVEVW5lTWlzc2lvbkRJbmZvcm1hdGlvbiA9IFwiTm9taW5hdGlvbiBkJ3VuIG1lbWJyZSBkJ3VuZSBtaXNzaW9uIGQnaW5mb3JtYXRpb25cIixcbiAgICBOb21pbmF0aW9uUmFwcG9ydGV1ciA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyXCIsXG4gICAgTm9taW5hdGlvblJhcHBvcnRldXJEQXBwbGljYXRpb24gPSBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBkJ2FwcGxpY2F0aW9uXCIsXG4gICAgTm9taW5hdGlvblJhcHBvcnRldXJESW5mb3JtYXRpb24gPSBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBkJ2luZm9ybWF0aW9uXCIsXG4gICAgTm9taW5hdGlvblJhcHBvcnRldXJQb3VyQXZpcyA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIHBvdXIgYXZpc1wiLFxuICAgIE91dmVydHVyZUV0Q2zDtHR1cmVEZVNlc3Npb24gPSBcIk91dmVydHVyZSBldCBjbMO0dHVyZSBkZSBzZXNzaW9uXCIsXG4gICAgUXVlc3Rpb25zQXVHb3V2ZXJuZW1lbnQgPSBcIlF1ZXN0aW9ucyBhdSBHb3V2ZXJuZW1lbnRcIixcbiAgICBRdWVzdGlvbnNPcmFsZXNTYW5zRMOpYmF0ID0gXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0XCIsXG4gICAgUmFwcG9ydCA9IFwiUmFwcG9ydFwiLFxuICAgIFJhcHBvcnRESW5mb3JtYXRpb24gPSBcIlJhcHBvcnQgZCdpbmZvcm1hdGlvblwiLFxuICAgIFJhcHBvcnRQb3VyQXZpcyA9IFwiUmFwcG9ydCBwb3VyIGF2aXNcIixcbiAgICBTZWFuY2VzUmVzZXJ2ZWVzR3JvdXBlT3Bwb3NpdGlvbk91TWlub3JpdGFpcmU9XCJTw6lhbmNlcyByw6lzZXJ2w6llcyDDoCB1biBncm91cGUgZGUgbCdvcHBvc2l0aW9uIG91IG1pbm9yaXRhaXJlXCIsXG4gICAgU3VpdGVEZUxhRGlzY3Vzc2lvbiA9IFwiU3VpdGUgZGUgbGEgZGlzY3Vzc2lvblwiLFxuICAgIFRhYmxlUm9uZGUgPSBcIlRhYmxlIHJvbmRlXCIsXG4gICAgVm90ZVBhclNjcnV0aW5QdWJsaWMgPSBcIlZvdGUgcGFyIHNjcnV0aW4gcHVibGljXCIsXG4gICAgVm90ZVNvbGVubmVsID0gXCJWb3RlIHNvbGVubmVsXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyIHtcbiAgICBhY3RldXI/OiBBY3RldXJFbGVtZW50O1xuICAgIG9yZ2FuZT86IE9yZ2FuZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3RldXJFbGVtZW50IHtcbiAgICBub206ICAgICAgIG51bGwgfCBzdHJpbmc7XG4gICAgYWN0ZXVyUmVmOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5lIHtcbiAgICBub206ICAgICAgIHN0cmluZztcbiAgICBvcmdhbmVSZWY6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXJzIHtcbiAgICBhY3RldXI/OiBBY3RldXJFbGVtZW50W10gfCBBY3RldXJFbGVtZW50O1xuICAgIG9yZ2FuZT86IE9yZ2FuZTtcbn1cblxuZXhwb3J0IGVudW0gRm9ybWF0UmV1bmlvbiB7XG4gICAgQXVkaXRpb25FeHRlcm5lID0gXCJBdWRpdGlvbkV4dGVybmVcIixcbiAgICBBdWRpdGlvblBhclByZXNpZGVudENvbW1pc3Npb24gPSBcIkF1ZGl0aW9uUGFyUHJlc2lkZW50Q29tbWlzc2lvblwiLFxuICAgIEF1ZGl0aW9uUGFyUmFwcG9ydGV1ciA9IFwiQXVkaXRpb25QYXJSYXBwb3J0ZXVyXCIsXG4gICAgT3JkaW5haXJlID0gXCJPcmRpbmFpcmVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGlmaWFudHMge1xuICAgIG51bVNlYW5jZUpPOiBudWxsIHwgc3RyaW5nO1xuICAgIGlkSk86ICAgICAgICBudWxsIHwgc3RyaW5nO1xuICAgIHF1YW50aWVtZTogICBRdWFudGllbWU7XG4gICAgRGF0ZVNlYW5jZTogIHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gUXVhbnRpZW1lIHtcbiAgICBEZXV4acOobWUgPSBcIkRldXhpw6htZVwiLFxuICAgIFByZW1pw6hyZSA9IFwiUHJlbWnDqHJlXCIsXG4gICAgVHJvaXNpw6htZSA9IFwiVHJvaXNpw6htZVwiLFxuICAgIFVuaXF1ZSA9IFwiVW5pcXVlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlIHtcbiAgICBlc3RSZXVuaW9uSW50ZXJuYXRpb25hbGU6ICAgICBzdHJpbmc7XG4gICAgbGlzdGVQYXlzOiAgICAgICAgICAgICAgICAgICAgTGlzdGVQYXlzIHwgbnVsbDtcbiAgICBpbmZvcm1hdGlvbnNDb21wbGVtZW50YWlyZXM/OiBudWxsIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RlUGF5cyB7XG4gICAgcGF5c1JlZjogc3RyaW5nW10gfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlldSB7XG4gICAgY29kZT86ICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgICBsaWJlbGxlQ291cnQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIGxpYmVsbGVMb25nOiAgIG51bGwgfCBzdHJpbmc7XG4gICAgbGlldVJlZj86ICAgICAgc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJwbGVQYXJ0aWNpcGFudHMge1xuICAgIHBhcnRpY2lwYW50c0ludGVybmVzOiAgUHVycGxlUGFydGljaXBhbnRzSW50ZXJuZXMgfCBudWxsO1xuICAgIHBlcnNvbm5lc0F1ZGl0aW9ubmVlczogUHVycGxlUGVyc29ubmVzQXVkaXRpb25uZWVzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJwbGVQYXJ0aWNpcGFudHNJbnRlcm5lcyB7XG4gICAgcGFydGljaXBhbnRJbnRlcm5lOiBQYXJ0aWNpcGFudEludGVybmVFbGVtZW50W10gfCBQYXJ0aWNpcGFudEludGVybmVFbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpY2lwYW50SW50ZXJuZUVsZW1lbnQge1xuICAgIGFjdGV1clJlZjogc3RyaW5nO1xuICAgIHByZXNlbmNlOiAgUHJlc2VuY2U7XG59XG5cbmV4cG9ydCBlbnVtIFByZXNlbmNlIHtcbiAgICBBYnNlbnQgPSBcImFic2VudFwiLFxuICAgIEV4Y3Vzw6kgPSBcImV4Y3Vzw6lcIixcbiAgICBQcsOpc2VudCA9IFwicHLDqXNlbnRcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJwbGVQZXJzb25uZXNBdWRpdGlvbm5lZXMge1xuICAgIHBlcnNvbm5lQXVkaXRpb25uZWU6IG51bGxbXSB8IG51bGw7XG59XG5cbmV4cG9ydCBlbnVtIFR5cGVSZXVuaW9uIHtcbiAgICBEZXAgPSBcIkRFUFwiLFxuICAgIEdhID0gXCJHQVwiLFxuICAgIEdlID0gXCJHRVwiLFxuICAgIEdldmkgPSBcIkdFVklcIixcbiAgICBHcCA9IFwiR1BcIixcbiAgICBIw6lBdXLDqWxpZW4gPSBcIkjDiSBBdXLDqWxpZW5cIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZ2VuZGFzIHtcbiAgICByZXVuaW9uczogUmV1bmlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV1bmlvbnMge1xuICAgIHJldW5pb246IFJldW5pb25FbGVtZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV1bmlvbkVsZW1lbnQge1xuICAgIHVpZDogICAgICAgICAgICAgIHN0cmluZztcbiAgICB0aW1lU3RhbXBEZWJ1dDogICBEYXRlO1xuICAgIHRpbWVTdGFtcEZpbj86ICAgIHN0cmluZztcbiAgICBsaWV1OiAgICAgICAgICAgICBMaWV1O1xuICAgIGN5Y2xlRGVWaWU6ICAgICAgIEN5Y2xlRGVWaWU7XG4gICAgZGVtYW5kZXVycz86ICAgICAgRGVtYW5kZXVycyB8IG51bGw7XG4gICAgb3JnYW5lUmV1bmlSZWY6ICAgbnVsbCB8IHN0cmluZztcbiAgICB0eXBlUmV1bmlvbj86ICAgICBUeXBlUmV1bmlvbjtcbiAgICBcIkB4bWxuczp4c2lcIj86ICAgIHN0cmluZztcbiAgICBkZW1hbmRldXI/OiAgICAgICBudWxsO1xuICAgIHBhcnRpY2lwYW50cz86ICAgIEZsdWZmeVBhcnRpY2lwYW50cyB8IG51bGw7XG4gICAgc2Vzc2lvblJlZj86ICAgICAgbnVsbCB8IHN0cmluZztcbiAgICBvdXZlcnR1cmVQcmVzc2U/OiBzdHJpbmc7XG4gICAgT0RKPzogICAgICAgICAgICAgT2RqO1xuICAgIGNvbXB0ZVJlbmR1UmVmPzogIG51bGwgfCBzdHJpbmc7XG4gICAgaWRlbnRpZmlhbnRzPzogICAgSWRlbnRpZmlhbnRzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsdWZmeVBhcnRpY2lwYW50cyB7XG4gICAgcGFydGljaXBhbnRzSW50ZXJuZXM6ICBGbHVmZnlQYXJ0aWNpcGFudHNJbnRlcm5lcyB8IG51bGw7XG4gICAgcGVyc29ubmVzQXVkaXRpb25uZWVzOiBGbHVmZnlQZXJzb25uZXNBdWRpdGlvbm5lZXMgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsdWZmeVBhcnRpY2lwYW50c0ludGVybmVzIHtcbiAgICBwYXJ0aWNpcGFudEludGVybmU6IFBhcnRpY2lwYW50SW50ZXJuZUVsZW1lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbHVmZnlQZXJzb25uZXNBdWRpdGlvbm5lZXMge1xuICAgIHBlcnNvbm5lQXVkaXRpb25uZWU6IFBlcnNvbm5lQXVkaXRpb25uZWVFbGVtZW50W10gfCBQZXJzb25uZUF1ZGl0aW9ubmVlRWxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZXJzb25uZUF1ZGl0aW9ubmVlRWxlbWVudCB7XG4gICAgdWlkOiAgICAgIFVpZDtcbiAgICBpZGVudDogICAgSWRlbnQ7XG4gICAgZGF0ZU5haXM6IERhdGUgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50IHtcbiAgICBjaXY6ICAgICAgICBDaXY7XG4gICAgcHJlbm9tOiAgICAgc3RyaW5nO1xuICAgIG5vbTogICAgICAgIHN0cmluZztcbiAgICBhbHBoYT86ICAgICBzdHJpbmc7XG4gICAgdHJpZ3JhbW1lPzogbnVsbCB8IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gQ2l2IHtcbiAgICBNID0gXCJNLlwiLFxuICAgIE1tZSA9IFwiTW1lXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVWlkIHtcbiAgICBcIkB4c2k6dHlwZVwiOiBVaWRYc2lUeXBlO1xuICAgIFwiI3RleHRcIjogICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gVWlkWHNpVHlwZSB7XG4gICAgSWRBY3RldXJUeXBlID0gXCJJZEFjdGV1cl90eXBlXCIsXG4gICAgSWRQZXJzb25uZUV4dGVybmVUeXBlID0gXCJJZFBlcnNvbm5lRXh0ZXJuZV90eXBlXCIsXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICAgIHB1YmxpYyBzdGF0aWMgdG9SZXVuaW9uKGpzb246IHN0cmluZyk6IFJldW5pb24ge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiUmV1bmlvblwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZXVuaW9uVG9Kc29uKHZhbHVlOiBSZXVuaW9uKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlJldW5pb25cIikpLCBudWxsLCAyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHRvQWdlbmRhcyhqc29uOiBzdHJpbmcpOiBBZ2VuZGFzIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkFnZW5kYXNcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgYWdlbmRhc1RvSnNvbih2YWx1ZTogQWdlbmRhcyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJBZ2VuZGFzXCIpKSwgbnVsbCwgMik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9ICcnKTogbmV2ZXIge1xuICAgIGlmIChrZXkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgZm9yIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX0gYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KHZhbCl9YCk7XG4gICAgfVxuICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsICk7XG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBtYXA6IGFueSA9IHt9O1xuICAgICAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiBtYXBbcC5qc29uXSA9IHsga2V5OiBwLmpzLCB0eXA6IHAudHlwIH0pO1xuICAgICAgICB0eXAuanNvblRvSlMgPSBtYXA7XG4gICAgfVxuICAgIHJldHVybiB0eXAuanNvblRvSlM7XG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXAuanNUb0pTT04gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBtYXA6IGFueSA9IHt9O1xuICAgICAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiBtYXBbcC5qc10gPSB7IGtleTogcC5qc29uLCB0eXA6IHAudHlwIH0pO1xuICAgICAgICB0eXAuanNUb0pTT04gPSBtYXA7XG4gICAgfVxuICAgIHJldHVybiB0eXAuanNUb0pTT047XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybSh2YWw6IGFueSwgdHlwOiBhbnksIGdldFByb3BzOiBhbnksIGtleTogYW55ID0gJycpOiBhbnkge1xuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXA6IHN0cmluZywgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1Vbmlvbih0eXBzOiBhbnlbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgICAgICBjb25zdCBsID0gdHlwcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0eXAgPSB0eXBzW2ldO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcyk7XG4gICAgICAgICAgICB9IGNhdGNoIChfKSB7fVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1FbnVtKGNhc2VzOiBzdHJpbmdbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoY2FzZXMuaW5kZXhPZih2YWwpICE9PSAtMSkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShjYXNlcywgdmFsKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBpbnZhbGlkVmFsdWUoXCJhcnJheVwiLCB2YWwpO1xuICAgICAgICByZXR1cm4gdmFsLm1hcChlbCA9PiB0cmFuc2Zvcm0oZWwsIHR5cCwgZ2V0UHJvcHMpKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbCk7XG4gICAgICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJEYXRlXCIsIHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSwgYWRkaXRpb25hbDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJvYmplY3RcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV07XG4gICAgICAgICAgICBjb25zdCB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwga2V5KSA/IHZhbFtrZXldIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMsIGtleSkpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWw7XG4gICAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB9XG4gICAgaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbCk7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKSA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKSAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpICAgICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgICAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB9XG4gICAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgICBpZiAodHlwID09PSBEYXRlICYmIHR5cGVvZiB2YWwgIT09IFwibnVtYmVyXCIpIHJldHVybiB0cmFuc2Zvcm1EYXRlKHZhbCk7XG4gICAgcmV0dXJuIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXAsIHZhbCk7XG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNvblRvSlNQcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc1RvSlNPTlByb3BzKTtcbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICAgIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9O1xufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gICAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH07XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9O1xufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9O1xuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB7IHJlZjogbmFtZSB9O1xufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gICAgXCJSZXVuaW9uXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicmV1bmlvblwiLCBqczogXCJyZXVuaW9uXCIsIHR5cDogcihcIlJldW5pb25SZXVuaW9uXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUmV1bmlvblJldW5pb25cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnNcIiwganM6IFwiQHhtbG5zXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTp0eXBlXCIsIGpzOiBcIkB4c2k6dHlwZVwiLCB0eXA6IHIoXCJSZXVuaW9uWHNpVHlwZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInRpbWVTdGFtcERlYnV0XCIsIGpzOiBcInRpbWVTdGFtcERlYnV0XCIsIHR5cDogRGF0ZSB9LFxuICAgICAgICB7IGpzb246IFwidGltZVN0YW1wRmluXCIsIGpzOiBcInRpbWVTdGFtcEZpblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGlldVwiLCBqczogXCJsaWV1XCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJMaWV1XCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiY3ljbGVEZVZpZVwiLCBqczogXCJjeWNsZURlVmllXCIsIHR5cDogcihcIkN5Y2xlRGVWaWVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRlbWFuZGV1cnNcIiwganM6IFwiZGVtYW5kZXVyc1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJEZW1hbmRldXJzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVJldW5pUmVmXCIsIGpzOiBcIm9yZ2FuZVJldW5pUmVmXCIsIHR5cDogdShudWxsLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwidHlwZVJldW5pb25cIiwganM6IFwidHlwZVJldW5pb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVSZXVuaW9uXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVtYW5kZXVyXCIsIGpzOiBcImRlbWFuZGV1clwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJEZW1hbmRldXJcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwicGFydGljaXBhbnRzXCIsIGpzOiBcInBhcnRpY2lwYW50c1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJQdXJwbGVQYXJ0aWNpcGFudHNcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwidmlzaW9Db25mZXJlbmNlXCIsIGpzOiBcInZpc2lvQ29uZmVyZW5jZVwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KG51bGwsIFwiXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiT0RKXCIsIGpzOiBcIk9ESlwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJPZGpcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwic2Vzc2lvblJlZlwiLCBqczogXCJzZXNzaW9uUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIHUoXCJcIiwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJvdXZlcnR1cmVQcmVzc2VcIiwganM6IFwib3V2ZXJ0dXJlUHJlc3NlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJjYXB0YXRpb25WaWRlb1wiLCBqczogXCJjYXB0YXRpb25WaWRlb1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiY29tcHRlUmVuZHVSZWZcIiwganM6IFwiY29tcHRlUmVuZHVSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShudWxsLCBcIlwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImZvcm1hdFJldW5pb25cIiwganM6IFwiZm9ybWF0UmV1bmlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRm9ybWF0UmV1bmlvblwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiLCBqczogXCJpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImlkZW50aWZpYW50c1wiLCBqczogXCJpZGVudGlmaWFudHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIklkZW50aWZpYW50c1wiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJPZGpcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb252b2NhdGlvbk9ESlwiLCBqczogXCJjb252b2NhdGlvbk9ESlwiLCB0eXA6IHUocihcIkNvbnZvY2F0aW9uT2RqQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJyZXN1bWVPREpcIiwganM6IFwicmVzdW1lT0RKXCIsIHR5cDogdShyKFwiQ29udm9jYXRpb25PZGpDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvaW50c09ESlwiLCBqczogXCJwb2ludHNPREpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiUG9pbnRzT2RqXCIpLCBudWxsKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb252b2NhdGlvbk9kakNsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaXRlbVwiLCBqczogXCJpdGVtXCIsIHR5cDogdShhKFwiXCIpLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlBvaW50c09kalwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvaW50T0RKXCIsIGpzOiBcInBvaW50T0RKXCIsIHR5cDogdShhKHIoXCJQb2ludE9kakVsZW1lbnRcIikpLCByKFwiUG9pbnRPZGpFbGVtZW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlBvaW50T2RqRWxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6dHlwZVwiLCBqczogXCJAeHNpOnR5cGVcIiwgdHlwOiByKFwiUG9pbnRPZGpYc2lUeXBlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY3ljbGVEZVZpZVwiLCBqczogXCJjeWNsZURlVmllXCIsIHR5cDogcihcIkN5Y2xlRGVWaWVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm9iamV0XCIsIGpzOiBcIm9iamV0XCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGVtYW5kZXVyUG9pbnRcIiwganM6IFwiZGVtYW5kZXVyUG9pbnRcIiwgdHlwOiBudWxsIH0sXG4gICAgICAgIHsganNvbjogXCJwcm9jZWR1cmVcIiwganM6IFwicHJvY2VkdXJlXCIsIHR5cDogdShyKFwiUHJvY2VkdXJlXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiZG9zc2llcnNMZWdpc2xhdGlmc1JlZnNcIiwganM6IFwiZG9zc2llcnNMZWdpc2xhdGlmc1JlZnNcIiwgdHlwOiB1KHIoXCJEb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVQb2ludE9ESlwiLCBqczogXCJ0eXBlUG9pbnRPREpcIiwgdHlwOiByKFwiVHlwZVBvaW50T2RqXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJjb21pdGVTZWNyZXRcIiwganM6IFwiY29taXRlU2VjcmV0XCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVzQXNzb2NpZXNcIiwganM6IFwidGV4dGVzQXNzb2NpZXNcIiwgdHlwOiBudWxsIH0sXG4gICAgICAgIHsganNvbjogXCJuYXR1cmVUcmF2YXV4T0RKXCIsIGpzOiBcIm5hdHVyZVRyYXZhdXhPREpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk5hdHVyZVRyYXZhdXhPZGpcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlQ29uZlByZXNcIiwganM6IFwiZGF0ZUNvbmZQcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlTGV0dHJlTWluaXN0cmVcIiwganM6IFwiZGF0ZUxldHRyZU1pbmlzdHJlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQ3ljbGVEZVZpZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImV0YXRcIiwganM6IFwiZXRhdFwiLCB0eXA6IHIoXCJFdGF0XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJjaHJvbm9cIiwganM6IFwiY2hyb25vXCIsIHR5cDogcihcIkNocm9ub1wiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkNocm9ub1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNyZWF0aW9uXCIsIGpzOiBcImNyZWF0aW9uXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY2xvdHVyZVwiLCBqczogXCJjbG90dXJlXCIsIHR5cDogdShudWxsLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiZG9zc2llclJlZlwiLCBqczogXCJkb3NzaWVyUmVmXCIsIHR5cDogdShhKFwiXCIpLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlbWFuZGV1clwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clwiLCBqczogXCJhY3RldXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkFjdGV1ckVsZW1lbnRcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVcIiwganM6IFwib3JnYW5lXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJPcmdhbmVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQWN0ZXVyRWxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiB1KG51bGwsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk9yZ2FuZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlbWFuZGV1cnNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhY3RldXJcIiwganM6IFwiYWN0ZXVyXCIsIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiQWN0ZXVyRWxlbWVudFwiKSksIHIoXCJBY3RldXJFbGVtZW50XCIpKSkgfSxcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVwiLCBqczogXCJvcmdhbmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk9yZ2FuZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJZGVudGlmaWFudHNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJudW1TZWFuY2VKT1wiLCBqczogXCJudW1TZWFuY2VKT1wiLCB0eXA6IHUobnVsbCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImlkSk9cIiwganM6IFwiaWRKT1wiLCB0eXA6IHUobnVsbCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInF1YW50aWVtZVwiLCBqczogXCJxdWFudGllbWVcIiwgdHlwOiByKFwiUXVhbnRpZW1lXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJEYXRlU2VhbmNlXCIsIGpzOiBcIkRhdGVTZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiZXN0UmV1bmlvbkludGVybmF0aW9uYWxlXCIsIGpzOiBcImVzdFJldW5pb25JbnRlcm5hdGlvbmFsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxpc3RlUGF5c1wiLCBqczogXCJsaXN0ZVBheXNcIiwgdHlwOiB1KHIoXCJMaXN0ZVBheXNcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJpbmZvcm1hdGlvbnNDb21wbGVtZW50YWlyZXNcIiwganM6IFwiaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUobnVsbCwgXCJcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTGlzdGVQYXlzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicGF5c1JlZlwiLCBqczogXCJwYXlzUmVmXCIsIHR5cDogdShhKFwiXCIpLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkxpZXVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShcIlwiLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVDb3VydFwiLCBqczogXCJsaWJlbGxlQ291cnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShcIlwiLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVMb25nXCIsIGpzOiBcImxpYmVsbGVMb25nXCIsIHR5cDogdShudWxsLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGlldVJlZlwiLCBqczogXCJsaWV1UmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIHUoXCJcIiwgbnVsbCkpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUHVycGxlUGFydGljaXBhbnRzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicGFydGljaXBhbnRzSW50ZXJuZXNcIiwganM6IFwicGFydGljaXBhbnRzSW50ZXJuZXNcIiwgdHlwOiB1KHIoXCJQdXJwbGVQYXJ0aWNpcGFudHNJbnRlcm5lc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBlcnNvbm5lc0F1ZGl0aW9ubmVlc1wiLCBqczogXCJwZXJzb25uZXNBdWRpdGlvbm5lZXNcIiwgdHlwOiB1KHIoXCJQdXJwbGVQZXJzb25uZXNBdWRpdGlvbm5lZXNcIiksIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUHVycGxlUGFydGljaXBhbnRzSW50ZXJuZXNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwYXJ0aWNpcGFudEludGVybmVcIiwganM6IFwicGFydGljaXBhbnRJbnRlcm5lXCIsIHR5cDogdShhKHIoXCJQYXJ0aWNpcGFudEludGVybmVFbGVtZW50XCIpKSwgcihcIlBhcnRpY2lwYW50SW50ZXJuZUVsZW1lbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUGFydGljaXBhbnRJbnRlcm5lRWxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJwcmVzZW5jZVwiLCBqczogXCJwcmVzZW5jZVwiLCB0eXA6IHIoXCJQcmVzZW5jZVwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlB1cnBsZVBlcnNvbm5lc0F1ZGl0aW9ubmVlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBlcnNvbm5lQXVkaXRpb25uZWVcIiwganM6IFwicGVyc29ubmVBdWRpdGlvbm5lZVwiLCB0eXA6IHUoYShudWxsKSwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBZ2VuZGFzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicmV1bmlvbnNcIiwganM6IFwicmV1bmlvbnNcIiwgdHlwOiByKFwiUmV1bmlvbnNcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJSZXVuaW9uc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInJldW5pb25cIiwganM6IFwicmV1bmlvblwiLCB0eXA6IGEocihcIlJldW5pb25FbGVtZW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlJldW5pb25FbGVtZW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInRpbWVTdGFtcERlYnV0XCIsIGpzOiBcInRpbWVTdGFtcERlYnV0XCIsIHR5cDogRGF0ZSB9LFxuICAgICAgICB7IGpzb246IFwidGltZVN0YW1wRmluXCIsIGpzOiBcInRpbWVTdGFtcEZpblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGlldVwiLCBqczogXCJsaWV1XCIsIHR5cDogcihcIkxpZXVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZW1hbmRldXJzXCIsIGpzOiBcImRlbWFuZGV1cnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiRGVtYW5kZXVyc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZXVuaVJlZlwiLCBqczogXCJvcmdhbmVSZXVuaVJlZlwiLCB0eXA6IHUobnVsbCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVSZXVuaW9uXCIsIGpzOiBcInR5cGVSZXVuaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlUmV1bmlvblwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVtYW5kZXVyXCIsIGpzOiBcImRlbWFuZGV1clwiLCB0eXA6IHUodW5kZWZpbmVkLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicGFydGljaXBhbnRzXCIsIGpzOiBcInBhcnRpY2lwYW50c1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJGbHVmZnlQYXJ0aWNpcGFudHNcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwic2Vzc2lvblJlZlwiLCBqczogXCJzZXNzaW9uUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIHUoXCJcIiwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJvdXZlcnR1cmVQcmVzc2VcIiwganM6IFwib3V2ZXJ0dXJlUHJlc3NlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJPREpcIiwganM6IFwiT0RKXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJPZGpcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJjb21wdGVSZW5kdVJlZlwiLCBqczogXCJjb21wdGVSZW5kdVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KG51bGwsIFwiXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiaWRlbnRpZmlhbnRzXCIsIGpzOiBcImlkZW50aWZpYW50c1wiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiSWRlbnRpZmlhbnRzXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkZsdWZmeVBhcnRpY2lwYW50c1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBhcnRpY2lwYW50c0ludGVybmVzXCIsIGpzOiBcInBhcnRpY2lwYW50c0ludGVybmVzXCIsIHR5cDogdShyKFwiRmx1ZmZ5UGFydGljaXBhbnRzSW50ZXJuZXNcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJwZXJzb25uZXNBdWRpdGlvbm5lZXNcIiwganM6IFwicGVyc29ubmVzQXVkaXRpb25uZWVzXCIsIHR5cDogdShyKFwiRmx1ZmZ5UGVyc29ubmVzQXVkaXRpb25uZWVzXCIpLCBudWxsKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkZsdWZmeVBhcnRpY2lwYW50c0ludGVybmVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicGFydGljaXBhbnRJbnRlcm5lXCIsIGpzOiBcInBhcnRpY2lwYW50SW50ZXJuZVwiLCB0eXA6IGEocihcIlBhcnRpY2lwYW50SW50ZXJuZUVsZW1lbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRmx1ZmZ5UGVyc29ubmVzQXVkaXRpb25uZWVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicGVyc29ubmVBdWRpdGlvbm5lZVwiLCBqczogXCJwZXJzb25uZUF1ZGl0aW9ubmVlXCIsIHR5cDogdShhKHIoXCJQZXJzb25uZUF1ZGl0aW9ubmVlRWxlbWVudFwiKSksIHIoXCJQZXJzb25uZUF1ZGl0aW9ubmVlRWxlbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJQZXJzb25uZUF1ZGl0aW9ubmVlRWxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiByKFwiVWlkXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJpZGVudFwiLCBqczogXCJpZGVudFwiLCB0eXA6IHIoXCJJZGVudFwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZU5haXNcIiwganM6IFwiZGF0ZU5haXNcIiwgdHlwOiB1KERhdGUsIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSWRlbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjaXZcIiwganM6IFwiY2l2XCIsIHR5cDogcihcIkNpdlwiKSB9LFxuICAgICAgICB7IGpzb246IFwicHJlbm9tXCIsIGpzOiBcInByZW5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhbHBoYVwiLCBqczogXCJhbHBoYVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwidHJpZ3JhbW1lXCIsIGpzOiBcInRyaWdyYW1tZVwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KG51bGwsIFwiXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlVpZFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6dHlwZVwiLCBqczogXCJAeHNpOnR5cGVcIiwgdHlwOiByKFwiVWlkWHNpVHlwZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiI3RleHRcIiwganM6IFwiI3RleHRcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUmV1bmlvblhzaVR5cGVcIjogW1xuICAgICAgICBcInJldW5pb25Db21taXNzaW9uX3R5cGVcIixcbiAgICAgICAgXCJyZXVuaW9uSW5pdFBhcmxlbWVudGFpcmVfdHlwZVwiLFxuICAgICAgICBcInNlYW5jZV90eXBlXCIsXG4gICAgXSxcbiAgICBcIlBvaW50T2RqWHNpVHlwZVwiOiBbXG4gICAgICAgIFwicG9kalJldW5pb25fdHlwZVwiLFxuICAgICAgICBcInBvZGpTZWFuY2VDb25mUHJlc190eXBlXCIsXG4gICAgXSxcbiAgICBcIkV0YXRcIjogW1xuICAgICAgICBcIkFubnVsw6lcIixcbiAgICAgICAgXCJDb25maXJtw6lcIixcbiAgICAgICAgXCJFdmVudHVlbFwiLFxuICAgICAgICBcIlN1cHByaW3DqVwiLFxuICAgIF0sXG4gICAgXCJOYXR1cmVUcmF2YXV4T2RqXCI6IFtcbiAgICAgICAgXCJPREpQUlwiLFxuICAgICAgICBcIk9ESlNOXCIsXG4gICAgXSxcbiAgICBcIlByb2NlZHVyZVwiOiBbXG4gICAgICAgIFwiZGlzY3Vzc2lvbiBnw6luw6lyYWxlIGNvbW11bmVcIixcbiAgICAgICAgXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTAzXCIsXG4gICAgICAgIFwicHJvY8OpZHVyZSBkJ2V4YW1lbiBzaW1wbGlmacOpZS1BcnRpY2xlIDEwNlwiLFxuICAgICAgICBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDdcIixcbiAgICAgICAgXCJwcm9jw6lkdXJlIGRlIGzDqWdpc2xhdGlvbiBlbiBjb21taXNzaW9uLUFydGljbGUgMTA3LTFcIixcbiAgICBdLFxuICAgIFwiVHlwZVBvaW50T2RqXCI6IFtcbiAgICAgICAgXCJBbWVuZGVtZW50cyAoQXJ0LiA4OClcIixcbiAgICAgICAgXCJBbWVuZGVtZW50cyAoQXJ0LiA5MSlcIixcbiAgICAgICAgXCJBdWRpdGlvblwiLFxuICAgICAgICBcIkF1ZGl0aW9uIG1pbmlzdHJlXCIsXG4gICAgICAgIFwiQXVkaXRpb24gbWluaXN0cmUgb3V2ZXJ0ZSDDoCBsYSBwcmVzc2VcIixcbiAgICAgICAgXCJBdWRpdGlvbiBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICAgICAgICBcIkNvbW11bmljYXRpb25cIixcbiAgICAgICAgXCJDb25zdGl0dXRpb24gZGUgbWlzc2lvbiBkJ2luZm9ybWF0aW9uXCIsXG4gICAgICAgIFwiRGlzY3Vzc2lvblwiLFxuICAgICAgICBcIkTDqWJhdCBkJ2luaXRpYXRpdmUgcGFybGVtZW50YWlyZVwiLFxuICAgICAgICBcIkTDqWNsYXJhdGlvbiBkdSBHb3V2ZXJuZW1lbnQgc3VpdmllIGQndW4gZMOpYmF0XCIsXG4gICAgICAgIFwiRWNoYW5nZXMgZGUgdnVlc1wiLFxuICAgICAgICBcIkV4YW1lblwiLFxuICAgICAgICBcIkV4cGxpY2F0aW9ucyBkZSB2b3RlIGRlcyBncm91cGVzIGV0IHZvdGUgcGFyIHNjcnV0aW4gcHVibGljXCIsXG4gICAgICAgIFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICAgICAgXCJGaXhhdGlvbiBkZSBsJ29yZHJlIGR1IGpvdXJcIixcbiAgICAgICAgXCJOb21pbmF0aW9uIGJ1cmVhdVwiLFxuICAgICAgICBcIk5vbWluYXRpb24gY2FuZGlkYXRzIG9yZ2FuaXNtZSBleHRyYXBhcmxlbWVudGFpcmVcIixcbiAgICAgICAgXCJOb21pbmF0aW9uIGQndW4gbWVtYnJlIGQndW5lIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICAgICAgICBcIk5vbWluYXRpb24gcmFwcG9ydGV1clwiLFxuICAgICAgICBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBkJ2FwcGxpY2F0aW9uXCIsXG4gICAgICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIGQnaW5mb3JtYXRpb25cIixcbiAgICAgICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgcG91ciBhdmlzXCIsXG4gICAgICAgIFwiT3V2ZXJ0dXJlIGV0IGNsw7R0dXJlIGRlIHNlc3Npb25cIixcbiAgICAgICAgXCJRdWVzdGlvbnMgYXUgR291dmVybmVtZW50XCIsXG4gICAgICAgIFwiUXVlc3Rpb25zIG9yYWxlcyBzYW5zIGTDqWJhdFwiLFxuICAgICAgICBcIlJhcHBvcnRcIixcbiAgICAgICAgXCJSYXBwb3J0IGQnaW5mb3JtYXRpb25cIixcbiAgICAgICAgXCJSYXBwb3J0IHBvdXIgYXZpc1wiLFxuICAgICAgICBcIlPDqWFuY2VzIHLDqXNlcnbDqWVzIMOgIHVuIGdyb3VwZSBkZSBsJ29wcG9zaXRpb24gb3UgbWlub3JpdGFpcmVcIixcbiAgICAgICAgXCJTdWl0ZSBkZSBsYSBkaXNjdXNzaW9uXCIsXG4gICAgICAgIFwiVGFibGUgcm9uZGVcIixcbiAgICAgICAgXCJWb3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICAgICAgICBcIlZvdGUgc29sZW5uZWxcIixcbiAgICBdLFxuICAgIFwiRm9ybWF0UmV1bmlvblwiOiBbXG4gICAgICAgIFwiQXVkaXRpb25FeHRlcm5lXCIsXG4gICAgICAgIFwiQXVkaXRpb25QYXJQcmVzaWRlbnRDb21taXNzaW9uXCIsXG4gICAgICAgIFwiQXVkaXRpb25QYXJSYXBwb3J0ZXVyXCIsXG4gICAgICAgIFwiT3JkaW5haXJlXCIsXG4gICAgXSxcbiAgICBcIlF1YW50aWVtZVwiOiBbXG4gICAgICAgIFwiRGV1eGnDqG1lXCIsXG4gICAgICAgIFwiUHJlbWnDqHJlXCIsXG4gICAgICAgIFwiVHJvaXNpw6htZVwiLFxuICAgICAgICBcIlVuaXF1ZVwiLFxuICAgIF0sXG4gICAgXCJQcmVzZW5jZVwiOiBbXG4gICAgICAgIFwiYWJzZW50XCIsXG4gICAgICAgIFwiZXhjdXPDqVwiLFxuICAgICAgICBcInByw6lzZW50XCIsXG4gICAgXSxcbiAgICBcIlR5cGVSZXVuaW9uXCI6IFtcbiAgICAgICAgXCJERVBcIixcbiAgICAgICAgXCJHQVwiLFxuICAgICAgICBcIkdFXCIsXG4gICAgICAgIFwiR0VWSVwiLFxuICAgICAgICBcIkdQXCIsXG4gICAgICAgIFwiSMOJIEF1csOpbGllblwiLFxuICAgIF0sXG4gICAgXCJDaXZcIjogW1xuICAgICAgICBcIk0uXCIsXG4gICAgICAgIFwiTW1lXCIsXG4gICAgXSxcbiAgICBcIlVpZFhzaVR5cGVcIjogW1xuICAgICAgICBcIklkQWN0ZXVyX3R5cGVcIixcbiAgICAgICAgXCJJZFBlcnNvbm5lRXh0ZXJuZV90eXBlXCIsXG4gICAgXSxcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUErQkEsV0FBWUEsY0FBYywwQkFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFBLE9BQWRBLGNBQWM7QUFBQTtBQW9DMUIsV0FBWUMsZUFBZSwwQkFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBQSxPQUFmQSxlQUFlO0FBQUE7QUFlM0IsV0FBWUMsSUFBSSwwQkFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUEsT0FBSkEsSUFBSTtBQUFBO0FBV2hCLFdBQVlDLGdCQUFnQiwwQkFBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0I7RUFBQSxPQUFoQkEsZ0JBQWdCO0FBQUE7QUFLNUIsV0FBWUMsU0FBUywwQkFBVEEsU0FBUztFQUFUQSxTQUFTO0VBQVRBLFNBQVM7RUFBVEEsU0FBUztFQUFUQSxTQUFTO0VBQVRBLFNBQVM7RUFBQSxPQUFUQSxTQUFTO0FBQUE7QUFRckIsV0FBWUMsWUFBWSwwQkFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlB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RSxLQUFLLENBQUM7RUFDVCxnQkFBZ0IsRUFBRSxDQUNkLHdCQUF3QixFQUN4QiwrQkFBK0IsRUFDL0IsYUFBYSxDQUNoQjtFQUNELGlCQUFpQixFQUFFLENBQ2Ysa0JBQWtCLEVBQ2xCLHlCQUF5QixDQUM1QjtFQUNELE1BQU0sRUFBRSxDQUNKLFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsQ0FDYjtFQUNELGtCQUFrQixFQUFFLENBQ2hCLE9BQU8sRUFDUCxPQUFPLENBQ1Y7RUFDRCxXQUFXLEVBQUUsQ0FDVCw2QkFBNkIsRUFDN0IsMkNBQTJDLEVBQzNDLDJDQUEyQyxFQUMzQywyQ0FBMkMsRUFDM0Msc0RBQXNELENBQ3pEO0VBQ0QsY0FBYyxFQUFFLENBQ1osdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLHVDQUF1QyxFQUN2Qyw4QkFBOEIsRUFDOUIsZUFBZSxFQUNmLHVDQUF1QyxFQUN2QyxZQUFZLEVBQ1osa0NBQWtDLEVBQ2xDLCtDQUErQyxFQUMvQyxrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLDZEQUE2RCxFQUM3RCxpREFBaUQsRUFDakQsNkJBQTZCLEVBQzdCLG1CQUFtQixFQUNuQixtREFBbUQsRUFDbkQsb0RBQW9ELEVBQ3BELHVCQUF1QixFQUN2QixxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLGlDQUFpQyxFQUNqQyxpQ0FBaUMsRUFDakMsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQiw4REFBOEQsRUFDOUQsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYix5QkFBeUIsRUFDekIsZUFBZSxDQUNsQjtFQUNELGVBQWUsRUFBRSxDQUNiLGlCQUFpQixFQUNqQixnQ0FBZ0MsRUFDaEMsdUJBQXVCLEVBQ3ZCLFdBQVcsQ0FDZDtFQUNELFdBQVcsRUFBRSxDQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLFFBQVEsQ0FDWDtFQUNELFVBQVUsRUFBRSxDQUNSLFFBQVEsRUFDUixRQUFRLEVBQ1IsU0FBUyxDQUNaO0VBQ0QsYUFBYSxFQUFFLENBQ1gsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBQ0osTUFBTSxFQUNOLElBQUksRUFDSixhQUFhLENBQ2hCO0VBQ0QsS0FBSyxFQUFFLENBQ0gsSUFBSSxFQUNKLEtBQUssQ0FDUjtFQUNELFlBQVksRUFBRSxDQUNWLGVBQWUsRUFDZix3QkFBd0I7QUFFaEMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==