@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.
- package/README.md +8 -1
- package/lib/amendements-CN7bRFdP.js +259 -0
- package/lib/amendements-CN7bRFdP.js.map +1 -0
- package/lib/amendements-Cg1lyCBp.js +735 -0
- package/lib/amendements-Cg1lyCBp.js.map +1 -0
- package/lib/api.d.ts +1 -0
- package/lib/api.d.ts.map +1 -0
- package/lib/cleaners/actes_legislatifs.d.ts +1 -0
- package/lib/cleaners/actes_legislatifs.d.ts.map +1 -0
- package/lib/cleaners/acteurs.d.ts +1 -0
- package/lib/cleaners/acteurs.d.ts.map +1 -0
- package/lib/cleaners/amendements.d.ts +1 -0
- package/lib/cleaners/amendements.d.ts.map +1 -0
- package/lib/cleaners/debats.d.ts +1 -0
- package/lib/cleaners/debats.d.ts.map +1 -0
- package/lib/cleaners/documents.d.ts +1 -0
- package/lib/cleaners/documents.d.ts.map +1 -0
- package/lib/cleaners/dossiers_legislatifs.d.ts +1 -0
- package/lib/cleaners/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/cleaners/index.d.ts +10 -9
- package/lib/cleaners/index.d.ts.map +1 -0
- package/lib/cleaners/organes.d.ts +1 -0
- package/lib/cleaners/organes.d.ts.map +1 -0
- package/lib/cleaners/questions.d.ts +1 -0
- package/lib/cleaners/questions.d.ts.map +1 -0
- package/lib/cleaners/reunions.d.ts +1 -0
- package/lib/cleaners/reunions.d.ts.map +1 -0
- package/lib/cleaners/scrutins.d.ts +1 -0
- package/lib/cleaners/scrutins.d.ts.map +1 -0
- package/lib/cleaners/xml.d.ts +1 -0
- package/lib/cleaners/xml.d.ts.map +1 -0
- package/lib/cleaners.js +1138 -0
- package/lib/cleaners.js.map +1 -0
- package/lib/datasets.d.ts +4 -3
- package/lib/datasets.d.ts.map +1 -0
- package/lib/dates.d.ts +1 -0
- package/lib/dates.d.ts.map +1 -0
- package/lib/debats-BwZYgzXe.js +3978 -0
- package/lib/debats-BwZYgzXe.js.map +1 -0
- package/lib/dossiers_legislatifs.d.ts +3 -2
- package/lib/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/file_systems.d.ts +1 -0
- package/lib/file_systems.d.ts.map +1 -0
- package/lib/git.d.ts +1 -0
- package/lib/git.d.ts.map +1 -0
- package/lib/index.d.ts +18 -22
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1916 -285
- package/lib/index.js.map +1 -0
- package/lib/inserters.d.ts +6 -5
- package/lib/inserters.d.ts.map +1 -0
- package/lib/loaders.d.ts +13 -12
- package/lib/loaders.d.ts.map +1 -0
- package/lib/loaders.js +812 -1516
- package/lib/loaders.js.map +1 -0
- package/lib/logger.d.ts +1 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/organes.d.ts +2 -1
- package/lib/organes.d.ts.map +1 -0
- package/lib/parse-CzW8NHW5.js +2850 -0
- package/lib/parse-CzW8NHW5.js.map +1 -0
- package/lib/parsers/index.d.ts +3 -3
- package/lib/parsers/index.d.ts.map +1 -0
- package/lib/parsers/plf.d.ts +2 -0
- package/lib/parsers/plf.d.ts.map +1 -0
- package/lib/parsers/recherche_amendements.d.ts +3 -2
- package/lib/parsers/recherche_amendements.d.ts.map +1 -0
- package/lib/parsers/textes_lois.d.ts +2 -23
- package/lib/parsers/textes_lois.d.ts.map +1 -0
- package/lib/parsers.js +393 -0
- package/lib/parsers.js.map +1 -0
- package/lib/raw_types/acteurs_et_organes.d.ts +1 -0
- package/lib/raw_types/acteurs_et_organes.d.ts.map +1 -0
- package/lib/raw_types/agendas.d.ts +1 -0
- package/lib/raw_types/agendas.d.ts.map +1 -0
- package/lib/raw_types/amendements.d.ts +1 -0
- package/lib/raw_types/amendements.d.ts.map +1 -0
- package/lib/raw_types/debats.d.ts +3 -2
- package/lib/raw_types/debats.d.ts.map +1 -0
- package/lib/raw_types/dossiers_legislatifs.d.ts +2 -1
- package/lib/raw_types/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/raw_types/questions.d.ts +1 -0
- package/lib/raw_types/questions.d.ts.map +1 -0
- package/lib/raw_types/scrutins.d.ts +1 -0
- package/lib/raw_types/scrutins.d.ts.map +1 -0
- package/lib/schemas/acteurs_et_organes.d.json +982 -0
- package/lib/schemas/acteurs_et_organes.json +1166 -0
- package/lib/schemas/agendas.d.json +1561 -0
- package/lib/schemas/agendas.json +1745 -0
- package/lib/schemas/amendements.d.json +1901 -0
- package/lib/schemas/amendements.json +2085 -0
- package/lib/schemas/debats.d.json +623 -0
- package/lib/schemas/debats.json +842 -0
- package/lib/schemas/dossiers_legislatifs.d.json +3690 -0
- package/lib/schemas/dossiers_legislatifs.json +3874 -0
- package/lib/schemas/legislatures.d.json +17 -0
- package/lib/schemas/legislatures.json +17 -0
- package/lib/schemas/questions.d.json +520 -0
- package/lib/schemas/questions.json +704 -0
- package/lib/schemas/scrutins.d.json +517 -0
- package/lib/schemas/scrutins.json +701 -0
- package/lib/scripts/add_links_to_documents.d.ts +2 -0
- package/lib/scripts/add_links_to_documents.d.ts.map +1 -0
- package/lib/scripts/clean_reorganized_data.d.ts +1 -0
- package/lib/scripts/clean_reorganized_data.d.ts.map +1 -0
- package/lib/scripts/copy-schemas.d.ts +2 -0
- package/lib/scripts/copy-schemas.d.ts.map +1 -0
- package/lib/scripts/diff_amendements.d.ts +1 -0
- package/lib/scripts/diff_amendements.d.ts.map +1 -0
- package/lib/scripts/document_dossiers_legislatifs.d.ts +1 -0
- package/lib/scripts/document_dossiers_legislatifs.d.ts.map +1 -0
- package/lib/scripts/generate-json-schemas.d.ts +2 -0
- package/lib/scripts/generate-json-schemas.d.ts.map +1 -0
- package/lib/scripts/get_today_reunions.d.ts +1 -0
- package/lib/scripts/get_today_reunions.d.ts.map +1 -0
- package/lib/scripts/merge_scrutins.d.ts +1 -0
- package/lib/scripts/merge_scrutins.d.ts.map +1 -0
- package/lib/scripts/process_open_dataset.d.ts +1 -0
- package/lib/scripts/process_open_dataset.d.ts.map +1 -0
- package/lib/scripts/raw_types_from_amendements.d.ts +1 -0
- package/lib/scripts/raw_types_from_amendements.d.ts.map +1 -0
- package/lib/scripts/reorganize_data.d.ts +1 -0
- package/lib/scripts/reorganize_data.d.ts.map +1 -0
- package/lib/scripts/retrieve_deputes_photos.d.ts +2 -1
- package/lib/scripts/retrieve_deputes_photos.d.ts.map +1 -0
- package/lib/scripts/retrieve_documents.d.ts +1 -0
- package/lib/scripts/retrieve_documents.d.ts.map +1 -0
- package/lib/scripts/retrieve_open_data.d.ts +1 -0
- package/lib/scripts/retrieve_open_data.d.ts.map +1 -0
- package/lib/scripts/retrieve_pending_amendments.d.ts +1 -0
- package/lib/scripts/retrieve_pending_amendments.d.ts.map +1 -0
- package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
- package/lib/scripts/retrieve_senateurs_photos.d.ts.map +1 -0
- package/lib/scripts/shared/cli_helpers.d.ts +1 -0
- package/lib/scripts/shared/cli_helpers.d.ts.map +1 -0
- package/lib/scripts/test_iter_load.d.ts +1 -0
- package/lib/scripts/test_iter_load.d.ts.map +1 -0
- package/lib/scripts/test_load.d.ts +1 -0
- package/lib/scripts/test_load.d.ts.map +1 -0
- package/lib/scripts/test_load_big_files.d.ts +1 -0
- package/lib/scripts/test_load_big_files.d.ts.map +1 -0
- package/lib/scripts/validate_json.d.ts +1 -0
- package/lib/scripts/validate_json.d.ts.map +1 -0
- package/lib/shared_types/codes_actes.d.ts +1 -0
- package/lib/shared_types/codes_actes.d.ts.map +1 -0
- package/lib/strings.d.ts +1 -0
- package/lib/strings.d.ts.map +1 -0
- package/lib/types/acteurs_et_organes.d.ts +341 -0
- package/lib/types/acteurs_et_organes.d.ts.map +1 -0
- package/lib/types/agendas.d.ts +237 -10
- package/lib/types/agendas.d.ts.map +1 -0
- package/lib/types/amendements.d.ts +277 -1
- package/lib/types/amendements.d.ts.map +1 -0
- package/lib/types/debats.d.ts +53 -2
- package/lib/types/debats.d.ts.map +1 -0
- package/lib/types/dossiers_legislatifs.d.ts +404 -9
- package/lib/types/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/types/legislatures.d.ts +1 -0
- package/lib/types/legislatures.d.ts.map +1 -0
- package/lib/types/questions.d.ts +100 -2
- package/lib/types/questions.d.ts.map +1 -0
- package/lib/types/scrutins.d.ts +102 -0
- package/lib/types/scrutins.d.ts.map +1 -0
- package/lib/urls.d.ts +3 -2
- package/lib/urls.d.ts.map +1 -0
- package/package.json +31 -95
- package/lib/api.js +0 -52
- package/lib/api.mjs +0 -45
- package/lib/bugs/acteur-00010/plugin.test.d.ts +0 -1
- package/lib/bugs/acteur-00010/plugin.test.js +0 -90
- package/lib/bugs/acteur-00010/plugin.test.mjs +0 -33
- package/lib/bugs/acteur-00010.d.ts +0 -7
- package/lib/bugs/acteur-00010.js +0 -116
- package/lib/bugs/acteur-00010.mjs +0 -26
- package/lib/bugs/agenda-00002/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00002/plugin.test.js +0 -124
- package/lib/bugs/agenda-00002/plugin.test.mjs +0 -50
- package/lib/bugs/agenda-00002.d.ts +0 -15
- package/lib/bugs/agenda-00002.js +0 -406
- package/lib/bugs/agenda-00002.mjs +0 -172
- package/lib/bugs/agenda-00008/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00008/plugin.test.js +0 -92
- package/lib/bugs/agenda-00008/plugin.test.mjs +0 -31
- package/lib/bugs/agenda-00008.d.ts +0 -7
- package/lib/bugs/agenda-00008.js +0 -123
- package/lib/bugs/agenda-00008.mjs +0 -26
- package/lib/bugs/agenda-00011/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00011/plugin.test.js +0 -263
- package/lib/bugs/agenda-00011/plugin.test.mjs +0 -152
- package/lib/bugs/agenda-00011.d.ts +0 -16
- package/lib/bugs/agenda-00011.js +0 -333
- package/lib/bugs/agenda-00011.mjs +0 -125
- package/lib/bugs.d.ts +0 -21
- package/lib/bugs.js +0 -452
- package/lib/bugs.mjs +0 -70
- package/lib/cleaners/actes_legislatifs.js +0 -315
- package/lib/cleaners/actes_legislatifs.mjs +0 -253
- package/lib/cleaners/acteurs.js +0 -265
- package/lib/cleaners/acteurs.mjs +0 -180
- package/lib/cleaners/amendements.js +0 -294
- package/lib/cleaners/amendements.mjs +0 -227
- package/lib/cleaners/debats.js +0 -12
- package/lib/cleaners/debats.mjs +0 -5
- package/lib/cleaners/documents.js +0 -205
- package/lib/cleaners/documents.mjs +0 -133
- package/lib/cleaners/dossiers_legislatifs.js +0 -131
- package/lib/cleaners/dossiers_legislatifs.mjs +0 -70
- package/lib/cleaners/index.js +0 -70
- package/lib/cleaners/index.mjs +0 -10
- package/lib/cleaners/organes.js +0 -65
- package/lib/cleaners/organes.mjs +0 -48
- package/lib/cleaners/questions.js +0 -12
- package/lib/cleaners/questions.mjs +0 -5
- package/lib/cleaners/reunions.js +0 -312
- package/lib/cleaners/reunions.mjs +0 -255
- package/lib/cleaners/scrutins.js +0 -340
- package/lib/cleaners/scrutins.mjs +0 -221
- package/lib/cleaners/xml.js +0 -74
- package/lib/cleaners/xml.mjs +0 -59
- package/lib/datasets.js +0 -837
- package/lib/datasets.mjs +0 -755
- package/lib/dates.js +0 -124
- package/lib/dates.mjs +0 -100
- package/lib/dossiers_legislatifs.js +0 -346
- package/lib/dossiers_legislatifs.mjs +0 -208
- package/lib/file_systems.js +0 -162
- package/lib/file_systems.mjs +0 -62
- package/lib/git.js +0 -223
- package/lib/git.mjs +0 -151
- package/lib/index.mjs +0 -17
- package/lib/inserters.js +0 -521
- package/lib/inserters.mjs +0 -337
- package/lib/loaders.mjs +0 -886
- package/lib/logger.js +0 -35
- package/lib/logger.mjs +0 -26
- package/lib/organes.js +0 -22
- package/lib/organes.mjs +0 -15
- package/lib/parsers/documents.d.ts +0 -62
- package/lib/parsers/documents.js +0 -453
- package/lib/parsers/documents.mjs +0 -370
- package/lib/parsers/index.js +0 -40
- package/lib/parsers/index.mjs +0 -4
- package/lib/parsers/recherche_amendements.js +0 -403
- package/lib/parsers/recherche_amendements.mjs +0 -167
- package/lib/parsers/textes_lois.js +0 -307
- package/lib/parsers/textes_lois.mjs +0 -264
- package/lib/raw_types/acteurs_et_organes.js +0 -1215
- package/lib/raw_types/acteurs_et_organes.mjs +0 -1148
- package/lib/raw_types/agendas.js +0 -777
- package/lib/raw_types/agendas.mjs +0 -724
- package/lib/raw_types/amendements.js +0 -1052
- package/lib/raw_types/amendements.mjs +0 -993
- package/lib/raw_types/debats.js +0 -630
- package/lib/raw_types/debats.mjs +0 -573
- package/lib/raw_types/dossiers_legislatifs.js +0 -1529
- package/lib/raw_types/dossiers_legislatifs.mjs +0 -1471
- package/lib/raw_types/questions.js +0 -469
- package/lib/raw_types/questions.mjs +0 -416
- package/lib/raw_types/scrutins.js +0 -651
- package/lib/raw_types/scrutins.mjs +0 -598
- package/lib/schemas/acteur/Acteur.json +0 -56
- package/lib/schemas/acteur/AdresseElectronique.json +0 -52
- package/lib/schemas/acteur/AdressePostale.json +0 -75
- package/lib/schemas/acteur/Civ.json +0 -14
- package/lib/schemas/acteur/Collaborateur.json +0 -29
- package/lib/schemas/acteur/EtatCivil.json +0 -51
- package/lib/schemas/acteur/Ident.json +0 -40
- package/lib/schemas/acteur/Lieu.json +0 -66
- package/lib/schemas/acteur/Mandat.json +0 -192
- package/lib/schemas/acteur/Profession.json +0 -46
- package/lib/schemas/agenda/Agenda.json +0 -318
- package/lib/schemas/agenda/CycleDeVie.json +0 -45
- package/lib/schemas/agenda/PointOdj.json +0 -82
- package/lib/schemas/amendement/Amendement.json +0 -246
- package/lib/schemas/amendement/Diff.json +0 -25
- package/lib/schemas/amendement/DispositifAmdtCredit.json +0 -85
- package/lib/schemas/amendement/Identifiant.json +0 -62
- package/lib/schemas/amendement/PointeurFragmentTexte.json +0 -127
- package/lib/schemas/amendement/Representation.json +0 -67
- package/lib/schemas/amendement/Total.json +0 -26
- package/lib/schemas/converted_from_type/acteurs_et_organes.json +0 -666
- package/lib/schemas/converted_from_type/agendas.json +0 -1100
- package/lib/schemas/converted_from_type/amendements.json +0 -3191
- package/lib/schemas/converted_from_type/debats.json +0 -682
- package/lib/schemas/converted_from_type/deputes.json +0 -26
- package/lib/schemas/converted_from_type/dossiers_legislatifs.json +0 -2918
- package/lib/schemas/converted_from_type/legislatures.json +0 -16
- package/lib/schemas/converted_from_type/questions.json +0 -328
- package/lib/schemas/converted_from_type/scrutins.json +0 -393
- package/lib/schemas/debat/Contenu.json +0 -75
- package/lib/schemas/debat/Debat.json +0 -40
- package/lib/schemas/debat/Metadonnees.json +0 -75
- package/lib/schemas/debat/Orateur.json +0 -60
- package/lib/schemas/debat/Point.json +0 -169
- package/lib/schemas/debat/Sommaire.json +0 -71
- package/lib/schemas/debat/SommaireElement.json +0 -108
- package/lib/schemas/debat/Texte.json +0 -34
- package/lib/schemas/document/CodeLibelle.json +0 -25
- package/lib/schemas/document/Document.json +0 -385
- package/lib/schemas/document/Indexation.json +0 -38
- package/lib/schemas/dossier/ActeLegislatif.json +0 -211
- package/lib/schemas/dossier/ActeLegislatifBase.json +0 -62
- package/lib/schemas/dossier/Agenda.json +0 -23
- package/lib/schemas/dossier/ConseilConstitutionnel.json +0 -35
- package/lib/schemas/dossier/Decision.json +0 -25
- package/lib/schemas/dossier/Dossier.json +0 -124
- package/lib/schemas/dossier/EtudeImpact.json +0 -29
- package/lib/schemas/dossier/EtudePlf.json +0 -105
- package/lib/schemas/dossier/Europe.json +0 -42
- package/lib/schemas/dossier/FamCodeLibelle.json +0 -25
- package/lib/schemas/dossier/InfoJO.json +0 -23
- package/lib/schemas/dossier/Initiateur.json +0 -36
- package/lib/schemas/dossier/Motion.json +0 -27
- package/lib/schemas/dossier/Promulgation.json +0 -62
- package/lib/schemas/dossier/Rapporteur.json +0 -36
- package/lib/schemas/dossier/Texte.json +0 -47
- package/lib/schemas/organe/CodeTypeOrgane.json +0 -43
- package/lib/schemas/organe/Organe.json +0 -136
- package/lib/schemas/organe/ViMoDe.json +0 -28
- package/lib/schemas/question/Auteur.json +0 -58
- package/lib/schemas/question/Cloture.json +0 -28
- package/lib/schemas/question/InfoJO.json +0 -40
- package/lib/schemas/question/MinAttribElement.json +0 -30
- package/lib/schemas/question/Question.json +0 -172
- package/lib/schemas/question/Renouvellement.json +0 -17
- package/lib/schemas/question/Signalement.json +0 -21
- package/lib/schemas/question/Texte.json +0 -24
- package/lib/schemas/scrutin/DecompteVoix.json +0 -35
- package/lib/schemas/scrutin/Dysfonctionnement.json +0 -50
- package/lib/schemas/scrutin/MiseAuPoint.json +0 -53
- package/lib/schemas/scrutin/OrganeVotant.json +0 -88
- package/lib/schemas/scrutin/Scrutin.json +0 -187
- package/lib/schemas/scrutin/Votant.json +0 -37
- package/lib/scripts/bugs_helper.d.ts +0 -13
- package/lib/scripts/bugs_helper.js +0 -595
- package/lib/scripts/bugs_helper.mjs +0 -251
- package/lib/scripts/clean_reorganized_data.js +0 -613
- package/lib/scripts/clean_reorganized_data.mjs +0 -276
- package/lib/scripts/diff_amendements.js +0 -249
- package/lib/scripts/diff_amendements.mjs +0 -202
- package/lib/scripts/document_dossiers_legislatifs.js +0 -655
- package/lib/scripts/document_dossiers_legislatifs.mjs +0 -414
- package/lib/scripts/get_today_reunions.js +0 -37
- package/lib/scripts/get_today_reunions.mjs +0 -31
- package/lib/scripts/merge_scrutins.js +0 -97
- package/lib/scripts/merge_scrutins.mjs +0 -47
- package/lib/scripts/parse_textes_lois.d.ts +0 -1
- package/lib/scripts/parse_textes_lois.js +0 -171
- package/lib/scripts/parse_textes_lois.mjs +0 -140
- package/lib/scripts/process_open_dataset.js +0 -301
- package/lib/scripts/process_open_dataset.mjs +0 -134
- package/lib/scripts/raw_types_from_amendements.js +0 -135
- package/lib/scripts/raw_types_from_amendements.mjs +0 -134
- package/lib/scripts/reorganize_data.js +0 -805
- package/lib/scripts/reorganize_data.mjs +0 -517
- package/lib/scripts/retrieve_deputes_photos.js +0 -310
- package/lib/scripts/retrieve_deputes_photos.mjs +0 -158
- package/lib/scripts/retrieve_documents.js +0 -547
- package/lib/scripts/retrieve_documents.mjs +0 -242
- package/lib/scripts/retrieve_open_data.js +0 -107
- package/lib/scripts/retrieve_open_data.mjs +0 -26
- package/lib/scripts/retrieve_pending_amendments.js +0 -206
- package/lib/scripts/retrieve_pending_amendments.mjs +0 -57
- package/lib/scripts/retrieve_senateurs_photos.js +0 -234
- package/lib/scripts/retrieve_senateurs_photos.mjs +0 -116
- package/lib/scripts/retrieve_textes_lois.d.ts +0 -1
- package/lib/scripts/retrieve_textes_lois.js +0 -240
- package/lib/scripts/retrieve_textes_lois.mjs +0 -85
- package/lib/scripts/shared/cli_helpers.js +0 -89
- package/lib/scripts/shared/cli_helpers.mjs +0 -81
- package/lib/scripts/test_iter_load.js +0 -155
- package/lib/scripts/test_iter_load.mjs +0 -72
- package/lib/scripts/test_load.js +0 -26
- package/lib/scripts/test_load.mjs +0 -16
- package/lib/scripts/test_load_big_files.js +0 -26
- package/lib/scripts/test_load_big_files.mjs +0 -16
- package/lib/scripts/validate_json.js +0 -353
- package/lib/scripts/validate_json.mjs +0 -184
- package/lib/shared_types/codes_actes.js +0 -231
- package/lib/shared_types/codes_actes.mjs +0 -224
- package/lib/strings.js +0 -16
- package/lib/strings.mjs +0 -7
- package/lib/types/acteurs_et_organes.js +0 -965
- package/lib/types/acteurs_et_organes.mjs +0 -906
- package/lib/types/agendas.js +0 -628
- package/lib/types/agendas.mjs +0 -575
- package/lib/types/amendements.js +0 -899
- package/lib/types/amendements.mjs +0 -842
- package/lib/types/debats.js +0 -619
- package/lib/types/debats.mjs +0 -562
- package/lib/types/dossiers_legislatifs.js +0 -1188
- package/lib/types/dossiers_legislatifs.mjs +0 -1130
- package/lib/types/legislatures.js +0 -17
- package/lib/types/legislatures.mjs +0 -10
- package/lib/types/questions.js +0 -454
- package/lib/types/questions.mjs +0 -401
- package/lib/types/scrutins.js +0 -556
- package/lib/types/scrutins.mjs +0 -503
- package/lib/urls.js +0 -325
- package/lib/urls.mjs +0 -258
package/lib/types/questions.mjs
DELETED
|
@@ -1,401 +0,0 @@
|
|
|
1
|
-
// To parse this data:
|
|
2
|
-
//
|
|
3
|
-
// import { Convert, Questions } from "./file";
|
|
4
|
-
//
|
|
5
|
-
// const questions = Convert.toQuestions(json);
|
|
6
|
-
//
|
|
7
|
-
// These functions will throw an error if the JSON doesn't
|
|
8
|
-
// match the expected interface, even if the JSON is valid.
|
|
9
|
-
|
|
10
|
-
export let QuestionXsiType = /*#__PURE__*/function (QuestionXsiType) {
|
|
11
|
-
QuestionXsiType["QuestionEcrite"] = "QuestionEcrite_Type";
|
|
12
|
-
QuestionXsiType["QuestionGouvernement"] = "QuestionGouvernement_Type";
|
|
13
|
-
QuestionXsiType["QuestionOrale"] = "QuestionOrale_Type";
|
|
14
|
-
return QuestionXsiType;
|
|
15
|
-
}({});
|
|
16
|
-
export let TypeJo = /*#__PURE__*/function (TypeJo) {
|
|
17
|
-
TypeJo["JoQuestion"] = "JO_QUESTION";
|
|
18
|
-
TypeJo["JoLoiDecret"] = "JO_LOI_DECRET";
|
|
19
|
-
TypeJo["JoDebate"] = "JO_DEBAT";
|
|
20
|
-
return TypeJo;
|
|
21
|
-
}({});
|
|
22
|
-
export let Type = /*#__PURE__*/function (Type) {
|
|
23
|
-
Type["Qe"] = "QE";
|
|
24
|
-
Type["Qg"] = "QG";
|
|
25
|
-
Type["Qosd"] = "QOSD";
|
|
26
|
-
return Type;
|
|
27
|
-
}({});
|
|
28
|
-
|
|
29
|
-
// Converts JSON strings to/from your types
|
|
30
|
-
// and asserts the results of JSON.parse at runtime
|
|
31
|
-
export class Convert {
|
|
32
|
-
static toQuestions(json) {
|
|
33
|
-
return cast(JSON.parse(json), r("Questions"));
|
|
34
|
-
}
|
|
35
|
-
static questionsToJson(value) {
|
|
36
|
-
return JSON.stringify(uncast(value, r("Questions")), null, 2);
|
|
37
|
-
}
|
|
38
|
-
static toQuestion(json) {
|
|
39
|
-
return cast(JSON.parse(json), r("Question"));
|
|
40
|
-
}
|
|
41
|
-
static questionToJson(value) {
|
|
42
|
-
return JSON.stringify(uncast(value, r("Question")), null, 2);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function invalidValue(typ, val, key = "") {
|
|
46
|
-
if (key) {
|
|
47
|
-
throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);
|
|
48
|
-
}
|
|
49
|
-
throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);
|
|
50
|
-
}
|
|
51
|
-
function jsonToJSProps(typ) {
|
|
52
|
-
if (typ.jsonToJS === undefined) {
|
|
53
|
-
const map = {};
|
|
54
|
-
typ.props.forEach(p => map[p.json] = {
|
|
55
|
-
key: p.js,
|
|
56
|
-
typ: p.typ
|
|
57
|
-
});
|
|
58
|
-
typ.jsonToJS = map;
|
|
59
|
-
}
|
|
60
|
-
return typ.jsonToJS;
|
|
61
|
-
}
|
|
62
|
-
function jsToJSONProps(typ) {
|
|
63
|
-
if (typ.jsToJSON === undefined) {
|
|
64
|
-
const map = {};
|
|
65
|
-
typ.props.forEach(p => map[p.js] = {
|
|
66
|
-
key: p.json,
|
|
67
|
-
typ: p.typ
|
|
68
|
-
});
|
|
69
|
-
typ.jsToJSON = map;
|
|
70
|
-
}
|
|
71
|
-
return typ.jsToJSON;
|
|
72
|
-
}
|
|
73
|
-
function transform(val, typ, getProps, key = "") {
|
|
74
|
-
function transformPrimitive(typ, val) {
|
|
75
|
-
if (typeof typ === typeof val) return val;
|
|
76
|
-
return invalidValue(typ, val, key);
|
|
77
|
-
}
|
|
78
|
-
function transformUnion(typs, val) {
|
|
79
|
-
// val must validate against one typ in typs
|
|
80
|
-
const l = typs.length;
|
|
81
|
-
for (let i = 0; i < l; i++) {
|
|
82
|
-
const typ = typs[i];
|
|
83
|
-
try {
|
|
84
|
-
return transform(val, typ, getProps);
|
|
85
|
-
} catch (_) {}
|
|
86
|
-
}
|
|
87
|
-
return invalidValue(typs, val);
|
|
88
|
-
}
|
|
89
|
-
function transformEnum(cases, val) {
|
|
90
|
-
if (cases.indexOf(val) !== -1) return val;
|
|
91
|
-
return invalidValue(cases, val);
|
|
92
|
-
}
|
|
93
|
-
function transformArray(typ, val) {
|
|
94
|
-
// val must be an array with no invalid elements
|
|
95
|
-
if (!Array.isArray(val)) return invalidValue("array", val);
|
|
96
|
-
return val.map(el => transform(el, typ, getProps));
|
|
97
|
-
}
|
|
98
|
-
function transformDate(val) {
|
|
99
|
-
if (val === null) {
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
const d = new Date(val);
|
|
103
|
-
if (isNaN(d.valueOf())) {
|
|
104
|
-
return invalidValue("Date", val);
|
|
105
|
-
}
|
|
106
|
-
return d;
|
|
107
|
-
}
|
|
108
|
-
function transformObject(props, additional, val) {
|
|
109
|
-
if (val === null || typeof val !== "object" || Array.isArray(val)) {
|
|
110
|
-
return invalidValue("object", val);
|
|
111
|
-
}
|
|
112
|
-
const result = {};
|
|
113
|
-
Object.getOwnPropertyNames(props).forEach(key => {
|
|
114
|
-
const prop = props[key];
|
|
115
|
-
const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
|
|
116
|
-
result[prop.key] = transform(v, prop.typ, getProps, prop.key);
|
|
117
|
-
});
|
|
118
|
-
Object.getOwnPropertyNames(val).forEach(key => {
|
|
119
|
-
if (!Object.prototype.hasOwnProperty.call(props, key)) {
|
|
120
|
-
result[key] = transform(val[key], additional, getProps, key);
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
return result;
|
|
124
|
-
}
|
|
125
|
-
if (typ === "any") return val;
|
|
126
|
-
if (typ === null) {
|
|
127
|
-
if (val === null) return val;
|
|
128
|
-
return invalidValue(typ, val);
|
|
129
|
-
}
|
|
130
|
-
if (typ === false) return invalidValue(typ, val);
|
|
131
|
-
while (typeof typ === "object" && typ.ref !== undefined) {
|
|
132
|
-
typ = typeMap[typ.ref];
|
|
133
|
-
}
|
|
134
|
-
if (Array.isArray(typ)) return transformEnum(typ, val);
|
|
135
|
-
if (typeof typ === "object") {
|
|
136
|
-
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);
|
|
137
|
-
}
|
|
138
|
-
// Numbers can be parsed by Date but shouldn't be.
|
|
139
|
-
if (typ === Date && typeof val !== "number") return transformDate(val);
|
|
140
|
-
return transformPrimitive(typ, val);
|
|
141
|
-
}
|
|
142
|
-
function cast(val, typ) {
|
|
143
|
-
return transform(val, typ, jsonToJSProps);
|
|
144
|
-
}
|
|
145
|
-
function uncast(val, typ) {
|
|
146
|
-
return transform(val, typ, jsToJSONProps);
|
|
147
|
-
}
|
|
148
|
-
function a(typ) {
|
|
149
|
-
return {
|
|
150
|
-
arrayItems: typ
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
function u(...typs) {
|
|
154
|
-
return {
|
|
155
|
-
unionMembers: typs
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
function o(props, additional) {
|
|
159
|
-
return {
|
|
160
|
-
props,
|
|
161
|
-
additional
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
// function m(additional: any) {
|
|
166
|
-
// return { props: [], additional };
|
|
167
|
-
// }
|
|
168
|
-
|
|
169
|
-
function r(name) {
|
|
170
|
-
return {
|
|
171
|
-
ref: name
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
const typeMap = {
|
|
175
|
-
Questions: o([{
|
|
176
|
-
json: "questions",
|
|
177
|
-
js: "questions",
|
|
178
|
-
typ: a(r("Question"))
|
|
179
|
-
}], false),
|
|
180
|
-
Question: o([{
|
|
181
|
-
json: "schemaVersion",
|
|
182
|
-
js: "schemaVersion",
|
|
183
|
-
typ: u(undefined, "")
|
|
184
|
-
}, {
|
|
185
|
-
json: "@xsi:type",
|
|
186
|
-
js: "@xsi:type",
|
|
187
|
-
typ: r("QuestionXsiType")
|
|
188
|
-
}, {
|
|
189
|
-
json: "uid",
|
|
190
|
-
js: "uid",
|
|
191
|
-
typ: ""
|
|
192
|
-
}, {
|
|
193
|
-
json: "identifiant",
|
|
194
|
-
js: "identifiant",
|
|
195
|
-
typ: r("Identifiant")
|
|
196
|
-
}, {
|
|
197
|
-
json: "type",
|
|
198
|
-
js: "type",
|
|
199
|
-
typ: r("Type")
|
|
200
|
-
}, {
|
|
201
|
-
json: "indexationAN",
|
|
202
|
-
js: "indexationAN",
|
|
203
|
-
typ: r("IndexationAn")
|
|
204
|
-
}, {
|
|
205
|
-
json: "auteur",
|
|
206
|
-
js: "auteur",
|
|
207
|
-
typ: r("Auteur")
|
|
208
|
-
}, {
|
|
209
|
-
json: "minInt",
|
|
210
|
-
js: "minInt",
|
|
211
|
-
typ: r("Groupe")
|
|
212
|
-
}, {
|
|
213
|
-
json: "minAttribs",
|
|
214
|
-
js: "minAttribs",
|
|
215
|
-
typ: r("MinAttribs")
|
|
216
|
-
}, {
|
|
217
|
-
json: "textesQuestion",
|
|
218
|
-
js: "textesQuestion",
|
|
219
|
-
typ: u(r("TextesQuestion"), null, undefined)
|
|
220
|
-
}, {
|
|
221
|
-
json: "textesReponse",
|
|
222
|
-
js: "textesReponse",
|
|
223
|
-
typ: u(r("TextesReponse"), null, undefined)
|
|
224
|
-
}, {
|
|
225
|
-
json: "cloture",
|
|
226
|
-
js: "cloture",
|
|
227
|
-
typ: u(r("Cloture"), null, undefined)
|
|
228
|
-
}, {
|
|
229
|
-
json: "signalement",
|
|
230
|
-
js: "signalement",
|
|
231
|
-
typ: u(r("Signalement"), null, undefined)
|
|
232
|
-
}, {
|
|
233
|
-
json: "renouvellements",
|
|
234
|
-
js: "renouvellements",
|
|
235
|
-
typ: u(r("Renouvellements"), null, undefined)
|
|
236
|
-
}], false),
|
|
237
|
-
Auteur: o([{
|
|
238
|
-
json: "identite",
|
|
239
|
-
js: "identite",
|
|
240
|
-
typ: r("Identite")
|
|
241
|
-
}, {
|
|
242
|
-
json: "groupe",
|
|
243
|
-
js: "groupe",
|
|
244
|
-
typ: r("Groupe")
|
|
245
|
-
}], false),
|
|
246
|
-
Groupe: o([{
|
|
247
|
-
json: "organeRef",
|
|
248
|
-
js: "organeRef",
|
|
249
|
-
typ: ""
|
|
250
|
-
}, {
|
|
251
|
-
json: "abrege",
|
|
252
|
-
js: "abrege",
|
|
253
|
-
typ: ""
|
|
254
|
-
}, {
|
|
255
|
-
json: "developpe",
|
|
256
|
-
js: "developpe",
|
|
257
|
-
typ: ""
|
|
258
|
-
}], false),
|
|
259
|
-
Identite: o([{
|
|
260
|
-
json: "acteurRef",
|
|
261
|
-
js: "acteurRef",
|
|
262
|
-
typ: ""
|
|
263
|
-
}, {
|
|
264
|
-
json: "mandatRef",
|
|
265
|
-
js: "mandatRef",
|
|
266
|
-
typ: ""
|
|
267
|
-
}], false),
|
|
268
|
-
Cloture: o([{
|
|
269
|
-
json: "codeCloture",
|
|
270
|
-
js: "codeCloture",
|
|
271
|
-
typ: ""
|
|
272
|
-
}, {
|
|
273
|
-
json: "libelleCloture",
|
|
274
|
-
js: "libelleCloture",
|
|
275
|
-
typ: ""
|
|
276
|
-
}, {
|
|
277
|
-
json: "dateCloture",
|
|
278
|
-
js: "dateCloture",
|
|
279
|
-
typ: ""
|
|
280
|
-
}, {
|
|
281
|
-
json: "infoJO",
|
|
282
|
-
js: "infoJO",
|
|
283
|
-
typ: u(r("InfoJo"), null)
|
|
284
|
-
}], false),
|
|
285
|
-
Identifiant: o([{
|
|
286
|
-
json: "numero",
|
|
287
|
-
js: "numero",
|
|
288
|
-
typ: ""
|
|
289
|
-
}, {
|
|
290
|
-
json: "regime",
|
|
291
|
-
js: "regime",
|
|
292
|
-
typ: ""
|
|
293
|
-
}, {
|
|
294
|
-
json: "legislature",
|
|
295
|
-
js: "legislature",
|
|
296
|
-
typ: ""
|
|
297
|
-
}], false),
|
|
298
|
-
IndexationAn: o([{
|
|
299
|
-
json: "rubrique",
|
|
300
|
-
js: "rubrique",
|
|
301
|
-
typ: u("", null)
|
|
302
|
-
}, {
|
|
303
|
-
json: "teteAnalyse",
|
|
304
|
-
js: "teteAnalyse",
|
|
305
|
-
typ: null
|
|
306
|
-
}, {
|
|
307
|
-
json: "analyses",
|
|
308
|
-
js: "analyses",
|
|
309
|
-
typ: r("Analyse")
|
|
310
|
-
}], false),
|
|
311
|
-
Analyse: o([{
|
|
312
|
-
json: "analyse",
|
|
313
|
-
js: "analyse",
|
|
314
|
-
typ: u("", null)
|
|
315
|
-
}], false),
|
|
316
|
-
MinAttribs: o([{
|
|
317
|
-
json: "minAttrib",
|
|
318
|
-
js: "minAttrib",
|
|
319
|
-
typ: u(a(r("MinAttribElement")), r("MinAttribElement"))
|
|
320
|
-
}], false),
|
|
321
|
-
MinAttribElement: o([{
|
|
322
|
-
json: "infoJO",
|
|
323
|
-
js: "infoJO",
|
|
324
|
-
typ: r("InfoJo")
|
|
325
|
-
}, {
|
|
326
|
-
json: "denomination",
|
|
327
|
-
js: "denomination",
|
|
328
|
-
typ: r("Groupe")
|
|
329
|
-
}], false),
|
|
330
|
-
InfoJo: o([{
|
|
331
|
-
json: "typeJO",
|
|
332
|
-
js: "typeJO",
|
|
333
|
-
typ: u(r("TypeJo"), null)
|
|
334
|
-
}, {
|
|
335
|
-
json: "dateJO",
|
|
336
|
-
js: "dateJO",
|
|
337
|
-
typ: ""
|
|
338
|
-
}, {
|
|
339
|
-
json: "pageJO",
|
|
340
|
-
js: "pageJO",
|
|
341
|
-
typ: u("", null)
|
|
342
|
-
}, {
|
|
343
|
-
json: "numJO",
|
|
344
|
-
js: "numJO",
|
|
345
|
-
typ: u("", null)
|
|
346
|
-
}, {
|
|
347
|
-
json: "urlLegifrance",
|
|
348
|
-
js: "urlLegifrance",
|
|
349
|
-
typ: u("", null)
|
|
350
|
-
}, {
|
|
351
|
-
json: "referenceNOR",
|
|
352
|
-
js: "referenceNOR",
|
|
353
|
-
typ: u("", null)
|
|
354
|
-
}], false),
|
|
355
|
-
TextesQuestion: o([{
|
|
356
|
-
json: "texteQuestion",
|
|
357
|
-
js: "texteQuestion",
|
|
358
|
-
typ: u(a(r("Texte")), r("Texte"))
|
|
359
|
-
}], false),
|
|
360
|
-
Texte: o([{
|
|
361
|
-
json: "infoJO",
|
|
362
|
-
js: "infoJO",
|
|
363
|
-
typ: r("InfoJo")
|
|
364
|
-
}, {
|
|
365
|
-
json: "texte",
|
|
366
|
-
js: "texte",
|
|
367
|
-
typ: u("", null)
|
|
368
|
-
}, {
|
|
369
|
-
json: "erratum",
|
|
370
|
-
js: "erratum",
|
|
371
|
-
typ: u(undefined, "")
|
|
372
|
-
}], false),
|
|
373
|
-
TextesReponse: o([{
|
|
374
|
-
json: "texteReponse",
|
|
375
|
-
js: "texteReponse",
|
|
376
|
-
typ: u(a(r("Texte")), r("Texte"))
|
|
377
|
-
}], false),
|
|
378
|
-
Signalement: o([{
|
|
379
|
-
json: "infoJO",
|
|
380
|
-
js: "infoJO",
|
|
381
|
-
typ: r("InfoJo")
|
|
382
|
-
}, {
|
|
383
|
-
json: "dateDepotSignal",
|
|
384
|
-
js: "dateDepotSignal",
|
|
385
|
-
typ: ""
|
|
386
|
-
}], false),
|
|
387
|
-
Renouvellements: o([{
|
|
388
|
-
json: "renouvellement",
|
|
389
|
-
js: "renouvellement",
|
|
390
|
-
typ: u(a(r("Renouvellement")), r("Renouvellement"))
|
|
391
|
-
}], false),
|
|
392
|
-
Renouvellement: o([{
|
|
393
|
-
json: "infoJO",
|
|
394
|
-
js: "infoJO",
|
|
395
|
-
typ: r("InfoJo")
|
|
396
|
-
}], false),
|
|
397
|
-
QuestionXsiType: ["QuestionEcrite_Type", "QuestionGouvernement_Type", "QuestionOrale_Type"],
|
|
398
|
-
TypeJo: ["JO_QUESTION", "JO_LOI_DECRET", "JO_DEBAT"],
|
|
399
|
-
Type: ["QE", "QG", "QOSD"]
|
|
400
|
-
};
|
|
401
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWVzdGlvblhzaVR5cGUiLCJUeXBlSm8iLCJUeXBlIiwiQ29udmVydCIsInRvUXVlc3Rpb25zIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwicXVlc3Rpb25zVG9Kc29uIiwidmFsdWUiLCJzdHJpbmdpZnkiLCJ1bmNhc3QiLCJ0b1F1ZXN0aW9uIiwicXVlc3Rpb25Ub0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJrZXkiLCJFcnJvciIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInVuZGVmaW5lZCIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImxlbmd0aCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIm8iLCJuYW1lIiwiUXVlc3Rpb25zIiwiUXVlc3Rpb24iLCJBdXRldXIiLCJHcm91cGUiLCJJZGVudGl0ZSIsIkNsb3R1cmUiLCJJZGVudGlmaWFudCIsIkluZGV4YXRpb25BbiIsIkFuYWx5c2UiLCJNaW5BdHRyaWJzIiwiTWluQXR0cmliRWxlbWVudCIsIkluZm9KbyIsIlRleHRlc1F1ZXN0aW9uIiwiVGV4dGUiLCJUZXh0ZXNSZXBvbnNlIiwiU2lnbmFsZW1lbnQiLCJSZW5vdXZlbGxlbWVudHMiLCJSZW5vdXZlbGxlbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9xdWVzdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgUXVlc3Rpb25zIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3QgcXVlc3Rpb25zID0gQ29udmVydC50b1F1ZXN0aW9ucyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9ucyB7XG4gIHF1ZXN0aW9uczogUXVlc3Rpb25bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uIHtcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZ1xuICBcIkB4c2k6dHlwZVwiOiBRdWVzdGlvblhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgaWRlbnRpZmlhbnQ6IElkZW50aWZpYW50XG4gIHR5cGU6IFR5cGVcbiAgaW5kZXhhdGlvbkFOOiBJbmRleGF0aW9uQW5cbiAgYXV0ZXVyOiBBdXRldXJcbiAgbWluSW50OiBHcm91cGVcbiAgbWluQXR0cmliczogTWluQXR0cmlic1xuICB0ZXh0ZXNRdWVzdGlvbj86IFRleHRlc1F1ZXN0aW9uIHwgbnVsbFxuICB0ZXh0ZXNSZXBvbnNlPzogVGV4dGVzUmVwb25zZSB8IG51bGxcbiAgY2xvdHVyZT86IENsb3R1cmUgfCBudWxsXG4gIHNpZ25hbGVtZW50PzogU2lnbmFsZW1lbnQgfCBudWxsXG4gIHJlbm91dmVsbGVtZW50cz86IFJlbm91dmVsbGVtZW50cyB8IG51bGxcbn1cblxuZXhwb3J0IGVudW0gUXVlc3Rpb25Yc2lUeXBlIHtcbiAgUXVlc3Rpb25FY3JpdGUgPSBcIlF1ZXN0aW9uRWNyaXRlX1R5cGVcIixcbiAgUXVlc3Rpb25Hb3V2ZXJuZW1lbnQgPSBcIlF1ZXN0aW9uR291dmVybmVtZW50X1R5cGVcIixcbiAgUXVlc3Rpb25PcmFsZSA9IFwiUXVlc3Rpb25PcmFsZV9UeXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0ZXVyIHtcbiAgaWRlbnRpdGU6IElkZW50aXRlXG4gIGdyb3VwZTogR3JvdXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlIHtcbiAgb3JnYW5lUmVmOiBzdHJpbmdcbiAgYWJyZWdlOiBzdHJpbmdcbiAgZGV2ZWxvcHBlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0ZSB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIG1hbmRhdFJlZjogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdHVyZSB7XG4gIGNvZGVDbG90dXJlOiBzdHJpbmdcbiAgbGliZWxsZUNsb3R1cmU6IHN0cmluZ1xuICBkYXRlQ2xvdHVyZTogc3RyaW5nXG4gIGluZm9KTzogSW5mb0pvIHwgbnVsbFxufVxuXG5leHBvcnQgZW51bSBUeXBlSm8ge1xuICBKb1F1ZXN0aW9uID0gXCJKT19RVUVTVElPTlwiLFxuICBKb0xvaURlY3JldCA9IFwiSk9fTE9JX0RFQ1JFVFwiLFxuICBKb0RlYmF0ZSA9IFwiSk9fREVCQVRcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGlmaWFudCB7XG4gIG51bWVybzogc3RyaW5nXG4gIHJlZ2ltZTogc3RyaW5nXG4gIGxlZ2lzbGF0dXJlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmRleGF0aW9uQW4ge1xuICBydWJyaXF1ZTogc3RyaW5nIHwgbnVsbFxuICB0ZXRlQW5hbHlzZTogbnVsbFxuICBhbmFseXNlczogQW5hbHlzZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFuYWx5c2Uge1xuICBhbmFseXNlOiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluQXR0cmlicyB7XG4gIG1pbkF0dHJpYjogTWluQXR0cmliRWxlbWVudFtdIHwgTWluQXR0cmliRWxlbWVudFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbkF0dHJpYkVsZW1lbnQge1xuICBpbmZvSk86IEluZm9Kb1xuICBkZW5vbWluYXRpb246IEdyb3VwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlc1F1ZXN0aW9uIHtcbiAgdGV4dGVRdWVzdGlvbjogVGV4dGVbXSB8IFRleHRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dGUge1xuICBpbmZvSk86IEluZm9Kb1xuICB0ZXh0ZTogc3RyaW5nIHwgbnVsbFxuICBlcnJhdHVtPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5mb0pvIHtcbiAgdHlwZUpPOiBUeXBlSm8gfCBudWxsXG4gIGRhdGVKTzogc3RyaW5nXG4gIHBhZ2VKTzogc3RyaW5nIHwgbnVsbFxuICBudW1KTzogc3RyaW5nIHwgbnVsbFxuICB1cmxMZWdpZnJhbmNlOiBzdHJpbmcgfCBudWxsXG4gIHJlZmVyZW5jZU5PUjogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlc1JlcG9uc2Uge1xuICB0ZXh0ZVJlcG9uc2U6IFRleHRlW10gfCBUZXh0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hbGVtZW50IHtcbiAgZGF0ZURlcG90U2lnbmFsOiBzdHJpbmdcbiAgaW5mb0pPOiBJbmZvSm9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW5vdXZlbGxlbWVudHMge1xuICByZW5vdXZlbGxlbWVudDogUmVub3V2ZWxsZW1lbnRbXSB8IFJlbm91dmVsbGVtZW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVub3V2ZWxsZW1lbnQge1xuICBpbmZvSk86IEluZm9Kb1xufVxuXG5leHBvcnQgZW51bSBUeXBlIHtcbiAgUWUgPSBcIlFFXCIsXG4gIFFnID0gXCJRR1wiLFxuICBRb3NkID0gXCJRT1NEXCIsXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICBwdWJsaWMgc3RhdGljIHRvUXVlc3Rpb25zKGpzb246IHN0cmluZyk6IFF1ZXN0aW9ucyB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlF1ZXN0aW9uc1wiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcXVlc3Rpb25zVG9Kc29uKHZhbHVlOiBRdWVzdGlvbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJRdWVzdGlvbnNcIikpLCBudWxsLCAyKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b1F1ZXN0aW9uKGpzb246IHN0cmluZyk6IFF1ZXN0aW9uIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiUXVlc3Rpb25cIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHF1ZXN0aW9uVG9Kc29uKHZhbHVlOiBRdWVzdGlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlF1ZXN0aW9uXCIpKSwgbnVsbCwgMilcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBuZXZlciB7XG4gIGlmIChrZXkpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICB0eXAsXG4gICAgICApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gLFxuICAgIClcbiAgfVxuICB0aHJvdyBFcnJvcihcbiAgICBgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLFxuICApXG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzb25Ub0pTID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc29uVG9KU1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc10gPSB7IGtleTogcC5qc29uLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc1RvSlNPTiA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNUb0pTT05cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSBcIlwiKTogYW55IHtcbiAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1Vbmlvbih0eXBzOiBhbnlbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV1cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKVxuICAgICAgfSBjYXRjaCAoXykge31cbiAgICB9XG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1FbnVtKGNhc2VzOiBzdHJpbmdbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZShjYXNlcywgdmFsKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbClcbiAgICByZXR1cm4gdmFsLm1hcCgoZWwpID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKVxuICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJEYXRlXCIsIHZhbClcbiAgICB9XG4gICAgcmV0dXJuIGRcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybU9iamVjdChcbiAgICBwcm9wczogeyBbazogc3RyaW5nXTogYW55IH0sXG4gICAgYWRkaXRpb25hbDogYW55LFxuICAgIHZhbDogYW55LFxuICApOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJvYmplY3RcIiwgdmFsKVxuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV1cbiAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpXG4gICAgICAgID8gdmFsW2tleV1cbiAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBwcm9wLmtleSlcbiAgICB9KVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSlcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWxcbiAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdXG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpXG4gIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIilcbiAgICAgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpXG4gICAgICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgfVxuICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICBpZiAodHlwID09PSBEYXRlICYmIHR5cGVvZiB2YWwgIT09IFwibnVtYmVyXCIpIHJldHVybiB0cmFuc2Zvcm1EYXRlKHZhbClcbiAgcmV0dXJuIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXAsIHZhbClcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNvblRvSlNQcm9wcylcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc1RvSlNPTlByb3BzKVxufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH1cbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7IHJlZjogbmFtZSB9XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgUXVlc3Rpb25zOiBvKFxuICAgIFt7IGpzb246IFwicXVlc3Rpb25zXCIsIGpzOiBcInF1ZXN0aW9uc1wiLCB0eXA6IGEocihcIlF1ZXN0aW9uXCIpKSB9XSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUXVlc3Rpb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInNjaGVtYVZlcnNpb25cIiwganM6IFwic2NoZW1hVmVyc2lvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcIkB4c2k6dHlwZVwiLCBqczogXCJAeHNpOnR5cGVcIiwgdHlwOiByKFwiUXVlc3Rpb25Yc2lUeXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpZGVudGlmaWFudFwiLCBqczogXCJpZGVudGlmaWFudFwiLCB0eXA6IHIoXCJJZGVudGlmaWFudFwiKSB9LFxuICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IHIoXCJUeXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwiaW5kZXhhdGlvbkFOXCIsIGpzOiBcImluZGV4YXRpb25BTlwiLCB0eXA6IHIoXCJJbmRleGF0aW9uQW5cIikgfSxcbiAgICAgIHsganNvbjogXCJhdXRldXJcIiwganM6IFwiYXV0ZXVyXCIsIHR5cDogcihcIkF1dGV1clwiKSB9LFxuICAgICAgeyBqc29uOiBcIm1pbkludFwiLCBqczogXCJtaW5JbnRcIiwgdHlwOiByKFwiR3JvdXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwibWluQXR0cmlic1wiLCBqczogXCJtaW5BdHRyaWJzXCIsIHR5cDogcihcIk1pbkF0dHJpYnNcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0ZXh0ZXNRdWVzdGlvblwiLFxuICAgICAgICBqczogXCJ0ZXh0ZXNRdWVzdGlvblwiLFxuICAgICAgICB0eXA6IHUocihcIlRleHRlc1F1ZXN0aW9uXCIpLCBudWxsLCB1bmRlZmluZWQpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0ZXh0ZXNSZXBvbnNlXCIsXG4gICAgICAgIGpzOiBcInRleHRlc1JlcG9uc2VcIixcbiAgICAgICAgdHlwOiB1KHIoXCJUZXh0ZXNSZXBvbnNlXCIpLCBudWxsLCB1bmRlZmluZWQpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJjbG90dXJlXCIsIGpzOiBcImNsb3R1cmVcIiwgdHlwOiB1KHIoXCJDbG90dXJlXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwic2lnbmFsZW1lbnRcIixcbiAgICAgICAganM6IFwic2lnbmFsZW1lbnRcIixcbiAgICAgICAgdHlwOiB1KHIoXCJTaWduYWxlbWVudFwiKSwgbnVsbCwgdW5kZWZpbmVkKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicmVub3V2ZWxsZW1lbnRzXCIsXG4gICAgICAgIGpzOiBcInJlbm91dmVsbGVtZW50c1wiLFxuICAgICAgICB0eXA6IHUocihcIlJlbm91dmVsbGVtZW50c1wiKSwgbnVsbCwgdW5kZWZpbmVkKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQXV0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJpZGVudGl0ZVwiLCBqczogXCJpZGVudGl0ZVwiLCB0eXA6IHIoXCJJZGVudGl0ZVwiKSB9LFxuICAgICAgeyBqc29uOiBcImdyb3VwZVwiLCBqczogXCJncm91cGVcIiwgdHlwOiByKFwiR3JvdXBlXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgR3JvdXBlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFicmVnZVwiLCBqczogXCJhYnJlZ2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiZGV2ZWxvcHBlXCIsIGpzOiBcImRldmVsb3BwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJZGVudGl0ZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENsb3R1cmU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVDbG90dXJlXCIsIGpzOiBcImNvZGVDbG90dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImxpYmVsbGVDbG90dXJlXCIsXG4gICAgICAgIGpzOiBcImxpYmVsbGVDbG90dXJlXCIsXG4gICAgICAgIHR5cDogXCJcIixcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZUNsb3R1cmVcIiwganM6IFwiZGF0ZUNsb3R1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHUocihcIkluZm9Kb1wiKSwgbnVsbCkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJZGVudGlmaWFudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibnVtZXJvXCIsIGpzOiBcIm51bWVyb1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJyZWdpbWVcIiwganM6IFwicmVnaW1lXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEluZGV4YXRpb25BbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwicnVicmlxdWVcIiwganM6IFwicnVicmlxdWVcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICB7IGpzb246IFwidGV0ZUFuYWx5c2VcIiwganM6IFwidGV0ZUFuYWx5c2VcIiwgdHlwOiBudWxsIH0sXG4gICAgICB7IGpzb246IFwiYW5hbHlzZXNcIiwganM6IFwiYW5hbHlzZXNcIiwgdHlwOiByKFwiQW5hbHlzZVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFuYWx5c2U6IG8oW3sganNvbjogXCJhbmFseXNlXCIsIGpzOiBcImFuYWx5c2VcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH1dLCBmYWxzZSksXG4gIE1pbkF0dHJpYnM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcIm1pbkF0dHJpYlwiLFxuICAgICAgICBqczogXCJtaW5BdHRyaWJcIixcbiAgICAgICAgdHlwOiB1KGEocihcIk1pbkF0dHJpYkVsZW1lbnRcIikpLCByKFwiTWluQXR0cmliRWxlbWVudFwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE1pbkF0dHJpYkVsZW1lbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH0sXG4gICAgICB7IGpzb246IFwiZGVub21pbmF0aW9uXCIsIGpzOiBcImRlbm9taW5hdGlvblwiLCB0eXA6IHIoXCJHcm91cGVcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJbmZvSm86IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInR5cGVKT1wiLCBqczogXCJ0eXBlSk9cIiwgdHlwOiB1KHIoXCJUeXBlSm9cIiksIG51bGwpIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZUpPXCIsIGpzOiBcImRhdGVKT1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJwYWdlSk9cIiwganM6IFwicGFnZUpPXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgeyBqc29uOiBcIm51bUpPXCIsIGpzOiBcIm51bUpPXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgeyBqc29uOiBcInVybExlZ2lmcmFuY2VcIiwganM6IFwidXJsTGVnaWZyYW5jZVwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgIHsganNvbjogXCJyZWZlcmVuY2VOT1JcIiwganM6IFwicmVmZXJlbmNlTk9SXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFRleHRlc1F1ZXN0aW9uOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0ZXh0ZVF1ZXN0aW9uXCIsXG4gICAgICAgIGpzOiBcInRleHRlUXVlc3Rpb25cIixcbiAgICAgICAgdHlwOiB1KGEocihcIlRleHRlXCIpKSwgcihcIlRleHRlXCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVGV4dGU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH0sXG4gICAgICB7IGpzb246IFwidGV4dGVcIiwganM6IFwidGV4dGVcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICB7IGpzb246IFwiZXJyYXR1bVwiLCBqczogXCJlcnJhdHVtXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVGV4dGVzUmVwb25zZTogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidGV4dGVSZXBvbnNlXCIsXG4gICAgICAgIGpzOiBcInRleHRlUmVwb25zZVwiLFxuICAgICAgICB0eXA6IHUoYShyKFwiVGV4dGVcIikpLCByKFwiVGV4dGVcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBTaWduYWxlbWVudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHIoXCJJbmZvSm9cIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlRGVwb3RTaWduYWxcIiwganM6IFwiZGF0ZURlcG90U2lnbmFsXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFJlbm91dmVsbGVtZW50czogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicmVub3V2ZWxsZW1lbnRcIixcbiAgICAgICAganM6IFwicmVub3V2ZWxsZW1lbnRcIixcbiAgICAgICAgdHlwOiB1KGEocihcIlJlbm91dmVsbGVtZW50XCIpKSwgcihcIlJlbm91dmVsbGVtZW50XCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUmVub3V2ZWxsZW1lbnQ6IG8oXG4gICAgW3sganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9XSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUXVlc3Rpb25Yc2lUeXBlOiBbXG4gICAgXCJRdWVzdGlvbkVjcml0ZV9UeXBlXCIsXG4gICAgXCJRdWVzdGlvbkdvdXZlcm5lbWVudF9UeXBlXCIsXG4gICAgXCJRdWVzdGlvbk9yYWxlX1R5cGVcIixcbiAgXSxcbiAgVHlwZUpvOiBbXCJKT19RVUVTVElPTlwiLCBcIkpPX0xPSV9ERUNSRVRcIiwgXCJKT19ERUJBVFwiXSxcbiAgVHlwZTogW1wiUUVcIiwgXCJRR1wiLCBcIlFPU0RcIl0sXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBdUJBLFdBQVlBLGVBQWUsMEJBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBQSxPQUFmQSxlQUFlO0FBQUE7QUE2QjNCLFdBQVlDLE1BQU0sMEJBQU5BLE1BQU07RUFBTkEsTUFBTTtFQUFOQSxNQUFNO0VBQU5BLE1BQU07RUFBQSxPQUFOQSxNQUFNO0FBQUE7QUFtRWxCLFdBQVlDLElBQUksMEJBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBQSxPQUFKQSxJQUFJO0FBQUE7O0FBTWhCO0FBQ0E7QUFDQSxPQUFPLE1BQU1DLE9BQU8sQ0FBQztFQUNuQixPQUFjQyxXQUFXQSxDQUFDQyxJQUFZLEVBQWE7SUFDakQsT0FBT0MsSUFBSSxDQUFDQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLEVBQUVJLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztFQUMvQztFQUVBLE9BQWNDLGVBQWVBLENBQUNDLEtBQWdCLEVBQVU7SUFDdEQsT0FBT0osSUFBSSxDQUFDSyxTQUFTLENBQUNDLE1BQU0sQ0FBQ0YsS0FBSyxFQUFFRixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0VBQy9EO0VBRUEsT0FBY0ssVUFBVUEsQ0FBQ1QsSUFBWSxFQUFZO0lBQy9DLE9BQU9DLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBQUNILElBQUksQ0FBQyxFQUFFSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7RUFDOUM7RUFFQSxPQUFjTSxjQUFjQSxDQUFD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
|