@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,556 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.symbol.description.js");
5
- require("core-js/modules/es.symbol.iterator.js");
6
- require("core-js/modules/es.array.iterator.js");
7
- require("core-js/modules/es.object.define-property.js");
8
- require("core-js/modules/es.string.iterator.js");
9
- require("core-js/modules/web.dom-collections.iterator.js");
10
- Object.defineProperty(exports, "__esModule", {
11
- value: true
12
- });
13
- exports.TypeMajorite = exports.PositionMajoritaire = exports.ModePublicationDesVotes = exports.LieuVote = exports.LibelleTypeVote = exports.Libelle = exports.Convert = exports.CodeTypeVote = exports.Code = exports.CausePositionVote = void 0;
14
- require("core-js/modules/es.symbol.to-primitive.js");
15
- require("core-js/modules/es.array.concat.js");
16
- require("core-js/modules/es.array.for-each.js");
17
- require("core-js/modules/es.array.index-of.js");
18
- require("core-js/modules/es.array.is-array.js");
19
- require("core-js/modules/es.array.map.js");
20
- require("core-js/modules/es.date.to-json.js");
21
- require("core-js/modules/es.date.to-primitive.js");
22
- require("core-js/modules/es.date.to-string.js");
23
- require("core-js/modules/es.number.constructor.js");
24
- require("core-js/modules/es.object.get-own-property-names.js");
25
- require("core-js/modules/es.object.keys.js");
26
- require("core-js/modules/es.object.to-string.js");
27
- require("core-js/modules/web.dom-collections.for-each.js");
28
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
29
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
30
- function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
31
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
32
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
33
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
34
- // To parse this data:
35
- //
36
- // import { Convert, Scrutins } from "./file";
37
- //
38
- // const scrutins = Convert.toScrutins(json);
39
- //
40
- // These functions will throw an error if the JSON doesn't
41
- // match the expected interface, even if the JSON is valid.
42
- var ModePublicationDesVotes = exports.ModePublicationDesVotes = /*#__PURE__*/function (ModePublicationDesVotes) {
43
- ModePublicationDesVotes["DecompteDissidentsPositionGroupe"] = "DecompteDissidentsPositionGroupe";
44
- ModePublicationDesVotes["DecompteNominatif"] = "DecompteNominatif";
45
- return ModePublicationDesVotes;
46
- }({});
47
- var Code = exports.Code = /*#__PURE__*/function (Code) {
48
- Code["Adopt\xE9"] = "adopt\xE9";
49
- Code["Rejet\xE9"] = "rejet\xE9";
50
- return Code;
51
- }({});
52
- var Libelle = exports.Libelle = /*#__PURE__*/function (Libelle) {
53
- Libelle["LAssembl\xE9eNationaleAAdopt\xE9"] = "l'Assembl\xE9e nationale a adopt\xE9";
54
- Libelle["LAssembl\xE9eNationaleNAPasAdopt\xE9"] = "L'Assembl\xE9e nationale n'a pas adopt\xE9";
55
- Libelle["LeCongr\xE8sDuParlementAAdopt\xE9"] = "Le Congr\xE8s du Parlement a adopt\xE9";
56
- Libelle["LeCongr\xE8sDuParlementNAPasAdopt\xE9"] = "Le Congr\xE8s du Parlement n'a pas adopt\xE9";
57
- return Libelle;
58
- }({});
59
- var CodeTypeVote = exports.CodeTypeVote = /*#__PURE__*/function (CodeTypeVote) {
60
- CodeTypeVote["Moc"] = "MOC";
61
- CodeTypeVote["Sat"] = "SAT";
62
- CodeTypeVote["Spo"] = "SPO";
63
- CodeTypeVote["Sps"] = "SPS";
64
- CodeTypeVote["Ssg"] = "SSG";
65
- return CodeTypeVote;
66
- }({});
67
- var LibelleTypeVote = exports.LibelleTypeVote = /*#__PURE__*/function (LibelleTypeVote) {
68
- LibelleTypeVote["MotionDeCensure"] = "motion de censure";
69
- LibelleTypeVote["ScrutinPublicOrdinaire"] = "scrutin public ordinaire";
70
- LibelleTypeVote["ScrutinPublicSolennel"] = "scrutin public solennel";
71
- LibelleTypeVote["Scrutin\xC0LaTribune"] = "scrutin \xE0 la tribune";
72
- LibelleTypeVote["ScrutinSolennelCongr\xE8s"] = "Scrutin solennel congr\xE8s";
73
- return LibelleTypeVote;
74
- }({});
75
- var TypeMajorite = exports.TypeMajorite = /*#__PURE__*/function (TypeMajorite) {
76
- TypeMajorite["Majorit\xE9AbsolueDesSuffragesExprim\xE9s"] = "Majorit\xE9 absolue des suffrages exprim\xE9s";
77
- TypeMajorite["majorit\xE9AbsolueDesSuffragesExprim\xE9s"] = "majorit\xE9 absolue des suffrages exprim\xE9s";
78
- TypeMajorite["majorit\xE9DesMembresComposantLAssembl\xE9eNationale"] = "majorit\xE9 des membres composant l'Assembl\xE9e nationale";
79
- TypeMajorite["majorit\xE9DesMembresComposantsComposantLAssembl\xE9e"] = "majorit\xE9 des membres composants composant l'Assembl\xE9e";
80
- TypeMajorite["majorit\xE9DesMembresComposantsComposantLAssembl\xE9eNationale"] = "majorit\xE9 des membres composants composant l'Assembl\xE9e nationale";
81
- TypeMajorite["Majorit\xE9RequisePourUnCongr\xE8s"] = "Majorit\xE9 requise pour un Congr\xE8s";
82
- TypeMajorite["Majorit\xE9RequisePourUneMotionDeCensure"] = "Majorit\xE9 requise pour une motion de censure";
83
- return TypeMajorite;
84
- }({});
85
- var CausePositionVote = exports.CausePositionVote = /*#__PURE__*/function (CausePositionVote) {
86
- CausePositionVote["Mg"] = "MG";
87
- CausePositionVote["Pan"] = "PAN";
88
- CausePositionVote["Pse"] = "PSE";
89
- return CausePositionVote;
90
- }({});
91
- var PositionMajoritaire = exports.PositionMajoritaire = /*#__PURE__*/function (PositionMajoritaire) {
92
- PositionMajoritaire["Abstention"] = "abstention";
93
- PositionMajoritaire["Contre"] = "contre";
94
- PositionMajoritaire["Pour"] = "pour";
95
- return PositionMajoritaire;
96
- }({});
97
- var LieuVote = exports.LieuVote = /*#__PURE__*/function (LieuVote) {
98
- LieuVote["Congr\xE8s"] = "Congr\xE8s";
99
- LieuVote["H\xE9micycle"] = "H\xE9micycle";
100
- LieuVote["Salons"] = "Salons";
101
- return LieuVote;
102
- }({}); // Converts JSON strings to/from your types
103
- // and asserts the results of JSON.parse at runtime
104
- var Convert = exports.Convert = /*#__PURE__*/function () {
105
- function Convert() {
106
- _classCallCheck(this, Convert);
107
- }
108
- return _createClass(Convert, null, [{
109
- key: "toScrutins",
110
- value: function toScrutins(json) {
111
- return cast(JSON.parse(json), r("Scrutins"));
112
- }
113
- }, {
114
- key: "scrutinsToJson",
115
- value: function scrutinsToJson(value) {
116
- return JSON.stringify(uncast(value, r("Scrutins")), null, 2);
117
- }
118
- }, {
119
- key: "toScrutin",
120
- value: function toScrutin(json) {
121
- return cast(JSON.parse(json), r("Scrutin"));
122
- }
123
- }, {
124
- key: "scrutinToJson",
125
- value: function scrutinToJson(value) {
126
- return JSON.stringify(uncast(value, r("Scrutin")), null, 2);
127
- }
128
- }]);
129
- }();
130
- function invalidValue(typ, val) {
131
- var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
132
- if (key) {
133
- throw Error("Invalid value for key \"".concat(key, "\". Expected type ").concat(JSON.stringify(typ), " but got ").concat(JSON.stringify(val)));
134
- }
135
- throw Error("Invalid value ".concat(JSON.stringify(val), " for type ").concat(JSON.stringify(typ)));
136
- }
137
- function jsonToJSProps(typ) {
138
- if (typ.jsonToJS === undefined) {
139
- var map = {};
140
- typ.props.forEach(function (p) {
141
- return map[p.json] = {
142
- key: p.js,
143
- typ: p.typ
144
- };
145
- });
146
- typ.jsonToJS = map;
147
- }
148
- return typ.jsonToJS;
149
- }
150
- function jsToJSONProps(typ) {
151
- if (typ.jsToJSON === undefined) {
152
- var map = {};
153
- typ.props.forEach(function (p) {
154
- return map[p.js] = {
155
- key: p.json,
156
- typ: p.typ
157
- };
158
- });
159
- typ.jsToJSON = map;
160
- }
161
- return typ.jsToJSON;
162
- }
163
- function transform(val, typ, getProps) {
164
- var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
165
- function transformPrimitive(typ, val) {
166
- if (_typeof(typ) === _typeof(val)) return val;
167
- return invalidValue(typ, val, key);
168
- }
169
- function transformUnion(typs, val) {
170
- // val must validate against one typ in typs
171
- var l = typs.length;
172
- for (var i = 0; i < l; i++) {
173
- var _typ = typs[i];
174
- try {
175
- return transform(val, _typ, getProps);
176
- } catch (_) {}
177
- }
178
- return invalidValue(typs, val);
179
- }
180
- function transformEnum(cases, val) {
181
- if (cases.indexOf(val) !== -1) return val;
182
- return invalidValue(cases, val);
183
- }
184
- function transformArray(typ, val) {
185
- // val must be an array with no invalid elements
186
- if (!Array.isArray(val)) return invalidValue("array", val);
187
- return val.map(function (el) {
188
- return transform(el, typ, getProps);
189
- });
190
- }
191
- function transformDate(val) {
192
- if (val === null) {
193
- return null;
194
- }
195
- var d = new Date(val);
196
- if (isNaN(d.valueOf())) {
197
- return invalidValue("Date", val);
198
- }
199
- return d;
200
- }
201
- function transformObject(props, additional, val) {
202
- if (val === null || _typeof(val) !== "object" || Array.isArray(val)) {
203
- return invalidValue("object", val);
204
- }
205
- var result = {};
206
- Object.getOwnPropertyNames(props).forEach(function (key) {
207
- var prop = props[key];
208
- var v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
209
- result[prop.key] = transform(v, prop.typ, getProps, prop.key);
210
- });
211
- Object.getOwnPropertyNames(val).forEach(function (key) {
212
- if (!Object.prototype.hasOwnProperty.call(props, key)) {
213
- result[key] = transform(val[key], additional, getProps, key);
214
- }
215
- });
216
- return result;
217
- }
218
- if (typ === "any") return val;
219
- if (typ === null) {
220
- if (val === null) return val;
221
- return invalidValue(typ, val);
222
- }
223
- // if (typ === false) return invalidValue(typ, val)
224
- while (_typeof(typ) === "object" && typ.ref !== undefined) {
225
- typ = typeMap[typ.ref];
226
- }
227
- if (Array.isArray(typ)) return transformEnum(typ, val);
228
- if (_typeof(typ) === "object") {
229
- 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);
230
- }
231
- // Numbers can be parsed by Date but shouldn't be.
232
- if (typ === Date && typeof val !== "number") return transformDate(val);
233
- return transformPrimitive(typ, val);
234
- }
235
- function cast(val, typ) {
236
- return transform(val, typ, jsonToJSProps);
237
- }
238
- function uncast(val, typ) {
239
- return transform(val, typ, jsToJSONProps);
240
- }
241
- function a(typ) {
242
- return {
243
- arrayItems: typ
244
- };
245
- }
246
- function u() {
247
- for (var _len = arguments.length, typs = new Array(_len), _key = 0; _key < _len; _key++) {
248
- typs[_key] = arguments[_key];
249
- }
250
- return {
251
- unionMembers: typs
252
- };
253
- }
254
- function o(props, additional) {
255
- return {
256
- props: props,
257
- additional: additional
258
- };
259
- }
260
-
261
- // function m(additional: any) {
262
- // return { props: [], additional }
263
- // }
264
-
265
- function r(name) {
266
- return {
267
- ref: name
268
- };
269
- }
270
- var typeMap = {
271
- Scrutins: o([{
272
- json: "scrutins",
273
- js: "scrutins",
274
- typ: a(r("Scrutin"))
275
- }], false),
276
- Scrutin: o([{
277
- json: "schemaVersion",
278
- js: "schemaVersion",
279
- typ: u(undefined, "")
280
- }, {
281
- json: "uid",
282
- js: "uid",
283
- typ: ""
284
- }, {
285
- json: "numero",
286
- js: "numero",
287
- typ: ""
288
- }, {
289
- json: "organeRef",
290
- js: "organeRef",
291
- typ: ""
292
- }, {
293
- json: "legislature",
294
- js: "legislature",
295
- typ: ""
296
- }, {
297
- json: "sessionRef",
298
- js: "sessionRef",
299
- typ: ""
300
- }, {
301
- json: "seanceRef",
302
- js: "seanceRef",
303
- typ: ""
304
- }, {
305
- json: "dateScrutin",
306
- js: "dateScrutin",
307
- typ: Date
308
- }, {
309
- json: "quantiemeJourSeance",
310
- js: "quantiemeJourSeance",
311
- typ: ""
312
- }, {
313
- json: "typeVote",
314
- js: "typeVote",
315
- typ: r("TypeVote")
316
- }, {
317
- json: "sort",
318
- js: "sort",
319
- typ: r("SortScrutin")
320
- }, {
321
- json: "titre",
322
- js: "titre",
323
- typ: ""
324
- }, {
325
- json: "demandeur",
326
- js: "demandeur",
327
- typ: r("Demandeur")
328
- }, {
329
- json: "objet",
330
- js: "objet",
331
- typ: r("Objet")
332
- }, {
333
- json: "modePublicationDesVotes",
334
- js: "modePublicationDesVotes",
335
- typ: r("ModePublicationDesVotes")
336
- }, {
337
- json: "syntheseVote",
338
- js: "syntheseVote",
339
- typ: r("SyntheseVote")
340
- }, {
341
- json: "ventilationVotes",
342
- js: "ventilationVotes",
343
- typ: r("VentilationVotes")
344
- }, {
345
- json: "miseAuPoint",
346
- js: "miseAuPoint",
347
- typ: u(undefined, r("MiseAuPoint"))
348
- }, {
349
- json: "lieuVote",
350
- js: "lieuVote",
351
- typ: u(undefined, r("LieuVote"))
352
- }], false),
353
- Demandeur: o([{
354
- json: "texte",
355
- js: "texte",
356
- typ: u(undefined, "")
357
- }], false),
358
- MiseAuPoint: o([{
359
- json: "nonVotants",
360
- js: "nonVotants",
361
- typ: u(undefined, a(r("Votant")))
362
- }, {
363
- json: "pour",
364
- js: "pour",
365
- typ: u(undefined, a(r("Votant")))
366
- }, {
367
- json: "contre",
368
- js: "contre",
369
- typ: u(undefined, a(r("Votant")))
370
- }, {
371
- json: "abstentions",
372
- js: "abstentions",
373
- typ: u(undefined, a(r("Votant")))
374
- }, {
375
- json: "nonVotantsVolontaires",
376
- js: "nonVotantsVolontaires",
377
- typ: u(undefined, a(r("Votant")))
378
- }, {
379
- json: "dysfonctionnement",
380
- js: "dysfonctionnement",
381
- typ: u(undefined, r("Dysfonctionnement"))
382
- }], false),
383
- Dysfonctionnement: o([{
384
- json: "nonVotants",
385
- js: "nonVotants",
386
- typ: u(undefined, a(r("Votant")))
387
- }, {
388
- json: "pour",
389
- js: "pour",
390
- typ: u(undefined, a(r("Votant")))
391
- }, {
392
- json: "contre",
393
- js: "contre",
394
- typ: u(undefined, a(r("Votant")))
395
- }, {
396
- json: "abstentions",
397
- js: "abstentions",
398
- typ: u(undefined, a(r("Votant")))
399
- }, {
400
- json: "nonVotantsVolontaires",
401
- js: "nonVotantsVolontaires",
402
- typ: u(undefined, a(r("Votant")))
403
- }], false),
404
- Objet: o([{
405
- json: "libelle",
406
- js: "libelle",
407
- typ: ""
408
- }], false),
409
- SortScrutin: o([{
410
- json: "code",
411
- js: "code",
412
- typ: r("Code")
413
- }, {
414
- json: "libelle",
415
- js: "libelle",
416
- typ: r("Libelle")
417
- }], false),
418
- SyntheseVote: o([{
419
- json: "nombreVotants",
420
- js: "nombreVotants",
421
- typ: ""
422
- }, {
423
- json: "suffragesExprimes",
424
- js: "suffragesExprimes",
425
- typ: ""
426
- }, {
427
- json: "nbrSuffragesRequis",
428
- js: "nbrSuffragesRequis",
429
- typ: ""
430
- }, {
431
- json: "annonce",
432
- js: "annonce",
433
- typ: r("Libelle")
434
- }, {
435
- json: "decompte",
436
- js: "decompte",
437
- typ: r("DecompteVoix")
438
- }], false),
439
- TypeVote: o([{
440
- json: "codeTypeVote",
441
- js: "codeTypeVote",
442
- typ: r("CodeTypeVote")
443
- }, {
444
- json: "libelleTypeVote",
445
- js: "libelleTypeVote",
446
- typ: r("LibelleTypeVote")
447
- }, {
448
- json: "typeMajorite",
449
- js: "typeMajorite",
450
- typ: r("TypeMajorite")
451
- }], false),
452
- VentilationVotes: o([{
453
- json: "organeRef",
454
- js: "organeRef",
455
- typ: ""
456
- }, {
457
- json: "groupes",
458
- js: "groupes",
459
- typ: a(r("VentilationVotesGroupe"))
460
- }], false),
461
- VentilationVotesGroupe: o([{
462
- json: "organeRef",
463
- js: "organeRef",
464
- typ: ""
465
- }, {
466
- json: "nombreMembresGroupe",
467
- js: "nombreMembresGroupe",
468
- typ: ""
469
- }, {
470
- json: "vote",
471
- js: "vote",
472
- typ: r("Vote")
473
- }], false),
474
- Vote: o([{
475
- json: "positionMajoritaire",
476
- js: "positionMajoritaire",
477
- typ: r("PositionMajoritaire")
478
- }, {
479
- json: "decompteVoix",
480
- js: "decompteVoix",
481
- typ: r("DecompteVoix")
482
- }, {
483
- json: "decompteNominatif",
484
- js: "decompteNominatif",
485
- typ: r("DecompteNominatif")
486
- }], false),
487
- DecompteNominatif: o([{
488
- json: "nonVotants",
489
- js: "nonVotants",
490
- typ: u(undefined, a(r("Votant")))
491
- }, {
492
- json: "pour",
493
- js: "pour",
494
- typ: u(undefined, a(r("Votant")))
495
- }, {
496
- json: "contre",
497
- js: "contre",
498
- typ: u(undefined, a(r("Votant")))
499
- }, {
500
- json: "abstentions",
501
- js: "abstentions",
502
- typ: u(undefined, a(r("Votant")))
503
- }], false),
504
- Votant: o([{
505
- json: "acteurRef",
506
- js: "acteurRef",
507
- typ: ""
508
- }, {
509
- json: "mandatRef",
510
- js: "mandatRef",
511
- typ: ""
512
- }, {
513
- json: "parDelegation",
514
- js: "parDelegation",
515
- typ: u(undefined, false)
516
- }, {
517
- json: "numPlace",
518
- js: "numPlace",
519
- typ: u(undefined, 0)
520
- }, {
521
- json: "causePositionVote",
522
- js: "causePositionVote",
523
- typ: u(undefined, r("CausePositionVote"))
524
- }], false),
525
- DecompteVoix: o([{
526
- json: "pour",
527
- js: "pour",
528
- typ: ""
529
- }, {
530
- json: "contre",
531
- js: "contre",
532
- typ: ""
533
- }, {
534
- json: "nonVotants",
535
- js: "nonVotants",
536
- typ: u(undefined, "")
537
- }, {
538
- json: "abstentions",
539
- js: "abstentions",
540
- typ: u(undefined, "")
541
- }, {
542
- json: "nonVotantsVolontaires",
543
- js: "nonVotantsVolontaires",
544
- typ: u(undefined, "")
545
- }], false),
546
- ModePublicationDesVotes: ["DecompteDissidentsPositionGroupe", "DecompteNominatif"],
547
- Code: ["adopté", "rejeté"],
548
- Libelle: ["l'Assemblée nationale a adopté", "L'Assemblée nationale n'a pas adopté", "Le Congrès du Parlement a adopté", "Le Congrès du Parlement n'a pas adopté"],
549
- CodeTypeVote: ["MOC", "SAT", "SPO", "SPS", "SSG"],
550
- LibelleTypeVote: ["motion de censure", "scrutin public ordinaire", "scrutin public solennel", "scrutin à la tribune", "Scrutin solennel congrès"],
551
- TypeMajorite: ["Majorité absolue des suffrages exprimés", "majorité absolue des suffrages exprimés", "majorité des membres composant l'Assemblée nationale", "majorité des membres composants composant l'Assemblée", "majorité des membres composants composant l'Assemblée nationale", "Majorité requise pour un Congrès", "Majorité requise pour une motion de censure"],
552
- CausePositionVote: ["MG", "PAN", "PSE"],
553
- PositionMajoritaire: ["abstention", "contre", "pour"],
554
- LieuVote: ["Congrès", "Hémicycle", "Salons"]
555
- };
556
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlUHVibGljYXRpb25EZXNWb3RlcyIsImV4cG9ydHMiLCJDb2RlIiwiTGliZWxsZSIsIkNvZGVUeXBlVm90ZSIsIkxpYmVsbGVUeXBlVm90ZSIsIlR5cGVNYWpvcml0ZSIsIkNhdXNlUG9zaXRpb25Wb3RlIiwiUG9zaXRpb25NYWpvcml0YWlyZSIsIkxpZXVWb3RlIiwiQ29udmVydCIsIl9jbGFzc0NhbGxDaGVjayIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwidG9TY3J1dGlucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInNjcnV0aW5zVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9TY3J1dGluIiwic2NydXRpblRvSnNvbiIsImludmFsaWRWYWx1ZSIsInR5cCIsInZhbCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkVycm9yIiwiY29uY2F0IiwianNvblRvSlNQcm9wcyIsImpzb25Ub0pTIiwibWFwIiwicHJvcHMiLCJmb3JFYWNoIiwicCIsImpzIiwianNUb0pTT05Qcm9wcyIsImpzVG9KU09OIiwidHJhbnNmb3JtIiwiZ2V0UHJvcHMiLCJ0cmFuc2Zvcm1QcmltaXRpdmUiLCJfdHlwZW9mIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIl9sZW4iLCJfa2V5IiwibyIsIm5hbWUiLCJTY3J1dGlucyIsIlNjcnV0aW4iLCJEZW1hbmRldXIiLCJNaXNlQXVQb2ludCIsIkR5c2ZvbmN0aW9ubmVtZW50IiwiT2JqZXQiLCJTb3J0U2NydXRpbiIsIlN5bnRoZXNlVm90ZSIsIlR5cGVWb3RlIiwiVmVudGlsYXRpb25Wb3RlcyIsIlZlbnRpbGF0aW9uVm90ZXNHcm91cGUiLCJWb3RlIiwiRGVjb21wdGVOb21pbmF0aWYiLCJWb3RhbnQiLCJEZWNvbXB0ZVZvaXgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvc2NydXRpbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgU2NydXRpbnMgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBzY3J1dGlucyA9IENvbnZlcnQudG9TY3J1dGlucyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW5zIHtcbiAgc2NydXRpbnM6IFNjcnV0aW5bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW4ge1xuICBzY2hlbWFWZXJzaW9uPzogc3RyaW5nXG4gIHVpZDogc3RyaW5nXG4gIG51bWVybzogc3RyaW5nXG4gIG9yZ2FuZVJlZjogc3RyaW5nXG4gIGxlZ2lzbGF0dXJlOiBzdHJpbmdcbiAgc2Vzc2lvblJlZjogc3RyaW5nXG4gIHNlYW5jZVJlZjogc3RyaW5nXG4gIGRhdGVTY3J1dGluOiBEYXRlXG4gIHF1YW50aWVtZUpvdXJTZWFuY2U6IHN0cmluZ1xuICB0eXBlVm90ZTogVHlwZVZvdGVcbiAgc29ydDogU29ydFNjcnV0aW5cbiAgdGl0cmU6IHN0cmluZ1xuICBkZW1hbmRldXI6IERlbWFuZGV1clxuICBvYmpldDogT2JqZXRcbiAgbW9kZVB1YmxpY2F0aW9uRGVzVm90ZXM6IE1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzXG4gIHN5bnRoZXNlVm90ZTogU3ludGhlc2VWb3RlXG4gIHZlbnRpbGF0aW9uVm90ZXM6IFZlbnRpbGF0aW9uVm90ZXNcbiAgbWlzZUF1UG9pbnQ/OiBNaXNlQXVQb2ludFxuICBsaWV1Vm90ZT86IExpZXVWb3RlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyIHtcbiAgdGV4dGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaXNlQXVQb2ludCB7XG4gIG5vblZvdGFudHM/OiBWb3RhbnRbXVxuICBwb3VyPzogVm90YW50W11cbiAgY29udHJlPzogVm90YW50W11cbiAgYWJzdGVudGlvbnM/OiBWb3RhbnRbXVxuICBub25Wb3RhbnRzVm9sb250YWlyZXM/OiBWb3RhbnRbXVxuICBkeXNmb25jdGlvbm5lbWVudD86IER5c2ZvbmN0aW9ubmVtZW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHlzZm9uY3Rpb25uZW1lbnQge1xuICBub25Wb3RhbnRzPzogVm90YW50W11cbiAgcG91cj86IFZvdGFudFtdXG4gIGNvbnRyZT86IFZvdGFudFtdXG4gIGFic3RlbnRpb25zPzogVm90YW50W11cbiAgbm9uVm90YW50c1ZvbG9udGFpcmVzPzogVm90YW50W11cbn1cblxuZXhwb3J0IGVudW0gTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXMge1xuICBEZWNvbXB0ZURpc3NpZGVudHNQb3NpdGlvbkdyb3VwZSA9IFwiRGVjb21wdGVEaXNzaWRlbnRzUG9zaXRpb25Hcm91cGVcIixcbiAgRGVjb21wdGVOb21pbmF0aWYgPSBcIkRlY29tcHRlTm9taW5hdGlmXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZXQge1xuICBsaWJlbGxlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0U2NydXRpbiB7XG4gIGNvZGU6IENvZGVcbiAgbGliZWxsZTogTGliZWxsZVxufVxuXG5leHBvcnQgZW51bSBDb2RlIHtcbiAgQWRvcHTDqSA9IFwiYWRvcHTDqVwiLFxuICBSZWpldMOpID0gXCJyZWpldMOpXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpYmVsbGUge1xuICBMQXNzZW1ibMOpZU5hdGlvbmFsZUFBZG9wdMOpID0gXCJsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlIGEgYWRvcHTDqVwiLFxuICBMQXNzZW1ibMOpZU5hdGlvbmFsZU5BUGFzQWRvcHTDqSA9IFwiTCdBc3NlbWJsw6llIG5hdGlvbmFsZSBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgTGVDb25ncsOoc0R1UGFybGVtZW50QUFkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgTGVDb25ncsOoc0R1UGFybGVtZW50TkFQYXNBZG9wdMOpID0gXCJMZSBDb25ncsOocyBkdSBQYXJsZW1lbnQgbidhIHBhcyBhZG9wdMOpXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ludGhlc2VWb3RlIHtcbiAgbm9tYnJlVm90YW50czogc3RyaW5nXG4gIHN1ZmZyYWdlc0V4cHJpbWVzOiBzdHJpbmdcbiAgbmJyU3VmZnJhZ2VzUmVxdWlzOiBzdHJpbmdcbiAgYW5ub25jZTogTGliZWxsZVxuICBkZWNvbXB0ZTogRGVjb21wdGVWb2l4XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVZvdGUge1xuICBjb2RlVHlwZVZvdGU6IENvZGVUeXBlVm90ZVxuICBsaWJlbGxlVHlwZVZvdGU6IExpYmVsbGVUeXBlVm90ZVxuICB0eXBlTWFqb3JpdGU6IFR5cGVNYWpvcml0ZVxufVxuXG5leHBvcnQgZW51bSBDb2RlVHlwZVZvdGUge1xuICBNb2MgPSBcIk1PQ1wiLFxuICBTYXQgPSBcIlNBVFwiLFxuICBTcG8gPSBcIlNQT1wiLFxuICBTcHMgPSBcIlNQU1wiLFxuICBTc2cgPSBcIlNTR1wiLFxufVxuXG5leHBvcnQgZW51bSBMaWJlbGxlVHlwZVZvdGUge1xuICBNb3Rpb25EZUNlbnN1cmUgPSBcIm1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gIFNjcnV0aW5QdWJsaWNPcmRpbmFpcmUgPSBcInNjcnV0aW4gcHVibGljIG9yZGluYWlyZVwiLFxuICBTY3J1dGluUHVibGljU29sZW5uZWwgPSBcInNjcnV0aW4gcHVibGljIHNvbGVubmVsXCIsXG4gIFNjcnV0aW7DgExhVHJpYnVuZSA9IFwic2NydXRpbiDDoCBsYSB0cmlidW5lXCIsXG4gIFNjcnV0aW5Tb2xlbm5lbENvbmdyw6hzID0gXCJTY3J1dGluIHNvbGVubmVsIGNvbmdyw6hzXCIsXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVNYWpvcml0ZSB7XG4gIE1ham9yaXTDqUFic29sdWVEZXNTdWZmcmFnZXNFeHByaW3DqXMgPSBcIk1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gIG1ham9yaXTDqUFic29sdWVEZXNTdWZmcmFnZXNFeHByaW3DqXMgPSBcIm1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gIG1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRMQXNzZW1ibMOpZU5hdGlvbmFsZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gIG1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRzQ29tcG9zYW50TEFzc2VtYmzDqWUgPSBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWVcIixcbiAgbWFqb3JpdMOpRGVzTWVtYnJlc0NvbXBvc2FudHNDb21wb3NhbnRMQXNzZW1ibMOpZU5hdGlvbmFsZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbiAgTWFqb3JpdMOpUmVxdWlzZVBvdXJVbkNvbmdyw6hzID0gXCJNYWpvcml0w6kgcmVxdWlzZSBwb3VyIHVuIENvbmdyw6hzXCIsXG4gIE1ham9yaXTDqVJlcXVpc2VQb3VyVW5lTW90aW9uRGVDZW5zdXJlID0gXCJNYWpvcml0w6kgcmVxdWlzZSBwb3VyIHVuZSBtb3Rpb24gZGUgY2Vuc3VyZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlbnRpbGF0aW9uVm90ZXMge1xuICBvcmdhbmVSZWY6IHN0cmluZ1xuICBncm91cGVzOiBWZW50aWxhdGlvblZvdGVzR3JvdXBlW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZW50aWxhdGlvblZvdGVzR3JvdXBlIHtcbiAgb3JnYW5lUmVmOiBzdHJpbmdcbiAgbm9tYnJlTWVtYnJlc0dyb3VwZTogc3RyaW5nXG4gIHZvdGU6IFZvdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb3RlIHtcbiAgcG9zaXRpb25NYWpvcml0YWlyZTogUG9zaXRpb25NYWpvcml0YWlyZVxuICBkZWNvbXB0ZVZvaXg6IERlY29tcHRlVm9peFxuICBkZWNvbXB0ZU5vbWluYXRpZjogRGVjb21wdGVOb21pbmF0aWZcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWNvbXB0ZU5vbWluYXRpZiB7XG4gIG5vblZvdGFudHM/OiBWb3RhbnRbXVxuICBwb3VyPzogVm90YW50W11cbiAgY29udHJlPzogVm90YW50W11cbiAgYWJzdGVudGlvbnM/OiBWb3RhbnRbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvdGFudCB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIG1hbmRhdFJlZjogc3RyaW5nXG4gIHBhckRlbGVnYXRpb24/OiBib29sZWFuXG4gIG51bVBsYWNlPzogbnVtYmVyXG4gIGNhdXNlUG9zaXRpb25Wb3RlPzogQ2F1c2VQb3NpdGlvblZvdGVcbn1cblxuZXhwb3J0IGVudW0gQ2F1c2VQb3NpdGlvblZvdGUge1xuICBNZyA9IFwiTUdcIixcbiAgUGFuID0gXCJQQU5cIixcbiAgUHNlID0gXCJQU0VcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWNvbXB0ZVZvaXgge1xuICBwb3VyOiBzdHJpbmdcbiAgY29udHJlOiBzdHJpbmdcbiAgbm9uVm90YW50cz86IHN0cmluZ1xuICBhYnN0ZW50aW9ucz86IHN0cmluZ1xuICBub25Wb3RhbnRzVm9sb250YWlyZXM/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gUG9zaXRpb25NYWpvcml0YWlyZSB7XG4gIEFic3RlbnRpb24gPSBcImFic3RlbnRpb25cIixcbiAgQ29udHJlID0gXCJjb250cmVcIixcbiAgUG91ciA9IFwicG91clwiLFxufVxuXG5leHBvcnQgZW51bSBMaWV1Vm90ZSB7XG4gIENvbmdyw6hzID0gXCJDb25ncsOoc1wiLFxuICBIw6ltaWN5Y2xlID0gXCJIw6ltaWN5Y2xlXCIsXG4gIFNhbG9ucyA9IFwiU2Fsb25zXCIsXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICBwdWJsaWMgc3RhdGljIHRvU2NydXRpbnMoanNvbjogc3RyaW5nKTogU2NydXRpbnMge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJTY3J1dGluc1wiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2NydXRpbnNUb0pzb24odmFsdWU6IFNjcnV0aW5zKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiU2NydXRpbnNcIikpLCBudWxsLCAyKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b1NjcnV0aW4oanNvbjogc3RyaW5nKTogU2NydXRpbiB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlNjcnV0aW5cIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNjcnV0aW5Ub0pzb24odmFsdWU6IFNjcnV0aW4pOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJTY3J1dGluXCIpKSwgbnVsbCwgMilcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBuZXZlciB7XG4gIGlmIChrZXkpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICB0eXAsXG4gICAgICApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gLFxuICAgIClcbiAgfVxuICB0aHJvdyBFcnJvcihcbiAgICBgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLFxuICApXG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzb25Ub0pTID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc29uVG9KU1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc10gPSB7IGtleTogcC5qc29uLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc1RvSlNPTiA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNUb0pTT05cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSBcIlwiKTogYW55IHtcbiAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1Vbmlvbih0eXBzOiBhbnlbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV1cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKVxuICAgICAgfSBjYXRjaCAoXykge31cbiAgICB9XG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1FbnVtKGNhc2VzOiBzdHJpbmdbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZShjYXNlcywgdmFsKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbClcbiAgICByZXR1cm4gdmFsLm1hcCgoZWwpID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKVxuICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJEYXRlXCIsIHZhbClcbiAgICB9XG4gICAgcmV0dXJuIGRcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybU9iamVjdChcbiAgICBwcm9wczogeyBbazogc3RyaW5nXTogYW55IH0sXG4gICAgYWRkaXRpb25hbDogYW55LFxuICAgIHZhbDogYW55LFxuICApOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJvYmplY3RcIiwgdmFsKVxuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV1cbiAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpXG4gICAgICAgID8gdmFsW2tleV1cbiAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBwcm9wLmtleSlcbiAgICB9KVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSlcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWxcbiAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdXG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpXG4gIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIilcbiAgICAgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpXG4gICAgICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgfVxuICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICBpZiAodHlwID09PSBEYXRlICYmIHR5cGVvZiB2YWwgIT09IFwibnVtYmVyXCIpIHJldHVybiB0cmFuc2Zvcm1EYXRlKHZhbClcbiAgcmV0dXJuIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXAsIHZhbClcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNvblRvSlNQcm9wcylcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc1RvSlNPTlByb3BzKVxufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH1cbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7IHJlZjogbmFtZSB9XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgU2NydXRpbnM6IG8oXG4gICAgW3sganNvbjogXCJzY3J1dGluc1wiLCBqczogXCJzY3J1dGluc1wiLCB0eXA6IGEocihcIlNjcnV0aW5cIikpIH1dLFxuICAgIGZhbHNlLFxuICApLFxuICBTY3J1dGluOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJzY2hlbWFWZXJzaW9uXCIsIGpzOiBcInNjaGVtYVZlcnNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm51bWVyb1wiLCBqczogXCJudW1lcm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsZWdpc2xhdHVyZVwiLCBqczogXCJsZWdpc2xhdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJzZXNzaW9uUmVmXCIsIGpzOiBcInNlc3Npb25SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwic2VhbmNlUmVmXCIsIGpzOiBcInNlYW5jZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJkYXRlU2NydXRpblwiLCBqczogXCJkYXRlU2NydXRpblwiLCB0eXA6IERhdGUgfSxcbiAgICAgIHsganNvbjogXCJxdWFudGllbWVKb3VyU2VhbmNlXCIsIGpzOiBcInF1YW50aWVtZUpvdXJTZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidHlwZVZvdGVcIiwganM6IFwidHlwZVZvdGVcIiwgdHlwOiByKFwiVHlwZVZvdGVcIikgfSxcbiAgICAgIHsganNvbjogXCJzb3J0XCIsIGpzOiBcInNvcnRcIiwgdHlwOiByKFwiU29ydFNjcnV0aW5cIikgfSxcbiAgICAgIHsganNvbjogXCJ0aXRyZVwiLCBqczogXCJ0aXRyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJkZW1hbmRldXJcIiwganM6IFwiZGVtYW5kZXVyXCIsIHR5cDogcihcIkRlbWFuZGV1clwiKSB9LFxuICAgICAgeyBqc29uOiBcIm9iamV0XCIsIGpzOiBcIm9iamV0XCIsIHR5cDogcihcIk9iamV0XCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibW9kZVB1YmxpY2F0aW9uRGVzVm90ZXNcIixcbiAgICAgICAganM6IFwibW9kZVB1YmxpY2F0aW9uRGVzVm90ZXNcIixcbiAgICAgICAgdHlwOiByKFwiTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXNcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInN5bnRoZXNlVm90ZVwiLCBqczogXCJzeW50aGVzZVZvdGVcIiwgdHlwOiByKFwiU3ludGhlc2VWb3RlXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidmVudGlsYXRpb25Wb3Rlc1wiLFxuICAgICAgICBqczogXCJ2ZW50aWxhdGlvblZvdGVzXCIsXG4gICAgICAgIHR5cDogcihcIlZlbnRpbGF0aW9uVm90ZXNcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm1pc2VBdVBvaW50XCIsXG4gICAgICAgIGpzOiBcIm1pc2VBdVBvaW50XCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJNaXNlQXVQb2ludFwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImxpZXVWb3RlXCIsIGpzOiBcImxpZXVWb3RlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJMaWV1Vm90ZVwiKSkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZW1hbmRldXI6IG8oW3sganNvbjogXCJ0ZXh0ZVwiLCBqczogXCJ0ZXh0ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9XSwgZmFsc2UpLFxuICBNaXNlQXVQb2ludDogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibm9uVm90YW50c1wiLFxuICAgICAgICBqczogXCJub25Wb3RhbnRzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb3VyXCIsXG4gICAgICAgIGpzOiBcInBvdXJcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvbnRyZVwiLFxuICAgICAgICBqczogXCJjb250cmVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFic3RlbnRpb25zXCIsXG4gICAgICAgIGpzOiBcImFic3RlbnRpb25zXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIixcbiAgICAgICAganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkeXNmb25jdGlvbm5lbWVudFwiLFxuICAgICAgICBqczogXCJkeXNmb25jdGlvbm5lbWVudFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRHlzZm9uY3Rpb25uZW1lbnRcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEeXNmb25jdGlvbm5lbWVudDogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibm9uVm90YW50c1wiLFxuICAgICAgICBqczogXCJub25Wb3RhbnRzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb3VyXCIsXG4gICAgICAgIGpzOiBcInBvdXJcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvbnRyZVwiLFxuICAgICAgICBqczogXCJjb250cmVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFic3RlbnRpb25zXCIsXG4gICAgICAgIGpzOiBcImFic3RlbnRpb25zXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIixcbiAgICAgICAganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBPYmpldDogbyhbeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfV0sIGZhbHNlKSxcbiAgU29ydFNjcnV0aW46IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVcIiwganM6IFwiY29kZVwiLCB0eXA6IHIoXCJDb2RlXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBTeW50aGVzZVZvdGU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm5vbWJyZVZvdGFudHNcIiwganM6IFwibm9tYnJlVm90YW50c1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJzdWZmcmFnZXNFeHByaW1lc1wiLCBqczogXCJzdWZmcmFnZXNFeHByaW1lc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJuYnJTdWZmcmFnZXNSZXF1aXNcIiwganM6IFwibmJyU3VmZnJhZ2VzUmVxdWlzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFubm9uY2VcIiwganM6IFwiYW5ub25jZVwiLCB0eXA6IHIoXCJMaWJlbGxlXCIpIH0sXG4gICAgICB7IGpzb246IFwiZGVjb21wdGVcIiwganM6IFwiZGVjb21wdGVcIiwgdHlwOiByKFwiRGVjb21wdGVWb2l4XCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVHlwZVZvdGU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVUeXBlVm90ZVwiLCBqczogXCJjb2RlVHlwZVZvdGVcIiwgdHlwOiByKFwiQ29kZVR5cGVWb3RlXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibGliZWxsZVR5cGVWb3RlXCIsXG4gICAgICAgIGpzOiBcImxpYmVsbGVUeXBlVm90ZVwiLFxuICAgICAgICB0eXA6IHIoXCJMaWJlbGxlVHlwZVZvdGVcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInR5cGVNYWpvcml0ZVwiLCBqczogXCJ0eXBlTWFqb3JpdGVcIiwgdHlwOiByKFwiVHlwZU1ham9yaXRlXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVmVudGlsYXRpb25Wb3RlczogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJncm91cGVzXCIsIGpzOiBcImdyb3VwZXNcIiwgdHlwOiBhKHIoXCJWZW50aWxhdGlvblZvdGVzR3JvdXBlXCIpKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFZlbnRpbGF0aW9uVm90ZXNHcm91cGU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibm9tYnJlTWVtYnJlc0dyb3VwZVwiLCBqczogXCJub21icmVNZW1icmVzR3JvdXBlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInZvdGVcIiwganM6IFwidm90ZVwiLCB0eXA6IHIoXCJWb3RlXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVm90ZTogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicG9zaXRpb25NYWpvcml0YWlyZVwiLFxuICAgICAgICBqczogXCJwb3NpdGlvbk1ham9yaXRhaXJlXCIsXG4gICAgICAgIHR5cDogcihcIlBvc2l0aW9uTWFqb3JpdGFpcmVcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImRlY29tcHRlVm9peFwiLCBqczogXCJkZWNvbXB0ZVZvaXhcIiwgdHlwOiByKFwiRGVjb21wdGVWb2l4XCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGVjb21wdGVOb21pbmF0aWZcIixcbiAgICAgICAganM6IFwiZGVjb21wdGVOb21pbmF0aWZcIixcbiAgICAgICAgdHlwOiByKFwiRGVjb21wdGVOb21pbmF0aWZcIiksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlY29tcHRlTm9taW5hdGlmOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJub25Wb3RhbnRzXCIsXG4gICAgICAgIGpzOiBcIm5vblZvdGFudHNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInBvdXJcIixcbiAgICAgICAganM6IFwicG91clwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJWb3RhbnRcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29udHJlXCIsXG4gICAgICAgIGpzOiBcImNvbnRyZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJWb3RhbnRcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWJzdGVudGlvbnNcIixcbiAgICAgICAganM6IFwiYWJzdGVudGlvbnNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFZvdGFudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInBhckRlbGVnYXRpb25cIiwganM6IFwicGFyRGVsZWdhdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBmYWxzZSkgfSxcbiAgICAgIHsganNvbjogXCJudW1QbGFjZVwiLCBqczogXCJudW1QbGFjZVwiLCB0eXA6IHUodW5kZWZpbmVkLCAwKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNhdXNlUG9zaXRpb25Wb3RlXCIsXG4gICAgICAgIGpzOiBcImNhdXNlUG9zaXRpb25Wb3RlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJDYXVzZVBvc2l0aW9uVm90ZVwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlY29tcHRlVm9peDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwicG91clwiLCBqczogXCJwb3VyXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibm9uVm90YW50c1wiLCBqczogXCJub25Wb3RhbnRzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIixcbiAgICAgICAganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBNb2RlUHVibGljYXRpb25EZXNWb3RlczogW1xuICAgIFwiRGVjb21wdGVEaXNzaWRlbnRzUG9zaXRpb25Hcm91cGVcIixcbiAgICBcIkRlY29tcHRlTm9taW5hdGlmXCIsXG4gIF0sXG4gIENvZGU6IFtcImFkb3B0w6lcIiwgXCJyZWpldMOpXCJdLFxuICBMaWJlbGxlOiBbXG4gICAgXCJsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlIGEgYWRvcHTDqVwiLFxuICAgIFwiTCdBc3NlbWJsw6llIG5hdGlvbmFsZSBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgICBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgXSxcbiAgQ29kZVR5cGVWb3RlOiBbXCJNT0NcIiwgXCJTQVRcIiwgXCJTUE9cIiwgXCJTUFNcIiwgXCJTU0dcIl0sXG4gIExpYmVsbGVUeXBlVm90ZTogW1xuICAgIFwibW90aW9uIGRlIGNlbnN1cmVcIixcbiAgICBcInNjcnV0aW4gcHVibGljIG9yZGluYWlyZVwiLFxuICAgIFwic2NydXRpbiBwdWJsaWMgc29sZW5uZWxcIixcbiAgICBcInNjcnV0aW4gw6AgbGEgdHJpYnVuZVwiLFxuICAgIFwiU2NydXRpbiBzb2xlbm5lbCBjb25ncsOoc1wiLFxuICBdLFxuICBUeXBlTWFqb3JpdGU6IFtcbiAgICBcIk1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gICAgXCJtYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgIFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llXCIsXG4gICAgXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICAgIFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1biBDb25ncsOoc1wiLFxuICAgIFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1bmUgbW90aW9uIGRlIGNlbnN1cmVcIixcbiAgXSxcbiAgQ2F1c2VQb3NpdGlvblZvdGU6IFtcIk1HXCIsIFwiUEFOXCIsIFwiUFNFXCJdLFxuICBQb3NpdGlvbk1ham9yaXRhaXJlOiBbXCJhYnN0ZW50aW9uXCIsIFwiY29udHJlXCIsIFwicG91clwiXSxcbiAgTGlldVZvdGU6IFtcIkNvbmdyw6hzXCIsIFwiSMOpbWljeWNsZVwiLCBcIlNhbG9uc1wiXSxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLElBaURZQSx1QkFBdUIsR0FBQUMsT0FBQSxDQUFBRCx1QkFBQSwwQkFBdkJBLHVCQUF1QjtFQUF2QkEsdUJBQXVCO0VBQXZCQSx1QkFBdUI7RUFBQSxPQUF2QkEsdUJBQXVCO0FBQUE7QUFBQSxJQWN2QkUsSUFBSSxHQUFBRCxPQUFBLENBQUFDLElBQUEsMEJBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUEsT0FBSkEsSUFBSTtBQUFBO0FBQUEsSUFLSkMsT0FBTyxHQUFBRixPQUFBLENBQUFFLE9BQUEsMEJBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFBLE9BQVBBLE9BQU87QUFBQTtBQUFBLElBcUJQQyxZQUFZLEdBQUFILE9BQUEsQ0FBQUcsWUFBQSwwQkFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBQSxPQUFaQSxZQUFZO0FBQUE7QUFBQSxJQVFaQyxlQUFlLEdBQUFKLE9BQUEsQ0FBQUksZUFBQSwwQkFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBQSxPQUFmQSxlQUFlO0FBQUE7QUFBQSxJQVFmQyxZQUFZLEdBQUFMLE9BQUEsQ0FBQUssWUFBQSwwQkFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQUEsT0FBWkEsWUFBWTtBQUFBO0FBQUEsSUEwQ1pDLGlCQUFpQixHQUFBTixPQUFBLENBQUFNLGlCQUFBLDBCQUFqQkEsaUJBQWlCO0VBQWpCQSxpQkFBaUI7RUFBakJBLGlCQUFpQjtFQUFqQkEsaUJBQWlCO0VBQUEsT0FBakJBLGlCQUFpQjtBQUFBO0FBQUEsSUFjakJDLG1CQUFtQixHQUFBUCxPQUFBLENBQUFPLG1CQUFBLDBCQUFuQkEsbUJBQW1CO0VBQW5CQSxtQkFBbUI7RUFBbkJBLG1CQUFtQjtFQUFuQkEsbUJBQW1CO0VBQUEsT0FBbkJBLG1CQUFtQjtBQUFBO0FBQUEsSUFNbkJDLFFBQVEsR0FBQVIsT0FBQSxDQUFBUSxRQUFBLDBCQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQUEsT0FBUkEsUUFBUTtBQUFBLE9BTXBCO0FBQ0E7QUFBQSxJQUNhQyxPQUFPLEdBQUFULE9BQUEsQ0FBQVMsT0FBQTtFQUFBLFNBQUFBLFFBQUE7SUFBQUMsZUFBQSxPQUFBRCxPQUFBO0VBQUE7RUFBQSxPQUFBRSxZQUFBLENBQUFGLE9BQUE7SUFBQUcsR0FBQTtJQUFBQyxLQUFBLEVBQ2xCLFNBQWNDLFVBQVVBLENBQUNDLElBQVksRUFBWTtNQUMvQyxPQUFPQyxJQUFJLENBQUNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxJQUFJLENBQUMsRUFBRUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlDO0VBQUM7SUFBQVAsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBY08sY0FBY0EsQ0FBQ1AsS0FBZSxFQUFVO01BQ3BELE9BQU9JLElBQUksQ0FBQ0ksU0FBUyxDQUFDQyxNQUFNLENBQUNULEtBQUssRUFBRU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RDtFQUFDO0lBQUFQLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQWNVLFNBQVNBLENBQUNSLElBQVksRUFBVztNQUM3QyxPQUFPQyxJQUFJLENBQUNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxJQUFJLENBQUMsRUFBRUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdDO0VBQUM7SUFBQVAsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBY1csYUFBYUEsQ0FBQ1gsS0FBYyxFQUFVO01BQ2xELE9BQU9JLElBQUksQ0FBQ0ksU0FBUyxDQUFDQyxNQUFNLENBQUNULEtBQUssRUFBRU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RDtFQUFDO0FBQUE7QUFHSCxTQUFTTSxZQUFZQSxDQUFDQyxHQUFRLEVBQUVDLEdBQVEsRUFBd0I7RUFBQSxJQUF0QmYsR0FBUSxHQUFBZ0IsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsRUFBRTtFQUNyRCxJQUFJaEIsR0FBRyxFQUFFO0lBQ1AsTUFBTW1CLEtBQUssNEJBQUFDLE1BQUEsQ0FDaUJwQixHQUFHLHdCQUFBb0IsTUFBQSxDQUFvQmYsSUFBSSxDQUFDSSxTQUFTLENBQzdESyxHQUNGLENBQUMsZUFBQU0sTUFBQSxDQUFZZixJQUFJLENBQUNJLFNBQVMsQ0FBQ00sR0FBRyxDQUFDLENBQ2xDLENBQUM7RUFDSDtFQUNBLE1BQU1JLEtBQUssa0JBQUFDLE1BQUEsQ0FDUWYsSUFBSSxDQUFDSSxTQUFTLENBQUNNLEdBQUcsQ0FBQyxnQkFBQUssTUFBQSxDQUFhZixJQUFJLENBQUNJLFNBQVMsQ0FBQ0ssR0FBRyxDQUFDLENBQ3RFLENBQUM7QUFDSDtBQUVBLFNBQVNPLGFBQWFBLENBQUNQLEdBQVEsRUFBTztFQUNwQyxJQUFJQSxHQUFHLENBQUNRLFFBQVEsS0FBS0osU0FBUyxFQUFFO0lBQzlCLElBQU1LLEdBQVEsR0FBRyxDQUFDLENBQUM7SUFDbkJULEdBQUcsQ0FBQ1UsS0FBSyxDQUFDQyxPQUFPLENBQUMsVUFBQ0MsQ0FBTTtNQUFBLE9BQU1ILEdBQUcsQ0FBQ0csQ0FBQyxDQUFDdkIsSUFBSSxDQUFDLEdBQUc7UUFBRUgsR0FBRyxFQUFFMEIsQ0FBQyxDQUFDQyxFQUFFO1FBQUViLEdBQUcsRUFBRVksQ0FBQyxDQUFDWjtNQUFJLENBQUM7SUFBQSxDQUFDLENBQUM7SUFDeEVBLEdBQUcsQ0FBQ1EsUUFBUSxHQUFHQyxHQUFHO0VBQ3BCO0VBQ0EsT0FBT1QsR0FBRyxDQUFDUSxRQUFRO0FBQ3JCO0FBRUEsU0FBU00sYUFBYUEsQ0FBQ2QsR0FBUSxFQUFPO0VBQ3BDLElBQUlBLEdBQUcsQ0FBQ2UsUUFBUSxLQUFLWCxTQUFTLEVBQUU7SUFDOUIsSUFBTUssR0FBUSxHQUFHLENBQUMsQ0FBQztJQUNuQlQsR0FBRyxDQUFDVSxLQUFLLENBQUNDLE9BQU8sQ0FBQyxVQUFDQyxDQUFNO01BQUEsT0FBTUgsR0FBRyxDQUFDRyxDQUFDLENBQUNDLEVBQUUsQ0FBQyxHQUFHO1FBQUUzQixHQUFHLEVBQUUwQixDQUFDLENBQUN2QixJQUFJO1FBQUVXLEdBQUcsRUFBRVksQ0FBQyxDQUFDWjtNQUFJLENBQUM7SUFBQSxDQUFDLENBQUM7SUFDeEVBLEdBQUcsQ0FBQ2UsUUFBUSxHQUFHTixHQUFHO0VBQ3BCO0VBQ0EsT0FBT1QsR0FBRyxDQUFDZSxRQUFRO0FBQ3JCO0FBRUEsU0FBU0MsU0FBU0EsQ0FBQ2YsR0FBUSxFQUFFRCxHQUFRLEVBQUVpQixRQUFhLEVBQXNCO0VBQUEsSUFBcEIvQixHQUFRLEdBQUFnQixTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxFQUFFO0VBQ2pFLFNBQVNnQixrQkFBa0JBLENBQUNsQixHQUFXLEVBQUVDLEdBQVEsRUFBTztJQUN0RCxJQUFJa0IsT0FBQSxDQUFPbkIsR0FBRyxNQUFBbUIsT0FBQSxDQUFZbEIsR0FBRyxHQUFFLE9BQU9BLEdBQUc7SUFDekMsT0FBT0YsWUFBWSxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsRUFBRWYsR0FBRyxDQUFDO0VBQ3BDO0VBRUEsU0FBU2tDLGNBQWNBLENBQUNDLElBQVcsRUFBRXBCLEdBQVEsRUFBTztJQUNsRDtJQUNBLElBQU1xQixDQUFDLEdBQUdELElBQUksQ0FBQ2xCLE1BQU07SUFDckIsS0FBSyxJQUFJb0IsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHRCxDQUFDLEVBQUVDLENBQUMsRUFBRSxFQUFFO01BQzFCLElBQU12QixJQUFHLEdBQUdxQixJQUFJLENBQUNFLENBQUMsQ0FBQztNQUNuQixJQUFJO1FBQ0YsT0FBT1AsU0FBUyxDQUFDZixHQUFHLEVBQUVELElBQUcsRUFBRWlCLFFBQVEsQ0FBQztNQUN0QyxDQUFDLENBQUMsT0FBT08sQ0FBQyxFQUFFLENBQUM7SUFDZjtJQUNBLE9BQU96QixZQUFZLENBQUNzQixJQUFJLEVBQUVwQixHQUFHLENBQUM7RUFDaEM7RUFFQSxTQUFTd0IsYUFBYUEsQ0FBQ0MsS0FBZSxFQUFFekIsR0FBUSxFQUFPO0lBQ3JELElBQUl5QixLQUFLLENBQUNDLE9BQU8sQ0FBQzFCLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE9BQU9BLEdBQUc7SUFDekMsT0FBT0YsWUFBWSxDQUFDMkIsS0FBSyxFQUFFekIsR0FBRyxDQUFDO0VBQ2pDO0VBRUEsU0FBUzJCLGNBQWNBLENBQUM1QixHQUFRLEVBQUVDLEdBQVEsRUFBTztJQUMvQztJQUNBLElBQUksQ0FBQzRCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDN0IsR0FBRyxDQUFDLEVBQUUsT0FBT0YsWUFBWSxDQUFDLE9BQU8sRUFBRUUsR0FBRyxDQUFDO0lBQzFELE9BQU9BLEdBQUcsQ0FBQ1EsR0FBRyxDQUFDLFVBQUNzQixFQUFFO01BQUEsT0FBS2YsU0FBUyxDQUFDZSxFQUFFLEVBQUUvQixHQUFHLEVBQUVpQixRQUFRLENBQUM7SUFBQSxFQUFDO0VBQ3REO0VBRUEsU0FBU2UsYUFBYUEsQ0FBQy9CLEdBQVEsRUFBTztJQUNwQyxJQUFJQSxHQUFHLEtBQUssSUFBSSxFQUFFO01BQ2hCLE9BQU8sSUFBSTtJQUNiO0lBQ0EsSUFBTWdDLENBQUMsR0FBRyxJQUFJQyxJQUFJLENBQUNqQyxHQUFHLENBQUM7SUFDdkIsSUFBSWtDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7TUFDdEIsT0FBT3JDLFlBQVksQ0FBQyxNQUFNLEVBQUVFLEdBQUcsQ0FBQztJQUNsQztJQUNBLE9BQU9nQyxDQUFDO0VBQ1Y7RUFFQSxTQUFTSSxlQUFlQSxDQUN0QjNCLEtBQTJCLEVBQzNCNEIsVUFBZSxFQUNmckMsR0FBUSxFQUNIO0lBQ0wsSUFBSUEsR0FBRyxLQUFLLElBQUksSUFBSWtCLE9BQUEsQ0FBT2xCLEdBQUcsTUFBSyxRQUFRLElBQUk0QixLQUFLLENBQUNDLE9BQU8sQ0FBQzdCLEdBQUcsQ0FBQyxFQUFFO01BQ2pFLE9BQU9GLFlBQVksQ0FBQyxRQUFRLEVBQUVFLEdBQUcsQ0FBQztJQUNwQztJQUNBLElBQU1zQyxNQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCQyxNQUFNLENBQUNDLG1CQUFtQixDQUFDL0IsS0FBSyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxVQUFDekIsR0FBRyxFQUFLO01BQ2pELElBQU13RCxJQUFJLEdBQUdoQyxLQUFLLENBQUN4QixHQUFHLENBQUM7TUFDdkIsSUFBTXlELENBQUMsR0FBR0gsTUFBTSxDQUFDSSxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDN0MsR0FBRyxFQUFFZixHQUFHLENBQUMsR0FDcERlLEdBQUcsQ0FBQ2YsR0FBRyxDQUFDLEdBQ1JrQixTQUFTO01BQ2JtQyxNQUFNLENBQUNHLElBQUksQ0FBQ3hELEdBQUcsQ0FBQyxHQUFHOEIsU0FBUyxDQUFDMkIsQ0FBQyxFQUFFRCxJQUFJLENBQUMxQyxHQUFHLEVBQUVpQixRQUFRLEVBQUV5QixJQUFJLENBQUN4RCxHQUFHLENBQUM7SUFDL0QsQ0FBQyxDQUFDO0lBQ0ZzRCxNQUFNLENBQUNDLG1CQUFtQixDQUFDeEMsR0FBRyxDQUFDLENBQUNVLE9BQU8sQ0FBQyxVQUFDekIsR0FBRyxFQUFLO01BQy9DLElBQUksQ0FBQ3NELE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ3BDLEtBQUssRUFBRXhCLEdBQUcsQ0FBQyxFQUFFO1FBQ3JEcUQsTUFBTSxDQUFDckQsR0FBRyxDQUFDLEdBQUc4QixTQUFTLENBQUNmLEdBQUcsQ0FBQ2YsR0FBRyxDQUFDLEVBQUVvRCxVQUFVLEVBQUVyQixRQUFRLEVBQUUvQixHQUFHLENBQUM7TUFDOUQ7SUFDRixDQUFDLENBQUM7SUFDRixPQUFPcUQsTUFBTTtFQUNmO0VBRUEsSUFBSXZDLEdBQUcsS0FBSyxLQUFLLEVBQUUsT0FBT0MsR0FBRztFQUM3QixJQUFJRCxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ2hCLElBQUlDLEdBQUcsS0FBSyxJQUFJLEVBQUUsT0FBT0EsR0FBRztJQUM1QixPQUFPRixZQUFZLENBQUNDLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0VBQy9CO0VBQ0E7RUFDQSxPQUFPa0IsT0FBQSxDQUFPbkIsR0FBRyxNQUFLLFFBQVEsSUFBSUEsR0FBRyxDQUFDK0MsR0FBRyxLQUFLM0MsU0FBUyxFQUFFO0lBQ3ZESixHQUFHLEdBQUdnRCxPQUFPLENBQUNoRCxHQUFHLENBQUMrQyxHQUFHLENBQUM7RUFDeEI7RUFDQSxJQUFJbEIsS0FBSyxDQUFDQyxPQUFPLENBQUM5QixHQUFHLENBQUMsRUFBRSxPQUFPeUIsYUFBYSxDQUFDekIsR0FBRyxFQUFFQyxHQUFHLENBQUM7RUFDdEQsSUFBSWtCLE9BQUEsQ0FBT25CLEdBQUcsTUFBSyxRQUFRLEVBQUU7SUFDM0IsT0FBT0EsR0FBRyxDQUFDNkMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxHQUNyQ3pCLGNBQWMsQ0FBQ3BCLEdBQUcsQ0FBQ2lELFlBQVksRUFBRWhELEdBQUcsQ0FBQyxHQUNyQ0QsR0FBRyxDQUFDNkMsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUM5QmpCLGNBQWMsQ0FBQzVCLEdBQUcsQ0FBQ2tELFVBQVUsRUFBRWpELEdBQUcsQ0FBQyxHQUNuQ0QsR0FBRyxDQUFDNkMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUN6QlIsZUFBZSxDQUFDcEIsUUFBUSxDQUFDakIsR0FBRyxDQUFDLEVBQUVBLEdBQUcsQ0FBQ3NDLFVBQVUsRUFBRXJDLEdBQUcsQ0FBQyxHQUNuREYsWUFBWSxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsQ0FBQztFQUNoQztFQUNBO0VBQ0EsSUFBSUQsR0FBRyxLQUFLa0MsSUFBSSxJQUFJLE9BQU9qQyxHQUFHLEtBQUssUUFBUSxFQUFFLE9BQU8rQixhQUFhLENBQUMvQixHQUFHLENBQUM7RUFDdEUsT0FBT2lCLGtCQUFrQixDQUFDbEIsR0FBRyxFQUFFQyxHQUFHLENBQUM7QUFDckM7QUFFQSxTQUFTWCxJQUFJQSxDQUFJVyxHQUFRLEVBQUVELEdBQVEsRUFBSztFQUN0QyxPQUFPZ0IsU0FBUyxDQUFDZixHQUFHLEVBQUVELEdBQUcsRUFBRU8sYUFBYSxDQUFDO0FBQzNDO0FBRUEsU0FBU1gsTUFBTUEsQ0FBSUssR0FBTSxFQUFFRCxHQUFRLEVBQU87RUFDeEMsT0FBT2dCLFNBQVMsQ0FBQ2YsR0FBRyxFQUFFRCxHQUFHLEVBQUVjLGFBQWEsQ0FBQztBQUMzQztBQUVBLFNBQVNxQyxDQUFDQSxDQUFDbkQsR0FBUSxFQUFFO0VBQ25CLE9BQU87SUFBRWtELFVBQVUsRUFBRWxEO0VBQUksQ0FBQztBQUM1QjtBQUVBLFNBQVNvRCxDQUFDQSxDQUFBLEVBQWlCO0VBQUEsU0FBQUMsSUFBQSxHQUFBbkQsU0FBQSxDQUFBQyxNQUFBLEVBQWJrQixJQUFJLE9BQUFRLEtBQUEsQ0FBQXdCLElBQUEsR0FBQUMsSUFBQSxNQUFBQSxJQUFBLEdBQUFELElBQUEsRUFBQUMsSUFBQTtJQUFKakMsSUFBSSxDQUFBaUMsSUFBQSxJQUFBcEQsU0FBQSxDQUFBb0QsSUFBQTtFQUFBO0VBQ2hCLE9BQU87SUFBRUwsWUFBWSxFQUFFNUI7RUFBSyxDQUFDO0FBQy9CO0FBRUEsU0FBU2tDLENBQUNBLENBQUM3QyxLQUFZLEVBQUU0QixVQUFlLEVBQUU7RUFDeEMsT0FBTztJQUFFNUIsS0FBSyxFQUFMQSxLQUFLO0lBQUU0QixVQUFVLEVBQVZBO0VBQVcsQ0FBQztBQUM5Qjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsU0FBUzdDLENBQUNBLENBQUMrRCxJQUFZLEVBQUU7RUFDdkIsT0FBTztJQUFFVCxHQUFHLEVBQUVTO0VBQUssQ0FBQztBQUN0QjtBQUVBLElBQU1SLE9BQVksR0FBRztFQUNuQlMsUUFBUSxFQUFFRixDQUFDLENBQ1QsQ0FBQztJQUFFbEUsSUFBSSxFQUFFLFVBQVU7SUFBRXdCLEVBQUUsRUFBRSxVQUFVO0lBQUViLEdBQUcsRUFBRW1ELENBQUMsQ0FBQzFELENBQUMsQ0FBQyxTQUFTLENBQUM7RUFBRSxDQUFDLENBQUMsRUFDNUQsS0FDRixDQUFDO0VBQ0RpRSxPQUFPLEVBQUVILENBQUMsQ0FDUixDQUNFO0lBQUVsRSxJQUFJLEVBQUUsZUFBZTtJQUFFd0IsRUFBRSxFQUFFLGVBQWU7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLEVBQ3JFO0lBQUVmLElBQUksRUFBRSxLQUFLO0lBQUV3QixFQUFFLEVBQUUsS0FBSztJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ25DO0lBQUVYLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ3pDO0lBQUVYLElBQUksRUFBRSxXQUFXO0lBQUV3QixFQUFFLEVBQUUsV0FBVztJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQy9DO0lBQUVYLElBQUksRUFBRSxhQUFhO0lBQUV3QixFQUFFLEVBQUUsYUFBYTtJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ25EO0lBQUVYLElBQUksRUFBRSxZQUFZO0lBQUV3QixFQUFFLEVBQUUsWUFBWTtJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ2pEO0lBQUVYLElBQUksRUFBRSxXQUFXO0lBQUV3QixFQUFFLEVBQUUsV0FBVztJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQy9DO0lBQUVYLElBQUksRUFBRSxhQUFhO0lBQUV3QixFQUFFLEVBQUUsYUFBYTtJQUFFYixHQUFHLEVBQUVrQztFQUFLLENBQUMsRUFDckQ7SUFBRTdDLElBQUksRUFBRSxxQkFBcUI7SUFBRXdCLEVBQUUsRUFBRSxxQkFBcUI7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNuRTtJQUFFWCxJQUFJLEVBQUUsVUFBVTtJQUFFd0IsRUFBRSxFQUFFLFVBQVU7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsVUFBVTtFQUFFLENBQUMsRUFDeEQ7SUFBRUosSUFBSSxFQUFFLE1BQU07SUFBRXdCLEVBQUUsRUFBRSxNQUFNO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLGFBQWE7RUFBRSxDQUFDLEVBQ25EO0lBQUVKLElBQUksRUFBRSxPQUFPO0lBQUV3QixFQUFFLEVBQUUsT0FBTztJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ3ZDO0lBQUVYLElBQUksRUFBRSxXQUFXO0lBQUV3QixFQUFFLEVBQUUsV0FBVztJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxXQUFXO0VBQUUsQ0FBQyxFQUMzRDtJQUFFSixJQUFJLEVBQUUsT0FBTztJQUFFd0IsRUFBRSxFQUFFLE9BQU87SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsT0FBTztFQUFFLENBQUMsRUFDL0M7SUFDRUosSUFBSSxFQUFFLHlCQUF5QjtJQUMvQndCLEVBQUUsRUFBRSx5QkFBeUI7SUFDN0JiLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLHlCQUF5QjtFQUNsQyxDQUFDLEVBQ0Q7SUFBRUosSUFBSSxFQUFFLGNBQWM7SUFBRXdCLEVBQUUsRUFBRSxjQUFjO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLGNBQWM7RUFBRSxDQUFDLEVBQ3BFO0lBQ0VKLElBQUksRUFBRSxrQkFBa0I7SUFDeEJ3QixFQUFFLEVBQUUsa0JBQWtCO0lBQ3RCYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxrQkFBa0I7RUFDM0IsQ0FBQyxFQUNEO0lBQ0VKLElBQUksRUFBRSxhQUFhO0lBQ25Cd0IsRUFBRSxFQUFFLGFBQWE7SUFDakJiLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRVgsQ0FBQyxDQUFDLGFBQWEsQ0FBQztFQUNwQyxDQUFDLEVBQ0Q7SUFBRUosSUFBSSxFQUFFLFVBQVU7SUFBRXdCLEVBQUUsRUFBRSxVQUFVO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRVgsQ0FBQyxDQUFDLFVBQVUsQ0FBQztFQUFFLENBQUMsQ0FDdkUsRUFDRCxLQUNGLENBQUM7RUFDRGtFLFNBQVMsRUFBRUosQ0FBQyxDQUFDLENBQUM7SUFBRWxFLElBQUksRUFBRSxPQUFPO0lBQUV3QixFQUFFLEVBQUUsT0FBTztJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUUsRUFBRTtFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztFQUM1RXdELFdBQVcsRUFBRUwsQ0FBQyxDQUNaLENBQ0U7SUFDRWxFLElBQUksRUFBRSxZQUFZO0lBQ2xCd0IsRUFBRSxFQUFFLFlBQVk7SUFDaEJiLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRStDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUNsQyxDQUFDLEVBQ0Q7SUFDRUosSUFBSSxFQUFFLE1BQU07SUFDWndCLEVBQUUsRUFBRSxNQUFNO0lBQ1ZiLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRStDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUNsQyxDQUFDLEVBQ0Q7SUFDRUosSUFBSSxFQUFFLFFBQVE7SUFDZHdCLEVBQUUsRUFBRSxRQUFRO0lBQ1piLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRStDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUNsQyxDQUFDLEVBQ0Q7SUFDRUosSUFBSSxFQUFFLGFBQWE7SUFDbkJ3QixFQUFFLEVBQUUsYUFBYTtJQUNqQmIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFK0MsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQ2xDLENBQUMsRUFDRDtJQUNFSixJQUFJLEVBQUUsdUJBQXVCO0lBQzdCd0IsRUFBRSxFQUFFLHVCQUF1QjtJQUMzQmIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFK0MsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQ2xDLENBQUMsRUFDRDtJQUNFSixJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCd0IsRUFBRSxFQUFFLG1CQUFtQjtJQUN2QmIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFWCxDQUFDLENBQUMsbUJBQW1CLENBQUM7RUFDMUMsQ0FBQyxDQUNGLEVBQ0QsS0FDRixDQUFDO0VBQ0RvRSxpQkFBaUIsRUFBRU4sQ0FBQyxDQUNsQixDQUNFO0lBQ0VsRSxJQUFJLEVBQUUsWUFBWTtJQUNsQndCLEVBQUUsRUFBRSxZQUFZO0lBQ2hCYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUUrQyxDQUFDLENBQUMxRCxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDbEMsQ0FBQyxFQUNEO0lBQ0VKLElBQUksRUFBRSxNQUFNO0lBQ1p3QixFQUFFLEVBQUUsTUFBTTtJQUNWYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUUrQyxDQUFDLENBQUMxRCxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDbEMsQ0FBQyxFQUNEO0lBQ0VKLElBQUksRUFBRSxRQUFRO0lBQ2R3QixFQUFFLEVBQUUsUUFBUTtJQUNaYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUUrQyxDQUFDLENBQUMxRCxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDbEMsQ0FBQyxFQUNEO0lBQ0VKLElBQUksRUFBRSxhQUFhO0lBQ25Cd0IsRUFBRSxFQUFFLGFBQWE7SUFDakJiLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRStDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUNsQyxDQUFDLEVBQ0Q7SUFDRUosSUFBSSxFQUFFLHVCQUF1QjtJQUM3QndCLEVBQUUsRUFBRSx1QkFBdUI7SUFDM0JiLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRStDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUNsQyxDQUFDLENBQ0YsRUFDRCxLQUNGLENBQUM7RUFDRHFFLEtBQUssRUFBRVAsQ0FBQyxDQUFDLENBQUM7SUFBRWxFLElBQUksRUFBRSxTQUFTO0lBQUV3QixFQUFFLEVBQUUsU0FBUztJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7RUFDOUQrRCxXQUFXLEVBQUVSLENBQUMsQ0FDWixDQUNFO0lBQUVsRSxJQUFJLEVBQUUsTUFBTTtJQUFFd0IsRUFBRSxFQUFFLE1BQU07SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsTUFBTTtFQUFFLENBQUMsRUFDNUM7SUFBRUosSUFBSSxFQUFFLFNBQVM7SUFBRXdCLEVBQUUsRUFBRSxTQUFTO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLFNBQVM7RUFBRSxDQUFDLENBQ3RELEVBQ0QsS0FDRixDQUFDO0VBQ0R1RSxZQUFZLEVBQUVULENBQUMsQ0FDYixDQUNFO0lBQUVsRSxJQUFJLEVBQUUsZUFBZTtJQUFFd0IsRUFBRSxFQUFFLGVBQWU7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN2RDtJQUFFWCxJQUFJLEVBQUUsbUJBQW1CO0lBQUV3QixFQUFFLEVBQUUsbUJBQW1CO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDL0Q7SUFBRVgsSUFBSSxFQUFFLG9CQUFvQjtJQUFFd0IsRUFBRSxFQUFFLG9CQUFvQjtJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ2pFO0lBQUVYLElBQUksRUFBRSxTQUFTO0lBQUV3QixFQUFFLEVBQUUsU0FBUztJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxTQUFTO0VBQUUsQ0FBQyxFQUNyRDtJQUFFSixJQUFJLEVBQUUsVUFBVTtJQUFFd0IsRUFBRSxFQUFFLFVBQVU7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsY0FBYztFQUFFLENBQUMsQ0FDN0QsRUFDRCxLQUNGLENBQUM7RUFDRHdFLFFBQVEsRUFBRVYsQ0FBQyxDQUNULENBQ0U7SUFBRWxFLElBQUksRUFBRSxjQUFjO0lBQUV3QixFQUFFLEVBQUUsY0FBYztJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxjQUFjO0VBQUUsQ0FBQyxFQUNwRTtJQUNFSixJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCd0IsRUFBRSxFQUFFLGlCQUFpQjtJQUNyQmIsR0FBRyxFQUFFUCxDQUFDLENBQUMsaUJBQWlCO0VBQzFCLENBQUMsRUFDRDtJQUFFSixJQUFJLEVBQUUsY0FBYztJQUFFd0IsRUFBRSxFQUFFLGNBQWM7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsY0FBYztFQUFFLENBQUMsQ0FDckUsRUFDRCxLQUNGLENBQUM7RUFDRHlFLGdCQUFnQixFQUFFWCxDQUFDLENBQ2pCLENBQ0U7SUFBRWxFLElBQUksRUFBRSxXQUFXO0lBQUV3QixFQUFFLEVBQUUsV0FBVztJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQy9DO0lBQUVYLElBQUksRUFBRSxTQUFTO0lBQUV3QixFQUFFLEVBQUUsU0FBUztJQUFFYixHQUFHLEVBQUVtRCxDQUFDLENBQUMxRCxDQUFDLENBQUMsd0JBQXdCLENBQUM7RUFBRSxDQUFDLENBQ3hFLEVBQ0QsS0FDRixDQUFDO0VBQ0QwRSxzQkFBc0IsRUFBRVosQ0FBQyxDQUN2QixDQUNFO0lBQUVsRSxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWCxJQUFJLEVBQUUscUJBQXFCO0lBQUV3QixFQUFFLEVBQUUscUJBQXFCO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDbkU7SUFBRVgsSUFBSSxFQUFFLE1BQU07SUFBRXdCLEVBQUUsRUFBRSxNQUFNO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLE1BQU07RUFBRSxDQUFDLENBQzdDLEVBQ0QsS0FDRixDQUFDO0VBQ0QyRSxJQUFJLEVBQUViLENBQUMsQ0FDTCxDQUNFO0lBQ0VsRSxJQUFJLEVBQUUscUJBQXFCO0lBQzNCd0IsRUFBRSxFQUFFLHFCQUFxQjtJQUN6QmIsR0FBRyxFQUFFUCxDQUFDLENBQUMscUJBQXFCO0VBQzlCLENBQUMsRUFDRDtJQUFFSixJQUFJLEVBQUUsY0FBYztJQUFFd0IsRUFBRSxFQUFFLGNBQWM7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsY0FBYztFQUFFLENBQUMsRUFDcEU7SUFDRUosSUFBSSxFQUFFLG1CQUFtQjtJQUN6QndCLEVBQUUsRUFBRSxtQkFBbUI7SUFDdkJiLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLG1CQUFtQjtFQUM1QixDQUFDLENBQ0YsRUFDRCxLQUNGLENBQUM7RUFDRDRFLGlCQUFpQixFQUFFZCxDQUFDLENBQ2xCLENBQ0U7SUFDRWxFLElBQUksRUFBRSxZQUFZO0lBQ2xCd0IsRUFBRSxFQUFFLFlBQVk7SUFDaEJiLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRStDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUNsQyxDQUFDLEVBQ0Q7SUFDRUosSUFBSSxFQUFFLE1BQU07SUFDWndCLEVBQUUsRUFBRSxNQUFNO0lBQ1ZiLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRStDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUNsQyxDQUFDLEVBQ0Q7SUFDRUosSUFBSSxFQUFFLFFBQVE7SUFDZHdCLEVBQUUsRUFBRSxRQUFRO0lBQ1piLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRStDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUNsQyxDQUFDLEVBQ0Q7SUFDRUosSUFBSSxFQUFFLGFBQWE7SUFDbkJ3QixFQUFFLEVBQUUsYUFBYTtJQUNqQmIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFK0MsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQ2xDLENBQUMsQ0FDRixFQUNELEtBQ0YsQ0FBQztFQUNENkUsTUFBTSxFQUFFZixDQUFDLENBQ1AsQ0FDRTtJQUFFbEUsSUFBSSxFQUFFLFdBQVc7SUFBRXdCLEVBQUUsRUFBRSxXQUFXO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDL0M7SUFBRVgsSUFBSSxFQUFFLFdBQVc7SUFBRXdCLEVBQUUsRUFBRSxXQUFXO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDL0M7SUFBRVgsSUFBSSxFQUFFLGVBQWU7SUFBRXdCLEVBQUUsRUFBRSxlQUFlO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRSxLQUFLO0VBQUUsQ0FBQyxFQUN4RTtJQUFFZixJQUFJLEVBQUUsVUFBVTtJQUFFd0IsRUFBRSxFQUFFLFVBQVU7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFLENBQUM7RUFBRSxDQUFDLEVBQzFEO0lBQ0VmLElBQUksRUFBRSxtQkFBbUI7SUFDekJ3QixFQUFFLEVBQUUsbUJBQW1CO0lBQ3ZCYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUVYLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztFQUMxQyxDQUFDLENBQ0YsRUFDRCxLQUNGLENBQUM7RUFDRDhFLFlBQVksRUFBRWhCLENBQUMsQ0FDYixDQUNFO0lBQUVsRSxJQUFJLEVBQUUsTUFBTTtJQUFFd0IsRUFBRSxFQUFFLE1BQU07SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNyQztJQUFFWCxJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWCxJQUFJLEVBQUUsWUFBWTtJQUFFd0IsRUFBRSxFQUFFLFlBQVk7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLEVBQy9EO0lBQUVmLElBQUksRUFBRSxhQUFhO0lBQUV3QixFQUFFLEVBQUUsYUFBYTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUUsRUFBRTtFQUFFLENBQUMsRUFDakU7SUFDRWYsSUFBSSxFQUFFLHVCQUF1QjtJQUM3QndCLEVBQUUsRUFBRSx1QkFBdUI7SUFDM0JiLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRSxFQUFFO0VBQ3RCLENBQUMsQ0FDRixFQUNELEtBQ0YsQ0FBQztFQUNEL0IsdUJBQXVCLEVBQUUsQ0FDdkIsa0NBQWtDLEVBQ2xDLG1CQUFtQixDQUNwQjtFQUNERSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO0VBQzFCQyxPQUFPLEVBQUUsQ0FDUCxnQ0FBZ0MsRUFDaEMsc0NBQXNDLEVBQ3RDLGtDQUFrQyxFQUNsQyx3Q0FBd0MsQ0FDekM7RUFDREMsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztFQUNqREMsZUFBZSxFQUFFLENBQ2YsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLDBCQUEwQixDQUMzQjtFQUNEQyxZQUFZLEVBQUUsQ0FDWix5Q0FBeUMsRUFDekMseUNBQXlDLEVBQ3pDLHNEQUFzRCxFQUN0RCx1REFBdUQsRUFDdkQsaUVBQWlFLEVBQ2pFLGtDQUFrQyxFQUNsQyw2Q0FBNkMsQ0FDOUM7RUFDREMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztFQUN2Q0MsbUJBQW1CLEVBQUUsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQztFQUNyREMsUUFBUSxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRO0FBQzdDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=