From 5f9d991c15b2b0ebefb75d44b2ed8d8f04642189 Mon Sep 17 00:00:00 2001 From: mathis Date: Tue, 25 Aug 2026 01:23:13 +0200 Subject: [PATCH] MIGRATION VERS GITEA --- .gitignore | 47 + .idea/.gitignore | 10 + .idea/ferrovia-panel.iml | 9 + .idea/misc.xml | 7 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + README.md | 70 + admin-gestion-regions.iml | 10 + api/cron-annonces.js | 579 + api/cron-attribution-h40.js | 66 + api/cron-attribution-nuit.js | 67 + docs/CORRECTIONS_PERTURBATIONS.md | 0 docs/EVENEMENTS_ACTUALITES_README.md | 0 docs/INFORMATIONS_PAGE_REFACTOR.md | 115 + docs/MODIFICATIONS_TYPES_TRAIN.md | 0 docs/PERTURBATIONS_README.md | 159 + docs/REGIONS_SYSTEM_README.md | 0 docs/TRAVAUX_README.md | 197 + docs/UTILISATEURS_README.md | 131 + migrations/000_add_fh_url_to_lignes.sql | 7 + .../000_create_horaires_substitutions.sql | 88 + migrations/add_composition_train_column.sql | 18 + migrations/add_gare_informations_column.sql | 54 + .../add_gares_desservies_json_column.sql | 88 + migrations/add_jours_perturbation.sql | 9 + .../add_permissions_to_utilisateurs.sql | 9 + .../add_perturbations_arrets_column.sql | 35 + migrations/add_perturbations_system.sql | 109 + migrations/add_quai_gares_desservies.sql | 18 + migrations/add_quais_hall_column.sql | 20 + .../add_region_id_to_menus_regionaux.sql | 4 + .../add_region_to_lignes_and_parametres.sql | 32 + migrations/add_tarif_details_json.sql | 3 + migrations/create_menus_regionaux.sql | 18 + migrations/create_messagerie_tables.sql | 90 + ...create_storage_bucket_materiel_roulant.sql | 55 + migrations/create_tarifs_table.sql | 19 + migrations/create_tarifs_table_v2.sql | 16 + migrations/create_travaux_tables.sql | 83 + .../fix_storage_policies_annonces_sonores.sql | 80 + .../fix_storage_policies_fiches_horaires.sql | 43 + .../fix_storage_policies_materiel_roulant.sql | 41 + ...ilisateurs_crud_permissions_and_schema.sql | 0 migrations/repair_horaires_fk.sql | 62 + migrations/test_data_perturbations.sql | 204 + package-lock.json | 24029 ++++++++++++++++ package.json | 46 + public/bug_gare.png | Bin 0 -> 611849 bytes public/bug_roulement.png | Bin 0 -> 459265 bytes public/fonts/avenir-black.woff | Bin 0 -> 28996 bytes public/fonts/avenir-book.woff | Bin 0 -> 68096 bytes public/fonts/avenir-heavy.woff | Bin 0 -> 22056 bytes public/fonts/avenir-lighter.woff | Bin 0 -> 29611 bytes public/fonts/avenir-medium.woff | Bin 0 -> 16952 bytes public/fonts/avenir-roman.woff | Bin 0 -> 28256 bytes public/fonts/icons/icons.eot | Bin 0 -> 51336 bytes public/fonts/icons/icons.svg | 588 + public/fonts/icons/icons.ttf | Bin 0 -> 51180 bytes public/fonts/icons/icons.woff | Bin 0 -> 27772 bytes public/fonts/icons/icons.woff2 | Bin 0 -> 23080 bytes public/horaires_C30.xlsx | Bin 0 -> 577888 bytes public/horaires_example.csv | 3 + public/horaires_example.xls | Bin 0 -> 7168 bytes public/horaires_example.xlsx | Bin 0 -> 20257 bytes public/index.html | 53 + public/logo192.png | Bin 0 -> 5347 bytes public/logo512.png | Bin 0 -> 9664 bytes public/logos/Thumbs.db | Bin 0 -> 69632 bytes public/logos/color/data-color.json | 384 + public/logos/color/logo-aleop-color.svg | 164 + .../color/logo-auvergerhonealpes-color.svg | 88 + public/logos/color/logo-breizhgo-color.svg | 108 + public/logos/color/logo-cfl-color.svg | 1 + public/logos/color/logo-db-color.svg | 20 + public/logos/color/logo-eurostar-color.svg | 11436 ++++++++ public/logos/color/logo-fluo-color.svg | 41 + .../logos/color/logo-frecciarossa-color.svg | 10 + .../logos/color/logo-hautsdefrance-color.svg | 221 + public/logos/color/logo-ice-color.svg | 11 + public/logos/color/logo-inoui-color.svg | 53 + public/logos/color/logo-intercite-color.svg | 104 + public/logos/color/logo-lio-color.svg | 43 + public/logos/color/logo-lunea-color.svg | 1 + public/logos/color/logo-lyria-color.svg | 139 + public/logos/color/logo-metrolor-color.svg | 542 + public/logos/color/logo-mobigo-color.svg | 332 + public/logos/color/logo-nomad-color.svg | 1 + .../color/logo-nouvelleaquitaine-color.svg | 121 + public/logos/color/logo-occitanie-color.svg | 229 + .../color/logo-ouigo-classique-color.svg | 1 + public/logos/color/logo-ouigo-color.svg | 52 + public/logos/color/logo-remi-color.svg | 381 + public/logos/color/logo-renfeave-color.svg | 75 + public/logos/color/logo-sbb-color.svg | 6 + public/logos/color/logo-sncb-color.svg | 15 + public/logos/color/logo-sncf-color.svg | 88 + public/logos/color/logo-teoz-color.svg | 1 + public/logos/color/logo-ter-color.svg | 18 + public/logos/color/logo-ter-rhone-alpes.svg | 401 + public/logos/color/logo-teralsace-color.svg | 146 + .../logos/color/logo-teraquitaine-color.svg | 264 + .../color/logo-terbassenormandie-color.svg | 254 + .../logos/color/logo-terbourgogne-color.svg | 120 + public/logos/color/logo-terbretagne-color.svg | 186 + public/logos/color/logo-tercentre-color.svg | 79 + .../color/logo-terfranchecomte-color.svg | 1 + .../logo-terlanguedocroussillon-color.svg | 10 + .../color/logo-termidipyrenees-color.svg | 10 + .../color/logo-ternordpasdecalais-color.svg | 293 + .../color/logo-terpoitoucharentes-color.svg | 357 + public/logos/color/logo-tgv-color.svg | 211 + public/logos/color/logo-thalys-color.svg | 1 + public/logos/color/logo-thello-color.svg | 678 + public/logos/color/logo-tramtrain-color.svg | 112 + public/logos/color/logo-trenitalia-color.svg | 1 + public/logos/color/logo-zou-color.svg | 29 + public/logos/color/row-background-arrival.svg | 122 + .../logos/color/row-background-departure.svg | 158 + public/logos/data.json | 87 + public/logos/logo-aleop.svg | 164 + public/logos/logo-auvergerhonealpes.svg | 88 + public/logos/logo-breizhgo.svg | 108 + public/logos/logo-cfl.svg | 9 + public/logos/logo-db.svg | 5 + public/logos/logo-eurostar.svg | 314 + public/logos/logo-fluo.svg | 40 + public/logos/logo-frecciarossa.svg | 74 + public/logos/logo-hautsdefrance.svg | 221 + public/logos/logo-ice.svg | 1 + public/logos/logo-inoui.svg | 1 + public/logos/logo-intercites.svg | 107 + public/logos/logo-ler.svg | 214 + public/logos/logo-lio.svg | 43 + public/logos/logo-lunea.svg | 74 + public/logos/logo-lyria.svg | 1 + public/logos/logo-metrolor.svg | 338 + public/logos/logo-mobigo.svg | 332 + public/logos/logo-nomad.svg | 13 + public/logos/logo-occitanie.svg | 145 + public/logos/logo-ouigo-classique.svg | 578 + public/logos/logo-ouigo.svg | 73 + public/logos/logo-remi.svg | 381 + public/logos/logo-renfeave.svg | 72 + public/logos/logo-rer-a.svg | 111 + public/logos/logo-rer-b.svg | 119 + public/logos/logo-rer-c.svg | 116 + public/logos/logo-rer-d.svg | 113 + public/logos/logo-rer-e.svg | 198 + public/logos/logo-sbb.svg | 5 + public/logos/logo-sncb.svg | 11 + public/logos/logo-sncf.svg | 99 + public/logos/logo-sncf1985.svg | 63 + public/logos/logo-sncf1992.svg | 132 + public/logos/logo-t-h.svg | 116 + public/logos/logo-t-j.svg | 123 + public/logos/logo-t-k.svg | 125 + public/logos/logo-t-l.svg | 124 + public/logos/logo-t-n.svg | 138 + public/logos/logo-t-p.svg | 134 + public/logos/logo-t-r.svg | 138 + public/logos/logo-t-u.svg | 133 + public/logos/logo-teoz.svg | 74 + public/logos/logo-ter-rhone-alpes.svg | 401 + public/logos/logo-ter.svg | 1 + public/logos/logo-teralsace.svg | 146 + public/logos/logo-teraquitaine.svg | 133 + public/logos/logo-terbassenormandie.svg | 254 + public/logos/logo-terbourgogne.svg | 120 + public/logos/logo-terbretagne.svg | 186 + public/logos/logo-tercentre.svg | 64 + public/logos/logo-terlanguedocroussillon.svg | 10 + public/logos/logo-termidipyrenees.svg | 10 + public/logos/logo-ternordpasdecalais.svg | 293 + public/logos/logo-terpoitoucharentes.svg | 367 + public/logos/logo-tgv.svg | 211 + public/logos/logo-thalys.svg | 94 + public/logos/logo-thello.svg | 678 + public/logos/logo-tramtrain.svg | 112 + public/logos/logo-trenitalia.svg | 74 + public/logos/logo-zou.svg | 29 + public/logos/sncf-voyageurs-logo.png | Bin 0 -> 9597 bytes public/logos/track-car.svg | 25 + public/manifest.json | 25 + public/regions.json | 83 + public/robots.txt | 3 + scripts/annonces-cron-runner.js | 561 + scripts/generate_example_xlsx.js | 16 + src/App.css | 1092 + src/App.js | 78 + src/App.test.js | 8 + src/api/annoncesSonores/index.js | 439 + src/api/gares/README.md | 108 + src/api/gares/index.js | 450 + src/api/horaires.js | 1227 + src/api/horairesSubstitutions.js | 143 + src/api/infoGare.js | 128 + src/api/informations/index.js | 433 + src/api/lignes.js | 233 + src/api/materielsRoulants.js | 164 + src/api/menu.js | 151 + src/api/messagerie/index.js | 284 + src/api/pages.js | 113 + src/api/parametres.js | 129 + src/api/perturbations.js | 363 + src/api/perturbations.test.js | 182 + src/api/regions/index.js | 71 + src/api/servicesAnnuels.js | 92 + src/api/tarifs.js | 106 + src/api/travaux.js | 299 + src/api/typesTrains.js | 209 + src/api/utilisateurs/index.js | 169 + src/components/GareModal/GareModal.css | 0 .../HoraireModal/CirculationCalendar.css | 193 + .../HoraireModal/CirculationCalendar.jsx | 262 + src/components/HoraireModal/HoraireModal.jsx | 812 + src/components/cms/HierarchicalMenuEditor.js | 294 + src/components/cms/MenuEditor.js | 135 + src/components/cms/NextDeparturesForm.js | 48 + src/components/cms/PageEditor.js | 128 + src/components/cms/TextBlockForm.js | 17 + src/components/cms/cmsUtils.js | 13 + src/components/header/AppHeader.css | 528 + src/components/header/AppHeader.js | 488 + src/components/header/RegionalNavbar.js | 53 + src/components/nav-panel/NavPanel.js | 104 + src/data/pages.json | 7 + src/data/regions.json | 18 + src/index.css | 132 + src/index.js | 17 + src/logo.svg | 1 + .../acces-non-autorise/AccesNonAutorise.css | 33 + .../acces-non-autorise/AccesNonAutorise.js | 24 + src/pages/activer-compte/ActiverCompte.css | 52 + src/pages/activer-compte/ActiverCompte.js | 270 + .../annonces-sonores/AnnoncesSonores.css | 2060 ++ src/pages/annonces-sonores/AnnoncesSonores.js | 4427 +++ src/pages/annonces-sonores/TabDiffusion.js | 1604 ++ .../AttributionMaterielRoulant.css | 376 + .../AttributionMaterielRoulant.js | 776 + .../AttributionMaterielRoulement.js | 98 + .../VueRoulement.css | 199 + .../VueRoulement.js | 195 + src/pages/dashboard/Dashboard.css | 384 + src/pages/dashboard/Dashboard.js | 339 + src/pages/gares/Gares.css | 479 + src/pages/gares/Gares.js | 1283 + src/pages/gares/ImportGaresGTFS.js | 408 + src/pages/gares/InfoGaresTab.css | 239 + src/pages/gares/InfoGaresTab.js | 462 + src/pages/gares/RichTextEditor.css | 102 + src/pages/gares/RichTextEditor.js | 70 + .../AttributionQuaisDepartArrivee.css | 89 + .../horaires/AttributionQuaisDepartArrivee.js | 220 + .../horaires/AttributionQuaisSchematique.css | 364 + .../horaires/AttributionQuaisSchematique.js | 549 + src/pages/horaires/Horaires.css | 867 + src/pages/horaires/Horaires.js | 2597 ++ src/pages/horaires/ImportsPage.css | 339 + src/pages/horaires/ImportsPage.jsx | 1246 + src/pages/informations/Informations.css | 766 + src/pages/informations/Informations.js | 1819 ++ src/pages/login/Login.css | 269 + src/pages/login/Login.js | 243 + src/pages/logout/Logout.js | 44 + src/pages/materiel-roulant/MaterielCard.js | 169 + .../materiel-roulant/MaterielRoulant.css | 410 + src/pages/materiel-roulant/MaterielRoulant.js | 1207 + src/pages/menu/CreerMenu.js | 213 + src/pages/menu/MenuRegional.css | 647 + src/pages/menu/MenuRegional.js | 175 + src/pages/messagerie/Messagerie.css | 179 + src/pages/messagerie/Messagerie.js | 251 + src/pages/mon-compte/MonCompte.css | 124 + src/pages/mon-compte/MonCompte.js | 229 + src/pages/pages-gestion/EditeurPage.css | 440 + src/pages/pages-gestion/EditeurPage.js | 137 + src/pages/pages-gestion/PagesGestion.css | 54 + src/pages/pages-gestion/PagesGestion.js | 90 + src/pages/parametres/Parametres.css | 210 + src/pages/parametres/Parametres.js | 1660 ++ src/pages/perturbations/CreerPerturbation.js | 796 + .../perturbations/ModifierPerturbation.js | 648 + src/pages/perturbations/Perturbations.css | 1132 + src/pages/perturbations/Perturbations.js | 432 + src/pages/perturbations/perturbationsUtils.js | 590 + src/pages/quais/AttributionQuais.css | 645 + src/pages/quais/AttributionQuais.js | 786 + .../quais/AttributionQuaisDepartArrivee.css | 89 + .../quais/AttributionQuaisDepartArrivee.js | 321 + .../quais/AttributionQuaisSchematique.css | 576 + .../quais/AttributionQuaisSchematique.js | 561 + src/pages/quais/AttributionQuaisTempsReel.css | 296 + src/pages/quais/AttributionQuaisTempsReel.js | 241 + src/pages/quais/AttributionReglesModal.js | 108 + src/pages/router/PanelRouter.js | 66 + src/pages/tarifs/TarifForm.js | 1027 + src/pages/tarifs/TarifList.js | 87 + src/pages/tarifs/Tarifs.css | 276 + src/pages/tarifs/Tarifs.js | 157 + src/pages/travaux/CreerTravaux.js | 305 + src/pages/travaux/ModifierTravaux.js | 359 + src/pages/travaux/Travaux.css | 867 + src/pages/travaux/Travaux.js | 272 + src/reportWebVitals.js | 13 + src/setupTests.js | 5 + src/supabaseClient.js | 59 + src/types/cms.d.ts | 54 + src/utils/algorithmeQuais.js | 392 + src/utils/excelParser.js | 13 + src/utils/quaisUtils.js | 98 + src/utils/roulementUtils.js | 87 + src/utils/userUtils.js | 250 + src/utils/userUtils.test.js | 50 + supabase/.temp/cli-latest | 1 + supabase/.temp/gotrue-version | 1 + supabase/.temp/linked-project.json | 1 + supabase/.temp/pooler-url | 1 + supabase/.temp/postgres-version | 1 + supabase/.temp/project-ref | 1 + supabase/.temp/rest-version | 1 + supabase/.temp/storage-migration | 1 + supabase/.temp/storage-version | 1 + .../20260411173231_new-migration.sql | 0 .../20260411173333_new-migration.sql | 0 .../20260610140500_add_quais_hall_column.sql | 7 + .../20260611000000_secure_all_tables.sql | 31 + .../20260611000001_fix_secure_all_tables.sql | 27 + .../add_logo_color_url_types_train.sql | 10 + .../add_multi_gares_lignes_info_gares.sql | 32 + supabase/migrations/add_type_info_gares.sql | 12 + supabase/migrations/fix_rls_info_gares.sql | 42 + supabase/remote_schema.sql | 2291 ++ vercel.json | 12 + 333 files changed, 108514 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/ferrovia-panel.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 README.md create mode 100644 admin-gestion-regions.iml create mode 100644 api/cron-annonces.js create mode 100644 api/cron-attribution-h40.js create mode 100644 api/cron-attribution-nuit.js create mode 100644 docs/CORRECTIONS_PERTURBATIONS.md create mode 100644 docs/EVENEMENTS_ACTUALITES_README.md create mode 100644 docs/INFORMATIONS_PAGE_REFACTOR.md create mode 100644 docs/MODIFICATIONS_TYPES_TRAIN.md create mode 100644 docs/PERTURBATIONS_README.md create mode 100644 docs/REGIONS_SYSTEM_README.md create mode 100644 docs/TRAVAUX_README.md create mode 100644 docs/UTILISATEURS_README.md create mode 100644 migrations/000_add_fh_url_to_lignes.sql create mode 100644 migrations/000_create_horaires_substitutions.sql create mode 100644 migrations/add_composition_train_column.sql create mode 100644 migrations/add_gare_informations_column.sql create mode 100644 migrations/add_gares_desservies_json_column.sql create mode 100644 migrations/add_jours_perturbation.sql create mode 100644 migrations/add_permissions_to_utilisateurs.sql create mode 100644 migrations/add_perturbations_arrets_column.sql create mode 100644 migrations/add_perturbations_system.sql create mode 100644 migrations/add_quai_gares_desservies.sql create mode 100644 migrations/add_quais_hall_column.sql create mode 100644 migrations/add_region_id_to_menus_regionaux.sql create mode 100644 migrations/add_region_to_lignes_and_parametres.sql create mode 100644 migrations/add_tarif_details_json.sql create mode 100644 migrations/create_menus_regionaux.sql create mode 100644 migrations/create_messagerie_tables.sql create mode 100644 migrations/create_storage_bucket_materiel_roulant.sql create mode 100644 migrations/create_tarifs_table.sql create mode 100644 migrations/create_tarifs_table_v2.sql create mode 100644 migrations/create_travaux_tables.sql create mode 100644 migrations/fix_storage_policies_annonces_sonores.sql create mode 100644 migrations/fix_storage_policies_fiches_horaires.sql create mode 100644 migrations/fix_storage_policies_materiel_roulant.sql create mode 100644 migrations/fix_utilisateurs_crud_permissions_and_schema.sql create mode 100644 migrations/repair_horaires_fk.sql create mode 100644 migrations/test_data_perturbations.sql create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/bug_gare.png create mode 100644 public/bug_roulement.png create mode 100644 public/fonts/avenir-black.woff create mode 100644 public/fonts/avenir-book.woff create mode 100644 public/fonts/avenir-heavy.woff create mode 100644 public/fonts/avenir-lighter.woff create mode 100644 public/fonts/avenir-medium.woff create mode 100644 public/fonts/avenir-roman.woff create mode 100644 public/fonts/icons/icons.eot create mode 100644 public/fonts/icons/icons.svg create mode 100644 public/fonts/icons/icons.ttf create mode 100644 public/fonts/icons/icons.woff create mode 100644 public/fonts/icons/icons.woff2 create mode 100644 public/horaires_C30.xlsx create mode 100644 public/horaires_example.csv create mode 100644 public/horaires_example.xls create mode 100644 public/horaires_example.xlsx create mode 100644 public/index.html create mode 100644 public/logo192.png create mode 100644 public/logo512.png create mode 100644 public/logos/Thumbs.db create mode 100644 public/logos/color/data-color.json create mode 100644 public/logos/color/logo-aleop-color.svg create mode 100644 public/logos/color/logo-auvergerhonealpes-color.svg create mode 100644 public/logos/color/logo-breizhgo-color.svg create mode 100644 public/logos/color/logo-cfl-color.svg create mode 100644 public/logos/color/logo-db-color.svg create mode 100644 public/logos/color/logo-eurostar-color.svg create mode 100644 public/logos/color/logo-fluo-color.svg create mode 100644 public/logos/color/logo-frecciarossa-color.svg create mode 100644 public/logos/color/logo-hautsdefrance-color.svg create mode 100644 public/logos/color/logo-ice-color.svg create mode 100644 public/logos/color/logo-inoui-color.svg create mode 100644 public/logos/color/logo-intercite-color.svg create mode 100644 public/logos/color/logo-lio-color.svg create mode 100644 public/logos/color/logo-lunea-color.svg create mode 100644 public/logos/color/logo-lyria-color.svg create mode 100644 public/logos/color/logo-metrolor-color.svg create mode 100644 public/logos/color/logo-mobigo-color.svg create mode 100644 public/logos/color/logo-nomad-color.svg create mode 100644 public/logos/color/logo-nouvelleaquitaine-color.svg create mode 100644 public/logos/color/logo-occitanie-color.svg create mode 100644 public/logos/color/logo-ouigo-classique-color.svg create mode 100644 public/logos/color/logo-ouigo-color.svg create mode 100644 public/logos/color/logo-remi-color.svg create mode 100644 public/logos/color/logo-renfeave-color.svg create mode 100644 public/logos/color/logo-sbb-color.svg create mode 100644 public/logos/color/logo-sncb-color.svg create mode 100644 public/logos/color/logo-sncf-color.svg create mode 100644 public/logos/color/logo-teoz-color.svg create mode 100644 public/logos/color/logo-ter-color.svg create mode 100644 public/logos/color/logo-ter-rhone-alpes.svg create mode 100644 public/logos/color/logo-teralsace-color.svg create mode 100644 public/logos/color/logo-teraquitaine-color.svg create mode 100644 public/logos/color/logo-terbassenormandie-color.svg create mode 100644 public/logos/color/logo-terbourgogne-color.svg create mode 100644 public/logos/color/logo-terbretagne-color.svg create mode 100644 public/logos/color/logo-tercentre-color.svg create mode 100644 public/logos/color/logo-terfranchecomte-color.svg create mode 100644 public/logos/color/logo-terlanguedocroussillon-color.svg create mode 100644 public/logos/color/logo-termidipyrenees-color.svg create mode 100644 public/logos/color/logo-ternordpasdecalais-color.svg create mode 100644 public/logos/color/logo-terpoitoucharentes-color.svg create mode 100644 public/logos/color/logo-tgv-color.svg create mode 100644 public/logos/color/logo-thalys-color.svg create mode 100644 public/logos/color/logo-thello-color.svg create mode 100644 public/logos/color/logo-tramtrain-color.svg create mode 100644 public/logos/color/logo-trenitalia-color.svg create mode 100644 public/logos/color/logo-zou-color.svg create mode 100644 public/logos/color/row-background-arrival.svg create mode 100644 public/logos/color/row-background-departure.svg create mode 100644 public/logos/data.json create mode 100644 public/logos/logo-aleop.svg create mode 100644 public/logos/logo-auvergerhonealpes.svg create mode 100644 public/logos/logo-breizhgo.svg create mode 100644 public/logos/logo-cfl.svg create mode 100644 public/logos/logo-db.svg create mode 100644 public/logos/logo-eurostar.svg create mode 100644 public/logos/logo-fluo.svg create mode 100644 public/logos/logo-frecciarossa.svg create mode 100644 public/logos/logo-hautsdefrance.svg create mode 100644 public/logos/logo-ice.svg create mode 100644 public/logos/logo-inoui.svg create mode 100644 public/logos/logo-intercites.svg create mode 100644 public/logos/logo-ler.svg create mode 100644 public/logos/logo-lio.svg create mode 100644 public/logos/logo-lunea.svg create mode 100644 public/logos/logo-lyria.svg create mode 100644 public/logos/logo-metrolor.svg create mode 100644 public/logos/logo-mobigo.svg create mode 100644 public/logos/logo-nomad.svg create mode 100644 public/logos/logo-occitanie.svg create mode 100644 public/logos/logo-ouigo-classique.svg create mode 100644 public/logos/logo-ouigo.svg create mode 100644 public/logos/logo-remi.svg create mode 100644 public/logos/logo-renfeave.svg create mode 100644 public/logos/logo-rer-a.svg create mode 100644 public/logos/logo-rer-b.svg create mode 100644 public/logos/logo-rer-c.svg create mode 100644 public/logos/logo-rer-d.svg create mode 100644 public/logos/logo-rer-e.svg create mode 100644 public/logos/logo-sbb.svg create mode 100644 public/logos/logo-sncb.svg create mode 100644 public/logos/logo-sncf.svg create mode 100644 public/logos/logo-sncf1985.svg create mode 100644 public/logos/logo-sncf1992.svg create mode 100644 public/logos/logo-t-h.svg create mode 100644 public/logos/logo-t-j.svg create mode 100644 public/logos/logo-t-k.svg create mode 100644 public/logos/logo-t-l.svg create mode 100644 public/logos/logo-t-n.svg create mode 100644 public/logos/logo-t-p.svg create mode 100644 public/logos/logo-t-r.svg create mode 100644 public/logos/logo-t-u.svg create mode 100644 public/logos/logo-teoz.svg create mode 100644 public/logos/logo-ter-rhone-alpes.svg create mode 100644 public/logos/logo-ter.svg create mode 100644 public/logos/logo-teralsace.svg create mode 100644 public/logos/logo-teraquitaine.svg create mode 100644 public/logos/logo-terbassenormandie.svg create mode 100644 public/logos/logo-terbourgogne.svg create mode 100644 public/logos/logo-terbretagne.svg create mode 100644 public/logos/logo-tercentre.svg create mode 100644 public/logos/logo-terlanguedocroussillon.svg create mode 100644 public/logos/logo-termidipyrenees.svg create mode 100644 public/logos/logo-ternordpasdecalais.svg create mode 100644 public/logos/logo-terpoitoucharentes.svg create mode 100644 public/logos/logo-tgv.svg create mode 100644 public/logos/logo-thalys.svg create mode 100644 public/logos/logo-thello.svg create mode 100644 public/logos/logo-tramtrain.svg create mode 100644 public/logos/logo-trenitalia.svg create mode 100644 public/logos/logo-zou.svg create mode 100644 public/logos/sncf-voyageurs-logo.png create mode 100644 public/logos/track-car.svg create mode 100644 public/manifest.json create mode 100644 public/regions.json create mode 100644 public/robots.txt create mode 100644 scripts/annonces-cron-runner.js create mode 100644 scripts/generate_example_xlsx.js create mode 100644 src/App.css create mode 100644 src/App.js create mode 100644 src/App.test.js create mode 100644 src/api/annoncesSonores/index.js create mode 100644 src/api/gares/README.md create mode 100644 src/api/gares/index.js create mode 100644 src/api/horaires.js create mode 100644 src/api/horairesSubstitutions.js create mode 100644 src/api/infoGare.js create mode 100644 src/api/informations/index.js create mode 100644 src/api/lignes.js create mode 100644 src/api/materielsRoulants.js create mode 100644 src/api/menu.js create mode 100644 src/api/messagerie/index.js create mode 100644 src/api/pages.js create mode 100644 src/api/parametres.js create mode 100644 src/api/perturbations.js create mode 100644 src/api/perturbations.test.js create mode 100644 src/api/regions/index.js create mode 100644 src/api/servicesAnnuels.js create mode 100644 src/api/tarifs.js create mode 100644 src/api/travaux.js create mode 100644 src/api/typesTrains.js create mode 100644 src/api/utilisateurs/index.js create mode 100644 src/components/GareModal/GareModal.css create mode 100644 src/components/HoraireModal/CirculationCalendar.css create mode 100644 src/components/HoraireModal/CirculationCalendar.jsx create mode 100644 src/components/HoraireModal/HoraireModal.jsx create mode 100644 src/components/cms/HierarchicalMenuEditor.js create mode 100644 src/components/cms/MenuEditor.js create mode 100644 src/components/cms/NextDeparturesForm.js create mode 100644 src/components/cms/PageEditor.js create mode 100644 src/components/cms/TextBlockForm.js create mode 100644 src/components/cms/cmsUtils.js create mode 100644 src/components/header/AppHeader.css create mode 100644 src/components/header/AppHeader.js create mode 100644 src/components/header/RegionalNavbar.js create mode 100644 src/components/nav-panel/NavPanel.js create mode 100644 src/data/pages.json create mode 100644 src/data/regions.json create mode 100644 src/index.css create mode 100644 src/index.js create mode 100644 src/logo.svg create mode 100644 src/pages/acces-non-autorise/AccesNonAutorise.css create mode 100644 src/pages/acces-non-autorise/AccesNonAutorise.js create mode 100644 src/pages/activer-compte/ActiverCompte.css create mode 100644 src/pages/activer-compte/ActiverCompte.js create mode 100644 src/pages/annonces-sonores/AnnoncesSonores.css create mode 100644 src/pages/annonces-sonores/AnnoncesSonores.js create mode 100644 src/pages/annonces-sonores/TabDiffusion.js create mode 100644 src/pages/attribution-materiel-roulant/AttributionMaterielRoulant.css create mode 100644 src/pages/attribution-materiel-roulant/AttributionMaterielRoulant.js create mode 100644 src/pages/attribution-materiel-roulant/AttributionMaterielRoulement.js create mode 100644 src/pages/attribution-materiel-roulant/VueRoulement.css create mode 100644 src/pages/attribution-materiel-roulant/VueRoulement.js create mode 100644 src/pages/dashboard/Dashboard.css create mode 100644 src/pages/dashboard/Dashboard.js create mode 100644 src/pages/gares/Gares.css create mode 100644 src/pages/gares/Gares.js create mode 100644 src/pages/gares/ImportGaresGTFS.js create mode 100644 src/pages/gares/InfoGaresTab.css create mode 100644 src/pages/gares/InfoGaresTab.js create mode 100644 src/pages/gares/RichTextEditor.css create mode 100644 src/pages/gares/RichTextEditor.js create mode 100644 src/pages/horaires/AttributionQuaisDepartArrivee.css create mode 100644 src/pages/horaires/AttributionQuaisDepartArrivee.js create mode 100644 src/pages/horaires/AttributionQuaisSchematique.css create mode 100644 src/pages/horaires/AttributionQuaisSchematique.js create mode 100644 src/pages/horaires/Horaires.css create mode 100644 src/pages/horaires/Horaires.js create mode 100644 src/pages/horaires/ImportsPage.css create mode 100644 src/pages/horaires/ImportsPage.jsx create mode 100644 src/pages/informations/Informations.css create mode 100644 src/pages/informations/Informations.js create mode 100644 src/pages/login/Login.css create mode 100644 src/pages/login/Login.js create mode 100644 src/pages/logout/Logout.js create mode 100644 src/pages/materiel-roulant/MaterielCard.js create mode 100644 src/pages/materiel-roulant/MaterielRoulant.css create mode 100644 src/pages/materiel-roulant/MaterielRoulant.js create mode 100644 src/pages/menu/CreerMenu.js create mode 100644 src/pages/menu/MenuRegional.css create mode 100644 src/pages/menu/MenuRegional.js create mode 100644 src/pages/messagerie/Messagerie.css create mode 100644 src/pages/messagerie/Messagerie.js create mode 100644 src/pages/mon-compte/MonCompte.css create mode 100644 src/pages/mon-compte/MonCompte.js create mode 100644 src/pages/pages-gestion/EditeurPage.css create mode 100644 src/pages/pages-gestion/EditeurPage.js create mode 100644 src/pages/pages-gestion/PagesGestion.css create mode 100644 src/pages/pages-gestion/PagesGestion.js create mode 100644 src/pages/parametres/Parametres.css create mode 100644 src/pages/parametres/Parametres.js create mode 100644 src/pages/perturbations/CreerPerturbation.js create mode 100644 src/pages/perturbations/ModifierPerturbation.js create mode 100644 src/pages/perturbations/Perturbations.css create mode 100644 src/pages/perturbations/Perturbations.js create mode 100644 src/pages/perturbations/perturbationsUtils.js create mode 100644 src/pages/quais/AttributionQuais.css create mode 100644 src/pages/quais/AttributionQuais.js create mode 100644 src/pages/quais/AttributionQuaisDepartArrivee.css create mode 100644 src/pages/quais/AttributionQuaisDepartArrivee.js create mode 100644 src/pages/quais/AttributionQuaisSchematique.css create mode 100644 src/pages/quais/AttributionQuaisSchematique.js create mode 100644 src/pages/quais/AttributionQuaisTempsReel.css create mode 100644 src/pages/quais/AttributionQuaisTempsReel.js create mode 100644 src/pages/quais/AttributionReglesModal.js create mode 100644 src/pages/router/PanelRouter.js create mode 100644 src/pages/tarifs/TarifForm.js create mode 100644 src/pages/tarifs/TarifList.js create mode 100644 src/pages/tarifs/Tarifs.css create mode 100644 src/pages/tarifs/Tarifs.js create mode 100644 src/pages/travaux/CreerTravaux.js create mode 100644 src/pages/travaux/ModifierTravaux.js create mode 100644 src/pages/travaux/Travaux.css create mode 100644 src/pages/travaux/Travaux.js create mode 100644 src/reportWebVitals.js create mode 100644 src/setupTests.js create mode 100644 src/supabaseClient.js create mode 100644 src/types/cms.d.ts create mode 100644 src/utils/algorithmeQuais.js create mode 100644 src/utils/excelParser.js create mode 100644 src/utils/quaisUtils.js create mode 100644 src/utils/roulementUtils.js create mode 100644 src/utils/userUtils.js create mode 100644 src/utils/userUtils.test.js create mode 100644 supabase/.temp/cli-latest create mode 100644 supabase/.temp/gotrue-version create mode 100644 supabase/.temp/linked-project.json create mode 100644 supabase/.temp/pooler-url create mode 100644 supabase/.temp/postgres-version create mode 100644 supabase/.temp/project-ref create mode 100644 supabase/.temp/rest-version create mode 100644 supabase/.temp/storage-migration create mode 100644 supabase/.temp/storage-version create mode 100644 supabase/migrations/20260411173231_new-migration.sql create mode 100644 supabase/migrations/20260411173333_new-migration.sql create mode 100644 supabase/migrations/20260610140500_add_quais_hall_column.sql create mode 100644 supabase/migrations/20260611000000_secure_all_tables.sql create mode 100644 supabase/migrations/20260611000001_fix_secure_all_tables.sql create mode 100644 supabase/migrations/add_logo_color_url_types_train.sql create mode 100644 supabase/migrations/add_multi_gares_lignes_info_gares.sql create mode 100644 supabase/migrations/add_type_info_gares.sql create mode 100644 supabase/migrations/fix_rls_info_gares.sql create mode 100644 supabase/remote_schema.sql create mode 100644 vercel.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ee5f6fc --- /dev/null +++ b/.gitignore @@ -0,0 +1,47 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts + +# Fichiers internes et dev +_dev/ +scratch/ +scheme-complet-db +database/ diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..30cf57e --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/ferrovia-panel.iml b/.idea/ferrovia-panel.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/ferrovia-panel.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..b1ae761 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..3d00373 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..58beeac --- /dev/null +++ b/README.md @@ -0,0 +1,70 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in your browser. + +The page will reload when you make changes.\ +You may also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can't go back!** + +If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. + +You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) + +### Analyzing the Bundle Size + +This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) + +### Making a Progressive Web App + +This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) + +### Advanced Configuration + +This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) + +### Deployment + +This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) + +### `npm run build` fails to minify + +This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/admin-gestion-regions.iml b/admin-gestion-regions.iml new file mode 100644 index 0000000..78aaf41 --- /dev/null +++ b/admin-gestion-regions.iml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/api/cron-annonces.js b/api/cron-annonces.js new file mode 100644 index 0000000..1851651 --- /dev/null +++ b/api/cron-annonces.js @@ -0,0 +1,579 @@ +import { createClient } from '@supabase/supabase-js'; + +const supabaseUrl = process.env.REACT_APP_SUPABASE_URL || process.env.SUPABASE_URL; +const supabaseKey = process.env.REACT_APP_SUPABASE_ANON_KEY || process.env.SUPABASE_ANON_KEY; +const supabase = createClient(supabaseUrl, supabaseKey); + +function checkIfHoraireRunsOnDate(horaire, date = new Date()) { + const yyyy = date.getFullYear(); + const mm = String(date.getMonth() + 1).padStart(2, '0'); + const dd = String(date.getDate()).padStart(2, '0'); + const dateStr = `${yyyy}-${mm}-${dd}`; + + // 1. Jours personnalisés (override) + let joursPerso = []; + try { + joursPerso = typeof horaire.jours_personnalises === 'string' + ? JSON.parse(horaire.jours_personnalises) + : (horaire.jours_personnalises || []); + } catch(e) {} + const matchPerso = joursPerso.find(jp => jp.date === dateStr); + if (matchPerso) return matchPerso.circule; + + // 2. Jours non circulation (override) + let joursNonCirc = []; + try { + joursNonCirc = typeof horaire.jours_non_circulation === 'string' + ? JSON.parse(horaire.jours_non_circulation) + : (horaire.jours_non_circulation || []); + } catch(e) {} + if (joursNonCirc.includes(dateStr)) return false; + + // 3. Jours de la semaine + const day = date.getDay(); // 0 = Dimanche, 1 = Lundi, ... + switch(day) { + case 0: return !!horaire.circule_dimanche; + case 1: return !!horaire.circule_lundi; + case 2: return !!horaire.circule_mardi; + case 3: return !!horaire.circule_mercredi; + case 4: return !!horaire.circule_jeudi; + case 5: return !!horaire.circule_vendredi; + case 6: return !!horaire.circule_samedi; + } + return false; +} + +function getTrainDetailsForGare(horaire, gareId, type) { + // 1. Rechercher en priorité dans la liste gares_desservies + const stops = horaire.gares_desservies || []; + const stop = stops.find(s => s.gare_id === gareId); + if (stop) { + if (type === 'depart') { + return { time: stop.heure_depart || stop.heure_arrivee || '', quai: stop.quai_reel || stop.quai || '' }; + } else { + return { time: stop.heure_arrivee || stop.heure_depart || '', quai: stop.quai_reel || stop.quai || '' }; + } + } + + // 2. Fallback direct sur l'objet horaire + if (type === 'depart' && horaire.gare_depart_id === gareId) { + return { time: horaire.heure_depart || '', quai: horaire.quai_reel || horaire.quai || '' }; + } + if (type === 'arrivee' && horaire.gare_arrivee_id === gareId) { + return { time: horaire.heure_arrivee || '', quai: horaire.quai_reel || horaire.quai || '' }; + } + + return { + time: type === 'depart' ? horaire.heure_depart : horaire.heure_arrivee, + quai: horaire.quai_reel || horaire.quai || '' + }; +} + +function generateNomFichierAnnonce(typeAnnonce, ext = 'mp3') { + const date = new Date().toISOString().slice(0, 10); + const shortId = Math.random().toString(36).slice(2, 8); + return `${typeAnnonce}_${date}_${shortId}.${ext}`; +} + +function concatenateAudio(buffers) { + if (buffers.length === 0) return { payload: null, format: 'mp3' }; + if (buffers.length === 1) { + const isWav = buffers[0].subarray(0, 4).toString('ascii') === 'RIFF'; + return { payload: buffers[0], format: isWav ? 'wav' : 'mp3' }; + } + + const isWav = buffers[0].subarray(0, 4).toString('ascii') === 'RIFF'; + + if (isWav) { + // Logic for WAV concatenation + let totalPcmLength = 0; + for (let i = 0; i < buffers.length; i++) { + const hasRiff = buffers[i].subarray(0, 4).toString('ascii') === 'RIFF'; + totalPcmLength += hasRiff ? (buffers[i].length - 44) : buffers[i].length; + } + + const header = Buffer.alloc(44); + buffers[0].copy(header, 0, 0, 44); + + const totalFileSize = 44 + totalPcmLength; + header.writeUInt32LE(totalFileSize - 8, 4); + header.writeUInt32LE(totalPcmLength, 40); + + const combinedBuffer = Buffer.alloc(totalFileSize); + header.copy(combinedBuffer, 0, 0, 44); + + let offset = 44; + for (let i = 0; i < buffers.length; i++) { + const hasRiff = buffers[i].subarray(0, 4).toString('ascii') === 'RIFF'; + const dataPayload = hasRiff ? buffers[i].subarray(44) : buffers[i]; + dataPayload.copy(combinedBuffer, offset); + offset += dataPayload.length; + } + + return { payload: combinedBuffer, format: 'wav' }; + } else { + // Logic for MP3 concatenation (streamable, direct binary append) + return { payload: Buffer.concat(buffers), format: 'mp3' }; + } +} + +export default async function handler(req, res) { + // Authentification double : CRON_SECRET (Vercel Cron) ou Supabase session token (browser) + let isAuthorized = false; + const authHeader = req.headers.authorization; + + if (process.env.CRON_SECRET && authHeader === `Bearer ${process.env.CRON_SECRET}`) { + isAuthorized = true; + } else if (authHeader && authHeader.startsWith('Bearer ')) { + const token = authHeader.replace('Bearer ', ''); + try { + const { data: { user } } = await supabase.auth.getUser(token); + if (user) { + isAuthorized = true; + } + } catch (e) { + console.error('[Cron] User token auth failed:', e); + } + } else if (!process.env.CRON_SECRET) { + // En dev local, si CRON_SECRET n'est pas configuré + isAuthorized = true; + } + + if (!isAuthorized) { + return res.status(401).end('Unauthorized'); + } + + try { + const now = new Date(); + const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0); + const todayEnd = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59, 999); + + const regenerate = req.query.regenerate === 'true'; + console.log(`[CronAnnonces] Running at ${now.toISOString()} | Regenerate: ${regenerate}`); + + // --- ETAPE 1 : RECUPERATION DES DONNEES --- + const [ + { data: gares }, + { data: horaires }, + { data: templates }, + { data: mots }, + { data: parametres }, + { data: todayAnnonces } + ] = await Promise.all([ + supabase.from('gares').select('*'), + supabase.from('horaires').select('*'), + supabase.from('annonces_templates').select('*').eq('actif', true), + supabase.from('banque_mots').select('*').eq('actif', true), + supabase.from('parametres').select('*'), + supabase.from('annonces_enregistrees') + .select('*') + .gte('date_diffusion', todayStart.toISOString()) + .lte('date_diffusion', todayEnd.toISOString()) + ]); + + // Si régénération demandée, supprimer de la BDD et du Storage toutes les annonces d'aujourd'hui + const regenerateParam = (parametres || []).find(p => p.cle === 'global_regenerate_requested'); + const isGlobalRegenerate = regenerate || (regenerateParam && regenerateParam.valeur === 'true'); + + if (isGlobalRegenerate && todayAnnonces && todayAnnonces.length > 0) { + console.log(`[CronAnnonces] Deleting ${todayAnnonces.length} existing announcements for today...`); + const pathsToDelete = todayAnnonces.map(a => a.storage_path).filter(Boolean); + if (pathsToDelete.length > 0) { + await supabase.storage.from('banque-annonces').remove(pathsToDelete); + } + await supabase + .from('annonces_enregistrees') + .delete() + .in('id', todayAnnonces.map(a => a.id)); + + // Vider la liste pour forcer la régénération + todayAnnonces.length = 0; + } + + // Réinitialiser le drapeau de régénération en base de données si nécessaire + if (regenerateParam && regenerateParam.valeur === 'true') { + await supabase + .from('parametres') + .update({ valeur: 'false', updated_at: now.toISOString() }) + .eq('cle', 'global_regenerate_requested'); + console.log('[CronAnnonces] Reset global_regenerate_requested parameter in DB.'); + } + + const settingsByGare = {}; + const dijonGare = (gares || []).find(g => g.nom && g.nom.toLowerCase().trim() === 'dijon'); + const dijonSettingsParam = dijonGare ? (parametres || []).find(p => p.cle === `diffusion_settings_${dijonGare.id}`) : null; + const dijonSettings = dijonSettingsParam ? dijonSettingsParam.valeur : null; + + (parametres || []).forEach(p => { + if (p.cle.startsWith('diffusion_settings_')) { + const gareId = p.cle.replace('diffusion_settings_', ''); + settingsByGare[gareId] = p.valeur; + } + }); + + const runningHorairesGlobal = (horaires || []).filter(h => checkIfHoraireRunsOnDate(h, now)); + + // --- ETAPE 2 : COMPTER LE NOMBRE TOTAL DE TACHES A GENERER --- + let totalTasksCount = 0; + const garesToProcess = (gares || []).filter(gare => { + let rule = settingsByGare[gare.id]; + if (!rule && dijonSettings && dijonGare && dijonGare.id !== gare.id) { + rule = dijonSettings; + } + return !!rule; + }); + + const tasksToExecute = []; + + for (const gare of garesToProcess) { + let rule = settingsByGare[gare.id]; + if (!rule && dijonSettings && dijonGare && dijonGare.id !== gare.id) { + rule = dijonSettings; + } + + // Filtrer et trier les horaires pour cette gare + const runningHorairesForGare = runningHorairesGlobal + .filter(h => { + if (h.gare_depart_id === gare.id || h.gare_arrivee_id === gare.id) return true; + const stops = h.gares_desservies || []; + return stops.some(s => s.gare_id === gare.id); + }) + .sort((a, b) => { + const timeA = getTrainDetailsForGare(a, gare.id, 'depart').time || getTrainDetailsForGare(a, gare.id, 'arrivee').time || '00:00'; + const timeB = getTrainDetailsForGare(b, gare.id, 'depart').time || getTrainDetailsForGare(b, gare.id, 'arrivee').time || '00:00'; + return timeA.localeCompare(timeB); + }); + + for (const horaire of runningHorairesForGare) { + const isDepart = horaire.gare_depart_id === gare.id || + (horaire.gares_desservies || []).some(s => s.gare_id === gare.id && s.heure_depart); + + const isArrivee = horaire.gare_arrivee_id === gare.id || + (horaire.gares_desservies || []).some(s => s.gare_id === gare.id && s.heure_arrivee); + + if (isDepart) { + const typeRule = rule.depart; + if (typeRule && typeRule.templateId) { + const template = (templates || []).find(t => t.id === typeRule.templateId); + if (template) { + // Vérifier si cette annonce existe déjà + const exists = (todayAnnonces || []).some(a => + a.gare_id === gare.id && + a.type_annonce === 'depart' && + a.variables_values?.numero_train === horaire.numero_train + ); + if (!exists) { + tasksToExecute.push({ gare, typeAnnonce: 'depart', typeRule, template, horaire }); + } + } + } + } + + if (isArrivee) { + const typeRule = rule.arrivee; + if (typeRule && typeRule.templateId) { + const template = (templates || []).find(t => t.id === typeRule.templateId); + if (template) { + // Vérifier si cette annonce existe déjà + const exists = (todayAnnonces || []).some(a => + a.gare_id === gare.id && + a.type_annonce === 'arrivee' && + a.variables_values?.numero_train === horaire.numero_train + ); + if (!exists) { + tasksToExecute.push({ gare, typeAnnonce: 'arrivee', typeRule, template, horaire }); + } + } + } + } + } + } + + totalTasksCount = tasksToExecute.length; + console.log(`[CronAnnonces] Total tasks to generate: ${totalTasksCount}`); + + // Publier l'état initial + await supabase.from('parametres').upsert({ + cle: 'global_generation_progress', + valeur: JSON.stringify({ + status: totalTasksCount > 0 ? 'running' : 'done', + current: 0, + total: totalTasksCount, + progress: totalTasksCount > 0 ? 0 : 100, + message: totalTasksCount > 0 ? `Préparation de la génération... (0/${totalTasksCount})` : 'Toutes les annonces sont déjà générées.' + }), + updated_at: new Date().toISOString() + }, { onConflict: 'cle' }); + + // Exécuter séquentiellement et publier la progression + let currentTaskIndex = 0; + for (const task of tasksToExecute) { + const { gare, typeAnnonce, typeRule, template, horaire } = task; + + // Mettre à jour la progression avant chaque tâche + const pct = Math.round((currentTaskIndex / totalTasksCount) * 100); + await supabase.from('parametres').upsert({ + cle: 'global_generation_progress', + valeur: JSON.stringify({ + status: 'running', + current: currentTaskIndex, + total: totalTasksCount, + progress: pct, + message: `Génération : ${gare.nom} - Train ${horaire.numero_train || ''} (${typeAnnonce === 'depart' ? 'Départ' : 'Arrivée'}) (${currentTaskIndex + 1}/${totalTasksCount})` + }), + updated_at: new Date().toISOString() + }, { onConflict: 'cle' }); + + try { + await generateAnnonce(gare, typeAnnonce, typeRule, template, horaire); + } catch (err) { + console.error(`[Cron] Error generating task for ${gare.nom}:`, err); + } + + currentTaskIndex++; + } + + // Publier l'état final + await supabase.from('parametres').upsert({ + cle: 'global_generation_progress', + valeur: JSON.stringify({ + status: 'done', + current: totalTasksCount, + total: totalTasksCount, + progress: 100, + message: totalTasksCount > 0 ? 'Génération globale terminée avec succès !' : 'Toutes les annonces sont déjà générées.' + }), + updated_at: new Date().toISOString() + }, { onConflict: 'cle' }); + + // Fonction interne de génération séquentielle + async function generateAnnonce(gare, typeAnnonce, typeRule, template, horaire) { + const { time: trainTime, quai: trainQuai } = getTrainDetailsForGare(horaire, gare.id, typeAnnonce); + if (!trainTime) return; + + const [hStr, mStr] = trainTime.split(':'); + const trainHour = parseInt(hStr, 10); + const trainMin = parseInt(mStr, 10); + const scheduledDate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), trainHour, trainMin); + scheduledDate.setMinutes(scheduledDate.getMinutes() - parseInt(typeRule.offset || 0, 10)); + + const isPast = scheduledDate <= now; + const direction = typeAnnonce === 'depart' ? `à destination de ${horaire.gare_arrivee_nom}` : `en provenance de ${horaire.gare_depart_nom}`; + const name = `Auto: ${horaire.numero_train} (${typeAnnonce}) ${direction} - ${trainTime}`; + + const stopsList = (horaire.snapshot_gares_desservies || horaire.gares_desservies || []); + const intermediateStops = stopsList + .filter(g => !g.is_depart && !g.is_arrivee) + .map(g => g.gare_nom) + .join(', '); + + const resolvedVars = { + numero_train: horaire.numero_train || '', + destination: horaire.gare_arrivee_nom || '', + provenance: horaire.gare_depart_nom || '', + heure_depart: horaire.heure_depart || '', + heure_arrivee: horaire.heure_arrivee || '', + heure: trainTime, + quai: trainQuai, + voie: trainQuai, + arrets_intermediaires: intermediateStops, + afficheurs: typeRule.afficheurs || [], + type_train: horaire.type_train || '' + }; + + // Construire le texte TTS + let ttsText = template.tts_texte || ''; + if (!ttsText) { + ttsText = (template.sequence || []) + .map(s => { + if (s.type === 'mot') return s.label; + if (s.type === 'variable') return resolvedVars[s.variable] || ''; + return ''; + }) + .filter(Boolean) + .join(' '); + } else { + Object.entries(resolvedVars).forEach(([key, val]) => { + ttsText = ttsText.replaceAll(`{${key}}`, Array.isArray(val) ? val.join(', ') : val); + }); + } + + resolvedVars.tts_texte = ttsText; + + const mode = typeRule.mode || ((template.nom?.toLowerCase().includes('sive') || template.description?.toLowerCase().includes('sive')) ? 'concatenation' : 'tts'); + let audioPayload = Buffer.from('TTS_ONLY'); + let format = 'mp3'; + + if (mode === 'concatenation') { + const targetGareSousType = template.nom?.toLowerCase().includes('sive') ? 'sive' : 'quai'; + const buffers = []; + + for (let idxInSeq = 0; idxInSeq < (template.sequence || []).length; idxInSeq++) { + const item = template.sequence[idxInSeq]; + let motToPlay = null; + + if (item.type === 'mot') { + motToPlay = mots.find(m => m.id === item.mot_id); + } else if (item.type === 'variable') { + const val = resolvedVars[item.variable]; + if (val) { + const normValue = String(val).toLowerCase().trim(); + if (item.variable === 'destination' || item.variable === 'provenance') { + const gMots = mots.filter(m => m.categorie === 'gare'); + for (const m of gMots) { + try { + const parsed = JSON.parse(m.description); + if (parsed.gare_nom?.toLowerCase().trim() === normValue || m.label?.toLowerCase().trim() === normValue) { + if (parsed.sous_type === targetGareSousType) { motToPlay = m; break; } + if (!motToPlay) motToPlay = m; + } + } catch (_) {} + } + } else if (item.variable === 'quai' || item.variable === 'voie') { + const isLast = idxInSeq === template.sequence.length - 1; + const targetQuaiSousType = isLast ? 'descendant' : 'montant'; + const qMots = mots.filter(m => m.categorie === 'quai'); + for (const m of qMots) { + try { + const parsed = JSON.parse(m.description); + if (parsed.quai_nom?.toLowerCase().trim() === normValue || m.label?.toLowerCase().trim() === normValue) { + if (parsed.sous_type === targetQuaiSousType) { motToPlay = m; break; } + if (!motToPlay) motToPlay = m; + } + } catch (_) {} + } + } else if (item.variable === 'type_train') { + const ttMots = mots.filter(m => m.categorie === 'type_train'); + for (const m of ttMots) { + try { + const parsed = JSON.parse(m.description); + if (parsed.type_train_nom?.toLowerCase().trim() === normValue || m.label?.toLowerCase().trim() === normValue) { + motToPlay = m; + break; + } + } catch (_) {} + } + } + if (!motToPlay) { + motToPlay = mots.find(m => m.label?.toLowerCase().trim() === normValue); + } + } + } + + if (motToPlay) { + try { + const { data: fileData, error: dlError } = await supabase.storage.from('banque-annonces').download(motToPlay.storage_path); + if (!dlError && fileData) { + const arrayBuffer = await fileData.arrayBuffer(); + buffers.push(Buffer.from(arrayBuffer)); + } + } catch (e) { + console.warn(`[Cron] download failed for ${motToPlay.storage_path}`, e); + } + } + } + + if (buffers.length > 0) { + const resAudio = concatenateAudio(buffers); + if (resAudio.payload) { + audioPayload = resAudio.payload; + format = resAudio.format; + } + } + } + + // Upload to storage + const ext = format; + const nomFichier = generateNomFichierAnnonce(typeAnnonce, ext); + const storagePath = `annonces/${nomFichier}`; + + const { error: uploadError } = await supabase.storage + .from('banque-annonces') + .upload(storagePath, audioPayload, { + cacheControl: '3600', + upsert: false, + contentType: ext === 'wav' ? 'audio/wav' : 'audio/mpeg' + }); + + if (uploadError) { + console.error('[Cron] Upload error:', uploadError); + return; + } + + // Save in BDD + const { error: dbError } = await supabase + .from('annonces_enregistrees') + .insert({ + nom: name, + type_annonce: typeAnnonce, + template_id: template.id, + storage_path: storagePath, + nom_fichier: nomFichier, + variables_values: resolvedVars, + mode_generation: mode, + duree_ms: null, + taille_bytes: audioPayload.length, + gare_id: gare.id, + notes: `Programmed Auto Cron: ${typeAnnonce} | Afficheurs: ${(resolvedVars.afficheurs || []).join(', ')}`, + date_diffusion: scheduledDate.toISOString(), + diffuse: isPast + }); + + if (dbError) { + console.error('[Cron] DB error inserting annonce:', dbError); + await supabase.storage.from('banque-annonces').remove([storagePath]); + } else { + console.log(`[Cron] Generated and saved annonce for train ${horaire.numero_train} at ${gare.nom}`); + } + } + + // --- ETAPE 3 : DIFFUSION DES ANNONCES DUES --- + const { data: dueAnnonces, error: dueError } = await supabase + .from('annonces_enregistrees') + .select('*') + .eq('diffuse', false) + .lte('date_diffusion', now.toISOString()); + + if (dueError) { + console.error('[Cron] dueAnnonces fetch error:', dueError); + } else if (dueAnnonces && dueAnnonces.length > 0) { + console.log(`[Cron] Found ${dueAnnonces.length} due announcements to broadcast.`); + + const broadcastPromises = dueAnnonces.map(async (annonce) => { + try { + // 1. Diffuser sur la table BDD en direct pour les afficheurs + const { error: diffError } = await supabase + .from('annonces_diffusions') + .insert([ + { + annonce_id: annonce.id, + gare_id: annonce.gare_id, + audio_path: annonce.mode_generation === 'tts' ? null : annonce.storage_path, + tts_texte: annonce.mode_generation === 'tts' ? (annonce.variables_values?.tts_texte || 'Attention, train en approche.') : null + } + ]); + + if (diffError) { + console.error(`[Cron] Error broadcasting annonce ${annonce.id}:`, diffError); + } else { + // 2. Mettre à jour l'annonce dans la base comme diffusée + await supabase + .from('annonces_enregistrees') + .update({ diffuse: true, updated_at: now.toISOString() }) + .eq('id', annonce.id); + console.log(`[Cron] Broadcasted and updated annonce ${annonce.id} (nom: ${annonce.nom})`); + } + } catch (broadcastErr) { + console.error(`[Cron] Broadcast error for annonce ${annonce.id}:`, broadcastErr); + } + }); + + await Promise.all(broadcastPromises); + } + + return res.status(200).json({ success: true, message: "Génération et diffusion crons exécutées." }); + } catch (err) { + console.error('[Cron] Global exception:', err); + return res.status(500).json({ error: err.message }); + } +} diff --git a/api/cron-attribution-h40.js b/api/cron-attribution-h40.js new file mode 100644 index 0000000..8bc9a0f --- /dev/null +++ b/api/cron-attribution-h40.js @@ -0,0 +1,66 @@ +import { createClient } from '@supabase/supabase-js'; +import { buildMovements, executeAllocationAlgorithm } from '../src/utils/algorithmeQuais.js'; + +const supabaseUrl = process.env.REACT_APP_SUPABASE_URL || process.env.SUPABASE_URL; +const supabaseKey = process.env.REACT_APP_SUPABASE_ANON_KEY || process.env.SUPABASE_ANON_KEY; +const supabase = createClient(supabaseUrl, supabaseKey); + +export default async function handler(req, res) { + if (req.headers.authorization !== `Bearer ${process.env.CRON_SECRET}`) { + return res.status(401).end('Unauthorized'); + } + + try { + const today = new Date().toISOString().split('T')[0]; + + const { data: gares } = await supabase.from('gares').select('*'); + if (!gares) return res.status(200).json({ message: "Aucune gare" }); + + const { data: horaires } = await supabase.from('horaires').select(` + *, + materiel_roulant ( id, nom ), + ligne_id + `).contains('jours_circulation', `[{"date": "${today}", "type": "jour"}]`); + + const { data: perturbations } = await supabase.from('perturbations').select('*').contains('jours_perturbation', `[{"date": "${today}", "type": "jour"}]`); + const { data: regles } = await supabase.from('regles_quais').select('*'); + + for (const gare of gares) { + const reglesGare = (regles || []).filter(r => r.gare_id === gare.id); + const quaisLibres = (gare.gare_quais || []).filter(q => q.nom !== 'CG'); + + const movements = buildMovements(horaires || [], gare, perturbations || []); + + // On filtre les mouvements pour ne garder que ceux qui se passent dans les prochaines heures ou pour revérification + // Pour simplifier et garantir la cohérence (chainage matériel), on repasse tout, + // mais on ne va appliquer les changements en BDD que pour les trains concernés (proche H-40) + + const { blockUpdates, perturbationsToCreate } = executeAllocationAlgorithm(movements, quaisLibres, reglesGare); + + for (const update of blockUpdates) { + const { data: currentHoraire } = await supabase.from('horaires').select('gares_desservies').eq('id', update.horaireId).single(); + if (currentHoraire && currentHoraire.gares_desservies) { + const newDesservies = currentHoraire.gares_desservies.map(arret => { + if (String(arret.gare_id) === String(gare.id) || arret.gare_nom === gare.nom) { + return { ...arret, quai_reel: update.payload.depart || update.payload.arrivee || update.payload[arret.ordre] || arret.quai_reel }; + } + return arret; + }); + await supabase.from('horaires').update({ gares_desservies: newDesservies }).eq('id', update.horaireId); + } + } + + for (const pert of perturbationsToCreate) { + const exists = perturbations.find(p => p.horaire_id === pert.horaire_id && p.cause === pert.cause); + if (!exists) { + await supabase.from('perturbations').insert([pert]); + } + } + } + + return res.status(200).json({ success: true, message: "Vérification H-40 terminée." }); + } catch (err) { + console.error(err); + return res.status(500).json({ error: err.message }); + } +} diff --git a/api/cron-attribution-nuit.js b/api/cron-attribution-nuit.js new file mode 100644 index 0000000..fdb9b77 --- /dev/null +++ b/api/cron-attribution-nuit.js @@ -0,0 +1,67 @@ +import { createClient } from '@supabase/supabase-js'; +import { buildMovements, executeAllocationAlgorithm } from '../src/utils/algorithmeQuais.js'; + +const supabaseUrl = process.env.REACT_APP_SUPABASE_URL || process.env.SUPABASE_URL; +const supabaseKey = process.env.REACT_APP_SUPABASE_ANON_KEY || process.env.SUPABASE_ANON_KEY; +// Note: un service_role key est préférable en production pour un cron +const supabase = createClient(supabaseUrl, supabaseKey); + +export default async function handler(req, res) { + if (req.headers.authorization !== `Bearer ${process.env.CRON_SECRET}`) { + return res.status(401).end('Unauthorized'); + } + + try { + const today = new Date().toISOString().split('T')[0]; + + // 1. Fetch gares + const { data: gares } = await supabase.from('gares').select('*'); + if (!gares) return res.status(200).json({ message: "Aucune gare" }); + + // 2. Fetch horaires du jour + const { data: horaires } = await supabase.from('horaires').select(` + *, + materiel_roulant ( id, nom ), + ligne_id + `).contains('jours_circulation', `[{"date": "${today}", "type": "jour"}]`); + + // 3. Fetch perturbations + const { data: perturbations } = await supabase.from('perturbations').select('*').contains('jours_perturbation', `[{"date": "${today}", "type": "jour"}]`); + + // 4. Fetch règles + const { data: regles } = await supabase.from('regles_quais').select('*'); + + for (const gare of gares) { + const reglesGare = (regles || []).filter(r => r.gare_id === gare.id); + const quaisLibres = (gare.gare_quais || []).filter(q => q.nom !== 'CG'); + + const movements = buildMovements(horaires || [], gare, perturbations || []); + + const { blockUpdates, perturbationsToCreate } = executeAllocationAlgorithm(movements, quaisLibres, reglesGare); + + // Update DB + for (const update of blockUpdates) { + const { data: currentHoraire } = await supabase.from('horaires').select('gares_desservies').eq('id', update.horaireId).single(); + if (currentHoraire && currentHoraire.gares_desservies) { + const newDesservies = currentHoraire.gares_desservies.map(arret => { + if (String(arret.gare_id) === String(gare.id) || arret.gare_nom === gare.nom) { + return { ...arret, quai_reel: update.payload.depart || update.payload.arrivee || update.payload[arret.ordre] || arret.quai_reel }; + } + return arret; + }); + await supabase.from('horaires').update({ gares_desservies: newDesservies }).eq('id', update.horaireId); + } + } + + for (const pert of perturbationsToCreate) { + const exists = perturbations.find(p => p.horaire_id === pert.horaire_id && p.cause === pert.cause); + if (!exists) await supabase.from('perturbations').insert([pert]); + } + } + + return res.status(200).json({ success: true, message: "Attribution de nuit terminée." }); + } catch (err) { + console.error(err); + return res.status(500).json({ error: err.message }); + } +} diff --git a/docs/CORRECTIONS_PERTURBATIONS.md b/docs/CORRECTIONS_PERTURBATIONS.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/EVENEMENTS_ACTUALITES_README.md b/docs/EVENEMENTS_ACTUALITES_README.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/INFORMATIONS_PAGE_REFACTOR.md b/docs/INFORMATIONS_PAGE_REFACTOR.md new file mode 100644 index 0000000..3525d40 --- /dev/null +++ b/docs/INFORMATIONS_PAGE_REFACTOR.md @@ -0,0 +1,115 @@ +# Page Informations - Documentation des modifications + +## Vue d'ensemble + +La page **Informations** a été entièrement recodée pour afficher correctement tous les contenus des onglets (Info Trafic, Événements, Actualités) en utilisant la structure native des web components `wcs-tabs`. + +## Modifications principales + +### 1. Structure des onglets + +**Avant :** +- Utilisation de `headers-only` sur `wcs-tabs` +- Gestion manuelle du contenu avec des conditions `{activeTab === 'trafic' && ...}` +- Synchronisation complexe de l'état avec des listeners multiples + +**Après :** +- Utilisation complète de `wcs-tabs` avec `wcs-tab-panel` +- Chaque onglet a son propre `wcs-tab-panel` avec le contenu approprié +- Synchronisation simplifiée de l'état de l'onglet actif + +### 2. Structure du code + +```jsx + { + const idx = e.detail?.selectedIndex; + setActiveTab(idx === 0 ? 'trafic' : idx === 1 ? 'evenements' : 'actualites'); + }} +> + + + + + + + + + + + {/* Panneau Info Trafic */} + + {/* Contenu... */} + + + {/* Panneau Événements */} + + {/* Contenu... */} + + + {/* Panneau Actualités */} + + {/* Contenu... */} + + +``` + +### 3. Gestion de l'état + +- **État simplifié** : L'état `activeTab` est maintenu pour la cohérence avec les formulaires +- **Synchronisation** : L'événement `onWcsTabChange` met à jour l'état React +- **Affichage** : Chaque `wcs-tab-panel` contient le contenu correspondant (loading, empty state, ou tableau) + +### 4. Fichier CSS dédié + +Création de `Informations.css` avec : +- Styles pour les badges (sévérité, type, catégorie, statut) +- Styles pour les formulaires (form-group, form-row, form-checkboxes) +- Styles pour les modales (modal-large, modal-small, modal-header, modal-body, modal-footer) +- Styles pour les tableaux +- États de chargement et vides +- Design responsive +- Animations + +### 5. Fonctionnalités préservées + +Toutes les fonctionnalités existantes sont préservées : +- Création, modification et suppression d'info trafic +- Création, modification et suppression d'événements +- Création, modification et suppression d'actualités +- Filtrage par région +- Validation des formulaires +- Gestion des états de chargement et d'erreur + +## Avantages de la nouvelle structure + +1. **Meilleure compatibilité** : Utilise correctement la structure native des web components +2. **Code plus propre** : Moins de logique conditionnelle pour l'affichage +3. **Maintenabilité** : Structure plus claire et plus facile à modifier +4. **Performance** : Le web component gère lui-même l'affichage/masquage des panneaux +5. **Style cohérent** : CSS dédié pour une meilleure organisation + +## Test de la page + +Pour vérifier que tout fonctionne correctement : + +1. **Onglets** : Cliquer sur chaque onglet (Info Trafic, Événements, Actualités) +2. **Affichage** : Vérifier que le contenu de chaque onglet s'affiche correctement +3. **Création** : Tester la création d'un nouvel élément dans chaque onglet +4. **Modification** : Tester la modification d'un élément existant +5. **Suppression** : Tester la suppression d'un élément +6. **Responsive** : Vérifier l'affichage sur mobile/tablette + +## Fichiers modifiés + +- `src/pages/informations/Informations.js` : Composant principal recodé +- `src/pages/informations/Informations.css` : Nouveau fichier de styles (créé) + +## Notes techniques + +- Les web components WCS (SNCF Design System) sont correctement utilisés +- La synchronisation entre React et les web components est gérée via les événements natifs +- Les formulaires continuent d'utiliser la synchronisation DOM pour garantir la fiabilité +- Le CSS est modularisé et suit les conventions de nommage BEM + diff --git a/docs/MODIFICATIONS_TYPES_TRAIN.md b/docs/MODIFICATIONS_TYPES_TRAIN.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/PERTURBATIONS_README.md b/docs/PERTURBATIONS_README.md new file mode 100644 index 0000000..ce53d22 --- /dev/null +++ b/docs/PERTURBATIONS_README.md @@ -0,0 +1,159 @@ +# Fonctionnalité de Gestion des Perturbations + +## Vue d'ensemble + +Cette fonctionnalité permet de créer, modifier et supprimer des perturbations affectant les horaires de trains. Elle comprend : + +- Une page principale listant les perturbations groupées par horaire dans un accordion +- Une page de création de perturbation en 2 étapes +- Une page de modification de perturbation existante +- Un aperçu visuel du parcours avec la perturbation appliquée + +## Structure des fichiers + +### Base de données +- `supabase_perturbations_tables.sql` : Schéma des tables pour les perturbations + - Table `perturbations` : Stocke les perturbations principales + - Table `perturbations_modifications_parcours` : Détails des modifications de parcours + +### API +- `src/api/perturbations.js` : Fonctions pour interagir avec Supabase + - `getAllPerturbations()` : Récupère toutes les perturbations + - `getPerturbationsGroupedByHoraire()` : Groupe les perturbations par horaire + - `getPerturbationById(id)` : Récupère une perturbation spécifique + - `createPerturbation(payload, modificationsParcours)` : Crée une nouvelle perturbation + - `updatePerturbation(id, payload, modificationsParcours)` : Met à jour une perturbation + - `deletePerturbation(id)` : Supprime une perturbation (soft delete) + - `getPerturbationsByHoraire(horaireId)` : Récupère les perturbations d'un horaire + +### Pages +- `src/pages/perturbations/Perturbations.js` : Page principale avec la liste des perturbations +- `src/pages/perturbations/CreerPerturbation.js` : Page de création en 2 étapes +- `src/pages/perturbations/ModifierPerturbation.js` : Page de modification +- `src/pages/perturbations/Perturbations.css` : Styles pour toutes les pages + +### Navigation +- Ajout de l'item "Perturbations" dans `src/components/nav-panel/NavPanel.js` +- Routes ajoutées dans `src/pages/router/PanelRouter.js` : + - `/perturbations` : Liste des perturbations + - `/perturbations/creer` : Création d'une perturbation + - `/perturbations/modifier/:id` : Modification d'une perturbation + +## Types de perturbations + +1. **Retard** : Le train circule avec un retard (en minutes) +2. **Suppression** : Le train ne circule pas +3. **Modification de parcours** : Le parcours du train est modifié + +## Causes disponibles + +- Incident technique +- Accident de personne +- Conditions météorologiques +- Travaux +- Mouvement social +- Intervention police +- Affluence +- Malveillance +- Autre + +## Processus de création d'une perturbation + +### Étape 1 : Sélection de l'horaire +1. Rechercher un horaire par numéro de train, gare ou ligne +2. Sélectionner l'horaire à perturber +3. Visualiser les détails de l'horaire +4. Cliquer sur "Suivant" + +### Étape 2 : Définition de la perturbation +1. Choisir le type de perturbation (retard, suppression, modification) +2. Renseigner les détails selon le type : + - **Retard** : Durée en minutes + - **Suppression/Modification** : Train de substitution (optionnel) +3. Indiquer la cause de la perturbation +4. Définir la période de validité +5. Ajouter des notes internes (optionnel) +6. Visualiser l'aperçu du parcours dans le panneau de droite +7. Cliquer sur "Créer la perturbation" + +## Fonctionnalités de la page principale + +- **Recherche** : Filtrer les perturbations par numéro de train, gare ou ligne +- **Accordion** : Perturbations groupées par horaire +- **Actions** : + - Modifier une perturbation + - Supprimer une perturbation +- **Badges de couleur** : + - 🟡 Orange : Retard + - 🔴 Rouge : Suppression + - 🔵 Bleu : Modification de parcours + +## Aperçu du parcours + +L'aperçu du parcours affiche : +- Toutes les gares du trajet +- Les horaires d'arrivée et de départ +- L'application de la perturbation : + - Retard : Ajout du retard aux horaires (+XX') + - Suppression : Message "Ce train sera supprimé" + - Modification : Gares supprimées/ajoutées/modifiées avec badges de couleur + +## Installation de la base de données + +Exécutez le script SQL dans Supabase : + +```bash +# Dans le SQL Editor de Supabase +supabase_perturbations_tables.sql +``` + +Ce script créera : +- La table `perturbations` +- La table `perturbations_modifications_parcours` +- Les index pour améliorer les performances +- Les triggers pour la mise à jour automatique de `updated_at` + +## Composants WCS SNCF utilisés + +- `wcs-button` : Boutons d'action +- `wcs-input` : Champs de saisie +- `wcs-select` : Sélecteurs déroulants +- `wcs-textarea` : Zones de texte +- `wcs-checkbox` : Cases à cocher +- `wcs-radio` : Boutons radio +- `wcs-badge` : Badges de statut et type +- `wcs-accordion` : Accordéon pour grouper les perturbations +- `wcs-card` : Cartes pour afficher les détails +- `wcs-message` : Messages d'information/erreur +- `wcs-spinner` : Indicateurs de chargement +- `wcs-mat-icon` : Icônes Material Design + +## Améliorations futures possibles + +1. **Modifications de parcours détaillées** : + - Interface pour ajouter/supprimer des gares du parcours + - Modification des horaires gare par gare + +2. **Notifications** : + - Envoi de notifications aux utilisateurs concernés + - Intégration avec un système de messagerie + +3. **Historique** : + - Suivi des modifications des perturbations + - Archivage des perturbations passées + +4. **Statistiques** : + - Tableau de bord des perturbations + - Analyses par cause, type, ligne, etc. + +5. **Import/Export** : + - Import de perturbations depuis un fichier CSV + - Export des perturbations pour reporting + +6. **Récurrence** : + - Perturbations récurrentes (ex: travaux tous les week-ends) + - Modèles de perturbations réutilisables + +## Support + +Pour toute question ou problème, consultez la documentation du projet ou contactez l'équipe de développement. diff --git a/docs/REGIONS_SYSTEM_README.md b/docs/REGIONS_SYSTEM_README.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/TRAVAUX_README.md b/docs/TRAVAUX_README.md new file mode 100644 index 0000000..b835284 --- /dev/null +++ b/docs/TRAVAUX_README.md @@ -0,0 +1,197 @@ +# Fonctionnalité de Gestion des Travaux + +## Vue d'ensemble + +La gestion des travaux permet de créer, modifier et supprimer des travaux planifiés sur les lignes, avec la possibilité de définir des horaires de substitution pour informer les voyageurs des alternatives disponibles. + +## Structure des fichiers + +### Pages +- `src/pages/travaux/Travaux.js` : Page principale listant tous les travaux +- `src/pages/travaux/CreerTravaux.js` : Page de création de travaux (multi-étapes) +- `src/pages/travaux/Travaux.css` : Styles pour les pages travaux + +### API +- `src/api/travaux.js` : Fonctions pour interagir avec Supabase + - `getAllTravaux()` : Récupère tous les travaux avec leurs substitutions + - `getTravauxById(id)` : Récupère un travail spécifique + - `createTravaux(payload, substitutions)` : Crée de nouveaux travaux + - `updateTravaux(id, payload, substitutions)` : Met à jour des travaux + - `deleteTravaux(id)` : Supprime des travaux (soft delete) + - `getHorairesSubstitution(searchQuery)` : Récupère les horaires disponibles pour substitution + - `getTravauxActifs(dateDebut, dateFin)` : Récupère les travaux actifs pour une période + +### Base de données +- `migrations/create_travaux_tables.sql` : Script de création des tables + - Table `travaux` : Informations principales des travaux + - Table `travaux_substitutions` : Liaison avec les horaires de substitution + +## Structure de la base de données + +### Table `travaux` + +| Colonne | Type | Description | +|---------|------|-------------| +| id | UUID | Identifiant unique | +| titre | TEXT | Titre des travaux (requis) | +| description | TEXT | Description détaillée | +| date_debut | DATE | Date de début (requis) | +| date_fin | DATE | Date de fin (requis) | +| jours_travaux | TEXT[] | Jours de la semaine concernés | +| heure_debut | TIME | Heure de début (requis) | +| heure_fin | TIME | Heure de fin (requis) | +| actif | BOOLEAN | Statut actif/inactif | +| created_at | TIMESTAMP | Date de création | +| updated_at | TIMESTAMP | Date de dernière modification | + +### Table `travaux_substitutions` + +| Colonne | Type | Description | +|---------|------|-------------| +| id | UUID | Identifiant unique | +| travaux_id | UUID | Référence vers les travaux | +| horaire_id | UUID | Référence vers l'horaire de substitution | +| ordre | INTEGER | Ordre d'affichage | +| created_at | TIMESTAMP | Date de création | + +## Processus de création (multi-étapes) + +### Étape 1 : Informations générales +- **Titre** : Nom descriptif des travaux (requis) +- **Description** : Description détaillée (optionnel) +- **Dates** : Date de début et fin (requises) +- **Jours de travaux** : Sélection des jours de la semaine concernés (requis) +- **Horaires** : Heure de début et fin des travaux (requis) +- **Statut** : Actif/Inactif (par défaut actif) + +### Étape 2 : Substitutions +- **Activation** : Case à cocher pour activer les substitutions +- **Recherche** : Barre de recherche pour trouver des horaires de substitution + - Filtre automatique sur les horaires ayant `substitution_disponible = true` + - Recherche par numéro de train, gare de départ/arrivée, ligne +- **Sélection** : Ajout/retrait d'horaires dans la liste des substitutions +- **Affichage** : Liste des horaires sélectionnés avec possibilité de les retirer + +### Étape 3 : Résumé +- Affichage de toutes les informations saisies +- Validation avant création +- Création en base de données + +## Fonctionnalités + +### Page principale +- **Liste des travaux** : Affichage en grille avec cartes +- **Recherche** : Filtrage par titre ou description +- **Détails** : Chaque carte affiche : + - Titre et description + - Période (dates) + - Jours concernés + - Horaires + - Nombre de substitutions + - Statut (Actif/Inactif) +- **Actions** : + - Créer de nouveaux travaux + - Modifier des travaux existants + - Supprimer des travaux + +### Validation + +#### Contraintes base de données +- `date_fin >= date_debut` +- `heure_fin > heure_debut` +- `titre` est requis + +#### Contraintes applicatives +- Au moins un jour de travaux doit être sélectionné +- Tous les champs requis doivent être remplis +- Les dates doivent être cohérentes + +## Intégration + +### Navigation +- Entrée "Travaux" ajoutée dans le NavPanel avec l'icône "construction" +- Accessible via `/travaux` +- Page de création accessible via `/travaux/creer` + +### Routes +Ajoutées dans `PanelRouter.js` : +- `/travaux` : Liste des travaux +- `/travaux/creer` : Création de travaux + +### Style +- Cohérent avec le reste de l'application +- Utilisation des composants WCS (Web Components Système) +- Animations et transitions fluides +- Responsive design + +## Exemples d'utilisation + +### Créer des travaux + +```javascript +import { createTravaux } from '../../api/travaux'; + +const payload = { + titre: 'Travaux ligne Paris-Lyon', + description: 'Rénovation des voies', + date_debut: '2026-03-01', + date_fin: '2026-03-31', + jours_travaux: ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi'], + heure_debut: '09:00', + heure_fin: '17:00', + actif: true +}; + +const substitutions = ['uuid-horaire-1', 'uuid-horaire-2']; + +const { data, error } = await createTravaux(payload, substitutions); +``` + +### Récupérer les travaux actifs + +```javascript +import { getTravauxActifs } from '../../api/travaux'; + +const { data, error } = await getTravauxActifs('2026-03-01', '2026-03-31'); +``` + +### Rechercher des horaires de substitution + +```javascript +import { getHorairesSubstitution } from '../../api/travaux'; + +const { data, error } = await getHorairesSubstitution('TGV'); +``` + +## Migration + +Pour créer les tables en base de données : + +```sql +-- Exécuter le fichier migrations/create_travaux_tables.sql +psql -U postgres -d nom_base -f migrations/create_travaux_tables.sql +``` + +Ou via Supabase Dashboard : +1. Ouvrir SQL Editor +2. Copier le contenu de `create_travaux_tables.sql` +3. Exécuter + +## Améliorations futures possibles + +1. **Page de modification** : Créer `ModifierTravaux.js` similaire à `CreerTravaux.js` +2. **Filtres avancés** : Ajouter des filtres par date, statut, etc. +3. **Export** : Permettre l'export des travaux en CSV/PDF +4. **Notifications** : Système de notifications pour les travaux à venir +5. **Récurrence** : Support des travaux récurrents +6. **Historique** : Journal des modifications +7. **Permissions** : Gestion des droits par utilisateur +8. **API publique** : Endpoint pour les applications externes + +## Notes techniques + +- Les substitutions sont ordonnées (`ordre` dans `travaux_substitutions`) +- Trigger automatique pour `updated_at` +- Index sur les dates et le statut actif pour optimiser les requêtes +- Contraintes d'intégrité référentielle avec CASCADE sur les substitutions + diff --git a/docs/UTILISATEURS_README.md b/docs/UTILISATEURS_README.md new file mode 100644 index 0000000..7c7f201 --- /dev/null +++ b/docs/UTILISATEURS_README.md @@ -0,0 +1,131 @@ +# Gestion des Utilisateurs - Documentation + +## Vue d'ensemble + +Le système de gestion des utilisateurs permet de créer, modifier et supprimer des utilisateurs qui auront accès à l'application admin Ferrovia. Cette fonctionnalité est accessible depuis la page **Paramètres** via l'onglet **Utilisateurs**. + +## Accès + +1. Connectez-vous à l'application admin +2. Accédez à la page **Paramètres** via le menu de navigation +3. Cliquez sur l'onglet **Utilisateurs** + +## Fonctionnalités + +### 1. Liste des utilisateurs + +La liste des utilisateurs affiche : +- **Nom complet** : Nom et prénom de l'utilisateur +- **Email** : Adresse email de l'utilisateur +- **Rôle** : Badge coloré indiquant le rôle (Administrateur, Gestionnaire, Utilisateur) +- **Statut** : Badge indiquant si l'utilisateur est actif ou inactif +- **Actions** : Boutons pour modifier ou supprimer l'utilisateur + +#### Rôles disponibles + +- **Administrateur** (rouge) : Accès complet à toutes les fonctionnalités +- **Gestionnaire** (bleu) : Accès aux fonctionnalités de gestion +- **Utilisateur** (gris) : Accès limité aux fonctionnalités de base + +### 2. Créer un utilisateur + +1. Cliquez sur le bouton **+ Ajouter un utilisateur** +2. Remplissez le formulaire : + - **Email*** : Adresse email de l'utilisateur (requis, unique) + - **Nom*** : Nom de famille (requis) + - **Prénom*** : Prénom (requis) + - **Rôle** : Sélectionnez le rôle approprié (par défaut : Utilisateur) + - **Utilisateur actif** : Cochez pour activer immédiatement l'utilisateur +3. Cliquez sur **Créer** + +### 3. Modifier un utilisateur + +1. Dans la liste, cliquez sur le bouton **Modifier** de l'utilisateur +2. Modifiez les champs souhaités dans le formulaire +3. Cliquez sur **Mettre à jour** + +### 4. Supprimer un utilisateur + +1. Dans la liste, cliquez sur le bouton **Supprimer** de l'utilisateur +2. Confirmez la suppression dans la boîte de dialogue + +> **⚠️ Attention** : La suppression d'un utilisateur est définitive et ne peut pas être annulée. + +## Validation + +Le système effectue les validations suivantes : + +- L'email doit être valide et unique dans le système +- Le nom et le prénom sont obligatoires +- L'email est automatiquement converti en minuscules +- Les espaces en début et fin de champs sont automatiquement supprimés + +## Stockage des données + +Toutes les données des utilisateurs sont stockées dans la table `utilisateurs` de la base de données Supabase. + +### Structure de la table + +```sql +CREATE TABLE utilisateurs ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + email VARCHAR(255) NOT NULL UNIQUE, + nom VARCHAR(100) NOT NULL, + prenom VARCHAR(100) NOT NULL, + role VARCHAR(50) NOT NULL DEFAULT 'utilisateur', + actif BOOLEAN NOT NULL DEFAULT true, + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() +); +``` + +## Installation de la table + +Pour créer la table dans votre base de données Supabase : + +1. Accédez à votre dashboard Supabase +2. Allez dans **SQL Editor** +3. Exécutez le script `supabase_utilisateurs.sql` fourni à la racine du projet +4. Vérifiez que la table a été créée avec succès + +## API + +Les fonctions API sont disponibles dans `src/api/utilisateurs/index.js` : + +- `getAllUtilisateurs()` : Récupère tous les utilisateurs +- `createUtilisateur(userData)` : Crée un nouvel utilisateur +- `updateUtilisateur(id, userData)` : Met à jour un utilisateur existant +- `deleteUtilisateur(id)` : Supprime un utilisateur + +Toutes les fonctions retournent un objet `{ data, error }` : +- En cas de succès : `{ data: {...}, error: null }` +- En cas d'erreur : `{ data: null, error: {...} }` + +## Bonnes pratiques + +1. **Emails uniques** : Chaque utilisateur doit avoir une adresse email unique +2. **Rôles appropriés** : Assignez les rôles en fonction des responsabilités réelles +3. **Désactivation vs Suppression** : Préférez désactiver un utilisateur plutôt que le supprimer pour conserver l'historique +4. **Vérification régulière** : Vérifiez régulièrement la liste des utilisateurs actifs + +## Dépannage + +### L'onglet Utilisateurs n'apparaît pas +- Vérifiez que vous avez bien les dernières modifications du code +- Assurez-vous que la page Paramètres est correctement chargée + +### Erreur lors de la création d'un utilisateur +- Vérifiez que l'email n'est pas déjà utilisé +- Assurez-vous que tous les champs obligatoires sont remplis +- Vérifiez la connexion à Supabase + +### La table utilisateurs n'existe pas +- Exécutez le script SQL `supabase_utilisateurs.sql` dans votre base de données Supabase +- Vérifiez les permissions de votre clé API Supabase + +## Support + +Pour toute question ou problème, consultez : +- La documentation de Supabase : https://supabase.com/docs +- Les logs de la console du navigateur pour plus de détails sur les erreurs + diff --git a/migrations/000_add_fh_url_to_lignes.sql b/migrations/000_add_fh_url_to_lignes.sql new file mode 100644 index 0000000..5f254d9 --- /dev/null +++ b/migrations/000_add_fh_url_to_lignes.sql @@ -0,0 +1,7 @@ +-- Migration : Ajout de la colonne fh_url à la table lignes +-- Stocke l'URL publique du PDF de la fiche horaire associée à la ligne + +ALTER TABLE lignes + ADD COLUMN IF NOT EXISTS fh_url TEXT DEFAULT NULL; + +COMMENT ON COLUMN lignes.fh_url IS 'URL publique du fichier PDF de la fiche horaire de la ligne (stocké dans Supabase Storage)'; diff --git a/migrations/000_create_horaires_substitutions.sql b/migrations/000_create_horaires_substitutions.sql new file mode 100644 index 0000000..1f3e54b --- /dev/null +++ b/migrations/000_create_horaires_substitutions.sql @@ -0,0 +1,88 @@ +-- Migration: create table horaires_substitutions +-- Cette table est utilisée par l'API front-end (src/api/horairesSubstitutions.js) +CREATE TABLE IF NOT EXISTS horaires_substitutions ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + + -- Référence éventuelle vers un horaire source + horaire_id UUID REFERENCES horaires(id) ON DELETE SET NULL, + + -- Région (filtrage RBAC) + region_id UUID, + region VARCHAR(255), + + -- Informations générales (copie similaire à `horaires`) + numero_train VARCHAR(50), + type_train VARCHAR(100), + type_train_id BIGINT, + + gare_depart_id UUID, + gare_depart_nom VARCHAR(255), + heure_depart TIME, + + gare_arrivee_id UUID, + gare_arrivee_nom VARCHAR(255), + heure_arrivee TIME, + + -- Période de validité de la substitution + date_debut TIMESTAMP WITH TIME ZONE, + date_fin TIMESTAMP WITH TIME ZONE, + + -- Jours / exceptions + circule_lundi BOOLEAN DEFAULT true, + circule_mardi BOOLEAN DEFAULT true, + circule_mercredi BOOLEAN DEFAULT true, + circule_jeudi BOOLEAN DEFAULT true, + circule_vendredi BOOLEAN DEFAULT true, + circule_samedi BOOLEAN DEFAULT true, + circule_dimanche BOOLEAN DEFAULT true, + circule_jours_feries BOOLEAN DEFAULT false, + + jours_personnalises JSONB DEFAULT '[]'::jsonb, + jours_non_circulation JSONB DEFAULT '[]'::jsonb, + + materiel_roulant_id BIGINT, + + ligne_id UUID, + ligne_nom VARCHAR(255), + + service_annuel_id UUID, + service_annuel_nom VARCHAR(255), + + -- Indique qu'il s'agit d'une substitution + est_substitution BOOLEAN DEFAULT true, + motif_substitution VARCHAR(255), + + -- Snapshot des gares desservies et composition + gares_desservies JSONB DEFAULT '[]'::jsonb, + composition_train JSONB DEFAULT '[]'::jsonb, + + -- Métadonnées + actif BOOLEAN DEFAULT true, + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + deleted_at TIMESTAMP WITH TIME ZONE +); + +-- Indexes utiles +CREATE INDEX IF NOT EXISTS idx_horaires_substitutions_region ON horaires_substitutions(region_id); +CREATE INDEX IF NOT EXISTS idx_horaires_substitutions_horaire ON horaires_substitutions(horaire_id); +CREATE INDEX IF NOT EXISTS idx_horaires_substitutions_actif ON horaires_substitutions(actif) WHERE deleted_at IS NULL; +CREATE INDEX IF NOT EXISTS idx_horaires_substitutions_datefin ON horaires_substitutions(date_fin); + +-- Trigger pour updated_at si la fonction existe +DO $$ +BEGIN + IF EXISTS (SELECT 1 FROM pg_proc WHERE proname = 'update_updated_at_column') THEN + DROP TRIGGER IF EXISTS update_horaires_substitutions_updated_at ON horaires_substitutions; + CREATE TRIGGER update_horaires_substitutions_updated_at + BEFORE UPDATE ON horaires_substitutions + FOR EACH ROW + EXECUTE FUNCTION update_updated_at_column(); + END IF; +END$$; + +COMMENT ON TABLE horaires_substitutions IS 'Table des horaires de substitution (autocar / remplacement)'; +COMMENT ON COLUMN horaires_substitutions.gares_desservies IS 'Liste JSON des gares desservies par la substitution'; +COMMENT ON COLUMN horaires_substitutions.composition_train IS 'Composition JSON du matériel roulant (position, id, nom)'; +COMMENT ON COLUMN horaires_substitutions.date_fin IS 'Date/heure de fin de validité de la substitution'; + diff --git a/migrations/add_composition_train_column.sql b/migrations/add_composition_train_column.sql new file mode 100644 index 0000000..9c8315f --- /dev/null +++ b/migrations/add_composition_train_column.sql @@ -0,0 +1,18 @@ +-- ============================================================================ +-- MIGRATION : Ajout de la colonne composition_train (JSONB) dans la table horaires +-- Date : 2026-03-01 +-- Description : Stocke la composition complète et ordonnée des matériels roulants +-- affectés à un horaire (sillon). Chaque élément contient l'id, +-- le nom, le nom technique, l'URL de l'image et la position. +-- +-- ⚠️ À EXÉCUTER dans l'éditeur SQL Supabase : +-- https://supabase.com/dashboard → votre projet → SQL Editor +-- ============================================================================ + +ALTER TABLE public.horaires + ADD COLUMN IF NOT EXISTS composition_train JSONB DEFAULT '[]'::jsonb; + +COMMENT ON COLUMN public.horaires.composition_train IS + 'Composition ordonnée du train : liste JSON des matériels roulants affectés au sillon. ' + 'Format : [{"materiel_id": 1, "materiel_nom": "Régiolis", "materiel_nom_technique": "X73500", "materiel_image_url": "https://...", "position": 1}, ...]'; + diff --git a/migrations/add_gare_informations_column.sql b/migrations/add_gare_informations_column.sql new file mode 100644 index 0000000..3e527fc --- /dev/null +++ b/migrations/add_gare_informations_column.sql @@ -0,0 +1,54 @@ +-- ============================================================================ +-- MIGRATION : Ajout de la colonne informations (JSONB) dans la table gares +-- Date : 2026-03-01 +-- Description : Stocke toutes les informations enrichies d'une gare : +-- adresse, horaires, accessibilité, services, voiture, vélo, +-- et lignes de transports en commun (bus, métro, tramway, car régional). +-- +-- ⚠️ À EXÉCUTER dans l'éditeur SQL Supabase : +-- https://supabase.com/dashboard → votre projet → SQL Editor +-- ============================================================================ + +ALTER TABLE public.gares + ADD COLUMN IF NOT EXISTS informations JSONB DEFAULT '{}'::jsonb; + +COMMENT ON COLUMN public.gares.informations IS + 'Informations enrichies de la gare au format JSON. Structure : + { + -- Informations Générales + "adresse": "20 Bd Diderot, 75012 Paris", + "horaires_guichet": "6h00 - 21h30", + "horaires_gare": "5h00 - 00h30", + "distributeur_ter": true, + + -- Accessibilité + "service_assistance": true, + + -- Services + "espace_attente": true, + "distributeur_tgv": false, + "objets_trouves": true, + "toilettes": true, + "wifi_gratuit": true, + "photomaton": false, + "defibrillateur": true, + "galeries_marchandes": false, + + -- Voiture + "depose_minute": true, + "espace_taxis": true, + "espace_vtc": false, + "location_voiture": false, + "parking": true, + + -- Vélo + "velo_libre_service": true, + "parking_velos": true, + + -- Transports en commun enrichis + "lignes_bus": [{"nom": "29", "terminus_a": "Gare Saint-Lazare", "terminus_b": "Montempoivre"}], + "lignes_metro": [{"nom": "1", "terminus_a": "La Défense", "terminus_b": "Château de Vincennes"}], + "lignes_tramway": [], + "lignes_car_regional": [] + }'; + diff --git a/migrations/add_gares_desservies_json_column.sql b/migrations/add_gares_desservies_json_column.sql new file mode 100644 index 0000000..f1a9121 --- /dev/null +++ b/migrations/add_gares_desservies_json_column.sql @@ -0,0 +1,88 @@ +-- ============================================================================ +-- MIGRATION : Ajout de la colonne gares_desservies (JSONB) dans la table horaires +-- Date : 2026-03-01 +-- Description : Ajoute une colonne JSONB "gares_desservies" dans la table horaires +-- afin de stocker un snapshot dénormalisé des gares desservies. +-- Cette colonne est alimentée à chaque création/modification d'horaire +-- et est synchronisée avec la table relationnelle horaires_gares_desservies. +-- ============================================================================ + +-- Ajout de la colonne si elle n'existe pas encore +ALTER TABLE public.horaires + ADD COLUMN IF NOT EXISTS gares_desservies JSONB DEFAULT '[]'::jsonb; + +-- Commentaire explicatif sur la colonne +COMMENT ON COLUMN public.horaires.gares_desservies IS + 'Snapshot JSON des gares desservies (copie dénormalisée synchronisée avec horaires_gares_desservies). ' + 'Format : [{"gare_id": "uuid", "gare_nom": "Nom Gare", "heure_arrivee": "HH:MM", "heure_depart": "HH:MM", "ordre": 1}, ...]'; + +-- ============================================================================ +-- Rétro-remplissage : synchroniser la colonne JSON depuis la table relationnelle +-- pour tous les horaires existants ayant déjà des gares desservies. +-- ============================================================================ +UPDATE public.horaires h +SET gares_desservies = ( + SELECT COALESCE( + jsonb_agg( + jsonb_build_object( + 'gare_id', gd.gare_id, + 'gare_nom', gd.gare_nom, + 'heure_arrivee', gd.heure_arrivee, + 'heure_depart', gd.heure_depart, + 'ordre', gd.ordre + ) ORDER BY gd.ordre + ), + '[]'::jsonb + ) + FROM public.horaires_gares_desservies gd + WHERE gd.horaire_id = h.id +) +WHERE EXISTS ( + SELECT 1 FROM public.horaires_gares_desservies gd WHERE gd.horaire_id = h.id +); + +-- ============================================================================ +-- (Optionnel) Trigger pour maintenir automatiquement la colonne JSON à jour +-- à chaque INSERT / UPDATE / DELETE dans horaires_gares_desservies. +-- Décommenter si vous souhaitez une synchronisation automatique côté base. +-- ============================================================================ + +-- CREATE OR REPLACE FUNCTION public.sync_horaire_gares_desservies_json() +-- RETURNS trigger LANGUAGE plpgsql AS $$ +-- DECLARE +-- v_horaire_id UUID; +-- BEGIN +-- IF TG_OP = 'DELETE' THEN +-- v_horaire_id := OLD.horaire_id; +-- ELSE +-- v_horaire_id := NEW.horaire_id; +-- END IF; +-- +-- UPDATE public.horaires +-- SET gares_desservies = ( +-- SELECT COALESCE( +-- jsonb_agg( +-- jsonb_build_object( +-- 'gare_id', gd.gare_id, +-- 'gare_nom', gd.gare_nom, +-- 'heure_arrivee', gd.heure_arrivee, +-- 'heure_depart', gd.heure_depart, +-- 'ordre', gd.ordre +-- ) ORDER BY gd.ordre +-- ), +-- '[]'::jsonb +-- ) +-- FROM public.horaires_gares_desservies gd +-- WHERE gd.horaire_id = v_horaire_id +-- ) +-- WHERE id = v_horaire_id; +-- +-- RETURN NULL; +-- END; +-- $$; +-- +-- DROP TRIGGER IF EXISTS tr_sync_gares_desservies_json ON public.horaires_gares_desservies; +-- CREATE TRIGGER tr_sync_gares_desservies_json +-- AFTER INSERT OR UPDATE OR DELETE ON public.horaires_gares_desservies +-- FOR EACH ROW EXECUTE FUNCTION public.sync_horaire_gares_desservies_json(); + diff --git a/migrations/add_jours_perturbation.sql b/migrations/add_jours_perturbation.sql new file mode 100644 index 0000000..a1595e6 --- /dev/null +++ b/migrations/add_jours_perturbation.sql @@ -0,0 +1,9 @@ +-- Migration : ajout de la colonne jours_perturbation à la table perturbations +-- Permet de stocker plusieurs jours uniques ou périodes pour une perturbation + +ALTER TABLE perturbations + ADD COLUMN IF NOT EXISTS jours_perturbation JSONB DEFAULT NULL; + +COMMENT ON COLUMN perturbations.jours_perturbation IS + 'Liste des jours/périodes de perturbation. Format : [{type: "jour"|"periode", date: "YYYY-MM-DD", dateDebut: "YYYY-MM-DD", dateFin: "YYYY-MM-DD"}]'; + diff --git a/migrations/add_permissions_to_utilisateurs.sql b/migrations/add_permissions_to_utilisateurs.sql new file mode 100644 index 0000000..c036baf --- /dev/null +++ b/migrations/add_permissions_to_utilisateurs.sql @@ -0,0 +1,9 @@ +-- Ajoute un champ JSONB pour stocker les permissions par fonctionnalite. +ALTER TABLE IF EXISTS public.utilisateurs +ADD COLUMN IF NOT EXISTS permissions jsonb NOT NULL DEFAULT '{}'::jsonb; + +-- Securise les lignes existantes si la colonne etait nullable. +UPDATE public.utilisateurs +SET permissions = '{}'::jsonb +WHERE permissions IS NULL; + diff --git a/migrations/add_perturbations_arrets_column.sql b/migrations/add_perturbations_arrets_column.sql new file mode 100644 index 0000000..f0f316d --- /dev/null +++ b/migrations/add_perturbations_arrets_column.sql @@ -0,0 +1,35 @@ +-- ============================================================================ +-- MIGRATION : Ajout de la colonne perturbations_arrets (JSONB) dans perturbations +-- Date : 2026-03-01 +-- Description : Stocke l'état complet des perturbations par arrêt tel que +-- configuré dans le formulaire de création / modification. +-- Ceci permet au formulaire d'édition de restaurer exactement +-- le même état que le formulaire de création. +-- +-- ⚠️ À EXÉCUTER dans l'éditeur SQL Supabase : +-- https://supabase.com/dashboard → votre projet → SQL Editor +-- ============================================================================ + +ALTER TABLE public.perturbations + ADD COLUMN IF NOT EXISTS perturbations_arrets JSONB DEFAULT NULL; + +COMMENT ON COLUMN public.perturbations.perturbations_arrets IS + 'Snapshot complet des perturbations par arrêt (état du formulaire). ' + 'Format : [{ + "index": 0, + "gare_nom": "Paris Gare de Lyon", + "heure_arrivee": null, + "heure_depart": "07:30", + "type_perturbation": "retard", + "retard_minutes": 15, + "retard_cumule": 0, + "arret_prolonge_minutes": 0, + "cause_arret": "Incident technique", + "is_nouveau_terminus": false, + "is_nouvelle_origine": false, + "isFirst": true, + "isLast": false, + "manual_retard": true, + "manual_arret_prolonge": false + }, ...]'; + diff --git a/migrations/add_perturbations_system.sql b/migrations/add_perturbations_system.sql new file mode 100644 index 0000000..6e65d5b --- /dev/null +++ b/migrations/add_perturbations_system.sql @@ -0,0 +1,109 @@ +-- ============================================================================ +-- MIGRATION: Ajout du système de gestion des perturbations +-- Date: 2026-02-06 +-- Description: Ajoute les tables nécessaires pour gérer les perturbations +-- affectant les horaires de trains +-- ============================================================================ + +-- Vérifier que les tables n'existent pas déjà +DO $$ +BEGIN + IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'perturbations') THEN + RAISE NOTICE 'La table perturbations existe déjà, migration annulée'; + RETURN; + END IF; +END $$; + +-- Exécuter le script principal +supabase_perturbations_tables.sql + +-- Vérification post-migration +DO $$ +DECLARE + perturbations_count INTEGER; + modifications_count INTEGER; +BEGIN + -- Vérifier que les tables ont été créées + SELECT COUNT(*) INTO perturbations_count + FROM information_schema.tables + WHERE table_name = 'perturbations'; + + SELECT COUNT(*) INTO modifications_count + FROM information_schema.tables + WHERE table_name = 'perturbations_modifications_parcours'; + + IF perturbations_count = 1 AND modifications_count = 1 THEN + RAISE NOTICE '✓ Migration réussie : Tables créées avec succès'; + ELSE + RAISE EXCEPTION '✗ Échec de la migration : Les tables n''ont pas été créées correctement'; + END IF; + + -- Afficher les colonnes créées + RAISE NOTICE 'Colonnes de la table perturbations:'; + FOR rec IN ( + SELECT column_name, data_type + FROM information_schema.columns + WHERE table_name = 'perturbations' + ORDER BY ordinal_position + ) LOOP + RAISE NOTICE ' - % (%)', rec.column_name, rec.data_type; + END LOOP; + +END $$; + +-- Test d'insertion (rollback automatique) +DO $$ +DECLARE + test_horaire_id UUID; + test_perturbation_id UUID; +BEGIN + -- Récupérer un horaire existant pour le test + SELECT id INTO test_horaire_id FROM horaires LIMIT 1; + + IF test_horaire_id IS NULL THEN + RAISE NOTICE 'Aucun horaire disponible pour le test'; + RETURN; + END IF; + + -- Test d'insertion d'une perturbation + INSERT INTO perturbations ( + horaire_id, + type_perturbation, + duree_retard_minutes, + cause, + cause_details, + actif + ) VALUES ( + test_horaire_id, + 'retard', + 15, + 'incident_technique', + 'Test de migration', + false + ) RETURNING id INTO test_perturbation_id; + + IF test_perturbation_id IS NOT NULL THEN + RAISE NOTICE '✓ Test d''insertion réussi'; + -- Supprimer le test + DELETE FROM perturbations WHERE id = test_perturbation_id; + ELSE + RAISE EXCEPTION '✗ Échec du test d''insertion'; + END IF; + +EXCEPTION + WHEN OTHERS THEN + RAISE NOTICE '✗ Erreur lors du test : %', SQLERRM; +END $$; + +-- Afficher un résumé +SELECT + 'Migration terminée' as statut, + NOW() as date_migration, + (SELECT COUNT(*) FROM perturbations) as nombre_perturbations, + (SELECT COUNT(*) FROM perturbations_modifications_parcours) as nombre_modifications; + +-- ============================================================================ +-- ROLLBACK (à utiliser en cas de problème) +-- ============================================================================ +-- DROP TABLE IF EXISTS perturbations_modifications_parcours CASCADE; +-- DROP TABLE IF EXISTS perturbations CASCADE; diff --git a/migrations/add_quai_gares_desservies.sql b/migrations/add_quai_gares_desservies.sql new file mode 100644 index 0000000..9b3c6eb --- /dev/null +++ b/migrations/add_quai_gares_desservies.sql @@ -0,0 +1,18 @@ +-- ============================================================================ +-- Migration : Ajout du champ "quai" dans horaires_gares_desservies +-- Date : 2026-03-02 +-- ============================================================================ + +-- 1. Ajouter la colonne quai à la table horaires_gares_desservies +ALTER TABLE horaires_gares_desservies + ADD COLUMN IF NOT EXISTS quai VARCHAR(50) DEFAULT NULL; + +COMMENT ON COLUMN horaires_gares_desservies.quai IS 'Numéro ou nom du quai attribué à cet arrêt (ex: "Voie 3", "Quai A")'; + +-- 2. Mettre à jour l'index pour accélérer les recherches par gare_id +CREATE INDEX IF NOT EXISTS idx_hgd_gare_id ON horaires_gares_desservies(gare_id); +CREATE INDEX IF NOT EXISTS idx_hgd_horaire_id ON horaires_gares_desservies(horaire_id); + +-- Note : Le snapshot JSONB horaires.gares_desservies sera mis à jour +-- automatiquement via l'application lors de la sauvegarde des quais. + diff --git a/migrations/add_quais_hall_column.sql b/migrations/add_quais_hall_column.sql new file mode 100644 index 0000000..d2eb4f4 --- /dev/null +++ b/migrations/add_quais_hall_column.sql @@ -0,0 +1,20 @@ +-- ============================================================================ +-- MIGRATION : Ajout de la colonne quais_hall (JSONB) dans la table gares +-- Date : 2026-06-10 +-- Description : Stocke l'association entre les halls et les quais au format JSON. +-- Structure : +-- { +-- "hall": { +-- "Nom du hall": ["Voie A", "Voie B"] +-- } +-- } +-- +-- ⚠️ À EXÉCUTER dans l'éditeur SQL Supabase : +-- https://supabase.com/dashboard → votre projet → SQL Editor +-- ============================================================================ + +ALTER TABLE public.gares + ADD COLUMN IF NOT EXISTS quais_hall JSONB DEFAULT '{"hall": {}}'::jsonb; + +COMMENT ON COLUMN public.gares.quais_hall IS + 'Association des quais aux halls sous forme JSON : {"hall": {"Nom du Hall": ["Quai 1", "Quai 2"]}}'; diff --git a/migrations/add_region_id_to_menus_regionaux.sql b/migrations/add_region_id_to_menus_regionaux.sql new file mode 100644 index 0000000..4cc24fa --- /dev/null +++ b/migrations/add_region_id_to_menus_regionaux.sql @@ -0,0 +1,4 @@ +-- Ajout du champ region_id (slug) à la table menus_regionaux +ALTER TABLE menus_regionaux ADD COLUMN IF NOT EXISTS region_id VARCHAR(64); +-- Index pour accélérer la recherche par région +CREATE INDEX IF NOT EXISTS idx_menus_regionaux_region_id ON menus_regionaux(region_id); diff --git a/migrations/add_region_to_lignes_and_parametres.sql b/migrations/add_region_to_lignes_and_parametres.sql new file mode 100644 index 0000000..28ccc0f --- /dev/null +++ b/migrations/add_region_to_lignes_and_parametres.sql @@ -0,0 +1,32 @@ +-- Migration: Ajouter la colonne "region" à la table lignes +-- et créer la table "parametres" pour les paramètres du site + +-- 1. Ajout de la colonne region à la table lignes +ALTER TABLE lignes ADD COLUMN IF NOT EXISTS region VARCHAR(100); + +-- 2. Création de la table parametres +CREATE TABLE IF NOT EXISTS parametres ( + id UUID DEFAULT gen_random_uuid() PRIMARY KEY, + cle VARCHAR(100) NOT NULL UNIQUE, + valeur JSONB, + created_at TIMESTAMPTZ DEFAULT now(), + updated_at TIMESTAMPTZ DEFAULT now() +); + +-- Insérer les paramètres par défaut +INSERT INTO parametres (cle, valeur) VALUES + ('general', '{"nom_site": "", "description_site": "", "region": "", "logo_header_url": ""}'), + ('tarifs', '{"billets": [], "abonnements": [], "remises": []}') +ON CONFLICT (cle) DO NOTHING; + +-- 3. Ajout de la colonne quai_defaut à horaires_gares_desservies (pour attribution des quais) +ALTER TABLE horaires_gares_desservies ADD COLUMN IF NOT EXISTS quai_id UUID REFERENCES gare_quais(id); + +-- 4. Politique RLS pour parametres (accès complet pour les utilisateurs authentifiés) +ALTER TABLE parametres ENABLE ROW LEVEL SECURITY; + +CREATE POLICY "parametres_select_all" ON parametres FOR SELECT USING (true); +CREATE POLICY "parametres_insert_all" ON parametres FOR INSERT WITH CHECK (true); +CREATE POLICY "parametres_update_all" ON parametres FOR UPDATE USING (true); +CREATE POLICY "parametres_delete_all" ON parametres FOR DELETE USING (true); + diff --git a/migrations/add_tarif_details_json.sql b/migrations/add_tarif_details_json.sql new file mode 100644 index 0000000..875aca7 --- /dev/null +++ b/migrations/add_tarif_details_json.sql @@ -0,0 +1,3 @@ +ALTER TABLE tarifs +ADD COLUMN IF NOT EXISTS details JSONB; + diff --git a/migrations/create_menus_regionaux.sql b/migrations/create_menus_regionaux.sql new file mode 100644 index 0000000..11944e2 --- /dev/null +++ b/migrations/create_menus_regionaux.sql @@ -0,0 +1,18 @@ +-- Migration : table menus_regionaux +CREATE TABLE IF NOT EXISTS menus_regionaux ( + id UUID DEFAULT gen_random_uuid() PRIMARY KEY, + nom VARCHAR(200) NOT NULL, + description TEXT, + actif BOOLEAN DEFAULT false, + structure JSONB DEFAULT '[]'::jsonb, + created_at TIMESTAMPTZ DEFAULT now(), + updated_at TIMESTAMPTZ DEFAULT now() +); + +-- RLS +ALTER TABLE menus_regionaux ENABLE ROW LEVEL SECURITY; +CREATE POLICY "menus_select" ON menus_regionaux FOR SELECT USING (true); +CREATE POLICY "menus_insert" ON menus_regionaux FOR INSERT WITH CHECK (true); +CREATE POLICY "menus_update" ON menus_regionaux FOR UPDATE USING (true); +CREATE POLICY "menus_delete" ON menus_regionaux FOR DELETE USING (true); + diff --git a/migrations/create_messagerie_tables.sql b/migrations/create_messagerie_tables.sql new file mode 100644 index 0000000..fcbedc4 --- /dev/null +++ b/migrations/create_messagerie_tables.sql @@ -0,0 +1,90 @@ +-- Tables de messagerie interne (V1) + +CREATE TABLE IF NOT EXISTS public.messagerie_threads ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() +); + +CREATE TABLE IF NOT EXISTS public.messagerie_participants ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + thread_id UUID NOT NULL REFERENCES public.messagerie_threads(id) ON DELETE CASCADE, + user_id UUID NOT NULL REFERENCES public.utilisateurs(id) ON DELETE CASCADE, + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + UNIQUE(thread_id, user_id) +); + +CREATE TABLE IF NOT EXISTS public.messagerie_messages ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + thread_id UUID NOT NULL REFERENCES public.messagerie_threads(id) ON DELETE CASCADE, + sender_id UUID NOT NULL REFERENCES public.utilisateurs(id) ON DELETE CASCADE, + contenu TEXT NOT NULL, + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() +); + +CREATE INDEX IF NOT EXISTS idx_messagerie_participants_user_id ON public.messagerie_participants(user_id); +CREATE INDEX IF NOT EXISTS idx_messagerie_messages_thread_id ON public.messagerie_messages(thread_id); +CREATE INDEX IF NOT EXISTS idx_messagerie_messages_created_at ON public.messagerie_messages(created_at DESC); + +-- RLS simple: participant du thread uniquement +ALTER TABLE public.messagerie_threads ENABLE ROW LEVEL SECURITY; +ALTER TABLE public.messagerie_participants ENABLE ROW LEVEL SECURITY; +ALTER TABLE public.messagerie_messages ENABLE ROW LEVEL SECURITY; + +DROP POLICY IF EXISTS messagerie_threads_select ON public.messagerie_threads; +CREATE POLICY messagerie_threads_select ON public.messagerie_threads +FOR SELECT TO anon +USING ( + EXISTS ( + SELECT 1 FROM public.messagerie_participants p + WHERE p.thread_id = messagerie_threads.id + ) +); + +DROP POLICY IF EXISTS messagerie_threads_insert ON public.messagerie_threads; +CREATE POLICY messagerie_threads_insert ON public.messagerie_threads +FOR INSERT TO anon +WITH CHECK (true); + +DROP POLICY IF EXISTS messagerie_threads_update ON public.messagerie_threads; +CREATE POLICY messagerie_threads_update ON public.messagerie_threads +FOR UPDATE TO anon +USING ( + EXISTS ( + SELECT 1 FROM public.messagerie_participants p + WHERE p.thread_id = messagerie_threads.id + ) +) +WITH CHECK (true); + +DROP POLICY IF EXISTS messagerie_participants_select ON public.messagerie_participants; +CREATE POLICY messagerie_participants_select ON public.messagerie_participants +FOR SELECT TO anon +USING (true); + +DROP POLICY IF EXISTS messagerie_participants_insert ON public.messagerie_participants; +CREATE POLICY messagerie_participants_insert ON public.messagerie_participants +FOR INSERT TO anon +WITH CHECK (true); + +DROP POLICY IF EXISTS messagerie_messages_select ON public.messagerie_messages; +CREATE POLICY messagerie_messages_select ON public.messagerie_messages +FOR SELECT TO anon +USING ( + EXISTS ( + SELECT 1 FROM public.messagerie_participants p + WHERE p.thread_id = messagerie_messages.thread_id + ) +); + +DROP POLICY IF EXISTS messagerie_messages_insert ON public.messagerie_messages; +CREATE POLICY messagerie_messages_insert ON public.messagerie_messages +FOR INSERT TO anon +WITH CHECK ( + EXISTS ( + SELECT 1 FROM public.messagerie_participants p + WHERE p.thread_id = messagerie_messages.thread_id + AND p.user_id = messagerie_messages.sender_id + ) +); + diff --git a/migrations/create_storage_bucket_materiel_roulant.sql b/migrations/create_storage_bucket_materiel_roulant.sql new file mode 100644 index 0000000..dc87b03 --- /dev/null +++ b/migrations/create_storage_bucket_materiel_roulant.sql @@ -0,0 +1,55 @@ +-- ============================================================================ +-- MIGRATION : Création du bucket Storage "materiel-roulant" +-- Date : 2026-03-01 +-- Description : Crée le bucket public "materiel-roulant" dans Supabase Storage +-- et configure les policies RLS. +-- +-- ⚠️ IMPORTANT — Authentification custom : +-- Cette application utilise une auth custom (RPC authenticate_user + localStorage) +-- et NON supabase.auth.signInWithPassword(). Par conséquent auth.uid() est +-- toujours NULL côté Supabase. Les policies utilisent donc le rôle "anon" +-- (clé publique anonyme) pour autoriser les opérations Storage depuis le front. +-- +-- ⚠️ À EXÉCUTER UNE SEULE FOIS dans l'éditeur SQL de votre projet Supabase +-- (https://supabase.com/dashboard → votre projet → SQL Editor) +-- ============================================================================ + +-- 1. Créer le bucket s'il n'existe pas encore +INSERT INTO storage.buckets (id, name, public, file_size_limit, allowed_mime_types) +VALUES ( + 'materiel-roulant', + 'materiel-roulant', + true, + 10485760, + ARRAY['image/jpeg','image/png','image/webp','image/gif','image/svg+xml'] +) +ON CONFLICT (id) DO NOTHING; + +-- ============================================================================ +-- 2. Policies RLS sur storage.objects +-- ============================================================================ + +-- Lecture publique +DROP POLICY IF EXISTS "materiel-roulant - lecture publique" ON storage.objects; +CREATE POLICY "materiel-roulant - lecture publique" +ON storage.objects FOR SELECT +USING (bucket_id = 'materiel-roulant'); + +-- Upload (anon car auth custom — auth.uid() toujours NULL) +DROP POLICY IF EXISTS "materiel-roulant - upload authentifié" ON storage.objects; +CREATE POLICY "materiel-roulant - upload authentifié" +ON storage.objects FOR INSERT +WITH CHECK (bucket_id = 'materiel-roulant'); + +-- Mise à jour +DROP POLICY IF EXISTS "materiel-roulant - update authentifié" ON storage.objects; +CREATE POLICY "materiel-roulant - update authentifié" +ON storage.objects FOR UPDATE +USING (bucket_id = 'materiel-roulant'); + +-- Suppression +DROP POLICY IF EXISTS "materiel-roulant - delete authentifié" ON storage.objects; +CREATE POLICY "materiel-roulant - delete authentifié" +ON storage.objects FOR DELETE +USING (bucket_id = 'materiel-roulant'); + diff --git a/migrations/create_tarifs_table.sql b/migrations/create_tarifs_table.sql new file mode 100644 index 0000000..330bec0 --- /dev/null +++ b/migrations/create_tarifs_table.sql @@ -0,0 +1,19 @@ +-- Création de la table "tarifs" pour gérer les offres de billets, abonnements, remises par région +CREATE TABLE IF NOT EXISTS tarifs ( + id SERIAL PRIMARY KEY, + nom VARCHAR(255) NOT NULL, + type VARCHAR(50) NOT NULL, -- billet, abonnement, remise + description TEXT, + prix_minimum NUMERIC(10,2), + prix_par_km NUMERIC(10,3), + age_maximum INTEGER, + regions TEXT[] NOT NULL, -- tableau d'identifiants de régions + date_debut DATE, + date_fin DATE, + created_at TIMESTAMP DEFAULT NOW(), + updated_at TIMESTAMP DEFAULT NOW() +); + +-- Index pour recherche rapide par région +CREATE INDEX IF NOT EXISTS idx_tarifs_regions ON tarifs USING GIN (regions); + diff --git a/migrations/create_tarifs_table_v2.sql b/migrations/create_tarifs_table_v2.sql new file mode 100644 index 0000000..fa67c49 --- /dev/null +++ b/migrations/create_tarifs_table_v2.sql @@ -0,0 +1,16 @@ +-- v2: add trigger to keep updated_at in sync +CREATE OR REPLACE FUNCTION touch_updated_at() +RETURNS TRIGGER AS $$ +BEGIN + NEW.updated_at = NOW(); + RETURN NEW; +END; +$$ LANGUAGE plpgsql; + +DROP TRIGGER IF EXISTS trg_touch_tarifs_updated_at ON tarifs; +CREATE TRIGGER trg_touch_tarifs_updated_at +BEFORE UPDATE ON tarifs +FOR EACH ROW +EXECUTE PROCEDURE touch_updated_at(); + + diff --git a/migrations/create_travaux_tables.sql b/migrations/create_travaux_tables.sql new file mode 100644 index 0000000..bdfd087 --- /dev/null +++ b/migrations/create_travaux_tables.sql @@ -0,0 +1,83 @@ +-- ============================================================================ +-- CRÉATION DES TABLES POUR LA GESTION DES TRAVAUX +-- ============================================================================ + +-- Table principale des travaux +CREATE TABLE IF NOT EXISTS travaux ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + titre TEXT NOT NULL, + description TEXT, + date_debut DATE NOT NULL, + date_fin DATE NOT NULL, + jours_travaux TEXT[] NOT NULL, -- ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'] + heure_debut TIME NOT NULL, + heure_fin TIME NOT NULL, + actif BOOLEAN DEFAULT true, + created_at TIMESTAMP WITH TIME ZONE DEFAULT now(), + updated_at TIMESTAMP WITH TIME ZONE DEFAULT now(), + deleted_at TIMESTAMP WITH TIME ZONE, + + CONSTRAINT valid_dates CHECK (date_fin >= date_debut), + CONSTRAINT valid_hours CHECK (heure_fin > heure_debut) +); + +-- Table de liaison entre travaux et sillons de substitution +CREATE TABLE IF NOT EXISTS travaux_substitutions ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + travaux_id UUID NOT NULL REFERENCES travaux(id) ON DELETE CASCADE, + horaire_id UUID NOT NULL REFERENCES horaires(id) ON DELETE CASCADE, + ordre INTEGER DEFAULT 0, -- Ordre d'affichage des substitutions + created_at TIMESTAMP WITH TIME ZONE DEFAULT now(), + + UNIQUE(travaux_id, horaire_id) +); + +-- Index pour améliorer les performances +CREATE INDEX IF NOT EXISTS idx_travaux_dates ON travaux(date_debut, date_fin); +CREATE INDEX IF NOT EXISTS idx_travaux_actif ON travaux(actif); +CREATE INDEX IF NOT EXISTS idx_travaux_deleted ON travaux(deleted_at); +CREATE INDEX IF NOT EXISTS idx_travaux_substitutions_travaux ON travaux_substitutions(travaux_id); +CREATE INDEX IF NOT EXISTS idx_travaux_substitutions_horaire ON travaux_substitutions(horaire_id); + +-- Fonction pour mettre à jour updated_at automatiquement +CREATE OR REPLACE FUNCTION update_travaux_updated_at() +RETURNS TRIGGER AS $$ +BEGIN + NEW.updated_at = now(); + RETURN NEW; +END; +$$ LANGUAGE plpgsql; + +-- Trigger pour mettre à jour updated_at +DROP TRIGGER IF EXISTS trigger_update_travaux_updated_at ON travaux; +CREATE TRIGGER trigger_update_travaux_updated_at + BEFORE UPDATE ON travaux + FOR EACH ROW + EXECUTE FUNCTION update_travaux_updated_at(); + +-- Commentaires sur les tables +COMMENT ON TABLE travaux IS 'Table principale pour la gestion des travaux sur les lignes'; +COMMENT ON TABLE travaux_substitutions IS 'Table de liaison entre travaux et horaires de substitution'; + +COMMENT ON COLUMN travaux.jours_travaux IS 'Jours de la semaine où les travaux ont lieu'; +COMMENT ON COLUMN travaux.actif IS 'Indique si les travaux sont actifs'; +COMMENT ON COLUMN travaux.deleted_at IS 'Date de suppression (soft delete)'; +COMMENT ON COLUMN travaux_substitutions.ordre IS 'Ordre d''affichage des substitutions'; + +-- ============================================================================ +-- DONNÉES DE TEST (optionnel) +-- ============================================================================ + +-- Exemple de travaux +INSERT INTO travaux (titre, description, date_debut, date_fin, jours_travaux, heure_debut, heure_fin, actif) +VALUES + ('Travaux ligne Paris-Lyon', 'Rénovation des voies', '2026-03-01', '2026-03-31', ARRAY['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi'], '09:00', '17:00', true), + ('Maintenance gare de Lyon', 'Travaux de maintenance planifiés', '2026-04-15', '2026-04-20', ARRAY['samedi', 'dimanche'], '06:00', '22:00', true) +ON CONFLICT DO NOTHING; + +-- Afficher le résultat +SELECT + 'Tables travaux créées avec succès' as statut, + (SELECT COUNT(*) FROM travaux) as nombre_travaux, + (SELECT COUNT(*) FROM travaux_substitutions) as nombre_substitutions; + diff --git a/migrations/fix_storage_policies_annonces_sonores.sql b/migrations/fix_storage_policies_annonces_sonores.sql new file mode 100644 index 0000000..3fa4bbd --- /dev/null +++ b/migrations/fix_storage_policies_annonces_sonores.sql @@ -0,0 +1,80 @@ +-- ============================================================================ +-- CORRECTIF : Policies RLS du bucket "banque-annonces" et des tables SQL +-- Date : 2026-07-02 +-- +-- Problème : L'application utilise la clé anon et une authentification custom. Les +-- policies de banque_mots et de storage.objects qui exigent un utilisateur +-- authentifié (TO authenticated) bloquent l'INSERT/UPDATE/DELETE et provoquent +-- l'erreur "new row violates row-level security policy". +-- +-- Solution : Recréer des policies pour permettre SELECT, INSERT, UPDATE, DELETE +-- sur le bucket 'banque-annonces' et sur les tables de la base de données. +-- +-- ⚠️ À EXÉCUTER dans l'éditeur SQL Supabase : +-- https://app.supabase.com → votre projet → SQL Editor +-- ============================================================================ + +-- 1. Réglage des politiques RLS pour les tables de base de données +-- ============================================================================ + +-- Table: banque_mots +DROP POLICY IF EXISTS "Authenticated users can read banque_mots" ON public.banque_mots; +DROP POLICY IF EXISTS "Authenticated users can insert banque_mots" ON public.banque_mots; +DROP POLICY IF EXISTS "Authenticated users can update banque_mots" ON public.banque_mots; + +CREATE POLICY "Public read banque_mots" ON public.banque_mots FOR SELECT USING (deleted_at IS NULL); +CREATE POLICY "Public insert banque_mots" ON public.banque_mots FOR INSERT WITH CHECK (true); +CREATE POLICY "Public update banque_mots" ON public.banque_mots FOR UPDATE USING (true); +CREATE POLICY "Public delete banque_mots" ON public.banque_mots FOR DELETE USING (true); + +-- Table: annonces_templates +DROP POLICY IF EXISTS "Authenticated users can read templates" ON public.annonces_templates; +DROP POLICY IF EXISTS "Authenticated users can insert templates" ON public.annonces_templates; +DROP POLICY IF EXISTS "Authenticated users can update templates" ON public.annonces_templates; + +CREATE POLICY "Public read templates" ON public.annonces_templates FOR SELECT USING (deleted_at IS NULL); +CREATE POLICY "Public insert templates" ON public.annonces_templates FOR INSERT WITH CHECK (true); +CREATE POLICY "Public update templates" ON public.annonces_templates FOR UPDATE USING (true); +CREATE POLICY "Public delete templates" ON public.annonces_templates FOR DELETE USING (true); + +-- Table: annonces_enregistrees +DROP POLICY IF EXISTS "Authenticated users can read annonces" ON public.annonces_enregistrees; +DROP POLICY IF EXISTS "Authenticated users can insert annonces" ON public.annonces_enregistrees; +DROP POLICY IF EXISTS "Authenticated users can update annonces" ON public.annonces_enregistrees; + +CREATE POLICY "Public read annonces" ON public.annonces_enregistrees FOR SELECT USING (deleted_at IS NULL); +CREATE POLICY "Public insert annonces" ON public.annonces_enregistrees FOR INSERT WITH CHECK (true); +CREATE POLICY "Public update annonces" ON public.annonces_enregistrees FOR UPDATE USING (true); +CREATE POLICY "Public delete annonces" ON public.annonces_enregistrees FOR DELETE USING (true); + + +-- 2. Réglage des politiques RLS du Bucket Storage "banque-annonces" +-- ============================================================================ + +-- Supprimer les anciennes politiques storage si elles existent +DROP POLICY IF EXISTS "Public read access on banque-annonces" ON storage.objects; +DROP POLICY IF EXISTS "Authenticated users can upload to banque-annonces" ON storage.objects; +DROP POLICY IF EXISTS "Authenticated users can delete from banque-annonces" ON storage.objects; +DROP POLICY IF EXISTS "Public upload access on banque-annonces" ON storage.objects; +DROP POLICY IF EXISTS "Public update access on banque-annonces" ON storage.objects; +DROP POLICY IF EXISTS "Public delete access on banque-annonces" ON storage.objects; + +-- Lecture publique pour tous +CREATE POLICY "Public read access on banque-annonces" +ON storage.objects FOR SELECT +USING (bucket_id = 'banque-annonces'); + +-- Insertion publique (Upload) +CREATE POLICY "Public upload access on banque-annonces" +ON storage.objects FOR INSERT +WITH CHECK (bucket_id = 'banque-annonces'); + +-- Mise à jour publique (Upsert) +CREATE POLICY "Public update access on banque-annonces" +ON storage.objects FOR UPDATE +USING (bucket_id = 'banque-annonces'); + +-- Suppression publique (Delete) +CREATE POLICY "Public delete access on banque-annonces" +ON storage.objects FOR DELETE +USING (bucket_id = 'banque-annonces'); diff --git a/migrations/fix_storage_policies_fiches_horaires.sql b/migrations/fix_storage_policies_fiches_horaires.sql new file mode 100644 index 0000000..e59f489 --- /dev/null +++ b/migrations/fix_storage_policies_fiches_horaires.sql @@ -0,0 +1,43 @@ +-- ============================================================================ +-- CORRECTIF : Policies RLS du bucket "fiches-horaires" +-- Date : 2026-03-01 +-- +-- Problème : L'application utilise la clé anon et une authentification custom. Les +-- policies de storage.objects qui exigent auth.uid() bloquent l'INSERT +-- et provoquent l'erreur "new row violates row-level security policy". +-- +-- Solution : Recréer des policies pour permettre l'INSERT/UPDATE/DELETE/SELECT +-- sur le bucket 'fiches-horaires' en se basant sur bucket_id seulement. +-- +-- ⚠️ À EXÉCUTER dans l'éditeur SQL Supabase : +-- https://app.supabase.com → votre projet → SQL Editor +-- ============================================================================ + +-- Supprimer d'abord les policies existantes (si elles existent) +DROP POLICY IF EXISTS "fiches-horaires - lecture publique" ON storage.objects; +DROP POLICY IF EXISTS "fiches-horaires - upload" ON storage.objects; +DROP POLICY IF EXISTS "fiches-horaires - update" ON storage.objects; +DROP POLICY IF EXISTS "fiches-horaires - delete" ON storage.objects; + +-- Créer des policies permissives basées sur le bucket_id +CREATE POLICY "fiches-horaires - lecture publique" +ON storage.objects FOR SELECT +USING (bucket_id = 'fiches-horaires'); + +CREATE POLICY "fiches-horaires - upload" +ON storage.objects FOR INSERT +WITH CHECK (bucket_id = 'fiches-horaires'); + +CREATE POLICY "fiches-horaires - update" +ON storage.objects FOR UPDATE +USING (bucket_id = 'fiches-horaires'); + +CREATE POLICY "fiches-horaires - delete" +ON storage.objects FOR DELETE +USING (bucket_id = 'fiches-horaires'); + +-- Note : Si vous souhaitez restreindre les uploads aux utilisateurs authentifiés, +-- remplacez la clause WITH CHECK (bucket_id = 'fiches-horaires') par +-- WITH CHECK (bucket_id = 'fiches-horaires' AND auth.uid() IS NOT NULL) +-- et assurez-vous que vos utilisateurs sont bien authentifiés côté front. + diff --git a/migrations/fix_storage_policies_materiel_roulant.sql b/migrations/fix_storage_policies_materiel_roulant.sql new file mode 100644 index 0000000..b35a43c --- /dev/null +++ b/migrations/fix_storage_policies_materiel_roulant.sql @@ -0,0 +1,41 @@ +-- ============================================================================ +-- CORRECTIF : Policies RLS du bucket "materiel-roulant" +-- Date : 2026-03-01 +-- +-- Problème : L'application utilise une authentification custom (RPC authenticate_user +-- + localStorage). supabase.auth.signIn() n'est jamais appelé, donc +-- auth.uid() est toujours NULL → la policy WITH CHECK auth.uid() IS NOT NULL +-- bloque tous les uploads. +-- +-- Solution : Policies ouvertes sur le bucket (accès par clé anon publique). +-- Le bucket est déjà créé — ce script corrige uniquement les policies. +-- +-- ⚠️ À EXÉCUTER dans l'éditeur SQL Supabase : +-- https://supabase.com/dashboard → votre projet → SQL Editor +-- ============================================================================ + +-- Supprimer toutes les policies existantes du bucket +DROP POLICY IF EXISTS "materiel-roulant - lecture publique" ON storage.objects; +DROP POLICY IF EXISTS "materiel-roulant - upload authentifié" ON storage.objects; +DROP POLICY IF EXISTS "materiel-roulant - update authentifié" ON storage.objects; +DROP POLICY IF EXISTS "materiel-roulant - delete authentifié" ON storage.objects; + +-- Recréer les policies sans condition auth.uid() +-- (l'app utilise la clé anon, auth.uid() est toujours NULL) + +CREATE POLICY "materiel-roulant - lecture publique" +ON storage.objects FOR SELECT +USING (bucket_id = 'materiel-roulant'); + +CREATE POLICY "materiel-roulant - upload authentifié" +ON storage.objects FOR INSERT +WITH CHECK (bucket_id = 'materiel-roulant'); + +CREATE POLICY "materiel-roulant - update authentifié" +ON storage.objects FOR UPDATE +USING (bucket_id = 'materiel-roulant'); + +CREATE POLICY "materiel-roulant - delete authentifié" +ON storage.objects FOR DELETE +USING (bucket_id = 'materiel-roulant'); + diff --git a/migrations/fix_utilisateurs_crud_permissions_and_schema.sql b/migrations/fix_utilisateurs_crud_permissions_and_schema.sql new file mode 100644 index 0000000..e69de29 diff --git a/migrations/repair_horaires_fk.sql b/migrations/repair_horaires_fk.sql new file mode 100644 index 0000000..113a922 --- /dev/null +++ b/migrations/repair_horaires_fk.sql @@ -0,0 +1,62 @@ +-- Migration: repair foreign key between horaires_gares_desservies.horaire_id and horaires.id +-- This script will: +-- 1) check the column types of horaires.id and horaires_gares_desservies.horaire_id +-- 2) if types match and FK doesn't exist, create the FK constraint +-- 3) otherwise, print a NOTICE explaining the mismatch for manual resolution + +DO $$ +DECLARE + t_horaire TEXT; + t_horaire_fk TEXT; + cnt INT; +BEGIN + -- ensure target tables exist + IF NOT EXISTS (SELECT 1 FROM pg_class WHERE relname = 'horaires' AND relkind = 'r') THEN + RAISE NOTICE 'Table public.horaires does not exist in this database/schema.'; + RETURN; + END IF; + IF NOT EXISTS (SELECT 1 FROM pg_class WHERE relname = 'horaires_gares_desservies' AND relkind = 'r') THEN + RAISE NOTICE 'Table public.horaires_gares_desservies does not exist in this database/schema.'; + RETURN; + END IF; + + -- get formatted types + SELECT pg_catalog.format_type(a.atttypid, a.atttypmod) + INTO t_horaire + FROM pg_attribute a + WHERE a.attrelid = 'public.horaires'::regclass AND a.attname = 'id'; + + SELECT pg_catalog.format_type(a.atttypid, a.atttypmod) + INTO t_horaire_fk + FROM pg_attribute a + WHERE a.attrelid = 'public.horaires_gares_desservies'::regclass AND a.attname = 'horaire_id'; + + RAISE NOTICE 'Detected types -> horaires.id: %, horaires_gares_desservies.horaire_id: %', t_horaire, t_horaire_fk; + + -- check existing FK from horaires_gares_desservies to horaires + SELECT count(*) INTO cnt + FROM pg_constraint c + WHERE c.conrelid = 'public.horaires_gares_desservies'::regclass + AND c.confrelid = 'public.horaires'::regclass + AND c.contype = 'f'; + + IF cnt > 0 THEN + RAISE NOTICE 'A foreign-key constraint from horaires_gares_desservies to horaires already exists (count=%). No action taken.', cnt; + RETURN; + END IF; + + -- If types match, create the FK + IF t_horaire IS NOT NULL AND t_horaire_fk IS NOT NULL AND t_horaire = t_horaire_fk THEN + EXECUTE 'ALTER TABLE public.horaires_gares_desservies + ADD CONSTRAINT fk_horaires_gares_horaire_id + FOREIGN KEY (horaire_id) + REFERENCES public.horaires(id) + ON DELETE CASCADE'; + RAISE NOTICE 'Foreign key constraint fk_horaires_gares_horaire_id created successfully.'; + ELSE + RAISE NOTICE 'Column types do not match or could not be determined. Manual intervention required.'; + RAISE NOTICE 'Detected types -> horaires.id: %, horaires_gares_desservies.horaire_id: %', t_horaire, t_horaire_fk; + RAISE NOTICE 'If both should be UUID, consider converting [or recreating] the columns and then re-run this script.'; + RAISE NOTICE 'If both should be BIGINT, consider altering types to bigint. Do not run automatic conversion without backup.'; + END IF; +END $$; diff --git a/migrations/test_data_perturbations.sql b/migrations/test_data_perturbations.sql new file mode 100644 index 0000000..94cddac --- /dev/null +++ b/migrations/test_data_perturbations.sql @@ -0,0 +1,204 @@ +-- ============================================================================ +-- DONNÉES DE TEST: Perturbations +-- Description: Jeux de données pour tester le système de perturbations +-- ============================================================================ + +-- Note: Ces données sont à insérer APRÈS avoir des horaires existants dans la base + +-- Exemple 1: Retard sur un train +-- Remplacer 'HORAIRE_ID_1' par un véritable ID d'horaire existant +INSERT INTO perturbations ( + horaire_id, + type_perturbation, + duree_retard_minutes, + cause, + cause_details, + date_debut, + date_fin, + actif, + notes +) VALUES ( + (SELECT id FROM horaires LIMIT 1), -- Premier horaire de la base + 'retard', + 25, + 'incident_technique', + 'Panne de signalisation à Paris-Montparnasse', + NOW(), + NOW() + INTERVAL '2 hours', + true, + 'Retard estimé de 25 minutes sur l''ensemble du parcours' +); + +-- Exemple 2: Suppression de train avec substitution +INSERT INTO perturbations ( + horaire_id, + type_perturbation, + duree_retard_minutes, + cause, + cause_details, + sillon_substitution_id, + date_debut, + date_fin, + actif, + notes +) VALUES ( + (SELECT id FROM horaires LIMIT 1 OFFSET 1), -- Deuxième horaire + 'suppression', + NULL, + 'mouvement_social', + 'Grève nationale du personnel roulant', + (SELECT id FROM horaires LIMIT 1 OFFSET 2), -- Train de substitution + NOW(), + NOW() + INTERVAL '1 day', + true, + 'Train supprimé - Report sur le train suivant disponible' +); + +-- Exemple 3: Modification de parcours +DO $$ +DECLARE + v_perturbation_id UUID; + v_horaire_id UUID; +BEGIN + -- Récupérer un horaire avec des gares desservies + SELECT h.id INTO v_horaire_id + FROM horaires h + WHERE EXISTS ( + SELECT 1 FROM horaires_gares_desservies hgd + WHERE hgd.horaire_id = h.id + ) + LIMIT 1; + + IF v_horaire_id IS NULL THEN + RAISE NOTICE 'Aucun horaire avec gares desservies trouvé, test ignoré'; + RETURN; + END IF; + + -- Créer la perturbation + INSERT INTO perturbations ( + horaire_id, + type_perturbation, + duree_retard_minutes, + cause, + cause_details, + date_debut, + actif, + notes + ) VALUES ( + v_horaire_id, + 'modification_parcours', + NULL, + 'travaux', + 'Travaux de maintenance sur la voie entre Lyon et Valence', + NOW(), + true, + 'Modification du parcours : certaines gares ne seront pas desservies' + ) RETURNING id INTO v_perturbation_id; + + -- Ajouter des modifications de parcours + -- Supprimer une gare du parcours + INSERT INTO perturbations_modifications_parcours ( + perturbation_id, + type_modification, + gare_id, + gare_nom, + ordre + ) SELECT + v_perturbation_id, + 'gare_supprimee', + gare_id, + gare_nom, + ordre + FROM horaires_gares_desservies + WHERE horaire_id = v_horaire_id + LIMIT 1; + + RAISE NOTICE 'Perturbation de modification de parcours créée avec succès'; +END $$; + +-- Exemple 4: Retard causé par les conditions météorologiques +INSERT INTO perturbations ( + horaire_id, + type_perturbation, + duree_retard_minutes, + cause, + cause_details, + date_debut, + date_fin, + actif, + notes +) VALUES ( + (SELECT id FROM horaires LIMIT 1 OFFSET 3), + 'retard', + 45, + 'conditions_meteorologiques', + 'Fortes chutes de neige en Auvergne-Rhône-Alpes', + NOW(), + NOW() + INTERVAL '4 hours', + true, + 'Circulation ralentie sur l''ensemble des lignes' +); + +-- Exemple 5: Perturbation inactive (historique) +INSERT INTO perturbations ( + horaire_id, + type_perturbation, + duree_retard_minutes, + cause, + cause_details, + date_debut, + date_fin, + actif, + notes +) VALUES ( + (SELECT id FROM horaires LIMIT 1 OFFSET 4), + 'retard', + 10, + 'affluence', + 'Affluence exceptionnelle lors du départ', + NOW() - INTERVAL '1 day', + NOW() - INTERVAL '1 day' + INTERVAL '30 minutes', + false, + 'Perturbation terminée - Retard résorbé' +); + +-- Afficher un résumé des perturbations de test créées +SELECT + 'Données de test créées' as statut, + COUNT(*) as nombre_perturbations_test, + COUNT(*) FILTER (WHERE actif = true) as perturbations_actives, + COUNT(*) FILTER (WHERE actif = false) as perturbations_inactives +FROM perturbations +WHERE notes LIKE '%test%' OR notes LIKE '%Test%'; + +-- Afficher les perturbations créées +SELECT + p.id, + p.type_perturbation, + p.duree_retard_minutes, + p.cause, + p.actif, + h.numero_train, + h.gare_depart_nom, + h.gare_arrivee_nom +FROM perturbations p +JOIN horaires h ON p.horaire_id = h.id +ORDER BY p.created_at DESC +LIMIT 10; + +-- ============================================================================ +-- NETTOYAGE DES DONNÉES DE TEST +-- ============================================================================ +-- Décommenter pour supprimer toutes les données de test +/* +DELETE FROM perturbations_modifications_parcours +WHERE perturbation_id IN ( + SELECT id FROM perturbations + WHERE notes LIKE '%test%' OR notes LIKE '%Test%' +); + +DELETE FROM perturbations +WHERE notes LIKE '%test%' OR notes LIKE '%Test%'; + +SELECT 'Données de test supprimées' as statut; +*/ diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..862be9b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,24029 @@ +{ + "name": "admin-gestion-regions", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "admin-gestion-regions", + "version": "0.1.0", + "dependencies": { + "@sncf/bootstrap-sncf.communication": "^4.3.1-r5", + "@supabase/supabase-js": "^2.112.4", + "@testing-library/dom": "^10.4.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@testing-library/user-event": "^13.5.0", + "bcryptjs": "^3.0.3", + "jspdf": "^2.5.2", + "react": "^19.2.4", + "react-dom": "^19.2.4", + "react-scripts": "5.0.1", + "wcs-core": "^7.5.1", + "wcs-react": "^7.5.1", + "web-vitals": "^2.1.4", + "xlsx": "^0.18.5" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", + "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", + "license": "MIT" + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.6.tgz", + "integrity": "sha512-QGmsKi2PBO/MHSQk+AAgA9R6OHQr+VqnniFE0eMWZcVcfBZoA2dKn2hUsl3Csg/Plt9opRUWdY7//VXsrIlEiA==", + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.0.tgz", + "integrity": "sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", + "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz", + "integrity": "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.11" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", + "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", + "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.29.0.tgz", + "integrity": "sha512-CVBVv3VY/XRMxRYq5dwr2DS7/MvqPm23cOCjbwNnVrfOqcWlnefua1uUs0sjdKOGjvPUG633o07uWzJq4oI6dA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-decorators": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.28.6.tgz", + "integrity": "sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.28.6.tgz", + "integrity": "sha512-D+OrJumc9McXNEBI/JmFnc/0uCM2/Y3PEBG3gfV3QIYkKv5pvnpzFrl1kYCrcHJP8nOeFB/SHi1IHz29pNGuew==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", + "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", + "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", + "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", + "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", + "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", + "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", + "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/template": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", + "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", + "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", + "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz", + "integrity": "sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-flow": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", + "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", + "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", + "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", + "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", + "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", + "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", + "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", + "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", + "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", + "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz", + "integrity": "sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz", + "integrity": "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-jsx": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", + "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", + "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", + "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", + "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz", + "integrity": "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", + "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", + "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.0.tgz", + "integrity": "sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.28.6", + "@babel/plugin-syntax-import-attributes": "^7.28.6", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.29.0", + "@babel/plugin-transform-async-to-generator": "^7.28.6", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.6", + "@babel/plugin-transform-class-properties": "^7.28.6", + "@babel/plugin-transform-class-static-block": "^7.28.6", + "@babel/plugin-transform-classes": "^7.28.6", + "@babel/plugin-transform-computed-properties": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.28.6", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.6", + "@babel/plugin-transform-exponentiation-operator": "^7.28.6", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.28.6", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.28.6", + "@babel/plugin-transform-modules-systemjs": "^7.29.0", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", + "@babel/plugin-transform-numeric-separator": "^7.28.6", + "@babel/plugin-transform-object-rest-spread": "^7.28.6", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.28.6", + "@babel/plugin-transform-optional-chaining": "^7.28.6", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.28.6", + "@babel/plugin-transform-private-property-in-object": "^7.28.6", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.29.0", + "@babel/plugin-transform-regexp-modifiers": "^7.28.6", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.28.6", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.28.6", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.15", + "babel-plugin-polyfill-corejs3": "^0.14.0", + "babel-plugin-polyfill-regenerator": "^0.6.6", + "core-js-compat": "^3.48.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "license": "MIT" + }, + "node_modules/@csstools/normalize.css": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==", + "license": "CC0-1.0" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "license": "CC0-1.0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "license": "BSD-3-Clause" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "license": "MIT", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.17.tgz", + "integrity": "sha512-tXDyE1/jzFsHXjhRZQ3hMl0IVhYe5qula43LDWIhVfjp9G/nT5OQY5AORVOrkEGAUltBJOfOWeETbmhm6kHhuQ==", + "license": "MIT", + "dependencies": { + "ansi-html": "^0.0.9", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^4.2.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <5.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x || 5.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "license": "MIT" + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.15.0.tgz", + "integrity": "sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==", + "license": "MIT" + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication": { + "version": "4.3.1-r5", + "resolved": "https://registry.npmjs.org/@sncf/bootstrap-sncf.communication/-/bootstrap-sncf.communication-4.3.1-r5.tgz", + "integrity": "sha512-G97YV/BGRvIxJp4fZP5BhAY7dT3zGFKmEqw5F+3Cf6Qd+iaLGqsEawYUD/CPK5f+Latagua0jpV34Ta0NzAvHg==", + "license": "MIT", + "dependencies": { + "bootstrap": "4.3.1", + "chart.js": "^2.7.2", + "chartjs-plugin-zoom": "^0.6.3", + "flatpickr": "^4.6.2", + "hugo-bin": "^0.44.1", + "ion-rangeslider": "^2.2.0", + "jquery": "^3.3.1", + "lodash": "^4.17.11", + "null-loader": "^1.0.0", + "popper.js": "^1.14.1", + "swiper": "^4.2.2", + "whatwg-fetch": "^3.0.0", + "yarn": "^1.7.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "license": "MIT", + "peer": true + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "license": "MIT", + "peer": true + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "license": "MIT", + "peer": true + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "license": "MIT", + "peer": true + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "license": "MIT", + "peer": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT", + "peer": true + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "license": "MIT", + "peer": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "peer": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "peer": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "license": "MIT", + "peer": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "license": "MIT", + "peer": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/null-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-1.0.0.tgz", + "integrity": "sha512-mYLDjDVTkjTlFoidxRhzO75rdcwfVXfw5G5zpj8sXnBkHtKJxMk4hTcRR4i5SOhDB6EvcQuYriy6IV23eq6uog==", + "license": "MIT", + "dependencies": { + "loader-utils": "^1.2.3", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.3.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "license": "MIT", + "peer": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "license": "MIT", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/terser-webpack-plugin": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.6.tgz", + "integrity": "sha512-2lBVf/VMVIddjSn3GqbT90GvIJ/eYXJkt8cTzU7NbjKqK8fwv18Ftr4PlbF46b/e88743iZFL5Dtr/rC4hjIeA==", + "license": "MIT", + "peer": true, + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/webpack": { + "version": "4.47.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", + "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/@sncf/bootstrap-sncf.communication/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/@supabase/auth-js": { + "version": "2.112.4", + "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.112.4.tgz", + "integrity": "sha512-z8DesgwLzKM5PiT0yNmJU8VJyh1zAhYi+20Z7drdJQLXg/wWW4yGt/un+He5ERYUo94Vz66t5aeyr1DIDemI5A==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@supabase/functions-js": { + "version": "2.112.4", + "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.112.4.tgz", + "integrity": "sha512-DQ0aVH8wSQAccVqNoEkec62qCu2QRNyoGN53RqsVZ1k6F1zq4/v8scrlR6LNT2RJmT97apiTmORijPVhErCS2g==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@supabase/phoenix": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@supabase/phoenix/-/phoenix-0.4.5.tgz", + "integrity": "sha512-aAn9H9ovVyeApKy11OWOrrOGq8DV68yWeH4ud2lN9fzn4aO8Zb5GLL9m1pUg9nLqIcT+ZDfAcsZe0E/nqdv2lw==", + "license": "MIT" + }, + "node_modules/@supabase/postgrest-js": { + "version": "2.112.4", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-2.112.4.tgz", + "integrity": "sha512-uaubtPSeg2TR4wrtfQoQWgkTAe+a0qWX2KhmwvTfNl5mGN9+U7owiJt6abk3o/V6O899PSRD1yzxs5RlF4xTug==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@supabase/realtime-js": { + "version": "2.112.4", + "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.112.4.tgz", + "integrity": "sha512-vZ+j079SKrM0Xiq7MJCvQKLDpaH2kfKfLY68xuQE1sqsCsMmx1CyrDBJHsxZ3cX01VOs5SI9igmoZAF3BmdZxw==", + "license": "MIT", + "dependencies": { + "@supabase/phoenix": "0.4.5", + "tslib": "2.8.1" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@supabase/storage-js": { + "version": "2.112.4", + "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.112.4.tgz", + "integrity": "sha512-lQ0JemuTlMIXVKgSci1qez8yPnM5hyDngeAfEBjZS2Om4D+Cus0EE5BE6glFobrxdyii1OF4UzWfF0zcQgDq5A==", + "license": "MIT", + "dependencies": { + "iceberg-js": "^0.8.1", + "tslib": "2.8.1" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@supabase/supabase-js": { + "version": "2.112.4", + "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.112.4.tgz", + "integrity": "sha512-UiCX1udlFY1fQQrO7Z3GU7obQsju0w5Vk9mOOwalfo/+Gy+tahWVenSSuu5E/GTy/q//HxvGv2IrCdW66/61kw==", + "license": "MIT", + "dependencies": { + "@supabase/auth-js": "2.112.4", + "@supabase/functions-js": "2.112.4", + "@supabase/postgrest-js": "2.112.4", + "@supabase/realtime-js": "2.112.4", + "@supabase/storage-js": "2.112.4" + }, + "engines": { + "node": ">=22.0.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + } + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "license": "Apache-2.0", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "license": "MIT", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", + "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", + "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", + "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.8", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", + "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.17", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", + "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz", + "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "license": "MIT" + }, + "node_modules/@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "license": "MIT" + }, + "node_modules/@types/raf": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.3.tgz", + "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "license": "ISC", + "peer": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "license": "BSD-3-Clause" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "license": "MIT", + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz", + "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "license": "ISC", + "peer": true + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==", + "license": "MIT", + "dependencies": { + "file-type": "^4.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/archive-type/node_modules/file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz", + "integrity": "sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-array-method-boxes-properly": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "is-string": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "license": "MIT", + "peer": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "license": "MIT", + "peer": true + }, + "node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "license": "MIT", + "peer": true, + "dependencies": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC", + "peer": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "license": "MIT" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.24", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.24.tgz", + "integrity": "sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001766", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.1.tgz", + "integrity": "sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==", + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "license": "MIT", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-loader": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", + "license": "MIT", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.4", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz", + "integrity": "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-define-polyfill-provider": "^0.6.6", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.0.tgz", + "integrity": "sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.6", + "core-js-compat": "^3.48.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.6.tgz", + "integrity": "sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.6" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "license": "MIT" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.1.0.tgz", + "integrity": "sha512-f9B1xMdnkCIqe+2dHrJsoQFRz7reChaAHE/65SdaykPklQqhme2WaC08oD3is77x9ff98/9EazAKFDZv5rFEQg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", + "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "license": "MIT", + "peer": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" + }, + "node_modules/bcryptjs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-3.0.3.tgz", + "integrity": "sha512-GlF5wPWnSa/X5LKM1o0wz0suXIINz1iHRLvTS+sLyi7XPbe5ycmYI3DlZqVGZZtDgl4DmasFg7gOB3JYbphV5g==", + "license": "BSD-3-Clause", + "bin": { + "bcrypt": "bin/bcrypt" + } + }, + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "license": "MIT", + "dependencies": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", + "license": "MIT", + "dependencies": { + "execa": "^0.7.0", + "executable": "^4.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/bin-check/node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-check/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/bin-check/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-check/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-check/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/bin-check/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "license": "ISC" + }, + "node_modules/bin-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", + "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", + "license": "MIT", + "dependencies": { + "execa": "^1.0.0", + "find-versions": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/bin-version-check": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", + "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", + "license": "MIT", + "dependencies": { + "bin-version": "^3.0.0", + "semver": "^5.6.0", + "semver-truncate": "^1.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/bin-version-check/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/bin-version/node_modules/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/bin-version/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/bin-version/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/bin-version/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-version/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-version/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-version/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/bin-version/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-version/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-version/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/bin-wrapper": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", + "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", + "license": "MIT", + "dependencies": { + "bin-check": "^4.1.0", + "bin-version-check": "^4.0.0", + "download": "^7.1.0", + "import-lazy": "^3.1.0", + "os-filter-obj": "^2.0.0", + "pify": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/bin-wrapper/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "license": "MIT", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/bl/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/bl/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/bl/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, + "node_modules/bn.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", + "license": "MIT", + "peer": true + }, + "node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/bootstrap": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz", + "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==", + "deprecated": "This version of Bootstrap is no longer supported. Please upgrade to the latest version.", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jquery": "1.9.1 - 3", + "popper.js": "^1.14.7" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "license": "MIT", + "peer": true + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "license": "BSD-2-Clause" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "license": "MIT", + "peer": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "license": "MIT", + "peer": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", + "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "bn.js": "^5.2.1", + "randombytes": "^2.1.0", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", + "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", + "license": "ISC", + "peer": true, + "dependencies": { + "bn.js": "^5.2.2", + "browserify-rsa": "^4.1.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.6.1", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.9", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/browserify-sign/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/browserify-sign/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "license": "MIT", + "peer": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "btoa": "bin/btoa.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "license": "MIT", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "license": "MIT" + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "license": "MIT" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "license": "MIT", + "peer": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "license": "MIT", + "peer": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/cacache/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/cacache/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC", + "peer": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==", + "license": "MIT", + "dependencies": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/cacheable-request/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cacheable-request/node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "license": "MIT" + }, + "node_modules/cacheable-request/node_modules/keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "license": "MIT", + "dependencies": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cacheable-request/node_modules/sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001767", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001767.tgz", + "integrity": "sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/canvg": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.11.tgz", + "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "license": "MIT", + "dependencies": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chart.js": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", + "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", + "license": "MIT", + "dependencies": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "node_modules/chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "license": "MIT", + "dependencies": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "node_modules/chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0" + } + }, + "node_modules/chartjs-color/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/chartjs-color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/chartjs-plugin-zoom": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/chartjs-plugin-zoom/-/chartjs-plugin-zoom-0.6.6.tgz", + "integrity": "sha512-qssrlK6z7iFSMIsAd7L8zLYWAYAIbsVdvzKwIYel+LDPY2bdcdCzbcmMM6Dbi8BA20RZitZ8o44iw3pqA+bjgA==", + "license": "MIT", + "dependencies": { + "chart.js": "^2.6.0", + "hammerjs": "^2.0.8" + } + }, + "node_modules/check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC", + "peer": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cipher-base": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.7.tgz", + "integrity": "sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==", + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "license": "MIT" + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "license": "MIT", + "peer": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "license": "MIT", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/coa/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/codepage": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", + "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", + "license": "MIT" + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "license": "MIT", + "peer": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "license": "MIT" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "peer": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "license": "MIT", + "peer": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "peer": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz", + "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz", + "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.48.0.tgz", + "integrity": "sha512-1slJgk89tWC51HQ1AEqG+s2VuwpTRr8ocu4n20QUcH1v9lAN0RXen0Q0AABa/DK1I7RrNWLucplOHMx8hfTGTw==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "license": "MIT", + "peer": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "license": "MIT", + "peer": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "license": "MIT", + "peer": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "license": "MIT", + "peer": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", + "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "browserify-cipher": "^1.0.1", + "browserify-sign": "^4.2.3", + "create-ecdh": "^4.0.4", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "diffie-hellman": "^5.0.3", + "hash-base": "~3.0.4", + "inherits": "^2.0.4", + "pbkdf2": "^3.1.2", + "public-encrypt": "^4.0.3", + "randombytes": "^2.1.0", + "randomfill": "^1.0.4" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "license": "MIT", + "optional": true, + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "license": "MIT", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "license": "CC0-1.0", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "license": "MIT" + }, + "node_modules/cssdb": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", + "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "CC0-1.0" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "license": "MIT", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "license": "MIT" + }, + "node_modules/cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "license": "MIT", + "peer": true + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "license": "BSD-2-Clause" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "license": "MIT" + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "license": "MIT", + "dependencies": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "license": "MIT", + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar/node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "license": "MIT", + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "license": "MIT", + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz/node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "license": "MIT", + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "license": "MIT", + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress/node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "license": "MIT", + "peer": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "license": "MIT", + "peer": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "license": "MIT" + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom7": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-2.1.5.tgz", + "integrity": "sha512-xnhwVgyOh3eD++/XGtH+5qBwYTgCm0aW91GFgPJ3XG+jlsRLyJivnbP0QmUBFhI+Oaz9FV0s7cxgXHezwOEBYA==", + "license": "MIT", + "dependencies": { + "ssr-window": "^2.0.0" + } + }, + "node_modules/dom7/node_modules/ssr-window": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-2.0.0.tgz", + "integrity": "sha512-NXzN+/HPObKAx191H3zKlYomE5WrVIkoCB5IaSdvKokxTpjBdWfr0RaP+1Z5KOfDT0ZVz+2tdtiBkhsEQ9p+0A==", + "license": "MIT" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "license": "MIT", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/dompurify": { + "version": "2.5.9", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.9.tgz", + "integrity": "sha512-i6mvVmWN4xo9LrhCOZrDgSs9noW6nOahbrmzjRbPF36YPyj5Ue5lgok0MHDWkG7xzpWFO2OYttXdzM7rJxHvNA==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optional": true + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "license": "BSD-2-Clause" + }, + "node_modules/download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "license": "MIT", + "dependencies": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/download/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/download/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/download/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "license": "BSD-3-Clause" + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "license": "MIT", + "peer": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "license": "ISC" + }, + "node_modules/elliptic": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "license": "MIT", + "peer": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "license": "MIT", + "peer": true + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "license": "MIT", + "peer": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", + "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.1", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "license": "BSD-3-Clause", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "license": "MIT", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "license": "MIT", + "peer": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "license": "MIT", + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, + "node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.28.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "license": "MIT", + "dependencies": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "license": "MIT", + "peer": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "deprecated": "This module is no longer supported.", + "license": "ISC", + "peer": true + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "license": "MIT", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", + "license": "MIT", + "dependencies": { + "semver-regex": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatpickr": { + "version": "4.6.13", + "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.13.tgz", + "integrity": "sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw==", + "license": "MIT" + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "license": "ISC" + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/flush-write-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/flush-write-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz", + "integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "license": "MIT", + "peer": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/from2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", + "license": "Unlicense" + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "license": "ISC" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "license": "MIT", + "dependencies": { + "npm-conf": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/got/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/got/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "license": "MIT" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hammerjs": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", + "integrity": "sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "license": "(Apache-2.0 OR MPL-1.1)" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "license": "MIT", + "dependencies": { + "has-symbol-support-x": "^1.4.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "license": "MIT", + "peer": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz", + "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==", + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "license": "MIT", + "peer": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", + "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.6", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.6.tgz", + "integrity": "sha512-bLjW01UTrvoWTJQL5LsMRo1SypHW80FTm12OJRSnr3v6YHNhfe+1r0MYUZJMACxnCHURVnBWRwAsWs2yPU9Ezw==", + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "license": "MIT", + "optional": true, + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "license": "BSD-2-Clause" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "license": "MIT", + "peer": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hugo-bin": { + "version": "0.44.3", + "resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.44.3.tgz", + "integrity": "sha512-e/79uk0xszvYaTk62XyfNTqlgA/M6TQdnwBT9uHrf/4gIV/fVSmdjrD/EeqeC1Mq9OcIpLd0C+3+23vdCJk5Cg==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "bin-wrapper": "^4.1.0", + "pkg-conf": "^3.1.0", + "rimraf": "^2.6.3", + "signale": "^1.4.0" + }, + "bin": { + "hugo": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/hugo-bin/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iceberg-js": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/iceberg-js/-/iceberg-js-0.8.1.tgz", + "integrity": "sha512-1dhVQZXhcHje7798IVM+xoo/1ZdVfzOMIc8/rgVSijRK38EDqOJoGula9N/8ZI5RD8QTxNQtK/Gozpr+qUqRRA==", + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "license": "ISC" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "license": "MIT", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "license": "MIT", + "peer": true + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "license": "ISC", + "peer": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", + "license": "MIT", + "dependencies": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ion-rangeslider": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/ion-rangeslider/-/ion-rangeslider-2.3.1.tgz", + "integrity": "sha512-6V+24FD13/feliI485gnRHZYD9Ev64M5NAFTxnVib516ATHa9PlXQrC+nOiPngouRYTCLPJyokAJEi3e1Umi5g==", + "license": "MIT", + "peerDependencies": { + "jquery": ">=1.8" + } + }, + "node_modules/ipaddr.js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", + "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "license": "MIT", + "peer": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT", + "peer": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "license": "MIT", + "peer": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "license": "MIT" + }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "license": "MIT" + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", + "peer": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "license": "MIT", + "dependencies": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "license": "MIT", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "license": "MIT", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "license": "MIT", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "license": "MIT", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.2.tgz", + "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "license": "MIT", + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jspdf": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-2.5.2.tgz", + "integrity": "sha512-myeX9c+p7znDWPk0eTrujCzNjT+CXdXyk7YmJq5nD5V7uLLKmSXnlQ/Jn/kuo3X09Op70Apm0rQSnFWyGK8uEQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2", + "atob": "^2.1.2", + "btoa": "^1.2.1", + "fflate": "^0.8.1" + }, + "optionalDependencies": { + "canvg": "^3.0.6", + "core-js": "^3.6.0", + "dompurify": "^2.5.4", + "html2canvas": "^1.0.0-rc.5" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/launch-editor": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz", + "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==", + "license": "MIT", + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=6" + } + }, + "node_modules/loader-runner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "license": "MIT", + "peer": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "license": "MIT", + "peer": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/memory-fs/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/memory-fs/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/memory-fs/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "license": "MIT", + "peer": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "license": "MIT", + "peer": true + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.0.tgz", + "integrity": "sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==", + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "license": "MIT", + "peer": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "license": "MIT", + "peer": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "peer": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nan": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.25.0.tgz", + "integrity": "sha512-0M90Ag7Xn5KMLLZ7zliPWP3rT90P6PN+IzVFS0VqmnPktBk3700xUVv8Ikm9EUaUE5SDWdp/BIxdENzVznpm1g==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "license": "MIT", + "peer": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-forge": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "license": "MIT", + "peer": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/node-libs-browser/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT", + "peer": true + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/node-libs-browser/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "license": "MIT", + "dependencies": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-conf/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.23", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz", + "integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "license": "MIT", + "peer": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.9.tgz", + "integrity": "sha512-mt8YM6XwsTTovI+kdZdHSxoyF2DI59up034orlC9NfweclcWOt7CVascNNLp6U+bjFVCVCIh9PwS76tDM/rH8g==", + "license": "MIT", + "dependencies": { + "array.prototype.reduce": "^1.0.8", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "gopd": "^1.2.0", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "license": "MIT", + "peer": true + }, + "node_modules/os-filter-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", + "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", + "license": "MIT", + "dependencies": { + "arch": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "license": "MIT", + "dependencies": { + "p-timeout": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "license": "MIT", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)", + "peer": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "license": "MIT", + "peer": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parallel-transform/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/parallel-transform/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.9.tgz", + "integrity": "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==", + "license": "ISC", + "peer": true, + "dependencies": { + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "pbkdf2": "^3.1.5", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "license": "MIT", + "peer": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", + "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "ripemd160": "^2.0.3", + "safe-buffer": "^5.2.1", + "sha.js": "^2.4.12", + "to-buffer": "^1.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "license": "MIT" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-conf": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", + "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0", + "load-json-file": "^5.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "license": "CC0-1.0", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "license": "MIT", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "license": "MIT", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, + "node_modules/postcss-svgo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "license": "ISC", + "peer": true + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "license": "ISC" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "license": "MIT", + "peer": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "license": "ISC" + }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "license": "MIT", + "peer": true + }, + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "license": "MIT", + "peer": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "peer": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "license": "MIT", + "peer": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "license": "MIT", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-error-overlay": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.1.0.tgz", + "integrity": "sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==", + "license": "MIT" + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "license": "MIT", + "peer": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.1.tgz", + "integrity": "sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==", + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "license": "ISC", + "optional": true, + "peer": true + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "license": "MIT", + "peer": true + }, + "node_modules/resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "license": "MIT", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "license": "ISC" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "license": "MIT", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "license": "MIT OR SEE LICENSE IN FEEL-FREE.md", + "optional": true, + "engines": { + "node": ">= 0.8.15" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", + "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", + "license": "MIT", + "peer": true, + "dependencies": { + "hash-base": "^3.1.2", + "inherits": "^2.0.4" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ripemd160/node_modules/hash-base": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", + "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ripemd160/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/ripemd160/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/ripemd160/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/ripemd160/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ripemd160/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/rollup": { + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "license": "ISC", + "peer": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "license": "MIT", + "peer": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==", + "license": "CC0-1.0" + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "license": "MIT", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "license": "ISC" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "license": "MIT", + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w==", + "license": "MIT", + "dependencies": { + "semver": "^5.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/semver-truncate/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", + "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.8.0", + "mime-types": "~2.1.35", + "parseurl": "~1.3.3" + }, + "engines": { + "node": ">= 0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "license": "MIT", + "peer": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT", + "peer": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/sha.js": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "license": "(MIT AND BSD-3-Clause)", + "peer": true, + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" + }, + "bin": { + "sha.js": "bin.js" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/signale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", + "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", + "license": "MIT", + "dependencies": { + "chalk": "^2.3.2", + "figures": "^2.0.0", + "pkg-conf": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/signale/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/signale/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/signale/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/signale/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/pkg-conf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", + "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", + "license": "MIT", + "dependencies": { + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "license": "MIT", + "peer": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "license": "MIT", + "peer": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", + "license": "MIT", + "dependencies": { + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "license": "MIT", + "peer": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "license": "MIT", + "peer": true + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "license": "MIT" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "license": "MIT", + "peer": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "license": "Apache-2.0", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ssr-window": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-1.0.1.tgz", + "integrity": "sha512-dgFqB+f00LJTEgb6UXhx0h+SrG50LJvti2yMKMqAgzfUmUXZrLSv2fjULF7AWGwK25EXu8+smLR3jYsJQChPsg==", + "license": "MIT" + }, + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "license": "ISC", + "peer": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "license": "MIT" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackblur-canvas": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz", + "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.14" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT" + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "license": "MIT", + "dependencies": { + "escodegen": "^1.8.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-eval/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "license": "MIT", + "peer": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-browserify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "license": "MIT", + "peer": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "license": "MIT", + "peer": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-http/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-http/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/stream-http/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "license": "MIT", + "peer": true + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "license": "MIT", + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" + }, + "node_modules/svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "license": "MIT", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "license": "BSD-2-Clause" + }, + "node_modules/svgo/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/swiper": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-4.5.1.tgz", + "integrity": "sha512-se6I7PWWu950NAMXXT+ENtF/6SVb8mPyO+bTfNxbQBILSeLqsYp3Ndap+YOA0EczOIUlea274PKejT6gKZDseA==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "dom7": "^2.1.3", + "ssr-window": "^1.0.1" + }, + "engines": { + "node": ">= 4.7.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "license": "MIT", + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tar-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/tar-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/tar-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "license": "MIT", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "license": "MIT", + "optional": true, + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "peer": true + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" + }, + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tippy.js": { + "version": "6.3.7", + "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz", + "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==", + "license": "MIT", + "dependencies": { + "@popperjs/core": "^2.9.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "license": "BSD-3-Clause" + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "license": "MIT", + "peer": true + }, + "node_modules/to-buffer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", + "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "license": "MIT", + "peer": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "license": "MIT" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "license": "MIT", + "peer": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT", + "peer": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "license": "MIT", + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "license": "MIT", + "peer": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "license": "ISC", + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "license": "MIT" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "license": "MIT", + "peer": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "peer": true + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "license": "MIT", + "peer": true + }, + "node_modules/url": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "license": "MIT", + "peer": true, + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "license": "MIT", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT", + "peer": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC", + "peer": true + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "license": "MIT", + "optional": true, + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "license": "ISC", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "license": "MIT", + "peer": true + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "license": "MIT", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "license": "MIT", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/watchpack-chokidar2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcs-core": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/wcs-core/-/wcs-core-7.5.1.tgz", + "integrity": "sha512-3p19wOmHolJ++Nb9GqrIescBxm/jm2xkhsOSK/I2hfF2/ZyAQIdUppP1JoF2uIq6qsjgWIsgKfvjZKYbN1qmQA==", + "license": "MIT", + "dependencies": { + "@popperjs/core": "^2.9.3", + "chalk": "^4.1.0", + "lodash-es": "^4.17.21", + "tippy.js": "^6.3.7", + "uuid": "^8.3.2", + "xstate": "^4.11.0" + } + }, + "node_modules/wcs-react": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/wcs-react/-/wcs-react-7.5.1.tgz", + "integrity": "sha512-5KHUlvzi8pKLYFs+9iTTvtqfFZZcxKERYNrtnsPnubB5frho9ESlWiOebnizQwkf5pO21y92rNleLh/fyrnJyw==", + "license": "ISC", + "workspaces": [ + "../" + ], + "dependencies": { + "tslib": "*", + "wcs-core": "7.5.1" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==", + "license": "Apache-2.0" + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.104.1.tgz", + "integrity": "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.4", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.16", + "watchpack": "^2.4.4", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "license": "MIT", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "license": "MIT", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "license": "MIT", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "license": "MIT", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "deprecated": "The work that was done in this beta branch won't be included in future versions", + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "license": "BSD-2-Clause" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "deprecated": "workbox-background-sync@6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==", + "license": "MIT" + }, + "node_modules/workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "license": "MIT", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "license": "MIT", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==", + "license": "MIT" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "license": "MIT", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "license": "MIT", + "peer": true, + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xlsx": { + "version": "0.18.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz", + "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "cfb": "~1.2.1", + "codepage": "~1.15.0", + "crc-32": "~1.2.1", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "license": "Apache-2.0" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" + }, + "node_modules/xstate": { + "version": "4.38.3", + "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.38.3.tgz", + "integrity": "sha512-SH7nAaaPQx57dx6qvfcIgqKRXIh4L0A1iYEqim4s1u7c9VoCgzZc+63FY90AKU4ZzOC2cfJzTnpO4zK7fCUzzw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/xstate" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yarn": { + "version": "1.22.22", + "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz", + "integrity": "sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==", + "hasInstallScript": true, + "license": "BSD-2-Clause", + "bin": { + "yarn": "bin/yarn.js", + "yarnpkg": "bin/yarn.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f4506e5 --- /dev/null +++ b/package.json @@ -0,0 +1,46 @@ +{ + "name": "admin-gestion-regions", + "version": "0.1.0", + "private": true, + "dependencies": { + "@sncf/bootstrap-sncf.communication": "^4.3.1-r5", + "@supabase/supabase-js": "^2.112.4", + "@testing-library/dom": "^10.4.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@testing-library/user-event": "^13.5.0", + "bcryptjs": "^3.0.3", + "jspdf": "^2.5.2", + "react": "^19.2.4", + "react-dom": "^19.2.4", + "react-scripts": "5.0.1", + "wcs-core": "^7.5.1", + "wcs-react": "^7.5.1", + "web-vitals": "^2.1.4", + "xlsx": "^0.18.5" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/public/bug_gare.png b/public/bug_gare.png new file mode 100644 index 0000000000000000000000000000000000000000..664326ea112d5cfbefb106166340eecfbef2b474 GIT binary patch literal 611849 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ȴ(7c9$a; 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�Qg^j4FbqaTJ)lOIi+W|Vgq3iYZ8njY|RYi2n;p}?Bx&E zmh;(I5>t#(_Fb>|g6cpVwj8&C@t%RJ7$u|TSKp+qIaZ@N<$yPeIZJVlWUa&MZbu_r z7mYq=VQXQ$IPXaCO+4|k-5v?c?JnKsUOAjHo4;G%!p8+C%jJ#Yj$ ztnJ<;Mrc4@uL91WqR{e(7)wiMZ=q6pbq%lu9?x2*3LuoWRO4qht&!5ryu=VRq?#-I z>;txhQ8(!t0F1S`19wCKS1#0`xR^%2wSPZs(m`J@A5;b8huXy|Uc8Wl>{&9Bwgj%3 zH;!Dj=*(^`#Y#pi2Vmf&>>KilX=FxaffV!d3ODw8J3ZMgpy1pYjtir(_7BgxnWMJd z$83i0*-O;!etfAlE2F4|&2ifp>CuO?HGMs(sbON^P_{gBIhy7WtI|CQ>Z`z=4{gBL zrB8x(D!NCar5C1{P1uK5v^xigmesZ*wFew^w`!_69VQ8?3p?&7WUZk`PW|~6vtEyc z1h;(WXW6Eg$c@!%GcSG}heo>&2Ua3}$Zg%~MCbT_S$}c0-kL;4J>;li9bI^KQ8a6* zHGAlMv$i1rc)x?Luo-ficSo8F)wEm-sdBZ0MzjAfZupRhd5WoL%|lbguST+!g}*_--5$5Dk?ziOX5h_4cOF!HQ2&0 zWsj}cQyf&9Q=?94W60Cq3qc5jg9$wo71>xGd6>9|2_4qEEfS_~N+PcCddrNS&m2(g2=yz$A3B{;I z33OD4?yOVc3?k^lC2(;A)?8wm34h#0wz8hqku!T?CuGpFJ<)+`mB==P?lf%IRzr~s z)vm~_%Qyl_l6*63X}~)3m}PJ2u(d*abX8K(;LZBY-*BF@VksS zK7r%*;z$-@0cb+9Tf=#Q8?JJc34pJ24|;yltQ-WoXoO$D)XELbXOg>#%rtm&Nqw{~ z2#Z-$*&IO4;-^cWNk55o5AK^CXG&uT1_=x{78Eh(-2)hF9 zOb+t1ZaAHW%3g8>9O)H+a08frBG?Kg93YI^&R*!qni#vyzPh^%#}~N6O}@t@miC#D zHjM_wCe*sdu3SWp*V>Nn781|A3kMK^(RIM0ulEFsV!m8C7RWwspO7Q=D(b=m2fzho zT3UVO0Lu#tp?~aTQi>3ZZ2Pc(-N2p`Isx(k{e&Jh^E3{f=N!gKt(f$(+`0wr9NNRcneM{-RDEY3U!hd+_ z3HAuNl?H3uHnEz@Jj0F-uN01iMf(0ZKV?7rgiv%Hdq6tPr5IRp(KOw{PO5aD{HH;- z;1REiO&huH>OLC9j*muq*Ksa@nt6V`vugL1wIWgiJuGoaf28PE4!w8vTHT~09TVnV zt!EX`?L>;SVxFxnx^gSXa?ZxgEuDXA8?FSJ+(tJ|J_J9H787;5MK_o);byEfRv?`{ z0!G#|jKRB|`w_DR1``eIw_PW89pMnG#--=h3eHEy&eB?ddh%J4ZE0-Gg3}ph4x0R6Q*ap%;j9W~018Y*BOhE;naMa;AqQv>hwL z2^iE}*c!tKGi*Vb-D#5PI<#9JnYnN%fi7x4fM0w9vO6(QAoj~aI)vRqWY#OYc{r{Y zxHTaFl5i%j0(81*5U$PyNE(rtKBG!yxm6O!m0A; z5WXF#cMD+c41c9CFjQW<(O_As{(sov-(~T3`}tRD6B^4vi|L3J{*ht!?~Nz`sU^eTb&oKE?m#EGu-~f)mZ3_g^h2t98H#tYl&ric7$(;l>!=x%i5;ZU|7Fj__oISnUAwe*y+Ily z?K)fItsYF{Lra1&HJi#k8y#Dby@V(M7i)dD4L|LpYcK1E>#8<@`Qb-f{S~{@H4+?+ zFWtA1?GG<}Q@Dt~`Qba2xmX$euT-DY%P=Q7J-Hxmg3B(fV>nt=&-)ECJ-`iI{7l*v zAOo_39?9SZ>YkA-26;Ck&=&(l#7_)`$tx+g4>c@%NEAf1P}{H?xm6QGoi z^u3Uh^@nU7rwWF!JnCO(DhN1(IgN!Yd`O8F;>Kb*80PRQZXf$c9S>wpNKfVx8g6QkJ8U>;0O2EGD3Wb-?~=(TIJ2x0|$2>YXC04=-BgjmmDxWZtUEto>COFHE&k#%t6MUwkjuMftm4vZCA z8mplKbbq~TLm1;n#u)S-_$*mdS6e=(|GuQrG*1txT@c3ExM z%&S#-HVuC-n`LQYlQvqhRCK~@x7g8+pOs2RjJP)JdCjFPZtbqO1tJGr?fVF*ceKr*?behfo!kQ(9_Np`CvFE+Dh(^nPemY~RD9D` zNQxEj5w9wntzBn+?WV&Y!=+bYj>`noB4iJXzM_i`#XtQ2oI@|)Mkbf%g>yo9J3qBH z`MK#yb68#`hOD^j#b$rpN9Q|rB4=afKKr?#A8bl}|55Rbm;Cbg%E`0V**e$0p`MoN z2ZZ^4wZFR8mupY$R}WSSkDw8K#`f!)(z`>`H#6acLkcIRci)^7f=XB`tsrQN6XKCv|`i(8N#FJowQZBX?zgel?l4OzV7=!4^ zOj9d_bok!rPO?By42j6Jc7`TiYA~Q2n5S2Y_sTTavfC{=8ZZG z=Fu$>;(Q2XbOmJC(*pR#$k1;2Qw1%6j0qAtk2sGtE(+L)+5M~Hm^9)hEJiA9`9~mx zA#5pO@nTgkDA>B;Wbz&@VCa?PwnEaiR<~b({q%)HWyANXn4N{hEbNX$p1eCk3VIyZ zJ>rhoh%MQ;=tFEujPfHk&*$OU1pE>D*@5S1H05aFI=tabz1<4Dkfe0ZkX5%s-AZ&` z>B0wc=G0?3`#}79x?F^x8+p+4?e!t0{hVV2Fe~ZRCFLxV-s%0QSq_*hU=m)~AUC*^?7ZH5$792%3?(mYUX0}lgwuz@4*@m5Uk1+7-5!sMmVWIL`dG#F_ za*mKpSJ2I=oQ0pz0%a^?PsfTSP|%=3ZAwv3AoX^6%ffOYsg)O-F>($w7tVjiYrOJn1N;11SOl-XjA|*WEzzl~J<5fo zXW7}={HwkbXFk@qXRq@7xa#?LI$)ZB?`cP8h z@vQUgnV{p&>EMtz{JOsK^AiJsbdL;yQoSi>t(x0K=ZsQ;i^C3H%nTXdOOD4&pCCLz z!k^Mf7M;}2pZ^Tl9+_}O9p*=(;?y}c>yW{anM{~8jhpKuBJ6DQiy;ce|D!(t_rnZ@ z$U0(L;drWNOA0mX{pYyg2_@63nz`E22;*oj<>1P|JB|7I4^XvtD80_=Fmfxk57{b& z-%ZnP(C@EZeh56MgR`BYHL<5VGasKz@e?78i_F_mhoM4#-ORE*)n9D)pPqr^7N}lz zye%JnPae|UdJQ1`xNiQdt3WAQzpKyq;z^ySC4&Cmp5Mcv@j5+h-JQcXb? zce0J&y1==z+RZ<-&6*P{%({F4*OA8UA`}a{E;7^Z0@$mf$DLq%%)t%RSGznfJ8gi zgz+t^^VdSV(EGR9__3zZ4cNMa z(aT}3^Mh<6B4y{$cE06mpW4lPC1k}McFKV;O6~SGsbxF*R8>)O41yl;Cw}Z&!HvPRGpo+=mV-;~}VD4231$pnWr- z9uV5YpEx>h`#u47S?0bSJl_fPK`dcg%H*U)ZeN@oFrWt911tjFtq-Kzw<|h_O6Ae@ zHLORrS$^PKC$2*0oT%+0?;n;hg9j}O`0gPB{J0!Uu*X1TdshPLH{b|9T$vtrOon}C z8Nz3R#ILY_h6z)at}sT{t^K(q{`rw54?)-gWa{8LY^-?+ySH6Cf8TmE7!;EZ#w_pr z+oGbf1e5-Q>4eDo?YszFj`)JAWv`y8td>HgtUBRCUqZukTL=aOoGAX|i)12cn()G0NTu&;UbgnpT9=7ewY&vs_Ei)*sXgVC;<}}Ia8yx$z zc_>k~E?OAzRQiYxAYHy@9`#3tDBu=+zX6r*E_xYw=k)a6mVfUS!^yOH@pYr2x^lzb zK$>To#l|tEtWe74hXXB*MAlaUc>w2Sa0jrtOBzsw$PXF(3=!*^X;EAVAeaYk=7f*5 zg;E}E9ZOHl(+0U+!`3F!NP27hYXyi~RBh3aHcct$*oZMB8d1Ye#H2G-&KoIAZ0ND+ z%QW@>JyY*8qcTvZH${HWlQ{ zG!KZAU%xDi)j}bD1s#+alhQWeL}H5TUkT@2Zj-3t1ZthHznOC>RqjFq*UbCIUEvZX zR_HYzU#eQAy)c`V$EIZx?-Hnl2Hn)$Z3q}?{LytRRIdzzU*4lb4+ozYhPfM|MXORJSC#cA} zODgK-f@BEsFU%Q-UI?7_6DuI)>=Sd1?at;A!wMS}g8JT@lGY*nXB8``H~5d^x$d%F zqrW$#+Dl$~DZn2>H$RY}H0#(?1Fv-JW%QShacYITD;R}Y@}m}AtglL&;G=hAettuj z|4c*Y%_g$rp=WWq0gOwL<0T_RQ$b2KDs56e%@j>D`vMmz`d-;h+|$+cs3~A~5Sd)j zd30&YOnTC#)KBlX?ZDH7W+rrVBKRq;&zrt*St+1xL=0|n$-Ip_fc#;kl5 zBtDM*cB#c%@+(qvg?4YG)^!{@l&ckQOKX43j=gaijijvYWTXdh z9?hLl5Mg88X{*~@0tfA`u3=sCpa;mase-w>3YM>VPmc&zLHwcx_()}+%+LO zO9yGmIZ45`l_L51S~LYvgX;(#Y}2UbM693KJfi6RGzR=F^bU5C48y;(4s-msstOhT zZQviK<7lSb-j!%cuD^()qwNWbI3Yq7kl{ryv)64zhz;KhuCbtA{@P?57JX&~WiPz5 zYFt~Nd&42kZf))vXA{mBT!40^&?)3{F^Z%Si!k_-Uhxx?FKSEaJo#OA{Lo0UuOLkm z)X@^ED{c3_%{tu|;=6^;Fsw7Rezt|4s6Dif4%m@$FeP}TluwQX3+x^F?VYb*-`sSa z)-tbc-)t#V8hvP@c%Ish5DT_Qem>-!cI6A*lxY?EtLx9k$0rSNH}!kTRwX8cf$js^ z8wYXOXZ{h(6F;f@46Wbdk5SK2L@x&F^d~PahGQ4l%ffifVZ8A0x!u32dnBYQ6uOxW z`V_h=Xqf|WG8xvd5DEbg9d5K9kd^JbTt=XLtTj-?hK_M$#;fuhXa662?-|zAwzUlh z1VNN0O{FS|B3-0ck)lWuk=~7f2qE;|ks?(^dQ%XP4gv|CAOcbX0z!ZQ2}Ww@A@uUa z{XBcW-#KpBo_C+?`o16gy7FTYR%RLV9%I~NjJf6-ZE|00eXT1VB4X<&Vz%%+Zl?da z_KYOZK3^9ymYK?B<{dYSMPlO#{hj2VTeRJFgmA1-2iJNilcxX-9L z(<8}ZVq#b^uj?csOG5SXJ~%;i*98*q$*owu+nkC0~HnG1Es3Uw|{ObSV2H10Rq z8zD+J>VD7)+k(t?8(Gvrgx)(N*qvSkxhOL9X<}VWj6N%m{~au>X7u zt?%o`X=mMQc1QEO;6gmlHmf=gaZ3E(l~|e!yxQyb(H<{M+uJd*SMJ=t zQ46#F!5p0ePcsS349@qu>+MB%jYF-iYgb_zm7vtYKC!L=0f6*$^4`?pdgL6FKiayG zxk$qLDJgnB{?e6hBUFT4sHgYtYF6U>kR=2wlVH>c|A3Cg6cjN}^8r7N^wjhK$05b) z*+odMQBA1tg8x3)W+vTT191oRqigvCU%xMz+VY zYpU4$Js2%_wl+PrWmr2(C;(O3h8BM_z2i!DB`>&cSEqG{|E>*PEIvKK>h40KF1)>2 zlCM3z=i9}gjzNoE0AF-F6Ffh4HCWBrtwsGwPzSZ#KHW`2)b+v}Q)`y2iI9&(y2Cz8 z)tocJYl<=+8p7ImsI^(vydTMd z@#m5agZ>y(^}Q1ACh)h-&l@0Q0Xy1}eLta3=8jTpLY=P7pli}N# zDsk(Ln7vEeBKj`2)C%B%7?4e6-S7|kVXnH z*I7OV=)MvE6CUitrw8dJO(wW&l1~ap7Q{1~bYnP;MTf0cs@Kg%Ut`YY>FLHAwk^dc zj%KspOMNf&r9^U2TCO$`?v%U#v<|BbHMXk!Y=6R~Ap#^5Q#57^QTDc#jH3;XzGg}n zIM=o$omit)85x^1Kk-zpYSA-hZ9;Thzrk%_dC>WJuh8_Guw zKpr^q!|1<=nTfXsTB3&`)A4Quf38z3&AeM!W6}Z4kZ^x%xG1y%jEwiAo{DGNTpmBi zbGCFEAB&aBh}E|4nTb6;K9l(7< zcrOhs+tyn{ILC2QUC57Y0aaJH!&)|?=eJz9f?bdYcy!bGUGdl6`_$y2?S&H9*Q!lH zF+Ao*4e^SZ1HoelmtB$AsCg)f9cKFJ7++DWck@W~3uS{Ulx_lY`ngJ-m7FW`pwWAO z$}jX|J)X78ioIc9L+&=n3&-ud87*~d-z%zZ?|(c-tofgvmNsL6qJoHa~ z1PQHz@HJq2OpdU1PcFd*UjcPpMBnpdKo@$7psP`5GYi7J#AG*Pn7s#|@6C-mJg81f zIVf+`89nr7 zG8gtPeU8O#)lGy%miGe>KF7k*dL#{0Y{Tgr%Omm1d*^LR5cPM`O+FjE(J$Y&J0O>0 z{^7&p@8Bp%iC@BbBfCEs!oe9+YISl)qzE&@hro5ftYP&q8L%y{z;_`jk zXiYWR^9s6=#$kQvG;w=SJ^r-Ue6MSFp~R!tGyNVS8fgnGF+L3UD}rmgUK&8G2B*U- zmJ$y->8%&7-{v}u6t#J^Qhf!o?`3B+SNZqLJHb8;_VC`VAwm_PnLiFD;2pc`E_<4POL_dD>5sEpg4P{H%$dYnMMbEyye5-tC0Y*_NgluMD z!w#~QPOb6G^-uBK_FWop;9NvjR8aUA?+@}%ggdg&Dwxu&I6>-Pq0o3IYaO`$UEu|c zTmF0OJW0y_nK>;74^-kPUSECGzr$0YcQW#7@xrG2xg11o2Y$!cM6^K3e|J#) zx-iHuzqkj>mcq&Ff2B3YprX5~l$S|^4qy+7-iOGNVb8E3^!oi}KsZ)Av5o4cx^f-F zG(jCMjAY?IIauiQ^Od-(8u*|-9hOWpG4oGZgN*$8tfjpZ`OQ>S*rg1M_q+*D6UwG& z37~Cwz&u!NH_^`?wczw8-w zYkJL|-HPo0LqTC)gh0PEtXAk~5t0lUn+tw5;u5skrqh&usgWTaZ!hU1zBpRNQ#zg0 zpR<^xxM*C^TEfDh~n#{=_k%z3?aO)Elz2JdoXmpwPKZ{%4~^IQNbMWi3pwDPW7Xe55$q)P38ixnrGleb{J%fH(KYRw@WCouYX;eQZ}*_x3cPPU zpDk{td%zb9!cS`trMmAK7qpD=EYu*TD5O%VJk>bp^<-Z*vh7f%INQo;#k*;`x)+2x z(l=Qbtbp-7`^bVd+)QsCu$@hljEd!s*qFm@=NB&pzOmrH^=M7`rc3^Ba`SiC5QL+z z9jMThF1Hw8~ge_D*cH~wCGgKQU+Kpmr1#Y5RC&nDI=?|BJfkqdv@g&2}l z13vlO>`AHfnG`PRJEM{@TPV`kY_2yr-&7;m*>#}E>e__4S}5~jD0KgTElr=CG9kLY z;JL;byy(L(3%Q4nC9d~c_iXCE9k(THp-}k#0_-a5Uof;E9p`D(De#q7U?@r~PTY6? zp`^!(`6$%i%=yhz|A%kfN7vrQF#Md-`{Ntl*97q>$e3{5`#CG}`!{8010nap>tgEL zgy(7dS267akVUD1x6IUpRPsH7FWaL!*yem>DzVFui5XZ)(A;Ppb_#yb5EDK{IQOae zrhpV&*_Rbz#%1)GA&wF`@QYW&Nlt6p-;*qE+!aE1gd z8ccO^MsTGZ*xpZgvtR$)+hP4n<8@*DwNYXok4D#;H~u7F{s*KOH3_U^HA9$S)qbD# zPZvpA<|%K$=d+68g!TuX(_JO(;7IImCQyg*Iyc=yBD0!T!LXMHofpR?M|FwqbD$n} zuSMKaMYtwP+b+D9$tudwVo=B43~!cd&rv6d37dYcnZU6IyH6$d7WM@vw<{uAcVVwH zwE?kRW!F=>KAL9zx@wTy)rdWnG9_K43%6;46WqW89Q-|P51DJrJexsu(L5$4Jq~pR zt?TfD7|D@w`@Hm459XP9iTJh29XyP-aZ%%K-N2&g^389JgWFrLQ7adrMur6$lk{LV z+9ol#r7^8y0ue$&tjGor-oF5+vAEhl+`d0U@rPi3zF^cKh-xz92Hi2D(tj>*^hRta z6(T+Q2@csBE_c?GbRggo^04%z&z$O2@pCn$FOf-c*&6Zak@vV@pzD01Rd60+ty&`N zZk}A%UJ9nW-_I13+t3E_)I_!~IGcsMR854R=CO=^4xtz6u`e1=!mdo+yqB8^UO(U0 zpY!BGp|?OqaRXw_`MP#Y3J8~48P+fQvD%eJOjQ-@)g&usY#KY3cFTsTf(M@(t2I$X z*WO}e7Tp;99?3Ji{a48+5r;dcl9LzqQi;@L(S3@vipq!z6+tY3=h| z{RtF**d~2mA|iCFSL2@r6~9{=b1LG2Py+jo%{Q+1D5oGYt9B4tMEY|qjzgiHAtvx! zWnF_#Fu0&mW%x6FlD_%ka{I^pv+;?z3RzL7Clzi&P`6;`WRwm>)6t=R!?4gya?Vxb z2I}r^O0Q1q6HtX=j={}Z&;k|wji)^t`J}DOzOJpKHlpUH(Iy=9fxp18uf%j;j7-^j z;c=T)v_V3qLZ9|>fofC3E9JO0`+O!PAT~y3WY$5cj)(p6`>?k`)ji4#Fe`brXlx(bSerQvem_d#{$HC7$}?*NTIEXvOpylDg*^HIiGw&f0%$lzy{r z=oAI@hR}=KsYP83LlHu|(=SgC0oi!!qoR@Z)b5r8EDHtO(v%rSBX?$YO5MUGsB+I78T@VZ*-ot~aUzBhdp z%hnIWpdB%fUj(YQg3A&e@&qXE5|Xx&7Z4J^&VUiX0#? zOlMX5C)uUnbqq&)j$xKnhb=osifN|Qv>~M@T_&+7O-7s4&wV)>jhLvv^!R4aj1+r= z--TvKJ+r}wYc{geE%pYkmnd|Bk++N>w5@z13?S9Ow!|k$JfCxIaYrbxQ7Lwo)E}#V zn4q)IWd_Np|iQMO4Z<~cgicsgSO@n|?FN4i@`%6ruoHcm!+SfW^+lPbg@pnkwp=WPLedzHM zp3>D&*;kHV@~bGc&+J;hS$Dn4dZFOvX7v|hxIiU?>1UQY!%4Nao0$uRz9RfrcA~z3 z>s93O6>lYDf}m|3k0_u_E5%;H3Y)L{{-%5FtWl8xzmI^Gx+BL0Ux z`1wNr3Bf{y`0c1={2_y%F3hhGSDf^1uVPN?CA?;FfRMo}kau`C2(d>dxGjvuop@9? zFjOqzGjxhXrJrvnI?doKwu=-YRPB=+=f%wO7%e`kXVd|SZx8eWh2_{FYm|75=Bm_k z8)~mRQZiex6?(@vOw9NdJ1>`sA%=}?Hv9bU?VXvG?&(MIf(nSpWQ*5#b4u%K+=dXi z@Zf3pP71PE2e620(F${~CO-dqozoSCro@3(@_p0lq!Q!C*TIcO1+Zm84c-~x(H_1{ z$<%vcg%x4%L4V~KoJaB!VzMEOQPvcoUW>d`;EfG$^?{g}zmUO7$zk z!CM}6=5ry>E6tj;}}}e{r{DO{SQeXG4U+?Ja0dI zV81ny!)G**P<&74O%Vk-xN8#4a(1E-=-ruI(a5LZK>Nhjo0p+$+sT-%P;@nabUuB_ z!rxKisc)2M!=7Vl*wa#$>AQ;S{6WP+nRg*)@26M#ts8`U>ypGAz1?3;oLDZZ$Mmp+O2sp{l z&|tcKwBHbngb^%KwX@KW(@b8n=Cj^!oC?-cLK~%~9qfp;&NzumMvKa)kvcqumO-2k zQ@bFFMSSfu^M`u7h|Y+_DWS{-Qb(!9Y(Lk=XEB9Am6qH+DhA`AQ{Q!gGnx%wz}$2G zMG9{FN3RfKRf~&tmR=biwnAZpQ5*hR)KF5yZ`l<)|%+rPkg(T>xjPf+~{C43ZV36ZW_9vfi5U)(0+E+&aY+t56Hh z@83wCmjgbs_1kZA+`drK6EBN-Q=tS#e48;ocvQqz7_>ElFd&r~eYl(Mi1XX8$db*} z)HP!s1P)ryh&P(2%oI$g%i_#eaiylwGNqq0{2SX;p80kG7kX`Z%N*nW(n#7!J=@bGCljUQ^0;-I(dT#+npefQw5A_)cCFrw)oJ6G z)rt1fs{NnZK~aW01KZN&x4Rosb4zD~(!UGM-^9ja*3J>3hGW~ShC7XwqeXsUXj?yq zcF0mod<@DYPANLLeHC3Yt~6NMd+!(j!zjU~8TI*LQa^e~HG&WRZz%a^CXF1hd*OGR z^)vIK;rK#xj_EtAdx?wC-Sh_t&L1MOGY!1^u?{mIB?a{yG(LZ{)Z}St0Q_g!j*0%s zT}awOJlfNF0^+`MyULvXZRm7Km+PfUdI&?;>|!`(=#>OY0?oh1c{HabWY7{$ukyRg z0A+s;PO+%97Jes{FuL5Tru$$6%SY z%~N1YPOgbkO+uvI5kGn0KPF^eMM4swcTczJm@%X(o4-OYU3N|37#IRWs($MLdsPs0 z-~H82+*gAp9?=^|FYm9UcNjIyU%?0+D4T4lj>gPuOZ;fA$k_bK zz?&#HUnkKVBg;$VYRs?FAqSVvCHs~=pwFh*Lk%!tP4uJIYSCYq!nuLq6eo5{bzUtz>gM?8#n4InwE|ThP zEWuuFZ9STHm1zGE$@+8mkz*P!L+xcq%S|~{^&ZxF)PSLPXoxHQ588_1Bi%mG&CnO!m?xu zQYbqhR%pT=vLyYSpZy)*=EA4R0pMwCMAb11VCO*;h^9QGPv#&@3&gMYj_$bWrz)XS zjGm-U<-4$wkn@Ja2=C6hp*3*%=&=kh5Ubb^_jx_v9CtUf-Bvxl+^{(@#1A3(irQ<( z{EkDgAppIyZe>W2a}5cJrx*e^_mm*?BYHx-g@v91G%aL!mrypwE>#UNah(}59H|(R zZR_0mn)3U4{G?b%H21IaH(w=%bnnBhODW%;iJ=wo`&JBQEnp(GZ6tOe2>_y-J;2`b z?q#}_X}-4Xz>R~-icY`o3pg3&PzeQ5wN#0E0L1xA`G%wZ9*TH8J1+*ckj_@#O?$y9!aXyZap4=vs!E-)h`lvgI?gnIu>O zpqHi>(J#vXF3^hQy;sDh1#P#) zM){2a)wSrYuOChkL*HCG&e;Eg4kcBE(R@?cwEz)9W0TSif08h|a!O=ITNX+B}L z)#^142N&s*MA{QPe^b?l6^XmT{4kGHNc}Nmk7X3$lc0M&b&dF9@Ojyn_m&6;TMw

nwvw0}3Mzr)V79qZs4*ls>|;L1}-_67y!kT(rh@C=X7WUEO1@VHC_PgvmN1@Yxs&kCdvB?IOZs8Bpx931D14!_+|I3Hz*e#fV$+byWJ){ zMc9d>AW|`lQ+BncKGA-yTwU^k3G&Cj!9RoTuXIJYC(!d$H)n*D!K|2-bY|bBbjdW$ z@iHRx{KwL%d+Zsw?%r=VO^T(@NYCBOOCEgZTcGkEddYu9=&%|wE&>TjRr}Bnwvp&f zt_<-9rcts2mK3@r$XWI^nCndHh0u|IsW9FAA!o#o98hXQ8zj`nTP?W-GA@ zBmq20I^;wuP1!cr8!hEdofNqDj`&~4_n%n?d2=qHq+ryX$vGx|`fH9@wn2=en(f)8&=pxhrY+D7` zBwj6{x%(fj#?Lo<29Dz8lWuGoPr~nfEjFlG>Emyq=>IjK%|RqXSH|kb za^U9HQi2Y6!@K2^N8IVRfrYlX2p8Ay44I-MROyv=8%o4`2!kO=(< zY7hjQ@{<0MNBV2&9(j+Qc_2g42GUI@^#;J0zmkHuy}47NKS%2CDgw#VK#AfFWLr)C z2^jn|2=jy588o5iT-gEkyC1QkL5O8fo79A3iVMGD3<5n*yXbC3 z+arY6k@ZEC^nk{zAHKkAK-K&9g5p+?^1Rx~1-0;_XZs5%AsjWuEchL1ucf(O4ED9f z&h0MMl~(!WgltZDgKe3NmTImN!z_*JT|j2y9*zRp-D7`KX@IA1zRI`EVzwkj-N>9{ z^Jc2Nbpkf!#3(>+Y}MG`J|w@YDm8da3GP?s6iCV_1(V{j6WB8H8b%YLZ@{r){4xTJ>>~r4idFPUGV92+DXudFgCVd%8bqeVa&$iJm&i=_ZFAW`RCBU184-H= z%IOngA`5@BMK#VcNkWU~jjf5$&0Vp;w`fs@zspN)>9$y17y)ebb8M$ix^w@@W1_#X z!hgs^vTv$)DR_Mk8~=o3Q8j zz@GQ8N@IjWiHfIq`05E()u?XxEP;n8(^TK__?wxnYBrKfTSgGd^8o%hy8niTr^^5E zG!Ozyw%54%U(p`kSFrbAz_<&H*8yW`)q?*8PN2+~beTX(o5~16BwD?8X6$R(Z-t%z z`vohTARZv`Bb%w^CWgTy&z`h@I(*DdvR@%z`lkcqf3yglBZdVtooiQU23`M?N4kzy zmp_?|6+@CW+TDQ)p#<<)$-?Mgt5#P!raJlOsQlL+XGvI=&BXX@SVx=^SN?g6#*XMibvN5et{VLh(Yl` zYHo7goPX1X)13S97}O=LBU$z@np^XI5|RK!@5JXnS@C~etiM>$P(nLlcj$ky+arag zFGnab;VZlacffotwTs-?{Piy{1(;E7*^LKwC`k1|mzqADAcL?qL1D_*R z_#gNjDViU6{RckB#u_C5z~>+M9O+Yz70qwI`UgJ8%INvJgQJ=4r47Gnu|c$dnl z#{lx!h-zH8Zuju;6I4oSe31j{OyvZzG%8qT0VI-WJ!arBfNYwNk`fXQ{H8C=ZP+qu zFL4kb`T3$EPmGqmTtGua```Zr7IShCtqheTJ|EftF+=;yfBiG|Bi8I6xgUwQe=ze8 zX8zK!{M!xxVCEmp{2L_x^3Q)T^ABeJ5+wh2!~ZWZBgY*GSD$J0bG9$Rj_vJfN}j6W z`#~Si2eQR9S%8tlunEz;eZCglZMJ#O_1pZBX=ejvi6PJ)8}K49n}U`m(2Cfn$A5R; zn91MWt=wNw@9eSEa;r&+z(5a;u*D-00p#IFe9myJEKKF@1|{0=o@LNVzh4Keb5^0I z^uun9bg?az(LLxc@_%1+xL_VN&`yRdS(d2Y7_go(ZEQ*Bq$YsPqQM1TTE*p0f!PrHOqZRDtJmc4S{t=pJjq4HpaqYWdyeN*FtO~6U)Tx z9!*}c+fg@zf|sk)x7=yQ#KUX|2P#3(!811e=h&sD-*~ddddf~emed?td3mV`gbX^2 zYrNmMQ9C2+7je)>jpJs{%?m&5d#uHENq-zGCbK!m89VDPd7jNlR=S;@ zqDV4k8Qh(hZaV7B9vXagj>E#I1o!qLqIQHEv|cY`xH#!=OqQydRK;p7!PSBPcENFZ zYBS8HglYdw?=zP%u7YN5oD|I?BrHc7a$wVduW}wnQMrsMw77?S7+g8K+3!AVgu47M2^V$!pyAX_ZqTw=?&lw+aRCew>Gp9%1-jt1BFQg@?e+1)kfuO1!VaS#u1 z5JIq<*E&Ow)U9xsz%BGBiuqQ(xVb2Oi>YDgHw*cvz`Xoj%i&y)CntBaef=+#(843zM~P8VCSnq3AnnxXYEUb?4CHxW|I<9)ll312QbJy=_j*CO&7Qs&h0 zx=~-QYb3&w3l~3iU!|EoM0>8LKHk7mAkM(RbM^IP+H{gm* z+$kycs?*8zIH8`jkN7c%@$VoUFyfx6!X4a&&AIk&|2o-@FIW*yHUG48-|!XIVkBYa zQm5bA-gpRftRnT7z1J(C={|Y5<;+PQz%1kJhms2sNzwg=n`OvQ*$WI&Ah{XjSi&9> z5=K2KA=x_9SKK7#Nd4X2eC}N7MN=N7&eFNP>L=%R`eycrGq>Cp(V47Pq!MZsW9o4$jC6<*yI~4%v3Kj0w;Vcow|sST=WS_zhuzI)&IKUHhfQ8 ziq*$rIC7cVxbQ9l3pUlGso53MW{)JQAV#ilhf(+weM?K<^h|pPW$qHnjvlB6bF;Br zb*$DKHsYSZRJ;wN5QZy|&3GRuD9dzByNCzcN`GBwlTp36wmD|REm-e)f=Rk2X<$7* z?ootag~x(Ef;Di~KrrUQ;Xe;5#pIc;ZaEhSg#x+wFVwV%p#LhB9zB<9p#nU!!`p z_bw7eAZz^9b~yRmVLQTpB-ulh5Bo{Etl|yYseJKvU4BE)J=GdP3+)ATc|u{K*nk;N z)-TXe`bA!})clC0oFPb9=NNAn4(q)`aEh6ZgWoHTQCl_gO4_9!LqPZJNBVIMo>kHX zf0Ny5(JZb3(~x3sp+w+^jOQPf+0tz;0=S^JE^&YzzQ=Bz1oy|%%Eq#Wa(IT)`c5=1 z*W?L^j(gXyoAlpF3pdt}^LkPrWi}e@#~!#6(TJ=&oZHswCUgz)L++SpImW9mX&tvjUiHvzR0taz4z-FKzQwaZg6*7e-wEy|$Za z_mJ-({TUWMxQK&icUJ&{e$SKlxRgcewmaV~E~c$gx8HjB@nGDZ`lT&*O31Jk)F6$w>F!Iz z%&oraem89iIk8%H3`M~C#mznp&0OPS#x_mQ54lUj(pAZ;+X@#2m7M9ve0nQY54g^D zlf_W=7z6A$KCEuHP!G@mnp$w-FLUL5(DHY-JvtmM8(!^v5%PIZRzdml5jTm|~iO`^}VS*_1BW(-hp^-Pcyiv@wbS zmLxI(QZxIk$}f(DWK552wOUB3RA{FuHuoUwUu3q$hD31!tSV7g$BZrxm0o5JZgEU| zbgBGv!K1ycuQ)NQUX}HC9BbZ-#qRbPziCst_B>nJD+hfe>8H0WNW*!oU)tYS#B!#1 z>z^YAoW8?1*_pc9l%ZBU_=|Ce5lQY z*%Bo)rP*CMp_148F52pr>&;YpfVQFu`PWHzue%Nx*2R0uJYw#z^axvszV-KL`@}YM zvBaYFj?3zIn#mblp3LT&r^U7P8$OPE_eXBuG$kLTed#`?=nU0!)D)g~kenRj=n)!S zSZiH9X!Aa#l4Dt6*)-*UB7)#-B=&%BjTt?-zSrYDOYZlKLSet`q-Wk_JN?LxH#f7K z6mJP-VW~buqU?t2i}n*qR15&zg`7L-`OQ?zxK?h|jD@`KvC20@`vTyB9kzXZLFDJ>)V5*X|3 zktBY4tpyg{^T^)mz$qK%gaMIq=kDOd$$I=^^&&D2xNaP=H~Q`Yz-|##zc*ZD(7;+D zgPnJ>1$s`z;PD%wDge>ceT=T&jXReVcJHD+6ozb0&0por{@N^s!HuS7X%xEWE=$s@{PQ4cOn41=%rJ(f5Qw-j>EkhZ_uw z=6LFI0$OUhS5*<#x>*i;=z!TL+c2{xiA}&uH1{=Dk(|9@L<~G;CZZEalgg4QZwK5M zoi+s+Up=dKrrQ{h7Ns*5@jm;@-g-< zoZm-$7LD!ehvWfp-GMFX%v?Jk|4!)ht0&=srzta4q5*r9-dN71Vj4gqLUpb9Vhnrk z1HZWSAel3BDy^tVZyttPyKs06Ll2k);GTWJ z6&J}&dUjL|Yx@k2UXbFIv?4`)no*;GvuJegpC0%qkFV7`_-d2m2G4deyaM_V&8`i=PKz8*2@nva^!(Qn6t8m=WOcr)|rQ-?kuMpA6wcs4KPmL;w1 zwNpJaWZM7cyi&OnMmhVv6f_D;`!YvGRd9FxE=!9Kn-y%-z!V`X0i|=6Bg&PsU5c+Q zv0*I@cBLEn_AKwkum+Or*~i)sm+lTBN?jkA(F@mco(ee4Sxy65{J8n7)spSn^CLpM zAE6(t^ftlonOXCR&>f?Dr%vsW6Ps&Heyfpyf_q&|4IB2&2Z|d`UCR2J)lg)+JUd!b zpV1e7KHlSg0Udz)sa&)(&Y4vpH|Ly3zamjPtAp2}#Xu7}Z8X~z_ppfvQIDP@D()KK0MKVt1&tmZdStTO?AjjNQxnHWaxDii>~r1@VW=}PED)aOTiiYN zs#s0i#8ZSi7NAD0)-AvL7W^LLcup={%fpz9S!SJ_n2xUa-J%W8F!yfESt4-{>+E>Z zoqM7&Q~P|KDV6Hi*ySSbr1A~bRtgz(kig)3T@qnB4Vks7R5AUdFn!bZAXX zY5_4?lBdJmtv0taa}D3o@$QMqfX{1k*ci%we8K@s)1BlN0*T6mMy{%*0o(2F+r;4s zh9Y_P24{L^$|DkQaP?%iCct=Lsg5EbZuRPOKsUa2IaB4bq^T-`tLh_uCabMG(!ZC# z=VJe?2j(FOta;u1wy49z_0rzh5!rmHh+Q|`N6u8v`=g<;3Qt)Y>N>U##J9`by3Z3O zy$r}pz81b8{siF`n}YwEqf2bAtfKU|xAFCbZykH$rG-*pW!oOd24&i^jZ+!eHtY1j zvT~f8jjvmb$-R9J(rAy5A2+ow0d|*T!c%sqB4sv%)xpf{vay&C3v^6(@a%7($8Pyh%Xz+vwoVjXF}fw@u!!6W$((+@O{LKu!&!ShD^f#PC}^!vPq4?9 z9JnL0dV=H{m!M_kU}WNa<~Th-_{RIgMiT%1PMGQ3+?h*&mV;<)sy#4!eOxmO-P$LS z-+$U{{f#5sf_egq(p(SQ5+rgsNat<1v>&xHnaQ2T+O;lgEY17oBjQ;;&N#)R;7Q~M z!h4oz0PZI#0&Ie?-elfcnx8u9!`6~~mC)*w*#2{U1#%ZJESva%*XVE?Pi6O5R)X2- zXAz3oC39L29hW^^GHId3*G<{`tlmev4qfgYfZUa!-*$hrS9pTq>PqnC;Aew1Hf*RV z9B~ocB?VV+hWji>NF%(VikT*qgHTiS)b!6?EEqtj#R3&W~L*wjYGH zx6fgmmu4-nGLOG}cL@h{M~vOT7GNr@96qdK?Q&#-$A$Bz$6j94QYj=xTWk#AETRMp z265qygXzo<*^Ay44k!ccfK%BaFYD7T8!X>vHZ8T*#3kcdBv|ws)J#9e@>4MZ+CzN} z2Aw1kU%u|$l`>@idZqP)lEK|TZlx#`XEI>8?c4kHXC0k3Jv;05tSb9=%FimvoW27I z@=I_m@Ls)rI&#?dyr=KiuU7#vqN$6QDPKKu-klZ(aRU5<{iZ|}c{7KEjZUQ0Y19lx?LDU0K+Wh(l+ZRBrwsEsdN6uM1rlN?#m!?WxJAl5GuDGc4Tz| zvLmH_HnY-lyo0V9)$YOONhJ6zKb~3Syx4iJe5LYL#j24v+1kU|RB-cHuS2$PAL^Pv@p>+8YEXlwilDYXyCq&zS?bAd?QJDpq(mi+6Rx}n|WTz z!tB&As?4{En{sV^z566pUEC-peh3i-hWoOqZ;rHeKxhNF6B#nx1{(l+$-2T1k?h6J8Ui_76{y@lG>JTgxD-0A7u-mAeh-`VQuq-m*sUojyR? z(F<-?EBhI~w`>tVgk`o@#`zrLLHEx)Zk=4sjs_&DXUZ+sB=%-stN=y>6zr7Z6#hpJ7`|vV{W@U6IWTnn7Wh2(7N8f zis2<&;p78pD*>YHEkL)yua+xbN1NFIXL$3HD_Oc3GYK-^YJ7M%xq);~et5)E_xgXs ztr5bxr9i+|e-tUqDLUBM8|q4=B+896T$BHf75{e}`^%raH&PNu!J zm2$CRIcyslF?9jH_DorMaLFlRwBNy8!O0$rkRWT0?%p%9 zjU)8x&JNJkUao;B%tRgxv@P7CLJeB7)h2v5)47K7To2AMjGaiT=Q-d^xb3>7D3kq$ zP1<~DAZ~!CRCG1g&+%O{!NoaVuTa>(7;bm%GRqa;Hry;@rpjJ(41Ibuu;x5G7ASTo zes4#+Qk&NCEo*nORNH@@3%Od-+EN4|qw+9RbU#)0#X)WwEp2 zG1J#ngrq#}+0GPLr+#IO#cix6dAHxl;06s9>aN(ifzC{;i8ji`p3r7B^e)T;@(LTU zC-5weo({l?ocdP1wNJgVFVt>x4i(DRu43k2kp+(P7j#dd&9$zEHa4RusoB3s9YmgI z{jl62dR6{0y{R%LUHMxq`&b(;qGjh!6R#o@?;2SA`7Rsb1)LcOf&=Vyl{*w?I%oO# zi}M!0RPj2wcU!86Br{Wq`9rlgNs;i26XO=U?9Oo?>pFCtyQ48hi(u71k?7BENBdJuI57MZ28O~fl$J#`=AWaK)(@xZSJtj_0`fSo zgziRwka$<#>r@Na+Nst)(`nQv67JmnPl;m{(0ZiDYsjh6kL~X*`*?;7)T@jeS=6;! z-qS`E5}V(C;iavo=k9mEZh8YbEw$9CT7i}%5Aehb8cf&;)IZ387TSVcyOW2n77H^= zCqmx>&h=elRusN6U@lO^v?w?tK6pbf5%Wp>Nux>iz;KWBwcgOt6$8VC8YM*?`-n&9 zpOsr;3k0l$WWcT_o7lWst?$Mb*s3*K$ZWaR2<< z7;j52e!M7O-bpCvG=gfe`#J+{K_kJ3xOXC4ZXw%rzwaokL{r7io&j^wRT9 z)i3&;ZANw=9erRn#K@Het?V%<;e8;iB_>D*<_^%nun4bDki5XL3wxS!(1R zEzH^r+lDea-_6`2I|&{GtAe^`#pzRaudjbp=r!kDjNL#&Zr!ZyXRS5$*Z$OTr`6_g zYzek%>vMgy5NYzfy;irPdcKS-6N**t^lTU zmOViZf>dXj;3&HCv}m*UT#?vP4B-_1>R?VqYf#GJ&3W#<%eQa01!bO+jj(y!leH5X zI`y@II`kv+-TJJHW{Ee;uoQX9wD0>>B5aURO#q=MsUkDfxnoL?mm}0ugSXk7m9u0= zX`V|aJ8E5)5-7m?yBmsJkJ~l^5sn`&Ds##(!qiX1U_9B}9I(7q^tX4hfX1D!6wz+e z?)`mByQe)&i=I8NM#_NGBCZ6N_+8xGN0yE$(Z=}hkxZ1pQ2khckWoq7{N&@v=pD4m zS->(Xl0412o%-S?Wnkrj@4nH+iEmOLHex`llDrfLmP?CrQv(P)b*-ip~UjcR`1vIk}T z#<{aUWxKMwAI7H0YC1n@P(iKqmWx!>X!=U;;WUGHhhq z$7HtEU)#ALvZ(y^TkfnGy_4UY;r9aZwop2(@1A}O9*F>Zguv~R%%VyRxUj9#@6x3> zk^pp&>$WWtLypB_WkXnftoxQwK(j4S*G^4QNap$bH5#Y@4NV z;0LTj)dk9k_l=KY>No4(caDYKs(3v!rEmFM!A^Mylo|v`Duzo&UUSY4f4=)^6*yHs zsF@;6;XZ)3gMf?d-bzRgQ?UT+yX9u$Gle>?IrZxqFt^jh&82hw%L_e&88a~W_`_d@q)9R{hx;LRaER5o{ zE-mWDKYF%si#xU?6^TysgtMnNPt<;S1U4}lcQGrwI_d_N*ymMrJQ!`>f4=)_7frQL z{5W;F*sM&Y>7#oe6nyIX-H?l4Ezf99lBrX5JAf@o&|*UOf%Y|Ct=ESchHR=P>u z=<{0*FE6q$J5rA|-D_d_vNqfS=8%C}o3)pl=&Sf!eA>uyROSJ3-skh~E>YCt3n@!G zOZQpnpbwPxhGsYXP$SCo3SZZUWyy~!Wi3x?k>+(EuhpWNtx~kv7V&96^{gweHPI>( zC&$H%8SL{rIT4R?zLt4nldBH-B-?Q zijD=>96Bv;MeV0ey-=8WSC_ux=j2zZ-Zn#1+G2XGtED>&Z+HAc4v4Qgr$sb5lO;Rt7P8G5i}oCqVl1A73Nm&wv7)Z4MyFGp6BteXvr3h=O}E0z}bXEpPNk{?_wZ_m1WKNX~ z{|{eh9oBT?z5jtANF(6rmXhv9kWgt+K)Sm|!zk$(OhmdKKtQFtJ4R1HX&BuwItTpr ze16yW&&Pkc_Q$UGIM+GnzF+5lQ?r!Hd?N8>xzaY^3VgB0XfluR+8QGW&PxwmQn2dX z9ylKif4kA>p|$l6%kNBUx+BCGLEM{20 zDNF}ckTU83Mk(rL6=~M~;f9DH{7J;URZjL;6zMh$h)={JU3E5A3m=ODa?B}KiO7rJ z-UAIzihV5)MvE-57QFaEL`=Gh8ccOR6nPUR_Fld!on%YKT;7}_$E-hZnH}1;<@jwa zeAxeW$;vM~YL`p34 zu6>L1nFSx9Xol#q9b%pnuS>GPIpJwUI{3FGnBKa6NPgs$QNP&Ek9r3q99mK3L%#MK z5=^iC1-THT{f`94oG<9B1PPSSID@89cB)m~1UJMZct&C>@sxkO3R;?pA2Q13@l8}= z6%9+g0mm@I0M;(s69;$gu?v3ccVL)N6 zS$#Q<169TFQ-io1c*o+kmhV0H*gBGMbjfd?of5a;$!bTz@n7|~sE=Df2zDb%mY|(H zY1!p~E7HD+AowyRC3hp0d+_qY(+fz;jF5k(6NygM6IfGz1~<;Z&Xm`b1WQNI+x(Kp z6-hBG8AfUO(f(hq-PGg0HwU8ZC2rz90=#ozfjzCfZT{mP5JhL>)e~#=Fv<+fxonb& zdUYgX<-UGPS}MJw>61SE`^7D>=RzKf?-((uV#kIDeGquX-KD~Yg9t=mv29LTOrumE zgM^d@c;jEJ#Ja}F?VLRaXxM+}{%@?{sD$J*;7ae~o6%SQ-RI3LFcCTcwXWS4?ZUE* z*%2IPxV?F6-!gq?v$Q{4?+PUi8ho@_lvS*@_I!yK!c+CNU1j)$1JkTVCl&cg3uN7! z8ctRARblZrENH%Kjo0M$11woWObiQH@bTWu@sYN+j_9#*Af@IOyo%EPw7aP(F=7Uq z>)c!n7o)lI5P5q@YfCkrLv`+_-+ZX#y7M+2mLjyfv0W;0NEdC;di7&9e6~(HtJO1z z-ieElT@n|quxi)G)0}+74dGlz9mO2t2n2A(5N9>%7T`IvhmuOAcF%aW`F-J5$j5b{ zH5cs5GY7JM$Nax6fHGCX!riXYD3BhbN&2Qirq}SK-vxpy%XwKY;qwLA)cI0RJR_DU zMAR(<=0P5*b+n)ye#(L$f|TpMVGd;}?pxQB7!&C0{0=KNyuW%`NuD326EIKyLxe5~ zbNNl5xu{Fdv@&3fIuMBACdx)UuMF5c-DYDJ5z=(oqmEkwRxQhZ#w z(b2nA(*}a`rYZh&ql*Ud$@yESNPJ=nQXHk3BES%~kb=&Bn-sl@8H z5>*LCAo{2$<=I*i_9;K$9EY*PH0PcmhJuflZfUf?pWby;+N+!I9ciN&$;0oQ$(#}L zRx7I#uJ>s%XOz~;_@?U~L7l__>z1eP`620-Pl3@zO)>)4U?%cFIw&WXEOFQMKfQZq zbaF=_n=4CJ^dmsK1|z^ed&UT}#HL8I`04}lv;I5n|1K=_0R8&k0s8YWbMb%az39K! zhjw0)19Bw%#j@x!6mJ=**Uh?zXfnVGm+e)p5qdt z@Y_GKO!4IG-wZU&{up9X`oVBFyqfGl`_*;zUjw7=getMC9C5QLx-;^**4Ke3)IMQ0 zD~FkSwV*gGVtQZw1(@-REU`H+i$Hu*PRD*zlqO}wtVup!Oj>Gxw!)e!Ngsi#b?w|{ z3X{Qsn_&|+pG}B(Gr3V_>eNJQgw_gwzM?`Yf7$zZfK%L}+`SWa=Z4eU@mIdrcd%H1 zQ_uxTdZUzX_{Z{d!j37M7jWmYY|HQ&`*JVYcbotXBr#d`R}_pC;8Ci+a7avIoH4Fd z@*~UAAlNJzmhDWcp2a)^H4)FbC{JmMg6{eJnXpr7Sf)`rFeyz$D36nSzBwG)7!O_u zS-f6*+Q4K-oic~_CTjMFl&K=1T#9PXh7GX!o2JoyyB>3Si)3F~{@d-sGj*VzW2@Tb zs-Nex?gdb;3g5A`Kcs4+WGVG{#S7vo&4zc+IYFDkg}MB@(o2yp;zxlZfVVjx$)#w# z2hn$Y3Gox1B2})+Ir3Ai5>SGv1&I^IVP3wa$<4RJt28xR%vl91x)1TCO#}14NCO#l zX`k&(5l^l5;9FRJvqmgD*0`xBJ)FXG6f$()XYF~WTR9EasCI!1uf%Zczt~4uFkQ-)NJn_t}(!Si}N7YgG@QD zd`u*Fd5;W_;>~#hK}8_y`_|Oda+EWXHw!s&awQ{5J9LAIG&?H3|NMUBR+`r(jk#US zvRRZHpL~Fb?2iuaTMT|FAJjPza)n&sAK@~Q+A3lsuv-5U1%hvPX!JB1vBXN4-fUNk zNI$_*Pxn^1lHeRRv#-`HzUT}co|Cixj$1YxY~#cjEbNJ0EP zmfR8K>>%UM0!sDv7Ob}Aw%eL4`)Ng5uprfKB=Y?1EaXJ>>O3nk;sqxa3stNf#O?9) zus9fJ)Pptw_CCEC{fcq7EE#Z#*A8jH{)vib8Xi!nz>pU}bQl325qlD%BhD4~-!>(R z3yT$S|3UZN>0eH!($fB|J{|qrO&$~R{^5J|7-aQ*ko}S~0}~#JvkbWD$%;J*32Ox< z5LsL^YOUzj7RZn&;K&?b7^n;dWVL-7?)uzM0jNQS!7>l8OE{v7r4 z+CELC-)sJ+vj}{5rgr*`=g4Ldr+5%8HjE8xv*h=4%NOSht}pZ*6|JeizQu6cZAnho z5kDkx_G|Plamo5glFGB4`W^ys$P#U8}(xc7&xLK#4GihJjT((<9uMtT#N|F&tZ zjThjt!Rf-EmVwa9a@NwZPq;{qecxb&#Gi_hYS@Hh!a#S-9(b0o-ip`gbIZdIa!(9w zb=*YZopK>!_jxV>c^;BeEc-Ehm1575N=C^39H&`6B-pL?gr|&>hN$)!J_p>BC8~*$ zB>$2&A5+XxlisBFIYwPw9x;F*-E5G}+l@g^W%=_2c7{MqvrMN68yifsM;VY0oyx|B z7)R=g*xW&GU8n}>s?oaqXwj`qVfzo?mK#aREokR;QJ+CZlOx6sq~^8S04I-^8dZxY zX%;Oa``W}!D(P*J9}f{YiHqUzg4;_{5G7)8w_k9yKPMB7Xx*IXCAC7 zNmqCai_0j~0ek&Fu}VH)^CdfOjCX5bX3go;NZK>1P}%X{u&iX+y;xCs_P9)sgbUW6 zLP0~wrM21CMuGN11Mcd(VwjjtT~=5WAK4faliGkrH7grT9`MI~?h2Y{*%wgaHWa+# z41U1w%a4V`3|TGU;@1At<2IJ1wgf|YR&8Z+I`+W3P>yXeQE3>zVZcKu)1kU~bs8^` zZ)>$+04-jKoKEewtHIn$m9KF~1i#|=s&IKW&L#MePN|??-WPUv%f(cq82^&a#ww% zEk}~nq>HxFh7VQ#pU$hOJ^9GTyi=KG(Ma{~Otx7}(bN;4(zNl=q;$^gDo;?f- z(<~*P>L&$GU&{*!RSbK!&5S8;x}i6se_fX%MU2Xh)R_>v{9I{a8hqdOTw~E;>C?b> zePT3%=cLxkH@aA6VFgD2-3FKSn9yizMfI1AsJ}pRy;yU&A(yLt_vWiZqTXY@c3#B! zS`CBOld!D?P^+};TMNY{;*W|;XKgcncCQ}RhNSbcTpKG8U&Q=tn1_teZq;yBGwEsgMQOLl8$uC2om$;FH8`3oOaN+1I1V80}h73!7HvaN-$r&03 zXmm0*87wq2r&cgniW75tr~t|Vv=Y)&pK1Cmc0JmB6C_G2h95F~F?rNdJ5}Br4STqc zyL3z6=e39*jU^pRO?`|MD~!0GsM*RqT!Y=;)JBr(5HnPhP6{QZ-ePr%unh)hZP$nt z#r~ALU!bH;Y>x+AP1-6q_DRn27(=vpJ}+S}1VaeK?N?Y2FEE!gPD}GC-4{fb>CdM-Ww;1-u_wrIdHvuQ2K6l+^t2+W!|mZ!@Lm!y`G$twAg=uew}x!L3}SVY zs2z#JdRT^ITiY;KDOTayTyd57k41Ou>s8uUG$EZR=o*qL)(G|n0ztzsSufOnz2y@; zM|AjVVqR(N2RkeNf&4DOgA`%OvGryOuyO>ob{C!-0e0w(PP;XQQaisf*ohw$zg(m{pJ5^DUb2 zF_AT|QDiD_G6hZveG&>Z4SD%>=RRBgazzFYM1{)o3x!SLD3uR?cYKxWvX*XGl{~wl zrMAQ#J;|<)UVr>3F3WxB7=jwb*@R9D!zzMPgB)mYwl z!dOq$0v)Rha68ql-t+xs=My4B?|il76=mNVZo+|Fye z72l^A{5+`3Ttv6(;!;*{gaoC=(%4c{!CE=%pdn;uX`jiC5FGs7NUw8L7ecM8` zA)5?+O7hb>#alI;t(70{2**1f7cv4g3@d#^u&Z{>r2f$VVZlRhcbtfThUxY)W0-TM z%Gck+Yf$qPZgl^%ahA0C*dEI0uMS+K(w3b&t-!5^hy?{qlnagaGzH78& zRErdM!|dPy5INF~=uS)j29*V8t{Tk0PSM-4_j#4YO!Nb>ED~sr$NcC%4G>W<$_dc~ z?O!utmS>Wv_zGl;Jp-}|wOV7EMgK)l98 z2c$t0X`NOT&{T#cL*kq+%TCra&<%-VP;v2#_7e(N4Fb8Cd+v3CssL2~;B(r%*8$fgR#OFEEb&0kcVt_m43Ka{`J0 zqwJPRUTL|=#^Kb=2wSCI%gl=NOBg?11cOrj8ea0~!uM-7-b6ToS_)hDuQeBwc#%+Zp4Wnn{2Q4*hWf7imLH9o9KdJMlZjum8mIVnMs6G^rcUJ7w|64Ipb_CIfx88JJkF`k43*HQcl_{*Nx&-P2XQHlrS=#ApERE%B4 zLwnUqJ7c%*1+SYmQHODsj}#NDeNql1*II#XX5Vo0#cFvQ*)Zst=4cZOj?`f=ciRR3B7mQ_AFU*!_N&UW{ydAMR&;Ds{$ME}}`yLQ*$2K*m@~Et3 z)5&S;{`7M5)?q@mlX>UylzIIQ?MFEt4E}?qh+ojvZ1b3WTRi;CrxCr7p>+SOhDAIK z{=h3StWI)!f{f>S0i>Zxk8by-WOE0hKGIqM+Qsa2fG>$YWKkIqaBvfO>!9$aC(~HN zhzidT$2e-r>njR5PqG-;X-4^vpw&hv)7w4T{5CPe_6YE@&QqB-2kx^>^w&GJp{i<} zCEL0e=%V)mS}ge>`LC_+t>CXz!55wj6HO;gH@hF;GC{Nj-1&*q8C3$3)qGMqury^t zn{)9WBmm;=1?9%Q1ODn#b>2~XnqrRqOvTDJhdm`<`fv$4oVfE2V*LsQfRnMKyNMpc z5TGVTiC&E|ogMDMk3{EJTfXVxUM$!vCL-imV*^HOgTDWSN1NOhsAkm2rRU-NtV!`fXFKts3E%i~l{5b#sMB6_P{#@8 z=>EhxGrZcb;mnspJHI2agaI)(ejlM~EGD;lXL+}G(qQt>p-=Js4|8d<#|(0RKseOQ zF?#v?%Fp`rk9{%VaW%uzSM5Jm4JAES*>kPq43`ae6Ndg$O3eJuXw5`3^ZWi^NF7uy zR(mnvsyDIRl6<)ZD!Mo<5-0l}dWhBAUCj8*CFwrY_jJ}g+~{OXX19scanW0%wk8zRcc7roRfx3wls2|`nQS8TP?`N*14Dr z_;H^ib&U1`SmOY+-&1|QqXF?PiFn-3+H>meXt39~te@bUVhzv5L<~|K^+qE*)i3S3 zSw#q&8ucKud>$}SWm^?@MV47%7z}UA4_6NNxTa76kfq5b!S--Uw!q+}b{~z|xoRYs zQ_*v5j_aU77(F*U5YTXU%3<)Ms!J&|;(_)UJ4Z#6iu11vI=>vpO&9SX73F z_)N1}J~6l*i(FOOCp~{rw!tJlshLyD;u^RPMVE_4M$>v@9bo3c4#S8)YG*Xs`?316 zf1K?QZM&RN(?o#r2dqxQpp&H;Jd7ir{j$Aif4cLZfqR-M(y-`pSXBc(>dEDlXP~S0 zuh9<9E9`mG1@9D~IXPv%FYP64W&OTVH_RQ+fAXilxleL0>|ban`oP(hKK4LZW z4-IoIu}nOIPFL-iR)t{|s?RWH#%6^l))pIyo)x3$hWCkwJP`X!oHrqR<;I3wu6u_Q$qLj&+YEw1jWl*1To=rmj*~eJwgD?a{%xbWNs>gMXYr*dO^O zJrM+FR&dd2esf$9vqMcij(pP#CA5jsmFtHRN=FS$9vaMpPKQ2ApWXh`OB(93 z3{!9l$X)9>vzsy(E9hb)L$wb(77AV8clTaA4IdXdv_xRmi;wl^@opSr;%Gp%?eqL zccsR00fg}DV)8~}s$io}AbcR3!vuSEp~xD^^|8rZ?CW1k4Y9A=f`6h`LdrF-S8i<-U$oE=uX@a*9 z{@btJ;WGmUuuIQCnZB}OG}9Hg_&}Ifob6bBi#|5(2#CPlj*PL*l=d?DHcQ?%JyY3m zETXz|oQ!`;QaqEsvl+~6u$)?ktJf0dJAf9@n$gwQd*h;fEP#2+{q&TcV{T>uP9D$mSy}gVT{%JsC6B_ffc=qup1v zu9+tY68g4>PVEe`%XxY2s6EtJ8DULgL+;dZvF4|eMfsG;c0SA9h$RlHud5w_`pCOm zNx4=t=W|!Z7ML{7^OM|qz&w5kPxU{9ImVSeSe=^rFXx+!o60CoCCBaOyuX~p(?svb zY>~q3-%8cLimsn%g#$5{o$i0My+IcpdaCPife!VriGaOFWOg;`fm)MWb=jb&v<^gu z@IM*2Jx~VMX1!>O-3WJpJ-5!KzKP_t7nl)?PK+W{U+6PYrz9;hUmqO(Yi{1W*QRJ8 z+b-$n(sf?A7;UZfm8>QL%G)+1IaV#YlMOzKBsl z`fmA%LLR?J-3s{X>L|t0aZvDOvSPc$6;jPZd7{mXHy!T<$4|9q7`z=>V2B{j%E;Vn zQq{ZdsFD7}=y_lr5JE1CezP_G%f^~5$%NJ8ve%HD+iOc&D&8aiO=)MP?F%R^#tfK< z;ZFLBu8WpWlr78Z`5sRn7lL&PWS`2oy7cLF*V?x&R22X>@fOyAq0k=A@M<8~$Rg{w zXt9`N_KUh2C)?_phb>3~+n&cZb2>Ijg4Hs#nwR`R1`US-w1IWOygxvjM0f~!$Jn0llN#yIAD3pGvuP$twtc(aLRtH>tRlq3F zMyxI0mm4}n&-ejJ@25;sSGRvFRL+4GUEp_Hf3DAdzaREtgyd}tvJN{(FDn7RKUjtk zkD?83vhZJP(I0lSIVIKagbqj2{SRN0S4OQ3%AxNa_?7MJXoGbzmx)bY4@jhXtY5J` zT54ZxvW%WHezU1tss_IOxgRhNJfC+<*RB=iNOnwYsIJSK0ZW^6^Ju-iuF`(_acmQp z8JSIAeYsAb;JzRYcNZz*`DT6g2N*r3o4NYCX;V-423vZ{)(mU8w||^zI)0X>y6xJA zT#vBDWn^jbHuI2>d8Ak`eRO6wKeIh9`Nz3=F?O^GNA>ALWiTA>;wYS|GK8ZHNbpz= z8nP>xRAXTJ=i9ZseHtK*`OWC-C*^O+ky_%*|i$Ls54ATqn_l;GcD0octh zPCP`0T-yw$PO;)rYg`ra$pAlO zGJ14r$BtieiS3Jy~97l}YOi9OyES(I{H zOU-(qE6sqLJz|N2KAPAqj!+pXM!cqLyCx`L#Idzs?)}Zf z!2JSARqO2VDd9eqSd;Axo4h$FQJR1jJMS{RW~b@b_MOz$p(XrikiK5}$RpuEdou^* z9xB5^z`w*EQPT>&yEJXKn&cWeUl2vKWVeKa9RMIgsqlXfe;J(vvoJ*K~{)1jL z)+tH5eg(Xm$9dS}ToESP&WY((t;O}XK~L~sPs}>y9U19=mu1@5&QkQTcyJW4=VH^9 z`=t=>IKA|f#L5Yuu-T<0%_UI;=s}UZwCD_j&k@m>tvDG=r~@`J^0!{<06q|^KL8V> zq6)`Z03M2`&D_uzfFiByia)N=S(#vmdLEy{^{R3yQ0=|a?gzzv|4XKJPhuVGit1WA z%+CnEQH_lYz&K_ui-FmB^0j+FCKGn2QAzWAypS>mkD@OUN_lIzXcS}4lW%%}qt4m; zjs|=5@($2v8Saaq<5cixHuLKS&_xha#-B|*yzA3R? zG*C2r7=s4(?DuSI)%N42;9SHrkn#!1jIVHo%jC+!sM34)Y7C0Rp7r zBr~BS=Xs3Bg3JzMTmt?Fs?ty{&P*J*HelgQnhP!R-;EqLVlJyd{SPT}Rn+T~Zk|g+ zFZQcQ=eHnBx45(cp)$dyGozp05_Lg!uBx8J>YlE5~uig!o0wI6-Jc#2gxF!O*Prm%;!IT8}#3c!x;J{#MaZD*xD^z3!y0b19jl(H!{yi zs*R-a9S*xf)jS#QYfL$R60BGJ=-c)7yX>lh_zc&Y0n-)Nuk5Xwt#DclY&p38C&6nz zZnQ9S9m!XbZh47ZmAVGMSC*pNtld-3C(xI1TWj-KHlt;)(e~NK?hN3)I*0Pi$Yj`l z%HIQFcRJ1pQT8>|s?3XD@UHeiCq2-2d003!7Z94@!uwK8|A{@4kxA1o@-ddj?vQzTL{c^R!{2$%S9zr?S(q)0jI%`LvO=HnPSs&h-Hj zKY;isH=PocZl7V}-NU)lS2l^1JS{|58h6sFO3{N9%2W9-4%*gpbTfswc%S^mW-}Z5 z-wLPow9K2%B2>=hA`Wywp$~3I&L0jW%pYdtB_wq@4eC{-fqZVEWmymEb9-o~?-#!H z5?28NrawN>wuhmwO$XX4NSYdWH;}hPPowVZnpb2iJc=%IDr1B&X{HVhLY8+?`&fFK zIj+s@a3|g$mxX%Vgc(sWA4VPP;beVZ3ZfOLurF5D2ru)Z3DRy-QnP`}f=`jcI%p;O zPr%3tUbYg}@)u5(q5&}ovLN?)5_cP8V7-M@(Qf+0!=|5>lc#y~Ojmf7IRqsHd1HPT zL5fxfOC#&X4rZ%HpRbb}632!*wy_PCD9riaPbL6R4uo>efG&gJpJNX`(HE51b-V(Y z2bBX`e}ZgU3=D(cBT}Z-4bciD`Z7C@nt826(|0Qx(AR|Wfsm>B=wyzxcYkHPaSC6!}C_YJk zPVvy1RgW)2^TyA^8`7%Iy7C*l9N3rFXJS`Bp{(2AbP!G3Ts;xsTKVI0QU%oaX|^Vd zP)kE3sgT={oM#5aapp(+Wvi{%zC^s{IQ=sx$u0hde*&ZR9;YKR`Z@y;PcVJoY? zHu)HnbmfY32)_S?`EW3k-zFmdAxQAuMf~32sbH)EI7@nK$Pe^(fOk~|KjV<1=Jg7S z5O-^KaXwl)y4PE2F8}B&^GuO#<*e$d0zfS@BG_|`=2G1+9^C@khrh2gm<^kT2uD?` z=dATL5v;y6-@YZ@k9&XiW@wy^1sB=pb<{>yu$e-dDQZZ)=`&fr%R=# zvO+kd{B3Ts`G*~@0jJ3Qo7l((pN6;S@^iRkybnC(C8fhsag@7c%-0w%5Rs%VfMRa&PaEP?Bk!OT=M zEylQbHFY}ODTSNbzT6z++QF`@3eKBAg;gH-PSZ(QY$frMk)uzZs0DB9EzD8!tJ|O` zvAnWH8Bv|n?l`*G+nzDq(|1Hp+&Zo|d;Mg9%xpn~fK{2;&6MPMoOMm|bd+WJ`8a2V zm+Tibjiae=!)#q-j~{|)-)oY(Y;5>eaFfTykjgu@67=&u1c1a4ORjkJMAk`X8z|M`{v&`FoqTKGf~^q z*7_}SE@xUHYnTATGmI-uX{fKO!BCxisqOEB=Zc7&4?_hAUEaq84mt+?9?9C~d+$uK z%=W&nlMB;JIh-!XIN*WFJCe>?KVR%k?_STb)IgKiD^=*IETQ?|k8iwi#m!kZOc&xn z1cy~GNWw&(!%5}Xme1X`ds;()&iqmUCItE}8}=p;bJ?z;GGa}%+t{`EDi4}3hKiUB z59z(8=b4HV5!DyhJl=df6LIc-54J6QGm5hBo1=BDGNHhzL>gUOMs2W zP|UMcX|Z+5dX6iXwHnxqa|y|u5yDFfTH=K8W8Aw9U1Ko&Fep)y zjtxI4u*=k1X*ea#)8tbw9*seM*5Ti)*zvR@<4R2`p1jfvdUa8r{*bbDue zDQ-^+Z_u$ZJ|4%$H+&?sC=86F$}<`C(9x8mO=|jzwlXppAv*E#TaLT3G%V}KR?1V5 z$M+XSc2Khu zPHDz_*$i9f*M3sw6c=`_(6nOpgyY}8Qa#hzdbu$mwus_`bH^F1f5Bpt}|SuT{^6; zJONXFlm~T%5&r&;^J);T%|drM|8pwf<$9%I!&+O~%4A5wG0rbB`E#|<4vNX) zM)&H?f6P&5M71a4m}UtB&o4+#k0G3que#1uMTQYucH{6dRtjUI7wk;?Ql4&KV>0uO zPyW2Q&U{FL?kelZ{U(kDjMQDN!6_wvKNGc3CB7yQNB`>MG}4wxxsZ$+d-_BebHEJZ z=-=6vvxVs*wrFbXWK~huP7-?4bWNh}owYSSoGNp9^~UR-GuXc?5BhS%7n6CUNU`gL z5Cu?8{56QstLk?0)@}@qUR|`&iHK=M9}?+2v!|jnPy$5$vzPQFq)g6(P0}E>ln#EL z?CkvpR;&JQl(|EW{{~qZUEUWk%UQQI3{q3LkgXB4Ppz+zZWJP`*g z3(QbPNSRy>`n{WSK?Eo5WT+$Mh}@6eWr1UZU+Olh&Q(Auq#@v!cVhX+Hw>w-VPd(} zs7|K+>td&;vx6y7MpJviGt}(aW>YOBB^UDR@I91@nmTC+zNzyaH=hP;1j;BVOV}F3 zioyTjQhEEltv_G=NeBzB^)bvEs^c? zGx!*0PiJE>8#`RE6Mxp3=MDq+bfr_|Nn_ch762EACy zuDg-WO#!5}YnPI3Mv8eITQmh<%K2AfR8<5M%ldROM48kTYYj#>=<$yHv8RmVeYjJR zm_EvJ`wW_E>2Ye5BeMo(7r*z#?&@iaVk39RnY^y?a6y>lAT`nO4qmjwr_U^2NAOA$+EXfQCYHH$?V=~eMPqco8N>DP@iWNhoD~bnqFP`MJ#&ownD9bqj;QMBkJc8m}cnE z9O%0=XK1*Nwk{rSp>79-ugDh*+U|TGXQ{WdkZ++MN&MD$AnwggQHq4u;X>AY97lxL zAbyBk{;S-?8OgdozuCmHE~-340zcM;gY!5gtGt|tI0f%;1xnNF&DFE4&&h>|Xx5$; zkc!?>hDZRyiqV|gr$;uk8U%0}?5cfgx_{xtTj3^i#&-=9^?s&~x%E};-U&S`(k%N# zmV@PJ0Hh{q&P77D<$b$Oe)se^o71n{-{g1HBAAs;u&nWrTr=0Zfwn&cLJhrLJbn>w z{(?E%C9&CV+J^?)zIn@+Glrw1!nUlFnIvT{CqOSQkC-x47}tVkDx)U@>q$F^M^X8} z9DP4U*-P7GV$&Q3qdkCd1rd^lJo%DBz;Q6|)DHycP~JX~qkrnuCxBA2xp=iW`&{v> zOLT^d3HoNZ@5-C0sNH~Ny?D%X;a=bZ(%UFR=mw;Eh+=DoBP6qK3p>!v- z&WdCs=zo@=P`lv@)55SzsAlSf=VS06dd25Cti~{pb{JTOEwh?V2oX1MR18mXp71a< zrsn{ZXA;o4{B)I|GQqKu*QIwL^)n1wva}68mrGYg zJh}Qq!iP16(FSwbt^T^krM30^yhE(@Gh2nLPgc?(ROiLr7UlTW#C4Fi=Um)|97!H> zSg+t+jtCV$57LF{kQba_lCO13S`bCScQdIhTb$5BAaL3}=6_oV5I=wk>d1Dq62gnU z_AO!R67%7`j?vxqAHOjIlxw+jM>Ofbd1Rn-MAYO0xm2ptY-we*p2%XEyM2B#9Tz@| z$VwcAxhv9yi(5%!xY>sloEOV);bfN>NP7H~szJ9wEN$&>x#y|=!{F0ya?^F&ug73W zkR+>doAg%w=(Lz%#|vAX;uq|0{M$xL^((&rW_U;_ce6aYwX$j5af-%h8moz1Gcd<+G@1)HSEc z>9sJrmpsRgll=p6J>XmQtF2k_L+96sN~L6yZtB|lEjHDbmuH>HM94TSL{GNfSFme? z+qN4v+5U-6)CNxm{unFUiU!>7Q|T)|aAmyQ3-N%sydFRKj;>73TAR1oF&|3T&IP$o zc3(<~oDx6khg+5A%T}y`!m@SPN&B89ip+nDU7nTnWuklhTAg+6)|{pvDW!r2E;?<9 z=5@}ysF-pR(28L4PkT|^){Du5#}WJ?ffp!ZI^$*tI3RitLVbtgWLJAQsu(z6oLP89 zx<(0(^b^)Nj2P2r&kQvswX_ShJ{4nNM5||gtd=-Zz*A$Apq%V3X+(#|VVAM&)=wkV zrNJNH2Bq6Cc}!{P%cOII`~&bq{Y=Edo>uhL2nCE0Q-fzD$N=p6LwmJ9YRViZuZwPG zD(V1@n&0RN+1FlRx{*2k`J2x%@~@tnuBX}lmk+5W|C`q&%nX>^x%-G^HYF1ovOajK z{*WOEy{31}xO#fnmBCT>aO2n$`070`7%75;4U|2Ef98oFIKRX0+%%RfI3Dhz&No-E zb2AH;T?=X<_X|4Wt4*@-rC2aXw}r3g-&UDCgh2lha1YCb{1jY*u!4;%Cf- z-6`#uGhJ8PoTZ-Dk$nKab*|p*MN6V1Tozt+potQr3O^X%SYhcm~I~! zwfr^~r4~(l97+iNK9|qXjy!md<9&Y-vw|pad7d7(0AD%$| zUGzDg?O?{>R6Pgm*vAFgn4D}w(|(G@pvfc)Ho26pzJ{TOLbejo*;0Pw<@yi#7QLb8 z4bpoWCa@!EN&niz)nRHe+IC-zW1$?FnnbY64--Tb3J`P@stt}R8U~jlvzolOmM$&-5O1*DbP^+FWLw1 z*#Dm3mZxRi@MUt%0> zHE;j)y10A)NDunSSsz$(jO)%nO-QMYW4a>(kw-P9sXuGh_GkXqD` zCqVUPv+OxwEM{B(FMUey-<0f%%GivszpRAs(RsT7C=G_V&u7eKeA|-lr?Ku2jn|_c zQll5gfh)|mbP;(Etw!xnG%)5w6ep|eH!`Q4=qBzn?0Ra@IfTA6)3hgk^WMoCeHh?e zX(H|2M6RBEdELf9*Pb@{_3D#0%cQR$j5}JkLht)ZIZvY z-Gsa@V31{uvWwqf&a=z-neXy)Wnd*i$}fNMUb<6l?Z+QViRLN{jVs3+wNq-M-FZ(J z3b-L^Njb5*U7Pl%yArq42g&kfbAH`V5e)jMev8h({-Btf{lPzaYkbZi>$PC}VkB)U z@15*REK}T&$$NDoSe{c(vW@*iZI-CQ-57Rs7~_C*?CUI1hWG7#+n=rut$06d(!y-L zi4fx#tG7CtwRm~6H~!{T9jek^UlQXCmAge)f_3&a^6Hut40UZ-Xm$35-vhGZHb)aS z#&!GZ{|Gb)OkO0PI&~&7@$83(xIoUi!iQ`I)Y#T^#C@#LQ82lK;7IAD(QJ_WVHrbJ zZV&{#$Nu%B-Zv|k=eF-3*E!p5&U-GH@0Y5`IPSY(qw8j?+lxPfSww)OZaJbmq`W380p`iWy}$+of_p z09$EiFn>)=O#8Eg4k@P`oNZ&VZi;qs@pUr}8QSOAB!V3h70#;nI0~a6X?OKSIQ#R? z>gJb2$+Ll)KdIWhl7X`)H;_H#WnnEuXa1P(@-rf8?QXfuaF%-hGZxLet2gXY_1@9$ zMD&oyGThomcj)U;#Y(4*rw^bK@@)S!8r{=Z6zr$Z@ z$}E`$O{;Iv*{|i)qzYi-+r6dU!ffGlsCJ+PxH0|!E!NQHhiO9=MP+mMvlEeYCcA zPczyJJY4k&N<^`lxIJ8vs-aGb9QTbO4E=+Pw|xxu7Lwk-R)wa; z&gO^aGcN4`iv}KK^C`=jGFJXkJf6d2<`FIYjhqwZN3vXKj3ehjHu_DURE7;vZrwD| z9}pdIEXV7{-jCcy9OWa+L3QSORK|SqvYGL4npABWxMunTL$EG-K7b-PR#C)4cy0pt@JX2Xftj0$O|S zZ&upkG!XAAcGRN1_r2sB-f9uc@Ax_PJOSh$#qYw z#a&g8@e1ZPkp-!kW{A4uwUIZtj|`uLBmv8AOE+qej{N_Rz3&c(^X=9hB0-uOB8VV* zL`3wK2oXJqI=bjaH+o6cf*^<~r?D z|NQ+o7tg#i?=$aO&syug*S#t^_Hhp{2)&Yfdlbt*8Wd@t6`OgH#7z%+plqHF`b6r6NVnUu#wKGv zbdjIoOn54z#o>NYr&*A zAX9Ws*LtHWQ^<3|pxiFIyElsdV%28oxQ_IuN!yH_XR9^{1N4!*fXQFpcW84)v$%^E zqH4<(Arss;VK28?np5i+PLXqES3+9_kd6?&N1GF3;u8~ezbp;NKF0_4OJ&DG)g2(w z*zq&|ob}Ey?yurLVxqr#5BtZquiEh3$Y@+gD-%|`tm&v3J;mF2W^OjRk?3P)Dp zn`dL6G_vcsYSm(Z?v+Hz%ocw-FM`f)r zQI-;Z!&EZx&o{!IyhZ{MET6qO)zVam-H|JhRIAJJ;@GZqrCd7=Py zyNo{?X~7Da3RLR}<7c4t0(~yAfToI)&^;|rK(F~C4fGC(gyJ!XlsXhd_Af7AOR|T8 zd^In{yZlH0{h#kipev%=)Gv?W096F=jAO6Sf?(w-FZN+|+ribz-qJ{ZR>_txrgDtA z)dJmid?WSpF8FLXUXsUGDYC@;t1hm*}`fX|s7Z4>QtYXXVe`v$N?bR3Z>KUpq z-x74{xKj#eFU2nQ;ZtIbr6cc8d+U%52E_K^`WXVi#-f&oiR?L@ydZs6ya{1Q2Xzlz zRpiDKOSReAjAuC7DOD{H^TO~Uopyh!`BVvB?5IYd*zmfI;)UFxnAUA4UeyOCms=dH za2?_x3tRy3_)ZjcQXxyNkdR;@traNhGeD(nI~ z`$ZmSmOmA)w(X0`+*yEA zb_Sn>XIyW0uU~DqUL8AJk}LM*wU*{z=-neW*qKBPG$nSq!-MHX_Ng?^${Igv-b7`U))Ek5+H?*opIWhNi%cC03!|B3Pa*q*^+Hfb)!oA^mne%gm ztivZtl+%a5URPZ;;#ucoKjz}SqsBbqb9FiHgYSN9n~%`A=#}2FE9|6AjvCSzNh(7E zxo`aN?_3^@0kk{X-cxjKwu=lM`7_qadPCU*4gy6ewxc%g(LX-|e_+j&v>Wa{3aeL$ zV~{r%$dXMGR8t`!_4uhjk zX3zyfB|tI*pC>gTBxnI0QO1@GN$Lxxh>w{Sm%aAP4lWC44zDS6!PC%z` zUNF^n=~z+=cisKPc9(KH=8D|gkKFWe?PrFUH$v#Pw1?Gx5C@gyE+8ikHDpOESzxv3 zyP%|BTUrF)FoRN5ALf4Z4WjUS!U$b6TWgK|(479ug?4G^W?7K0b@(dK{1!m21NO`8 zvM_vQT&`UYiC$N68LmI-ErrVKyli*ZweMdpKh9W3=B-@uR}*2;N3@tu9IX9H7%JqW zAM6i12}DEqg)mM$_fb=kvJ)n3Pi~qk{?I_h$!aADRgFCu;x|^L9U>MnheS_2u*Ak% zF62L(Rz{gMO3nHLDhKsk%^q-&q&ZFKQ~WNQl0iGMUdaeuIaEj#r?Kz(#hvwBys#F& zTyb^!c@IHzxMr8H@zeJMtGe&xFEMZ8Kl$+arR%rv`$Vljzsu6Z*px4uQWHy@^!My~ zm$Fd6L0YM``6sKa*8pXx8)=LbBduH}%z#f@sEHrp&hq;J#SrDl_eiG}_H@F zqPo)oB^0^%bE!1Td@8}lK-o~_mCN*RIuZ#xZtzI?VYBYV4jA@GlO`>S{v=k8(fXBN zfX3J0-W-%bbq&YChrDW4za6jAc1zfoKf#}Suua2g;i?uPa4=<;E7!!h02PlVFx-IpMaj}P6$Ob1m3omGVatO;6GK7y zY3r?wn&!Y@K56GT#%5L8eqy(x^2WxjRfbIzrLD$kY(#6)hZgc#0T5KW70PuPLR%_V zyPA+{*GixM*uk}3$-K>yBh#S}2nidKvE)jMy9}pny5S&`%aGQy^>P9=aVm}`bnxc| z?qf&VE;;@#q;gfgYg|=?l{$6R4Qs5~AzbChjFO zZi}5rxE$=fPHVrGg|A=F@nG;2MaF%pxY8cb${cvteY{&su1&w9Eg&U_St~VD7Tsgk zu7WHPu`dh}kLhQP!j1pN8lSdms_TJdLd#|BX+fm}K~ej~gt%BmR+Wrq3z|>^={B~R z%lO>aV^25V6XJe!)5={_eGf9cxbAB>d&=z+rFfCiQJT(>4ot$_;tU$k~qUE^q@EOKdeoFJJ18 z0b#B$;Zn&u_)irV4u<&ih$V-)9s%7fFr6ajYYqNGnD@(NtdwiWLq4`9Rb#Nc(IV#4 z;`6$8XxWix?c2J8_exwrbaFaz;(5_Jvw`+KIM^9nBC$?XOzaR}suW`IdHj!Q#j&6l zyf3k1q9jWLaet?olfAsu^ctc7+wC-@y2Af6DjCzsOn#|;#)}*1U|IS4{n@Eu`E(l` z&`?TxynnFqI}_W#CR0kk$G}u2d*g*R0Y)8sX=Tsj+lOPJ>r&a@8)v4`FDCZNf9ORO z-DBUb)eZkz%8RBk*;k8Rt`G=-1%+pqhx;Q>n~1JrLTrmU6Q3A6QfpopCP$*wx^y@! zWa(z({>-*VTXxn#TN)?V#!tc6-p&;>vmU^Vs4R z88t}jEx#E1dC_9Z-Cy~jLsb1C92T75V-rQ}Bxe*Pb!+{kBy{&IOMc?vMbKW;n!ei& zS;P5k1K0BHP_L6!E9jhh5Hm2xL~w#x()B>=ONOOGC8(jcm5!`qOU~JrO8o(AKIIzB zpHW#=xEBiEw^T}HjW>6@DP)ax&5~QP5 zI^{5*80N*TD?BIcr$p%AIP$WH#AeB~eaes%JuzmvXL3Kr_B4KR*HhEl< z;Ej+kygr|wLtTVs+Ui6#;$EeV)=}oduUDh#NPHh>7het~uPw%i0rgU-y#Ha(VWOJP zq+r)Qw9%~1_mk^e%33o1g)9eMwdN|u`QXt&IA|*5Y)KVL#x`Eb?t%GNi_btY~O_ zUMwIqOM$%^X%V2KLnA4iM9r*>w)cW@hj!1(J1zzc$v&Ew&8G*YJ(`#JCBKg^up?P42Z-Ln4nJQvIyfn=R zzDmQM>pUZYTsIA}=$8x}zAZlsT)s>$rpJJp3K-+azJ9j-tVm{&=W^&Cshm&bZjvQd z?dGI@3;)ROFxwFsUh?L3EYHVgrV01dQ4fc<%ge-AMlG`kb`2I__wY-Qjpppv?=goF z?=gz~qPc}rG*k*?7D@)?wOOfC4m6<$K6|Yw<|(1_t@r5S?xVI0=~oJhwk$RVriWUvhT+M_0pLKSy~dfD9orRTP=9*_SJZ<1R_% z_k>=F3mRu{Fnl-?-)x+v=y2h}@np=<+WH8BViZuPa8bP+dcCREO-GafsG`24 z%7yb|(5)^cfftO_>Xy3Ar?au8dwauC3$FT{@RI{M!TNnT-vbOn2dk0ST7?A@dab<@chK($P7Md6req z%xhls=0DETa_Fx+gshYP$;(-6p%|<$uw#-D--E!vov*~cQ z{pw>}$n$Tt!7`oDSm@pD(|z{-%=HBh)md^Z4`l6yQ}+$<)4!B<5OsO}H_TgO-u*!d zQ~7g%(p=Yc=G)joP+I46&oMs^pz4wNETQe(q>hfpo)eVxXS4ppYKflo=_%xR6ANHP z>p#e&HUsdlbH>+OQM-fS5Go(^?0ZaF>sMCu+gn?>&6z7xXNGsHpA;K`Se#;nK=*@^ zxRm%?t1g%^gxJ&c%(e`he;k@q)Z$#4zvj^2;xS9s$oZ_IU*kh`4sc4q!r#g{_G#KZ zG4gll?b^WGY6Hy%_cw5DDXkV|X`G-^TZD2U2Y@6CV?eLz-dDVaPgW-_sNNdMm8J8=zUx>%$lBDvNkrPm zwzo?P2@@Fc&b*QlR>$j(x~qVMG5o}waz+^%j?Yhc*>2sY6Eti7w753qW$DGmNBDT)y+&ep)7U+yzg#kjo);Am4)S`SK7T4`LSV7{%pLZLa(G& z>ME%Pqe#g!4T3Hss4&x*F#5VT+FBWNfz~c;aMf_9Y9@B}qPB@ck5g~V$KHZn`XlJ? z=Oy{$_Y^O*xZ-oS7}$ktvoEz&)qcfpRdX%j8SuH86de~ZbvHm8$dl%#XG=sM%Zg?{ z+<+C->xU>mg+BHzqlZY|v^o2yAhu@uh!y-`d5eoBLes_FE2K_S>%P zARNayPOu$N*HbnG*Twk&qSS^i_AM?%Q@>z}2iRBCiX|j!a7j;S?GFD*Z4+(shn`=u z7itbjExeap>2}M@({$HU@p?QmMzgoUV3=kDT<)q~+hbqOzSwYAO$UgE@vQ~| zu{pxpb;I>Dts;v+sg;rTCp(&;8#Gft;_L5mtRYk7dyPmo(sD?`kbWWeP0g-;AAKDS zm(W%OA#Um=q*vDtXYv5Da$FwQ*|^;PSU!1hA^3IS0%zwMM|`b0bsvf<)XR+Lb6|V7 zS=rL)ANv52W@o3a+FUtCK=iOXzAdE&ah3tlJNDg00(O6$c>HRM_Ubq9r=kgT+GIU` z{EiHk-ER|pDqBOEwR)NxYPuIyKBW2*YKk z4Q94)?DE-OJETwgnQ(37V}K%j^G&+?3Hp8@!~%V|Z~tja;HzuO20h${HCq4z0_ zvJs)-{52?~N_3_#DQhe^HI-vh(;SrU&q?AYQa^iZOfudA3y%;`6lIN#cXJl^Fzvbj z#Z761MOgzKVwm@n;4}p@2KcyE4hKJ~eqyHAzU_Tedqz?jvzT4@yM3^uNrTK{JlF+j zh-@ECo8L@u^@dNQZAh2S9{IW z0@}ZEiXfJyumnIqG;DlJgDp%?sk``ftS>Gn5Mx)5HZJ4E$3L^G#F z7$G(_F2zscri*M9=yyr|U;Kf?T2!?c6)TgGa|%l+?+dD|7_+nT$S%Efrp#UxPR6<3VOT{1~$;l zY?(WG!Lcls{`QVoG}N?;)00+I%zcxNb|skpF~)FVT&#Mt)G^O^s&q$Vm@1MCg**C2 zWO;PzXnl5y3-%Z1nVB7)K)mdpnlRtfc(cMO%F!u?b<*&)!0v|^b>@k7(tas+)L)Fn$^?$dEZE)QK#FP2pF1llA=RmolpL4?2dcwKdcn z)zFbFz@c0e%2KJCgVTh%rrAr%bb_-;y{4`Zq~M>^WZg&QT138ezj?J@jJQgtr<~@P z_qAv&X};Snh6PN)f%qbxfet2dbC#E4L{0ONS_FmvnZ;fsfFNwa%*{VBShH zhEe#K%ghYSPN6xLZmx)VjIAyID1MLmqJ)7Yv;_`TD>n^;Eq!23FcHgl*msJ3VcmxE zULgtLeyzBzAv3Ky2J^ZDYlof%ql_MScjQqCVd%ZU`XHjiHVP)Yx-xsoP0oFEP} z`pg@pD8{Ry48pW-xOx{-gf30x7BXBsG+j(>la>ij;y`E0w0#lW+T1b_RsQ}!$t&qCKrVJfo|f`<2tO<#q{Y85s|`TD(=OD4 zyN%8;Su%5iHm(In-0t&f3PS%Z9*YFAa5nmz6Ij`l>`~?cEiADg!RFG(QjzAjHqHPL zO5+Q;kLY$X#b#}UF`NUy^KPls7id$4KLcXItGnNFzPHwGw0s;*^OBmx z6+V~jBePm{paH&dV*(X~VW$W+{UX&-(Dha2%R0ma z=JO6P5UK8802{xd@a6LiZh+%;#l;S*Kd=d0OSscfDY?cMFZbuGtO9#K-`xr^dSqG8 z9*|jrlQBoh3S60DqY-0Ko+xogt>m}92h1!jj1(N{9iwq0+1 zzHxsNJXOjtxABFN%-|!;tPkfN=Zh;;(my%$4wUhRR> z3GK35q~h1B(-zGu?fb$E!fuvBicJd+LrNF2YUTAv+(u&pSSon>4ajC{EZdG#zJaS+ zST~jZn4}RBJuNypq8m(EdJF!Gm6WN@vzzb`O-VCyBV2FA>v~tQ`EJ&eysLd~Gw!pS ziKR_!#TK3=(IAs5K#I*!u&qi|)#@8Zqbz!v$4g#^{*RcI=~RFdRIP~e!*oU0lkXj+ zPdOAB_Bc~O!P{ABLhInF+xN09MpW$h&RQ1y z&hTsxs)GCL4hEf+*hGcP3xW;9-+l`;@u*OtTM@cv6Q*v`oUvA@#L^1U4i#Odd5ZC^ z7`ZNybnm!EBJjk5NNHM~Whl{9A+xb%)4b_LmHG&9s5DHE9^Ld?ZuU@kv&g-(ekFiA z*lBq02(;)j<-Te)^|}?;B8cYEFc#TNJ$zJMyMhjX_(jksx`x%HQq(%6GgUZ3{t3wB zfx2KK5lu-G%HeU*rHnJ+T1ZNVL$scYA$Nqjwq4F5eo{tu&t-UdQd zX;<}aivJTt|6hwHxk<;UL8Ss~YQ=46Zqmy2(+z~NZ?6Hto3CwkL*F_=gj?c8Ey5D; zV|YY4LNdfwSlW`tEsQJT^NpPb@dIQcwWh*EMts{;KbCe(wUndyYm1;V|K-=#X5$N! zLap1a{W*BPzOAlj0~>-V%lU-Xe0uGAhqBRItu&!C6|UAQ5qhxLJ8*`#XNL3^5nmS4 zW?FGM<6nF*Jyy`{{7OND6Hx68RjYC>W3p@5I&-%+fLjT{d{Wlm!EH+2wOY+nzweJ9 zs@*e8UOy>GN|+=dDJBxTj)##|F>%Q=ZT{uF1uKOQ5VId#Q52!A&S!9z;#1GW^w&yU zB@x;+$~1TQNFirU6Q}}2gjgIfk6x5brBd2{wg@K@rE_FV^L(sWwDJrnnVVLv`U-Hv z5z2QTq1)3s^uOnA$*Wt$Z!lS}Et@OF6KBXm##Ap{?3n#}V8HRM;^O4laXlsI=ff2~ z7ohrLv5{#f5-|8-kh^pV9`-e740 zgLfq)emK(DIBi$#*$t3Wbdz40c3qNnL89)XMKOhq_ETdjZB}pDOZ6V;SI@D0<~*7i zW&<&7uIRJX=S0}MIC%^wr;;jCo!pT0$dmgsTT;oJ$@%Pu4JDdN+Sa;xOW!r;)XLJ3 z%v_|Efei8o2Zcd_+3FFd!?k0|7^CVzZ})o5qV!411)J`jOqM%`Q^N3zA72<~=f_@c z;3*9y3v*RBG>@^IHORPUqC#Mkx2tw`Dj|D&96FFA7$uKMJ+s^>IelMO_ad%^Q&Zr2$fi%{60HU%CB$pCu=#Ak2mWS5#GT$QO;yz zpUdX0_U2d3ib9Nsw3aMQ=pODVXPYY+>v-EILv!+=aJ61TWteMMgkrhXZQlH{`^&1` zn(j1)a)VrpUPu8U(+(U>jL_|~*No&RZf72uh(g9i^JN?+(tc^W58)2JT`6Z=_i1R0 z_gCVAVZh>LT#IUPQA3Ttjbb2aIJ$UhCnR3ILhG^Ai#>9m!L@7L<$K*x3Fx?lB~~-O?`8nu zkuwgY7Jm5A9Bx^^Y>IyOSI1Mw;eO^Pll7S}i0N!)AYEZJ&5cF_P&(3ppqiFq7)wiH zST}3r1t*U!z1;4YmGfx{ztOCIr^t9FpBJ?0+WxWk-gkyXT-WGtV8|ZzG+`Wlwi}6i zh%6B4#s{S(ZJ_0y-qg@t$ce9`0||X(Nino0u2w}*d-#;J?w|6WiAUX?Juo!jn|??V zhv46$rZ7SEMt)NmhZ*#WAZ>9+fytqeY%V|#~IE?MV zxI#l5{GqpgYl@zY_YY!hb}10*)ATOC$ZUaot?^6Y7nTiiD=0#`b=Z&`BV) z*-?e~avnheie!mH%Wae_*Fhn<^L3*%r)vvb0k?N150c)SN*mYcdPXHNH)o$N0!eMkmDeGG(2pn9^7E1c zufk}xGoATzoYy~HiGSM2zmUElM{w%{3XbNGL0>nmpsJ9P+(r0e<#Exgm5LO%#!}IR zx^gBM#EhJ%kLPKGC%;XLIqcGv{7d|wFqna}Yh$(u zVs+U;OW;u%3FP)Y?(0;GxtZ;^kOp~&0^$rcGm)97hbk7O_N|fC;5?FGCu5UZLIKB< zdX-xX;<#aLK!-@}d66qmV9AXYjACkGQ*ebwTJ}eN!=Jgh*Rk+7OB{U_R~HZ7mb(YH zw7G^&RX$85SN<^Y_BNUyKFS@4J}PFDP4+gMNI8aEJ=`~+II>AoyL*1zj8XwuHPF#Q z$azaFlxd3SKnAQblN|97JOoK@v#X*5>>^B-D|wvHE)A&SnjQJ(J@DF>ohq7 zfi58@{dd-6Th8|weo#_=`{oxn(~(RCRYC^N>D!MD?njR7Wmi2?DYB1fY#@Eu{fyFOan}CF8YvgVT<@b=R0yLJh<8l$Y&pY-+N}<_ zBFGs_?jC{fj^PTttp_Sw*UEH$wI#Fr_2Gwojl!pW{q#yv8MAvw+FGo`x-WI2CwMvd z##=dQ;7Vs+v)|0}iSA?_fN=jX8ruo#bS|BKlIE2Bp-fu~d;4rNBmH6e!(?;kQ3HOJ zt9fExT5ZtQ<~mIpepj@9QJ1|rZJ@E+G{N@5-(9-F5XrMpZ0U_b1F4|Rw#A#GL8qT>V%dJn${RKJPWEh82Zhc@4!#Y| zFJ>=2-5;^V?Id6qO^XgH3WVOTtxHN@pU~I-8mt_bs5RAn0a@^x1C@$v6@oy-6Q%u{ zT0s(5m4~W_ToRfg5xk_^OUw|p2|tC~|4I-2NBDaO^tzYw4k$C7o#EfHZvKIw094Wk z&p{ZWSVsY2H9#cVT%%$B;2lqwN2F`fI^GRH;!6ky;g5_E-pxpTUFL5U>sNtZAbr$i z)M@e1A8|LXmo35{it_ef`3Jx>SoRl!k=aX4;MmAbXyR2_H3c}Cn5B+5*7Jpj(f*T`Iu13_f4v|NhIL&Q0sPJ zRKXo$N;POw(jRsrF|(ddSXmk^PuAGmB^Cv%Xgb^4X$jQ<98s|#aO#WN6({SD2ZdH; z0R{!n8*5>$8_A4sdCSD>n{)4gP91TVtgu^n!*YWGUdPq^D+|gJ`eerCdk&F%;>$1b zoxAoa#msH6;_Op{4f>UZwHy~_lFF7(Ux3F;^{I#TP7&T`vT-&(TA6_1q&ILL`dHH@ zdQ0o_?`I&*AtxU-vJStrThd(FEC3C($XVVM?P5Eexe@$w=muNnI%4CuOKW8oi(88$ zN44il7c=Y*sKVsJY`PW#C>du#qMKYv@3nIWZs5ii1c1tuYfhV^PV(8YCnwmvzP07- z;s>kl%TuQj2~ktM338EoY74ArF<~@Sgw=RdiGqN`*{7hFPdWZP;iCxMkZ8UJ0G6A$ z$(<(0M^mnxcPsYx_UxkiQsm_Cij@*4d{y2_^5zF0OArtn@2n}Qxq3byzRak68nO$` zu=RS%)3=xHEJHKsVBQ;xjZ$h^i!xR~Y2qF&XDw1U|8cFnLy4m^*K%Eei9#sV4%U zBXv64!>Fq#3#Y#*I`p@;+IK}ceK$YUCIa&lG$;MtTNXqYHU+^V!5=5X27Qiy1o%TCDgFQ;&D|8?2+A5lkt*eWAnyJxwE#MkigTqKpB@v z(8)nmP($xBc*NFH>%%>+Zu0B4Q%CG@2 z)hPvtvDd^?3*;;4ci&7BmoF?&)Z59)Zwcy;<6rN)?@Jz#Xp(yzr4h}BrOI>1g(vkUr$5>$$=U*fh)vMDw2^9AOncXFEP{I zl7U?oAwc+7{-V)gk$NHb2eD?Lbe-KK)yPQIfCW|0S5~mbaTE+)jhW3oz)ZlJg7ap5 zvqoE<5X=zu3=psIKc1fwAGI5ROtwlDvlkRW`qK4VkXKpl{=Wr|GPvs)2|3Tl#ElhG zHJzwXS^&&x(&CcimWNrg#dXI3CMnD3_amKOXvsgtF~hea1JqFAQYP;LATn*9t}_5( z?h$-WM0Ba$2WHyL8sqI;e1eStnY=P+TvHT<`J23SnU-vEoKF!}I&^6PuEunPU|N3= zF1lWzq{Abaz;G~o(LFq4+p|yJiKA{oP|?wGIhs;63rT+c61S`Ui`Pwi-hTQa!?&Zt z?MdtM1r67?-cea!^^jWD(f~P2n0`(0|6}d-o8x*69mynwuX^Wg*hWf@6T_ICP3C4m zKHSgG@5sMI>8^vgc|Dc}6hLUxyNF7DP{;QWk^xzosUeIc3)w0T>0_iqGU6ZXu8#+k zlq(kFH9n{6!@lrUjBHFaMJe#36V2Kl#Z8p5Ph?&$4q%8pSswhxfdNQ`iCWUR$9|5S z(;DyV%wS=qHtVTOJfxMF8Le)$7+g5{9z%J1KzVf2PM_K<0AZ4S8YYY*q2m$wlT&Un z8^fyn=L=g=B)^a$fi~~h(^o=JT166ji4$o&D(YUwPU>)v>F4oq5JcnT>dMTKRoX;J zk}lMZLmsBF`Z$wKs;q8Y&ag_!$!T7tbOw*3$tc8SM|>{bqe{6&zOndb1~dP;^14&^ zZWF`E2a1kkLg}9h_^!*MILeYHw0$ylXS?lmR`rrnb7MQZ^dzcwwOwsWRXHxold5I{ zZrc*e28+K_JdZihGx2~I+^zb}pp z=iC7XqgFWNx>-&(=DZk;S@)~HzOns-0$@@*4j)^myq(@zzTA~G=O<@COh+LYNZeH4 z2AylA%@lx@-rub~mz#%?0IbyalP5sWsNNH#2<=bywGj%+_VRv5(b29>whwDZoV5Oa zQei``VV~Pm2GNlwsf<{}{G6jxCcGDQV0L&n{{%Lz`nf6LV#j*y4}Gf4GP}r_Te=4a zbNdZ0XmfU4+}(-*jXDUs0@5^%lJ03{voz|id!77tMC}g zaY63|GDFfut41P7ta8EZ-<{p{Bfms(!vTpRzo$Il&Yjq?4x+AwqR~yQ)O=7k`aegNc4L#@|5ERn*sB zUaoA-Ju#%xa7_mVkbwv5x40h(XCn=o+oE1p6+`!Wsq2-VpmsbR%&J|Fe`0=6ruB2H zUg!9@I9&@R0NkxZ2~m6=HUb(q(j-=E$SNZs^5}Yv{=+ucvF}Os0rfK| z2(cn6HH`s+gxvs@#@9Qc0KtFb+)c;mhtf^@pHG@1m2plhk5+zXt=~HMp%}5XM-j6b z-xszqRBx-G{oHl3HGgBjv!WU0bC+8^UV0vN@>`N{=i3|!NBNy_V#Vbo{(}=>tc0Oc z=+l9e0w@m+D5Sr;KZqZm{kmmp`s|9BS=gm%-JBOw(oP3un!=~OZJ4n8lf$-EUp_P& znzQA8eW;Jyq59y7o}K_8%~qrjvvox1jg&_obz-%2>H5Wi@|gp`9Fs6Bzo|R-qm`Zp z7ZqeeY>mOOC}c^|4{#m4GuJ41eQ&;I$Xr}dyioj$_LfP1=ZKpAQElwC~G*WG*dRA>#nyU(B6LWthA~N)cL5BBgOI+d(>^;{h;! zun_qSWbzDjpRjh2m`l{7%Q0=8G;{Mnap(j+V*j*`D;V9)_f(r2=_GRb_jl*|1EMee z8|m`aITdka9cCgk_g_iN0&OZ-aXRGlPsg}c%3GHO%eoac)Ev<%lK6c+E4o{o;yWL9 zq`i2bbCe`1%K=nbv%2;mrT4ADHt)oL&Ae=D#k+A5wtJ<4F1{$(J@9XZs8GavUan{m z3z%Mc}EsUC7t%*Ac zi|sZg{>38xJ4Ad;SCcc}rYNOD>C!@#XOVo`@@8F8EiF-%rJAh}kxCD4w1Dv!|rzO!)Q-9m{pZ_r_7ifn)j%|5*mB7qsVKvNG4%W#N#es8B= zzW|s`p|LPV3sN)Wa8{MGUE9f{3C&$P6nH%cj+#F?ecHmN@zCTL^m8N^YQDZ2{F@V` znW2djy|nNQl#~(%e-_j?!CR$C$l4SFs#8r7l*HgX;p4sG1NHeIcP>>oJsDoUz`dZV zuSwdkTUf#~zoru6I)m&9KK)#nw5uWPATykr^y0W$=~J0nU0i^`MHGdPY_*FiLHkR+ zBtXV&+~;jCq~C1pQ)NOjlA&I9m-4zw&!S%#|AZ*7j#?*D<>(mr{rvcXH)$|yY8Us^ zY&6*6*R?e7v^xN^Tt6YR7T$K%$!UAEdJm$N=9kI1(`V_F(nl5ZldiNhik)L!A68y< zFcQqRAw~Q`rGH&K(D3e72+N1rQy8yRi)oE%K>+Sa+}7L$bwBXM5NX8S%B&!0xoL^t zGsMgIPkuqN^tC%Z8$BLwT_Mxes#paNc*>_kNN% zb=^G$MrGEmVww3YOYgj#)+4Z32%pw865cclrUp&OpaM^*bCud8OPeM-)vSlSD+D=8QwKIsqF!5eLm-i>g1AwvpabtJROLHrA zDX-Fj`t4dpklgX*%0J56UZmmzUXpBs1C9(w9LTv^sZZL)eQeYO(fKfd$%a^9uAZR? zMY*ei(Ub(*v$mS#Ds)TDs*9iE%4+hY@2+?%QR10_j8#sfSgc}aT*Co} ztB&2U_anq?ylcS44!`b`SHqT@>T~IgebuJTn5HrLC};kv-q+0m$JP0RaeN$WSLg$p^0jaW;tlD=Nvo)-7Mf!Ckc z#r6_HmfcZeGk5RG+Ot*tl6ObP{H1I`kQF4U+`RUa%WSQsYrm+R7&$a)qmxF<)FvAD zf<_p8?YC&|slb$E^zd9~)D#WfH=iK+CQs$PZssVB59Y(wIG!7zvr5r*c)7MJt<3vV zr2fqHLEkg%pE9M9#112s9LtEXjrgmhcFS2gCkQXo-w@}4>e4i73ej5dR>sqZVZb*u@YwB-K^9%z0(CDHWik_)Tz79mtPJ&n#+IlV+4 zsLZp_#u4TSk+lGTo3%DE0Tt3gp4h#1?Ki9XGdgGE;`zVU8cKth%jme9vKHl%m^Y^A zX+jgFzY?F&gvz5**+~L~Lmu7#`C#dEr8^lWs0mbn%SAg+FM8nURs!fV9AgM424@vi zh9dr7Kl;7^lGm$PWmEi)hJ{$dzi9#V6JY6|-X!SX2@(?=S~?0&cPWK_ZydzrA>IM# zw6@0$HHOzc#v4X*&|iHE&XnO^wh( zAjBX}9L>>#cXEu3BNZMgX(e?SEA%SZi(g?)f6C@9Z>+Yd+{CkH-omzKM&GS!<-4iu zDM7M2s!sh2Swb_r0e*hDlJVRG_z7r^2l?0MDIL^1-fsB7m7xC&Px-{4L;6At$~|Q;R0Nq zZP@kh^PJ+pR0IA|&HGROx*P|!t<(y|KZyn)cmytm|t@e=lSPz8k7FR ztNq*B4jEdY;UYFyHS7QD%lzBh&qEe%lYlKqVU=Pzw`K9a@^N33froy@{pA|nf9n=>^%oC8krdWpf~@ex1aM}z8C>pU!<={9m5;bDso@ z+ke%syS4MR&iUB?%0)q>B5J@E3|wc8dHP?m&hx(Q04KmU*^?;Qr~Gf-0^7f~U@E)Q z{lC@2_}v9O%x&dFxhMavTW}B90ugC1iRdDE;0lA>l)F8qsC*gF#4&Ko4NpNd6 zgH<;00oZI-_A6qj|MX}t`RGhQ+SkGrURhbW$MS=d;_)5oKgKp3UK*j2q$>eF_A4VHQLzy`f-KAOD#0OpkBr&UbG9! z6MgCYmTKyrhh!ZCr03lMh!m{;2QkwA7IuNrq;8GU<}D1k&e=SXeMa;5!gI- ze(&>Z#ai)-OsyK|{^{H9;To8E2)$gUbO496mxa0e$x(kjW+Wkb&ez69ve|!4-93gC zXd~UA@NzFdrK?y8QDAFM_15q#DTP+n5XqL;8f^#;^CVBVT( zD^XXbXrknTR{xwj*GGg*2yz_s?d}eE9S)+Xrurwgtj!r1-uU`CI8<$CB_poTOFOP) z`OaXANG31Y{qyh9{=a{ZVA8$)>1yI5WqfD=Zgt?)LA1eVa4TE{z9$Xezj|I0`9CCmVe%dAX&0ka zm@Qb@zJ3}pF%$E;T_fh7e~UN&?zf29B*9}w zQix-YZd<8n8aw9|ALliu^J*av(*7zKEjP@Gp1YzGSmAp1he)S%t$s_kH<)OAWt;0X zk;2!E4p0Rdh$Hft`AB=-g~k{_D#pcZpqjB=dy84Wx_5eBY-Fkb$pW^Ot~(_Fr^%9- zu|$Wj$Pm44>fbpDRiOi){}6Ehg)?}3IKQ3b&I4K?z2%%sRh#&i#xXS=FJMNRGQ zZdSHCw4>Y4YD46!y#;EljtF?{AOj=gv4pd;vn@L0M|DZP>y|3KTQQ5s)nD=!sTVOg z_&?Zt&#)%9ZEYB_fXjlYfJ#$T5NRsXOKgaOfJjrSf`XLLix3h-RHR0wgAfIz_ma?q zB1CBsLI@Bb^pJ!QYA7M_J+8ISIs5Dv_j%v%{9V_@4=(1zQ|7$qJ?=5)m}3s6^;?=- zw#NH0Ew3JV={Yvap?YTKt;J&_mMf7GR3ZAeb(PXN+~5NOyF+mo7* z4lJU#bA3G^hdtArGJ}DCUzwP1>TiHT{$MnFcO~-Zlx;O_Y*yPd+ZmISR*DDP`ehf< zlDPsh@ zDlRADPgx^w0V$&Q%gNBp*xE@cv|;kX{Q^N^id1(3CmYsD-#l&s-$Y zGl`DT#1hSD&-%}s2L}+3HM7V2%R3KLF%B+VT^k=Zx+hAVign3;(z5K;JN0(mN^ks9 zd}{3I$xb}8TcMibUv6%Op|G!EVl+`M7)yid<#r7k_A-LhoG%-t%GG^wdOgjGOv>@6 zBt|a`-X}!2IQ2k0R596WgN9@`0e@$v-`lB|*{e!~Ifq$MP|$01wy{JiPF2L0(G8ru zEW`|Psq8QycjjO{DL(Zkv`0i(t|ejoe9CwvU3pyf0BI8R`}kF39WM})bUUpR^gFH% z7B&D1x&f(azFV6b{mow4FD{JD;}TxE}@ud^cc|)sKDp$RyiaN)38TI7l_PgT%5Rd ztsKPwJz>n)tRJp1>)OXI^PBkoWiGv%Y=-h_fNg9jK;{>~r)G^(VaI(CWi>YxLS%cKdEhT5;ja7gR=RMyUC|Sc|Bw zM}k2tiBDIpbTF{ymtAIZsT9dx?}qFWVegAb#}o_y4*d+dvLq(?W8rQxSmy18>B)RQ zsB`erz+p&gN#&Cuv8;qtQ^R^-zl>~lz5)aJn7;-pZ(pw}7QmEKJhpeEFnd{RXgQQvti{N?$;=Emc1G?WnBDmJoZ8Ab*oE7mxR8lfQ?vNYpkp9e8#D3rlL0` z&-dvQS+A)30m_@LPV20v2l5|VQFT_^Gd@_3D;0Ty#wRMOD`nC3%Cc6}LEamK@79$I zp-^s0XNbe-&YMoxu>(HXE5n;8H&7W1jt~giqA;!%=B9P84cn(CzN|;7v?B3?j`Pw= zPN2#0Oxox<_Dp~!o_P+M_SiCelyz?A+;3B}t~@javbWOW-hDOrowRxA${l%{L(^mC z7ISVs;$%zV&Qqrd_y~tPE~RZ^S@rwn=)G}^bur@W@7+nX(zDq41n&8< zHKWRLL^L#Y2sTPb6xP^hcM0_0VV&MFCwYW09JEwtx?#Qg@Y=(|!SX5ay!g7Pj!5i;Itp@)h!vUSP$T6}s_LJ;!v*QQH z3OpT?jpurquuqCKVEg8yqHHfWwY1&h^_>IJUrhHt*FKJWgpEp;w<@6E0%qR^S;T4f zW8NRNQab~2tt}w0)Js7-bk!k*Z(le48UZ=V{E|Bi-~D+J+NavJo2AJmc`2Hh~sYbY_QP9uxilr3_q z&;Q6VlMH;89IG|{Whw#`w2!$owvrYX=hF2Ry1B6|btCr9>D4^8mxKN;8!AjuQSocU zgrjiSX{JTR(9l$dbN-k8I4xXx($Y6+p3mqVXdr?34Cw#~>5Na>`2o`ufcapSXV>)_G=* zgjT*2-`j}}lwqCmXoS(q?}J@kACvCvXa86io6sN}`m)~nXSk|0ujCoPqIWM3Xmkp_$2!*2pYbOysp?`r z(jdsy$oI)D-m&DHmBi*`%_wrTVWPJQGZ%V+a(&bAJs)eNo39o=-4K%nD6%JR!?67i z0z}XOYc3?r?d~;Am(=MOP^twEh8s+p7*;Akp3ccT~Gc~x}6fVnSYbn)a&+@V{Br_V0L z9@76Ba+&hvY25NH{lg?{b-(j6-HT<#h@ZM7GugD+BcnQbOlkjM%gNBab4Pb9vO}?5 z1@(_%o9(xcv@*l>eHK!}o-bc3jTqe%W`h%m$>=)9J6oVd0{nve_s$qqW*AGn)Td>^ zBIZBuc;|{&id**XY|*_o>d_rx=BAgqA!&R-ZipDMcDPUfy(C5{lc zVd!`3h5*sdKR&0UMN|SyiYsn(osbgH&Tps0XtP=+Pfwn^IMz77iL3^yu)dX-Ukd#fnMQ zv%yOt+Hx;+%@dB|%|-2VvM#SD6;(SYVEM$TPW_4)6T_P>sFk#nYK)ntL+ej(Bm<>b ztxb8AQ+kQsB6zC^Ju==j0qfi7@0Y4Gs_=RZghKUww)fXuih|IRENyO$N z#xi^CMZEnDZbNfYj20wiGVDH!gN#hel|ySDOIu4eUHxDpt7o-u_@=+>ZH${5IiMAs zkJw$4wlhOrDtqx`KD*a$V63{dO`)DfjxKr@WvhK{s&)mzFFM~PpOQAD4n@H?1|h2j z&x!<>R;*M>T!lxh%KWyHk%eUaHiv3OcENhja=`sc8^1w(RjaQNqE>_;3oW+0{%`g- zJ^1Cb^=cp5`dy+#aMI}uc^vnJV{^*%pXYj+>>%8Z5b|#qyVVOEw1s|fv>{mN8Io!f2^;j%F{ zsU~MFC0(>`E^$<5zp?K?_=$iG5ixV0Man+%VVI>7FG4Im`n_i0`g;v1Q`Pw0p_%tu zjl$wU!4$~RQ$T(*=vw9&9D#nUZOUVhfybvmcY<8qSX2K4L3}VgUOw3u5bh4Nbo?`j2m7-Evn(WeI@8H7C6oLzNJOf;OAQ& z_#S3Wey^Z!!E|-_vz$x?Ix1gakF{4aVTFF0`%^*G+5xGQKWLDtmwZmi+2Gz>>a(*^o_w`ZTVRaiutqAs@?B9x#DeG5m}6 zqS8EQBj)@ee*()XD3%89PgkAmVyq*G>@|gusmR})wJv^~8MHF(hIp=$Bg*z+Q(*T&1Ueo5S?HQTkW4&$f(E#_ys9jdu+I@e2YqhmmKFToQEET8A)bSZh%`0wN7mhpw0&5+}B{iiJ zYaF#?;vYT%gEbyoT_`05C!fPuH`D;z=gi(zRXTok`fMaVrKx(Q-Kr2cM9TCQ?s0a2 zHScG}{i7Gp))zn*Zx-iRu1R8$<6G1Y)&=qkgOoxyr}ACPva?ya7l2#KGqCy>IE9~7 zo4(F*9ue+F)s+2s30$leCwz9OW<}Y8#aCQi&cEY6O$#^zZUM}kg+>-Y=SDOmu0hkY z`;-?e98&|>%G;=^ZR-Y9{)6-~@O7s1#4#CuC`_)|Kxw3q)B2x(n zL5Dk`8cM$PS$@ldqwJv~@Os^dsN~uz#hE$LpFi?GjjPC7Rc)^6JS9-HLf^ZiAq=nV z{efrLpwR6y8f}Ow5qDVCPB^Z4s<^+E$7$0x~Tj}|B zFSOtncd}SCg88A;yys#qy?cYZTZ4uJ-X`fQWYWyIv`tNdbp`aFu$Z%9uR=Gn#G-1R z#-Q{pnKZI_$xqXsb;=@PW*)c7S(84!Y2OuI2+`89xnp`1ODeKD*Qr3S;8VDDbVYuJ zwb6ehDcw`?v$lct>x3*5{V}U$l-@vJ--UUGmovlcoVCPV7dwZ$N#2pNHZ$URB?CII z5UQI)yBZ^s-`qaoun|Lr)&fja|Aypky{A^>FZ1`8$C0s*vEr;)bUponu6kZ&2ae%e zZ`y{cpB=nOEW80KCIxaguP~Ip(5hiy^5g3)nDaZKyRK5csvIGwRH^HY|8hLeYZN0p zlcrbShQYIwHjy6pv7l@2>#>b^IxVU1 zW%OiebGwGSOfzxQk6Q)BOqCBqpQ)y=5I#boVS8U! zGRVo+I&P{qWL%~lu_udF1Wq8#TwWIw#ciHTM~Oj{J{!-RyxQ>6&(XJWi@ZTfZ|;Fw`&sjsE&_xcgK#I{0F^!c34O@6Oy?!6 z1<$^i1lbQrxN^Z!Oo(syEmu9x5yM_$EX1llYjMHveo~D`el*kyk3 zHNa4nwfcpLn)w1d4QaOz5FJ6$fmjbT_5Nq+dP|>L+|*q>2qY3(N{#;dlc>YkfmfkC zx!I5Ocg+<<(?8HM+-VCB9v&ljkQ*yz`k8?|xd1{f<%&=)`#PHCw~`F z+ri!bE9_i;*?jf)<;ZpiKj7s+g(Z`BE-Wn9&U6srqb279*p>FY;f!QuIfINh*UmhS zale{-q7q4Io~WxH&=WLlN?wCX&DZwcy*||dmFoYzm@TODq(8+^v^;^|L)Y=kjll%H z3KU?{N{7$w9^iJ&V}7$vpMWzN7&t?zB z>f^M77TJ$2-|>qQwGZF>RHr2SX;kwFr}L2d)2}11be3G?2)_BwOP%$e^@S1pEgYnx zCKPpnlgK)PE)KMMq$~yG51VBxATaatsct}IVPN%VRwPS7&g(l1x7)7&#H&xJ)Zv|Z zUfpexW#GlZGThYqxxt!1{#(_)3S0w#f~EUbf_@|(T>L~+fOeCkA2qlxt7x&I&Os5+ zy1g1rSaWT*P4c&iYr_hVmGYX@$Fut(@yjwlou{I3{#!p`)0^<~3y6*b5 z3&NB3%C24;w%GD{%o5ir96?=M%ns9+u~PN}0-T&G24L$u%rZP!(C|9duM$Qa*MP)d zKSO#ni94r#-fya>bOs3CJThrfCEUCfb7B(+6*4#QL>D{g>5kccn+opY!!mgV*?Anw zlgiZ9+72qxaVDiRThj!L(kO}s8>Qq9$!dXc(-DEfpFzVYx?5_}T zn!yENH787P7=Aot@nK1cC@ zTdQm&rLclNwMVAj2F`|;xB9GSA^nsi+7aVd)iT;wWczs*9Nt&U z&pdFAh1IwLs?yajmR>cUr#Qg$H~%%_85h!}f47_kB(t9a+!WKBe}I1Lrc|H0AjSDG ztn18_OHB7U4KAM9woZhKp)v7xSK?r5z%a` zFfmscWjr{-VQ{*VxBFS`)t}%olGs4;UKHQEXNqo z-Wv%lGMeQhReR0TA(7d!A!Iz51YP~05yaaJDnG+f^h^193L_lh#7u&PPlIW-F_y60 zwfMS&?6DC$B+HNl2R=1wVOcy;$p7Uv*vkKL-63gs=glN9Yjh1TlkW+m4F^(NEJa^g zBw#sh3CluH7Yi(f%Vnb_j^mJYztSv&^}()Qf@8uFMlJJ`co6IldcW5e5M*ld+A3jc zCox>J_c2}be@$ucdJ*8qlr`Y3{-dgunPW$stkS1KjtF-CK2tbR>zBau=$SkIyBVM8 z$O#;@$Ui|d!#=6?qdQHo=YB-Yv?VY;4ZdsQSD-#VuAp;KX{&DeXEZABK5#EjBSQ| zWD7eCEx~{@DPLvfjf^{09&|pk_r=1twzxi&*UBHXYrAdQsdC}=I(7Hn6GPV=-saqV@pt$6nkc1Gw^hJPTdJ5j^w1I^Guej66nNZ2&0Gmh)$bQnnB`d=0!dl z7%%k#3z91%>Qd1~Qm@Y}Ogf*2IXABAM53*aYjE!3K6LWRbB-PV{L75@jvXVZnlIK3 z{-xp9rH#=?`fl$SkM&TGpy=6aYYqKS6Ln( zAY;?ecL;97Qkp4=iMJ5esxh8d^P&`6d16=x6pWiBc%7o%y^QGkMJ24cF7pxDUdFY9 zVK=mfI-Kx66n=YaOLP6837v;pZ6gS4^%!vp2~}TbNv_JE;$4-%(GVDc(BoUt``Sg9 zPOz*In7Vusy+|;qO`4EP`DuWo9cBwXhPE!B@Z(s;kKL>BT=wls*_fLc=LiH)xJnTD0 z!o8^t2Nb|UiiV%mUGE*1DcUiXb#TZWub!1p6t9J%XUnNo-nFj%vc!Ob>-a~$NXXNo zAI`xYeS6mHO^XC;4M~FbceJhS1A~6rt>+Mg^_Ki&{g0YtEFQR$9!I2gsIA~)B;>+Z z2HdE|br06$zca1Z%;~tRbZ3Y6Bq4hu#YYAu937h4i<)H{ViczOd-@Kl7U?b3cYcFx z2Y^F;6i&`YHR!Ho#D7P|pI8YNmbiPM?PjCY3u`*~t>}>A@sl~SO6xra+=Xnl1lfta zFW{@awJW08Ts(-Q`N!iPpPm^gOgFx>>QHoR*|T2E#0r$xCKFU)E&UM=V!u8yI~)|t zVpk-Nr)ku71LiHD6YBp&K~GOFD-2G({`z8w1lBq;1vTr|o=-ZTDrj?T>^Aypa?Z^F zR%eLq-dfMkQ(o1!UMS{V7tWhJoDp@K%GuZyxz#~j@w)3JMjuu{@bgcZBNMFcNVLUi z7n~gtdr3D_e5JqRenKMoB+aOZP_?tM3(lRPeNJNlvv&XJ)jmN~uj`pZarE?LpKQf; z-vOF3Ut9R0g|Tj(fw+7}KWF@;_9T7LA=)pcZrp)qLDSz4ir6?8nrf%%rShgXSEED8 zqN)^D{wmQvd-wB{;RN06LLrpl3aX~$i4Wui*&jvm(gB$Q(1`X@pIrjyIF4Tkb50^H z=-~JR;dFp5CIxv8EdELaN;IvkVd~o?cdnq3$oEEBMQl94B5u z6IwN1d*r}FkK;DPB1`{2S<%04rbRwh7U+$9Eum=--57s+qS$oFE4q@*Zw2( zhPqOD-!}c_6MD@dtdU?1O5eK>8Jw|=@lKcd&3>FV?%Kf@rWPR3og#f3C~UbUb!n{G zcD}dE^4;p)(C}|EeE5Z)`aA)2Cnz4?YBV1*y|z|uyUrZ3x_{$U=K|M?;Q^JY+Wtb) zNj-)A$F5Fs&wD$SHW;dSONI)znF?@-cyHv#A=76TF=T^EW9?Z5X1yl7K~V$AmM*{S zbZM#lIPLJ_pFBe4OwSB0E@W8`)#Jjm3%(Xa7}t3ZD^6Q^dloxoW2edf)k>zJ97_FdSA;54f*3)(A!>yPn&Oluiem|er9qVe_tf{p**%jMOWUBB{m=k|zCmCillloC4TX z>GQz}hy-{&a-{<)$1;Qpc@uM^ZQ8Th=CZ@YgP5j5A;NvKt6lAb@qurO$DxF6EX$#j zbDDo}bD-fFPN~~9_w{nB$#AG&1T^Mb7oH-ma}zCe2n7%wg2N78m3^-)6_7cZAJE9-82JMG0mpRA_Xlh{zK|Xy{*aGcJf~t?UXgsjiR9AJyzM@ra0L3G>}p zVE|=pYZjDV$SE-fN!xV$4b-_~(7KRBuON*Z`@jry)z3Q_OxZa>_AzMwwQ_I>1}<`ki^*_A6fg*Qr?>N; zlag`+GeV$iiGU{RjRta@+RU2g)n05oGBLFzIqn#_kIq7E0RabqdGsH(Q3E1rb;Ko= z&!YLTtT1}kfbW80PlX4?bDYVJ5zY{ zX;#T;jrjKU7Sq|G2Ho{6ctrCzh1-K4GwZ+lDMVH~V2ixhzrFLT!DE4gX_yS}r|c-| zr4;3rW*3aVIuLh_TBa)?O~%EUxmm~`)3rCZ(IXteD~4A%R-r;Bv>V$rHzN7_BzKJT z_fwAYK@sXd@bX@Bc8u9qW6R&ZX{$8WB&TUYy6(}zq=q4t9RHjQ=&sip3*h6hsJ*8- z1cOH@xw%I{AA{DMJWgK`L}1_}8R_mr@KFf+f=UA^*90wyyD0(y2AowYPyYZ#=14+3l|MiJ?Le|5421@2_aLi&YZ&6WxYxVrA)|eQT3q!g0 z%%7A+8*uIIwnY2LX+W5scGeef@^-&D^d!>erHu9Dme@}rME&=1(><@%c0Z>HL85{p z+t%bU3#$g;rL$?q7&(|X?4p@cA<`O=fa_g$>?@`FC6&&IUk9a>%3j1??aiLKUd-X{ zlQy5~%Cb_yJ`y>7i&fxh_aYI~)x^Sm5-OnJsmL&Eq9ba&r21HM*p}Y%oQ0}J+IuJ=v(7DIAgb7LJ-DN%jex*U^O+% zOE*I_DFnr97_$X5rd2TdgQ{WB^{lGlt@^Sp4Ej2AQs)cabm*pPYONx%VF0nP2G~ZF zb9Ex4Dmrxh7~ww2+KxC;rC6k^$bBXPmk(G^|dpWR2&ubO531%bLugZYTIdfSQf`CaxM`6~!u48u zq3pS1?C6JD3Ymn>`URhj=b*d^IyQKk$z;W)H1m8Xk{IM=z;t@``8FVKJ7*t1bL+^b zsT7oG&$_XLW@^Y4fzA)N5`xf3UiX=!9MOyemo|A7H4_Nc8XJO(ls_$?e{5lHsqo{B zMKJ3>Y5^qag~F1p6B0>)W|BppxV3RP^gi|c5O4}%+@kQ(#k}|0e3Yp85GRDCvK8cX zaFpYDgFXHF5aDcFB;W-|pYLf2gjCk6SROHHkr1;YT!Abs`PZc6Z^V77V?Jn!64ak? zYH}WpNEPIWUUqV_k&Obfb#4xkYF^2t45o!r9G)rq|3gqmdo6oNxB7%$OQ z@^HC)!QYbc%_BbmN(84!qX{&Rx3u^~0>D08fcb0qW&S==ynJ`b2mK&K&fl*H%ww%? z4>7WB(B(t;6m$Xb4-1sQuZ`=guDi``&twaE7_Twn@jTJoRjc*1@nxQ zs!{zx^>mkCy2;Uo36wE?3(iIW*w|A33mXJj3o^_D9FP*(;JlqGI`m9*_paw8jA5nz zcFiu%!A@7wi<0koHy}iZ;-&f@KmX`j&Aa|a=ly&JIZAYw0Xp5-;CKF795f#i zxd!B?7UbM{P`JlZUl3oL{s$u%3b|)2INL*AA8;JdXMh5iE;qx8h5idTa)jbQ7h4yu2lg>6m+FI) zc1HmDbOLb0o~#_3g6`$!2HK&|GG~AiYwrsN)lhbaiLrMU;mdEyM+q;`57belDq~P5Cjt z#Ei9Yc*ywAd=D-XyjFaXPOd4nYy<$5PYgm6gw2YEhO2&b&)acD1hHbF!c(OQ^dT0! zJ0#Q~;sHj_90H7m@1jDeI*k}9h_+Ts>ToiUTsdBKK>ntl8@6fbQF*6i)6!?6 zAD~q#9<+Eg#U}b$7VAx=>~$d{g^|l1>zC^fT=wsT#l$3e$VaZOd^=hA)=7m zQXATeShct7^SiTIrUO3d32ACA0m*rA8;FO1O*LC3e z7@E&MNaY)3Ugu&iZ&2}qe%%oQ5zXE}PQAWFv@mr|_{cwAwP|l%KxJ%^Wvx}ZM$X8vz;O3zI^f|#~?@g1K>L!wsR6(hxM=s^uTm;;K8NY{(7m7 z4*hHjg|ZZ|>|<_jeH$1bU0vNaL7a?q`{(lPXmB0#le=ThN%Kw}0My|Jl34Id+7ie(%|(`A<`$y4#LDFer_or%rNgJc=x@JoB#syI+HR z#RhmJ^kUK*;I3-dM*0^MB=h#m$`$+0FnX3At9n0lQ!NQ{yBAb)I)>-ZVZUO>*(Q}w zp%YP#p0;8@xJ6OXMqX^YTmO2`VGs}#TyeWo$otpl|I2l+`QPNdYm<^{UXjpTKiAQI zhet!s=GS`$(@&Mu)xC$)^BpBYMMVwz@;D<$UtiUZ&i2e7Kf>r;x9fqI|7|b-)nvYF z*K-Tyy8rpY-{JYMcfMc^e8c>@h3dAS@bCZkpWiW;F&R|35tFqt+FUs#i_>wuRz92;g_9`sbb>=R3q9QjGq5d-|+cAFz~nI{%?ia z-*KORABp)JK7YgK--lBE%L4y5wfh$p{|%qN;qy0q{#BOzy=d{TJ@VgW%fDN+C~4+2 z5U|O1SVOylv4f8XQnqk^dDp&2-DQc<8R-W9-k_bl^6>$%)MKyFvE4dgFj&@oeBLvB ztESS3<#2BU6+@)bP>z)46k9&ujyqX!oGuuRkidvd97RFqkfPlB14| zxy7^H+Vj)953@tFtP2ZX1%x~fSjdQelu?T{?T+KpeKiQ`ls<}MwpG1vYRY%>%yX;< zn<}rYup%g%i}=ea*R6uo>hH>Sp5DPp&;!Ve=I3z_y z2ZcU%&RKGgXW(eT;9nPeRJtO7g0Okb9$_ggQk#2p%Z{h3ULRr4?mz$(brfgXRriJ|}y=n$z%#p?n)o zia%fCx3Gjw=*=s>dF67}@rt1zO1jS)subaHc>96%|ME2y|ODpkGaY>p}VwqjNJXn?ahD87c{GmvDXYs z5w`R%sq!e8Rv;+bYc2Niahb-wYUlNaVb3w1}OoVfvc+k`<6SxBde z_9-N3s;JtiGgh#~z$Ak`bTN9auN}Aief`1(E$R%wwbpj~?JN&$wXCc#hzYWm z$_PZ%uyuVv9Bh5f(?&k|yTEw}b5_p*`$6Bxh%wxrTbz{m=86D7E3wuMfl0824c$+d zwwl{6z&EmfE&anHGb*}SkopB9x!w{`2E@@iE2T3_oR;W@IHk$&FIcq*#Iq(A-Sa5iSj%VebYkh}4r zO&^VKf;ia;f1%bLr2fFj$n!;V@xw>?Ubp2<82R5Mr45@HgW!#GTLoOtPCs3T%kOh^ zD%0>ZXO0YEsAUFp#O-;KzGI5NY;AH=ADrN}t7~>%F*|GA@+kN`q9v>5%vgg)W&R|s z=|kJ=y$4+RYo26drX|_Y-kzx|8uY>5!LQRtYp1b&>26NW zMoEo;4P~q91&2?@zd|a5!Hn;~;AkLH|eaf|_ z9Y2NQ{-DJw_Nu;Qi$Lpc(P2d`tAPqy-)AGn7q#XJ31xc@9BgRCM`WBgH~to>ld7$x zvLVP8;Fwhi*WCKKd(RMDi70h`d2`L3F219*pz73BR~`KgSp4;Gi*bVIEPt@8Q&@cT z!7u&sDH0XfY_`u}$tWeiGMsG4R?6dG#3~kfJ@_EiU{UNHBxaTm!kHE}q>wI<%dUom zSU_cuaLg)>X`U_-zc3A}d*F)anA5MNG}$M*pqwKg_0FfxxfL})M!&ALd_{LP8%z!#QBP3sX?I?u7xLZf|38_Cmx>);+6fD%A5)2!H9PtLmTmNs1Ewsy3TKLa!L$Kmbf#1)P{#qI21BiGprML&&C@&LJr ze9YtdAcP{IvdSX6Ybd4eM?3 zisbZBit~rz=TZbeZ4phdIT|yYf{=dE%no#`y(3=)F!+v^Rmf{?BR!nYo zUnghCEGDH=7Qgt4!(E3+IboN0krY1Xwv>{7hZE_8F!BvJsbT#=MBXl*zfbH|*+M z$vYFyzhi`(bHxeo^+iIP+#PIX;WZv&&8Ds_I&G;z9ppJ(oAx|cTP`KAh-a1iauJ-3 zsgLUnM&yF&Wup5ywiLwYUDT}XDwqW;`F>4ki033}U&=kO-&+p%rH$S~B88c%)~q80 zikI4hc!sidXDG~Q0A1ylvEuOukg4QhTzF*LnHsQ&(VqZ2uK5^O{Rrn?;PC6&??1#muP*ni*%2F58FiZ~q2Y*v&~Vm)*#`NTjh58xHVQVhtyvr6rM%`MIy#ZFDM${x zj|lqk;8v4pKP{kV5JIE_5ExWNayAxtO4n6jz~GO z8P#y$1P5$k;`TZlF4gQLtm%C&RmH33+3=F+j*%=azm|=Em${e>Y};}*@7dVSA@5V< zR692Fbjq zopP>n zveqm0)q9#Qu&xcg$Qu_V{;(X@w}s?8Px>ChePbGfOoo&!ND=eT-mOGXK7642ZJi*) zEa_~X>aVjA%YW4V5^Yt-uN|RNn?8H9C<9R^I;ZSr=1;*(JzOH6_Y>7i*t-Hwdkc+@ zKb2tWWy^EjEVdtfsh#cblI_)h4w$J-(xVq4dP4bQRhySOYpZb{BFS|3ML6)83#%+~ zYz}cnEy`ag1G#R=|7h_T3AGmFwWfM9+P?|;sHMjB0p89>D5Ewtg4RIVv^HWpAs8Qv zQ>fZ_2dT~{rFB&|E&SP83|d#oac_`oYc|vp3E4dYgR9YLCJiD>eM;>LH>(RgG+cdF zm3qB?a?Ew4pt@6Q{r08DRIf8iEq7O$Mcj3eb_fVi?Z9GJOnyA;;g|#Xw6uNNLfXs8 zDbGwvX?YQ~Cg$qlaZyG_COavKQsGP}`jjBB2ypKC&6E!xbjr)+U(tWc58ku^HV0S> zVw;zyI#Sfry!zd%wn*te=(bOuR35_-ip_9o8W7y$j-e2wQ^B78hS&X~ZF*-mY>5$= zzT(%yp`I|2ZB^o3U<+8n;ceTV$?Z<&)>q)&JTM4kUaxrV9v6fsc%8f~CJt`nMOh!nPaXHkAE9iFRv(4eo4-u8)ikiKS3_{? zrw)Kp4l-QXkNhDV%IiYoe9$~(PD|j$l?;pJNwRJ+4sW^RGG{z5X91G?fR@(J>-!4Z zy0#c8N@?=K9N+{{#ht% zeYCf2Of4b0{qxRRD(gb4@(q%maJtr$-lrG&;nqd`*m10xgx|74w4lxXpi3@j9b95Z zZe6PHA6N`i*iJ+yE6kBLaE^7YKS6)oLRJn5?*nihrk8V}JdC;i|*QD(pA6uTr6g?(=AQaU6)~&R=#WMoNu>Mn<~3(iJKs@Z-Qvl#_CDd zrmtIRqCp=lz*{pEuNF$Ll_?1bWKTRLLuIB6Q<+4g+M9o<`qGSI5a0x_{tG)s44EWY zNJx`N{s3kgaP`I#kB$Z^4P{%~87C-plIf!)4a2pSudgoi3P_~%?b*wr{e3PQ0n?9A;W$Pgd$s6DYJfH` zGC@*OQk3;&K}vtQ!y4&fP^yFg7GY~q_YOsOLTIvg>B z$Frd>c5HowCcZ3uQh9$F^gubtRG_9R(ap)5EZ~NyQd$J4klKTOAd>wPz}!4x$b;?&mkZulC0D z!oIOY9mr)`BU0-kUx=eXt@ccQf7e7=%I&>75tD6TwCm03>HA>%mVI(s znvR1$Lh@P!o-*bSSzUUVz~TNfrHx}wi4-_=DW4Ryby_Rv;0(#em{sq!V%L0Xv>o`8UDst6YIV8iI6$1NO@rl<{MXux9VZJ__h7tyDEGn^G3Cpe;W>~$RU<0G89`q_NZ=QcBrho3lcA|IJ>q9_fjI+aRTP^6%*#ykQ{adf^ zqX9X8=;qrC=DV!LG7p_1tzKo=>hm}AFi%$<0Y6eS8*dA4X7GWDxYZa^yHA4LuZIoaen0egRYDa+rjTz%q*Y zFs-afx zKrMMoUn`C(s#&M=Pmi2E3#~qHe(D?7r6ShOZT(b5#{96YZ}pj8?z@5hI!Z!$?k=h; znKpablGU4E(OjkVOx#5*VPpBnt0;Q<07{(sia8G^b*A&6NjCW|$J(MxVR6^-hHLAV z2dOgccc!k8h_;A=Jwvo>9VVzg(e%~(F4sMz`(rRCk)fV~)oG}A&qNB1N_+upntnuh z^M=+8NTlHZWADx5p>Es$@kx?OmP#mFsTA3heQ7~g3n^n~l8}AN&I~Ea+J+)ju8_fG z9s7__wn>bAjD2E^!I;gMneV6PexBd=cVD@C?(ggV_xjV!Yd+5N_#DUkd>`xi&_?^A zh)!e`0y*>YU<+!^`X=<$_%vMvQ|XLbE?|);B5hC+<`NK~^&0njvw_tNHa^~U*W9MT zZpZv0t-6cspW9W`k)^4T{dFw3VDK}0OkUF(i;vTbGv>gfl3A+*?BV4TiOz#vkx7p_ z|C|fc7}Ofn1L7q14No~sXboP?GL2rN=WPs`UNfP!#K7~Fng^?W`+*}q;x(M%*i?UT zDOKO-iyHNzrq#uW+ReI}UFXGPZ^L$vSq}kpxCr-gNP*a~=!lOZ+{tpdgMNR2(diBw~;z?qWx4l4i4Vl+?ZbiW!p6IqvxO)~mydzroQ{%w;l zt&(s`s7*`jj+fB%3}Nt-ytZMZ>t{EFNNsNazzv|?`yF$Q>c9TuY4Yy+zIfimc<+L; zB$u;Q4i`aGoB>O`VqCPp@SDU~$L6MesctqWyUFt{?~;a!W!Y<=ZIkD!5$4p6A10N& zoc3xFjT4$_a3KUyL`rz^hcQ; zJiAQQCD?mEs*dkN>wrN`85fLUv&y$C3+qI{o&?*Vx;^o3iPw#T>U<0qQ{VK3XgD5l z$|<~Yc&dxns2b^UNiCmA9XKzvak3!MZzerWAbOhh&Bnvt@cE%)2oIC!;(wCqIc?h2J<3FOm=u){V8 z%|lKz&S6VM-tyF$#kIv8tJExP``hJuR+Gq>J@-53sF|>c#8u5eWt{!3WrXq-=9$%v z@Cl7PRA2AhLh78LYXnnqCt7Awg1KSPyCiv16sM2yZ!Asu1EGH=N|B%e8XsVfDQFH4 zlogE*4I|KaR$UZM0MDyqoEYsnGP=Dv`}`Va(y74tUNPG8b(bT4$@+DDmtg?2_Jch# zH1e76JAVdsI{eOQ3{Ny1icJy1EG(AVjizF-y=@r%;BZHWiIc1Z2J9}rToq(L3XQx| z>Qb+SOYJCZf@(oXpVghX+h%P2S&mYNp9hVlW{DRh?+6aPffdlXdV>kTwB`vfk9yJd zn*M<@#F)CV!snM0;{e1!d5_XVsok&Mm3uSSeb**gFJhlv>AK>6)+#gk32`=Dvr^mp z!7=AL-h|%X?tG;t`cn3j0PbMKW>^*7*2bYqJ9RCrTmF0jBH)r*ueXTeYcwW`mL`SN zH7=y58k8RB*sR;#j#*g%{Qe&y>jt*mPD&0N^z4uRS2{LAg{DS%g{5>u-vlqt&83Oo zV13}78U%0ikpqeEL4}Z@{BF3D8$wg#iCUi}N{SQ2(eRe#P^>RJDbP4_ zi5)WWa-R@=>j^8$#Xt_`V?fhZ9hJ=~2Y$$EV(#54dax)9+QeBw4q%LB><`6^`Vc$p z9n|HX7`1)(4X`d7tz#9UY`0aECb$Rb3oShYz-07-`1y++|1%5VJceN*f7B9%BZjGi z#!H^vsSB#bxu?xOx&-BU~lMI(zHd8XykIxO_m&yq1oJ>e796or*A4$=aNCHgw9~ln#U8>qJC2=dBXg4?-A2%U0|>Z z4sv)?q2L401q0UXjndGu+Cx7ofZ#g<#d3_Kd}5HpCQ9C70fKFgp^a7%+9FfLwO*U% zYJ-Cds48-E6OADV`sw@cg_ITS)FZVogKGH3+9OllIQwN&G7^UeI&kIq{-ru!QqH?W zo?kurn^sHz7BadDPjN;<`v9WH`5nZ1Qjzrpl zYQ(!P@V12dt|jE?C@hMY>hqO z9-&B^sa>eL9N#7~$N@Y(7B^wq6Eit5r1eE=TYb5A8`NGA-tTO2EIBB}QsfP3z0n*8 z=^eZDAjTP|AfMK*Yc~6h{%U(kS_ZtUh-YY2520%fR~7Gv1(i454hwP|V=*)VOW}^r z8vki2T~QG)obRfikpwTA;W<3+m>{C?btUvG*1E>VM;m;($E{U^-eCUI8T=SRG!+<1 z!^+aN4ABwEU@cOI@1Q#8B7tboqW`*-)_{I?>nhfEcoPLjC(1Por6&`zJqVRjzU`Xe zj4^h@A&`C=jY9VwI6EG^dV)pX7^TcAcVwSPi7K1GmZ}&BjUssSM6(MS0)v*JTfYaSYxka z!!hHIXB+3$yYXdTKQ}p8W+a7Od}NTK6GQ~Un+Kf5h@twHuX{R@?v@dODiwU&wQZvp zlG?a+*3p)^T^qYVR>%c&8qTz(MYQxp3K-Mm*ok>BFfZ31TX`-81=F{`Y+kEoT5nFQ zFZFJ#Jx#?ABX*AD=4G;`JIAJZb_f+K*3|WeWY&^Zkd{D^#(oe295L0 zB1(J``Acrtx*gFn-xxEgoZg{>j1wARuDMZE8-8{b&m_F-WbA$O<3XCTda5Xzo zX(*1jGdoZJ@oG&V-Y0x@+Ni8o=yZvvc^iXZuZ0{v`{~VIU?|MQ6|Lyao7B{myOm!z z1>T^^XH_px)@t(*W7cmUNi!Hi;J&=YGmRcj^1`gfT)jnPQ>3nRq)H(ai>Qo~&cbR- zvY>HKriTYCiKtK%lrbaDN^GVr+fV8ESO}gY7D|>1ZI$o6bpR-+Fkg?%*uoTIBowai zHT4drYrF~H5$%ijXtD|f?!>89{l@c`faAgZ?fPYYOC#_|`L($>ql)lm^$rTXbzIJhn3=s>ZcqA`H)NsnnLy*1JHW>0|Z0k&^8j2 z033xXwTu10Zhq zU;3-;J8candWt`vrfXk1JWB@#sWyP|<=?%Z1k%iE&u{eGA8FLng-{NER>=1@FivNN zB0TRy)BEqBin^HBdtF>Wp-#a^qk^Up%^{d~tg!Ls6I_jbqua-`sWUx?3aCwKi27{b zF88=FahH10`I?){t+CW9)<)TwdixvlMCSrhn|oXVBuzEEx&tW5(dqEjp;}sDhb@vu#s%=XW0TN-Gc@ zU@Qyl*qv2V{iPIVViXSy7cV`A>f9nA?S0hds^!1uTJRO*1KO_ zhpAg}OCAR`l$Sqi;!Jhi7Ar8zz6_KUDCP{Y!We5Vb(>uX2F}2fW1Rhk1KL>cH#08c zx08sia5F8qP&@5aFsJ}(uo*K#=o>*yB;YSi0O>l8S-A_65C4fFrkXD>da)4;t9d32 zjvIr(dH#se4n5#RbT&!lFBk3Kih~&bt`A@TOboB7kxs3zYrj<^uxBTJ)6F`^ZJJzP zvp+ozl5lwW>Wjh0lw55@72r54!8t}ddI}52d=raGFn$&QOndmUx-0mY>l;uc$S;CY zqqftvpUwF2?vq!Q0QP(qi<(zgyeB^JTW|>Jjko%}VSt0Mj3wedKqYp{<%@m9Fo3dV z2+fFK7LPuVXelkUl|Ut?_;a+awxtk@8r5r+)^(cZ?lpdL!&bj9DF%(NYgVP6qfjs= zR~D$x)22&U4CC#&^N0Dpg5Z|@DRPt86o)xcBPjzt?F=d@Q;zEg`XB@^c&YR4B(`b{ zYl*n|ylbrJ|EIDaJ#R}DN)E+qLHPqVi3dTYRGE}>K)sMWJf5mO2u7lTN*B=Qy6Tl8>(Q!iNn^A-*8UWbZB!PvWQ73{==8f=5gY+>lmL4>ks^R>4lnIV%1i;m)I&qP$ z-|b)U*cnoDkBK~w@z&Az71%}^tCw}C`KXl^9kC<2wV*iv5W0ScbXP(i5KmoLU%06f z2JyaqTh-{t$I%TyPooYOa;=~OcTCzh219)mqu30$!-*wvX26eOOcrf@eW9Whp!5%z z;9T%y4Q+Gs?APbA3pBvX%_CgLwV|quX}@bm6nh?XBnnFQ3vk03&MFPOu2=qp27F zQLy!~WGr<9R*!sn^r{HhnnPY%J}Riu9ni`69OA4WbgtKjOw?HF2kaaZl(%ME+=Vk! zIv@-sq%&@o>K~r!u2a5(Vm$(RTAWWlIECZgM)RlgXX!d|H-c{)h7UmqHH`gKrJp2@cb^Iy&3*jYLoHr|fP^oBCeo{Q=;G zneyE^=rq@eDj<1$b5n!})PyBOJ20{VXRr&HznfH4$EjPj5}q_moxASMKkDlO=gBvn zJ$&}{SB*b@3{1bgZaJa?a2>MQ{J5b(& z^vyeKJeJY=6-alU%n{fq_yF>IKGr53<#D_CQ}JWq52ka0e^N79O6#>G^QObxq$!T9 zzhx$46c`vYX4J4%K~r?|iCyc!sP5Yw2>O9H)DH3N5J(mJ3{5_#mMj-Ym4(Z-{Atl;apGX{0zwn)wp!1E1AtfSE&!xeRBnL zILrv7dB3@@sne;auwndz(Z}OOl}5@ZY=L8cQKM6nZ=azZ;SU<>8bv;RANUW1f$bh- zPESnF3?Z!=R?C#r3un~*xWujH%yjpi8#dPTei8K+x2jO!2?UZD&wqqG7}2g8u9kUu zD78$9gRjLJ8Ror)0&&0qn?}jp2HR@}IGfWa_T-rb`ssX%W>o^xymjhRnh=mo41fXG zX)PVhNAw~hB{gn7ic)T$@&nRY5!IG0bfD(Y9X;*`9_kE(eMtozxYmLXEaXi;<@7!v z3b^FC6bmB+$UL@ojrd6s6hQV=r=KM%N}rSY-UZd|x)7w-GZIScZ1TmFX{V2v zc@{y+iUo-FmU}_8K($055@L!E-1u4@7>;DseDzpY{1{tiXF^`o zQ}}xCoJS+T-&s2sMk$0glb>~g1*SR0Sza@ZS+%f`0E0XXWi^+xsmK{yyrvy6>z4rX za_|(m=o<{8LvT^Kj`)Q7dXa(Lm4!FNW4_%j2uPa-H2WZWCqwPhaJAiz$rH%La~r_j zUk|N-p#2G2hmW(U#?D7kN2znDDCRZfA5mM^X~azL#a9{!-NgRAc+_ z3~-gQCt>MmDE$h*Zj)`V`!eMpK&JW=n>(BCMR*lKFdj7#c-ek@81tlE(gICO+#$|@ zaQ@Xb;vSZd+uXftfJ@*YbNA4UBX;>ptY6A?FRzDv2_Biz7gtWm`Y-ot-3sJQOAZ-RNrW%lY*#%Px3=cYp% zKOO}Jj__!)gZF@ZDYZ-Sk(*IvP-sG6paqFVSh6p5kn81OScQr}NZdN3W6}ptMuiVD zZEmtQ1ko-)R^bv7g0i5r$`(zw_n2xwZ2lRsOTJlUmYt&^29gY`7oGYa-Ii@7(%Cvk zCZm|&ACmEh;N0WBpwOV8Dj;#Zt^aPW{e~uSqOtzrX|6_dv5+vA_q^MonXN@+GR#5B zN;buC5vc15+%ci%4sk4?QkO<5-o5i~kiy)_EAn!P$O`Grg*LrDC_<)Ksu0^MLr6Jw zfAsekpudw)oTu=#rfY$BLyL5sEVRs*<2w%_=BfW8+IlY%R7Y&9yskUZ=OM5!R2!&->^)o+^rKKVuFi z(S`Ie>Qpqo| zt^OtM)%J=ueetMA-vXB)WsuL*eG2)>3Ezp{KvJ1H7aT4z)xk?n?|Ar9@jQna*c@@h zm#_+1@+?E^qh}&e0eq+Od-|i&FOdDaAG;r27bPd93+MsQV}AeCZToP7H_KRa3CdO? zH5m~sRKi&^$??O~qxUSmSy1FgHsE3U;LCwX)zr^4vx25*mng+rnEZ&^`t#xzKaF4q z_fPuV+n#~nU%zqc#k1pGWzVq{u56AOeIv_JPmlPm+UwzsqBjZ0gft@{llP^$c0Idv zELY|^sJ92*sF^YMP=tAo`?m8^Z?ODCYFNoEJ$s7PAcYTJgFYixM0B*!$Vn(*WIkb4 zb_kUaVUyFLYalk-ole7t%s8fZyng#eynZbzXJ$RPLBnoUz5@=-Mz@Cw;p@(7dKUK* zd&U&&AsQ4%%bn3=`&sMkne}?}KUmlyGO3=8%Tt;O52ZIafTv5*9S9sQk=f#J*tBdw zh>9E`TlnIOJNiI=6Q21|?mfjpvsDnQkC1^N|2}_Nn!k`U&Iab(T|WGoy(+kZ<=e*D zta!Mz*syJKeE2RH)7Z%SjqR#xsB`Fy_h+e#G=mz*a#I*`X?fY=NK1y2W4f%FWJZVC zM%rz=5=%x0j844x?de}yN0!H%9Q2tCHy7FY9_aubuKc`~=?o=EngM$?wH5V# zBDu5G=DjBVE3=u+hOhnTn^|j3HLxTk8uWJ}U@Ulm&Y;eOq<*9|o9%*n=Vv+2I(9zQ zCQ4I&Wj?t4{z{h>;_`CHvWesj3C5}454X7oqWi))5mlVpr?k8xA4}O@qFYzQXl!9S zGwQ(y3N=uv`VTw!hUPH4t^3#`?LMYa5Lm zMDQa8Mz7)HG$ZclK)sA81J^>`*0~YY6_%rYM96g1Q{g|!b&UC}opS}eDQ;afY=@K? zBGaK~Qe;c6XbKD|)Zfu@Y%71Kw6r<@Vg8MP36LKTx7wY|maM*XDc}N0zaSV7Obw(v zG0(UT>m}1nc7m^0IqJuTG0v^@rEhERFA8)uBz0*G1}YVufCl^eiXP3;SPHZS(Us3b zIbtm(bhZd<<7PsO{P+WWbb~%uAk~!0SO8{iKJxlayM!n7ktrg3|Dg##3N~Dmgnp~ zM>tK8?a;_Vke}q0I5aFgXj4Cj%I@?einl)Sz->Gy5z00VU6RU!XpJ^T9>;)D_2q0BlM_%L7W0bwBZYA#f3)5pXgegfy$JU zbs?~n-AfFl88$#yBFrY4z(D>ePFQhkOjU}=S!8Jw{Lg?Q2ODPkE7n4qXcZWJM&v2j z%xjh9+29I?;H50QZxTDbw4Kx^xWXi%tn@c0V;?Tj!vN)KF#zl;Hf=;d$&Unl1<{jY zrJbAl+4eJG)j|4m6L}@>x`|z!HH?u6x!4@MfzuCCp9p`&S30kagAz*C777gD_3#cp zZC5{y?Vp0WXaUuIC9a~B=cxvYAtX~viDk4zhp6yFwOKplY83i%f!L=W;@nv_1pd=3}93n#$)izv}XEw)o3t5ciA2Lenf3iTyq&h)zFteh3n| z+O{io^o(1lGsC6^didOAEbnfZ9|u|s8>e|FoRc^sudJyK7XrvJPfmt_j=TtR4`zQ_ViB9rxb>62tqr>k#S33289kipJL@}) zuLSv(`WoDL1Tm@!sg!f4x?PutAA%iv`=Ue0`YOkZLv}*|_j!fU@@zwAt$3!I9t--# z6)s*b74wNy;K~jw7PIVj=g1bFcI^_R6qAEqk^OQ&qhFTMl=Y*`H2hHOXMSF_kMi|TH9N%wUqaPlmhwDmCkyDLVEa2*v? zXIq%1VYiat7r6&B&K*BC#g=+ICoAL>=GD`uHto^H!EQ*QnQy%VozE)Lzq0#wKenk= zxj?rn@g8kl(%m*Wx}i$KRosuIoK;k{#B`06dFBDdc%gsuzc|SFrHKF21!!x|!5f%Lm1Jih-pB zmC&c#CcBn~t~F&~XmflZ&RKTwR~jorhzo(b{x&!{@@7!>9q>|vt7}ylt|Oxs>gpX) z2@~2j>0&Q}mk2RVT~Kw#HNc#ce0=+J-FP*}-hD#VmXdj*Ax)7s56uH3y}i^s4K`bS zJ9~R)ap606?wspFG$|_O7#N6gr_8A~Y#4J}l1!TK>2Rhr@*2adAnc7Hl%>-^pH2Rb z=)iExg`R{zQ*(7cgh z0LSVwFw^T5F@LK;Q`+8?r?CCCRJ(uUYC8cuH^+C-t!hfZU})P1 z_z&y4b^Pe93`F_~;N_KW-}2NcY5uYEnTY?B4kHen6qm1ET`8l zm3*OhFyrS2Wor1*;wzp-qy+>NWSlWswbHAFj3nD#6~p{tuDg1H&g0V zL+=SXQTVRTF+*+A?pj6Vtc}8|abgX$4e;#RaPYKjt8oWO)`K`^G1#3Qjg}nW2A55vx&{5Jj(1Yz8YQ*m z)3=xG)>Uk9kz8UYusDN9Z~WwoSj%8x54@c!dpW_^aWqwV_1x)P?~ss!@wy;Fcbi(} ztFfN+vDXK0=zAU)Qvt>vM6eGOrj(UBuPv*8)9Lk6%W+vgRx03yVPB7=jISL+=_t6LWIhdj8Zm){0TVCQX1P_tb`^0S9>w*#Xnx z!*d}fTh$o-w;cScxVfVdgN$i|?BF7h=ua;doJbkF* zb=SRjcjn2lP-R`X{vH^vm`u96%U(T(kBc-!D+?VbtzVXJs(ja!fqm@X9b#=?RT0i$ z^)Rg`&})+EG}WzH(|^Cz7z&VQL7*qnw>%tvW72>9>MAcU$n41vK#8{io~<{$WlgR= zASBAjnCid(lP&*a%r4+LyY@-^MtA?MuLc3cY|xLe+Zr(c{Y5GRillq)UF?4(8~`9T zxPcKEZoXar*5bG7p!n|>bOLye?4^5Ky@D;}`7d^AoeS9P#*+7||8!pufah>O=HH5k z{AL%wd_@2nlpS*$75>vJ16~3>C^^!7=l(NgHoO%DU_PM&>GGfMYd`Ru{l~O_+3)|O z8WfuWV-{A9Gh5s9TersrdgU@eK?r-q< z8+?8*fxp4$w-Wdpe10o|zrp9X68OF8{mp!SYkGe(pWm9^-^}N?ruR4V`5SzGFM+?o z=eH908+?8%fxp4$w-Wfh>HW=oertOFiuq8oTMGYY7Qp|jayI{~;B!pSZt*lasc<7| zT7~vOgmt_CpST#N>*JkP5-EW?yxI_MNipIKJFE980Ri6P>u(NKOP{ruF2P<{JhTBtly2A(VzXiFt*xMT8`oacdN#dn4l7|E?`HBV1g~8q7_d zU%F?TZFi`y4C*ZIg|3B#yd*fRr?~JIl~p-Bd~nzp@kIcPj=!+QQ zl;3x}H=A*A00;IXUld=>=Upek7{|rJq>?(~Zms0MKFs_#g5H|ffVAHkiGNJ5|EJLZ zLAfU}I3FHp1a?tHp5@x*cVqDM5=V02%u)z{1l(Qaio@#1%&=LjQl{qJ3_PpLdNA|Tf*5fsxS0wh1NqU}Y^zD=T@TIq9s=}w(q6lYEvj(bq{I;52G^6g}U zKnhY$P+Wu_HK$G;vj2h>432i$S-uc~bQ+)(3uCDyTEH+x>u%jjE(4t&!x z4LVeL6F=@Xcu}`==25OT-)nFT@^H_hb#JY9#eQkO9XnL{UV))H*y01wNRSw{=Nsv6 z8gAx8j)TRUqbU%X0dU%=Jp`+9vdDg9XzatrTI7I)q|)&xL*Xdxm9M*7!g@526{>!m z4b*_~>3=8Hp^OCNId0+l^Mdeye(^6)Jeewk)`r79d>s!xZ~TU?v{&b&02{s>|3GrX_y=Jhp(58_c*gO17S5 z@y}_*m^Q$QlqLoa{gP82a(oly=%M1HNvDXF`~B0F>-;gFooy-99YTc75>b2GUKI!gWYP}*P`b8 z%~AVNzx=yjvtx-sA%NqHKPmsbU_jnJ(S~slokr8md+;}AJP_Z@D-c%dHs85=!g~=eV;4oi|Ha!b`rNY}p zQ$;m_DYhr$5$}4d!fBF?N%px(;yI(qih1>@YD1nF9U(5syH0&NUEpv-+W9rsN6a#~adt5-QK~v`G_v4xRDsl}{;KZAT2Qs6 z8g#n;KxWV8?T2haA6}=VEoYW5(YGV`VErJwZ2V80d361~HLFU#Y0_s#*X6E%Ya2g# zk=x-{zm!${+{R|auy=;z14}hJd=VH883Ep_dG)YU-F{4Th1^Hu=;rAis<%VS7kwWX z$+Uf#{xMfl@yJv5J|^~dX@>1o%anN-d#zA6BFMtAVbN-T)4=YXd)x}wdrNLO)>nZY zQH|i>5JiK*`KtaTN?n{{NZiJdS=<_v@S$j%i6DK=?MDF9#r=O*+va=#D}6V_%3*(1 zofu)>dwG|=bv~iQxO|MSgHOAa{a|%=VmqsZk4zF3<^)9Ky}UIXq+=i2P>?#8M2j}+ zYvhmqQL#pnt`B=FjMCPWGte`TGn>YLjCu=x9q~5X@>B?9OwP9*U4l(Cxfb}fnESPG zOjXyeB+Km+{NIXsx+wwq>HmA7OX<(klA@1FN%=*2@(pE+`l};|a<4O|Al_kI?%7V0 zmU-YEB^k)$o+tbQxwW6l=_chCt7bZ#2g5`{mg~(a8ZgCy>Bu{iw0POZwZ+Nvp4P+X zk-=BOXg+znxgnKHUY4T0Qp5nRJm9^R2Y~m6+SP3Y6#YBvgahjg(yK`MMah-p4GV@o zd_pCEe{`$g^&w0^M%j`j?vrL}k>u53hV17o7)dL@%5V6~aM{?E5qgMu<=E5jg~3wr z-0aYCJvkkr&Cx#xlLh^h*o63K=Xl`oQatuV*nJE@-)tA7JQt(B{AgDf{}ITkOfYQc zjx=;*oh&+~GbA;9?v@b-ipREKYYZAV!Q3$rl=bA9?ejK!>9?<->oYW*n@oijNvIGz zA&`%e`mIupnQ@)VTm-={N>X1e^*$q7x)u||;*>TjEMg<|j)G@yY!-DCY)*6iSCLo# z9#PMN`X9#)0bVCcD<#zi-T6hUt^s&7QK@zt_RoL-yh{0fUsgy?NQWITByun}vn!g! z?z-XFI4Z|PT-F*Ec$ByKA_{tuL+_{BF|-Y$AW;FFP+N?FDnxbOt3F~ikWjdUm2)9c z&E1VbUf7a|fyAOrY+>ZfwCIP?Ls9x(oW)(U@uvl3Hpd=6@JQkB;T3e%yjkC1IO?id z!Imb34bqp|%)?ebT2Tei6$6WSY@*U5`lMrC0~Eh0a&5v&^{yg!FoT@Fja)pL9kNzD z-uV2;Bsuq47wM6@ptPUDj)0`E5hHy@K6eWqd9@j)Ij5m?OwXx42E`nfxmDb#QZO2` zPg+?}dAat$FMH=6JOb2t@du6la!?oB+`9P*W#hCqmq-t50_#mHTPQkquWL zPKQfDP!65(q%)n%rm(|79GldzMsE{dYdYcdhl&C>MTCTiqyAa0VC3;`Saqfrui(q$ zABzp!i;26oqo4JeMK=c>R33E1R}hAQuTI<=&&q%IYlZNwGyqQF1Jw$D#jR!@UcOd< zTZBYh+cn%;$j{guu?$;1EyvE`O>*Itmk*~(rPgjt6|+f~c7gi?Jvd<)1M5Ex(5ufF zUbZ+#Zj=uSYQd^}cW74I)^b~~^vBE1gm1_m_{k?z1F#@6u1H#;6*Tm_fL{(x)Q9L}Bs^gpHWQrJ5F7ztBECi(VzHg#Qh1{2-CQwcB=#^(7fds!{@TTHgw2N zrb+md$c5rn?%^}rxUPsO4=QF4^8g%0dE3lHT()5Sg}>74nifDp8uVG6dw&tp8 zey;bh5O+#$5O+-ck;!>ecORona~Z>1MTT)V1x8opM}v=fsYZTKFn+^-%k@pjM7qkB{MeEtVHAX^L4)KMP`!ui0b^q~1K#en@jxZX~;5d`ShY9=TKt_WDmqT4q%;EFi{ zf(UEtHv6j_q(6EA4v5PhJA=P6##%`bZN#hr1FQ~)!W>Sw1kk<<~M-EwT>ZMrE zRV2Anq*9stOQm-9x^Ptkk`9@SjO*Mj4AD;9EUpdx`$X2nrrW8bTCWq8=^@&==(sgRPK6bY&_YD)pNOr zgu*7}63Z(lzmWzcl6qTtx5H?KhYhle>XwQb#!R(u%$CNIwO%a4m&=Bzl4@p`WY~b2 ziKO5N^*y{B5fw^2gSNc(YBA80G6F>gj$RW}ZK#@Q%Xddt=Cj2jE=D(Ra8uPl+JU)?Bq8$^0dwd)hgvSo}Qa}enZj-6xxuTK9zOW z+ZNK;yT4y`&l8E*4iDQj0nvMw0z!%t3B5(IkLj0S*ksU(U5E^yc+4cY+7xk<*y-~i z`Y_y78nI^Ro!G3k!?+by!n=KU|LgrLNh9@O3`WiM(AD1EEs!Xjd}?ko|LckjY|5>r zowUq3w$7M8>4Wj~h?Zg;!Bpt8gOtk&s{Q?xDzDtxg$n9J4*E4GyS0F%=(AQjy z|6+8}&6opUQcI-n@spjG-d9bpkZ7rw8LR%MnDJE(P`@V5Hs+ERbTBsuVbjhl-d_qd@Tw)vEA!F|&1{8WqT)FRB?f@IEe{eG|u5}+^E z=5h;d@Ec7L)}7DY+|#9idGuwb)T>!=Uw!Wh_KT7J_^#P`c)A`-q}9E(l>OXk`0UMQ zlRk}?t35+kYC}kc<8|uRm}gSqPb&$=yftE&OuOX4XGm8H_t~4$fvBC{Q#hCGZ1KJD z6_Q_)ZqyYU2CV>JfUc038ZskkbVc~8o8|gn$cNHuZnD{L_NR%P;ofRM2v%JBQKjsG zh91i!lVPrB(e_-j=bKA-xB0r3MwU9O0M}39MZPG#`I1miuH<7^-+prUjHS-?_3*~; zDF*gyiIMZ}Hcvy1IH$ARLb`#2FGduVRHX=XhWVsN`;%O=eNBGp@u=YkPQ#(8)7m`0 z2Qu`6bf7i+}S_qs4Gmv|nBSbL&h-0D#4uGQH}_gDCA>J-D{ z)#hfDzF1iCyhIolXW95A=j@E57~_xxU03t^ZHy}ogJl2mhE<9>6tR&4Y6=9zHE{n8&50WGVW_09mr1pNfF z~5uiBK9Oh3r6g&<@u{`1$A>iT z{Q_;^;V|MaN6LUP>Kvev0pX`61(veEF^u}Sxo4m9;6yQ*cz2iJ z4-V`ryZzqrzuFsF6rr&0QCcpR9QS_H(>F=yVQNC62_F~>gGF<%S$LMqbO`6`t#AVwd$etjLf?C%%1r99Kj23o3`x@wI1{h`b#B_|}^#iwlW) zYsj6f%iR^O^)TQ1$c=NJk-XXJ%yueXV#-%wbZ#uZ;(1?~5`8@upsc;ad!0MY=UDHA zkKFPu<9hl5&J`oZ?h*9U2I5Ed1~Gt_%s@uT^NhB~@pCig_7Q8QB(wcng}IubLkO9p zeqipTDyzAxBW7IO2an$xx7#Xu$y56HR zh7ddI;E_ppZ%ci=J?m9(!dZ$MTZMQL)@v7Z@qM$$2fDg-6ZBO-a_u=p3!)C&)J|v$ zk10|*F|=ovaIQWO02Pu1*lDuP*Ctg=@(a1P0$bFJFRylP_{>JyPyZD zD_G>RL%rn~2@JMC>;I`M0^2ATaq1c&H_@oUjLlX|Wjp%u7CR+aGsV^3co@1(Gx8U> zQV04yns{XUj{KsD9x)T<2=R*)Tw$V!)CmZC=ZpaV6^8aFlv&PTgfc@@{y4|%r$|5q zx9a|<2CO6U&fZ>ZA=miuvlE0|VH6^(*-2Jz&S+8==PSn6TXk&k*;$`I^K}Z|FUIe! zMmyTkYXHM2AoyK-Z!9;CoJ4Kj!H@nQy8b(=$*p++tHI#f2f5Lz-P;K zrvrdm;Q~++6lR_N51G*GG2pW?J*Fpkp~?vA=yPN&kn1jv!HkDn4$AM={xdA*AX7x4 zBAW8q<&NdLrORUPQns(huMD<)lRJYmIwo+@8Aj*`X)n#Y6E2V8hdBghN(!0l2;(ya z%`jNcE8jxe`haItsQ9f-{TJb~)DwDn=S_Q~0@S@4lYY$)@6G!wPs;Kdu=A_rGuYM! zvOqUd_;UJqXRMIbhU8z>N4Fy}!Jn#j4k*XJC5xvA<%0HbMx=%8>Qm0?kKxZ1Yh|rI z;=xMo$ml4>kMJ^Wnw4ei@hln!_i_#3qDc}tXAGbYjXpQO6)OQb$u5|RfxnubHUSV> zYZYy5ZO62OwcWUZ%_vPQqywP`zm8=&5y!3q$&=%8^_jmvusKEBq%-F;q!`Qp&{wdn z^bFY%C<>N3-|kc&7KJrChfeQfTrig{*WQo}+;56TYj-*a@jLOp2=zsb?S5OB-aqj1 zp<^v3yOP>?f8fjBV-Xbc<8J<~Ds#FKrE}CM58PeWAW}+pTA0eX0id$ph8>$Ti~n%3rFP?3{gJ6OKT$nxSbC%k zz3F5~?RmG3)C6tpXm~jR09u_^6K-_rw*Xa++%h(kq;T)ShWf$>gN`S1BohZ9;3#~( zc;X5Vlr(y?{#gdPbMCgFhU7{uob;!@+9%_8HOsDZk1N z=_{f?&b=vHiH&mbF+*4omtK$;*ME5N=`44zwUe`8!0gd{#w~iCB_g)TDL8=>G=S)0 z_3Fryr8c(YpMOq|&Hthcd1i=s`olNa$uDOesR$*n_2PbdtM1)YzezF3-Aq=77*`+s z4)(X+*z2K?dTrMTF;5L{ws6?4T8CAIIsR}p3>R8uAAdjAj@h=WUm9qTG!ea8`8*=O zfhybRqgn~s5hzH9su;bDPUVd4`$e6lr^E$c zRW~?Y8Z002ceg(6-W2{VVB^dWR<}|f>Fq=yQ%K_CvLB&QmtLoxuvE#PbMu6Obk!5= zcoyrbF-5g&-}TwB1@tYh8~udLMg=6-ah)-ak=)#*go}n4E|m(aAM~pwgI#<}$-iE_ zUx`{f7K}bN+z+h$ejZb5e5(mz;_5eMo{#_MGvqPtes;Z2;ZmJv1vlLLf?;@|-CzmA z3P)F#-I_>KwLb@i8(aS1oK5mIW%DbQ16VnG($7@ujV)^!#t5&UxsAib?aUbDFJhV9 zDTMm=oyDnL*Er6NV{Flkq5tBjGuJH(>!jZ)MLf%9g$}RE=lYfHgdt_xM?5vDbCr() zCi})v4EN6s$g@|l>X8G&L8kmEVftuq-*WBp`wh)bGCOI&xWEY7)0fNZ4A#JRVv-h}z_5rL1<(FLK0{YIqiv2K~E znuIR~81A{_U%M8DEtgbsRx3DO4}3k2S{ti5lASG!?ToLeR1a&&Ik?}K+8BA}oS`Mj ztuiMhwaxJr3;Ni+KB1?GFO@;~jFV|k(rlUjvk)WNAmL`CrmGR571(;|tbj^a9?P#d;gq!ZJoeR z*uj32X0&g)Qvg<%iP@&3{T$hKAC-^NYgix2wNPrGOR8}__83V2T3 zx_(mwz;{%yjZXCDn51cpH_vQdPS*bCZK~z5{2fRFZ|V-3#eC_ z48{U~d@cY&3;duPyhSiloRnA!rgNvq)_mySuL;e5aQ4uk`O>Zdrq?5m*ok-LAu#%e zjE&~Hm>k#R20ASq{m5;2O>u>lRj>eWvA;2ofW-PzwYt2tvm!WT7A3k={e`-@-rT@+ zz|OOYXC+i%&M*9H=-19cDb(w)xA+7am%GB?i>KWJZ`8nTmf>lAf^ik+gyhPfE_mM`l`y$zT zhq^Y>0Dw8Z0&L6li6X?+$}?2x9B(k^M2i23q${ThY|HZlkzxEN++KtKjyQexJ+$_V z@+lKf&i*5d1GG-T(Uzrpr7?ZD(~s;z0^sJn0i`e%>s0(iZZw}|U5HiSwcB+~)n@#} zZ#k&k>D(;*_;Dj5r13oFHTi&GGZj+zK20cRIm9&~0k9{c-j0V5px@Wnz>)oh`m&Nk zeWSd}=O1Nr84Ndd_~*^&qjd_nH%G^bsjgpoZPmVwm%cSi$QQaE+q{oAp4*WE3qG9& z>fF@5`5moO_wjRReG+D3v;?%mp>ec>9^GsYwtlo7(xX+^T3&j68poT0ZAHy()1G4b zTq{D&bWx#1%G`+D&)6#e(SdfMR9~@dDeTV01sACUKw<#^4W!h*R29g`f20>2Pp%~z z_3fq8iJgbJ3ZxdxfzRl_P3W1W0Z`Ud3+=^>8&xIJ0chW~`Oro~tCkIVC+RIEQM3|J zcUXsgchuwFREP2m(rM1S@+e-hGG^I^^R@JUu|*bLW0abjB&j}7L%L6l|gD* z<31r+?-e8ATo{`nufbqMc3o3rp@VEsDYK+kawgUgo#e&a zx%Mxgr$oy-eAKVy=IX%6HOchWd_}2N4@Hx>oqh+!caKVWOy9MJ5>=I=kH;`UhG93< zAOfrA2ABJ0ShmlK92*`Q4oX(#wBarraQbDLbS@q#PP}=vW%I2Vwn+NY>BN`fvqxz2 z5y0O(aDh*he@80MD92dU63&@4Xtcbvu1zQo@6~^?^J)|Q65P$`7I8zwWM`#@h;6qb zk-g8pNW$g=?0eGwa6E0xQOnbo_*@q(qQ0)@7*b?h+Q&b^EbOWn=PVeeIDT21LE+Ae zdb5s+2q0Wa3d|RA{>&W@`1C9!-}}Hs$)mAkb^=4_v4w2w z=gLeVHBIVGo6>9=xp93ULwjWdMM;v=XoI}VrxWu_y;AP z%MA7k0`16AoPqqe18|t5qoH%}p|(1W`^}Ov6*hjaIshv+y$4<~R@4)ktqt4ho{Ot~ zP1}Lf-Nh@Wq_DsuMWvZ1Ioxh(-(3p;>7?>B+KS8*EQy&J(?8eqO`@~aK^BdwvM)Pv zK}%%_fLF&dXRiJYR~JU853`S5dHVl^ll0tC7_lZ9j8r3oLe(H@3?RNeef7^@NA0rF zxkZDdS5tF+bkBH>{f+QMJoR~QMXN!Z2T>_mlb#5~u>TpyFTC1^^yUiRj)cP$g;#j? z_NSr?03CPH`>auIWwbs`TQyd8kG)PGC*BY;+cMJ$YZu)im z`A{(JuZocN!*d5=`};24{L?jn5-o3qw8XV|J54VZ>|*&k5P}gMW=Lu;GW_{8@==E) zF%js!kf^+Ghu!a9{c&k;0j_i2ZWHHOG7H-)+n!3>nKpr6FcKB4G>Xu>v}c9oOWlNp z`glg~%{Q78f5$kbPQ^lcf7W`QpzGFYfEip)9uNMCQJ{#I47>3m4oKfe8FAPzu7M## zt5Vz>F!IqC0C?o91Sj(;BO!V(nJjTaJznwtj5qJhRLnr5o&Y;%O;Y zqgM~Th>4B=vTjZ|)5~BCH}(K4IQ0em_T7oXK7%|d^OX$SYDTsH+VSsP_%@%5#9Ztr z1_`Ob4~7qqN%|Y@lS&eYQWY=tD}eMpS761IHfPW~ZxL~Z)ckfGNg8;39Oyrxxtv}| zSE?QG3(&oKtJ4H{1Pmyh;DBCFw{d3$DRg8Gc?lChB5&`qj@Rfd=7f>GOPV3_J!|C+ zJT(bD$m3r&>qY{iMo{vvwZml1@*Cn`#Z37(TTN*d_`qMOo9#VHguLoBEYrm{^`1(V zxA(xED%N&>A!?93(_~#WT^fqZACv4^4IRF5SmCp#xhj`~ zcn$J`+C#TYce51SM-SH14IXlbF1Ijtjf--VE<<6cBcAN2=#Ut5fby+WFWg%hobn}; zTb4()L!Xn&;Bh-Q+8v?@EGs-XLf4K!*fC0J74rOc^M`*S5b{Vyo*n;iW^%t+d|#=4 z2v>(Tb51qN_iw8;iEZ7Xc{K*hXLLF;Fn_P191U*^lJ`%#g;gg{iy_E?idi3)h`{LD zIf+1nT`~NRsOaM!;9_Jo3g!oB?wDzO%it#y+94`B?#^kSL2B@a* z0gjS8*lgp%-_g*ft`+Kp%$RhSaT=@%7v|(uR=K&f37dM$Z^{#ZrO(OH0R^he%aB9- zI2`qqhxtkdY@YF$l|)vLE&G&{0}emVgz|qIp?9vU z=V>vee8t@!dPAqj)Pu6{yiwMW!);C;rLg|dHSULo525NvZ8rKA9Y{d#o3yR z42!h@JII*l5!rf~y6Bbk?*uX;dx<5M{+!w&@lZ#I2uxcpY7W~YTuM8f?;DB(ckHjN z^)j5!Eqz29m;oo3(lu|?@f|80bq;lP(1hzqst9V>6t-TEtsM;zr(Eyd2AY6Jr$vBH zfH1(_s`CJMyYR=|Y(u;I@b4wk8#!Rgbs0{SuuNFgGRN>uIOkrfnEUYw-&^|Aia$Te ze!}&b{%t{luH?DP*X3t8CUaRl!9;r{^x&P$mu4z_l=B}~l@(KOtriwRp9!;nrA8>C z7lLaamWyzFIou)KQ$9=9c0xqj{+K_*Yv5V7&RJTYlaY{1QTdJpUsgUQ4Py5-jA*)i ze%rtaM*?ukP$dsD*kQi1>KuABK{psrAnO};%2;5Y=lY>DR*6jx6^-Ux51OyD!zacA z&eKQ*1zsAH&)l}{P-^fw9}k)9{E$BoOC8y62|3#M5=xrumh@2FPUEZZQ4TbI`iVHB zlfCmpUMLELe2qmaI~;P}pp4G5^rD@F_73-uDB=2m_)gM+LMmw=o#aWv8)Ls_?k^r| z2V)2>feGj-X;A3FDWN89yb8TwJI*&VPyGByGlA?(H-;Ld}_K zy6i?L2z=Q7-Egp3#z1M=8<^Xk`)Z{gdL*-qg{?ga$dcRqdC{U0UpXg+V7QV{-}mw- zCFc=skVU5(Fn-bIX~(pS6MC&WZE4$JFghvV_X9rd_STZKAa1wlqVMOajm>P5IuLxk zQyKRV(S*w0Zh1Be-ut6-OXyL=j=8iv7g7MedzS*sNWwht?O5K)~XugwQPgpGxg zl#MTxg(yw>sLtD%jb&CdJ65P&%Ei1k=!TK;j)tUqGo7Q5tvqhSa09x2pJ}g@DF2^f z1XsL2a%p@W724-;_`m?)K=BmboWl%S!)%bqoFC)?mgZV?)8v$=*3izzI$O+KQ|-AA z;_r;1MwI?<_CmJ<+xMn+rwHPY`1=La{ag=;wiTfig~1W~!{dspkKphO4UbpO(htq+ z&vcLn=LgCw_xDZfkA8uLqUw?48bcH`td_4d?Bc~Yl)c=um^roWeU!QRV=a;&vaeAL z-{SQ=+H*gqxrYVa%P^uG^}FK}H&j#MsFva9uh=sbA|=k-M?T{*skAW?%t*pT3oR{d z?eiuYhJoj&RU4(Fj5!y&_;u#YZh67>$%uoc5nko(GTQ8cZQz#ANAb4)-VF|9?n+b+ zaN4Xqr?oJ)7VV>07>1wAx77$%?l=rYL90Xe+R?vC;c(?8GJF*I&Q@WRI`@(r$7>fu zn(-Tz_tB{Od380ivNYN2a7t&>^Cwa@4&v7Q$m7Jdnw9(jRHfB4V?Gg_FH+M3wQtr~ z9LUS@91{@N>}$CTd*0 zP2P(8a*pl2h2~YZZL;?dQ8rpIYXvLw>rM5m&xbB0hiji>+fqyP_053*cRGetG%ox0 zD;~~~q4^=t;)=_m{ZJsT$EZ3P$8pKJ{w#8h$Bn_E1ZDM6OWG^anxN8Ko3a966IZ9F zu$K{X;sXyEzgMBye^r&(xphUBuhO}-x0+|3Ht8XV2bKMn!}YtJ=L$&aJ38EPcn}F& zatxU%eDWZ!vE z;&0`uaPhvo`OVXo-`H#MD5of#?w`QLC_OD+?MKNETOTs;SDHjTZsT+aKDdL@su! zEgezqb}C%w<n+h1V=-SrgxaJlI(P$j&t_Vu?bhn80bf`D=}%*~#(t-wb5?N9+!61oYaJ(?D;@7g zVl7&Gy5hb_o{#XR4u|cOdX&2z!%I?qm($b@2478DLk<$_&XPSR)0X{8f97p#COM{% zv-z~BXv{X@xhef9;#Mp?YC5yRP>Cw#d?_SjyDFjEW*$CT$b^os62Ak_u!AY+nlQ z|6+(3<^z=;`rc2hc9fN1n$`kEbkkHRj9Yc9E5sX!e?K)Q8IA^N!ob? z>3-0(DWI*A!G#fyJhqnVULUZ;538-WTQ=<^j8ug#_pfkJ=3eI5cOX()ey*udGw_Fl z{^!kxmI1VU`>$2}^JsK8ZxnkEH^n zINgj(UZEAAN5NRJTSc+rc&m^J{4M;hmv{~*N$V7eKJq53l%r7eR66*dUoT+ap zisu5zqO7Ym{o~rsajl{va^&9W8Bykju$`^03xqXhrVp-!{ll!80w&P7Lu7b1V+8|$ z9<}LZH)Y^Vrno6o8PPT$UyxvbQ|v-2FR0WpwzjzSMe8~v;6`q}zzpyo-me?QtQq(= zHa`RwrL{#_hU5y@MnZFb()Vs`dPWmCWZN6+Z@3Vn{&$)FtXdy1h;kZH6sS2deaxn+!GOzt3cMdySlYq>; zRIxzOf>}9X&1Sg|6Iwe>x(I^pp=XEaL~&g(so)WnTTll~S7Efc5f@l?EmZyfdq%MBHLo0ipL%uaaMj;#Yw5EzFo3LU1GT)k9`CQnufH5gTF=qj6PsqP9LT-H= z7cdaIS-nJald_6=Me~|aRQ=P949R6?VH;IC^0>R=ea`nlemK$XUUgzx%rNBODzRUU zb<#fKCau%w>}bal51Bg!`eNx7y`#5w$Mm==12&x}+`;!l_GtBJoNh8?%mI_R|16s9 z7WUXM`Tp_NLi`l`JWaEh@+m;|>zI~3IJNLd?g{?`bdKYGm@tcqS5ir8Rr&va762Wo zZiz1s$~UL9XZD_cVODw8eDai|A2JrApKJUdkxv$IGOK>PcE!2B9Svy9klCN04IaR6 z9fKAmpeB-u7IoltCQvHZH!rR@$XFz*#L~&m7V?s)74^JeD0MI3++Ete=|tUtb{oqJ zH!g#XOG1h1G!)!f1~RtxBYZv6FFRQWzIJi)?XhN?riPcb=rPsslOJ>uVYmRLd5{hE zJ=56AXV+f5$s}%KD(Kd9urlpj@o*ochfV;Lvydw-#eo z^zh3vj6Eaquoai7jm^7uunn8#=B=k|gEMzwerX~7l;83Upd4w+KmC{wpH0IFN6zdE zt6{L;g_A%exz4(Eif@EZ|Go5>u6HE6lR2TuNFJOpc*r%@I-i|gJe73DqhRFup>YZ3 zRO~GB%BOM?OFaK6uf^||sTsOnp9_6sCtM{tKEC)ywPHT!Wl^DpczP$x+4d!O8j$q( zE1?&hG)9krr9$bI*`hA%*yRkasa2DX{V}~ju#MC4^u|?$c4R5vQvTccz~8nkq5;~n z2zI&rKUwVGFMi0@C^JkmZxe)M+k!Uh1J95N3y>3wHaXEWh67y*APSX^1NPBSE)Hl;c+0pBxziG{U&MFDBcy2*< z;OcMaN1FUu;u)8#g{GK5P;#9^i@v=d>_%8v(?2cH?c3Ce1|vMMwaoTY;dr)c3k&_( zD&;Y5QgM2>;OWY*sXO*Is4mg)D63cDd>ik0ldr>)5~(~)M=L=K*s`}%Q|0$4BEv{) z_MyjB)ncG@Oa4knYEv$^S_z43=N&)jS+;;i7Urw=Bwqrymw#G8&0F`b=k^uq^z&UK z4MkL~LQZLg1$+Sz>)6enJNCHMDEqeuJkW`s7(L%Bro&**^;-|rl|$TrTxQ>oRiuBG zarb}G!ymh|-vCyG`rFjSlTpsgoQhch;exvN$kHnE)hl}Txd1*-I2mM9fBh{o47^xa zXyu;Ev|YWY@RA8J)^z!wu2)ozav+7bF)55s?x*hU?JSe$B1tZmBwH=k89BC)74O!W3`!+m|Rv{WmL zaBM>EY@p%tL61{k7mO;3B{?&m z%^1%Zj{ zuv}s8QBXuA@7>>1w5q<42B5b?DQF*MRIjX@1@W4QwLjX6)7ovvrU7ZAt0i3B3XtDz zZrPR55nDoix#DwwJa1D84*Dq{;3xnLD{XmAbGCd<;8M~Xm#GM2Y_P`{Nh0^SE2mb*uJ~KEwPMDQ=R#RNr7lQSH z1vFL{|ByP%k={HuN7vkg&~@2sooNc;OBx8Os4K6(d^w8lbU=T8v=+V%y}AtJpt(Fd zB*;vd9+C4SRuAeX-oNe>M5+=@he0Atnpo1mAJfLzatCCK`ZBv6o0wMSg;giXjc1N6 zeetYR>d(IxjmLtU;+6pnJn`C*s+?U^?y299G*qBcfeJCzJialh0qw8suDSdNydx=E z%Ch(N|E;3#U3Hh1MBr#C2bRJQ+;;+VQa!c`ty^MAd|`8vLMyn(7az08XkY;RfDBFp zEp)jJ`(}K!z%|N^J;~wU&_Y)u<1Sp{$@n(^H&1mmX8b%=g{E6wWoQdk_2cn?P@fqct(kkw46E?gN8^9N4;c@TOZhRbm z-H~?~xYtiKT9VV#t6|Q)CG`7~)Jea3rwI6!bfE4k>&efCB!<>&9_G&_gBCu~O!UiF z4zPfrL+vBx@l30k#F?rw5roNv$)3egN$FX$_wyO4^_c0OjBA>$9Eqp*i>&3^ zKQlDFBv1AsAG^M_TQ z;^niKHVIFEPqrL)Z-H#|a00OF4%G?~|9V&lbPdFl5?=(pK;#;e&^=Eo#XD5MWBKf0cn-l1}RulV!GM%p&iJm*3 zGWum9&vr`JjqYNk$6}zQ9k1$*f263~ShqN=>mKSv`tPve-J)Q2fWNdMA1BorBbJ}5 zJ`^2g)cjIG6e>Q~Pg;_a==`|dOaAOXsuCcmwlJDt;V>oc`g1L2N>CN-^k`F7H7t~PVc6?foyr(ZxO$LB&D@F-aasxK zNo7N5+5}LeX`GzHKOEP8-w2qQcmf}N<52MPIId?o^UT0dpL@nfkDR2CF+`pM%-X(S zSN4Mrh{~Fu$qq}MYjU^W5Dc1jF`i%8(#`H>b zGnQt$ux=%FJ_eQ0QBgLW^zds!g4Oa@@!$sa?E4$i7951z2P?*BQk%zqm6oKSw3|9V z&Q>3^2~4~p(cfLqk-2A4ebf^*4JYX9zf~78B}+?!2#3H*n5I?X+cbU~ z9@^Wws0?S~7(71McfF(Ni^U3*QlFaSviHNg_vpy*>b`M#!DgtD+ze;WQHi!ZA)b`Y zrz5}bnx4sfdATni9#wtpj7YqkM#)*LTk^j}Ek-(Y?&Z@hxP~6fiaN{Tdv}8t$R7J` zoNSv5YE_*|7RfAUwbYwr>jLDMrV}cxc{9t^1oPz$OB{TyrOFE&oRw8!U~%yZOT)vE zJ+HypsdR8aoe|v5OzEEB_2aLVJ%EtE=0U!w6~r0r4J48b{JUd)H|3W{z9C}uONR8 zgNn6%Cxl4f9H;-~4BBcI>OcfDjjH{JbHV;VMQ|VQe?Y~rwCiO}G$nrQyr5A3bm@v* z=Ch!)Q8xLIwRXGOHa*+MlBr(Cjf&(xq*5bSfE7Eh+6~?73;X>~ns5d7(V@rF@LN{v zg|w^F0lUUM7ih^%DVlH08NZ)TbQm_v#vfv+!`r14aS7@&j^GKZo01@fH2IY0f+*8e z)(_Ph`C}=0qvbSm%V)Ozd^>oDo8y%dSG`vKLWCn8RS2?)IvgxV3;J&6!8Y{1Dph}~ zS+GVJ6M=KNjzvl;9|9b+KjeKxSJ#oct5*vxVWSDW%l*GR_dORX7*}LVwzs%!4IP*H z^R{80%_1C%=Y9DL@6+6lF!6eIgk8HMl9)udkV@!g@XbkV<7|RQHcxHnJ_3KeWPim| z#%$S4s$mS#DpOWOb=lyWf*mTNo;f%&+VRx`{R0Cb3Vy8l@cpcMF9ZKOkBFObwdi|e z*Y>f5nbAtuf+unbIKCIX_#8k||C1CYVZb*a9;6MTMb*JU*vMf0A!MfTDvNwqFTEnq z9?E*+;T_)81%tgsTN&jUd{}ENF2Q@y*opUKW;4+P*3lT>JnVLY)0mWuFe`CX^63n1 zWVP2yU-?BZzf2#vBER0DLV4oZwdXlL@raXS%k}Uh<~uMBDkFuuqQ!E8X=m&p0Kp8Z zGoP{kwcK=VX5AIrnIG*_eQft8d0o$T*?KOoK4G%XY|wm#J^#Cn1M74NGmZJoJeQXH zA!mxt48}r|*1Vx0@8#!cA|=y65N>lR8r}f1L3}GU%cAt#y$AU++|&N4tkkWmKMwP&w^0jIq3m%@)USZe*bB05*{|0EPGGF1Y_Z@qUyCpRP>?omU^E_&&(TEZNVBoc){r_yCW`oyQ7< zYY+kIc04}6b^{2r)7}GY{;XYf8si-ZOlFg!TH|Y4ssy&?>S_lZFD|}VE{PBek+%JO z?!;nf*nFj?0ZF9fW(%A|F6h&<_du1X*_u_54Rc~J$*}Dw_!HE1YouUplHZcswvhIT zL6lW(i+Iy~z&JVaqLd2{T%RNAZQFy&=~Tkos8w0hpxrzh-UqB+*2~r&y4Pn4XVh*m z_8@}gx$8Xkxcsh)B$+i0xrrL#xK<6f*|FE}v*@9=cF!Xo&yQI=d}I&6*RbV2cBXYnj#Y**4Vt^=BcL1!E2AuPbT0 z{cWorri0E`OaQdMsE4x1qEYnC4*alP$3eM3H@Lt3hzqnd?k1Bg4!_@9+ogS`H?~DL z!lS5uz_VngYiB@TzskQmwj85pYiay0h!E&BL*(A@?{E~T!+REK3T%6f_8uwSPk`%i zH8hukY`UFIW_6t_U$-97OtalJa|>{n>rb=?IhwVEqrkCt-DEzX&}m|ZT|0*8nl z{X${Aq}3V=()Gh=Z}N@BZMphdcFxLD`ee{e>`>jzQ z+Kfah6N+|mL9_5XnxICZC`3hVYeO3+E$PlpF)y!D`Hbb;C>j97lbr7TW`5e?(ocjV z3~#{`(>)$f1!V3l&yBMf3ZJKH6~1xdO1Q?2g#W>TmF*6Anr{_iwW597GS_+7vwH#d=3Hu&bB3P*bv;j!cTE@kG&nUk}NS^x-}# ziKC%3{%$d@Pnq`4${wN8CDu z;~JulUullmT05$rw+8`260xdA;i1N+;)bv?Uv38j6b=-mt3+$LT+ALs)d!+(V=vWywWEY8a^E@ z$`%|(7Ma~anSW;K78asxJ-(&RI+bfM?!-w&BWJ*mvGYhBVEFS!7pA#Dq%M)fxm;gJ zCAU9Sw__(rJ6<6Mj36aPVX9zw8SBMW8gTP#)C*yr}&KFOG z!!~=H8XMLT_XQQyC^x{xDZgMeg56~Jm%SHv_e^$aWDYC1>tz@|oCXMIp#^H0SxjDE zvLGiv(*uU)?D_Wz^Hq*9ZfAqg;~N0#$+O;5f?|H&1x4twdfAmi97?h37~t&0^<@6a z9%|2K--=ksu~U+F#rzAl|J|;CENEl+M{5|9)z#5Eh@!}RLC`;BiGF@G^Ia!a@>^)k> zH!|kQwyL$}2Sd?d*wtago$FzPqad5YC8pIP>ad^)wHlj}KL3^@>Dw&hrmeINtGCvV z@)pi8yO-U(!sNxifk`}`2;4dROw|eh65LlPmtBXF=vwiU}~MiKyw%`O_y`{e8Cz`1hgsdu}pvu z6Qb3cgYnA`rTYlU1>-cxm`A!e=BHb)$MfFV$Qe{gQMG4nS?2!5($RU%_Q!*MiY*SI z!i{py3Z^;_YWw!~x9(4DV0D8{Oo?0r^w>U(JXI?`v0%=Y+L&OY!XL9NS@5I6?SYT= zF{d0NWa1WBA94!(={G&g+hqZg?OU1_=&01-l8{G;*9YkY+*y`uVqLDswmq-H=|Gq< z~rW4Bz#dz{n^ z?u8&b>=u5&M0qy4mZ9_$2#wmR?r4zz^Ypi>9Nt=dnibUS>J&>pL8i27Gu~7NncyDC zgL9Ykuu5H9B(;ec5npdRA}^HWFsetSZ=N1An;7US>4WQ83{{vHbw?#7&D=CC?{&dM zO4WA^9$*5my7rIx3FfC-s)mg<4cI|?KP0Gc+*^nQFAN@<4?uH33sadRzrCoAlaQ%r zS~Ik&pWP!botaOq#a|pM?Gx*!R&g(uZCch*H%MR;zrV4`xBv2Omia&lSHR+PidZ*! z=3xRwHW!v9Keppl^2weuhP+tl&LA_B@#g0Tk8V((Lr$FUZHe)x{G3@Ib?yUdmqkKP zU!m-Ao;6I(^`#;W>!cr5$Mi2_z-C^2<5w%+QpZBt2f5IwKTju7TFG^QswmFBbr5rc zvgH=81fZK%-M41Mszo+Zr8_-Ip6!|d2K9h$L2}oK>2qY*`*}^)IQJpZTZzAVQ-if^ z^Wsv2pPCr-M$%zpj0?aDOqQ+a0aJbf2q6~&!iC75@bHtJib7ZUn!-^3aw_uqDv zZt7B{3Ip@y-j%gsTt=)FOY-mQ9A~9GIx9+e$KKxJ zgAU0qC8EA;67Pa4lNS6{Y0cO`784+w`)+2}!o_`sOa~L_Tv#&o#g&$)GLtopzZPx8O=cpOZu-cSjqisvE z@*im;{Ml?~G3uE>k^nNs$(@Gb2X>lLmR3BV3H=rA#;t6os9L$qOX>@)n|sr%>w~+4 zFrLpQjG3#Mt@JK|W<>+Xu8E7BiSuy?8MkN@9o6+zGbyV*D6ABNcX%uk@+Wfha%8@o zqd^3qXF4+V%O8ltr@MU!LHtv&O&6kd*##qh&}8~{Qx0{1z=VvM<>{Q>`>b0byl4@= zlz-$hsNT@Fw~r{P@0&tw5D9!2`;#D<*|hur$FPJDt@}fdu?9@qWSUp{X5eSpADJtC zmZ=kiMr#&X@+|u92P~fx@>+%zY0}6&u=%ub=HoEn_@{%ih5C<5rl#ohXh1B99|574 z?zH4Mu@`t{K8kErIxUGK8Wl5Eg`Z`(vEw!o0@*gW@F=ncY+$HV6_Qxby@uB zbq~ymDb@^q=Knv0vclk*RZm>RV!lj{EJg~*h53%$s?Z;CbFtZz0HTtvu-ZYKvyX?- zM5ZMko_HMiD0VzQKP%WvM&-bA=`GtGM0(^D;)2ZnT%0u*P2ayn`v)0~{AVIv?OLxA zD)89tBQtQIQsI<4%PdtJ@|2571c+LI=8~HLf5&uJq$16@X}Gt951olfrbuRHDQk)zzoa+Rvvd==B3dbZn-bRSF1Xx2#`-- zAI!K=`=17R0xqJRlrGf|DvgM5zy9Wql={A_7yClgTrnF20J4*#?qvjxqcCwK9GyQTspTkyBmy27TpIAp z)UOYWZWE_ z=mXH4R5|Hmwq3!+A#d}j@bh;(atF3eJDU}FEih|IpMry~xwy+ahlGttS+~5q&~vI# zXwPRE)wTr;rw|=luqLa~@r!>mp~!LVfTAMrIvdN&v=i7!Q-oKHpJ|=_nxfQY+=ko= znyoff3EB_HVY2(jsT)Y{gU&Wv0m(a5uvl+=Y^^symNd{mU?^=0=f>0EPM7;ac-~+@v?SQZ(>56L%4XAgcANMMH!w!K#9wB$&v!xZi zh^fl>7!4*&h?8{LP3JM%gOC)g`-SzAm|-H~Z17mVzm=_fW?tw>NWt4%(JV8CRXiKg zj9X^&1n4Z( z_YVRl`4x(q`Wa$A0G&~i89a&}#k#i_!C{}%g-6G=9cX`z@D*;HUX`t&YR&iTqU)yd7?m(<=Na3{D`>vdfb|rrrWr}kY4^C>z z+=6*jt()Mc<)cr|1E|17$LozBUBbiRE-H0qqL{au+&@HEfLV;Q5aADz!U2Ld+EHPa zhfOYE6i$EH!z;A_whGmN(|uzxwc6wRERS!-RUwq4KjXvD&CsH**vY;>up z-jZY7J0tOXXs%bvHn%<9KNSShRmEG2pyycF3FBpGS z=g^vhhy2i<%1dZ@5I%mNCANWJj+1kRrzwfbmLH^&lDKHXvz1M01EUI(3q@1^*& zSkUNN2ROd$%>V~^&3DG{r!o588i<5bbrd=29BQ!(fBO4;hU;gFErNRSQ3)zfC6+j;f@j~jzN|(> zVGd#YP^ZGw6!8Ss@36AHlDCa^%fSiih}3cqrt=0wh-K0c5A@E3oB}VU|rTX`l#A>h303R^>C5}x`6O)!rS3R9MA5B*tMlemA6J)JnGuj zu#G=~O2h1s!3*0tTX7XtleOx_wGIX!O-E~e8lSoc;@qZ&89%o7uY9N*sFB)H`MXgq zC9#q6sP!IU>0g7~{wNaS!_iccw&|E-*-LW4)fWwMbIWs~g^411uovbn`6oe=!LBI1 zf3Z*0+)xYUtBh>1OC1ZO>6k#wp&WN_o&`a_9V$oMy5FSzNXn{5)s5G{XoZ!w%x3j! zkI#*_$a6ODoIwbn5#VUJW${z5QQt?4zu#ewl{BQb3_3wK+y1IJ)F($|xfw~gDdFO4 zfMYa@wYRL-1arVyy=d$FdI6TD?aBn5LBR z@t?$e=$cm5+ak^qUImdpmsBQn8&pvlg2xLJ9@Urwb!s-#xo4g?F?R20?t`}YZ0N-5 zcgO_PEU%h{&NhVzL6#dKFaBr#+H1;CpXGCi;fgG3s6J>F5O+Q+Em%nbNUvkefEP^= z5Lw(HFvu z1eye5%a=KSAdJo=R~<8kQ{p(ReOL@d+qWIif$U-MRpH^L3O#>pI~$qq#jEF&S(vW0 zSw4Co_wl(YA-&;R!~0Ax7eVoR8JN)TKaep3=aUwZ^wK|W8(oKp6TiMrG{Z)7FlTmx zJ|oo7Sb{&b5ntWz7ej1C$F<^xu?UM}X5slY4=K#P?kd88<04D2nAA6=mJ9NxLBu}= zw5S&EYFvyJ>L<}5HCrM%j&YpB-lPeKd7Fm%Ow4P&>pKX&eGGplBKtR_qwNfde}5S` z;~$0>&qx(kd`0~MteB0!2(VNOEySi2CT%e+)L#DLLi;!H3 zyT36^U;f%+GR&C>?cj|(v_JGhyc@_-bBJ>wxdYIO_~w%-%UdX%(SIo8O&5wtH> z6vhwn%t0*Vp+ClE4rxmX0&WB){BP?r_Prf5_NMH@m~7qDw!oZQ(QuId+qg$PGxmi3 zoI{E=9zS|Y(46Sxy4s_w`zldB%yrTy9C-mLSawS0M(M9SDe5>rEcN(o^X$3zNqx%8 zP}#8ltuj}^H^sfa)=aN02gg+eOJftYi-kwi{CPQk2SeuN=onB-v7A=zig2TSQ=9aP za-M$p&vmiuWV%AHVw8!S8)Y%^HCAKcL_;D;_RWioEOsWeu4>%;_iTR!_INkVFsF;5 z2Uv)K-!5cb)f^m%KqzoHqf=rRUCdf^x4x6$F>WxR1Od*F%Fa8eOJ%mqJk@T=`caVaRm_~j zSUQQd?^=y@cxTPIP~Xx}FVBzBW^P5duhd*`zs%(0v)V6^!~-g&#cr~5?cS8XFlzr2 zbIw5XjYMVNxi1RP^_7Uf-@NZJChWCn=iH!1ckO&!{rzO8drj!rCJbl_&l_CO^BRw| zKSqz=K%k85G>l&VkERUgTw~BQ=ha`e6r1}#p>aXi{>0GNn~n(O?9*!^%?4JU#N*SS zfT#y#fz>@eU&ix!X?}l1e#$;ATZ+TEi0Uqj8R{ zm&)gP(U`HjCBDM5!z^2pdsj2`lNVo(ib8aK1k}c|hD6m&tG0W})%n!WKHfvZXlz+S zk$}%mX!hb}`B>~f<+ZH{xOw_igHuzoF+0Vj_a}X}c@fH)`o?+HBDP`Sdusz~E^b1G zla8J7oI8zDqNRM7FUoUUXoJY0?GuA!SuoW1Mjj8Da=qJIRLSE6{}`npVqvlhenC^u zx^MR6bA97u&-CD>q~5vp#YNUUUSdiwX&!RhaNGn@TG}HvrbnX;1~eaov2?aRlA)!` zf)iIjGK#E8)Pn|eFx{2Ah2EQUdGVl0X5Lbv`l_3-B+1NKJj;a;pbW{*2%;&-48>q= zKI9sb$XkiUJKkn{0OWsY1=;?GD2m7^{i%0o|sg-jYJzKhx1= z9%#t8($1wV{&>LKA>cq~97RnThwzPA_*91-4o9^i(Fctm4?+SRvv|m%ES5bxNtQ6l znZGuk_Eg@usmI;Y;!L=-cN0837E9RP*u6b2dbFbWq7q~)gnBB)zU|Tz_FWGFPR9p6 z-H`E`qxM|g)&0=(slfBCkYBu^Q9;x8&-;nwB@0AO0D0u4*(Mcsl+- z@SFQoX9jn+7hmYR-Bvh(UV?L6`o@H0LrKfx_&bfrRbw?VIActGlMY|8FDzq>95qnio7pZVY>WH_9-p z6~yiy=OsmV#d2>cG+}W2Pm&G8ZFp_NA>-!Fuw_5n_IzsUKqfKgW;H zdkcM@3Mff!S?N3R)GU|PlmhFE`9(OoHujQYy?n3ljnwX>Dfsq|k3C|!!X7=9#<1p0 zb<~$DqMCCfZ6JUILOb)rk1e|D4PNxI}zsv)r|tdj>If&)0YI;FJ53 z_KtbmpKrjD_bU}m%#PFOot~7;>W{4i$sv+B;}nIPZ2$s|YeSC)zf1Dso?Cno{rX?cC2!O4 zUH8&~WR_S1DdKTuKlRT5H{S1;xaU_qN4s0QV}r2EiyrMAeoaryN*_5WlN{WPGpe1g zy9lWh;AoVdEyZm+t5H{9} zT1_X))_Hf%v^@C5JtB)+yBp!Fb1PoXR2Mb?FI+_Mn1-}KOc*2wG&ev#F0heSNmH?x%J-$gV5LSqyb)lBCuEVv<> zno7K(yb#?cgdmW859s{bFh%J3E;8BiF;N=N$Bx!|aJR8$)3K@b^!+A3kf1Ckrn3e2 z$+~Qk*_~7eZ+>zM2VDZE;Zm0s=<&d;p)>nw(PJxUgz8a4wD(_h!3yjKURh>hgl7%~ zEjy-WtFHc<3+6I!Y@FUU#yLyz?dn|nN z8r_g%*5tKKNU~FT>}!yGj>O%qcuo1F|Fr(**4=+q_lv8e2;AH{YtDx-5HW?JGa{xl zF(M|&<#>HFS0kN!ihZLg$r2-6@i+Fe+r;TAcomSGwDw-(|DX+xiS-yq>lACX%@2>~ zo?+~?0t?|!eT@(+oD7FjM^`6HlvD1LTg}+E)8zd?{zqDU=mH&|{5`q9*fEFxBfnCe zZB~YL*$XS^Z_|s(1l}i=E;f{IHMwPi8K^RwfFnD>Gyy*8`+{}W+t4Do)<~o+IcN--rOu_ZVLl)q{_EDcS{R(2uMGf2RtTV z81~TNWDGzB5yDFmM91HuAba^j4HcG=Z_;ee<6$0Js{R&?&FGpFh-FrqJ><2mnd?0)CWZsV z0?s!@vsjtQ)2h26rh6IPs^3&|c-RUfFVf6MOinUCs_ho(j1ZyosM!y)QDUlOj(Z;! zriI}2<=GT028!<5dSq4hH{bWT>quQ_sU?W*(@1NQvIO01lfBB=4dKbs?Ko>UVqvVC zfoz(c5;)ALXmF!X#>zV!^^Uw^oDzwyZx!BIeoi{ehK8*Me>}I|=NDlx!+Hbsb^D{P z69-4+Jbsk!9a{Q<0u*gPZMxg@>Xx4;{iHE_1DLryMIZ1H!4t6ymOQ{~fdJE;mvupt zxJ=0(f0If+*$NR^ndd4&aD;>NOlGEBqv2Sne3ZrCfGP!FpH}4ZT?K}(izV#VEZrL{f{2mbb)i`bDretof09GPJ z_)>w?QEN`V*IvGvP1LkZt7fTP+hny@vn&(iYSThd9c$#C2lw|j9UEn~N|FySm6>@h zuhdTIJIw!>o`=>43H+4`9iY1F5(K~S3#(Q>bvJa2mFdUFt5Z3)JuSU0-tDU=4ji`{ zo2(zn=tHhvku~SW;jbye?x2pNN&c&;C@s50(C8AM;qcGZ?i|WRg+1sHHfTJu>Njnd9R8paHW()O zKv_fkaUjjKq7W{&)u?&lmfRIY_n#p)2sg{&CF0i&t(uI#Rj(1C5+trL_I=3lZX)Rf z)6iq>4+wH6ek{z{H4RVHZ=!ChvKBGoruy(X`0RwX= z--4cxG*V^nvT|DrQgXlZ*#G zF_E?aWU%l&#co(jsl_qXmcu~+!Xf(c&T^J0jr||^m|sCYQo8iB>XnO-UrhRz%h zUr*q#Hw)Cg-ehx%WK@v;v}GR9(E*B|IoJ5DBZH;BE1)a4ChNi}#+gg}H1;YEzOn$N zD0mp4U^bKHJW&1^YgGFfk;42lUJ2?>ti4HVWAZnNY0qvK1+I zQ%Uz1+0|h+Mx6-6ZGLV#v%xAorlkVZ`)62-Lf9~9Jo)&nXZC-e1pwxF`0b>b%N(xy zGKqdVZy@&Gx0eKTOXZ^q3hlus-%v54gY%La>Z}RzF+rZK8qmXXXQWFAUm@5o>t;br zJv7$ji+(87t$90OyAkz-W$C7=6I%~fI8{W1A-WNkIkz4=s*-U(1l^)G?cwc5Dr}>H zU2z4B%wI(=6?lGzdEWx+%0%1 z$n9T3LEK2M*pw}_NZ0hQf9+UvPu$|hD|D8sj9DE8xG3bZkpDk<5NWQt zm9WqcP6JqX-6GxX5U=7Mc_tldn*xQ8ULzquNsvSGtFD79F{}NLs7%Bp9~}P_PP*Ca zO=;Ejg~WF!VifB%vX4m{dL;shxAr9#wypFV9^{>EUahIiO1OcR53nZWcTjnt(P%$C zcpe;j@)(@SdZm-W_W>lpnuu;Ev)jx7pD~aCJrM6pQ{F$3h0~8`xHY07;~j}4kOS8s z!j_v<6zUNp`b}vjV~@Z{zH_7&)Zh2&3@w}E4N!Wf)90Nc%QW!!xa!{hfz6bWEctau zTN?F#{xd>2$8MZ;E%9dYgL{Gy+sK_*aM-~$f0Q>xo0LXS+Spc&gZLfLFQ5t*EXZeb z!ymN(KsWD9&4L7Ion+4cV_&Bh91wQtTlqrf=u)mZ$@pVV7e|fNRh|KvL9wMd5lBTO z@Hz^k$`S>MW^Sep2`63D(20VW3TAbLNw`p9Gw6kBbm2FBRqtt^e?SP|NCfeI4=eMB zm`^k!2sIdDX8#|vU;z!F1Ba(0QRa;5 zSJFw*IrEcOIDX@>wsIQA;bCUO_5%_K;?G-sXG?pCW1Z=p*XvO}KbOVS(l{=-ZCU6* zyIeAL2TL+$J#_?V;!$JmpiF4rY|QhBHv8j?n!j&}lYFi@PT_kz_|TQ>57Kj7j!|>h z@ew^OASF*-rN}n+x5n@3$UA8So@$lq@Aj?-{LQ|5xkFQ4$n8WlgEIG6mxD} zpnSOg-R#L#&RWSWNgk_46W%`VPwACA+1G|zwirfvXDdl&^4rfycAR40$)Bd+QfvRL zGbPnj0jfrR)HmMoj}c`Eq00Fzn{jLHUt*|jd33Bm-L$4K3wnm0NRk%TcSAh5tqP(Bu|%}o4u*gN}U9>L_ApwT_N#r;gmXPLNCj$OyG-j7CvD7K({`XGmvw<=^2W7@-2>D)#l8W5#Es zDY4{ecy{T+#X-GDi0O4~1@}JjCWE!xaHf8)W7y_~MiGR7DmO<&O0*c9CWVa$*{?U| zB>fbL9O8L@iOjccqD}S}NRQOJh_uB1NxKa;M^mfcvXK@@B{9o%6aV+l=(FGkB7Y}U zW*^^rGT!KlS^bt|p%$n`kqO>vOx{sCUjoXq_T&)E9W4&B@bOlq#cxuK1XO=(tX)G% zJYzYEZ|Y3g8H#N=SP=-Tnp!CK+eNI}QQ0BLG&Oatjk`pLFVurl@Zq=mwN`$Jh?dG4zw?U7O zx_ohTIXe!f#Gg2d@5I|}fE{R9NM72ww}MZl01a@WSiF7?uYwzKbmw%v zvjt6;ZAPDUl1<^y(jU_Wt^{ujg~XzWbyGFd^!yXR7X+A7T7kAtXzmbvdWZ-db%(Dn z`2UAeK1s%3%zCSSMk1i`;mA88$XI-GGn&m*mBta!1TDf0^d|}%L>@3r`6tn+ci9}x zKIpJF8^pp^&k=@yeI0Z-JgR}Afp6uEnZ5Q& zPwGm#&ojL=OdGOReo!BneYs`r3iq`F_JCL-bf1AyC9g~7Q{5+=gFHYP*`V!ZA3D{I zG;hzSe#o6NyoA4Re3QjiaQDR9?rKiY!GB#or&ln{T@&j6{w8ODn<|+r$G7a;1NSR6 zqT0Id%hUXRhq`c1q`^_`(Pj#{A}?B`ze*?|1&cMuxai49-~r9FH?XlOD#To6Ftb`ddM;*|Fd@;(I zy4)Q^pL^%yU&_iA@#GEIiQ3DIdVJP+V=v?&RTw5%R&c&4Qs7Bd5UP=^%{H{-4%?); zcIP?V8NHPMv6XmmRnxfj=HOL)MbHhD&q9CTM!9LW(XuCv&L#bY^)@`HeYV-Cl%hQS zWGrm6+&bFcf-i00ZcZ;~?2M^2qAXq!;c+`ty`B^M%RayUj^f)l$dmm46 zX{mXchr6f7&znY$Ok7YIf}&&R+ia$b2kDe;eW*d_N@-D*JZ;Kj9)26N4#Ie-iXr!4 z{6|n>pu3{m)b8$}RaYX(<*{my&M9ZyqYK?;QZh27TZh{$vM=e5(B{eRhxWzdNI-!5 zI{UBWwTU+aNFUbePSDjp)}K3amZEKe1%2yV0sKc(a_1WP&YC#~p#R^^aa^%d9=9wW{fLT9e^I{J`9_2X zZ~9Z8_^zR?cqeM9kvUJ`G$l%l_biU!dddGUR%C;OUuj435t(o`6ISw z*Fq+0VnH}{24?a<9A97mS@Uvjq$VmgjxY7~hJHthXMo2FCc(Rw1-*vBe5!PrRnHA2 zKGQ+bHUi24u8!Gc#b@=C|FC}!@Ad+lXD#BN6lW?Har zW!YD`Tq;Q%I3wHhmNB)KM{}&lmu6OuNslx{r5+;i5d}o9PsWdN@T1_p9QZU`cm-2y z)O>_^o^^66<<>&Xl6R${Xd<~`*7HIu7HLn@*}d0iY~3GKbz(YsEu$v!4SU!ns}jac z9)+}x-$%+P%g(w_0uhr^)BJr!wNj(b$WqKS=SlX9qe8j;h$Oi~#iRJ{J@qWxcf@98 z<=-<6FIGS4emYgE5${WbBUyERgKv-k{FI=XHDP6H8ADO2WtDZ=3EI`R>w7iUqDeEy zySB&g_iT@`$J`qV{0ogJ?g@EBetz5DUgc=91un18<{8Z@?qFwW$6sacYV{d;Y7i&! z0&Cd$I_3d>;x=H9vZUHx6DGn=>G)U>HDgg#{|uA_iVdp!iVnDxAzv|57F7=%UfRZ6 zWLU?w#uO20DS!DYHt+5&lne&1V^qweTeEi1V~PrbVik~f_iB6eoHAQh8G@cg)%z0W zQ;;6j(I1@07pfH3gC~_QobN3j`dN{@eaWX$a$9U)groQ$n`NLhy5Fd{E6uTD+mpfG6b{6s$igw63c$oAY*9DSh6UEU&&FtvHzO4t}f-(pVW*j1w zZ7pqm(2L7oS8n7TeJj#dgguE)>woSxvOD`&Ex&J{T5kW>VGD9?wr#s3+%S%6V=ek1 zQ=d1#Pr#WUk0}6yhG@Qt=+DgZVU)WphYU?j62^9^;iJ+A`#E;54(;Bb1BzjonnJ~| z3PsecvL$0G)q=jd(;12pBrIFg(_gz;Q-n1<4eH8eBqZh!FnZ{r(NPhpb==>AW@1)b zWR#{B3r!^w$x1?hfW`S)G2=e%jaGXUuB5DtR?|A96I3N`?e6bOa=QraGna2`9wc2Y zIsAM7a^%re^QCgVMXjJzkpg{AD&u~X%~>ITfE~b${PvApNM7%;b%tWS91%w#&4Ga^k|r zGf156jJ$F6-_4;WYE9V7_ppYG___edUQXKuY3K7h8lIYxs@^Ep++aQQLE4zW#;zM= zlJ5o-Gi-kUQ7l>Ohm&l3=d-hHBy_7c4_OOZ!|&Y?*>&p@=FTXPrCHzI_3X+lGbD5_ zm1_>I@{<#G)FJeV9+Nr%kp3n2M`QiX(U4^>dLmWGD!)ko8760lmJK3)F#Cq(3|Ewp zxGIXctp9sb&8y?97V*TMBM{T}BH%8w@463sROaaYnDogZANJD@<(&~jGImwve$s3C zV$!)HjBcNU^;H8iA-0iPxR`sW-*_IT;EPz7b>_47#I%F%q#WUIgGdSN>Ri`H_In7q zp*Ca>kR#h53-M+sxCTE`GiW^H9FuIJ` z4mtkKDt7!Ub(fRF;6dxl?QTNycM*9GmjGq`{NouwlXDVCRrBcpaep3XYwP#yJ zy)(;S4RR4-(ya0Bm?_COf<4%ir8vUF14e30Oj(Ql&46mBj4ygpa8J%Ly!SI(= zr}_nH>ErZBA-3a)PnJc;l1sZ-xvfsz`x$Cn{qeWkw4mopF$fX2tId7JUVzN{1Xv=} zRWtfT;FHIP*cs$8;<#tgqac8%&U@?5Al+Ie@i0aYi{mXhMearTPe%y(YRHoE`&Oi-SuHglpCw`I|qk#LVr?Xse`cnElXxd?hoXH zpVeFq>#Bh@I6uVxA@DBtw&ade2iaC4SXmRF6c#Lm{Bw-&-Gb;qH*Lr!DHSO#lBl%Z zi5r5evBY|o{!}bJ%pbtIWehpG^|XPBYq@3YN7i58xkScA6GlBoPzIxz&bn$O61I6@ zoN}o8tIV{`WY}`4THQ~Mg!lq>r=MYS@h03yN3?^B05y5*@ks{tROIkG|0E+RBer=C z|5^OQv{Cyc@0@3#Fcy?<)MO`cGLAXoWhqusc_;6Hc9u5NU9&jHot<$l`~`KtM$UF&1xbK!n-l!0fcB)N)ud?ndw#nf- zk5w`wR}vq6`iDL_dQ0~VmlDJVkD(^D;-X9H9fuyreI|m(JI7lCw590Mko0t1elLUmgp}?LbcVD_!e#SF2neZ?;3(;NGx`i91M*+!y%4KnE3TJDYZ_c(B zO?1cQkNhbuH4;ft*Aavusmd#lH3Gd!iSC!9nKzd0Kk|sbr}s~a!j*&Co%3fVmPhzvz$Jn4`(bpeA4m=TxG4|tXp#X#Z8zFW?#fbxotw)Ya<->;NiNIlHXN z+KUG)XLfh<_WIyhlkzYs?}rnvKKd(pA{z*c(LN>I_r8TL!fheq13eG78*;1K#cK=u z3camyeDy0SCwUQE9sC#ruxPOT0r3TD8}v$38pL$8f2F<_3^I^hcqF-JFYUeg+e&m| zYKk$!S;?XGjI)CMQ7-|xJ|Xz>@Tdg_&1tQa%1)f^cTvRRa%|Y8Z|df^A-V_Nt}DOi z!W5gcd4E*T){Yw)&06lu{L4s=I;4v|Us_(dDOTQE=#72?Hmakp)+$QkksQG<=uiL_hvYAXR<3MkiC5F*Nw5r49ib>P+uT#Wh+;C9No z-nmRMGf^LsuRoS!LDRn-9Wdr67v;OjNWU}K+0n7+mPznaN=mBCB%fI>x{&qvVm~&= z0q*N-|DFu8ZGLjT?CJIWcl8+y-mXY))RF`G__d(|)St6+k-ynbyEMNQa+rEFdmJY7s#BIJ`L?%K#0S4K_(_(V zkD~3w40Rmmz}Hht5zX>leKJK2n})~(->n6$isEXImBe>1sip1Kg*I;zy5dj<_Vz7!XQM`vJI0%(67 z^saVr?n$?ResXPj0&4S-Vjya;;Q98H>tdRLpc=S3DQ7@cC(wV?RR{WtvLVo*1Tmm9 zFoT;uC{Tr+?-dnxd|FIsOF|;Hw6v12pxwtaJfKAA&lr{|AtgbD9*he8>8%-qvC_Wt z=xS(Q0(@)k&g+&uA&C%Xy<&RW-JFoG8^}GA!}4u1a)@#9rS^$a9?!|2T)g8@|Km;M zVdt+vUL2(DirlYC_c7}9zO;Ve=Z1}#RF8@xOpxcX)~Fnd#=d6in!Xjg()>D`NJRhM zF}N|rv%T>r^?2uqk0pQq@BHVBW}&{fKWOONy)NR6;&}Ye$A^!V-jh9!y=riGD1-ZL z?ghB@v&D~j&-q(xJ&sm37Dg}|mzE?1>{k($MZeX?B}NC{U5Gi)P@@& zj_05QQZp&=x*lppwZ(xKX$0fDf$$h8s#rx~yyZr4IIZC=T#!!8R^Nb(i}$@put)JZ zws*Zq#~1bs{rDi#{c;2|kNhG3`3ACE!TylduKwG>cG1XR0$d~d*rk|Gt>roc=9(}9 zOa-Asp4sQuS1H!^axls{9>H`anY$Y=r)+;34De z3)1m)MD7~iT84Gfv?1ah;(Nus)dZFZ__^8s;byUex5qJ!a+F6q$YUekH+4?4No@2aM?PNLPt$2>0$;0CHn@OqX1!A9aB66LcmS@*RND(xR z`b8UsMDNoLhPh;4d8$6#Fgw}tODRn)iIzLMNE)Tej!<4XXlfi-;L z_G|y97?y=wui;Wsq-8?u^84@XTjfHvD7c#nMO}We3SxP|qb9fDwUkMf$6QT z*@910=MHWqnZM3#%5T+5{4ti;KcqNS+h<_0$Dv(dQ%YxmXkzSLLpJSESi8C$_Rtxt z)GA!w>fDfHbnz5j0XgXe0$L!Bi(j+{%eD93P}zmnRTx7m9a9^HHAv;Hk#;F zpQE*wZ3HtZr%0e-AP=c13u8E~-&5n60As>sFo#>@I@?@UeB>vSZ6JtFVKc3}x zkbgEC`Ms=aSVCO}aqQM^^TeY7QMy04AJF&w@HGh2aqecHjtP|$?U?8C+#Hz-ci}&_ z3XD{zmLl(uDj+9=P&0m|y>NP$`UYv1>W|{J&J%dN$`9{|Wm(jvgm~<1fBcE8eRlWu zAzC88bikrSPQ3Id(uqkah1p-xM{5&Yly&Mix}{UdU0z*s zX>~F7JV9r?fKZz!ZfjkzO=f50*|OJ+Lo3HT<*|D>-%^WRNN~&j{Byh7v77@jKri0D z6FNmbd4G8>@^ivqp}a)W&Ro0R^PR~iK1-#}q#JEQkK)Ch{{D6oy$ky!>+3B6VUpu? z8WJ3v3 z3amo`aWFk{lTwW#`QiB=Rto%Oo(B8aQXz}Ly_!56)2Ahn0P00S2AR!9z)njb_^}3B z8VK(ZLn6WHy_-ISj((N5IY$t|h3n-Yl4fsxK&^=uPE&6?7VYwIhSUBi=Gw#W#e=CaG)9H$?Ze3b7@#_(5Lx=SQ8+(QYRTcnc>pxY0d z7@L!7OR~pBV$c2JjMc8e_QBA?6TM6pGhP=+f7HgCEU`thp8#bsr>e5DB zdj#MA@%e}O^tbs#0v=y^2t^$%mAZ_D*R==xB-x97ztlsI{~`f2;|?1{`um6^o|c!C zp%|t5+~eE{mw8G3&1eRVQ9&lf64@AnX>XCj@4>SFh8e-D7x&Su+3L;mKap!9wYA;*VfE)xZ(p5>g-=QS zCkG`ZB}s(;xi(JVWUYz^8uDp*02I(R5^BMxX~ZuGb+SY+e_G~00ch+$WGP@hO%(yS zwBg^O+{fkH!2Zg7joeI@xE8uHM`4s=^p&i@2u@loNJvgV388*4D0G^`K=^L+|A7>& zu2|*A*5Q+ktmG3=S8U$f3wU-yUz;u1s9NRP_%h~`04q`cxg+-&_xsCtfSRO}9(OZ8 z+!ZU!vxAY2|ETtfI=vNn(#-D?e0o`tIr7%j{WSFjCozeq!w#FH`KnlON>f}Qa?NlU zabv*EDz1arA8pRj9(4M%@@zoF)!FgAUBDN*P!Oh={*k_iClXzp{8_GjNy8V!KL!@2 z98)!Ii*QXfFuGuQI$`SbH;2~5Ivy>0?8dsXO^glZF#CseVv_J#`9R%N99SdQH9iwp zJPiY{^KS!MH(?T!1Wr@K^cRu0vJ}D2rh5qBwKHpTK5DW>YC2rEyng>L-G0iY*~j}a zM4Hu-lJ_hXbtE9txhY;c)jA@>Y9DH%NLf3m1AJN(#xYMKMOoHJ`y`bQW*Ye& z72hxEb{h<1#De`)K8)3M!4$2NVMOpr2c-KTU2}w!d3^a}IVJQI6Pgkt_Cymeh+~Tk zK{*onPgcD4-_VuuJ!4(JO@JG5EW!^xy)StK%3l!2!z&)dM<#UQ>XnztcvsFbb!IRY z@R0hcJR1{hymSu<<5sx1A2z$&Dj*4sd4_o)bJITB#f}dMtlAj@%K|9i^$mLlddeT1 z$a1HCBA#JOn}YdNvf=}_JtpCe?JxGu;hki_AI>_%A-4jK zQ$$(C5x)G9mBaxk@yW{?!jnD<4w|6K=JP+CbTAkR8Q+PKiBAvDQG0}9xmQG!7gxDf zrAAtUd`tkZFpPK5TE>)+0ZmPOUp+ETz7`ld%|l9xB#A`(fwt6%3>rxW36v6bonZtPU(>Zy%e22NV9N_^aQ}t&0YJvorAG z0m7jEe@GYrq~4`?8tjEtODi&(E`>PCh`8a~1TXS)I*`F-q*q>=AAX!hHpRsTNk$+s zXFLk^3TWYn$%MAJ#|%JGTYvuGnGLcj4)E!?nzO#RB;-Uwax?VsB!rCSR<1nYe?R+o z^ivGr{}au#{B8LRz<&dw>I2cZwY)<*pX#D$L+GB_(+Yd}YNxND8K0DqEZ1SeNz>f$S`@?t!foQCrqzV2;&wXeq zJE2h6)SuG<|B1r}C=^m9d&b90PQ2%X+^-2|Q7Bp7JhB`!o`cppp-}YM8gfD*onom2 z;D;e97vk_m4-zl|f&&&mP1sp`OH=w6g%t0gZw{=zY?PplWlbq*yB=oz8Q<^oM|~q_ zCm8pYtJ5^;Di{21;5BNcL1>MhGXit0YOJe60sVyo-cZCCxhY2*yhX43#yn~p>IK7Ga~KaCaXi4f=Q zJuO#So*X)lD*f{j|E(!-D~Z4D6438{)q?T_QLhfoF?>xTA`3k+>%S|!xlUWv6TwoW zV1I`3ZqGrp@BCNVavR7(R$bj0G`S26PsOgS70DStOTiUMSHafC5HBl_JZ#fedp1ikz(-|3m!v@-GS6U2ty(M&gFV7CzOyPBzSeIExlb zC)r3AtkqTgPZ3dYM!xb)qW1)66oE7vz06sW2Mt{Z(7WRbr^)sB;IkB)=C=}XBRD-r z&k$BREL7=DIeo}N*~!v{yw8mB{%4T!QU2mzdyB3<`)D76af{6}?B(x!U|rO1XL&wW ztU!mh^;Cq;u(BGr0@#0{+tPB-HvuEt=dAJF+Q<{MXIVH4Lc3&7M5H*@;_ewDqH#iv z1O=UPwPj-er0!n4I0*!tU}4gKwv^8Jv@a2et}J=l@lq}zIq;b%iUuYWl<$yqBGwsa z_&4(Z6Aug+-Jj&_3YZ6ki2qJuP>v-2O<|021Hzjs_zU-!R|hna_<@Z*3$kgV*kCu_ z|6h=8fO1}pRCWI?jsTyu8GD8$`Csh4cT|+y@;2BY3IYO0BuO-)L=nkRy@Cn|f`DWZ z36c@XSqUlvDw4AZNJesQ1OX*Al5^8U$(aVao1Wb?(%gH_eDlqk`K?)N*8NWf-*@k- z+D}zIRl8nUH(X5GC?0+E@7M>z5S&C_{x2o+|7!?&y?W-upIHEhqb|EV6`!jQPi>uBT`z4GR6M2>%4?P z%%mlpu<=|wYxwg51GPo=SJz0>_%gL6CUcqeh_e46fQ%l3W;ROx>h!ywOe^VYHc#K;9t&GOKiS( zc*`up$5XxaNlTqqXY=vp774eW`K~Q`ednYrhPA#Av@DUk+0v)kT-H~fxyZ}QZw+Wx z(`@#;Asb~*A|@~qNpvvy5|^dyrAHr+1;I%xM6B4UuJy?v+m|XL~ha+%e1?Z zi~TGo-UTz8HMTxjChiZ96mgZVnMo0sf7r-PdcdGxO=9>5mYd_sL!a|Mbe6WWgzrRw z`b(Mnto}|fwC+u)$d~@@?;X|!UM{25h9fSVJ(g;jV_zE+DCaCoZ)MM3LF(H3rLk8) zO+2_YEUPC2>O7D#k*5dh8Di;#2iN1$^ZC6tVh|rY+wO)1EzOcs%RD!Yw5fJcoBXNd zmHZT$~7hxxn!v>C&bB+7p(83y8(|GSov{-2i5p~8BvCE8vi<}*(` zOmw<-)hIMv>-?OZaWYT4BE)&9)DBTyVNKS|Q}v)TxdIiBstwoiD6~d7Qb8JDdo6tw zthMR2$*QWV zGdZ_Fn>6L;gr?~?&b$!a@9Kgkht1@aJg8ELS{Q%+2j*NGG`*J6Y1T&`I$4bNfZl!D zqBP`-D|tL>p}4jNuK{O8OESS_@s_bX(P+<>sPR#6qnc}41y4T8v##_n_rF9cSTn~{ z%dGa<_LNN{iTO-&WxIpzJJ{~`1*2-{o&WQ|b3ykhI4Y2YSRx!&Pbs}rvEc$C^y zawQ?c;COD8v>;E}R*axI9i1Lf$Zu{lG;Y=He8exlFXVriBGhRf&4ZH_QY9o}bV$X= zINtdN9$S8uir;Dtgd}>~#%j+9k9w0rq{)>Eh-(7*H>Z}{f`lm}bRCV&NqY4**7Dj0 zEIv2oTj!K*mKc_Vq`k}xU@0`%YWpd3TZr8fBI+M%kRTw)Q#eYTjy%!Z>ZR`~#&ZRW zj;h!`K)>19F^V?w7^|JO2mP`(prNRd&BIyL7F$KSlX1Po3tSVxA$p|SVi_qWSdO}( z$Zgk;p$>=kQwd(xa;>OtYE4LKNr?y=CBq*e!dv)gN*p=o>`OjoYPGvPMZwC-dammx zS+YRyx12dM_bEBbp1^}j9Qm2$fjPn2?%v^(smfkLmgOruhW#acLZ9s#mu=kP^Zmn! zs+g*CJZC@`B}~Kp;UQC(wIaHX7!Wo;WcNS7IT2-dsybBvX@3lk!k2n~W6?dyCN3NW zg0NNYz+NgdIMeXuBN-y{C?uWso^O zxR@uOk<|}brr@tW)dn5?U_05}>&F@IUe3Z1#2@W6^4c&eC4zh|w?d=O0v1=-)vc*e z1?`XNRgj_aM8Nn@OdB{q-9puc_-m#r^9Nk*jT9HlDw>)_czYnp1H*3oS}_xbpiw$Y zWC5%$mgZz?X<4V+L>C4p^K-q{+%6}3?XGRp)Fp;BezMU&Upb>hp-%6&=IO2-SvZvM zVH~tGV-ab$GGx#1Yw!8&`qqYnh%aY?YigyDJ>@4pRF83OMrPJ24LygHJY;;uW~@4LKZnZ89=(Dk&4Ppqy(-6N2EH&FsXSPyRMQ&(E{i7o_EB2n7 zWzzvNGV8q^rQ>EBUKGy!QSBj(w*EfHiH})p9cCo_!d?iw9i7z0L8^zK#$0TUt z8_2h-F1l2!Pz%RO^H!ppxF=yNU6(`aqAe7Uqn0X6pGqo(S4i&k(bjH2tHio7z16FJ z%ZtYh*ATIDwz+e*o>Qt<4h0TR$iBnp^gJ-UDR2uV{$58A!+fT(b%%BLVsg+7s`U(x z4i5gjB7>KBs{76|RdI7=fEvhs&9>4#tE<71_`blJBHkRrnP0eKy@$QjA-j2(EPImb zhaFk@MLf`O;SMC;D;)Lamem=($_B@$p7v zn7YAtnz@Wjn^Puj(cPLtPy0*!1NkK-vI-FN9>y!5fEzz14@Gy|gujdlTT-a{JZAE8 zqlYTZ3;TV!Sk=3z|J*Sa2szm$)ZTlib# zmVOz6eGBjuK+mHMy5Ul+U|GF6QqU`6dFA1OZCS7{w`wuyLh(6cp-jAc(?e>^I_ zxHb6Ox%sL>*c7U48L=SU_hrU=4r|*uY?!Mmx?47FkhML3mI8Vi{hJhiBE}NEnFreq z@Kx|~QO{TqlaUnr{>Y(6;G{ikjsxp!m~ObwRRa3GmPM}xH0PFmU3aU(p1(C|Pe}yD zHO~(oE2Xui#OkY&(>AjDafhtv=^^TLZ1i^nJ-C|n7{Jw_(ozf43H-r+@BPU3+?m4_ zX-ZHVUADdCN_xl>@p8ZOeW~r}eN1jI)@dk}6~t!aVypTB+{KAk0RHSWyG+@ZjGYgplXP<&+x#^m&2p)5amj5AM@)%-76M^Oemv*^Yjb_hr0i`TSp@%sCa;+-DPE0jNc< zE8XZl1Xf>Yil&RT^n=(wAGTjo4j8nCatj5>iOgkH$(1gfn)?5aad^@S`tlhJEPpL8 zgx-U>o`3rsvNZ|(kB(J|g>zov+>&f?TU+p|>6ejdcaEh%D}GdW_ay9|;PuTutU6Ru zCf21#Ife=n(xn?A=@=tIZpI*972quXBMec9d*3g5`0z{)cgo~XiGZpyoWT!46j6D)G!_1HlPo8}Tz}X<8YPrRr7O5=5 z&9W9|liINH4Qch4=d-r-^!%n6#?rSEaT;vU%B@C2L`Pd{jAgZwv0W>x_c*m__scIO`lC*(Ztg!sawHdLI^ zuQ_X7m-?;>jp7a_3<-}eqqU?|%c=S{mCpWF%hu;;Eu5`VN^)x&>f2h3ww={0a)d~4 zqhu%>*|6CU2Au_sSGf?&FjmGMZTpQYOO>>Bb<{Ga+oX}`B6R)uMW1|%Lx&tp)1YuY}wPWRVdZB?C$k3#!aa;d70zTGK3RmB=i)x z;)kxK;P=d%%WePCtH#jAOQXNDc|%E*qlD!L}+P})OZ!%#_P8K}5~I$1OFar^ZKJo^qC5N02d zvTvNE(~LYN?bcpB30sp~Yf;;gRHiTuYsoEJ^pDmvIqEI{EJtf3?4?Cv&bjTVOqPH{ zm#Q{MjxiI{?`EeBR6BsikcwgxJO&=)qQSbCtoF(#^d2Aq=(hL@%D|Gsy~9}tu^QPa zRgOira1t*HF`}3IZgJ=MclPII&z}_CX&Tc4Eu5pjdwR(sGHZR9NyxlhjOP{fWG;2u zF^Ad}1M-AEi;@Rg;M4DS()@Dcma86Y%NN5h#_nQhZ&F^iF6)+8bI>9hWzcuOoK@X( z(Ga+;^kRWXx6X}-u*Q!WmxkRJd_(VgBU>a3aa@_zKgrF2(30o6ir{p> zONY7E-Ik_Qd zkatrt=sthyJUe5G()Z{)lRz%d;-~`mn5g05so2xTCJjO4p-3r`@UG#R{VyOP$Dz9m3`cwp- z5aBebq>e_KI665w!%&W7)RJ2&8RFcGrpER>YOI7RrO z=(~MS)~sqnm8C*YZNvrAK%}P|rvqTDc9!tS@mrL(@pc0xYQ|wAE2L45eNUHc*LX|R z=>sUd98H{IQ%iTly2;-(K(^936I2GYO3!tB=80%wy0oYJuTHe6~tTi-SZo_(OG(KleZ@0ywvEh zRW1ufy>%u_7?my5xsc7wHgX7OklbT%2ERg0dK^B>*#E4IBOIV>-0hZRTa%ip0hzfK z7b-V*-g@Th8#Of<#tCsExi$ZzV@vJ^hi3x!?nx51<9bVkKGJ_^{Y&IMI%W;MvsJ>& zX{L%tbJ^{H)29W_8^W6$LE29N(QKOV(gXI|2VXqC29q%WX-H?SKQj~xm$iXTM(2%@ zhwe0CaU`V_d*9b3X?ELqytvXhxfb8NyA@u}0$Zn0WM1aKNj#0)iCvrr} z9aEaDYTPY?96`$VjbS7{zZvgMLyoxI#6^oKO}*M)1-tL!p%+t`oNp%E zYmrs))SO{#YZ(`M13;n0wrNG3f^nbWgES3o4KbT)>t9on|l$=6&B(U|*xdWTBE{kbaSN8;+R zMh0mwThVnv(sepkx1raF2{o@SCwBhLzKwH;3iytBSr*_w(adWR?sFg8hdV=El?9U; zx8`*s3Pqk*XO9RG5gG3b^@)iE44} z#pTZ$@vEDj>aFOC_N62&J*5daGp$)Te!#p{P3#~_@sT6mxKU%@DwG6Y;vPrMqX%yn zdCY>FK?mK3Z~bM_1?^i^xf7^I$-mO1539fmsGvumJ(+MR@X8d)2Uag5NZ&pmQwWt6 zl&N_Kxbi?#@Vh&)*JvTqsG+qwLwUBC(_7*eN+){tJnRhmB}O*BE%!pDhJf^QcDlC> z>o$5XM+nhEJOQ&_n_*%3(N(^38xy4ItFEb)Zs6kZEmg;ofz5e2>A{L!BOB8ub|T)x zxadZuh`yIrq`2`job0!@JqF1w{BV?#`tU5#=yZbDnXIct&^ht9PY3MMvw6(FUVeVL9Ro;} z+2F^Qh(`NNhpftXN+;@YG&J(uDOAE1v7YPaCja`*^#f@}Dlk&)6QwMS6ydXYJ-jlv;GuiiL8}#J9 zz4*MmY*+mi_w8X>VF=19<}r0dwNqw%uOl@arBlcL&{y5l@-0Z;|3DtxjdO6Ic;sr>qgYRIXP|BjzxSU z(2aYDwu&Vs^%7Ue7Cr`BXiFEM-k7R4#YVfr_3;5*M?@u@k)x**JIEc*;k z(ZoqZjmx9EwSoL81JoBF?no)5A8*Ny*{sJ3^1gtjbg!;`N>hQgbY5#4BDf=`K1@Cv z1VXJ293x@lEI}|`W3L>7JEhbZO@b;>c$KaxM}_bsi&N?_EmwH)OY*6nP5n;6o@yP+*GD+J@H>N=(rwAO=pD zAj4^?O@$NBV8c%2@ZG7e2ybO}Hol$uTvZ1rxTD@f>#~xKFdQzRU#Ha$Fk6lw6`!r7 zRoGDCDhAJV)?$l{0GEi3vi)JYx#TwWOP-y2u6n%61NpOlp+uKfL)TCh{8nXc##}(@ zxo4BVfO$5ud0oY^MqxLp*6zh}vN+dpsu~|D6GOKjQEMe-KBZLk`E`s5N^F;z({IUr zX}v|HA#VxLM0DW^g_aM~3#T%3rNy!e$5tnoxAmOh5w0cx7yxZ4o>jDKl8&s8Va|o} zD8^ka!@<^SW){OPCLuzt9t7j>V=W3s(yxbG%Z&?a4yU;h#C3$uc`{71uDch0Qr}}? zqeXrkc|#cfarloc%|2Xv>OxtL$*nz}MNSROvba{Xf&UxMj1xBii=bnp^!C+3 zcv=&Al4h4xt=TGnPbrBB;IhGj=KcFPbOx17Z}a!fCP!+9houZRibSYjQrO4vADX(J zWwxlLT;4D!x8&Nq%uZ9Ufm60^D;>ios9OM27c_07RN$2m+R&~1N#3_<@qp{0OVc1~ zVbrzB2}zhztwZxfQmb} z@P@G+d;?XyYlge@z>8#e$9~Tn-yB@uh;dkfc}cTh%-wGDRPP2VinkCP!5q`#`XYox zpj(VLGT$CZRJMRPs22Lut?A6DQ`n6f1qve0iwmCg5NjlzunZp1#ffj!B#&n?5Hy>8 z3D5#>G9N1*91W5NZ&^y*;8y>wI=+40=FvQ^_uQ3uFHw-*2$12Hk$xI=Yqm;m_|oxf z%#h$ZvDwJnfKHgCh*17q&JLK4O)B$&E3ksNaoC4D1Zd`~$B=-~Vyw1{`(z|6KzX4= z)A&AgjzQm9AggjmVkgW%hx}}=Ci!_yHZ6%v&t3Zjs_u#b4Qbk3n{CX3VFjy|AZ*=I(O`yDxw(Th|T9&pC&Q znhQuKlt^Vmi8pGY<9C-L)i&79jB>pbhSEW-*NzHH;U)V9C)roo+yu$;o(Gb>5ombn zkYwM;QqF#7w|!0YXdj-g6dwim5TyL}_%LtJQ*Zs3) z3N1>Qkw{0PmcN$purBO2;b@vTK&x3${ZNMToKtjP@-@dhb zZio89CGBC;DwN62_O~b*Dg((Wi}YR=#~*36e+9691Wc;SlK~?`Oi*za50?S85X61` zE2poTm#yP$)ykSP0@g;UV_AGBL$d6(;ighaAD<)&HvQpKwY>wx`SbL^TPOHv2A|xH zpk{ZR4ne|7$1AU5x@|WcN_;gHpuOqRJ(2m(9$NnLtHW`c-}B@q&yeV*{~GB9;8ay@ zg1`PMr<0hLmWD1e-auZKb7R>dM2oVI)&WY%!?cwN8YBBi^7uBV=ee`~ULH4VI_9a(Wf1UpQ4s?lsYPSfhwZcyIabl zJnu=2$1bPvd!5@TA9m^&h+SV8R|UzlJez~A=vr2S27Op=z-h?tcoi}L>HetEb4l+B zLc|ZQ>vqR^PAB|ccWb1;x%o;|HNq)nIJF>n7WigZ5z|tZT|@r+-InfI%|ns9HV%8{ zvc$^JzeAO=H_1xr#~3d$K-i81TE5v6=c7}Arl@~RCK``vX}wfCN2tii1_SRQHa15f zm1`c--mWJ4>m|`j#GioxG*Ib(C!WAJIAV*&%_d*LB#`UN)x08^z_LUD6a_h9`aBT> zbJp|7;G0w-wPZxoKR9 zQp>t@1yu*wht6E<-nbHK1M$^&dA~o|@b$LFiV4O#EN&yX8$GyNz~?P`rRh%@l8%bD zQ7>$L_59WWYCr*<_qI*8YEZ(|AcN7g)R6x4%Sl=Kocpw!%lszL%ps=SC|nIR^9Q2Oo8Sxps(NOss;HB>xv@9xFX zf{V?Bo6tV4#I62bp-yB(oF|QzKn;DfXXq`yPe;X#1~IBBvq`7^k}l% zX?Bug*HJV#KXo_C64$_Fus8b5I1hd%lpyJQ5>4Ich%dG+k3p)g1LPzzZcC|~VcHn+9xz!`N zt*6yAsD8FVyTgiZ)WoI0l`VI3PTYms%wrkusYB~LRscc;mYB%ln|I!D&^QqVUmu;I zA^Eov8HEWTr$A+=GZF5Rn_c!fA4^M02StFvFx4yVstQl8>?saR@oCDXGe2>DUvEVd ztC!i$K+{ov4^+_6Jbb%28;=B(-5kM_YRLnYNY)O}a(wPpLYP@M@_K zU^nd(WG=?8g;Jn2yDn}2qONB4w40g4ICAoV5iQ{$-T@-o6EvY4vysDMw6Ss9V=4n> zN0?N>q3|dV0iV#jQS$o3y~*@s-9&%CjyZ;jvGDv0 zR|oN&{Q3wtvatou9#8Lx>f6QD;_C@ii%8w&~gLU^a~(PO<=z#wjsY)@W^1!f!Mk~MLR7- z=El&zb7%LIG+^z*>Bj3_V|9fov50)W8vRaJ|VtuzONrx#FElN;)UECBSHJm za;_IP&E}+CZ^xibS?W^t&f_aU+QGO!1%<^0+ zR&RdHq&k9ArsC3&{SqchGLX0Y_Ct@RiRJop(#$=P<=Q4OpKVKDeENwpk0Tv`WtR;9 z6)d%=gTS$Fkzy7avqb_|s;V*_0$Z0v-Xr-}!xo^QyoRQphv)>Sc9uJY;adzGT zg{G4VJoFkdm3M!-cIU0$=Y!JI_SGD>Flt`*4seDZj15rBto(!n}9328|XXS zoIz&uBf~B*SSV_VWfe?KOcbZvx6*(XLd5~Y7^JVubX;GT+ck3!9G7Nr?%a7E@@9yWjOGwjc7+=Vq{E_Z{%hc2qj2UgZ`iE-r$;xHU zQ2!G(@lI81`QX?{Nl-Q2Yn9D~N}uDYTK`}e)sZ_H?xyp~uq}y=zj8}8Qg~rSm0j5{ zC0zS#*4G_#qp^U}1eZ;A#81wI%K`V(08D4))jl%}3)7^efIdx1`cT}mX2&pEO0jT+ zTJnK@C$4yym50s;J+8-j1si64Eb$}`JdDfQM1JgSivy4Qlq$va!L?`(1|KhJ?BmkK zk`liyp=Zx1FQQ{4W9W!SY=_egSGk%wm0|~FK|jI?`d_E^SQ=T1J@0w5ru*h8;vD)z zP?J~+1XQmlagMdW2Qv6R(m;eq6TcxMfV{{8DwxNeBV=O|@zxuCXfkcoBaY zTw4{C7I-WeMnxZ<84cIH`tt0aR&nru1vk`zDAa|J=s-Y>0G5}p1R8)}Nk9&mziwhJ z1Bq*$7hU+`k9ud;gOYRmBC#EER)MeTs_wJ?FvMJ=hk)gJ@QK-b+u?9HTk+tEQM#~R z3OreA@ACmg z*UnB-zTQ3_a~A;-wzm<7D7pc~wIOwiWS$5?$3+knbQ@>*74 z77+=ss&^UKADe@|olvjG87+h|J#KlFxuEf6+0}Kw*xqiy;qPTcR@wt{4+XhH5%ObP zkE&7JTf$^7*=CCKXJWH_KnK%NxXOg&`MY z6()6Ogje{)Tuy=9!>9F=Ah@Niqg9sFA}5E_@_`l*jHA~ps0?b@hMyWF!Rc_fQ~%ag zU9${Y5~&kXME0YDe!%h?4-XIbhoz{>eB!%F^7c&mQ{{ro9aCx#2~PQHa!E!u^j2muE9`Pq>!DcNzo`aYTe> zEKx#S9JDT)HV4CN@W1cle)O~l?_cr}`+UE9ugVgbE>c~i2e3M1YfKZ@4lbJ5HXSFb zytNuZMeVk587;vf8gvNEIIi3V2jqIK%RbG*_)b5`fr{ z)^sYT;LDTUYu5uA^r`TNkH3~%sqe9sxF_Qj`k#6%I{J7^#NT_46$IbU4_);()5C$e z9`iXus@uLwd}ldzME0on+{~B#e~#XEJ-hEjrR9N~jD5DSFR@#V_J#w=A$|euE?Lh# zB`a5(*7JUxr3knMue5z=H2X1cQQX46?VguF=fmCDNQpmd1IpS4rZYXBqq(=*D?KF9 z$072xXGXtn{=9N9FT}@@2IxIN{Tk{1p1}VTBRiiIBd6!&;IMt{#<}zO9V@^i60F)vVsPh`%MpC|LZ%--KyUM>6yCkZGP)7Bx_i9eKbc>VWdeu$qxZ~P z_Ae5U>*U>SxV`6`25=`|s^=FE0Sq31&NI!xQi5ldO-u!EO7G`Lz5x+Ea_cYr4%#`} zTY4GxdmI+WpYIm~4`E{a4X`ubLPmeQzZ}rT#pFK>8AgS%Dv@k|2Vp`bvX|L{)K6$?Lj+Hv$ zmb~G-I{BL(1_|-!u}e(b!6s9~Q6g(5@g`;PX8AH?Jm}n>c87T+BhFz*4s7~2J+N}? zsLL3<>W2Bj>A={V9jZCy17R0D_((Vy0Qoph^i!5!`Iir5nMRfmzqwe7t~J(knfJ8m zk$|)DdQEw#fq!4xNkEpY;sWLPw8>TFktmSmBf3#GcP7f$duIbkJ~0iv&&^!?#6isE zUGszNGf@npkPjlsB81%2jt`owYfb9U>$Y7C-hTY^fIk6CyApWa@HL$s{M_wwokyi0 zA2J6sHsjr@4lLt0t~NXpZ*ZtK+*J{%z-FKSD^dX`$ zOM&nI4R3L;E(bG*N@GkE4E7L5)(Kdk6B0dhh+#1Y>*;=Sc>I+L&Fwm&x=GM~_w3bxz(uFht0`l3VU?b9a6V<1`i{fWaHjFgLi4A{sovRWmGsbUhg4);J- zhGqyT=c5hYRP05eh28o9f-0-r@X8pz^ES*JY#{)>QNSj?0Xa!8J8;-`73OviB3mWJ?cimnEU z@k`8F4juWW43I?(@;lkz9KbNHt`Ss_3d2K}#8FVsYrK!#*l?I0-5@ZHveZC>$mNOC zrwM1;nuCBX$SuQ7RAe{W&!D6ld3pN%a+Ipy$}M1Ufi-*Py8#R_@gdr5{tKiyE= zTI!$V2Rz;XB(Q+HKO6{K6{EX-Q>c~708*-T9f?0*BlKUUCFC{Y3VFb!CN~u8;hH60 zjIt#--ORPj;K%X)miEyAjoV+ciHAJwa~lstUBwF)Ft}#%{NP_m{CVH`oBI#fREUs6 zM7V!@;-3{pD$W-cfIzq%Zi%@$D60OG|&Yv{cP5 zM=+*8TQb3IDPGD0j}XHb+B3kgF$V(!1E&-EHUwi@&jatHR?bNx;38uVcp=jwCIxvM z5@9a7zc#L;v)dzo4)k61X@b=M*hm})5Zm#BMC!dCfujNjSw@-?PRI`&XSX{w^osCy z%FFMLnfqrwls`%|D*o;P9?ivog}D8(5PLK+llXz_SiU zX*r(uDu0j|Ml^c6y|=eFn|dD_7X{$LZ2= zygTA^O|dg0i5yaLS5;!~iHRaWUyFbAHR3MvmQaq^-(>p&?$OdOckr}fxja~?+tgiU zf_ko<1sZ)7UQSr!GmdxuPql>}5RGcwF%Q^#(0Zz@6kIBQ_Or1aXg-Ts^1n|oB@Vm> z%5hi722EA4dykeyk`;pQ6v&SNDM~>OZ%iJj)$RG?6Nfl5TapfrR@=pF#}J6E5YzrZ zd)ZT8rcr+^q)LIXyaQ9jVdLw9Ps)E}0iJ8GA4Cv=Hzd!AU>p#iPqL>!U#2e{1?xQe zDjL6RDIOIV@<3P16p!(t_Tm4=2l_4+$9{I=A+OyS2vkqlupE!!xWy#i1G*AVdO&b0 z??`>F-R^Aq3UsBarh{J}5;)7<16{fCza{Wme{@9w9$j@Muwh@IxKL4I>JI-QU2%ae ze~H{72*dRu$BB-@XRkmU-PMJ^8~R%c_(`vQKUs<#p*Tk%O7Kr6TYmu#6MxGmfxW}z zvk20c#bB2X1p@K~0eBYSN|io1l|F3rw_je%X88oMrp%DEPlPF#JC;Swe1Ixyi)si`)7N&(>`zk91A`d7#`lY0d3Rz%DBd zB(Np`I}}iZobYsFx>owPz^A}6Pt>O4qvvNA_qI0wKeV;dhXe5t+atCa`@WR?qo>Um zVf6mnG(-Pk7;`%g4IO9Qg!lIQ12+z~dTP+@;DoK70~1RV%7j%3V55Gt1ESPTenS6} zl`^FCx@0%rg|v~}g^E02cHNI7Gk;zt*z-P+(U_%y=YyU={7AtG1&;mrxaj$Ewsmew zTqom!*nQY=PIu+Fuq5HlH;;ctL?z7%J*&dmsNBT9zul(2gc(t>THmwMr7*~HjudIe zUzh&&`U%xXzg~#xNm&z(=EO_K;eW1&)2(`EN&(??%mNpZ6La?#;l)*#-}#$ri zgOKmC1iH8_0jlD-_WM_IQ(GJ!l^u`cgxwRcCv4O9n5dJ}iy&g%0qf_~!ZZ`TQCpMGNO2B7zYRSqlB=oETrF918o zsj@wMX70{DY_zGW{Vf>gXt%~09?W|h|4KBDxHHWOI>@y-48RHBj zJ}NdWIJ%98P8pnrqAUml`u`3eWRxd?mAvGmEJ(zO3~@bvW{EmR#O6eW$u@uF)O0xTV2vBdwR$2 z#>R%f}$mK6i(O^Xr_Y|;CEok!?Ut?5tbvw&+RMp8QC1H2!&gw%6t;5GrJ0f@!sZVMl( zNf{GAwN1^+`x)8}m;aZcw?RwwW9UIpYlhZ>BJ)qofqwh7IePg){@hxKL z%F~X|w!=luwUuS|cki;|;769%=Vbs@z<8rFeWqg6)ypkWQkl-u9i+G=$4C5+F8PR* z89y@j{ zqvu2t|Bz#Ikl`-6OlY?BU%1pDy=LcxjW4T&Q%aiQuiB%CsjyxKnEVdzxc02=XG#Bi zc<}|jq_nfMqbA7Fhe~7DcV^%J|J0ne+9KdAojpd{4sKXhVOxi1ab)N-vOco%#h^y z_v8diE>{IdnLAA>?ZAe}3gr^7W(`_qYAt}V!x}-EaB1w=tSx%$^#EN!Y4kDgOm!5_ z!#F*RCQ!}F;~9Q!{!Gc1P>m9i z7VA<%ASjyy_HHjUeC$wSr^~^er=y?zwIB<)2McCvS9|-uN@H6{@uuF(T<@2z^x&>w+{HiIfrH&9LxV94cEL%g{XL=bfe) z&%#!U%?ZaQYv{$P;>ct@Tn>JLHYMioo6y7YR1RvXb$dTbv;f(2h2!jVLM=sB3Anvz zNj`$kep~ru)mRIjYcmJYRQc~HLDO0_Whf1wZmCL@YN%#Mn5P6U_iR z@sf1+I1#IzX)xclX&7`6{?oAI^J`wc<6^}gTg$&}Q=!mN+7Dr|jlrzU7Zn-VP1+*g zvxG3^Lt7twX%uW5{FU5T`+fq}UvR{*>Ej*4*{;ievd(~o>uzk^4zXvSK9}==HGytg zdPKrzalW?lK~-5BMZ`EOb7-Z}iU;rTn8Zo=*G@ktlp291|=nH1BN0 z{H(A$TOIPVg3&9!;Vn~~Xs`m>lzuaX`qdgOeDFE5goz>|P6?)f46~QvifR@W39?*a zxU$X(Q!LSjDa<`stZ<{^N2YK3nv*}|4_xtDOB570mtN9#AsEnMF-N)9A2i!!gHkb|GE ze*xAIaxcq}U@2eZIZm{7sg=Zwmtq@ttp^IrvfxkaZP5P6)Bttlkt0V8QNhD^piUPJ zhjv?B1r#NXb_(;J{|xg}54Sk_NRZjNWO*5J?)9%=+tJaaj7-hOV$;@WChJPiTirCK z*`{6g*&X)UCm~hX>I(9b2HVx0-VrkJVeM8+t{gIt&Y)i7O)Jf3u!deZ<*#cNf!BXs zc#X)<%ss7#sI*B9;20!B|0?#aLUE6?fot3Tc=<`^)K& zD&)5guA6L)Vk6~N@?S?PU4E`vw|eS-?WiEFx)NY>K0!ohWJE)(@C*!&{O;!Oz7(+L za&6*eD7h9~fILC|rzD%W^LfkL4W~rF_fcMA@l@tvJo-%olui{zHVnKtz$`I9LbQE5 z&wTce$CBj(*kmuZaEw5ij((EWh)iXQ!NF(2EhPKx+QdwLzv~4SLIwk`iAL?G+X8ak z7iRL8f3Idn_*&$Ym2VSq@;>Pwsa*AsPHJF$IJmmGdBa=SUw&@*G2?o8j13Qoc|dvE z)xyYQ-bS|_^iI0JO00I5X3QLUc;n{aN^lBjxtnLutU4LY$&KwPs8=trDcv1-VwpUfuAfBajik!f$QY-6t~Q%pEIjpW4KF<}=Y~2Hk+I zAu_%S(Or}qCM9-Ez{tBmUB@_5IOn#GRsCS;<3$Sooa1Tt64-ji$IVkq;MG@K;sh(E zFkwF3jF9RTe>z0}v}Si@t_H+;Ej-(>Ge*aJ#9-kuy1x?DrbB^fHh1V)Wh@T#*|_<0 z7FySzQ~u2E_cLEdTDPN5Z+ye=V!mej5?(c6AALtOLH zv-sb;jDVq&kUjSYaAw-_QhyKNd?az1rD1r`K_P)71OT8*tb-AOnpy_+mDHznw>3ai z-(SvOSz0bx`B5+Xp}5_cZ>@O>7~y5AP{LU5HdPi;JJZ>JX0(yr=+0UUD zmAFWJLs%vB$-Zgid_E0dBVB@Wce%nzk7}eT9ye+TzVjj^;zp63`T*lVY`CwM(W^4- zeE*Y_5oST9k%3AfkaCPJ+sq>?%L;Dl>IwOC8_7y;O60UKHR_btBWJ7K78Q4-iVL0F z?R2-DP{FG;JAGe`>cTX6$O}wc72}1@xWH~aex6D*;qErKNds@~SQx3W;eVT5m=!h7 z1M{Pp_G7esYq%5zT2{3RQW-X<`D3X;s;Q{qJVMv@fMiN@M++ zmz5EUCEZI|T$M(Ri!I2B;Pa1kxY5IHPCOnF#a3`FMxEFKKZ+^3+D*H*@#%(@@5b;E zjA7#A>ai0goSAEFF%oIEODb5}BV%?O3r)P*ZBc@m%YxU$zXn}LZAmwT>2yK`AJe$4 zj2-o(OYKCB+mEjm6gQQHjJwWPQJbh|YZtF8g#cK>72)%&)n_ zTP8_A$ZJxr2LIik{$~maPCdG%h)}klPyjKm!J1Ve0gjtUz%kb{q~+9F=qCS{@XD7Q z=tg?347~kKfj}hv5p%7Iy8)07;{Kjo!hN@JP(f}!^hgboO1IUC^jeq^C3eIG#e2urInOW_$!Hl&G~Qu#3F=sFBv8txnG-Y~FX*OW z7;p5W@>yWgZwF?5_Ci;i*lE`(o@%w+tYMX&`K|M(*z39l&@n~zNOKSOsib+jmlBu3 z2iL^1bi+JB8uxRyhoNpoYfV$TXBL*cwFZ7M;oH`TBxXL)I6+=8RhgpXVuB$%Hcpwr z8lY>3+COkmd_Z@OKi&BDoZ{b$p{uwryoI<3-zDU9QN&t4!!2(d=uL_^A+bTodVU!p zGohaOXaHi;sG<|+zqNr|1T$F*QN{ujTPH$fKDaDAJ0-obPJ!r3SF4xLE;Z3Q z8C#X%>{&+j*m<*mS|cob_Vmp_B-}}pQN~lZ)%v@WM=SSST{VXE%|sO(#P5`D@$uLZhelrYI_L~$Wh85P6@wg( z$`Y3p%GM|j$^6{Vt=h?(Q@H)34yk?uo4P^8Dt=O5x9Fl2FG-A1*4ma9^+SKDm&b z>QyIqk$9KQl>CGM(W$Lw;xYacUyAE%HhM!7W=gdk%IjhO2Yc@w*7Vk`iv~ndP_Q8) zO_vHv1XQF$0-~aVpwhcYQ+n?ZSqi8Ks7NmX6%Yu$gc=Y;q=q8B287T<4<+T!fMxCd zea}5-@4L?*_j%4gJg#IZ$#2d%-gms?9b={g)DTp@rHRcdjE93M1cv!yA`AoP!4*(V z#&I8Td!8tcE>B{-#_(!4qtrVsx-5F zaWlt#@$Z$Dy!kPGE?G~R*+I1M?4Z}l0r#3hg*|c|Ec3TD-x$QA81zeJ7kg@=S9^6S!%V|gMN`+H;1jIoc+V^7W`eBrU2Buie|zA% zV)L~I2NwD`0UtJ~EiL>zy7o4K$Jzr})(IB+_r$aKV%gqimV@c27qH1nS$n$;yqaI% z`N9USqb_yMaMK6LkTA+t-;?l^b>IltQ|h|vGPXqNV_M-DkfB=!AUayUcDftsuHN?4 z?O|PAjyB^MPF`2(%&$c}^S!KdNH*)ferab+D2TXzW5=s)O@orwj@zoDi>p2N-?Ff& zfCV}<)f|9?e#5tsJaB;e9lyfnz+>p;qXvM-ZBcjsRvp{ZF;Tjazk+uCIZZzo(T@cr zp!13Kt!&$GwT^+MlZAZ_Q2bTceXR!$>VQgx-yi9EuYZ*?l=~qh)e$sqA1!g`(V7j0 z61&Q3*&gEg=?YOc1kA2_%YvCaA+v}B{1+m7TQ4%1d=t*{)h``%*rN5y31;@+s^bsS zcs16Ln%rN*I>gC$Cq^4Qm#qDQUzso2AAcGcYz+uJkLzst(I;gO7pv_-!XVmy%^hH7 zp2iiEVp1DXCW?b8+k0r%RJ6Ca&%O+O0n7NdGuC9p<^C4T!Y0o81>Gr7jp1eRMbU z$ngYIoWgTHP|5X7S)h;?u91;YxiJy3&=rws)(s+}epl`u)ly@YvDX2dkSvn-qk8?d|ppU1UqF|XQR9AgM#a7Lm(~4Fa z9L_e?>x;%y?NCNA*yZ4y$?G!bGU9xH%`4O7ev}|IXLJ1ntN*22J()v-lvh5h^%f19 zgbLxs*r6vz-d$527H>7Q8u2*HnF2|lzVGq|FLolJ&G%3D{GZ_8oe%4HUo@L9gLI#L zQ>s}SOkLOr&z4o|BIr74XJzIvVLRf(4}&<-zMNif_8aogld znW)(Z3H^b;NAgNqT0RG}>tBmEt1Lh1%TtRSTn}PLLE>6c{tQzh#5K=8GTt_9w7u(-j93s`^|wYqAC-H7}u3p<`hOt@M+fC(7tLYHsaa1LBB~CacqZb*ehJEwpHgwFqIp*H>p+SXk$V$mjdTMHCR=K!jU1em5r1XcK=9*5v z(=*sWwNzF1{`6x5uL!*$I}z#%Vm!k4inZIw>rNCLVXLz-E|a#x70Zyut3=4N^n>^xmHe5QNd)k$W8*XSF0Xj<2__V~*z zX7(ml^nka*gdnJo>=VWmq|EjyfPlxRnxL+!iM^HlSQrR$#w;BrX(atjJmJL~icGqG ziPWAaW5Nh`hfe5YH1pQtSREV1mNZ7)>h@m-s)|tA{J*<}P#R=&{b_{W9kltEYSq7r z^q>~<6K!g2|gfy(X%*&|0CaijDg^5EUzWu@0-)DNb zv?N;k*3KYJvfp`!9Kgq`^k;h4m4XU;vs2WjmTy)U816HNZ;P$Rx4kHk_Q$>-Z;UvK z9h2YW9t+nJf9A8r`p$s4zB@YDuEO9PXuwHz_#Jb8CDtcf4MFf(+w|IToqY=f+daX& zU;FoVUpfPLT57MD<{xBXqglP)yZ5AShbJeN{rjI~!#1p+L$4XO&_V#NB6NWF;oWQl zz43;82aU0eNJ9-bH-V>?s{`70U~I0piNw}q+Zb;BMVSAB-C^kr{2_m-)7+3DjEPnc zfMFM6>YJBJS*3sJBL+pI(JMsc0c=H%z&<%Z+bgwu*i-Jr$1(V&2GVL&z4_*11xwb! z0V2XKR*>S3;oKYaRhQ0j&7|t-Z-{4swG+g2FOpTzDl8CUJ6Fn3I5J}u3RY7yDt5QU;2C4c|4l?N|QQV=9*gHms8@dC#8+ z?nd*d2?Wygo{X6+1N5cYzKT>&|3k(1RXW(0RU#zw) zKYRTt3)*g&jTQkfAYnGT#e^a0m-ui-ueEtr>9-5G&kBlfl~x&jq5ZU>rLlIl`|NCb zbvJq<;)Hc2-~&J|O1C+%KaQDG40C8SJ$u!9(E>p!m!!pdW++>?lj>=gQgEHNAVC{^ z**kW&EU{>7s7im+84?(niDt)gO7^@f?~hd)np4>iA&zpTI9-VYa{>@NwVgO6bUWer z;_{=hnb@mwVb$Pn!`tIg+q%GSy%YQ)@hK=DNI$yl?7#iiN^#ZrUWj5f27}>=yz&pn zLHt?3DRq{U#DC%>h`>Uza*to9Xs|Y0g1UR@{NfmYwFtICy`p-rzQ+ir?5h3&bbLS5 zO8lMw%~&1Lf<6gD!wRukxP6Yh2c^6OSEOer0KnqP;fI_ep3YHHHkMJBd@P?EPg@|3 zG>Tp>-(-9O-4&TU_Gr!B_%H;Md;=n3L%nO{<=nY|x^38)*(d-uE&3tk2jGp`Q2u6ud zvL80}sgrP?v^VZt11B)Rg;O}|M#b#Q-l?3~f8AMo3utD+Ikm)HJF!k2kb{zF%U!=E zuy4`eM7Hn^*#G&vAL(`EV^;d?*E)f;m6cfnSWJ!`)vqsH*SSzLG3$Ehr;O-$Y2q^% zPO*qip9M-;4M60^h8Rf?v3;5V0=lL&ZNhOh>8-zrpq#-*{BR?fsl%kz?Q6kBmxgy2 zje#&DP&8H-3hjEqXtdrQ772#Rj28w293A#wA|P-U|{1j%~m^t(&p*JC~T-*7mA+W8|;JAV;Idz`Gnn-h9=foQQx zS?5|l%P;me`+Hp*)|RFVjj4W5Yv*YtESZ(6LF1;VOSO48o-b@ZCdJv#Wiu^$HM2S* zNa;~1;KkiBoedbHteAnC2Do!R;E&5GlOP_CJR4w4zn;i zy>jKtU7P*-Uw!y(97J2X--f?b(sB+amrXa+(ySc?A2XWW4MD@aIL0KH;R!2$2E20N zzQ=P4Wov$aM@mHYfYkSAb;zXSeZpkMDP6jeU5qUL8W~1{Vw}TNU=b=#8gbY!R0nY? z)c~$%z)i<^Re%Q%shEuX@E9pT{N?yN`tP3TJ`e!nFEVfLJmaNPcQ*-{$){~sUseDY zS3&kaHM8TuL?P32ZQn043-Qz6`!Ok6^FWa<&{`Fkkw6KMAy%i`kAA67g0g=23c^4Q z`BqM0*wy!-zPOJjF>*Gu1+fRj+LmXbP;FuBJg_ZNI;}1}nt6m@Wv_!vcLU;?C&j-L z_pR+it*3}NDB2A9crAK=dP*_%??0}4VekepHxGvwdphp#N$HMYW_z^W8!*xUO3E3(@n!7FVx z0X)(V_0p^QOHPKRvT>+qvgdUUl?@5{s=UL*b^>ECEHJHmXRD^KasM@EG+?pQ;!~{N z_}e)68Ur71WD#sH`E)@G?>_F)#VSc=P2G1RB!7ohlu-`2H2sdTGd~GP`3gldf!%q zTc4b4t|t~y%JQvfwXd8)Jyc@DLCDyji8=%MhIqizYD)gNYxN84{1YraDD?|2@fF@dV zC`2ar8@Ta(p3+%mOeLPx%rMen=TnVQ->Z)WZk(KK{j*Y8w<~P6TI?kpUe*EgSH^jM zXr^XXihf^Y``9X{A*;0OywI^b@lt1H?1v3%m(5v9L9r{Cplx>C?b8#FF3TZ@vxMUJ zZnFJTXVy1XQ;p8)U6&ZrfzMb=J?) zZ%|3}gmiiraKM^`a2k4jIB0JE`P%%GdEcYLG0p|!V`f6d=YOP@PJs3b2d@v%2? z$QznPDzmv8Xp$%{Wonb1bw{&((CIwG@fuTt$2tX-Zf54NI(qyHO`p^8kSXD!8#(Ul zy|$s@FK655x9`?P@c>@_JLSbE%yknA;h>a7LtO>^>!O2SL%3sKkue8%^(5=9gF+wTt@LIL$^;t_j5(*?FDQDhctnP+eZmX$ZdO%V6 zxf9aXVSaRaQNiZ)s>jOBrJy|m@X%3VefN3)$i`CVnjHd(g6OA={%d}l7zQ|o^kcD= zp9HxG#2-6scH3`@zz@*QBT?yOw{thfc8Qt&)3F|IA*Di)PH-Lx4!P8GOiRPsJP23P zZ(EU;1+fvqK3*F-4tZtV6~?c6z|s=PJGcfYJG`{RP2mfBw)>uQG z!|orJ{Ry&L)if?`U|9UXH;-xIGi${0PAdid3JI$+uqf*TSN3XcI=URH-!6mXYnX8S+K}qwLPO6B-wj1c{rao*je}KlXf%blH0MpU|~?XE}Qr- z_7e*upKER%-wIcXs&A8Z8|DH26hqAjmv&IaFw+vQC&|1dD3X%t`Be=zxBhC`XfUmv zl0a-zoKp1c%UL&}48p%LHtu~@07gRGWVZU*9D5TSBDH=0Q2Hv)E<|I!`JCi<$&-pA zjj@8HZ;G(Dz1N1fhN%>{%h~6CgAKUP>l(xDr<$4Wa@%X!9ek>T-N^GS&~#9Xv0>6F zs%2+mKVecXIzY6QmAb0UVdO%x1gPP@#E#exDG!+G6BI*y8O?uhB1Q zS05ES)_!;IC@@XNdW9tpf4cYKrOi7Y)7`tqR@V~*4a*aArWe-N<4g_To1u6W!or6Xz zzW8ev01uROAsJ!U6eoFl!z1QIQF%qhy2^eqGm;3SR!=u!>lf>VS);^UZsRN@x}<>< z*SL0mz4rv#eeR{H*+TKCCyj*R%~;0pePQ)@Z12q2ams_}4G9WEBI&M30o3#rR>?UxoC z0G^SMEEP?kEVdumn5|rsx@TL2ij17g1YkjA%b-1Mwz1neSU&jE$2n+sr{JgSS;O%R z$|l++01&JNgq@0=@CiA#HD6D7p4!Hr2QHe)=Cpu#x_C8$GsBlBd00fut~bVetrq*? zt>DI^zV&&FB#8ZsAcbGZ^M?`?0Xsa}hsk+|RQ$LBVxhR2P2z8rK$6xY())~ar?N;} z2tReu`t=dtJfBh6Z6p8PoLkoefuQyRm*J*D)g=<=u1^l4UABX+gkH{}q0$dIx;7s` zQ4ZKsaGPw#Epa*r22VWwXw_YLY|kE{OmCeGzxB9SJ4{jz{eo8InzG)ms$8TOab9(^ zGB@dp7tj{KFD#^PfEh_U6evyiy8 zLcO6}P=6bfFnJBf1Uc-U^enm+#^*0>tEZ!FOp}TMPvK;S)LC%Beg8svxF{G9%=S~i zp42;l=tS?OdC z^-bBan|Uu+Ha}*ks>EY@*Z~W08vQpcz>CHLW(ZR|nu97xIXq%)O#WyN|Dpo!eYf}B zp2xRe2Ks1c0*|6`*fCp_IKu!lZuov$@#sX+oOBJSvRh`gNPDhKUPKHH&}RB6{)A<}-pn(}6K z7EK)wUok9QX`r#q(T0(Jx7l>B-6I8`%R%+DvU}Jax^aC!|J$U2tLXnDOixyov2`90me{86~gT;T{<9~Fwz|$+h+b8ph z7B4Q!E7=AmUd`X4wkTCOnk$75@$g$|IMz}Fsnq|%kpC?P z>Cp`ha5h1H(9th(pJcSZ99ao|L&hO?;R6Jm)rBqLo$HjVBpns zvKQl?J=N2qGgtLF(9S{fjs13d(F_A$BaTS}O-W8`Ux5JVXL{Pz`(Cb)aIluCUVgiy z13^B56i{b}2x&O|v7h}aul_fBaqfa%dy(3|`B>9wAM1>D{T!_;#j3mF7_G2yE*@@Y zTkJ7@p#FA7rXC&ohXV`vM)ti73{QkPT@+!T`rMwkx0wG=XT(__yZ0-ds7|v66z=}V zlI2Mf4WVw>7W-bGoSCu8l6RxEiR=QOLi)ksz8-(e;ZwKE-u>)ixG(sR;R3%@^>~`q z`@BdJ@AiTv62bC$Awq(G54Jgp1WULP=l0=`o(FC!;HDiWzYvf~&PSy^Qc`R`X_pyD z%m0Bby}sn%)HnX?O?dy1sC4Lx_o>s`=YLurCIxCxYuxV(b~^DgA^Pe6P5@VPJ6Qn^?0Bv(B#&2&Z+iZxrLnqd+E7iQY%v`BW9O0Xthx*3W*g*aqn1 zYr&UuivA`pbWn&Fv7a}XLV$M~3jQ1Bw3UvU}q%RBz+m;dwG_Wrl>t`jk|ktiQ^ zy)+@V^qra8|J+GN`c90(I~LjPYKJC7sMGP^fcSav1>!Fs*_7W7QJzL1=_BHM_Wq_4 zOP~oX4(lOq`D?-G=rtj0EI+k3?o+S#cv!jcfnNb?rb;cMfBvtZU&+rEtS?$^IDh8| zU;uzDiw@uT-GKF)7d)^3;DkMR?g(HBX8w2L)UB{gRd*6gcdmN>A(u!a07=`D_zi)B2uoKM~q^^T6pk{s*zEjU8&}Jr4xHwP!ie+*z0LIIbgd2Yv7^;}6hJL=Ccp6M8 zvCC|sO@a77i@E^mx%R395-7E@-DIst_dh1_Yt!{e{{$T8XL2WgWOf2O=VLJ7Pf+sT zO(_8DJD}o&-Jv2Iz*5)J?ajF}`VKr(P*DWWOQie8PDG|X)kNi!2b$lpi8C3%(Bm0P1Jmzxsp8pf47p4D8ZoaNcK{`^6TnpFvCiKUE+Kv` zv;jGdInENjS} zLh@e-M69HOOB9R_Obwr1oWPh$63Ph0XT1q-2&?0=ed(cQi7Ma&v?kMAg?0K;*YgpF zSa>DHP=~%4om)i1SN!ak8)gDsDr0v(B_L&MJU>x267+(sJKpkQ`Gr~#zeeauh_^?D z>_2*$>-N5*1h!;Os?+3ly`+raBjsqQA0n~6tU#L34T)u2Up5^dMi9#aV{Q1BDWRl= zriIUp{1%2YU#n9MC6BCe6&GJ!dS7Bv{S>YIsPUpyGOrDXcMI=kJ$0j!(I27q_BcHy zi9l^xDaZ-+!>LjzyrBAF1ceIAmds6XRtxhLQ3077V1)*03mCnaz}M?&m^fdt<`jLN0M)3#({iID^zYVzNyTf_T|e5agqCsWMEn7V4|83hkXIId`~mxNMM zV{FKyioTb>baHmgbs#tL7n+uZQ&VxJY+8Z4m+}6xUPS+HahvlIaC-tb&Wo~!K8o#k zIQTTb-*uKLkd^m9sw(mpy-r6BN=KynjyP&BsFztPMxO9A*MGb*Or5rSCJU@!Gz}cF z#EOB_oZ?Ahy7we~RY4byT@Puk$o`BDopZfLPz@;G13QQchwCyU3lEE(&5+dWmdWwW zt}~BpPs=^{!7zH8fW_pLCbJe(6Z)AmzMu=*UVSz6^su2BQE|6Pvz1~SWtJa{*4-YH zYLDv`&F`I}BG{0t@xyC(aKH~OeLuAMdKtE|nC}aL8y{u_%Uk+tRRbq^4aWvKaGs%~ z{|~eJ{kmwn`H*_hAC@d752C{nb9vtF!?V2=3gi=4;M111W80D!lY!08goACH)PMPD zO#vi$09EyY>TV$s&LE-qFjm~ed41VPPvY<$i=q<3!o~ueLdabZ$0C`?yLwGZ=hJg> zbr>hlVtmS1O#(R{%gxM74Kwk_`(nkF_rWPRj%c6bQ`IU{ic=CM-=qRQbj#Lj7$?L zBh;fUif7Z-jn>8Chs@7poHU#l44F|f@{s}_OX1}w}ZB_pM zKz;D+?+=S2OD2_+dV7hDtz5^gG$ct82RgI`g5t$bE?Dtyfi{Q!mQn6XaGOQ>LXgbM z-7I?#ehUW&GApJ3!A=VBAJok4tmB5V9K`+0Bhi0AR{m~~qGfpM&@_3?eOA9G6w(sT z56wTvZly(xnKSHZsW`&385l`XAmb5RFVmaJ^G00ERB}H1t|Rcxq{lc$xVG#$cfxT0 zJ!||7uMrn$lZlKEy)XhH-WA8(uZDN^p+D$%jGr2uJiXeJ zQVo0oUGs8WNpE4LOWa{o8L|FN5g`~iReAj3*5}IQ_!szwF8HV0L0ha`Ow?6zU-2)U zf*CfU;0o;ZRy3xvZ#*3|IcYrhT&gxYBi{}TFS!?sFh3%9k(Lyx8mb}rT6<1SR%*%NnJcs;ZKO5B2GDkK?|{5c$I+1#vY-ps*;a)u*4}D{AFJPQU&420{l-DqyL>&(H6Oa zmS@B+TmEBCW&lkMR?tM{U!@_~41@X(xcyM4<$3o*{(;vw61C{7IEP`J6pHX1^Deyb z<1Yv63hON^wVF7Ogdj@~4)tBSc#exyL5Mv}K@xa8&kjc#&afiaJ3jb-rM3m81omfh zBc|jd7eA?O-jg(?8@c`FjpT5VkJfr9bsX{Cnq)*-hwlZX>(gC)kdcQJX$p_ID?zCe z$B27(Yz;|I4pnZ(W(QP~NLtL}!<%T#DVfE|r%$I}seiVk&hz@y(9jAN;629l>IlE` zUPe~leW29BGBu3I9i6=Qp*ob>!wUSO>D0Wx^Y#cY-`YQnDL3~4#{6LrYRgfo)LA6O zWxXK`%a*{Qb;p;~##sGos-p(BvYodr_0(T4;Z5MkGQ3ix?F!R5zV2iM z=kT3l4SnXWT1s9DZD9!=6ul%{$QuAY+r`!Zk46IZvqepiaAk}KanNnxFlC7cl%hLWWAL(`jK{Hsh2McFjQe`Ukk67>5=|a0WZvewf=BnCNPk ziqq#(;mfIJrwU7)%>9uRJp9Dh;IfrvgYr{#j8uvi)vKq(%T9izW_Y6+_j!wOfvZln zER@n-R}DrdG2^KV1RuNS(5vW&(!iCwo`&2Cf2bBJ`Qg;oKT+2Sg)3e2cknmn+KE9jpG z8^G`+J)m7eQD+SP*gq~F-p(>?wEkBli^I=wFNBJ%l;WZEQ!&L-b_LoOt(@0?V4Ioq zQw*36MVyc&Pe(6=@k-ylP)bZ$#8py$jIcpFm;yuMS!dAupUE<|_}@CR$&@sD{6c~R zEbCHSMMa_0$ysS}I_9`s)+r(K0tG72JZWmNUdh2ppMV_qCf^~-Rr4r-`OL;S>7@Clz_NWPURd5O9<$h zND&9Tj=d?C)4cgac_|T0athP%cVn9oteAdz@x0FN%U05^q-#B81i79_(hE3azPXC3 zrj{XBib`~xM#VhrOYE4y3jh)O%UtIU)TzYnU7l!RVV=Mq0CP#O)?S~g*9S-VeW%%j z2-l`=w=NE~cSclFy)d!^PTiRbqB`BHz{6BVoMjFS)hCrFT=ezUc3su*$A1YA>$dAT zy1BJgj#kbs z0>kySLC2l}Z`!d5U+j?2sjNvK3Tfk_-B6r;bKcog0V6ZL58WMT)7n~-KH%biP|eR0 zn%)8jlO@5-I{*9o2++OiRbBs)oQgDHGc-Ww_Qdm&-w>c&p|@dHS(UCHxiYekzVlUJ zF_M18^h7M!SI1TOkZ)FPo5A>xmnD@e%+$+Yh>4wgnGpMN?ETFWZYpfxE$ISbD8F)n z`Bc^|P4Sk^{ez`G7PyKKAIc8`)j^^IQPfJF$uQ3@v7Nz|O9pBjPOdi?FKi{FvtEvZTk- z$DA`8UVOHT1f-yy9V`FaN_1B7LtG-VVm)rI9{+8PyR0V4)NDe6vQdw}C98KDnU-cG zi)2nV;gA)$bmx_oO>>{vrjY6CS&D2CbYq-jQ8os2{o@Fu8_W1-4kqNcZ!QR%F`NJj zwe2+}gP)l*?beXrqF~BBNp$j9=E)K1C4gYjD`G&VVu3{+AB8 zF}SR-_mWfHTXqzE7B}QMtzOhWyAcDr&4wuz*rTx}cwo&ZA_$<9 zD4%6*c97Rsa35Xj=gi|#*k2-V4)ho~P$M9yA$*q&??O2s^&E7y( zpGNUxHD-&R0}mg}G1oUVIm|zF&u}dJYu}3-LD!k_T81ZSwgC?0pd;DKR`kScnTdnJLh}pmzeC4_+Z4%_!t=wDoLKx`qTa;}~ z;Q=>rxC4)u8|HdHUe6pR8yV{z?tushR62>#p1IIC2(y-%v7%MGLr?l&WL?A0zRDTs0iyYE*l>q?1rG?m_S`dV)X8G1& zAyloId6n~myZc6M1$9Z_hv7hS@v$=f@?yh*`0C`zAho!ng5>XmW`zW0a4n^|s%w~R z?_k)E*sazh(aPqqFefo$FFC%XsaH#nGnHQR^5H0nDdCdkp*s4`q+w<@3_$nYZtl)M6an8wUFGuF`;nsTegql!ifm6ILGQk?MXh;7DU+( z$WLpSuH7!h8!1-8jxB9acm_7PdzkBVzQ)1siphgHl+gp^<*JI}erZyV0*W|(dK#Yq z@cL;dJ2%&Qwk%4mnP_3eHYz*zee4>x1!dtT#xCo$wXcpl1(S2Kn+Y|&Iq~U1UdhUA zo5qbe?^nwlmOLFZg&WG5^;nYr#jW?1)*}&|LJs1e`&b&qCMzC@-9VHCy0DhOLR~m) zWSk?p&Cmu#*>y)0dap65frwIiWIJ_-;zhJ$h^%NX`TEV|uWPk{f}eg*ufK710w z6>(qF`u+SeZ6seXlklsWYU^OHZ?Wn!G#nM~4s&fw%F~W9AU| z2gs|vkMsEiwDm42<>~|)!ab-Fm#qmA^Me8>wYOZ06-pv``fu=f+N3oZ=pW(|*;O@6 zGCYG%i+&UIz3FqO;Gp!6#;1|#y&AzB5rf@-LGjR23(o%L2Q$$znNFwKzIS}K z%{C(>N!QPp&EK7}=QEkW@Uq;)4X}334l=7($qc^DFo(c4pYJlwzq3bE5@o@JA$(4~ z9;=R?v`=NBvK{@QC19>Q3CW2Bx18DYiG`o2yOFuu&}YnN!+w^%5LPM1KQH6XxzP

zw#*iQRV?0$cmGYrNSFw&E>3)!T=a^eHZ|jrYt-KVOy3Il%&Su=8)0ug5j+NwNz9|UY+ezjY)T( zlJOA6FQmVA<-cN~L#AE*0>*X5lx1Q=`$*my^}^teN#*`T;@=0}BjpoF1n7PBxR?Wd zLj>PW5mBV*!zd;?EfRvkjicz0T$LWU8~}Yl@#nTasZU2=h4Z}6`D;gmz1{m4s157g z_}ld#8~rYp-t`e5s?oDk5h8KHcv^nvm?Y2}Vh@_zb%f^o1O6#kbcGAD`z>vv=fEDru+;DM$EuuiIE28}JsbAw+Oqi4bJGqABty z>y5Cl;n^`hO@=)o_v9xJF=`}y?gm|{lTpIU8k3si*Gy|L!5=>`aZ<0O-ArjhMfu%F z6H8{K8g&f>uIfb>)o?f1bY9SkK%HYBM7nsf-CpLC%97H{s&|zv*3by_}$P9;vUGWA_bmfCL8mS3% z_GOvkkwaE4=&KJZNn-N8>x)`jOL@654lYqKy={gAHuj89Dz|X#9IkC1f zcbnCFHTg)A*D>lMV?sJHOwXr$P76!Pwl+Ntio6g$qd52hmiiK9ftziojW<-vook=%wVyKo@4orfGLV- za0wMWTWC}3a@i(O`dvnL?%3BmKcO9r7Z$(Go3E1o3JelLf>MGTV@WIj*SJd_Dn-|C% zV;=XEJP8d~tz5s6fSAe@IO~s!c~JcTrNYf@y_IcbfC6 za@|!e^F3`VMJ!!Y5NA$N=}(3Yo#+cPloch-*DZZX6bHtN%N!y^a$@$SyMa!f5hd!?~Y+X{B#=w}=Ij`lp56Su!sVna-=rEo? zB)dvCu(gq)dGs}&!01Qb^HoMPWBv05a>)V|nypJ$I zqx;)oU!e4R84dz|1_^rqlbgK;Qwm33txIsw2;B~c^Fy%#-%g=|Ld~yNz@_v2W`*QVoyvHJZw>JiC(W|X&=9}f$#NnK)w5kEVY zkfUEdSjqTMdNXn@&2ir95JYTz+FW)Azh>p{-OG(bOdU`OkF~jcH$-+x&Z4X|+@G1f zF}!;iceKqf?&;caO`j`cmgNzMtAHldv#2M+GD3s6w3upCAC!$5o5gJA0Z2q7T6blC%Vy(|m8Gx!ybW8t zz9)V-KkoaO`>J$)R1Uv>p6d(*RoOa1%2!RlKW9LcO)D9 zg#xAI_uc6nRv=-1FxMe+c-WhKHoW@Frp1hz*5IgjNdSu{(&_8MZI>R-LbCGea>;|W zT5d=dbAR6eGd$yxZ`JWJXDo9xLC2J9~Q?^mp2mb)3%r-s*G= z(`w)~A4?~}f4r7=lLi!>Xa4tqg5c%xLT0V&a^OhY8*Vf5kbg^2g=2fL(|8>`Xs%fx zo1ZXzKVWX~{xLylWReBeIRxn{2bGlD?bIQNAC@%wdPljl1nYXo?8l-_{6llVY}+L! zva;I2B|{^DG2ZvrU~VZFw9`{|X*QaZIqPNFopZWs9s%6&nrvwvA2@wq{`$;cFv>lh zYtdyn%FX-rFR)^Y)cKlk?*6cvrmEk2t7|SgX0^vhkiH6LFLGg&znD`qdVj3$)Jk67 zWl4OsRs5557SrhmDah;C1@|zfw!TIo%dZ&n_a+}t2ga=S-JZ@RM&B<~e+brjhLsrC zp6W)UVLwXVWt=Z#7d8|?s3OnXRf=nxHz&-z6Md>XF9xELDx4VOy|K#LQZiWT{B{mK zsNY2x?v4)cl00sI9nLAUH5$8A8#$~YDPq+8m&fM$x|>LZxk#7DFox7uX1V|VB^-IJ zPlJhBjW902-<@+h43a~!E?b+5djZYO3|&5jMjs>~msE(|Tr8 zd2C(tzB4NkA}X?7=ik;xl@J1hsnI3fX#?6G>x+1^0o6)LudK>x@3#DF!bX^@LM2Pb zEGk))W)h7{uVYCl3%bI{3?XTyzQQ{`Y0vuK^SQz0E0wKh#g<~CO5rDm)F2!D!L0bySA}5b9r^B{JXoIZEkOX;|gv| zFL01R{@ibOo{<7wHDg=bn8?_mT=<5K)UzvB_V-^+)vR6mc&QOBJz^Jmc~`4Jne#iP z7I-u4$Hs{tBArQDAME(d=MWQv@* z^gtfsXAcNc;Mh&UpE3R}Ep3kpKIiv4BYz@y6c8juhwqO>{*lt0+S`*9eK0*QeIXs( zw5DDC{pt2!kdxV6o^YyZC+T{ael0bKPmzlD8Cir?d~Ryk1BCQm3Hw? z$9VQS58iMj_@_bakI#L&b54sfba>O-pCpm{jcKbT!HCby^=h?su`WMkmOc&NoKs!l zJH4;WDpKDe|AJ9&dwP*eMug)W8-BC&OZPD4oD_qZu=%%c?&8a#z2mDHNWgatd{>(# zqOXkGL1!~+u8vPz*p;5W3DNF$su3inbDYTV2cP4R4!^EQO-r=2Q5L5Qx)2VBtJ?Cql&FWq z=mdI`!)`%}Z;jpPx)9N6@TtfoY39n)N1X;U6a9*f1swS(^Od>$h&YcvhptizKP`xd zDYy;ZTRS23C9PlIV`h+AUuFVxa5eBAI^UjYWf2WCDSA~}@z)B5$U{rlXGh+NXu&AT z%_`*EwX@&xaWLhs`N0l>(eCOjtZJ+95zZ~Ca&tcW3Qu0FCINp^DMbY0Hs3Q8Q!n*R zl>F|%}#?RnYA(v$F>S)uD_ptx2|C43XfTA?M>6<%ZRqp z%F5cia3@wzKuflu^}OR^n~f>;bMue>;ULp5nagoxUoEMk`Y>_ZxzVH8D-f<5(tq!H zg5=KEpZ7J+efLgs@KZs1mRXjFUM>t+N)D@5*sbrI576M7Z5ec)@wsfGdA*gwhs>`k ztx>EAfoY2kJ=&Gw;k!#~{_bn9JtMhD@AKIek~eO5D%VaOlZDQ-n>EHO&`9RTUZ;tA z5p1PU7&T_%JI?TNmiZUi*%2Sp8o!wm*5pBoQ@ha;(u>zAWJ)KTCX%ojl8FYajW5G9 zP$t~c1!2oAGV+wDi??`umabb2kFz6jah%S{LO^nOpl@6gpXdwtnFH%D<(n|n=5L&`-5-hy$dCvDe*E#3E^ZdibHG608*)wacx!1kc zni00-wNLRFR@GSC0rEz6&rM#ct}uf;nwM-ue8K(Z1!Y3NrDeY`e0(-!>XGnPjoxBd zWd2=&D%^CpET06??+L zZ_WV8X^+XZ>La~cQKe=KS2h~~wVlqbg(>1-l zs8)`IYR~^OX0lLhs!?GJ@z$l3p^n=)qEUeBfx>-DihJ2o}0_wLL)#)-3nja)w-M=c88+KK!)l-#>{*Y}Mg~fLn z7BO~eUr^=`Vb97uc!4G1`sdSYHskMBbS?DXvp*5B_|DX_D}ofh!#kEq`UDwSwo;uj zre3pq#*E)mLRRPB@#8({>xvJ_I`&S#yh7m{J8Byo_S0HES)gsR;9xmFhc&7#X$mk# z1uxd(AJ}BW&Av)58Qp+m#TPU`^9XTg8#;EqevLM8k1J5~(?_n;=$G7hYX(^_WAzEI zjq|8aSKa9-zVjgyWhgx}m{I1eHrl%|D3)=rM}tEmqmhCJGUv2<#chauV*~x;iY%qy zPL!BIIFCWN*itLXgT88|Rjj_$ENP#G@X({J8}2*Rs&IDqk`l*HR2m{19GR;rmWzNA z4{mSQNYH6LJn+%oX@gK}1Ye%x#;J$FY$8gjAm(E9rP5}!yZ{r}oN#U$z>TYj+wyKL zmX#S8Bx&J1zvofQ$xo>;YZTiD4y2N=tO0URydkbEC062<(t`Bxv3Ax-1)-ZLRv*nd9L+NU%&Gg5@N%}dE48D7k!k*U$aW4@TafyF59D-f zN55^U((>|h``Tyg6%Wgro(>hUKCUUBMe`ewtFK!%0H-l&{ze?4A73Oy>5C!b<>U>M zCakLy)C4$Gq0+C+n_|=_sAYtQ?DsLcHho^>EI;cD3?O+WSG zU~rk+4$zZW+13){3a=k4mQ$PNOar$APxV#xsvsO+L}0ar9T@;n+|#4*xlWlYBik#7D_+O3kiA`Uuq&KMN6sM5^(!e!Z7`X zA=E8W3Q@w!-fJi6=o)$5B-orLTM!LQuHS|}`mEMF@grwqjQ!!OEfbAeb?3E)zB3KG zq+m>jk**F!7`j2NL32+)(j1joeofcVRoho&d)_==N~tfEk*#?m!>*=Yy|rR?KHUb= zlQt3`mIiALb{k^lMiHdiL<`1T^%|~iEsk1y!l!)~Sx;Qh3-EMZJj)Oh8uhH5FZ+p6 zP{uu{uT0Zx$3n&e#nglcAKm*J=xgOd2WfHUaTaM})BTI=o`|xt@#GOQO@^WhoFB&o z?nh{hB5~{Ne!03}A9|64gGRbav>9)>Ox3x0$lK6sY=VgfxB7SySf_Wg#gmH$4`tir>BnMoeW{Q zHM1YjPSvG?@K)TNnAl7N?hX4$*1qK<-3%5BQdhn>-&vqk6SjY zNaF7#|AAZP7(9?Aij4ZQhGX=^J~3XX|E+J;Ob^;kFWGD zR_S!RetOKr=xHP(q?h7!bu~;CrVm`RNGht?25h0N)F-4h>i$>(`V_w5uKRd%Qp;t7 zg>Hd<@qUhhOIkj08rC-1=nNSamR^Ns@+l@)O(|x?ZC#;OX#N=e%Q&(g{VTvKmR_-u z3x+HiPPM$-P`ul5k+n$CNpxzd+srM~1&6FWTnT+X>k<%eZ|7pV+WPkL&X&@U=KY?$ z<<6eD-XpkPC-Yv5x}v)qfk#kQh;-k@P7AvGTRwA{=h;=HZaG3vuU@fQ(=WjW9!M%q zyt%xxV)AA)C$B#(C>~JES02j1kh44yMo!T@hHs-35L!W5j&W3U(fEs6E&~p@>MOF% z%jWzbBsSiKNRND^o*#E~$cNi}@_t#SkN0K?db}|kX79QIzQU?CQe3r}@2XyM>wDgQ z>yj7F8fW;NbaEdg>AQBpRiqEt=48bP&fDk9_hIE&V1_>HGa_@^pQ^~)M(^NWhk0Zg z!RDUaoqh#prh?rc{|J!eax^wA+qM80JDJG!ArnX z^dR(d+(u-@!Z$InWaaqth{277cVS6G0fSvXUbTpSmEv(5_+(ZQ7ZbHnn!sknC$*?C zlWLYI93lHEyp9GjFh|kt;XHSiAx`fY11%lqyR+lJ1XiX+*Phu&qh zE+}>}ux4sUZeBkjU1$no1j!YNqy8EEb<+aX8E<-zL*gzuyc}@Z8B-BJXvTNRG390F z+hiA4XL4k;&XUav=-7JnCqQ$G4uWMNJS2hnC(a?p zSUdB5nWGNP))MoWByJjZeWENY3SkQ6}+#tzfOyg?Z;U3#>Woj&py}2Llnc)T- zBiG$=jV}}Oj*PPiCYFGlmo(?a_x#l1?{q#4wZinz8&{+qY#7hT9K~A}_4|2K#fBp{ zdZ|j*+GJbS;?e`T{Sjd?FXuzO2yT&yoT5(V-A84p=qbY z#{KJ-$@y=#gx+rP&8wxMjPRwpd>Z*;*?d{W3$}6z~tH{Z|P}amxa!2Dw3n}7X8B5^VBO0Ja5~M?r5!U zeKvGHXcY7YIi2gdJrgmntfM$6E@s_R?mlZC$nqordeEyXUOnbY0CPc*bs09frO1eS z>nTopyEBTcV@OI5$*`Gnv8nplI* z`B|4-6Ge#jj#n{Z(ldr}+QldcDt%N0D$RgRDJ0DN=m5?`HERhAgN!`XY4i?Ti+@h7;OG2bOk<8>jtKiKy=YX1t*XfPD z4%QK0egKFn-d}wBQ$fxEk zI^T0aRagfRf=%CAPonzLrx@YtzPyc%O;T%iwdTK1;p<`$S->t2Sq~8jZmrm;qmfmztqI2ft&G)=`9a3EN@l3bW`m~d~GNmpy4+IZQg9i8O%}q)# zmP>06`PgL^TA`3`g;j+f##yfQNI*+LL-Yn6dp8vg12#f!)uf(HfUYY|x(R2!~dJ615Z@D%r$rZZ@+}oLm z;S1WIO+58bLC#Cstu=7-*>1%P!mh}2Grk1W&C#gSiyHayTHA-Sv$`w1Jrs6)=CoxA z@0U`PVgw6IzqjOe!*z89{O4NVlxpXlhh%OQ*^fRb!Dj_@y~U+r`PGpxEDm)(-Az7g4g!$OC(^iqotsH)a03<8Y;bT~ z2yP={$kFuxNMq1>j#Yw(YWQZBCOwPl#lB}h5)4SLv@Go;W3lHMwR#7_GW1HF7ale* zNIG@vXS_d>9Sd7~(Vk@!J*%=Jp$Rxr5Cj$JIsCCp7!pGg+pWd?=>m7^ed7b6PZ%f&88&UFnWuE*clI_ShIe>^q+_WL&h=i;W^oTJupMj{ z+XnGzP_j|}fI)f714IWJ>7#AluW9#)yF6b7a67oQ^Kiw=B!8xcx1nK{b&jFYhVixu zN2Qtd*6qVF1>iVrXmRg!@YD z&NKDMjBtSP6kLZ*51@zaMe=zenVupyyaOx5Cr`AI&0WD?T5J6XOSVm@cw~$-a0@n+ zEbT3eMLUDIjkxs$lUw$>J8U+-chekUxN2S$$2ou;fLByL*#1)Ay^v)f)^L6*UK6BT z#iy0#MG@okk0^azBwcLu)FIl4YtnY*sTGH1VVpPaIOGnQ@={W6d_?gW2iPEjc}0fn zhMIxt?gWJ`_PpP&0&1KDVl2-CURl#R<`=>Ns9&ZVnD>^=Gavo-x&Uu{3DsXNF_3I` znv%ipr7xJ%7ASa@-I?i1*KEW+A`pTMTm1{iWhop0zgP zyHF+j3Z9U4glA58Jl*08YGZ-J{X2?ZFQRKS2GHJjN?kA-HUckSzJ%x81#~l%8Tw?i zD^@?N%FtuKJhMF}u}YIyuP8O^5j>ENA)+p(WJO~s^=7H-%sJ&~!7Qlcj7qy-b7a0* z#tqT-G<8o-o{REYJjb_Yjd`}OQ!wVwUiWp4U%l$0HadTStj19K!0b}7Pkbt?0@u}{ z+m=p2TbO*?x$7>-<3j4mKGGhALeJj}TdDKC_hqa&?3(O014jS`=Bl&wBKe`KA7OmW zMmh3$2^~HUe^*K4QuG!Z71P?3D#(o5_TlRs51}dAbaKw!d>t(g^TRTxpq`(Z7Pz5| zAHPbjKupo-3`rT@o$5{$Ft3{;Q!n=l1t@$R*;Jc6wWrPG1JPH^u=rnn#rNbMljs$K zfKkN;vMya%)pRmTGz~tVC)-gF5m}b1q{1kqW!9wFELgJP@n*azzfbS}NC8LA2{MZ7 zC%%!z5L1R~@Y`kPu^wh^V?m-lRBchuh|vgQI@lzixp(NB{dGU&SjVl+8yoZ%ea@XA zL=LJQa1NBPmbO~!w6|&>$ z!mv*xwT=LjhfrZ96lQ0b_jH{Z(V2zvi&1#tHkjwDi7YNN)imQxY-Z4~*G_1UG{@?M zqobqAit>IP0g=fGXl$--0LawcoZvchkC`9|l3~*+{O5A0HQvbZfaS8*QJcLjEgrUU zBM!D<)0U4!o3#l@vN~4AU9p$h>5FL*-R-_MpwCK<{q%AYDgc&4M+l<#eytC98ai7< zYcJ-rqG*!#Kl14gY3gr8i2WR_Y!Xc{wudHoPkt0>c#M7q{Yl2Pr}#zota%f6m>a<^ zNqz09x1QJ>k-;0JZUT~fK{<}AF`PF7oN%caU+Af@e z>46ib4+ekIzf;ZA5BTI8>mB?PPlBW(=(x2u(o;b!HLo$)#DOVm(i5k!Cm7= zbnXnV%**}ENy-7A6u^7id(RA-5CwexuLHV!dbC58uUolKL=u`pE{LS5d6JO7^ z3~phUe(Lx6hN)Q2S4fhgBk}xS2f5pUeRj`%ug?xKB1)iX}qayI=^xd5`Fj29POQSqIO%KqUi$|6Ew?|6BWnP zYlitZu#|BGO&o6XGopW*swjzHc=&%ZdyK@qhX3!rkjxA+$?|iQ{4!~Co|Jb9T`*wu z1Y$WmesvG0_w&mSg1sleIGw&5Z?!9$!8||#>QC8uy!w4dFcYzf(aPgjl!!P0=RpKh z-NJnTX+!MgefIlPV|FjfkW&zoHnLJkNgGWNYs=ig-w*mF`v=*AdBIEbP0u|%usc{k z7(jO5&gJBQKSN%B5=c>#Lkjv&)4@yoF5!MX&E%Oc^Ef=~GO>;WNHRz5 zQwD-J^-q(8z|RE4w^X_xb?E)R*KZuqH!3aK9qPZE$SAmoT5?-lpa*26F!~C}Ola(0 zJkBNbbdIQFc{R~P zXMf*u4xB7$?^qKR_os3`qBCQ57)=w3bfy9wfV8#r>w?Jb9e z%V&-Ej~rGLr6XPRqafP1_XesY^A<@4@~xTw{Ob3AZ2v`3eCG#NnqaJS^pA$Vapin zzhD1fwIj4Jpw~ZGjXj?K(kZrJC8DY`xq1AujKs$XK;%YPF7op;;Ny=7_h!5HaFREt zyx4ug`thZed|r}1c#o$=WLm)ok+IoUcYm&?|2eII0?pZ1Sq*}d0H0(k_GM3EJ1_!4 zb1u@R15-bZv5YYFbiB=y8k@`>BrlliehIH>tOibux-?4BL zE(nF#3%@3}`Mn5%HP#D^*J$)z_C1mwLQ9N?3w0CY;e@A{k?bQoQQ_SpgR@5VI>S`) zn`?R%ql59BNu=I?JadmQuwwb+l#cpDuy>pfa`8h7e5?tg|Ln!yV9W0*q`7$SfUhc` z-p%(9JENxVpvcm5!)97Cew?G)y(c({d=n?$y$I{HDlybD3byr8C?%An+^D4R!yjcM zySJnH?vELgVFM>V`+gGCE!fo((jfcMl2$D!G0myiW7PTc@JqY=<_v;K;I5sZ-AA$$ zRv;sf=5JT7kHiusE_PXQl7{5TCX|;etumza-@o^`k|5^~$$@d--eZqw&x0|%bBecb z@AC4T+^0(T8s8MaQ}^s-@roJk?RTdbv^1AQq>Y-_qUXGi|16Sv9!Wxy%Ame!|KAGz z9iT@{VId!5N%P!$L9HTLzd;|S8j?+jyWV=R>8&ARps(_z6IX_a(Ftu{I+w-EZ&+7SKV`0C|iM zyOaL%{Q2{m>sqXB!zvloD4t!3J_jWlg;h4N2Iu_U8Vtl6d?h1i-wWbb24l#@DD*Wo z&4kns_)=4?i&Nv?AKQzOz(ZvuKu2ngnPw>Wh`ZnJxXcne((sa47+_d&3;!Vf=5iN* z;<@I}dh^T{y|DoJ`WJ}mrDRwX>LW`}WM0B>Xd&863X#fDUQ+oj#Ei3ql zAB>6~ySR)rUovcD()Xj;=tu&5J+~lJAAcoXAEOP6x#S<6U4#2xo;nfP6VKbZG7|yxT-#-cD9wPt$|*BOKNz603>8RC5KN{>@Io zBJy2Cc1X+s6K7o`^>sy^-Mb&~k^oN>2;_bi+cW9EK1>GejRTQ0O?=2fyeQL2al4@b zBmta$4bGkUYr|dhud9~c2g{HkC{3RvwWkAlH-OT)zTOAlV@nf;NRlMjKs1~Wnz!}R zeKyX0^!cHY;Pc}oMR?xsJHP0YmO9~oI%kJ6@6hmZw!s2&Z!LF4B340h0T!X%Ovp$k(?r=fgbpx$M_pUs zZXnr>FGi$ZiT=Z0U8I^u)#g;ZHo!B3O_n?l3!S!q%RpWU5+^tRXezBa5N!t*gUvmt zT}Ftg_FXZC6Tw>E3P&LksY`Y`Iwj+&MuK#ycCn^Ey>Y(=Qc#ie9~#9wbQd|fLxs42 zvPE!Ha#6&LKZDr6m5ZTOxL)G38M@J|{OLQD+^mbq6 zpx&lvC0Bx6ZE(A6v&Sa?SEVlTCC>|q!$Awl-h9gh3aQ&rCR_-g&+i)NQP*racE#kJ zJW))}{X>&XYwG7HM4dx;yavD!Cr{lgN3AQC;{UX4if96Pm(uyu$nN1Wd14SA(X-DE z5&V1EaI~hRh50QfQMWB=A;Lo1d%olIqp$cL?^`FLZ@VfCLfsMA$z7> zab+7NnPKXGDkjv^s5SscBfPMb7zO-k8nB9?URg-*F;6qVbx3i$&%dWBmtpBd(V@p9 zP$N)KaelVnw6T-_{qoA&Ell3E1=gR_qeYyalV`w+dDG3iakS%8|0CT%870aJk77?H z&s&H+fRji7f|9lv<}n#=QuB9yHL&pAZfrQG>V3`AkBW@L;S40^%bk?gKN74!{KeBd z$w7ab4kjK09aC_Mn&Jb3a|#F!XMTl2Q39K)W9N?c&lj>GiSnyMG{eURUC1ljn8kHj zjEE~Av!2Hu^8m`j&j9QtUgM`pLW5t7WOn${ZsKEa+1h5EOhg7`r?yH{2%A# zEgSg7p-)Pzf0}6J*}?h{Iw{y{V2C|01ku;f=juz$VH@svz3*qw*}7XBqnH3JId}5S z7+7;Is}x-Mzj|mumS&BB;lM{b$r7!<-#FFDhEsgCyhof`H5qAu4B_OJTx~ZY#r|9V)w{hR!ippvP}8XHKBM;Xf8#4PxCw z*Hg(o(sS;5rE1TGgHN@*>uDen+Fs8n>$kt&4fYJ!T`ueCiCMVN|3*!}yilT#seifq zsSOv8_D@I@E5ilh;ezM~FWArH=olDMFvdNtwD-{wMQwY@MF<&S7IJQUrrI+w^~Z@S zcJ@0Fvy)d|TVVgGRit>(J9$v#JTLIK5WS7z-u{v4pfi#rH1IqSLi~MOiJk@Lo~IMQ zRBRzWp4-!uOL}4ZeIk{40&>KW^$v*~U~?zhlVpm2Xiu(!h5rJCDPZfp)NeNnOd~NX zj{g2GZ$y+Ah~LwL>xcR&J`k&vE|HC};g0>Zqa4Huzx_|`=o8Y{ITQ!Y?A!Axwm>v( zkAW>9ew$zU=cMI?>fetejsETw{3js)cjo>T%YTGj{?$34KK~k&J)q*JodrJqUJw6Y zgYvII`PZQQYc2n^mj8qg{nuLlYc2n^mj7DIf34-e*79Et<^OL4(HBc28wf-OqHyz? z#=lG$2><+Nxa8ku;s52bU^^Y6%YL^=U+6k=vQRBslxC1Ei5p zOt>I8hJ0lIr>UyFZJ9(4HJF|lbO$tl@YeI6wD<`kEq?z0jut<7lbBt)FGyp9N+;i| zT;4rxT+m4C916NmeGlqJUmk(>b2so%i~IlCwG#vTHLSwj{)3)V0P$* zyk%870#pDpmCERg7NoaGzFsLxNz;2Vi?$P?`mbPhd(LCy3qO76 zt8pO_-m~DOPQa*_mLgIafYkirX8tpGlXSsv|4CwupEd zB&JOM{#Y_uYw}g{UUoG@&9k!HtA{7gD(e<#(yZX(QZeqm9V<<`*NGBo=0e!i+AEP2@H>AN*K4oUnmG>;a73nyI45|Zrf)%;qz((#1sFho8A=Py=f3ZfNBIDA)6|svlvhp%KWbARBbbH zN=Mi(e3N|Wct&41bJ=a%I4Tw`o$c@p#|J!aJkcWRlXz@^piP&G7_L93+gtz2mYvQe zjH<;@QK<8L{x$gA=uL`Ky7xYJ9?COWaJFd6%6HcG^d4?b!?;)Q2TxEQ0%4?k+KW z=*MSQOdE_eWA_R7`1bnW=t{Z*9>bS(X5v2$Z=}0N8Q~h5yj@40-K{L6JWd0chyIS(4YvRHgx{x@SZ>u04^6n zijb{u8@JwtyiGfyM!OIm1I@E540Jl7J4IIN7vXwzFW;q&*s+7HWRC8*-Ano^d&RAt zKhI<1c*>aMe%teuS&O^dID0o z9(${Lerx@?(yPb({EuJc<_$;HdY^IM*l71231=}nt5)bzD4A`k+%|ZFs2v?}D0!u&)G6{xi^Vq=7xhaV!XNZL&6N#g8 z4b=Ro^B(jgqqQs-+@9y#-2X?G+@-Xr?Vgyd=3hh5$_V&QgkA@!q6jly;AN7nU93V}%GFl8kPQIu16~wxtGt_=V2rP*DUFWNJ$oO{x-< z8yapWsZsj4yod5HKyrp1&j@iJ@5VX1WssCT;W@|+ z8TjO>|| z!fgZ~^N1Li2agGn;xk%0750GzGwq6f&WoWAty;VW7xQa^LbtcC&y@UdWkkzS9_&QO zyx1fs!A?TNHLVvAjp#RS+NQlIc zlm@6vHo_=i-Z0;r#^{Tk2OE`*M1_C+epaW@vXHLFqCGKpd~&?o`6bvEjE|Q$ER0)y zIA$o(;sj@1_9^=G++%0xzkL?8QPa>k_v{&Ed!|K>QH_7k$@J?WgnX7H5?tHgk>KMhiwtxTiZW z4#{rf=02HCH|J*@-Y)fU33(lVNr9f%@IfI$tJSs}D@B-BEE#`!N7GxV86p9;4(eLe z$-9e90y_h>fASQ;9tiy0FZewsWT$l~7SequVrvJM$6*sHtPm|c*zO&0SLURa4;nMH zrM2iXY%hCF=P5T=!pDPWi`kx2Jst^zY78K4i*wl(IiK;#pq-Wb&nZUn zR9enCwTG_qEdFR0FrO43-e|E(wqJ-`iIj`;F^lb=@*Kt*ISz41G2tE^Nw>oU8szQB zJWxvX$vtca#8$3R+6a;J*k;^9M$fXJ4rf#%w^3FTMxEh}aRkQc7-ZOxmZ zUn-aA-gp08E^1qmlmv~_M{3s0m^Z1bNPXsA*$LsX+HxCya#WfRF+@;zLvG;iudGaU zKgY*j#dM|IGJxe`9_`6ECJIt;9{>ckOWUh1t6Do4$<)XpruzEU5TuJuo*DicyrG|? zmOnCeIPx_b9E$*Q)lvG67ar1$=xlziEdInY{$ZbIV#S(l*$^zL0< zmi+FWqHI)NUL5N2_aA=4kv+LKp0i|bEM{3(WpBLm$hx6|)cstd8pN-)C^^YgGG&2x zDJm?zl#H-0UYK8RJ_B;Ssb1bb>rFFco0DCb>tsCqCUUe*#kHcePLxEN*dz9oN*yB_<~10#ovlP>)VzV&;QyW`@Jnrw{iD z+WWZ$V%F!c;)l;{iJZ#F4P5<8t~{1taM`J>;t4@=%GHqkOiSW)_&qO>itAHhIyXX3n6lss+Eju_AQogmhh7Z`XNoxB1}7 z8=IZ0aYJ=U58B>4jMdchz?mcrjqn|7eY$DcXpZdu#I5#t&0+=E<6~HRY&xg9ppw8! zU7ueB3$nM&3TC}5@(QSKYvO|M~yutoOUswltF&^TPN zG3Qe1G^NsufT8Aa>tlf{^krxU5#+^yBZUuBQ?GNML)ZCj?#q*Vq8Ph2b|Cgbcv$^o zO6ma#7|H%0=BHg{tU^sx!i4sRg8`j;gBY05Y>L(q{pMTp?&NbC2yF6k{$U(P&A-BK|b#vi&PiZkY;onJ&x;{DM4 zhO3-9xn8;Y+g~$G^e`>*9Z>FwMv?68$J9@4dx{k*9&Lzxy`C_np|5|=sC3s9- znK!L7 zI*W10;PS*gFv7F^Ag{EF?`K2%;OOCMW#=tBKvtzYmfMJnb!W-bWFe;a&RkV_2@YhR z>iKM+z+3kow=him{5{)eMu1P>d(xdjE?jyQZS)+|D*eVpKLahnG3B#)7u{U^_V~u! z&LD4u5tg}Raq(zzD}tJ#DXia?;A$dLU$iD>Yaz)Kzf~2MXJ)fArJ+~xp!Y$^WIBJT zOes20YY(aDsg;2Yks27bgfQhrz(cXjyHPzN*^73ao3w zS<(>eVK(dxj(S7==F4QOt?9*6$C+I`twO0Qb!c0X6Cn0IuJ_mMM%(xG3pb1=`^&Fv zKfWF*VgADZ*ela1r=T+0iOewmpiBf~25n!lXGTFcTGl&AQ!q;-W3eUF;lwADap9VH zoOcuDYjd~+bj`*`g_{LkcFAJnb;(^RZ`;J3?izf1v6B-_9#_|1UQUj2%X$ZG{&wEO z@B!G{iC#pLy1PYmrpw_;p5&<`QaLW4v`vQ%X~OzUa16D|>F?^DBEHbDF7&P!6fj%9 zYv`pm{jNdd5fD>u`9*z_uPgY+RncP4=mHUu+u8oUydygLVhZV#*#{37>V{4EGn-vn z@;1uy*HBE+uri&dv>hOPxalRdWLfb>93gL2EyVySa;0yH(~z8c9uI3Ao#K6D`FS;b z6S?5!uGb@)m8moSIC|)cr(|EQc5s1D83N_ERr__UaiEZn|Gm`~vt`-KUh2e0Rp+ee zg=AYo4HxOVi^d92Cxn|l>rt|O7c6Oe?Vm>$PiZfz_6tcV?5K>_3}moiNS35D)etL?S3Wq-(mERFzl7ND*wH^Id_q2(i>azmb%ou>DT?nAfjlB&EQ)gv z{F8UaHb+_hO(~D<@g_SYW|Qn5HMG!jI#F|9sSO4%a!XN=BG)-hv#ew1s|uC|n`d0B zg3o=5_x%XVb0ye^+dvHrFoYj{*25JBPk7|O`Lf&8tn?4@l zI4T+@hLiNS4GauAJ*eqhy9kjapi^~-!rOnz4zpwT8Zpq{Vt5GR$(6Qq>NKR{M=AHj zLi|n*^m<`iwuEiufc>D>r}XoO!BjOM;@3ORXFawJ_Jyh=e~4=}fRoriMXm44o{GVq zDOrg#vc!(uxMMTltT()U%Y6k_q0%C@czouiJM9a2E4uZtmXSkl`L-!Xf4^D>>(27g zlJB!~V@15}t$&$6e81)&ZRa*O28CpG%@&$lTmsv`B30l~OGi;VG?AC2Hb3(WZT4uP zzz-+uBNJd5NA(+cnO)1~Z%s}3%1u4+L72Nil;bNhAd?QokM?AQ7~I-EGC z^`rg;3Mk zsxjlEvQcZZ`<}XF7PZcP&Dak|Twd(W(Jd_#TfOG6aW@k)Uy+Du4Xoy3ZIvLHKDi$8 zrVODlmc`5W&ARra>vC08XmWG-q<7f>?w#z33%BEk7;Nk;9Ba*ox)fEM{Ruw23FWvA zbN$nvz6QCP0!0m<4KEcII7TT&BAQSy_?`8}Yx>GzhzxE0gfk0))dBkFP5Ud!>ytvO zVN+&P_ZMq~_$X{(?DP8lqIMltU&v=&voa#G-hThF@92}j7%LiPJ^8C4xyAUI+-N^# zO^f0Llk&16o{N^o@0q6l`fd}Ea(~*D#;)IOhdw#BV)Y!ShSSb?Y|0C$z*jCSoW-Sb zHJmwY$D9ZD!b~Y@Y9mx0v zLo@I1$I3w-jZ7NmWuBOsve%2)K=gvBx|2h;}i!F*95-hx3YGZ?0Nb530xu3eH zQ*1w)KvhvhP*Z$WzEnk>mG;cWTq&L}$u#M1st6vQ9p0_kTj-Qh;O1N`OikZ}ep!qc z3A8~%e-x(8+zXxm<|@qF?oCHeSL(i1y%xV%#%Wob<4}Fet)sJBHBO@UnVVuw*y`{I zdg-S3jVDZ3?JG6QPS+`h^EiY(AAHOXJI4(vH*KV+`HQ*JxSRFnL$+Sq5!GlhXiX67 zu+e?h#e1GD1iSzV6Vn>8O$$6l72^Lo@48%+56&~o6-(Qa5{7s+cSYRBc5(q6u)^LY z&R4Ny?cTV9+pN2Gm=03JRYKo@L95P@rs+Ur98*4 zcS{zcBNRdwodTqn#E>581=Ba~46SdXpF^J(-m@I6Aha@Q-oZT`i?B)>oEm?V?fJ%M zf7FGelFP+lKdJ{NF)1-#kM(hH_~nL<3gw$))lB4n$+B%NCG>f$!!dd1M}G)6$5 zP%UdND=i(gvWE09!MU>B1{4|igVFf@j6}0;=iGa9i-aY#Jalx&XXW&`)6Po$2mcc~ zQ@EuAzHSSBV=Z^g&3CG`Rdiiq%CWpVe9%yC(~fYPYKxhSQ=iys+P#u zhV9qi%J5x_KS15AD`ZF=yOteo7JU=!=_gVQnM#~JmG)j#I&UD_VxX`K%EQ-g99!}I z{6g7TJ#)OyrD9~EPJ?+<$L%jp<;nvYltMTOlv(gKjZatY%5#z_Rcp00ES6kf6wOM9 z9~q2bPVqLfX;kD;4O$%$$r*cp)h3*}S9c%va`%krT=(so36GeGim_EMC!yfzPdND$ zUa8N|7iqx5y>uD%szYHphl0UTMQg-2Hv1Zwt4t-pzo*fSZT@q`rzQxS<^%7Q} zEO>6GQES$%FLN!@4hrcaW^{0i&viJ;AABo$F39wRk-T!>aMD&us6nnsFMgx8L1Hhd zdl;n7OY}TFzsE-cn>8>*DRh4(8mO!8()54Tmn;J()Y?c>mrF=U==fqe*0RzPzlm-C zFgkP=S#M4Em^bsZICi%AAvH4sVO93=tWJfs&Uj5Oy68jhwIbWW$)POmih;tF?hPYM zXo<-3y%bL-)^Fd{l+Bk=wrg(v$1ZSpK( zujqM?XS{DBZEDDAF`U;?OYr1LpU8JZ*O> zw1sq{{iz_Z(LB34X_iNwh56|vh(SkqQ=I5hby+Qo5pR6OIu-Emua4bVY=aFkyDuIs zr?pMpvQtdc%;(=oC1IiVj!Fu;uFUbA4ZBD;#FH zu(kDMv&1@7_3K+*uBIUHi2PK%x~&Jq*Y_vXe0uqb@MAgn&u$ zL>Lm_sm-kAi$ith-##%$09Qmj75HOl*c|s2&v5*R+r3k~b1d*vP75ihb36ECk>YO~ zHg1F5B7+_gUgP@~-v+_Pkq?rkJE%Snqt-I`Vk9n|o!rBd5o18@3gDpozhdBVW+7|L zrJr2+Q+iPy+xp&YHUZmnGX%&ICpWiA!@CD?NT%O?JI7Y$&P5F>?3VB2+jcW|Q2sP) z{x(yr!Os-j;GR{I39hA@VuiFRu)L8(=tg0BMlOKT2U%?;*v2kEZ$U2>V&J!Jz-9!+ z6HY2#E{Tf#CoQRyE!W+=Hr~~V*_jPbPU$BUc-83Bd~dLPTetFxZ`$x*H z@cyPDhB${VFOF8jbEfJCDj1eexqq0b7b-Q(KyIciv>ch4neF6CJmKsBlSk{>g}J#& z;rQ`^Tw0THUQvigJzD&k7G&L#wMdPAIh@sp2h;xiUEln%&8^DD%iQ0lKPhzIDHMW8RqW zsukIAkIlT8J^Hyn6#rp9B=GC?Z1HZX^xAOtj)>Ut^r~Ayb>wBOoTgby>2Vk?rvA;* zqWmp#PeFT|Gj{!14<;YWBSKaZKQBdkyw2^Ar+KjT1I4<)q}PM|uqMlx^4TGS4Ws-? zs5^vZOdhdv9ZP>9TL;UvxO6sK({CVM%Jcq8-OI~yX8=9==rzBn>mGWv@;yizVL4&u zy0>(D_R!Nq{pYUCCJ??;Dx8=RG3YOHb1wP7K%b~W3ieU0vf5c%p;@mpMVhs|KLhq= zaCm|;jP~Bb)dw<*5B7h3#ZXV-CNQXX8s9fCz{79bH%{LYouWDzC&-z8tp}0=#SR+k z%@x7Z)8Fa{e6pLDb4j;zwS#QQI;9MfF zVr9aL4eRl2E)0j1YpK_gw;e0RYFM@bH;gd1&vt`{=D?0d_1B^CqvbUj`c`2!cBnGx zN8;C>)WZnP%y&L_A1I_+k~J!Cm;=Rfa|a%TJq?H+T5b{elFrcY+|9TcaTK}3{6u(T zRW`zka)5BVk^r%vcNktB%os18(0p;uV>!Tz|0?dVJGy`9av>5wRBE zQ9FVe=G{Wrbh0g&(2TPz8qr1C^_28N4c^c|Eln{q@aO0oMWroX0c9KdM^t9U`Ty5z1ZY!}BdBqw7_*lA(6Kb%V1ORM<6o5`W5U zXsuk^)F9*boO0af!v>m(bKjMRa#f5RKc0+O8y3fU!SUAcm?)!5>!&geR)U?azPU$f zE;EZbtS5N9()>P{Lg%i?p=FiyJ?V%4S!^NyLzltWQ<==EqD9=N>K_-;<(`G|y z+*qRDR4IHx46tjIU10pR-xrbRt0$JD9+utwQ*^qe$24kJE&CKtf;dz?p`&*9Z_a4Xl z{_}qS>2OTkbKTc(x2j*IR^ytg72Uk81{IJ&uDY~?O)Y#9j8TWCv|LH*R?AW2n{V>u zU6z=ag995orlv`#;j-03A(k=QH9CQY&r1E>=dBWA)BU%MkQ)fs;EX^VO!3&T)%O6j znl5O7*uDs0X%i&&1<+4d!+Al}Zz-1FYMi(~mbh3kC7Yz=`oq)E>aptuoG~4}`1pD^ zq!sU4B~omy3%c6r{`Fu8Y<8NkP#9zUgL&Y%R2om^(aBv!qJK~#>bI$ptjcB2VIz%ckNkgOV)MLVfrEeRM((iJTB?r zX6f>~#r+p>y$r9w-%_xji;6HP!HIBL2k_Pa(-d z*=6;|13v?uw?{GQUixlff|s^|EX=y`c&blLSC5oB|p8xtur_CH~5ms7OW=|*W({$_87_>WI>0}`f{k?nl znnq+iYrZZ@0_;@SV)wOgCyUDponOyZLNS>c8LABlKzr1z{T6Sm4uve>R&rSka?D6k z)0ZqW7|H9ZyHA0`uMUI|PR}avaBKk%V4+ELW8QjYL$9MEEJeYwYQzt-?m=KwiVKkB zw2xN;?Q|UCiSK}IVq7W-%ZcM-0$^a*{JlqS%3x}4pN%B++J`gL+@uZJBgQj%k|P*F zr0ey~lBe%-JNU0H_j>&NYHDp^-FOmkAlAtF^6WX1A=43_wj(D61IESwclm!%w5K6|IAVge9X*oC3+-DJH7EthH5&x7#I$FFdM&CeGB=x8t zwoQKLcl^qr*pbpmMo^5GDR6BYO&Hh7%*-4ZMg(waVLoy#AN-Ga){-30{>oW!?)Ul~ zO+4!6vxWJV%r{nIAQr= zV^9|lh$%l0vpxai63z3g$T7#&E8JN%~XNmrPvS^P4N%SCS7Z%zL-_oBRCP~))c zyf|8AUKSfP;5lE0M@RP=s`)?X8*PtnUhKWHkdrVSB$riP!sqeY8yy(<^+ZljOP${q z{>T3fhZTCsBKbPgnU6~Q>T)>93C5BGe0R;q0u( zuV?!bo-l#}wuOP*_zecOCqwIz$>uMor&Z(NN;pI4=fkni#}9*C3lItW4>73+o2TWO zR*H9pxA`W#U?@GlvRr@fTJ+EhX-bspPD^$;94sK5V!#|60%|V+!Ay#CCOtmEB&x3 z7D2aC=zyLvUAiGN&@(TY0Q4qJlF2ZhZc7qjkmMwg>7G0W7La*~cWMeE$iKT_vC`-R z*eD_OcQf|B;||S_4EBC?poLp$wBoHXswyUOg`!n1ki6`aE%8U^u7<2Zo!CS)Ibbbq zvF*|3e!-YCvkMFH=T~oKeY~pETGntFWWs#%h-jCxbL?Y{ve7%57GWrh;mz;|Dg$8w zj@G|=lJ3d`#KQEg#yJL??-wTL%xX`|PD*UI!)Upc<;$wgjWbSzke zYYDNLtpDoUlAT>#Br&~^zg^QHMgvp*>09ay9N zaK%LweI0S`Gaut96IA|Cxl#d5o7v)N0Y9S^}*sHVo5ga8xP%y35DufMy?7b}EEp zAngTEA#JXd%fRp4`Jv7HoFtKWA^t{%bxeOjq7-7z#Pr^|5}USX!xzRr%QJRH_q!Fr z=s7^q_dtC?`G(y2`<7%8ppksmklUsEmWq#oL1U%%@mD0Jnb|?wnSw>6fg}nRe|nN` z>&Q>n8=!%L*s;}mU@+Y8#foh#y?7p4>S_^@dlBAR{XJWEuYk9 zFgeK*69fE-3$b%_WkL?NIJUJ*GPKL%9~30*ESfVOh3kob;En09ryUC~Jzk*I4bN_Q zJd-ZKUm&ZkT1QY~QqUdeb@iKJk3I9~FbG*z)`}ThQ(Pu;xdA+HOHOvmsoDDE%1t$& z997aL(i&g^I-d&x!Q~YMYGUF)Qz|878{W0Kpdj2;extr-D_3Rw-3J%=B3v)H{rke& zZF=XdarT67oja~c?abZgCI_^3r5xWqq{|OY?$=m;6d@ios{w$VO(2PSYn3<(bm%Bo zjViXC=#EQH6f4p3y>XAOUuu3~_LVc7$1UjGaZov9#i@9%x=-QEjfv9F3oAr`J*s+V9?sy{ zzyLCVnV+9vZ-uEYku9@$KE99;gFXlbLuNiB{3beplyJg8z>Hf7Q7 zUbFBQa$&;`)L3&N+KK}R@msC?I~_$$vm9K9t$+!B7eFcVj?aix9F00H5ZvXsojgU| z$f8lXZu?zOu{Re`r|_eP2{gRv>g=2l)uDtHrG@)en}(HdZiY3Ypct^dom0>Foyn$K zh&;yvzEpsh9!`J!Y(i_e+%<7)%OB4YnZTd-QhuD}(?l7zm;NhQa==9t3Jhk4FY` zZLkJfEoTU?nrqwMUx%xUAq8T>Gf}AevhAf=>@?d>KI|}??i=O- z3Ml#(gLo8m%6k_}jbs+|#o`Nsta-mXx6Y3QZ{+FRUWgvW^=bV>?0^0*#lB&4;n?f| zq8ElgU_e^;h9iq*ON$F4ann=k(QQXA+kd#{LBB@4v#goS{(kB^oI=5`V%y+P9a?|s z*E+j8$0=}ttHbj*g+Kuot#OA>XPU|$&0O2UJ^YGO>;x^>XTMqGZuqzLou2IpyfpW78wup`1 zWF=}%y*T(5?|9Vz+Kq&JZIEMSE+3`qA4>xH$uV!0cR(xs7gaNxl8b4!QQ&j9T;7-~ zUUEH`y~>d-?Y5-zey4G1MZdC)m;IK422LX0I_X8Eu@vlEQ*Zp`oDHkD+FFU9IQSML zh3I|Z7xS{?^~`5XIrb+K6F=%Nf<#_vKF1htV5dHkEbj`Fw02EJMfcQ=tIgLSJKlOa zof)Xo>abt(_qYdjajmwBA=Bf(7KV%`3&GoExj$`=%K6dYeM#oeoaNqN$<>YAZJ5Yf zs-)aiFp#K=Ns!;Bv>@A!v45OmpzvE?$iSYNsq4Zo|59gWWLboMXIV~_{~NGVGB>hy z;dH6OTNRV!2Vo^+2cg?@Rx|BpiwjPS-?iD#Dmz9AKTl3h#yE4Y4}DbmC35;=x&3Cb z^=WN^Xk#pD5cVUar?0OHsh6#tkR)N_3;$KSI8=7K{t7`lZz5`WHoITFfasr*n|sTq zt%t|;OVWe=oj_9mxkH)ruvCt#-BF;MmT(QZG1pCD3fFaJm+J~Y3>rRWJk?v$UVZK^ zSD%~%3^ee{EV$QaQU_1yMwB1&8S$u>w(9)sw}>JvBVqFA63yMUCJBSK!MfV84ii3X z*uDbuuuggqWF-qeMGW6kZ9e%O^>e78rDY<~uR1FCp%Vk3Isv3Cq1y8>LSwy@P;Ync z*_yp!81 z7S~_1VjY|BzZM>l7`Ta9`Oc?v{ncYe5G1ILab=iPEmk}l4o$)O4<}o7Wr`1?vbAer z-Oej9hq$AFVi*``!>)n#0?28bL&Oo2Of|xblBQn;d{!oA%MOP1;;T$Q^ zI_>S^9y$=wZR7B?qzkC8addcLgZPk~!Q8VjXBU|ZSggS_WgYVK3k9c;4}oqntU1?O+dkY@J8;L4Lf$2C^FNsr#ar;nVc=WJ^lC zPNbYTJZ~ufXV-N>xPRlFj}}_+lwtG{+LwHM+;R?xO37?bCB*(A;Qi-WQyusWRLnD19a%V|~bg?biBA{F*;* z>%?-j*u{H}a`>Th58SN2yF;GHHlF;3^c)!sHoP#m4#|Nr*EDl9+CA^Z$aPwBHhY^J zDw!A7kly$=1f@eVSQ`j41D>bgKoa@?L5UyGVzaus`fKi(w_`~Chp&+*n;#u!c`r)C zu$FIvG?!hUE~O1f6gC$=e}2ETF(C@SI4T4^{RNREp>{zl-5=Vvs-qMQ7F=e#tiy6o6d-G_ zoN#81jxi~EpsPF>?H(VE0h0HaH2S)t77F_sw_Cf%zppMhYAuZ!2&6K0`g~koL5R~a zcMfrKfLs)N&Zf(gR*Rv-O#S(Vh05kzar(th&DZ>X<=9%a0p)WUaw4PeyK}@8?$j># zb~wJ4>Odit9`32H>u9ZNyZp>qdxeo{Z|ih~_IJ=y*H?zgW&ZxA$Yi93(d>bui4p-R z(1>qgGZ)f;-N&KV$}bB1y=%4+37|zh-i9pe*5#m5VclW59M!EmF$%0rxb{OtkTUp zl9n%wqOh3pzFwn3Fv+&jaeKkZ5o+ONqV(<>oU;QM!y0(yoe4(5t{CHsWpG@pxl$F7 z_juxhdgy5=5?Ohv$eGOqx@p(&3ztnZ0DxT=^^=#xgxUEQx4JG>ZMVBF9v4XEBoxm1 z4o|V2oU3523i0?3l^F3WR(bxVjxqSD(!tb;h$;UC+^uSEK+5IF+^mQCzBET9>Q9rggDJ`L`sk5h^vKN!3UEL!+ z%8bp{*Jkf3+Q$Kdn=9|T!Jk|`T_)=?@rg+9PD@K$9Jndo+?_l^%rV=K!t@pRL;^J^ z{HxP#@z+o);|OWIoSdxnNQHasG$Ne2b(KSU4zWUP7GyR6-&1eC%D^+Do}BOcJ!o+l zJuX?u(G-~|9J^erxP?4{@CZ~ccP)Uriu{ldzzGWoh<5UT*6ctth4Vv|dU+1TQPuF) z;O8%d;M!L|4UeGi(p-HOMkXcd?l6$+=zKJHBe#eHAq(g>EaAJ~);N~P`;p5JNXEQc zP}0Tb(qa)9lJNc32iX&^#A3057;%BV4q>9e#ihA2b_A$!ois23r!Zp2b#XZRf|Eo- z`l{ju$mS5##T|Ic$-V_SUUK=}Vz1=0RW%KbB2)k6O^-KE!s<0uxE=fQ;~B&@a~0LI z6kMdi`kUl}wv|gsg#c5PSNpCrRSCYqAxA(Pqzk$RwW3?I6<4R4a>I#RkxiQ zRl@R#&cbNUqY_jF0c7Q5CpUX+&PKw`;UtHtVN;ajmFvX*1^xYX!#-Snpd||wa}U3# z?W?BGGFu^6s(((7deNUsn;t2pUlNY}Y(Mm%f{StS9L1l03iu6qz^WngV=$jIIalv0 zB5wkgtbc6j<9K6iALC4$@#ad?G)}>hfMc8dPE-&zokbMVSFx6`-CF2op7qgJ;G+kb zK)_M`f-ELqOQ}VGz$V~2RcS*Io^aWb3eOVw0nEa;24mSQ zW5H7KLcfjdjKiZ_+Y!>PGsVH%kzK}U1D>i8(u?bkw(n+Fl2#8sc8~EEKKZL01J8Qb z{@4O_c@S#!Zd*tIzI5^i>Y%H^T&_TXg$L6R#0Maz76!@_uQ zDJ2oq>^&wW;;&`IJCL0BYxNwW+)TD|$i(X#P?yO9QnX>?k^9rXRr&r2a>RUA)Qqa& z>_y8yi_cOK&y~o;+$;+~%%Sdtm7gpxvVZaY zkL}n*Oh5MeMrO!eU1^6mU=XE+h;{p)V=|u8zLBFC6~+?)F~1_8WT*XgKY@L}qKRI)o08 zg1=y1fZXI0)=Xcig9f6P(wXH2)6w%Bv0+g_S!qJGH#Q*|=7n?|pW3duq)n>j2(TD(oNb`Og$XQP>8$jqNA~r;NVt}woxq5A2GwqgJyuS>-JF#jC zC?79B>oLNtn9D52zL8?}X8>P~z$_pAF@~iktyCHnek*3#58~hGgT~hxzj^SD3EI|sJZ@z;vywREJ$OBaw18RXr z^e;yDcRhR$z9W6(dg=%WbheJ%3qTC5oHzb9$EDkt@fY_C0e8XngU<2uQ)a2oT^Zwk zMwf;^$I56(X%-D}Ca4i&P zc!!skmft)Sy8gb%p^k-LyJxPhH%ySURgfcv5~%R&J~{iH2egsxOLO1ERo@?|(K~;L zgM;tqao6gd8u_Hmgr~OcDFS}7N0^crFqh|3SYyO$z;n$l3vF5kjIuGOC0=CIs|1J236J+^Bq>{q=Jcje8M zq_qpxRmDEHWujSmAodVkH% zea|fmcf7G;dR^M8QKlp)01=9zUVl@2^&0cJY1M}Vn5vPx0j;28PIq(HV( z85~dPe7tWKB+wQQ4G(9T)k}HjBmDFAR~Y36p_Ud8hRv~cw~L;HBVvAjXwTQScXae@ z%L}ql`RSH?#Mo8khxbB;YI?16LfGvqPL?VUE|8@rw1}0=r1H=L@$kV_I;&U83+q;*JV1z@+K;p>h%85SA!7>XPs$3ss!8w9}_WId=C@`x> zI|r1Wb$uA*;N5@Y2|?#EWB21Sv5Sc*%M8#9K%Zyul;=zdsf)gPLG*`-qG#}=irdK} zE(#S8Ca0h=eLTWE@Zrms`j2FWEXO`9=w{3VS1G_EqP@9a#n_j9PkTGX0aQIXk`qY3 z?D~aJ2pn!^Hl=aFtlyNl!>%q+6ygcFWUrLjk&3=(GThC_D3Uici3_AXdHS8m?yD?Q z((}W|$ub(FJWU7ORW|b&Hp5r#&wV3qBq~puSczjXmN>d-XL z_N^B+q)}3;42bjaKleqs0l0*${Yzl6TUXBjr4BJTF2|KC6lCWV`oz{V9Oky5i+bKr zrMm6Y8tTkp<~%VnA}=7E^h3ObOQfwTPia=(eNH&%HA*?7HHXEVyZt?)@{^>1X!nnG zy2jD5p>shB3U{y6YI>|z=*XqWV2(9ip-7g*!kcMd$`O|$rzrU^FaK}9s(9`R$2EW-CDC*aGHE-TEy?3H4Wj6;!^`)7`lvpLzeBn~(-C92O zFt#^Zr6Wt~ILTsX*Twj zv?p2<-%)w;qZa|ed+~&o>YJ>}DX+JW{CWVx+XTH%8I2V>&q5aVM4$(9|9$SzZ^s8p ze9{9+ABHCZM|m7yx3c0fH6H`h9ox<)J*!T8O!Y)c*hP7Pdx~;N66I-&qO+KVgq>^L zDX(N~6Zlj>p|O;1LGp2!C(cw`uTGx2k`w&o6c3ePWSl#C!708eKMc720^G2T#XK#i zeAgg9nVb?+0l@Jm`F%+Oh0fdBWMX%IpvdHO@|#Q>oMw^|^5%30JofNJqxH0k=e_?} zBRkoLPUu`dL>U6{;u_#44ui74Pc`XMujvhN5Se$nj!`XX_B>@t$7liP0o+mlPl613Wb2G!?G=I|%C{H`%I65op+*KX!N@a6^bwK(wWO z+}_LkIH>&*=C$SDzYJg+F!1YnbXclKH65ow)Qb_L7@B|jC<};j#ASj z`S0Ch1;{P>UQ)Q$8taz@5z zeuZ*e#rvz97dw=|{}8nMg}}akx*$wV7z%e&pw&!yn6Cs+s&eBQLn%vqAw3Ko5WCl1A7~clOS%3E9@1Ops1N+@`sPuL^Q89y8 zho>iBsi*041jy}VnimuM9`OOFkq|(m+kUm5=A}}kQ^Ekkl<70mJQe+h6iOO#z9>0XYYtJ2c_v?1M_hS4_jKt}v#%x(m= zi;LCG$f!TSsAT|h4>}gQp=>56HS*T88TSx2dNAbHdLuVC5F7HqRFf=(D zr`C?W?U^M{p)_khF+r)TRksbzPvZsxk@%e&)8>wjv2hzfre@%;i>Ng6D7gpHz!OQT z$61w9;v*2SFP@+Z1J_GX2Rg$w`x09Jc!6+1z}ns2vv$WRQd7@Q37G!g?Z4fmGOro1 z@7b+M4^k*kpB221PpX>tVc!aPevM!T%xBWB;%>PUlMGtA!_q}f83+gfi#o5v5Jv9n zvlmO;U!#Z*I}j2Ka)P9ksyll!^g}$?F6hzdhp<#;+EIoH0yv(`C57w!TgB3^gAae9aP(6MGi_e6{|Tps7^|iY<7+mZNAk9b|?Te0HM7)o+fph^@mD7 z69Z+n#U_+M`SHJ%nv4(vcSd#i9D1yh4>Yf_L_HPM24JJw^H!TXsm}YTF`3KrvK_kg z5$(hbO1ALvaV2T-cM8_g`fc(5HMq%_ycIR;IA93TzcVsgZ*>lh^k)5ppdw$UC-QG@ zR?d3UY4C^v;b43hHA^ONhI~HS`@^Vw)&2S1^U)`VY}@snW}^xZbkf_Jdyf{51wPn2 z$k1SlgXH7q9f;CZu3nExdhfQWns_K0cbI++Ie zOJKycDRgHT6S+eT`hiXXn5OSm-SkUf+Mi#ge2`QuCURG+l7z^X8207g+P>5S^LRD| z1(fKTV*+fGaDy}m^r+A_xNJ#n>S_S7Spt_*m$zr^mbd?)RKZ;I#xP!FpmEf?-`p=) zhdXCXq1%8F?`CAd8UNRU6RBJPCM@*Lq0h=Z_&FXJ1d`JO25;ZbKR~?`dH{&9Ni&G1 zy1g7~K|ZV}3t#$q$yAr(xzvTl#aLj>n3HrC9gW)X5))bPc>gcqge={f!xSW7sY<~~ zLAr5Yo!{)G`O6%9G(Rq9*r-t%nCCgb_FSH_v8DPfGn!&_GRPf;mhRtRpz*=4%|25^ zUH-~qe~6*z0A)SNl<1%F-@=<*2E(QPeRcUOuG~MzeP<$poC)hIYG^|wJAV?V#{sH^ zJXfa(PBfW);e>R$Xs`cPYHv%^Oisk4>2jbYZ}0k$rd@=?2h`pHY|-CV>M!vFHt(Ot zFGukEaQ{p$aV|#aoEpp|HXDs795=Yc_`kR}43H#0G_OW-QkNL=kpY)R<}g`$4hi9Y zciW2`7#Vi#4Oy2dt2}+6?^&I9_p{xy9bgnYna5HJ{v7hf!$x@dY8Na5hG*G$bIy#Et&&rY|Nmb~LiH;5_N+{p~LhIy# z@?>!3fza>){`ww+=w@yz4bJoZKH2ziFHW$saii zr*h_$J9qZ}zfSGV7N?x2nh?dKDw4a%aB6qvf~ud@;ns%uRPGOVeXcus0GGSZf#4ZBol$S{E7!Db)xE@*m)j{RQ1coW7MJEI_P21$AXTyT-E zIVSSQARSd#BU4kpeWxU-e2E6-T&<)j#nIRAe0f-h+PY%WN;6#ZA(RCZ(zmy;B+9}p zzBo>ZlmM4$NjZ*+t~OaPiGN_fzh&?0hkfRtjpxj@!}!AfPiHP*RSH!Zr8JY@mD_Ud zes_-8TV{11W(~HWHt1@O(sU2|8K81ihV3~;&vqXaY6Z}8+8-|bBN({3&)n{Ukt*4$ zE;T(iJ2jBzfgu)suEQNMO+83Fy#%`a1l%pWvI9uBQH zrFn^oEM%cQ$G?YLtdY_Kl%Jg3h89%HTGHJA5DOT0?j#NqYQ>!+{~6)PW$O95H#O=Q z+RnkZ$tuEs`*rZ{);DQVKuShbe}jol!8qw>YQ79>2*KeSpPLiy8=xwwF4SN8>68u^ho}B^=+lkfVY? z7EUuN^t{E1q(CQ)AMY5b9!p+fI$-U24wmfMuS?{_pISmldhph^)lg4PEdCoON2n%K^M|3Luf)`q^yQQk&ZH~$alqZI z3N#ykdf@vLCr)f6bFOYSG=!~WE0K(HKWN5wYX@lE)Q?o0t~m0y0FyU7x)LyhmcjI= z_BPvy55OFb+LDLv_*uZej*OwGO4!#ye?>sALj@LnWZ_8sxbXqVF z{Ltl5CF+_U;MHyd9(l=buIsNh+8aRT;-40W*OMHvv{z25Q;DIvI$6L=JC8<@eUtow z)9}6jR3=~KvHwMNYK;s++{g!&rklM5=j1mW3#!eD%N>W_mjj0ItNXXHOk;Jaq@y|B zPDHexHPH743_c01a1Lj_t!kM;-1fe|9QQSH@>wfd7#zB7sAHQRP&+?T*~&PPiuFwn zREGOXQ0XGD=Sk$SL$Cc@hLDXvcP7kRcf_%q?v za=BbIKQ2aF;x6=FD{g+IUS_#UO7-uk9v8p{V5<*txfmEE%I_>?c=YQm##U7Yxe!`) zf|5)F?|4Zrs&H_BeKM_6Kgux%5kqZYbpBr%f~R{p`2GB`mcM{zDCqUZn??uNK<)VNb_i zyZ{dJQH9;}y+Z^(Rvsdg70G&Em8lL~J)dm!z;JFude})!vJwT=2=MbvDJjFrjK7}GD#I72B zUfZL+Y$)snk8_O_&}Q#E01a;uHU|oSt<5=X;-LN2p|Bro_-48B<#G$=U#_t2>cE+5 z=?d?3S-g|Iysz$J#i|QF4YX7kXxYU}7H0Y1_vFe4(0afXCfFu?yeY=Dx;{4WS6&Rz zCZQ3{AJ5-qAg)^7JTD}!Y(up;;I%FT*WBd~HqBGU{sIS@0{98he?|qo`uplgN+1x3 zMEaT0zzzcK&b62yJ(P0tE1_|DeAK;;OHIKat9A5xUEC>?XAz_?ryQS~2@e!;NaDsg zZn0F~%;-F2dECm-nghXCLd~i_6X>~n%tx!Bu+q!R*Y-rM5DT=`3wMkDQV=cBy`9}y zOLh2#%e1}os-$jWSJbXU~73L;un`Ztl1D9d{bOp{5X#I zOsL@1*W0gdW!z-6-l^zZX|KjM-xfnVjIJ();Wc8oM_I-S#9qC6)$)v0$ZGvfSyz?5 z(CqhjK?wyW)){4ag?_6ijcNlc$;|{0GI3rU95f0QnInpsl$-YDn+Y*;NWH`@3~Nj@ zL`hRYJb4te^U{u~0r!Y|La$N?SuWubHDM2xTC!8u+;ER1AuQ&Db6 z5H|bRJv7L3>~&%yeqJY(Tn?Nn-(YKY|I~+dY!G_NvIR!_K(9jN@sGv^H~%)J~0JWMIhZK5J@?Z zB&1k#&+=Hk%pP$4qIQ3#J+(HBaa->Cz`~~Yn`=~-?PwwGnC}GR_JE&TBbU!r9aTAE zD}?xK7<`)MK7@^)%0diS?z?b>rH|o28QV0(i5Xr{x~oN?eVsrA!}N3h9fV8o1O7lr zs&S_hjzOpvw*{Fh>mM(bg)K<(O%|pT&$;m`eS0k+JsJpy627oRCrWf|#Mf*hk?~9* zon$F9^T1hFq3_1;ua(-sGp;qtdig(bz=nkG*L2S!u;?g?qzB<1mpY8zx~Zto?UHv- zgZ1}OtdT8qiD;_N*x*VsgvXK#qh!;TCW0LCsD={r=x=_=%5EMgny~(i9M>>1O446E zB0lavoGPvwwcW(WoOoM|U6e#vg01vR6E9%;T?^;tl)TFIt5cQcO@*A``#)PYMkN-Y zlXzv1IF^6=ChO4^!Eg8pv$p1?H(yQqJ)tw%COr;5Gu!)q%mMeR`)%mXoB{eM*Oj(! z-%49k4>dorVxXt*9YLLi1QDWG_xY4}X1epqtbJF_lWA{n_ckw%i7)C&;P|-Rp}2iy zvsVmeF>cZwX4P2kK5>Cv0w%FFKKUU*+m*zgoAHif94BSD>FNexq z$g~sX^!w5=`Ea!({-EIRxl!(b9St}m%3rT+K~Dl8E{CEgo(-v}0oX zt8od3_0bqbVo&ajbVJw^rr2a+AZj#vRT+QdP%6Jpk^>ti#NGJKaBjS@5&j9LAi>+g z+5-DZQym;*KPi!M{g8E=4JtZQBZ<#FWjHVA2v6|4BV6JG_e$^)!i1r%^~>nEpKPhF zys=~J$gFjn4ZZxtin`(`?d9vS$tjI zpl4nyVS9n!XI!8Ax=&w0+m6y^kNV~kj7KhcRe?C_8k1l#lWJ+ku#%@?QY&_onhvDn zEo1{AEcQmA`Duz}4}A@|%;>>K5~hC}hR^{3BSg2|lhFP9BboyvfB~2gMQj@B1{?@+ zbZJT56__t7yualhdCmtzHIv3zK;8~FNLMfBZG5kfX`X=u+B4QwZXrCc14Y^ik)l;S z^x@q8O`ik<{iC2VNvt8*YSI};Nz)+J$mvRtt=a6HLU%EH1bD>^K9nk9n^v>d0>|Z6 zg>%Z^bE$bJpNW}QJw@}wy7g6SR$@%yo8BNJv_-}d&I&ZA-$q9!aHH(5q2Wb^09>I# zKZ+C@-a}u>l37Vl0va~oDK06QG%fRYAO#chhy~^-V_I*up-=7Ysj@9`S*@A2F^l3( z12SDG6KTgAzh=itycsv65*7rHAdrXjzgH#Fo61QO(yFG!kga&7Z-vjGzc=uW1nnWD zYc}|Kn=YKDAeLEiBWC9|Ap^KPdQS;@f4H&=UVHgskG;8LCosLFtxS3#bO1tFnemuB z7JeI;k%A~+Th~z}n6Awg`gg;771!#5`dTW%pB9yNgqcsv4$OJ>=bPn)lrq&QuCGb- zjm-7>@C2-#>4Yovd%+!?{1fJqT`PNyC1s?MNh!JCCmGWB_cQzdw$8+8i2i!YM7RI5Ch^}J&+ZaRAI|D11fx>rC?n$Hg@_Du& z{{*2=p8}xsspf%Ea%2c_YXIM=}dXb|r9E3|G(tTpz-Sk-vgD zXznYqw(Mb~I)Ix9ztq1zMrA(a>Yrt&dBmmQ8ujwDJ5uFz@=?T&zU5q2CW!5h>#45)?1H6bXyljkAS1%47 z@`5i)8kh+v>CqU@oV*G0jiT=~fBW#8%{E|~&#*D0-`;)NX9}C_rk@iRh*ab6PRHZ* z{b)a7`g*uJ7DZAK5D{TP{aVV1k-rF?>$#lx)zR-;LGU~92Er)^f_Zk#z~r4NmsIWK zugH0++<>De40{(&u(7pTCqmA{?_I2pqEA#>S=wLQ@rD>_XkZRS8Szio7w%V;8N_I zv^7r!6aYNCJF{BzJM*sfxC;Rs#azc_zCR56Q=rQ8hi|)F232W)owT|h$4QpY%jH1P zoY3dL@XJ-&hqbEr^czQj>oWpnuAIQxw}T273B7_RWMQAKHQ%G@D6&jT_@E^O=I@37 zO7k3}1>!_087KBc&blcG*=gPhhZ6aFuRB zMHQOff6JNdfq?-M@AL6`>nNI&J(`dn|q z^2E*C+S<`Uqki|dhIMEgv3F=z-nc|G;5zW6^BIluwvs_4l#fQbB5FUxX0FHH1GC^` z)DNZGdZEfhpO^gmA)xb_?ish>TQ=6#8lGicUc=?i2>n;UzZ1izuU88oyo29e&gyh` zS^=Z42LE_-a`1cyC<)|DNP4@64l>D^;+}NNo0OVFGK0f=R0jw-ms5OhQs#M4J_-Ti zm$bi>{pq8S!z&l&o>Smq9wPv1Il>anjxj0d1vr;t!M zSlqv-+q)8fe;c>pLH7S&#}d3!-}UmvY$QFeC|+@BY{z|boGZRAlrsj!2d#{L(TK}` zXp(9RFlm?kzzu*kx_qiadAQ)652OCaW!+cu4#7{qFYT~UN+|5Vu( zq_nvw;(p4-p3O-;zTR8)JSK#|^#rzaCJ2WVyY6?`Zlc$Rva01yH7)@I)8GiR(ZLx$ zCM8V-XVBxIwt%JImO4%R>A|8R_fC0_46J~Pk=o)j5e+uexqdGBtn=DE=65=oWY%M{ zO(tXsI|K zFM(YRa^5Z+6Ld4_oj$@b<~6bI@m)oA-bAxbA`i4=pPeS0oeMkeJT2MX-93enhQvRA zeq?+uMrrwF;M#I_AAO_$`H{C;1+{R4pKZ>4_l%;8;946vxyqTbLwT!Ugz+tf@FKHj z_rjon+Opze(Jl)+=LhB2-?bkzfCw?LiN2CTm^6R14O8v;Ac8{MZCDpOtUJsOWtGU| zeyifn+uHSVoJI;QD4tTVN!eK?FlXMWf3mW2dt#v#(2aNwQeb4zqQdXajBp{Z6gwva zQ@=7{^Wq+3=PF>{%-9FP)B?lGTP-auJuNk?Dob-X{?35hE`|#i={$++tyjm@A|7HQ zSEf)`1YegL__) z_xQdGP01f6D5$GspW9i~Z!@@H-bM?&pcOK{k=(m{%)nGojoa^0SuW!6a+=$YyGNgq zZN))Av33@Lu)1Pd%y1ox#*5B&XCpD@=y>4bQwvmj#L7%|W?o`yW1Q5UZ}YiApEiUH z)NNBeYoU<$tRZ5k$+MeNV!^PWqsP5TfI^qNMqb+z-W0by+*gOK*=F{0 z*@+CrpRaOjbVfGSh3=mhjJTGX{ZZeQfg#eWj!2klmvbq@YIwO}oPB_iJ>6NsDF2lP z2&4!uyT4A~=pbzf(rNIlZJNS2m+pY?=<#3=ycu%%>)}T4+|wp^V$Gxn!xT{g%>?|Y zvwndKEZ1M>{BZcC83@{@_}wVrm$1#{)^jCPMJ@mqc~9nx1SM3Ib~jNy2(Vl^N{!F| z6bbRB0VgpbgMCf~On_gK-@g|e9X(9LGO5+Wj+XuK9H^|Wv@-`by~4ix0y{9wKtMnw z!DY0nDT7(*qBLnrYLmFl{@$RDOTr=3*8r?_0z_P_j_~MLz?+;hh^a7TQmUC_4N)TP z-1hq&+n5(X44i;^EUBnEYqB&T1VQpJ;=anQA&$K56W7QSFi`uI9hBc9ei3APuT&LrWJj!83mY0d#zY#l@OFP+Wahm|XH?}> zS?bykZs+mN57N;;G&nfe1vk)v8$-ACdINHE`=$EpQ(&Wed+z%G(VpMFkhigCteqL} zZ#PrL&(W5j(=WK3b^yZDuV4{^LiaSnbP0Jfh6UutGFH5`+wzmu`z9pLh)A@VDm7 zr2~%lTB?rxX6X(#L+6}=h?aTK)Q#r$_FEg`Hymz^>gmYo0TyBMcSiIJAyITsKF>|i zfQxW**mcW*-#^u+R>f-Ls*;jchTvkiJ`7=JMUwFM#DmBN10$na-4PvlcZlqjqpqh- zKly*#8{Y&f+)S?&oM!>2NZ96^`qXRnfxOg9o%%&F8;jL0i9`Ypex>j_&3&`YZzUb^ zA|@+&Z)YWRl+FON8WBBD1O{sSB2DwI6>iefc2&6Z`OQ9_`F7rs)HjT60{o>D7aG^X z(Dhbje?Qc7C2@H1g?)D|QX3D@=)Id3xN|25f=*+sd>+ z-nx1#vWt`xeI!Gw8Wcls8FTwC9mBAu1+QENI6~A!uOL%uNBwQF=X%)c239s7p7X=t zEDoS}=`W;0{s~8}AwtR1)a=#yT|N%rpNwXkkAK*aBJxM@S)0N?AJN^Td;MMWhQ>nl z!=dg_kknsMGp{;1HZG~9U>}_r0cJ~Y=X6X>)WlQza~xn!_w}-3x1SFJPNd2~U-EN{ zF|!Oku4c{!x_58Q&a5<9>KK+Wb6(NSuf{nvx8&B$Iaye|li&EBA#T5N0>1cENHl>j zM*aaF{t|mZa|66siB-W&&X=^mP~wE8V5$^5@#F3@3f`NvGwDJkpLy5$)wxIDb*&f$ zVrC$~rjW@~c7-|nYA)=jc%7)1%p`nKsa>aOLzG`%z@Q?`fAZpH2TbYZh>e!@j^`9y zC^?d}^<#Wx{$o+!EE(Pa5shhAcXyk0KtZG1j2Zr;zS(d~f`KX6o^>2>!oPk!V0T}K z7CQ}kG&iXyCc9SMVdC@(87*JE-|{lYqkj~yp<$onWjC(P4TQD*xmCSIoO_Nq*Az9l zxfR?P(eOdFGttyPE6)UNKGzTDXC8sYcrA`J7qD**o4^tQ!Y0}@2YiKF*6XQjsug{F zkk0vTupt0x9p_4CJpk8YEEdq(Cf)Ml)1fWzGqKr~X9mkPgK$(Q2T)!2$W)j0h2MvE z8Pgo{y_@x!*T?=`()>cM%8{Q*y+Z|#>*)VaZsE36-o|ocIxyWp-kSMWSEN`Rgt#(; zt6Y7X3o6VHz$@Tek>gsWF5U3qG{1)QOrHXCu%UPT6Gm}cpq=6JR|BBWMHx8to$5jO z{W-?IqSctVxZ~{kV7k6f-GBiRpRe(pEUXWHzprqx_`%ezq)R{L{HA*Qv(n7jr4_X3 z>FK|6oXFR<(?{cC*g<{R93Y%*XM*4td-d9N!3tGAdKRNcjB0!%zNJb-h+7TG#ZZh? zdlmmVr=Sf~rc)i;4?vt&^YC*9Z-tH$Z_*n0ih=Pjt0+ctq&QI|A+ zBk$-+n4soxhMG@5=3e7UBOM6S{x?Vqp0k}S?beP}Wl}UWM!KBmkamvSTs=vK**V}Q zLPKsm!2jP=T(5AwIGU^bm8Tg9J?$E*IDufZ;Z=d5#p8GD?geQIlUtaA*y+m3VxR?( z5imu}3)80$$z3t(gvL4F?zg6D!a(-&=YaFORiXmf^YYGQFRy@pPN|ZjC_8U0*~`n} zpZ}=^;GHJZ+b30Z1M)zeuP!a@0kb#zRL0MwWURw2Th`K8DcrWURNhB}2nC;k$8m{B zeGiY*O&jhRS!u?1dR=c{pmY^3D_%IYxf5Ans`Wc$T6^8NeW5U&Td*FOr-gEfE*VfH zZY3XHsSAryH!||`)rYv1$LH_MGx*pW1|eaRi~ZM6%PhoXHvygGti~a!-*anc8;^i6 z{oSFz)wqMM*?ddM(m`m&XcQdCGx!B{K^p-5)AWJ1*ZQoWzV&s77QS>Y5tH)CK_rGX zblv9Rr!An%T7&q`XNE~29_-4_N65ZX0)q^FbYoy68#C68(W%}r2?>n4yL&`XKC{;b zzJ1s=0Z5Znw!l5(<^u!=rRrb9R*e%O0Qxm5?n%kTyP364e&l0Df}{J`;{3o~D665a z^?^NLx@%2CFOoUME~oEodlY~Ppg;~CVi|vq>S+OBX*b#x`2JwD|H0mSM>Uy7@1g-j z1f`4&HtOgAN>z|9O~nFIloEQ8CcW2CMMOoh0@6{W6MBab1Qn!93mudaAV3gEkU*0A z21aGh@7%k_S!bQK?ppK5I0_oR?|pZD_OtiCR~16ve&;<)FBjEB;T=1=9bBmQcS?PM z1HP-ikguWtbsB2=Txu*pjRZp5et~M`G;sQkOG#(#ifg}h3l=+WFhE0~bjEU?w?u7| z{i+Wf4M@%As!WlGMX|M+ATk2pn`;+oH!-<)4BED&D$_LsMDYm)S)>pChDb~wk}&c* zpG!#QmV@M(X(KC0q>h@Ew{+yEVD+UQngaHFE)J<^$j zqdjg`2>FWFL@#Mwr}z=b^4c*%Ce^)$jDwpB*;hd~eR&(E_~%(soYlXKXECB{5g*OZ zOOHu{%~vYY-#;@`smteH&iu>GwPZ-4cI2cL?V8!0PoGC598jtlJ@}h6hNb?g8q9}B z2^Z;DajFGQ!{sp=NwU1d;ei>+rt*HD8&vEc%DwT3?dUF6iIng5L9FB%2$zE;f8Diy ztMV(dir#7d>9cHtdM)m3vM!%qSNUI(-J5Siv|JaCL**`R#lCo<4>Gt^=u_vOjI!Ac z_{T#wMiPF3OS|~-;H`56!4C84o4tQMcW69FXY;c;)_+zecvvVp|0$WuFU-|hZ7FYV0T@P~$5AiE6 z7E!wjYgO%x6AV2HwXHEK6H`E-=#+1?{?pUIygg^b_!|-uH`YM_)m%PhudwwJ1$j$@+EQ9!{2vB z)3LyuS28%b9qi>2grKOSjs7|sz})oNhwdT*fC*ts`=7$`Jo$$J(0>ZIO9}o@DBQ=i zm={aWwqCCUU+jKkQGNx{=6O|9t&Y)tC-yHa*x|G^QcTR|^-jbOPRsw!0_Y+s!gN%BXaU5~u2gDKGv8$v5;hvWT0S#y*47)>zqo6|qB| zyAVJ1CU@WIzdB&D!Kgi8MclWo2t7ouOnO(nWhYVt>iT!ccmPWKppQ8_m;C#mgSc<( zzw5SxC(F50xodNLeI3Y}ea91}{C8pgN^sh1w=((}7oB;sCNZe zs|q$LGxP%e3A4M~^dt@g#~)uYQ72A$FlT;`a%Z);ym3Q5T7f-z6>YM1-9^^bXIqYM zIXoQL_Kxo^Y(LoAuRPcj0cyEOpR3-1dNlY1O~B?Cc(Kcp7GeR*a%>&_`(0qQnY2Dxb;ZaxL8fkMdW$eJU6<(&hKvNt!v*tbn z^U=jxh8_w3?^L28z7>{KuR9x&x3I>r6N&)}8C z7TlIwa^Q!bCW6HQoDBW`Ke7;&bRnye-X9OLk%YBi*#47p>eXf0lfpAQsduRUwt+qV zt?!JrKWGE|Ct;3~!2Vg}qw6rv+)#1_iYo{n_)Ult?L^_~DPr{csjac@)_Z zx|53k!UZucuhZ#w7Fo4+PDuCz9{*<3G;OB<5L&q%P)3da(z%$VR_f4(U_jSI0=l%+ z)uh3>v!HXg?uRJ-PtCg*P04g6X2An-K*mh<`SwF&KWgCAN`j0Ydwczv8B|Gr^&abW zawlEpY1xkA1M%BYJS92X-LUXI@&0?+Jyd$%EHdFK=cI0k0hKh9ri|sT>U$cH9qA5P z%U#|;2?W{K^p7YnzL$a2-n@{VH#UVNxWo`1YaoVE^pPpvJ3nT?c3ZFLrhY}Q+*s~y z3eA{VUqAO;^3WG+^ zxn8joLP0}23TU1JrdhI;2&f*Kn;bRVy)g}zPGN-cRL92c60q3cbLMAj?1>< z+2!4JGy$b8#|P@V2=3|_q@z{zxu2jK&D)`w47FUoJs~uqmD`?~g?-x$LVm>z-iuU9 zgi`TAIASvscV_PFsHZwGH6u2OUw;CSJcULSW*s%Xy=Xqwgf6?9_4J2grLhjU*c&?y z{|PUV9k;@AnDP)EUpIe6os9RWs`^|dR_8$$60tyn<$(kbLjPtGQYol-3*U=f&WmL~ zMZ+Bmfxt*WYF)kVI}Vi#KB=(XlD0~Rl#^kU0>*f62*2pbnBrpd(NGg{-YN2j zgIhO^|LSmR*fugIzh-0rI^o^vJrFutIP9?=BfjgWvMdAj#y@cV=@deguI&M4IPde` z?K^ts_nzL4c{V0)S@!T>iDBe+V)$)4F$9h3y zKaG}fdYelv;71VC2X_C9TJSx@@x)z_2Mg=A*j7^FXZ&H%4~jj1igIyETifv!FNO4g z`0q#WzQ_L#{68`KPr1I^pZ`qCU!lf-hV*ch2gDa_>OG{IcK6Yi+sSQM_g*x`hwa@e`q#05X*l3mLjLa^%K-?e zCpG68h`%Wbi??@O=d;@%uqr=u0slpnF6k1Hhv{-N(8Kt8e6%Adgp<~Dp>38=}`N8 z0RpkBvPy{`_$b&+zbgeOS`g*Pge=bpCs=>{qC#S+QIqqT6Hre$tFCWrR;Pc%PylQy zeyW>`y7H8Pyw|C!-6LHM9VNih_Mln$(u)%;Dxq_VZBJ^2{q#`BB|J||n@5fd zJ{GQ#KdU-khe-ExcAn^^1+}rU|9kReOkHnX(_)2hiz_bi%~X81bORw~l|sZnUn^a^ zgTud%qy^IEF~d z=p!eAL*JLpy*) zRz4u3SLpxq4COX;jRa>91w$jMOdbS_EN!Aei_8%BTkW9?b#}YaYIvsSxWeeO*vtlG zNxBXkVmu1h&5h~KwS7E4b}4WVH7%fM@Fqw)l^1}`I@*Tiw=7aTw8TRP0l$`jW6w*d z@thOl9ID7QxNyqzFxABG@z?I|0wKQF9C@?^L7G?gW%4g{#GYcA+YkNYG$%B*-dR0@ z8$hMz!Jnk}gy3?J{x~xPgR5AADG^!#2q!ce;c&p}=2MU3doMSd%WVs~1BT1t>B?by zZ)9q4o)QpvR$B`%_HRFSO3=#)G@2;OdM&(U;CT24HAt)0+x~PMsx@ds(j-VY2-wXB zyNv_XjYx04_5C7#ya~WZE&&Jk)O?2oUH_OLyo%GWWNdm24u55AQ5PV-AD^id8_-VX zlu+7gK@+ZFlF@M^pP2=jVz?cF_QaF@a)k zvnaz2;h;(Kuc8`-0e`YFcu$8?I z^n(S}UAvx3maPEH$17-!`_R?CKPIkfXQ*BUY#ayBxBJF20*|j+S3>I55i(N?wH`3| zTuEw^6*z6Ic}&Xr&qv23*YtdnFuDSRoT0|!hfR5RJbaDgZ7!3mN~+vyjoFC zPVJav+f&)2Ues81&sR!iWfqfsH4h~1MzWrIe>9ja1&R>(>|S%W3=QTs@AF za@JV__P9x-Pvfpw7XPDT5-<23vGY6HXs)-{e$(h{l5prZ%ydBIYkTP461f_As2v`i z<)us{;L_7&Q3(|;{!HU%#wVu4$2Y0Qd;{#LqHc&P11SjO)~jGS3pmO`kPn&q_y%(I9+6BTTEMR z-gx0#|KxUg85zbmaRdu$q;MYEtb$X|2sV$H;taO9{wmL`AUP0s^wr^W{WAna`gnzZ zt~11U7{AzmZXT^&kqy0!!t$cgFUQvpn3UTr8scR1gs@~ZE2gZbyt53y^?lmRE@=SZ z!tWG@p~a!u?IBT0Bio+i+&}jmLCWz%2jsI5sa<+brVeJ6K3{6T+!?(#4OtdGO8*c7 z*_j0(GRW(JZoB?R^#d)_^9MTL18+XpS5tu%s7lUxDsNKidmr?9buXC_^MsBDOenEA zs#mn$W{MFq;%ki&sSvfzRa%@-rW-)dC`EW27B&=O=cIyqv@dw*xN1j4g;76brItTNLUXB%ILkKhpNWgF`K+(|oMhAJ=;RmKv*5Qi(EbMcL{jq8B6qF`$b z{7HIiudnWtPM21l_4V0L>hWkj#oh{MqCZMs*3;3&Psp(JA|R$OZpJ6c`RIgVn1W1- zT2)omtX|n$CUFHD#F;Fe>r!scH<6VB3aB&(c zjiIpbd+o;6NcezFJm6McS$AGytMTH2Dw4x#*_16e_j)}^P8OLN%zFOxbFCFO5Smb$ zb>;&lopDl~47mvjIB`^+i4n&0(?OhqvFTTZUaE;u8oZRQ;9{$HG-Zt%+_j`?puz>K z+G(oai41yFI5gCQ<(<54s3)+B7JcD`kylS2UTEwvE@7>l6_2KBHVAyEklU%>8FI2Uu%U@IBMtcF!fc zcV9{CRzXH1^LFrfOMos!%F$S~Rrg+*q)|i^r|xV=u=S^*(oM^e+%VtqASnayoM_GV zjIdNNUO_yQemz}4tJ*R`?nrbx^*cNNxc1TEyXx%L_yxbv&)V9WSX^)bSSnmlc00Gk zm>U)rL&tGi2|gmD4IeNpqAtou1O8+E*u$eG#&0c5np}EveU~cCxM6)Jww#EY=mi-M zlRuQvURXCdw)usOhNQm1TIGJG8t4tvx&W01n`$4dfYWg4S9n^JqQ{J*L$vWYL&tgR zaTWN)$g9BVs&UppkGfJBCP7GESPj@TDb{WXbAk8{u1ptOU3JF>az0r?6+AYCSJ&mL z2Yv|@aX1DM(Na8r+OAs%x_Kdjsa&twn{7#9u+*;v=a}Fi8xYi`9A@&CXs<{XP#Tdo zmzcG$C_6l^Hgu709EWc7X1lFcI;Y!;W2V<(gLnr;Z8VVuO;rjm<}0ez3OZo0Tzf(U z6Y#Q`k=#m(vadPwqmC$#SY+Ms`avRa9}dHe4JBtWQ78P%&S_F@Mk zEksjnlhZ%XL|J|xfX^-OM78lbR1@9ZH{v85?mEz_XNIgR?xB^Jl9dKc(u$u1M;0B1 zJCfwUFa}nWQ7$p7Csuu(?$Lc~7bBKEv#ukf20fSGWE}XwJ4X0i=t^e4(O@CSbbe1KjUO(_+L)lu7+8yoeYYB*9J@^4f(1(Mx2xCa^l+ay3 z)Kvr#31EPkZF_E@GUqH?4zrfviofFF+D>bAntDQ6hDL(OFh^+LMT@Pf)tT0zGR%UA zKTU`7s@Ze2Vq1C8!}VvE;*jRAD2?0rGjzCl)N_B_{KtOyaGq``ZuM!lLSs_O^)a>( zM2e*>Br(q5GEqxe`(sPKsN92I^uUa8apPB+OvMX(nYpG296gou zzzTe}7fG_l^?6LMb58Vq)qLkoYffFSND?Q_n~gv987FIz0v6N7QiHi=zPx;%?rU2V zu<>bF%%LNo3LVNnefTo@T89Gh4L8!G_W0kU^Lhoq?ek5E6Oi2=3bwt_V)XeO5nHsB z+o!m{1~I=LBDX6R``<9=lN9##P4s@Z5b}ewP)^C#dlD z@v;!9z<8LKhAqVvsn&RNCaP?{`zpy+oCq?BQ79)9aZZz|sM7&fc_Mu{XXdLUF+pl0f>wC8aG@7v=g z%P_MvSWKC7kE*{nb}8ri>^pX=J}+GG!-c-wh_f!q4)T%JqW;#yDv>dj@t~P9x6}b+ zO6xl(CP7MHVspmXzl9r?=}@6p3ad@se8y^NUpJQ9^k~TLG38H-I+gQ#ao=J49;uqo zd+5Y%I-aQua5$HbAz-SlhoYfFc#od-((9pS^8I&ZWO7Pg-|n%tzXn>=t|Us^6~Fi$ zn#TceL?Ha}PxjiUn<3`Vw?NKMX;8t8Y`ua;E>^;wc*KzH0Wb~T# zoq%}QV{zzDz&)BMnx;bEm4B$NiCOn+(-Az+G=fC3{VB!BySjy`jvjjO4R$qRlV8(2 z*c3D2(aAOHbb`n++sTJyD@UX#j&&A&=tt{ovT@|=tAKvUKr-vzgUHC~Z`z_-idTwN$by<0 z=Scb+>k%o2if`Pu+>kM-@vR8l(cVh83w~%^(R>6;OR&~t(;{!d-y9&Aks%6d!DEMQ z?kjB9>E3`fE9UDD@BX_4fQ_bJMec!BN1lOzMmEZQZ9In+(jVG07PzTO^v4m|BX7-p zP*1R$X&dy$uFb!sV?64ZBFF4GTi9j$Uf-58&=G#8QqDXl5C@=`TX|5)zRyGcUV;%C zwHCTA`=AxTJkBp;>#2wV?Kn)(=BU+Rw%(Ec1kz)F*{xyF*@hX}xctihP{y@5k#qr; zTTVGkn!)acoTU6x)#B=)*+1wEENXf_WlxEAG^_yZ@=|w%(=Od>@d&yfewO?GgzVpdu>*Y6x7R);ceB^S7hm~ zflA>xm54ldhCon!Vq=50-_5xs<5>cRq|A)DO|VoO(=#X!NC(Nx)$ol3)yop)JPt(S zt&In|{qVW@h%41Ti;kQwP{q??b}j4u0Zg3dx&%B(zs(E)6DA~zAeGmyjs^E3$&pE- zmT*H-&G^>&j;$X0(9Tzwy*p^+Pb+*AknN?*wL9y#E4296Kn<*sRODpyE>*wck?PUuR zCP~C~ZK}AHC(lmh+9N#&#h|YFaSTIi!vzHxNtdqTFvI(ONAo@OIx!L;AXU|9LWl<@h|49BVliS>RPOYW9+uCz>b9nhO`Q^PK zJvygx{1IGJo5#i=w_*(Ye48g8^zpB*tmH*MQcv-OtW1PORO;a*P-|l~4R+dWVwiCk z#TwO@fhFwlFR34>CPG5W{i-Mc-8nWLaiiDhtc$en$hhSswvn?q1eF=qV-DfG)B|%# zt#m+%yuR?dqkU7zd#>9+HVfTeMcClNwWdo_S6C zvqDqO7-w(JSdyF^{o>?#wvc3Lw_?z>Q%hxzQt>(n5M;t1G?$n4BP7-_!%cN2;{bn{ z8OUUQ23Cvv_X&$x4;^sGqglrap5U$-_8D;@5d;0!J{I+tf$3H&W8)u;Ec(YK$>w2OO4`Fw@!ORjYgRcZb>z9@S;rpURh;XBGnaPmLHIOF38PLM_t7a zpGQ1T*s8S6AqIWU4lfQWl0^o^a~*TKw`KZp9O0taw*gRDCDqM;fc90As>sC#UHBC1@R;zgs`BC%$~E!V)7|Hb@=D4hpkF}+{q&YX*SE-(gT z!RDW5OCcn+6$|HWk^xks4B|T0f6k!PHI!`5ncfHLHAXew7?DTpycGviCe!glpJ#-P zrXsjo8da)U6xV#Ra(k%h(EaI7j7swnE%qEw6}L zsncZ3&37Lx{c&%I;x{b6J33HPKdd*nYKq(C;i`!f z{uk$(^UN_f^150TDd%&?@lE{*1FvT3 zTRnj_ga`Yln2~aPS*q#o=z-e9m~8ApboP^l=1-!Av0(B6Fy;QdW0CpaO4`f{2Zn_) zTjiY8n^Hy;L$vO~sL zEmKI1j($twDC^gTZUZjtXH!!S$f0$PRtCRk4*1rW_BVB^lgcM z`gx@Y;u_0UZStyf89l^hxLjQiZhFEm(_Qy#KgLT z75ku;Q_lNIN0LA?qswXePabh?4E2O@P1d@Elkeps7o86rbx-9yy`E26s4y(|AuZm0 zc5e2~2h`O^+Ad`-n5IC{=$PmhO7Q-ux9W8freW!Mc27pDWK&KS7}vTglMz;TH82WD z+N8$)Vk;2ismM(Yuyz~*(aZ3?*1I3CHgRLb^bs~miM~VOH-qM9o^Con4U32=m|Z#m zK@~uu54;y%P!S2un!#c^l1^jCQ-Vm3W;fft2UToaxiu9!5)C(FO#{`Ek8T!w<%Lx> z<>=mt;F4AX0Ow8G2mFgnk@F4(4};GSmD7`o4)iRSVr^U4P$PWr?V~*r5^Z)o5yUB; zxxSLzYl-Jf>XM}U1VqP(mivRKCgeYfa@Hg988y=hE`mWkX)ai<{u~5|G*$*^} zC%MM$pKe=1T}X<&=+!&k-@QpBtm&j=E`qF7RChJ4LjDXMw1msdtwmZV5tN^ENN_`q z1M(Tf6blq`y;~TeW{&V%i4|T6Q<4q>!LVtA?962TAD#5y=@(l7pV-XS+A-Jl$&@N5 z{-2v=B`x!cpCA@(2rA#`M6O=`8h2J^DIb;j=*400#W%XG57^Gjw_lpqiSVi0m@$H; z>^(4xWjF7`CM4C+hZn=}4T_wd7xLu$1jdEB;5 zjL34cS>nnx^O?zwegn;AOK%6GPL1aJ%OYhM18L1imm5?ftwGx<-obOO`zrkG;FxTR zoJ(DvS8d9cUInfLIjZ%Hj)I+X&2RJ>ISmtv#?^v60+!!iFc$n1cC=P707g?k)_I1t zcdcC8j0m~-bdruqpK3txg)GIo;_hMnmQQV<>9`HTP@hL_lPjBOzjiygw2E7r7PlCl zb>YKqdF8Qj^wEN$T?&e%3gk0~%f@e*;p&Pmwn@R!LT1-Vey_qR$s3pb2B1(dC^l|u zZbUGznqVuxRJSNA^TjqoA5CE9e2LhKH-azcD3Iq~U6=~3A>}c%I-^J%&Kvd(f96Ip z^(ZJ3EZE$I$q&23$s5b!Rm8ET1<6_<>wN_>tA|>u4x3mamt2CpUW^0~t?^YPpV30K zd>=Sd0Dg|Yg%(Zvn3D#zAT3XdTHzCEyYuW=tJb41i&b503WO=Os_Bjhc=e!x!OCYv zv!Vhyn)>SVt%s^s-d(6rYhqf=Bg{Mo@x^G}(k5AlyP#&}xI_9}W3b;dwriYM*@5Nv< z2TtjR##)ufgY0Lvq%(-9lXY4=E_M*(#iyCXw=ulB7*y&qu2Jnh=a|ATd-9~vi>uEC z^oDx8nB~{Zv!6e;7%f){=ZDHPJg+VUkw&*Z{NW&voDrC$*sJO#111LO0jMv^>oF+} z$a;Ef%*XEZ)^D--b+uwLrpaXoCp0ckbPfjTzA~~k z3FNS8_MR)Aw%=-9h+Q_~?XSyXD$iky&s5(W6H(RfT((fm-giHIP-;^pM|uD(pyr&~ zI$r?EYgn+6GoK)J7g}8KFtj5#K8!0ifS1~p18^~0398ZsHxz_)Ch=qX;Zo{Xp=^IT z7f`<+Yp)TjSV~#STtYJ0$1a%aYSWc^RZ7UWbDk|&+mf<7-k$q)OX`-^*Da{M;1?_} zQiiKASkZ2zvM6>?f$ZFEb!rH4K38OIF9lR1%zf-mv3$gSzr5v!veKr9Bi^{igt}f* zrG-<6A99YkX&|=Mk|0FG*${|+RFoggo#aK@$5v`~(?k)Y$=?!=j*htQ6)FzNqsewb z$mVpnz$pRuya8jDqGu8)iyLO9rNC5@gEw6Ii+tW2YL6d{$L+nR&WR=Y@F(#PDY;Z5 ztH;L{b1>K^^fgdw{N9jt9po4h9Xw6CoLp4hU3vXN>-peLSLfBkLNO&Gl`SIfdqWl* zLTETy>L$9`7jg@b-%33l%}7U=7$M_9tGX+ZX-p-U_%I;CJ#~W^-G`5*XRI)5NG#&G z%zVj%{{b0W0VB+xc5$0d4fgqL8{q@LP)XQjgmdyW5ksrY%bGmRpWq7HdeY#D_99taou^S4H ztA*O?;!s)kNPg;if&_nn+$RZ5Fnd=^&^tC_dW*2O==1zyXVG9Sj$b`lfR>harg#m5 zg2Fildlh`RuEoikl)H>OAEu=Z@uG#EHj`J2;5d7cA@YH-vJ+Yr;hi?m(?&sh69d=e zm@tSp7rOn^H9-{pO2NkvN*eiuqST^dL0A&rkOcNVbQU?=OE`i50WE9Eli3sU2qu8d z1qc%pf0BZ+-jZoF=|N;?w6?|;{C$bl9D~eaVyj~gvQGL296$O&!Dnv>^HJF=Ty@w( zoAELyPo0WB5gb@d@NwFBoG{|CiF1EvL1z?OP`l*4;oN-|CwZga*8yi#Q}0oDmB`aTPI8ShA+$}dH;0e{7d$+cx71u(X1^8~W{yFYlV@Xt z{@^6_{b7!vrA@|>>7)q*imKPIZ=n6PAo?hyGJm*`o+2OM9mpD#JEjMG#a+Z<8yWRB z36EnxC}il}!CEB&mqhmUNIcu=WP_5RgV`@+1eS~^oAF4ElTy8M8k=QV+W$vFCkCSA z=ht5|?SRss0Xf|p_HXe#>Uvt*4Kbf34l>o=7yjf6T3sHjt~G1(eMWHCVV+rctCmQe z%C9x|pPNugBW^k)i3A-(gWkcp05<XS~HXH&kn~$^{{Z!KBvc`FOZL zJd2YR>Oq80MO^A?P;k+~s_@ez+8rwiJ&slBvz8K}%&` z(5*+*o#0SZqeV$&L23qT1@|PZbQj;)P^JBnl*`P|0I>KnRj`4>(K(iaIlnS=8?Gw$ z>RO#PiIXeI_b2IwRPuF_>%N(;D9EYzGBj_l`;b#ZLUE*TAtFEwi3&|jM+%Wuqh)5b zR@t-MI;YtMA?){ihoMrCg#(Rv%&^)eMX!`_F`F$1F;coz-Xs-qvqk*z_+kSvaGJWW zKDX-n4!FqS^3*6XY(KAUD(>NG{)_O)SiNH}3;b;rd17+WsWDtz&WG6gjL*Qb z>}zt`Aqe!I2gDfm&dv3+BhcL7L*B4HES1mhE*nu07JQ9&xwNYVI7C=$bRs>_vR-+c zr1Tb#14B#Sx{+$D1e%{>73<}7hQQRVxlbif^I2zRgyW-llVZ;}!%^od%ovyrN8y9; z$_cjW=4*lqIUlGJc*BcN*++MSSwq>bR(=yIs5se0*yh-WN9-R%h?~RcnbeDLmOSVs z;TxYXmGntM@`l~usW~0PWe&M|^O&2a4PzLzC1H(Qr?U9Uv79Hxq)ad&%)8kKVc6#Z zs;DPTZ2P;AH8i>NK&Q&OJSU_{h0$km*<_q~7bW!VBfvnd;D0ouVPfu)Txs z^;9$hv`HW~&usX*YGQ&ZXn3Zsd#l^gV!gdI;g+HYfb+5z+7JDn2iF+)G)j72Y^Qm%~vcqowaqmpaNspoz<)bbsqnh{ESe zv(`SS@kF(=hQ_(Y^9Jd9*?q%>C7RJ5o#)=mdf!zCAT++K(@J+(H#Q~ZG~^t>dfhi9 zDu&u?*JnJQB^dejd2ps87MCu={qIxPTj11?UFp!#llp4DTvLG=Wp^>6-mSNa^iAw7Clq#GEa2d25XQ$0-4XkP70j79kOrV zg9p^q&o2J<+n+B#iATsyp1Sm>sAGqlx3^^G#}YDny-m+Ww_Tev!@(Ptp*S5m_drvz zvnB^NoI~h;KJccp@=E+MjP=lqt70A>bT)><#x;amB_SNP!>rLazc2UrjzNbC0Y0BC zee=wY#vD)r#4Hx!rF!R)XQJ zfZo}^-5BFM!qb^_&hG*J!zlJCpO1CE#A~m~NVz{4Lhg$7j7=oa%Fxhs|);^NMG9h1!8V^6MM7bE<`+AccE< zVqX>$!|sMSI5=EvEF5CDhh478Gek(ToaL0Tf05|<q9D)_nK!n+8s@21rEY zzKF)twu@&c)I}fuhQD1ZThR4QLbA8jm$g|?SokS`Ou%9e;bI4rvq|EShPSs&3LVy+ z4Jr#oU1#9>j(Fm`jJ?{Z>*c7~#SEY6Q5$)AzO9rbD=Kqgho^IK1{HnE6^ml8%(2p- z+FI=Qn6IV{XAAgK#lA(8-=sE?BfWy7lV+`4_9^L0$ETD!0 z^HPkwM!UOjh7s>aGd=o7Q@?~QG7t+I`HaOeZOWIo;g2keMuJs4mcEZ{k3stT9d7A0 zmdG0W^zphc+?H{l*@zvmTRer2B@z|zX=@%y~HiDs$5x5zMkR~(Q?HfvLfF8>Z)O=|(H z<3n66R1;jR%lgIN-UrE_t2R28$X>_tyVuB`3I+|kTUJZ8v^Q=w*j6dry65zi{y_El z`t14qS3`p(Hh3f9k;vTqRQXtY-_`n1$ze=ZhoD5y5KXq!yWb%F#W5mge;64N{8iRk z`k{<%@q6BQ`fxJvZyu^XpWJ#)MmWk{RsE!HW680$1I#71oiB#sUc#Ic!LA46Suj^tHqK(9?Lyrko~encsK)=kRZ9=S%J+)9AlaDOPl_R~ zNWM%?C(1izGC*q1*Op6bH$6A=e)i&_(0zY7ImN-R1>-LHll@*>4i+CndwY|y|a8QOqQ5GcZeZS3M)7{L_2i>fn|T-X{GAMnvUwOJ+qr! zzHT$wF0qeI1C-6Ri3rcnyr`F*8fMs)&tM~GABH)YkYG%%8g?>y(1x@%L$2$^i97hG zIxCXR7f=2Oz7V(rte7k6P6=amc@#SEdR_oM_tb( zB<^q$u*#%do&nOv2&3AW^~y=jC%1nKd~3qK0$UpV-Kg>~s=qI8!YmDD5!K#TzXo;y z(Z~<-<-W$}$T$uC&hF?5&y-)Vzvn?F(d57PPR4(bX}V)AadD2(4J2AfxFO2Oe!0o{`yvZ>q+=Z@$#{>>B*@c#-9YJCRpqIhll_&J1&xm?wKAc+%7l!RG9H z8ovU(E@}Fkt^GcC5NDNF*pdS{xgS=Ck2gvzVyRHbk?~14KCji-A{VlPhocA^V_oL4 z`1oTgu#rAf50fx1?)``BSo{((=!;=xF!j#3-1e`tjM>!n{#y!P-)R$XSLb&|Kr_e^ z&nL}b%E`_OtzKniq~ixC<6d}`Dyo^LOF54G3AzGse47aSiNMf}hfZT7LU8!-!PZ8w zyLMflJXklKy95UoYZPr$=DHL);v1+a#X4U=X zlFaAI4fnojZq-2#Vp&R^3TX?)?pV1<_1g>9p9|r+IttPOi`nYbb6+3j$ z6@P#KMVNzVT?%oEO)PjxXijpxha9kCu(5_-dJ@&qadC8uYN7(M8A#tM8nATCZ#35| zS-+s^-03evog)Il#LefwEWH0bqIgYRL*o>r;|KbVUtf@bjC>lj@F$yC$;x`YFB@^f zbv^=2!ox3SIucUAaCb6{d(mx?QR{-6QAK$?k2=}(Mj5ItKA!#t6nY~4)!5BOFRbLS zLzXWX#7J!EP7VXe$4#0jO~pWI^F;<}1+XhZQW_l{y!Ew7)mkN7DsIiIsUxXeUh+>i zS+28%x!6qQnWyhhJda63bmyB?jNwfKy6&VC!|;1^aGz3d0geN4*l!Yq4n3fbV(qXg z&4KxTDq)F3J;hS9w)57a67m!A z%f3Li%hyfI=tk6Mq{oZXRb&H0PuGmpHtBm9pOplL)i@WSe%#D!6BGyI$4;!j35^HfQ_VSr%#1=|S(gEeN4Yn`toSoyx$@^Ydky-VodVn?jc-!|YN z6ZkHCE}3fTk}NPnD&t=gpB-rn%Fa6C`o2E6{_*0`nY65}!Yf-~}g z7IW9YL0&dpI z4H4niwP|dWVExeQpx#+Zzz&Y5_{w%+*3bpW8)IvCp_`FUxVL6w-PaN0SK5Fgm_Ew!&pD$Xb4%$dtc7}5&rjWdy+}+MC#BFYBh6#|g7+ST^gGezE}9~I zw|ftFwJ`9ogT!%gwrG2mFNB(g6->DEj06~+kKfxNvGCo!85ZDgTKtx=P4L)>9hzA~ zL-$Ij`M%x`8`uG@Q^G+nZtN?;|Gh_r(8fq5K)poz_>`o*=GUfNUZ$zZsb{IfuJ#p9 zH9vhngFMLkLb#){e2Cr2$f$=E}-zaCRB1&-llH<4iLLbr?`jJsVUBKm^O725 z@woMrk!lmh0b3qv3}$Yh2C=0(a&M2JQP1Xu0yuT}t$j^Q`*t|F>lYD{BglJ|j)w3YGfx`2dP zv8;6ff*q}a>g5|RIcvpxOaivHQOC8rc4^{HL5C8W(+M~4oK53&LCoPElKzub8i(K1Nwc4+Fnfe>553-!j z?O$M0(YnVFS}OZ6KG9sM^t#Q^bH_iTNpBC6`6`MBoHWk2WZ7Ow#GsPup#GRj@u7e@IZ zp`rUO67Md@P8&8QWEOyqMZ-o|z-Cku-xI=%7ca;BgO}6HTAo=8I)!CwCJBuPEQ?(A z?xCleXp3SjQ&_*@NV?kYD$>i^3Z%yB zqeKG8d&hX7X6sLfvtkT(CBJ*m@|QVbfVhklni^J=RkJ@k;lckfg-4y0fBK43)?Uh8 zD)CWYNB*&8UD^M2W{$G=x__CA{7Exd*k@!_DfOv;+Q-p~z)Pn7-EN^9pXq^Xd)nK> zd~QqL@0*e0zC3;V1{5b}l6#j_#ZAwufF*+9^i*u}L_+Jy-9XZIhQb1wIkNMb6U`J8 z7~jM>@TjKN+$rwo6gF@Lh2WM8_w{VQ{LU{^_rWsV`?*!ur+jGh;kD80B(k?@r z+u};x^YnDKCwB8hQ>+i!JKw9;kDv+}D3GXaq9h8rdIix-OI&f1PQ}-f&Ru`dUHcpz zuA*j*T9QAMmHkR1LnH2NZP86f6BsNaYy7Tyd$HT3%_$HfWN4-w@5$7N$@n1q*(T*k z(J6-AGk!p|TpzTTbLrJQ|FC^;2Yw4ZE6RT0Y5yCu_Kpq>bcnKC*kaIc=uQIj$<^&)QyN zprioKglTE9lBUKj_HdrC_AdG4VL1eD|B%J59XFxpep@~-?j|8c$;F*5z<-BlwsZBV z6v|~H@BEON{j{>9#TJELj4#q{)zWUYX{r*L{mjmgXH z8-EhKec=ax2=ROAT~GY|FqQHF*{&m6URi$o6<4l;&v$kCcXk4-&a63onDSaYo+%^#RD#|7$D1Hxa+dwu`CX&5HaQc`_Ev?)xv;LcYHUQCRJbrDLx;){hHoe7{ zKXWM>(36F)K?W8ZwpWjaZn54YFn*48{qCiOKm7C&-(Q<*kGl#u<@^Qu`R!iYCz{~% z!(ej%DsFfQDI5;3+L0T6iUAh={GWpVr{F&&{XYf&Pr?8H;=$vVJ(3`homl|?r@VPo zVn}ky(!zYPi~i}Gcfb-^?kXvC5{ptj2;!Nz_WgSg-)QZOeQP?mv{c@HN=WEM!|jI8 z-Dii+T%@gr`M>c~i}dvLR0Uag_7RhycShYk!-Deifhm!%Umrhp7(#mqcT_U8&_g z21k&BCP=vym7%cH8>==S_pKsN$T$wynE>LN+u?|=_djxt z_qXyc!!AdFWtAh6b@|@6&-S9G`R^3;IrPJ0!Gwij8Ga5V58i5^4ZJL3$Gc2_zsTKnS5GbnX+}@7bQW+_B$t#{IrOa4;y6Jiqm8 zdhBH>O_tgDN%Q@6zztvgmoa4Q@P$~&tZRQ%U54N$@?cZb4V#(ic+E<;O~t(s)t~DM z8^MfJF8Xi3D|V)#%{Bjgpr?YSp6AvWJju#>!aBU{&>iF3UDf+r8Xqy`*^MpEXjME0 znBeZeW1SLAL&F84A^J)%ZW@rDQcC++c&9#sAAZ+GemFRE*j@SCU?c#in{>Co`$T@d z_Vdg&>|^gJZe^ea!^clf^Qv9mJorGbjl)$%jO2aG_~1#1fc1-i8N?lta0e~BSQRa$ zp9hA5L*->c42>8^oa^zwewnN1dzsmB)5w_Eh{%28h&>wmfn*~MXiAv_5CH$Q|KGU| z`yoOS@JO$(XKFZk+#I-21q`@rGWqwQ*NPGMj+zbn+5@)0wQ7F%;1A%I2LCiCTi5|x zjrwZRPvsQ3=h{c8UJ+4<^s&4?5+?j;@mlttKrT3>C9FG$X zoBIpxP({ec)Lq^VuqkLXyi8jGvZV8_b8MoXdJ&b?-%s z9bV>Zr;uS8L0Lt1sj$};CO4tPR^Dn?d}XmBt4RR58Xv(|N!)8(@8a%9{Y>;6U!GAp zeF8I5QEt5GP7&UZ2lSc3^Zza6)Yx&0>46ISCsMQLr<}viZT|PJ_QFUrRb*y9^sW@< z#T0FUJ7%X2e$>RfH&nDLxT#3ykxq%~I$b0=XkLvGE`FC$qUkl=XVV5nL!Fm1P0VQ*hbNb0Y-OLsWx^iNZL z!aqAKB;Arw!C+_!Ema%rsdzuR==gb1;Lf@LZGZAILxIqGc zV1kZoen+uY5d_}w7mjPr4SJ&?GbF$L| z(Bbz-_;w^I+C-L0h{NPu>>n)0vAWwVO?iHhQ}nH~ckiyxIns^MT2s9Hk{-{0vzO0` zGpK^i*7}q7n)uTLIzL%rnIL`92jgZ{xNw+Xq2PYHZjuvijmfCmvhbW62zj)0 zwCfyZoUPy$zg$?1UBSBzwn37N%t%^Qp2%dYO~24WzYA(h#HFvOpK#vlT9U@IvP@{x zXsE1!p!u<=jbgVug-*_cwqbE)c53GuxZadP&+0!-yk77~v>D2D9|(S(h)##y#CBs_2}f5O&fY-~*NZ2)C3 zk}X4iu_uwPd(Q<;GGZ^s5L5GH%bW`qvNs=h6}Qp^=<0;-vL{@vi?O7F=Z+Sl*-uKu z@eAX|dIB~+*f&L$JmDt50-<=@JT3WPWB2uo31o@JV5dB(6?%K8e7#5lb&vmZRDhlR ztei4HZjCwd-AP!%O3%VFud(Pi6jHsIXcE@6JUN3UF^fVjfK0ym`LX^f|Rc%PwVdu8`j0XC~`je{t=kiy)mF_oQZgyeiqk zvx+TP#>ajpG9TlFMkZ@{cBs!x8+CV2>Grt{t$iFO+B6#?g&?a#_L&*IUk1FfQ7hiSRo{79xcDS4AI}Z<~m<g5K_+p5WA+@*m>r7flWt11@#sdZ;}-Q|i&|M$7M zgN~6GFa8K6oF5lnmwQv{GCzkxPL>AiFNvIio|eH>O}VA3&}ZcI!>|b9#a(keA}^!H zH5xvEi2yktF#ad9_c%6V)3N;kAJ-Brx|g2$>2z#-cZM(Yh)*jmuH6gnOl|6MVr zf#iKz`1$hdDrHd!S~DY>!rx{)7S(guEC3YsVz^^8(ajZ=bT|=AFPns0s!UDJ=y~6$oG9I|aivbL)x;RU zbqng(@)jjhw#}3;j9UJOY7sPj7jFfOw~bb5EsJmP4Ct}YQ$)KZjCX6h*4N6_xgW1dGc+cA#51kaO#C~0o~!H40VD(I#1 z=&B5w4@GdKJe*c;W@z&9<3_L(>Q8%Lw9MuU=%wz#gr{R^uojtWFuJ^-+wT=l_{AGa zvDmp2;q9+tqS{^qfBUl(9jS+0@D*fKtx!aFH!e^kwHrLm@sFY+Bxo3nZu`j37~r1% zRt?}|6s}$wbQ_<_Qs$f+9hn_{?9H8&%*ymY|DjJ+J(z_Pb(S`)89RupMdD-Z%XVDrmdQ>jw6w z*8MocW256)EZ9EUZfsJoSD{r_cIk4;Dz#cl1HNQdZ5f4;x{iNX0Ha;ojo_{^j*ZUd z3K3}t&pqUi^S$+DxIvoCxl_zASL>-6sU_JGCViUYZVzH4SmIMo&UuxSSfp1hOK*4R z`-cOD?R8)5DXhiyPakazlT<|Z=3$uO7^#WRH}B!R-DA-`2%b=~h_IR6(I+w4n7cm5 zmKviHtOxq)REnm$n@gZXOSmVEhN+4WgG^U5YC+hO!J^El9Stc76C}%6-OLbtxfumxoKnj_DK-9CMU}_x(7XW2aqeOF(7Ql-1ez<%SdK2wju2Sh{W4r~ z16KWAjDf+eeSLmN1yV)8h=_ZEMQT>o<#hd|{r8h8zKu>L5#;r(Y60g5XHB-sh8d_~ zQH6Ond>6uZ*pb<7+Ofez(Qd{0LmLu$k(7WT8}#%SrD-(m7e0pX-=+F zTKbYqc$e}8C}ki+R)z8lYa7DbUXI|RV@8N5=8XY+g-o{MwluO)zqyH4k9kZOBTr}j zcQPRt0j39A&xoNSJCzu1`3SZ34E?jv^B61G6Ixd0dj-J{O%s!pH(-A-j-a>{{Lb}V zub9|WG3KM$AxR@kUPn}gyY6Z1QW3Ey+2H9)ym|URUdO3376nz50n|$`1v7Cwjki|@ZHlukFy09qVaPZQBa{FH1q6Z-iW<;$D8_4)T4$MS5WoC$!^m97Ms*S zke#z%-t0#=WJ3!KF_zch?|Ox*BaF^t%d!aKX&3~V^U5ask%=b%2D)s;V4PHEgEtvX z@iH^JRh?nmo~Q@u%bNSO&h{@CvmHERSt}v4Mj1)R4WgsbS+F)7$H&Q+`>g z+dAO}#BuIvBKzt{kPXuQ;y@$mjCevo^NHpg#qU}Z7qI3}mj*rrBQ%lhb7jE?$1RiK ztxwi2s{6F85BYv^YS*@{zz|RNtjt=I3^&F;UAn+9S1_kTE9J3Pv5QWfcWOA8j*Px;&viTi!*)3CvuBBKNc zSVPa3V(JFgLk~skU#h@c|a>dC!plhVO|3h9ZJN5NKN+t598eCG` z_#r%i6Gg7p5)s(>O8k5sYwJ0aw6d~qE;5fIC*OEZ_kG{*6bK!$txy(#gb$o9QintQ z1BQ>U{aA7vssBD2sv9J;&O4hCKZ^=ZFsr*M)eEb75YFl!Sx&evgB_UtNj<1AfTk#U zzo6Bc8b2XEDNFaO*>DWe~PMe5e7++1t!M7kV0*Xy;|*FOx& z-|CCAbdk+mRCz?O2oEob;~$iDc0d=_$)#JvTkI+@)q<}$J#Ra@421E~1m%x5$D#_t zWDY2K&ZmCO0twkxtHv;LtH4?R!)2{&mB_n`m#eF)tLfB}$o{J#5mX5v<_B{r$)~ZYv2~q#5~2PbmRe;Jh3xSfqI<` zZf!NO*4EDU&t_d9v9xj6!p$$>DIJZXSvGb-hRa+FU44gcBNGdXH zJEPj)sbd?$Xuw|j`L}z4N6+Rfb&P99lcsigyrW9JMW28uzop$<_iUAgR1#U3V+D7! zrMqj?zc9$A@O0Mk4lPX%NJ^NCh-f&Z#1J}eg8YHI;1*Lw&~6F;T9qfvE% z9fxzG=9bTZLH|{ik7!4%bI0*3DJ`n*t9O-VHs*+>Zqrf=J1})H@&x&&6b&mauz#sU zw5N1SWIt9aO}_vunk&i=l+Bn`)>q+HdNdDjln(XUz9cU8KtqRo_jYr<$%0!$Tht%> zSP8Zp<{MQ0fUJP+JRVNzxZy};Njr6FV~UzG_s6cA*>FqCAOY`|^{*f9u8DpAa7616 zqz$dINe|_-D6#zLM6BwT=xw(KV+6b2SHM|!#kwsotDd&X(xp~M4Ps2lUaKoaw7=#D z-l1#VCthHs%Oy@g1bS_LYbO80#U14Z?3-CJebqDj-tp%^Tno(4jTB8xPep>2(v6!N z&ged)!gO}nZU#(5{|OV%notMwXYjwA)a3LXgm0cBb7s@^V$>aHRI>`dpgyUxERR>{ z!nqS5lE#p$!!HsO8ze*JBT%H7VgbQg?o<^&7yROo8M2ZcI;c9On2gvGcxB}@9XCoE z!y+9u@mx!P__h2|cH8uBYU?gjtLAZBbcsdb#z5bVQ!69Yd2hvjW#p-u;`5-1PP2^b z{QFg<=ewu5idJroo#J5TTEqm`dV$%PT64ZiMO%Id4QgR-9&_<-c5VmKX)$y{QNU56 zhF7p0g6ig%lWPV7jvha_09*Jrn7H}a+}z6Zqd6_-V&9#d67zCYSd4gVczAdK(={w@ z^(lp4^mtQTt6+hz6~v_h!J+&3~b z8FA2S^4&yUHdZhuGLXGkd@<_LJ0F`7-WEl zF?9Dr?Mfyswggip!U4gLJy{ogCl`25Y7Nz}$U@=7-MN&ui<#{Ga+6ftY%+rpQmx{? z;cqrSVuG-n&{gC+iG6RoF3%&IS2)5Fc#awIAGyds>of42!5VV6#Xon&15vj<)UZcFd5oek{?67a7DR6NDBZ9n3Uk{|ZWc zadUDub$WXDfqh&Ma;;Nap>2h~h)81_%Jz2KuzOv9(n#B=3bWF&hsOu!3;MD9phyFVVh=Rf{^fVTHwpP>DpgdP=3*k?GC zd&slEt=f`c+!Xl&hcns*FTpSCBJ}#|@-^fW5oi3v9W^HCqPW={EkZCGr{`2uv!m!s z;f`n3B#Zk_e;`yuI!w;G+qUkBCLrd)I8ItK3)@HVE4uiS_^pe3rud3tt^C!ZSatfD zT?_c-f?s^DPVP?Ei=4_j%d6ewo9S}g2q@f4w6Zm_ZK$Tm+T4D4aL|ySTQCFskgR96 zj=1})W&D0Fh@_v}XAf_BsjRl5zDBxn4B|V(bl@mKzCfU6wnX|O{DMaJd+mT&!IP_* zMEw?0@?v%2>(nSGQ*yS7yQ96D@__>{UpF=F<~J8MxOeEj-*TM%={p%G)q)qjuX#sI zx_$8rnK++benUjxso?)=IKq%*CA;)p)R<8}$o+P@4AOCTg*VmB-0-HY|K3L>lgA7~ zW<7T$#WIjS8X$cKkue`qa4{u*&#?PIe5IWtH7ZNlESXZJXTaSqGPp3FH~*(M64Zn& z&z3nGI!CoHAk1%5gb`ZFK?rljk$wTIO)@v&R8(*Dn^wHY*3A@nyabDx*$Ohg`eKOE~2kb8PK#TiDUxlJTA?&vEA4!v3 zX=$fKDpkLf!O#us>S+3onG>3an*Z>1Ph6UBH?0VGGTryNxow`P9M!lvPYfK{4S`eT zUekQ=>1(iexw?yMP_O`}tGCxhjZ8qpPSm7^z6!Eho|W?G5Z4ayBh#;iOir4@SvoGM zaq#f-PnSwmY`ur#=N{>fOpE=uPG;|SRwe|*hcM6&3i$FFK;>B{cI~aP z@gZxIGHRI3n=WnL)Qec)I33VmH`T5Bl<^CZ%>Al)3)%5+d9VsIIs|DaN`l@!^MN(o z(x#$hH?Wz<|7qt;N};xC7|j`fFq)Ks6UI=>0Cj z-7a9-=2GncJ|=-_#4xb)l2M=QXAAVE_KSg$ykY?yJfC)4fZk!5d=}%}poho1MC|IG zI&ZmtKfdorT&Kx7Pz`2z!QJP)&bwvytf;u8IWkRb`U8j#DZ5Td0!>Vb?%7d53eC*& zpr2kF;0P<=f^Z)k8HBffe&B-cdY^7vc~RyEeokl0`Z14Ixeb+2*dUNWo}Q9PXP->3 zAN4fBcwwe54Br&2Wyr`F;s{nt59a`!iQR$879T%`w^B`_V7%;mB9y$$o76YD#>8|g z@Xp%$@-CM?@XqMau&bO%Ydo!L$gcq68Yi7Zds@SU>84Yi^JjX5BJ&XM@KsTe!x;=k;7V59U&-Q0EZw}0| z2QCeec5b97Y-N%lvEpPUi#%?cQw}ODr+4)g(z-&0UH)<{2_mf!dw7MdiWP7_K65X3 z8;#Vzk|Iq{rGCo)UUH3SuT4f5?Wh^%EL4$om8q$&{80P)U2J6npv7)JqqU8 z;1=+uIVTUrq=j*U*Ctk{`8i0$Y(SAIoXmHpU}FSY9S&#HoIf148zQV)k}~)ow!#gv z|4CDmT_q8ZNr$mmtJ!T-gD-*3R!2xtXGT9Jh?W)J$4A0%pM+}QjWciumPfEPCEkd zl$^{vB8_n;F(oc?K_fs8ALj`eYM=>b9u9>M542#XoA#1yoBfFL_91uK=%7%iQ}q zP!ZPU-v4oW`N4W4ElwZ3QO?QV`pUXkTVBup1j-6K8EBsvx?cx6a^v}>~4j-l=EM|4=f;UaagrBo@ zLP1>x>#WDr)F;*0&Lq*}9yrc~eAu=T+|E?*J5xeU9DC^AR!~AzXg)u}#&g4Eu$TUz z)>;J;QnHZFuo0)VQUFRG@^5>R?m`_Jp8?^`05(2Z&f9F{d(q2J?o@|^nh^OsN1a=1 z4aNEq^-_lb1oU$u`sYfRZhdkzbSply9xy!l9;PBTg}YJeuT#OG5}W<+Gb6^t9+>I< z( zd0T#Pcs2-QvCKhGx2{fqz!jJu%br#QP00&z+8#TzVhQco+_x?~Lp{d?AT*-*+Z@qh zK_%}-oF~82k-Uya<)A*qr14F@v$>#gsVz}e_w2P;JS}8v;?5VD*Cw}bJGmU@KQYqq zN;fC6QTJr%tFFUy;exFK?Fmw?Earor3u>GeVVvxN(!R!iCYlw~at)qWuRePlH$qU` zPPI3Lx~&$PG*o2Ca|%|g2kefTkOwN$zO9$^+^cR|TpZjxHHk0mam^24FLi-U%}mBT z<9m*+U}@c3wIYe9Ek^Tg7)F#a`sVZ&`))$#zAuy-?}z@*Lu;R?%LFLF`e_U3C7(SW ze$2V~Lie2_RTlMX(xN3Rp_LWvG^Ov;{_n7EcwQhcM0HGUOLvMpiFvWjak6e>aRBs= z=iLJ(D?f3E{)h^E0@4e$z&q`d`U!o9Lrd%%FHBBM6fxMLzp6m@&W3|vlxP@17Vs9K z9w~G8mllARuS?<(HbIpQF^UuaF zCE2>Fe3A~|wyu~hBHj7aqM6+$zL=M)%h_%MJ(J=Y?vlBXu)7}d|jjL zOH`W8EN$lZ(e2y+7l031-wTFUh1cTm{l*CH&&m6&ou+7c9W0T*KRU?IF+$fy{Wl!TJI(lWbrsIs2L#yg=VhYR*G zTy3v|U4ok6_&6AIF?=2nT!(oLBd5a5%3!%5IAHVcxxkd29db&TEI7rd?qG_&y8wf+ z|J^&od-9NJIizx#R((9g(WhgG)D-QQnw>3qCD9qefH)fM3~VC6!*=fM={*b2tL4V) zgB3G#<6qwwjY3}E&z~msL2hJ%^QfZz;KfhIhqI7`>qTD$tjw29u)zA3mb*u8MraCx z9P0bixsmD8t%$r5zcGjY>aD;e!I^XNAm-sIOFmdMOhr&Gq5U%D>D;DBpBrZz>i*{@ zznLq$cVFuxAnLZv^USKhEWQ|^uk^Iv)%_%ZS-D*xED$(T27WpqGF zbThTOfkxD#HAfCFAbRV#sjo(G2ByxtP0G^UCt)#zR3mc}x8gUxmlyzwn_8mjI#ZMJ zQvy09W2yby+nUz^wi_^QXZ#yqKwXUq^X?F7uYtLI#{m+2{IQX~1oeh7*ubde8@zrQ z5m)@-!@%MTMMWFrqHV%wE3S~A9?XdRdv#^yev1>GvY+seU`su&RFGK9vVaUCTA|SH zhS8%(KQTBQ-udt?y8{Of#U1_0((UL__BJ{?0b+xk9;|48O7#-iQGDxt^Oc}|Cqk1I zxLMsjWiSdF8dc8Y^(Q$4r*1-Fn*%N|u^GUO#4@`AuFz!T4`r>5n@0=YSLtPColPq( z{m%BB9$#Yz;@2XLhNDe+>!Fz*^ObN=N;bm=H3I7G5tsnFABjb;tplkhpxrF z6%7LJ+Z@++nuzn|&#*lcDmEka;h)#~XlI>hbfyI%B(mgWZLw8Ww)NCot@1|?8Cjqg zJokG5<>1=QQbWlA{ljX#i(KdHXLvWn!4+*6Xf}DJACX%kHjvE${?xf_>>{g`r!oBS zr>vX`EXj_A5rT@+o003^O9PWar^ECm9&&jj7WZV zLz?$AfGsVgc4Tzvqh>KQ)xESqFD8L{-rxR@0K~*xuJZs62U}j2wP{f}u%8wHp8y;q z{U}2g&5H^PxE#n{dWcs6H9P1u>PuvKiqk?guB+ZB4L|%>z*sxw|Ko&z-ExX zg|&eAFPcXh#I>$iBoXQP?O!NN_sPSEj?szEu@9uF=B68|B^lUWt#)k(%%ZYQgaQhs zArDF1ZZ%;Qzqtj-bT3T(YM&P8HU?Xdefx}x!jvG4>PfAw8kg&WmR~lzD&N0DJ^r^q?cp4X1Q`kz^?f6klC2EbWJTz;V5&SuVo z{-=67gILiJkRJV8y?v1f@I*Ea?Qy-f&DMCwU~AOboG_I&R*Gcy}c59KU?5(7wz z#bC_i%i@g+`?(8tko$5t+uARnmVy3q$?lkKI!!1`PQYHWMxxLIIxyQLe74@WT}EV2 z)_aQelK@g%qLfT$)YB4|bh$S^__PI_W$grxCl?DxIU+#;zi)PGN`^em7!Tl`&@}>_ zZ!F)Up6p8@l^f}L$<{l5e%shCW&vBgX`v(==XDa%7tB^BGd(qRRik-M?TvXxoraZF zQd04w?n7&QpkUM@kF(;4SpL`$L%W>pv_($mGfk28j8u@-UXA_%Ca)Y@yp!01Ke9!O zOEu6z&oiwk6}5+25(3y=;gMDWB0FH>=ZwnlCV=`A(Luytza8VbP1KFSlA1hI*f{nxHxBI<>T9!@vbHDLHc$tli+8e2a)$- z`TF-+cmxk2;IRp=rDcetdLZH0TRdE-3&_<6J4J5;wQ3FHR$X-*PdcJw2u0he{5g|w zBx|9!CwYgg(||Sn#S(jvCmeH2Gi3;+;#Ds-5d{`W;ZDHznMtlcipa-3aa{Ry3%$(C zEBOi#o_E7_AU8E?a8@~p4xvcVguOAe<7>4aPJLz#Tv7o=v);m<#pN7~sv~#D<|VjE zN3yM>P6y~ney{!>&J8l2fM+M;JDpv2cfTv6%}#S;4kaXKIO^nAR-x;kKBUJ9IY$B1 za1N)4bB4CBDkvV_-Qhs3FHWzVOV7Ra-ss$kZNT8Hq|+{7f_5sVaBcBts@VPL)q8!G zhfiC^{=7MSS>=JMNpdcQ73ZXuUT$oxLoIFGQDYn+K+(F_PI!Vz_Z~mQ{}Y?6zW!vU zFso_zql?^UPM=pzu_75LT$Ab+8hzEen*K~n6jCg=<{<|=-BGeTkjOFn51MC$8^6r zwB*ScssFSv^L!=CZP1%4#(PcYW2PJ?dg1a9ffDGC_=PMGYFZR(oFAux_bRMHED5L+ zF%hLErnX_<&OddtqSUDtYyJeF58s~$$(Q)P-HC7%EKsOc>{yuUPaF}N0A_8bkv0Dl z2L=MYTDu8JQAu(rX%a^4PNJN?0Rtqvu>}^t>IdMX7-1T$NWCt|Fk@q0>cFOYp4lXg z@LCsHd7;a<_0P6^24?!vDgWv@YmjdMsa=EaK_PN>)uf-1Zj4zV+2uLZ%IrgsxRKQZ(Y zpv*PBfKe_|oaE%(CZBB;6ciLqO>J>@QkP{Lync8ml_W8oBkn|t{;B-Bfd^|V$f~2+ z_j0w0v&{0ii+#4%h+t`NsV$c5*t9SyUtsdcijJiT`M)QT#GkU_HN;27Xu z;lTE&CH)G%<)567$Sp)$khbR9`P&|rYy|4?Car?Ma)Q#t3Aku*P z+2WrS?ycbG|9cMgHaF7Se)lvEqY0ezNq{M(f-=j$Uvs*6EDONZ{xQy_;@gHMJY^Cb zfIo@Y=1;Qz#h;w>V1dEmV^fZKg~R4%h?Y2qG8&IzV`6_{5|TPlcBcxg`I{fT)803R zTUgbVBOEQXZS}}&Z+XXf&+I0Bh!+r71kd>P8~MjSD_}xQUYM@vysb9~hKd+G#H0TP z4^cz^9e#1W!n$$y{ z1NG&{VJ4P`ybRhT;>2G(S!KZ>;jK}-`R^Zz1=->Ja`#*?VxJKG(hNpe za4e&ESgiJllL0AeIzTorFrfeU+ZX?Z@GF?G12oC4zcuxAb$27}1B3mvb#|6kRN$XJ zso+`A3>S|9bww=@aYKDy0u6uw4hBm#`!|+qCJWGv8m(NAd<`m2cmp-hL7Dl2Sj@#9 zTdx(MQ#|^F*Ie9eoG2$aQ%x1S4Hfd+CzE4Taqp0%`B@M#_YI=63U2W6k;i0E0nv92 z46Zth;50r5zxA|tvVUz@`O~`7Y9nQ9Jyv;bz`ekK%_}oEH=09jIl%4+XdT5=Z&HN2 z1_s0{yeKi{<;L+B-98AoxA=AA=MIx(`&&#guvf}Ui_%?PUB|D2LYL$Co_J^29Tx|O zqHnf*kbs#ok_`|-Pp`~HS87FxH2uhoYGuAM&Rv?oSH7_#8DJy0)E zFMzgS5x3#ikq2*5BG{5YM*FyR9ycoYD9eqQX~*Fb)CYggF!`L<*>TYJHxV{Q@#Voy z@RYfCi#_}09ADoBiSBFBp0e2?Tqa0_C6|;6wlx<1tbDJW0~TIQSIhm2Z~oni!I9^^ z^cz=OuzUyKQwJB9Hx!Wp>v^rV_h3{`MBm{9$s&VGdf#`8Z4&ps-;6W5rn_C)5kB9u z6t3bGG_YLOo{l@2zfM2}=msnR@8fHi7?73dPKys3Q+)r0NDZJ%F#rV3BwhN&ZjLce z6#SLx{2OlV_eZ$7H-#SR%MOn^s<}n`ZPp{lChd~7bF$v|p$6Oy9~x_VRD=ix+zp^t zs9nzhKW&qi_INx#qgjctnbJn*M5Q8pBlvR}okz8)Si^uG*-Zy(8R4A`M!MF#J=it84FfoW;$I=S*3<6`5ys`2tGl3&WrwHmMEt)R^@hbAYc ze;9fBP#n$A83s%j1lTMyf8c|-*nf&mSzja(Y-uu}X(;pxS~PWffA7$!!o6FH?!_luT7d1EOa@El& z0^PHM#!sA8EL$(oj&kvBNb+t@5#Gu+BXw!3ibH)Dko(D^9LrNT8e`Vz&;rQpoAX*1 zpYQvv7zAouL6-p2Uioy+f$hDOf$Fyz<)h?T&zD18EsR^Uz?aYZTV}O#ig9aba=E{0 zavePeJl=lk0)bG55G_9t3i_XU=NbE#Cv1eHz=S8hN63Hq(h=!&#U7DIlGu<3rUBm! z3d+j*U8JEi0%a4m+~41xiE{pK_@pi@R{V{L3&xB#-S3E9$)D_`B^U#$ zTNGMy_l*HbYL5yQR){VzsPdl?U5cU?Vnt4-iboE_b($gsar+k>?Sc z3l`~eM0Oj%R02~hX8<9ppxKmZ$dlaLcu=@Pao?uOm>{%}i3mhR`<-LN%^Y^rBD5AO zO`V%6=wcR;FJA1fP##os@Y;l{J<#a08D~00ge@Lh%ioWsl}i%cH`mezm4BobrCt&8 zAH8%&OiVi`L3}7%?3Bq2vHBL%&xY${%-9JZp7^1-E6y}^=E*3@q}9y$T#Li#bOpu%{P+sCb1Q$ zL!XWf>6^ka=S(zear`L6Ec+GDO@K&7yRnGd*CHh7sF=eDkiU;g%PmGrxeVMd+d!LK zv8a1ON$O+qt|%{0EB$mGu%W!-?Pm@IS^S`cC7eg83-{3d?k0KR~+u`3VBl*~P{u^AvuK5})RU5q; z7%Kz#wU&dQgdB=RhosvT+i4OeW@e{|exv+B^m%aPUy{5BM5NR8IdVo)O2>L7n}}O; zPm`h@1})a-vGaku&X8Sk6~r^7B=2y>Jbs4GC+}enNt~|4%J+~_B4K{~du#O?reSm~ zV&nX0Fgn_s>>`PozENSS(Ven7D!QK>tck z|FG>}rvCLT@HqGMcK;f7KYEVgpVI&Se8AsTeo5AOK&;w$Oe-Vd4bpXzPtyG++rIbU z@k*m%CB%JYro4bz)|?h=n&=^jz04VCJ{uI~r2m!Anz3$|-P+S1p6~vIYtL4UJTaNUp>F<{0-rV^hjjYf%bC%Okw zdP;I~?h36DO3boPjXMLPw1m&r)zC>-NT2ZD&Au_=Xl(Unaj2)+35#-)*nEiEW~0Pv z*I-HWk27~nv#)|7jh7s1i~Alu>OTu+PUgRBaNjU6uz9cnIMI!31jKu1D}Vo_0R+)- zN3-W~qZ+xMf1G)Bz0|g(&tI+Hqq5+XKi|5&_m{mtVkku2{`U84Q@<%h{oj;d=B#(X zDl6B1NT=Z!S(Lq64*QM{vxC(I)rjguPd$tK@(yVUyLd*wu-~R1&v|b|Iapd;Y#{5z zn{Af+A6ftdr}b4fUW%KbkKdYZN30S<-2}A`?p;Dv!j|~T)~yWtjU*K&uaph>Hta9q?(96QMXf)cZ;xp%Yg%YVfuJ-Y~zKJPrf0V+V_Zr z?bUhBUPVxY+KXhTY|^9!&D6;#;S4 zSJ{d0j>;ohETcqIBKe`^-`Zf!NMhVQ?(c?X{<-2N1YRG|w^MVe{o1Vi$>(TYyj`M* zU5e+mdL$a{62)!4Y&j`I6wceb(2!SY43@*5!znGu2~}DE-8(#0g-sgbcTs0m=Jk>P z6aha2m7?%xZ!Z7p*L}avK>cF>2GrdC?^phdU{1#V()lb$>u)a%yox0elX~&WzPA}b z5-c>h1Xa^Vo)YPQ%s3ofZSzRu-AQ2goBr(Xj)kHSo!)mURjN=!^l zu2;0vj+zLyO~bN{wu(AvG}zw3t#;a~{%!`QYHNeAk+&7OKy-I$a#ll(v~K6_OJID6 z+rlpskR}of_F#8!QHjLkyolxF*bi?PR5#-JN6SbS`Q$-xzf-HK+QOj&rCJhIqZgC{ zxokJB6 zi5C~Go=!u@_OGtOKyLa5C}mV^+QeF%0kETRgkg(_fcK_b@$LPO%^!D#KCYk4z|DDV zfoTMlk3xYP)C}jfQBQ2DUv`+PU+6^;Gs(}GYf?&ScK~p|T`^s*Z)#Kf-RgD>DfgzC znX@itQpbGb()ceVQHT;9h9XGt`6t4g-w%1V8W=WZn=kFQ`~3g^Y2HJbpNK_FpRGus zt-`3WRK2HJ{S3kNLUT4`(#ur&0?D(SzWCnL-s7Pb>yKPoRwyL%beeak?e&!er9 z`6MmQAMM3#RKM&w3B8TvbxNkLb-c5sfwXN;_Be+qT)u> zL&DVNZ}pcxD!hB|?)MYiYI}X1_Siy}?c)V@c@zFQ@O+m8mbij$cqGX%MRf^qwYg@V z{XYoy;eovKKRk;Y2He|JrIT7y(`>R$eS2gI?ApyMHe+Y1%z$3s!v;7gtL3;8PB=SL zE|gcAR;^6P9k2Vy&Q;W?KuVHSQNeiO!98BBB2`nF3*dC2GiSx$HdJjnpOKJ2k8#zf zBqs|gP}e!E0kF6Y6lVO$NN%lXyPB_Yirve(Xq$3f9QZ@TT(dTC_=&ta6HAVxX1>Hk68_Fzed&-kt^+NnVedpf4aV$IH?{3+Q{F6AIV=Yc(tA5e;* zD|e^Lhs?VlZ-1UP?cQF(G?ZS?wlamGpNx5?xjB!mZsdhli%BUVA^C?M6R}kiTMO0I z#bZg1wJo>>*B|*d&4*U%H6p&xH3*7|Cj0zhFZn&5%X`p2Vx5>GRD#4zMN7sy=53Z1 z?&K7;fDbMeSWgywod=Vfq_(8_Dh`Pv6&C%t^Mp8pxK%^AZjP|fN}G4J-79_hVIKur z9IMf@B*Q$@Q^IS@GPHB6u*a&WBa~O2l{V5UbV}h<2b5-3rQ?`}K0f;CAoiaHC)p%G z(lzAe^lO9y=&yoUJ@)U!>cHI|p59?>!5*h2Brae$4)wW#Z5cJQ2N?AXXzpL~gvog| zhBFxbfVB#>z8+mo^nBZv;&g+&niv~T7eu}}F&0+he<@ujUf@1G z9SMCSy1Dc=$r~$J(zrO;%>W{ek!g?XNYMQh);@kfEQ8{Tj3g@7Z%hI`q^kj=Kf^|e zTaIEw9_57k z_*b`9(>EGM;lwS=2LbXxdYHO0kC|UnTTd~AcBO_sZf=!p0)qiT6px>voE6=EL}}qO z@1Q=;5n49stbiQ;80)Xoo3NpTAefr8faV97$IN_;O|sB2o(7^QORpl*wYq`}_x`5{ zb^`c~BW|BB{EA=1XIb&Om8pc@EfI?wv zJ^&f20kZb)o7)n#9KV%nCwCW>cz+l4COGe?&=-;IWYC|9H-}u;$ox+<8l}+^OYA-x>Sr+YOyDBeG(L&zzDI+w0!4H zs&u=m9Tp^Hj7myuz~b&lgXqD$J0{YX%;zJcMi1ZFs;|G+50vsZ)!=ld2Mq>&VQco@ zJr&lT{gL9{{0kGO7FXNhyPiIDI+`ALXit6LgM3c;y$MYGRyBKT)WQ1k%TjS2%^$}u z3EY6t2|vP4WouWgwjc5Bb*Hus4EBWgWh)T_FG}0BB`T1V47+M(pzR1V&mMoTN71w8 z*kqyP`M07Jr6XUc#L9V-;d%Y7JBq=5I#8&EPmh@Sp-r%{uQ?`HXaX{8pHL)F8pg77 z?@{$Y2-6P6C+EePn1(FfGC@faeBtcAy$~1c9L0PSPxvd0=e7U%Dexi-!80y=?!Ns? z+rKTd@B3wG1J05h6{ewwmf#~+F(%KXT6MsU^ul98Q{3VZQ2V&88N4agFw~ypJvYJb zrv8p?hYfY_%6s0P#-^X<5P8&?kNl3g1)e8~hNg3^n>|h@gKBVEjw{W`F8#}o4={M7 z!SqN|Ey(Tk!zAdjNxt=y!|ZD7ZlxkdoboOPpxU5hv4J}{%we(o^PQE#bjP=0PP=MV zkpEmPbKFA9_i~%9zL_md*(xXs+BMP;!XY8AwmxlFy_2{>;O>H5Wg7CaT$+-ZociiL z;AZy-K6lx0{>i1}CAs#Ul8Q^u-oJoez*YLX`!s4>?4vEx(%WAhn{D@}&0Dkn?4??> zD?$X6q>V++JSF~qr0VbXgEPHxSmyHf@dckc3K{rr@NFwL8TxsOHt(z?@{iM3fA9`O zD0QAwe?1e2W3QjtX7M>0!NF$NTJRy^DGsVRh+cXyW*9WJxIy263oO>zqaEoQ`3e%$ z#(Nqb@;##Rlis~UbRheCu3_y&zC%xzhYVhLV_DP^JbLDY`)CiXf?7&cEl$0+w)Hj+!`^-1zyKDC~bGKXY&CNZd zuBk7#Z_&v`Ne%1YKGq@I6yP1QTLMf&eW9HfjvP>D{mTTwsU4042lzVf?(yw2jo!Tz zBKP>7U|()Irk& zr6s_8!h=u@#F}J5=k(3{itM$`u<)IGC+-Ioct2kc44bmHag&53VjnBt4myl8E40JTTc%v#S-r%#exCcmt4O3|F;^IrVEat${(84NFLD5536mH7hmqXm2@=0} zr^mG!#{-c#bO<8hHTktm1p}{LUE;3;3R-nwdw1RP+(_N17Ec|34Rw9V$>$Rxvw3C} zwX2-`bu>YxZZs@%tsz2~7tCqx6VXk)-&6u`PtJebGqt$dazwiJ$C)S%sD(uriqo>W z*SRsP0$%$yl&AJ>V^p`}=fMxTSzZZv!jXpPMVp2;`8<`$I1!z=y|y|jheS@AYxL8C zF_t4L$XX2DWf#K@SVba5PFlT?khas)Z?n=OpF_J*V{$Fm&=h*B;m-?}ez>;9N8Poh zpRG*fhR!nWSUYu-#`Ol8^Ovvq?Ku7n3Y6o(d?cjb3p2iTQxw=peShA+7!dTt%t|aZ zO38WA?)DDzH2cJMNZ+*VvdepV&D|-SkLKQo@dlsKf-Kh~U38yRw|X{&Q+8y$T zl5&Qttj~K779YQoaT2cdAk0EOQHlOK|H0-!hfKO-%~H+-z`Gqr9Ch$!IaCoG>;)J zN!rfqe%WK}!voRiF3cf+;Ap;Km$aBCkDZax)k{5h3qN`C3&!OKmL~NODG>p_{X5<#9==oUw@yhT9Y2}G7QZB^ArQ*ai1s{8KX6l9N+T|ahxvo|3 zfhdpi zWs0SVaBN=x^#4~UeCLMM5DiC$PIIS8C^)&rsW{qh&Hi*KBx9jFy;1k0SzuA$p#O)x z_Y7+?TiZYbg7jjcNY$~RBE>?Hu8bmzU>Tb9K}4h^h!A=}DJlY1M7jl0ItYXwBnr}z zUK0XJC!vRyc9~)iy)+c_BAn=zkpbQ6R`xby-Fd7V#X9!<8TTB%+x3pEX+OFL3r*ne?RG?|#=ZG>KN% zy}cYW;d1I`bJ^P=n^0L^px`7cnL^;wb!FSw(m3l5TKi5O)LFD@>ba99on=v?p>9!V zZ5jRao}b=qBG@Wwt5Zk~iEWX0<-T66INSNody$2GGEu8r_1E(J7b>QveO$1Se6cMI zsr)9Md0_yjOX`FCAvDm6XJH8twJ#a3aA}`XSnSyLUDkmlHvo`r_@$BKhb!6k>vpb& z-xT_C7g++rf>{H?EL4)`J9eEaaUCkxaxo{6n@@0Yg?jXgBlj@1`>bRsumue5FGCft z6yI3rK3G#*P%Y;EYqYY>aTH}T37sWp{*)!+ouON-@!JMAy7ypn|riBk5&+s}b^wrVo~xq{Mm=GODHkx;97P zVv4_NS9QDlFtaRL0n_sf{`d3o=?93c0dtok7*GG53_T}+-dkKbt_fMBBz-`n@OKvf zqVbJCCt@5=!6s(%_|@z$v6F7RGIZ~Ke_B?Nti^l9C_q1OYpx`*)bYe6zt5G+HlV+! zJ7dG5S%EW`QXj(YlEjA8x+t*@D=8qEs67VC#8Ika1Dg`g*Rha{lX)(+oH}|(N~{x6 zlF74u_1Tzsv^sUx1FmT__3 zY;AQc(%33iMW{VIO`#fwSUdi8=1v2!Ghs33PX<&lZH9bO&CLHZJF~Yx*WIxYKuyc@ z`WS_s2h=BhjQCD`DS(JJrFN2Q9jHZk(J;ST^)W z?+F~4AaSWRB`QfBFqcPFlr7&Bg_rNV@*dd8!6wId673><)gT}5&5e6k(2@VEsDiE_ld=9$Ii?=>K)ze zA}Jv!T)q#oP%(#i*2uZB;LaAQAO~Gx&)UZ|V_EfwN?Z&AwA|^DqSV$OkzzE%b^V4z zNfrQ~dhPbigPT*CS;lt(yQ=L`DECFV-Vr@d5=|HoJ9Z#r)V4uoxfQqr>(S&?miYh4$F9xFm zmE`bQoDUH`slGV6)2v{N+%WdTvcRo0PNGq}zGCJvwzl7PY`p&ReBZ3g+4ha<>f>*| z+MI6X#JD;EqhQ}v;Jg~JY76rLzP}B)VbZ4M!<`M8(%ZGHFVmmdh!J1>hrQdN7I#s_ zAW&FP6|c1kmEjDnk7>Vd0=CKVLL22Kj<5yLJQv(;khv;Tg|4<(j%xAN+<4EK0#zcn zsAAuvj=C(InIQt5>Ou8f$ge3}3?dRUvllSk^vZk@jq8e*2 zeRm0-#a;h%knwpdxDDp4UlSBk2NpxoU!!k(V1H__<7CF+pWYq=MlNGd#4!xsn>$*9 zF>kLG+D&o5gt)k1LM1njkG*b)#RBIiffuxPX;%)O;JU;+5!Fj%C+`YuEd+p@RYG`8 z6>yOB9CQUiVTqktXFtOB0!ru7$T2>(9ha><)Aknv)#xt#od$yFndj2oe8}FsW!#75 zg82flJShbH<3Zm!HbI`60+0mf00kQ!;540?sBRA!8m}Fy;#Ehejo$ig`#Co#)Kok3 zPeCHy53glAMol#A$5F{2;u-G!_>S!`^GGkn(+r|)0B&b}0N1MNIVc1^2=2nlIV1HL ztS>)o?$^LGcJ8%){N@Pr^7OCSnMK5qY}@L_JbeJCi>f3};3es0iMxN9mA9LH)lvZB z5(0{fa37uM6&*ZXR4wlI8>&C`W{F|G8?g7gr3FZ$ou74N_#R0;iA+QBpJh`;PMwa+ zGB}fB5GxWTS)TXyWPZwW(&9NIkIcofOFNsp>56ckktX`jD8CfU{J;U2`DDw!WN>BL zWt-lY5z1;DM15JYOa21ACeM$;N|$jySdd1J!ii!(fSi^{)h^n;9^ehqJwnTv#Pr)G z^5|b&4Bz*s_H;kKH!-|grGRwFJw01FYxodN>f2P{(k%igDN+^bXzs3LrVIL9RmFVj zAJn9l+J;?i$p!s}K}+P%pttLxKxoOz#7AIRoO=_}r%M#{bnm4+4tk)pC+!G6CcQ%p z4JLzvS?7iq(F7pv59l$8nauy4$NW7eQHcXXR<8+d#7trcVG8$7${bt{Wn+-rR4@!f zn71o+)EKc_=3PA&tu%5!-J9lLSKv&j5{2{XZj`;@9yWmP9Jd?qvwqEl$?Y9L(ab7=8E$zo+rbq zqB6<{9n$^IK4e>K3fam{E1+V4E^ey-Y22*~*&YY9lC!Pr=FJJcTQ_IYQ7Px;!91~Q zfm>+T^F!S=(S!S|$F9}rM#Ig1NB{mcl{!6FzpWLUn;e>KTTk<7l|k>`NPd0dAd8yg z@V(1V@cVX1kb3f^-7VjF_=&WfU8+2&Be`vle)N6#FMSWwCw&ZZE8%^=OI~S++4Opk z^9M{PugOqS?2DvKJ@ne*kZPk)Uy}I_>t#|!*Y9&F= z^$X1L>*xNja!OK9KqQ)?)bDFX+mAkB8 zklCd?A-?*_16$>l``sIiMIwgoO0(EYZ?-2NAxY`S@$*`FmNPhUGUq))YuM~j12kF+OicWe)1O2^Q z5fN!(O=seGb&b?rcojx^Z%fN&ffPi#1-cydabVJ$n_49h$Y)V%t%XoZ+d}s9S#9Ab z6)PK;g$I7=iX3Zw9dbf9pwLmzm|8IJNhbCas$$`16V?4z^0IxqA2PXb1vx6&<~8J{ z^9|p^TA{c5b|S1<2NTutU)-$2`4&6;PVz2pYeO*%A4@7fKP>b3c~QD~wDyFeG)qGo zYWZJE5w^A9E;?rf(U*u@ta}vIJFdjHgzpJ}+b(C!G71te5@h4m# z{BTE`SWVnDt*-cN3%KkTy9J7`&=-EF$`D21c49JEzbczc{g+ zbi{Jh^kNmA+e#$xFJ+6Dv5*}NSjMxb1uQsb}x zqNllcH{`9Z(CznbhI*@s1@ZuQ99h0vMi`ETi?=vm++)Bi=hJEjRERW)r1l#9n;B?m{qe2< zAp`ECV}kbgqsj28%`g#MBYpHt3ayU`tGYOu6#Z@oV))ofGKPlDb_2npWoPt3LZ1@m zpxW$%$Wcs|3)|;OAN;C+w4$@OXYHdz;XV3so)zq}w0V21(xdigLyJUY*-o{Apdr4l zcf3_0y$4}p;;4l*E6^P}Ha=Zgt+7YUZ~i>n&I}DkBmgA#uj+OG=BGcAl$9k{I@U0f zLcp1zhU>QxO5K_`s>S?n5T-AG^(?=-&&!ogYd$emk|fjv$9n{0=^?^ z3QSt`I~xC-Z#pLlURkNne?S+=Rk}c)_%{pW*1#-3iYOsbgB+YU4i+?2uFCo%qgCzo z>&%cOoH%ZVkHm{w8cJ;Ot`_&vE1WJPUGs_z+bIO1ZRfqPzMg8spFo%WUI7rYt4#qT z5bd?ZK}05MU-mEN79Z1}nnF(+Z$9Ckn_DOZYjiv+p_hb4E5)r0wpK>Tn6;+D)oBd` z0w1c&8lBv!w$85}S=p}}E- zLDd?=a+RRUbA}Wqy|w!O^*%uvb76^vH#$K}rnL4fs`MI>jNzN;%;K9HZs5xD{aDA@ z+m+{Vap|KR%?f1a?FvT{&e~Adya?Iad^~)f6*D#0stZ{@(U>#Fv*8QStmAYh%5&8keZ(9yX-g9>CsQO}+evAXiU`4S%E<(8wL9-? zHR?XaNUHB?xG*oU(Gm>qlyvcXb4OptB^IcEGl;B&W^w?A4W=p5eOz^$jm^88Jx>LVWBD{ zclgoAFu{;Wi$%il;B@un;9&#*@m9j3Dp3p}BN&HRb0v^07w#V6H~(#iX2BV`qP{S=Oz&?Zi)TpaK0D5j-Ws7 zf)`*C9}H_$&pl}LJ0Dy7v+qwCrJBB z6R%@u2E0%y%sbo==rB6)7Z~B&G8{WU16sd0{8zC)BTQ$ZcSVpGd^q;BhcIxvq zKv6sqwKY<~LTa=x)ZD^rQ(%_pegX+3UN{s6#@lRoE5sHM7ne=9Dd5!h$vS|+OAoEjw26GKd93XRD_qKpZ6p} z8?EiD^}nvJ4!hy_HE6*oeIrxL_(dehJl5F5eN7VUQC71>4FxG`%XbLw_N9ANox6-F z%i?OVQdHuD5Pc~r!+Jlr*q_Qgz~2rAB_e^lJpjZ3JF!~;*w0_1s+=5ZCqQYZX`caJ z2I?<>@_S~duP7K(`Q~o~`hy~StCf7^EqbNM2C5YOzoPkoyM2PVO9>?+uV+NV$1D1% zTa`7MdwB&6`BqLesYs=p6dfuXDYT8`$nySLhiyqd({dlq&1>a0l~1T7TeL~;_jAt` znX;mOZ52&;!1q}{=Ey;wELmNnH9z1!sfZ!_4uTM;NVmH{-nl1_x(Zy~hfurFA@xYY zfW7)$mNxe==(;+bZiU%ls=kCK;AxaJn}wKshj^j#fiH;JIsI`AN||lB*}>es-~h~b zDL1+1bSW}uXM~A_3EVqhL%G*!(3Cn$FiaKYa-Pt z*LxcE>Lba&Q?+t~zH)idX>SQ_tbIJ?HFX+pZn|_{7q&e5GU9X==<0OWJvBc?>WH-bLq{yEP~QiIw|op)Vf}+^GLtH2^}Aq1M$|H^Z$S z&R5lrZX4&U02OX0RXmu>vrl%TywTB6E1lmh$2m9BWFRT2`4qp>fyQb|4V!vW>JRJl z8TijWYMJPUvklIfU4E#PHhB0#d!Icos3$TafHxO_MxQ?GOs{eWKIZ^fuJUika=KLq zrUtvT>-GwXwwU}rm2YB2l6J$raBa3J$P8YhuC`{w#{)k~YuI2!4(F-jp9Wn_GR~?Y zK||L{L524Iy|2}~-gk517Ng|tYQOmAQ-|;rBAGzK=VXNoGnb80ghC48xR!Q{rn5#; z`bKTxX*2$#55p>-hswHSDvo+--00a46BE75)Ql{p+~mJi-_RQ>OF6YPW8fbnn7G&? z6pZm2J{*%4^n7DLlh>RVVPyiYM?z8eNd=E2UZ>ryTt11X1@eV}aWl=<7gB1}90C|Y zuD5bwZ>xH8vq^0zpTJ?@X|5f=rt6=1w=#3Nc*gS$)4+2z)qgYBLV7c`U?Ull`+E3 ziJbpL+Bn&!f4JT5-NvE)=_zWowrtyxMyOygy^LD9;jyn@iEWpr=gexWwY_$7Uk#%b z>~eOo@gC{-{`)!hRZqPdQIn4I9_MNuBCJL6#q$cn%BR&ydPXuD1=-7^^Qp!d#j?f1 zYU&BkA<;&WbMU=P1BJ|!+w9AClqqe@!mmWRvE@Ay096O|(nWXs;C#nUP}j3<;a}>? zv3*y^6W9}~KEH$D3|G&hUHW{C&WHvww*nnY3+CJo+N>=dX)8kzZVp$!9+{a#5xw9% zo%n3Iy_DB(jl7Y|VLE(o%+^h!prppbrc+PcG-1b?ejp(DVLz0BfSun$S0d|ZC}6h! zhlQ)}x$75?>BTQ8sHph#d#%K>&Q&^4#;hPjXl*L2b^n>CVuBjJV{B*ANL@LHeFt8I zoyn@^I((&`-M(~jKFa;BY!&Q_gB;4Rc(W__bIX|p6#PvT->Ir6moU@IOFKFVD^*f3-Zrl$sp2dEBaRVy zX)AJ8>~^%+?bKyIT#cOGYB}Ql&FM%<+NS_}zTL33WYqHYrA|50VYStTEXShX;l35g zlGLk9pCf7TmGm>3H_n6BMF(#&R9)nhfSjhx+JY5@M0GsDwp_HIvqTYpxD7UaE!!+&PkohTeEMu99|dJv;Sqj&rLfCug3rD*oLt%V_Bt{2 zkcazE7`9#B95^Y2yKfEXG4M%Q5CdN|`G--U9e&cP-K{r2KFy`8Ki84DLdMH{7ZmJ^ z(1U#rMzG&^db_`6!d&0Q%7n|i+e{DJhoDv_Q%ISXu+$Mm3B{t8=q~FrL_&D zvBSG_cYiQ6?98+fC6-QPPUA7l&V|$!zqIVC0*u#3V-bl5e5V9i_s%_m7k%xRUU}D~ z8%DPRt(HB-O+Hv0qQi6~$U>LhYvx5T!S?AC*RA1Ru}Nh*pDaOhXyLqehIX6jb`M}j z2v+6u%S@3Hr(sL|q$2sX6%19ij7*aAJQJ;iBnEiQvT829=fielTV4 z`m8R2wMnxGE}7)}6}D90S++-QS=XR`!DYZ^lB8RcTIc8IXR|nIN&x$_ zz66|RTbV1tTse{WVE>3eEQt9J|)kiO3{KG{y^fTo)7^dMQuoVMJA+9XSvwj1Lt;SqZHC^IuN`zqn) zbj20}Zez-@64aIL@Z*p5-;S#4@$|xTCh87HmHn?daZ*jh`{q zHf36BPf6TFw9GkVB)PaqQ>VNo%o}4;Y2`+?6IqW{yYMp-w_(%0IB!eOE^Wz&6BaXs zIjiXx+3vjs@(wK@rn9V8j%z1tR*xW24R@I<3>*D61a0{P^>zX3ZF+U(8}%UJ%lWrc z54h)YAz8i)6At-8AY4S8o^@32Rp_)7ZB!>YkI6*(e!yavN6OyP787ZMPYHuznp;;M zHre$>$y#idn3)a@F5FB6y8|mhzq+=8fr0l_eJ5r|pLg%n*bKPYnKq}1Vu!D;qE7XC zjcQAX>HFi{T8ExfJwAZO>lJ~3CUsHex@z%AAQjFq>5ZO4;v`^ z<~=RnyVh_x@c~aV0t1RtgpYE5Uf#~{L4IQk&C?WBrr9}yu7x3Bd9|S<8 zZ+!dhJ~~C^e+4Le^3A{4k9+qe*U_IYczc1R9 z=Y8*q;hkV8q$xNHHB_57{w{H$e)^$MVh^gf7eA9Z-HWGa07rjtWVcOU;W+%WN7Y0l zCmQc+@9nUQX+ZU%qGfEJ0QzgF9M@Cd=?!BufomCtrwVEj_F~v`MqmT(svIX~t;s4` z+kavi&dXd(&h2Y>q< z@VAfaon800cR+0q$N$a#w)Q4vib56_vcK$?3=!jcKLVHjwpwRMEeSj$rAMJg*-Nw* zK8vkUG8QosszvT+Ra|rI;)t zvov->@gAs=9$cGvT7J$*rVoJ)CxpXQGh?e58t-%!m@HJEfG2FS zTzM#zT#agMfWd z&J{KrTg326idNm*S2oE^7lSw9P*1Ex5+iA-EdXug;ltD3N4AX5lueqV=IZA=K^}PH z5!clzWDpWF;%C!7-aeK;GgKAKS4u0h8Ee_igZ-a{^@-I~scMEwFf>oq1%4HL9j18hqqi@&_c1~E^_NHs>f z3021m%_5zxi&UAtJ%2ckb}|Ek|M8|%hHiM+a1fna-|_+`guHKw}2Y2E}`hC(iYp^?lcb5XjBM*o1ojZnVmobt^_xr-1d`x|^J6L7l>&w)-f zPlM4YnC$2C^uoA1z3Ei+C#&#=8QjClErgoZ*0m<5Qq8Ks$N-;z^R1TYFCcBAZEi6S zx>7hhEl}F1_{=Zj#PrU@O%k-F>V>CvY_ypvQiy@??CkuF!5|I-a91pq7o%-kk{p~y z08b5$r)ug~rubl?T&Q}iVv4&Cm~RUA-D$d;+*)(3$TiH*_f+l$B8QZiWP~QQtGOga z=>z|qF=lZg+qHojA8ainy4EzkJk!zALP#I+9~ zrCYs6(TrhqeAxh+do8r07?Yw-@Z~Qd#RXH0~e4 zkP2S3UpEWSpxK;db2a>`l;CFB4bqyLkVfh|nGDkQ)|F>^t)&<}QBmgP@(Eg`6!j@uG7lSfXYd2I> zi+60Pip*z07$#~?K{8VDUK)yiCC@XG5TQHyH8l@TdwmqZbNkiISocEJt8V-FXCbG< z#);kUq&_?eMy)+c6tp19sm|SN#q#+t4IN<@;YwqNReO}L>R(-wec^Fo- z(Vr3kyXs`S*DUS6Q#+xtE0NFgy2BDilj5b_Ik>-`Hk;g(64*0&oV&M5Ai{Pazr6!o z1Dn3Mc5nK{MJwSL%=x$NU6=B`TF)wl0xQ25@+5w4VWj@(u2Ql(iCc1QAejv$4;^x6 zNodSm8NacpY;RS#xM-u-P&Z*yq-R&aepF@?32grU?I3xB7HE24Kx7g#ASfrl!ZA8% zhU^1jD|^Qp?Us_IIMuX$iU-3+WW4*F9C)*L1Nt*mK3nI}s1O+Aq_FN(+v}K>$utma zOym$H%J4l9%P*ADlaPa{RYu15(rfY?=+!oD=^qVeGgS5u0_H>GDVi%Y22jC`?MRN( z*u&|^QkwhJX6_iUgO+g#L|M^*wAJ#Z+`(~l`-9= z9RC^L5T=Q+QJ(#@bERqM{UVsrdV*i^SRx`Zk{ua%vyThljg5n z8gwT`$?WKTc;Y!0E3wi%y>>A{DC+4w^)#O(O$^)M;mxZWEk#XL@b&b;dSW4PKM1ta z+S&x^wno@|J2kt>RefR2@}5PBhXC`s%T}o`4W$Uac_m3uaU`*lku3`J=78oDPg-Qlw0NS`LKS~Q}5Frm_slm4Y( z`Ue`x+Q^WopXQdo$?H`ifF~Z$I4BUD1gfyNc`e|TF<>-tf7~z~;*Gl;=nwXdG4r6z zOTMW51AMlhlcV$L4d9a-%(HH>95Gj0p6zHbv%f+|cAVqlp0+uuCZmO-R$fRy#MbC7 zaSsIk{!qYnevFdsg;{LZL@@`f(|tHR_J^jm0-;g$3ki?>{+j?Ts40A3k=o=S@HIfW z?=~`hiYHA;FpIeq;em`+dg<8J;j(`C_+509WBd0x)yg_vz5DpG#vZ^ale74{NwHMT|dO`nhZ1(d>j}DBIy4s z8BQoi_-tl&!By>I4V9bZZQXN;wXnO2K33hPL(i!F{RYm_%You0cF8v82f(PLr{rL~qYpMU+;79Le9t-rc;j2u zlRyp^`ujJ3Lc{+}cJ&3i`eW1ARP~pX8na-C6#v?Auz_s-EJ;M5(e5-BVa*?hb7qA` zHet~80BH-Z%pP9oXaP4td%-t&A#;~Vxy$`FsfGcf=5dgz*7BqCiTNM!Y3t}zuW0eZ zNm7>t(||IDxgvgPpVFRhqygvJ!46yf8DZYi5oQTG4_>a+wiB0q9b3UaT@S%aU#9$? z<;ZaQ)3lw1ctrXKJUSA%YZY7-aJwpU!B4Qej}vCU`KQ{S${Ap;-VL{2T{n0TeYj1* zARza0$g%xV`BK0c5i(}BEXt8f*Z2R5{up{A^l0m&uK~_eK-p1tfJG6}CvP#(Mcx-^(&07LFw$OVwzkW$LEX=0YPdYx zS!dSP;gPdbQ#8UPmvcJr&hd(mzpr;5USx$(Z|Lv0)!(>Vk=gHqeZ^r!k%=*28u&%P zZe4;Qg7f-=L)}90hJROX;H~;Y2Axt|H1Ha#fOBONrF&w6P@VW*A;n!74-$t>W#K_W z^HB?%T9zFH*A-N+XVcnIW;0h%wu742a{@4M z+r{FWa%KY7`=BCXU<5rG$Ct;5pczm9T`2xAQ;x{y{4fBYO-_>6oklkA+X|C-eCns2 z4s6MwOYGQDXO$m#sAc^H=>3&1GERFSgv$hlE`7{@)g>iuc=_g@l&RmJ?e$pUN(ZRxJcIw@!)f2~j~ZS7<-Ez_1V% z?{{y9`63#g;us$E8$D?9wcQ$8n_$S{7)n>P8?Wj9SRP&HF_RZ*aYmZHGm~r1e=#)5 zelJx^5a!HT$9k=5F7TYV$H?OaLH04TKZ%yB2wJxT|nH%|dt zmksw`WpHqw3&Pwx#f5S@#-@wy&C7sJ@tV~q!Rp2J zlbthwqOQi0^9*#$X3lQ<_G+^rv*~@bp*>U^WUk2gV*bM#Z~x9{;j`caKDUvb*3a~( zAg)aZ&`ZP3`4xj+BG66&Z34S~ZO=RAY4&sd^vpTSwe57b#hdQ7WI!uS{04+KMwtnMzF7lp}yn6OYi|| zF)In{Dn1TW$~Ub8DHgUp|I2ir)v2 zmji}==(cW1e-6Q|kAM%*xrl$aex@=O@No+GlV^VL|L0cSb*^9K2T?aq@J{7@j!m2u zJGI=w&PninZvyG4F-k`bH1pqBG{HaW3uL1)(RSyLAo5KL&?ohg{x?4u#%{vYW&iCo zS3zX-sW~e_BoPP2TRkh8lIpeZbaR=uCe?nem-~VTnbG^tQ`&uJb^i z*>ePol--mmlPAj?mvxX*;D-hk_{!+G140zXqYUu)_GSEkh#{Dmq*;p=C=yPWj`9KN!2ehojc4 z)`{PanFmg@NPdm820fu}G0GO9=N!{ybvIPHIh=IRkn1x8df4||L zQw;tefp#5*RBnoUoNv!Muqmnd3H`I$=&`TnJl#;5F@bel|J$79-vjG(*yQ1F?9B_- z68z%a{tSG@GZ;epXy#0TA#%aBd#4)JpNs50=dpgldJdUKZF?U94P_0%qq*Z*j z>U!uQN^dhQF@YSQRRa{Y&S3#7)YOO{{=clRbE+G zB=Y!p`>eumYjzi?E?0I$XMRcP-$Tn;@2S$?3I#5a?(p}uWUy+IHdBX*Hi81OhCk=s zDz0(?LKf*DTAkFz!i^egoY&H2)g#LxQsRiv`nT95uL{&Fumvf8f(Y)s-i z6KS_vaPWDGDhD&tOkhdl{xOhjy0!W3_qb@g)<6=7d^Gl^oK0bP^7qU^WOA=G*-r+_ z@bq0$F8(NhB2SK;*RNEQyH+C0|ZC$@?ljBqFQURglsO@rvHvE3BTPlnh7&JxF%{$nbI#m)!yH(ko{sa z{gJ+>e!!+Tk-tdV@d`qjUAx!wkDxf=P6BgkP1*&+WpyFor?!s=teGD!Nbo;Wmz!!13!=F`e$ zTkSzw9m_MKlu6doSa!z(8s`8VVg`vgNw+OJ)@ zV9ryhv@C!IjQA3oPBLRP;aA?Ri`w${Sqqfs<`XaS9gKTPClc+3NQ4kM0Od?p{Y9Mf?wu_0;G*%4xFyR%l6j+?o<8{k)*$ozMP$wfmK#pL zKXh@04huUs3A?~Nt0Tm1dJCLE#vfdZ z4GO3ZpW4=TaXsCAPAG5<^Tf^;ESmi}G5;O1nxQ=kQ);R!bp9H0fC&__4XI!$11A~h z1K-P)cE#^5-tmz8c$>W6%6#*hpOnucXtAqqo{m0f^&BnHi9VO+gL znRLre7y|cFiGxbiWv&1#OUAO!=^2iutf#GS6l+oO^|?8mfA6dtxnR}JV9kvq77Q3J zPCVGMM~~fYxZZ)CsX9w;O7D0@jZ#`r!WXt2Br<#qUXr=P8ai&k-#ad7UNBSWy<&Ak zM5#c^>bo7e&whkfVjA=d%>31hpO!O!&j$5F2*miJklys>-0*B10Wa`^fAKob_Dx}YLh z92@`u_8p1gplFSN>@Tv>T!e#RY-~8VcRL-9+X&hOe87bkz*INv=`D1vF^KI~6+7>~ z?)<3JbHOj6MF7fwPBQ|RfhB-1>RF2c^fX#Rf=ui%p|^V(P7+WR`omsDLdui4gF;uH z{VcW26<|#qFIdd-W^fb5`G9$$JXp(;K~s~s47z3o0)|dkENAH37=m1vJ&s}F0~!$EWSo_GqVkQO!VsUAkW)mS9N)e|i8O$p*jIG?Y&)Gaif_IGZr=LC zUhwbY!gdS7Px&(|^vcFgfxTR?EYM%%1a$jVgHoR+=UKCd< za1|IZ$&rOrB_uNVr?Cog2;dK1blA=i&=4s)z+XB*Z$%s3w4uVbxGE?|y+$Z{kyq!U z1zix&Nzx|{fvo+}si8raFG%Sc4)Co_)i*j>&oP&L$@^8{qp!V|dQGJ@&f~ zSDu>;@8J<$81@xkTq+;$uI$HaeA5L(AWUX<$@kWc|IYhDFv~)OjS1*{xf&zkG4*)g#Y%ARi^><@ zwd#Y4F5{6@^ON&Jc{)r34I41A7|H9dqGg+4E-ybG5m^5~i2vIF@3}*MVMx9H<~LGK zt+#b7ed0j|T!9=IsB@fFp*4C3<+g7nQE2^*=gg8ivR=k^ZiV5@KY%T@-TJ z#qsPfi|NNm8e*AE*pbT*JR}~wzc?baDgMcmL;Cb1hC@e;P$ja1;ii`k-d*|X>gqO$ zev8{YG4*_4%OAU)*J4;Fm?K`RY> zD!TUcHYw;g_fBpH4&CY$I+RMKem!OYLf+sp9p3KecH!EF)ZId9~M}}I?mC1q~#jmwFnGX=&*ed)Hc6JT%ey$<>GeI zwqMeAz~b7^{TbP=3IM?|GTk>sFMfY!|H2v|bijmvEu9pddT`Q}0S5I>2!O0t@J$RoP?a1L|WUUIW#*lnVCr!N6eKPlhC;YI+YkPls`?pi% z-35eBOMmQ2j|;D|fa2y$q&xJl+oo>`S|PwF zO`py<^buMk9ADJ6FYjgvcqdZ(4VQjMJ`-~W2t)h!OWVakFUgC5hxj}yfXsj)T%#_n zlMH&{+#c}4p^T6mM&?FJ`YMep8OW zCjd!KOar(CqP$CAVa&x^RjYT`!{WEXTyj_sn?t|^9t1qQJ5(LwNM`gL1bS?NQ2JBc z9JnMX#llUaq1U>U}{w#`3i6L<)8Eu6y&2*T#Q=#hq4Wh{pQaS=jTyZ7B%pjHnzsXFE9aF2Ix% zY)gpD2VkZ7$n1&lPszgm*bMlJeG|4fempr#m0nUp_Sv2BBOvkM1OR}za~%NY=m4V;_OyB8xgbr*KA|~ z4zOrZWE*`cT;rBcJ|Uk@v%~Ba9{+@M-}rY4YW+1ds#S(wvOdBL%D|tciI*}fAN3Fy24VXf$&(xUU zc?aBXSlM?}HAozt_{6Mwecm#OJ#fCW@j=gKn1pV%JwtxJOQ{`5YRFF13e$bDt^3YZ z!4PU-IJT-i?h0->=84(pD;R=HCh9pu6R&Ck7BU?$WH2}H(YkvQ+X=QX7co~L@jfV% zVy6@RXH>zGl5CQOPY5wH)236c@Unvmx?JR!2yA8V*#xz8%g<5;hL{<(0z3Q()oW0M zXtxQHo(Kb&a@zC1=WiKe`mxB2=Rh|IXJAGAnsz42cOM1N;)&YI}Q;^PVJ!|Fy%jdKu@YOG9;fbEA7CTz8jLg zWb#PLtp8jk_OpHky3bqZ>pT=eKT1GojZToVSnfQPvD&8S)MfJau;cJNG-?0EPfQ-? zTRo6BSTUdlf+Y*EFTwT(<+Z%BvhZO4?IFi2Crh}INcUtz>FSIzC5hgV{UIAI(84mB^7gGwz3$!bUQ$w0xr0se zaVb8gT$*PeR5N=Y#~SPD;SA8)}_oJTkh>$ z6?%&|T4?Ybd}me$54P$(SnbgFWOB{S0Oe|e#A)~hxqhY%c6Q85gJtu1D&T9o79kg` z`++++^yk6kZil}(u%-1#Q7<|#5QaD-m-rrfAgy=+Rqn^bT@{!H4sPsFV?dEJu-v8L z1Mce{K7_*nOX%oy4?-s;!EEObr4Nc{8cWE1C09S~9;!x$T6iRYIp#Qt;*#P}-zf4P z+&(gHRpOL}zi0o-4%KD-gd+#%=jV4N0#H3TncEt7`f!-!B@sa!rf^n6R`1!NqfSa* z*KeZ^%ey!(jOS}>B&yo4W=}M_J#sT^g`Z~{$Qbka^lK?(Z38#0vj{xx62V>ch1Hq5 znaTSL#(xUhoVWtZ%c-N}O?zCzGPx!$!V2Y2^U(8VcUS>(i$4p=GKx6imsbZTt72v_jyVrWqK^aKo3r)Sl4kq!Jqy+oC z3{3K`o&EZJjD^6H9V87S@9jJ5ZdHtxkm=L;T)P!To0-x+lWu_ITZ4&kIp&q#qX_9W}~T>#M89hnAFgXzJ=W2nbYY+?t@Ji=X` zlVSQ#fYw+cnN)SgZ)ARfqW=ePzW|@#yc~uo&UBQt6f#OT7cj~)7468vM<+;l+(T}_ z*=O~K#%C$rR-LS@)_3YEJjl6&9DLR6QZuE&PP@^PNQ*PS0!*JRDg53Sgr*s6@<-^eDZt68hg2^(oyf`rp~ zXZCW|(fmDoVCH8&9%azy8;4f`;fy;$lydDk-4Fi?`B2r~|4=s2Ct=DZ9TQ4U>_}Xh zJjdAU5g!1!QX15NdFSg+V5iV@@dC7wo_E8B4ca}Q%C~8jt9~GVuBfp7ng_PJ9fxe8 zvozfk0QXt`g{#th6v$?Kz91~~(q6h276JO!5H20`v3R$l)# z>T`5T%JobfY&rxik&r?6Z`-(%M!+vA!BU)*jyefZ4!aHp$?v1uw|qd%t*M5vM6w1* z_i+O9T{VN^xyc~bze*0!6WN)W`7lKLaeC&Vb~ljZhy{qcD#EM`v+x3-W|&~R1mib? zo9OY}Z%{mkTVxtYt}_n$$S0d|V8r8*RB+j1SN^O<*7OLbfAh-W=ly==spSvxc|a89~A?zH-3o=W-Rj< zvS~@?fKgvf_?QN+r{6jc8UJ-Nu=f&B+^grOAm*+A=ISPTWT&?qM0Nwtk}ykwU^Ai1 zl^HhX>};AYqb}vKSqs>S&QP-#{hsf#Zt=zm?JZ`L*RNbkJnk5%8eHCBoIuaZ(zDie?2_=B`P1+6KN5HbJ?!aRRW+b9*7{ zThE%SNuE;y)vZUae;E6RRHGRO3ETpB^Zze_>(zkuY0C3cS5R}BapYC#O zve0f?A`JDmbqW#hc{EzAP8Xl1=wRQm{YvQ0tSxG|RaP>oCN+7)KD2hk!DcRLnz~99 zc&*Z7O(Sfs|=9myf=%C-{jq32n=85()Bw+*L`R=-qBTD|h$S(iI zdii}l?Py^9AcqlJPI}<~Veh@8n%uVa;fN>-0v4(?6&01HAiXLoDgqmnA{~(?ND=8J zpcJfwXTWx;Nf)&+qPi&OYai`;Bq`am1+jzH80; z%sHQFTr0K@BsE!b){TpBhpJYd2M%NJ=-}gYIaSjd3DQTii*CM_{veel^%mPX@mMW7 z7|$k>XC&u3?`ED{&F6B$%0P zANID+nK!K29wj{%v+Gsljutk3@p9sglNa9%05RsguVzpjslRfb@>Y>l*~PU02>5+n~5inIAmZ32ZlE-jrwRqeOl(SYTC~mOg3mN`W9SP(6O@j4Qz5P>WIy zcRy$MjD=S%g+*EL*NzW|^66Kn7BV=Q05Ganb>V9W^l|eMgw{@QIe_5bq^p7IwQ@&;Z6Zec7cN z#7H3??4!6>z``rprJ~Dgsj=L%@3!muzteUNeC)qsADUNnjDA5R?BWL?T?q@-Ri5}| zz9X@+u2luZ_p#BmP7?0Sg;NkW(7P}2&lUNP;<^VJ9&nT%1Xw zBeBRAkfry(6+DbiCcCN4LKli&02F&e;cg*Stn1EFT$MfGKmRwzD(nyqge&I7#{zSB z!|}BNz94sy3Z^9bRlz^)J#aEBr6`H$%vVqG&9HEymWZ+`;d;rH>Hq>pc(NNcKJi)4 zDESuB8`0n2Vvtvzl@FV0u&<*?_itW?@*&^@We#Va{-5$u=g;5#=0rird40bWXG(NY z$NBf4N})W7+xvf~?lAnxs)wv9aIKZSV1$!_3WlAcj6KQps!#%DGnVbccuHxWF}UTu z{f)sTDo}m%9|5ZWMUmK_tg-xy!l*x6-T2oyKM=zHsXETTC`tIUApG|{@UP}lLXe>^ zzTcZJ9wt$gK=<^NO;q&femav-GspJAo{Z7LU_ z%c@`F<*Hw5?nqS%ct!I=OPj#>|B2W7-=DL5vq#5Xp;*n(Y@`V+_$T3sT z&uQjcYje4>tP>{-)M=xIj1NjW^u1hDFu$k?qCTFoCh3O*6bkU{vcHHn{GrZ%Jxl}o zU&bQUL>S{G*MnkF7BJsEOYh5j&5o@l0w5u$nTZ62xU*_P;!MFH^_#q;ZZKK~BtyOAJ z<1+=;ZsC=1=6!x4JoRroe8Y_^bIuPIABPxCAqSGxd)TOugMVEgrE@CGE+rSVE}ltO z+=fzmDJ^7Su3|s!jt!z>?y21rQ1%Z!XK`>{K9m^mw2{$~wQnQJI_bd1h1xBKBYEQ~rV>F? zHMi*f+Dic)7Xd)}S0IKzjIsh&7=-klyrtKPd^dIvbc-vlt*?iS0H(;M6YRmZ-RZBO zG#2MCf-=n`p36m`N66X58af|k9--itUp4hgP&e2j!rL3v1Nk1b>C^e6pSkgblb@3T zpK85^+~WCEbQ=;7QOXK=2@O?(zIK4MCAH-gf5RI(hFz=!bw%erxYQ_(Jsp0%MOPF^ zNFoV4R%w^dTvUcs++tt|XOgpr!7~TH)y)C`Femum9la}W?rN8rsm8RJ5*=TE9pnm^ zUwPuxlooU1u^$m-!ez4A924{NdGtdtM?>V#4S7tMM)r~bsXH@8Du;!k%W6`A`94#2 z*NFCV7CaEevB0SMouTX@Gm10)W1kKo6~{fG%PpqCE*&*TvRpoH&IDJu%skVFu_{(i zgv-GRo2&5DrYJZ=61iHJqwt&q76=RW#1WWpTpo%WItpS~PZRuW-GDP&g}vh!9@(wDAm1e?aa7b{dfrp1#v0o|tPi4@Rj@p-)bWt{~L01gc={0H916=BR*yWHj| z@R;!Jwso*Vit;3&vi^)I$@k@#!6ro^S(BEZWyE+Nv^X#OL(Jpp{M`p^Gn_^?BbFlZ z6n(^%LA^h-8Ir*!n8PBKvyrJI&W*f>bn}d2hgO$C|C#Vgmaf3XVlhnd5h zY8ueoyRVVk+ep7^W6WuE2Oc;F{8h2O6KcHljeO+rv$!w(VDqBfDW6F=-$3@YPgQ$F zL1(#rU-7vG(41-B$m6!h@KErX?8GYqoi-3@5;`q}*Xz`fJJQ#@;aRLXcG#W45Kk^k zcQIMT3}8Mz28$RqlfKPj1`A2kU=pro{#8?WPmXRLJ!R5^-SnZ~?9vji^O8Wa&-HSA zk~bV|$%CI@H)SE=VdRW42xe;?1y|7GLiH+e=dLa_IrQ_pZS{o+Bsgh%m@SWEhGyjD z5gH^_UbRv@dak+&*j zPTb0VIqpN=R|lj!K;(IfBw*7z`MTdLeij0toy@H?tQg$Elj!eVOH>%wfPx*k_BQ{- zxWRIUS~z1`9T*%?dfs~#Irz?D#HV`|bRR{Umu&If=w~b4qM|YF2d_dGxorXRz(0rE z9syDIq^(^YMu!OISD)ehDu?vE@s?kr;D_k$pM1x!)U=4g*qlMn@lCTq8S4Wy+}Zms@h|#t)sr zvO+&rw`UiFXOdRu?AcYCDI4h>y;0|yDx`RvJv^3`YHYsDtnc=Z5jEt^+gj)u%ZK9a zSoRp3+NRhIl@|b$9h4I81vY~?CO2=|zfF>fSkEi&Uw&Cr?Fqq2x zdQhE7l+ef?j3D66-)4X+lV5*f+SsC_Qr1dsK1}I!Ber4s!W1|rAtUd_^|1^szGb^3 zTT7|PEdoC3!8m3*YCDzEUE$v zYDS=HbN+i@u+pFE3qF;hOt6QJ|BAlhHudbWM~sor$LGp-xJQVS0v#H=$?u?q5KL)V zjfDF#_aRR`545+Yx*{3G-s~dfxXArz8&24}1PhiIhhr8_CL}x|t&g)4Eu`mj9j_sE z!!MV(eB8wzluTNfF>eo-3uX|N&+j5l2T4PGCSRzY$Uv@4^TXBN{bISHqY1%TYbog& zuUB9&m9DSUCJL;e#S^w$^YiocAvN>JdUG;qe(lzjbXP+6^{^#UoCzYl5yV^|2)QJ8 z8>Vm$35EH>8x`FQmcDh!uihNPLUAfj5R>Df?F>cMj;4AL>Dpw`XG1K&dJVBXkd6q3hn#4{t+gd3u`_4kJmx6;peh z+w)U=WJibeMATRWbnB)^dr|VMg$;b0qo4N|*Lbuf)hNxfjex0{qekw;88{Y(eS8#2 zY=dz*i<1c*qD+p8D^G-r_3;y4wJ9Ik(qc>wM2ni5*rxV&q~T^pJ5~8uleS)F+?r3L z9MaITz;Q=S=`ozstjnrOi=N4PKUgv6BYGoV_QY1d)8&Cn4;Egc!33~t|6eS({BflC zfd13la?r{JGjZw52?@GM_YPvmoo#d=NKoL$EMttZmvf&()#5#k=~_HnFxZ_rIa#!5 z-NB?5Bg~-bJ%6*l#biU&Jilh+Mt$_^4Dzr@?PTFyy)F-IcTu~n_`-+AC6xie>_n?w z{u9G@l?X2)PRf03kCPCrUMe9UNOHnV)W44{s-KsztH0m5lz}kuHr8LO8^4=`R$8wa zYtmG_8|tEn1FX~`SE}AEfw?cx%C+9P^l=rS<*s`DM;RaX#RF-1J(}Rs&I}{;x5Z&cr02CgGEAh;$P^s@d9C8gSa&^WXgiLK;1BmX zUl;FJI>97&9IMWq6lMy=5&7z^mE6^}!D0|a4!0+6#Tuqj0_yZPQ+TW<5dGHBll}c} z8}Iwg`&TT@0pvgSN)+n(nmx>-;TdOB_|P2FNJ^~QfV)DY^cTS8pLoEbax=QXdQAbU z!{U#$%de?VuwhyzI8;nU+gOjH>g)0BCzSXUeK&5KBaGd%GUkrDma;%^#vl2%`Rz)uWpoYD(GMK;2U(llp!1 zMy?0l82b?tF+_^e9)9;_?n?Qb!8>l{5BG`h!9H z;(wWV`b9B7`U!q1O7q(8jRk9>uk>8%Av-29rdb~Mp}kGvSuSov=Zu^_R=_XTEC=;F z8C4r%PQ)0oj32p^i=cb=d^%T4f7MwFx5BTrM;s5rTPs?B*lHp=STKLfNQ}^}iN7j6 z>Q5}X$*E0hNhTlE2z65lGj-mx%-P}LHMP2sAfTSW(Qm9Te$}Yr4V=Lf7>g-it-e*T zfOnsQR^8Tks0hcwdlBy1z(GvZSGuC2oEG|%y&hswxJpn+T!!w1O=Xq^QT97OX7;;? z`wI0tQhOZxY6R)MP-|E$j=l|_54#MJu0c+;o2+N+1tUm}cERgh$)~(TB;;%{lXIQe z@s3XH#OcoVzKkn!ccr!tpN4Rw=e_6BVg%G{*V07ys`8$D*f`aOuiT2WgO|aGN=qDG!Q)^PXQ)ta;S=U)QaeZ75~(t{duP$X~_ zEh2yMKK~FFdZ{^D&mg*2X>(39D&YRtL{`y&-ieDW9 z?p-)_*JJFtn-sJN)KZ;rW2(n5%u6S5hMe!#b8C0bJj=xHHO24@j8ma=aHOZEAvIe% zV<2RG-}RM@hawsEd^cR0@D>pYvILN5n{L{JW_~wcNmyQ&ayrkWeFO~XFd zm_)eDjE`4pi=Cfjm;2gyC^!tTNkIis?mXs_TqSlRNxs60YpzL}+wao>M~&Ky4(P~g z{cRQl;uJPfYbkZ!t4!&mvYcfp^ehf z{=IssJWL4#=N*KyUn5L1===pVW^DttzK_{{b*9cvJuz_Ya#>!kZ^>87M%SPg7A%GJ zM!q4C4=g0jw%g!9t_KoM?8aAig^s0Cl*rgxx039!WuRsTfV6y?BE&TNYcO2uU z)gmRLfK%eTwx;TiJ>brkP$&j~rTFMq+;e?>&ex#u&^pdWY7_@k0oIYneEBi+3Avl5 zUUQd^f{p3GvXO?-P(H=YrlP0=3mm)b1lGa{WWIb~4`clgcP?wgbUECGcGdyp0xan* z7x~m^kpFH*J13&8BNq%f`z)f6d&=5j5<{-o;iitnHq+jLW4u2*RKZMrpp!;U;4sWQP^l{X5f6$6A5l8#9UHP*^ zC5Piq-_!71v?Pz-)bf4xHnDm$eMV}X@um6ehVNzl>!Qy|12SF8c0JcRJ~s;HZ)!iN z0R1{of9lscD@h|YgqZ><9IR3&OqI(P08*Pb`aEY6gN>2_xarb5SkFKn+oht|QJWuBFEcV^?2wQ>>8l-p+^r}|9mfVsxBNKxI^SD0P73aIXSE7ubq1j;% zRdCIEwb3_-fn|K`ObTliVEYll0{2Ov{d#-N_>?GvqX!%n^SWqNs0~(T(@3|)W z;W`T8P54TOWEWvvzWem^It|Zl(C}(}ua4vq$FImD) zw_J!`YNqCClA4Lq+@>jcT57CWFz-4||8j+gzzBdcgR^dC=+gA5MT;=z=;d=pK`>k? z#$||n1WPvZpXW5RUqn)B$xkOUZ@bbF?=; zAZ?p6JjDM~CdU#08YymBQyPice`j1yqP79|_hv_dNCvc02>&!<-FE29((}ran%c<| zWR~#)`;AwOCHGHr>p23(O^O8-UZe~%y9Z(uw*u~-3ESvn)F#-|jiC<8d9C$IZP=Ynl8g(6beg+tU zkuIXino;l#`yweA8N|P_$%I=E-0=NHa1;{2Op_{1dk62A4L^^w)pxt$4hetM?d)Hf zg!ok;iG@v}KzgB~ajCNsTKM1^Ke9UlN@&Goa5)a$fq1AXO`J(AGXq#+rOjfcp}A`? zwI%OsHsyTvW&Tu;ihsK)b+0=3n@C|5^7ft?R@uNqK$;lHa^oB(Emj|@V$ zCHqSPSg%UCOpm?M|}qc8%fskWiJ4|oN$UzaJ4BIO?E(<`w%psWkvebS&tzUVYWRW8_VlZc zHNtCa&zRXwJubXH=W?ZOo=;)X0=P8d;Ohm5Pv>R!5I*vxbyGWh+5O?l?{j5koteEGSnQPK0iC&jgc+>nU%W+jcsI1?tBifRGxb zYFYEDNULDM0%_J+FfY{lcf*CU9Oq2!RU!j}B2im;WZYH(2Wh_dAYuFY9WL@Z;4Nh6>0T@+p1`Tz!guQx{uVzg#-k7@ct zlq&aT^rwZoog2&wWb7HdjgH?1FY^igSZP8FDdO^$LQ z32rNHtLTRWvSl?u8tJ)G&cVJ1q|51Rg-06~Y5*a9V0zjJpg#EafK!MPgV?8mabVqg zRv$17|M5-S_Ralr5MWu6LV@PnEoe5S%D|&#BLNSA0we*;Wqi5f2i1OYCAEvpq+~vI zW_%(j#x&;t-OH9Jh$*v)X^Xg2b-y7$Lw>Vq?AuLE+dUKM@s3R3mH5>2fDR@`Dc?B^ z8ty+0JcD4+e%LBZQ;}lgvvrJAwITu4Vk&8$2LvK)Y{EL>whTF1itm8QN+i49NMn$_ zztbwjiF*y4coaM`O)XM+woyY#n2KHGX(D}yDC9mQp|`AlFoowbu!kAx8KAe+O+{qk ztJFGJ>lgvBYw7}z@ zB37P>D;`+AB@PUm{_1w#3YaP4zdOMZj1;fcusS|2fifXT1-iYDFA3w77l+H z>S$L3Ty-OYO(w>`;#vm}l<@1=#}Hn6z=gAyJ%McVM20A&F!CFAyW%$88auYqBBG&` zjhF6nF9x(t2`eKv;l99A0Mex~U$nvr?gw9@?v)Z}xX9d!&eOM>L}se4C?VTrQLQ%E z@wZi8F#P1rdIjtdSGs0A8z_gE(!pmG@B3mzO!CaJCt_Sl+`k` zeDkN94SyJVW9oeSYR=y^^!!d&SZ?4gSiHha$(sQ;;fIpfJ_XD9&B!5nmJB_h4~9b& zaU>_qA!d!{u)u-11Jo2-pmxG|?CmN4KCU2K_!BpjPj3-Pg#NAu6IRrK#Sc4(3=#F4 z3qE^vB&)>Eh*H$gWM$z!ZN#BTpaA+f3hcUX+|Oh+4qh(~ic@E;K}}=x>D1W9F84r+ z*GNf>f<}Fd1tE_#HlYZfdMzpvy9_)0A;;+3#~`nrb(Hn!@LlXCw_eCj&z1#&O?SIq zVf*W&DLHCmtrUG^dcZglJ1AAX2K9 zHn*sk-HF91VZVafAP-j(@jZ-rqA`NGOjv*a#*jtC(YIYeSR`LiD>Bij3|YHcU#011 z{aV4!O&_d}*Dt(l+b2hVpfUdn7@TT9F(*G`%5LJ}jBC<_M*D1m;832h8cIIh`fQ1e zV-4YUz^&-jm%STy^A=bO_HbXA6HgBj6osANtbPH#KPTq}O76i}=;&igE5GdqsBdUV zuT^yT3cXhnpS8K%ms#M-8Tr_Ys#tr^IyIpmpC_5V!G#sEJev$w0pb&;?S! zp}Tt1U`RMf4qYt>Y74GS3J0MbF`}ltxt5OQq)NNs;_mO*M`4+rewM5XHUF}a0;X#^ zFB9VAQnP+#JDR%<1g#W?~$`=k|nDBB=%*n4fX+Kncx<+U~=Aq9l3YA|S!Qgxf15;f4xF4OA;45(_rY7%Z z3#brH44X#COydgfti5j3xYp-6MhuNaTN1=4-#lj8 zhq&~y|JOqTfvCKiO6{_diweljK0;SZ{yvbmW}oLm@8O1ZnK>DSt9)^kn-|u4LY`Y5 zG|$IbHv#bT$k2fx-)_V-a$O@b$vt)Bdl7*L}HTbVt4MGV1A5^fv^vxcqbI)2k%Cf4-yrX7=K7XrB zFIYf+Y*|IIrS{iB9D%)-qn5PpXr-wtx7R($MR9d*(yz(S30;G|Ty-N^Vu6=e9U|=j zds1FQ=ciyL?sa}ec8+I`=YVpQ0le&{k>}k&G&5jwP0ci)LY>V>hbUV zr!**Kc&;ds3FT2@=TbTYyU4ylN0@I{N8sK=4XL7G4u$~|c8K6AV7n?aB!d+;hWHl> zh+h-E%g$Ho2$7&qY=$l?w=jmv6w zYIP0ueU%c`UpG;`Go0d`!I)*H_YJCZ{`x=VzSLVVv!g9N38|JKmZzTsKQtR~-~AXR zG*AKhSb;hY88ULL`Dvgo8az@_>blCd>Ap)%Bg`o`CIm71rjX7<$wX{4se_C5RQLoi zySPyF2`qp07y7TC<=CV|RuoGS15AW&x#L=hlD3Vtfbt`VI%6^2k0o zkh8op@@nhR3u=lIa8wu1JFO2+f&R=tCC3zmNuPp6FhJN{BW$U+H9(~*lN+SMhFYMf zJ?(FaNY0-rZ~!B9&8N`}p?p540H2|Rk?Yh{nB-d$2N>_wGylC#3Hl^~&omYQ{?rS# zO%JSG1c1!=6S;ib_~VH~S5?F>GYWpEw|Td8j=C3E*_)nHMX)x^(eM&c1Y^=Af6J*8 z;I*q=0ZaIbK(IR)I(h5Y`glI*7c^PUA7jji8rP_2N;QB-&;fO*ACuGnet~_%8-OF< z^dO>`nJHdz%WLImNFc!IKLG-b)U}rrl9Y}0B0zrrV`BVEgfbKg#dR^7GO6(z90pZz z2THq#(^VD-Tj6`vd{0- zCjwDK?-^(P>47cnmfO70sL9z0JJjv6y5+pcJhB$OYsK(JFoWtuJiYl>idWP ze{1Uh_UkNGgW#H=*m)bRh7%0pOCKhl>m0_;TC0F)@up^?IlF|UYVMo|MX}sNp%Rs`ybD^3a zqcP|nl32!Y}}#+|$Csurac7bI2pNLPtb>lMFHcpghz^b=Vjyn?qW+-yJM z-o8@c?*@BK(c8&PX)NU|?m_YWdq`Zfdd|tDdMDQt7kMO7HJcV4^t~unUr;s zQI@S5^pFV7+~93yJo}sAU)^uc|FHm-@?e7+RA2h&pS}(XDV*wg+xqeXw1a~AfScCg zzVGSRByi_5b~nmX)b1(baA=X%k!{*4Cu_@Dm2Fo2VnIwQU>iKJ@MeUazER!7@jq6jzK0|M8(=cAJ{zN=G2ZU8!0P*`yPe2t!eYh*shm!#hC#V;wE=3j&{21`H2zkMRmnIwz^DP_Z zzNqIut1!FwtzARwI|qgDc|$0boiIb^kDn5-NLs6-=;;=F;(1cP=YN@$*z{DKHn4Q` zMH<^-;CW;4>~oW{-?g7|xxX+`@gEy%eaaM6a>yHPu+#EgWpkZVdJrk&bPNw30AQaEP7y@Uio zySdDsU95`_feH@q-I2i(4qj*0gOU#m-T0$;)=jvD9m31bICq;)vz1BvJGONT*gQcN z_0u4v4!Zr*%7Qo%;42fF|ejF9Jk^Or=jddk0PZ$o2w+FRE zE-P)KO?Wy^osRHckiL6o`ED65JENVA>vZu&`FGX|TA&hnD-5`lH(}uMtH&&2czDYpo{x79c^;IISZGGHaZ)^=%9m@jW^w*s zCA{%#FR2Rm@HOQPqTl}h22ipx$4f}NNX_4Z4qrdg7;Bw!BjA>z*=(>7r)udAFpxOs z{cRLz(Aj99Cl*<9)%SOdj-71($<5ILQ|qRG*=74I3Rr>Du@V%?^}P1uY4eSo>}GvO zNoN(ea{B1*<(aKdmTLw3cVp1}GIHc}h0oBt8A=0FPTd++ft>iI$YGD zQ>delF<8FdKH;Zq6j?2yvZ(@sn8!Pb=AR!8)~ANBg)E(-t^RDI#X_?*jIR4yGm#MN z@IsnUHCJkQvF{>IiZmg+Qw!%#40nOI`eGT3hbOq^RjD4zhK~yM?EBs+bisbp;zwb|fQ<2V%)s`e{uesm@3P1u zM3Iksl2lCt5Vxz}@c}KT&HJl4M@LWjb6weT5oZkcN70k7__}?r+ONb$N-RO{FgIG0 z!Z|M5jgE!D`Qs%St9*gk;3_qTVy0)KoUTHo~BL`0BNtG`^VB>3V$D>(rS-K zYWxxUnT<uce-&IA0vPM-8N_h!cBQgQ z)|wgW8(A2dnF?9N+F3A6gzl^75EUiVdzo9%)|v$pu4%0e||o>cLfPejer{3DXtVLycF z-Wt-aASU^icAs{? zGGxd1U%Ujsb+~V=J=^|K%9^`w*qqF}&^N#jNvMMqRL*VrwT)CB^^{o6Wtx_3J2}40xt5?KiD&ZIqS7dZJ`Q`)omVZE-{xE^9M%H;Ya8 zE~%@mSDV&9_q?z3yTbA#40BHHwol@-16;adwJBuq_uM<)%x=5doC@`U*JvMm4_4<^vWT7rA@K zwqNx5-5oS_*J|aSG5)w`%AttRzy5l|$e4Ps3qYL6_e1sd;aYw`~FE8O79^~&gPq4$iU>+ z-lX-%uX;{pQ{UL&5b!y1H;vLjY4yZ4xu5R+I3T5UDqNyV`RV%VV*U5Fed>9et3XrN z#0)`Mn@#sJa{6rOx6vjXlo&IcxJ;&nnHa=vx~uDAHCw)AiKATakldvq2}%#k9VC$p zpUR(^l-n$pRG$?MRWe%cKovM`E^=k%_0S-kqHSOCbk@L-k?8h}Miz0bj)!ck8 zik*3GZbJ#6Mt>n#sNAAEcc3M~= zIoXr_ADpi-GkdGQyoF?y*j+T4?sm<~=F7r$4-u5N6Dy3O#@ya`W zMKU|iuCQ8~Y9aKr9PT|;vy_}&&&S)Gw{uzk?2;9I-7ji$P6ahM??J>Vog;{*_2RF>`|49Qls9FjUl+L!MpLwn1Gj)UVT^EJ$R z_HAsr*M|~Sh=(1m|GLXr7gRd^4yBcgb+6Q|o{61tysaCM)lL~jehtGRU zXZO#4eUTEGIP~G|)oVdIF%Cx9h#6*{NWxf(NqkO6Ql@_i^q#MZu^I_;ph=UDDKQgi zeDmmsSA%7@I5yJK!cwxsRJg1(d1buwL`J!Ik#*rbVk;v-TkRu@whRhUg}1f)pWX1; zuq)!y&w0KS%8tUG+CR?7f~kkeK8#oLGHPo`U`kpkWv|8eGAzX%ih_~C=!qgtD{Xf3 z9`~oMTuhMoPOMVj{&C~V4Hvk#^?XDvw3FE?-a@vn`T;te#k8hy_n1pnj|8`zh%M_W zs|#Se4b@ZRW{OR}Ho>|;`lMg)FJPiA`Wpv9`7QCto1L(egh6J+Ay>vyNC62amqHf1 zEW8zhJkztj=p%CC@y^q+hS?4_A}No$HZNGFKNVqrn8%piLdkUE;UEuNCn^YTn zX)my`-g0{&RqN?eKe-em%J(PKm44RT8+CzJsqE{W+P%Mk zRD1oJ@9i`XOu>yrc~%5JTYq~nq=24FkBxoa>f!puqI*`OjG^?+?Y^t8X3u7rXwSzr zLN_Z~q4*N$4Za9^2j15+EO#3WB$3ZO{Eyz3)7SLEM{?g zIftM}=3l z;q%8wV1OFen4IaBpZV48zV4`*XH6m}ulCW=(0jY52FSc}j1W}8YFCFI>f)C%QfqC} z2hYhN?~#4&(;RlR`}b|Myue4b`1@Wb1>^yAY( zkv9T3^*QoQt}XFRzl3EeABGzc9D6c3U`xnaVKRqtW1;m+)7*N;`{Y`YmYgyj85d~* zl{2F`F{1fw1b;`7_{bD|QK6k`F9SJFFa0=WrML=MWBPy???sH#X4Dn z;jOo+U26woWt|HLRff-oE@FPYd9M_C;Wl9|8|iL!O4Q;W+bBjmF7`zlN(mp*wy(^^ zlr+N76?bS1QoyuN)CZd75Iy=bZpu};Z6%)fuyzqMdn#cg%m86^K*Lf@Y=c4Kkh7U& zpA*ExY)0dBP3*eWVvjh|>wZ>27SnpKaI?q4xN0OPXRh3P_j>We@iYU#&b?fDM32mV z^O|%==lUY*Y|iaU9*BwWioWg=QheAGwSX(X+tBbWrl!lprXqFdks4{VIBqXaAM-qL zXWdS@3_`3=_v6PVX8Op-n0?JVZ{B=o?IEc))~S+pig}T1--!&dxyrh{q+g}Q<*QB9 zgBIEHe9&#u_5+eI*sGB2N7Mf`B?nc8cr2O?8nqi8OT= z*#C~d-$5HGY(`TDT^A)wRIFz%_&(%eg1}zqe)(k6z)YSO6x(68{-UHBdQ5;{#a2|B z$F+nxDQ2oObe&HwOcuFlLF->7d;<@(udbK%2xMVn#ak|+ zM865umW(dU(y^bAlg!J(g)))n_ZQp_)-jXGK=~~XR>u0mcbM_q=`q(Wx+`!}r(n%~ zc%iUITPxb{miThs``33&aJNE!X*ZB` za<*NKJ7OXG`RbErzPJyte5v{!W{c_QkC>+J@m>BpvDptyD?Mu*PTp1ELVvPOMwFzv zuRZIe1f`AQXFe&UTd{^4JhUmtU;?1m=_=P->t)~HXLDqm=F9&U6qxd;HC-O4(l2D# zHDXyx|3Qkov;#>EtxUvrB>nrRuM9g5K}hjX9AawVab&e|W_Cmg${Nzk7m?P(>|U!i z!xq!yxn5Dmv^KBV*3Q?GL^W{)fkNttFdcw;R&)-B_fHI;6PuT4)bqM z;TOn2ka_3Ze02OO^}h8ah|>BeMs*(r7P!EY7P!|M9a{fkuWqiNOmZIO`^a>@pWN=j zlV%siof%tt!E)nVuxUCo_Kupn!!-k9gO4y17x7bOLOT84jJwKhk~xp_^4JU^1d&ej8#WCwPPzEblC{_P)?4GEOKsX!PMcL*x2-cWPCzGLXK9!9?&#T6 zLw@5yxk1YF#9P9d_M)EOciNc#5XzU$`ONO=RWo^X5T<&YL_6MalaSb~h; z&MG%N-YcaCfZu*5Y(1^DR-GSBdE`rlTcq-?Ew9^=*ZNfX)T}%{A+2}rpuI;4fee0~ zeO{22f%u>ACMh)r?eV(A0Td8G9P% z>~_E82rDsyJ~SFxt0mswO91H#*RJa|{q`_??~JBp(HS8^1u%QlwS*d}mOL2_rnR^U ztKs)P(r>tVVYaII@PIp_PPy<_#u$mLJeKN8o%^MQLbBz?T8)oFnfiBI_cPM@KgLSv zYdVS|t3^KRaB&W_d_)kh&GKIR~^ubP^Id(#Op;xq_IrQ z2WTWCZE1!7BG0iezuCqM!hhe{9oxST(vf}J%Ta!a0|M?Qb7G27rPfJa;82P!8rOAQ zhnN^flIh*Dd?+nEkG)(o)snO8G(z*3k!iUa@K#l{YDK`eDf8{2grkS{{-fcjD8$HX z<*Kd@PA|l!2i;h<`6N^J46S_T#k!qz%q6$Wh~vGGf_wL-ND8-gE?5=Kj%G0V=jr5# zkzdib)H2MZi`jDO746Irao**CS*vH(|r<&{`zA8d`*rSv*Sfd)OnY@ez zBv6REo4sw7W?7~(1uuBH-!trXmw*_ZX&OS9?)GA5y+^vyRbe#zVN}C|Z4&eBqcfeq ztC`nw2A^f_$F-eaRu(++hzsUL$4@}2A7D%0D|%Z6_iV_PIVSJRA*&aF@aPJ~nit%? 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 JI%#_I{{XyOeAoa0 literal 0 HcmV?d00001 diff --git a/public/bug_roulement.png b/public/bug_roulement.png new file mode 100644 index 0000000000000000000000000000000000000000..5d1e2a5c4e53d411a393c577ed56894afa071a43 GIT binary patch literal 459265 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

0cxF3DP5lRVVuM9EBfin{8Y&-c@ zcw6|{56iTPCEk+ZTV^QCnM7uY;zE{A*)1vjT5#iCN=daUkLj&Ut%7D+_XOOcsYZ5k z_@|@Z8Q9{ED|cONYsu-qE$9>WE^RW6fP=G&_OHhcd?43#ubbrDblHaT2J;s*ho>?N zCf*uP%}-B+UigSHa}-&2)E}tASbmtp5sa*pnyXy7Uvh95_ue6Jo@_kL!rCf>mBf#9 z^fy|e28Xc|7juA4E8f+2TJ71Xv8^H*QBhA5g1z)~>t2S1WULVSwQ4pe?$i{b;G#k& zv7Vo)mMhp#UL@eMA$Az(xoq=zNphx)74fZ{WLO3Lk(#D?=8{F0MTHIUUdd`MaH9az z+?&Pje!k1Ym8gub`Zv7pil)dlnhuv%b`=e}eWY@CW9hOFEt%kt)t7G!Jp&=MaRy9$ z_%5E2wzXIzeXDw+?uYS{~i|CJ`_({BW!B8TdYg6 zsLi~wE3S>~pW1pk)pey|UI_-FShBlYy)y%P{;2ZwhV zOV;R0{%h|@3v_jLX=nN?X9U;cv6ZRoVsVR{kXSSntldt|r#h==#@sTN^Vo%pO^dafg*O=+p|4D}u1T&HH2 zvMZMT)!qmp8ky`LwZ;uGqFZvX&W|q5Q6hKha8*T(mPQ~~hZxIiWC>u!ufDPc(O{!5 zrPO(N$#xb*6oIak^1%pLe<2y`!SW(p<-rBRJaG>w?ygj zNpRH@uS$dYspe_S>eN;aoJrnfF|#zLfq+z6`LfBpIJKO48KaaiETmZ?wL(b;QA9n{ zsB$w*qDXb!$MP8LC+XQ%41M$hQqvb5$=NLn-Rg`apqK0r7&rz-{9t`g3;jGua`lG(ETL}te0tD)*- zppl8X810doUiTeJE!sr{O}c@`(bG06K*c{zrwTjP*YmyaHocc_5uYA|?LWHjm2{JB z%fn-QODh6xE{@a?zZJ8|c=N}Kg*NtET}r(l-!hH|bS6Tp$CvRZ-O%60)(5O75leotg7He?H|e`QxX z&wYB;0D^n^BYq;tgGts#8R%Z8905a7Lrjmv+P8~FV7pC;j+iS)X7VY|k(&B_C0ch? zzge1(iqb2Uo**_01{U)MvJ4IpaZRvm=8V7wa3mZ|aZCbN?zP)B)f7J22S>c^>x(mN zeS%u^kor-;ueZF59J#gm1FebPXrX-1u;Olx2(gM|JDrl~2TuPTX zm|T3n7qB?MV8NILSrsSjFN*BGo{tzh|D9mf*zPZkFF{*O)Q`TxNP6(N zz%_d6tbP@>?Hcdq!bW~AX2rMj<6b^F2H++80JFQZu^4>uKyMuU(Wca2kCLcNwo9lF z-(<9%&Y){Jt3^9jdHSh`OW$nzo#ZilgqN7Q^)k+vZ+9n8iUJZ`RJwI|K8N_l=QKD} zAUjd017jVB&ifUfU)kj&zk!d_Bk9;Pbdc=qYZV5y&+U#2wrPx1@6_`(L{)DlH&3g< zwi5`u32fxfs`3#Ys`aBZCT&CSP2;t)@95~lT)uzI%6duQGb)l5h%X(Pg= zj`2y|%eYG|4oV68!?RBY3(-`{QX*M#%PSzs@mfu^1TCZvqEzeaN8LB}6)r6gSy%8P zwaz>w)UqB(PdhqBOykp~X5$dmyE8kjrc&XkKxfqci0zD^IrXJ`;<-+TLayb%zQt0pIJ4N?wOi&$c?5V z#x6YIhIkm$iAd&CDN1sm6h(ah+TOdgPEG&q@kw{?K;Y|p-J=`4B!?3DOlgBMp!#k> z1n!I*ItPgmVA6*2M+;l>)0;TY$CNk@RHKA50^vBg&`&JeTh_GM#6985xKF`i6J&S|Zhy;vTzIPJYyM0Ub!5TgH z%NCB^qkyC;FAkU{Fmv99KSOwJ#7tTt+~I2~yB^>^o-{QsjV(`5zsYR`(g@nwh3>64 z8@~;g*-!SP@QxlJzZ*oPY7tWNQ%ZzQrAgWxm-`8pApdnYDZQwE`#F8(MMbIIDUrq8 zx+fq=59K09PIK$O;f3!V#iesYQbko9C)AQf5cBZ>+Sq!MV@%4`@3xmUPP*XfA0 zoyp+F#esqrtm9%{*j~E1-6W8>b|>)w2^0 z-3@PEC`59;+iyd7@n5f8{VLV#UQwQJGyY172GmXJCnG6z_;kw)*UQT->?oe;yDt@m z2F1n2P0v07M1T*gl*3m#_Iw?md@^khkvX(`K9h(KI#f==xdU2>l>`vrp9BnG=2&0;OZB-6_wqZwB zJxzdoO)msiDZzHK!X(vG+Yut-hn9--qo9l%QeWzwYEhVEG{;+*-jLs zG!AscTre-MU>#vd^EaXB>K%N^0Fg3tf_uye2INDde^h+!UmiU#{50Z00Iz4CS}%4? zRD1rLGD=Q+}Bx4wF zH#@$g>)rj+j#}PZ!?P==Qf9E~ry!}8Kyk8hPjT&9gz|-sQYB_>5I` zdh*G>^mf^@eqPmqN6Ki-Q#%`{OlzQqP!L_Y;Jw5N&O65jR=yh#tTefpk=9Ha(hq}; zqK8zbM-C(;V+_tVmw`u;kvD8pTPpdP?)!Py-Iv^371hY%p2>7-X>RWOtJ7|eYDZ}x zAP@~Ioat7g%+l6Pzg!7Qo7M%0-i$Fy*GY?p`$($tob)kf8h+FEKp7U-B%QKi7uGaV zn_F_yGum*FjrcODYCJ(>g9h;#xknCIVcJ=CM#0}Zjeqr9tDKeOGim!k3&qVVvB8eE z4^7kuv`Eh%IEq~dBo@8bR}xuQUcbP(6Ptc9!RG4;Ptxz4G@kg~Ss7b|>gZI7^+>tY z!t@5HPIjG^Yu{aXz(Vf5(698Vm&Pv3n)4v$PK~<-r z6z2Herju+i_I7wW*B;=9t?|R>_BF_7RT7Xp!Kc^W9&^H9pE7!B#{{k>YIE!in7v1_ zJd@QkLcLOMWh_yZhHxCEL09bcdagiO`G4FbN2)?f%iq3RPzI!8TB?s^>}e#Id@4n^ zYfEv;LFKbnu4xvb63LXpEh+glrF4h~K8xGP@{`Ic(VV-x=sPL#@eQk%$CIMcEH>N4 z*7*N+7C@kEn{B)Bwhl}@fdiVdx=UP`NS4FW7f_T58%Nl^>H-En7H@ESua3l3{?jnw z`}2z6EbjVNo-fFIbd`!I?lfhm@dceTV^Sfob>3o(Bu}-5r`IeSd}0s@*Ql0ICLi-? z-H3eTuf&4-sN@3089qmqa-2N7f)RMP()dt{mB5?v@&K8S`Bo3T7BY(1x;bLBHowFN ziH%?3L)oIDhsz60_k52N*1@Uy(JGQFnpJcV7H;!}!!D6}*PwYWLUbmV6$`-vpHKBP zFCxvOIWb5qU5C8b?vu@}cMuy){PPS@dEh8&pnbl2$XqqjMz+^O^`XN@Z>w??C;$>* z@!A<5X_%$&k^nXSwq=7$lGtHYFi40CC|kG1ZGqUiWTY6rDhLi?N|7rC`36@emocB+ z#WX5~M>z&^+i{8lD zS*9WQ=|U9PYIc!)9gX`en)mdD)z_f?h-;9p^8ie%fU+xWk zvk!^#{J5X_$Cg|;4ZBBM|Dd8=8f9PnT8eCO8&V@JA2cEPF`-V2%BTt9J;JoK=22I zUGACsmFpKuNj)gO6O7b%f!c1U>yn7*<``2V!(nTXn0#-n0oXC(oURz3ZcY!U zP)en8w79$L6}Y)!yZKpmEk3HXEnOOmmwqvUOWsgx6T_|fO(0B=wJT4k#Qky!bCIb= z(=*wad4_duNa>|TI`%^c@Kuk%$wUpO>r zk|;jlhr~uMHg!p)k*@YvZx`8Zjck_xRQVzX(@>Nip6bzuqr5zI?AruwSE{hf+uN4< z`-7#R0K%!FI<-mx7Tt}G_uL+^1q^0Is5q1!KnmP5S^y$UtyLj}@B#41+H`0}3vv99 zw6#XQXy)$081B1W)G=JvUVAc@lT$n&ceiJ;N7s%5npDeaw%@>0icMdPpHZA=43n=# zz3O-P_7;oqKb9Y&Q7Ol1I?D4x?=Zt@8)m?t z40D#cyU`seUFu2mlWUph$J4b!1s7<7X?gu>qc}UtDm`h9Oyd}63OcE zMy}T(5|M*_mk*Cq7!jv&%zVJ_BHYy~5W}T6S-|4V&s@X1qB<3zKtLw_2V4nk0n?RO z|IQZrHCBen_FhuWyp8r?4oK{Cu^hlBdv2 z#nh+SttH8ZzZ9^dQ0LRHmQc^qhOvZie?j@z_J&Wp#{@N5H-)kH>Nd1ll8iMV?o$jU z*XUCeCWoM@wUT?)vK&OL9?*T1031#9;jWoF&c6P}EMt3B55EwKpcNi7*|Zgx_sodX zX`23(#E4nxnPL~OQO+8%&|%eW=lRw?5gT=Q<`6n=#9apUX|z^~@USxBPFz};t-nU~D z-|0=LCQOx1O>c1XL_MW#T4~`5501JDkUnrybdQdhufu|@0a>zWg<6aoT3s^RSRI%_7l*|wtS681@FCw=L`H$U5+uiMRcOh*ePPKK_W3Qo1z z9gWTZ!gNE4Inrt|a08)xwxYiz`xNU2HKo2^T-){lLio?YPsUxRA@AI#4|v9k=<`kKs1UQPaL|d zRA1l#_YcGX>T4Z1Zae@THzKpTKuX4N)n@8oyL2MSFVxs)QrJ>{jUJmBM02M1>dP8( zzF2AwW~nTX0%x3wusIg0C3m$ky3nT2IY#%v2{tzR4_Py1`>?P@OA?f5o^1ERwgy-e2d z@HWIH@FVYC@7s6D@ggUY*)8b=uSt~9{iq4l>5%|!I^?{M>O>u1OvzA4{4>fZFwtpC z3OAkQTC7)~`6+DZ{UzArs$QAvX2B(_;^Nsm;~!j1T6RwQoP?|tM_fNNHX%MA$N?^| zP(!lMK5`~Cx^fXB@!&_~C197pzjzVG(rm{AX1={EMmJacDuks==&$(-uBp*c#hWQW zTs|*F?;qaPu3aNiv+U!L{^Kd)J~z)%L0H(#T8Lf0txFmJRPsUx(Yy|$Z`n|lW{6K% zViAEkri7~&5vC+#}8xK@~UZ+p3U*Fb}zgcCiCW4UoLY#Y=A^{o{y+w%P;<$ zj)6$){5^mMs*4C}(8I$4%jeSZ;}A-cw4e7OrC-KlYj)0pfkEBJ6^WuT7zOqQU4k7= zl0hT?W`V9#TS-+2OidLq!JYhqu}yNapw0 zC>k7q&Icz{*>Dh}&0NGuaMHri{z~_u#ZdDdJg9%}+CS?SvAai!5+VCObjW~~D8A!h z#_rzcaykpSZXv>P!wYo2u|uzvnmG4AOMtpymvC6H>GY6dFn9_cWa$8c;D6RM5>j8{ zbdpY49U5L2Z;%0GU%E(JaU4P~7)yN~3OYY&$~XMW#4ZkjPy5^W{mny*;l?fSQ$aC` z|E{DEA89a;2fvD}Oiu|LPqJu?eio z-&CW)2FEcNXfyf{~cA)Fm=W4x(En z>bg(Oz2gw%IKe7FoOS8^k<;?O9_iC?;$ZyJl5M+vioo*G%twDhZs&+{6aJgrel;^% z@|h-KH`ppKE9v>pd5Lq87jJ_O9Xbsr68F;28w>r~ak-Cco0tH_=PXV1!|~D0JPqslpd4taq}PF(IT`Jv`@h7+z_&Vq8=6p%Q4C`5j$uUd zFCSit#}~;#dv!nWT^chSyC7!}O-jvs5Q7}1A+4V5WVY>~PX4KmY2pLtR1qb4g7Zh% zw5QTeob1|%x5N}w3*+_g~`Q*@+>YrLJ0?x1B z+60_Mba)8<-4J{pQv-J=s7-xnANo&X_(C)aPW){DAho}1=zrSJzz+a8UphZT|I_pT zY54zk(6^U>po?NINdJjG{M~%rHs~QE^Okwr_wC=d_-{IFK@SMhNbB+6n=ca5#H)Z! zSrlHq`kP2pt^o1HlF5U=AMBrz)p4w2=0>rTYUw7c&05>oUD2i2Xl#ZP&>c}4zS}WqzQ=cKLWCPbqWd8{@{||Kk zf48x?MKn@YdEohaZofJ59%69J_*0J&lKoa1@w-;0=!C}vb;1{`8Y=gb5X!T1!oT~# z`@l+kerf-^k2wt@RO{8Fn(@DBC2l_k?g|9Jzxxj7FT*tg*yvX@~Wh4LL=Z8`C ztJSxg3B|?5_uS#~q8BCBpq;ByK9JSbgFWWB^gX9{Vu|nkkQ=0^HZ2Cv^{MUX9yAN@ z^c6Sz-DnjI!=G-In3yoor+QegQBhu=SW!{oG2GdCcBsVpsh_6v)my5VeBP5JB_%~B z(qo>|NraATkYSYkh=yv>=n`{WXnet@PV$cxaCBMz7y>?G&j2p|_>Hdoj3IY&c=u$X z&uaRHjX!DX>dMr1pB-$hYS*4}a{yFfgr!aHZ8Ildb99Q5NqM@P`M$g0ovS4?|Ajlh z*DjV!F1h_@uC2Yp)5e}b?HHr=B+s0O8IaZElKVr&QJ?v_MdQv*7nnTiNXIL(e0r|{ zZrAypah8x3TaU0X3RwlkXENDX%G*DBUy1PZCij*ZbM4?J2nh?_)x_7xuU`}A%lzuBGGyb8WDo-?4)henjhWWFp;seY`I}7@SE$( z7f(1iIn`qX7ZSy}$tBXN1P6z<-!i3wjCwpFJA3(Od6incAv#v;rg>L2Ov>%N!^_`O zn3q>_jbvmpwMz1aoiS6zX6EKBU8Qe^Wg#x-D@u&vGG)&;1LsxQh@~Zm&BOk~8GI%ziYn@NI~Y`GR&<-qp)bA}InE=qP4QGGj(5LxE$X-6fFtEE2XFc+8SFImt_S~N+{`os=b)J)i)_Wlw)KGS`UHcs;0Lqj8sA2@izLAWP z80h?F9me^1kX`olBCXjfyYNTV*WdN}aK`q=Yfw6K@%E8QUWf!Fu;pLckbiH2>Of&o zc83x;szW&OPj~4Lqxwflt(kWTx%V+|+xLGCi8U@%bJrpOqgi^4SqyAfF?CuTbd9gN z9#Q@|HPu~WIK}-t*@q7w60@?{wc+qY-u?c;!LTZ{tCS;V$_!ySd5>6FrU=rJ)x7k- zgM!4%Kf1eB&m33}SF#IP51wOYW=_lxl5N!cSXCuy(jHC6pQ;on_F840lH*Ln7JqKlzkQ$7z7b-2pO<-)}G)0PeLS@yf1Tzid!RV z0Cu666I?0~2J?$!R!w=tvORqD{3t2de%X;OnG?(lFE$n)RLv%>bQ!M%ta#0Hb~y;N zSp-Ul`e!1rbdYv-ra$S{0z+%Im&7O1rZX}E5>kp1gw+#|#iF2^d;B_gM`kmL;=C@@P|m18AAoU6`@F zJ^%p?{t+GbG&D3G#oZD;BV}e@c${PfPU)j0Z@>q3mSiLNe@6^8A!KfDZWDPt2NlK( z#b#i;XRiE94FE$a6;#T8@3*u6MTk_Zc?(N%HqubjPjL+aPq>3?hN zSA004vI4glg&u%?rc5q1Uel8yM=^yRCqY!vK&^B=*dbQZ(u673p;HP$3T(g|4p2HY z8V^oom^GpKa~#V@nmk^s;JSLI4s%;un{5q#zdlKJ$v3Fe=k{YF7jjuon+A&s%mMUm z!2obHqfUyTVOu_8!*svZuq4H^fpT6JPY&6>y@z%5(OFi0ci|bvYaNx3d6Z zgb;5=rSc>`#KcT~Jc8}uDlXn0>bOr@MDb28Zf%EJ>Atfw7Mwim2vL9hY$=@LlOOt= z+!xX(SV{LryL-Pr-UOf z6ThM&xqO@KHRSBY-~W(Ib?y4~$T#7p52X!1f%|bDGW2xtM7%n2&p?&xyKb=#9k2G~ z`FZoMG*3oZIk~}i7|lpx^UBl5e~^gWd_50(X3cZ|Kh&AO4NdM+u9<9htA4JgMbDQ{ z83dCEu@17!$`_8eMvKa66W|z7U`!*#2_3;d6~Vb>)s~+XC(8t z&b+?OM0)@J{aapL4q7GFaZgQ)LbQu+O|)-#A6KIz&Cr-_S`^*5!p?rbc;TmdSa>*h zhDG09qCmbl{F=C=|DB1mJX#c_K3Za_|==p|DE1kBCW5#Onp@;{Oi}Eu;dIv-wXzINhnb5G--wd?U-me zg^jj$y2Ek^o2)FX`-~;~FJN<#5<4ReX6_}U{Mr8;rinA>L*+xutHN9u78Bx$dkU5h-yGRJ8Wo*-pZOhZHSFh-p>S#M;JQJ+Nq z7qo7y&{)314sFaM@ zoc@ZQWb*wD6Ikyi9c+c<)h4*)kiKaZs~@F4z*}d@$0ymE>vu15=6Y0pK-5E%s`4(e zid{Op-pWV7S`-Tsr~fCP;<2%BHb$KPG5hg{mKcDWROwrOo={Ex@jiPGt!{R+R>IBFlH1%H2gUC+;}a3C^Kb?sKg<5+Li2(vqN1|p zPSzZC-QxJZe0oq3%e}XJ5X%$mO&*kWx2b%ZC6N8 zaGI}dz%L-G`MIBbk{9lg`C!uH2)(-A{*lY9UI*_BJIuN3;@uzR4k84muEVclp#l%H zD;MunMK*M*4n3`ukQrU?D!CUzcU}8(OV6cBt?mb1g|>CPYjiGcpy6k~oI@UKG#K!B zg9==P)X&e-*oRBFtVR9VxbxSRUw-YEcKx=gmLNTi=?^!-c*jIWV#0-5yc#lH^Pfy7 zbXB^lrfHNYMije_ee!&Yf9_|uaayA#t$dHKZtv{1U-PxquP)i~d8I7@^!romm-*ZgZEEJGcQtGY3C#T3- zXy?<=E|}v|FPwctF79-~ts#zrE$gP>ad($3|FEzhTjigxfowXZqt8 z@pBSKUpUeaz3@DaYu<|0yb{?qZA_TlNj&&;uw{Sp>4}-^Oh%2nuQvF$D1`&|Zhn^O zL485qQM<#Jil2V@D&{7s#En;_THl`3{#eucD!EI!%la~e~$YcB_WXCC0aybYWf4wdf)O=q1K$0ow z7#}Jw3Mk@}Z@WD54rK{Nh9Ez(zA$Qd5HR$@==@KVh5_qiDt0{NsBe z?w&?R?d0XpRLsLyTT~_}_mbyF^-T7vxOMLk?tRW^nb&XddS0FwUH0tzQu>hFV2%dc z{rm-Xc_$oAQ+gDa6=RZIxOUS^!!Xi;B-Gs&Iv>Y0A6r<#go%TFtu$!2Leb!WOuuye2wlXXkHr{MU{e9tuG;B$<(DCB-fzL=!kQO1kVTtkWyZ1AUhC{mS_3Cf-SHFJ$O)p%TRoK!S7nW;}q zvHoDMe14&>q5jmZ;DqHgq*z;vRT}a!m}=VBFpPdkVhbGTrPW_+j`S$JBH3 z94OiIujX_jzGRq$mq)ggFbQJL4Gk{?213>*Ww1S{xS6G5;!jlxXHsCo2`U72(Bqgr z;Vr~>@{@YV<79r_JT^y9^q@|^vfEs#JNDKwxMy>y$>xzlmq&d_9s^TQ=Wb(I+`;4f zyx;WgC$7m(tK_A?&EJX}pK<4<=Ls|3i(_GnVy(N{RpPVF*e@G8S(3vmE}+E!5SVWI z%$M41l9G^OjFZvTM-iVL7m_?Hgu+Oneq5*aw?*XW__Vk<5*#vz-6jQ3l)QkwXjF>6 z0(=sn+6BfHOJcI!SKqc|BG3oq`4+tvP3;z!1TFjCu@B;%p$Avwqh{n3hx)p*;PmD{ zKYG144lVWArPy7Y)i++QB=34KH2BF~!(174a4@Z)xgX51|BUcfb7S2bfXa-nK_ zoyoIBKDaneU-@GARRvh=RXIC5|7ZPWz7C5&6g8q11565BT+j3B6l(4i6R=5p+Tr0kEoj|-YVmjf#P=BQk|k`NA*B2(%ro#x7h^cYX+ktXDujj` zc~s1NQbE6r&Mx0BbcwZ);NlyZz-mUgOi01`Y#$qBeexol_?LrM5>C2|EdeQNy~KKD zeV26!@yXyLE_7RFkX4$U_eHEqum_X-Ageht>5nhXk()2Rc2E{VyYLV9*_MI}p$(@L z3!&Bp+l}$Q4bg499t54Ta9hq84x<&QXe0XE_Axd?FW(b%(&FKR+#&k?6}=h?on-<8 zGou$f_NG>Zet1!`#J{hy%jLTZDl}Tvs zzRMaq`rvJ7BMb5Y1;xp_^$QmSr&AVk!X|^}X;XH;|KLcVJ}}&xFspIYx1A^NOxkMb z>>qVm&@Cf;k|sJUTi5R1OW4=~#Rz#mF^xEbo4eocxCT{EC+~;V>}2mB{SI!M@C;iT zC-cNImwdObSf+`pmI_3BEkV1=R9}@IM0nn??GnhyckfTPO3lxS*#cxb*XrUg(`EW! zrc3&Grf!A$RfRbApLah!8@!V`mYQOV z*bDA`Q-;V;h=ga*rw*5d4kQl$J zFsN^a{Dkw{rvJZhBqHzKK-bJBc;ExlIvr2MT{c60#=RvX##i>M0?pB5Psv7+d2hOf zh#-;M=U-YWM0EpSM5%mcm^A_FBKc<9nMz&?`LlGE@)adZ&XE&FoB};R4P)_Hq>W78 zo%Ieimx30zn?-|`ZUb3Dw;ogsVmLMy{UsQB*B4pGIW%1 ztx4?qu`{JIZcMp|pX#!K+NP#WXT%+-ML6_5r|VzBqRS{QhhJ6VKUMC$q)A>>AV-Wd zYEmu{k+_-&n0#qo58ZRfTxa2YfpITJB26ptr2wMq_JzRrldW`yFPd1a#4Z~*zSh1c zymw!v<@|6C)cBQwO8kXgzKdlPzQfk^3U;=|IfY?6me^HXt@ADM?YL8(0l1F4M!rpV zjgB!P-$CD@6kprmZACNQ*{ z2vbdxG+r9-<7Gf`?}ipxg&DB8fGUL`U3C2q*#7HhQ>?_-_zTRdm+T?P&|fdZt}DP! z-htjA=Zd{PEbs{q^(*h5(x1|gX+XK1VPF)&lFBYQ6-%$&S*>bgj#v)MqX`&bnrSXI z;x#=x@@<|V4VT8Xm$?jCLSZ+{tWkSiV*FYb{mmgxRt3yIV7Y!rZXD2xSsguQpd%Fv zZk$<=-gViTRhf!w5v&3sWV!!Jo}Kn+c+vwmx8XQCT3Y#0e!h45NLF6cx!r}HU7>RA z<$U9o=|FqFh&SOW->ro8IXL2eaPT1abt%8g=Tw?E+T_;nnhjVIR)kzve8=-w(C*(S zgQaL9#g`TXdd;_mU3c)}t+E3NJ9|Sb)0U1`sxj*U&+>#5s;ecl37wym_;4 z^ZhCb?edq}9|s04*uOj2=v!#h63w=uWqG7_%s^zXo1~ON+N2i*BUb_;fX4d<{Z}k< zoHT%Lw)wy>K*6xt0_IX&0?j^_pB$YA-m*Hxn>FoyZzB98xNw_#8f^XXl;>OU=$0r z!M|xMibWP_C=-6%JhwnigqPdFx$8=?;;&gn*LLAt~JcgW?|cdq)r@9#hJ&7Q%-<(@O+?7g37 zJ!`FJA3;)__6zaUrR0C>>G@W8m<&P*f$uUkK{+Qe)II!ftk@_)!;|n)ffW@%MeL(Z zn&D)`J$QALdT)>!e5E7ZHnVtiU|ojlcg+Hi_wluJ;QY}E6GWdUy{w)%j~>k{X(TNX zyD~LR%VmkU@TlEC=(Exz6>h<->yBu<_%&*B@|o`heDjVsUwE2BW%S{Qei1vpRRzIrK4tqK+fKFXH3!00E2WGOKEGuJ4!7rv%{$xA zzYe;oJn|`vk4ykTp4EK*#ST=a^??xJ?Mym@+3xMJd7?%*M6CwI;*Xn+T{8-j9=N|< zMXnbX*SS~2U@I>@<_-Rk3PJH8HTE)cZ>7@h-Qw4Szo5tae4X)<-_-qM1q2U<-)^`q zRSbR?(4#NKbk}3~c8j7KDE^?U*Z3h-8;K zf`?7Ln3$a$3V!ZhypN2?6LFGKDFVp`zq4d$2O5!bQoWy_ErdL}TggB4aYv?Qp-Um| z<`dEbriBn~+bd?><{QA;VMHOTG61U=A=D5Xttp$vs9E1yi5;2%U5YyR%OW|fa_={`wIq}XASm*?!@D)UMB6QR0B+qHB!S8`L zgFtS{)cj$l)c5gcetOG3lI)e1eXEpr#7iXT=~`(BjRIG#*!qt9z26_+zg+pEiJX>Q zn`xd2E@gM{{JQG%ZKKHxDx8#-c7NT#UqTeEU#Vl$&KSM5iknfwHB9n1Z1g-=9FvNY z^2bP1ZRd^mE}?|wx+cx-mY3%;f9KYvjs{QV9aO$azRh)lZ_Oj)-d}oOWzVhWm?Y@G zoDZ1YYqBwHJJ*0LNk!eqDGa{V*4CjPFifSYyui3v?R-5F3O!-zIBX1`sm(KLh`z&U z&9=Tb{c@-bG%)fRLcqqyr%@|mvFd-qV$>BF@frH-@!q5qM^!CAXf#aC+du6%_IRHf zv%kj?<4MKixGjp{gLJqnXwbVQc;hQ48tMu!! zyu?+}@gB4+QldSeQTq<2;~(+*MU0t*T|K&QSkftfm_B?&KW})6wIpIsClwO=ZxO9? zdq0-c0ucHJjCPlO?utdUO>SdQgkTFCy$2sC~rXsv8- zAsKq)ZHvt2sZ4qS;%I>Q%I%zF5v<313Mm}VL*J=GJ%SafNq7UxgsCWCK+@x}&-u>z za;TRZ-{FVBRQQ>YZyHEw^5)J)caURjS;NlbJO8(E%%S(s4DP1HRkNkG!qzs&*ek25n-SJfg<_?Bz7G(PZ=7%x}>I>Rk`J-oz_U zJih0_&BK#o;?`||s2p!|SC$Vc^lstJ**+B1NX?BBd%2Y4lj5ZwV{Rqlo-{a9_S(x{xr{)7RBLp0 zY$oBX{Dep4Psw-pPf)7*8Qms1K-RyGC2<#|$K;Wm#>>XU2IxdC!<394qkk z7>iZD8k{eNE^%jqW^mf;dHnI0sV81!UGZ-t04c>b*`r6tv6Zv=hGXQ>CF^Fcd#Ytz+hr=^7irzo$TlP~0UU4K(8!YLf zDtffGOG^sk{N}LhV7x*0cMWaT^;U9xYE{}Jo;*L-&YCq_&$&I0bfab-T+2L<@n!$> zZ3C9=C`RyHw}o@Dd3MKn1Ho39*Tm_Mxei8wOB%@ULJdXWH014~&4AI|fJ5Fm+9xTC zO-?3l1bm(HcHgp_l!$xCIn)wY2lMQ@H!@4%)}8a=$u7n%N#yYoi|2Y+g+%%pmN+-x zRWrq94cgQb0YX5f?%q8X3;^2b(*KbrO#W7QdR|y{=Y0BT<7Gy&Sx+2DO{=v8ic4;+ zVp&9+^|W=I`65G?Lt4Ys+AiV;9GB@AM|EzdVuP-f-cckaF5zzZS!hIS`0f1Y>Po7_ zBLlA$RGHNO$ysI2#jtHyKO`Lh%6zqqn#ecfs_+jm7E8lhtmr>*#KiW&5lLfrnPCxp z*kmmP8?`K+2@fO?ELw!3{mn-}Wfq9|dBh!vu$som>pq1Lpnj0Af!Cpo0|ju{5bEze zJA8qNFFP9JVOS)bQsAE#9RGfVyHdEl+_^{}yMXPT_U@z6iJs#KCLgbVHnBO$TT-y_ zkh+|^YFlo-+Pi@t8Yx*K-7f-9<;W&9Q%HL4Tr=O((9s+jYQHD(FRyNrc66?)R; zQn+9J*2^iK{&$0TAvaq3tfGuef#l^7ssC|AIvY!22~6l*(8sii!Ce3ParNMf!66{~ zY_)OV4zKyHv8nz}>^=#|s4}egOr{H|w>ldKpD??Z!FN{-zV*(}cNYXbf4rzk|1Q^} zFv#uKH!*Els5wANl2=D=|KZE^BL6_zw7-ycmM)a$)34#^RIqYkWTtklFOFz@KnZY& z($-fG4$^xHR@N=#MFk=I@yE1E@w-?`Y35at(x2_4z6Pxrq+8igXODUbrr_@;rwU?x zy?)p2^AI3{KqGmtqSYZz)(hoCZjIe9jNf9TKA7ewqh7KHXdbdnbmrZ= zfe8HI;hpY4#Mllp5ZUXj)(Co$_J+a1>&*)*ok;p=AjHHtknS=CBBQT4Q1=sHVE~)~ z=+EQwP=MA!_PV7X`E;(+fS9}@%&af)c7t`H*^}g3-oPMi~L(QSrdScq; z*V7h2)GqlxUHo&CLp8}-T~c;xN_%_fL~1(7*ff{ldT{iNBhSU*zxf0aBKw-)F%1H7 z0BFD4IMdKvpF|jJ^u+V0N9T54i#g-31bKF~T*vX=y}kN_GCcY3;#`8nj9HKiDt)E3 znr{a-W=uuMCOu~q}h z>gT{H{=^C_G%9nfka#(uzA1ki3Nul_JR)JIum^_#0jF17_Ko#4B7}w>pVk~f?A{G;V^vy1pr3f2V|o#^la^3j7EL~*DKc7{ z5;X2(il5k4zLC_IEJKGJI=|y7vvqRqe!fD{)}&AZq47Rmn3L6h2n9s9isZe!JA^>MT&)nWSO$X;nK=loTNsN+}YdA%;snpJG;(P z7@L79M_$5>yttn;9|_34bgR*YKGy^Qv!=mUapxDc-J>A4HuZRk5`$MY55}w6=tB&u zjUS1u`KGI83F+m&I(*^q{j-tbno4cg!F_(v>!Dd+dN9mxJ@2_$2 zD(m32$9TUY@Xp*eQ+Fj0&DEfxM0YuH4>*>Fk0a-GJVm+G^htEg)}bJDpjs2Qirc^a z3*n~}MSQeXK8W*nu;l^u4{ZHjyN!=*k+Ppk;))zLBlRXRDp^s9%lZDF#0C0q;zCf1 z{4lq7N?tK_iMC`_4(y{7UiEqWV`4UpjjPP-foB zP;wes=H8o?#hdDZ&&3Burx9L~tjKQRbey(vZq?d(u5IGkcxK>FfF~)Ia97LAA7Cap zT8@`2`MtB)mXPIIF@wVTF${tGi zp0NLDZ#W`!LGD-t3l8e>lw5yH#+11hj*T=8P+vVi&pZe%EKw?zFT?e>v3? zw6^m;!x1|}#Z)=uesSCMroP)m=X+EZN=L>`HnmTYCBIkne(l2pZz1WvV@-~>Lnnm; zLopLXP0;fz=fgWaoWE~$kckR7#7}rk00J^z!kMqqpf>Hh^}ul7^O)-W&4eSimbKU6 zR~)RmSS;Lz*dG8Ng-UR6=vL!!ns}37MLxE^5(-`~2>pTA!T*KVu?!MQwU3n+8$B(e z_~SPpP3F=+e?{avsF--X;xG|{k%alc7RN*l_e`d)tP<-X@4f8#X7^Y=MrJ1B2FvQY zAY5NG+-0AaMn82Y_mEmQpYd$1^5 z7;N-MtEwBGIU$+=>QAKib_upD)b-!E?O;WP;PhTmoRggMU1A^6q1dIZJYl!@;G}<} z!W`h$)n5p6X5Uo_#B^^_-3QIeft2xl=b`%MuXKL~h}vg@mSze$80 z=Ojvt83-G>v&dLk4X@u}YTu`hj+94m0(hpJQ&F8SS%?8VLc#}o(5#}jubFWx(#rjvM4L9sXZ*mJQtsZr=k zxaMOWkQOBc?8`pG*GRs-Xt5E*J#1+)4eb3f6$IsF)A(_g^~7l_G>S3RZw;xaUj-BV zHZ5(yx4L=KG2CQe#`Vbfi~hm$$Y{|P!0aS1R%I9n)MFzFAUGFxM1*3)WUH2}*hM3F zNbKd+l@jgp&USTTz%f{E_4Wk15!7E#Js)_I(=zgu1ZJ}8|67*k=5)o=JptZ-d)EU^ zegojN)J~u>CTcX5=q#2^+rDBhTZEn0)&Yz(wBfI79#9*xrG9>B+My3Pvu!IW{En7+ zkF&Vi9_lNg7MvpWADXq7{)ldVUbJaulO~rY#a%9R(A&X4-eQ>hOfiAOMZku zQSgpVF*G83&&=r{|Ayx)zvzpZatd5Fr$uN^`v?CJ!17%CKGxmEZLU76-V+Fm}hhR-ih?!d4 z?sY>Pd3hu9I|3;DKj|ie#r;u?q8b#)wj~0S2x-&>Dy5<>_y(%!JLGj=Dr(d_{F83- z9^4H(>Gt2)m9u5yhaeb_YK7gN6&L*_svN)rs`dQWzXAR3YvqQ=ZOhN{c4}3Fdp#yh z&S6oOuaxadh44$0uJG82M++mqA*u)U8E7T;Dx#M@5@IyicP&6qmdv5DuSJA7xt7qW zQ^&KPS^&*D594S>QX+}=O(gW%j5@`E9xiZd+Xa>4_x1-4#g%9+PV;m6m(_|Ly8)kG zPNe?u+R4;$`c$IErOi_yc`#R5)?D8a(peywI?sdCo`5~$*pKK%2m3fm`hGl!h&U?D;vxsirC zzD414s20k$>B^%wMs`ZvBesur=&yX4l=`VG`CX}8Je2wohE|`_;M?VkxDdj&*QZu* zv^m)%hmvCHn52)3p1k<#Lau9Deny*Z2PI}?vYs$NXFVekClaT4ZH)Hr*=9TS|DAIb zl~}Hiw$k$uSF_liI$$VP^sWllRsmwK4nt@L^j)J7prMIzNacyH++<}$uIWfIpYsMwz)}AQT^gNtAOJ|q?p8?Bb<}&~KDw_v-8f;JRO)VTH^QmaQCxKa zBNOmuEy(XQ8?b2LX{+ZN$nWW*%aOxV_CaZeMFzMT@`ca302Ew=F*Ke88&!AeJ-?h# z^l-u@E|`0-_iNnMp@K*H^{5`#e8CUlWA(ScP39hxvkvXNrW?M)^SBsNo`h#d&-GYPQ4v>~5x{ zZ6r`+Pd7YqSsWU9@}1<-V`rnk=s4y-=otM3ZMj*GV9-($(qkSjfd$vPU*skdzLi2a zkoi8h3d}a%;gv=GnZ||DsNv3`Y7y5{-?<2C{5utx_*T#_dGLhIgmaDu0^w!J^{=J> zpb@uaG!JW(1O*Uqi$rB$@hfrl;byYJ8%?C|MHD^}hdh(|FbE9~D7R1}DmmtR^*a?j zWgxthT!t&U2g#B-eUcoTpeUQr-97O zp5behEyGW@c#?PHHj-T%_-ZxkURrVw<+Ncf`iCfuOCmxdTVa_QMfIV$JYdv@ct7{u zvJf}3`pAkTyuw*~I@CQW(&zhOTHYJR8mn%9j9Nc$Ox~pWWt!m4Lu_-9hxjPPXVf`)OJqMv)tg3dfVW~ zFLG)e5jWF(BMWEADyb?;>S>+77uDiHzwlH;2~F@&aPu(g;~xQ1_lW}2FSKPz-(n`g z`_ks8npoaL-ydvBjHC)-zSXSz6e#Ncqq>UaY0bTEpV{_yn8EgA|5k7AU&1mNOB{$p z@L!EF8_a|&ip=Ul35b6(G#BZ2q9G8*z3tsF56*MGBf5~UF3tz`Y!D9bhrpZV1;Y}p zt=X4b<9}}5IbvKi83LgO(>+yllw61!WztN@5LLoP&J`J<2k*h0q`(6tpZTJ=mT=f; zT&%RGW&W3EOtPvqC=s#z5+xvp89oMrG^$PlDkY3i7=Zx)#P*CLie06>=enuz z)`4_u4KEy7FQuW({Y5j-hN{hd(<}=Ru=9g5CSR{dHKl3k-6t%)NiFJA3S!tmK+`(P5z}utCBoGR8hyK zuZAVe5Q;KTvV`ZQ2AUPLTSJ8#F4UI}lxK~SI-J`8Kqn#)^o!1{sXgA*?+QD~sMd7> z&8{6u7$6&bYuh+8Njdv_CBSd5jQE)5iPK0ce)9G-Usn^!Bf8)rgy+@lAKaUQE5w=j3%|eT^?H)n{}tMGU!NUlSxrjUOJR18gKvMvwISI0;~?b zlcH4Vpl>$Y3sPqazb*f`?al-!l5`cY|E5oI;(SxA&E9gV;QU=OKpFm1D=5f?jpqPB z3xHA?A~{?%%sUw}kKQAv5i+QV$Hit3)*`eApNdnUcrdKM4=CFU@L8`SlspfKtsz?Q z7+Xuu9$W}0a4kdc^Wkd67${z3PfiBVtiNMgfRb zqC>UDZv7#|>xG_rkBVlm@d!k<_3&Z3`AO`W}8mf1MW~!^py2+uI4!BE|nrkpjV=B=Ky##d8F)Dqo)_%0#x+yD11LdiH z9TyiSS(!Rspb$(2^0V?p^`3bk!ePfgn&;x-orNrEp&X1uyX>$&t zz#hWn+c2u57mhy}yt~4W%6cU#A7fBEFA*I1ajINrD~~wJQc8<|!;XCAKVUftEZ($; zuYAt8eSeFwH_$;s#JXKQ%;hixKvXd>l|jr%EC|P+Q7Wj0GZBQ6UHP9{hPn4TXtWpq zvq4#h!=^74rI4(EF^V~Z&t=C>6$Exwx{m6{i4!!YURL8gP<=k5rkyB$v;WCeqM24# zxH>aA$;Ue4GM0@=;l16&fEj*ZncVDKri9VEoVjV{MY#FJ`l&}|-;@vROq{@qZY|1= zzia3z<0|lD(ssFe2=1xG-G5S~c2HH}@TST20`J@8tj-0haYE1x-a=-8T=^v-_XOJ# z=->$>VJRvtO>OU+kdIAiS);EZ?mEII?qln((5o!=Ju+rXc9H71Mjkh$M$~p4(hWN- zRp>IX>w-{~(}LTxzjkKFcx8rISnM;RV68SXQju_r1%k`2t4i9;0Yt*sE}`O_zFX{nvjNP>7iLK5 z9-+Al-pjX&Ve_^2NTM0;uaVboFO%vJA75G0X(5G$%22w7=3i5W%sn~GJY*8^$=`AC zSsFn^dI(zU_I!u55dnDyPQT$H0mot4MihMJKx>!|;TYk_vZC z?Ad)qVlIzErQh`|5_NHubB3&LllPYVNbjPYgP;+{5sPsU%4egA4EtGj``};IY9Y@& z3>y9eAtSCiJ~d>DJ+jgfl%P9uTfL8pdJ9_{mr8DxMR2Vqr$sPI*rrK%jMAxduKgC* z9R7EK>k(%4Z#56w<)WFCGjEhsJ74S@(`IZs|5eB^*i*K2eJ3w4Hvt z1L7$TGBKd8*p^T2S~>!lqx&pv(y-J84jfVLgK zWeG)X?WFB%lbW>GJ_ow3Jc0-xRG{QP{M%Ip6b^62(P%x;&$N!MEHa;96k;h16X9t| zdmP4pJmZ|@C&s$_=54CG2_4Oca~p2a7~^W!v7YNQ&4_>7NIFvdp~@eaS<6VI$@)M% zV!%2pQX=Gg+N}a%s-}UUr7Ah*8}oKx##~hZQorS#?l04Tq7=3m%{NgH;{o!#u(wRM zhu&0jKU$~*j`v00av0mZ{ z$#sDTexKyCaJ!ryGT%?&cS#Su=2)kYW&08hBUkqAk%Ay(naohpv&9%egloArvC`wW zx#sQsffx4a(aMLRnK*<3O~CsC+-n#~)ccC#H!&zaZGHl5HGa+s!T)zHr$t7 z!HOq1kxD=;bg@YNVC3~{v|*bYCCD_6xEiIZ)gQayp%98PK){#h85tPc?)CW-%2^V~ zqH!+(mLm@TqiPb?LOY_ijjR~1&)T=Z-8Q?)d?SZ#7u)%m*GW>H#4CNr!AqT{0C#!4 z^hf1aPQBfTV%$D(>%yP*Td{p9cG`p4w@LK;4gtY-VM3%6{hIO)fF8G=+5x%#My~<7I_M8agk%?oQ_>7 zKh0gv9Cfn!6nloP@Ym58lXKPi3@pFmU1%>s%_pZ|Z$WXiS`!1-;KBKHBC0qE0w*@pukwhlEpRK%b#y;5Q zMx>0>dlj7w50(iAbY7W{8LYuHO2#sZgTR@pdHhSa$oe4S^iD+A=`o#`+N zFx{Jjhvi&w2F!j|pp8A80x7sJ%ijMY<0gb9Atw{q$44(lOi@yhW<_nEC_CYx8{KGp z__W>%diDxKCtn%x+g35!8?4`WoreL;;rtht9ma5U+P@wm8H*`txS%G@at0dLO!qM8 z?+(=yssPyM-VJGJOhBCmR3~3V27Cuo2zSu}!#4VwYPK@YdJ=IUk9R~urX&Lt{%Qyp z%&iRuU?c4aE%A{{BZ4#{$_jdu9!Wc>+;@RkCVIu4#=T388Ov#HxI2ayG@^f z?_qo+Xpi$#eenk-C-;$IJBujWDM9K|XV4c6HGkaw^-)g?Ag}Iev%iPf1oRjD>c7eqiP_k$!`kTg88KD?E#SW8t^Tf`p!x z)~(K@Q21|eQys=&y?DSvDbM7MHb)uK8!&Q*>FINM7Wz~?Hs#lg|0p>}mHUUzMOAaI(t+=WSsTc0BA{g zi*u>=w_Kkj0{+z)nX={x_|t`NepG4h}@JOn!JUQKMQ} zg4(4=c!9`%Ro+I>IegRQ8h*fn6F-}ImmCAb4p)TzFv#mOGC$HNz~ZUshpmXnQHSz@ z?nDw>A8S>)1lf*=?WQXAUxw^%8+}U6Crn&v%$>BxjR4on>mcY%wO3IMurFy_TQ&}< zE80Ng#u{OD!@FwyP#6p&^GQHWuuzv`mWUINT5Hzj+~tKU`R_0(NuOI)qXKT^c=i(m zphiro8aH8iWFnMGF!59m)v8PtCFZpgV*-Dj2@`g#niCwo906iDg%?Zv8nqdL{{oViR#pOZDvpy8CPB(nd4kdS`~>r8tB z+k>I$MT{l(VNXS~?9*CYLzf@eZZyxWG;L^sVlEpSu&&=xQd3Kvt2SO- zg-b2p4ZUK~Z1t`FrX4lh)DGD1G>mPZn1Io9*)UAdFx(OJH@lw%OmYGw8l6}SOg;4@ zYHy)PI2T{ndAyoKx`lV7_u+e;jfQVG^MBmpb$~O|sx_6X3D6uhVc=T`6^+=r#NKjw z@?p!Gly;?lwf52D0xP^PbRi#T9P0U)WU2xhKF%&2JYtd^zE2S7^$1fmz7wy6EM}A1 zDNyJkc)}P@MnqsDj3e&W<|IA8TRRDSplU&shM| zI6D^DVJM1jKTn;?VC?=!^w8Uu{$4j0uI2*SKQc89=iS6!6j`o>sNM|wW6({8O;b4L zFu7C^vX59UvLf}F{^Q9#`z9a0G=&Jsd~p8(g-S96mi)Kx0iR;{t$Y68E(mYa|B|WH z1(WzwB_oy}2}^)J2@1Ubwn!{mU=jCxU$-L=F_POHvK~aheI(o=&k)5YrBT6sLvhm! zCNy83U}bzD^d(PGA!*ikdCw4MqP0SeY^sk5udao6TVY%F>w{Yz1b+=x%=!baO?IP4 zA5>nyzON3XQBN{XPELxdU}Hl=&L$^YMfDFn^l8GUqmTN@OJVER_n*aCoMF5%V%rRLa6-p>4H!8K=fB$!fUy%H- zBxFav{m$3lM_bbS?egGu%OX0Vp>#K@cnCy4tZy^a4Zkp6WSo2mo6Lu^y=qS2|A_p5 znoizLfNo$>6Wuqkgg*-IL^lKmvI~iMIo837lyAm_-N-g@@54FvJy{32w*lK00mp_nY*q`-C-0j<0^Bu3Wt8;7L3C>6+?H4v` zu|v*x{y-iM=S!SaTzXi@dttj6-&qoYA-QlZVe$vj(KhYk=+@h#TPYL{->cru)Qo-I zG(~PVvtj^iKh2-up3?VrA8qc!5^)7PC1n9teoV3janhc!toar1gsS0*^kj`)wt%C0 zrwF&h3o@4NYQHEIpeOvi76Ionji*71|B*hg|0TR#G}Ajt-9pU!XwIs*`WchT)ic;% zo_BwKr@^>EF{C?P-+8EDlV=yl1w7*DL?;~_5F{HNIfWQ8W+WymA4k5@|5ZaajpMyWC zME*d)yi$vHqwWgKKsu{Vdk0yz`Zrh_k8!4u1KcAceT|NPEMZWYKax|ivP%V~yX&z4 z1pZs=MW>O`qhjkp;th}CAsFPsw(pCQfX|3-ri5Fr&C8c6rSbH|D(T}Du-Ww4N`p}( z;pLhEjp!K~PN` z4WqmrigtESM>`6}!mtT!e|~v)tCy82;56sVJ8Bqh{77(*XF^TjM=f8teLcs6HBQN-D{M&8eB^I>8|vU3F=uBUb= z31uQkB4cwxPKikt)qds^whr4QjCHk|t0%)kq2YWDBftMS)Y8-60)#EiPBvHxw-y^j>@C0O_$secz!&_HAJ@AdiJmEeB zMGYEV?1Mq+d@x5PqC9}S@%0oIQKRQ9NQmFii%T)m>YlsU$$HEKDJ;*CRd5TAH|7Rq z3ck8*r`Jza>m^5M!j*5lJvbG!4mo`9(Qqm@LHh25E>C&6!&IY^YilthWl&N z##iMO_wMbVswLT}(JGPqxZ5ycnB2!8XID?%v3RXAS7pS~vbH#(U(f4L(j9l7TjS~P z3br-Rep@bFS|eEbON&HQ5DyPHWa*3-Ewkaj0C${h6bQUL#`xj0bL?riwyC`R;@Oq# zpJIspe}MT_ium$s-~p)rb%Nwi_qKJISHCr*QK^N{D?|jb!NPn+DznI% zcQ~&_?!$CbU)xvBC*>TY?>N2?d>XB7UCj1QEUy;F1;Hlao=(Um+e=34K2NEse3_uO z=J+Gv*EIWDCr%vd~pSff!3o<{UvCtC`D3Yiink|1xs!*P9 zMOPn$Ik!={P6{Tq{lC;!jyig0ZzJhGqh^J7WDz1FSLT04NHv13wF>S$ey40~Bk zS+gjt5Ki>^lhre5A(>OY43zs-F%c!e^P`BX2`(C4%_)Sv)s(m6H`>sU$Im|iFd(my zWfE|}{>Kt2^HL$;NcMMQcgU+`Fko`yN68HufAbOW2$Y|?MjSm4l<}gvA{Rs_=AP~0 z8L&`DyRe@hF98W}y?z#yKp3P&h48j}y25PbAKnR9&2qf9%x?ZHgI+!9T(l5^bo3ko zYpUcUqkN3{!H<^o0g)Zq#ErIDdhuc`D=_n^U%^&62?DVxv1YH3D z06o6j-{0R?3y^A*eMd|5j=?%Xr0c29E_hoGd5E1HOdFuX&&;DUIoo%n-lGzto+GT2 z`|6i11gPAA;G%MC=8-$D&l?CEHaK5Z$Wt+PtjG?SQ<}2vh~H?#@QDY*t4X#y7=!D- zQRN0idml_WIEA}aeg@(P$MvTvRDXqX>LML+&uDt>d+;iPFSDu=QNveMTs)%0k;}wK z81V30Gc)eGaJ7jNz`xksaO6eUD$4_uo9$^2`V`RKmQ-r94>V^E=J+i&92TpmDGmXa zrsM9DTrRjkoFAI&hm}6XSehNC{kTTp005I-VmUVX@YsiY4}*R=eZlu0NcH$(Mq?vQ zUvn>p22x*i6F27u8|JUf=S{JM;!pto`pSXL+PZvAc{rluuo>!F??FF88jsXGj7X$b z4G!dZfJ}Qdk*btjIy6Gb?QIKHPfE=x_M91B&LHHYMFI-vNGy$@&0?bi(EZ7>H&q-n z^R28ry>PpKZG3pG&1+{b{f)j#hwsr2 zxb!#@aXJWYQU-ENZf3Zkx;#xQ@tWMF+la*?`1B{*6=SRdW?w?tI`!tP5`TH~vw-6VckZ7W;i$T1+FQuCBb1x_}*Mmz~_oBAWFd#Kvw;=fz@QcJevFou3sFmPq*4ekE^$3iqU>fw@oIw_L&bsg01pL;gA*Al=|ZwW#$Xr{`U^Z9cR)@7CM z&C~UYv6f+zDxi+VP)TZ83syO9`)#htHkuG5G*hLeV_cT(wR6;*ysE(XNaCoG#W2i{ zw;R4ESfYYNz{lEdua}Sy9UKgqe>5S1lh=k$6F~a0wMjwOKjx>7lC+BDHJePHlNtQ% z+J4i~DCzq`rsS$I;e$u978=`VH#obcy{Ttz0kPg2z7;_gN#nUev`?0@%dVES?>6&{ z`0%^z>nm~Psc9!t@Fo2b>2ZLyi2<_1U=Z^3_cDvdF0~}$X0wTkRVf&8{|7Pzv+pd- zLr1@k--;u;*rMC15r)673j1K{z7dhO=mK>$K1rrc0SVfTr|4)r)sx=p@L4h+m8?lm zWW~mYG$0Yj;>yi=nVApA^dkKZCuP*7AdFKro#L%&{0Lm4`#k-*VDuJBoS|d@FDZAv zc4d&Z04XB(9ddZBVK;+5boujI0&*vy8uYP+S__aE;?3sD=^cT4RFuOX+&bBM0%132 z9<#IMIts)fn7jXOL6ly>1dk5lTh>z(hF9z8^c{Sh!u9?HSj-$83dgOR7M_jqMnX}K zZTBhmJS<6msBd2?Fb1(^V6KQci~3P5K7i&Jg5<~x<_gClN~-Nf z7~e^Ke}e{@k^$G!`z>qnc3x`di1eO1In zUbi%F=hoe6`gqW>=$_x$6JrwN=oMs2xlVBu0zq7wuu{FQ?5@&V?NYtDwzhtIic9<% ze0e`AY2I@(=DijC;S|yg8p8}tVlf4F^vNZ=SCzx)O z=nL02-zCjBh>Hn6G|3yfzB7?u*!n%3TyY)dB&sV7_+CoQlsX6j!yKrF${kV8iDXB5 zG+=s>0hY{*_D4Gw{h=4N#Dt3=tA^gMsCqZ&FLJJw~F1T+&O~o$o88-R!$U^$-714NiBltUlatKdH zXqm2WhtFJqnv+W?d~fzmIenIC1S_h6Z~7Mfs#f4?;?F55jXp(g;scylvdYrFLu zRM~$r(t2UEFBhmg!O#%YGVZY_S@wVJ8u}HwdJo&JCsF~!ke!@D z;*R>-*Rk{x>Nv!&b${)SM1HSh#=9hXK+PP#-yT2u#IGK|wFri6pC5jjScJUT4_rLhHNTf9=ojyOusD|Dci0Wxkm!uh ze{UY2SZ5!kU%=slklS8G&aDO`O>Rd+&@l;-S1$L3ojDUo=((a8f-?~8QXG#t5aafB zw!gc}_itJU83Gnap#3DsHV#4tww(ayG<_^&fD`;;Tth7OHF@?USC|q&HN+b-8Nx2@LfQ=$iD$n@ z`MQT5mS#Wj+G!{8%LcDPJdv`$)3cD#bE!RhGt-SvC|{vS_KzmFuC76(xYNJvk&H`p(TJFbJZ;<2XR?y%9WONUOI-(pc8Sy@U09vdB9VEZSCxZP-gkoU`9S zoQIky%%TM}`@im$hML$eTJ+;b-SS;ol-UMncp!)mC#tx|9>2S|BY!s4y!M9_Bcm>n`bHH{VTRsOKtwe|%1llr7UK$isTG5gt4wONPy-2TblW(0Ob zm|xu)Ei~kJQ~jdbW@Kiwd#1)tE*=2?tBjkBZB1&ns?Ax5Xy?-9iDrL1we252euZRY zR6rdnIyF7z?a?hCMj1-e{O4H81vhz=k%U{XqJlmIS5iPz3i)%iZl&{jS=P0cq4Fw~ zxUH?t^Nh`4h|5Rxyx;+G&mf~;Ypbp!Rz|(y%|^Ho&ZBg?9CNdQgRRRy+3Mq=7^!u69H+ncp<#8AExWltBe)PbtwU_8&XVVjZ|EWeJ!MJy(foESE zF2*HHB$t6UtoAo?-DZA2^u)cjH$!s6H-Y<(xXIa7A4e@Gt_5)eP9RPlgk`Z|V}koy z(C^`h_SbccV5hlVAFTKxDvOWv^*ZkKi}J?}rjVa8d|Q>ZT}gVC`bLm&5-~$_e+Z?L ziWAY5~4zqVwNM+!tC>9M~HabbMe|8x(ZDws~?)EW+CSOz`%O z&CS*P8tJmDDk2_Y9eeroNGMalHhO!_rDbKSN^l}+1=;+ehGNYqCuM$^u}~g3nJ1{6 zc;vSsqwIhRZ`YS&32|h85NYnT253y5tocs(*rmgC3f2>@St)lp`W^-_U-x;#dLg-1 zskJB?=yV;^b`>nCZcWKS%BFkoO}^_AGYwf|IS^`eYY_OqqRl?*a51Of(+Z!MCua)?$Yi_B0vfThO>4)Jmwm-2y#I3IDk2jr?10w z?hki2Mq!cU-t|Yw0kx70;_Hq@AYx~SG8NYjf;un`IQQ*JV-Z<+f_x9Y@ehMxE{DRL zMt@oWrzw$ObL@U;7YT5}ha2F2u0D+6t-)mQSon36szSFE%6%}^ba(6f$R&@XAOBN_ z>=|uS|L(;)!Rr|Bu?m)XhFq4h{o>K6LaNb1i*LG7a-EXZe9k03ZgS9v!%Ch?33Hw^ z@oKDoSH}J~n|tT*8C!je;cMhRlyR!`wFDY2C2&2iJ8j(LxR|llaPrnb<4>2*W5E8q`dHo;aB#RAm9f6ppC#@w_}!t-e!vwj zB?+I=bf{8S*^V$U4^oTlyitDD4#bympXaOk)eZduQl3XXNDhEK10>s_5M0($7ZV8v z5!cVANU%uM&h6zf8}zW#;FYO>=kyqy%_3)%^m@&WanJ86mF<)6NIgI!I1%?K%Y_;D zCQJ6pWPz^54n=_zh;E;^*VUy`dZBeaqYv4L1?n?NgLg=b@Ho#___+5qb@TXT!mgLxn#0_qgMVPF8KQkU|5lZKoyhlE ziT4=KeE7Qm^9KHW@Gx|3ajBclkg^GSy|QiMGtP5>=td#}#I6^tw*iQr(oZa*YCe5t zC#}%i%=qp`f!X71e+_9jp7l`Tur6H4eo}fMPG?XPu6z$8QaTLL^c*mi`xGBC?sGP9DTP z<7AMpFM56Cdgmk!;rGl-nFKN9!wbrsEf6#XQ_|E}VBcC*H4vFKZpn-hzLkC2r5V_9m0T8qJjd_rHFKQ z4q$*ZQc8_+z%{K z_)yBT!tkRP`ScN^a{bMR@mumHjHP~xI`om3Bs90Hj%Swx!VjJZHa)cmSL{9)n6Os7 z4dU;eKhcRl)csmx-j%R-Agunxrkhk=?krO|;&ZIJ>;y~ZfS|e*=GNK0ixp3kWuKt} zXiMp9#SBRlt>YW?ShJw>pyg$#l|%CBSGHp%WS{TO5knplhwCm+E+X0+)ZzGHN2zB{ zLfV^_C*KS-19N_FlIqeNUGW#2kZ8OP19I%LJ zzl5>Y6@cRoubB^wFS7i8Smbe5sT=y|X|S{Tboui45c|JaM8EcPL?u30eNv4uDljC@ zZlb2kgGYZY;*D3z4ujjpPX*ej*Q`Eanl4{m`~G;ZZYWGR#GIPMtK-RA#ABmr-C6O$#tqf`=a3<6kk(Ap>Z5g_+-Cu7 zLPAcVNFkMqe%V78{iLv8^Yn#Zg#Jmu{r`fQp$3SDHDEV8EtW8#GrG89(BO#sK)i$f zDTu=H)Xex>e94AtQ)!b>x3&o76_S{S?K<`5GXmn(UO@2H7#*+6#>vdFY&2JzuhfH@ z`!SKMlZC$qnwT}SetKnIZP6x6k-PlxvwkS+Z6}cqGEy}XQRUj`Y=ypGZ{9PdK}<^% z@eZzTKQ5%sP_~qAIP~*pLj#+aUuD;ezC*!?v*ntPMi{BC8oEDD`g<&)7ju+((CV~v zSmO|({THueekQjuG>>fW{wlmQ?b26;CfRJ-Kbq2buFKwbAlb^YvXSPhNq3AkVO_jL z!NBeq%95`Zb1AiY34uU>j$eFEmlCt>XX@RX^6%bF7%So5J8LjAv|T!Yqh;5ML(jy8 z?C3XJ6}^s8qBV#v{+f2qs0SQ6t33H0xOEeGxa$I3@GpS-EH%qEQJDDf#n1j1foKp- zOxoEaKJ!K;v&p8kNsI-IW+Y{GjmBZuOP5{G-btm1TTT96i~{isEDj^ob%`bR>wW1Q zf{4-lAq&VJX1>%J@0{&lJLhinhn~pm%*W!mg{bzy>Hgn288hDAz}xY&@@K0A1zG~jPzQKs>`R9(ZUjUQ}S;J=ORR`T{B2G)&T^z32-(-IST@Jx&G(A zT6Kj8kNhlU4`TGo%*7=W^Ho^DASq<(Z`-XoTtzMQpw^SYle7KfV6pkQzz$Fxe|lvTCYE9Q z=q#$!FrN3{W79VRbuZ;P2}QDPGOl2y#Bv_P2W8tn`_V(^-}{>_@CXu=yL<@hXM&sP zFY=FApDaPt_nSMXTyJUMi6@_aqY%rH1A6CLO$Om5BbJ^efSQK~F{A7jdut-?ul{4V ztzq7Q`⪻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%0DfFS~a@w;=%0zahr5k=KU1i}Crw#Zs#0(DW_2>`+ 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

4(P3}QOgMZR7%?`;~CSCwl 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 G$^QZqAw`q` literal 0 HcmV?d00001 diff --git a/public/fonts/avenir-book.woff b/public/fonts/avenir-book.woff new file mode 100644 index 0000000000000000000000000000000000000000..c2f1e82dde5dacb56f1b9b6cf4135abe2b836bc6 GIT binary patch literal 68096 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%0A7yHHS1a5(ciidD@FU_R~uxYyyTeLd?z5w~> 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 ba>Gd617k%T literal 0 HcmV?d00001 diff --git a/public/fonts/avenir-medium.woff b/public/fonts/avenir-medium.woff new file mode 100644 index 0000000000000000000000000000000000000000..5dcebc25aa1a01af324b19ef2ec2825bab2c7f37 GIT binary patch literal 16952 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 literal 0 HcmV?d00001 diff --git a/public/fonts/avenir-roman.woff b/public/fonts/avenir-roman.woff new file mode 100644 index 0000000000000000000000000000000000000000..05e78f1c5a924f4677491ab37946ff37cd3921d3 GIT binary patch literal 28256 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 V>U+ng<+b;C4SxRsep0^E002tM?UMii literal 0 HcmV?d00001 diff --git a/public/fonts/icons/icons.eot b/public/fonts/icons/icons.eot new file mode 100644 index 0000000000000000000000000000000000000000..9c0a213510283564932cbb679b09bfbe7897ebbd GIT binary patch literal 51336 zcmd?S2b5%2c`my5$*E4I6DoICRd-eA?yBmln(m(InbGu&MiUigln|0;lyd}xBtT@z z5+HIk28>NGmP9m0!eB07;{YtcHW&w8>}y}RaPdKsgMiZe{&T9jt7kOA*XzCY-deA^ z_o);1+40|h-hbWu$Bg~>j~L@jVDu4~EQTkz^B||Q17}9p8^`cAF7N-?)j!&}J2*4g zHS98W6T6Y!hFdl}n_a=KVlQCVvt#U5-0|4CxN|F>UK8dTWeqmR7Vu>Ao47$0nd}}W zvW3&nIeOaY{o{Ay<`&#Na`>G2=8iWUp1}13xIXu?8;;%lf~QBGVN7})Fa6-E>tB53 zzrJ_5##m~NvEP2j)mI$5+&%dDk0LLgv(DAHA^kx79h^UgG5zMSm{c<{xrceCgVK^V2M|DpT8Iz97Dl;@cqe{zuiGw=OBorl_TVja)?0&RST z|D4+V%rnA=hMy1mF?{d;!{=WJ$NCu|KpU|d!hYR8=yTM+@E-N||FzU_*Ngh!m=EFI zCysOfddpBdhw^W%}tThY4U ze}=oXLT2!dm5uune_xnKqWi%YpTSxWI2~~vtyTefC6uTz6)RWAdn&M}#bQ9hah707 zmSSnXu~WJ^gQrMgEd); zEwVQ2urAxeme?{|VO!ZYV4Cf02iwU`W4qWI+s*c{)7f5j2HVH>vjglPJH!sNGuc@n z2IsIN>?laUdF*_40lSbrk6px`&n{+{uuDN8j)Qbu4)Sm%NXFG55ZAKnKsasyF}aD| z%x($E#_b>`FJv!bcd!?;JK0_AZuS!PQuZ=-5Ae_{*eltq*sIxV*lXFn>^}Bu?0)tD zdmVc{djorry^+0%y_vm*y_LOy<{W^Ou`wjL!_I~yO_M7a3?6=r& zvk$QkvyZTkvfp7JW53HDVh^)N*vHu?*eBVi*r(ZN*zd8=vfpQ)V~>J;bQsAY677A33;7T8h33SmJ!N?0o_K>I0S)vzEL zC9EG7q@skC#Da8`u%=kxLF%bM*_ZJ!BmuhIan|qCEySi%tQ&; zgaxxv0$yRkT$F%eSTG+Y;2IVzL}iN}zBoxG74Ybu73!N}zfyxFt%Ue=N8)N}z-+xGhSc zi7dE1N+ezdFNhKeU%?Bb#OV2pq6FH>f;*xFD$0TvM+x+l1$RaXl$8Z{MF}*P1$RdY z)RqM=i4y283tk!}P+%6kEJ~ooEVw61pvo+Gd6Yn(S@4P|F?#;WD3R@R}%rqO;(&Q37pe!M#xem1n_yQ3AbZ!LLOLl%ECnM+rOt3m%9PxB(WtE=u4F zSn&ENfkR-y8=?eWfdvmn30wmU-WVnD4=i|7l)y=_;LTA2Pr-t>L_Yu;A@c0`I|scSH$X2n*gBCGaCGcvqCbnXus9Q38*`g7-uT+zJbRJxbtPSn%E` zfrDYeZ$t^a3=7^DC2%z?cz=|@->~2VQDXG`H=_iehXo&u61X20{8p5}2eII{qXdqK z1s{qMcq0~kI7;A>Sn!c3fnQ?5N23JJi3PtCCGb!z_*j&{O|js2qXfQ+1rJ3D92N^6 zjuLn+7CaIqa9u3;c$C0@vEUO?0w>0TPeutm84ErYC2(gf_;i%Or?KEOQ3A)tg5Qf0 zcsCY&HcH^)Sn&H%0zb!s&qWEG9Sa_f5_mioJQgKzdo1{Tl)(3~;18li8ie2rQ35Xr z?mSAw6^5S)_K$p3C<*5acL?tgJ}dk{6vQp!z2ak%Ej=c$%Gb&tl)tNFln0gXsyTI! zdWZT&ZB;w2JNl*idkw=lWISS8=Ec^Wb+z@j*l6s%vG3S>?0f7#iEHth_|@?T6BCIq zCC^Sip0ZM(OJD0;?0nFb+%w&Gx!>^|??Uf=-e3DQ|4#p}Go{SF%!8S4W@oYwWWSZm z<*v*N`A+`U{Acrz7mgP`Tj&+mal@r%YkP#de=TwkkSIgy#TeBzsv!rayKSI$4SP+0h4|3?R!2W~!i?!h-5VuuokUV7L$eD2}*9{#5@?>Y0av)*#ffl!KK{0aU9aZlr| zW@oWB&D)E$ic;j&isE=H+;zNWr_Dzmu{}5bh+Fa>iM!FscQPe6y6{Wh!*n;&!Jxb+ z!8HQsj4N}zyUM$r5?5{BMZwd&QmfDL&UW5eoaePloZEa(*v7*rsMN8AT6AA=MtF(a z0^XqeXi2jqC~;2rz2bYJlrq}dX%yV5$#=X3vD4J+!NmIjJT{DxKA!@jprx!GL=mif2 zq)?D5X`(5KDMQs`FEQ$8&W^R!@N4lnm26m^iyFhC<)~<6MA1e{H6^uQw4wqa2W@dY zRq3}yl}t5dgl$oyw#ZRiB+d0KBNih$fh20oqXPbKD`Q;@a|=W6`JU@2)pDh_jn}%3 zP8VZ^1EyjX{k6LGDS z_C!hTeT;w6h{uiI4jeDeq*9qXR6P|_G)>`7E<2r_OO5ByX)UhdA1%#|r{=QLkHwuh z{?S~e-{#)|XLK&Of;R$#181UffQ}IAwxM+)0QRA98*izOhaPmB)B^w$!4giYHAPkY z5?}(oj5_Gz4*nW8fT-JYt6drgg1*Jh3SL>^ojRR`P~y=8#q0Vs1UPj7Ini0IUai#B z8ek1@S`&xHsA1Z9TQcH?S5mWzl!&EbS90IeMTINU6QYtGRpt7s%muC+DwjN27EL{+ z>8d7L-}};+{#=*EZ;7~hSy||QRhC{S#B+f+%U@b|yCRtWkw_^4FU@(C~fBt>| z>935nt}2y!ZE-sf4;`$=6K?qYiSHTZm}$Q6{b+8iX!7rw<(Of-?|rzmO6Jf1)-cR5 z`@c%^6>q)@~7zi6I<-_w`_jl#PY)Tp~-qH)*0Rh4r}_J6UVgUpw#Lo z)b}4JG-tj3C-_4o(T>w-VP!6MT4i)4>;x55;jUp^(fb|3sQl;^hFdh>Zx|miif0-* zu<)zn{_Ia^jyHX;h3b+7L5Bm4L!KpLGFUg3)yr>A=SJmEER9Abo$S)Q&SM7aOyOlpb!v$5C7epUV zdVi#GHGGV$f26t4XFStGUH^)@EWpeh#-I*F-SkETP>6AbUo;$nPk1?w2ii0mlaJk;Z?6PT`_x|&O0%|djMD(HH(?3T4C>AC1Jhm zdINJNpq^(!x~q}QJ?v9(Jhhod0rX5tPWq*YlM5gQzSKYK=fo|{zl20b*L=0P(&+I8D&aJY3XH$K)G8-M$MSjHK}+&&}5pNO8^_S#!_-8|kN z8*7jMWX4E}#Mp=la|U$|Xd&S>V2({SiZ+jW77@mg;kpiqy2K@EVL_4wT{&&Irrwu; zs07gx7u%9436gsH3H8)ZsK=*zz~m4d0fR(!t^#v;&QR~TWJop5P-~KoLZua4Zk2}X z{dbXzQ}+=IaPI`QK(fT0_}(QF+^R@4wojs;i_r3|L7R4fv|pQg42Dvv`fjyeRjci8 zr5-W@80#9CHqdHtoFow_s!Wo_V%;YoCvdNWPiuACRllu1y>=_6;$Au|jry69k(H5Z zrjVQxbx9K8NW83!9p?ZFH|2Z4ITAMvEJA2?lI`EhEvmoD}EM9)zET7tF zdhb|27qV`KvxyVhk|w|o34fmpqZNeVCgx-a07jLVtDJV4;>PH>aXt(Ky|0|~ILb<6 zGLSWBOkC2&ZyFIXB4m!zt=3yZv$)%Yd=;~eIwo&uW_ou43E}_XcQ&n|(GyBlt8TSj zZMWLsXaFQ65w?cD{UFv|rvfmmTX|)Wr;M>fdi#DaV$y zgkd|Gsd8!|JGZUey{N$O_g;4Kr{?T39<-n>bFR`5*G!Q7LqP-A$VF03W=DVb~hXxbsb`(6PrWGj1W?H zcwwhQiL$CH)k+n}QaJuV8J zu9}M%Dx0SG!S}n|_EUlo_tL^=&K)y!Nx$HIo)za~V;k#-a8VrA!|ciQ-dFvu?}2ge z*1K($R!yti9B#`u&OX~XGAT)uM~t)2zW;uK^SC(NgfFZd(hrruXdW^St|TwNTo(v> zH*hi4z4yfNfck~>50!QeWRL3X061{N^PAzCoWq5y_#QyBUWJluF$5!0#VA7%KV_yA zLr(}G)G0X$DOuJ8T@z&|JF;a`;3h~lmxXvj$hg^ZwJl5yx4ZXEL#yXpF68rvOf%te zQaqcOk_#8Zuth42LY06|ez`aEMOfum-S9aVu&Xgjo*;PF-< zH(`Ymi>EFQb3vmwj6wp`v_(-|)Kp0ty+Kx$wYIL}Zuust2BjOzqNuBj;CwKqA!A7F zU+>E!q5%a;Q`E(Vs^U1J80rg~3KTEmh^nh2_>LZP;%^6iAQJ^N=Cm64V>2k2!rl`I(Iz3(^XWYA#yW1v8z5)ja3UtG}BJ{77(NEbVp?0 zv2%JlrX-+h9UkYeD)n7;-**7|Vj-oN^;D+7oiSO|3<-*VQL#7R^hrNL%zm?5R&q>SSbPN5D2vF5T~NhfR(+C@XPRbdw- zHANDk(IB;k0iInkr6w{?plq?OG!(=7{st`E5HZRzSyuRlYGN_&# zisKr#Yq}1W31neM^+kcJl8T1tvY|r+<%%xF#?i{W&1EQGL{u+;vPsH$D(Tt=FhsCl zJpqQ&Kqgqag!D*t7s+5?mp4Z067hEhVY?*jk`hxoTzso$hMdO+ME_M*e1(>h1nYW% zdpxFznz?SzcrvtSbV;g+lj@2TS}It8P=OOFlg@ZoVst+7u6HHoN9nkJ{`5(AqNf{c z`DgH~Ig2dm>4-^iJe+jfUgUUhD4X($=cRGy> zu#u${Tc&J}ERGmTB2`{`Xh>7cKkSuUx8(KSoAY@s$$6)E>i`0$YF?+u06KCd zHG^^HaeZ!EZ52p?Teiy8d@hDERh=hiGUYAh)IbBgF(#h}ooJKSK{_<+gesjzsFc9$ zHvLeaNU96cRA7OS>1UuJ!f8bf7tcV)fmcF(D#!^bhp-TF1U7$E*DCq?vXx9)%eGO` zGv{hrrBI8>Knmw8%K4I^$&fJc;7L4x^yDXxMsM@7mPJWPE0#3M`fglQ^O{nGGJZ|6 z_Ij9H>#Kx1-^&GHGe=C509aw_4gPozCj!PD{IiPI2H* zq+`89v2;4d#|#wETT&!`ucX-K5k-Z1?B}BLr^uSHtV?y%Oj_Lf3j#JXX%f0v#}_{X z$1x5)G%eO>0k1jCVyv@&DWWJ+1hKS+_Z6qS@z8>LtuZcWj#Rm&iEfj z$~05PKkl`V`AY)`j&x8@!RvaOB!+q|G#UZ>0|rrh7qWojHG%RyA_VJytDOH#&@VcA z(V^+$s3eaHqB&MfES;6)njw@%S2`<=Ov+5g^+Y;T2Fm=pE|wH!J~uu&H9sjxddb%p z?>}AA<)e!uf;i>W{lz)An)YQ5CCdih^vPFjV2ACaufAby5yq%!u1Oyl;tl?_ZzMCB zaDe~A1zTLhIxO)- zW!B$$!9S259fgq|9he`;ZbOkyLklIpM}!jk>~3G1&UK})PT%!raEFq9Efo8*Dk`sj zrDDoD&t0!^uoWCi^-!J9HQ6$5cxOxl4LpOi`C9Cq(5y#e_XPh_cq*bl5d!Hi$Rd|X zFNI;-#`zPu^k2BP8*{Hs<@nEXsos_NKAz4c@t58@^@CI{m-@kmjq(Y2M^>TzS;M-! z8n8)vT4IBs>jD1*Mh#1m&>ggloi3ImROF$en)0bbH_IEDTk=VTlp*PRemTq!DFKCC z=M)_PQ9{37oor32bEJTt3s1R9=e=(s1OB7O{d@nhk(V!QDnRS~JH5rVFvl#NAC5Z? z;M6b@Bbm|BOe|$(M@O?(D#mxj9k<}RW1DZkHO!yX^<shbTgAH zD-c>BQu4f_<)_qAyXmDe|L%?JYpS7ZYeu6pqD*y$@X5gm2o6bGE-xp%^nraN#WN00 z7^NK=k6Bak#Zl=>)zF|_oibL=S-C`p=~P}5#=3LyOsj1hIY;AW+){Jd*j#t~kNQX` zlDEhQV*>t;XTlnAoOlc96M&wDz@a5q~@x$I47yV zl98qxC{x%_Yz*`nPwyVhrxRI41=9!iHJeE1M}O_)Tf6t{YSkQ3bZV_#4{V(7sV-Nm z%X^lq&e(jm(rBzT8oN_u_)qb#K38!YHO!t^WK{Z#!%|Utc7DwHHkG^9_^w3-lkP!$ z<`-DWPx7}wx3izT7I{VOFX<3i2JjP7-4J?gXz(yPgkIY89YGzeATrkLDx3<|VW^B7 z0Lyhig8<1Nh*_2=>RSj%=IzpywlEzd2wGJ&P4$w+9rIRp%g!cD*)CvhM6VRGJN7rW z_C8*iR!2K6bGK#~>K?7mW7)}A+A9dUAqja^9hsTobK=NOT{YF|c)KiLgNkC)wlTY7 zr6Ns?h#YcVbtU1Y_Ux@&%eCpPpBP`7i|29xnuMi#xsk?v?DP<(PUkbLWOjfZk!-(D z0$*FCiEW`fks%JaX_Hp^={2%%+)IbGvDNYM)xC7+-@$GE^8PK{N4eTF`0!ss&%Zs? z@Do%%AKsTQ1Y~+$pl|&3ty0~3dEGvR!FC&+cBk$|%q|3204tU?iBnK{fR*$7NXteF zVvKwny#L?^=@`_-ZW#_aesxX&QtikC7CWISwk*n0B5pcH9Kw(qH#4y9#kkH*HLgPq zVkKl*O8H~YjQJ@DG>I5jxPH(k^yvJspr`9;Jsn;3zVp+cZWZ})(G@Ccy-`>Hr@&|7 zIFXLU_=Q}){G6$bC&BO)Hx}m2xNS9rxWOmZPTMaFF|Dc^qMGs3nQY3>sG^}(wb;K# zSojrbEuYuYuZXVr%gQ-P(S)m>=NEa&zc3$5*>)<%)Nsz8!koF#2<(T(_a^w4-UE6Y zSvx~_rwTE@;aN9Q;sW9!RFJUL?Sz7Zf>Fm+s1*j2qLO(F*n!NlKmlps%!ob#9#m2R zx1sC|mq_1Q2syXa#M{%{Z$q3#K~=8jMhx4SGi~GESUNLWj>Sz3qb0-oWF@^3C?Dgt zlamGcCl zfsx|XimED?m&=#a_tjffwUil6X_}=PGOT*gx+n!NN27eB~F82_vkXb39#sGkD9`9iD0KZOBRti-7156F!Xb)xeqOFuuoN zU%dv%d!>Ot6|&aGPkRbi#6<|mJ?+m zpG=HEtz)KRiL>@DoPJi^PMf}LjU*qN=0x4h z347}!LVRVPmEb&K?O#gpkqIxA^4xUV-CHy#9*kZ~ZL-Z3pdmcbHrF@AMfx++?Lgh% zfF1x=$rfB&o?bq-v~=vY<4a4&mqN9}TH~TUwOzN?w`CONx^uRi(~6%P=U-nsep^3Z zuNA6LYI`nfApf`br42Ln<{$lNh7j?9hLf(NfZZNV+O4oz*9X)L_XdHO87#~?s5;c9 zwD5*bG41unD)LQp7wWan(`Z}20n4bfw&!`xu&E^*ZfAwGnUWK_lgoicT*{?w|LA!~ zCNiTZwz=OgETONtnzB<;_orm3BPzFKilUfJt^CkVfyNRYc`CH)W>41c50jN{9R?6u z3Y`}0xZu=CFai69@myX$cKh)qd~XmNKjvkN6Y*rl&m>32yQ78ei^*~RjpgIvz~6R! zx!2erLibNtQ`J!~$E_*5R=H-Eu|CHUeXGzumy}|R2$ZPd}(+*sL}hRelgmT!r8A zzc0J&e_wP_?;rR9^4;it3gn~6Kh>!AJ{9IVP;IR1v7drmRU)e?Xf+@hTHuI0sY6Yu zL&7?-30!DEmu&JMNi@d-;eTufk zVUb5$xBhU?FM?2tnUR=ft+aY(nhSTQfqJe*YX9}=$F zuqjZTtwEiG`9Hb;Kr^6FEl@Br;=rX9x}j=eFbJEWq4#gw8%~N#jV-N0j0>k8h2Dcd zId6P+dTIAhp4TeRuE04ZlKqIUp>|Eu-mqUaGb$kth`HdxAmtJLjDYIYlk`Wb>1LrG zRNKYrM#i+geA80e)XV}P`%`Y=1Za6ea4TtHTu$qSzCSDXFCS%e6Cpw z`B1bH^qbnKy2N|=Rg%YmXZjObfaY#9O#LaCGn9RpV-J}gJwwfJNtZ6R+rSpmN4~+OLM;VQ1HEH&t{s3dSG54Qv3JV+S z?^~Wb-EPfajM3~bz7t3D<@c3FSMPgur*r+QhxJsU?9ulqkC;w5Sq0k!&sgwC?goPA z^##N6yky!QvxX#+)48Kra95ntQu_DSaX!(~B(M#z-KMg~7b{M)3lvY3$0zNadWza^ zIs5Fb>Fmw9ba?pjdfnzw-KQP@^6{->3k%~f!eQ*-rj~4sbwqz^C*t~Q8-1*YoM062&|C00I@CDyw_#GJD067JDr3KXDs~pPs*NMO=(uf%X&p;GGEUZ6GkDK zP-DWa&)!NXbALSMW)r1^nHl115LMh|<3zM_8v|n_*4B*y}B?_4l-$k3U^V^2{ z3@Fnvz!=)3@x8MORaqbLiW8YhCtXU-=_Uk^)RZYHO9AL=3w9)wU_TAU*sqmQ#UMBh0*EV_< z!NIg@#w_joOG~W}KLX$vs6l<+Z1w~Q0MI@6q!0Dq8=7aoK=Yg{CiFrgp~Zw-HqZ03 z&#kT702D-N5fOpK61UJbWD1LGeg7olLp@NTv|CeefSp zcolr7HaofCdzsSKO$~d2BAHW|C(qR9Ql+#rnVBehqncbTj5pVP6KSm$uoHU79G-154(*B!`RDnTVl%qIZl03^|`E?HdKi=bP?1w$MU zrE!ASVPNIwb8NTJT~{%ahUO*UVx8RPx`Jw`_+?RcqtZXxFuU8ho? z>HaXK>!z-%reUWNrtWL1Sx60yTQLcbx~UssUa?|1P01O2*O^zq;~Z`PXXi$x#AJTl zA5SIWGg(V`$$ENjCIPt%PL~NeZpC5Lk~JkkcJz(4O0Yf(2m_>J-;BD+fS!(=%tGk? zpGyY?Q%i5mp<5ws4WM`fZV0c#cXjiu5XWBaVuisJNDDvYEkpKTV|DQJ zvxT-MUH&F>x|)n7W9eMZ9h;b69vT$L8F{fi_h8aW!`nYO?ZBaB&_9BU4EeI0P%}+l zXk5XJ0yILr8Ob%SvkC9;O2)C$vgp^m?))BCsFkpR2KLNq`HHEI*oxb!BU$ZN%YTJh@c<=1oOU4{Ox4I7V zG^So3=C{+1@69C-U>rT%4E>v6zP?d^*FPn2Zyu6eacCYAo~q?_Oq!9>wF%ediV0s7 zp?Jz$Fr>{yp|THo0220hDSJ@ozyFFhYy@4!k75gA^F zj2(BqnkS`4ok=UTZN8q*>|cZl9^S{<-1*(134uib2GVRImGj>gcT(|eQuc43_cOIh zIyF;q;xQ|;Q1<+}by%dfW=VG0G*8`7kS4E0w33_7M< z0T#ttkzmo?Q2{K%XL238z9@vnv^xMsbzYvGKI5gFclv&l#IIY>lGWkQeHwXkk8dK* z>pDcza;dPx+5*Hw=o&ZiT;r$A#wX^Dv>S4K2A6l;_S)N^&3pB2m1>1FhRfmMqrW=K zE%5I!V}>@VrnGP07j^H}wOvcgYb(cB_|j!ByliRtvcvzGOaom_f`qS-IkcbZ}dKD(PQIhsE)Iy!X?1GFH($Gnq}q zY`UKtukcG|DmRp8!o%Nv@{=D|>uOT_>MznmupI|x?zeQ<=wGYS#!WZrt?vkFr3WlY zE7{sOJ%7B_8t1#maO^$CcRNr?JH1Cq;6GwiW2wYkX6|@+GMk;{Pg17A3*&=~^j7bq zf3Bs}3DryYez9?OQad3UpD6i0S3A3XE@qXs6-7>O5fK=$uGLdFf0t1ORza&PvJ)#O z;Zfj&hsdYvx$#UsuIJ(j)e^4z$bYg=QpNG(*aVZP`kAq0Jnhx;ZY&eCHCrRud%zby z3E7e6vOCmVR}2 zHP`9=TvcR!BIzexL!V9+Q>hyKwA~V%mdkl)eFpY#(hH6PTdjbyTuZSq#@n#nK&65M zxt9|GjW~BAU-)xRMhNScN$_6(<#+kHHwiH{k;ohILbjfpa0*`5&BWAH#dc+W@Y&JJ z-5c-ZYW;V7>$%^#X;#OS+Zo#{V0%g;S<7a|5@wX1Wsl=PmqR&cHQ+6^ZEeuqs5Ht&ri;d zr@`iXzEdptcD&$6GEruJ>u)^!IQ?P1DsgSp4P_#5*KqFfl6{%z;z6GY<@Wnb9fMNV!6>t)fS?}^g zIczF-GX<}Zhhd!R=DBa;c1Arm=U< zfUmYBpJLPoG$B*labGsY523k>xC(MaVz8mU>= z^$W}2vTXR}YvW^bQY$6xnxZCr?DaSDH~tq!=N&~SW10KDjLqaZ*H4-8^qhhq2%S@m zN)!)(#$*D#$U($Hx{PA^Jm;u{t3oAk@|0m^dnlVNl4N#*V1`T(&s**17^2VTy?D~g zmNLaeD3E46x9GdIg~_Z>5-DH3BI|kn_<1oXxD-iETQ=e}z>hZ->o!xdL(e`?*Qk;) zlZMIIH0IJHjxz}*X3;BaTplab+V`0W!!oy~OgQ)&^rz7ooNeLlJZYMZ#^fo+Y@lpJh$o}HsmZZqft?a(;?tx%)>k#fD zzRfv5XMK3;q2F#ULC@RgYiaKC(ENg*8V8IH1UfWhSfFb^7w$Tg$u(8!`S%(VqX{b> zOJ%a@a&4ybp=WRBH_C2SY)-!x2Iiz|8p({GkyEudl3S_0CS(QZ9%+}wKtO!1mRN&b?d)9do%c<>6tq!X)n9=;Hjz} z!s`w+uv3t!c87DiNo0y7D(G~`A`W1qaUu}2if%enXN5Jb39c_ zN>0@Qf;M7*`RtAU@{HqEMw7|OQaWat-b`s~`W>btC*Wg{dTrdxByC?dG;8V5Gk|_vXN!iE68IkW-q>douosFFQZSdiL z{Bcq0eU0`7h>t!d2%mopdjzn=DRu+wo_`2lP-B-8y$Zc0$k{OcdaNhB{3V@RG^bhSO&W7j5F0n-mFO0-SU7LW<1gE}Y=EcJW_#(uaQ^nR*~ z=9zjdVNT*?n}UOeEe9OtZvkFDa=dO>QYwZp2iU5BtxglJ!V}nARcUIrVCdsODN=sR zVjYfHTGA5DqJEiW^WVr;v-tmlSSetqkxwCY8MXraA2&AjguvCVbO3;?aVEDC2Szcml81tMA^ug7+cNKAJmlX3Vd^B>J-PP4nH2;P>q{ZJx(u3xxov*6~18H z$5*c2V?wZxT+23W?H^Q?Evsrw>&D?!YH7+F74<e(Eq0dj>8IDY2SPqfjP^f#{ z&e8g2*RKy+Sg*jrGjcA1Qylt4*fpEwv5XYcq|;$HfPNk{wf(WRYeryQtz*T zjneV>xmhJWnntLM@?=>_V>_KBn%FFc?SYtdT}?b-Dh7f+34($9vSudAcn`CA6SPfhAcaD5Z9EzM!~nXE};a|lS~#I&S3WiO2E+>Pi}24MsQIn#FU&=L>X1P=D; zj+!rMj=-I4)fot_YRVI{nyzT4M=!n!ajW9t=8tea zhw!6Q%;0nt%QXzwAr98V(@#h6u^m3!=PWPtCwo?ibb23HIeP{Fh!@<)w_m{C1@b?b zg&$KJUI^P@f832ouLrSf>uBi5I`9X)1@S�r((R_{0QO3p;mU^nfxid`K7LaG;?0 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/icons/icons.ttf b/public/fonts/icons/icons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c8bf316e948c19db4ae038adbb39242e3cb7cb2e GIT binary patch literal 51180 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 literal 0 HcmV?d00001 diff --git a/public/fonts/icons/icons.woff b/public/fonts/icons/icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..82eca21aeea70b7520c1ad0afce9c2f7d3ee6995 GIT binary patch literal 27772 zcmV)rK$*XHPew)n0RR910Bn2!3jhEB0LSbA0RR91000000000000000000000000- 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

EX@y25}K0}~(#;3UDM%ie9zt=aE> zx4kxp$I11R=R8TTcX;`GoXlOt-2^R4jRZgRFdPjAL16Nz0(%rZ?!;^FfZ78wh0W^# z)!@KHtyjV!5uivg;gTQJzfGHNQm{B0`?OJQggyAB8?y0W+JyID=~Y(rUgD-yVb zGOx>`q7ubu9PnEikVZN!b~MQ>cgrfZ-O9#?ry|AV17Rr$O5yN5xrj6!LQ1hXx3S^G zKm>kGyHhcMbfl`g40tA%vbwLi4MKtFCL=7LGoVbS5NA14*;8>RA^ZtWJ_CB9$2|*h zk__u4A)QtdhCpXNO5%way1*dBXy|7gA;QrfmN3sa#xV+mHbnAoYha+@Y3)nOLUQ(~O6BQbVfs$xZyfgIC4ySHFWc!qX&`aMC z^`oZin&cwWmEWq|GyDe${@$WmvUIJY(FI+84+ga0aGx%(;N^;<9nj^w@e&T?G0zwt zH$2ZEbrlL2ZcvfDQKY7JiZWdu{<}bb50cutev6`Mj!yJHL}Jq%O`Eo-z6ZE$aNHmr z%tHo7a|sxwm~wJ7%_e`QSF|^4QAIzZxq+u%rd1+s&lK6;q3e&}v&;Tkbv4aZ|L-F@ zB>wD}g2&?t-{+RlV*qC$9X0|5f^<3nUx0>f5cwf0g2}&aLcYf9Bl;(Ir zs~7E!s~jS$d}(g0ztzgPnqw)pm#Kir{E{M+C|%1n78chQcu^@uO7~5dii&i)TjqsD zKaRSqLCuRKqEE}s2z~tVIP6G#jl#d(rZDPj?BN6<I@-f{4ItbaMr^i7 z4?HQ8kAhmz2}tD%?OIvQu2rj<<%-2$aRvFS>-PkzenKR6btO7*{a;}meH7;h$q&MA zCy>t4Ab&VWW9frYG@U4P6iz?*Rn?RN{``BKi6bnj02wi4kw}xFQ1V#L`@_HtjNlG8N4}SHhtGlY z887F+KX32iU%I)R`d2`mbpW~ch3XbOwgVNz6aPcHtHnMZ~Z|9^+Jt|WBP3B zVPz+AM>?mF3TVhMswC-?vH04Ze$fXavX#5oLT7=kVhDLPxg-p)hhKpN@VjgJ*}v_i zCF?T<$iwd^Pvs=V3SOVEd>`mkRqb+SZZ2cEdUkFutGfod$nt|i5Y%TMzdcFsD2kJ$ zC%UVXG=(wo6aSUGjN9NY=Wa}J1&v7tE$6I>m4ZDAv?;o)!gnReI{2;S*9X$@N_2@+)eYOXl@JQ2Gr1R;<#3 zytbet`Rv0(=meRCtu1g`z@;R4D(4qjsn-tO%=g2Fa)_yld`NBe%XG0nB~OmcgX7?s zQf1Q)y(^BEirpmI)7S*k*w{Dh1VDUqIeXwd}Iz3a(`7+Tg zo#nE|>Y(x4BOxSB=3vZo2Y|k==gy#Q5uxRPK?NV=5%NtEMFrmmLl50V2qm(pYKneI zY;TL*Rgq0>ED)LePGDmk&v^3iT;8*@l!4I)=4;mW@^e3O?xVw(9PBiGLGYWMgOBW7 zUQ*kv)iy8Ltoik|Y_-)o)M_1eap2!2UwFFWb{?(lE;7CRp`=tOJ-b%-zl!A^YW=Z} z1!L?%c!G0RK_Xc*ON;XQl7SSo&19K{PVu5OJ-g>XTdf!Y&{|ok7P1#z-r76- zSYe6H^*h>OSykC3a!icug5iY)UQtCp&sceRnXC%s0}9jFlGUq7&xeYPB~x9wXsasD zmjwcTU2V$_-Aj(d`et)!@5dV(t5z-tL}TkL%#~Yf#-#~OT}qa>mlK_tjQu_i@><78 zY-c+5JQJ0E@(_AfZ^Xl)`gWtSeFP7qCvYII9zB8slq)|4f8;+w2klQH{798Iad&es z2FeTvG)iZUB=*f9u1v;$M z{Bxfb6-g<&A#b>*2~v_Jef9+OS-|ZDioT9}0rwK_RiJNE#hwh+RVP=2G>E&Fgptsk z9`qB(fdbac7;gkM14atNeg^4KOMBf*X&|Ksh9Tfye`jPCy9@l>PCJinP)%y<|df?!p`wwlN+1fn& zqO)6DXNfLrg_5^MK?W{|rhURF*t$V1T~&u&+9@e(6<~>1mOqmu-jq=ig@=xm+V_ z71ZW+THy{jU8Ck32lHwpJJ*p(iPe^^@RhAsh1POKDJY$}Xu&WRR`GCBPz!hDlI-Ls z5?F}sq_CyGhsef8Huvlxx9;gqE;wGPZfp=aZ+pBbE3s2lH5GnEXCC^Q_w4+C0~@QJ z%Y9KR6tpStn}0OT=FY^V3tau2 zvANMeTpB;a*v_EeYk?yg*Puf>(UY6EZfx9o|Cx=AGaE_R;ZWqn@g{Z~gnfUtXU0XOE3wiMcj+@p+)>b+`FW z%9yc_RFyE^)FpI#+(J#YM1l@*=#v`=UIM`8A*}jY?F7`4sfMM3r@4}?__-WdcpEv- zj80#BYCbc!8|G2F0Q4^gGCd%&%UwzA3-sPhQ4q53*0)U;bZjb<9#8bhInn)TwK9ll zt%|JB?}X6+1QAQenE;=go3}o2W&_SU$|f?xY;oRls!_%%HwJTs{avR)zPx!RLHzw^ zHixYpCG@6weX%wd=7_#%HmlD+s80Gg)o)d9?dc%fL1Z^oJ1GuRxNhCtI5P#89r=xH zbh4KZ8e#3w#TV6904Rih;|wI72I^mzJo_guY3D;({B~GMV;-Oz$1pXX7FWH|C|0i) zOyHQo4?A?^9Jo>6$kPP=>+`T6_$(Y7y zUdSr(X2Jr^+Piw!^?KKR2sF}hzgYB#p9qTWTB}tf$H0iIl6(K@?Ad?1@y6j_kt=ZS z#_*Fq2ID^2strGxq`IQknyTOAN;ql?y4p`h!cz6bra*|n8s7~9;d@~)AK6s5T=!cO zNIvctTL}!uljHsGXoUe?5`)~skYBj~EEZQrSOzogKeuuT5QPC+7S&=F z)T+gR96L|-!++}%s`f8Fe$~D$zk6zejp8n3yyp3ebK>?lJ|}yO+XYKw3=1fN3&6qv z76jq^82IPjv)`IjObX|%`L~v5#uTv5&NH_kSOP>#2Q(NC;xyx0SR}Q=7zwk~F#Om3 zE#D<#Yfq(a6B_rwSn3*Z4hBV;U0-CVH3`WR9t zBci%+C;c|lf^6tptXEuWWi&I)w{_Y>FbfH}6n0U|V|-Bc_=e;u1*hR>`P1B#OhGtf z?xG*0*AhDvpd6sf4!&4`wpUa`e+=Zzs6z{d-QfNn7->PB_6keA6+?4Eg(<>-s*>Ya zy{GBu@3?a|sY|3W7dR$Zv9)ZS>Pw-06L(Jkul)d6#z=GJGwP&B2FyC%$zWU+P-1ft->-X<^-E4dx%&y)<>VX85oLVx3f>u&6X{svm}q zXVkK|I~%etY-i?XYHV@9t#AZ?a*mEGu8{q~@X6H=)kVRVjNptgHYp4{tYUzqcf z!#_^y)~4#d_{`_d?5(e_H(mmV`mq^EruiG&*gSXC8)}UcOR(cj-%M3-*OpedTssOq zZTx-+nlk*yZ>Y}bdS?7E%WXYF{iEhka(>p|8o*_zYH zWSg$-NAtzV%$k;LDy!TsxDV{=!Dza_8e^LWp^j1?JW<{0%7tpo!eq+E4jiA|AtF*J zWx{BEVWsIsML)~{-A0C8$dsc1V9KuTo24>EOZwJPzj0NeCMo5xIGoA%?%XvC;X!N0-KYmfB`3=ZvF0L#I!*Kb-34sDS;PE80rI zwq=9AcebC;-?ye>DpPU#C(biAEMSOgFrIdl7-Ku~9s85Dl8H=HV4cc(jvGYfOu;fE z&^1x$7b3s8valY7nbO`Fz+OZ}Z4vq@)Ra}XRHOSM9yJ(-*ML}G(Cxkb>8 z*MQHrOL{a>aDd&^>4j(>#@%E#ncoQq@N6*lyBJbs|6HORlO)a|N_}!b_#k!16K@<} zP7^D+j!?Ov1Oe3?RSs=QF`Rutz%!M>@4fkOVY#_bbAz1chi*Q%o(qat$nxOZuA*oP zW14EZwx&cf(+chs-inT97>oCa)YOffOmiwZc;)R9#c2R1b917-kZ(i{*C{xQO*?dA zZ*|!Qzl$=-mMq<(q9DoC#&Pr=UPW4;gB}G+Zvmyx&VH)xQ1{<$9OE_F+kqvhB0<;4 z(sjED`jcZSp4AueIWisXk^yiS8x!yt&C{sN7J9OH+mCBYHOFuaFP97I^J|+^NC7`1 zFZ5O)b#yP(RcFZ`%*yZ#a?q}to5@6_#AQbvpRiEs*987-{nd=Gdy)_}!@=4m0pBbI z;C_YsYn9sZX9HGLxMz!VcwwAovQSf-+KK) zkIDO|DtOPz>MQDgl-r(}j~k9?em{5PIc*%#ct2H}JJdfz^YKpogXn_9J&Tfq7L^S< zWO81CPE%b)o(}>-H449Xe(dGjE@hk7|HYV;HPf+GB?MB|?P*%hApvV7pOEwmBp~TQ zLdy!Hw=CXYaf8gBpL!*buOQ0jkngTJomFnn`Dn{b2hL(_Yv5y?r5h(QD!C0Kidtr- zWfkzTtsrcMqBrL+=bc8R-!k;fdL@ijcj?8|U62m^bZ%lYUmqtS4w8vBEa|FVmo@1Qd|yIZ6vZeGkQRkz z5os~Fs0y?=E%aZK(4rTNiIJ^ID@&LCFd_ZX*wzyXU*v!zyWGV%le;maoOc#?;9M7w z116t}1ond^BlByj7bMDBCDOtB-*Eq-L-)V#{%Wm?5yQ>o@Qcr!dlNG=nJe0DhYglA8iduf z9y_#k`_|U&FUCXAiCiao4j#IVqh$D9%Q31-e>pRw%$7!};XrO)uHIc)P7Z(eiBEit z#mtev@E_h3ZCfCjN09FFZWGHtoU91xcw>{K<8*c|uWNKV4RW{+$Kj{RVZTU9{_s=i z+?`TuhHI~8R?j3CE7=wDI3^lrXp9qLuHi5KzU;Dj7J9?~*tt3f&SU>II0wD)xcUW5 z*V=`_Kd9C~ssPkg$u}yFtdR(8h`bl)8kxMM2{m3d>s$GjRb;t6; zWP2n9o$QB zWZ_Mg^K0Nu%i#=Me}K{$l?ddC4^|;0Jh|p5PozJ6o)@er(B)>v3=47O+fFl^soR=evNA#KO=HP&XwTNcO&s-j5ek;8 z&Yz`dPqJV|NfxZ*%qGerVIqTLu7@#W^oDvrfHyRF8YG=AW`byKVWr`LnIA@eu@IS7 zAxeFs%-Y_cIe(jfD_;|dJQpNB5m?tN;1f9`pXk}s(sa~jY=ATc|532EZ{zO8wdX$w zm5(CH$r8X(Ta%SI_jX%ImV3Gh9{RWj*I+RLyIvrpk0llrDfZZU%3g+!4Us*&h^dJ{^qMCNbkm zB=KSrgE^Uhje)fP5~lJYVrnG_qQd4^bTg;Ba-%Lea>+59l-ZFWGBtnC{|D^+MA6Ua z+R@L+63qpXt6APEl||OS09JPFk$JF1j&Y{}Cog;ktV9#EgmgOCp7>^6G+uW(W&=bT zpzUc;^qG8UIbpVxDcXrcnhAqq6g1ZtvJrZuWc&7P7)Fh24Ny;1WS(wP=2B5{jX~Qr zj-MY<&u5~#>}B0ZQ&+vR?=NISzZh0zBGn7c-ou)$>e^mcqk^E~KN+t?$RjEXn$~J9 zTmWa{L_Ql}!=Xmvo<@A)5ZIs-0gh@c!2;SN=Y#eSkL_^;a!vK{oez#3oBO6@7asiU za{31rKm5M-#s)Vn$MVViL~h!l3uhg=-qXph#sWCGPd_$&kqJUzO?+(suyPW9{U00lh2jFtK7pKPWp7lWlB9N;J;*M0w@|< zO~%Fnpr-@xH+U^^yFyok!q{{l@)AGrV-?jO47Qc|pt=R2+ndy=e6vXGZ`nTh?rHg!_ zn)fZ{dRyi4Kty5yqPVcx--@dXP6KE{T!;_de>auGdbZ#@lb9clQM5U3Vq8{IW7F#n zI?3YBEz%A=oWk4e#Vnmo&3v4#&|4$#^uR0}KHtyhFB10)!)Zg5l}SvN z-5gFi7=Bj~v?~?E))wGmABBS~iG)bD!V^j)D^_*UHS(6PORi>z^8qDxXpw4LHhEQP zfJhPZd%CeI^0K1~T2VQxo8)J*wJiL8Q!B{(n9+vQDkY%A2`|X9ZrYk`=}kxEU$t6_ zOeTSZ;RP+ItM}r}pntD1qS^+L26cssL?uz2Q&e6TWI>x#aY8do=1^hWDZ^E`{mDF( z`?yz*=J|9m+yKbxjdno5SviB$3|=CvmrlqY*?u$UYLh)^y5Dn>{=Z z$4rfokK<_k_kb2-ZXGDGA+cmKAb7m#77DXx&~^@*4bph38UO9!qrK8sQin=`f&dYH)?B&0hkK_C=rq{%iEn{JG0e&be zp`Y)CeqQ4S+(q0KV7YMnNhMimvX)NL?BfdD=43M5$gxf54UHytCv&o*cno1&olGvO zvGh^3navU-BO0=JsTk?LAZUsXwv}#Z{;h#(YI!Q@K!ZY{hmb@^rFlX2WO$5_J1N(4pp;KAgs=C4n$xsgz z1)+EeZW`fRKUFOqJXor}CM`CV4M^)KuW-b!J&~?kWI~9uL6zyv#ekSmlB81g(3qf* zmXgUBo43ZFWva?9Hy!h+tSBRCIwp@{Ylkw(C7Pvw5vT5cQMXba#Chm10=UL|75p&w z2JTVRWosmzOuGc|Vdr3kuuLqF^2u!5Q3sWi4YJbta;ewa?Mb_4Fh-qjFPXm`fWAok zdC(oLF9SC2C-ZorAYjoTEw?tA1R0NKiIWFRUJz*nKIAQn5}^kr11$V?eovqpz9a}l z;VCbfyeKivaKG*t8lwVliNmjhH1aI#nk@C^JnBl7g$nf?O%?@B;3ZMyq0<#+KcZ39 z5kZuz@LZBLyP_fin9tR4?zi@h+)?Hz4p@Ejk}0l=ydueBeN_+y-;f=)Xs(wJ9F`TP zqC`-cA|Jj;wm)nlIhdFFEMJg)p7`0UFUVApmlyq#WVo877(6aq(=@8lMVo2T{EDnl z`O-Awk26iPw4JqLNIwea0`=6K&aUkQo_sQ;kNpc*N;vI4&B= z+u!7(Wd6Yl*8-nh5XU4bZzDj@Pl@)TAEDf8ujR*M?NhTkC_~Fl|e_wm&<>h^=-|Y1s z-TQyOI-35oM*sKCJh@}_F{&uKqU`YbICQ3q{ z@T##;az8o;kEpV+825PB?;Ka_MT6&az~A(ibKCWDjwOGoM=w3ekeLq~Uz zIXfJ_Eey$Bp*{ST9g>gE0QB?KLzMXTmFp}bzJy9C;y3VNf;0>9dAwwu*K5~oXc zt87B$pxaxl=CAS1YTR32BfTm<>BU`~*A0mv8{ zvJRRIO9zCSq-hZ!vULHJAW@n9+8ST&wwK5{bSt0&Pz}8bsd}wGZTcatF=&6YNNV7v z3~&x~l{PVB#IR}rvlF$k@vH?zR*hOd4Usdk<&ZyFMH&X{VIK%)(1qrP{UTY1bEnl$ zHS9KtI_)6xfw%x9pZWp%Nl-Aj6+Uf&M4~`uev-Ia=HUV)RXbV-7=cQcpk|<;WZ|R_ zoml{%8wst3d_c>5;CDjkq*kzw#2(RRAD1~m(NJ?M*@!FQnr;*>A#!N96#>rBLGy9r zkq8h2m3w zlpy(yN*9x2c|48Ez{U1h3|aRG2(Z z(STP}6h^pAceWX)=hMW}PIp2Z@Oc6v8Fd8QB5VS7mVk|bcS--j8=5pq;>B@CCj|*J zKnP$9K!YVoNZzNI#y8>^E@*t(3E~*tG=+^%DJAJ^DQ#<#MdHc0YtsG{#v~;O$w>r^ zCMc9f+c>23Hp(%Ac8Vw`F!AYYX`FbRg&#wnp740nwBEiysRp=3U@*h0Jt03{LN?>4_*F>n6zCB_ z9HV9o)K0_slt2{h5%CGaCS@gb$?x<)3cEP&f|L-FJi-W`aUY2j5+TSs zqr_v9NQxAQI0j~_@yRP_VImsvR!St4FqTd!Dw4b-z{C-!0hVQrmw;cAoM~I)GoAPWC%I>F&*7fO{Vez4WCc1{YH?y|jKYh!6mcqO8N?X2#I^pQ z;aSx0#<-R-30ab4!;YyfsgsE10QXqKAVzI`(P^=$F|G)*jrODN#@(3>t&_2k5=ml0 zaSuZSSe!SbCNtSNnXexI zDAtVgkP+%x%7{^}gX_XGU=6v-TsAMl$)iw%h+B_=*p?VPjw-@6nS6%vI#7X>aoH8J zs>&aXBtlh%zu5tBA}2k*h*pJ0R$|~9Y4&)#tgD~@3OG#7AHu8q4}4cdb!OhQrHWR*90T>kC#!(^AMWKTy1HZKm5FQGS3 ztM=`uN3XV;pH3zK>2_nAkfB&vBdMQv=h%E_|rOO<8@*J*!f21N^V zleO7KtGKjp-!*%M^2IWdRXJJ6Ep=KlPUn@E)V(}a_Hx;;scJ4rR&ayB$-%SX z6HFnpAA=@gm^thGkZ@4{=X z1&maI`CkdavxsWxwiNwnvZGNYk!Z=L6)h&|BB*=QP#i`7b6xQjRo2j0Qm7$=eV`el zC|X|mk4wHKKsrq#>|$KL?>Jw`FlWwTcDi=;KY#akJ3LwDUA{o83l;h~ekg02t!Y2I zgKU|+kVvO5!8P2AxR?FHf@0|EB9FUPIOWF1MG~*E5|zQ3^{pVVy#S;IEivt@PS%0n z3vCuf%zj~dM~)OiSro57=4W%>@vLs?@Ed*;$yi51mM7~TaV_>y?pp31?#0|IaVN27 zT8$lFU^O=G>@-=8eWAtJt=Yxc{qrowmZrLZurMdBb>FW2!oDs8q?4 z(^KgGYA$;{?puDkSUipA>pPTY{en%I%4D#UO-2PN<5`}}mZEb3IkrUIdWCFHgFFGe>>!-$(1UQyw_W zJ(s%+IN`0_ySSfAboe+@9-p&fJKDWsduP3NJiS^Q+~@w(T5bQC*J?+>>{{)?)2-Ex zrhDvF2JR?s;C?Hvu0LNf2;3Qe4)&5S>T2B)ho2MOnrcu__6#jjL`OE&@Hw^Tgo>#+ zf)eTa@FiZ}gP#_#!bP%w98UXXztHyOf*UnyM6(smes=BIwmz4oKB0|_Q&N>ut*EM{ zy@DJZPqP=Nnd^ZRp5!q8-AopiT<@^$)oPx-k;yGC5bA3dc$2iG2h1VFVS$1BV-ZX9 zUuI&V-rM9Lkc&k*;C%)skM9*jUSAr>Iw88eXTjjZqHUO#WtvtGQr?kfd(%$8@2ok- zG45^9Am@y7C;NvD@DxNz-;PGP;gpVYPczBYnqJM749_erF`ZXfWr+%6W__iqfJtYm zf|6tPmuY$_Z8mvxx@+9etC8Gc+7g^%a0rvYM@*>i?Zm%kCo_PSp^JeQ*t99xO9!P1bTmO(s>piN`b-e)8Bt0n6mun#v z4?id|Syd_^i0g2s^!&;Gbouyt7;c{3*f{&Z*$whY>(tq+Tdk|lo@xz`PH1_|dv8m| z&(T_raf}2j%T#mCVL9a2)pk-@dPhW(Y***d_C99t-<+#E7B*ue7>2_|H-rj za$fTqUXbapp2UsfPTq?fZQYw*|0*~J1xVg3{OuS}I-!r9vGrSVbiMQc!|3|7Fu5=I zn?TT*uut?<@HG^siBhQQigUFKfJKt1g8Rk0sweIhnbwL__qeM@U>~8B{~QI^SNxo4 z0ZaV>K5%q$`4kSWh$0dE?1O?`Y|j^#>v`3RRE#yMk*VeD%Z0d8vV?=8E)TLipWT;! zoZ@xG+{Q+(_yHCy>C-|PZ}eY0M=m`M+H(%DbZ{~%w?pAIXEOR;9FM=Jrbm$MHa416 zIc@emxtY*t`})1Av;n5Xsg#IXS6AOh6`36Xmq#N9sKVGgrn~p?%`-1Lv$=e{6#xxx z4(|u@LjrFR{2wV4yuS}IMPVOO40ZV4aU*u*0QNGD)ZY(M;Pu>(<4E3rVWd78r%y-e z*}0?i@%cyT`E*wn9P-#TI$xU%&(DziyL2K5pdy)mvJNKErl?Z7GS9DjvgV+>g|4xv zi;`-1zwVie1lL0)>9xxO$<8~HO~gXIAUYsKz|F!{adQu|@<&D^`WU*dj)`y%&8>AHw;)Gbq=B$-V8Z`LA)N%j*osB5hNIx`5-!s<3z zXS|^vylW0>s3q}RUGN4ad3xJUJ`t4cCf9qG0vOUqr4TRF+f#4ld~yR4;?Jhokab zJP^DWeidVUjwp+gBgqaGeSldEM5<$eQWjhcQOZIKEDceVd6mfWLn>wwkm42jkIpxq zFLT!=U&k3+SJBuqLf-cy)=aj78-?@6!MbjoZty=n^Kd4NmrOi_cOdd+!ai4^qw2c1 zWvi0FH|v=)FJ*W!Pc>en+u&&C1dw-*LS^yAX-rnj0jdnED9fS_l0_F)OCwQ*%J}W7 zD`)WkBJfASCq64Qb2v0%I@(g6i3PxrMC79~xG&K0F3#IA=_5(}R8w-gK(5c{G72$F znU}I2I{^ll{E-Z}*pjRcha;4YV_!eYHE{M7xM{elGVZ#Ve*Yu=`p@WdFsLv+T+%z! z^cN2Q5&LH!IQu`0!S3fuf=EJ9r!7$iIy)@NubyenBR_(H=XsHc_h69tA*yTwJ(eV1 zsH7or2Z&|(&`iu|6rWQ#k6XfZnqJC-7C;r_DH`CHuGVYX-Q&kl1mHBzxb5LFMC^hJu64vJmi-Pj_49v#}6Awcx?b9EJ6LC&E;Eqeu z5pZfX;gsKuV{6l__zr(s_}~Qav90tKkaqjI%h3}}qET@Z^l6l8+0=*(S_9n8-NMEo zrbm%R*2W~s$HefHS<{;28{Hea^Oxr-(QF!SRThsdE*?33WU(k&1}|QGE#noNR=PJl z|Ay{0V0CN2BrjMHEmIOYe>1HOtlss#xsqgSG?QICatcdXY*Ng8-2n-=`OgqY(YyXx zie(V@1QVIXZuypMBockxFP})h$@VPVvlIFyZXvW$fV;XQyAArQ>Guneak|Yx@-VK& zVH^9bH`>n{T@{*acOA7$e3_&%y=IKWh;B{To9W5_shfh3$(n)~od}|B-vD>PQi-~` zUC1*{d2_j@{oJRuGEd_Z?~jzcN)Jf@nl6 zqzc#owv1dsnd4?b?l=Yx}9 zPygcVaDdzlL5!2d!@5Zo&^{`4Oup|4Zm8q94^MSNV1&1!&QQ(z9)4T_v=T)fLO`g1 zniP4Wfes~Gg^a)A=D}>z)Z2Kd4Qu4d@a-ck)5*NEbkCdp+zDLeP9|pTXiwzHXXVll zr9~IIPmTYeH~PqD4`+?^!(I5i?473Xn?C`E*NQ?0H6|SPNkW8|ks$4bBj6jaMU_1W zv_g{8`)8-H1?E5Fp1E)s{<8q>w=ugVV$3wTnmk)YyZEQmVun9Gp|3H2J^=Q8D_s+X z#%pa6O?fa(QOGwXno>v-jzr1SX@hRWH7%(H)~KOPh2scu4=m?q%<$u>1Kh%`!=iSt zAEoINQ@R62S!Wg(|MS?(PF)*Vz$VY3q(S)M*VRR!5N83nMYpLc7d%A;|1<+Ok17G( z5Ym;Gr6t{8E($~owa5T%saQb<35$S=)HKQzFAr?1Mv9WX?AQ#}3hmHhzmJ2D;)@0G zL`aBi$zY!-U<4_l%A3531N@4lwlZde`C!r3<|~UTZI$Z>11O(>7?2--#KA1GV9Kk{VjAc;|qR#_I%@p@T`Yr;!>z6 zF>Qgr!AQZ;k7VXgvMEX2XQ)-;^32E%xd?oH$AkaMe@nyYPni;qUl4gc2TDPfGXdCs zOt5OIAnBUKJAyRF%b7Bhn)@Uiiq|ONJ(Jh10)8X_#|TBuR7g;y)CUy148I!d8erMD z3$`FTHU)Er3iI}Q6oO7a`sSIgk%a^rPZ91(H-7vAv%nTsrEEqffk*_42Z6$Cl8MaW zffXw@GLkHJP9NLqpV&~-(`7DkOCU%X>jxmKO^p`^rt*bd-LwJbcQA=__ivdU= zla{57rib;ber(64kS4k-ZFsWq<{j zClaN)$b`={>6|bpn{xqAn8O?uwY}vkwjmNb1Ew{TOb-lpFjU;${WINhGj7gRiQW;- z5j>J{NKIsrjctYQyX!Qap&_0Xgq1)X+|@zS(G8*=T~oxWH7@S3kJ4cJuPu z#F|aU#ge+;$5F5qac|F)An%{U-Oas>;|57r4OlAo)6gC&(lp?Tvj+#UMLM`q6L4Dx zcX-A*$#L>Yrd|?k?SwdTmdvC~Mu6iaLKxucziRTeXJ}3%iMh`9@b7_YmG}@@3uApv ziJe6u^cHyP@M1;ao%isyI(Sl4IxztEje#pgbPC>_tSCU*CDkMsOX9Mm&=M8fZIMPe z)QVmf@d%jSxA~7vW9e%;c=vqeW|1)kw@n2x_*HnK3Oug<_=j3VRZ2>dqw@@0E|K9E zoSCHna^SpFBRn+H*(ht!aB#JeOU&pySZ+~)!hsL_~r#XQ$x$Ni*YQRN72lo?4 zZ>fc2EOh+kffzsFiXZr5aPBnmlSN_VvrcjjS*HiA*Bb;;SexaJ^84QRW+y{3)okXM z?Mzh3L~Ne_ZK)uDbe~(R5^|-OU1@^Eik*uIf#0<=1oKlLTgy~4C~^2qC5midjGyCQ z`3jNn|CdBFRWcXJENUv*NYh?S$YtaR`KM_eIu*OGCSM*FK;#NEq2ftgaA1Ntur@Xq zro&<6tG}T)_21C_47o4k|1~asF+ql65KL8BhN*urWstv`+!ThxpATy_GhH!r9eQm) zh0&Pd$Hsw_@m?^02a;mRB%b=8sGPrUtI-U=b1?$w)rI=41Aw_YCB z$$?RP^)d2gF2@a$y{KmeYJ#QYD%9d!lCrav!^QiFn zK1qjfM*Cq*-^3F_@M#<9SLCVQTEGE|rQ;(Za39mbllcJT+gXBf^=0qO?16k0kI?iNE zK-o#f{~A1}>5NcFBnN>->G1cVv}zQ6#)%@J!?z+aRx{(ZD=$sHDL(!hCR+8$ilJ40 zvV!H)oohPP%F^2Q+ES%T+ShdA!Ql8{KpyX0bNjK&`kR~mqsMN)rak;ye0qGqX_NJX z8fZ6M+kKKd1Kt^ahxsAyEl?*~eyhAi3OGf?Pv!x1s{@>(A8zw&1nrGJy46X{lkSMi z-XPs~6P09~IHed%rBMUHWT5SEFMUvq7+bBywWyYcQ<|7CY}asi9}FYRT8KCCO2ms8 z;75$9j9AJ1vJB4{&o|`~&e)UqSbWERoQd&H(Aw$()q5l91txc6`9m`lVk6|0I*_16vt=$hnfbAKrM7flYsPI7>d8d|6@}jz8W# z+J)Z@o_S{+-)VY%OBL}Y97w6&>s|K$_I52mavbG(x@V?)-jChcnSI{w-ad7{+tcmd z?&@^bo+L}MZ0luYOBTj}Y=a#MLCPT*j3K5l!Q$bn0F?x6AjC0ArEpTgxNyZ(VxUL@ z;Snm8N@6fcfJ%i|D3FR2F1*hF_ss6?5n-Sz$<^FUPfyQm&rHwX|Mx%p{eKv_SvfR} zP|mue7azlkSS&U5z1jPoVm|G7Ibube4mqRH>Qek5vinx;XOK3c-nLkyD}byaK|D| z^a$2uv42g!e`s*KX96HU&{!<>+o2f_3hVv0;cA)vde;dZSpK6i7(mN=O_v?Wh3)=& zVMkzwt^E8|a|d{mv*w%Rf|Nlkq^U3lSU-T@bc2NB(V5Zc%p1;(=879KVTStFR(<2l z8_teKXGaT1%P&++nAW?PJX%j^^4}-1p?cD8=`e5}g0F0B+AMVkTXu#&bLVF_ON*U} zmt@j#y1S(*xsXk5LxQ#~l^wrLY(&KqS$_em7qIw?v@p|_l{P1Bpa>OPTRr3Fa$=I5 z-8^}z%JHLq&J4n|i51fV9+~ld{x3T8(VGzrjL>;;*h$NGnIpl$uZQ%uFK=VTKBCf`TIVK8Jk2m z($W`~7Sdqx>zx=L07#CfHT*gJ#c->)-s3_{?0<}^Du6RWb>^B`owos4p(`(+L2mEz9jxa;Z$k*zsh zrn*tEQudrliQ%~_F_j<(^JbVwQv=1~jUrP`vr9`;2)L1JIJ7)K6X|o`=FPOVF=@4Rdw^+ zE9FrY0i@ef4MxZRbR3ob#|tG(XWUYZRJvNR`+EThQWNb!5$(x}Vab-FLqB+4>6zg< zg}m>l=;%e#Pi%pt;Y0zaPSYt(3U^eOtFVwa#oH(6JM*yoI9IE6Yv|ZNvq|!#tdWa? zR!V7Km>7!eSb3maoJc@|p3Obg`Hwzm4me@`RtnoISc^!@NI-8uVeDvYxjh z-r|u<5d62q5Q4!)zW9Kf*&S{V!$*pD7jHXqCVI%y{_TOU%d{g~fV+ARIw2h0h)g)V zdZe`6miadx{Dz`FqI;8kEEmZK;JKJE$E2lur1R3dqz_`e7u1BqmoenSWr9%?c+^N_ z5kF;jECxL)-^2(H<18*KXr8i?v_U0Ul*AwuIYSaRNq_;s;=ySEnlGDLQwy=ja3VdK z3Qx9*FK#Qe3&mC;?7msP*}J)?epDTQ6%$T}6nJL`6ToRUaCyYB!l)^`8UR&Q;ijU& z#H|4HM^N3SaS!z^Ohaq*U@n6u{tA_I^IUC>(2GcaTGv$1hY#^>77lfvJUsgW{3^V) zR)G{BJXw6dciMYN)Qa{H4P}v9F-5+LHpZ_=dATBI8Z%`0TK)NQF27P%(vaaYg%1dwFAr@OSq<*KJhI8bwp|AppCN9avV5^LXWUlZ;8_+jUSl|beOZA zdzRb<<1r;kB1&90QiY|jiZZ5tKJ8d!&IJgsjKA(SOszxSn<{8uFq^JMzhE%eawIbK zxlf~h49*t$WS41&4u*{Z`I=!;ldNKF?VLVnyHd%zbYiA{VMQ}f{hVow>Of}_*3!!jlS6)zo%{bzD1sZhj8(Z@f$zr zTi(8Xp7lvg)CiaLML&N;J`N+-7g6#%fHn3=rvS^}E8Q>sj`RWPBhq8iC#5gK@AhI) zfndDf>jr426ZKlC(wnWD47K4jtt;chfiU;Luq`n9gbD_=GgTbTn3FnWE=9pyKSBm< zE>`wODN5#~Y0xKi-Hg()s( z)4HbV>6RO0v%x99n6B6^H+4gSPlu1YaOEa&HU#;a$74tJ2 zX_>r3N$XIQPs_4;=t`@xxag~?z3^EOl^IkkZPS!16sF&#sB50glx@mqvstPrrVQLP z`ZjT`Y}!rT(>#Z(ro#+}0gO7w)M<9BY#DJDF{XQfr?sze@ywqjBm zg?adf;nNW!R%EUn07EFybI{(rBi8`p_ggFIoGxB*ti`HrQEg2r*{~+UgrN!OB}!Y~ z@aLWF5xf~i4HnXtx9VpW2%|8w7Ep1I+BPm5TFGs4GfRjCP?zgo9(7wh%B%-gY#yiW z=vfXA^EMCPwY;>kxU}~G(13b#$H94+*ydMyTi#G7a12>7Evgf3Q8CPUqPhTLGrHE& zY+2WuUI_!z@E21cW#}>UsaVZLv~b_zkeftj*WLLsIm+1#{%boeXQ#EeVpuDB<1*b? z)W-MD_*4kG@VDegQWc{Ul2%hFmPK03iJ>Bfxe&WJZ$xkiT^1Y+MU-emM?%(`e2*ma zdOgs&(OKGSddsVN##HrI)zrGR0GK0H)ol8dxp%39qBF}@U%x5`X-x@gUCpev;3LTB ztIOo$I~AS|)X=?h`SLres+tN|blqaDZ}g0`LUn#-`AQc!1|7)U&U*|^OT&SFZSlH@ z1u0dn-Z7PVeM{Pqu9aRUos;eaS|rV;l=~TO3gRZwVk%B&xYf-;&u6=eqm?|* z2)jpALHuFJ+@5KD+>~daxnrgBtlPqI}Mx)>K-A}yRFh9rA?^Yx0J(j8F zzCiwU%g8#&HD0$nMa9zhGo8WG(BTJaMcFmgQrAgY+j7u>gR633sC^$U8K$^t8!Q#A zbC|}}%Sp4}XcYXCPQroW=~r|0Pi<2jD3P`Qn(;(zAIBE^Fu4;j7J9$LmH-{HNtL67 z>dr^FH#st72{j%%!fIe7@+zNVipmcGx5?OHmNSAPAlKq|6#f{qU><*rn?RL{0all& z1x=7+zJ@chO9rkZN10gn<0i)$sR7GwiSB{nO zt(;fB4J-qSmPnS|9v33-Rq%jq?O>x;ZywN28AMjM0Pk8$6d3v61ypgK{#9yGQ}tm4>f6ejM#cM>tMpzRpwbFU+iulTAsD7zW0ho zo7iS8Yw0-{)Yto#t{NFDmCbz~;6x`Ib~*qm^xd^;Wqz;r=XP#BX&_B``iIHu1W#W^ zxm7Z2wxh6>mOt|NYok^|h~6 ziRC4JU;;yY8TgD*91l@gYrxpqVy#h{&?i&^0o!~jV+}$s?7VsB(zSEU_E~OEy>oPV z`RGkYJ7qQHQ1#$T4LLOG1RWoCzJwCpB8Gm~lHz-+GJIy|Eo-$3OIbW$>>Pu0;9Rnx zQ6t4)dXQ%gEl-4z?yaV8lk`bV)qH*?p}B&uy9l^q0iRZf&SN-j+8xnI&{e#l4qYA5 zE+FWTMclfKoftu=lGwj_p``(s$dwoe6ejaj%sQcV)@i(KX*| zr)+3=Y{!;ZKq9Zq7PIUvDG8qGo#^#Wy!=GBd!jcJi~X_gNvIPCHa6q#ZRUE$>q`CU zRp5%7t!5(oO=AXr2)=ZTNV*%)C~AZN`(R)cF+SAZhCFDhGt$-8Y(vHIv_^&Fs|LDk>XzXpfT8^+Uy{YE=I zzGj-BeuA6-V2YdXmhO{&3lPWuEp8U31MGP)Gm;k?Jr8JZ6`vn8Bj5OQK(i0X!9XYB zO9N)66K2^4)Lt4hzvhydS&=V+nK_z&0%o4e=U3*~^I&FHNkKo21TO<3P4M#ec8r$| z8(CtDYg5Slhd(77dKAWy0q=1ee2qY2 zG06e`iA2u6EUili6N}VDy*2AOz-P*h>Sm+#Ou4b;Wxokys*Qh$YjSqHLuBaw8Hp*2??%Pw_;+zlKKF~aMGko#Rhywylv};<0R&$4`)T@mM|sYm*G8r;r<_=R)Pfl}-hgx2MXLEVGJ! zSb0ZW^U7c1am91;S74l&BF6OWjW+v!&kyEg)Od~*u>*7u=4PBko=OB z$>nS#W7xS|##&;$zH!S&y&UVq&lgK1HNH?@D*Fb8gD`z45_|lgrDA!tT3wxtRmA_8 zjZ0+VLp4)3cHeIy#|=al4aCt>QWztkV<-HRC)=&P`;K0BrDfIj6e@i~Hypd(3A5Ey z(0b)aEA85soiAI}IY0?7v5)TC+iWdG8PY0Kg|F2u5*@8=-yzR$RLmSt)dShCY+~bo zhi6j2EPM@&RKJ=e6!KGtXdZu~xgw z4Ym8unyzb}y-y3>_fjul3fGy{u$ayj7I@U^Z}i`0y8OIrzTb4ua}n!u!ms=tjOBId zq;xjvQ$LACxhhmEh(MEGwSNB5U*>*pR}{^(Y}=|YEYxvpYKpRP=+I4AZ^{k}bGeW? zvWfKz-R@N~)GNqQ04OuKtYFN_Og?|g^w=%J%>C#s%rhI*(oDv=Rycm+@q)%VAP$Qb zUj6o0FH$Hm$`yZQxZ*3EGH6NtBR3rxPz$q#GZokZSj(zoQLVkyei^jC)zW@Vvu=g9 z!glu=cxKO#Z%MWkqJ2|C7DkZ&!!872%G54|eD_OE2Ke|d*(c9l7Y$lq zqjOqUFcR}Zf7Kn%C-%g%$7)kqDDO?e-$(F2OpM@~iF$30qSj1EHPu>ch1XiW2-6_1 z40}@{st8?)0$;%fCE-hBv)N6WwYzru6}Qx76X))8cb;tl18e-n_7i2?Duu(>A1cZQ z%;<9`x1UF=CC07~8;ynCN5e2R7q0JJ534A{sET5_(eIDHo%X$;6nVr?`F@xaX`eWc zqMuZwKXU_MT;Q>4H%8U&7For8?ZxEv+S(24@JHgNx!t*_qUZCPr+aygRikfCn2(7) z+EaiXFh|-pX+t_8{l4_itND4R5ICE9vMlS=v&(|-H5rj3N(|R z{FIkv27`g!lXZ+XhENZ#@H(P!Jljg8a_B5(T8jR@l?wc@sS~-CQ#o}_D$i5&k&&rxGb7t} zT(rAYDOdHPPrrs{Xy;O1zF=sI&~{mZbN_MHb18N4=(UZ%Z{HjRoTt~xh?>2?*O_`HHA7Gxj<1VX0Bk4-A1zBrnN$(yNbp!_*5q6Iq9@% zDpY_J&(+P{DBb)G1E{r#xhHEHnwk7JL`xf3c${NkWME(b;#aBm;_>`8Um3U=zW_xT zZZ5P-g3m2U}E*s5@U16|36^&{sy`E|9__C*!(d>@P2Su z|7ZFLWEVi)Ujp+p#D4>ip>8QhgfG)<^l*mqEs*pfsmCx2SNdCyE3B~U!In0D!R!J6 z)d(|s0000004M)78Dj*7N8c|7bX{a7upye7)ltB7|SVYD9|YaE@&@iFT5}uFu*Z@GD0&xGnO&Hw^TK+FY%3=IFld8^8m85TIKDhQ4;Iha0L3_epoc1M;Kr5Fwt0M^rDuW4vM_9O4OY zoDd9d>5P#H_i&F|xKICGctHLT9&-Ap@QD7G@E9?^g+ok&(LObGyV1q5Osr>LVr|>K zsntB1dA-)Pwu#f3+MZQ=Di+S=Dz~OmD^ojNmPR$!9CYfUopa4{I?ct8Qd41%6o!9p zv4KW`BT6K&SN|IG!0ZTbx;2oH%Dg6jLf2+X~Q||moBnA%Qlu^0us%q5KY|DFfx5e){f7FV z(vbbL5Bp&ihEc)@%BY}<8b(n^15J!!921ztYOKLptiyV2z(#Ds{x|@eaUc%D!8inm z;xHVJBXA^+!qGSe$Kp5~4+kgUL~OxUOko<^upK)vgPquglW;Ol!KpY6r{fHqiL-Dv z&cV4j59i|oT!@QsF)qQSxD1!$3S5b+a5b*MwYUz~;|AP_n{YF3!L7Irx8n{lwBW)6 zhmSTo5ZH|_0)&Vl5n~S&Gz=2VqKCbh!=1PbcjF%1i~Ddt9>9Zm2oK{CJc`HgIG(_h zcnVMB89a;U@H}3?i+Bky;}yJ$*YG;tz?*mrZ{r=ji}&z8KEQ|g2p{7Ue2UNTIljP` z_zGX+8+?oJ@I8LOkN62c;}`sj-|##Bz@PXFf8!tgi+%WSXchCk67xb4O|pP1<3!R3 zU%1Q&88unhN&*%cN7F@JXG+PQ%wbRdzev?Q(B}E0h~>hq{zF}Ld&8IR}MWs%E+U}3h$12)%K5Zv&ILJ6&sI5nb(<};V4yPelTve!{s zPv*KUWt)EDAel!Z@}&whJICjdHmt2!ScC~gL=PsS(Oid21jXc7M20J_O|juv5ozXv zeCA5?LK-OpBjS146NYXs?(9j`)g?EOZa4kbe4L(;(OG(q=4w{ByiUL<(Mr4LY*f{??T zm$F4ZFIytJy6jm}lh@lIIX~9tfoOLO6^d3P*Gaq0+Pv0RX+_Nq%?!+UsyS0`hqmcb zb*s%Yll!f^%upSplPLhTDJBb0OpaVXKXkG{QkhbPOwu#eJl~$~iI@+Zu@ThEn0!k{ zC2lw0caN!vUY$zO6ATAblE>){Vl>D+OIw0kK)p};?l4uS%A6G4&}b%F2}M%PY}|ju z7WGdd*P0v|38iMj9g7lb9LUDJ^p|B;$aN`ZiRL3Qk6aN{V``45q2g>f9aUnfMLMgL zH6fF+l0F3`kXHV5T5V4vxXFfP#i_{aPF0b&+1uFAEEMTKz^4_wYNpy0sFIB|^J@J; zNR2{c(b0_bRY`X!a!m)q<0@?(tHm%H)>4_WPU4t;S5ZSzGwoUG*C^IpJ#CA~0jDJc zuUUvRE}2wFVaQ;2ermvdvmodQCJK>6v|^fd%6WS=Ix7QekFr*{nvbc~%@4BLqjowo Tq%oJCS>gB4(El@6jH3Vm=YCLu literal 0 HcmV?d00001 diff --git a/public/fonts/icons/icons.woff2 b/public/fonts/icons/icons.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6bcc8d8ecedece785c023cbef884a1b4cf6d18cb GIT binary patch literal 23080 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 H00000)8gFF literal 0 HcmV?d00001 diff --git a/public/horaires_C30.xlsx b/public/horaires_C30.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..10297dd4e75956b3e5de290209c092126a858d21 GIT binary patch literal 577888 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + Admin - Gestion des régions + + + +

+ + + diff --git a/public/logo192.png b/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/public/logos/Thumbs.db b/public/logos/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..69f8e8e965e1ce50422f9e0304797cc5c41983c4 GIT binary patch literal 69632 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 D&J`2~ literal 0 HcmV?d00001 diff --git a/public/logos/color/data-color.json b/public/logos/color/data-color.json new file mode 100644 index 0000000..766a30d --- /dev/null +++ b/public/logos/color/data-color.json @@ -0,0 +1,384 @@ +{ + "generatedAt": "2025-10-24T21:56:22.827Z", + "logos": [ + { + "file": "logo-aleop-color.svg", + "path": "/img/type/logo-aleop-color.svg", + "slug": "aleop", + "name": "Aleop" + }, + { + "file": "logo-auvergerhonealpes-color.svg", + "path": "/img/type/logo-auvergerhonealpes-color.svg", + "slug": "auvergerhonealpes", + "name": "Auvergerhonealpes" + }, + { + "file": "logo-breizhgo-color.svg", + "path": "/img/type/logo-breizhgo-color.svg", + "slug": "breizhgo", + "name": "Breizhgo" + }, + { + "file": "logo-cfl-color.svg", + "path": "/img/type/logo-cfl-color.svg", + "slug": "cfl", + "name": "CFL" + }, + { + "file": "logo-db-color.svg", + "path": "/img/type/logo-db-color.svg", + "slug": "db", + "name": "DB" + }, + { + "file": "logo-eurostar-color.svg", + "path": "/img/type/logo-eurostar-color.svg", + "slug": "eurostar", + "name": "Eurostar" + }, + { + "file": "logo-fluo-color.svg", + "path": "/img/type/logo-fluo-color.svg", + "slug": "fluo", + "name": "Fluo" + }, + { + "file": "logo-frecciarossa-color.svg", + "path": "/img/type/logo-frecciarossa-color.svg", + "slug": "frecciarossa", + "name": "Frecciarossa" + }, + { + "file": "logo-hautsdefrance-color.svg", + "path": "/img/type/logo-hautsdefrance-color.svg", + "slug": "hautsdefrance", + "name": "Hautsdefrance" + }, + { + "file": "logo-ice-color.svg", + "path": "/img/type/logo-ice-color.svg", + "slug": "ice", + "name": "ICE" + }, + { + "file": "logo-intercites-color.svg", + "path": "/img/type/logo-intercites-color.svg", + "slug": "intercites", + "name": "Intercités" + }, + { + "file": "logo-ler-color.svg", + "path": "/img/type/logo-ler-color.svg", + "slug": "ler", + "name": "Ler" + }, + { + "file": "logo-lio-color.svg", + "path": "/img/type/logo-lio-color.svg", + "slug": "lio", + "name": "Lio" + }, + { + "file": "logo-lunea-color.svg", + "path": "/img/type/logo-lunea-color.svg", + "slug": "lunea", + "name": "Lunea" + }, + { + "file": "logo-metrolor-color.svg", + "path": "/img/type/logo-metrolor-color.svg", + "slug": "metrolor", + "name": "Metrolor" + }, + { + "file": "logo-mobigo-color.svg", + "path": "/img/type/logo-mobigo-color.svg", + "slug": "mobigo", + "name": "Mobigo" + }, + { + "file": "logo-nomad-color.svg", + "path": "/img/type/logo-nomad-color.svg", + "slug": "nomad", + "name": "Nomad" + }, + { + "file": "logo-occitanie-color.svg", + "path": "/img/type/logo-occitanie-color.svg", + "slug": "occitanie", + "name": "Occitanie" + }, + { + "file": "logo-ouigo-color.svg", + "path": "/img/type/logo-ouigo-color.svg", + "slug": "ouigo", + "name": "OUIGO" + }, + { + "file": "logo-ouigo-classique-color.svg", + "path": "/img/type/logo-ouigo-classique-color.svg", + "slug": "ouigo-classique", + "name": "OUIGO Trains Classiques" + }, + { + "file": "logo-remi-color.svg", + "path": "/img/type/logo-remi-color.svg", + "slug": "remi", + "name": "Remi" + }, + { + "file": "logo-renfeave-color.svg", + "path": "/img/type/logo-renfeave-color.svg", + "slug": "renfeave", + "name": "Renfe AVE" + }, + { + "file": "logo-rer-a-color.svg", + "path": "/img/type/logo-rer-a-color.svg", + "slug": "rer-a", + "name": "RER A" + }, + { + "file": "logo-rer-b-color.svg", + "path": "/img/type/logo-rer-b-color.svg", + "slug": "rer-b", + "name": "RER B" + }, + { + "file": "logo-rer-c-color.svg", + "path": "/img/type/logo-rer-c-color.svg", + "slug": "rer-c", + "name": "RER C" + }, + { + "file": "logo-rer-d-color.svg", + "path": "/img/type/logo-rer-d-color.svg", + "slug": "rer-d", + "name": "RER D" + }, + { + "file": "logo-rer-e-color.svg", + "path": "/img/type/logo-rer-e-color.svg", + "slug": "rer-e", + "name": "RER E" + }, + { + "file": "logo-sbb-color.svg", + "path": "/img/type/logo-sbb-color.svg", + "slug": "sbb", + "name": "SBB" + }, + { + "file": "logo-sncb-color.svg", + "path": "/img/type/logo-sncb-color.svg", + "slug": "sncb", + "name": "SNCB" + }, + { + "file": "logo-sncf-color.svg", + "path": "/img/type/logo-sncf-color.svg", + "slug": "sncf", + "name": "Sncf" + }, + { + "file": "sncf-voyageurs-logo-color.png", + "path": "/img/type/sncf-voyageurs-logo-color.png", + "slug": "sncf-voyageurs-logo", + "name": "SNCF" + }, + { + "file": "logo-sncf1985.svg", + "path": "/img/type/logo-sncf1985.svg", + "slug": "sncf1985", + "name": "Sncf1985" + }, + { + "file": "logo-sncf1992.svg", + "path": "/img/type/logo-sncf1992.svg", + "slug": "sncf1992", + "name": "Sncf1992" + }, + { + "file": "logo-t-h.svg", + "path": "/img/type/logo-t-h.svg", + "slug": "t-h", + "name": "T H" + }, + { + "file": "logo-t-j.svg", + "path": "/img/type/logo-t-j.svg", + "slug": "t-j", + "name": "T J" + }, + { + "file": "logo-t-k.svg", + "path": "/img/type/logo-t-k.svg", + "slug": "t-k", + "name": "T K" + }, + { + "file": "logo-t-l.svg", + "path": "/img/type/logo-t-l.svg", + "slug": "t-l", + "name": "T L" + }, + { + "file": "logo-t-n.svg", + "path": "/img/type/logo-t-n.svg", + "slug": "t-n", + "name": "T N" + }, + { + "file": "logo-t-p.svg", + "path": "/img/type/logo-t-p.svg", + "slug": "t-p", + "name": "T P" + }, + { + "file": "logo-t-r.svg", + "path": "/img/type/logo-t-r.svg", + "slug": "t-r", + "name": "T R" + }, + { + "file": "logo-t-u.svg", + "path": "/img/type/logo-t-u.svg", + "slug": "t-u", + "name": "T U" + }, + { + "file": "logo-teoz.svg", + "path": "/img/type/logo-teoz.svg", + "slug": "teoz", + "name": "Teoz" + }, + { + "file": "sncf-voyageurs-logo.png", + "path": "/img/type/sncf-voyageurs-logo.png", + "slug": "ter", + "name": "TER" + }, + { + "file": "logo-ter-rhone-alpes.svg", + "path": "/img/type/logo-ter-rhone-alpes.svg", + "slug": "ter-rhone-alpes", + "name": "TER Rhone Alpes" + }, + { + "file": "logo-teralsace.svg", + "path": "/img/type/logo-teralsace.svg", + "slug": "teralsace", + "name": "Teralsace" + }, + { + "file": "logo-teraquitaine.svg", + "path": "/img/type/logo-teraquitaine.svg", + "slug": "teraquitaine", + "name": "Teraquitaine" + }, + { + "file": "logo-terbassenormandie.svg", + "path": "/img/type/logo-terbassenormandie.svg", + "slug": "terbassenormandie", + "name": "Terbassenormandie" + }, + { + "file": "logo-terbourgogne.svg", + "path": "/img/type/logo-terbourgogne.svg", + "slug": "terbourgogne", + "name": "Terbourgogne" + }, + { + "file": "logo-terbretagne.svg", + "path": "/img/type/logo-terbretagne.svg", + "slug": "terbretagne", + "name": "Terbretagne" + }, + { + "file": "logo-tercentre.svg", + "path": "/img/type/logo-tercentre.svg", + "slug": "tercentre", + "name": "Tercentre" + }, + { + "file": "logo-terlanguedocroussillon.svg", + "path": "/img/type/logo-terlanguedocroussillon.svg", + "slug": "terlanguedocroussillon", + "name": "Terlanguedocroussillon" + }, + { + "file": "logo-termidipyrenees.svg", + "path": "/img/type/logo-termidipyrenees.svg", + "slug": "termidipyrenees", + "name": "Termidipyrenees" + }, + { + "file": "logo-ternordpasdecalais.svg", + "path": "/img/type/logo-ternordpasdecalais.svg", + "slug": "ternordpasdecalais", + "name": "Ternordpasdecalais" + }, + { + "file": "logo-terpoitoucharentes.svg", + "path": "/img/type/logo-terpoitoucharentes.svg", + "slug": "terpoitoucharentes", + "name": "Terpoitoucharentes" + }, + { + "file": "logo-tgv.svg", + "path": "/img/type/logo-tgv.svg", + "slug": "tgv", + "name": "TGV" + }, + { + "file": "logo-inoui.svg", + "path": "/img/type/logo-inoui.svg", + "slug": "inoui", + "name": "TGV InOui" + }, + { + "file": "logo-lyria.svg", + "path": "/img/type/logo-lyria.svg", + "slug": "lyria", + "name": "TGV Lyria" + }, + { + "file": "logo-thalys.svg", + "path": "/img/type/logo-thalys.svg", + "slug": "thalys", + "name": "Thalys" + }, + { + "file": "logo-thello.svg", + "path": "/img/type/logo-thello.svg", + "slug": "thello", + "name": "Thello" + }, + { + "file": "track-car.svg", + "path": "/img/type/track-car.svg", + "slug": "track-car", + "name": "Track Car" + }, + { + "file": "logo-tramtrain.svg", + "path": "/img/type/logo-tramtrain.svg", + "slug": "tramtrain", + "name": "Tramtrain" + }, + { + "file": "logo-trenitalia.svg", + "path": "/img/type/logo-trenitalia.svg", + "slug": "trenitalia", + "name": "Trenitalia" + }, + { + "file": "logo-zou.svg", + "path": "/img/type/logo-zou.svg", + "slug": "zou", + "name": "Zou" + } + ] +} + diff --git a/public/logos/color/logo-aleop-color.svg b/public/logos/color/logo-aleop-color.svg new file mode 100644 index 0000000..0a7045d --- /dev/null +++ b/public/logos/color/logo-aleop-color.svg @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-auvergerhonealpes-color.svg b/public/logos/color/logo-auvergerhonealpes-color.svg new file mode 100644 index 0000000..f7970f0 --- /dev/null +++ b/public/logos/color/logo-auvergerhonealpes-color.svg @@ -0,0 +1,88 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-breizhgo-color.svg b/public/logos/color/logo-breizhgo-color.svg new file mode 100644 index 0000000..0a8390b --- /dev/null +++ b/public/logos/color/logo-breizhgo-color.svg @@ -0,0 +1,108 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/logos/color/logo-cfl-color.svg b/public/logos/color/logo-cfl-color.svg new file mode 100644 index 0000000..2e8cead --- /dev/null +++ b/public/logos/color/logo-cfl-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/color/logo-db-color.svg b/public/logos/color/logo-db-color.svg new file mode 100644 index 0000000..68f9ae7 --- /dev/null +++ b/public/logos/color/logo-db-color.svg @@ -0,0 +1,20 @@ + + +Deutsche Bahn AG logo + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-eurostar-color.svg b/public/logos/color/logo-eurostar-color.svg new file mode 100644 index 0000000..e6c9791 --- /dev/null +++ b/public/logos/color/logo-eurostar-color.svg @@ -0,0 +1,11436 @@ + +image/svg+xml13 DECEMBER 2015 - 28 MAY 2016 + \ No newline at end of file diff --git a/public/logos/color/logo-fluo-color.svg b/public/logos/color/logo-fluo-color.svg new file mode 100644 index 0000000..993406b --- /dev/null +++ b/public/logos/color/logo-fluo-color.svg @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/public/logos/color/logo-frecciarossa-color.svg b/public/logos/color/logo-frecciarossa-color.svg new file mode 100644 index 0000000..4212dca --- /dev/null +++ b/public/logos/color/logo-frecciarossa-color.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/color/logo-hautsdefrance-color.svg b/public/logos/color/logo-hautsdefrance-color.svg new file mode 100644 index 0000000..7525f3b --- /dev/null +++ b/public/logos/color/logo-hautsdefrance-color.svg @@ -0,0 +1,221 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/logos/color/logo-ice-color.svg b/public/logos/color/logo-ice-color.svg new file mode 100644 index 0000000..71f7c5d --- /dev/null +++ b/public/logos/color/logo-ice-color.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/public/logos/color/logo-inoui-color.svg b/public/logos/color/logo-inoui-color.svg new file mode 100644 index 0000000..cce0cc4 --- /dev/null +++ b/public/logos/color/logo-inoui-color.svg @@ -0,0 +1,53 @@ + +image/svg+xml \ No newline at end of file diff --git a/public/logos/color/logo-intercite-color.svg b/public/logos/color/logo-intercite-color.svg new file mode 100644 index 0000000..e5bf2bc --- /dev/null +++ b/public/logos/color/logo-intercite-color.svg @@ -0,0 +1,104 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/logos/color/logo-lio-color.svg b/public/logos/color/logo-lio-color.svg new file mode 100644 index 0000000..cb2552c --- /dev/null +++ b/public/logos/color/logo-lio-color.svg @@ -0,0 +1,43 @@ + \ No newline at end of file diff --git a/public/logos/color/logo-lunea-color.svg b/public/logos/color/logo-lunea-color.svg new file mode 100644 index 0000000..d453b49 --- /dev/null +++ b/public/logos/color/logo-lunea-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/color/logo-lyria-color.svg b/public/logos/color/logo-lyria-color.svg new file mode 100644 index 0000000..8988703 --- /dev/null +++ b/public/logos/color/logo-lyria-color.svg @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-metrolor-color.svg b/public/logos/color/logo-metrolor-color.svg new file mode 100644 index 0000000..18fe280 --- /dev/null +++ b/public/logos/color/logo-metrolor-color.svg @@ -0,0 +1,542 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-mobigo-color.svg b/public/logos/color/logo-mobigo-color.svg new file mode 100644 index 0000000..51f20cb --- /dev/null +++ b/public/logos/color/logo-mobigo-color.svg @@ -0,0 +1,332 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-nomad-color.svg b/public/logos/color/logo-nomad-color.svg new file mode 100644 index 0000000..e467251 --- /dev/null +++ b/public/logos/color/logo-nomad-color.svg @@ -0,0 +1 @@ +Logo Nomad Normandie 2020Plan de travail 8 \ No newline at end of file diff --git a/public/logos/color/logo-nouvelleaquitaine-color.svg b/public/logos/color/logo-nouvelleaquitaine-color.svg new file mode 100644 index 0000000..5ec6da6 --- /dev/null +++ b/public/logos/color/logo-nouvelleaquitaine-color.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-occitanie-color.svg b/public/logos/color/logo-occitanie-color.svg new file mode 100644 index 0000000..e0c3332 --- /dev/null +++ b/public/logos/color/logo-occitanie-color.svg @@ -0,0 +1,229 @@ + +image/svg+xml \ No newline at end of file diff --git a/public/logos/color/logo-ouigo-classique-color.svg b/public/logos/color/logo-ouigo-classique-color.svg new file mode 100644 index 0000000..f86964d --- /dev/null +++ b/public/logos/color/logo-ouigo-classique-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/color/logo-ouigo-color.svg b/public/logos/color/logo-ouigo-color.svg new file mode 100644 index 0000000..1efd32a --- /dev/null +++ b/public/logos/color/logo-ouigo-color.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/color/logo-remi-color.svg b/public/logos/color/logo-remi-color.svg new file mode 100644 index 0000000..dce8e59 --- /dev/null +++ b/public/logos/color/logo-remi-color.svg @@ -0,0 +1,381 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/logos/color/logo-renfeave-color.svg b/public/logos/color/logo-renfeave-color.svg new file mode 100644 index 0000000..5faa192 --- /dev/null +++ b/public/logos/color/logo-renfeave-color.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-sbb-color.svg b/public/logos/color/logo-sbb-color.svg new file mode 100644 index 0000000..8e46c7d --- /dev/null +++ b/public/logos/color/logo-sbb-color.svg @@ -0,0 +1,6 @@ + + +SBB CFF FFS logo notext + + + diff --git a/public/logos/color/logo-sncb-color.svg b/public/logos/color/logo-sncb-color.svg new file mode 100644 index 0000000..52b36b7 --- /dev/null +++ b/public/logos/color/logo-sncb-color.svg @@ -0,0 +1,15 @@ + + +image/svg+xml + + + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/color/logo-sncf-color.svg b/public/logos/color/logo-sncf-color.svg new file mode 100644 index 0000000..5b4eaff --- /dev/null +++ b/public/logos/color/logo-sncf-color.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-teoz-color.svg b/public/logos/color/logo-teoz-color.svg new file mode 100644 index 0000000..f21e75d --- /dev/null +++ b/public/logos/color/logo-teoz-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/color/logo-ter-color.svg b/public/logos/color/logo-ter-color.svg new file mode 100644 index 0000000..39b0633 --- /dev/null +++ b/public/logos/color/logo-ter-color.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/public/logos/color/logo-ter-rhone-alpes.svg b/public/logos/color/logo-ter-rhone-alpes.svg new file mode 100644 index 0000000..c0bae43 --- /dev/null +++ b/public/logos/color/logo-ter-rhone-alpes.svg @@ -0,0 +1,401 @@ + + + + diff --git a/public/logos/color/logo-teralsace-color.svg b/public/logos/color/logo-teralsace-color.svg new file mode 100644 index 0000000..abaa9d7 --- /dev/null +++ b/public/logos/color/logo-teralsace-color.svg @@ -0,0 +1,146 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-teraquitaine-color.svg b/public/logos/color/logo-teraquitaine-color.svg new file mode 100644 index 0000000..f11c239 --- /dev/null +++ b/public/logos/color/logo-teraquitaine-color.svg @@ -0,0 +1,264 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-terbassenormandie-color.svg b/public/logos/color/logo-terbassenormandie-color.svg new file mode 100644 index 0000000..ec1af24 --- /dev/null +++ b/public/logos/color/logo-terbassenormandie-color.svg @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-terbourgogne-color.svg b/public/logos/color/logo-terbourgogne-color.svg new file mode 100644 index 0000000..b5981e3 --- /dev/null +++ b/public/logos/color/logo-terbourgogne-color.svg @@ -0,0 +1,120 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-terbretagne-color.svg b/public/logos/color/logo-terbretagne-color.svg new file mode 100644 index 0000000..60fcf95 --- /dev/null +++ b/public/logos/color/logo-terbretagne-color.svg @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-tercentre-color.svg b/public/logos/color/logo-tercentre-color.svg new file mode 100644 index 0000000..d5e7c06 --- /dev/null +++ b/public/logos/color/logo-tercentre-color.svg @@ -0,0 +1,79 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/public/logos/color/logo-terfranchecomte-color.svg b/public/logos/color/logo-terfranchecomte-color.svg new file mode 100644 index 0000000..63def6c --- /dev/null +++ b/public/logos/color/logo-terfranchecomte-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/color/logo-terlanguedocroussillon-color.svg b/public/logos/color/logo-terlanguedocroussillon-color.svg new file mode 100644 index 0000000..c399d89 --- /dev/null +++ b/public/logos/color/logo-terlanguedocroussillon-color.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/color/logo-termidipyrenees-color.svg b/public/logos/color/logo-termidipyrenees-color.svg new file mode 100644 index 0000000..d1f3a80 --- /dev/null +++ b/public/logos/color/logo-termidipyrenees-color.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/color/logo-ternordpasdecalais-color.svg b/public/logos/color/logo-ternordpasdecalais-color.svg new file mode 100644 index 0000000..324049a --- /dev/null +++ b/public/logos/color/logo-ternordpasdecalais-color.svg @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-terpoitoucharentes-color.svg b/public/logos/color/logo-terpoitoucharentes-color.svg new file mode 100644 index 0000000..edd3375 --- /dev/null +++ b/public/logos/color/logo-terpoitoucharentes-color.svg @@ -0,0 +1,357 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/logos/color/logo-tgv-color.svg b/public/logos/color/logo-tgv-color.svg new file mode 100644 index 0000000..bdf61b8 --- /dev/null +++ b/public/logos/color/logo-tgv-color.svg @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/public/logos/color/logo-thalys-color.svg b/public/logos/color/logo-thalys-color.svg new file mode 100644 index 0000000..b18892c --- /dev/null +++ b/public/logos/color/logo-thalys-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/color/logo-thello-color.svg b/public/logos/color/logo-thello-color.svg new file mode 100644 index 0000000..165add0 --- /dev/null +++ b/public/logos/color/logo-thello-color.svg @@ -0,0 +1,678 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/logos/color/logo-tramtrain-color.svg b/public/logos/color/logo-tramtrain-color.svg new file mode 100644 index 0000000..0d60dde --- /dev/null +++ b/public/logos/color/logo-tramtrain-color.svg @@ -0,0 +1,112 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/logo-trenitalia-color.svg b/public/logos/color/logo-trenitalia-color.svg new file mode 100644 index 0000000..ee1f988 --- /dev/null +++ b/public/logos/color/logo-trenitalia-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/color/logo-zou-color.svg b/public/logos/color/logo-zou-color.svg new file mode 100644 index 0000000..e697473 --- /dev/null +++ b/public/logos/color/logo-zou-color.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + diff --git a/public/logos/color/row-background-arrival.svg b/public/logos/color/row-background-arrival.svg new file mode 100644 index 0000000..37a0690 --- /dev/null +++ b/public/logos/color/row-background-arrival.svg @@ -0,0 +1,122 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/public/logos/color/row-background-departure.svg b/public/logos/color/row-background-departure.svg new file mode 100644 index 0000000..3fc37da --- /dev/null +++ b/public/logos/color/row-background-departure.svg @@ -0,0 +1,158 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/data.json b/public/logos/data.json new file mode 100644 index 0000000..f80ff90 --- /dev/null +++ b/public/logos/data.json @@ -0,0 +1,87 @@ +{ + "categories": [ + { + "name": "Régionaux", + "logos": { + "logo-aleop.svg": "Aleop", + "logo-auvergerhonealpes.svg": "Auvergne Rhône-Alpes", + "logo-breizhgo.svg": "BreizhGo", + "logo-hautsdefrance.svg": "Hauts-de-France", + "logo-mobigo.svg": "Mobigo", + "logo-occitanie.svg": "Occitanie", + "logo-ter-rhone-alpes.svg": "TER Rhône-Alpes", + "logo-ter.svg": "TER", + "logo-terbretagne.svg": "TER Bretagne", + "logo-tercentre.svg": "TER Centre", + "logo-teralsace.svg": "TER Alsace", + "logo-teraquitaine.svg": "TER Aquitaine", + "logo-terbassenormandie.svg": "TER Basse-Normandie", + "logo-terbourgogne.svg": "TER Bourgogne", + "logo-terlanguedocroussillon.svg": "TER Languedoc-Roussillon", + "logo-termidipyrenees.svg": "TER Midi-Pyrénées", + "logo-ternordpasdecalais.svg": "TER Nord-Pas-de-Calais", + "logo-terpoitoucharentes.svg": "TER Poitou-Charentes", + "logo-remi.svg": "Rémi", + "logo-metrolor.svg": "METROLOR", + "logo-lio.svg": "LIO", + "logo-nomad.svg": "Nomad", + "logo-ler.svg": "LER", + "logo-lunea.svg": "Lunea", + "logo-zou.svg": "ZOU", + "logo-fluo.svg": "Fluo" + } + }, + { + "name": "Nationaux", + "logos": { + "logo-inoui.svg": "TGV InOui", + "logo-lyria.svg": "TGV Lyria", + "logo-ouigo.svg": "OUIGO", + "logo-ouigo-classique.svg": "OUIGO Trains Classiques", + "logo-intercites.svg": "Intercités", + "logo-tgv.svg": "TGV", + "logo-thalys.svg": "Thalys", + "logo-eurostar.svg": "Eurostar", + "logo-teoz.svg": "Teoz", + "logo-thello.svg": "Thello" + } + }, + { + "name": "Internationaux", + "logos": { + "logo-db.svg": "DB", + "logo-sbb.svg": "SBB", + "logo-sncb.svg": "SNCB", + "logo-frecciarossa.svg": "Frecciarossa", + "logo-renfeave.svg": "Renfe AVE", + "logo-trenitalia.svg": "Trenitalia", + "logo-ice.svg": "ICE", + "logo-cfl.svg": "CFL" + } + }, + { + "name": "Autres", + "logos": { + "logo-rer-a.svg": "RER A", + "logo-rer-b.svg": "RER B", + "logo-rer-c.svg": "RER C", + "logo-rer-d.svg": "RER D", + "logo-rer-e.svg": "RER E", + "logo-tramtrain.svg": "TramTrain", + "logo-sncf.svg": "SNCF", + "logo-sncf1985.svg": "SNCF (1985)", + "logo-sncf1992.svg": "SNCF (1992)", + "sncf-voyageurs-logo.png": "SNCF Voyageurs", + "track-car.svg": "Track Car", + "logo-t-h.svg": "T H", + "logo-t-j.svg": "T J", + "logo-t-k.svg": "T K", + "logo-t-l.svg": "T L", + "logo-t-n.svg": "T N", + "logo-t-p.svg": "T P", + "logo-t-r.svg": "T R", + "logo-t-u.svg": "T U" + } + } + ] +} diff --git a/public/logos/logo-aleop.svg b/public/logos/logo-aleop.svg new file mode 100644 index 0000000..5f5165b --- /dev/null +++ b/public/logos/logo-aleop.svg @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-auvergerhonealpes.svg b/public/logos/logo-auvergerhonealpes.svg new file mode 100644 index 0000000..eb0f7a9 --- /dev/null +++ b/public/logos/logo-auvergerhonealpes.svg @@ -0,0 +1,88 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-breizhgo.svg b/public/logos/logo-breizhgo.svg new file mode 100644 index 0000000..66374ce --- /dev/null +++ b/public/logos/logo-breizhgo.svg @@ -0,0 +1,108 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/logos/logo-cfl.svg b/public/logos/logo-cfl.svg new file mode 100644 index 0000000..bbe7eeb --- /dev/null +++ b/public/logos/logo-cfl.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/public/logos/logo-db.svg b/public/logos/logo-db.svg new file mode 100644 index 0000000..e0097ae --- /dev/null +++ b/public/logos/logo-db.svg @@ -0,0 +1,5 @@ + + + + diff --git a/public/logos/logo-eurostar.svg b/public/logos/logo-eurostar.svg new file mode 100644 index 0000000..d8bcd0e --- /dev/null +++ b/public/logos/logo-eurostar.svg @@ -0,0 +1,314 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ‘ + + + + + + + + + + + diff --git a/public/logos/logo-fluo.svg b/public/logos/logo-fluo.svg new file mode 100644 index 0000000..ca4808e --- /dev/null +++ b/public/logos/logo-fluo.svg @@ -0,0 +1,40 @@ + + + + + + + + + + diff --git a/public/logos/logo-frecciarossa.svg b/public/logos/logo-frecciarossa.svg new file mode 100644 index 0000000..a6d51a2 --- /dev/null +++ b/public/logos/logo-frecciarossa.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + diff --git a/public/logos/logo-hautsdefrance.svg b/public/logos/logo-hautsdefrance.svg new file mode 100644 index 0000000..7920781 --- /dev/null +++ b/public/logos/logo-hautsdefrance.svg @@ -0,0 +1,221 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/logos/logo-ice.svg b/public/logos/logo-ice.svg new file mode 100644 index 0000000..04edf83 --- /dev/null +++ b/public/logos/logo-ice.svg @@ -0,0 +1 @@ +ice \ No newline at end of file diff --git a/public/logos/logo-inoui.svg b/public/logos/logo-inoui.svg new file mode 100644 index 0000000..2e7aff3 --- /dev/null +++ b/public/logos/logo-inoui.svg @@ -0,0 +1 @@ +inoui \ No newline at end of file diff --git a/public/logos/logo-intercites.svg b/public/logos/logo-intercites.svg new file mode 100644 index 0000000..4ca3e44 --- /dev/null +++ b/public/logos/logo-intercites.svg @@ -0,0 +1,107 @@ + + + +image/svg+xml + + + \ No newline at end of file diff --git a/public/logos/logo-ler.svg b/public/logos/logo-ler.svg new file mode 100644 index 0000000..654c54d --- /dev/null +++ b/public/logos/logo-ler.svg @@ -0,0 +1,214 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/logo-lio.svg b/public/logos/logo-lio.svg new file mode 100644 index 0000000..6d98c14 --- /dev/null +++ b/public/logos/logo-lio.svg @@ -0,0 +1,43 @@ + \ No newline at end of file diff --git a/public/logos/logo-lunea.svg b/public/logos/logo-lunea.svg new file mode 100644 index 0000000..269d090 --- /dev/null +++ b/public/logos/logo-lunea.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + diff --git a/public/logos/logo-lyria.svg b/public/logos/logo-lyria.svg new file mode 100644 index 0000000..6cab5c2 --- /dev/null +++ b/public/logos/logo-lyria.svg @@ -0,0 +1 @@ +lyria \ No newline at end of file diff --git a/public/logos/logo-metrolor.svg b/public/logos/logo-metrolor.svg new file mode 100644 index 0000000..167f70d --- /dev/null +++ b/public/logos/logo-metrolor.svg @@ -0,0 +1,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-mobigo.svg b/public/logos/logo-mobigo.svg new file mode 100644 index 0000000..378c87b --- /dev/null +++ b/public/logos/logo-mobigo.svg @@ -0,0 +1,332 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-nomad.svg b/public/logos/logo-nomad.svg new file mode 100644 index 0000000..7bcfed0 --- /dev/null +++ b/public/logos/logo-nomad.svg @@ -0,0 +1,13 @@ + + + + + Logo Nomad Normandie 2020Plan de travail 8 + + + + + + + + \ No newline at end of file diff --git a/public/logos/logo-occitanie.svg b/public/logos/logo-occitanie.svg new file mode 100644 index 0000000..8e16d69 --- /dev/null +++ b/public/logos/logo-occitanie.svg @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-ouigo-classique.svg b/public/logos/logo-ouigo-classique.svg new file mode 100644 index 0000000..d71246d --- /dev/null +++ b/public/logos/logo-ouigo-classique.svg @@ -0,0 +1,578 @@ + + + + + + + + + + diff --git a/public/logos/logo-ouigo.svg b/public/logos/logo-ouigo.svg new file mode 100644 index 0000000..1df8e54 --- /dev/null +++ b/public/logos/logo-ouigo.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-remi.svg b/public/logos/logo-remi.svg new file mode 100644 index 0000000..5ce6f2e --- /dev/null +++ b/public/logos/logo-remi.svg @@ -0,0 +1,381 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/logos/logo-renfeave.svg b/public/logos/logo-renfeave.svg new file mode 100644 index 0000000..c2ad14b --- /dev/null +++ b/public/logos/logo-renfeave.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-rer-a.svg b/public/logos/logo-rer-a.svg new file mode 100644 index 0000000..88c53a9 --- /dev/null +++ b/public/logos/logo-rer-a.svg @@ -0,0 +1,111 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-rer-b.svg b/public/logos/logo-rer-b.svg new file mode 100644 index 0000000..a436c13 --- /dev/null +++ b/public/logos/logo-rer-b.svg @@ -0,0 +1,119 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-rer-c.svg b/public/logos/logo-rer-c.svg new file mode 100644 index 0000000..b193af0 --- /dev/null +++ b/public/logos/logo-rer-c.svg @@ -0,0 +1,116 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-rer-d.svg b/public/logos/logo-rer-d.svg new file mode 100644 index 0000000..87cc429 --- /dev/null +++ b/public/logos/logo-rer-d.svg @@ -0,0 +1,113 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-rer-e.svg b/public/logos/logo-rer-e.svg new file mode 100644 index 0000000..104ca17 --- /dev/null +++ b/public/logos/logo-rer-e.svg @@ -0,0 +1,198 @@ + + + +image/svg+xml + + .st0{display:none;} + .st1{display:inline;fill:none;} + .st2{display:inline;fill:#050D9E;} + .st3{fill:#FFFFFF;} + .st4{fill:none;} + .st5{fill:#5E9620;} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/logo-sbb.svg b/public/logos/logo-sbb.svg new file mode 100644 index 0000000..290a9a2 --- /dev/null +++ b/public/logos/logo-sbb.svg @@ -0,0 +1,5 @@ + + +SBB CFF FFS logo notext + + diff --git a/public/logos/logo-sncb.svg b/public/logos/logo-sncb.svg new file mode 100644 index 0000000..b0b4ef8 --- /dev/null +++ b/public/logos/logo-sncb.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/logos/logo-sncf.svg b/public/logos/logo-sncf.svg new file mode 100644 index 0000000..1ff9399 --- /dev/null +++ b/public/logos/logo-sncf.svg @@ -0,0 +1,99 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/logo-sncf1985.svg b/public/logos/logo-sncf1985.svg new file mode 100644 index 0000000..8148792 --- /dev/null +++ b/public/logos/logo-sncf1985.svg @@ -0,0 +1,63 @@ + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/public/logos/logo-sncf1992.svg b/public/logos/logo-sncf1992.svg new file mode 100644 index 0000000..30bf7d8 --- /dev/null +++ b/public/logos/logo-sncf1992.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/logo-t-h.svg b/public/logos/logo-t-h.svg new file mode 100644 index 0000000..d9a48bc --- /dev/null +++ b/public/logos/logo-t-h.svg @@ -0,0 +1,116 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-t-j.svg b/public/logos/logo-t-j.svg new file mode 100644 index 0000000..22264bc --- /dev/null +++ b/public/logos/logo-t-j.svg @@ -0,0 +1,123 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-t-k.svg b/public/logos/logo-t-k.svg new file mode 100644 index 0000000..ecb584b --- /dev/null +++ b/public/logos/logo-t-k.svg @@ -0,0 +1,125 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-t-l.svg b/public/logos/logo-t-l.svg new file mode 100644 index 0000000..25b1040 --- /dev/null +++ b/public/logos/logo-t-l.svg @@ -0,0 +1,124 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-t-n.svg b/public/logos/logo-t-n.svg new file mode 100644 index 0000000..429d848 --- /dev/null +++ b/public/logos/logo-t-n.svg @@ -0,0 +1,138 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-t-p.svg b/public/logos/logo-t-p.svg new file mode 100644 index 0000000..7352116 --- /dev/null +++ b/public/logos/logo-t-p.svg @@ -0,0 +1,134 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-t-r.svg b/public/logos/logo-t-r.svg new file mode 100644 index 0000000..8b3a779 --- /dev/null +++ b/public/logos/logo-t-r.svg @@ -0,0 +1,138 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-t-u.svg b/public/logos/logo-t-u.svg new file mode 100644 index 0000000..ea80349 --- /dev/null +++ b/public/logos/logo-t-u.svg @@ -0,0 +1,133 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-teoz.svg b/public/logos/logo-teoz.svg new file mode 100644 index 0000000..dfa76cc --- /dev/null +++ b/public/logos/logo-teoz.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + diff --git a/public/logos/logo-ter-rhone-alpes.svg b/public/logos/logo-ter-rhone-alpes.svg new file mode 100644 index 0000000..73114e9 --- /dev/null +++ b/public/logos/logo-ter-rhone-alpes.svg @@ -0,0 +1,401 @@ + + + + diff --git a/public/logos/logo-ter.svg b/public/logos/logo-ter.svg new file mode 100644 index 0000000..7218a81 --- /dev/null +++ b/public/logos/logo-ter.svg @@ -0,0 +1 @@ +ter \ No newline at end of file diff --git a/public/logos/logo-teralsace.svg b/public/logos/logo-teralsace.svg new file mode 100644 index 0000000..d3792b4 --- /dev/null +++ b/public/logos/logo-teralsace.svg @@ -0,0 +1,146 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-teraquitaine.svg b/public/logos/logo-teraquitaine.svg new file mode 100644 index 0000000..17fb86d --- /dev/null +++ b/public/logos/logo-teraquitaine.svg @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-terbassenormandie.svg b/public/logos/logo-terbassenormandie.svg new file mode 100644 index 0000000..ee82ffd --- /dev/null +++ b/public/logos/logo-terbassenormandie.svg @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-terbourgogne.svg b/public/logos/logo-terbourgogne.svg new file mode 100644 index 0000000..983d201 --- /dev/null +++ b/public/logos/logo-terbourgogne.svg @@ -0,0 +1,120 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-terbretagne.svg b/public/logos/logo-terbretagne.svg new file mode 100644 index 0000000..47a3c07 --- /dev/null +++ b/public/logos/logo-terbretagne.svg @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-tercentre.svg b/public/logos/logo-tercentre.svg new file mode 100644 index 0000000..03d9542 --- /dev/null +++ b/public/logos/logo-tercentre.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + diff --git a/public/logos/logo-terlanguedocroussillon.svg b/public/logos/logo-terlanguedocroussillon.svg new file mode 100644 index 0000000..8453520 --- /dev/null +++ b/public/logos/logo-terlanguedocroussillon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/logo-termidipyrenees.svg b/public/logos/logo-termidipyrenees.svg new file mode 100644 index 0000000..fee1a9b --- /dev/null +++ b/public/logos/logo-termidipyrenees.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/logo-ternordpasdecalais.svg b/public/logos/logo-ternordpasdecalais.svg new file mode 100644 index 0000000..c6aaa8f --- /dev/null +++ b/public/logos/logo-ternordpasdecalais.svg @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-terpoitoucharentes.svg b/public/logos/logo-terpoitoucharentes.svg new file mode 100644 index 0000000..33c1838 --- /dev/null +++ b/public/logos/logo-terpoitoucharentes.svg @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-tgv.svg b/public/logos/logo-tgv.svg new file mode 100644 index 0000000..657ba99 --- /dev/null +++ b/public/logos/logo-tgv.svg @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/public/logos/logo-thalys.svg b/public/logos/logo-thalys.svg new file mode 100644 index 0000000..41a6abc --- /dev/null +++ b/public/logos/logo-thalys.svg @@ -0,0 +1,94 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/logos/logo-thello.svg b/public/logos/logo-thello.svg new file mode 100644 index 0000000..6a6513e --- /dev/null +++ b/public/logos/logo-thello.svg @@ -0,0 +1,678 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/logos/logo-tramtrain.svg b/public/logos/logo-tramtrain.svg new file mode 100644 index 0000000..4e66679 --- /dev/null +++ b/public/logos/logo-tramtrain.svg @@ -0,0 +1,112 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/public/logos/logo-trenitalia.svg b/public/logos/logo-trenitalia.svg new file mode 100644 index 0000000..4924915 --- /dev/null +++ b/public/logos/logo-trenitalia.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + diff --git a/public/logos/logo-zou.svg b/public/logos/logo-zou.svg new file mode 100644 index 0000000..2936f2f --- /dev/null +++ b/public/logos/logo-zou.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + diff --git a/public/logos/sncf-voyageurs-logo.png b/public/logos/sncf-voyageurs-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..88d4d343249ac8425b9085e83e263ec2b5cd4ae3 GIT binary patch literal 9597 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 literal 0 HcmV?d00001 diff --git a/public/logos/track-car.svg b/public/logos/track-car.svg new file mode 100644 index 0000000..a7f0b0e --- /dev/null +++ b/public/logos/track-car.svg @@ -0,0 +1,25 @@ + + + + + + + + + + diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/regions.json b/public/regions.json new file mode 100644 index 0000000..4d5dabe --- /dev/null +++ b/public/regions.json @@ -0,0 +1,83 @@ +{ + "regions": [ + { + "id": "auvergne-rhone-alpes", + "nom": "Auvergne-Rhône-Alpes", + "logo": "logo-auvergerhonealpes.svg", + "description": "Région Auvergne-Rhône-Alpes" + }, + { + "id": "bourgogne-franche-comte", + "nom": "Bourgogne-Franche-Comté", + "logo": null, + "description": "Région Bourgogne-Franche-Comté" + }, + { + "id": "bretagne", + "nom": "Bretagne", + "logo": "logo-breizhgo.svg", + "description": "Région Bretagne - BreizhGo" + }, + { + "id": "centre-val-de-loire", + "nom": "Centre-Val de Loire", + "logo": "logo-remi.svg", + "description": "Région Centre-Val de Loire - Rémi" + }, + { + "id": "grand-est", + "nom": "Grand Est", + "logo": "logo-fluo.svg", + "description": "Région Grand Est - Fluo" + }, + { + "id": "hauts-de-france", + "nom": "Hauts-de-France", + "logo": "logo-hautsdefrance.svg", + "description": "Région Hauts-de-France" + }, + { + "id": "ile-de-france", + "nom": "Île-de-France", + "logo": "logo-iledefrance.svg", + "description": "Région Île-de-France" + }, + { + "id": "normandie", + "nom": "Normandie", + "logo": "logo-nomad.svg", + "description": "Région Normandie - Nomad" + }, + { + "id": "nouvelle-aquitaine", + "nom": "Nouvelle-Aquitaine", + "logo": null, + "description": "Région Nouvelle-Aquitaine" + }, + { + "id": "occitanie", + "nom": "Occitanie", + "logo": "logo-occitanie.svg", + "description": "Région Occitanie - liO" + }, + { + "id": "pays-de-la-loire", + "nom": "Pays de la Loire", + "logo": "logo-aleop.svg", + "description": "Région Pays de la Loire - Aleop" + }, + { + "id": "provence-alpes-cote-azur", + "nom": "Provence-Alpes-Côte d'Azur", + "logo": "logo-lio.svg", + "description": "Région Provence-Alpes-Côte d'Azur - Zou!" + }, + { + "id": "nationale", + "nom": "Nationale", + "logo": "logo-sncf.svg", + "description": "Niveau national (toutes régions)" + } + ] +} + diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/scripts/annonces-cron-runner.js b/scripts/annonces-cron-runner.js new file mode 100644 index 0000000..3bb4631 --- /dev/null +++ b/scripts/annonces-cron-runner.js @@ -0,0 +1,561 @@ +const { createClient } = require('@supabase/supabase-js'); +const fs = require('fs'); +const path = require('path'); + +// Charger les variables d'environnement depuis le fichier .env +try { + const envPath = path.join(__dirname, '../.env'); + if (fs.existsSync(envPath)) { + const envContent = fs.readFileSync(envPath, 'utf8'); + envContent.split('\n').forEach(line => { + const parts = line.split('='); + if (parts.length >= 2) { + const key = parts[0].trim(); + const val = parts.slice(1).join('=').trim().replace(/^['"]|['"]$/g, '').replace(/\r/g, ''); + if (key) process.env[key] = val; + } + }); + } +} catch (e) { + console.error('[Cron] Impossible de charger le fichier .env :', e); +} + +const supabaseUrl = process.env.REACT_APP_SUPABASE_URL || process.env.SUPABASE_URL; +const supabaseKey = process.env.REACT_APP_SUPABASE_ANON_KEY || process.env.SUPABASE_ANON_KEY; + +if (!supabaseUrl || !supabaseKey) { + console.error('[Cron] Clés Supabase manquantes dans le .env'); + process.exit(1); +} + +const supabase = createClient(supabaseUrl, supabaseKey); + +function checkIfHoraireRunsOnDate(horaire, date = new Date()) { + const yyyy = date.getFullYear(); + const mm = String(date.getMonth() + 1).padStart(2, '0'); + const dd = String(date.getDate()).padStart(2, '0'); + const dateStr = `${yyyy}-${mm}-${dd}`; + + let joursPerso = []; + try { + joursPerso = typeof horaire.jours_personnalises === 'string' + ? JSON.parse(horaire.jours_personnalises) + : (horaire.jours_personnalises || []); + } catch(e) {} + const matchPerso = joursPerso.find(jp => jp.date === dateStr); + if (matchPerso) return matchPerso.circule; + + let joursNonCirc = []; + try { + joursNonCirc = typeof horaire.jours_non_circulation === 'string' + ? JSON.parse(horaire.jours_non_circulation) + : (horaire.jours_non_circulation || []); + } catch(e) {} + if (joursNonCirc.includes(dateStr)) return false; + + const day = date.getDay(); // 0 = Dimanche, 1 = Lundi, ... + switch(day) { + case 0: return !!horaire.circule_dimanche; + case 1: return !!horaire.circule_lundi; + case 2: return !!horaire.circule_mardi; + case 3: return !!horaire.circule_mercredi; + case 4: return !!horaire.circule_jeudi; + case 5: return !!horaire.circule_vendredi; + case 6: return !!horaire.circule_samedi; + } + return false; +} + +function getTrainDetailsForGare(horaire, gareId, type) { + const stops = horaire.gares_desservies || []; + const stop = stops.find(s => s.gare_id === gareId); + if (stop) { + if (type === 'depart') { + return { time: stop.heure_depart || stop.heure_arrivee || '', quai: stop.quai_reel || stop.quai || '' }; + } else { + return { time: stop.heure_arrivee || stop.heure_depart || '', quai: stop.quai_reel || stop.quai || '' }; + } + } + + if (type === 'depart' && horaire.gare_depart_id === gareId) { + return { time: horaire.heure_depart || '', quai: horaire.quai_reel || horaire.quai || '' }; + } + if (type === 'arrivee' && horaire.gare_arrivee_id === gareId) { + return { time: horaire.heure_arrivee || '', quai: horaire.quai_reel || horaire.quai || '' }; + } + + return { + time: type === 'depart' ? horaire.heure_depart : horaire.heure_arrivee, + quai: horaire.quai_reel || horaire.quai || '' + }; +} + +function generateNomFichierAnnonce(typeAnnonce, ext = 'mp3') { + const date = new Date().toISOString().slice(0, 10); + const shortId = Math.random().toString(36).slice(2, 8); + return `${typeAnnonce}_${date}_${shortId}.${ext}`; +} + +function concatenateAudio(buffers) { + if (buffers.length === 0) return { payload: null, format: 'mp3' }; + if (buffers.length === 1) { + const isWav = buffers[0].subarray(0, 4).toString('ascii') === 'RIFF'; + return { payload: buffers[0], format: isWav ? 'wav' : 'mp3' }; + } + + const isWav = buffers[0].subarray(0, 4).toString('ascii') === 'RIFF'; + + if (isWav) { + // Logic for WAV concatenation + let totalPcmLength = 0; + for (let i = 0; i < buffers.length; i++) { + const hasRiff = buffers[i].subarray(0, 4).toString('ascii') === 'RIFF'; + totalPcmLength += hasRiff ? (buffers[i].length - 44) : buffers[i].length; + } + + const header = Buffer.alloc(44); + buffers[0].copy(header, 0, 0, 44); + + const totalFileSize = 44 + totalPcmLength; + header.writeUInt32LE(totalFileSize - 8, 4); + header.writeUInt32LE(totalPcmLength, 40); + + const combinedBuffer = Buffer.alloc(totalFileSize); + header.copy(combinedBuffer, 0, 0, 44); + + let offset = 44; + for (let i = 0; i < buffers.length; i++) { + const hasRiff = buffers[i].subarray(0, 4).toString('ascii') === 'RIFF'; + const dataPayload = hasRiff ? buffers[i].subarray(44) : buffers[i]; + dataPayload.copy(combinedBuffer, offset); + offset += dataPayload.length; + } + + return { payload: combinedBuffer, format: 'wav' }; + } else { + // Logic for MP3 concatenation (streamable, direct binary append) + return { payload: Buffer.concat(buffers), format: 'mp3' }; + } +} + +async function main() { + try { + const now = new Date(); + const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0); + const todayEnd = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59, 999); + + console.log(`[Cron Runner] Execution at ${now.toISOString()}`); + + const [ + { data: gares }, + { data: horaires }, + { data: templates }, + { data: mots }, + { data: parametres }, + { data: todayAnnonces } + ] = await Promise.all([ + supabase.from('gares').select('*'), + supabase.from('horaires').select('*'), + supabase.from('annonces_templates').select('*').eq('actif', true), + supabase.from('banque_mots').select('*').eq('actif', true), + supabase.from('parametres').select('*'), + supabase.from('annonces_enregistrees') + .select('*') + .gte('date_diffusion', todayStart.toISOString()) + .lte('date_diffusion', todayEnd.toISOString()) + ]); + + // Si régénération demandée, supprimer de la BDD et du Storage toutes les annonces d'aujourd'hui + const regenerateParam = (parametres || []).find(p => p.cle === 'global_regenerate_requested'); + const regenerate = (regenerateParam && regenerateParam.valeur === 'true'); + + if (regenerate && todayAnnonces && todayAnnonces.length > 0) { + console.log(`[Cron Runner] Deleting ${todayAnnonces.length} existing announcements for today...`); + const pathsToDelete = todayAnnonces.map(a => a.storage_path).filter(Boolean); + if (pathsToDelete.length > 0) { + await supabase.storage.from('banque-annonces').remove(pathsToDelete); + } + await supabase + .from('annonces_enregistrees') + .delete() + .in('id', todayAnnonces.map(a => a.id)); + + // Vider la liste pour forcer la régénération + todayAnnonces.length = 0; + } + + // Réinitialiser le drapeau de régénération en base de données si nécessaire + if (regenerateParam && regenerateParam.valeur === 'true') { + await supabase + .from('parametres') + .update({ valeur: 'false', updated_at: now.toISOString() }) + .eq('cle', 'global_regenerate_requested'); + console.log('[Cron Runner] Reset global_regenerate_requested parameter in DB.'); + } + + const settingsByGare = {}; + const dijonGare = (gares || []).find(g => g.nom && g.nom.toLowerCase().trim() === 'dijon'); + const dijonSettingsParam = dijonGare ? (parametres || []).find(p => p.cle === `diffusion_settings_${dijonGare.id}`) : null; + const dijonSettings = dijonSettingsParam ? dijonSettingsParam.valeur : null; + + (parametres || []).forEach(p => { + if (p.cle.startsWith('diffusion_settings_')) { + const gareId = p.cle.replace('diffusion_settings_', ''); + settingsByGare[gareId] = p.valeur; + } + }); + + const runningHorairesGlobal = (horaires || []).filter(h => checkIfHoraireRunsOnDate(h, now)); + + // Compter le nombre total de tâches à générer + let totalTasksCount = 0; + const garesToProcess = (gares || []).filter(gare => { + let rule = settingsByGare[gare.id]; + if (!rule && dijonSettings && dijonGare && dijonGare.id !== gare.id) { + rule = dijonSettings; + } + return !!rule; + }); + + const tasksToExecute = []; + + for (const gare of garesToProcess) { + let rule = settingsByGare[gare.id]; + if (!rule && dijonSettings && dijonGare && dijonGare.id !== gare.id) { + rule = dijonSettings; + } + + const runningHorairesForGare = runningHorairesGlobal + .filter(h => { + if (h.gare_depart_id === gare.id || h.gare_arrivee_id === gare.id) return true; + const stops = h.gares_desservies || []; + return stops.some(s => s.gare_id === gare.id); + }) + .sort((a, b) => { + const timeA = getTrainDetailsForGare(a, gare.id, 'depart').time || getTrainDetailsForGare(a, gare.id, 'arrivee').time || '00:00'; + const timeB = getTrainDetailsForGare(b, gare.id, 'depart').time || getTrainDetailsForGare(b, gare.id, 'arrivee').time || '00:00'; + return timeA.localeCompare(timeB); + }); + + for (const horaire of runningHorairesForGare) { + const isDepart = horaire.gare_depart_id === gare.id || + (horaire.gares_desservies || []).some(s => s.gare_id === gare.id && s.heure_depart); + + const isArrivee = horaire.gare_arrivee_id === gare.id || + (horaire.gares_desservies || []).some(s => s.gare_id === gare.id && s.heure_arrivee); + + if (isDepart) { + const typeRule = rule.depart; + if (typeRule && typeRule.templateId) { + const template = (templates || []).find(t => t.id === typeRule.templateId); + if (template) { + const exists = (todayAnnonces || []).some(a => + a.gare_id === gare.id && + a.type_annonce === 'depart' && + a.variables_values?.numero_train === horaire.numero_train + ); + if (!exists) { + tasksToExecute.push({ gare, typeAnnonce: 'depart', typeRule, template, horaire }); + } + } + } + } + + if (isArrivee) { + const typeRule = rule.arrivee; + if (typeRule && typeRule.templateId) { + const template = (templates || []).find(t => t.id === typeRule.templateId); + if (template) { + const exists = (todayAnnonces || []).some(a => + a.gare_id === gare.id && + a.type_annonce === 'arrivee' && + a.variables_values?.numero_train === horaire.numero_train + ); + if (!exists) { + tasksToExecute.push({ gare, typeAnnonce: 'arrivee', typeRule, template, horaire }); + } + } + } + } + } + } + + totalTasksCount = tasksToExecute.length; + console.log(`[Cron Runner] Total tasks to generate: ${totalTasksCount}`); + + // Publier l'état initial + await supabase.from('parametres').upsert({ + cle: 'global_generation_progress', + valeur: JSON.stringify({ + status: totalTasksCount > 0 ? 'running' : 'done', + current: 0, + total: totalTasksCount, + progress: totalTasksCount > 0 ? 0 : 100, + message: totalTasksCount > 0 ? `Préparation de la génération... (0/${totalTasksCount})` : 'Toutes les annonces sont déjà générées.' + }), + updated_at: new Date().toISOString() + }, { onConflict: 'cle' }); + + // Exécuter séquentiellement et publier la progression + let currentTaskIndex = 0; + for (const task of tasksToExecute) { + const { gare, typeAnnonce, typeRule, template, horaire } = task; + + const pct = Math.round((currentTaskIndex / totalTasksCount) * 100); + await supabase.from('parametres').upsert({ + cle: 'global_generation_progress', + valeur: JSON.stringify({ + status: 'running', + current: currentTaskIndex, + total: totalTasksCount, + progress: pct, + message: `Génération : ${gare.nom} - Train ${horaire.numero_train || ''} (${typeAnnonce === 'depart' ? 'Départ' : 'Arrivée'}) (${currentTaskIndex + 1}/${totalTasksCount})` + }), + updated_at: new Date().toISOString() + }, { onConflict: 'cle' }); + + try { + await generateAnnonce(gare, typeAnnonce, typeRule, template, horaire); + } catch (err) { + console.error(`[Cron Runner] Error generating task for ${gare.nom}:`, err); + } + + currentTaskIndex++; + } + + // Publier l'état final + await supabase.from('parametres').upsert({ + cle: 'global_generation_progress', + valeur: JSON.stringify({ + status: 'done', + current: totalTasksCount, + total: totalTasksCount, + progress: 100, + message: totalTasksCount > 0 ? 'Génération globale terminée avec succès !' : 'Toutes les annonces sont déjà générées.' + }), + updated_at: new Date().toISOString() + }, { onConflict: 'cle' }); + + // Fonction interne de génération séquentielle + async function generateAnnonce(gare, typeAnnonce, typeRule, template, horaire) { + const { time: trainTime, quai: trainQuai } = getTrainDetailsForGare(horaire, gare.id, typeAnnonce); + if (!trainTime) return; + + const [hStr, mStr] = trainTime.split(':'); + const trainHour = parseInt(hStr, 10); + const trainMin = parseInt(mStr, 10); + const scheduledDate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), trainHour, trainMin); + scheduledDate.setMinutes(scheduledDate.getMinutes() - parseInt(typeRule.offset || 0, 10)); + + const isPast = scheduledDate <= now; + const direction = typeAnnonce === 'depart' ? `à destination de ${horaire.gare_arrivee_nom}` : `en provenance de ${horaire.gare_depart_nom}`; + const name = `Auto: ${horaire.numero_train} (${typeAnnonce}) ${direction} - ${trainTime}`; + + const stopsList = (horaire.snapshot_gares_desservies || horaire.gares_desservies || []); + const intermediateStops = stopsList + .filter(g => !g.is_depart && !g.is_arrivee) + .map(g => g.gare_nom) + .join(', '); + + const resolvedVars = { + numero_train: horaire.numero_train || '', + destination: horaire.gare_arrivee_nom || '', + provenance: horaire.gare_depart_nom || '', + heure_depart: horaire.heure_depart || '', + heure_arrivee: horaire.heure_arrivee || '', + heure: trainTime, + quai: trainQuai, + voie: trainQuai, + arrets_intermediaires: intermediateStops, + afficheurs: typeRule.afficheurs || [], + type_train: horaire.type_train || '' + }; + + let ttsText = template.tts_texte || ''; + if (!ttsText) { + ttsText = (template.sequence || []) + .map(s => s.type === 'mot' ? s.label : s.type === 'variable' ? resolvedVars[s.variable] || '' : '') + .filter(Boolean) + .join(' '); + } else { + Object.entries(resolvedVars).forEach(([key, val]) => { + ttsText = ttsText.replaceAll(`{${key}}`, Array.isArray(val) ? val.join(', ') : val); + }); + } + + resolvedVars.tts_texte = ttsText; + + const mode = typeRule.mode || ((template.nom?.toLowerCase().includes('sive') || template.description?.toLowerCase().includes('sive')) ? 'concatenation' : 'tts'); + let audioPayload = Buffer.from('TTS_ONLY'); + let format = 'mp3'; + + if (mode === 'concatenation') { + const targetGareSousType = template.nom?.toLowerCase().includes('sive') ? 'sive' : 'quai'; + const buffers = []; + + for (let idxInSeq = 0; idxInSeq < (template.sequence || []).length; idxInSeq++) { + const item = template.sequence[idxInSeq]; + let motToPlay = null; + + if (item.type === 'mot') { + motToPlay = mots.find(m => m.id === item.mot_id); + } else if (item.type === 'variable') { + const val = resolvedVars[item.variable]; + if (val) { + const normValue = String(val).toLowerCase().trim(); + if (item.variable === 'destination' || item.variable === 'provenance') { + const gMots = mots.filter(m => m.categorie === 'gare'); + for (const m of gMots) { + try { + const parsed = JSON.parse(m.description); + if (parsed.gare_nom?.toLowerCase().trim() === normValue || m.label?.toLowerCase().trim() === normValue) { + if (parsed.sous_type === targetGareSousType) { motToPlay = m; break; } + if (!motToPlay) motToPlay = m; + } + } catch (_) {} + } + } else if (item.variable === 'quai' || item.variable === 'voie') { + const isLast = idxInSeq === template.sequence.length - 1; + const targetQuaiSousType = isLast ? 'descendant' : 'montant'; + const qMots = mots.filter(m => m.categorie === 'quai'); + for (const m of qMots) { + try { + const parsed = JSON.parse(m.description); + if (parsed.quai_nom?.toLowerCase().trim() === normValue || m.label?.toLowerCase().trim() === normValue) { + if (parsed.sous_type === targetQuaiSousType) { motToPlay = m; break; } + if (!motToPlay) motToPlay = m; + } + } catch (_) {} + } + } else if (item.variable === 'type_train') { + const ttMots = mots.filter(m => m.categorie === 'type_train'); + for (const m of ttMots) { + try { + const parsed = JSON.parse(m.description); + if (parsed.type_train_nom?.toLowerCase().trim() === normValue || m.label?.toLowerCase().trim() === normValue) { + motToPlay = m; + break; + } + } catch (_) {} + } + } + if (!motToPlay) { + motToPlay = mots.find(m => m.label?.toLowerCase().trim() === normValue); + } + } + } + + if (motToPlay) { + try { + const { data: fileData, error: dlError } = await supabase.storage.from('banque-annonces').download(motToPlay.storage_path); + if (!dlError && fileData) { + const arrayBuffer = await fileData.arrayBuffer(); + buffers.push(Buffer.from(arrayBuffer)); + } + } catch (e) { + console.warn(`[Cron] download failed for ${motToPlay.storage_path}`, e); + } + } + } + + if (buffers.length > 0) { + const resAudio = concatenateAudio(buffers); + if (resAudio.payload) { + audioPayload = resAudio.payload; + format = resAudio.format; + } + } + } + + const ext = format; + const nomFichier = generateNomFichierAnnonce(typeAnnonce, ext); + const storagePath = `annonces/${nomFichier}`; + + const { error: uploadError } = await supabase.storage + .from('banque-annonces') + .upload(storagePath, audioPayload, { + cacheControl: '3600', + upsert: false, + contentType: ext === 'wav' ? 'audio/wav' : 'audio/mpeg' + }); + + if (uploadError) { + console.error('[Cron] Upload error:', uploadError); + return; + } + + const { error: dbError } = await supabase + .from('annonces_enregistrees') + .insert({ + nom: name, + type_annonce: typeAnnonce, + template_id: template.id, + storage_path: storagePath, + nom_fichier: nomFichier, + variables_values: resolvedVars, + mode_generation: mode, + duree_ms: null, + taille_bytes: audioPayload.length, + gare_id: gare.id, + notes: `Programmed Auto Standalone: ${typeAnnonce} | Afficheurs: ${(resolvedVars.afficheurs || []).join(', ')}`, + date_diffusion: scheduledDate.toISOString(), + diffuse: isPast + }); + + if (dbError) { + console.error('[Cron] DB error:', dbError); + await supabase.storage.from('banque-annonces').remove([storagePath]); + } else { + console.log(`[Cron] Generated and saved annonce for ${horaire.numero_train} at ${gare.nom}`); + } + } + + const { data: dueAnnonces, error: dueError } = await supabase + .from('annonces_enregistrees') + .select('*') + .eq('diffuse', false) + .lte('date_diffusion', now.toISOString()); + + if (dueError) { + console.error('[Cron] dueAnnonces fetch error:', dueError); + } else if (dueAnnonces && dueAnnonces.length > 0) { + console.log(`[Cron] Found ${dueAnnonces.length} due announcements to broadcast.`); + + const broadcastPromises = dueAnnonces.map(async (annonce) => { + try { + const { error: diffError } = await supabase + .from('annonces_diffusions') + .insert([ + { + annonce_id: annonce.id, + gare_id: annonce.gare_id, + audio_path: annonce.mode_generation === 'tts' ? null : annonce.storage_path, + tts_texte: annonce.mode_generation === 'tts' ? (annonce.variables_values?.tts_texte || 'Attention, train en approche.') : null + } + ]); + + if (diffError) { + console.error(`[Cron] Error broadcasting ${annonce.id}:`, diffError); + } else { + await supabase + .from('annonces_enregistrees') + .update({ diffuse: true, updated_at: now.toISOString() }) + .eq('id', annonce.id); + console.log(`[Cron] Broadcasted and updated ${annonce.id}`); + } + } catch (bErr) { + console.error(`[Cron] Standalone broadcast error for ${annonce.id}:`, bErr); + } + }); + + await Promise.all(broadcastPromises); + } + + console.log('[Cron Runner] Done successfully.'); + } catch (err) { + console.error('[Cron Runner] Global exception:', err); + } + process.exit(0); +} + +main(); diff --git a/scripts/generate_example_xlsx.js b/scripts/generate_example_xlsx.js new file mode 100644 index 0000000..8a02d09 --- /dev/null +++ b/scripts/generate_example_xlsx.js @@ -0,0 +1,16 @@ +const XLSX = require('xlsx'); +const fs = require('fs'); +const path = require('path'); + +const csvPath = path.join(__dirname, '..', 'public', 'horaires_example.csv'); +const outPath = path.join(__dirname, '..', 'public', 'horaires_example.xlsx'); + +if (!fs.existsSync(csvPath)) { + throw new Error(`CSV example not found: ${csvPath}`); +} + +const csvContent = fs.readFileSync(csvPath, 'utf8'); +const workbook = XLSX.read(csvContent, { type: 'string', raw: false, FS: ',' }); +XLSX.writeFile(workbook, outPath); +console.log('Wrote', outPath); + diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..4a5ba6d --- /dev/null +++ b/src/App.css @@ -0,0 +1,1092 @@ +@import "wcs-core/dist/wcs/wcs.css"; +@import "@sncf/bootstrap-sncf.communication/dist/bootstrap-sncf.css"; + +/* styles.scss des différents labels SNCF */ +@import "wcs-core/design-tokens/dist/sncf-voyageurs.css"; +@import "wcs-core/design-tokens/dist/sncf-reseau.css"; +@import "wcs-core/design-tokens/dist/sncf-holding.css"; +@import "wcs-core/design-tokens/dist/sncf-groupe.css"; + + + + + +@font-face { + font-family: Avenir; + src: url("../public/fonts/avenir-lighter.woff") format("woff"); + font-weight: 100; + font-display: swap; +} + +@font-face { + font-family: Avenir; + src: url("../public/fonts/avenir-book.woff") format("woff"); + font-weight: 300; + font-display: swap; +} + +@font-face { + font-family: Avenir; + src: url("../public/fonts/avenir-roman.woff") format("woff"); + font-weight: 400; + font-display: swap; +} + +@font-face { + font-family: Avenir; + src: url("../public/fonts/avenir-medium.woff") format("woff"); + font-weight: 500; + font-display: swap; +} + +@font-face { + font-family: Avenir; + src: url("../public/fonts/avenir-heavy.woff") format("woff"); + font-weight: 800; + font-display: swap; +} + +@font-face { + font-family: Avenir; + src: url("../public/fonts/avenir-black.woff") format("woff"); + font-weight: 900; + font-display: swap; +} +@font-face { + font-family: "icons"; + src: url("../public/fonts/icons/icons.eot?#iefix") format("embedded-opentype"), + url("../public/fonts/icons/icons.woff2") format("woff2"), + url("../public/fonts/icons/icons.woff") format("woff"), + url("../public/fonts/icons/icons.ttf") format("truetype"), + url("../public/fonts/icons/icons.svg#icons") format("svg"); + font-display: swap; +} + +/* Include material icons fonts */ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/materialicons/v139/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2'); +} +@font-face { + font-family: 'Material Icons Outlined'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/materialiconsoutlined/v108/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUce.woff2) format('woff2'); +} +@font-face { + font-family: 'Material Icons Two Tone'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/materialiconstwotone/v111/hESh6WRmNCxEqUmNyh3JDeGxjVVyMg4tHGctNCu0.woff2) format('woff2'); +} +@font-face { + font-family: 'Material Icons Round'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/materialiconsround/v107/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmP.woff2) format('woff2'); +} +@font-face { + font-family: 'Material Icons Sharp'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/materialiconssharp/v108/oPWQ_lt5nv4pWNJpghLP75WiFR4kLh3kvmvR.woff2) format('woff2'); +} + + + + + + +.App { + text-align: center; +} + +.App-logo { + height: 40vmin; + pointer-events: none; +} + +@media (prefers-reduced-motion: no-preference) { + .App-logo { + animation: App-logo-spin infinite 20s linear; + } +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +/* ============================================= + RESPONSIVE & ADAPTIVE LAYOUT + ============================================= */ + +/* Panel layout utilities - Desktop (> 900px) */ +.panel-layout { + display: flex; + gap: 0; + padding: 24px; + min-height: calc(100vh - 72px); + box-sizing: border-box; +} + +.panel-layout .panel-nav { + display: none; +} + +.panel-layout .panel-content { + flex: 1; + min-width: 0; + overflow-x: hidden; +} + +/* Widgets container - responsive */ +.widgets-row { + display: flex; + flex-wrap: wrap; + gap: 16px; + margin-top: 16px; +} + +.widgets-row > * { + flex: 1 1 280px; + min-width: 220px; + max-width: 100%; +} + +/* Nav-panel styles - Desktop: vertical sidebar */ +.nav-panel { + box-sizing: border-box; + height: auto; + min-height: 100%; +} + +.nav-panel wcs-nav { + height: 100%; +} + +/* ============================================= + TABLET (601px - 900px) + ============================================= */ +@media (max-width: 900px) { + .panel-layout { + padding: 16px; + padding-top: 16px; + } + + .nav-panel { + height: auto !important; + min-height: auto; + padding: 0; + } + + /* Force wcs-nav en mode horizontal */ + .nav-panel wcs-nav { + --wcs-nav-background: #0088ce; + } + + .widgets-row { + flex-direction: column; + } + + .widgets-row > * { + flex: 1 1 100%; + max-width: 100%; + } +} + +/* ============================================= + MOBILE (≤ 600px) + ============================================= */ +@media (max-width: 600px) { + .panel-layout { + padding: 12px; + padding-top: 12px; + gap: 12px; + } + + .panel-layout .panel-content h2 { + font-size: 18px; + margin-bottom: 12px; + } + + .widgets-row { + gap: 12px; + } + + /* Cards plus compactes sur mobile */ + .widget-card { + padding: 12px; + } + + /* Masquer les labels texte sur mobile, garder seulement les icônes */ + .nav-panel wcs-nav-item span { + display: none; + } +} + +/* ============================================= + UTILITIES + ============================================= */ + +/* Widget card base style */ +.widget-card { + background: #fff; + padding: 16px; + border-radius: 8px; + box-shadow: 0 4px 12px rgba(16,24,40,0.06); + box-sizing: border-box; +} + +.widget-card h3 { + margin: 0 0 8px 0; + font-size: 14px; + font-weight: 600; +} + +/* Login page responsive */ +.login-container { + min-height: 100vh; + display: flex; + align-items: center; + justify-content: center; + background: #f4f6f8; + padding: 16px; + box-sizing: border-box; +} + +.login-card { + width: 100%; + max-width: 700px; + padding: 24px; + border-radius: 8px; + box-shadow: 0 8px 24px rgba(16,24,40,0.08); + background: #fff; + box-sizing: border-box; +} + +.login-header { + margin-bottom: 16px; + text-align: center; +} + +.login-header h1 { + margin: 0; + font-size: 20px; +} + +.login-header p { + margin: 8px 0 0; + color: #6b7280; +} + +.login-form { + display: flex; + flex-direction: column; + gap: 12px; +} + +.login-form label { + font-size: 12px; + color: #374151; +} + +.login-actions { + display: flex; + align-items: center; + justify-content: space-between; + margin-top: 8px; + flex-wrap: wrap; + gap: 8px; +} + +.login-buttons { + display: flex; + gap: 8px; + flex-wrap: wrap; +} + +.login-spinner { + display: flex; + align-items: center; + gap: 8px; +} + +.login-demo-info { + margin-top: 12px; + font-size: 13px; + color: #6b7280; +} + +@media (max-width: 768px) { + .login-card { + max-width: 90%; + padding: 20px; + } + + .login-header h1 { + font-size: 18px; + } +} + +@media (max-width: 480px) { + .login-container { + padding: 0; + align-items: flex-start; + } + + .login-card { + max-width: 100%; + min-height: 100vh; + border-radius: 0; + box-shadow: none; + padding: 16px; + display: flex; + flex-direction: column; + justify-content: center; + } + + .login-actions { + flex-direction: column; + align-items: stretch; + } + + .login-buttons { + flex-direction: column; + width: 100%; + } + + .login-buttons wcs-button { + width: 100%; + } +} + +/* ============================================= + PAGE GARES - STATIONS MANAGEMENT + ============================================= */ + +.page-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 24px; + flex-wrap: wrap; + gap: 16px; +} + +.page-header h2 { + margin: 0; +} + +/* Table styles */ +.table-container { + overflow-x: auto; + background: #fff; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.08); +} + +.wcs-table { + width: 100%; + border-collapse: collapse; + font-size: 14px; +} + +.wcs-table th, +.wcs-table td { + padding: 12px 16px; + text-align: left; + border-bottom: 1px solid #e5e7eb; +} + +.wcs-table th { + background: #f9fafb; + font-weight: 600; + color: #374151; + white-space: nowrap; +} + +.wcs-table tr:hover { + background: #f9fafb; +} + +/* Station type badges */ +.station-type-badge { + display: inline-block; + padding: 4px 8px; + border-radius: 4px; + font-size: 12px; + font-weight: 500; +} + +.station-type-badge.ville { + background: #dbeafe; + color: #1d4ed8; +} + +.station-type-badge.interurbaine { + background: #fef3c7; + color: #d97706; +} + +/* Service badges */ +.services-list { + display: flex; + flex-wrap: wrap; + gap: 4px; +} + +.service-badge { + display: inline-block; + padding: 2px 6px; + border-radius: 3px; + font-size: 11px; + font-weight: 500; + background: #e0e7ff; + color: #4338ca; +} + +/* Transport badges */ +.transports-list { + display: flex; + flex-wrap: wrap; + gap: 4px; +} + +.transport-badge { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 24px; + height: 24px; + padding: 0 6px; + border-radius: 4px; + font-size: 11px; + font-weight: bold; + color: #fff; +} + +.transport-badge small { + margin-left: 2px; + font-size: 9px; +} + +.transport-train { + background: #0088ce; + font-size: 14px; +} + +/* Action buttons */ +.action-buttons { + display: flex; + gap: 8px; +} + +.action-buttons wcs-button { + min-width: auto; + padding: 4px 8px; +} + +/* Loading & Empty states */ +.loading-container, +.empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 48px 24px; + text-align: center; + color: #6b7280; +} + +.empty-state wcs-mat-icon { + font-size: 48px; + margin-bottom: 16px; + opacity: 0.5; +} + +/* Modal styles */ +.modal-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0,0,0,0.5); + display: flex; + align-items: center; + justify-content: center; + z-index: 3000; + padding: 16px; +} + +.modal-content { + background: #fff; + border-radius: 12px; + width: 100%; + max-width: 600px; + max-height: 90vh; + overflow-y: auto; + box-shadow: 0 20px 40px rgba(0,0,0,0.2); +} + +.modal-content.modal-small { + max-width: 400px; +} + +.modal-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 16px 24px; + border-bottom: 1px solid #e5e7eb; +} + +.modal-header h3 { + margin: 0; + font-size: 18px; +} + +.modal-close { + background: none; + border: none; + font-size: 24px; + cursor: pointer; + color: #9ca3af; + padding: 0; + line-height: 1; +} + +.modal-close:hover { + color: #374151; +} + +.modal-body { + padding: 24px; +} + +.modal-footer { + display: flex; + justify-content: flex-end; + gap: 12px; + padding: 16px 24px; + border-top: 1px solid #e5e7eb; +} + +/* Form styles */ +.form-group { + margin-bottom: 20px; +} + +.form-group label { + display: block; + margin-bottom: 8px; + font-weight: 500; + color: #374151; + font-size: 14px; +} + +.radio-group, +.checkbox-group { + display: flex; + flex-direction: column; + gap: 8px; +} + +.radio-label, +.checkbox-label { + display: flex; + align-items: flex-start; + gap: 8px; + cursor: pointer; + padding: 8px 12px; + border: 1px solid #e5e7eb; + border-radius: 6px; + transition: all 0.2s; +} + +.radio-label:hover, +.checkbox-label:hover { + border-color: #0088ce; + background: #f0f9ff; +} + +.radio-label input:checked + span, +.checkbox-label input:checked + span { + color: #0088ce; + font-weight: 500; +} + +.radio-label small { + display: block; + font-size: 12px; + color: #6b7280; + margin-top: 2px; +} + +.checkbox-group { + flex-direction: row; + flex-wrap: wrap; +} + +.checkbox-label { + flex: 0 0 auto; +} + +/* Quais & Transport form lists */ +.quais-list, +.transports-form-list { + display: flex; + flex-direction: column; + gap: 8px; +} + +.quai-row, +.transport-row { + display: flex; + gap: 8px; + align-items: center; +} + +.quai-row wcs-input, +.transport-row wcs-input { + flex: 1; +} + +.transport-select { + padding: 8px 12px; + border: 1px solid #d1d5db; + border-radius: 6px; + font-size: 14px; + min-width: 120px; +} + +.transport-preview { + display: inline-flex; + align-items: center; + justify-content: center; + width: 28px; + height: 28px; + border-radius: 4px; + color: #fff; + font-weight: bold; + font-size: 12px; +} + +.btn-remove { + background: #fee2e2; + border: none; + color: #dc2626; + width: 28px; + height: 28px; + border-radius: 4px; + cursor: pointer; + font-size: 18px; + line-height: 1; +} + +.btn-remove:hover { + background: #fecaca; +} + +.btn-add { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 8px 12px; + background: #f3f4f6; + border: 1px dashed #d1d5db; + border-radius: 6px; + cursor: pointer; + font-size: 13px; + color: #4b5563; + transition: all 0.2s; +} + +.btn-add:hover { + background: #e5e7eb; + border-color: #9ca3af; +} + +/* Danger button style */ +.wcs-danger { + --wcs-primary: #dc2626; + --wcs-primary-hover: #b91c1c; +} + +/* Responsive for Gares page */ +@media (max-width: 900px) { + .page-header { + flex-direction: column; + align-items: flex-start; + } + + .wcs-table th, + .wcs-table td { + padding: 8px 12px; + font-size: 13px; + } + + .action-buttons { + flex-direction: column; + } +} + +@media (max-width: 600px) { + .modal-content { + max-height: 100vh; + border-radius: 0; + } + + .quai-row, + .transport-row { + flex-wrap: wrap; + } + + .checkbox-group { + flex-direction: column; + } +} + +/* ============================================================================ + STYLES POUR LA PAGE INFORMATIONS + ============================================================================ */ + +/* Tabs */ +wcs-tabs { + margin-bottom: 1.5rem; +} + +wcs-tab { + display: flex; + align-items: center; + gap: 0.5rem; +} + +/* Badges */ +.severite-badge { + display: inline-block; + padding: 4px 10px; + border-radius: 4px; + font-size: 12px; + font-weight: 600; + color: white; + text-transform: uppercase; +} + +.type-badge { + display: inline-block; + padding: 4px 10px; + border-radius: 4px; + font-size: 12px; + font-weight: 500; + background-color: #6b7280; + color: white; +} + +.categorie-badge { + display: inline-block; + padding: 4px 10px; + border-radius: 4px; + font-size: 12px; + font-weight: 500; + background-color: #8b5cf6; + color: white; +} + +.status-badge { + display: inline-block; + padding: 4px 8px; + border-radius: 4px; + font-size: 11px; + font-weight: 600; +} + +.status-badge.active { + background-color: #dcfce7; + color: #166534; +} + +.status-badge.inactive { + background-color: #fee2e2; + color: #991b1b; +} + +/* Form rows */ +.form-row { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 1rem; +} + +@media (max-width: 600px) { + .form-row { + grid-template-columns: 1fr; + } +} + +/* Form checkboxes */ +.form-checkboxes { + display: flex; + gap: 1.5rem; + flex-wrap: wrap; +} + +/* Modal large */ +.modal-large { + max-width: 700px; +} + +/* Modal xlarge (pour les formulaires complexes comme Horaires) */ +.modal-xlarge { + max-width: 900px; + width: 95%; +} + +/* Textarea styling */ +wcs-textarea { + width: 100%; +} + +wcs-textarea::part(textarea) { + min-height: 100px; +} + +/* Tarifs page style */ +.tarifs-page-full { + min-height: 100vh; + background: #f7f8fa; + padding: 0; + margin: 0; + width: 100vw; + box-sizing: border-box; +} + +/* Modal global simple */ +.modal-overlay { + position: fixed; + inset: 0; + background: rgba(10,12,20,0.45); + display: flex; + align-items: center; + justify-content: center; + z-index: 9999; + padding: 24px; +} +.modal-content { + background: #fff; + border-radius: 10px; + box-shadow: 0 8px 30px rgba(12,18,30,0.25); + width: 100%; + max-height: 90vh; + overflow: auto; +} +.modal-header { display:flex; align-items:center; justify-content:space-between; padding: 16px 20px; border-bottom: 1px solid #eef1f6; } +.modal-body { padding: 16px 20px; } +.modal-close { background: transparent; border: 0; font-size: 20px; cursor: pointer; } + +/* ============================================================================ + RESPONSIVE GLOBAL PATCH (TABLET + MOBILE) + ============================================================================ */ + +@media (max-width: 1100px) { + .panel-layout { + padding: 14px; + min-height: auto; + } + + .panel-content, + [class$="-page-content"], + [class*="-page-content"] { + width: 100% !important; + max-width: 100% !important; + } + + .page-header, + [class$="-page-header"], + [class*="-page-header"] { + flex-wrap: wrap; + gap: 12px; + } + + .actions-bar, + [class$="-toolbar"], + [class*="-toolbar"] { + display: flex; + flex-wrap: wrap; + gap: 10px; + } + + .search-container, + [class*="toolbar-input"], + [class*="toolbar-select"] { + max-width: 100%; + min-width: 0; + } + + .creation-container { + flex-direction: column; + gap: 14px; + } + + .creation-preview { + width: 100%; + position: static; + } +} + +@media (max-width: 900px) { + .panel-layout { + padding: 12px; + gap: 12px; + } + + .page-header h1, + .page-header h2, + [class$="-page-header"] h1, + [class$="-page-header"] h2, + [class*="-page-header"] h1, + [class*="-page-header"] h2 { + font-size: 24px !important; + line-height: 1.2; + } + + .table-container { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + border-radius: 12px; + } + + .wcs-table { + min-width: 720px; + } + + .cards-grid, + .materiels-grid, + .widgets-row { + grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; + gap: 12px !important; + } + + .modal-overlay { + padding: 10px; + } + + .modal-content, + .modal-large, + .modal-xlarge, + .modal-small { + width: min(98vw, 980px) !important; + max-height: 94vh; + } + + .modal-header, + .modal-body, + .modal-footer { + padding-left: 14px; + padding-right: 14px; + } + + .modal-footer { + flex-wrap: wrap; + gap: 8px; + } + + .form-row { + grid-template-columns: 1fr !important; + } + + .quai-row, + .transport-row, + .action-buttons, + .perturbation-actions { + flex-wrap: wrap; + } +} + +@media (max-width: 640px) { + .panel-layout { + padding: 8px; + } + + .page-header, + [class$="-page-header"], + [class*="-page-header"] { + padding: 14px !important; + border-radius: 12px !important; + } + + .page-header h1, + .page-header h2, + [class$="-page-header"] h1, + [class$="-page-header"] h2, + [class*="-page-header"] h1, + [class*="-page-header"] h2 { + font-size: 20px !important; + } + + .actions-bar, + [class$="-toolbar"], + [class*="-toolbar"] { + flex-direction: column; + align-items: stretch; + } + + .actions-bar > *, + [class$="-toolbar"] > *, + [class*="-toolbar"] > * { + width: 100%; + max-width: 100%; + } + + [class*="toolbar-count"] { + margin-left: 0 !important; + text-align: center; + } + + .wcs-table { + min-width: 620px; + } + + .cards-grid, + .materiels-grid { + grid-template-columns: 1fr !important; + } + + .modal-content, + .modal-large, + .modal-xlarge, + .modal-small { + width: 100% !important; + border-radius: 12px; + } + + wcs-button, + .btn-add, + .gares-toolbar-reset, + .materiels-toolbar-reset { + width: 100%; + } +} + diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..83dcd1a --- /dev/null +++ b/src/App.js @@ -0,0 +1,78 @@ +import React, { useState, useEffect } from 'react'; +import './App.css'; +import { applyPolyfills, defineCustomElements } from 'wcs-core/loader'; +import Login from './pages/login/Login'; +import ActiverCompte from './pages/activer-compte/ActiverCompte'; +import PanelRouter from './pages/router/PanelRouter'; +import AppHeader from './components/header/AppHeader'; + +function App() { + const [currentUser, setCurrentUser] = useState(() => { + try { + const raw = window.localStorage.getItem('app_user'); + return raw ? JSON.parse(raw) : null; + } catch (e) { + return null; + } + }); + + useEffect(() => { + applyPolyfills() + .then(() => defineCustomElements(window)) + .catch(() => {}); + + // écouter un événement custom pour synchroniser l'état d'authentification + const onAuthChanged = () => { + try { + const raw = window.localStorage.getItem('app_user'); + setCurrentUser(raw ? JSON.parse(raw) : null); + } catch (e) { + setCurrentUser(null); + } + }; + + const onUnhandledRejection = (event) => { + const reason = event?.reason; + const message = reason?.message || ''; + if (reason?.name === 'AbortError' || message === 'The operation was aborted.') { + // Certaines annulations navigateur/FileReader ne doivent pas afficher l'overlay runtime. + event.preventDefault(); + } + }; + + window.addEventListener('app:authChanged', onAuthChanged); + window.addEventListener('unhandledrejection', onUnhandledRejection); + + // cleanup + return () => { + window.removeEventListener('app:authChanged', onAuthChanged); + window.removeEventListener('unhandledrejection', onUnhandledRejection); + }; + }, []); + + const handleLogin = (user) => { + setCurrentUser(user); + try { window.localStorage.setItem('app_user', JSON.stringify(user)); } catch (_) {} + window.history.pushState({}, '', '/dashboard'); + // notify other parts + window.dispatchEvent(new Event('app:authChanged')); + }; + + const pathname = window.location.pathname; + + // Routing minimal sans react-router. + const isActivationPath = pathname.startsWith('/activer-compte'); + const isPanelPath = pathname.startsWith('/dashboard') + || pathname.startsWith('/logout') + || currentUser; + + return ( + <> + + + {isPanelPath ? : (isActivationPath ? : )} + + ); +} + +export default App; diff --git a/src/App.test.js b/src/App.test.js new file mode 100644 index 0000000..8f59079 --- /dev/null +++ b/src/App.test.js @@ -0,0 +1,8 @@ +import { render, screen } from '@testing-library/react'; +import App from './App'; + +test('renders login panel title', () => { + render(); + const headingElement = screen.getByText(/connexion au panel/i); + expect(headingElement).toBeInTheDocument(); +}); diff --git a/src/api/annoncesSonores/index.js b/src/api/annoncesSonores/index.js new file mode 100644 index 0000000..c5a00c4 --- /dev/null +++ b/src/api/annoncesSonores/index.js @@ -0,0 +1,439 @@ +/* eslint-disable import/no-anonymous-default-export */ + +import supabase, { isSupabaseConfigured } from '../../supabaseClient'; + +// ============================================================================ +// API ANNONCES SONORES +// Gestion de la banque de mots, templates et annonces enregistrées +// ============================================================================ + +// Nom du bucket Supabase Storage +const BUCKET = 'banque-annonces'; +const MOTS_FOLDER = 'mots'; +const ANNONCES_FOLDER = 'annonces'; + +/** + * Génère un nom de fichier normalisé selon la convention de nommage. + * Format: [categorie]_[label-kebab-case].[ext] + */ +export function generateNomFichierMot(label, categorie, ext = 'mp3') { + const labelKebab = label + .toLowerCase() + .normalize('NFD') + .replace(/[\u0300-\u036f]/g, '') // retire les accents + .replace(/[^a-z0-9]+/g, '-') + .replace(/^-+|-+$/g, ''); + return `${categorie}_${labelKebab}.${ext}`; +} + +/** + * Génère un nom de fichier pour une annonce générée. + * Format: [type]_[YYYY-MM-DD]_[uuid-court].[ext] + */ +export function generateNomFichierAnnonce(typeAnnonce, ext = 'mp3') { + const date = new Date().toISOString().slice(0, 10); + const shortId = Math.random().toString(36).slice(2, 8); + return `${typeAnnonce}_${date}_${shortId}.${ext}`; +} + +// ============================================================================ +// BANQUE DE MOTS +// ============================================================================ + +export async function getAllMots() { + if (!isSupabaseConfigured) { + return { data: [], error: null }; + } + try { + const { data, error } = await supabase + .from('banque_mots') + .select('*') + .eq('actif', true) + .order('categorie', { ascending: true }) + .order('label', { ascending: true }); + + if (error) { + console.error('[API AnnoncesSonores] getAllMots error:', error); + return { data: null, error }; + } + return { data: data || [], error: null }; + } catch (err) { + console.error('[API AnnoncesSonores] getAllMots exception:', err); + return { data: null, error: { message: 'Erreur lors du chargement de la banque de mots' } }; + } +} + +/** + * Upload un fichier audio et crée l'entrée en base. + * @param {File} file - Le fichier audio à uploader + * @param {Object} meta - { label, categorie, description } + */ +export async function uploadMot(file, meta) { + if (!isSupabaseConfigured) { + return { data: null, error: { message: 'Supabase non configuré' } }; + } + + const ext = file.name.split('.').pop()?.toLowerCase() || 'mp3'; + const nomFichier = generateNomFichierMot(meta.label, meta.categorie, ext); + const storagePath = `${MOTS_FOLDER}/${nomFichier}`; + + try { + // 1. Upload dans le Storage + const { error: uploadError } = await supabase.storage + .from(BUCKET) + .upload(storagePath, file, { + cacheControl: '3600', + upsert: true, + contentType: file.type || 'audio/mpeg' + }); + + if (uploadError) { + console.error('[API AnnoncesSonores] uploadMot storage error:', uploadError); + return { data: null, error: uploadError }; + } + + // 2. Créer l'entrée en base + const { data, error: dbError } = await supabase + .from('banque_mots') + .insert({ + label: meta.label?.trim(), + nom_fichier: nomFichier, + storage_path: storagePath, + categorie: meta.categorie || 'general', + format: ext, + taille_bytes: file.size || null, + description: meta.description?.trim() || null, + }) + .select('*') + .single(); + + if (dbError) { + // Rollback: supprimer le fichier uploadé + await supabase.storage.from(BUCKET).remove([storagePath]); + console.error('[API AnnoncesSonores] uploadMot db error:', dbError); + return { data: null, error: dbError }; + } + + return { data, error: null }; + } catch (err) { + console.error('[API AnnoncesSonores] uploadMot exception:', err); + return { data: null, error: { message: "Erreur lors de l'upload" } }; + } +} + +/** + * Retourne l'URL publique d'un fichier audio depuis le Storage. + */ +export function getPublicUrl(storagePath) { + if (!isSupabaseConfigured || !storagePath) return null; + const { data } = supabase.storage.from(BUCKET).getPublicUrl(storagePath); + return data?.publicUrl || null; +} + +/** + * Soft-delete un mot de la banque (marque deleted_at + supprime le fichier). + */ +export async function deleteMot(mot) { + if (!isSupabaseConfigured) return { error: { message: 'Supabase non configuré' } }; + try { + // 1. Hard-delete en base (pour éviter la violation RLS sur l'update) + const { error: dbError } = await supabase + .from('banque_mots') + .delete() + .eq('id', mot.id); + + if (dbError) return { error: dbError }; + + // 2. Supprimer le fichier du Storage + if (mot.storage_path) { + await supabase.storage.from(BUCKET).remove([mot.storage_path]); + } + + return { error: null }; + } catch (err) { + return { error: { message: 'Erreur lors de la suppression' } }; + } +} + +/** + * Met à jour les métadonnées d'un mot (label, catégorie, description). + */ +export async function updateMot(id, updates) { + if (!isSupabaseConfigured) return { data: null, error: { message: 'Supabase non configuré' } }; + try { + const { data, error } = await supabase + .from('banque_mots') + .update({ + label: updates.label?.trim(), + categorie: updates.categorie, + description: updates.description?.trim() || null, + }) + .eq('id', id) + .select('*') + .single(); + + if (error) return { data: null, error }; + return { data, error: null }; + } catch (err) { + return { data: null, error: { message: 'Erreur lors de la mise à jour' } }; + } +} + +/** + * Met à jour le fichier audio d'un mot existant dans le storage et met à jour sa taille en base. + */ +export async function updateMotAudio(id, storagePath, file) { + if (!isSupabaseConfigured) return { data: null, error: { message: 'Supabase non configuré' } }; + try { + const { error: uploadError } = await supabase.storage + .from(BUCKET) + .upload(storagePath, file, { + cacheControl: '3600', + upsert: true, + contentType: file.type || 'audio/wav' + }); + + if (uploadError) { + console.error('[API AnnoncesSonores] updateMotAudio storage error:', uploadError); + return { data: null, error: uploadError }; + } + + const ext = file.name.split('.').pop()?.toLowerCase() || 'wav'; + const { data, error: dbError } = await supabase + .from('banque_mots') + .update({ + taille_bytes: file.size, + format: ext, + updated_at: new Date().toISOString() + }) + .eq('id', id) + .select('*') + .single(); + + if (dbError) { + console.error('[API AnnoncesSonores] updateMotAudio db error:', dbError); + return { data: null, error: dbError }; + } + + return { data, error: null }; + } catch (err) { + console.error('[API AnnoncesSonores] updateMotAudio exception:', err); + return { data: null, error: { message: 'Erreur lors de la mise à jour du son' } }; + } +} + +// ============================================================================ +// TEMPLATES D'ANNONCES +// ============================================================================ + +export async function getAllTemplates() { + if (!isSupabaseConfigured) return { data: [], error: null }; + try { + const { data, error } = await supabase + .from('annonces_templates') + .select('*') + .eq('actif', true) + .order('type_annonce', { ascending: true }) + .order('nom', { ascending: true }); + + if (error) return { data: null, error }; + return { data: data || [], error: null }; + } catch (err) { + return { data: null, error: { message: 'Erreur lors du chargement des templates' } }; + } +} + +export async function createTemplate(templateData) { + if (!isSupabaseConfigured) return { data: null, error: { message: 'Supabase non configuré' } }; + if (!templateData.nom?.trim()) { + return { data: null, error: { message: 'Le nom du template est requis' } }; + } + try { + const { data, error } = await supabase + .from('annonces_templates') + .insert({ + nom: templateData.nom.trim(), + type_annonce: templateData.type_annonce || 'depart', + description: templateData.description?.trim() || null, + sequence: templateData.sequence || [], + variables: templateData.variables || [], + tts_texte: templateData.tts_texte?.trim() || null, + }) + .select('*') + .single(); + + if (error) return { data: null, error }; + return { data, error: null }; + } catch (err) { + return { data: null, error: { message: 'Erreur lors de la création du template' } }; + } +} + +export async function updateTemplate(id, templateData) { + if (!isSupabaseConfigured) return { data: null, error: { message: 'Supabase non configuré' } }; + try { + const { data, error } = await supabase + .from('annonces_templates') + .update({ + nom: templateData.nom?.trim(), + type_annonce: templateData.type_annonce, + description: templateData.description?.trim() || null, + sequence: templateData.sequence || [], + variables: templateData.variables || [], + tts_texte: templateData.tts_texte?.trim() || null, + }) + .eq('id', id) + .select('*') + .single(); + + if (error) return { data: null, error }; + return { data, error: null }; + } catch (err) { + return { data: null, error: { message: 'Erreur lors de la mise à jour du template' } }; + } +} + +export async function deleteTemplate(id) { + if (!isSupabaseConfigured) return { error: { message: 'Supabase non configuré' } }; + try { + const { error } = await supabase + .from('annonces_templates') + .delete() + .eq('id', id); + + return { error: error || null }; + } catch (err) { + return { error: { message: 'Erreur lors de la suppression du template' } }; + } +} + +// ============================================================================ +// ANNONCES ENREGISTRÉES +// ============================================================================ + +export async function getAllAnnoncesEnregistrees() { + if (!isSupabaseConfigured) return { data: [], error: null }; + try { + let allData = []; + let page = 0; + const pageSize = 1000; + let hasMore = true; + + while (hasMore) { + const { data, error } = await supabase + .from('annonces_enregistrees') + .select('*, annonces_templates(id, nom), gares(id, nom)') + .order('created_at', { ascending: false }) + .range(page * pageSize, (page + 1) * pageSize - 1); + + if (error) return { data: null, error }; + if (!data || data.length < pageSize) { + hasMore = false; + } + if (data && data.length > 0) { + allData = allData.concat(data); + } + page++; + } + + return { data: allData, error: null }; + } catch (err) { + return { data: null, error: { message: 'Erreur lors du chargement des annonces' } }; + } +} + +/** + * Sauvegarde une annonce générée (blob audio) dans Supabase Storage + BDD. + * @param {Blob} audioBlob - Le blob audio généré + * @param {Object} meta - Métadonnées de l'annonce + */ +export async function saveAnnonceEnregistree(audioBlob, meta) { + if (!isSupabaseConfigured) return { data: null, error: { message: 'Supabase non configuré' } }; + + const ext = meta.format || 'mp3'; + const nomFichier = generateNomFichierAnnonce(meta.type_annonce, ext); + const storagePath = `${ANNONCES_FOLDER}/${nomFichier}`; + + try { + // 1. Upload le blob dans le Storage + const { error: uploadError } = await supabase.storage + .from(BUCKET) + .upload(storagePath, audioBlob, { + cacheControl: '3600', + upsert: false, + contentType: audioBlob.type || 'audio/mpeg' + }); + + if (uploadError) return { data: null, error: uploadError }; + + // 2. Créer l'entrée en base + const { data, error: dbError } = await supabase + .from('annonces_enregistrees') + .insert({ + nom: meta.nom?.trim() || nomFichier, + type_annonce: meta.type_annonce, + template_id: meta.template_id || null, + storage_path: storagePath, + nom_fichier: nomFichier, + variables_values: meta.variables_values || {}, + mode_generation: meta.mode_generation || 'tts', + duree_ms: meta.duree_ms || null, + taille_bytes: audioBlob.size || null, + gare_id: meta.gare_id || null, + notes: meta.notes?.trim() || null, + }) + .select('*') + .single(); + + if (dbError) { + await supabase.storage.from(BUCKET).remove([storagePath]); + return { data: null, error: dbError }; + } + + return { data, error: null }; + } catch (err) { + return { data: null, error: { message: "Erreur lors de la sauvegarde de l'annonce" } }; + } +} + +export async function deleteAnnonceEnregistree(annonce) { + if (!isSupabaseConfigured) return { error: { message: 'Supabase non configuré' } }; + try { + const { error: dbError } = await supabase + .from('annonces_enregistrees') + .delete() + .eq('id', annonce.id); + + if (dbError) return { error: dbError }; + + if (annonce.storage_path) { + await supabase.storage.from(BUCKET).remove([annonce.storage_path]); + } + + return { error: null }; + } catch (err) { + return { error: { message: "Erreur lors de la suppression de l'annonce" } }; + } +} + +export async function updateAnnonceEnregistree(id, updates) { + if (!isSupabaseConfigured) return { data: null, error: { message: 'Supabase non configuré' } }; + try { + const { data, error } = await supabase + .from('annonces_enregistrees') + .update({ + nom: updates.nom?.trim(), + notes: updates.notes?.trim() || null, + diffuse: updates.diffuse, + date_diffusion: updates.diffuse ? new Date().toISOString() : null, + }) + .eq('id', id) + .select('*') + .single(); + + if (error) return { data: null, error }; + return { data, error: null }; + } catch (err) { + return { data: null, error: { message: 'Erreur lors de la mise à jour' } }; + } +} diff --git a/src/api/gares/README.md b/src/api/gares/README.md new file mode 100644 index 0000000..09f9fc1 --- /dev/null +++ b/src/api/gares/README.md @@ -0,0 +1,108 @@ +# API Gares - Documentation + +Cette API fournit des méthodes complètes pour gérer les gares, leurs quais et les transports en commun qui les desservent. + +## Installation + +L'API est déjà incluse dans le projet. Importez simplement les fonctions nécessaires : + +```javascript +import { getAllGares, createGare, updateGare, deleteGare } from '../../api/gares'; +``` + +## Fonctions disponibles + +### getAllGares() +Récupère toutes les gares avec leurs quais et transports. + +**Retour:** `Promise<{data: Array|null, error: Object|null}>` + +**Exemple:** +```javascript +const { data, error } = await getAllGares(); +if (error) { + console.error('Erreur:', error); +} else { + console.log('Gares:', data); +} +``` + +### getGareById(gareId) +Récupère une gare spécifique par son ID. + +**Paramètres:** +- `gareId` (string): ID de la gare + +**Retour:** `Promise<{data: Object|null, error: Object|null}>` + +### createGare(gareData) +Crée une nouvelle gare avec ses quais et transports. + +**Paramètres:** +- `gareData` (Object): + - `nom` (string, requis): Nom de la gare + - `type` (string): 'ville' ou 'interurbaine' (défaut: 'ville') + - `quais` (Array): Liste des quais `[{nom: string, distance_metres: number}]` + - `transports` (Array): Liste des types de transport `['bus', 'tram', ...]` + +**Exemple:** +```javascript +const gareData = { + nom: 'Paris Gare de Lyon', + type: 'ville', + quais: [ + { nom: 'Voie A', distance_metres: 250 }, + { nom: 'Voie B', distance_metres: 300 } + ], + transports: ['metro', 'bus', 'tram'] +}; + +const { data, error } = await createGare(gareData); +``` + +### updateGare(gareId, gareData) +Met à jour une gare existante. + +**Paramètres:** +- `gareId` (string): ID de la gare à mettre à jour +- `gareData` (Object): Mêmes propriétés que createGare + +### deleteGare(gareId) +Supprime une gare (hard delete). + +**Paramètres:** +- `gareId` (string): ID de la gare à supprimer + +### searchGares(searchTerm) +Recherche des gares par nom. + +**Paramètres:** +- `searchTerm` (string): Terme de recherche + +### getGaresByType(type) +Récupère les gares d'un type spécifique. + +**Paramètres:** +- `type` (string): 'ville' ou 'interurbaine' + +## Gestion des erreurs + +Toutes les fonctions retournent un objet avec `data` et `error`. Vérifiez toujours `error` avant d'utiliser `data`: + +```javascript +const { data, error } = await createGare(gareData); +if (error) { + console.error('Erreur:', error.message); + // Gérer l'erreur +} else { + console.log('Gare créée:', data); + // Utiliser les données +} +``` + +## Notes importantes + +- Les quais et transports sont automatiquement créés/mis à jour avec la gare +- La suppression est "hard" (la ligne est supprimée de la BDD) +- Les transports peuvent être des strings ('bus', 'tram', etc.) ou des objets `{type, ligne}` +- Tous les appels sont asynchrones et utilisent Supabase diff --git a/src/api/gares/index.js b/src/api/gares/index.js new file mode 100644 index 0000000..95d9303 --- /dev/null +++ b/src/api/gares/index.js @@ -0,0 +1,450 @@ +/* eslint-disable import/no-unused-modules, no-unused-vars */ + +import supabase from '../../supabaseClient'; +import { reassignGareInHoraires } from '../horaires'; +/** + * API Gares - Gestion complète des gares avec leurs quais et transports + * + * Structure des données: + * - gares: { id, nom, type, services[], created_at, updated_at, deleted_at } + * - gare_quais: { id, gare_id, nom, distance_metres, created_at } + * - gare_transports: { id, gare_id, type, ligne, created_at } + */ + +// ============================================================================ +// HELPERS +// ============================================================================ + +/** + * Nettoie et valide les données d'une gare + */ +function sanitizeGareData(data) { + return { + nom: data.nom ? String(data.nom).trim() : '', + type: data.type === 'interurbaine' ? 'interurbaine' : 'ville', + services: Array.isArray(data.services) ? data.services.filter(Boolean) : [], + informations: data.informations && typeof data.informations === 'object' + ? data.informations + : null, + quais_hall: data.quais_hall && typeof data.quais_hall === 'object' + ? data.quais_hall + : { hall: {} } + }; +} + +/** + * Nettoie et valide les quais + */ +function sanitizeQuais(quais) { + if (!Array.isArray(quais)) return []; + + return quais + .map(q => ({ + id: q?.id || null, + nom: q?.nom ? String(q.nom).trim() : '', + distance_metres: parseInt(q?.distance_metres, 10) || 0 + })) + .filter(q => q.nom.length > 0); +} + +/** + * Nettoie et valide les transports + */ +function sanitizeTransports(transports) { + if (!Array.isArray(transports)) return []; + + return transports + .map(t => { + // Si c'est une string (type seul), on la convertit en objet + if (typeof t === 'string') { + return { type: t.trim(), ligne: null }; + } + // Si c'est un objet avec un type + if (t?.type) { + return { type: String(t.type).trim(), ligne: t.ligne ? String(t.ligne).trim() : null }; + } + return null; + }) + .filter(t => t && t.type); +} + +// ============================================================================ +// LECTURE +// ============================================================================ + +/** + * Récupère toutes les gares avec leurs quais et transports + */ +export async function getAllGares() { + try { + const { data, error } = await supabase + .from('gares') + .select('*, gare_quais(*), gare_transports(*)') + .order('nom'); + + if (error) { + console.error('[API Gares] getAllGares error:', error); + return { data: null, error }; + } + + return { data: data || [], error: null }; + } catch (err) { + console.error('[API Gares] getAllGares exception:', err); + return { data: null, error: { message: 'Erreur lors du chargement des gares' } }; + } +} + +/** + * Récupère une gare par son ID + */ +export async function getGareById(gareId) { + if (!gareId) { + return { data: null, error: { message: 'ID de gare manquant' } }; + } + + try { + const { data, error } = await supabase + .from('gares') + .select('*, gare_quais(*), gare_transports(*)') + .eq('id', gareId) + .single(); + + if (error) { + console.error('[API Gares] getGareById error:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('[API Gares] getGareById exception:', err); + return { data: null, error: { message: 'Erreur lors du chargement de la gare' } }; + } +} + +// ============================================================================ +// CRÉATION +// ============================================================================ + +/** + * Crée une nouvelle gare avec ses quais et transports + */ +export async function createGare(gareData) { + // Validation + const sanitized = sanitizeGareData(gareData); + if (!sanitized.nom) { + return { data: null, error: { message: 'Le nom de la gare est requis' } }; + } + + const quais = sanitizeQuais(gareData.quais); + const transports = sanitizeTransports(gareData.transports); + + + try { + // 1. Créer la gare + const insertPayload = { + nom: sanitized.nom, + type: sanitized.type, + services: sanitized.services + }; + if (sanitized.informations !== null) { + insertPayload.informations = sanitized.informations; + } + if (sanitized.quais_hall !== null) { + insertPayload.quais_hall = sanitized.quais_hall; + } + + const { data: gare, error: gareError } = await supabase + .from('gares') + .insert(insertPayload) + .select() + .single(); + + if (gareError) { + console.error('[API Gares] createGare - Insert gare error:', gareError); + return { data: null, error: gareError }; + } + + + // 2. Créer les quais + if (quais.length > 0) { + const quaisPayload = quais.map(q => ({ + gare_id: gare.id, + nom: q.nom, + distance_metres: q.distance_metres + })); + + + const { error: quaisError } = await supabase + .from('gare_quais') + .insert(quaisPayload); + + if (quaisError) { + console.error('[API Gares] createGare - Insert quais error:', quaisError); + // On continue malgré l'erreur, la gare est créée + } + } + + // 3. Créer les transports + if (transports.length > 0) { + const transportsPayload = transports.map(t => ({ + gare_id: gare.id, + type: t.type, + ligne: t.ligne + })); + + + const { error: transportsError } = await supabase + .from('gare_transports') + .insert(transportsPayload); + + if (transportsError) { + console.error('[API Gares] createGare - Insert transports error:', transportsError); + // On continue malgré l'erreur, la gare est créée + } + } + + // 4. Récupérer la gare complète + const result = await getGareById(gare.id); + return result; + + } catch (err) { + console.error('[API Gares] createGare exception:', err); + return { data: null, error: { message: 'Erreur lors de la création de la gare' } }; + } +} + +// ============================================================================ +// MODIFICATION +// ============================================================================ + +/** + * Met à jour une gare existante avec ses quais et transports + */ +export async function updateGare(gareId, gareData) { + if (!gareId) { + return { data: null, error: { message: 'ID de gare manquant' } }; + } + + // Validation + const sanitized = sanitizeGareData(gareData); + if (!sanitized.nom) { + return { data: null, error: { message: 'Le nom de la gare est requis' } }; + } + + // Détecter si le caller a fourni explicitement les quais / transports + const hasQuais = Object.prototype.hasOwnProperty.call(gareData || {}, 'quais'); + const hasTransports = Object.prototype.hasOwnProperty.call(gareData || {}, 'transports'); + + const quais = sanitizeQuais(gareData.quais); + const transports = sanitizeTransports(gareData.transports); + + + try { + // 1. Mettre à jour la gare + const updatePayload = { + nom: sanitized.nom, + type: sanitized.type, + services: sanitized.services + }; + if (sanitized.informations !== null) { + updatePayload.informations = sanitized.informations; + } + if (sanitized.quais_hall !== null) { + updatePayload.quais_hall = sanitized.quais_hall; + } + + const { error: updateError } = await supabase + .from('gares') + .update(updatePayload) + .eq('id', gareId); + + if (updateError) { + console.error('[API Gares] updateGare - Update error:', updateError); + return { data: null, error: updateError }; + } + + // Si le payload ne contient pas 'quais' on préserve les quais existants + if (hasQuais) { + // 2. Mettre à jour / Insérer les quais + let savedQuais = []; + if (quais.length > 0) { + const quaisPayload = quais.map(q => { + const payload = { + gare_id: gareId, + nom: q.nom, + distance_metres: q.distance_metres + }; + if (q.id) { + payload.id = q.id; + } + return payload; + }); + + + const { data: upsertedQuais, error: quaisError } = await supabase + .from('gare_quais') + .upsert(quaisPayload) + .select('id'); + + if (quaisError) { + console.error('[API Gares] updateGare - Upsert quais error:', quaisError); + } else { + savedQuais = Array.isArray(upsertedQuais) ? upsertedQuais : []; + } + } + + // 3. Supprimer les quais qui ne sont plus dans la liste + const idsToKeep = savedQuais.length > 0 + ? savedQuais.map(q => q.id).filter(Boolean) + : quais.map(q => q.id).filter(Boolean); + let deleteQuery = supabase + .from('gare_quais') + .delete() + .eq('gare_id', gareId); + + if (idsToKeep.length > 0) { + deleteQuery = deleteQuery.not('id', 'in', `(${idsToKeep.join(',')})`); + } + + const { error: deleteQuaisError } = await deleteQuery; + if (deleteQuaisError) { + console.error('[API Gares] updateGare - Delete missing quais error:', deleteQuaisError); + } + } + + // Si le payload ne contient pas 'transports' on préserve les transports existants + if (hasTransports) { + // 3. Supprimer les anciens transports + const { error: deleteTransportsError } = await supabase + .from('gare_transports') + .delete() + .eq('gare_id', gareId); + + if (deleteTransportsError) { + console.error('[API Gares] updateGare - Delete transports error:', deleteTransportsError); + } + + // 5. Recréer les transports + if (transports.length > 0) { + const transportsPayload = transports.map(t => ({ + gare_id: gareId, + type: t.type, + ligne: t.ligne + })); + + + const { error: transportsError } = await supabase + .from('gare_transports') + .insert(transportsPayload); + + if (transportsError) { + console.error('[API Gares] updateGare - Insert transports error:', transportsError); + } + } + } + + // 6. Récupérer la gare mise à jour + const result = await getGareById(gareId); + return result; + + } catch (err) { + console.error('[API Gares] updateGare exception:', err); + return { data: null, error: { message: 'Erreur lors de la mise à jour de la gare' } }; + } +} + +// ============================================================================ +// SUPPRESSION +// ============================================================================ + +/** + * Supprime une gare (hard delete) + */ +export async function deleteGare(gareId) { + if (!gareId) { + return { data: null, error: { message: 'ID de gare manquant' } }; + } + + try { + const { error } = await supabase + .from('gares') + .delete() + .eq('id', gareId); + + if (error) { + console.error('[API Gares] deleteGare error:', error); + return { data: null, error }; + } + + return { data: { id: gareId, deleted: true }, error: null }; + + } catch (err) { + console.error('[API Gares] deleteGare exception:', err); + return { data: null, error: { message: 'Erreur lors de la suppression de la gare' } }; + } +} + +/** + * Supprime définitivement une gare (hard delete) + */ +export async function hardDeleteGare(gareId) { + if (!gareId) { + return { data: null, error: { message: 'ID de gare manquant' } }; + } + + try { + // Les quais et transports seront supprimés en cascade (ON DELETE CASCADE) + const { error } = await supabase + .from('gares') + .delete() + .eq('id', gareId); + + if (error) { + console.error('[API Gares] hardDeleteGare error:', error); + return { data: null, error }; + } + + return { data: { id: gareId, deleted: true }, error: null }; + + } catch (err) { + console.error('[API Gares] hardDeleteGare exception:', err); + return { data: null, error: { message: 'Erreur lors de la suppression définitive' } }; + } +} + +/** + * Fusionne deux gares : + * 1. Réassigne tous les horaires de la gare source vers la gare cible. + * 2. Supprime la gare source. + * @param {string} targetId ID de la gare à conserver + * @param {string} sourceId ID de la gare à supprimer (en double) + */ +export async function mergeGares(targetId, sourceId) { + if (!targetId || !sourceId || targetId === sourceId) { + return { error: { message: 'IDs de gares invalides pour la fusion' } }; + } + + try { + const { data: targetGare, error: tErr } = await getGareById(targetId); + if (tErr) return { error: tErr }; + + // 1. Réassigner les horaires + const { error: reassErr } = await reassignGareInHoraires(sourceId, targetId, targetGare.nom); + if (reassErr) { + console.error('[API Gares] Erreur lors de la réassignation des horaires:', reassErr); + return { error: reassErr }; + } + + // 2. Supprimer la gare source définitivement + const { error: delErr } = await hardDeleteGare(sourceId); + if (delErr) { + console.error('[API Gares] Erreur lors de la suppression de la gare source:', delErr); + return { error: delErr }; + } + + return { error: null }; + } catch (err) { + console.error('[API Gares] mergeGares exception:', err); + return { error: { message: 'Erreur lors de la fusion des gares' } }; + } +} diff --git a/src/api/horaires.js b/src/api/horaires.js new file mode 100644 index 0000000..91f1315 --- /dev/null +++ b/src/api/horaires.js @@ -0,0 +1,1227 @@ +import supabase, { isSupabaseConfigured } from '../supabaseClient'; + +const normalizeGareName = (value) => String(value || '').trim().toLowerCase(); + +const isSameGare = (row, refId, refNom) => { + if (!row) return false; + const rowId = row.gare_id || row.id || null; + if (refId && rowId && String(rowId) === String(refId)) return true; + const refName = normalizeGareName(refNom); + return refName && normalizeGareName(row.gare_nom || row.nom) === refName; +}; + +const propagateQuaisByNumeroTrain = (horaires) => { + if (!horaires || horaires.length === 0) return horaires; + + // 1. S'assurer que tous les horaires ont leur départ/arrivée dans gares_desservies + horaires.forEach(h => { + if (!Array.isArray(h.gares_desservies)) { + h.gares_desservies = []; + } + + const snapshot = Array.isArray(h.snapshot_gares_desservies) ? h.snapshot_gares_desservies : []; + + const hasDepart = h.gares_desservies.some(gd => Number(gd.ordre) === 0 || isSameGare(gd, h.gare_depart_id, h.gare_depart_nom)); + if (!hasDepart && h.gare_depart_nom) { + const snapDepart = snapshot.find(s => Number(s.ordre) === 0 || s.is_depart || isSameGare(s, h.gare_depart_id, h.gare_depart_nom)); + h.gares_desservies.push({ + horaire_id: h.id, + gare_id: h.gare_depart_id, + gare_nom: h.gare_depart_nom, + heure_arrivee: null, + heure_depart: h.heure_depart, + ordre: 0, + quai: snapDepart ? (snapDepart.quai || null) : null, + quai_reel: snapDepart ? (snapDepart.quai_reel || null) : null, + is_depart: true + }); + } + + const hasArrivee = h.gares_desservies.some(gd => isSameGare(gd, h.gare_arrivee_id, h.gare_arrivee_nom)); + if (!hasArrivee && h.gare_arrivee_nom) { + const snapArrivee = snapshot.find(s => s.is_arrivee || isSameGare(s, h.gare_arrivee_id, h.gare_arrivee_nom)); + h.gares_desservies.push({ + horaire_id: h.id, + gare_id: h.gare_arrivee_id, + gare_nom: h.gare_arrivee_nom, + heure_arrivee: h.heure_arrivee, + heure_depart: null, + ordre: snapArrivee ? (snapArrivee.ordre || 9999) : 9999, + quai: snapArrivee ? (snapArrivee.quai || null) : null, + quai_reel: snapArrivee ? (snapArrivee.quai_reel || null) : null, + is_arrivee: true + }); + } + }); + + const groups = {}; + horaires.forEach(h => { + if (h.numero_train) { + if (!groups[h.numero_train]) groups[h.numero_train] = []; + groups[h.numero_train].push(h); + } + }); + + Object.keys(groups).forEach(numTrain => { + const group = groups[numTrain]; + if (group.length <= 1) return; + + const gareQuais = {}; + + group.forEach(h => { + if (Array.isArray(h.gares_desservies)) { + h.gares_desservies.forEach(gd => { + const key = normalizeGareName(gd.gare_nom); + if (key) { + if (!gareQuais[key]) { + gareQuais[key] = { quai: null, quai_reel: null }; + } + if (gd.quai && !gareQuais[key].quai) { + gareQuais[key].quai = gd.quai; + } + if (gd.quai_reel && !gareQuais[key].quai_reel) { + gareQuais[key].quai_reel = gd.quai_reel; + } + } + }); + } + }); + + const hasAnyQuai = Object.values(gareQuais).some(q => q.quai || q.quai_reel); + if (!hasAnyQuai) return; + + group.forEach(h => { + if (Array.isArray(h.gares_desservies)) { + h.gares_desservies.forEach(gd => { + const key = normalizeGareName(gd.gare_nom); + if (key && gareQuais[key]) { + if (!gd.quai && gareQuais[key].quai) { + gd.quai = gareQuais[key].quai; + } + if (!gd.quai_reel && gareQuais[key].quai_reel) { + gd.quai_reel = gareQuais[key].quai_reel; + } + } + }); + } + }); + }); + + // Trier de nouveau si on a inséré des gares de départ/arrivée + horaires.forEach(h => { + if (Array.isArray(h.gares_desservies)) { + h.gares_desservies.sort((a, b) => (Number(a.ordre) || 0) - (Number(b.ordre) || 0)); + } + }); + + return horaires; +}; + +// ============================================================================ +// API HORAIRES (SILLONS) +// ============================================================================ +/** + * Récupère tous les horaires avec leurs gares desservies et matériel roulant + * @param {string} [regionId] - Filtrer par région (optionnel) + */ +export async function getAllHoraires(regionId = null) { + if (!isSupabaseConfigured) return { data: [], error: null }; + + try { + // Si on demande un filtrage par région, récupérer d'abord les lignes associées + let ligneIds = null; + if (regionId) { + try { + const { data: lignesData, error: lignesError } = await supabase + .from('lignes') + .select('id') + .eq('region_id', regionId); + + if (lignesError) { + // Log the error but don't throw, as we can still filter by horaires.region_id + console.error('Error fetching lignes by region:', lignesError); + ligneIds = []; + } else if (Array.isArray(lignesData)) { + ligneIds = lignesData.map(l => l.id).filter(Boolean); + } else { + ligneIds = []; + } + } catch (e) { + console.error('Exception while fetching ligneIds:', e); + ligneIds = []; + } + } + + const SELECT_QUERY = ` + *, + snapshot_gares_desservies:gares_desservies, + materiel_roulant:materiel-roulant(id, nom, nom_technique, image_url), + gares_desservies:horaires_gares_desservies(*) + `; + + let orConditions = []; + if (regionId) { + if (ligneIds && ligneIds.length > 0) { + orConditions.push(`ligne_id.in.(${ligneIds.join(',')})`); + } + orConditions.push(`region_id.eq.${regionId}`); + } + + let allData = []; + let start = 0; + const limit = 1000; + let hasMore = true; + + while (hasMore) { + let query = supabase + .from('horaires') + .select(SELECT_QUERY) + .order('created_at', { ascending: false }) + .range(start, start + limit - 1); + + if (regionId) { + query = query.or(orConditions.join(',')); + } + + const { data, error } = await query; + + if (error) { + console.error('Erreur getAllHoraires fetch:', error); + return { data: [], error }; + } + + if (data && data.length > 0) { + allData = allData.concat(data); + start += limit; + } + + if (!data || data.length < limit) { + hasMore = false; + } + } + + const data = allData; + + // Fusionner quai_reel depuis le snapshot JSONB dans les gares desservies relationnelles + const mergedData = (data || []).map(h => { + const snapshot = Array.isArray(h.snapshot_gares_desservies) ? h.snapshot_gares_desservies : []; + let relRows = Array.isArray(h.gares_desservies) ? h.gares_desservies : []; + + const useSnapshotFallback = relRows.length === 0; + const rowsToMap = useSnapshotFallback ? snapshot : relRows; + + const enriched = rowsToMap.map(row => { + const snapRow = useSnapshotFallback ? row : (snapshot.find(s => Number(s.ordre) === Number(row.ordre)) + || snapshot.find(s => isSameGare(s, row.gare_id, row.gare_nom))); + return { + ...row, + quai: snapRow ? (snapRow.quai || row.quai || null) : (row.quai || null), + quai_reel: snapRow ? (snapRow.quai_reel || null) : null + }; + }); + + const hCopy = { ...h }; + hCopy.gares_desservies = enriched.sort((a, b) => (a.ordre || 0) - (b.ordre || 0)); + return hCopy; + }); + + const propagatedData = propagateQuaisByNumeroTrain(mergedData); + propagatedData.forEach(h => { + delete h.snapshot_gares_desservies; + }); + + return { data: propagatedData, error: null }; + } catch (err) { + console.error('Erreur getAllHoraires:', err); + return { data: [], error: err }; + } +} + +/** + * Récupère un horaire par son ID avec ses gares desservies + */ +export async function getHoraireById(id) { + if (!isSupabaseConfigured) return { data: null, error: { message: 'Supabase non configuré' } }; + + try { + const { data, error } = await supabase + .from('horaires') + .select(` + *, + snapshot_gares_desservies:gares_desservies, + materiel_roulant:materiel-roulant(id, nom, nom_technique, image_url), + gares_desservies:horaires_gares_desservies(*) + `) + .eq('id', id) + .single(); + + if (error) return { data: null, error }; + + if (data) { + const snapshot = Array.isArray(data.snapshot_gares_desservies) ? data.snapshot_gares_desservies : []; + let relRows = Array.isArray(data.gares_desservies) ? data.gares_desservies : []; + + const useSnapshotFallback = relRows.length === 0; + const rowsToMap = useSnapshotFallback ? snapshot : relRows; + + const enriched = rowsToMap.map(row => { + const snapRow = useSnapshotFallback ? row : (snapshot.find(s => Number(s.ordre) === Number(row.ordre)) + || snapshot.find(s => isSameGare(s, row.gare_id, row.gare_nom))); + return { + ...row, + quai: snapRow ? (snapRow.quai || row.quai || null) : (row.quai || null), + quai_reel: snapRow ? (snapRow.quai_reel || null) : null + }; + }); + + const hCopy = { ...data }; + hCopy.gares_desservies = enriched.sort((a, b) => (a.ordre || 0) - (b.ordre || 0)); + + const propagated = propagateQuaisByNumeroTrain([hCopy]); + delete propagated[0].snapshot_gares_desservies; + return { data: propagated[0], error: null }; + } + + return { data, error: null }; + } catch (err) { + console.error('Erreur getHoraireById:', err); + return { data: null, error: err }; + } +} + +/** + * Crée un nouvel horaire avec ses gares desservies + * @param {Object} payload - Données de l'horaire + * @param {Array} garesDesservies - Liste des gares desservies [{gare_nom, heure_arrivee, heure_depart, ordre}, ...] + * @param {Object|null} currentUser - L'utilisateur actuellement connecté + */ +export async function createHoraire(payload, garesDesservies = [], currentUser = null) { + if (!isSupabaseConfigured) { + const fakeId = `local-${Date.now()}`; + return { data: { id: fakeId, ...payload, gares_desservies: garesDesservies }, error: null }; + } + + try { + // Si l'utilisateur est un exploitant, pré-attribuer sa région + if (currentUser && currentUser.role === 'exploitant' && currentUser.region_id) { + payload.region_id = currentUser.region_id; + } + + // Construire le snapshot JSON des gares desservies + const garesDesserviesJson = (garesDesservies || []).map((g, idx) => ({ + gare_id: g.gare_id || null, + gare_nom: g.gare_nom || '', + heure_arrivee: g.heure_arrivee || null, + heure_depart: g.heure_depart || null, + ordre: g.ordre ?? idx + 1, + quai: g.quai || null + })); + + // Ajouter des entrées spéciales départ / arrivée dans le snapshot (ordre 0 et max+1), sans quai initial + const departEntry = { + gare_id: payload.gare_depart_id || null, + gare_nom: payload.gare_depart_nom || '', + heure_arrivee: null, + heure_depart: payload.heure_depart || null, + ordre: 0, + quai: null, + is_depart: true + }; + const arriveeEntry = { + gare_id: payload.gare_arrivee_id || null, + gare_nom: payload.gare_arrivee_nom || '', + heure_arrivee: payload.heure_arrivee || null, + heure_depart: null, + ordre: (garesDesserviesJson.reduce((m, e) => Math.max(m, Number(e.ordre || 0)), 0) + 1) || 1, + quai: null, + is_arrivee: true + }; + + const fullGaresDesserviesJson = [departEntry, ...garesDesserviesJson, arriveeEntry]; + + // Créer l'horaire principal (avec snapshot JSON des gares desservies) + const { data: horaire, error: horaireError } = await supabase + .from('horaires') + .insert([{ + ...payload, + gares_desservies: fullGaresDesserviesJson, + created_at: new Date(), + updated_at: new Date() + }]) + .select('*') + .single(); + + if (horaireError) { + console.error('Erreur création horaire:', horaireError); + return { data: null, error: horaireError }; + } + + // Créer les gares desservies (incluant départ/arrivée) + if (horaire) { + const maxOrdre = garesDesserviesJson.reduce((m, e) => Math.max(m, Number(e.ordre || 0)), 0); + const departRel = { + horaire_id: horaire.id, + gare_id: payload.gare_depart_id || null, + gare_nom: payload.gare_depart_nom || '', + heure_arrivee: null, + heure_depart: payload.heure_depart || null, + ordre: 0, + quai: null + }; + const arriveeRel = { + horaire_id: horaire.id, + gare_id: payload.gare_arrivee_id || null, + gare_nom: payload.gare_arrivee_nom || '', + heure_arrivee: payload.heure_arrivee || null, + heure_depart: null, + ordre: maxOrdre + 1, + quai: null + }; + const garesPayload = [ + departRel, + ...(garesDesservies || []).map((g, idx) => ({ + horaire_id: horaire.id, + gare_id: g.gare_id || null, + gare_nom: g.gare_nom || '', + heure_arrivee: g.heure_arrivee || null, + heure_depart: g.heure_depart || null, + ordre: g.ordre ?? idx + 1, + quai: g.quai || null + })), + arriveeRel + ]; + + const { error: garesError } = await supabase + .from('horaires_gares_desservies') + .insert(garesPayload); + + if (garesError) { + console.warn('Erreur création gares desservies:', garesError); + // On ne bloque pas, l'horaire est créé + } + } + + // Recharger l'horaire complet avec ses relations + const { data: fullHoraire } = await getHoraireById(horaire.id); + return { data: fullHoraire || horaire, error: null }; + + } catch (err) { + console.error('Exception createHoraire:', err); + return { data: null, error: err }; + } +} + +export async function updateHorairesLigneBatch(ids, ligne_id, ligne_nom) { + if (!isSupabaseConfigured) return { error: null }; + try { + const { error } = await supabase + .from('horaires') + .update({ ligne_id, ligne_nom, updated_at: new Date() }) + .in('id', ids); + return { error }; + } catch (err) { + console.error('Exception updateHorairesLigneBatch:', err); + return { error: err }; + } +} + +/** + * Met à jour un horaire existant et ses gares desservies + * @param {number|string} id - ID de l'horaire + * @param {Object} payload - Données à mettre à jour + * @param {Array} garesDesservies - Nouvelle liste des gares desservies (remplace l'existante) + */ +export async function updateHoraire(id, payload, garesDesservies = null) { + if (!isSupabaseConfigured) { + return { data: { id, ...payload }, error: null }; + } + + try { + // Construire le snapshot JSON des gares desservies si fourni + const garesDesserviesJson = garesDesservies !== null + ? (garesDesservies || []).map((g, idx) => ({ + gare_id: g.gare_id || null, + gare_nom: g.gare_nom || '', + heure_arrivee: g.heure_arrivee || null, + heure_depart: g.heure_depart || null, + ordre: g.ordre ?? idx + 1, + quai: g.quai || null + })) + : undefined; + + // Si on a construit le snapshot, ajouter départ/arrivée similaires à createHoraire + const garesDesserviesWithEnds = garesDesserviesJson !== undefined ? (() => { + const departEntry = { + gare_id: payload.gare_depart_id || null, + gare_nom: payload.gare_depart_nom || '', + heure_arrivee: null, + heure_depart: payload.heure_depart || null, + ordre: 0, + quai: null, + is_depart: true + }; + const maxOrd = (garesDesserviesJson || []).reduce((m, e) => Math.max(m, Number(e.ordre || 0)), 0); + const arriveeEntry = { + gare_id: payload.gare_arrivee_id || null, + gare_nom: payload.gare_arrivee_nom || '', + heure_arrivee: payload.heure_arrivee || null, + heure_depart: null, + ordre: maxOrd + 1, + quai: null, + is_arrivee: true + }; + return [departEntry, ...(garesDesserviesJson || []), arriveeEntry]; + })() : undefined; + + // Mettre à jour l'horaire principal (avec snapshot JSON si gares desservies fournies) + const updatePayload = { + ...payload, + updated_at: new Date(), + ...(garesDesserviesWithEnds !== undefined ? { gares_desservies: garesDesserviesWithEnds } : {}) + }; + + const { data: horaire, error: horaireError } = await supabase + .from('horaires') + .update(updatePayload) + .eq('id', id) + .select('*') + .single(); + + if (horaireError) { + console.error('Erreur mise à jour horaire:', horaireError); + return { data: null, error: horaireError }; + } + + // Si garesDesservies est fourni (non null), remplacer les gares desservies + if (garesDesservies !== null) { + let existingDesservies = []; + try { + const { data: existingRows } = await supabase + .from('horaires_gares_desservies') + .select('*') + .eq('horaire_id', id); + existingDesservies = Array.isArray(existingRows) ? existingRows : []; + } catch (e) { + existingDesservies = []; + } + + const findExistingQuai = (target) => { + if (!target) return null; + const byOrdre = existingDesservies.find(r => r.ordre !== null && target.ordre !== null && Number(r.ordre) === Number(target.ordre)); + if (byOrdre && byOrdre.quai) return byOrdre.quai; + const byGare = existingDesservies.find(r => isSameGare(r, target.gare_id, target.gare_nom)); + return byGare ? byGare.quai : null; + }; + + // Supprimer les anciennes gares desservies + await supabase + .from('horaires_gares_desservies') + .delete() + .eq('horaire_id', id); + + // Insérer les nouvelles + const maxOrdre = (garesDesserviesJson || []).reduce((m, e) => Math.max(m, Number(e.ordre || 0)), 0); + const departRel = { + horaire_id: id, + gare_id: payload.gare_depart_id || null, + gare_nom: payload.gare_depart_nom || '', + heure_arrivee: null, + heure_depart: payload.heure_depart || null, + ordre: 0, + quai: findExistingQuai({ ordre: 0, gare_id: payload.gare_depart_id, gare_nom: payload.gare_depart_nom }) + }; + const arriveeRel = { + horaire_id: id, + gare_id: payload.gare_arrivee_id || null, + gare_nom: payload.gare_arrivee_nom || '', + heure_arrivee: payload.heure_arrivee || null, + heure_depart: null, + ordre: maxOrdre + 1, + quai: findExistingQuai({ ordre: maxOrdre + 1, gare_id: payload.gare_arrivee_id, gare_nom: payload.gare_arrivee_nom }) + }; + const garesPayload = [ + departRel, + ...(garesDesservies || []).map((g, idx) => ({ + horaire_id: id, + gare_id: g.gare_id || null, + gare_nom: g.gare_nom || '', + heure_arrivee: g.heure_arrivee || null, + heure_depart: g.heure_depart || null, + ordre: g.ordre ?? idx + 1, + quai: g.quai || findExistingQuai(g) || null + })), + arriveeRel + ]; + + const { error: garesError } = await supabase + .from('horaires_gares_desservies') + .insert(garesPayload); + + if (garesError) { + console.warn('Erreur mise à jour gares desservies:', garesError); + } + } + + // Recharger l'horaire complet avec ses relations + const { data: fullHoraire } = await getHoraireById(id); + return { data: fullHoraire || horaire, error: null }; + + } catch (err) { + console.error('Exception updateHoraire:', err); + return { data: null, error: err }; + } +} + +/** + * Met à jour uniquement la composition du train pour un horaire. + * Utilisé par la page d'attribution du matériel roulant. + */ +export async function updateHoraireComposition(id, compositionTrain = []) { + if (!isSupabaseConfigured) { + return { data: { id, composition_train: compositionTrain }, error: null }; + } + + try { + const normalized = (compositionTrain || []).map((item, idx) => ({ + materiel_id: item?.materiel_id, + materiel_nom: item?.materiel_nom || '', + materiel_nom_technique: item?.materiel_nom_technique || '', + materiel_image_url: item?.materiel_image_url || null, + position: idx + 1 + })); + + const { data, error } = await supabase + .from('horaires') + .update({ composition_train: normalized, updated_at: new Date() }) + .eq('id', id) + .select('*') + .single(); + + return { data, error }; + } catch (err) { + console.error('Exception updateHoraireComposition:', err); + return { data: null, error: err }; + } +} + +/** + * Supprime un horaire (hard delete) + * @param {number|string} id - ID de l'horaire + */ +export async function deleteHoraire(id) { + if (!isSupabaseConfigured) return { error: null }; + + try { + const { error } = await supabase + .from('horaires') + .delete() + .eq('id', id); + return { error }; + } catch (err) { + console.error('Exception deleteHoraire:', err); + return { error: err }; + } +} + +// ============================================================================ +// API GARES DESSERVIES +// ============================================================================ +/** + * Ajoute une gare desservie à un horaire + */ +export async function addGareDesservie(horaireId, gareData) { + if (!isSupabaseConfigured) { + return { data: { id: `local-${Date.now()}`, horaire_id: horaireId, ...gareData }, error: null }; + } + + try { + const { data, error } = await supabase + .from('horaires_gares_desservies') + .insert([{ + horaire_id: horaireId, + gare_id: gareData.gare_id || null, + gare_nom: gareData.gare_nom || '', + heure_arrivee: gareData.heure_arrivee || null, + heure_depart: gareData.heure_depart || null, + ordre: gareData.ordre || 0 + }]) + .select('*') + .single(); + + return { data, error }; + } catch (err) { + console.error('Exception addGareDesservie:', err); + return { data: null, error: err }; + } +} + +/** + * Met à jour une gare desservie + */ +export async function updateGareDesservie(id, gareData) { + if (!isSupabaseConfigured) { + return { data: { id, ...gareData }, error: null }; + } + + try { + const { data, error } = await supabase + .from('horaires_gares_desservies') + .update({ + gare_id: gareData.gare_id, + gare_nom: gareData.gare_nom, + heure_arrivee: gareData.heure_arrivee, + heure_depart: gareData.heure_depart, + ordre: gareData.ordre, + updated_at: new Date() + }) + .eq('id', id) + .select('*') + .single(); + + return { data, error }; + } catch (err) { + console.error('Exception updateGareDesservie:', err); + return { data: null, error: err }; + } +} + +/** + * Met à jour les quais directement dans la colonne JSONB `gares_desservies` + * de la table `horaires`. Chaque entrée du tableau reçoit un champ "quai". + * + * Structure cible dans horaires.gares_desservies : + * [{ gare_id, gare_nom, heure_arrivee, heure_depart, ordre, quai }, ...] + * + * @param {string|number} horaireId - ID de l'horaire + * @param {Object} quaisParOrdre - Map { ordre -> quai_nom } pour les gares intermédiaires + * + clés spéciales "depart" et "arrivee" + */ +export async function updateQuaisHoraire(horaireId, quaisParOrdre, isPropagation = false) { + if (!isSupabaseConfigured) { + return { data: null, error: null }; + } + + try { + // 1. Lire le JSONB actuel depuis horaires + info départ/arrivée + const { data: horaire, error: readErr } = await supabase + .from('horaires') + .select('numero_train, gares_desservies, gare_depart_id, gare_depart_nom, gare_arrivee_id, gare_arrivee_nom, heure_depart, heure_arrivee') + .eq('id', horaireId) + .single(); + + if (readErr) { + console.error('Erreur lecture horaire:', readErr); + return { data: null, error: readErr }; + } + + // 1b. Lire les lignes relationnelles existantes pour cet horaire + const { data: relRows, error: relErr } = await supabase + .from('horaires_gares_desservies') + .select('*') + .eq('horaire_id', horaireId); + + if (relErr) { + console.error('Erreur lecture horaires_gares_desservies:', relErr); + return { data: null, error: relErr }; + } + + // 2. Reconstruire les entrées à partir des données relationnelles (fallback JSON si besoin) + const relSorted = (relRows || []).sort((a, b) => (a.ordre || 0) - (b.ordre || 0)); + const baseRows = relSorted.length > 0 + ? relSorted + : (Array.isArray(horaire.gares_desservies) ? [...horaire.gares_desservies] : []); + + const existingDepartRow = baseRows.find(r => Number(r.ordre) === 0 || r.is_depart) + || baseRows.find(r => isSameGare(r, horaire.gare_depart_id, horaire.gare_depart_nom) && r.heure_depart); + const rowsSansDepart = baseRows.filter(r => r !== existingDepartRow); + const maxOrdreBase = rowsSansDepart.reduce((m, e) => Math.max(m, Number(e.ordre || 0)), 0); + const existingArriveeRow = rowsSansDepart.find(r => r.is_arrivee) + || rowsSansDepart.find(r => Number(r.ordre) === maxOrdreBase && isSameGare(r, horaire.gare_arrivee_id, horaire.gare_arrivee_nom)) + || rowsSansDepart.find(r => isSameGare(r, horaire.gare_arrivee_id, horaire.gare_arrivee_nom) && (r.heure_arrivee || !r.heure_depart)); + + const updatedIntermediaires = rowsSansDepart + .filter(r => r !== existingArriveeRow) + .map((g, idx) => ({ + ...g, + quai: (quaisParOrdre[g.ordre ?? idx + 1] !== undefined) + ? (quaisParOrdre[g.ordre ?? idx + 1] || null) + : (g.quai || null) + })); + + // 3. Mettre à jour la table relationnelle `horaires_gares_desservies` + const relByOrdre = new Map(); + (relRows || []).forEach(r => { relByOrdre.set(String(r.ordre), r); }); + + const maxOrdre = updatedIntermediaires.reduce((m, e) => Math.max(m, Number(e.ordre || 0)), 0); + const arriveeOrdre = maxOrdre + 1; + + const ops = []; + + // 3a. Intermédiaires : update existants (ou insert si manquant) + for (const entry of updatedIntermediaires) { + const ordreKey = String(entry.ordre ?? ''); + const existing = relByOrdre.get(ordreKey); + const payload = { + horaire_id: horaireId, + gare_id: entry.gare_id || null, + gare_nom: entry.gare_nom || '', + heure_arrivee: entry.heure_arrivee || null, + heure_depart: entry.heure_depart || null, + ordre: entry.ordre || null, + quai: entry.quai || null, + updated_at: new Date() + }; + + if (existing && existing.id) { + // Mettre à jour la ligne existante + ops.push( + supabase + .from('horaires_gares_desservies') + .update({ quai: payload.quai, updated_at: payload.updated_at }) + .eq('id', existing.id) + ); + } else { + // Insérer une nouvelle ligne + ops.push( + supabase + .from('horaires_gares_desservies') + .insert([payload]) + ); + } + } + + // 3b. Départ (ordre = 0) - upsert pour garder le quai en BDD + { + const departQuai = (quaisParOrdre && Object.prototype.hasOwnProperty.call(quaisParOrdre, 'depart')) + ? (quaisParOrdre.depart || null) + : (existingDepartRow?.quai || null); + const existingDepart = existingDepartRow && existingDepartRow.id ? existingDepartRow : null; + const departPayload = { + horaire_id: horaireId, + gare_id: horaire.gare_depart_id || null, + gare_nom: horaire.gare_depart_nom || '', + heure_arrivee: null, + heure_depart: horaire.heure_depart || null, + ordre: 0, + quai: departQuai, + updated_at: new Date() + }; + + if (existingDepart && existingDepart.id) { + ops.push( + supabase + .from('horaires_gares_desservies') + .update({ quai: departPayload.quai, ordre: 0, updated_at: departPayload.updated_at }) + .eq('id', existingDepart.id) + ); + } else { + ops.push( + supabase + .from('horaires_gares_desservies') + .insert([departPayload]) + ); + } + } + + // 3c. Arrivée (ordre = arriveeOrdre) - upsert pour garder le quai en BDD + { + const arriveeQuai = (quaisParOrdre && Object.prototype.hasOwnProperty.call(quaisParOrdre, 'arrivee')) + ? (quaisParOrdre.arrivee || null) + : (existingArriveeRow?.quai || null); + const existingArr = existingArriveeRow && existingArriveeRow.id ? existingArriveeRow : null; + const arriveePayload = { + horaire_id: horaireId, + gare_id: horaire.gare_arrivee_id || null, + gare_nom: horaire.gare_arrivee_nom || '', + heure_arrivee: horaire.heure_arrivee || null, + heure_depart: null, + ordre: arriveeOrdre, + quai: arriveeQuai, + updated_at: new Date() + }; + + if (existingArr && existingArr.id) { + ops.push( + supabase + .from('horaires_gares_desservies') + .update({ quai: arriveePayload.quai, ordre: arriveeOrdre, updated_at: arriveePayload.updated_at }) + .eq('id', existingArr.id) + ); + } else { + ops.push( + supabase + .from('horaires_gares_desservies') + .insert([arriveePayload]) + ); + } + } + + // Exécuter toutes les opérations relationnelles en parallèle + if (ops.length > 0) { + await Promise.all(ops); + } + + // 4. Construire les entrées spéciales pour départ et arrivée (si présentes) + const departEntry = { + gare_id: horaire.gare_depart_id || null, + gare_nom: horaire.gare_depart_nom || '', + heure_arrivee: null, + heure_depart: horaire.heure_depart || null, + ordre: 0, + quai: (quaisParOrdre && Object.prototype.hasOwnProperty.call(quaisParOrdre, 'depart')) + ? (quaisParOrdre.depart || null) + : (existingDepartRow?.quai || null), + quai_reel: existingDepartRow?.quai_reel || null, + is_depart: true + }; + + const arriveeEntry = { + gare_id: horaire.gare_arrivee_id || null, + gare_nom: horaire.gare_arrivee_nom || '', + heure_arrivee: horaire.heure_arrivee || null, + heure_depart: null, + ordre: arriveeOrdre, + quai: (quaisParOrdre && Object.prototype.hasOwnProperty.call(quaisParOrdre, 'arrivee')) + ? (quaisParOrdre.arrivee || null) + : (existingArriveeRow?.quai || null), + quai_reel: existingArriveeRow?.quai_reel || null, + is_arrivee: true + }; + + // 5. Construire le snapshot complet : départ + intermédiaires + arrivée + const fullSnapshot = [departEntry, ...updatedIntermediaires, arriveeEntry]; + + // 6. Écrire le JSONB mis à jour dans horaires.gares_desservies + const { data: saved, error: saveErr } = await supabase + .from('horaires') + .update({ gares_desservies: fullSnapshot, updated_at: new Date() }) + .eq('id', horaireId) + .select('gares_desservies') + .single(); + + if (saveErr) { + console.error('Erreur sauvegarde quais dans horaires.gares_desservies:', saveErr); + return { data: null, error: saveErr }; + } + + // 7. Propager aux autres horaires ayant le même numéro de train + if (!isPropagation && horaire.numero_train) { + try { + const { data: others } = await supabase + .from('horaires') + .select('id') + .eq('numero_train', horaire.numero_train) + .neq('id', horaireId); + + if (others && others.length > 0) { + for (const other of others) { + await updateQuaisHoraire(other.id, quaisParOrdre, true); + } + } + } catch (propErr) { + console.error('Erreur lors de la propagation de updateQuaisHoraire:', propErr); + } + } + + return { data: saved.gares_desservies, error: null }; + } catch (err) { + console.error('Exception updateQuaisHoraire:', err); + return { data: null, error: err }; + } +} + +/** + * Supprime une gare desservie + */ +export async function deleteGareDesservie(id) { + if (!isSupabaseConfigured) return { error: null }; + + try { + const { error } = await supabase + .from('horaires_gares_desservies') + .delete() + .eq('id', id); + return { error }; + } catch (err) { + console.error('Exception deleteGareDesservie:', err); + return { error: err }; + } +} + +/** + * Mise à jour groupée des quais pour plusieurs horaires. + * @param {Array<{horaireId: string|number, payload: Object}>} updates + */ +export async function updateQuaisBatch(updates) { + if (!isSupabaseConfigured) return { error: null }; + try { + const results = []; + // Groupe les payloads par horaireId pour minimiser les appels + const byHoraire = {}; + updates.forEach(u => { + if (!byHoraire[u.horaireId]) byHoraire[u.horaireId] = {}; + Object.assign(byHoraire[u.horaireId], u.payload); + }); + + // On traite par paquets de 5 pour ne pas saturer Supabase tout en restant rapide + const horaireIds = Object.keys(byHoraire); + const CHUNK_SIZE = 5; + + for (let i = 0; i < horaireIds.length; i += CHUNK_SIZE) { + const chunk = horaireIds.slice(i, i + CHUNK_SIZE); + await Promise.all(chunk.map(async (hid) => { + const { data, error } = await updateQuaisHoraire(hid, byHoraire[hid]); + results.push({ horaireId: hid, data, error }); + })); + } + + return { data: results, error: null }; + } catch (err) { + console.error('Exception updateQuaisBatch:', err); + return { error: err }; + } +} + +// ============================================================================ +// UTILITAIRES +// ============================================================================ + +/** + * Récupère tous les types de trains disponibles (pour le select) + */ +export function getTypesTrains() { + return [ + { value: 'TER', label: 'TER' }, + { value: 'TGV', label: 'TGV' }, + { value: 'Intercités', label: 'Intercités' }, + { value: 'Ouigo', label: 'Ouigo' }, + { value: 'Transilien', label: 'Transilien' }, + { value: 'RER', label: 'RER' }, + { value: 'Autocar', label: 'Autocar de substitution' }, + { value: 'Autre', label: 'Autre' } + ]; +} + +/** + * Formate une heure pour l'affichage (HH:MM) + */ +export function formatHeure(time) { + if (!time) return '-'; + // Si c'est déjà au format HH:MM ou HH:MM:SS + if (typeof time === 'string') { + const parts = time.split(':'); + if (parts.length >= 2) { + return `${parts[0].padStart(2, '0')}:${parts[1].padStart(2, '0')}`; + } + } + return time; +} + +/** + * Récupère le nom des jours de circulation d'un horaire + */ +export function getJoursCirculation(horaire) { + if (!horaire) return []; + const jours = []; + if (horaire.circule_lundi) jours.push('Lun'); + if (horaire.circule_mardi) jours.push('Mar'); + if (horaire.circule_mercredi) jours.push('Mer'); + if (horaire.circule_jeudi) jours.push('Jeu'); + if (horaire.circule_vendredi) jours.push('Ven'); + if (horaire.circule_samedi) jours.push('Sam'); + if (horaire.circule_dimanche) jours.push('Dim'); + return jours; +}export async function updateQuaisReelsHoraire(horaireId, quaisParOrdre, isPropagation = false) { + if (!isSupabaseConfigured) { + return { data: null, error: null }; + } + + try { + // 1. Lire le JSONB actuel depuis horaires + const { data: horaire, error: readErr } = await supabase + .from('horaires') + .select('numero_train, gares_desservies, gare_depart_id, gare_depart_nom, gare_arrivee_id, gare_arrivee_nom, heure_depart, heure_arrivee') + .eq('id', horaireId) + .single(); + + if (readErr) { + console.error('Erreur lecture horaire:', readErr); + return { data: null, error: readErr }; + } + + // 2. Utiliser directement le snapshot JSONB existant + const baseRows = Array.isArray(horaire.gares_desservies) ? [...horaire.gares_desservies] : []; + + const existingDepartRow = baseRows.find(r => Number(r.ordre) === 0 || r.is_depart) + || baseRows.find(r => isSameGare(r, horaire.gare_depart_id, horaire.gare_depart_nom) && r.heure_depart); + const rowsSansDepart = baseRows.filter(r => r !== existingDepartRow); + const maxOrdreBase = rowsSansDepart.reduce((m, e) => Math.max(m, Number(e.ordre || 0)), 0); + const existingArriveeRow = rowsSansDepart.find(r => r.is_arrivee) + || rowsSansDepart.find(r => Number(r.ordre) === maxOrdreBase && isSameGare(r, horaire.gare_arrivee_id, horaire.gare_arrivee_nom)) + || rowsSansDepart.find(r => isSameGare(r, horaire.gare_arrivee_id, horaire.gare_arrivee_nom) && (r.heure_arrivee || !r.heure_depart)); + + const updatedIntermediaires = rowsSansDepart + .filter(r => r !== existingArriveeRow) + .map((g, idx) => ({ + ...g, + quai_reel: (quaisParOrdre[g.ordre ?? idx + 1] !== undefined) + ? (quaisParOrdre[g.ordre ?? idx + 1] || null) + : (g.quai_reel || null) + })); + + const maxOrdre = updatedIntermediaires.reduce((m, e) => Math.max(m, Number(e.ordre || 0)), 0); + const arriveeOrdre = maxOrdre + 1; + + // 3. Construire les entrées spéciales pour départ et arrivée (si présentes) + const departEntry = { + id: existingDepartRow?.id || null, + gare_id: existingDepartRow?.gare_id || horaire.gare_depart_id || null, + gare_nom: existingDepartRow?.gare_nom || horaire.gare_depart_nom || '', + heure_arrivee: null, + heure_depart: existingDepartRow?.heure_depart || horaire.heure_depart || null, + ordre: 0, + quai: existingDepartRow?.quai || null, + quai_reel: (quaisParOrdre && Object.prototype.hasOwnProperty.call(quaisParOrdre, 'depart')) + ? (quaisParOrdre.depart || null) + : (existingDepartRow?.quai_reel || null), + is_depart: true + }; + + const arriveeEntry = { + id: existingArriveeRow?.id || null, + gare_id: existingArriveeRow?.gare_id || horaire.gare_arrivee_id || null, + gare_nom: existingArriveeRow?.gare_nom || horaire.gare_arrivee_nom || '', + heure_arrivee: existingArriveeRow?.heure_arrivee || horaire.heure_arrivee || null, + heure_depart: null, + ordre: arriveeOrdre, + quai: existingArriveeRow?.quai || null, + quai_reel: (quaisParOrdre && Object.prototype.hasOwnProperty.call(quaisParOrdre, 'arrivee')) + ? (quaisParOrdre.arrivee || null) + : (existingArriveeRow?.quai_reel || null), + is_arrivee: true + }; + + // 4. Construire le snapshot complet : départ + intermédiaires + arrivée + const fullSnapshot = [departEntry, ...updatedIntermediaires, arriveeEntry]; + + // 5. Écrire le JSONB mis à jour dans horaires.gares_desservies + const { data: saved, error: saveErr } = await supabase + .from('horaires') + .update({ gares_desservies: fullSnapshot, updated_at: new Date() }) + .eq('id', horaireId) + .select('gares_desservies') + .single(); + + if (saveErr) { + console.error('Erreur sauvegarde quais dans horaires.gares_desservies:', saveErr); + return { data: null, error: saveErr }; + } + + // 6. Propager aux autres horaires ayant le même numéro de train + if (!isPropagation && horaire.numero_train) { + try { + const { data: others } = await supabase + .from('horaires') + .select('id') + .eq('numero_train', horaire.numero_train) + .neq('id', horaireId); + + if (others && others.length > 0) { + for (const other of others) { + await updateQuaisReelsHoraire(other.id, quaisParOrdre, true); + } + } + } catch (propErr) { + console.error('Erreur lors de la propagation de updateQuaisReelsHoraire:', propErr); + } + } + + return { data: saved.gares_desservies, error: null }; + } catch (err) { + console.error('Exception updateQuaisReelsHoraire:', err); + return { data: null, error: err }; + } +} + +/** + * Récupère le nombre d'horaires attribués à chaque quai d'une gare. + * @param {string} gareId + * @param {string} gareNom + * @returns {Promise<{data: Object, error: any}>} Map de nom de quai -> compte + */ +export async function getHorairesCountByQuai(gareId, gareNom) { + if (!isSupabaseConfigured) return { data: {}, error: null }; + try { + let query = supabase.from('horaires_gares_desservies').select('quai'); + if (gareId) { + query = query.eq('gare_id', gareId); + } else if (gareNom) { + query = query.ilike('gare_nom', gareNom); + } + const { data, error } = await query; + if (error) return { data: {}, error }; + + const counts = {}; + if (data) { + data.forEach(row => { + if (row.quai) { + counts[row.quai] = (counts[row.quai] || 0) + 1; + } + }); + } + return { data: counts, error: null }; + } catch (err) { + return { data: {}, error: err }; + } +} + +/** + * Réassigne une gare source vers une gare cible dans tous les horaires. + */ +export async function reassignGareInHoraires(sourceId, targetId, targetNom) { + if (!isSupabaseConfigured) return { error: null }; + try { + // 1. Mettre à jour les relations horaires_gares_desservies + const { error: relErr } = await supabase + .from('horaires_gares_desservies') + .update({ gare_id: targetId, gare_nom: targetNom }) + .eq('gare_id', sourceId); + + if (relErr) console.error("Erreur maj horaires_gares_desservies:", relErr); + + // 2. Mettre à jour les colonnes de base dans horaires + await supabase.from('horaires').update({ gare_depart_id: targetId, gare_depart_nom: targetNom }).eq('gare_depart_id', sourceId); + await supabase.from('horaires').update({ gare_arrivee_id: targetId, gare_arrivee_nom: targetNom }).eq('gare_arrivee_id', sourceId); + + // 3. Mettre à jour le JSONB gares_desservies + // Puisque le jsonb est complexe à maj en SQL, on fetch et on met à jour en JS + const { data: horaires } = await supabase + .from('horaires') + .select('id, gares_desservies'); + + if (horaires) { + for (const h of horaires) { + if (Array.isArray(h.gares_desservies)) { + let modified = false; + const newGaresDesservies = h.gares_desservies.map(gd => { + if (gd.gare_id === sourceId) { + modified = true; + return { ...gd, gare_id: targetId, gare_nom: targetNom }; + } + return gd; + }); + if (modified) { + await supabase + .from('horaires') + .update({ gares_desservies: newGaresDesservies, updated_at: new Date() }) + .eq('id', h.id); + } + } + } + } + return { error: null }; + } catch (err) { + console.error('Exception reassignGareInHoraires:', err); + return { error: err }; + } +} diff --git a/src/api/horairesSubstitutions.js b/src/api/horairesSubstitutions.js new file mode 100644 index 0000000..13909c6 --- /dev/null +++ b/src/api/horairesSubstitutions.js @@ -0,0 +1,143 @@ +import supabase from '../supabaseClient'; + +const isSupabaseConfigured = !!supabase; + +export async function getAllSubstitutions(regionId = null) { + if (!isSupabaseConfigured) return { data: [], error: null }; + try { + let query = supabase + .from('horaires_substitutions') + .select('*') + .order('created_at', { ascending: false }); + + if (regionId) query = query.eq('region_id', regionId); + + const { data, error } = await query; + return { data: data || [], error }; + } catch (err) { + console.error('Erreur getAllSubstitutions:', err); + return { data: [], error: err }; + } +} + +export async function getSubstitutionById(id) { + if (!isSupabaseConfigured) return { data: null, error: { message: 'Supabase non configuré' } }; + try { + const { data, error } = await supabase + .from('horaires_substitutions') + .select('*') + .eq('id', id) + .single(); + if (error) return { data: null, error }; + return { data, error: null }; + } catch (err) { + console.error('Erreur getSubstitutionById:', err); + return { data: null, error: err }; + } +} + +export async function createSubstitution(payload, garesDesservies = []) { + if (!isSupabaseConfigured) { + const fakeId = `local-${Date.now()}`; + // Ensure date_fin default to end of day for local mode + const now = new Date(); + const endOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59, 999).toISOString(); + const payloadWithDefaults = { ...payload, date_fin: payload.date_fin || endOfDay }; + return { data: { id: fakeId, ...payloadWithDefaults, gares_desservies: garesDesservies }, error: null }; + } + + try { + // Déduire la région si non fournie + let regionToUse = payload.region_id ?? null; + if (!regionToUse && payload && payload.horaire_id) { + try { + const { data: horaireData, error: horaireError } = await supabase + .from('horaires') + .select('region_id, region') + .eq('id', payload.horaire_id) + .single(); + if (!horaireError && horaireData) regionToUse = horaireData.region_id || horaireData.region || null; + } catch (e) { /* ignore */ } + } + // Définir date_fin à la fin de la journée si non fourni + const now = new Date(); + const endOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59, 999).toISOString(); + const payloadWithDefaults = { ...payload, region_id: regionToUse !== undefined ? regionToUse : payload.region_id, date_fin: payload.date_fin || endOfDay }; + const garesDesserviesJson = (garesDesservies || []).map((g, idx) => ({ + gare_id: g.gare_id || null, + gare_nom: g.gare_nom || '', + heure_arrivee: g.heure_arrivee || null, + heure_depart: g.heure_depart || null, + ordre: g.ordre ?? idx + 1 + })); + + const { data: horaire, error: horaireError } = await supabase + .from('horaires_substitutions') + .insert([{ + ...payloadWithDefaults, + gares_desservies: garesDesserviesJson, + created_at: new Date(), + updated_at: new Date() + }]) + .select('*') + .single(); + + if (horaireError) { + console.error('Erreur création substitution:', horaireError); + return { data: null, error: horaireError }; + } + + // Recharger l'objet avec ses relations si nécessaire + return { data: horaire, error: null }; + } catch (err) { + console.error('Exception createSubstitution:', err); + return { data: null, error: err }; + } +} + +export async function updateSubstitution(id, payload, garesDesservies = null) { + if (!isSupabaseConfigured) return { data: null, error: new Error('Supabase non configuré') }; + try { + const garesDesserviesJson = garesDesservies !== null + ? (garesDesservies || []).map((g, idx) => ({ + gare_id: g.gare_id || null, + gare_nom: g.gare_nom || '', + heure_arrivee: g.heure_arrivee || null, + heure_depart: g.heure_depart || null, + ordre: g.ordre ?? idx + 1 + })) + : undefined; + + const updatePayload = { + ...payload, + updated_at: new Date(), + ...(garesDesserviesJson !== undefined ? { gares_desservies: garesDesserviesJson } : {}) + }; + + const { data, error } = await supabase + .from('horaires_substitutions') + .update(updatePayload) + .eq('id', id) + .select() + .single(); + + return { data, error }; + } catch (err) { + console.error('Erreur updateSubstitution:', err); + return { data: null, error: err }; + } +} + +export async function deleteSubstitution(id) { + if (!isSupabaseConfigured) return { data: null, error: new Error('Supabase non configuré') }; + try { + const { error } = await supabase + .from('horaires_substitutions') + .delete() + .eq('id', id); + return { data: null, error }; + } catch (err) { + console.error('Erreur deleteSubstitution:', err); + return { data: null, error: err }; + } +} diff --git a/src/api/infoGare.js b/src/api/infoGare.js new file mode 100644 index 0000000..f379f6c --- /dev/null +++ b/src/api/infoGare.js @@ -0,0 +1,128 @@ +import supabase from '../supabaseClient'; + +// ============================================================================ +// LECTURE +// ============================================================================ + +/** + * Récupère toutes les infos gares actives. + * Les gares et lignes associées sont résolues depuis les tableaux d'UUIDs + * via des jointures sur les tables gares et lignes. + */ +export async function getAllInfoGares() { + try { + const { data, error } = await supabase + .from('info_gares') + .select('*') + .order('created_at', { ascending: false }); + + if (error) throw error; + + // Résoudre les gares et lignes depuis les tableaux d'UUIDs + const enriched = await enrichInfoGares(data || []); + return { data: enriched, error: null }; + } catch (error) { + console.error('Error fetching info gares:', error); + return { data: null, error }; + } +} + +// ============================================================================ +// ENRICHISSEMENT (résolution des UUIDs en objets) +// ============================================================================ + +/** + * Reçoit un tableau d'info_gares brutes et ajoute les objets + * `garesObj` (liste de { id, nom }) et `lignesObj` (liste de { id, nom }) + * en résolvant les tableaux d'UUIDs via la base. + */ +async function enrichInfoGares(items) { + if (!items.length) return items; + + // Collecter tous les UUID uniques + const allGareIds = [...new Set(items.flatMap(i => i.gare_ids || []))]; + const allLigneIds = [...new Set(items.flatMap(i => i.ligne_ids || []))]; + + // Requêtes parallèles + const [garesRes, lignesRes] = await Promise.all([ + allGareIds.length + ? supabase.from('gares').select('id, nom').in('id', allGareIds) + : Promise.resolve({ data: [], error: null }), + allLigneIds.length + ? supabase.from('lignes').select('id, nom').in('id', allLigneIds) + : Promise.resolve({ data: [], error: null }), + ]); + + const garesMap = Object.fromEntries((garesRes.data || []).map(g => [g.id, g])); + const lignesMap = Object.fromEntries((lignesRes.data || []).map(l => [l.id, l])); + + return items.map(item => ({ + ...item, + garesObj: (item.gare_ids || []).map(id => garesMap[id]).filter(Boolean), + lignesObj: (item.ligne_ids || []).map(id => lignesMap[id]).filter(Boolean), + })); +} + +// ============================================================================ +// CRÉATION +// ============================================================================ + +export async function createInfoGare(infoGareData) { + try { + const { data, error } = await supabase + .from('info_gares') + .insert([infoGareData]) + .select('*') + .single(); + + if (error) throw error; + + const [enriched] = await enrichInfoGares([data]); + return { data: enriched, error: null }; + } catch (error) { + console.error('Error creating info gare:', error); + return { data: null, error }; + } +} + +// ============================================================================ +// MODIFICATION +// ============================================================================ + +export async function updateInfoGare(id, infoGareData) { + try { + const { data, error } = await supabase + .from('info_gares') + .update(infoGareData) + .eq('id', id) + .select('*') + .single(); + + if (error) throw error; + + const [enriched] = await enrichInfoGares([data]); + return { data: enriched, error: null }; + } catch (error) { + console.error('Error updating info gare:', error); + return { data: null, error }; + } +} + +// ============================================================================ +// SUPPRESSION (hard delete) +// ============================================================================ + +export async function deleteInfoGare(id) { + try { + const { error } = await supabase + .from('info_gares') + .delete() + .eq('id', id); + + if (error) throw error; + return { error: null }; + } catch (error) { + console.error('Error deleting info gare:', error); + return { error }; + } +} \ No newline at end of file diff --git a/src/api/informations/index.js b/src/api/informations/index.js new file mode 100644 index 0000000..505c57e --- /dev/null +++ b/src/api/informations/index.js @@ -0,0 +1,433 @@ +/* eslint-disable import/no-anonymous-default-export */ + +import supabase from '../../supabaseClient'; + +function applyRegionFilter(query, regionId) { + if (!regionId) return query; + return query.eq('region_id', regionId); +} + +/** + * API Informations - Gestion des infos trafic, événements et actualités + */ + +// ============================================================================ +// INFO TRAFIC +// ============================================================================ + +export async function getAllInfoTrafic(regionId = null) { + try { + const query = applyRegionFilter(supabase + .from('info_trafic') + .select('*, gares(id, nom)') + .order('date_debut', { ascending: false }), regionId); + + const { data, error } = await query; + + if (error) { + console.error('[API Informations] getAllInfoTrafic error:', error); + return { data: null, error }; + } + return { data: data || [], error: null }; + } catch (err) { + console.error('[API Informations] getAllInfoTrafic exception:', err); + return { data: null, error: { message: 'Erreur lors du chargement des infos trafic' } }; + } +} + +export async function createInfoTrafic(infoData) { + const sanitized = { + titre: infoData.titre?.trim() || '', + description: infoData.description?.trim() || null, + type: infoData.type || 'autre', + severite: infoData.severite || 'info', + ligne: infoData.ligne?.trim() || null, + gare_id: infoData.gare_id || null, + date_debut: infoData.date_debut || new Date().toISOString(), + date_fin: infoData.date_fin || null, + actif: infoData.actif !== false, + region_id: infoData.region_id || null, + created_by: infoData.created_by || null + }; + + if (!sanitized.titre) { + return { data: null, error: { message: 'Le titre est requis' } }; + } + + + try { + const { data, error } = await supabase + .from('info_trafic') + .insert(sanitized) + .select('*, gares(id, nom)') + .single(); + + if (error) { + console.error('[API Informations] createInfoTrafic error:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('[API Informations] createInfoTrafic exception:', err); + return { data: null, error: { message: 'Erreur lors de la création' } }; + } +} + +export async function updateInfoTrafic(id, infoData) { + if (!id) return { data: null, error: { message: 'ID manquant' } }; + + const sanitized = { + titre: infoData.titre?.trim() || '', + description: infoData.description?.trim() || null, + type: infoData.type || 'autre', + severite: infoData.severite || 'info', + ligne: infoData.ligne?.trim() || null, + gare_id: infoData.gare_id || null, + date_debut: infoData.date_debut, + date_fin: infoData.date_fin || null, + actif: infoData.actif !== false, + region_id: infoData.region_id || null + }; + + if (!sanitized.titre) { + return { data: null, error: { message: 'Le titre est requis' } }; + } + + + try { + const { data, error } = await supabase + .from('info_trafic') + .update(sanitized) + .eq('id', id) + .select('*, gares(id, nom)') + .single(); + + if (error) { + console.error('[API Informations] updateInfoTrafic error:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('[API Informations] updateInfoTrafic exception:', err); + return { data: null, error: { message: 'Erreur lors de la mise à jour' } }; + } +} + +export async function deleteInfoTrafic(id) { + if (!id) return { data: null, error: { message: 'ID manquant' } }; + + try { + const { data, error } = await supabase + .from('info_trafic') + .delete() + .eq('id', id) + .select('id') + .maybeSingle(); + + if (error) { + console.error('[API Informations] deleteInfoTrafic error:', error); + return { data: null, error }; + } + + if (!data?.id) { + return { data: null, error: { message: 'Suppression impossible: élément introuvable.' } }; + } + + return { data: { id: data.id, deleted: true }, error: null }; + } catch (err) { + console.error('[API Informations] deleteInfoTrafic exception:', err); + return { data: null, error: { message: 'Erreur lors de la suppression' } }; + } +} + +// ============================================================================ +// EVENEMENTS +// ============================================================================ + +export async function getAllEvenements(regionId = null) { + try { + const query = applyRegionFilter(supabase + .from('evenements') + .select('*, gares(id, nom)') + .order('date_debut', { ascending: true }), regionId); + + const { data, error } = await query; + + if (error) { + console.error('[API Informations] getAllEvenements error:', error); + return { data: null, error }; + } + return { data: data || [], error: null }; + } catch (err) { + console.error('[API Informations] getAllEvenements exception:', err); + return { data: null, error: { message: 'Erreur lors du chargement des événements' } }; + } +} + +export async function createEvenement(eventData) { + const sanitized = { + titre: eventData.titre?.trim() || '', + description: eventData.description?.trim() || null, + lieu: eventData.lieu?.trim() || null, + gare_id: eventData.gare_id || null, + date_debut: eventData.date_debut, + date_fin: eventData.date_fin || null, + image_url: eventData.image_url?.trim() || null, + lien_externe: eventData.lien_externe?.trim() || null, + actif: eventData.actif !== false, + visible_site: eventData.visible_site !== false, + region_id: eventData.region_id || null, + created_by: eventData.created_by || null + }; + + if (!sanitized.titre) { + return { data: null, error: { message: 'Le titre est requis' } }; + } + if (!sanitized.date_debut) { + return { data: null, error: { message: 'La date de début est requise' } }; + } + + + try { + const { data, error } = await supabase + .from('evenements') + .insert(sanitized) + .select('*, gares(id, nom)') + .single(); + + if (error) { + console.error('[API Informations] createEvenement error:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('[API Informations] createEvenement exception:', err); + return { data: null, error: { message: 'Erreur lors de la création' } }; + } +} + +export async function updateEvenement(id, eventData) { + if (!id) return { data: null, error: { message: 'ID manquant' } }; + + const sanitized = { + titre: eventData.titre?.trim() || '', + description: eventData.description?.trim() || null, + lieu: eventData.lieu?.trim() || null, + gare_id: eventData.gare_id || null, + date_debut: eventData.date_debut, + date_fin: eventData.date_fin || null, + image_url: eventData.image_url?.trim() || null, + lien_externe: eventData.lien_externe?.trim() || null, + actif: eventData.actif !== false, + visible_site: eventData.visible_site !== false, + region_id: eventData.region_id || null + }; + + if (!sanitized.titre) { + return { data: null, error: { message: 'Le titre est requis' } }; + } + + + try { + const { data, error } = await supabase + .from('evenements') + .update(sanitized) + .eq('id', id) + .select('*, gares(id, nom)') + .single(); + + if (error) { + console.error('[API Informations] updateEvenement error:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('[API Informations] updateEvenement exception:', err); + return { data: null, error: { message: 'Erreur lors de la mise à jour' } }; + } +} + +export async function deleteEvenement(id) { + if (!id) return { data: null, error: { message: 'ID manquant' } }; + + try { + const { data, error } = await supabase + .from('evenements') + .delete() + .eq('id', id) + .select('id') + .maybeSingle(); + + if (error) { + console.error('[API Informations] deleteEvenement error:', error); + return { data: null, error }; + } + + if (!data?.id) { + return { data: null, error: { message: 'Suppression impossible: élément introuvable.' } }; + } + + return { data: { id: data.id, deleted: true }, error: null }; + } catch (err) { + console.error('[API Informations] deleteEvenement exception:', err); + return { data: null, error: { message: 'Erreur lors de la suppression' } }; + } +} + +// ============================================================================ +// ACTUALITES +// ============================================================================ + +export async function getAllActualites(regionId = null) { + try { + const query = applyRegionFilter(supabase + .from('actualites') + .select('*') + .order('date_publication', { ascending: false }), regionId); + + const { data, error } = await query; + + if (error) { + console.error('[API Informations] getAllActualites error:', error); + return { data: null, error }; + } + return { data: data || [], error: null }; + } catch (err) { + console.error('[API Informations] getAllActualites exception:', err); + return { data: null, error: { message: 'Erreur lors du chargement des actualités' } }; + } +} + +export async function createActualite(actuData) { + const sanitized = { + titre: actuData.titre?.trim() || '', + contenu: actuData.contenu?.trim() || '', + resume: actuData.resume?.trim() || null, + categorie: actuData.categorie || 'general', + image_url: actuData.image_url?.trim() || null, + image_couverture: actuData.image_couverture?.trim() || actuData.image_url?.trim() || null, + date_publication: actuData.date_publication || new Date().toISOString(), + auteur: actuData.auteur?.trim() || null, + actif: actuData.actif !== false, + mise_en_avant: actuData.mise_en_avant === true, + region_id: actuData.region_id || null, + created_by: actuData.created_by || null + }; + + if (!sanitized.titre) { + return { data: null, error: { message: 'Le titre est requis' } }; + } + if (!sanitized.contenu) { + return { data: null, error: { message: 'Le contenu est requis' } }; + } + + + try { + const { data, error } = await supabase + .from('actualites') + .insert(sanitized) + .select() + .single(); + + if (error) { + console.error('[API Informations] createActualite error:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('[API Informations] createActualite exception:', err); + return { data: null, error: { message: 'Erreur lors de la création' } }; + } +} + +export async function updateActualite(id, actuData) { + if (!id) return { data: null, error: { message: 'ID manquant' } }; + + const sanitized = { + titre: actuData.titre?.trim() || '', + contenu: actuData.contenu?.trim() || '', + resume: actuData.resume?.trim() || null, + categorie: actuData.categorie || 'general', + image_url: actuData.image_url?.trim() || null, + image_couverture: actuData.image_couverture?.trim() || actuData.image_url?.trim() || null, + date_publication: actuData.date_publication, + auteur: actuData.auteur?.trim() || null, + actif: actuData.actif !== false, + mise_en_avant: actuData.mise_en_avant === true, + region_id: actuData.region_id || null + }; + + if (!sanitized.titre) { + return { data: null, error: { message: 'Le titre est requis' } }; + } + + + try { + const { data, error } = await supabase + .from('actualites') + .update(sanitized) + .eq('id', id) + .select() + .single(); + + if (error) { + console.error('[API Informations] updateActualite error:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('[API Informations] updateActualite exception:', err); + return { data: null, error: { message: 'Erreur lors de la mise à jour' } }; + } +} + +export async function deleteActualite(id) { + if (!id) return { data: null, error: { message: 'ID manquant' } }; + + try { + const { data, error } = await supabase + .from('actualites') + .delete() + .eq('id', id) + .select('id') + .maybeSingle(); + + if (error) { + console.error('[API Informations] deleteActualite error:', error); + return { data: null, error }; + } + + if (!data?.id) { + return { data: null, error: { message: 'Suppression impossible: élément introuvable.' } }; + } + + return { data: { id: data.id, deleted: true }, error: null }; + } catch (err) { + console.error('[API Informations] deleteActualite exception:', err); + return { data: null, error: { message: 'Erreur lors de la suppression' } }; + } +} + +export default { + // Info Trafic + getAllInfoTrafic, + createInfoTrafic, + updateInfoTrafic, + deleteInfoTrafic, + // Evenements + getAllEvenements, + createEvenement, + updateEvenement, + deleteEvenement, + // Actualites + getAllActualites, + createActualite, + updateActualite, + deleteActualite +}; diff --git a/src/api/lignes.js b/src/api/lignes.js new file mode 100644 index 0000000..f0e0f33 --- /dev/null +++ b/src/api/lignes.js @@ -0,0 +1,233 @@ +import supabase from '../supabaseClient'; + +// ============================================================================ +// API LIGNES +// ============================================================================ + +// Nom du bucket Supabase Storage pour les fiches horaires +const FH_BUCKET = 'fiches-horaires'; + +/** + * Upload un fichier PDF de fiche horaire dans Supabase Storage. + * Retourne l'URL publique du fichier ou null en cas d'erreur. + */ +export async function uploadFicheHoraire(ligneId, file) { + try { + const ext = file.name.split('.').pop() || 'pdf'; + const path = `lignes/${ligneId}/fiche-horaire.${ext}`; + + const { error: uploadError } = await supabase.storage + .from(FH_BUCKET) + .upload(path, file, { upsert: true, contentType: file.type || 'application/pdf' }); + + if (uploadError) { + // Normaliser le message d'erreur pour aider l'UI + const raw = uploadError?.message || uploadError?.error || String(uploadError); + + // Cas fréquent : bucket absent + if (/bucket.*not.*found|does not exist|Bucket not found/i.test(raw)) { + const friendly = `Bucket '${FH_BUCKET}' introuvable sur Supabase Storage. Créez le bucket '${FH_BUCKET}' dans l'interface Supabase (Dashboard → Storage) et rendez-le public (ou ajustez les policies).`; + return { url: null, error: new Error(friendly) }; + } + + // Cas : row-level security (RLS) bloque l'INSERT + if (/new row violates row-level security policy/i.test(raw) || /row-level security/i.test(raw)) { + const friendly = `Upload bloqué par la Row-Level Security (RLS) de Supabase Storage. Exécutez le script SQL migrations/fix_storage_policies_fiches_horaires.sql dans le SQL Editor de Supabase pour créer des policies adaptées au bucket '${FH_BUCKET}', ou ajustez vos policies pour permettre l'INSERT depuis l'application.`; + return { url: null, error: new Error(friendly) }; + } + + return { url: null, error: uploadError }; + } + + const { data } = supabase.storage.from(FH_BUCKET).getPublicUrl(path); + return { url: data?.publicUrl || null, error: null }; + } catch (error) { + console.error('uploadFicheHoraire error:', error); + // Si l'exception contient une mention de bucket, renvoyer message lisible + const raw = error?.message || String(error); + if (/bucket.*not.*found|does not exist|Bucket not found/i.test(raw)) { + const friendly = `Bucket '${FH_BUCKET}' introuvable sur Supabase Storage. Créez le bucket '${FH_BUCKET}' dans l'interface Supabase (Dashboard → Storage) et rendez-le public (ou ajustez les policies).`; + return { url: null, error: new Error(friendly) }; + } + if (/new row violates row-level security policy/i.test(raw) || /row-level security/i.test(raw)) { + const friendly = `Upload bloqué par la Row-Level Security (RLS) de Supabase Storage. Exécutez le script SQL migrations/fix_storage_policies_fiches_horaires.sql dans le SQL Editor de Supabase pour créer des policies adaptées au bucket '${FH_BUCKET}', ou ajustez vos policies pour permettre l'INSERT depuis l'application.`; + return { url: null, error: new Error(friendly) }; + } + return { url: null, error }; + } +} + +/** + * Supprime la fiche horaire d'une ligne dans Supabase Storage. + */ +export async function deleteFicheHoraire(ligneId) { + try { + const candidates = [`lignes/${ligneId}/fiche-horaire.pdf`, `lignes/${ligneId}/fiche-horaire.PDF`]; + const { error } = await supabase.storage + .from(FH_BUCKET) + .remove(candidates); + + if (error) { + const raw = error?.message || String(error); + // Si le bucket n'existe pas, considérer que le fichier est déjà absent et ne pas échouer lourdement + if (/bucket.*not.*found|does not exist|Bucket not found/i.test(raw)) { + console.warn(`deleteFicheHoraire: bucket ${FH_BUCKET} introuvable, ignoré.`); + return { error: null }; + } + throw error; + } + return { error: null }; + } catch (error) { + console.error('deleteFicheHoraire error:', error); + return { error }; + } +} + +export async function getAllLignes(regionId = null) { + try { + let query = supabase + .from('lignes') + .select(` + *, + gare_depart:gares!lignes_gare_depart_id_fkey(id, nom), + gare_arrivee:gares!lignes_gare_arrivee_id_fkey(id, nom), + lignes_gares( + id, + ordre, + desserte, + gare:gares(id, nom) + ) + `) + .order('nom'); + + if (regionId) { + query = query.eq('region', regionId); + } + + const { data, error } = await query; + + if (error) throw error; + return { data, error: null }; + } catch (error) { + console.error('getAllLignes error:', error); + return { data: null, error }; + } +} + +export async function createLigne(ligneData, garesTracees) { + try { + // Créer la ligne + const { data: ligne, error: ligneError } = await supabase + .from('lignes') + .insert({ + nom: ligneData.nom, + code: ligneData.code, + gare_depart_id: ligneData.gare_depart_id, + gare_arrivee_id: ligneData.gare_arrivee_id, + actif: ligneData.actif ?? true, + fh_url: ligneData.fh_url ?? null, + region: ligneData.region || null + }) + .select() + .single(); + + if (ligneError) throw ligneError; + + // Créer les gares du tracé + if (garesTracees && garesTracees.length > 0) { + const garesData = garesTracees.map((g, idx) => ({ + ligne_id: ligne.id, + gare_id: g.gare_id, + ordre: idx + 1, + desserte: g.desserte || 'tous' + })); + + const { error: garesError } = await supabase + .from('lignes_gares') + .insert(garesData); + + if (garesError) throw garesError; + } + + return { data: ligne, error: null }; + } catch (error) { + console.error('createLigne error:', error); + return { data: null, error }; + } +} + +export async function updateLigne(id, ligneData, garesTracees) { + try { + // Mettre à jour la ligne + // Construire le payload de mise à jour + const updatePayload = { + nom: ligneData.nom, + code: ligneData.code, + gare_depart_id: ligneData.gare_depart_id, + gare_arrivee_id: ligneData.gare_arrivee_id, + actif: ligneData.actif ?? true + }; + // N'inclure fh_url que si explicitement fourni (pour ne pas écraser par erreur) + if ('fh_url' in ligneData) { + updatePayload.fh_url = ligneData.fh_url; + } + // N'inclure region que si explicitement fourni + if ('region' in ligneData) { + updatePayload.region = ligneData.region; + } + + const { data: ligne, error: ligneError } = await supabase + .from('lignes') + .update(updatePayload) + .eq('id', id) + .select() + .single(); + + if (ligneError) throw ligneError; + + // Ne mettre à jour les gares du tracé que si elles sont fournies + if (garesTracees !== undefined) { + // Supprimer les anciennes gares du tracé + await supabase + .from('lignes_gares') + .delete() + .eq('ligne_id', id); + + // Créer les nouvelles gares du tracé + if (garesTracees && garesTracees.length > 0) { + const garesData = garesTracees.map((g, idx) => ({ + ligne_id: id, + gare_id: g.gare_id, + ordre: idx + 1, + desserte: g.desserte || 'tous' + })); + + const { error: garesError } = await supabase + .from('lignes_gares') + .insert(garesData); + + if (garesError) throw garesError; + } + } + + return { data: ligne, error: null }; + } catch (error) { + console.error('updateLigne error:', error); + return { data: null, error }; + } +} + +export async function deleteLigne(id) { + try { + const { data, error } = await supabase + .from('lignes') + .delete() + .eq('id', id); + + if (error) throw error; + return { data, error: null }; + } catch (error) { + console.error('deleteLigne error:', error); + return { data: null, error }; + } +} \ No newline at end of file diff --git a/src/api/materielsRoulants.js b/src/api/materielsRoulants.js new file mode 100644 index 0000000..5afff22 --- /dev/null +++ b/src/api/materielsRoulants.js @@ -0,0 +1,164 @@ +import supabase, { isSupabaseConfigured } from '../supabaseClient'; + +const BUCKET = 'materiel-roulant'; + +/** + * Convertit un File en Data URL base64 (fallback si le bucket Storage est inaccessible). + */ +function fileToDataUrl(file) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = (e) => resolve(e.target.result); + reader.onerror = () => reject(new Error('Lecture du fichier impossible')); + reader.onabort = () => reject(Object.assign(new Error('Lecture du fichier annulee'), { name: 'AbortError' })); + try { + reader.readAsDataURL(file); + } catch (err) { + reject(err); + } + }); +} + +/** + * Upload un fichier image vers le bucket Supabase Storage "materiel-roulant". + * Le bucket doit exister au préalable (exécuter la migration SQL). + * En cas d'échec, retourne l'erreur — le fallback base64 est géré par l'appelant. + */ +async function uploadImageFile(file) { + if (!isSupabaseConfigured) return { data: null, error: { message: 'Supabase non configuré' } }; + try { + const originalName = (file.name || 'image').toLowerCase(); + const safeName = originalName.replace(/[^a-z0-9._-]/gi, '_'); + const fileName = `${Date.now()}_${safeName}`; + // Chemin dans le bucket : images/ + const path = `images/${fileName}`; + + const { data: uploadData, error: uploadError } = await supabase.storage + .from(BUCKET) + .upload(path, file, { cacheControl: '3600', upsert: false }); + + if (uploadError) return { data: null, error: uploadError }; + + // Récupérer l'URL publique directe + const { data: publicUrlData } = supabase.storage + .from(BUCKET) + .getPublicUrl(path); + + const publicUrl = publicUrlData?.publicUrl || publicUrlData?.publicURL || null; + + return { data: { path: uploadData?.path || path, publicUrl }, error: null }; + } catch (err) { + return { data: null, error: err }; + } +} + +export async function getAllMateriels() { + if (!isSupabaseConfigured) return { data: [], error: null }; + const { data, error } = await supabase + .from('materiel-roulant') + .select('*') + .order('created_at', { ascending: false }); + return { data, error }; +} + +export async function getMaterielById(id) { + if (!isSupabaseConfigured) return { data: null, error: { message: 'Supabase non configuré' } }; + const { data, error } = await supabase + .from('materiel-roulant') + .select('*') + .eq('id', id) + .single(); + return { data, error }; +} + +// createMateriel accepts payload and optional imageFile (File) +export async function createMateriel(payload, imageFile = null) { + if (!isSupabaseConfigured) return { data: payload, error: null, uploadError: null }; + + let uploadError = null; + let uploadFallback = false; + try { + // Si un fichier image est fourni, tenter l'upload vers Supabase Storage + if (imageFile) { + const { data: uploadResult, error: uploadErr } = await uploadImageFile(imageFile); + if (uploadErr) { + // Upload Storage échoué → fallback : encoder en base64 et stocker dans image_url + console.warn('Image upload vers Storage échoué, fallback base64:', uploadErr.message || uploadErr); + uploadError = uploadErr; + try { + payload.image_url = await fileToDataUrl(imageFile); + uploadFallback = true; + uploadError = null; // On considère que le fallback a réussi, pas d'erreur bloquante + } catch (b64Err) { + console.error('Fallback base64 échoué:', b64Err); + // On garde uploadError et on continue sans image + } + } else if (uploadResult) { + payload.image_url = uploadResult.publicUrl || uploadResult.path || payload.image_url || null; + } + } + + const { data, error } = await supabase.from('materiel-roulant').insert([payload]).select('*').single(); + return { data, error, uploadError, uploadFallback }; + } catch (err) { + return { data: null, error: err, uploadError, uploadFallback }; + } +} + +export async function updateMateriel(id, payload, imageFile = null) { + if (!isSupabaseConfigured) return { data: { id, ...payload }, error: null, uploadError: null }; + + let uploadError = null; + let uploadFallback = false; + try { + if (imageFile) { + const { data: uploadResult, error: uploadErr } = await uploadImageFile(imageFile); + if (uploadErr) { + // Upload Storage échoué → fallback : encoder en base64 et stocker dans image_url + console.warn('Image upload vers Storage échoué, fallback base64:', uploadErr.message || uploadErr); + uploadError = uploadErr; + try { + payload.image_url = await fileToDataUrl(imageFile); + uploadFallback = true; + uploadError = null; // fallback réussi + } catch (b64Err) { + console.error('Fallback base64 échoué:', b64Err); + // On garde uploadError et on continue sans image + } + } else if (uploadResult) { + payload.image_url = uploadResult.publicUrl || uploadResult.path || payload.image_url || null; + } + } + + const { data, error } = await supabase + .from('materiel-roulant') + .update(payload) + .eq('id', id) + .select('*') + .single(); + + return { data, error, uploadError, uploadFallback }; + } catch (err) { + return { data: null, error: err, uploadError, uploadFallback }; + } +} + +export async function deleteMateriel(id, opts = { deleteImage: false, imagePath: null }) { + if (!isSupabaseConfigured) return { error: null }; + + try { + // Optionally remove image from storage if path provided and deleteImage is true + if (opts.deleteImage && opts.imagePath) { + try { + await supabase.storage.from(BUCKET).remove([opts.imagePath]); + } catch (e) { + // ignore storage deletion errors + } + } + + const { error } = await supabase.from('materiel-roulant').delete().eq('id', id); + return { error }; + } catch (err) { + return { error: err }; + } +} diff --git a/src/api/menu.js b/src/api/menu.js new file mode 100644 index 0000000..810215a --- /dev/null +++ b/src/api/menu.js @@ -0,0 +1,151 @@ +import supabase from '../supabaseClient'; + +/** + * API Menu Régional + * Table: menus_regionaux (id, nom, description, actif, structure JSONB, created_at, updated_at) + * + * Structure JSONB : + * [ + * { + * id: "uuid", + * label: "Horaires", + * url: "/horaires", + * icone: "schedule", + * ordre: 0, + * sous_elements: [ + * { + * id: "uuid", + * label: "Horaires TER", + * url: "/horaires/ter", + * icone: "", + * ordre: 0, + * briques: [ + * { id: "uuid", label: "TER Auvergne", url: "/horaires/ter/auvergne", ordre: 0 } + * ] + * } + * ] + * } + * ] + */ + +function genId() { + return `${Date.now()}_${Math.random().toString(36).slice(2, 8)}`; +} + +export { genId }; + +export async function getAllMenus(regionId = null) { + try { + let query = supabase + .from('menus_regionaux') + .select('*') + .order('created_at', { ascending: false }); + + if (regionId) { + query = query.eq('region_id', regionId); + } + + const { data, error } = await query; + if (error) return { data: [], error }; + return { data: data || [], error: null }; + } catch (err) { + return { data: [], error: err }; + } +} + +export async function getMenuById(id, regionId = null) { + try { + let query = supabase + .from('menus_regionaux') + .select('*') + .eq('id', id); + + if (regionId) query = query.eq('region_id', regionId); + + const { data, error } = await query.single(); + if (error) return { data: null, error }; + return { data, error: null }; + } catch (err) { + return { data: null, error: err }; + } +} + +export async function createMenu(payload) { + try { + const { data, error } = await supabase + .from('menus_regionaux') + .insert([{ + nom: payload.nom, + description: payload.description || null, + actif: payload.actif !== false, + region_id: payload.region_id || null, + structure: payload.structure || [], + created_at: new Date().toISOString(), + updated_at: new Date().toISOString() + }]) + .select() + .single(); + if (error) return { data: null, error }; + return { data, error: null }; + } catch (err) { + return { data: null, error: err }; + } +} + +export async function updateMenu(id, payload) { + try { + const { data, error } = await supabase + .from('menus_regionaux') + .update({ + nom: payload.nom, + description: payload.description || null, + actif: payload.actif !== false, + region_id: payload.region_id || null, + structure: payload.structure || [], + updated_at: new Date().toISOString() + }) + .eq('id', id) + .select() + .single(); + if (error) return { data: null, error }; + return { data, error: null }; + } catch (err) { + return { data: null, error: err }; + } +} + +export async function deleteMenu(id) { + try { + const { error } = await supabase + .from('menus_regionaux') + .delete() + .eq('id', id); + if (error) return { error }; + return { error: null }; + } catch (err) { + return { error: err }; + } +} + +export async function setMenuActif(id, regionId = null) { + try { + // Désactiver uniquement les menus du même périmètre régional. + let disableQuery = supabase.from('menus_regionaux').update({ actif: false }).neq('id', id); + if (regionId) disableQuery = disableQuery.eq('region_id', regionId); + await disableQuery; + // Activer celui-ci + let activateQuery = supabase + .from('menus_regionaux') + .update({ actif: true }) + .eq('id', id); + + if (regionId) activateQuery = activateQuery.eq('region_id', regionId); + + const { data, error } = await activateQuery.select().single(); + if (error) return { data: null, error }; + return { data, error: null }; + } catch (err) { + return { data: null, error: err }; + } +} + diff --git a/src/api/messagerie/index.js b/src/api/messagerie/index.js new file mode 100644 index 0000000..7edf142 --- /dev/null +++ b/src/api/messagerie/index.js @@ -0,0 +1,284 @@ +import supabase, { isSupabaseConfigured } from '../../supabaseClient'; + +const LS_THREADS_KEY = 'messagerie_threads_v1'; +const LS_MESSAGES_KEY = 'messagerie_messages_v1'; + +function nowIso() { + return new Date().toISOString(); +} + +function generateId(prefix = 'id') { + return `${prefix}_${Date.now()}_${Math.random().toString(36).slice(2, 10)}`; +} + +function readJson(key, fallback) { + try { + const raw = window.localStorage.getItem(key); + return raw ? JSON.parse(raw) : fallback; + } catch (_) { + return fallback; + } +} + +function writeJson(key, value) { + try { + window.localStorage.setItem(key, JSON.stringify(value)); + } catch (_) { + // ignore localStorage failures + } +} + +function getFallbackThreads(currentUserId) { + const threads = readJson(LS_THREADS_KEY, []); + const messages = readJson(LS_MESSAGES_KEY, []); + + return threads + .filter((thread) => Array.isArray(thread.participants) && thread.participants.includes(currentUserId)) + .map((thread) => { + const lastMessage = messages + .filter((msg) => msg.thread_id === thread.id) + .sort((a, b) => String(b.created_at).localeCompare(String(a.created_at)))[0] || null; + + return { + id: thread.id, + participants: thread.participants, + created_at: thread.created_at, + updated_at: thread.updated_at || thread.created_at, + last_message: lastMessage + }; + }) + .sort((a, b) => String(b.updated_at).localeCompare(String(a.updated_at))); +} + +function mergeThreadsById(primaryThreads = [], secondaryThreads = []) { + const merged = new Map(); + [...secondaryThreads, ...primaryThreads].forEach((thread) => { + if (!thread?.id) return; + merged.set(thread.id, thread); + }); + return [...merged.values()].sort((a, b) => String(b.updated_at || '').localeCompare(String(a.updated_at || ''))); +} + +export async function getThreadsForUser(currentUserId) { + if (!currentUserId) return { data: [], error: null }; + + const fallbackThreads = getFallbackThreads(currentUserId); + + if (!isSupabaseConfigured) { + return { data: fallbackThreads, error: null }; + } + + try { + const { data: links, error: linksError } = await supabase + .from('messagerie_participants') + .select('thread_id') + .eq('user_id', currentUserId); + + if (linksError) { + return { data: fallbackThreads, error: null }; + } + + const threadIds = (links || []).map((l) => l.thread_id).filter(Boolean); + if (!threadIds.length) return { data: fallbackThreads, error: null }; + + const { data: threads, error: threadsError } = await supabase + .from('messagerie_threads') + .select('id, created_at, updated_at') + .in('id', threadIds) + .order('updated_at', { ascending: false }); + + if (threadsError) { + return { data: fallbackThreads, error: null }; + } + + const { data: participants } = await supabase + .from('messagerie_participants') + .select('thread_id, user_id') + .in('thread_id', threadIds); + + const { data: messages } = await supabase + .from('messagerie_messages') + .select('id, thread_id, sender_id, contenu, created_at') + .in('thread_id', threadIds) + .order('created_at', { ascending: false }); + + const byThread = {}; + (participants || []).forEach((row) => { + if (!byThread[row.thread_id]) byThread[row.thread_id] = []; + byThread[row.thread_id].push(row.user_id); + }); + + const firstMessageByThread = {}; + (messages || []).forEach((m) => { + if (!firstMessageByThread[m.thread_id]) firstMessageByThread[m.thread_id] = m; + }); + + const supabaseThreads = (threads || []).map((thread) => ({ + ...thread, + participants: byThread[thread.id] || [], + last_message: firstMessageByThread[thread.id] || null + })); + + return { data: mergeThreadsById(supabaseThreads, fallbackThreads), error: null }; + } catch (_) { + return { data: fallbackThreads, error: null }; + } +} + +export async function getMessagesForThread(threadId) { + if (!threadId) return { data: [], error: null }; + + const fallbackMessages = readJson(LS_MESSAGES_KEY, []).filter((m) => m.thread_id === threadId); + + if (!isSupabaseConfigured) { + const sorted = fallbackMessages.sort((a, b) => String(a.created_at).localeCompare(String(b.created_at))); + return { data: sorted, error: null }; + } + + try { + const { data, error } = await supabase + .from('messagerie_messages') + .select('id, thread_id, sender_id, contenu, created_at') + .eq('thread_id', threadId) + .order('created_at', { ascending: true }); + + if (error) { + const sortedFallback = fallbackMessages.sort((a, b) => String(a.created_at).localeCompare(String(b.created_at))); + return { data: sortedFallback, error: null }; + } + + return { data: data || [], error: null }; + } catch (_) { + const sortedFallback = fallbackMessages.sort((a, b) => String(a.created_at).localeCompare(String(b.created_at))); + return { data: sortedFallback, error: null }; + } +} + +export async function deleteMessage({ messageId, senderId }) { + if (!messageId || !senderId) return { data: null, error: { message: 'Suppression invalide' } }; + + const deleteFallback = () => { + const messages = readJson(LS_MESSAGES_KEY, []); + const target = messages.find((m) => String(m.id) === String(messageId)); + if (!target || String(target.sender_id) !== String(senderId)) { + return { data: null, error: { message: 'Message introuvable ou non autorise' } }; + } + + const nextMessages = messages.filter((m) => String(m.id) !== String(messageId)); + writeJson(LS_MESSAGES_KEY, nextMessages); + return { data: { id: messageId }, error: null }; + }; + + if (!isSupabaseConfigured) return deleteFallback(); + + try { + const { data, error } = await supabase + .from('messagerie_messages') + .delete() + .eq('id', messageId) + .eq('sender_id', senderId) + .select('id') + .single(); + + if (error || !data) return deleteFallback(); + + return { data, error: null }; + } catch (_) { + return deleteFallback(); + } +} + + +export async function sendMessage({ threadId, senderId, recipientId, contenu }) { + const safeContenu = String(contenu || '').trim(); + if (!senderId || !safeContenu) return { data: null, error: { message: 'Message invalide' } }; + if (!threadId && !recipientId) return { data: null, error: { message: 'Destinataire manquant' } }; + + const sendMessageFallback = () => { + const threads = readJson(LS_THREADS_KEY, []); + const messages = readJson(LS_MESSAGES_KEY, []); + + let effectiveThreadId = threadId; + if (!effectiveThreadId) { + const participants = [senderId, recipientId].filter(Boolean); + const existing = threads.find((t) => { + const p = Array.isArray(t.participants) ? [...t.participants].sort() : []; + const target = [...participants].sort(); + return p.length === target.length && p.every((v, i) => v === target[i]); + }); + + if (existing) { + effectiveThreadId = existing.id; + } else { + effectiveThreadId = generateId('thread'); + threads.push({ + id: effectiveThreadId, + participants, + created_at: nowIso(), + updated_at: nowIso() + }); + } + } + + const newMessage = { + id: generateId('msg'), + thread_id: effectiveThreadId, + sender_id: senderId, + contenu: safeContenu, + created_at: nowIso() + }; + + const tIndex = threads.findIndex((t) => t.id === effectiveThreadId); + if (tIndex >= 0) threads[tIndex].updated_at = newMessage.created_at; + + messages.push(newMessage); + writeJson(LS_THREADS_KEY, threads); + writeJson(LS_MESSAGES_KEY, messages); + return { data: { thread_id: effectiveThreadId, message: newMessage }, error: null }; + }; + + if (!isSupabaseConfigured) { + return sendMessageFallback(); + } + + try { + let effectiveThreadId = threadId; + + if (!effectiveThreadId) { + const { data: threadRow, error: threadError } = await supabase + .from('messagerie_threads') + .insert([{ created_at: nowIso(), updated_at: nowIso() }]) + .select('id') + .single(); + + if (threadError || !threadRow?.id) { + return sendMessageFallback(); + } + effectiveThreadId = threadRow.id; + + const participants = [senderId, recipientId].filter(Boolean).map((uid) => ({ thread_id: effectiveThreadId, user_id: uid })); + if (participants.length) { + await supabase.from('messagerie_participants').insert(participants); + } + } + + const createdAt = nowIso(); + const { data: message, error: msgError } = await supabase + .from('messagerie_messages') + .insert([{ thread_id: effectiveThreadId, sender_id: senderId, contenu: safeContenu, created_at: createdAt }]) + .select('id, thread_id, sender_id, contenu, created_at') + .single(); + + if (msgError) return sendMessageFallback(); + + await supabase + .from('messagerie_threads') + .update({ updated_at: createdAt }) + .eq('id', effectiveThreadId); + + return { data: { thread_id: effectiveThreadId, message }, error: null }; + } catch (err) { + return sendMessageFallback(); + } +} + diff --git a/src/api/pages.js b/src/api/pages.js new file mode 100644 index 0000000..6e73dd8 --- /dev/null +++ b/src/api/pages.js @@ -0,0 +1,113 @@ +import supabase from '../supabaseClient'; +import pagesData from '../data/pages.json'; + +export async function getAllPages(regionId = null) { + try { + // Si on veut utiliser le JSON local pour simuler les pages existantes + let localPages = [...pagesData]; + if (regionId) { + localPages = localPages.filter(p => p.region_id === regionId || p.region_id === null); + } + + // Tenter de récupérer depuis la base de données + let query = supabase + .from('pages') + .select('*') + .order('updated_at', { ascending: false }); + + if (regionId) { + query = query.eq('region_id', regionId); + } + + const { data, error } = await query; + if (error) throw error; + + // Combiner les pages locales et celles de la BD + const dbPages = Array.isArray(data) ? data : []; + + // Fusionner en évitant les doublons d'ID + const allPages = [...localPages]; + for (const dbPage of dbPages) { + if (!allPages.some(p => p.id === dbPage.id)) { + allPages.push(dbPage); + } + } + + return { data: allPages, error: null }; + } catch (error) { + console.error('[API Pages] getAllPages error:', error); + // En cas d'erreur, retourner au moins les pages locales + let localPages = [...pagesData]; + if (regionId) { + localPages = localPages.filter(p => p.region_id === regionId || p.region_id === null); + } + return { data: localPages, error: null }; + } +} + +export async function getPageById(id) { + try { + // Vérifier d'abord si c'est une page locale + const localPage = pagesData.find(p => p.id === id); + if (localPage) { + return { data: localPage, error: null }; + } + + const { data, error } = await supabase + .from('pages') + .select('*') + .eq('id', id) + .single(); + if (error) throw error; + return { data, error: null }; + } catch (error) { + console.error('[API Pages] getPageById error:', error); + return { data: null, error }; + } +} + +export async function createPage(pageData) { + try { + const { data, error } = await supabase + .from('pages') + .insert([pageData]) + .select() + .single(); + if (error) throw error; + return { data, error: null }; + } catch (error) { + console.error('[API Pages] createPage error:', error); + return { data: null, error }; + } +} + +export async function updatePage(id, pageData) { + try { + const { data, error } = await supabase + .from('pages') + .update({ ...pageData, updated_at: new Date().toISOString() }) + .eq('id', id) + .select() + .single(); + if (error) throw error; + return { data, error: null }; + } catch (error) { + console.error('[API Pages] updatePage error:', error); + return { data: null, error }; + } +} + +export async function deletePage(id) { + try { + // Hard delete + const { data, error } = await supabase + .from('pages') + .delete() + .eq('id', id); + if (error) throw error; + return { data, error: null }; + } catch (error) { + console.error('[API Pages] deletePage error:', error); + return { data: null, error }; + } +} \ No newline at end of file diff --git a/src/api/parametres.js b/src/api/parametres.js new file mode 100644 index 0000000..0856efb --- /dev/null +++ b/src/api/parametres.js @@ -0,0 +1,129 @@ +import supabase from '../supabaseClient'; + +/** + * API Paramètres - Gestion des paramètres du site + * Table: parametres (cle VARCHAR UNIQUE, valeur JSONB) + */ + +/** + * Récupère un paramètre par sa clé + */ +export async function getParametre(cle) { + try { + const { data, error } = await supabase + .from('parametres') + .select('*') + .eq('cle', cle) + .single(); + + if (error) { + // Si le paramètre n'existe pas, retourner null sans erreur + if (error.code === 'PGRST116') { + return { data: null, error: null }; + } + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('getParametre error:', err); + return { data: null, error: err }; + } +} + +/** + * Récupère tous les paramètres + */ +export async function getAllParametres() { + try { + const { data, error } = await supabase + .from('parametres') + .select('*') + .order('cle'); + + if (error) return { data: null, error }; + return { data, error: null }; + } catch (err) { + console.error('getAllParametres error:', err); + return { data: null, error: err }; + } +} + +/** + * Crée ou met à jour un paramètre (upsert par clé) + */ +export async function upsertParametre(cle, valeur) { + try { + const { data, error } = await supabase + .from('parametres') + .upsert({ + cle, + valeur, + updated_at: new Date().toISOString() + }, { onConflict: 'cle' }) + .select() + .single(); + + if (error) return { data: null, error }; + return { data, error: null }; + } catch (err) { + console.error('upsertParametre error:', err); + return { data: null, error: err }; + } +} + +/** + * Convertit le logo header en base64 (stocké directement en BDD, aucun bucket requis). + * Limite recommandée : 500 Ko après compression. + */ +export async function uploadLogoHeader(file) { + return new Promise((resolve) => { + try { + // Compresser / redimensionner via un canvas pour limiter la taille + const reader = new FileReader(); + reader.onload = (e) => { + try { + const img = new Image(); + img.onload = () => { + try { + const MAX = 400; // px max côté le plus long + let w = img.width; + let h = img.height; + if (w > MAX || h > MAX) { + if (w > h) { h = Math.round((h * MAX) / w); w = MAX; } + else { w = Math.round((w * MAX) / h); h = MAX; } + } + const canvas = document.createElement('canvas'); + canvas.width = w; + canvas.height = h; + const ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0, w, h); + // PNG pour les logos (transparence), qualité 0.9 + const mime = file.type === 'image/png' ? 'image/png' : 'image/jpeg'; + const dataUrl = canvas.toDataURL(mime, 0.9); + resolve({ url: dataUrl, error: null }); + } catch (canvasErr) { + // Fallback : base64 brut sans compression + resolve({ url: e.target.result, error: null }); + } + }; + img.onerror = () => resolve({ url: e.target.result, error: null }); + img.src = e.target.result; + } catch (imgErr) { + resolve({ url: e.target.result, error: null }); + } + }; + reader.onerror = () => resolve({ url: null, error: new Error('Lecture du fichier impossible') }); + reader.onabort = () => resolve({ url: null, error: Object.assign(new Error('Lecture du fichier annulee'), { name: 'AbortError' }) }); + try { + reader.readAsDataURL(file); + } catch (readErr) { + resolve({ url: null, error: readErr }); + } + } catch (err) { + console.error('uploadLogoHeader error:', err); + resolve({ url: null, error: err }); + } + }); +} + diff --git a/src/api/perturbations.js b/src/api/perturbations.js new file mode 100644 index 0000000..c880ad9 --- /dev/null +++ b/src/api/perturbations.js @@ -0,0 +1,363 @@ +/** + * API pour la gestion des perturbations + */ + +import supabase from '../supabaseClient'; + +// Vérifie si Supabase est configuré +const isSupabaseConfigured = !!supabase; + +/** + * Récupère toutes les perturbations avec les détails des horaires associés + */ +export async function getAllPerturbations(regionId = null) { + if (!isSupabaseConfigured) { + return { data: [], error: null }; + } + + try { + const { data, error } = await supabase + .from('perturbations') + .select(` + *, + horaire:horaires!horaire_id ( + id, + numero_train, + type_train, + gare_depart_nom, + heure_depart, + gare_arrivee_nom, + heure_arrivee, + ligne_nom, + region_id, + gares_desservies, + composition_train + ), + sillon_substitution:horaires!sillon_substitution_id ( + id, + numero_train, + type_train, + gare_depart_nom, + heure_depart, + gare_arrivee_nom, + heure_arrivee + ) + `) + .order('created_at', { ascending: false }); + + if (error) return { data: [], error }; + + let scoped = data || []; + if (regionId) { + scoped = scoped.filter(p => String(p?.region_id || '') === String(regionId) + || String(p?.horaire?.region_id || '') === String(regionId)); + } + + return { data: scoped, error: null }; + } catch (err) { + console.error('Erreur lors de la récupération des perturbations:', err); + return { data: [], error: err }; + } +} + +/** + * Récupère les perturbations groupées par horaire + */ +export async function getPerturbationsGroupedByHoraire(regionId = null) { + const { data, error } = await getAllPerturbations(regionId); + + if (error || !data) { + return { data: {}, error }; + } + + // Grouper par horaire_id + const grouped = data.reduce((acc, perturbation) => { + const horaireId = perturbation.horaire_id; + if (!acc[horaireId]) { + acc[horaireId] = { + horaire: perturbation.horaire, + perturbations: [] + }; + } + acc[horaireId].perturbations.push(perturbation); + return acc; + }, {}); + + return { data: grouped, error: null }; +} + +/** + * Récupère une perturbation par ID avec tous ses détails + */ +export async function getPerturbationById(id) { + if (!isSupabaseConfigured) { + return { data: null, error: null }; + } + + try { + const { data, error } = await supabase + .from('perturbations') + .select(` + *, + horaire:horaires!horaire_id ( + id, + numero_train, + type_train, + gare_depart_nom, + heure_depart, + gare_arrivee_nom, + heure_arrivee, + ligne_nom, + region_id, + gares_desservies, + composition_train + ), + sillon_substitution:horaires!sillon_substitution_id ( + id, + numero_train, + type_train, + gare_depart_nom, + heure_depart, + gare_arrivee_nom, + heure_arrivee + ), + modifications_parcours:perturbations_modifications_parcours ( + id, + type_modification, + gare_id, + gare_nom, + nouvelle_heure_arrivee, + nouvelle_heure_depart, + ordre + ) + `) + .eq('id', id) + .single(); + + return { data, error }; + } catch (err) { + console.error('Erreur lors de la récupération de la perturbation:', err); + return { data: null, error: err }; + } +} + +/** + * Crée une nouvelle perturbation + * @param {Object} payload - Données de la perturbation + * @param {Array} modificationsParcours - Liste des modifications de parcours (optionnel) + */ +export async function createPerturbation(payload, modificationsParcours = []) { + if (!isSupabaseConfigured) { + const fakeId = `local-${Date.now()}`; + return { data: { id: fakeId, ...payload }, error: null }; + } + + try { + // Extraire jours_perturbation et le stocker dans perturbations_arrets (colonne JSONB existante) + const { jours_perturbation, perturbations_arrets, ...rest } = payload; + const perturbationsArretsData = { + arrets: perturbations_arrets || [], + jours_perturbation: jours_perturbation || null + }; + + // Créer la perturbation principale + const { data: perturbation, error: perturbationError } = await supabase + .from('perturbations') + .insert([{ + ...rest, + perturbations_arrets: perturbationsArretsData, + created_at: new Date(), + updated_at: new Date() + }]) + .select('*') + .single(); + + if (perturbationError) { + console.error('Erreur lors de la création de la perturbation:', perturbationError); + return { data: null, error: perturbationError }; + } + + // Insérer les modifications de parcours si présentes + if (modificationsParcours.length > 0 && perturbation) { + const modificationsData = modificationsParcours.map(modif => ({ + perturbation_id: perturbation.id, + ...modif + })); + + const { error: modifError } = await supabase + .from('perturbations_modifications_parcours') + .insert(modificationsData); + + if (modifError) { + console.error('Erreur lors de l\'insertion des modifications de parcours:', modifError); + // On continue même si erreur car la perturbation principale est créée + } + } + + return { data: perturbation, error: null }; + } catch (err) { + console.error('Erreur lors de la création de la perturbation:', err); + return { data: null, error: err }; + } +} + +/** + * Met à jour une perturbation existante + * @param {string} id - ID de la perturbation + * @param {Object} payload - Données à mettre à jour + * @param {Array} modificationsParcours - Nouvelle liste des modifications de parcours (remplace l'existante) + */ +export async function updatePerturbation(id, payload, modificationsParcours = null) { + if (!isSupabaseConfigured) { + return { data: { id, ...payload }, error: null }; + } + + try { + // Extraire jours_perturbation et le stocker dans perturbations_arrets (colonne JSONB existante) + const { jours_perturbation, perturbations_arrets, ...rest } = payload; + const perturbationsArretsData = { + arrets: perturbations_arrets || [], + jours_perturbation: jours_perturbation || null + }; + + // Mettre à jour la perturbation principale + const { data: perturbation, error: perturbationError } = await supabase + .from('perturbations') + .update({ + ...rest, + perturbations_arrets: perturbationsArretsData, + updated_at: new Date() + }) + .eq('id', id) + .select('*') + .single(); + + if (perturbationError) { + console.error('Erreur lors de la mise à jour de la perturbation:', perturbationError); + return { data: null, error: perturbationError }; + } + + // Si modifications de parcours fournies, supprimer les anciennes et insérer les nouvelles + if (modificationsParcours !== null && Array.isArray(modificationsParcours)) { + // Supprimer les anciennes modifications + await supabase + .from('perturbations_modifications_parcours') + .delete() + .eq('perturbation_id', id); + + // Insérer les nouvelles modifications + if (modificationsParcours.length > 0) { + const modificationsData = modificationsParcours.map(modif => ({ + perturbation_id: id, + ...modif + })); + + const { error: modifError } = await supabase + .from('perturbations_modifications_parcours') + .insert(modificationsData); + + if (modifError) { + console.error('Erreur lors de la mise à jour des modifications de parcours:', modifError); + } + } + } + + return { data: perturbation, error: null }; + } catch (err) { + console.error('Erreur lors de la mise à jour de la perturbation:', err); + return { data: null, error: err }; + } +} + +/** + * Met à jour le quai ou quai_reel d'un arrêt spécifique d'une perturbation + */ +export async function updateQuaiPerturbation(perturbationId, indexArret, payload) { + if (!isSupabaseConfigured) return { data: null, error: null }; + + try { + const { data: perturbation, error: readErr } = await supabase + .from('perturbations') + .select('perturbations_arrets') + .eq('id', perturbationId) + .single(); + + if (readErr) throw readErr; + + const pArrets = perturbation.perturbations_arrets || {}; + const arretsArray = Array.isArray(pArrets) ? [...pArrets] : [...(pArrets.arrets || [])]; + + if (arretsArray[indexArret]) { + if (payload.quai !== undefined) arretsArray[indexArret].quai = payload.quai; + if (payload.quai_reel !== undefined) arretsArray[indexArret].quai_reel = payload.quai_reel; + } + + const updatedPArrets = Array.isArray(pArrets) ? arretsArray : { ...pArrets, arrets: arretsArray }; + + const { data, error: updateErr } = await supabase + .from('perturbations') + .update({ perturbations_arrets: updatedPArrets, updated_at: new Date() }) + .eq('id', perturbationId) + .select('*') + .single(); + + if (updateErr) throw updateErr; + + return { data, error: null }; + } catch (err) { + console.error('Erreur updateQuaiPerturbation:', err); + return { data: null, error: err }; + } +} + +/** + * Supprime une perturbation (hard delete) + */ +export async function deletePerturbation(id) { + if (!isSupabaseConfigured) { + return { data: { id }, error: null }; + } + + if (!id) { + return { data: null, error: { message: 'ID manquant' } }; + } + + try { + const { error } = await supabase + .from('perturbations') + .delete() + .eq('id', id); + + if (error) { + return { data: null, error }; + } + + return { data: { id, deleted: true }, error: null }; + } catch (err) { + console.error('Erreur lors de la suppression de la perturbation:', err); + return { data: null, error: err }; + } +} + +/** + * Récupère les perturbations actives pour un horaire spécifique + */ +export async function getPerturbationsByHoraire(horaireId) { + if (!isSupabaseConfigured) { + return { data: [], error: null }; + } + + try { + const { data, error } = await supabase + .from('perturbations') + .select('*') + .eq('horaire_id', horaireId) + .eq('actif', true) + .order('created_at', { ascending: false }); + + return { data: data || [], error }; + } catch (err) { + console.error('Erreur lors de la récupération des perturbations de l\'horaire:', err); + return { data: [], error: err }; + } +} diff --git a/src/api/perturbations.test.js b/src/api/perturbations.test.js new file mode 100644 index 0000000..d8e6307 --- /dev/null +++ b/src/api/perturbations.test.js @@ -0,0 +1,182 @@ +/** + * Tests pour l'API des perturbations + * + * Pour exécuter ces tests : + * npm test -- src/api/perturbations.test.js + */ + +import { + getAllPerturbations, + getPerturbationsGroupedByHoraire, + getPerturbationById, + createPerturbation, + updatePerturbation, + deletePerturbation, + getPerturbationsByHoraire +} from './perturbations'; + +// Mock Supabase +jest.mock('../supabaseClient', () => ({ + __esModule: true, + default: null +})); + +describe('API Perturbations', () => { + describe('getAllPerturbations', () => { + it('devrait retourner un tableau vide si Supabase n\'est pas configuré', async () => { + const { data, error } = await getAllPerturbations(); + expect(data).toEqual([]); + expect(error).toBeNull(); + }); + }); + + describe('getPerturbationsGroupedByHoraire', () => { + it('devrait retourner un objet vide si aucune perturbation', async () => { + const { data, error } = await getPerturbationsGroupedByHoraire(); + expect(data).toEqual({}); + expect(error).toBeNull(); + }); + }); + + describe('getPerturbationById', () => { + it('devrait retourner null si Supabase n\'est pas configuré', async () => { + const { data, error } = await getPerturbationById('test-id'); + expect(data).toBeNull(); + expect(error).toBeNull(); + }); + }); + + describe('createPerturbation', () => { + it('devrait créer une perturbation locale si Supabase n\'est pas configuré', async () => { + const payload = { + horaire_id: 'horaire-1', + type_perturbation: 'retard', + duree_retard_minutes: 15, + cause: 'incident_technique', + actif: true + }; + + const { data, error } = await createPerturbation(payload); + + expect(error).toBeNull(); + expect(data).toBeDefined(); + expect(data.id).toMatch(/^local-/); + expect(data.horaire_id).toBe('horaire-1'); + expect(data.type_perturbation).toBe('retard'); + expect(data.duree_retard_minutes).toBe(15); + }); + + it('devrait accepter des modifications de parcours', async () => { + const payload = { + horaire_id: 'horaire-1', + type_perturbation: 'modification_parcours', + cause: 'travaux' + }; + + const modificationsParcours = [ + { + type_modification: 'gare_supprimee', + gare_nom: 'Gare Test', + ordre: 1 + } + ]; + + const { data, error } = await createPerturbation(payload, modificationsParcours); + + expect(error).toBeNull(); + expect(data).toBeDefined(); + }); + }); + + describe('updatePerturbation', () => { + it('devrait mettre à jour une perturbation locale', async () => { + const id = 'test-id'; + const payload = { + duree_retard_minutes: 30, + actif: false + }; + + const { data, error } = await updatePerturbation(id, payload); + + expect(error).toBeNull(); + expect(data).toBeDefined(); + expect(data.id).toBe(id); + expect(data.duree_retard_minutes).toBe(30); + expect(data.actif).toBe(false); + }); + }); + + describe('deletePerturbation', () => { + it('devrait supprimer une perturbation locale', async () => { + const id = 'test-id'; + const { data, error } = await deletePerturbation(id); + + expect(error).toBeNull(); + expect(data).toBeDefined(); + expect(data.id).toBe(id); + }); + }); + + describe('getPerturbationsByHoraire', () => { + it('devrait retourner un tableau vide si Supabase n\'est pas configuré', async () => { + const { data, error } = await getPerturbationsByHoraire('horaire-1'); + expect(data).toEqual([]); + expect(error).toBeNull(); + }); + }); +}); + +describe('Validation des types de perturbation', () => { + const validTypes = ['retard', 'suppression', 'modification_parcours']; + + validTypes.forEach(type => { + it(`devrait accepter le type "${type}"`, async () => { + const payload = { + horaire_id: 'test', + type_perturbation: type, + cause: 'incident_technique' + }; + + const { data, error } = await createPerturbation(payload); + expect(error).toBeNull(); + expect(data.type_perturbation).toBe(type); + }); + }); +}); + +describe('Validation des causes', () => { + const validCauses = [ + 'incident_technique', + 'accident_personne', + 'conditions_meteorologiques', + 'travaux', + 'mouvement_social', + 'intervention_police', + 'affluence', + 'malveillance', + 'autre' + ]; + + validCauses.forEach(cause => { + it(`devrait accepter la cause "${cause}"`, async () => { + const payload = { + horaire_id: 'test', + type_perturbation: 'retard', + cause + }; + + const { data, error } = await createPerturbation(payload); + expect(error).toBeNull(); + expect(data.cause).toBe(cause); + }); + }); +}); + +describe('Groupement des perturbations', () => { + it('devrait grouper correctement les perturbations par horaire', async () => { + // Ce test nécessiterait des données mockées plus complexes + // À implémenter avec des données de test réelles + const { data } = await getPerturbationsGroupedByHoraire(); + expect(typeof data).toBe('object'); + }); +}); diff --git a/src/api/regions/index.js b/src/api/regions/index.js new file mode 100644 index 0000000..52e573b --- /dev/null +++ b/src/api/regions/index.js @@ -0,0 +1,71 @@ +/** + * API Régions - Chargement et gestion des régions + */ + +/** + * Récupère toutes les régions disponibles + */ +export async function getAllRegions() { + try { + const response = await fetch('/regions.json'); + if (!response.ok) { + console.error('Erreur lors du chargement de regions.json'); + return { data: [], error: { message: 'Impossible de charger les régions' } }; + } + + const json = await response.json(); + const regions = json.regions || []; + + return { data: regions, error: null }; + } catch (err) { + console.error('Exception getAllRegions:', err); + return { data: [], error: err }; + } +} + +/** + * Récupère une région par son ID + */ +export async function getRegionById(regionId) { + try { + const { data, error } = await getAllRegions(); + if (error) return { data: null, error }; + + const region = data.find(r => r.id === regionId); + if (!region) { + return { data: null, error: { message: 'Région introuvable' } }; + } + + return { data: region, error: null }; + } catch (err) { + console.error('Exception getRegionById:', err); + return { data: null, error: err }; + } +} + +/** + * Recherche de régions par nom (filtre côté client) + */ +export async function searchRegions(query) { + try { + const { data, error } = await getAllRegions(); + if (error) return { data: [], error }; + + const q = (query || '').toLowerCase().trim(); + if (!q) return { data, error: null }; + + const filtered = data.filter(r => + r.nom.toLowerCase().includes(q) || + r.id.toLowerCase().includes(q) || + (r.description && r.description.toLowerCase().includes(q)) + ); + + return { data: filtered, error: null }; + } catch (err) { + console.error('Exception searchRegions:', err); + return { data: [], error: err }; + } +} + +// Note: functions are exported as named exports above; +// we don't export a default object to satisfy ESLint and avoid unused-export warnings. diff --git a/src/api/servicesAnnuels.js b/src/api/servicesAnnuels.js new file mode 100644 index 0000000..a558e7d --- /dev/null +++ b/src/api/servicesAnnuels.js @@ -0,0 +1,92 @@ +import supabase from '../supabaseClient'; + +// ============================================================================ +// API SERVICES ANNUELS +// ============================================================================ + +export async function getAllServicesAnnuels() { + try { + const { data, error } = await supabase + .from('services_annuels') + .select('*') + .order('date_debut', { ascending: false }); + + if (error) throw error; + return { data, error: null }; + } catch (error) { + console.error('getAllServicesAnnuels error:', error); + return { data: null, error }; + } +} + +export async function createServiceAnnuel(serviceData) { + try { + const { data, error } = await supabase + .from('services_annuels') + .insert({ + nom: serviceData.nom, + code: serviceData.code, + date_debut: serviceData.date_debut, + date_fin: serviceData.date_fin, + description: serviceData.description, + actif: serviceData.actif ?? true + }) + .select() + .single(); + + if (error) throw error; + return { data, error: null }; + } catch (error) { + console.error('createServiceAnnuel error:', error); + return { data: null, error }; + } +} + +export async function updateServiceAnnuel(id, serviceData) { + try { + const { data, error } = await supabase + .from('services_annuels') + .update({ + nom: serviceData.nom, + code: serviceData.code, + date_debut: serviceData.date_debut, + date_fin: serviceData.date_fin, + description: serviceData.description, + actif: serviceData.actif ?? true + }) + .eq('id', id) + .select() + .single(); + + if (error) throw error; + return { data, error: null }; + } catch (error) { + console.error('updateServiceAnnuel error:', error); + return { data: null, error }; + } +} + +export async function deleteServiceAnnuel(id) { + try { + const { data, error } = await supabase + .from('services_annuels') + .delete() + .eq('id', id); + + if (error) throw error; + return { data, error: null }; + } catch (error) { + console.error('deleteServiceAnnuel error:', error); + return { data: null, error }; + } +} + +export function formatDate(dateString) { + if (!dateString) return '-'; + try { + const date = new Date(dateString); + return date.toLocaleDateString('fr-FR'); + } catch { + return dateString; + } +} diff --git a/src/api/tarifs.js b/src/api/tarifs.js new file mode 100644 index 0000000..a6ddddb --- /dev/null +++ b/src/api/tarifs.js @@ -0,0 +1,106 @@ +import supabase from '../supabaseClient'; + +function normalizeRegions(regions) { + if (Array.isArray(regions)) return regions; + if (!regions) return []; + if (typeof regions === 'string') { + try { + const parsed = JSON.parse(regions); + return Array.isArray(parsed) ? parsed : [regions]; + } catch (_) { + return regions.split(',').map(s => s.trim()).filter(Boolean); + } + } + return []; +} + +// CRUD pour la table tarifs +export async function getAllTarifs(regionId = null) { + let query = supabase + .from('tarifs') + .select('*'); + + if (regionId) { + query = query.overlaps('regions', [regionId]); + } + + const { data, error } = await query; + return { data, error }; +} + +export async function getTarifById(id, regionId = null) { + let query = supabase + .from('tarifs') + .select('*') + .eq('id', id); + + if (regionId) { + query = query.overlaps('regions', [regionId]); + } + + const { data, error } = await query.single(); + return { data, error }; +} + +export async function createTarif(tarif, regionId = null) { + // Normalize payload: ensure regions is array + const payload = { ...tarif }; + payload.regions = normalizeRegions(payload.regions); + if (regionId) { + payload.regions = [regionId]; + } + // debug + // eslint-disable-next-line no-console + + const { data, error } = await supabase + .from('tarifs') + .insert([payload]) + .select() + .single(); + return { data, error }; +} + +export async function updateTarif(id, tarif, regionId = null) { + const payload = { ...tarif }; + payload.regions = normalizeRegions(payload.regions); + if (regionId) { + payload.regions = [regionId]; + } + // debug + // eslint-disable-next-line no-console + + let query = supabase + .from('tarifs') + .update(payload) + .eq('id', id); + + if (regionId) { + query = query.overlaps('regions', [regionId]); + } + + const { data, error } = await query.select().single(); + return { data, error }; +} + +export async function deleteTarif(id, regionId = null) { + let query = supabase + .from('tarifs') + .delete() + .eq('id', id); + + if (regionId) { + query = query.overlaps('regions', [regionId]); + } + + const { error } = await query; + return { error }; +} + +// Récupérer les tarifs par région (tableau d'ids) +export async function getTarifsByRegions(regionIds) { + const { data, error } = await supabase + .from('tarifs') + .select('*') + .overlaps('regions', regionIds); + return { data, error }; +} diff --git a/src/api/travaux.js b/src/api/travaux.js new file mode 100644 index 0000000..9247119 --- /dev/null +++ b/src/api/travaux.js @@ -0,0 +1,299 @@ +/** + * API pour la gestion des travaux + */ + +import supabase from '../supabaseClient'; + +// Vérifie si Supabase est configuré +const isSupabaseConfigured = !!supabase; + +/** + * Récupère tous les travaux + */ +export async function getAllTravaux(regionId = null) { + if (!isSupabaseConfigured) { + return { data: [], error: null }; + } + + try { + const { data, error } = await supabase + .from('travaux') + .select(` + *, + substitutions:travaux_substitutions( + id, + ordre, + horaire:horaires!horaire_id( + id, + numero_train, + type_train, + gare_depart_nom, + heure_depart, + gare_arrivee_nom, + heure_arrivee, + ligne_nom, + region_id + ) + ) + `) + .order('created_at', { ascending: false }); + + if (error) return { data: [], error }; + + let scoped = data || []; + if (regionId) { + scoped = scoped.filter(t => String(t?.region_id || '') === String(regionId) + || (t?.substitutions || []).some(s => String(s?.horaire?.region_id || '') === String(regionId))); + } + + return { data: scoped, error: null }; + } catch (err) { + console.error('Erreur lors de la récupération des travaux:', err); + return { data: [], error: err }; + } +} + +/** + * Récupère un travail par ID + */ +export async function getTravauxById(id, regionId = null) { + if (!isSupabaseConfigured) { + return { data: null, error: null }; + } + + try { + const { data, error } = await supabase + .from('travaux') + .select(` + *, + substitutions:travaux_substitutions( + id, + ordre, + horaire:horaires!horaire_id( + id, + numero_train, + type_train, + gare_depart_nom, + heure_depart, + gare_arrivee_nom, + heure_arrivee, + ligne_nom, + region_id + ) + ) + `) + .eq('id', id) + .single(); + + if (error) return { data: null, error }; + if (regionId && String(data?.region_id || '') !== String(regionId) + && !(data?.substitutions || []).some(s => String(s?.horaire?.region_id || '') === String(regionId))) { + return { data: null, error: { message: 'Travaux hors périmètre régional' } }; + } + + return { data, error: null }; + } catch (err) { + console.error('Erreur lors de la récupération du travail:', err); + return { data: null, error: err }; + } +} + +/** + * Crée un nouveau travail + * @param {Object} payload - Données du travail + * @param {Array} substitutions - Liste des IDs d'horaires de substitution (optionnel) + */ +export async function createTravaux(payload, substitutions = []) { + if (!isSupabaseConfigured) { + return { data: null, error: new Error('Supabase non configuré') }; + } + + try { + // Créer le travail + const { data: travauxData, error: travauxError } = await supabase + .from('travaux') + .insert([payload]) + .select() + .single(); + + if (travauxError) { + return { data: null, error: travauxError }; + } + + // Ajouter les substitutions si fournies + if (substitutions && substitutions.length > 0) { + const substitutionsData = substitutions.map((horaireId, index) => ({ + travaux_id: travauxData.id, + horaire_id: horaireId, + ordre: index + })); + + const { error: subsError } = await supabase + .from('travaux_substitutions') + .insert(substitutionsData); + + if (subsError) { + console.error('Erreur lors de l\'ajout des substitutions:', subsError); + // On continue malgré l'erreur car le travail est créé + } + } + + return { data: travauxData, error: null }; + } catch (err) { + console.error('Erreur lors de la création du travail:', err); + return { data: null, error: err }; + } +} + +/** + * Met à jour un travail existant + * @param {string} id - ID du travail + * @param {Object} payload - Données à mettre à jour + * @param {Array} substitutions - Nouvelle liste des IDs d'horaires de substitution (remplace l'existante) + */ +export async function updateTravaux(id, payload, substitutions = null) { + if (!isSupabaseConfigured) { + return { data: null, error: new Error('Supabase non configuré') }; + } + + try { + // Mettre à jour le travail + const { data: travauxData, error: travauxError } = await supabase + .from('travaux') + .update(payload) + .eq('id', id) + .select() + .single(); + + if (travauxError) { + return { data: null, error: travauxError }; + } + + // Mettre à jour les substitutions si fournies + if (substitutions !== null) { + // Supprimer les anciennes substitutions + await supabase + .from('travaux_substitutions') + .delete() + .eq('travaux_id', id); + + // Ajouter les nouvelles substitutions + if (substitutions.length > 0) { + const substitutionsData = substitutions.map((horaireId, index) => ({ + travaux_id: id, + horaire_id: horaireId, + ordre: index + })); + + const { error: subsError } = await supabase + .from('travaux_substitutions') + .insert(substitutionsData); + + if (subsError) { + console.error('Erreur lors de la mise à jour des substitutions:', subsError); + } + } + } + + return { data: travauxData, error: null }; + } catch (err) { + console.error('Erreur lors de la mise à jour du travail:', err); + return { data: null, error: err }; + } +} + +/** + * Supprime un travail (hard delete) + */ +export async function deleteTravaux(id) { + if (!isSupabaseConfigured) { + return { data: { id }, error: null }; + } + + if (!id) { + return { data: null, error: { message: 'ID manquant' } }; + } + + try { + const { error } = await supabase + .from('travaux') + .delete() + .eq('id', id); + + if (error) { + return { data: null, error }; + } + + return { data: { id, deleted: true }, error: null }; + } catch (err) { + console.error('Erreur lors de la suppression du travail:', err); + return { data: null, error: err }; + } +} + +/** + * Récupère les horaires disponibles pour substitution + * (Horaires de substitutions actifs) + */ +export async function getHorairesSubstitution(searchQuery = '', regionId = null) { + if (!isSupabaseConfigured) { + return { data: [], error: null }; + } + + try { + let query = supabase + .from('horaires') + .select('*') + .eq('actif', true) + .eq('est_substitution', true) + .order('numero_train', { ascending: true }); + + if (regionId) { + query = query.or(`region_id.eq.${regionId},region_id.is.null`); + } + + // Ajouter le filtre de recherche si fourni + if (searchQuery) { + query = query.or(`numero_train.ilike.%${searchQuery}%,gare_depart_nom.ilike.%${searchQuery}%,gare_arrivee_nom.ilike.%${searchQuery}%,ligne_nom.ilike.%${searchQuery}%`); + } + + const { data, error } = await query; + + return { data: data || [], error }; + } catch (err) { + console.error('Erreur lors de la récupération des horaires de substitution:', err); + return { data: [], error: err }; + } +} + +/** + * Récupère les travaux actifs pour une période donnée + */ +export async function getTravauxActifs(dateDebut = null, dateFin = null) { + if (!isSupabaseConfigured) { + return { data: [], error: null }; + } + + try { + let query = supabase + .from('travaux') + .select('*') + .eq('actif', true); + + if (dateDebut) { + query = query.gte('date_fin', dateDebut); + } + + if (dateFin) { + query = query.lte('date_debut', dateFin); + } + + const { data, error } = await query.order('date_debut', { ascending: true }); + + return { data: data || [], error }; + } catch (err) { + console.error('Erreur lors de la récupération des travaux actifs:', err); + return { data: [], error: err }; + } +} + diff --git a/src/api/typesTrains.js b/src/api/typesTrains.js new file mode 100644 index 0000000..e4a3eff --- /dev/null +++ b/src/api/typesTrains.js @@ -0,0 +1,209 @@ +import supabase from '../supabaseClient'; + +/** + * API Types de Train - Gestion complète des types de train avec logos + */ + +// ============================================================================ +// LECTURE +// ============================================================================ + +/** + * Récupère tous les types de train + */ +export async function getAllTypesTrains() { + try { + const { data, error } = await supabase + .from('types_train') + .select('*') + .order('nom'); + + if (error) { + console.error('[API TypesTrain] getAllTypesTrains error:', error); + return { data: null, error }; + } + + return { data: data || [], error: null }; + } catch (err) { + console.error('[API TypesTrain] getAllTypesTrains exception:', err); + return { data: null, error: { message: 'Erreur lors du chargement des types de train' } }; + } +} + +/** + * Récupère un type de train par son ID + */ +export async function getTypeTrainById(id) { + if (!id) { + return { data: null, error: { message: 'ID du type de train manquant' } }; + } + + try { + const { data, error } = await supabase + .from('types_train') + .select('*') + .eq('id', id) + .single(); + + if (error) { + console.error('[API TypesTrain] getTypeTrainById error:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('[API TypesTrain] getTypeTrainById exception:', err); + return { data: null, error: { message: 'Erreur lors du chargement du type de train' } }; + } +} + +// ============================================================================ +// CRÉATION +// ============================================================================ + +/** + * Crée un nouveau type de train + */ +export async function createTypeTrain(data) { + if (!data.nom) { + return { data: null, error: { message: 'Le nom du type de train est requis' } }; + } + + try { + const payload = { + nom: data.nom, + code: data.code || data.nom.toUpperCase().substring(0, 10), + description: data.description || null, + logo_url: data.logo_url || null, + logo_color_url: data.logo_color_url || null, + couleur: data.couleur || null + }; + + const { data: result, error } = await supabase + .from('types_train') + .insert(payload) + .select() + .single(); + + if (error) { + console.error('[API TypesTrain] createTypeTrain error:', error); + return { data: null, error }; + } + + return { data: result, error: null }; + } catch (err) { + console.error('[API TypesTrain] createTypeTrain exception:', err); + return { data: null, error: { message: 'Erreur lors de la création du type de train' } }; + } +} + +// ============================================================================ +// MODIFICATION +// ============================================================================ + +/** + * Met à jour un type de train existant + */ +export async function updateTypeTrain(id, data) { + if (!id) { + return { data: null, error: { message: 'ID du type de train manquant' } }; + } + + if (!data.nom) { + return { data: null, error: { message: 'Le nom du type de train est requis' } }; + } + + try { + const payload = { + nom: data.nom, + code: data.code || data.nom.toUpperCase().substring(0, 10), + description: data.description || null, + logo_url: data.logo_url || null, + logo_color_url: data.logo_color_url || null, + couleur: data.couleur || null + }; + + const { data: result, error } = await supabase + .from('types_train') + .update(payload) + .eq('id', id) + .select() + .single(); + + if (error) { + console.error('[API TypesTrain] updateTypeTrain error:', error); + return { data: null, error }; + } + + return { data: result, error: null }; + } catch (err) { + console.error('[API TypesTrain] updateTypeTrain exception:', err); + return { data: null, error: { message: 'Erreur lors de la mise à jour du type de train' } }; + } +} + +// ============================================================================ +// SUPPRESSION +// ============================================================================ + +/** + * Supprime un type de train (hard delete) + */ +export async function deleteTypeTrain(id) { + if (!id) { + return { data: null, error: { message: 'ID du type de train manquant' } }; + } + + try { + const { error } = await supabase + .from('types_train') + .delete() + .eq('id', id); + + if (error) { + console.error('[API TypesTrain] deleteTypeTrain error:', error); + return { data: null, error }; + } + + return { data: { id, deleted: true }, error: null }; + } catch (err) { + console.error('[API TypesTrain] deleteTypeTrain exception:', err); + return { data: null, error: { message: 'Erreur lors de la suppression du type de train' } }; + } +} + +/** + * Upload d'un logo + */ +export async function uploadLogo(file, typeTrainId) { + if (!file) { + return { data: null, error: { message: 'Fichier manquant' } }; + } + + try { + const fileExt = file.name.split('.').pop(); + const fileName = `${typeTrainId || Date.now()}_${Date.now()}.${fileExt}`; + const filePath = `logos/${fileName}`; + + const { error: uploadError } = await supabase.storage + .from('public') + .upload(filePath, file, { + cacheControl: '3600', + upsert: false + }); + + if (uploadError) { + console.error('[API TypesTrain] uploadLogo error:', uploadError); + return { data: null, error: uploadError }; + } + + const { data: { publicUrl } } = supabase.storage + .from('public') + .getPublicUrl(filePath); + + return { data: { url: publicUrl, path: filePath }, error: null }; + } catch (err) { + console.error('[API TypesTrain] uploadLogo exception:', err); + return { data: null, error: { message: 'Erreur lors de l\'upload du logo' } }; + } +} diff --git a/src/api/utilisateurs/index.js b/src/api/utilisateurs/index.js new file mode 100644 index 0000000..1aa5315 --- /dev/null +++ b/src/api/utilisateurs/index.js @@ -0,0 +1,169 @@ +import supabase from '../../supabaseClient'; + +async function hashPasswordIfProvided(password) { + if (!password) return null; + const { hash } = await import('bcryptjs'); + // Le format bcrypt produit est compatible avec pgcrypto/crypt côté PostgreSQL. + return hash(password, 10); +} + +/** + * Récupérer tous les utilisateurs + */ +export async function getAllUtilisateurs() { + try { + const { data, error } = await supabase + .from('utilisateurs') + .select('*') + .order('created_at', { ascending: false }); + + if (error) { + console.error('Erreur getAllUtilisateurs:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('Exception getAllUtilisateurs:', err); + return { data: null, error: err }; + } +} + +/** + * Créer un utilisateur + */ +export async function createUtilisateur(userData) { + try { + // Validation côté client + if (!userData.email || !userData.email.trim()) { + return { data: null, error: { message: 'L\'email est requis' } }; + } + if (!userData.nom || !userData.nom.trim()) { + return { data: null, error: { message: 'Le nom est requis' } }; + } + if (!userData.prenom || !userData.prenom.trim()) { + return { data: null, error: { message: 'Le prénom est requis' } }; + } + + const passwordHash = await hashPasswordIfProvided(userData.password); + + // Construire le payload avec les champs compatibles DB + const payload = { + email: userData.email.trim().toLowerCase(), + nom: userData.nom.trim(), + prenom: userData.prenom.trim(), + role: userData.role || 'utilisateur', + actif: userData.actif !== false, + password_hash: passwordHash, + photo_url: userData.photo_url || null, + region_admin: userData.region_admin === true, + region_id: userData.region_id || null, + region_nom: userData.region_nom || null, + permissions: (userData.permissions && typeof userData.permissions === 'object') ? userData.permissions : {}, + created_at: new Date().toISOString() + }; + + const { data, error } = await supabase + .from('utilisateurs') + .insert([payload]) + .select() + .single(); + + if (error) { + // Gestion spécifique des erreurs d'unicité d'email + console.error('Erreur createUtilisateur:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('Exception createUtilisateur:', err); + return { data: null, error: err }; + } +} + +/** + * Mettre à jour un utilisateur + */ +export async function updateUtilisateur(id, userData) { + try { + if (!id) { + return { data: null, error: { message: 'ID utilisateur manquant' } }; + } + + // Validation côté client + if (!userData.email || !userData.email.trim()) { + return { data: null, error: { message: 'L\'email est requis' } }; + } + if (!userData.nom || !userData.nom.trim()) { + return { data: null, error: { message: 'Le nom est requis' } }; + } + if (!userData.prenom || !userData.prenom.trim()) { + return { data: null, error: { message: 'Le prénom est requis' } }; + } + + const passwordHash = await hashPasswordIfProvided(userData.password); + + const payload = { + email: userData.email.trim().toLowerCase(), + nom: userData.nom.trim(), + prenom: userData.prenom.trim(), + role: userData.role || 'utilisateur', + actif: userData.actif !== false, + // Ne pas écraser le hash si aucun mot de passe n'est fourni. + ...(passwordHash ? { password_hash: passwordHash } : {}), + photo_url: typeof userData.photo_url !== 'undefined' ? userData.photo_url : null, + region_admin: userData.region_admin === true, + region_id: userData.region_id || null, + region_nom: userData.region_nom || null, + ...(typeof userData.permissions !== 'undefined' + ? { permissions: (userData.permissions && typeof userData.permissions === 'object') ? userData.permissions : {} } + : {}), + updated_at: new Date().toISOString() + }; + + const { data, error } = await supabase + .from('utilisateurs') + .update(payload) + .eq('id', id) + .select() + .single(); + + if (error) { + console.error('Erreur updateUtilisateur:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('Exception updateUtilisateur:', err); + return { data: null, error: err }; + } +} + +/** + * Supprimer un utilisateur + */ +export async function deleteUtilisateur(id) { + try { + if (!id) { + return { data: null, error: { message: 'ID utilisateur manquant' } }; + } + + const { data, error } = await supabase + .from('utilisateurs') + .delete() + .eq('id', id); + + if (error) { + console.error('Erreur deleteUtilisateur:', error); + return { data: null, error }; + } + + return { data, error: null }; + } catch (err) { + console.error('Exception deleteUtilisateur:', err); + return { data: null, error: err }; + } +} + diff --git a/src/components/GareModal/GareModal.css b/src/components/GareModal/GareModal.css new file mode 100644 index 0000000..e69de29 diff --git a/src/components/HoraireModal/CirculationCalendar.css b/src/components/HoraireModal/CirculationCalendar.css new file mode 100644 index 0000000..4cc20a7 --- /dev/null +++ b/src/components/HoraireModal/CirculationCalendar.css @@ -0,0 +1,193 @@ +.circulation-calendar-container { + display: flex; + flex-direction: column; + height: 100%; + max-height: 65vh; + gap: 16px; +} + +.cal-templates { + display: flex; + flex-wrap: wrap; + gap: 8px; + align-items: center; + padding: 12px; + background: #f9fafb; + border-radius: 8px; + border: 1px solid #e5e7eb; +} + +.cal-templates-label { + font-weight: 600; + font-size: 14px; + color: #374151; + margin-right: 8px; +} + +.cal-tpl-btn { + padding: 8px 12px; + border: 1px solid #d1d5db; + border-radius: 6px; + background: #fff; + cursor: pointer; + font-size: 13px; + font-weight: 500; + color: #4b5563; + transition: all 0.2s; +} + +.cal-tpl-btn:hover { + background: #f3f4f6; + border-color: #9ca3af; +} + +.cal-tpl-btn.danger { + color: #dc2626; + border-color: #fca5a5; + background: #fef2f2; +} + +.cal-tpl-btn.danger:hover { + background: #fee2e2; + border-color: #f87171; +} + +.cal-scroll-area { + flex: 1; + overflow-y: auto; + padding: 16px; + border: 1px solid #e5e7eb; + border-radius: 8px; + background: #fff; + display: flex; + flex-direction: column; + gap: 32px; + /* Scrollbar styling */ + scrollbar-width: thin; + scrollbar-color: #cbd5e1 transparent; +} + +.cal-scroll-area::-webkit-scrollbar { + width: 8px; +} +.cal-scroll-area::-webkit-scrollbar-track { + background: transparent; +} +.cal-scroll-area::-webkit-scrollbar-thumb { + background-color: #cbd5e1; + border-radius: 4px; +} + +.cal-month-block { + display: flex; + flex-direction: column; + gap: 12px; +} + +.cal-month-title { + margin: 0; + font-size: 16px; + font-weight: 700; + color: #111827; + border-bottom: 2px solid #f3f4f6; + padding-bottom: 8px; +} + +.cal-grid { + display: grid; + grid-template-columns: repeat(7, 1fr); + gap: 4px; +} + +.cal-header { + text-align: center; + font-size: 12px; + font-weight: 600; + color: #6b7280; + padding: 8px 0; + text-transform: uppercase; +} + +.cal-day { + aspect-ratio: 1; + border: 1px solid #e5e7eb; + border-radius: 6px; + background: #fff; + display: flex; + align-items: center; + justify-content: center; + font-size: 14px; + font-weight: 500; + color: #374151; + cursor: pointer; + transition: all 0.15s; + padding: 0; +} + +.cal-day:not(.disabled):not(.empty):hover { + border-color: #0088ce; + box-shadow: 0 0 0 1px #0088ce; + z-index: 1; +} + +.cal-day.empty { + background: transparent; + border: none; + pointer-events: none; +} + +.cal-day.disabled { + background: #f9fafb; + color: #d1d5db; + cursor: not-allowed; + border-color: #f3f4f6; +} + +.cal-day.weekend { + background: #fdfbf7; + color: #92400e; +} + +.cal-day.ferie { + background: #fef2f2; + color: #b91c1c; + border-color: #fecaca; + font-weight: 700; +} + +.cal-day.selected { + background: #0088ce !important; + color: #fff !important; + border-color: #0088ce !important; + box-shadow: 0 4px 6px -1px rgba(0, 136, 206, 0.2); + transform: scale(1.05); + z-index: 2; +} + +.cal-legend { + display: flex; + gap: 16px; + padding: 12px; + background: #f9fafb; + border-radius: 8px; + border: 1px solid #e5e7eb; + justify-content: center; + flex-wrap: wrap; +} + +.cal-legend-item { + display: flex; + align-items: center; + gap: 8px; + font-size: 13px; + color: #4b5563; +} + +.cal-day.mini { + width: 16px; + height: 16px; + border-radius: 4px; + aspect-ratio: auto; + transform: none !important; + cursor: default; +} diff --git a/src/components/HoraireModal/CirculationCalendar.jsx b/src/components/HoraireModal/CirculationCalendar.jsx new file mode 100644 index 0000000..9004f7c --- /dev/null +++ b/src/components/HoraireModal/CirculationCalendar.jsx @@ -0,0 +1,262 @@ +import React, { useMemo } from 'react'; +import './CirculationCalendar.css'; + +// --- Utilitaire pour les jours fériés français --- +const getJoursFeriesForYear = (annee) => { + const pad = (n) => n.toString().padStart(2, '0'); + const feries = [ + `${annee}-01-01`, // Jour de l'An + `${annee}-05-01`, // Fête du Travail + `${annee}-05-08`, // Victoire 1945 + `${annee}-07-14`, // Fête Nationale + `${annee}-08-15`, // Assomption + `${annee}-11-01`, // Toussaint + `${annee}-11-11`, // Armistice 1918 + `${annee}-12-25`, // Noël + ]; + + // Algorithme de Meeus/Jones/Butcher pour Pâques + const a = annee % 19; + const b = Math.floor(annee / 100); + const c = annee % 100; + const d = Math.floor(b / 4); + const e = b % 4; + const f = Math.floor((b + 8) / 25); + const g = Math.floor((b - f + 1) / 3); + const h = (19 * a + b - d - g + 15) % 30; + const i = Math.floor(c / 4); + const k = c % 4; + const l = (32 + 2 * e + 2 * i - h - k) % 7; + const m = Math.floor((a + 11 * h + 22 * l) / 451); + const moisPaques = Math.floor((h + l - 7 * m + 114) / 31); + const jourPaques = ((h + l - 7 * m + 114) % 31) + 1; + + const paques = new Date(Date.UTC(annee, moisPaques - 1, jourPaques)); + + const lundiPaques = new Date(paques); + lundiPaques.setUTCDate(paques.getUTCDate() + 1); + + const ascension = new Date(paques); + ascension.setUTCDate(paques.getUTCDate() + 39); + + const lundiPentecote = new Date(paques); + lundiPentecote.setUTCDate(paques.getUTCDate() + 50); + + feries.push(`${annee}-${pad(lundiPaques.getUTCMonth() + 1)}-${pad(lundiPaques.getUTCDate())}`); + feries.push(`${annee}-${pad(ascension.getUTCMonth() + 1)}-${pad(ascension.getUTCDate())}`); + feries.push(`${annee}-${pad(lundiPentecote.getUTCMonth() + 1)}-${pad(lundiPentecote.getUTCDate())}`); + + return feries; +}; + +const getAllJoursFeries = (startYear, endYear) => { + let feries = new Set(); + for (let y = startYear; y <= endYear; y++) { + getJoursFeriesForYear(y).forEach(d => feries.add(d)); + } + return feries; +}; + +export default function CirculationCalendar({ serviceAnnuel, selectedDays, onChange }) { + // Définir la plage de dates + const dateRange = useMemo(() => { + if (serviceAnnuel && serviceAnnuel.date_debut && serviceAnnuel.date_fin) { + return { + start: new Date(serviceAnnuel.date_debut), + end: new Date(serviceAnnuel.date_fin) + }; + } + // Par défaut, année en cours + const currentYear = new Date().getFullYear(); + return { + start: new Date(`${currentYear}-01-01`), + end: new Date(`${currentYear}-12-31`) + }; + }, [serviceAnnuel]); + + const joursFeries = useMemo(() => { + return getAllJoursFeries(dateRange.start.getFullYear(), dateRange.end.getFullYear()); + }, [dateRange]); + + const months = useMemo(() => { + const res = []; + const current = new Date(dateRange.start); + current.setDate(1); // Début du mois + const end = new Date(dateRange.end); + + while (current <= end || (current.getFullYear() === end.getFullYear() && current.getMonth() === end.getMonth())) { + res.push(new Date(current)); + current.setMonth(current.getMonth() + 1); + } + return res; + }, [dateRange]); + + const applyTemplate = (templateName) => { + const newSelected = new Set(selectedDays); + const current = new Date(dateRange.start); + const end = new Date(dateRange.end); + + const pad = (n) => n.toString().padStart(2, '0'); + + // On efface d'abord tout ce qui est dans l'intervalle pour appliquer le nouveau template proprement + while (current <= end) { + const dateStr = `${current.getFullYear()}-${pad(current.getMonth() + 1)}-${pad(current.getDate())}`; + newSelected.delete(dateStr); + current.setDate(current.getDate() + 1); + } + + // Réinitialise "current" + current.setTime(dateRange.start.getTime()); + + while (current <= end) { + const dateStr = `${current.getFullYear()}-${pad(current.getMonth() + 1)}-${pad(current.getDate())}`; + const dayOfWeek = current.getDay(); // 0 = Dimanche, 1 = Lundi, ..., 6 = Samedi + const isFerie = joursFeries.has(dateStr); + + let add = false; + switch (templateName) { + case 'lun-ven': + add = dayOfWeek >= 1 && dayOfWeek <= 5; + break; + case 'sam': + add = dayOfWeek === 6; + break; + case 'dim': + add = dayOfWeek === 0; + break; + case 'dim-feries': + add = dayOfWeek === 0 || isFerie; + break; + case 'sauf-sam': + add = dayOfWeek !== 6; + break; + case 'sauf-dim': + add = dayOfWeek !== 0; + break; + case 'tous': + add = true; + break; + case 'aucun': + add = false; + break; + default: + break; + } + + if (add) { + newSelected.add(dateStr); + } + current.setDate(current.getDate() + 1); + } + + onChange(newSelected, templateName); // On passe aussi le template choisi au parent si besoin + }; + + const toggleDate = (dateStr) => { + const newSelected = new Set(selectedDays); + if (newSelected.has(dateStr)) { + newSelected.delete(dateStr); + } else { + newSelected.add(dateStr); + } + onChange(newSelected, 'custom'); + }; + + // Rendu d'un mois + const renderMonth = (monthDate) => { + const year = monthDate.getFullYear(); + const monthIndex = monthDate.getMonth(); + + // Titre du mois + const monthName = monthDate.toLocaleDateString('fr-FR', { month: 'long', year: 'numeric' }); + + // Début et fin du mois + const firstDay = new Date(year, monthIndex, 1); + const lastDay = new Date(year, monthIndex + 1, 0); + + // Jour de la semaine du premier jour (1 = Lundi, 7 = Dimanche) + let startDayOfWeek = firstDay.getDay(); + if (startDayOfWeek === 0) startDayOfWeek = 7; + + const daysInMonth = lastDay.getDate(); + const pad = (n) => n.toString().padStart(2, '0'); + + const blanks = Array.from({ length: startDayOfWeek - 1 }).map((_, i) => ( +
+ )); + + const days = Array.from({ length: daysInMonth }).map((_, i) => { + const d = i + 1; + const dateStr = `${year}-${pad(monthIndex + 1)}-${pad(d)}`; + const currentDate = new Date(year, monthIndex, d); + + const isOutOfRange = currentDate < dateRange.start || currentDate > dateRange.end; + const isSelected = selectedDays.has(dateStr); + const isFerie = joursFeries.has(dateStr); + const isWeekend = currentDate.getDay() === 0 || currentDate.getDay() === 6; + + let classes = "cal-day"; + if (isSelected) classes += " selected"; + if (isOutOfRange) classes += " disabled"; + if (isFerie && !isOutOfRange) classes += " ferie"; + if (isWeekend && !isOutOfRange && !isFerie) classes += " weekend"; + + return ( + + ); + }); + + return ( +
+

{monthName.charAt(0).toUpperCase() + monthName.slice(1)}

+
+
Lun
+
Mar
+
Mer
+
Jeu
+
Ven
+
Sam
+
Dim
+ {blanks} + {days} +
+
+ ); + }; + + return ( +
+
+ Sélection rapide : + + + + + + + + +
+ +
+ {months.map(renderMonth)} +
+ +
+
Sélectionné
+
Jour férié
+
Week-end
+
Hors service annuel
+
+
+ ); +} diff --git a/src/components/HoraireModal/HoraireModal.jsx b/src/components/HoraireModal/HoraireModal.jsx new file mode 100644 index 0000000..996a2e3 --- /dev/null +++ b/src/components/HoraireModal/HoraireModal.jsx @@ -0,0 +1,812 @@ +import React, { useState, useEffect, useCallback } from 'react'; +import { createHoraire, updateHoraire } from '../../api/horaires'; +import CirculationCalendar from './CirculationCalendar'; + +export default function HoraireModal({ + initialData, + isDuplicating, + onClose, + onSaveSuccess, + lignes = [], + materiels = [], + typesTrainsList = [], + allGares = [], + servicesAnnuels = [], + horaires = [], + currentUser, + canCreateHoraires, + canUpdateHoraires, + onSaveOverride +}) { + const [saving, setSaving] = useState(false); + const [estSubstitution, setEstSubstitution] = useState(false); + const [motifSubstitution, setMotifSubstitution] = useState(''); + + const clearDuplicatedHoraire = () => {}; + const setIsDuplicating = () => {}; + + const [formError, setFormError] = useState(''); + const [activeTab, setActiveTab] = useState('general'); + const [gareSuggestionsOpenFor, setGareSuggestionsOpenFor] = useState(null); + const [editingItem, setEditingItem] = useState(null); + const [periodesCirculationPerso, setPeriodesCirculationPerso] = useState([]); + const [garesList, setGaresList] = useState(allGares || []); + +// Champs formulaire + const [numeroTrain, setNumeroTrain] = useState(''); + const [typeTrainId, setTypeTrainId] = useState(''); + const [typeTrainNom, setTypeTrainNom] = useState(''); + const [ligne, setLigne] = useState(''); + const [serviceAnnuelId, setServiceAnnuelId] = useState(''); + const [serviceAnnuelNom, setServiceAnnuelNom] = useState(''); + + // gare départ / arrivée stockent id + nom pour affichage + const [gareDepartId, setGareDepartId] = useState(''); + const [gareDepartNom, setGareDepartNom] = useState(''); + const [heureDepart, setHeureDepart] = useState(''); + + const [gareArriveeId, setGareArriveeId] = useState(''); + const [gareArriveeNom, setGareArriveeNom] = useState(''); + const [heureArrivee, setHeureArrivee] = useState(''); + + const [garesDesservies, setGaresDesservies] = useState([]); + + // jours + const [circuleLundi, setCirculeLundi] = useState(true); + const [circuleMardi, setCirculeMardi] = useState(true); + const [circuleMercredi, setCirculeMercredi] = useState(true); + const [circuleJeudi, setCirculeJeudi] = useState(true); + const [circuleVendredi, setCirculeVendredi] = useState(true); + const [circuleSamedi, setCirculeSamedi] = useState(true); + const [circuleDimanche, setCirculeDimanche] = useState(true); + const [circuleJoursFeries, setCirculeJoursFeries] = useState(false); + const [circuleDimanchesFeries, setCirculeDimanchesFeries] = useState(false); + const [joursNonCirculation, setJoursNonCirculation] = useState([]); + // Périodes de circulation/non-circulation : [{debut: 'YYYY-MM-DD', fin: 'YYYY-MM-DD', circule: true/false}] + const [periodesCirculation, setPeriodesCirculation] = useState([]); + const [selectedDatesSet, setSelectedDatesSet] = useState(new Set()); + + // matériel + const [materielRoulantId, setMaterielRoulantId] = useState(null); + // composition de train : [{id: uid_local, materiel_id, materiel_nom, materiel_nom_technique, materiel_image_url, position}] + const [compositionTrain, setCompositionTrain] = useState([]); + // drag & drop composition + const [dragOverIndex, setDragOverIndex] = useState(null); + + // Substitution + + + const formatDate = (d) => d ? new Date(d).toLocaleDateString('fr-FR') : ''; + + const resetForm = useCallback(() => { + setNumeroTrain(''); + setTypeTrainId(''); setTypeTrainNom(''); + setLigne(''); + setGareDepartId(''); setGareDepartNom(''); setHeureDepart(''); + setGareArriveeId(''); setGareArriveeNom(''); setHeureArrivee(''); + setGaresDesservies([]); + setCirculeLundi(true); setCirculeMardi(true); setCirculeMercredi(true); + setCirculeJeudi(true); setCirculeVendredi(true); setCirculeSamedi(true); setCirculeDimanche(true); + setCirculeJoursFeries(false); setCirculeDimanchesFeries(false); + setJoursNonCirculation([]); + setSelectedDatesSet(new Set()); + setMaterielRoulantId(null); + setCompositionTrain([]); + setDragOverIndex(null); + setEstSubstitution(false); setMotifSubstitution(''); + setServiceAnnuelId(''); setServiceAnnuelNom(''); + setFormError(''); setActiveTab('general'); + // NB: ne pas modifier l'état `showModal` ici : resetForm ne doit pas ouvrir/fermer la modale + setIsDuplicating(false); + }, []); + + useEffect(() => { + setGaresList(allGares || []); + }, [allGares]); + + useEffect(() => { + if (initialData) { + setEditingItem(initialData); + setNumeroTrain(initialData.numero_train || ''); + const ttNom = (typeof initialData.type_train === 'object' && initialData.type_train !== null) ? (initialData.type_train.nom || '') : (initialData.type_train || ''); + const ttId = initialData.type_train_id || (typesTrainsList.find(t => t.nom === ttNom)?.id || ''); + setTypeTrainId(String(ttId)); + setTypeTrainNom(ttNom); + setLigne(initialData.ligne_id || initialData.ligne || ''); + setGareDepartId(initialData.gare_depart_id || ''); setGareDepartNom(initialData.gare_depart_nom || ''); + setHeureDepart(initialData.heure_depart || ''); + setGareArriveeId(initialData.gare_arrivee_id || ''); setGareArriveeNom(initialData.gare_arrivee_nom || ''); + setHeureArrivee(initialData.heure_arrivee || ''); + + let inter = []; + if (Array.isArray(initialData.gares_desservies)) { + const sorted = [...initialData.gares_desservies].sort((a, b) => (a.ordre || 0) - (b.ordre || 0)); + if (sorted.some(g => g.is_depart !== undefined || g.is_arrivee !== undefined)) { + inter = sorted.filter(g => !g.is_depart && !g.is_arrivee); + } else { + const dNom = (initialData.gare_depart_nom || '').trim().toLowerCase(); + const dId = initialData.gare_depart_id ? String(initialData.gare_depart_id) : null; + const aNom = (initialData.gare_arrivee_nom || '').trim().toLowerCase(); + const aId = initialData.gare_arrivee_id ? String(initialData.gare_arrivee_id) : null; + + let temp = [...sorted]; + // Strip all leading departure stops + while (temp.length > 0) { + const f = temp[0]; + const fNom = (f.gare_nom || '').trim().toLowerCase(); + const fId = f.gare_id ? String(f.gare_id) : null; + if ((dId && fId === dId) || (dNom && fNom === dNom)) { + temp.shift(); + } else { + break; + } + } + // Strip all trailing arrival stops + while (temp.length > 0) { + const l = temp[temp.length - 1]; + const lNom = (l.gare_nom || '').trim().toLowerCase(); + const lId = l.gare_id ? String(l.gare_id) : null; + if ((aId && lId === aId) || (aNom && lNom === aNom)) { + temp.pop(); + } else { + break; + } + } + inter = temp; + } + } + setGaresDesservies(inter); + + setCirculeLundi(initialData.circule_lundi ?? true); + setCirculeMardi(initialData.circule_mardi ?? true); + setCirculeMercredi(initialData.circule_mercredi ?? true); + setCirculeJeudi(initialData.circule_jeudi ?? true); + setCirculeVendredi(initialData.circule_vendredi ?? true); + setCirculeSamedi(initialData.circule_samedi ?? true); + setCirculeDimanche(initialData.circule_dimanche ?? true); + setCirculeJoursFeries(initialData.circule_jours_feries ?? false); + setCirculeDimanchesFeries(initialData.circule_dimanches_feries ?? false); + setJoursNonCirculation(initialData.jours_non_circulation || []); + + const newSelectedSet = new Set(); + if (Array.isArray(initialData.jours_personnalises)) { + initialData.jours_personnalises.forEach(j => { + if (j && j.date && j.circule !== false) { + newSelectedSet.add(j.date); + } + }); + } + setSelectedDatesSet(newSelectedSet); + + setPeriodesCirculationPerso( + Array.isArray(initialData.jours_personnalises) + ? initialData.jours_personnalises.filter(j => j && j.debut && j.fin).map(j => ({ debut: j.debut, fin: j.fin, circule: j.circule })) + : [] + ); + setMaterielRoulantId(initialData.materiel_roulant_id || null); + setCompositionTrain(Array.isArray(initialData.composition_train) ? initialData.composition_train : []); + setDragOverIndex(null); + setEstSubstitution(initialData.est_substitution ?? false); + setMotifSubstitution(initialData.motif_substitution || ''); + setServiceAnnuelId(initialData.service_annuel_id || (initialData.service_annuel? initialData.service_annuel.id : '') || ''); + setServiceAnnuelNom(initialData.service_annuel?.nom || initialData.service_annuel_nom || ''); + setPeriodesCirculation(initialData.periodes_circulation || []); + } else { + resetForm(); + } + }, [initialData, typesTrainsList, resetForm]); + + const closeModal = () => { + resetForm(); + onClose(); + }; + +const getMatchingGares = useCallback((query) => { + const value = String(query || '').trim().toLowerCase(); + if (!value || value.length < 2) return []; + return (garesList || []) + .filter(g => String(g?.nom || '').toLowerCase().includes(value)) + .slice(0, 8); + }, [garesList]); + + + +const findGareFromSearch = useCallback((query) => { + const value = String(query || '').trim(); + if (!value) return null; + const lower = value.toLowerCase(); + return garesList.find(g => String(g.id) === value || String(g.nom || '').toLowerCase() === lower) || null; + }, [garesList]); + +const applyMainGareSelection = useCallback((value, setId, setNom) => { + const selected = findGareFromSearch(value); + if (selected) { + setId(String(selected.id)); + setNom(selected.nom || ''); + return; + } + setId(''); + setNom(value || ''); + }, [findGareFromSearch]); + +const addGareDesservie = useCallback(() => { + setGaresDesservies(prev => ([...prev, { id: `new-${Date.now()}`, gare_id: '', gare_nom: '', heure_arrivee: '', heure_depart: '', ordre: prev.length + 1 }])); + }, []); + +const removeGareDesservie = useCallback((index) => { + setGaresDesservies(prev => { + const filtered = prev.filter((_, i) => i !== index); + return filtered.map((g, i) => ({ ...g, ordre: i + 1 })); + }); + }, []); + +const moveGareUp = useCallback((index) => { + if (index === 0) return; + setGaresDesservies(prev => { + const copy = [...prev]; + const [moved] = copy.splice(index, 1); + copy.splice(index - 1, 0, moved); + return copy.map((g, i) => ({ ...g, ordre: i + 1 })); + }); + }, []); + +const moveGareDown = useCallback((index) => { + setGaresDesservies(prev => { + if (index === prev.length - 1) return prev; + const copy = [...prev]; + const [moved] = copy.splice(index, 1); + copy.splice(index + 1, 0, moved); + return copy.map((g, i) => ({ ...g, ordre: i + 1 })); + }); + }, []); + +const updateGareDesservieField = useCallback((index, field, value) => { + setGaresDesservies(prev => { + const copy = [...prev]; + copy[index] = { ...copy[index], [field]: value }; + return copy; + }); + }, []); + +const handleCalendarChange = useCallback((newSet, templateName) => { + setSelectedDatesSet(newSet); + if (templateName && templateName !== 'custom') { + setCirculeLundi(templateName === 'lun-ven' || templateName === 'tous' || templateName === 'sauf-sam' || templateName === 'sauf-dim'); + setCirculeMardi(templateName === 'lun-ven' || templateName === 'tous' || templateName === 'sauf-sam' || templateName === 'sauf-dim'); + setCirculeMercredi(templateName === 'lun-ven' || templateName === 'tous' || templateName === 'sauf-sam' || templateName === 'sauf-dim'); + setCirculeJeudi(templateName === 'lun-ven' || templateName === 'tous' || templateName === 'sauf-sam' || templateName === 'sauf-dim'); + setCirculeVendredi(templateName === 'lun-ven' || templateName === 'tous' || templateName === 'sauf-sam' || templateName === 'sauf-dim'); + setCirculeSamedi(templateName === 'sam' || templateName === 'tous' || templateName === 'sauf-dim'); + setCirculeDimanche(templateName === 'dim' || templateName === 'dim-feries' || templateName === 'tous' || templateName === 'sauf-sam'); + setCirculeJoursFeries(templateName === 'dim-feries' || templateName === 'tous'); + } +}, []); + +const handleSave = async () => { + if (!editingItem && !canCreateHoraires) return setFormError('Vous n\'avez pas les droits pour créer un horaire.'); + if (editingItem && !canUpdateHoraires) return setFormError('Vous n\'avez pas les droits pour modifier un horaire.'); + setFormError(''); + if (!numeroTrain) return setFormError('Le numéro de train est requis.'); + if (!gareDepartId || !gareArriveeId) return setFormError('Les gares de départ et d\'arrivée sont requises.'); + if (!heureDepart || !heureArrivee) return setFormError('Les heures de départ et d\'arrivée sont requises.'); + + setSaving(true); + const selLigne = lignes.find(ll => String(ll.id) === String(ligne)); + const payload = { + numero_train: numeroTrain, + type_train_id: typeTrainId || null, + type_train: typeTrainNom, + ligne_id: ligne || null, + ligne_nom: selLigne ? selLigne.nom : (typeof ligne === 'string' ? ligne : null), + gare_depart_id: gareDepartId, + gare_depart_nom: gareDepartNom, + heure_depart: heureDepart, + gare_arrivee_id: gareArriveeId, + gare_arrivee_nom: gareArriveeNom, + heure_arrivee: heureArrivee, + circule_lundi: circuleLundi, + circule_mardi: circuleMardi, + circule_mercredi: circuleMercredi, + circule_jeudi: circuleJeudi, + circule_vendredi: circuleVendredi, + circule_samedi: circuleSamedi, + circule_dimanche: circuleDimanche, + circule_jours_feries: circuleJoursFeries, + circule_dimanches_feries: circuleDimanchesFeries, + jours_non_circulation: joursNonCirculation, + // Fusionne jours uniques et périodes dans jours_personnalises + jours_personnalises: [ + // On récupère tous les jours depuis le composant CirculationCalendar + ...Array.from(selectedDatesSet).map(date => ({ date, circule: true })), + + // Périodes générales (format {debut, fin, circule}) + ...( + Array.isArray(periodesCirculation) + ? periodesCirculation.filter(p => p && p.debut && p.fin && p.debut <= p.fin).map(p => ({ debut: p.debut, fin: p.fin, circule: p.circule })) + : [] + ), + // Périodes personnalisées (format {debut, fin, circule}) + ...( + Array.isArray(periodesCirculationPerso) + ? periodesCirculationPerso.filter(p => p && p.debut && p.fin && p.debut <= p.fin).map(p => ({ debut: p.debut, fin: p.fin, circule: p.circule })) + : [] + ) + ], + materiel_roulant_id: materielRoulantId || null, + composition_train: compositionTrain.map((item, idx) => ({ + materiel_id: item.materiel_id, + materiel_nom: item.materiel_nom || '', + materiel_nom_technique: item.materiel_nom_technique || '', + materiel_image_url: item.materiel_image_url || null, + position: idx + 1 + })), + est_substitution: estSubstitution, + motif_substitution: estSubstitution ? motifSubstitution : null, + service_annuel_id: serviceAnnuelId || null, + service_annuel_nom: serviceAnnuelNom || null, + actif: true + }; + + // ── Mode import Excel : bypasser l'API Supabase ── + if (typeof onSaveOverride === 'function') { + onSaveOverride(payload, garesDesservies); + setSaving(false); + return; + } + + try { + let res; + if (editingItem && editingItem.id) { + // Update existing + res = await updateHoraire(editingItem.id, payload, garesDesservies); + } else { + // Create new + // `garesClean` n'existe pas — utiliser `garesDesservies` qui contient la liste des gares saisies + res = await createHoraire(payload, garesDesservies, currentUser); + } + + if (res?.error) { + setFormError(res.error.message || 'Erreur lors de la sauvegarde'); + setSaving(false); + return; + } + + // Si c'était une duplication, nettoyer le LocalStorage + if (isDuplicating) { + clearDuplicatedHoraire(); + } + + + setSaving(false); + onSaveSuccess(res); onClose(); + } catch (err) { + console.error(err); + setFormError('Erreur inattendue lors de la sauvegarde'); + setSaving(false); + } + } + + const INP = { width: '100%', padding: '9px 12px', border: '1px solid #d1d5db', borderRadius: 6, fontSize: 14, boxSizing: 'border-box', outline: 'none', fontFamily: 'inherit' }; + const LBL = { display: 'block', fontWeight: 600, fontSize: 13, color: '#374151', marginBottom: 6 }; + const SEC = { fontSize: 13, fontWeight: 700, color: '#374151', textTransform: 'uppercase', letterSpacing: '0.06em', margin: '20px 0 12px', paddingBottom: 6, borderBottom: '1px solid #e5e7eb' }; + const TABS = ['general', 'gares', 'jours', 'materiel', 'substitution']; + const TAB_LABELS = { general: 'Général', gares: 'Gares desservies', jours: 'Calendrier de circulation', materiel: 'Matériel roulant', substitution: 'Substitution' }; + + return ( +
+
e.stopPropagation()} + style={{ maxWidth: 900, display: 'flex', flexDirection: 'column', maxHeight: '92vh' }} + > + {/* ── Header ── */} +
+

+ {isDuplicating ? '📋 Dupliquer l\'horaire' : editingItem ? ' Modifier l\'horaire' : 'Nouvel horaire'} +

+ +
+ + {/* ── Tabs ── */} +
+ {TABS.map(t => ( + + ))} +
+ + {/* ── Body (scrollable) ── */} +
+ {formError && ( +
+ ⚠️ {formError} +
+ )} + + {/* ══ TAB GÉNÉRAL ══ */} + {activeTab === 'general' && ( +
+
+
+ + setNumeroTrain(e.target.value)} placeholder="Ex: TER 12345" /> +
+
+ + + {typeTrainNom && ( +
✓ {typeTrainNom}
+ )} +
+
+ +
+
+ + +
+
+ + +
+
+ +

Trajet

+ +
+
+ +
+ setGareSuggestionsOpenFor('depart')} + onBlur={() => setTimeout(() => setGareSuggestionsOpenFor(prev => prev === 'depart' ? null : prev), 120)} + onChange={e => applyMainGareSelection(e.target.value, setGareDepartId, setGareDepartNom)} + placeholder="Rechercher une gare..." + /> + {gareSuggestionsOpenFor === 'depart' && getMatchingGares(gareDepartNom).length > 0 && ( +
+ {getMatchingGares(gareDepartNom).map(g => ( + + ))} +
+ )} +
+
+
+ + setHeureDepart(e.target.value)} /> +
+
+ +
+
+ +
+ setGareSuggestionsOpenFor('arrivee')} + onBlur={() => setTimeout(() => setGareSuggestionsOpenFor(prev => prev === 'arrivee' ? null : prev), 120)} + onChange={e => applyMainGareSelection(e.target.value, setGareArriveeId, setGareArriveeNom)} + placeholder="Rechercher une gare..." + /> + {gareSuggestionsOpenFor === 'arrivee' && getMatchingGares(gareArriveeNom).length > 0 && ( +
+ {getMatchingGares(gareArriveeNom).map(g => ( + + ))} +
+ )} +
+
+
+ + setHeureArrivee(e.target.value)} /> +
+
+
+ )} + + {/* ══ TAB GARES DESSERVIES ══ */} + {activeTab === 'gares' && ( +
+

+ Ajoutez les gares intermédiaires desservies, dans l'ordre du parcours. +

+ {garesDesservies.length === 0 ? ( +
+
🚉
+

Aucune gare desservie — trajet direct

+
+ ) : garesDesservies.map((g, idx) => ( +
+
+ + +
+
+
+ +
+ setGareSuggestionsOpenFor(`desservie-${idx}`)} + onBlur={() => setTimeout(() => setGareSuggestionsOpenFor(prev => prev === `desservie-${idx}` ? null : prev), 120)} + onChange={e => { + const value = e.target.value; + const sel = findGareFromSearch(value); + updateGareDesservieField(idx, 'gare_nom', value); + updateGareDesservieField(idx, 'gare_id', sel ? String(sel.id) : ''); + }} + placeholder="Rechercher une gare..." + /> + {gareSuggestionsOpenFor === `desservie-${idx}` && getMatchingGares(g.gare_nom).length > 0 && ( +
+ {getMatchingGares(g.gare_nom).map(x => ( + + ))} +
+ )} +
+
+
+ + updateGareDesservieField(idx, 'heure_arrivee', e.target.value)} /> +
+
+ + updateGareDesservieField(idx, 'heure_depart', e.target.value)} /> +
+ +
+
+ ))} + +
+ )} + + {/* ══ TAB JOURS ══ */} + {activeTab === 'jours' && ( +
+

+ Sélectionnez les jours de circulation. Les jours sélectionnés seront sauvegardés individuellement dans ce service annuel. +

+
+ String(s.id) === String(serviceAnnuelId))} + selectedDays={selectedDatesSet} + onChange={handleCalendarChange} + /> +
+
+ )} + + {/* ══ TAB MATÉRIEL ══ */} + {activeTab === 'materiel' && ( +
+ {/* Composition */} +
+
+ + Composition du train + {compositionTrain.length > 0 && ({compositionTrain.length} élément{compositionTrain.length > 1 ? 's' : ''})} + + {compositionTrain.length > 0 && ( + + )} +
+ {compositionTrain.length === 0 ? ( +
+
🚂
+
Aucun matériel — cliquez ci-dessous pour ajouter
+
+ ) : ( +
+
+
+
+ {compositionTrain.map((item, idx) => ( +
{ e.dataTransfer.setData('text/plain', String(idx)); e.dataTransfer.effectAllowed = 'move'; }} + onDragOver={e => { e.preventDefault(); setDragOverIndex(idx); }} + onDragLeave={() => setDragOverIndex(null)} + onDrop={e => { + e.preventDefault(); + const from = parseInt(e.dataTransfer.getData('text/plain'), 10); + if (from === idx) { setDragOverIndex(null); return; } + setCompositionTrain(prev => { + const copy = [...prev]; const [moved] = copy.splice(from, 1); copy.splice(idx, 0, moved); + return copy.map((it, i) => ({ ...it, position: i + 1 })); + }); + setDragOverIndex(null); + }} + onDragEnd={() => setDragOverIndex(null)} + style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', cursor: 'grab', outline: dragOverIndex === idx ? '2px solid #0088ce' : 'none', borderRadius: 4, userSelect: 'none', position: 'relative', zIndex: 1 }} + > +
+ {item.materiel_image_url + ? {item.materiel_nom + :
+ +
+ } +
+
{idx + 1}
+ +
+ ))} +
+
+ {compositionTrain.map(item => ( +
+ {item.materiel_nom || item.materiel_nom_technique || '—'} +
+ ))} +
+
+ )} +
+ + {/* ── Liste des matériels disponibles ── */} +
+ + Matériels disponibles — cliquez pour ajouter + + {materiels.length === 0 + ?
Aucun matériel
+ : ( +
+ {materiels.map(m => { + const inCompo = compositionTrain.filter(c => c.materiel_id === m.id).length; + const occupied = (() => { + if (!heureDepart || !heureArrivee) return false; + return horaires.some(h => { + if (!h?.materiel_roulant_id || String(h.materiel_roulant_id) !== String(m.id)) return false; + if (editingItem && String(h.id) === String(editingItem.id)) return false; + const hD = h.heure_depart || ''; const hA = h.heure_arrivee || ''; + return hD && hA && heureDepart < hA && heureArrivee > hD; + }); + })(); + return ( +
{ + if (occupied) return; + setCompositionTrain(p => [...p, { id: `comp-${Date.now()}-${Math.random()}`, materiel_id: m.id, materiel_nom: m.nom || '', materiel_nom_technique: m.nom_technique || '', materiel_image_url: m.image_url || null, position: p.length + 1 }]); + setMaterielRoulantId(m.id); + }} style={{ + border: inCompo > 0 ? '2px solid #0088ce' : (occupied ? '2px solid #ef4444' : '1px solid #e5e7eb'), + borderRadius: 8, padding: '10px 8px', cursor: occupied ? 'not-allowed' : 'pointer', + background: occupied ? '#fff5f5' : (inCompo > 0 ? '#eff6ff' : '#fff'), position: 'relative', opacity: occupied ? 0.7 : 1 + }}> + {occupied && OCCUPÉ} + {inCompo > 0 && !occupied && {inCompo}} +
+ {m.image_url ? {m.nom + : } +
+
{m.nom || m.nom_technique}
+ {m.nom_technique && m.nom &&
{m.nom_technique}
} +
{occupied ? 'Indisponible' : '+ Ajouter'}
+
+ ); + })} +
+ ) + } +
+
+ )} + + {/* ══ TAB SUBSTITUTION ══ */} + {activeTab === 'substitution' && ( +
+
+ + {estSubstitution && ( +
+ + setMotifSubstitution(e.target.value)} placeholder="Ex: Travaux sur la ligne…" /> +
+ )} +
+
+ )} +
+ + {/* ── Footer ── */} +
+
+ {['general', 'gares', 'jours', 'materiel', 'substitution'].map(t => ( +
+
+ + +
+
+
+
+ ); + +} diff --git a/src/components/cms/HierarchicalMenuEditor.js b/src/components/cms/HierarchicalMenuEditor.js new file mode 100644 index 0000000..ac136e9 --- /dev/null +++ b/src/components/cms/HierarchicalMenuEditor.js @@ -0,0 +1,294 @@ +import React from 'react'; +import { createId } from './cmsUtils'; + +const LINK_TYPES = [ + { value: 'url_fixe', label: 'URL fixe' }, + { value: 'lien_externe', label: 'Lien externe' }, + { value: 'page_personnalisee', label: 'Page personnalisee' } +]; + +function createNode(label) { + return { + id: createId(), + label, + type: 'url_fixe', + url: '/', + page_id: '', + sous_elements: [], + sous_sous_elements: [] + }; +} + +export default function HierarchicalMenuEditor({ items, onChange, pages }) { + const safeItems = Array.isArray(items) ? items : []; + + const updateItems = (next) => onChange(next); + + const addElement = () => { + updateItems([...safeItems, createNode('Nouvel element')]); + }; + + const addSousElement = (elIdx) => { + const next = [...safeItems]; + next[elIdx] = { + ...next[elIdx], + sous_elements: [...(next[elIdx].sous_elements || []), createNode('Sous element')] + }; + updateItems(next); + }; + + const addSousSousElement = (elIdx, seIdx) => { + const next = [...safeItems]; + const sousElements = [...(next[elIdx].sous_elements || [])]; + const target = { ...sousElements[seIdx] }; + target.sous_sous_elements = [...(target.sous_sous_elements || []), createNode('Sous-sous element')]; + sousElements[seIdx] = target; + next[elIdx] = { ...next[elIdx], sous_elements: sousElements }; + updateItems(next); + }; + + const removeAt = (path) => { + const next = [...safeItems]; + const [elIdx, seIdx, ssIdx] = path; + if (ssIdx !== undefined) { + const sousElements = [...(next[elIdx].sous_elements || [])]; + const target = { ...sousElements[seIdx] }; + target.sous_sous_elements = [...(target.sous_sous_elements || [])]; + target.sous_sous_elements.splice(ssIdx, 1); + sousElements[seIdx] = target; + next[elIdx] = { ...next[elIdx], sous_elements: sousElements }; + } else if (seIdx !== undefined) { + const sousElements = [...(next[elIdx].sous_elements || [])]; + sousElements.splice(seIdx, 1); + next[elIdx] = { ...next[elIdx], sous_elements: sousElements }; + } else { + next.splice(elIdx, 1); + } + updateItems(next); + }; + + const moveAt = (path, direction) => { + const next = [...safeItems]; + const [elIdx, seIdx, ssIdx] = path; + if (ssIdx !== undefined) { + const sousElements = [...(next[elIdx].sous_elements || [])]; + const target = { ...sousElements[seIdx] }; + const list = [...(target.sous_sous_elements || [])]; + const targetIndex = ssIdx + direction; + if (targetIndex < 0 || targetIndex >= list.length) return; + [list[ssIdx], list[targetIndex]] = [list[targetIndex], list[ssIdx]]; + target.sous_sous_elements = list; + sousElements[seIdx] = target; + next[elIdx] = { ...next[elIdx], sous_elements: sousElements }; + } else if (seIdx !== undefined) { + const list = [...(next[elIdx].sous_elements || [])]; + const targetIndex = seIdx + direction; + if (targetIndex < 0 || targetIndex >= list.length) return; + [list[seIdx], list[targetIndex]] = [list[targetIndex], list[seIdx]]; + next[elIdx] = { ...next[elIdx], sous_elements: list }; + } else { + const targetIndex = elIdx + direction; + if (targetIndex < 0 || targetIndex >= next.length) return; + [next[elIdx], next[targetIndex]] = [next[targetIndex], next[elIdx]]; + } + updateItems(next); + }; + + const updateNode = (path, patch) => { + const next = [...safeItems]; + const [elIdx, seIdx, ssIdx] = path; + if (ssIdx !== undefined) { + const sousElements = [...(next[elIdx].sous_elements || [])]; + const target = { ...sousElements[seIdx] }; + const list = [...(target.sous_sous_elements || [])]; + list[ssIdx] = { ...list[ssIdx], ...patch }; + target.sous_sous_elements = list; + sousElements[seIdx] = target; + next[elIdx] = { ...next[elIdx], sous_elements: sousElements }; + } else if (seIdx !== undefined) { + const sousElements = [...(next[elIdx].sous_elements || [])]; + sousElements[seIdx] = { ...sousElements[seIdx], ...patch }; + next[elIdx] = { ...next[elIdx], sous_elements: sousElements }; + } else { + next[elIdx] = { ...next[elIdx], ...patch }; + } + updateItems(next); + }; + + const renderFields = (node, path) => ( +
+
+ + updateNode(path, { label: event.target.value })} + /> +
+
+ + +
+ {node.type === 'page_personnalisee' ? ( +
+ + +
+ ) : ( +
+ + updateNode(path, { url: event.target.value })} + placeholder={node.type === 'lien_externe' ? 'https://...' : '/chemin'} + /> +
+ )} +
+ ); + + return ( +
+
+

Structure du menu

+ + + Ajouter un element + +
+ + {safeItems.length === 0 && ( +
Aucun element pour le moment.
+ )} + + {safeItems.map((element, elIdx) => ( +
+
+ Element +
+ moveAt([elIdx], -1)} + disabled={elIdx === 0} + > + + + moveAt([elIdx], 1)} + disabled={elIdx === safeItems.length - 1} + > + + + removeAt([elIdx])}> + + +
+
+ {renderFields(element, [elIdx])} + +
+
+ Sous elements + addSousElement(elIdx)}> + + Ajouter + +
+ + {(element.sous_elements || []).map((sousElement, seIdx) => ( +
+
+ Sous element +
+ moveAt([elIdx, seIdx], -1)} + disabled={seIdx === 0} + > + + + moveAt([elIdx, seIdx], 1)} + disabled={seIdx === element.sous_elements.length - 1} + > + + + removeAt([elIdx, seIdx])}> + + +
+
+ {renderFields(sousElement, [elIdx, seIdx])} + +
+
+ Sous-sous elements + addSousSousElement(elIdx, seIdx)}> + + Ajouter + +
+ + {(sousElement.sous_sous_elements || []).map((sousSousElement, ssIdx) => ( +
+
+ Sous-sous element +
+ moveAt([elIdx, seIdx, ssIdx], -1)} + disabled={ssIdx === 0} + > + + + moveAt([elIdx, seIdx, ssIdx], 1)} + disabled={ssIdx === sousElement.sous_sous_elements.length - 1} + > + + + removeAt([elIdx, seIdx, ssIdx])}> + + +
+
+ {renderFields(sousSousElement, [elIdx, seIdx, ssIdx])} +
+ ))} +
+
+ ))} +
+
+ ))} +
+ ); +} + diff --git a/src/components/cms/MenuEditor.js b/src/components/cms/MenuEditor.js new file mode 100644 index 0000000..decbdbd --- /dev/null +++ b/src/components/cms/MenuEditor.js @@ -0,0 +1,135 @@ +import React from 'react'; +import { createId } from './cmsUtils'; + +const LINK_TYPES = [ + { value: 'url_fixe', label: 'URL fixe' }, + { value: 'lien_externe', label: 'Lien externe' }, + { value: 'page_personnalisee', label: 'Page personnalisee' } +]; + +export default function MenuEditor({ items, onChange, pages }) { + const handleAdd = () => { + const nextItems = [ + ...(items || []), + { id: createId(), label: 'Nouveau lien', type: 'url_fixe', url: '/', page_id: '' } + ]; + onChange(nextItems); + }; + + const handleRemove = (index) => { + const nextItems = [...(items || [])]; + nextItems.splice(index, 1); + onChange(nextItems); + }; + + const handleMove = (index, direction) => { + const nextItems = [...(items || [])]; + const targetIndex = index + direction; + if (targetIndex < 0 || targetIndex >= nextItems.length) return; + [nextItems[index], nextItems[targetIndex]] = [nextItems[targetIndex], nextItems[index]]; + onChange(nextItems); + }; + + const updateItem = (index, patch) => { + const nextItems = [...(items || [])]; + nextItems[index] = { ...nextItems[index], ...patch }; + onChange(nextItems); + }; + + return ( +
+
+

Liens du menu

+ + + Ajouter un lien + +
+ + {(items || []).length === 0 && ( +
Aucun lien pour le moment.
+ )} + + {(items || []).map((item, index) => ( +
+
+ {item.label || 'Lien sans titre'} +
+ handleMove(index, -1)} + disabled={index === 0} + > + + + handleMove(index, 1)} + disabled={index === items.length - 1} + > + + + handleRemove(index)}> + + +
+
+ +
+
+ + updateItem(index, { label: event.target.value })} + placeholder="Ex: Horaires" + /> +
+ +
+ + +
+ + {item.type === 'page_personnalisee' ? ( +
+ + +
+ ) : ( +
+ + updateItem(index, { url: event.target.value })} + placeholder={item.type === 'lien_externe' ? 'https://...' : '/chemin'} + /> +
+ )} +
+
+ ))} +
+ ); +} + diff --git a/src/components/cms/NextDeparturesForm.js b/src/components/cms/NextDeparturesForm.js new file mode 100644 index 0000000..4b363c7 --- /dev/null +++ b/src/components/cms/NextDeparturesForm.js @@ -0,0 +1,48 @@ +import React from 'react'; + +export default function NextDeparturesForm({ data, onChange }) { + const payload = data || {}; + + return ( +
+ + + + + onChange({ station_id: event.target.value })} + placeholder="Ex: 12345" + /> + + + onChange({ limit: Number(event.target.value) })} + /> + + +
+ ); +} + diff --git a/src/components/cms/PageEditor.js b/src/components/cms/PageEditor.js new file mode 100644 index 0000000..44decbc --- /dev/null +++ b/src/components/cms/PageEditor.js @@ -0,0 +1,128 @@ +import React from 'react'; +import TextBlockForm from './TextBlockForm'; +import NextDeparturesForm from './NextDeparturesForm'; +import { createId } from './cmsUtils'; + +const BLOCK_DEFINITIONS = [ + { + type: 'text_block', + label: 'Bloc texte', + createData: () => ({ html: '' }) + }, + { + type: 'widget_prochains_departs', + label: 'Widget prochains departs', + createData: () => ({ + mode: 'recherche_gare', + station_id: '', + limit: 5, + show_arrivals: false + }) + } +]; + +export default function PageEditor({ blocks, onChange }) { + const handleAddBlock = (type) => { + const definition = BLOCK_DEFINITIONS.find((item) => item.type === type); + if (!definition) return; + const nextBlocks = [ + ...(blocks || []), + { id: createId(), type: definition.type, data: definition.createData() } + ]; + onChange(nextBlocks); + }; + + const handleRemoveBlock = (index) => { + const nextBlocks = [...(blocks || [])]; + nextBlocks.splice(index, 1); + onChange(nextBlocks); + }; + + const handleMoveBlock = (index, direction) => { + const nextBlocks = [...(blocks || [])]; + const targetIndex = index + direction; + if (targetIndex < 0 || targetIndex >= nextBlocks.length) return; + [nextBlocks[index], nextBlocks[targetIndex]] = [nextBlocks[targetIndex], nextBlocks[index]]; + onChange(nextBlocks); + }; + + const handleUpdateBlock = (index, patch) => { + const nextBlocks = [...(blocks || [])]; + const current = nextBlocks[index]; + nextBlocks[index] = { ...current, data: { ...(current?.data || {}), ...patch } }; + onChange(nextBlocks); + }; + + const renderForm = (block, index) => { + if (block.type === 'text_block') { + return handleUpdateBlock(index, patch)} />; + } + if (block.type === 'widget_prochains_departs') { + return handleUpdateBlock(index, patch)} />; + } + return null; + }; + + return ( +
+
+ {(blocks || []).length === 0 && ( +
Aucun bloc. Ajoutez un bloc pour commencer.
+ )} + {(blocks || []).map((block, index) => { + const definition = BLOCK_DEFINITIONS.find((item) => item.type === block.type); + return ( +
+
+
+ {definition?.label || block.type} +
+
+ handleMoveBlock(index, -1)} + disabled={index === 0} + > + + + handleMoveBlock(index, 1)} + disabled={index === blocks.length - 1} + > + + + handleRemoveBlock(index)}> + + +
+
+
+ {renderForm(block, index)} +
+
+ ); + })} +
+ +
+

Ajouter un bloc

+
+ {BLOCK_DEFINITIONS.map((definition) => ( + + ))} +
+
+
+ ); +} + diff --git a/src/components/cms/TextBlockForm.js b/src/components/cms/TextBlockForm.js new file mode 100644 index 0000000..88fc966 --- /dev/null +++ b/src/components/cms/TextBlockForm.js @@ -0,0 +1,17 @@ +import React from 'react'; + +export default function TextBlockForm({ data, onChange }) { + return ( +
+ +