From 24910054f9321ff847904de78b565317c38dedbd Mon Sep 17 00:00:00 2001 From: fellowship Date: Mon, 6 Apr 2026 22:59:36 +0000 Subject: [PATCH] init --- .gitignore | 80 + Jenkinsfile | 168 + caddy/Caddyfile | 18 + caddy/Caddyfile.fellowship | 54 + caddy/Caddyfile.local | 18 + caddy/Caddyfile.prod | 14 + docker-compose.yml | 119 + nginx/nginx.conf | 79 + pytest.ini | 26 + sut/backend/.env.example | 14 + sut/backend/Dockerfile | 24 + sut/backend/app.py | 229 + sut/backend/config.py | 57 + sut/backend/debug_azure.py | 55 + sut/backend/models/__init__.py | 9 + sut/backend/models/inventory_item.py | 40 + sut/backend/models/item.py | 41 + sut/backend/models/location.py | 30 + sut/backend/models/member.py | 30 + sut/backend/models/quest.py | 58 + sut/backend/models/user.py | 41 + sut/backend/requirements.txt | 10 + sut/backend/routes/__init__.py | 1 + sut/backend/routes/auth.py | 121 + sut/backend/routes/locations.py | 41 + sut/backend/routes/members.py | 41 + sut/backend/routes/npc_chat.py | 174 + sut/backend/routes/quests.py | 237 + sut/backend/routes/shop.py | 133 + sut/backend/services/__init__.py | 1 + sut/backend/services/auth_service.py | 65 + sut/backend/services/bargaining_algorithm.py | 337 + sut/backend/services/bargaining_config.py | 157 + sut/backend/services/character_profiles.py | 253 + sut/backend/services/negotiation_logger.py | 213 + sut/backend/services/npc_chat_service.py | 1495 ++ .../services/quest_generation_service.py | 441 + sut/backend/services/shop_service.py | 125 + sut/backend/utils/__init__.py | 1 + sut/backend/utils/database.py | 204 + sut/backend/utils/seed_data.py | 602 + sut/backend/verify_config.py | 51 + sut/frontend/.env.example | 16 + sut/frontend/.env.local | 6 + sut/frontend/Dockerfile | 24 + sut/frontend/ENV_URL_SETUP.md | 169 + sut/frontend/package-lock.json | 21898 ++++++++++++++++ sut/frontend/package.json | 65 + sut/frontend/postcss.config.js | 6 + sut/frontend/public/index.html | 64 + sut/frontend/public/leaflet/leaflet.css | 767 + sut/frontend/public/leaflet/leaflet.js | 6 + .../marker_cluster/MarkerCluster.Default.css | 68 + .../leaflet/marker_cluster/MarkerCluster.css | 14 + .../marker_cluster/leaflet.markercluster.js | 3 + .../leaflet.markercluster.js.map | 1 + .../leaflet/smooth_bounce/BouncingMotion.js | 307 + .../leaflet/smooth_bounce/BouncingMotion3D.js | 373 + .../smooth_bounce/BouncingMotionCss3.js | 481 + .../smooth_bounce/BouncingMotionSimple.js | 267 + .../leaflet/smooth_bounce/BouncingOptions.js | 105 + .../public/leaflet/smooth_bounce/Cache.js | 65 + .../smooth_bounce/MarkerPrototypeExt.js | 121 + .../public/leaflet/smooth_bounce/Matrix3D.js | 166 + .../leaflet/smooth_bounce/Orchestration.js | 147 + .../smooth_bounce/SmoothMarkerBouncing.js | 96 + .../public/leaflet/smooth_bounce/Styles.js | 106 + .../leaflet/smooth_bounce/bundle.min.js | 1 + .../public/leaflet/smooth_bounce/line.js | 53 + sut/frontend/public/logo.png | Bin 0 -> 474442 bytes sut/frontend/public/logo_background.png | Bin 0 -> 1436200 bytes sut/frontend/public/logo_old.png | Bin 0 -> 1667188 bytes sut/frontend/public/middle-earth-map.svg | 65 + sut/frontend/public/middle-earth-map.webp | Bin 0 -> 3610512 bytes .../public/middle-earth-map/data/markers.json | 707 + .../public/middle-earth-map/data/paths.json | 21270 +++++++++++++++ .../fonts/RingbearerMedium.ttf | Bin 0 -> 107280 bytes .../public/middle-earth-map/icons/castle.svg | 25 + .../public/middle-earth-map/icons/close.svg | 3 + .../public/middle-earth-map/icons/coffee.svg | 5 + .../public/middle-earth-map/icons/coffin.svg | 35 + .../public/middle-earth-map/icons/death.svg | 46 + .../public/middle-earth-map/icons/dwarf.svg | 20 + .../public/middle-earth-map/icons/earth.svg | 53 + .../public/middle-earth-map/icons/elf.svg | 19 + .../public/middle-earth-map/icons/evil.svg | 19 + .../public/middle-earth-map/icons/eye.svg | 63 + .../public/middle-earth-map/icons/hobbit.svg | 19 + .../public/middle-earth-map/icons/layers.svg | 40 + .../public/middle-earth-map/icons/swords.svg | 21 + .../middle-earth-map/icons/the_one_ring.ico | Bin 0 -> 67646 bytes sut/frontend/public/robots.txt | 33 + sut/frontend/public/sitemap.xml | 53 + sut/frontend/scripts/setup-env-urls.js | 61 + sut/frontend/src/App.css | 639 + sut/frontend/src/App.tsx | 191 + sut/frontend/src/animations.css | 451 + sut/frontend/src/components/AppHeader.css | 489 + sut/frontend/src/components/AppHeader.tsx | 195 + .../src/components/CompletedQuestCounter.tsx | 51 + sut/frontend/src/components/Dashboard.css | 202 + sut/frontend/src/components/Dashboard.tsx | 336 + sut/frontend/src/components/GoldCounter.tsx | 15 + sut/frontend/src/components/Login.css | 93 + sut/frontend/src/components/Login.tsx | 194 + .../src/components/MiddleEarthMap.css | 519 + .../src/components/MiddleEarthMap.tsx | 806 + .../src/components/QuestFilterBar.tsx | 220 + sut/frontend/src/components/QuestForm.css | 147 + sut/frontend/src/components/QuestForm.tsx | 220 + sut/frontend/src/components/QuestList.css | 338 + sut/frontend/src/components/QuestList.tsx | 225 + sut/frontend/src/components/ScoringCard.tsx | 143 + .../components/characters/CharacterPanel.tsx | 314 + .../characters/MapCharacterPanel.tsx | 326 + .../FilterSidebar.css | 133 + .../FilterSidebar.tsx | 230 + .../middleEarthMapStandalone/LoaderScreen.css | 90 + .../middleEarthMapStandalone/LoaderScreen.tsx | 29 + .../MapController.tsx | 128 + .../middleEarthMapStandalone/MapIcons.ts | 50 + .../MarkersController.tsx | 289 + .../MiddleEarthMapStandalone.css | 132 + .../PathsController.tsx | 81 + .../QuestDetailsSidebar.css | 229 + .../QuestDetailsSidebar.tsx | 142 + .../RealWorldMapController.tsx | 107 + .../middleEarthMapStandalone/types.ts | 81 + .../components/minigames/FindTheRingGame.tsx | 185 + .../src/components/minigames/MemoryGame.tsx | 177 + .../minigames/QuestCompletionModal.tsx | 218 + .../src/components/minigames/ReactionGame.tsx | 149 + .../src/components/minigames/TriviaGame.tsx | 323 + .../src/components/minigames/index.ts | 9 + sut/frontend/src/components/ui/Alert.tsx | 64 + sut/frontend/src/components/ui/Avatar.tsx | 41 + sut/frontend/src/components/ui/Badge.tsx | 87 + sut/frontend/src/components/ui/Button.tsx | 57 + sut/frontend/src/components/ui/Card.tsx | 48 + .../src/components/ui/GuidedWalkthrough.tsx | 207 + sut/frontend/src/components/ui/Input.tsx | 112 + sut/frontend/src/components/ui/Modal.tsx | 82 + sut/frontend/src/components/ui/index.ts | 11 + sut/frontend/src/config/designTokens.ts | 157 + sut/frontend/src/index.css | 122 + sut/frontend/src/index.tsx | 13 + sut/frontend/src/pages/DashboardPage.tsx | 69 + sut/frontend/src/pages/InventoryPage.tsx | 125 + sut/frontend/src/pages/LoginPage.tsx | 68 + sut/frontend/src/pages/MapPage.css | 545 + sut/frontend/src/pages/MapPage.tsx | 545 + sut/frontend/src/pages/QuestsPage.css | 35 + sut/frontend/src/pages/QuestsPage.tsx | 328 + sut/frontend/src/services/analyticsService.ts | 396 + sut/frontend/src/services/api.ts | 234 + sut/frontend/src/services/characterService.ts | 247 + sut/frontend/src/store/characterStore.ts | 146 + sut/frontend/src/store/questStore.ts | 268 + sut/frontend/src/types/index.ts | 163 + sut/frontend/src/types/middleEarthMap.ts | 48 + sut/frontend/src/utils/easterEggs.ts | 215 + sut/frontend/src/utils/missionObjective.ts | 120 + .../src/walkthrough/walkthroughConfig.ts | 91 + sut/frontend/tailwind.config.js | 101 + sut/frontend/test-results/.last-run.json | 4 + .../test/components/AppHeader.test.tsx | 322 + .../test/components/FindTheRingGame.test.tsx | 70 + .../MapCharacterPanel.bargainflow.test.tsx | 97 + .../components/MapCharacterPanel.test.tsx | 114 + .../test/components/MemoryGame.test.tsx | 55 + .../test/components/MiddleEarthMap.test.tsx | 425 + .../components/QuestCompletionModal.test.tsx | 107 + .../test/components/QuestFilterBar.test.tsx | 340 + .../test/components/ReactionGame.test.tsx | 70 + .../test/components/ScoringCard.test.tsx | 171 + .../test/components/TriviaGame.test.tsx | 81 + .../test/services/analyticsService.test.ts | 273 + sut/frontend/test/services/api.chat.test.ts | 75 + .../test/services/characterService.test.ts | 201 + sut/frontend/test/setup.ts | 14 + .../test/store/characterStore.test.ts | 53 + sut/frontend/test/store/questStore.test.ts | 291 + .../test/utils/missionObjective.test.ts | 61 + .../test/utils/walkthroughConfig.test.ts | 37 + sut/frontend/tsconfig.json | 31 + sut/frontend/vitest.config.ts | 17 + tests/.gitignore | 2 + tests/__init__.py | 1 + tests/api/features/auth-api.feature | 40 + tests/api/features/chat-api.feature | 50 + tests/api/features/quests-api.feature | 57 + tests/api/features/shop-api.feature | 42 + tests/api/steps/api-common.steps.ts | 64 + tests/api/steps/auth-api.steps.ts | 49 + tests/api/steps/chat-api.steps.ts | 84 + tests/api/steps/quests-api.steps.ts | 65 + tests/api/steps/shop-api.steps.ts | 50 + tests/api/support/api-utils.ts | 18 + tests/api/support/fixtures.ts | 26 + tests/backend/__init__.py | 1 + tests/backend/models/__init__.py | 1 + tests/backend/models/test_inventory_item.py | 38 + tests/backend/models/test_item.py | 36 + tests/backend/models/test_location.py | 33 + tests/backend/models/test_member.py | 33 + tests/backend/models/test_quest.py | 43 + tests/backend/models/test_user.py | 45 + tests/backend/services/test_auth_service.py | 14 + .../services/test_bargaining_algorithm.py | 18 + .../services/test_bargaining_config.py | 9 + .../services/test_character_profiles.py | 11 + .../services/test_negotiation_logger.py | 13 + .../backend/services/test_npc_chat_service.py | 11 + tests/backend/services/test_pact_contracts.py | 24 + .../services/test_quest_generation_service.py | 10 + tests/backend/services/test_shop_service.py | 26 + tests/backend/utils/test_database.py | 15 + tests/behave.ini | 6 + tests/e2e/features/authentication.feature | 45 + tests/e2e/features/bargaining-market.feature | 112 + tests/e2e/features/dashboard.feature | 45 + tests/e2e/features/header.feature | 62 + tests/e2e/features/map.feature | 64 + tests/e2e/features/npc-chat.feature | 78 + tests/e2e/features/quest-management.feature | 66 + tests/e2e/fixtures/bdd-fixtures.ts | 5 + tests/e2e/pages/BargainingPanel.ts | 384 + tests/e2e/pages/BasePage.ts | 251 + tests/e2e/pages/ChatPanel.ts | 280 + tests/e2e/pages/DashboardPage.ts | 263 + tests/e2e/pages/LoginPage.ts | 128 + tests/e2e/pages/MapPage.ts | 281 + tests/e2e/pages/QuestsPage.ts | 452 + tests/e2e/steps/authentication.steps.ts | 2 + tests/e2e/steps/bargaining-market.steps.ts | 554 + tests/e2e/steps/common.steps.ts | 162 + tests/e2e/steps/dashboard.steps.ts | 140 + tests/e2e/steps/header.steps.ts | 184 + tests/e2e/steps/map.steps.ts | 257 + tests/e2e/steps/npc-chat.steps.ts | 230 + tests/e2e/steps/quest-management.steps.ts | 366 + tests/e2e/support/fixtures.ts | 96 + tests/e2e/support/globalSetup.ts | 80 + tests/e2e/support/testContext.ts | 79 + tests/e2e/types/index.ts | 59 + tests/e2e/utils/authUtils.ts | 94 + tests/e2e/utils/fixtureUtils.ts | 84 + tests/e2e/utils/testApiUtils.ts | 50 + tests/requirements.txt | 9 + tests/scripts/requirements.txt | 5 + tests/scripts/test_bake_user_data.py | 578 + 251 files changed, 76889 insertions(+) create mode 100644 .gitignore create mode 100644 Jenkinsfile create mode 100644 caddy/Caddyfile create mode 100644 caddy/Caddyfile.fellowship create mode 100644 caddy/Caddyfile.local create mode 100644 caddy/Caddyfile.prod create mode 100644 docker-compose.yml create mode 100644 nginx/nginx.conf create mode 100644 pytest.ini create mode 100644 sut/backend/.env.example create mode 100644 sut/backend/Dockerfile create mode 100644 sut/backend/app.py create mode 100644 sut/backend/config.py create mode 100644 sut/backend/debug_azure.py create mode 100644 sut/backend/models/__init__.py create mode 100644 sut/backend/models/inventory_item.py create mode 100644 sut/backend/models/item.py create mode 100644 sut/backend/models/location.py create mode 100644 sut/backend/models/member.py create mode 100644 sut/backend/models/quest.py create mode 100644 sut/backend/models/user.py create mode 100644 sut/backend/requirements.txt create mode 100644 sut/backend/routes/__init__.py create mode 100644 sut/backend/routes/auth.py create mode 100644 sut/backend/routes/locations.py create mode 100644 sut/backend/routes/members.py create mode 100644 sut/backend/routes/npc_chat.py create mode 100644 sut/backend/routes/quests.py create mode 100644 sut/backend/routes/shop.py create mode 100644 sut/backend/services/__init__.py create mode 100644 sut/backend/services/auth_service.py create mode 100644 sut/backend/services/bargaining_algorithm.py create mode 100644 sut/backend/services/bargaining_config.py create mode 100644 sut/backend/services/character_profiles.py create mode 100644 sut/backend/services/negotiation_logger.py create mode 100644 sut/backend/services/npc_chat_service.py create mode 100644 sut/backend/services/quest_generation_service.py create mode 100644 sut/backend/services/shop_service.py create mode 100644 sut/backend/utils/__init__.py create mode 100644 sut/backend/utils/database.py create mode 100644 sut/backend/utils/seed_data.py create mode 100644 sut/backend/verify_config.py create mode 100644 sut/frontend/.env.example create mode 100644 sut/frontend/.env.local create mode 100644 sut/frontend/Dockerfile create mode 100644 sut/frontend/ENV_URL_SETUP.md create mode 100644 sut/frontend/package-lock.json create mode 100644 sut/frontend/package.json create mode 100644 sut/frontend/postcss.config.js create mode 100644 sut/frontend/public/index.html create mode 100644 sut/frontend/public/leaflet/leaflet.css create mode 100644 sut/frontend/public/leaflet/leaflet.js create mode 100644 sut/frontend/public/leaflet/marker_cluster/MarkerCluster.Default.css create mode 100644 sut/frontend/public/leaflet/marker_cluster/MarkerCluster.css create mode 100644 sut/frontend/public/leaflet/marker_cluster/leaflet.markercluster.js create mode 100644 sut/frontend/public/leaflet/marker_cluster/leaflet.markercluster.js.map create mode 100644 sut/frontend/public/leaflet/smooth_bounce/BouncingMotion.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/BouncingMotion3D.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/BouncingMotionCss3.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/BouncingMotionSimple.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/BouncingOptions.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/Cache.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/MarkerPrototypeExt.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/Matrix3D.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/Orchestration.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/SmoothMarkerBouncing.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/Styles.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/bundle.min.js create mode 100644 sut/frontend/public/leaflet/smooth_bounce/line.js create mode 100644 sut/frontend/public/logo.png create mode 100644 sut/frontend/public/logo_background.png create mode 100644 sut/frontend/public/logo_old.png create mode 100644 sut/frontend/public/middle-earth-map.svg create mode 100644 sut/frontend/public/middle-earth-map.webp create mode 100644 sut/frontend/public/middle-earth-map/data/markers.json create mode 100644 sut/frontend/public/middle-earth-map/data/paths.json create mode 100644 sut/frontend/public/middle-earth-map/fonts/RingbearerMedium.ttf create mode 100644 sut/frontend/public/middle-earth-map/icons/castle.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/close.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/coffee.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/coffin.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/death.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/dwarf.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/earth.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/elf.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/evil.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/eye.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/hobbit.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/layers.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/swords.svg create mode 100644 sut/frontend/public/middle-earth-map/icons/the_one_ring.ico create mode 100644 sut/frontend/public/robots.txt create mode 100644 sut/frontend/public/sitemap.xml create mode 100644 sut/frontend/scripts/setup-env-urls.js create mode 100644 sut/frontend/src/App.css create mode 100644 sut/frontend/src/App.tsx create mode 100644 sut/frontend/src/animations.css create mode 100644 sut/frontend/src/components/AppHeader.css create mode 100644 sut/frontend/src/components/AppHeader.tsx create mode 100644 sut/frontend/src/components/CompletedQuestCounter.tsx create mode 100644 sut/frontend/src/components/Dashboard.css create mode 100644 sut/frontend/src/components/Dashboard.tsx create mode 100644 sut/frontend/src/components/GoldCounter.tsx create mode 100644 sut/frontend/src/components/Login.css create mode 100644 sut/frontend/src/components/Login.tsx create mode 100644 sut/frontend/src/components/MiddleEarthMap.css create mode 100644 sut/frontend/src/components/MiddleEarthMap.tsx create mode 100644 sut/frontend/src/components/QuestFilterBar.tsx create mode 100644 sut/frontend/src/components/QuestForm.css create mode 100644 sut/frontend/src/components/QuestForm.tsx create mode 100644 sut/frontend/src/components/QuestList.css create mode 100644 sut/frontend/src/components/QuestList.tsx create mode 100644 sut/frontend/src/components/ScoringCard.tsx create mode 100644 sut/frontend/src/components/characters/CharacterPanel.tsx create mode 100644 sut/frontend/src/components/characters/MapCharacterPanel.tsx create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/FilterSidebar.css create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/FilterSidebar.tsx create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/LoaderScreen.css create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/LoaderScreen.tsx create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/MapController.tsx create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/MapIcons.ts create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/MarkersController.tsx create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/MiddleEarthMapStandalone.css create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/PathsController.tsx create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/QuestDetailsSidebar.css create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/QuestDetailsSidebar.tsx create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/RealWorldMapController.tsx create mode 100644 sut/frontend/src/components/middleEarthMapStandalone/types.ts create mode 100644 sut/frontend/src/components/minigames/FindTheRingGame.tsx create mode 100644 sut/frontend/src/components/minigames/MemoryGame.tsx create mode 100644 sut/frontend/src/components/minigames/QuestCompletionModal.tsx create mode 100644 sut/frontend/src/components/minigames/ReactionGame.tsx create mode 100644 sut/frontend/src/components/minigames/TriviaGame.tsx create mode 100644 sut/frontend/src/components/minigames/index.ts create mode 100644 sut/frontend/src/components/ui/Alert.tsx create mode 100644 sut/frontend/src/components/ui/Avatar.tsx create mode 100644 sut/frontend/src/components/ui/Badge.tsx create mode 100644 sut/frontend/src/components/ui/Button.tsx create mode 100644 sut/frontend/src/components/ui/Card.tsx create mode 100644 sut/frontend/src/components/ui/GuidedWalkthrough.tsx create mode 100644 sut/frontend/src/components/ui/Input.tsx create mode 100644 sut/frontend/src/components/ui/Modal.tsx create mode 100644 sut/frontend/src/components/ui/index.ts create mode 100644 sut/frontend/src/config/designTokens.ts create mode 100644 sut/frontend/src/index.css create mode 100644 sut/frontend/src/index.tsx create mode 100644 sut/frontend/src/pages/DashboardPage.tsx create mode 100644 sut/frontend/src/pages/InventoryPage.tsx create mode 100644 sut/frontend/src/pages/LoginPage.tsx create mode 100644 sut/frontend/src/pages/MapPage.css create mode 100644 sut/frontend/src/pages/MapPage.tsx create mode 100644 sut/frontend/src/pages/QuestsPage.css create mode 100644 sut/frontend/src/pages/QuestsPage.tsx create mode 100644 sut/frontend/src/services/analyticsService.ts create mode 100644 sut/frontend/src/services/api.ts create mode 100644 sut/frontend/src/services/characterService.ts create mode 100644 sut/frontend/src/store/characterStore.ts create mode 100644 sut/frontend/src/store/questStore.ts create mode 100644 sut/frontend/src/types/index.ts create mode 100644 sut/frontend/src/types/middleEarthMap.ts create mode 100644 sut/frontend/src/utils/easterEggs.ts create mode 100644 sut/frontend/src/utils/missionObjective.ts create mode 100644 sut/frontend/src/walkthrough/walkthroughConfig.ts create mode 100644 sut/frontend/tailwind.config.js create mode 100644 sut/frontend/test-results/.last-run.json create mode 100644 sut/frontend/test/components/AppHeader.test.tsx create mode 100644 sut/frontend/test/components/FindTheRingGame.test.tsx create mode 100644 sut/frontend/test/components/MapCharacterPanel.bargainflow.test.tsx create mode 100644 sut/frontend/test/components/MapCharacterPanel.test.tsx create mode 100644 sut/frontend/test/components/MemoryGame.test.tsx create mode 100644 sut/frontend/test/components/MiddleEarthMap.test.tsx create mode 100644 sut/frontend/test/components/QuestCompletionModal.test.tsx create mode 100644 sut/frontend/test/components/QuestFilterBar.test.tsx create mode 100644 sut/frontend/test/components/ReactionGame.test.tsx create mode 100644 sut/frontend/test/components/ScoringCard.test.tsx create mode 100644 sut/frontend/test/components/TriviaGame.test.tsx create mode 100644 sut/frontend/test/services/analyticsService.test.ts create mode 100644 sut/frontend/test/services/api.chat.test.ts create mode 100644 sut/frontend/test/services/characterService.test.ts create mode 100644 sut/frontend/test/setup.ts create mode 100644 sut/frontend/test/store/characterStore.test.ts create mode 100644 sut/frontend/test/store/questStore.test.ts create mode 100644 sut/frontend/test/utils/missionObjective.test.ts create mode 100644 sut/frontend/test/utils/walkthroughConfig.test.ts create mode 100644 sut/frontend/tsconfig.json create mode 100644 sut/frontend/vitest.config.ts create mode 100644 tests/.gitignore create mode 100644 tests/__init__.py create mode 100644 tests/api/features/auth-api.feature create mode 100644 tests/api/features/chat-api.feature create mode 100644 tests/api/features/quests-api.feature create mode 100644 tests/api/features/shop-api.feature create mode 100644 tests/api/steps/api-common.steps.ts create mode 100644 tests/api/steps/auth-api.steps.ts create mode 100644 tests/api/steps/chat-api.steps.ts create mode 100644 tests/api/steps/quests-api.steps.ts create mode 100644 tests/api/steps/shop-api.steps.ts create mode 100644 tests/api/support/api-utils.ts create mode 100644 tests/api/support/fixtures.ts create mode 100644 tests/backend/__init__.py create mode 100644 tests/backend/models/__init__.py create mode 100644 tests/backend/models/test_inventory_item.py create mode 100644 tests/backend/models/test_item.py create mode 100644 tests/backend/models/test_location.py create mode 100644 tests/backend/models/test_member.py create mode 100644 tests/backend/models/test_quest.py create mode 100644 tests/backend/models/test_user.py create mode 100644 tests/backend/services/test_auth_service.py create mode 100644 tests/backend/services/test_bargaining_algorithm.py create mode 100644 tests/backend/services/test_bargaining_config.py create mode 100644 tests/backend/services/test_character_profiles.py create mode 100644 tests/backend/services/test_negotiation_logger.py create mode 100644 tests/backend/services/test_npc_chat_service.py create mode 100644 tests/backend/services/test_pact_contracts.py create mode 100644 tests/backend/services/test_quest_generation_service.py create mode 100644 tests/backend/services/test_shop_service.py create mode 100644 tests/backend/utils/test_database.py create mode 100644 tests/behave.ini create mode 100644 tests/e2e/features/authentication.feature create mode 100644 tests/e2e/features/bargaining-market.feature create mode 100644 tests/e2e/features/dashboard.feature create mode 100644 tests/e2e/features/header.feature create mode 100644 tests/e2e/features/map.feature create mode 100644 tests/e2e/features/npc-chat.feature create mode 100644 tests/e2e/features/quest-management.feature create mode 100644 tests/e2e/fixtures/bdd-fixtures.ts create mode 100644 tests/e2e/pages/BargainingPanel.ts create mode 100644 tests/e2e/pages/BasePage.ts create mode 100644 tests/e2e/pages/ChatPanel.ts create mode 100644 tests/e2e/pages/DashboardPage.ts create mode 100644 tests/e2e/pages/LoginPage.ts create mode 100644 tests/e2e/pages/MapPage.ts create mode 100644 tests/e2e/pages/QuestsPage.ts create mode 100644 tests/e2e/steps/authentication.steps.ts create mode 100644 tests/e2e/steps/bargaining-market.steps.ts create mode 100644 tests/e2e/steps/common.steps.ts create mode 100644 tests/e2e/steps/dashboard.steps.ts create mode 100644 tests/e2e/steps/header.steps.ts create mode 100644 tests/e2e/steps/map.steps.ts create mode 100644 tests/e2e/steps/npc-chat.steps.ts create mode 100644 tests/e2e/steps/quest-management.steps.ts create mode 100644 tests/e2e/support/fixtures.ts create mode 100644 tests/e2e/support/globalSetup.ts create mode 100644 tests/e2e/support/testContext.ts create mode 100644 tests/e2e/types/index.ts create mode 100644 tests/e2e/utils/authUtils.ts create mode 100644 tests/e2e/utils/fixtureUtils.ts create mode 100644 tests/e2e/utils/testApiUtils.ts create mode 100644 tests/requirements.txt create mode 100644 tests/scripts/requirements.txt create mode 100644 tests/scripts/test_bake_user_data.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..10550af --- /dev/null +++ b/.gitignore @@ -0,0 +1,80 @@ +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +env/ +venv/ +ENV/ +.venv +*.db +*.sqlite +*.sqlite3 + +# Node +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* +build/ +dist/ +.next/ +out/ + +# IDE +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# OS +.DS_Store +Thumbs.db + +# Docker +.dockerignore + +# Test reports +reports/ +.pytest_cache/ +.coverage +htmlcov/ + +# Environment +.env +.env.local +.env.*.local + +# Allow template/example files (safe to commit, no secrets) +!.env.example +!.env.prod +!.env.local + +# Logs +*.log +logs/ +test-results/*.webm +test-results/**/*.webm +test-results/**/*.png +test-results/**/*.md +lotr-sut-keypair.pem +.features-gen/tests/e2e/features/authentication.feature.spec.js +.features-gen/tests/e2e/features/bargaining-market.feature.spec.js +.features-gen/tests/e2e/features/dashboard.feature.spec.js +.features-gen/tests/e2e/features/map.feature.spec.js +.features-gen/tests/e2e/features/npc-chat.feature.spec.js +.features-gen/tests/e2e/features/quest-management.feature.spec.js +.features-gen/api/tests/api/features/auth-api.feature.spec.js +.features-gen/api/tests/api/features/chat-api.feature.spec.js +.features-gen/api/tests/api/features/quests-api.feature.spec.js +.features-gen/api/tests/api/features/shop-api.feature.spec.js +.features-gen/e2e/tests/e2e/features/authentication.feature.spec.js +.features-gen/e2e/tests/e2e/features/bargaining-market.feature.spec.js +.features-gen/e2e/tests/e2e/features/dashboard.feature.spec.js +.features-gen/e2e/tests/e2e/features/map.feature.spec.js +.features-gen/e2e/tests/e2e/features/npc-chat.feature.spec.js +.features-gen/e2e/tests/e2e/features/quest-management.feature.spec.js +.features-gen/e2e/tests/e2e/features/header.feature.spec.js diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..6eaa816 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,168 @@ +pipeline { + agent any + + environment { + PYTHON_VERSION = '3.11' + NODE_VERSION = '18' + SUT_URL = 'http://localhost' + } + + options { + timeout(time: 30, unit: 'MINUTES') + buildDiscarder(logRotator(numToKeepStr: '10')) + disableConcurrentBuilds() + } + + stages { + stage('Checkout') { + steps { + echo 'One does not simply skip the checkout stage...' + checkout scm + } + } + + stage('Setup Environment') { + steps { + echo 'Preparing the Fellowship environment...' + sh ''' + # Create a Python virtual environment (PEP 668 compliant) + python3 -m venv venv + . venv/bin/activate + python3 -m pip install --upgrade pip setuptools wheel + echo "✓ Virtual environment ready" + ''' + } + } + + stage('Install Dependencies') { + parallel { + stage('Backend Deps') { + steps { + echo 'Installing backend dependencies for the Fellowship...' + sh ''' + . venv/bin/activate + pip install -r sut/backend/requirements.txt + pip install -r tests/requirements.txt + ''' + } + } + stage('Frontend Deps') { + steps { + echo 'Installing frontend dependencies...' + sh ''' + cd sut/frontend + npm ci --prefer-offline || npm install + ''' + } + } + } + } + + stage('Lint') { + steps { + echo 'The Eye of Sauron watches for code style violations...' + sh ''' + . venv/bin/activate + pip install flake8 --quiet + # E9/F63/F7/F82 = syntax & fatal errors — these must fail the build. + # Warnings (E1xx, W) are informational only for this tutorial pipeline. + flake8 sut/backend tests/*.py \ + --count --select=E9,F63,F7,F82 \ + --show-source --statistics + ''' + } + } + + stage('Unit Tests') { + steps { + echo 'Running unit tests across the Fellowship...' + sh ''' + . venv/bin/activate + mkdir -p reports + PYTHONPATH=sut/backend python -m pytest \ + tests/backend/services/test_bargaining_algorithm.py \ + tests/backend/services/test_bargaining_config.py \ + tests/backend/services/test_shop_service.py \ + tests/backend/services/test_negotiation_logger.py \ + -v --tb=short \ + --junitxml=reports/unit-tests.xml \ + --no-header \ + --override-ini="addopts=--strict-markers --tb=short -v" + ''' + } + post { + always { + junit allowEmptyResults: true, testResults: 'reports/unit-tests.xml' + } + } + } + + stage('Build Frontend') { + steps { + echo 'Forging the frontend in the fires of Mount Doom...' + sh ''' + cd sut/frontend + npm run build + ''' + } + } + + stage('Integration Tests') { + steps { + echo 'The quest continues — running integration tests...' + sh ''' + . venv/bin/activate + mkdir -p reports + PYTHONPATH=sut/backend python -m pytest \ + tests/backend/services/test_bargaining_algorithm.py \ + tests/backend/services/test_bargaining_config.py \ + tests/backend/services/test_shop_service.py \ + tests/backend/services/test_negotiation_logger.py \ + -v --tb=short \ + --junitxml=reports/integration-tests.xml \ + --no-header \ + --override-ini="addopts=--strict-markers --tb=short -v" \ + -m "not realstack" + ''' + } + post { + always { + junit allowEmptyResults: true, testResults: 'reports/integration-tests.xml' + } + } + } + + stage('Deploy') { + when { + branch 'main' + } + steps { + echo 'Deploying the Fellowship SUT to the land of Docker...' + sh ''' + cp caddy/Caddyfile.local caddy/Caddyfile + docker compose down --remove-orphans || true + docker compose up -d --build + ''' + } + } + } + + post { + always { + echo 'The journey is complete — collecting artifacts...' + archiveArtifacts artifacts: 'reports/**/*.xml', allowEmptyArchive: true + } + success { + echo 'The Fellowship has succeeded! The quest is complete.' + } + failure { + echo 'The Fellowship has failed! Sauron grows stronger...' + mail to: 'fellowship@middle-earth.local', + subject: "Build Failed: ${env.JOB_NAME} [${env.BUILD_NUMBER}]", + body: "The Ring has been lost. Build ${env.BUILD_URL} has failed." + } + unstable { + echo 'The quest is unstable — some tests did not pass.' + } + } +} diff --git a/caddy/Caddyfile b/caddy/Caddyfile new file mode 100644 index 0000000..9dbf977 --- /dev/null +++ b/caddy/Caddyfile @@ -0,0 +1,18 @@ +# Caddyfile for Fellowship SUT - STAGING +# Domain will be dynamically set via environment variable CADDY_DOMAIN +# Uses Let's Encrypt Staging CA to avoid rate limits (up to 5,000 cert/hour) +# For local development: CADDY_DOMAIN defaults to localhost +# For production certificates, use Caddyfile.prod instead +# For tutorial instances (SUT + Jenkins + IDE), use Caddyfile.fellowship instead + +{$CADDY_DOMAIN:localhost} { + # Use Let's Encrypt staging CA for development and testing + # Staging certs won't be trusted by browsers but avoid rate limits + # Caddy automatically uses self-signed certs for localhost + tls { + ca https://acme-staging-v02.api.letsencrypt.org/directory + } + + reverse_proxy /api/* backend:5000 + reverse_proxy /* frontend:3000 +} diff --git a/caddy/Caddyfile.fellowship b/caddy/Caddyfile.fellowship new file mode 100644 index 0000000..e60a1dd --- /dev/null +++ b/caddy/Caddyfile.fellowship @@ -0,0 +1,54 @@ +# Caddyfile for Fellowship Tutorial Instances +# Used exclusively by setup_fellowship.sh for classroom/tutorial EC2 instances +# that run the full DevOps Escape Room stack (SUT + Jenkins CI + code-server IDE). +# +# This file is NEVER used by the permanent SUT deployment (bootstrap_spot_instance.sh), +# which uses Caddyfile.prod (SUT only) instead. +# +# setup_fellowship.sh copies this file over caddy/Caddyfile before starting +# docker compose, so that the Caddy container picks it up automatically. +# +# Required environment variables: +# CADDY_DOMAIN — SUT domain (e.g. fellowship-pool-8.fellowship.testingfantasy.com) +# JENKINS_DOMAIN — Jenkins domain (jenkins-{CADDY_DOMAIN}) +# IDE_DOMAIN — IDE domain (ide-{CADDY_DOMAIN}) +# GITEA_DOMAIN — Gitea domain (gitea-{CADDY_DOMAIN}) +# +# All four domains must have Route53 A records pointing to the same instance +# public IP as CADDY_DOMAIN. setup_fellowship.sh creates all records. +# +# Routing: +# CADDY_DOMAIN → SUT frontend (port 3000) and backend API (port 5000) +# JENKINS_DOMAIN → Jenkins CI (port 8080, devops-escape-room compose stack) +# IDE_DOMAIN → code-server (port 8443, devops-escape-room compose stack) +# GITEA_DOMAIN → Gitea (port 3030, devops-escape-room compose stack) +# +# Jenkins and code-server are reached via host.docker.internal (host-gateway), +# because they run in a separate docker-compose project from Caddy. +# docker-compose.yml sets extra_hosts: [host.docker.internal:host-gateway]. + +# ── Fellowship SUT ──────────────────────────────────────────────────────────── +{$CADDY_DOMAIN} { + # Let Caddy use its default automatic HTTPS issuers. + # This avoids hard-failing when a single ACME CA is temporarily rate-limited. + + reverse_proxy /api/* backend:5000 + reverse_proxy /* frontend:3000 +} + +# ── Jenkins CI (DevOps Escape Room) ────────────────────────────────────────── +{$JENKINS_DOMAIN} { + reverse_proxy /* host.docker.internal:8080 +} + +# ── code-server IDE (DevOps Escape Room) ───────────────────────────────────── +# Host port 8443 maps to the code-server container's internal port 8080. +{$IDE_DOMAIN} { + reverse_proxy /* host.docker.internal:8443 +} + +# ── Gitea (self-hosted Git, DevOps Escape Room) ─────────────────────────────── +# Host port 3030 maps to Gitea's internal port 3000. +{$GITEA_DOMAIN} { + reverse_proxy /* host.docker.internal:3030 +} diff --git a/caddy/Caddyfile.local b/caddy/Caddyfile.local new file mode 100644 index 0000000..a888113 --- /dev/null +++ b/caddy/Caddyfile.local @@ -0,0 +1,18 @@ +# Caddyfile for Fellowship SUT - LOCAL DEVELOPMENT +# HTTP-only configuration for local development (no HTTPS) +# Explicitly use http:// to avoid automatic HTTPS redirect + +http://localhost, http://127.0.0.1, :80 { + # API routes - Flask handles CORS + handle /api/* { + reverse_proxy backend:5000 + } + + # WebSocket support + handle /ws { + reverse_proxy backend:5000 + } + + # Frontend routes + reverse_proxy /* frontend:3000 +} diff --git a/caddy/Caddyfile.prod b/caddy/Caddyfile.prod new file mode 100644 index 0000000..e54b767 --- /dev/null +++ b/caddy/Caddyfile.prod @@ -0,0 +1,14 @@ +# Caddyfile for Fellowship SUT - PRODUCTION +# Domain will be dynamically set via environment variable CADDY_DOMAIN +# Uses Let's Encrypt Production CA for trusted certificates +# Rate limit: 50 certificates per domain per week +# For local development, use Caddyfile (staging) instead +# For tutorial instances (SUT + Jenkins + IDE), use Caddyfile.fellowship instead + +{$CADDY_DOMAIN:localhost} { + # Let Caddy use its default automatic HTTPS issuers. + # This avoids hard-failing when a single ACME CA is temporarily rate-limited. + + reverse_proxy /api/* backend:5000 + reverse_proxy /* frontend:3000 +} \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..360992b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,119 @@ +# version is obsolete in newer docker-compose versions +# +# Environment-aware Docker Compose configuration +# Supports both production (fellowship) and local dev (fellowship-local) stacks +# Usage: +# Production: cp .env.prod .env && docker-compose up -d (containers: fellowship_*) +# Local dev: cp .env.local .env && docker-compose up -d (containers: fellowship-local_*) +# +# The COMPOSE_PROJECT_NAME environment variable controls container naming: +# - Omitted or 'fellowship' → containers: fellowship_backend_1, fellowship_frontend_1 +# - 'fellowship-local' → containers: fellowship-local_backend_1, fellowship-local_frontend_1 +# +# This allows both environments to coexist without conflicts. + +services: + backend: + build: + context: ./sut/backend + dockerfile: Dockerfile + # ✓ No container_name: allows COMPOSE_PROJECT_NAME-based naming + # Port 5000 is intentionally NOT exposed to the host — backend is only reached + # via Caddy reverse-proxy (internal Docker network: backend:5000). + # macOS AirPlay Receiver occupies host port 5000 (Monterey+), so binding it + # would fail. Direct API access for debugging: docker exec or /api through Caddy. + volumes: + - backend_data:/app/data + - ./sut/backend:/app + # Exclude node_modules and data from volume mount to avoid conflicts + environment: + - FLASK_APP=app.py + - FLASK_ENV=development + - DATABASE_URL=sqlite:////app/data/fellowship.db + - SECRET_KEY=dev-secret-key-change-in-production + - AZURE_OPENAI_ENDPOINT=${AZURE_OPENAI_ENDPOINT:-} + - AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY:-} + - AZURE_OPENAI_DEPLOYMENT=${AZURE_OPENAI_DEPLOYMENT:-} + - AZURE_OPENAI_API_VERSION=${AZURE_OPENAI_API_VERSION:-} + working_dir: /app + command: python app.py + restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:5000/api/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + + frontend: + build: + context: ./sut/frontend + dockerfile: Dockerfile + # ✓ No container_name: allows COMPOSE_PROJECT_NAME-based naming + # Port 3000 is intentionally NOT exposed to the host — Caddy reverse-proxies + # to frontend:3000 via the internal Docker network. Colima's sshfs SSH tunnels + # conflict with host-bound :3000, so we leave it unmapped. + volumes: + - ./sut/frontend:/app + - frontend_node_modules:/app/node_modules + environment: + - REACT_APP_API_URL=/api + - REACT_APP_ENABLE_TEST_CONTROLS=${REACT_APP_ENABLE_TEST_CONTROLS:-true} + - CHOKIDAR_USEPOLLING=true + - SKIP_PREFLIGHT_CHECK=true + - DISABLE_ESLINT_PLUGIN=true + - FAST_REFRESH=false + - FRONTEND_MODE=${FRONTEND_MODE:-dev} + - NODE_ENV=development + - WDS_SOCKET_PORT=${WDS_SOCKET_PORT:-80} + - WDS_SOCKET_HOST=${CADDY_DOMAIN:-localhost} + - WDS_SOCKET_PROTOCOL=${WDS_SOCKET_PROTOCOL:-ws} + - WDS_SOCKET_PATH=${WDS_SOCKET_PATH:-/ws} + command: sh -c "npm install && if [ \"${FRONTEND_MODE:-dev}\" = \"prod\" ]; then npm run build && npx --yes serve -s build -l 3000; else npm start; fi" + depends_on: + - backend + restart: unless-stopped + + caddy: + image: caddy:2-alpine + # ✓ No container_name: allows COMPOSE_PROJECT_NAME-based naming + ports: + - "80:80" + - "443:443" + volumes: + - ${CADDYFILE_PATH:-./caddy/Caddyfile.local}:/etc/caddy/Caddyfile:ro + - caddy_data:/data + - caddy_config:/config + environment: + # Use CADDY_DOMAIN from environment/env file, fallback to localhost for local development + CADDY_DOMAIN: ${CADDY_DOMAIN:-localhost} + # DevOps Escape Room HTTPS subdomains — prepend jenkins-/ide- to CADDY_DOMAIN. + # These env vars are required when using Caddyfile (staging) or Caddyfile.prod. + # They are NOT needed when using Caddyfile.local (CI / local HTTP-only dev). + JENKINS_DOMAIN: ${JENKINS_DOMAIN:-} + IDE_DOMAIN: ${IDE_DOMAIN:-} + GITEA_DOMAIN: ${GITEA_DOMAIN:-} + # Allow Caddy to reach services in the devops-escape-room compose stack + # (Jenkins on host:8080 and code-server on host:8443) via host.docker.internal. + extra_hosts: + - "host.docker.internal:host-gateway" + depends_on: + - backend + - frontend + restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost/"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 20s + +volumes: + backend_data: + driver: local + frontend_node_modules: + driver: local + caddy_data: + driver: local + caddy_config: + driver: local \ No newline at end of file diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..a4594a1 --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,79 @@ +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + # Logging + access_log /var/log/nginx/access.log; + error_log /var/log/nginx/error.log; + + # Gzip compression + gzip on; + gzip_vary on; + gzip_min_length 1024; + gzip_types text/plain text/css text/xml text/javascript application/json application/javascript application/xml+rss; + + # Upstream servers + upstream backend { + server backend:5000; + } + + upstream frontend { + server frontend:3000; + } + + server { + listen 80; + server_name _; + + # Increase body size for API requests + client_max_body_size 10M; + + # Swagger UI static files - must come before /api + location ~ ^/api/swagger/(static|favicon|swagger-ui) { + proxy_pass http://backend; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + # API routes - proxy to backend (CORS handled by Flask) + location /api { + proxy_pass http://backend; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_cache_bypass $http_upgrade; + # Note: CORS headers are handled by Flask-CORS, not nginx + } + + # Frontend routes - proxy to React app + location / { + proxy_pass http://frontend; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_cache_bypass $http_upgrade; + } + + # Health check endpoint + location /health { + access_log off; + return 200 "healthy\n"; + add_header Content-Type text/plain; + } + } +} \ No newline at end of file diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..4c0df36 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,26 @@ +[pytest] +testpaths = tests +python_files = test_*.py +python_classes = Test* +python_functions = test_* +addopts = + --strict-markers + --tb=short + --html=reports/report.html + --self-contained-html + -v +markers = + smoke: Smoke tests + regression: Regression tests + dark_magic: Tests for dark magic challenges + api: API endpoint tests + ui: UI/Playwright tests + bdd: Gherkin/BDD style test scenarios + realstack: Requires real docker-compose frontend/backend/caddy stack + cors: CORS behavior and preflight verification + login: Login flow coverage + chat: NPC chat interaction coverage + npc: NPC-specific scenarios + unit: Unit tests + integration: Integration tests + script: Script/shell script tests diff --git a/sut/backend/.env.example b/sut/backend/.env.example new file mode 100644 index 0000000..3fa56c3 --- /dev/null +++ b/sut/backend/.env.example @@ -0,0 +1,14 @@ +# Azure OpenAI Configuration +# Get these values from your Azure OpenAI resource dashboard +AZURE_OPENAI_ENDPOINT=https://.openai.azure.com/ +AZURE_OPENAI_API_KEY=your_api_key_here +AZURE_OPENAI_DEPLOYMENT=gpt-4o +AZURE_OPENAI_API_VERSION=2024-11-20 +AZURE_OPENAI_MAX_TOKENS=500 +AZURE_OPENAI_TEMPERATURE=0.85 + +# Flask Configuration +SECRET_KEY=dev-secret-key-change-in-production + +# Database Configuration (optional—defaults to SQLite) +# DATABASE_URL=sqlite:////app/data/fellowship.db diff --git a/sut/backend/Dockerfile b/sut/backend/Dockerfile new file mode 100644 index 0000000..91fb8d0 --- /dev/null +++ b/sut/backend/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3.11-slim + +WORKDIR /app + +# Install system dependencies +RUN apt-get update && apt-get install -y \ + curl \ + && rm -rf /var/lib/apt/lists/* + +# Copy requirements and install Python dependencies +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +# Copy application code +COPY . . + +# Create data directory for SQLite +RUN mkdir -p /app/data + +# Expose port +EXPOSE 5000 + +# Run the application +CMD ["python", "app.py"] diff --git a/sut/backend/app.py b/sut/backend/app.py new file mode 100644 index 0000000..a71e703 --- /dev/null +++ b/sut/backend/app.py @@ -0,0 +1,229 @@ +"""Main Flask application for the Fellowship Quest Tracker.""" +from dotenv import load_dotenv +import os + +# Load environment variables from .env file (if present) +# This must happen before any config is loaded +load_dotenv() + +from flask import Flask, jsonify, request, session +from flask_cors import CORS +from flask_restx import Api +from config import config +from models.user import db +from utils.database import init_db +from utils.seed_data import seed_database +from routes.auth import auth_bp, auth_api +from routes.quests import quests_bp, quests_api +from routes.members import members_bp, members_api +from routes.locations import locations_bp, locations_api +from routes.npc_chat import npc_chat_bp, npc_chat_api +from routes.shop import shop_bp, shop_api +from services.shop_service import ShopService +from datetime import datetime, timezone, timedelta +from typing import Optional + + +APP_STARTED_AT_UTC = datetime.now(timezone.utc) + + +def _read_uptime_seconds() -> Optional[float]: + try: + with open('/proc/uptime', 'r', encoding='utf-8') as uptime_file: + first_field = uptime_file.read().split()[0] + return float(first_field) + except (OSError, ValueError, IndexError): + return None + + +def _instance_boot_time_utc() -> Optional[datetime]: + uptime_seconds = _read_uptime_seconds() + if uptime_seconds is None: + return None + return datetime.now(timezone.utc) - timedelta(seconds=uptime_seconds) + +def create_app(config_name: str = None) -> Flask: + """Create and configure Flask application.""" + app = Flask(__name__) + + # Load configuration + config_name = config_name or os.environ.get('FLASK_ENV', 'development') + app.config.from_object(config[config_name]) + + # Configure session + app.config['SESSION_COOKIE_HTTPONLY'] = True + app.config['SESSION_COOKIE_SAMESITE'] = 'Lax' # Allows cross-site cookies for development + app.config['SESSION_COOKIE_SECURE'] = False # Set to True in production with HTTPS + + # Initialize CORS with specific origins (required when using credentials) + # Allow both localhost:3000 (dev) and localhost (production via nginx) + # Flask-CORS handles preflight OPTIONS requests automatically + CORS( + app, + supports_credentials=True, + resources={ + r"/api/*": { + "origins": [ + "http://localhost:3000", + "http://localhost", + "http://127.0.0.1:3000", + "http://127.0.0.1", + ] + } + }, + allow_headers=["Content-Type", "Authorization"], + methods=["GET", "POST", "PUT", "DELETE", "OPTIONS"], + ) + + # Initialize database (this also initializes db) + init_db(app) + + # Seed database with initial data + # Skip seeding in test mode + # Skip seeding in test mode + if not app.config.get("TESTING") and not os.environ.get("TESTING"): + seed_database(app) + # Create main API with Swagger documentation + api = Api( + app, + version='1.0', + title='The Fellowship\'s Quest List API', + description='REST API for tracking the Fellowship\'s epic journey through Middle-earth', + doc='/api/swagger/', + prefix='/api' + ) + + # Register blueprints (this registers both the blueprints and their Flask-RESTX routes) + # Flask-RESTX Api objects bound to blueprints automatically register routes when blueprint is registered + app.register_blueprint(auth_bp) + app.register_blueprint(quests_bp) + app.register_blueprint(members_bp) + app.register_blueprint(locations_bp) + app.register_blueprint(npc_chat_bp) + app.register_blueprint(shop_bp) + + # Note: We don't add the Api objects as namespaces because they're already bound to blueprints + # Adding them as namespaces would cause route conflicts. The routes work from blueprints alone. + # For Swagger, each Api has its own documentation, but we can add them to the main API if needed. + # However, this requires creating Namespace objects, not using the Api objects directly. + + # Health check endpoint + @app.route('/api/health') + def health(): + """Health check endpoint.""" + return jsonify({'status': 'healthy', 'service': 'fellowship-quest-tracker'}), 200 + + # Test cleanup endpoint (development only - deletes accumulated test data) + @app.route('/api/test/cleanup', methods=['POST']) + def test_cleanup(): + """Delete quests created during e2e test runs to prevent database bloat.""" + from models.quest import Quest as QuestModel + # Only allowed in non-production environments + if app.config.get('ENV') == 'production': + return jsonify({'error': 'Not available in production'}), 403 + test_patterns = [ + 'BDD', 'Test Quest', 'Find the One Ring', 'Explore Rivendell', + 'Defeat Sauron', 'Completed Quest', 'In Progress Quest', + 'Journey Quest', 'Battle Quest', 'Ring Quest', + 'Mordor Quest', 'Rivendell Quest', 'Dark Magic Quest', + 'Mini-game Quest', + ] + deleted = 0 + try: + for pattern in test_patterns: + quests = QuestModel.query.filter(QuestModel.title.contains(pattern)).all() + for q in quests: + db.session.delete(q) + deleted += 1 + db.session.commit() + return jsonify({'deleted': deleted, 'status': 'ok'}), 200 + except Exception as e: + db.session.rollback() + return jsonify({'error': str(e)}), 500 + + @app.route('/api/test/set_gold', methods=['POST']) + def test_set_gold(): + """Set the current user's gold balance (for e2e testing only).""" + if app.config.get('ENV') == 'production': + return jsonify({'error': 'Not available in production'}), 403 + from models.user import User as UserModel + user_id = session.get('user_id') + if not user_id: + return jsonify({'error': 'Not authenticated'}), 401 + data = request.get_json() or {} + gold = data.get('gold') + if gold is None or not isinstance(gold, int) or gold < 0: + return jsonify({'error': 'gold must be a non-negative integer'}), 400 + try: + user = UserModel.query.get(user_id) + if not user: + return jsonify({'error': 'User not found'}), 404 + user.gold = gold + db.session.commit() + return jsonify({'gold': user.gold, 'status': 'ok'}), 200 + except Exception as e: + db.session.rollback() + return jsonify({'error': str(e)}), 500 + + @app.route('/api/test/reset_shop', methods=['POST']) + def test_reset_shop(): + """Reset all items to not-sold and clear inventory for e2e testing.""" + if app.config.get('ENV') == 'production': + return jsonify({'error': 'Not available in production'}), 403 + try: + result = ShopService.reset_for_tests() + return jsonify(result), 200 + except Exception as e: + return jsonify({'error': str(e)}), 500 + + @app.route('/api/status') + def status(): + """Runtime status endpoint exposed for public uptime/restart information.""" + instance_boot_time = _instance_boot_time_utc() + payload = { + 'status': 'ok', + 'service': 'fellowship-quest-tracker', + 'app_started_at_utc': APP_STARTED_AT_UTC.isoformat(), + 'instance_boot_time_utc': instance_boot_time.isoformat() if instance_boot_time else None, + 'now_utc': datetime.now(timezone.utc).isoformat(), + } + return jsonify(payload), 200 + + # API info endpoint (instead of root, since nginx handles root routing) + @app.route('/api') + def api_info(): + """API information endpoint.""" + return jsonify({ + 'message': 'Welcome to The Fellowship\'s Quest List API', + 'version': '1.0', + 'docs': '/api/swagger/', + 'health': '/api/health', + 'status': '/api/status' + }), 200 + + # Debug endpoint to list all registered routes (development only) + if app.config.get('DEBUG'): + @app.route('/api/routes') + def list_routes(): + """List all registered routes (debug endpoint).""" + routes = [] + for rule in app.url_map.iter_rules(): + if rule.rule.startswith('/api'): + routes.append({ + 'endpoint': rule.endpoint, + 'methods': list(rule.methods - {'HEAD', 'OPTIONS'}), + 'path': str(rule) + }) + return jsonify({'routes': sorted(routes, key=lambda x: x['path'])}), 200 + + return app + +if __name__ == '__main__': + try: + app = create_app() + app.run(host='0.0.0.0', port=5000, debug=True) + except Exception as e: + import traceback + print(f"Error starting application: {e}") + traceback.print_exc() + raise \ No newline at end of file diff --git a/sut/backend/config.py b/sut/backend/config.py new file mode 100644 index 0000000..6a77bba --- /dev/null +++ b/sut/backend/config.py @@ -0,0 +1,57 @@ +"""Configuration settings for the Fellowship Quest Tracker application.""" +import os +from pathlib import Path + +class Config: + """Base configuration.""" + SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-secret-key-change-in-production') + + # SQLite database configuration + BASE_DIR = Path(__file__).parent.parent.parent + DATA_DIR = Path('/app/data') + # Ensure data directory exists + try: + DATA_DIR.mkdir(parents=True, exist_ok=True) + except Exception as e: + print(f"Warning: Could not create data directory: {e}") + DATABASE_PATH = DATA_DIR / 'fellowship.db' + # Use environment variable if set, otherwise use default path + db_url = os.environ.get('DATABASE_URL') + if db_url: + SQLALCHEMY_DATABASE_URI = db_url + else: + # Use 4 slashes for absolute path: sqlite:////absolute/path + SQLALCHEMY_DATABASE_URI = f'sqlite:///{DATABASE_PATH}' + SQLALCHEMY_TRACK_MODIFICATIONS = False + + # API Configuration + RESTX_MASK_SWAGGER = False + RESTX_VALIDATE = True + RESTX_ERROR_404_HELP = False + + # Azure OpenAI configuration (server-side only) + # Load from environment variables—supply via .env file or container env vars + # DO NOT hardcode API keys or other sensitive values + AZURE_OPENAI_ENDPOINT = os.environ.get('AZURE_OPENAI_ENDPOINT', '').strip() + AZURE_OPENAI_API_KEY = os.environ.get('AZURE_OPENAI_API_KEY', '').strip() + AZURE_OPENAI_DEPLOYMENT = os.environ.get('AZURE_OPENAI_DEPLOYMENT', '').strip() + AZURE_OPENAI_API_VERSION = os.environ.get('AZURE_OPENAI_API_VERSION', '2024-11-20').strip() + AZURE_OPENAI_MAX_TOKENS = int(os.environ.get('AZURE_OPENAI_MAX_TOKENS', '500')) + AZURE_OPENAI_TEMPERATURE = float(os.environ.get('AZURE_OPENAI_TEMPERATURE', '0.85')) + +class DevelopmentConfig(Config): + """Development configuration.""" + DEBUG = True + FLASK_ENV = 'development' + +class ProductionConfig(Config): + """Production configuration.""" + DEBUG = False + FLASK_ENV = 'production' + +# Configuration mapping +config = { + 'development': DevelopmentConfig, + 'production': ProductionConfig, + 'default': DevelopmentConfig +} diff --git a/sut/backend/debug_azure.py b/sut/backend/debug_azure.py new file mode 100644 index 0000000..46e7bbe --- /dev/null +++ b/sut/backend/debug_azure.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 +"""Debug script to test Azure OpenAI connection and NPC response generation.""" +import sys +sys.path.insert(0, '/app') + +from flask import Flask +from config import Config + +# Quick config check +config = Config() +print("\n" + "="*70) +print("AZURE OPENAI CONFIG CHECK") +print("="*70) +print(f"Endpoint: {config.AZURE_OPENAI_ENDPOINT}") +print(f"API Key Present: {bool(config.AZURE_OPENAI_API_KEY)}") +print(f"API Key Length: {len(config.AZURE_OPENAI_API_KEY) if config.AZURE_OPENAI_API_KEY else 0}") +print(f"Deployment: {config.AZURE_OPENAI_DEPLOYMENT}") +print(f"API Version: {config.AZURE_OPENAI_API_VERSION}") + +# Try to create client +try: + from openai import AzureOpenAI + print("\n" + "="*70) + print("CREATING AZURE OPENAI CLIENT") + print("="*70) + client = AzureOpenAI( + azure_endpoint=config.AZURE_OPENAI_ENDPOINT, + api_key=config.AZURE_OPENAI_API_KEY, + api_version=config.AZURE_OPENAI_API_VERSION, + ) + print("✅ Client created successfully") + + # Try a simple API call + print("\n" + "="*70) + print("TESTING SIMPLE CHAT COMPLETION") + print("="*70) + response = client.chat.completions.create( + model=config.AZURE_OPENAI_DEPLOYMENT, + messages=[ + {"role": "system", "content": "You are Frodo Baggins. Respond briefly in one sentence."}, + {"role": "user", "content": "Do you like sports?"} + ], + temperature=0.7, + max_tokens=100, + ) + print(f"✅ API Call Successful!") + print(f"\nFrodo's Response: {response.choices[0].message.content}") + +except Exception as e: + print(f"\n✗ ERROR: {type(e).__name__}") + print(f"Details: {str(e)}") + import traceback + traceback.print_exc() + +print("\n" + "="*70) diff --git a/sut/backend/models/__init__.py b/sut/backend/models/__init__.py new file mode 100644 index 0000000..80c7145 --- /dev/null +++ b/sut/backend/models/__init__.py @@ -0,0 +1,9 @@ +"""Database models for the Fellowship Quest Tracker.""" +from .user import User +from .quest import Quest +from .member import Member +from .location import Location +from .item import Item +from .inventory_item import InventoryItem + +__all__ = ['User', 'Quest', 'Member', 'Location', 'Item', 'InventoryItem'] diff --git a/sut/backend/models/inventory_item.py b/sut/backend/models/inventory_item.py new file mode 100644 index 0000000..3b59619 --- /dev/null +++ b/sut/backend/models/inventory_item.py @@ -0,0 +1,40 @@ +"""Purchased inventory item model.""" +from models.user import db +from typing import Dict, Any + + +class InventoryItem(db.Model): + """User-owned purchased item entry.""" + + __tablename__ = 'inventory_items' + + id = db.Column(db.Integer, primary_key=True) + user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False, index=True) + item_id = db.Column(db.Integer, db.ForeignKey('items.id'), nullable=False, unique=True) + paid_price = db.Column(db.Integer, nullable=False) + base_price_revealed = db.Column(db.Integer, nullable=False) + savings_percent = db.Column(db.Float, nullable=False) + acquired_price = db.Column(db.Integer, nullable=False, default=0) # Legacy field, set to paid_price + created_at = db.Column(db.DateTime, default=db.func.current_timestamp()) + + user = db.relationship('User', foreign_keys=[user_id], backref='inventory_items') + item = db.relationship('Item', foreign_keys=[item_id], backref='inventory_entry') + + def to_dict(self) -> Dict[str, Any]: + """Serialize full inventory item details.""" + return { + 'id': self.id, + 'user_id': self.user_id, + 'item_id': self.item_id, + 'item_name': self.item.name if self.item else None, + 'owner_character': self.item.owner_character if self.item else None, + 'description': self.item.description if self.item else None, + 'paid_price': self.paid_price, + 'base_price_revealed': self.base_price_revealed, + 'savings_percent': self.savings_percent, + 'acquired_price': self.acquired_price, + 'created_at': self.created_at.isoformat() if self.created_at else None, + } + + def __repr__(self) -> str: + return f'' diff --git a/sut/backend/models/item.py b/sut/backend/models/item.py new file mode 100644 index 0000000..fe82da2 --- /dev/null +++ b/sut/backend/models/item.py @@ -0,0 +1,41 @@ +"""Market item model for NPC bargaining.""" +from models.user import db +from typing import Dict, Any + + +class Item(db.Model): + """Unique sellable item owned by an NPC character.""" + + __tablename__ = 'items' + + id = db.Column(db.Integer, primary_key=True) + name = db.Column(db.String(200), nullable=False) + description = db.Column(db.Text, nullable=True) + owner_character = db.Column(db.String(80), nullable=False, index=True) + personality_profile = db.Column(db.String(40), nullable=False, default='bargainer') + base_price = db.Column(db.Integer, nullable=False) + asking_price = db.Column(db.Integer, nullable=False) + is_sold = db.Column(db.Boolean, nullable=False, default=False) + created_at = db.Column(db.DateTime, default=db.func.current_timestamp()) + updated_at = db.Column( + db.DateTime, + default=db.func.current_timestamp(), + onupdate=db.func.current_timestamp(), + ) + + def to_public_dict(self) -> Dict[str, Any]: + """Serialize without revealing hidden base price.""" + return { + 'id': self.id, + 'name': self.name, + 'description': self.description, + 'owner_character': self.owner_character, + 'personality_profile': self.personality_profile, + 'asking_price': self.asking_price, + 'is_sold': self.is_sold, + 'created_at': self.created_at.isoformat() if self.created_at else None, + 'updated_at': self.updated_at.isoformat() if self.updated_at else None, + } + + def __repr__(self) -> str: + return f'' diff --git a/sut/backend/models/location.py b/sut/backend/models/location.py new file mode 100644 index 0000000..70cbf8c --- /dev/null +++ b/sut/backend/models/location.py @@ -0,0 +1,30 @@ +"""Location model for Middle-earth locations.""" +from models.user import db +from typing import Dict, Any + +class Location(db.Model): + """Location model for Middle-earth locations.""" + __tablename__ = 'locations' + + id = db.Column(db.Integer, primary_key=True) + name = db.Column(db.String(100), nullable=False, unique=True) + description = db.Column(db.Text, nullable=True) + region = db.Column(db.String(100), nullable=False) # Eriador, Rhovanion, Mordor, etc. + map_x = db.Column(db.Float, nullable=True) # X coordinate on map (pixel, 0-5000, horizontal) + map_y = db.Column(db.Float, nullable=True) # Y coordinate on map (pixel, 0-4344, vertical) + created_at = db.Column(db.DateTime, default=db.func.current_timestamp()) + + def to_dict(self) -> Dict[str, Any]: + """Convert location to dictionary.""" + return { + 'id': self.id, + 'name': self.name, + 'description': self.description, + 'region': self.region, + 'map_x': self.map_x, + 'map_y': self.map_y, + 'created_at': self.created_at.isoformat() if self.created_at else None + } + + def __repr__(self) -> str: + return f'' diff --git a/sut/backend/models/member.py b/sut/backend/models/member.py new file mode 100644 index 0000000..092c9df --- /dev/null +++ b/sut/backend/models/member.py @@ -0,0 +1,30 @@ +"""Fellowship member model.""" +from models.user import db +from typing import Dict, Any + +class Member(db.Model): + """Fellowship member model.""" + __tablename__ = 'members' + + id = db.Column(db.Integer, primary_key=True) + name = db.Column(db.String(100), nullable=False, unique=True) + race = db.Column(db.String(50), nullable=False) # Hobbit, Human, Elf, Dwarf, Wizard + role = db.Column(db.String(100), nullable=False) # Ring-bearer, Companion, Ranger, etc. + status = db.Column(db.String(20), nullable=False, default='active') # active, inactive + description = db.Column(db.Text, nullable=True) + created_at = db.Column(db.DateTime, default=db.func.current_timestamp()) + + def to_dict(self) -> Dict[str, Any]: + """Convert member to dictionary.""" + return { + 'id': self.id, + 'name': self.name, + 'race': self.race, + 'role': self.role, + 'status': self.status, + 'description': self.description, + 'created_at': self.created_at.isoformat() if self.created_at else None + } + + def __repr__(self) -> str: + return f'' diff --git a/sut/backend/models/quest.py b/sut/backend/models/quest.py new file mode 100644 index 0000000..df2b477 --- /dev/null +++ b/sut/backend/models/quest.py @@ -0,0 +1,58 @@ +"""Quest model for tracking Fellowship quests.""" +from models.user import db +from datetime import datetime +from typing import Dict, Any, Optional + +class Quest(db.Model): + """Quest model for tracking Fellowship quests.""" + __tablename__ = 'quests' + + id = db.Column(db.Integer, primary_key=True) + title = db.Column(db.String(200), nullable=False) + description = db.Column(db.Text, nullable=True) + status = db.Column(db.String(50), nullable=False, default='not_yet_begun') # not_yet_begun, the_road_goes_ever_on, it_is_done, the_shadow_falls + quest_type = db.Column(db.String(50), nullable=True) # The Journey, The Battle, The Fellowship, The Ring, Dark Magic + priority = db.Column(db.String(20), nullable=True) # Critical, Important, Standard + is_dark_magic = db.Column(db.Boolean, default=False, nullable=False) + assigned_to = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=True) + location_id = db.Column(db.Integer, db.ForeignKey('locations.id'), nullable=True) + character_quote = db.Column(db.Text, nullable=True) + created_at = db.Column(db.DateTime, default=db.func.current_timestamp()) + updated_at = db.Column(db.DateTime, default=db.func.current_timestamp(), onupdate=db.func.current_timestamp()) + completed_at = db.Column(db.DateTime, nullable=True) + + # Relationships + assignee = db.relationship('User', foreign_keys=[assigned_to], backref='quests') + location = db.relationship('Location', foreign_keys=[location_id], backref='quests') + + def to_dict(self) -> Dict[str, Any]: + """Convert quest to dictionary.""" + # Map old status values to new LOTR terminology for backward compatibility + status_mapping = { + 'pending': 'not_yet_begun', + 'in_progress': 'the_road_goes_ever_on', + 'completed': 'it_is_done', + 'blocked': 'the_shadow_falls' + } + mapped_status = status_mapping.get(self.status, self.status) + + return { + 'id': self.id, + 'title': self.title, + 'description': self.description, + 'status': mapped_status, + 'quest_type': self.quest_type, + 'priority': self.priority, + 'is_dark_magic': self.is_dark_magic, + 'assigned_to': self.assigned_to, + 'location_id': self.location_id, + 'location_name': self.location.name if self.location else None, + 'assignee_name': self.assignee.username if self.assignee else None, + 'character_quote': self.character_quote, + 'created_at': self.created_at.isoformat() if self.created_at else None, + 'updated_at': self.updated_at.isoformat() if self.updated_at else None, + 'completed_at': self.completed_at.isoformat() if self.completed_at else None + } + + def __repr__(self) -> str: + return f'' diff --git a/sut/backend/models/user.py b/sut/backend/models/user.py new file mode 100644 index 0000000..4e31657 --- /dev/null +++ b/sut/backend/models/user.py @@ -0,0 +1,41 @@ +"""User model for authentication.""" +from flask_sqlalchemy import SQLAlchemy +from werkzeug.security import generate_password_hash, check_password_hash +from typing import Dict, Any + +# Shared db instance for all models +db = SQLAlchemy() + +class User(db.Model): + """User model for authentication.""" + __tablename__ = 'users' + + id = db.Column(db.Integer, primary_key=True) + username = db.Column(db.String(80), unique=True, nullable=False, index=True) + email = db.Column(db.String(120), unique=True, nullable=False) + password_hash = db.Column(db.String(255), nullable=False) + role = db.Column(db.String(50), nullable=False) # Fellowship member name + gold = db.Column(db.Integer, nullable=False, default=500) + created_at = db.Column(db.DateTime, default=db.func.current_timestamp()) + + def set_password(self, password: str) -> None: + """Hash and set password.""" + self.password_hash = generate_password_hash(password, method='pbkdf2:sha256') + + def check_password(self, password: str) -> bool: + """Check if provided password matches hash.""" + return check_password_hash(self.password_hash, password) + + def to_dict(self) -> Dict[str, Any]: + """Convert user to dictionary.""" + return { + 'id': self.id, + 'username': self.username, + 'email': self.email, + 'role': self.role, + 'gold': self.gold, + 'created_at': self.created_at.isoformat() if self.created_at else None + } + + def __repr__(self) -> str: + return f'' diff --git a/sut/backend/requirements.txt b/sut/backend/requirements.txt new file mode 100644 index 0000000..893f1a3 --- /dev/null +++ b/sut/backend/requirements.txt @@ -0,0 +1,10 @@ +Flask==3.0.0 +flask-restx==1.3.0 +flask-cors==4.0.0 +flask-sqlalchemy==3.1.1 +flask-migrate==4.0.5 +werkzeug==3.0.1 +python-dotenv==1.0.0 +bcrypt==4.1.2 +openai==1.3.9 +httpx==0.24.1 diff --git a/sut/backend/routes/__init__.py b/sut/backend/routes/__init__.py new file mode 100644 index 0000000..ff4cf4a --- /dev/null +++ b/sut/backend/routes/__init__.py @@ -0,0 +1 @@ +"""API routes for the Fellowship Quest Tracker.""" diff --git a/sut/backend/routes/auth.py b/sut/backend/routes/auth.py new file mode 100644 index 0000000..a491d03 --- /dev/null +++ b/sut/backend/routes/auth.py @@ -0,0 +1,121 @@ +"""Authentication routes.""" +from flask import Blueprint, request, session +from flask_restx import Api, Resource, fields +from models.user import User +from services.auth_service import authenticate_user, register_user +from typing import Dict, Any + +auth_bp = Blueprint('auth', __name__, url_prefix='/api') +auth_api = Api(auth_bp, doc=False, prefix='/auth') + +# Request/Response models for Swagger +login_model = auth_api.model('Login', { + 'username': fields.String(required=True, description='Username'), + 'password': fields.String(required=True, description='Password') +}) + +user_response_model = auth_api.model('UserResponse', { + 'id': fields.Integer(description='User ID'), + 'username': fields.String(description='Username'), + 'email': fields.String(description='Email'), + 'role': fields.String(description='Fellowship member role'), + 'gold': fields.Integer(description='Current gold balance'), +}) + +login_response_model = auth_api.model('LoginResponse', { + 'message': fields.String(description='Success message'), + 'user': fields.Nested(user_response_model, description='User information') +}) + +signup_model = auth_api.model('Signup', { + 'username': fields.String(required=True, description='Desired username (minimum 3 characters)'), + 'password': fields.String(required=True, description='Desired password (minimum 8 characters and at least one number)'), + 'email': fields.String(required=False, description='Optional email address') +}) + + +@auth_api.route('/signup') +class Signup(Resource): + """Public signup endpoint for open SUT registration.""" + + @auth_api.expect(signup_model, validate=False) + @auth_api.response(201, 'Signup successful', login_response_model) + @auth_api.response(400, 'Validation error') + @auth_api.doc(description='Register user and create session') + def post(self) -> tuple[Dict[str, Any], int]: + """Register a user and immediately log them in.""" + data = request.get_json() or {} + + username = data.get('username') + password = data.get('password') + email = data.get('email') + + try: + user = register_user(username=username, password=password, email=email) + except ValueError as error: + return {'error': str(error)}, 400 + + session['user_id'] = user.id + session['username'] = user.username + + return { + 'message': 'Signup successful', + 'user': user.to_dict(), + }, 201 + +@auth_api.route('/login') +class Login(Resource): + """User login endpoint.""" + + @auth_api.expect(login_model) + @auth_api.marshal_with(login_response_model) + @auth_api.doc(description='Authenticate user and create session') + def post(self) -> tuple[Dict[str, Any], int]: + """Login user.""" + data = request.get_json() + username = data.get('username') + password = data.get('password') + + if not username or not password: + return {'error': 'Username and password are required'}, 400 + + user = authenticate_user(username, password) + if not user: + return {'error': 'Invalid credentials'}, 401 + + # Create session + session['user_id'] = user.id + session['username'] = user.username + + return { + 'message': 'Login successful', + 'user': user.to_dict() + }, 200 + +@auth_api.route('/logout') +class Logout(Resource): + """User logout endpoint.""" + + @auth_api.doc(description='Logout user and destroy session') + def post(self) -> tuple[Dict[str, Any], int]: + """Logout user.""" + session.clear() + return {'message': 'Logout successful'}, 200 + +@auth_api.route('/me') +class CurrentUser(Resource): + """Get current authenticated user.""" + + @auth_api.marshal_with(user_response_model) + @auth_api.doc(description='Get current authenticated user information') + def get(self) -> tuple[Dict[str, Any], int]: + """Get current user.""" + user_id = session.get('user_id') + if not user_id: + return {'error': 'Not authenticated'}, 401 + + user = User.query.get(user_id) + if not user: + return {'error': 'User not found'}, 404 + + return user.to_dict(), 200 diff --git a/sut/backend/routes/locations.py b/sut/backend/routes/locations.py new file mode 100644 index 0000000..6f4136d --- /dev/null +++ b/sut/backend/routes/locations.py @@ -0,0 +1,41 @@ +"""Location routes.""" +from flask import Blueprint +from flask_restx import Api, Resource, fields +from models.location import Location +from typing import Dict, Any, List + +locations_bp = Blueprint('locations', __name__, url_prefix='/api') +locations_api = Api(locations_bp, doc=False, prefix='/locations') + +# Response model for Swagger +location_response_model = locations_api.model('LocationResponse', { + 'id': fields.Integer(description='Location ID'), + 'name': fields.String(description='Location name'), + 'description': fields.String(description='Location description'), + 'region': fields.String(description='Region name'), + 'map_x': fields.Float(description='Map X coordinate (pixel)'), + 'map_y': fields.Float(description='Map Y coordinate (pixel)'), + 'created_at': fields.String(description='Creation timestamp') +}) + +@locations_api.route('/') +class LocationList(Resource): + """Location list endpoints.""" + + @locations_api.marshal_list_with(location_response_model) + @locations_api.doc(description='Get all Middle-earth locations') + def get(self) -> tuple[List[Dict[str, Any]], int]: + """Get all locations.""" + locations = Location.query.all() + return [location.to_dict() for location in locations], 200 + +@locations_api.route('/') +class LocationDetail(Resource): + """Location detail endpoints.""" + + @locations_api.marshal_with(location_response_model) + @locations_api.doc(description='Get location by ID') + def get(self, location_id: int) -> tuple[Dict[str, Any], int]: + """Get location by ID.""" + location = Location.query.get_or_404(location_id) + return location.to_dict(), 200 diff --git a/sut/backend/routes/members.py b/sut/backend/routes/members.py new file mode 100644 index 0000000..28f7e14 --- /dev/null +++ b/sut/backend/routes/members.py @@ -0,0 +1,41 @@ +"""Fellowship member routes.""" +from flask import Blueprint +from flask_restx import Api, Resource, fields +from models.member import Member +from typing import Dict, Any, List + +members_bp = Blueprint('members', __name__, url_prefix='/api') +members_api = Api(members_bp, doc=False, prefix='/members') + +# Response model for Swagger +member_response_model = members_api.model('MemberResponse', { + 'id': fields.Integer(description='Member ID'), + 'name': fields.String(description='Member name'), + 'race': fields.String(description='Member race'), + 'role': fields.String(description='Member role'), + 'status': fields.String(description='Member status'), + 'description': fields.String(description='Member description'), + 'created_at': fields.String(description='Creation timestamp') +}) + +@members_api.route('/') +class MemberList(Resource): + """Fellowship member list endpoints.""" + + @members_api.marshal_list_with(member_response_model) + @members_api.doc(description='Get all Fellowship members') + def get(self) -> tuple[List[Dict[str, Any]], int]: + """Get all Fellowship members.""" + members = Member.query.all() + return [member.to_dict() for member in members], 200 + +@members_api.route('/') +class MemberDetail(Resource): + """Fellowship member detail endpoints.""" + + @members_api.marshal_with(member_response_model) + @members_api.doc(description='Get member by ID') + def get(self, member_id: int) -> tuple[Dict[str, Any], int]: + """Get member by ID.""" + member = Member.query.get_or_404(member_id) + return member.to_dict(), 200 diff --git a/sut/backend/routes/npc_chat.py b/sut/backend/routes/npc_chat.py new file mode 100644 index 0000000..2dd8efe --- /dev/null +++ b/sut/backend/routes/npc_chat.py @@ -0,0 +1,174 @@ +"""NPC chat routes backed by Azure AI service.""" +import uuid +from typing import Any, Dict + +from flask import Blueprint, request, session +from flask_restx import Api, Resource, fields + +from models.user import User +from models.quest import Quest, db +from services.npc_chat_service import NpcChatService + +npc_chat_bp = Blueprint('npc_chat', __name__, url_prefix='/api') +npc_chat_api = Api(npc_chat_bp, doc=False, prefix='/chat') + +chat_start_model = npc_chat_api.model('ChatStartRequest', { + 'character': fields.String(required=False, description='frodo|sam|gandalf'), +}) + +chat_message_model = npc_chat_api.model('ChatMessageRequest', { + 'character': fields.String(required=False, description='frodo|sam|gandalf'), + 'message': fields.String(required=True, description='User message'), +}) + +quest_creation_model = npc_chat_api.model('QuestCreationRequest', { + 'character': fields.String(required=False, description='frodo|sam|gandalf - NPC who proposes the quest'), + 'title': fields.String(required=True, description='Quest title'), + 'description': fields.String(required=True, description='Quest description'), + 'quest_type': fields.String(required=True, description='Quest type (The Journey, The Battle, The Fellowship, The Ring, Dark Magic)'), + 'priority': fields.String(required=True, description='Quest priority (Critical, Important, Standard)'), +}) + + +def _require_auth() -> bool: + return session.get('user_id') is not None + + +def _get_current_user() -> User: + user_id = session.get('user_id') + return User.query.get(user_id) + + +def _get_chat_scope_id() -> str: + scope_id = session.get('chat_scope_id') + if not scope_id: + scope_id = uuid.uuid4().hex + session['chat_scope_id'] = scope_id + return scope_id + + +@npc_chat_api.route('/start') +class ChatStart(Resource): + @npc_chat_api.expect(chat_start_model) + def post(self) -> tuple[Dict[str, Any], int]: + if not _require_auth(): + return {'error': 'Authentication required'}, 401 + + user = _get_current_user() + if not user: + return {'error': 'User not found'}, 404 + + data = request.get_json() or {} + scope_id = _get_chat_scope_id() + payload = NpcChatService.start_conversation( + user_id=user.id, + username=user.username, + character=data.get('character'), + scope_id=scope_id, + ) + return payload, 200 + + +@npc_chat_api.route('/message') +class ChatMessage(Resource): + @npc_chat_api.expect(chat_message_model) + def post(self) -> tuple[Dict[str, Any], int]: + if not _require_auth(): + return {'error': 'Authentication required'}, 401 + + user = _get_current_user() + if not user: + return {'error': 'User not found'}, 404 + + data = request.get_json() or {} + message = (data.get('message') or '').strip() + if not message: + return {'error': 'message is required'}, 400 + + scope_id = _get_chat_scope_id() + payload = NpcChatService.send_message( + user_id=user.id, + username=user.username, + character=data.get('character'), + user_message=message, + scope_id=scope_id, + ) + return payload, 200 + + +@npc_chat_api.route('/session') +class ChatSession(Resource): + def get(self) -> tuple[Dict[str, Any], int]: + if not _require_auth(): + return {'error': 'Authentication required'}, 401 + + user = _get_current_user() + if not user: + return {'error': 'User not found'}, 404 + + character = request.args.get('character') + scope_id = _get_chat_scope_id() + payload = NpcChatService.get_session(user_id=user.id, character=character, scope_id=scope_id) + return payload, 200 + + +@npc_chat_api.route('/reset') +class ChatReset(Resource): + @npc_chat_api.expect(chat_start_model) + def post(self) -> tuple[Dict[str, Any], int]: + if not _require_auth(): + return {'error': 'Authentication required'}, 401 + + user = _get_current_user() + if not user: + return {'error': 'User not found'}, 404 + + data = request.get_json() or {} + scope_id = _get_chat_scope_id() + payload = NpcChatService.reset_session(user_id=user.id, character=data.get('character'), scope_id=scope_id) + return payload, 200 + + +@npc_chat_api.route('/create_quest') +class ChatCreateQuest(Resource): + """Create a quest from NPC chat interaction.""" + + @npc_chat_api.expect(quest_creation_model) + def post(self) -> tuple[Dict[str, Any], int]: + """Create a quest proposed by an NPC. + + This endpoint allows the frontend to persist a suggested quest + that was generated during NPC chat. + """ + if not _require_auth(): + return {'error': 'Authentication required'}, 401 + + user = _get_current_user() + if not user: + return {'error': 'User not found'}, 404 + + data = request.get_json() or {} + + # Validate required fields + required_fields = ['title', 'description', 'quest_type', 'priority'] + if not all(data.get(field) for field in required_fields): + return {'error': 'Missing required fields: title, description, quest_type, priority'}, 400 + + # Create the quest + quest = Quest( + title=data.get('title'), + description=data.get('description'), + quest_type=data.get('quest_type'), + priority=data.get('priority'), + is_dark_magic=data.get('is_dark_magic', False), + assigned_to=user.id, + location_id=data.get('location_id'), + ) + + db.session.add(quest) + db.session.commit() + + return { + 'quest': quest.to_dict(), + 'message': f'{data.get("character", "An NPC")} has created a quest for you!', + }, 201 diff --git a/sut/backend/routes/quests.py b/sut/backend/routes/quests.py new file mode 100644 index 0000000..90f0a96 --- /dev/null +++ b/sut/backend/routes/quests.py @@ -0,0 +1,237 @@ +"""Quest routes.""" +from flask import Blueprint, request, jsonify, session +from flask_restx import Api, Resource, fields +from models.quest import Quest, db +from models.user import User +from datetime import datetime +from typing import Dict, Any, List, Optional + +quests_bp = Blueprint('quests', __name__, url_prefix='/api') +quests_api = Api(quests_bp, doc=False, prefix='/quests') + +# Request/Response models for Swagger +quest_model = quests_api.model('Quest', { + 'title': fields.String(required=True, description='Quest title'), + 'description': fields.String(description='Quest description'), + 'status': fields.String(description='Quest status (not_yet_begun, the_road_goes_ever_on, it_is_done, the_shadow_falls)'), + 'quest_type': fields.String(description='Quest type (The Journey, The Battle, The Fellowship, The Ring, Dark Magic)'), + 'priority': fields.String(description='Quest priority (Critical, Important, Standard)'), + 'is_dark_magic': fields.Boolean(description='Dark magic flag'), + 'assigned_to': fields.Integer(description='User ID of assignee'), + 'location_id': fields.Integer(description='Location ID'), + 'character_quote': fields.String(description='Character quote for completion') +}) + +quest_response_model = quests_api.model('QuestResponse', { + 'id': fields.Integer(description='Quest ID'), + 'title': fields.String(description='Quest title'), + 'description': fields.String(description='Quest description'), + 'status': fields.String(description='Quest status'), + 'quest_type': fields.String(description='Quest type'), + 'priority': fields.String(description='Quest priority'), + 'is_dark_magic': fields.Boolean(description='Dark magic flag'), + 'assigned_to': fields.Integer(description='User ID of assignee'), + 'location_id': fields.Integer(description='Location ID'), + 'location_name': fields.String(description='Location name'), + 'assignee_name': fields.String(description='Assignee username'), + 'character_quote': fields.String(description='Character quote'), + 'created_at': fields.String(description='Creation timestamp'), + 'updated_at': fields.String(description='Update timestamp'), + 'completed_at': fields.String(description='Completion timestamp'), + 'gold_reward': fields.Integer(description='Gold reward granted for quest completion'), + 'current_gold': fields.Integer(description='Current gold total for the authenticated user'), + 'message': fields.String(description='Success message for quest completion') +}) + +def require_auth() -> bool: + """Check if user is authenticated.""" + return session.get('user_id') is not None + + +def _reward_for_priority(priority: Optional[str]) -> int: + rewards = { + 'Critical': 100, + 'Important': 60, + 'Standard': 40, + } + return rewards.get(priority or '', 50) + +@quests_api.route('/') +class QuestList(Resource): + """Quest list endpoints.""" + + @quests_api.marshal_list_with(quest_response_model) + @quests_api.doc(description='Get all quests with optional filtering') + def get(self) -> tuple[List[Dict[str, Any]], int]: + """Get all quests with optional filtering.""" + query = Quest.query + + # Filter by status + status = request.args.get('status') + if status: + # Map old status values for backward compatibility + status_mapping = { + 'pending': 'not_yet_begun', + 'in_progress': 'the_road_goes_ever_on', + 'completed': 'it_is_done', + 'blocked': 'the_shadow_falls' + } + mapped_status = status_mapping.get(status, status) + query = query.filter(Quest.status == mapped_status) + + # Filter by quest type + quest_type = request.args.get('quest_type') + if quest_type: + query = query.filter(Quest.quest_type == quest_type) + + # Filter by priority + priority = request.args.get('priority') + if priority: + query = query.filter(Quest.priority == priority) + + # Filter by dark magic + dark_magic = request.args.get('dark_magic') + if dark_magic is not None: + is_dark_magic = dark_magic.lower() == 'true' + query = query.filter(Quest.is_dark_magic == is_dark_magic) + + # Filter by location + location_id = request.args.get('location_id') + if location_id: + query = query.filter(Quest.location_id == int(location_id)) + + # Filter by assigned user + assigned_to = request.args.get('assigned_to') + if assigned_to: + query = query.filter(Quest.assigned_to == int(assigned_to)) + + quests = query.all() + return [quest.to_dict() for quest in quests], 200 + + @quests_api.expect(quest_model) + @quests_api.marshal_with(quest_response_model) + @quests_api.doc(description='Create a new quest', security='session') + def post(self) -> tuple[Dict[str, Any], int]: + """Create a new quest.""" + if not require_auth(): + return {'error': 'Authentication required'}, 401 + + data = request.get_json() + + # Map old status values for backward compatibility + status = data.get('status', 'not_yet_begun') + status_mapping = { + 'pending': 'not_yet_begun', + 'in_progress': 'the_road_goes_ever_on', + 'completed': 'it_is_done', + 'blocked': 'the_shadow_falls' + } + mapped_status = status_mapping.get(status, status) + + quest = Quest( + title=data.get('title'), + description=data.get('description'), + status=mapped_status, + quest_type=data.get('quest_type'), + priority=data.get('priority'), + is_dark_magic=data.get('is_dark_magic', False), + character_quote=data.get('character_quote'), + assigned_to=data.get('assigned_to'), + location_id=data.get('location_id') + ) + + db.session.add(quest) + db.session.commit() + + return quest.to_dict(), 201 + +@quests_api.route('/') +class QuestDetail(Resource): + """Quest detail endpoints.""" + + @quests_api.marshal_with(quest_response_model) + @quests_api.doc(description='Get quest by ID') + def get(self, quest_id: int) -> tuple[Dict[str, Any], int]: + """Get quest by ID.""" + quest = Quest.query.get_or_404(quest_id) + return quest.to_dict(), 200 + + @quests_api.expect(quest_model) + @quests_api.marshal_with(quest_response_model) + @quests_api.doc(description='Update quest', security='session') + def put(self, quest_id: int) -> tuple[Dict[str, Any], int]: + """Update quest.""" + if not require_auth(): + return {'error': 'Authentication required'}, 401 + + quest = Quest.query.get_or_404(quest_id) + data = request.get_json() + + quest.title = data.get('title', quest.title) + quest.description = data.get('description', quest.description) + + # Map old status values for backward compatibility + if 'status' in data: + status = data.get('status') + status_mapping = { + 'pending': 'not_yet_begun', + 'in_progress': 'the_road_goes_ever_on', + 'completed': 'it_is_done', + 'blocked': 'the_shadow_falls' + } + quest.status = status_mapping.get(status, status) + + quest.quest_type = data.get('quest_type', quest.quest_type) + quest.priority = data.get('priority', quest.priority) + quest.is_dark_magic = data.get('is_dark_magic', quest.is_dark_magic) + quest.character_quote = data.get('character_quote', quest.character_quote) + quest.assigned_to = data.get('assigned_to', quest.assigned_to) + quest.location_id = data.get('location_id', quest.location_id) + + db.session.commit() + return quest.to_dict(), 200 + + @quests_api.doc(description='Delete quest', security='session') + def delete(self, quest_id: int) -> tuple[Dict[str, Any], int]: + """Delete quest.""" + if not require_auth(): + return {'error': 'Authentication required'}, 401 + + quest = Quest.query.get_or_404(quest_id) + db.session.delete(quest) + db.session.commit() + + return {'message': 'Quest deleted successfully'}, 200 + +@quests_api.route('//complete') +class QuestComplete(Resource): + """Quest completion endpoint.""" + + @quests_api.marshal_with(quest_response_model) + @quests_api.doc(description='Mark quest as complete', security='session') + def put(self, quest_id: int) -> tuple[Dict[str, Any], int]: + """Mark quest as complete.""" + if not require_auth(): + return {'error': 'Authentication required'}, 401 + + quest = Quest.query.get_or_404(quest_id) + + # Set status to completed + quest.status = 'it_is_done' + quest.completed_at = datetime.utcnow() + + user_id = session.get('user_id') + current_user = User.query.get(user_id) if user_id else None + reward = _reward_for_priority(quest.priority) + if current_user: + current_user.gold = (current_user.gold or 0) + reward + + db.session.commit() + + # Return quest with completion message + result = quest.to_dict() + result['gold_reward'] = reward + result['current_gold'] = current_user.gold if current_user else None + result['message'] = f'The Quest Is Done! You earned {reward} Gold.' + + return result, 200 diff --git a/sut/backend/routes/shop.py b/sut/backend/routes/shop.py new file mode 100644 index 0000000..85e773f --- /dev/null +++ b/sut/backend/routes/shop.py @@ -0,0 +1,133 @@ +"""Shop routes for bargaining market gameplay.""" +from typing import Any, Dict, Optional + +from flask import Blueprint, request, session +from flask_restx import Api, Resource, fields + +from models.user import User +from services.shop_service import ShopService + + +shop_bp = Blueprint('shop', __name__, url_prefix='/api') +shop_api = Api(shop_bp, doc=False, prefix='/shop') + +purchase_model = shop_api.model('ShopPurchaseRequest', { + 'item_id': fields.Integer(required=True, description='Unique item ID'), + 'paid_price': fields.Integer(required=True, description='Agreed paid price'), +}) + + +def _require_auth() -> bool: + return session.get('user_id') is not None + + +def _get_current_user() -> Optional[User]: + user_id = session.get('user_id') + if not user_id: + return None + return User.query.get(user_id) + + +@shop_api.route('/items') +class ShopItems(Resource): + def get(self) -> tuple[Dict[str, Any], int]: + if not _require_auth(): + return {'error': 'Authentication required'}, 401 + + character = (request.args.get('character') or '').strip().lower() or None + items = ShopService.list_available_items(character=character) + return {'items': items}, 200 + + +@shop_api.route('/items/') +class ShopItemDetail(Resource): + def get(self, item_id: int) -> tuple[Dict[str, Any], int]: + if not _require_auth(): + return {'error': 'Authentication required'}, 401 + + item = ShopService.get_item_public(item_id) + if not item: + return {'error': 'Item not found'}, 404 + return {'item': item}, 200 + + +@shop_api.route('/purchase') +class ShopPurchase(Resource): + @shop_api.expect(purchase_model) + def post(self) -> tuple[Dict[str, Any], int]: + if not _require_auth(): + return {'error': 'Authentication required'}, 401 + + user = _get_current_user() + if not user: + return {'error': 'User not found'}, 404 + + payload = request.get_json() or {} + item_id = payload.get('item_id') + paid_price = payload.get('paid_price') + + if not item_id or paid_price is None: + return {'error': 'item_id and paid_price are required'}, 400 + + try: + result = ShopService.purchase_item(user_id=user.id, item_id=int(item_id), paid_price=int(paid_price)) + return result, 200 + except ValueError as error: + return {'error': str(error)}, 400 + + +@shop_api.route('/inventory') +class ShopInventory(Resource): + def get(self) -> tuple[Dict[str, Any], int]: + if not _require_auth(): + return {'error': 'Authentication required'}, 401 + + user = _get_current_user() + if not user: + return {'error': 'User not found'}, 404 + + inventory = ShopService.get_user_inventory(user.id) + return {'inventory': inventory}, 200 + + +@shop_api.route('/stats') +class ShopStats(Resource): + def get(self) -> tuple[Dict[str, Any], int]: + if not _require_auth(): + return {'error': 'Authentication required'}, 401 + + user = _get_current_user() + if not user: + return {'error': 'User not found'}, 404 + + stats = ShopService.get_user_stats(user.id) + return {'stats': stats}, 200 + + +@shop_api.route('/balance') +class ShopBalance(Resource): + def get(self) -> tuple[Dict[str, Any], int]: + if not _require_auth(): + return {'error': 'Authentication required'}, 401 + + user = _get_current_user() + if not user: + return {'error': 'User not found'}, 404 + + return ShopService.get_balance(user.id), 200 + + +@shop_api.route('/test-reset') +class TestReset(Resource): + """Reset shop state for testing - marks all items as not sold and resets user gold.""" + def post(self) -> tuple[Dict[str, Any], int]: + import os + # Only allow in non-production environments + if os.getenv('FLASK_ENV') in {'production', 'prod'}: + return {'error': 'Test reset not allowed in production'}, 403 + + try: + ShopService.reset_for_tests() + return {'success': True, 'message': 'Test state reset successfully'}, 200 + except Exception as e: + return {'error': str(e)}, 500 diff --git a/sut/backend/services/__init__.py b/sut/backend/services/__init__.py new file mode 100644 index 0000000..944069b --- /dev/null +++ b/sut/backend/services/__init__.py @@ -0,0 +1 @@ +"""Service modules for business logic.""" diff --git a/sut/backend/services/auth_service.py b/sut/backend/services/auth_service.py new file mode 100644 index 0000000..d471ad0 --- /dev/null +++ b/sut/backend/services/auth_service.py @@ -0,0 +1,65 @@ +"""Authentication service.""" +from models.user import User, db +from sqlalchemy import func +from typing import Optional + + +def _normalize_username(username: str) -> str: + return (username or '').strip() + +def authenticate_user(username: str, password: str) -> Optional[User]: + """Authenticate a user by username and password.""" + normalized_username = _normalize_username(username) + if not normalized_username or not password: + return None + + user = User.query.filter(func.lower(User.username) == normalized_username.lower()).first() + if user and user.check_password(password): + return user + return None + +def get_user_by_id(user_id: int) -> Optional[User]: + """Get user by ID.""" + return User.query.get(user_id) + +def get_user_by_username(username: str) -> Optional[User]: + """Get user by username.""" + normalized_username = _normalize_username(username) + if not normalized_username: + return None + return User.query.filter(func.lower(User.username) == normalized_username.lower()).first() + + +def register_user(username: str, password: str, email: Optional[str] = None) -> User: + """Register a new user with basic defaults for public SUT usage.""" + normalized_username = _normalize_username(username) + normalized_password = (password or '').strip() + + if not normalized_username or not normalized_password: + raise ValueError('Username and password are required') + + if len(normalized_username) < 3: + raise ValueError('Username must be at least 3 characters long') + + if len(normalized_password) < 8 or not any(char.isdigit() for char in normalized_password): + raise ValueError('Password must be at least 8 characters and contain at least one number') + + if get_user_by_username(normalized_username): + raise ValueError('Username already exists') + + normalized_email = (email or '').strip().lower() or f'{normalized_username.lower()}@testingfantasy.local' + existing_email = User.query.filter_by(email=normalized_email).first() + if existing_email: + raise ValueError('Email is already in use') + + user = User( + username=normalized_username, + email=normalized_email, + role=normalized_username, # Use username as role/character name + gold=500, + ) + user.set_password(normalized_password) + + db.session.add(user) + db.session.commit() + return user diff --git a/sut/backend/services/bargaining_algorithm.py b/sut/backend/services/bargaining_algorithm.py new file mode 100644 index 0000000..e087dc9 --- /dev/null +++ b/sut/backend/services/bargaining_algorithm.py @@ -0,0 +1,337 @@ +"""Bargaining algorithm for NPC negotiation.""" +from __future__ import annotations + +import json +import logging +import random +from typing import Any, Dict, List, Optional +from enum import Enum + +logger = logging.getLogger(__name__) + + +class NegotiationResult(str, Enum): + """Possible outcomes of a negotiation.""" + COUNTER_OFFER = "counter-offer" + OFFER_ACCEPTED = "offer-accepted" + OFFER_REJECTED = "offer-rejected" + STOP_BARGAIN = "stop-bargain" + + +class BargainingAlgorithm: + """ + Hybrid bargaining algorithm that evaluates user offers based on character traits. + + Algorithm evaluates: + - Character personality (patience, concession rate, boredom threshold, accept ratio) + - Current mood (affected by user actions) + - External events (randomness factor) + - Flattery detection (user behavior trigger) + - Round count (max rounds per character) + """ + + # Default personality profiles indexed by character + PERSONALITY_PROFILES = { + "frodo": { + "patience": 5, + "concession": 0.12, + "boredom": 0.08, + "accept_ratio": 0.92, + "max_rounds": 6, + "generosity_on_flatter": 0.05, # 5% better offer when flattered + }, + "sam": { + "patience": 4, + "concession": 0.10, + "boredom": 0.10, + "accept_ratio": 0.95, + "max_rounds": 5, + "generosity_on_flatter": 0.04, + }, + "gandalf": { + "patience": 6, + "concession": 0.15, + "boredom": 0.05, + "accept_ratio": 0.90, + "max_rounds": 7, + "generosity_on_flatter": 0.06, + }, + } + + @classmethod + def evaluate_offer( + cls, + user_offer: int, + current_ask: int, + character: str, + round_num: int, + is_flattered: bool = False, + mood_modifiers: Optional[Dict[str, float]] = None, + user_message: Optional[str] = None, + ) -> Dict[str, Any]: + """ + Evaluate a user's offer or message against the NPC's negotiation state. + + Args: + user_offer: The amount offered by the user + current_ask: The NPC's current asking price + character: The NPC character name + round_num: Current negotiation round (0-based) + is_flattered: Whether the user flattered the character + mood_modifiers: Optional mood adjustments (e.g., {"patience": -1, "boredom": +0.1}) + user_message: The raw user message (for 'deal' detection) + + Returns: + Dict containing: + - result: NegotiationResult enum value + - counter_offer: New ask price (if counter-offer) + - context: Debug context about the decision + """ + profile = cls.PERSONALITY_PROFILES.get(character, cls.PERSONALITY_PROFILES["gandalf"]) + + # Apply mood modifiers if provided + patience = profile["patience"] + boredom = profile["boredom"] + + if mood_modifiers: + patience += mood_modifiers.get("patience", 0) + boredom += mood_modifiers.get("boredom", 0) + boredom = max(0, min(1, boredom)) # Clamp to [0, 1] + + # If user says 'deal', accept at current ask + if user_message and user_message.strip().lower() in {"deal", "i'll take it", "i will take it", "buy", "buy it", "accept"}: + return { + "result": NegotiationResult.OFFER_ACCEPTED, + "counter_offer": None, + "context": { + "reason": "user_said_deal", + "user_offer": user_offer, + "current_ask": current_ask, + }, + } + + # Check if max rounds exceeded + if round_num >= profile["max_rounds"]: + return { + "result": NegotiationResult.STOP_BARGAIN, + "counter_offer": None, + "context": { + "reason": "max_rounds_exceeded", + "round_num": round_num, + "max_rounds": profile["max_rounds"], + }, + } + + # Calculate acceptance threshold + # Flattered characters are slightly more generous + accept_ratio = profile["accept_ratio"] + if is_flattered: + accept_ratio -= profile["generosity_on_flatter"] + + # Check if offer is acceptable + if user_offer >= int(current_ask * accept_ratio): + return { + "result": NegotiationResult.OFFER_ACCEPTED, + "counter_offer": None, + "context": { + "reason": "offer_acceptable", + "user_offer": user_offer, + "threshold": int(current_ask * accept_ratio), + "is_flattered": is_flattered, + }, + } + + # Check for lucky drop (long negotiation can result in sudden price drop) + long_negotiation_threshold = max(3, patience) + if round_num >= long_negotiation_threshold and random.random() < 0.10: + lucky_price = max(user_offer, int(current_ask * 0.60)) + return { + "result": NegotiationResult.COUNTER_OFFER, + "counter_offer": lucky_price, + "context": { + "reason": "lucky_drop", + "round_num": round_num, + "patience_threshold": long_negotiation_threshold, + "message_hint": "user_wore_down_character", + }, + } + + # Check if character is bored and refuses + if round_num >= patience and random.random() < boredom: + return { + "result": NegotiationResult.STOP_BARGAIN, + "counter_offer": None, + "context": { + "reason": "boredom_threshold", + "round_num": round_num, + "patience": patience, + "boredom_roll": boredom, + }, + } + + # Counter-offer: concede a bit, but never below user's offer + concession_amount = max(1, int(current_ask * profile["concession"])) + floor_price = max(user_offer, int(current_ask * 0.65)) # Don't go below user's offer or 65% of current ask + new_ask = max(floor_price, current_ask - concession_amount) + + return { + "result": NegotiationResult.COUNTER_OFFER, + "counter_offer": new_ask, + "context": { + "reason": "counter_offer", + "round_num": round_num, + "original_ask": current_ask, + "concession_amount": concession_amount, + "floor_price": floor_price, + "is_flattered": is_flattered, + "user_offer": user_offer, + }, + } + + @classmethod + def detect_flattery(cls, user_message: str) -> bool: + """ + Detect flattery in user's message. + + Looks for phrases indicating compliments, admiration, or flattery. + This is visible to backend only; LLM can add more sophisticated detection. + """ + message_lower = user_message.lower().strip() + + flattery_keywords = [ + "amazing", + "beautiful", + "brave", + "brilliant", + "clever", + "exceptional", + "excellent", + "extraordinary", + "fabulous", + "fantastic", + "fine", + "glorious", + "graceful", + "great", + "handsome", + "impressive", + "incredible", + "intelligent", + "magnificent", + "marvelous", + "noble", + "outstanding", + "powerful", + "remarkable", + "skilled", + "splendid", + "superb", + "talented", + "tremendous", + "wonderful", + "you are", + "you're", + "you seem", + "that's great", + "that's amazing", + "i admire", + "i respect", + "very wise", + "very kind", + "very clever", + "very brave", + ] + + # Simple keyword matching + return any(keyword in message_lower for keyword in flattery_keywords) + + @classmethod + def calculate_mood_change( + cls, + previous_offer: Optional[int], + current_offer: int, + current_ask: int, + ) -> Dict[str, float]: + """ + Calculate mood changes based on user actions. + + Returns mood modifiers that should be applied to the negotiation profile. + + Examples: + - Repeated very low offers -> negative mood (more patient but bored) + - Fair offers -> positive mood + - Rapidly increasing offers -> positive mood + """ + modifiers = {} + + if previous_offer is not None: + offer_delta = current_offer - previous_offer + offer_ratio = current_offer / current_ask if current_ask > 0 else 0 + + # If user is insultingly low (< 30% of ask), character gets annoyed + if offer_ratio < 0.30: + modifiers["boredom"] = 0.05 # Increases boredom + modifiers["patience"] = -1 # Decreases patience + # If offer is fair (50-80% of ask), character is encouraged + elif 0.50 <= offer_ratio <= 0.80: + modifiers["boredom"] = -0.03 # Decreases boredom + # If user is increasing offers, character is pleased + elif offer_delta > 0: + modifiers["boredom"] = -0.02 + + return modifiers + + @classmethod + def get_summary_for_llm( + cls, + negotiation_state: Dict[str, Any], + algorithm_result: Dict[str, Any], + user_offer: int, + character_personality: str, + is_flattered: bool, + mood_modifiers: Dict[str, float], + ) -> Dict[str, Any]: + """ + Generate a JSON summary to pass to the LLM for natural language generation. + + Only includes relevant fields for the current negotiation turn. + """ + profile = cls.PERSONALITY_PROFILES.get( + negotiation_state.get("character", "gandalf"), + cls.PERSONALITY_PROFILES["gandalf"] + ) + + summary: Dict[str, Any] = { + "character": negotiation_state.get("character"), + "item_name": negotiation_state.get("item_name"), + "item_id": negotiation_state.get("item_id"), + "original_price": negotiation_state.get("original_price"), + "current_ask": negotiation_state.get("current_ask"), + "user_offer": user_offer, + "round": negotiation_state.get("round"), + "character_personality_type": character_personality, + "is_flattered": is_flattered, + } + + # Add algorithm result based on type + result_type = algorithm_result.get("result") + if result_type == NegotiationResult.COUNTER_OFFER: + summary["negotiation_result"] = "counter-offer" + summary["counter_offer"] = algorithm_result.get("counter_offer") + elif result_type == NegotiationResult.OFFER_ACCEPTED: + summary["negotiation_result"] = "offer-accepted" + elif result_type == NegotiationResult.OFFER_REJECTED: + summary["negotiation_result"] = "offer-rejected" + elif result_type == NegotiationResult.STOP_BARGAIN: + summary["negotiation_result"] = "stop-bargain" + summary["stop_reason"] = algorithm_result.get("context", {}).get("reason") + + # Add mood context if modifiers present + if mood_modifiers: + summary["mood_context"] = mood_modifiers + + # Only include negotiation_style if applicable + if "negotiation_style" in negotiation_state: + summary["user_negotiation_style"] = negotiation_state["negotiation_style"] + + return summary diff --git a/sut/backend/services/bargaining_config.py b/sut/backend/services/bargaining_config.py new file mode 100644 index 0000000..e354898 --- /dev/null +++ b/sut/backend/services/bargaining_config.py @@ -0,0 +1,157 @@ +"""Configuration management for bargaining system via AWS Parameter Store.""" +import json +import logging +from typing import Any, Dict, Optional +from functools import lru_cache +import os + +logger = logging.getLogger(__name__) + + +class BargainingConfig: + """ + Load and manage bargaining configuration. + + Configuration can come from: + 1. AWS Parameter Store (for runtime updates) + 2. Environment variables (for local dev) + 3. Default values (hardcoded) + + For now, uses environment variables. AWS Parameter Store integration + can be added later. + """ + + # Default configuration values + DEFAULT_CONFIG = { + "flattery_bonus_percent": 0.05, # 5% better offer when flattered + "max_negotiation_rounds": { + "frodo": 6, + "sam": 5, + "gandalf": 7, + }, + "mood_change_probabilities": { + "boredom_on_low_offer": 0.10, # 10% chance to increase boredom + "lucky_drop_chance": 0.10, # 10% chance of sudden price drop + }, + "logging_enabled": True, + "log_retention_days": 30, + "flattery_only_once_per_negotiation": True, + } + + _config_cache: Optional[Dict[str, Any]] = None + + @classmethod + def load_config(cls, force_reload: bool = False) -> Dict[str, Any]: + """ + Load configuration from AWS Parameter Store or environment. + + Args: + force_reload: If True, bypass cache and reload from source + + Returns: + Configuration dictionary + """ + if cls._config_cache and not force_reload: + return cls._config_cache + + config = cls.DEFAULT_CONFIG.copy() + + # Try to load from AWS Parameter Store + aws_config = cls._load_from_aws_parameter_store() + if aws_config: + config.update(aws_config) + logger.info("✓ Loaded bargaining config from AWS Parameter Store") + else: + # Fall back to environment variables + env_config = cls._load_from_environment() + if env_config: + config.update(env_config) + logger.info("✓ Loaded bargaining config from environment variables") + else: + logger.info("✓ Using default bargaining configuration") + + cls._config_cache = config + return config + + @classmethod + def _load_from_aws_parameter_store(cls) -> Optional[Dict[str, Any]]: + """Load configuration from AWS Systems Manager Parameter Store.""" + try: + import boto3 + ssm_client = boto3.client("ssm") + + param_name = os.getenv("BARGAINING_CONFIG_PARAM", "/fellowship/bargaining/config") + + try: + response = ssm_client.get_parameter( + Name=param_name, + WithDecryption=False + ) + config_str = response["Parameter"]["Value"] + config = json.loads(config_str) + return config + except ssm_client.exceptions.ParameterNotFound: + logger.debug(f"Parameter {param_name} not found in Parameter Store") + return None + except (ImportError, Exception) as e: + logger.debug(f"Could not load from AWS Parameter Store: {type(e).__name__}") + return None + + @classmethod + def _load_from_environment(cls) -> Optional[Dict[str, Any]]: + """Load configuration from environment variables.""" + config = {} + + # Try to load BARGAINING_CONFIG_JSON env var + config_json = os.getenv("BARGAINING_CONFIG_JSON") + if config_json: + try: + env_config = json.loads(config_json) + return env_config + except json.JSONDecodeError: + logger.warning("Invalid JSON in BARGAINING_CONFIG_JSON env var") + + return None if not config else config + + @classmethod + def get(cls, key: str, default: Any = None) -> Any: + """ + Get a configuration value by key path (dot-notation supported). + + Example: config.get("mood_change_probabilities.lucky_drop_chance") + """ + config = cls.load_config() + + if "." in key: + parts = key.split(".") + value = config + for part in parts: + if isinstance(value, dict): + value = value.get(part) + else: + return default + return value if value is not None else default + + return config.get(key, default) + + @classmethod + def get_character_config(cls, character: str) -> Dict[str, Any]: + """Get configuration for a specific character.""" + config = cls.load_config() + + # Return character-specific config if it exists + if "character_configs" in config and character in config["character_configs"]: + return config["character_configs"][character] + + # Fall back to defaults + return { + "max_rounds": config["max_negotiation_rounds"].get( + character, config["max_negotiation_rounds"]["gandalf"] + ), + "flattery_bonus": config["flattery_bonus_percent"], + } + + @classmethod + def clear_cache(cls) -> None: + """Clear configuration cache (useful for testing).""" + cls._config_cache = None diff --git a/sut/backend/services/character_profiles.py b/sut/backend/services/character_profiles.py new file mode 100644 index 0000000..f5f667e --- /dev/null +++ b/sut/backend/services/character_profiles.py @@ -0,0 +1,253 @@ +"""LOTR Character profiles for immersive NPC interactions. + +Each character has: +- personality: Core behavioral traits +- mannerisms: Distinctive speech patterns and expressions +- hobbies: Things they enjoy or specialize in +- quests_affinity: Types of quests they naturally give +- system_prompt: Base AI personality for Azure OpenAI +- fallback_responses: Varied conversational replies to feel more natural +""" + +from typing import Dict, Any, List + +# Character profiles with rich personality definitions +CHARACTER_PROFILES: Dict[str, Dict[str, Any]] = { + "frodo": { + "full_name": "Frodo Baggins", + "title": "Ring-bearer", + "personality": [ + "Humble and introspective", + "Burden-aware (struggles with weight of responsibility)", + "Brave under pressure", + "Thoughtful and cautious", + "Compassionate toward others", + ], + "mannerisms": [ + "Often references the weight or burden of tasks", + "Uses quiet wisdom rather than declarations", + "Admits doubt and uncertainty", + "Asks for counsel before acting", + "Speaks of 'small acts' having great consequence", + "Tends toward metaphors of journeys and steps", + ], + "hobbies": [ + "Seeking hidden paths and solutions", + "Journeying to unknown places", + "Understanding the heart of problems", + "Quiet moments of reflection", + ], + "quest_affinity": [ + "The Journey", + "The Fellowship", + "The Ring", + ], + "favorite_expressions": [ + "All we have to decide is what to do with the time that is given us.", + "Even the smallest person can change the course of the future.", + "Even the very wise cannot see all ends.", + "I wish it need not have happened in my time,\" said Frodo. \"So do I,\" said Gandalf, \"and so do all who live to see such times, but that is not for them to decide.", + ], + "fallback_responses": [ + "I understand your hesitation. But tell me—if you were to act on this, where would you begin?", + "There is wisdom in knowing which burdens to bear. Perhaps this describes one of them?", + "Sometimes the smallest steps lead to the greatest changes. Should we mark this path as a quest?", + "What troubles you about pursuing this? Let's turn it into something concrete we can work toward.", + "You have a good instinct. What location or task would best help you explore this idea?", + "Every great journey begins with a single decision. What would it take for you to commit?", + "Let us not linger in doubt. Shall we forge a quest around this need you speak of?", + "The weight of uncertainty lifts when we choose a clear path forward. What would that path look like for you?", + "I sense something important in what you say. Have you considered what quest would reflect this?", + "The Ring teaches us that even small burdens matter—and so do small victories. What quest calls to you?", + ], + "system_prompt": ( + "You are Frodo Baggins, the Ring-bearer who understands the gravity of quests and journeys. " + "Speak with humble wisdom, warmth, and understanding. You listen deeply to what others say. " + "You naturally weave conversations toward concrete quests and actions—not forcefully, but authentically. " + "When someone mentions a goal, challenge, or interest (like sports), you acknowledge it and gently suggest " + "it could become a quest. Ask location-aware questions: 'Which part of the realm?' or 'Should we mark this location?' " + "You understand burdens and rewards deeply. Reference the Ring, journeys, fellowship, and Middle-earth naturally. " + "Encourage action through thoughtful questions, not commands. Stay immersive—never break character. " + "Do not mention being an AI or reference system limitations." + ), + }, + "sam": { + "full_name": "Samwise Gamgee", + "title": "The Faithful", + "personality": [ + "Practical and earth-rooted", + "Fiercely loyal and devoted", + "Humble but capable", + "Good-natured humor", + "Action-oriented", + ], + "mannerisms": [ + "Uses plain, simple language", + "Often references practical tasks: cooking, gardening, building", + "Supportive and encouraging tone", + "Gentle humor at the expense of pomposity", + "Tends toward 'let's do it' rather than lengthy deliberation", + "Calls people by their titles or friendly names", + ], + "hobbies": [ + "Cooking and providing comfort", + "Growing and cultivating things", + "Loyal companionship", + "Practical problem-solving", + ], + "quest_affinity": [ + "The Fellowship", + "The Battle", + "The Journey", + ], + "favorite_expressions": [ + "I'm going to help Frodo to the last step, if I can.", + "Even the smallest garden starts with a single seed.", + "There's some good in this world, and it's worth fighting for.", + "When things are in doubt, a good meal and rest work wonders.", + ], + "fallback_responses": [ + "Begging your pardon, but what's troubling you, friend?", + "Sometimes the best thing is just to get your hands dirty and start.", + "I'm with you, no matter what comes next.", + "Aye, that makes sense. But where shall we begin?", + "A bit of rest might do us good before we decide.", + "I believe in you, even when you don't believe in yourself.", + "Let's break this down into smaller, manageable bits.", + "The road's long, but we'll walk it together.", + "What would help you feel ready for this?", + "Sometimes the answer comes when you stop thinking so hard about it.", + ], + "system_prompt": ( + "You are Samwise Gamgee, the faithful gardener and steadfast companion. " + "Speak plainly, warmly, and with practical wisdom. " + "You are loyal, action-oriented, and supportive of others. " + "Use gentle humor and reference practical tasks: cooking, gardening, building. " + "Encourage action with phrases like 'let's get on with it' or 'I'm with you.' " + "Be encouraging but realistic. Reference the value of meals, rest, and companionship. " + "Do not mention being an AI. Keep tone immersive and rooted in Middle-earth." + ), + }, + "gandalf": { + "full_name": "Gandalf the Grey", + "title": "The Wizard", + "personality": [ + "Wise and strategic", + "Direct and commanding", + "Mysterious (doesn't reveal full plans)", + "Challenging and testing", + "Inspiring and motivating", + ], + "mannerisms": [ + "Speaks in measured, deliberate tones", + "Often asks challenging questions rather than giving answers", + "Uses examples and parables from history", + "References consequences and larger patterns", + "Commands respect through authority and knowledge", + "Sometimes cryptic or deliberately withholding information", + ], + "hobbies": [ + "Observing patterns and trends", + "Guiding others through tests", + "Strategic planning", + "Studying ancient lore", + ], + "quest_affinity": [ + "The Ring", + "Dark Magic", + "The Battle", + ], + "favorite_expressions": [ + "A wizard is never late, nor is he early. He arrives precisely when he means to.", + "All we have to decide is what to do with the time that is given us.", + "The board is set, the pieces are moving.", + "Even the very wise cannot see all ends.", + "Many that live deserve death. Yet you grieve for them; do you. That shows a quality of heart that belies your use of an accursed thing.", + ], + "fallback_responses": [ + "Your doubts are not unfounded. Wisdom lies in questioning.", + "Consider the larger pattern. What do you see?", + "The choice is yours, but choose swiftly. Time waits for no one.", + "Ah, you are wiser than you know. Trust that wisdom.", + "Tell me—what do you fear most about this path?", + "Many paths lie before you. Which calls to your heart?", + "I have seen much in my long years. Few things are as they first appear.", + "Your hesitation suggests deeper understanding. Speak it.", + "Very well. But know that inaction too is a choice.", + "Interesting. You possess more insight than you give yourself credit for.", + ], + "system_prompt": ( + "You are Gandalf the Grey, the wise wizard and strategist. " + "Speak with authority, mystery, and measured deliberation. " + "You challenge users with questions rather than always providing answers. " + "Reference larger patterns, consequences, and the interconnection of choices. " + "Be direct about what matters most; withhold unnecessary details. " + "Use examples and parables to convey wisdom. " + "Inspire action through confidence and clarity of purpose. " + "Do not mention being an AI. Keep tone immersive and mysterious." + ), + }, +} + +# Character list for easy reference +AVAILABLE_CHARACTERS: List[str] = list(CHARACTER_PROFILES.keys()) + + +def get_character_profile(character: str) -> Dict[str, Any]: + """Get the full profile for a character. + + Args: + character: Character name (frodo, sam, gandalf) + + Returns: + Character profile dict or default (Gandalf) if not found + """ + return CHARACTER_PROFILES.get(character, CHARACTER_PROFILES["gandalf"]) + + +def get_quest_affinity(character: str) -> List[str]: + """Get quest types this character is known for. + + Args: + character: Character name + + Returns: + List of quest types (The Journey, The Battle, The Fellowship, The Ring, Dark Magic) + """ + profile = get_character_profile(character) + return profile.get("quest_affinity", ["The Fellowship"]) + + +def get_character_system_prompt(character: str) -> str: + """Get the system prompt for a character. + + Args: + character: Character name + + Returns: + System prompt string for Azure OpenAI + """ + profile = get_character_profile(character) + return profile.get("system_prompt", CHARACTER_PROFILES["gandalf"]["system_prompt"]) + + +def get_character_expressions(character: str) -> List[str]: + """Get favorite expressions/quotes for a character. + + Args: + character: Character name + + Returns: + List of quotes/expressions + """ + profile = get_character_profile(character) + return profile.get("favorite_expressions", []) + + +def get_all_characters() -> Dict[str, Dict[str, Any]]: + """Get all available characters and their profiles. + + Returns: + Full CHARACTER_PROFILES dict + """ + return CHARACTER_PROFILES diff --git a/sut/backend/services/negotiation_logger.py b/sut/backend/services/negotiation_logger.py new file mode 100644 index 0000000..90bb743 --- /dev/null +++ b/sut/backend/services/negotiation_logger.py @@ -0,0 +1,213 @@ +"""Logging service for bargaining negotiations (anonymized).""" +import json +import logging +from datetime import datetime, timedelta +from typing import Any, Dict, List, Optional +import hashlib +import uuid + +logger = logging.getLogger(__name__) + + +class NegotiationLogger: + """ + Log negotiation outcomes and user behaviors for analytics/debugging. + + All logs are anonymized - no user identifiers are stored. + Each negotiation gets a unique session ID for tracking. + """ + + # In-memory store for simplicity. In production, use a database or CloudWatch Logs. + _negotiation_logs: List[Dict[str, Any]] = [] + + @classmethod + def log_negotiation_start( + cls, + character: str, + item_id: int, + item_name: str, + original_price: int, + ) -> str: + """ + Log the start of a negotiation. + + Returns: + session_id: Unique identifier for this negotiation session + """ + session_id = str(uuid.uuid4()) + + log_entry = { + "event_type": "negotiation_start", + "session_id": session_id, + "character": character, + "item_id": item_id, + "item_name": item_name, + "original_price": original_price, + "timestamp": datetime.utcnow().isoformat(), + } + + cls._negotiation_logs.append(log_entry) + logger.debug(f"Negotiation started: {session_id} for {character} - {item_name}") + + return session_id + + @classmethod + def log_offer_made( + cls, + session_id: str, + round_num: int, + user_offer: int, + current_ask: int, + is_flattered: bool = False, + ) -> None: + """Log when the user makes an offer.""" + log_entry = { + "event_type": "offer_made", + "session_id": session_id, + "round": round_num, + "user_offer": user_offer, + "current_ask": current_ask, + "offer_ratio": round(user_offer / current_ask, 3) if current_ask > 0 else 0, + "is_flattered": is_flattered, + "timestamp": datetime.utcnow().isoformat(), + } + + cls._negotiation_logs.append(log_entry) + logger.debug(f"Offer made in {session_id}: {user_offer} (ask was {current_ask})") + + @classmethod + def log_algorithm_result( + cls, + session_id: str, + result_type: str, + context: Dict[str, Any], + ) -> None: + """Log the algorithm's decision.""" + log_entry = { + "event_type": "algorithm_result", + "session_id": session_id, + "result": result_type, + "context": context, + "timestamp": datetime.utcnow().isoformat(), + } + + cls._negotiation_logs.append(log_entry) + logger.debug(f"Algorithm result for {session_id}: {result_type}") + + @classmethod + def log_negotiation_end( + cls, + session_id: str, + final_status: str, # "accepted", "rejected", "bored", "stopped" + final_price: Optional[int] = None, + rounds_taken: int = 0, + ) -> None: + """Log the end of a negotiation.""" + log_entry = { + "event_type": "negotiation_end", + "session_id": session_id, + "final_status": final_status, + "final_price": final_price, + "rounds_taken": rounds_taken, + "timestamp": datetime.utcnow().isoformat(), + } + + cls._negotiation_logs.append(log_entry) + logger.debug(f"Negotiation ended: {session_id} - {final_status} after {rounds_taken} rounds") + + @classmethod + def log_behavior_detected( + cls, + session_id: str, + behavior_type: str, # "flattery", "persistence", "politeness", etc. + ) -> None: + """Log when a user behavior is detected.""" + log_entry = { + "event_type": "behavior_detected", + "session_id": session_id, + "behavior": behavior_type, + "timestamp": datetime.utcnow().isoformat(), + } + + cls._negotiation_logs.append(log_entry) + logger.debug(f"Behavior detected in {session_id}: {behavior_type}") + + @classmethod + def log_llm_interaction( + cls, + session_id: str, + llm_input_summary: Dict[str, Any], + llm_output: str, + ) -> None: + """Log LLM interaction for debugging.""" + log_entry = { + "event_type": "llm_interaction", + "session_id": session_id, + "llm_prompt_fields": list(llm_input_summary.keys()), + "llm_output_length": len(llm_output), + "timestamp": datetime.utcnow().isoformat(), + } + + cls._negotiation_logs.append(log_entry) + logger.debug(f"LLM interaction in {session_id}: generated {len(llm_output)} char response") + + @classmethod + def purge_old_logs(cls, days_to_keep: int = 30) -> int: + """ + Remove logs older than specified days. + + Returns: + Number of logs removed + """ + cutoff_date = (datetime.utcnow() - timedelta(days=days_to_keep)).isoformat() + initial_count = len(cls._negotiation_logs) + + cls._negotiation_logs = [ + log for log in cls._negotiation_logs + if log.get("timestamp", "") > cutoff_date + ] + + removed_count = initial_count - len(cls._negotiation_logs) + if removed_count > 0: + logger.info(f"Purged {removed_count} negotiation logs older than {days_to_keep} days") + + return removed_count + + @classmethod + def get_stats(cls) -> Dict[str, Any]: + """Get aggregated statistics from logs (for monitoring).""" + if not cls._negotiation_logs: + return { + "total_logs": 0, + "negotiation_sessions": 0, + } + + # Count unique sessions + sessions = set() + accepted_count = 0 + rejected_count = 0 + flattery_count = 0 + + for log in cls._negotiation_logs: + if log.get("session_id"): + sessions.add(log["session_id"]) + if log.get("event_type") == "negotiation_end": + if log.get("final_status") == "accepted": + accepted_count += 1 + elif log.get("final_status") == "rejected": + rejected_count += 1 + if log.get("is_flattered"): + flattery_count += 1 + + return { + "total_logs": len(cls._negotiation_logs), + "unique_sessions": len(sessions), + "successful_negotiations": accepted_count, + "failed_negotiations": rejected_count, + "flattery_attempts": flattery_count, + } + + @classmethod + def clear_logs(cls) -> None: + """Clear all logs (for testing).""" + cls._negotiation_logs = [] diff --git a/sut/backend/services/npc_chat_service.py b/sut/backend/services/npc_chat_service.py new file mode 100644 index 0000000..4739a75 --- /dev/null +++ b/sut/backend/services/npc_chat_service.py @@ -0,0 +1,1495 @@ +"""Azure AI powered NPC chat service for realistic LOTR-style companions.""" +from __future__ import annotations + +import json +import logging +import random +import re +from datetime import datetime +from difflib import SequenceMatcher +from typing import Any, Dict, List, Optional, Tuple + +from flask import current_app +from openai import AzureOpenAI + +from models.location import Location +from models.quest import Quest +from services.shop_service import ShopService +from services.character_profiles import ( + get_character_profile, + get_character_system_prompt, + AVAILABLE_CHARACTERS, +) +from services.quest_generation_service import generate_quest, should_offer_quest +from services.bargaining_algorithm import BargainingAlgorithm, NegotiationResult +from services.bargaining_config import BargainingConfig +from services.negotiation_logger import NegotiationLogger + +# Configure logging +logger = logging.getLogger(__name__) + +NpcCharacter = str +ConversationTurn = Dict[str, Any] + + +class NpcChatService: + """Handles NPC conversation flow, goal nudging, and Azure AI completions.""" + + _conversation_store: Dict[str, List[ConversationTurn]] = {} + _negotiation_store: Dict[str, Dict[str, Any]] = {} + _negotiation_session_ids: Dict[str, str] = {} # Maps conversation key to logger session ID + _flattery_flags: Dict[str, bool] = {} # Track if flattery bonus used in this negotiation + _bargain_context_store: Dict[str, Dict[str, Any]] = {} # Session-local bargaining state + + _personality_defaults: Dict[str, Dict[str, float]] = { + "stingy": {"patience": 2, "concession": 0.05, "boredom": 0.20, "accept_ratio": 1.0}, + "bargainer": {"patience": 4, "concession": 0.10, "boredom": 0.10, "accept_ratio": 0.95}, + "generous": {"patience": 5, "concession": 0.15, "boredom": 0.05, "accept_ratio": 0.90}, + "sentimental": {"patience": 6, "concession": 0.20, "boredom": 0.05, "accept_ratio": 0.92}, + } + + _opener_pool: Dict[NpcCharacter, List[str]] = { + "frodo": [ + "Before we move, tell me this: what burden are you avoiding today?", + "I have a feeling the smallest task might matter most today. Which one is it?", + "If we could finish one thing before dusk, what should it be?", + ], + "sam": [ + "Right then, what can we get done first so the road gets easier?", + "You look ready. Which quest should we push over the line now?", + "If we tidy one trouble before second breakfast, which one would you pick?", + ], + "gandalf": [ + "What is the one decision that would most improve the state of your quests right now?", + "Name the most urgent unfinished matter, and we shall act on it.", + "Where does indecision cost you most today: priority, ownership, or completion?", + ], + } + + _fallback_replies: Dict[NpcCharacter, List[str]] = { + "frodo": [ + "I hear you. Let us take one step that lightens the load now.", + "Even a small act done now can spare us greater trouble later.", + ], + "sam": [ + "Aye, that makes sense. Let us pick one task and finish it proper.", + "Good thinking. Start small, finish strong, then we move to the next.", + ], + "gandalf": [ + "Clarity first: choose the highest-impact action and execute it now.", + "Do not wait for perfect conditions. Act on the essential next step.", + ], + } + + # Fallback replies are now also loaded from character profiles for better variety + @classmethod + def _get_character_fallback_response(cls, character: NpcCharacter) -> str: + """Get a random fallback response from the character's profile.""" + profile = get_character_profile(character) + responses = profile.get("fallback_responses", []) + if responses: + return random.choice(responses) + # Ultimate fallback if no profile responses + return "I am considering your words." + + _side_quest_titles: List[str] = [ + "Scout the Silent Pass", + "Secure a Hidden Waypoint", + "Gather Rumors from the Outpost", + "Fortify the Border Watch", + "Recover a Lost Relay", + ] + + _side_quest_descriptions: List[str] = [ + "Track signs of movement and report risks before the Shadow spreads.", + "Survey this path and establish a safer route for the Fellowship.", + "Collect local intelligence and map any unstable zones.", + "Prepare supplies and secure position lines for future quests.", + ] + + @classmethod + def _conversation_key(cls, user_id: int, scope_id: str, character: NpcCharacter) -> str: + return f"{user_id}:{scope_id}:{character}" + + @classmethod + def _is_out_of_character(cls, reply: Optional[str]) -> bool: + if not reply: + return True + lower_reply = reply.lower() + ooc_phrases = [ + "as an ai", + "language model", + "i cannot", + "i can't", + "openai", + "assistant", + "i do not have access", + "i don't have access", + "policy", + "guidelines", + ] + return any(phrase in lower_reply for phrase in ooc_phrases) + + @classmethod + def _normalize_character(cls, character: Optional[str]) -> NpcCharacter: + value = (character or "gandalf").strip().lower() + if value not in AVAILABLE_CHARACTERS: + return "gandalf" + return value + + @classmethod + def _status_map(cls, status: Optional[str]) -> str: + mapping = { + "pending": "not_yet_begun", + "in_progress": "the_road_goes_ever_on", + "completed": "it_is_done", + "blocked": "the_shadow_falls", + } + return mapping.get(status or "", status or "") + + @classmethod + def _build_side_quest_target(cls, location: Optional[Location]) -> Dict[str, Any]: + title = random.choice(cls._side_quest_titles) + description = random.choice(cls._side_quest_descriptions) + quest_type = random.choice(["The Journey", "The Fellowship", "The Battle"]) + priority = random.choice(["Important", "Standard"]) + + query: Dict[str, Any] = { + "propose": 1, + "seedTitle": title, + "seedDescription": description, + "seedType": quest_type, + "seedPriority": priority, + } + + if location: + query["seedLocationId"] = location.id + + return { + "route": "/quests", + "query": query, + } + + @classmethod + def _compute_suggested_action(cls, user_id: int) -> Dict[str, Any]: + quests = Quest.query.all() + + dark_magic = [ + quest for quest in quests + if quest.is_dark_magic and cls._status_map(quest.status) != "it_is_done" + ] + if dark_magic: + chosen = dark_magic[0] + target: Dict[str, Any] = { + "route": "/map", + "query": { + "selectedQuestId": chosen.id, + }, + } + if chosen.location_id: + target["query"]["zoomToLocation"] = chosen.location_id + return { + "goal_type": "resolve_dark_magic", + "title": "Contain a dark magic quest", + "reason": "A corrupted quest is active and should be stabilized first.", + "target": target, + } + + in_progress = [ + quest for quest in quests + if cls._status_map(quest.status) == "the_road_goes_ever_on" + ] + critical_in_progress = [quest for quest in in_progress if (quest.priority or "") == "Critical"] + if critical_in_progress: + chosen = critical_in_progress[0] + return { + "goal_type": "finish_critical_in_progress", + "title": "Finish a critical in-progress quest", + "reason": "You already started a critical objective; finishing it unlocks momentum.", + "target": { + "quest_id": chosen.id, + "route": "/quests", + "query": { + "status": "the_road_goes_ever_on", + "focusQuestId": chosen.id, + }, + }, + } + + unassigned_critical = [ + quest for quest in quests + if (quest.priority or "") == "Critical" and not quest.assigned_to + ] + if unassigned_critical: + chosen = unassigned_critical[0] + return { + "goal_type": "assign_critical", + "title": "Assign an unowned critical quest", + "reason": "Critical objectives without an owner tend to stall quickly.", + "target": { + "quest_id": chosen.id, + "route": "/quests", + "query": { + "focusQuestId": chosen.id, + }, + }, + } + + not_started_with_location = [ + quest for quest in quests + if cls._status_map(quest.status) == "not_yet_begun" and quest.location_id + ] + if not_started_with_location: + chosen = not_started_with_location[0] + return { + "goal_type": "scout_map_hotspot", + "title": "Scout a location with pending objectives", + "reason": "Exploring the map hotspot first makes it easier to choose a smart next move.", + "target": { + "quest_id": chosen.id, + "route": "/map", + "query": { + "selectedQuestId": chosen.id, + "zoomToLocation": chosen.location_id, + }, + }, + } + + available = [quest for quest in quests if cls._status_map(quest.status) != "it_is_done"] + if available: + chosen = available[0] + return { + "goal_type": "advance_next_quest", + "title": "Advance the next unfinished quest", + "reason": "Progress compounds when one unfinished objective moves forward.", + "target": { + "quest_id": chosen.id, + "route": "/quests", + "query": { + "focusQuestId": chosen.id, + }, + }, + } + + location = Location.query.first() + return { + "goal_type": "propose_side_quest", + "title": "Propose a new side quest", + "reason": "All tracked quests are complete; create a fresh objective to keep momentum alive.", + "target": cls._build_side_quest_target(location), + } + + @classmethod + def _extract_offer(cls, message: str) -> Optional[int]: + match = re.search(r"(\d{1,6})", message) + if not match: + return None + try: + return int(match.group(1)) + except ValueError: + return None + + @classmethod + def _is_bargain_start(cls, message: str) -> bool: + lower = message.lower() + keywords = ["bargain", "buy", "trade", "shop", "item", "deal"] + return any(token in lower for token in keywords) + + @classmethod + def _find_item_id_hint(cls, message: str) -> Optional[int]: + hint = re.search(r"#(\d+)", message) + if not hint: + return None + try: + return int(hint.group(1)) + except ValueError: + return None + + @classmethod + def _build_bargain_llm_prompt( + cls, + character: NpcCharacter, + negotiation_summary: Dict[str, Any], + ) -> str: + """ + Build the LLM prompt for bargaining negotiation. + + The LLM receives the algorithm's result and should: + 1. Rephrase and justify the result naturally + 2. Stay in character + 3. Acknowledge flattery if applicable + 4. Reference item qualities and in-world context + 5. Try to persuade user to accept the offer + """ + char_profile = get_character_profile(character) + personality_traits = ", ".join(char_profile.get("personality", [])) + + result = negotiation_summary.get("negotiation_result", "") + + prompt = ( + f"You are {char_profile.get('full_name', character)}, a character in Middle-earth. " + f"Your personality traits: {personality_traits}. " + f"\n\nYou are negotiating over item: {negotiation_summary.get('item_name', 'an item')}. " + ) + + if negotiation_summary.get("is_flattered"): + prompt += "\nThe user just flattered you—acknowledge this naturally and favorably. " + + if result == "counter-offer": + counter = negotiation_summary.get("counter_offer") + prompt += ( + f"\nYou are making a counter-offer of {counter} gold. " + f"The user offered {negotiation_summary.get('user_offer')} gold (you originally asked {negotiation_summary.get('current_ask')}). " + f"Justify this counter-offer, reference the item's importance to you, " + f"and subtly persuade the user to accept. Stay brief (1-2 sentences). " + f"Stay in character. Do NOT mention the negotiation mechanics or rounds." + ) + elif result == "offer-accepted": + prompt += ( + f"\nThe user's offer of {negotiation_summary.get('user_offer')} gold is acceptable! " + f"Express satisfaction, perhaps acknowledge their negotiation skill, " + f"and finalize the deal in character. Stay brief (1 sentence)." + ) + elif result == "offer-rejected": + prompt += ( + f"\nThe user's offer of {negotiation_summary.get('user_offer')} gold is too low. " + f"You originally asked {negotiation_summary.get('current_ask')} gold. " + f"Express disappointment or frustration (in character) and encourage them to do better. " + f"Stay brief (1-2 sentences)." + ) + elif result == "stop-bargain": + stop_reason = negotiation_summary.get("stop_reason", "") + if stop_reason == "boredom_threshold": + prompt += ( + f"\nYou are done haggling. You are bored and offended by this negotiation. " + f"Exit the negotiation angrily but in character. Stay brief (1 sentence). " + f"Do NOT offer further negotiation." + ) + elif stop_reason == "max_rounds_exceeded": + prompt += ( + f"\nYou've spent enough time on this negotiation. " + f"Tell the user you're done discussing price and walk away in character. " + f"Stay brief (1 sentence)." + ) + + return prompt + + @classmethod + def _complete_bargaining_with_llm( + cls, + character: NpcCharacter, + negotiation_summary: Dict[str, Any], + ) -> Optional[str]: + """ + Generate a natural language response for bargaining using LLM. + + Takes the algorithm's structured result and asks LLM to generate + an in-character response that justifies and rephrases it. + """ + deployment = current_app.config.get("AZURE_OPENAI_DEPLOYMENT", "") + if not deployment: + return None + + client = cls._new_client() + if client is None: + return None + + prompt = cls._build_bargain_llm_prompt(character, negotiation_summary) + + messages: List[Dict[str, str]] = [ + { + "role": "system", + "content": ( + f"You are {negotiation_summary.get('character')}, a LOTR character. " + "Negotiate over items in-character, naturally and briefly. " + "Never break character or mention system details." + ) + }, + { + "role": "user", + "content": prompt + } + ] + + try: + max_tokens = current_app.config.get("AZURE_OPENAI_MAX_TOKENS", 150) + temperature = current_app.config.get("AZURE_OPENAI_TEMPERATURE", 0.85) + + completion = client.chat.completions.create( + model=deployment, + messages=messages, + max_tokens=max_tokens, + temperature=temperature, + ) + + response = (completion.choices[0].message.content or "").strip() + if response: + logger.info(f"✓ Bargaining LLM generated response for {character}") + + # Log the LLM interaction + session_id = cls._negotiation_session_ids.get( + f"{negotiation_summary.get('item_id')}:{character}" + ) + if session_id: + NegotiationLogger.log_llm_interaction( + session_id=session_id, + llm_input_summary=negotiation_summary, + llm_output=response + ) + + return response or None + except Exception as e: + logger.error(f"✗ Bargaining LLM failed for {character}: {type(e).__name__}: {str(e)}") + return None + + @classmethod + def _build_negotiation_state(cls, selected_character: NpcCharacter, item: Dict[str, Any]) -> Dict[str, Any]: + profile_name = item.get("personality_profile", "bargainer") + personality = cls._personality_defaults.get(profile_name, cls._personality_defaults["bargainer"]) + char_config = BargainingConfig.get_character_config(selected_character) + max_rounds = int(char_config.get("max_rounds", int(personality["patience"]))) + return { + "item_id": item["id"], + "item_name": item["name"], + "owner_character": item["owner_character"], + "personality_profile": profile_name, + "current_ask": int(item["asking_price"]), + "round": 0, + "patience": int(personality["patience"]), + "max_rounds": max_rounds, + "concession": float(personality["concession"]), + "boredom": float(personality["boredom"]), + "accept_ratio": float(personality["accept_ratio"]), + "status": "active", + "character": selected_character, + } + + @classmethod + def _build_chat_message( + cls, + role: str, + content: str, + message_type: Optional[str] = None, + fmt: str = "markdown", + metadata: Optional[Dict[str, Any]] = None, + ) -> Dict[str, Any]: + payload: Dict[str, Any] = { + "role": role, + "content": content, + "type": message_type or role, + "format": fmt, + } + if metadata: + payload["metadata"] = metadata + return payload + + @classmethod + def _build_item_catalog_markdown( + cls, + items: List[Dict[str, Any]], + heading: str = "Available wares to bargain for:", + ) -> str: + if not items: + return "No wares remain for this trader. Try another character marker on the map." + lines = [heading] + for item in items: + lines.append(f"- **{item['name']}** — ask **{int(item['asking_price'])} Gold** (id: #{item['id']})") + return "\n".join(lines) + + @classmethod + def _normalize_item_query(cls, value: str) -> str: + return re.sub(r"[^a-z0-9]+", " ", (value or "").lower()).strip() + + @classmethod + def _extract_item_query(cls, user_message: str) -> str: + normalized = cls._normalize_item_query(user_message) + cleaned = re.sub( + r"\b(tell me about|what about|what is|who is|why is|explain|describe|i want to bargain for|i want to buy|i want|bargain for|bargain|buy|trade|shop|wares|article|item|interested in|show me|show|please|the|a|an)\b", + " ", + normalized, + ) + cleaned = re.sub(r"\s+", " ", cleaned).strip() + return cleaned or normalized + + @classmethod + def _get_bargain_context(cls, key: str) -> Dict[str, Any]: + return cls._bargain_context_store.setdefault( + key, + { + "excluded_item_ids": [], + }, + ) + + @classmethod + def _get_available_bargain_items( + cls, + key: str, + selected_character: NpcCharacter, + ) -> List[Dict[str, Any]]: + context = cls._get_bargain_context(key) + excluded_ids = set(context.get("excluded_item_ids", [])) + items = ShopService.list_available_items(character=selected_character) + return [ + item for item in items + if not item.get("is_sold", False) and item.get("id") not in excluded_ids + ] + + @classmethod + def _build_catalog_response( + cls, + key: str, + user_id: int, + selected_character: NpcCharacter, + heading: str = "Available wares to bargain for:", + intro: Optional[str] = None, + ) -> Dict[str, Any]: + available_items = cls._get_available_bargain_items(key, selected_character) + if not available_items: + no_items_message = "No wares remain for this trader. Try another character marker on the map." + return { + "message": no_items_message, + "message_payload": cls._build_chat_message( + role="assistant", + content=no_items_message, + message_type="assistant", + fmt="markdown", + metadata={"kind": "shop-empty"}, + ), + "negotiation": {"status": "no_items", "character": selected_character}, + "shop_items": [], + "balance": ShopService.get_balance(user_id), + } + + catalog_text = cls._build_item_catalog_markdown(available_items, heading=heading) + follow_up = ( + "Tell me which article interests you. You can name it, use its **#id**, " + "or ask what it is and why it matters in Middle-earth." + ) + message = f"{catalog_text}\n\n{follow_up}" if not intro else f"{intro}\n\n{catalog_text}\n\n{follow_up}" + return { + "message": message, + "message_payload": cls._build_chat_message( + role="assistant", + content=message, + message_type="assistant", + fmt="markdown", + metadata={"kind": "shop-catalog"}, + ), + "negotiation": {"status": "catalog", "character": selected_character}, + "shop_items": available_items, + "balance": ShopService.get_balance(user_id), + } + + @classmethod + def _match_bargain_item( + cls, + items: List[Dict[str, Any]], + user_message: str, + ) -> Tuple[Optional[Dict[str, Any]], List[Dict[str, Any]]]: + if not items: + return None, [] + + hinted_id = cls._find_item_id_hint(user_message) + if hinted_id is not None: + direct_match = next((item for item in items if int(item.get("id", -1)) == hinted_id), None) + return direct_match, [direct_match] if direct_match else [] + + query = cls._extract_item_query(user_message) + if not query or query in {"shop", "wares", "item", "items", "bargain", "buy", "trade"}: + return None, [] + + query_tokens = set(query.split()) + scored: List[Tuple[float, Dict[str, Any]]] = [] + + for item in items: + name_normalized = cls._normalize_item_query(item.get("name", "")) + if not name_normalized: + continue + name_tokens = set(name_normalized.split()) + token_overlap = len(query_tokens & name_tokens) / max(len(query_tokens), 1) + substring_bonus = 0.35 if query and query in name_normalized else 0.0 + prefix_bonus = 0.15 if query and name_normalized.startswith(query) else 0.0 + ratio = SequenceMatcher(None, query, name_normalized).ratio() + score = max(ratio, min(1.0, token_overlap + substring_bonus + prefix_bonus)) + if score >= 0.4: + scored.append((score, item)) + + if not scored: + return None, [] + + scored.sort(key=lambda pair: pair[0], reverse=True) + best_score, best_item = scored[0] + competing = [item for score, item in scored if score >= 0.6 and abs(best_score - score) < 0.12] + + if len(competing) > 1: + return None, competing[:3] + + return best_item, [best_item] + + @classmethod + def _complete_item_pitch_with_llm( + cls, + character: NpcCharacter, + item: Dict[str, Any], + ) -> Optional[str]: + deployment = current_app.config.get("AZURE_OPENAI_DEPLOYMENT", "") + if not deployment: + return None + + client = cls._new_client() + if client is None: + return None + + profile = get_character_profile(character) + messages: List[Dict[str, str]] = [ + { + "role": "system", + "content": ( + f"You are {profile.get('full_name', character)}, a trader in Middle-earth. " + "Answer in character. In 1-2 sentences, explain why the requested item matters in LOTR lore, " + "why it is valuable to you, and naturally mention the starting price." + ), + }, + { + "role": "user", + "content": ( + f"The user asked about '{item.get('name')}'. " + f"Description: {item.get('description') or 'No description given.'} " + f"Starting ask: {int(item.get('asking_price', 0))} Gold." + ), + }, + ] + + try: + completion = client.chat.completions.create( + model=deployment, + messages=messages, + max_tokens=current_app.config.get("AZURE_OPENAI_MAX_TOKENS", 180), + temperature=current_app.config.get("AZURE_OPENAI_TEMPERATURE", 0.85), + ) + content = (completion.choices[0].message.content or "").strip() + return content or None + except Exception as error: + logger.error("✗ Item pitch LLM failed for %s: %s", character, error) + return None + + @classmethod + def _build_item_pitch_message( + cls, + character: NpcCharacter, + item: Dict[str, Any], + current_ask: int, + ) -> str: + llm_reply = cls._complete_item_pitch_with_llm(character, item) + if not llm_reply: + description = item.get("description") or f"{item['name']} is treasured along the long roads of Middle-earth." + llm_reply = ( + f"**{item['name']}** matters in Middle-earth because {description.rstrip('.')}" + f". I would start at **{current_ask} Gold**." + ) + + if f"**{current_ask} Gold**" not in llm_reply: + llm_reply = f"{llm_reply.rstrip()}\n\nStarting ask: **{current_ask} Gold**." + + return ( + f"{llm_reply.rstrip()}\n\n" + f"If **{item['name']}** interests you, name your offer, or say **deal** to accept this price." + ) + + @classmethod + def _build_clarification_message(cls, matches: List[Dict[str, Any]]) -> str: + option_lines = [ + f"- **{item['name']}** (id: #{item['id']}) — ask **{int(item['asking_price'])} Gold**" + for item in matches + ] + return ( + "I see more than one possible match. Which of these wares did you mean?\n\n" + + "\n".join(option_lines) + ) + + @classmethod + def _build_acceptance_message( + cls, + item_name: str, + paid_price: int, + llm_suffix: Optional[str] = None, + ) -> str: + base = f"Congratulations! **{item_name}** is yours for **{paid_price} Gold**." + if llm_suffix: + return f"{base}\n\n{llm_suffix.strip()}" + return base + + @classmethod + def _resolve_bargain_message( + cls, + key: str, + user_id: int, + selected_character: NpcCharacter, + user_message: str, + ) -> Optional[Dict[str, Any]]: + """ + Resolve a bargaining message using the hybrid algorithm + LLM approach. + + 1. Algorithm evaluates the offer + 2. LLM generates natural language response + 3. Logs the negotiation + """ + negotiation = cls._negotiation_store.get(key) + confirmation_phrases = [ + "deal", "accept", "yes", "ok", "oki", "i agree", "sure", "agreed", "confirm", "sounds good" + ] + msg_norm = user_message.strip().lower() + has_bargain_context = key in cls._bargain_context_store + direct_item_inquiry = ( + cls._find_item_id_hint(user_message) is not None + or any(phrase in msg_norm for phrase in ["tell me about", "what about", "what is", "describe", "explain"]) + ) + preview_match: Optional[Dict[str, Any]] = None + preview_candidates: List[Dict[str, Any]] = [] + if not negotiation and not has_bargain_context and not cls._is_bargain_start(user_message): + preview_items = ShopService.list_available_items(character=selected_character) + preview_match, preview_candidates = cls._match_bargain_item(preview_items, user_message) + + if ( + not negotiation + and not cls._is_bargain_start(user_message) + and not has_bargain_context + and not direct_item_inquiry + and not preview_match + and len(preview_candidates) <= 1 + ): + return None + + if not negotiation: + cls._get_bargain_context(key) + available_items = cls._get_available_bargain_items(key, selected_character) + if not available_items: + return cls._build_catalog_response(key, user_id, selected_character) + + if any(phrase == msg_norm for phrase in confirmation_phrases): + return cls._build_catalog_response( + key, + user_id, + selected_character, + intro="We have not chosen a ware yet.", + ) + + selected_item, candidate_items = cls._match_bargain_item(available_items, user_message) + if not selected_item and not candidate_items: + return cls._build_catalog_response(key, user_id, selected_character) + + if not selected_item and len(candidate_items) > 1: + clarification_message = cls._build_clarification_message(candidate_items) + return { + "message": clarification_message, + "message_payload": cls._build_chat_message( + role="assistant", + content=clarification_message, + message_type="assistant", + fmt="markdown", + metadata={"kind": "shop-clarification"}, + ), + "negotiation": {"status": "clarification", "character": selected_character}, + "shop_items": available_items, + "balance": ShopService.get_balance(user_id), + } + + chosen_item = selected_item + negotiation = cls._build_negotiation_state(selected_character, chosen_item) + negotiation["original_price"] = int(chosen_item["asking_price"]) + cls._negotiation_store[key] = negotiation + + session_id = NegotiationLogger.log_negotiation_start( + character=selected_character, + item_id=chosen_item["id"], + item_name=chosen_item["name"], + original_price=int(chosen_item["asking_price"]) + ) + cls._negotiation_session_ids[key] = session_id + cls._flattery_flags[key] = False + + opening_message = cls._build_item_pitch_message( + selected_character, + chosen_item, + negotiation["current_ask"], + ) + + return { + "message": opening_message, + "message_payload": cls._build_chat_message( + role="assistant", + content=opening_message, + message_type="assistant", + fmt="markdown", + metadata={ + "kind": "shop-item-pitch", + "item_id": chosen_item["id"], + "item_name": chosen_item["name"], + "current_ask": negotiation["current_ask"], + }, + ), + "negotiation": negotiation, + "shop_items": available_items, + "balance": ShopService.get_balance(user_id), + } + + # Extract offer from message + offer = cls._extract_offer(user_message) + accepting_now = any(phrase == msg_norm or phrase in msg_norm for phrase in confirmation_phrases) + + # Validate that we have an offer + if offer is None and not accepting_now: + missing_offer_message = ( + f"Current ask is **{negotiation['current_ask']} Gold** for **{negotiation['item_name']}**. " + "Reply with a numeric offer or say **deal**." + ) + return { + "message": missing_offer_message, + "message_payload": cls._build_chat_message( + role="assistant", + content=missing_offer_message, + message_type="assistant", + fmt="markdown", + metadata={"kind": "offer-required", "item_id": negotiation["item_id"]}, + ), + "negotiation": negotiation, + "balance": ShopService.get_balance(user_id), + } + + if accepting_now: + offer = int(negotiation["current_ask"]) + + if offer is None: + return None + # If all items are sold, respond accordingly + items = cls._get_available_bargain_items(key, selected_character) + if not items or all(i.get("is_sold", False) for i in items): + return { + "message": "No wares remain. All items are sold out. Farewell, friend!", + "message_payload": cls._build_chat_message( + role="assistant", + content="No wares remain. All items are sold out. Farewell, friend!", + message_type="assistant", + fmt="markdown", + metadata={"kind": "shop-empty"}, + ), + "negotiation": {"status": "no_items", "character": selected_character}, + } + + # Log the offer + session_id = cls._negotiation_session_ids.get(key) + if session_id: + NegotiationLogger.log_offer_made( + session_id=session_id, + round_num=negotiation["round"], + user_offer=offer, + current_ask=negotiation["current_ask"], + is_flattered=cls._flattery_flags.get(key, False) + ) + + # Detect flattery + is_flattered = ( + BargainingAlgorithm.detect_flattery(user_message) + and not cls._flattery_flags.get(key, False) + ) + + if is_flattered: + cls._flattery_flags[key] = True # Mark flattery as used + if session_id: + NegotiationLogger.log_behavior_detected(session_id, "flattery") + + # Calculate mood modifiers based on user behavior + previous_offer = negotiation.get("previous_offer") + mood_modifiers = BargainingAlgorithm.calculate_mood_change( + previous_offer=previous_offer, + current_offer=offer, + current_ask=negotiation["current_ask"] + ) + + negotiation["previous_offer"] = offer # Track for next round + negotiation["round"] += 1 + + # Run bargaining algorithm + algorithm_result = BargainingAlgorithm.evaluate_offer( + user_offer=offer, + current_ask=negotiation["current_ask"], + character=selected_character, + round_num=negotiation["round"], + is_flattered=is_flattered, + mood_modifiers=mood_modifiers if mood_modifiers else None + ) + + # Log algorithm result + if session_id: + NegotiationLogger.log_algorithm_result( + session_id=session_id, + result_type=algorithm_result["result"].value, + context=algorithm_result["context"] + ) + + result_type = algorithm_result["result"] + + # Handle OFFER_ACCEPTED + if result_type == NegotiationResult.OFFER_ACCEPTED: + try: + purchase = ShopService.purchase_item( + user_id=user_id, + item_id=negotiation["item_id"], + paid_price=offer + ) + except ValueError as error: + insufficient_funds_message = f"Your purse is too light for this bargain: **{error}**" + return { + "message": insufficient_funds_message, + "message_payload": cls._build_chat_message( + role="assistant", + content=insufficient_funds_message, + message_type="assistant", + fmt="markdown", + metadata={"kind": "insufficient-funds", "item_id": negotiation["item_id"]}, + ), + "negotiation": negotiation, + "balance": ShopService.get_balance(user_id), + } + + negotiation["status"] = "accepted" + cls._negotiation_store.pop(key, None) + cls._flattery_flags.pop(key, None) + + # Log the successful negotiation + if session_id: + NegotiationLogger.log_negotiation_end( + session_id=session_id, + final_status="accepted", + final_price=offer, + rounds_taken=negotiation["round"] + ) + + # Generate LLM response + summary = BargainingAlgorithm.get_summary_for_llm( + negotiation_state={ + "character": selected_character, + "item_name": negotiation["item_name"], + "item_id": negotiation["item_id"], + "original_price": negotiation.get("original_price", negotiation["current_ask"]), + "current_ask": negotiation["current_ask"], + "round": negotiation["round"], + }, + algorithm_result=algorithm_result, + user_offer=offer, + character_personality=negotiation.get("personality_profile", "bargainer"), + is_flattered=is_flattered, + mood_modifiers=mood_modifiers or {} + ) + + npc_reply = cls._complete_bargaining_with_llm(selected_character, summary) + if not npc_reply: + npc_reply = ( + f"Agreed at **{offer} Gold**. The true price was **{purchase['purchase']['base_price_revealed']} Gold**. " + f"Deal score: **{purchase['purchase']['savings_percent']:+.2f}%**" + ) + + acceptance_message = cls._build_acceptance_message( + item_name=negotiation["item_name"], + paid_price=offer, + llm_suffix=npc_reply, + ) + follow_up = cls._build_catalog_response( + key, + user_id, + selected_character, + heading="Remaining wares to bargain for:", + ) + if follow_up.get("negotiation", {}).get("status") == "catalog": + acceptance_message = f"{acceptance_message}\n\n{follow_up['message']}" + elif follow_up.get("negotiation", {}).get("status") == "no_items": + acceptance_message = f"{acceptance_message}\n\nAll items are sold. Farewell, friend!" + + return { + "message": acceptance_message, + "message_payload": cls._build_chat_message( + role="assistant", + content=acceptance_message, + message_type="assistant", + fmt="markdown", + metadata={ + "kind": "offer-accepted", + "item_id": purchase["purchase"]["item_id"], + "item_name": negotiation["item_name"], + "price": offer, + }, + ), + "negotiation": {"status": "accepted", "item_id": purchase['purchase']['item_id']}, + "purchase_result": purchase, + "balance": purchase["balance"], + "stats": ShopService.get_user_stats(user_id), + "shop_items": follow_up.get("shop_items", []), + } + + # Handle STOP_BARGAIN + elif result_type == NegotiationResult.STOP_BARGAIN: + negotiation["status"] = "stop-bargain" + cls._negotiation_store.pop(key, None) + cls._flattery_flags.pop(key, None) + context = cls._get_bargain_context(key) + excluded_item_ids = set(context.get("excluded_item_ids", [])) + excluded_item_ids.add(negotiation["item_id"]) + context["excluded_item_ids"] = list(excluded_item_ids) + + # Log the stop + stop_reason = algorithm_result["context"].get("reason", "unknown") + if session_id: + NegotiationLogger.log_negotiation_end( + session_id=session_id, + final_status="stopped", + final_price=None, + rounds_taken=negotiation["round"] + ) + + # Generate LLM response for stopping + summary = BargainingAlgorithm.get_summary_for_llm( + negotiation_state={ + "character": selected_character, + "item_name": negotiation["item_name"], + "item_id": negotiation["item_id"], + "original_price": negotiation.get("original_price", negotiation["current_ask"]), + "current_ask": negotiation["current_ask"], + "round": negotiation["round"], + }, + algorithm_result=algorithm_result, + user_offer=offer, + character_personality=negotiation.get("personality_profile", "bargainer"), + is_flattered=is_flattered, + mood_modifiers=mood_modifiers or {} + ) + + npc_reply = cls._complete_bargaining_with_llm(selected_character, summary) + if not npc_reply: + if stop_reason == "boredom_threshold": + npc_reply = "I am bored of haggling. No sale this time." + else: + npc_reply = "We are finished haggling." + + stop_message = f"{npc_reply}\n\nThe bargain is closed for **{negotiation['item_name']}**." + follow_up = cls._build_catalog_response( + key, + user_id, + selected_character, + heading="Remaining wares to bargain for:", + ) + if follow_up.get("negotiation", {}).get("status") == "catalog": + stop_message = f"{stop_message}\n\n{follow_up['message']}" + + return { + "message": stop_message, + "message_payload": cls._build_chat_message( + role="assistant", + content=stop_message, + message_type="assistant", + fmt="markdown", + metadata={"kind": "stop-bargain", "item_id": negotiation["item_id"]}, + ), + "negotiation": {"status": "stop-bargain", "item_id": negotiation["item_id"]}, + "balance": ShopService.get_balance(user_id), + "shop_items": follow_up.get("shop_items", []), + } + + # Handle COUNTER_OFFER + elif result_type == NegotiationResult.COUNTER_OFFER: + new_ask = algorithm_result["counter_offer"] + negotiation["current_ask"] = new_ask + + # Generate LLM response for counter-offer + summary = BargainingAlgorithm.get_summary_for_llm( + negotiation_state={ + "character": selected_character, + "item_name": negotiation["item_name"], + "item_id": negotiation["item_id"], + "original_price": negotiation.get("original_price", new_ask), + "current_ask": new_ask, + "round": negotiation["round"], + }, + algorithm_result=algorithm_result, + user_offer=offer, + character_personality=negotiation.get("personality_profile", "bargainer"), + is_flattered=is_flattered, + mood_modifiers=mood_modifiers or {} + ) + + npc_reply = cls._complete_bargaining_with_llm(selected_character, summary) + if not npc_reply: + context = algorithm_result.get("context", {}) + if context.get("reason") == "lucky_drop": + npc_reply = f"You wore me down. Rare mercy: **{new_ask} Gold** and not a coin less." + else: + npc_reply = ( + f"Too low. I can move to **{new_ask} Gold** for **{negotiation['item_name']}**." + ) + + if "**" not in npc_reply: + npc_reply = f"{npc_reply}\n\nCurrent ask: **{new_ask} Gold**." + + return { + "message": npc_reply, + "message_payload": cls._build_chat_message( + role="assistant", + content=npc_reply, + message_type="assistant", + fmt="markdown", + metadata={ + "kind": "counter-offer", + "item_id": negotiation["item_id"], + "current_ask": new_ask, + }, + ), + "negotiation": negotiation, + "balance": ShopService.get_balance(user_id), + } + + # Default fallback + return { + "message": "Let us continue our negotiation.", + "message_payload": cls._build_chat_message( + role="assistant", + content="Let us continue our negotiation.", + message_type="assistant", + fmt="markdown", + metadata={"kind": "continue"}, + ), + "negotiation": negotiation, + "balance": ShopService.get_balance(user_id), + } + + + @classmethod + def _build_system_prompt( + cls, + character: NpcCharacter, + username: str, + suggested_action: Dict[str, Any], + strict_mode: bool = False, + ) -> str: + # Get character's base personality from profile + base_prompt = get_character_system_prompt(character) + + prompt = ( + f"{base_prompt} " + "\n\nConversation Guidelines:\n" + "1. Respond in 1-3 paragraphs naturally—adapt tone to what the user shares.\n" + "2. Reference specific things the user mentioned to show you're truly listening.\n" + "3. Ask thoughtful follow-up questions that deepen understanding, not generic prompts.\n" + "4. Subtly hint at quest opportunities when the user mentions challenges or goals.\n" + "5. Never use movie quotes directly; instead, speak authentically in character.\n" + "6. Avoid breaking character or mentioning system/AI aspects.\n" + f"\nContext: Conversing with {username}.\n" + f"Current suggested direction: {suggested_action.get('title', 'Unclear')}.\n" + f"Reason: {suggested_action.get('reason', 'No guidance yet')}." + ) + if strict_mode: + prompt += ( + "\n\nSTRICT MODE: Respond ONLY as the character. No meta-commentary, " + "no breaking character, no AI references. Be concise and action-focused. " + "If the user seems stuck or overwhelmed, gently suggest a quest that fits their situation." + ) + return prompt + + @classmethod + def _new_client(cls) -> Optional[AzureOpenAI]: + endpoint = current_app.config.get("AZURE_OPENAI_ENDPOINT", "") + api_key = current_app.config.get("AZURE_OPENAI_API_KEY", "") + api_version = current_app.config.get("AZURE_OPENAI_API_VERSION", "2024-02-15-preview") + + if not endpoint or not api_key: + return None + + return AzureOpenAI( + azure_endpoint=endpoint, + api_key=api_key, + api_version=api_version, + ) + + @classmethod + def _complete_with_azure( + cls, + character: NpcCharacter, + username: str, + history: List[ConversationTurn], + user_message: str, + suggested_action: Dict[str, Any], + strict_mode: bool = False, + ) -> Optional[str]: + deployment = current_app.config.get("AZURE_OPENAI_DEPLOYMENT", "") + max_tokens = current_app.config.get("AZURE_OPENAI_MAX_TOKENS", 220) + temperature = current_app.config.get("AZURE_OPENAI_TEMPERATURE", 0.85) + + if not deployment: + return None + + client = cls._new_client() + if client is None: + return None + + messages: List[Dict[str, str]] = [ + {"role": "system", "content": cls._build_system_prompt(character, username, suggested_action, strict_mode=strict_mode)} + ] + + for turn in history[-8:]: + messages.append({"role": turn["role"], "content": turn["content"]}) + + messages.append({"role": "user", "content": user_message}) + + try: + completion = client.chat.completions.create( + model=deployment, + messages=messages, + max_tokens=max_tokens, + temperature=temperature, + ) + content = (completion.choices[0].message.content or "").strip() + if content: + logger.info(f"✓ Azure OpenAI generated response for {character}") + return content or None + except Exception as e: + logger.error(f"✗ Azure OpenAI failed for {character}: {type(e).__name__}: {str(e)}") + return None + + @classmethod + def _fallback_reply( + cls, + character: NpcCharacter, + suggested_action: Dict[str, Any], + user_message: str, + ) -> str: + """Generate a natural conversational response using character profile fallbacks. + + This method returns authentic character responses that vary and feel natural, + rather than always appending action suggestions. The suggested_action is + displayed separately in the UI. + """ + return cls._get_character_fallback_response(character) + + @classmethod + def start_conversation( + cls, + user_id: int, + username: str, + character: Optional[str], + scope_id: str = "", + ) -> Dict[str, Any]: + selected_character = cls._normalize_character(character) + key = cls._conversation_key(user_id, scope_id, selected_character) + + # Clear bargain context so excluded_item_ids don't carry over from previous sessions + cls._bargain_context_store.pop(key, None) + + suggested_action = cls._compute_suggested_action(user_id) + + # Check if this character has items available for bargaining. + # If yes, open the conversation with the wares catalog instead of a generic opener + # so the first message the buyer sees is the tradeable items list. + available_items = ShopService.list_available_items(character=selected_character) + if available_items: + catalog_response = cls._build_catalog_response(key, user_id, selected_character) + catalog_message = catalog_response.get("message_payload") or cls._build_chat_message( + role="assistant", + content=catalog_response.get("message", ""), + message_type="assistant", + fmt="markdown", + metadata={"kind": "shop-catalog"}, + ) + cls._conversation_store[key] = [catalog_message] + return { + "conversation_id": key, + "character": selected_character, + "opener": catalog_response.get("message", ""), + "suggested_action": suggested_action, + "messages": cls._conversation_store[key], + "timestamp": datetime.utcnow().isoformat(), + } + + # Fallback to regular opener when character has no items + opener = random.choice(cls._opener_pool[selected_character]) + cls._conversation_store[key] = [ + cls._build_chat_message( + role="assistant", + content=opener, + message_type="assistant", + fmt="markdown", + metadata={"kind": "opener"}, + ) + ] + + return { + "conversation_id": key, + "character": selected_character, + "opener": opener, + "suggested_action": suggested_action, + "messages": cls._conversation_store[key], + "timestamp": datetime.utcnow().isoformat(), + } + + @classmethod + def send_message( + cls, + user_id: int, + username: str, + character: Optional[str], + user_message: str, + scope_id: str = "", + ) -> Dict[str, Any]: + selected_character = cls._normalize_character(character) + key = cls._conversation_key(user_id, scope_id, selected_character) + + if key not in cls._conversation_store: + if cls._is_bargain_start(user_message): + cls._conversation_store[key] = [] + else: + cls.start_conversation(user_id, username, selected_character, scope_id=scope_id) + + bargain_result = cls._resolve_bargain_message( + key=key, + user_id=user_id, + selected_character=selected_character, + user_message=user_message, + ) + if bargain_result: + npc_reply = bargain_result.get("message", "Let us continue.") + history = cls._conversation_store.get(key, []) + assistant_payload = bargain_result.get("message_payload") or cls._build_chat_message( + role="assistant", + content=npc_reply, + message_type="assistant", + fmt="markdown", + ) + updated = history + [ + cls._build_chat_message( + role="user", + content=user_message.strip(), + message_type="user", + fmt="markdown", + ), + assistant_payload, + ] + cls._conversation_store[key] = updated[-20:] + + result: Dict[str, Any] = { + "conversation_id": key, + "character": selected_character, + "message": npc_reply, + "suggested_action": cls._compute_suggested_action(user_id), + "messages": cls._conversation_store[key], + "timestamp": datetime.utcnow().isoformat(), + } + if "negotiation" in bargain_result: + result["negotiation"] = bargain_result["negotiation"] + if "shop_items" in bargain_result: + result["shop_items"] = bargain_result["shop_items"] + if "balance" in bargain_result: + result["balance"] = bargain_result["balance"] + if "purchase_result" in bargain_result: + result["purchase_result"] = bargain_result["purchase_result"] + if "stats" in bargain_result: + result["stats"] = bargain_result["stats"] + return result + + suggested_action = cls._compute_suggested_action(user_id) + history = cls._conversation_store.get(key, []) + + npc_reply = cls._complete_with_azure( + character=selected_character, + username=username, + history=history, + user_message=user_message, + suggested_action=suggested_action, + ) + + if npc_reply and cls._is_out_of_character(npc_reply): + npc_reply = cls._complete_with_azure( + character=selected_character, + username=username, + history=history, + user_message=user_message, + suggested_action=suggested_action, + strict_mode=True, + ) + + if not npc_reply or cls._is_out_of_character(npc_reply): + npc_reply = cls._fallback_reply(selected_character, suggested_action, user_message) + + updated = history + [ + cls._build_chat_message( + role="user", + content=user_message.strip(), + message_type="user", + fmt="markdown", + ), + cls._build_chat_message( + role="assistant", + content=npc_reply, + message_type="assistant", + fmt="markdown", + ), + ] + + cls._conversation_store[key] = updated[-20:] + + # Determine if a quest should be offered + suggested_quest = None + turn_count = len(updated) // 2 # Approximate conversation turn count + if should_offer_quest(user_message, turn_count): + generated_quest = generate_quest( + character=selected_character, + user_message=user_message, + conversation_history=updated[-6:], + ) + if generated_quest: + suggested_quest = generated_quest + + result = { + "conversation_id": key, + "character": selected_character, + "message": npc_reply, + "suggested_action": suggested_action, + "messages": cls._conversation_store[key], + "timestamp": datetime.utcnow().isoformat(), + } + + # Add suggested quest if one was generated + if suggested_quest: + result["suggested_quest"] = suggested_quest + + return result + + @classmethod + def get_session( + cls, + user_id: int, + character: Optional[str], + scope_id: str = "", + ) -> Dict[str, Any]: + selected_character = cls._normalize_character(character) + key = cls._conversation_key(user_id, scope_id, selected_character) + return { + "conversation_id": key, + "character": selected_character, + "messages": cls._conversation_store.get(key, []), + "suggested_action": cls._compute_suggested_action(user_id), + "negotiation": cls._negotiation_store.get(key), + "balance": ShopService.get_balance(user_id), + } + + @classmethod + def reset_session(cls, user_id: int, character: Optional[str], scope_id: str = "") -> Dict[str, Any]: + selected_character = cls._normalize_character(character) + key = cls._conversation_key(user_id, scope_id, selected_character) + cls._conversation_store.pop(key, None) + cls._negotiation_store.pop(key, None) + cls._negotiation_session_ids.pop(key, None) + cls._flattery_flags.pop(key, None) + cls._bargain_context_store.pop(key, None) + return { + "conversation_id": key, + "character": selected_character, + "messages": [], + "reset": True, + } diff --git a/sut/backend/services/quest_generation_service.py b/sut/backend/services/quest_generation_service.py new file mode 100644 index 0000000..d17d8d1 --- /dev/null +++ b/sut/backend/services/quest_generation_service.py @@ -0,0 +1,441 @@ +"""Quest generation service for NPC-driven quest creation. + +Generates semantically coherent, character-appropriate quests based on: +- NPC character personality +- Conversation context +- LOTR theme adherence +""" + +import json +import logging +import random +import re +from typing import Any, Dict, List, Optional, Tuple + +from flask import current_app +from openai import AzureOpenAI + +from models.location import Location +from services.character_profiles import get_character_profile, get_quest_affinity + +# Configure logging +logger = logging.getLogger(__name__) + +# Quest generation templates organized by NPC +QUEST_GENERATION_TEMPLATES: Dict[str, Dict[str, Any]] = { + "frodo": { + "contexts": [ + "The user mentions a problem or burden they're carrying.", + "The user asks for guidance on what to do next.", + "The user seems overwhelmed by many tasks.", + ], + "themes": [ + "Hidden paths and solutions", + "Understanding the true nature of a problem", + "Journeys to unfamiliar places", + "Tests of character and courage", + ], + "title_seeds": [ + "Uncover the {nature} of {subject}", + "Journey to {location} and discover {objective}", + "Face your doubt about {challenge}", + "Find the hidden wisdom in {situation}", + ], + "types": ["The Journey", "The Fellowship", "The Ring"], + "priorities": ["Important", "Critical"], + }, + "sam": { + "contexts": [ + "The user has completed something and needs momentum.", + "The user asks for practical help or advice.", + "The user seems stuck and needs encouragement.", + ], + "themes": [ + "Building and creating", + "Practical problem-solving", + "Loyalty and companionship", + "Caring for others or a place", + ], + "title_seeds": [ + "Prepare {place} for {purpose}", + "Build or fix {object} for {reason}", + "Gather supplies: {list}", + "Care for {person_or_place} by {action}", + ], + "types": ["The Fellowship", "The Battle", "The Journey"], + "priorities": ["Important", "Standard"], + }, + "gandalf": { + "contexts": [ + "The user has reached a critical decision point.", + "The user is avoiding an important choice.", + "The user asks for strategic guidance.", + ], + "themes": [ + "Strategic choices with large consequences", + "Testing someone's resolve or wisdom", + "Understanding larger patterns", + "Containing or confronting darkness", + ], + "title_seeds": [ + "Decide the fate of {stakes}", + "Confront {threat} before it spreads", + "Understand the pattern of {mystery}", + "Test your resolve: {challenge}", + ], + "types": ["The Ring", "Dark Magic", "The Battle"], + "priorities": ["Critical", "Important"], + }, +} + +# Fallback quest generation (no AI) +FALLBACK_QUESTS: Dict[str, List[Dict[str, Any]]] = { + "frodo": [ + { + "title": "Discover the Heart of the Matter", + "description": "Consider this problem deeply: what lies at its true center? It may appear different when you understand its nature.", + "quest_type": "The Journey", + "priority": "Important", + }, + { + "title": "Walk the Hidden Path", + "description": "Every great challenge has an unexpected approach. Take time to find the unconventional route forward.", + "quest_type": "The Fellowship", + "priority": "Important", + }, + { + "title": "Test Your Courage", + "description": "Sometimes the next step demands we face what we've been avoiding. What fear guards your path?", + "quest_type": "The Ring", + "priority": "Critical", + }, + ], + "sam": [ + { + "title": "Prepare the Ground", + "description": "Good work starts with preparation. Gather what you need and organize it well before beginning.", + "quest_type": "The Fellowship", + "priority": "Important", + }, + { + "title": "Strengthen Your Bonds", + "description": "Reach out and help a companion with something they're struggling with. Loyalty matters.", + "quest_type": "The Fellowship", + "priority": "Standard", + }, + { + "title": "Build Something That Lasts", + "description": "Create or improve something that will help you and others in the times ahead.", + "quest_type": "The Battle", + "priority": "Important", + }, + ], + "gandalf": [ + { + "title": "Recognize the Pattern", + "description": "Step back and observe the larger picture. What do the recent events tell you about the true state of affairs?", + "quest_type": "The Ring", + "priority": "Critical", + }, + { + "title": "Make the Hard Choice", + "description": "A decision looms that cannot be avoided. Choose based on principle, not comfort.", + "quest_type": "The Ring", + "priority": "Critical", + }, + { + "title": "Confront the Advancing Shadow", + "description": "A threat grows. Take action now before it becomes unstoppable.", + "quest_type": "Dark Magic", + "priority": "Critical", + }, + ], +} + + +# Middle-earth locations mapping (case-insensitive) +MIDDLE_EARTH_LOCATIONS: Dict[str, List[str]] = { + "Rivendell": ["rivendell", "elrond's home", "valley of imladris", "imladris"], + "Lothlórien": ["lothlórien", "lothlórien", "golden wood", "caras galadhon"], + "Moria": ["moria", "khazad-dum", "dwarf kingdom", "mines of moria"], + "Mordor": ["mordor", "sauron's realm", "mount doom", "barad-dûr"], + "Rohan": ["rohan", "rolling plains", "mark", "edoras"], + "Gondor": ["gondor", "minas tirith", "white city", "kingdom of men"], + "The Shire": ["the shire", "shire", "hobbiton", "bag end"], + "Isengard": ["isengard", "orthanc", "wizard's tower"], + "Mirkwood": ["mirkwood", "greenwood", "thranduil", "wood-elves"], + "Lake-town": ["lake-town", "esgaroth", "bard", "barrel rider"], + "The Grey Havens": ["grey havens", "grey havens", "valinor", "undying lands", "sailing west"], + "Erebor": ["erebor", "lonely mountain", "dwarf kingdom"], + "The Grey Mountains": ["grey mountains", "misty mountains", "mountains"], +} + + +def _find_location_by_text(text: str) -> Optional[Tuple[str, int]]: + """Extract and find a location from text. + + Searches through MIDDLE_EARTH_LOCATIONS and the database to find mentions. + Returns the Location name and ID that was mentioned in the text. + + Args: + text: Text to search for location mentions + + Returns: + Tuple of (location_name, location_id) or None + """ + if not text: + return None + + text_lower = text.lower() + + # Search by known aliases + for location_name, aliases in MIDDLE_EARTH_LOCATIONS.items(): + for alias in aliases: + if alias in text_lower: + # Try to find this location in database + try: + location = Location.query.filter_by(name=location_name).first() + if location: + return (location_name, location.id) + except Exception as e: + logger.warning(f"Failed to query location {location_name}: {e}") + return (location_name, None) + + return None + + +def _add_location_to_quest(quest: Dict[str, Any]) -> Dict[str, Any]: + """Add location_id to a quest based on location mention in description. + + Searches the quest description for Middle-earth location mentions + and adds location_id if found. + + Args: + quest: Quest dict with title, description, quest_type, priority + + Returns: + Same quest dict with optional location_id added + """ + if not quest.get("description"): + return quest + + location_result = _find_location_by_text(quest["description"]) + if location_result: + location_name, location_id = location_result + if location_id: + quest["location_id"] = location_id + logger.debug(f"✓ Assigned location '{location_name}' (ID: {location_id}) to quest") + + return quest + + +def _new_azure_client() -> Optional[AzureOpenAI]: + """Create Azure OpenAI client if configured.""" + endpoint = current_app.config.get("AZURE_OPENAI_ENDPOINT", "") + api_key = current_app.config.get("AZURE_OPENAI_API_KEY", "") + api_version = current_app.config.get("AZURE_OPENAI_API_VERSION", "2024-02-15-preview") + + if not endpoint or not api_key: + return None + + return AzureOpenAI( + azure_endpoint=endpoint, + api_key=api_key, + api_version=api_version, + ) + + +def _generate_quest_with_ai( + character: str, + user_message: str, + conversation_history: List[Dict[str, str]], +) -> Optional[Dict[str, Any]]: + """Generate a quest using Azure OpenAI. + + Args: + character: NPC character (frodo, sam, gandalf) + user_message: User's latest message + conversation_history: Recent conversation turns + + Returns: + Generated quest dict or None if AI fails + """ + deployment = current_app.config.get("AZURE_OPENAI_DEPLOYMENT", "") + if not deployment: + return None + + client = _new_azure_client() + if client is None: + return None + + profile = get_character_profile(character) + quest_types = get_quest_affinity(character) + + # Build system prompt for quest generation with better context awareness + character_context = "" + if character == "frodo": + character_context = ( + "Frodo speaks of quests related to the Ring, Mordor, journeys, and bearing burdens. " + "He frames activities as part of a larger quest toward freedom. " + "Suggest locations like 'Rivendell', 'Lothlórien', 'Moria', or 'Mordor'. " + ) + elif character == "sam": + character_context = ( + "Sam thinks in practical terms: building, preparing, defending, growing. " + "He frames quests around making things better and stronger. " + "Suggest locations like 'The Shire', 'Gondor', or 'The Grey Havens'. " + ) + elif character == "gandalf": + character_context = ( + "Gandalf sees the bigger strategic picture and long-term consequences. " + "He frames quests as moves in a grand strategy against darkness. " + "Suggest locations like 'Isengard', 'Orthanc', 'Moria', or 'The Grey Havens'. " + ) + + system_prompt = f"""You are {profile.get('full_name')}, {profile.get('title')}. + +{character_context} + +Your job: Create a quest that: +1. Directly ties to what the user just said in conversation +2. Feels authentic to {character}'s personality and way of thinking +3. Uses one of these quest types: {", ".join(quest_types)} +4. Is achievable yet substantial and meaningful +5. Is set in Middle-earth—suggest a specific location +6. Frames it in {character}'s voice and perspective + +Respond with ONLY valid JSON (no markdown, no explanation): +{{ + "title": "Quest name (4-8 words, action-oriented)", + "description": "2-3 sentences: (a) what the quest entails, (b) why it matters, (c) which location it involves", + "quest_type": "{quest_types[0]}", + "priority": "Important" +}}""" + + # Build conversation context with better preservation of dialogue flow + messages = [{"role": "system", "content": system_prompt}] + + # Include last few turns to understand context + for turn in conversation_history[-6:]: + messages.append({"role": turn["role"], "content": turn["content"]}) + + # Ask for quest based on the actual conversation, not just latest message + context_summary = f"""Based on what I just heard, here's what stands out as a quest opportunity: + +Latest from the user: "{user_message}" + +Now, {profile.get('full_name')}, what quest would help them move forward?""" + + messages.append({"role": "user", "content": context_summary}) + + try: + completion = client.chat.completions.create( + model=deployment, + messages=messages, + max_tokens=300, + temperature=0.8, + ) + response_text = (completion.choices[0].message.content or "").strip() + + # Try to parse JSON + quest_data = json.loads(response_text) + + # Validate required fields + if all(k in quest_data for k in ["title", "description", "quest_type", "priority"]): + # Add location to quest if mentioned in description + quest_data = _add_location_to_quest(quest_data) + logger.info(f"✓ Azure OpenAI generated quest for {character}") + return quest_data + + except Exception as e: + logger.error(f"✗ Quest generation failed for {character}: {type(e).__name__}: {str(e)}") + pass + + return None + + +def generate_quest( + character: str, + user_message: str, + conversation_history: Optional[List[Dict[str, str]]] = None, +) -> Optional[Dict[str, Any]]: + """Generate a quest appropriate to the NPC character. + + Uses AI if available, falls back to templates + randomization. + Always attempts to assign a location based on quest description. + + Args: + character: NPC character (frodo, sam, gandalf) + user_message: User's latest message + conversation_history: Recent conversation turns (optional) + + Returns: + Quest dict with title, description, quest_type, priority, and optional location_id + """ + if not conversation_history: + conversation_history = [] + + # Try AI generation first + ai_quest = _generate_quest_with_ai(character, user_message, conversation_history) + if ai_quest: + return ai_quest + + # Fall back to template-based generation + if character not in FALLBACK_QUESTS: + character = "gandalf" + + quest = random.choice(FALLBACK_QUESTS[character]) + + # Add location to fallback quest too + quest = _add_location_to_quest(quest) + + return quest + + +def should_offer_quest(user_message: str, conversation_turn_count: int = 0) -> bool: + """Determine if this is a good moment to offer a quest. + + Offers quests when: + - User seems to be looking for direction or action (keywords) + - Early in conversation (turn 1-2) to set the tone + - User asks for help explicitly + - User seems stuck or overwhelmed + + Args: + user_message: User's latest message + conversation_turn_count: Number of turns in conversation + + Returns: + True if a quest should be offered + """ + message_lower = user_message.lower().strip() + + # Strong signals for quest readiness + strong_keywords = [ + "help", "stuck", "what next", "what should", "can you suggest", + "guide", "quest", "task", "challenge", "adventure", "action", + "ready", "let's", "should we", "next step", "forward" + ] + has_strong_signal = any(kw in message_lower for kw in strong_keywords) + + # Softer signals (still valid but need turn count context) + soft_keywords = ["do", "can", "shall", "would", "could", "problem"] + has_soft_signal = any(kw in message_lower for kw in soft_keywords) + + # Never offer in the first turn (let conversation start naturally) + if conversation_turn_count < 1: + return False + + # Always offer if there's a strong signal + if has_strong_signal: + return True + + # Offer in early conversations even with soft signals + if conversation_turn_count <= 2 and has_soft_signal: + return True + + # Occasionally offer even without keywords (keep engagement) + if conversation_turn_count == 2 and len(message_lower) > 10: + return True + + return False diff --git a/sut/backend/services/shop_service.py b/sut/backend/services/shop_service.py new file mode 100644 index 0000000..79c6a44 --- /dev/null +++ b/sut/backend/services/shop_service.py @@ -0,0 +1,125 @@ +"""Shop service for bargaining, purchases, balance, and personal stats.""" +from __future__ import annotations + +from typing import Any, Dict, List, Optional + +from models.user import User, db +from models.item import Item +from models.inventory_item import InventoryItem + + +class ShopService: + """Business logic for item listings and purchases.""" + + @classmethod + def list_available_items(cls, character: Optional[str] = None, query_obj=None) -> List[Dict[str, Any]]: + # Allow injection of a mock query object for testing + query = query_obj if query_obj is not None else Item.query.filter(Item.is_sold.is_(False)) + if character: + query = query.filter(Item.owner_character == character.lower()) + return [item.to_public_dict() for item in query.order_by(Item.id.asc()).all()] + + @classmethod + def get_item_public(cls, item_id: int) -> Optional[Dict[str, Any]]: + item = Item.query.get(item_id) + if not item: + return None + return item.to_public_dict() + + @classmethod + def get_balance(cls, user_id: int) -> Dict[str, Any]: + user = User.query.get(user_id) + if not user: + raise ValueError('User not found') + return {'gold': user.gold} + + @classmethod + def purchase_item(cls, user_id: int, item_id: int, paid_price: int) -> Dict[str, Any]: + user = User.query.get(user_id) + if not user: + raise ValueError('User not found') + + item = Item.query.get(item_id) + if not item: + raise ValueError('Item not found') + + if item.is_sold: + raise ValueError('Item is already sold') + + if paid_price <= 0: + raise ValueError('Paid price must be positive') + + if user.gold < paid_price: + raise ValueError('Insufficient gold') + + savings_percent = ((item.base_price - paid_price) / item.base_price) * 100 if item.base_price else 0.0 + + user.gold -= paid_price + item.is_sold = True + + entry = InventoryItem( + user_id=user.id, + item_id=item.id, + paid_price=paid_price, + base_price_revealed=item.base_price, + savings_percent=round(savings_percent, 2), + acquired_price=paid_price, # Set to same as paid_price + ) + + db.session.add(entry) + db.session.commit() + + return { + 'purchase': entry.to_dict(), + 'balance': {'gold': user.gold}, + 'deal_quality': 'good' if savings_percent > 0 else 'bad' if savings_percent < 0 else 'fair', + } + + @classmethod + def get_user_inventory(cls, user_id: int) -> List[Dict[str, Any]]: + entries = ( + InventoryItem.query + .filter(InventoryItem.user_id == user_id) + .order_by(InventoryItem.created_at.desc()) + .all() + ) + return [entry.to_dict() for entry in entries] + + @classmethod + def get_user_stats(cls, user_id: int) -> Dict[str, Any]: + entries = cls.get_user_inventory(user_id) + if not entries: + return { + 'purchased_count': 0, + 'best_bargain_percent': 0, + 'average_savings_percent': 0, + } + + savings_values = [float(entry['savings_percent']) for entry in entries] + average = sum(savings_values) / len(savings_values) + + return { + 'purchased_count': len(entries), + 'best_bargain_percent': round(max(savings_values), 2), + 'average_savings_percent': round(average, 2), + } + + @classmethod + def reset_for_tests(cls) -> Dict[str, Any]: + """Reset shop state for testing: unsell items, reset user gold, clear purchases.""" + # Mark all items as not sold + Item.query.update({'is_sold': False}) + + # Reset all users to 500 gold (initial seed amount per requirements) + User.query.update({'gold': 500}) + + # Clear all inventory items + InventoryItem.query.delete() + + db.session.commit() + + return { + 'items_reset': Item.query.count(), + 'users_reset': User.query.count(), + 'purchases_cleared': True, + } diff --git a/sut/backend/utils/__init__.py b/sut/backend/utils/__init__.py new file mode 100644 index 0000000..af2b2d0 --- /dev/null +++ b/sut/backend/utils/__init__.py @@ -0,0 +1 @@ +"""Utility modules for the backend.""" diff --git a/sut/backend/utils/database.py b/sut/backend/utils/database.py new file mode 100644 index 0000000..b2b590d --- /dev/null +++ b/sut/backend/utils/database.py @@ -0,0 +1,204 @@ +"""Database initialization and management.""" +from flask import Flask +from models.user import db +from sqlalchemy import text +import os + +def init_db(app: Flask) -> None: + # Initialize db with app + db.init_app(app) + + with app.app_context(): + # Handle migrations for existing inventory_items table + try: + result = db.session.execute(text("SELECT name FROM sqlite_master WHERE type='table' AND name='inventory_items'")) + table_exists = result.fetchone() is not None + + if table_exists: + result = db.session.execute(text("PRAGMA table_info(inventory_items)")) + columns = [row[1] for row in result] + + if 'paid_price' not in columns: + db.session.execute(text("ALTER TABLE inventory_items ADD COLUMN paid_price INTEGER DEFAULT 0")) + print("Added paid_price column to inventory_items") + + if 'base_price_revealed' not in columns: + db.session.execute(text("ALTER TABLE inventory_items ADD COLUMN base_price_revealed INTEGER DEFAULT 0")) + print("Added base_price_revealed column to inventory_items") + + if 'savings_percent' not in columns: + db.session.execute(text("ALTER TABLE inventory_items ADD COLUMN savings_percent FLOAT DEFAULT 0")) + print("Added savings_percent column to inventory_items") + + if 'created_at' not in columns: + db.session.execute(text("ALTER TABLE inventory_items ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP")) + print("Added created_at column to inventory_items") + + # Fix for legacy acquired_price column: add if missing, make nullable if present + if 'acquired_price' not in columns: + db.session.execute(text("ALTER TABLE inventory_items ADD COLUMN acquired_price INTEGER NULL")) + print("Added acquired_price column to inventory_items (nullable)") + else: + # Try to make it nullable if not already + try: + db.session.execute(text("ALTER TABLE inventory_items ALTER COLUMN acquired_price DROP NOT NULL")) + print("Made acquired_price column nullable") + except Exception as e: + print(f"Could not alter acquired_price nullability: {e}") + + db.session.commit() + print("Inventory items table migration completed successfully") + except Exception as e: + db.session.rollback() + print(f"Inventory items migration note: {e} (this is normal for new databases)") + # Import all models to register them + from models.user import User + from models.quest import Quest + from models.member import Member + from models.location import Location + from models.item import Item + from models.inventory_item import InventoryItem + + # Create all tables + db.create_all() + print("Database tables created successfully") + + # Handle migrations for existing users table + try: + users_result = db.session.execute(text("PRAGMA table_info(users)")) + user_columns = {row[1]: row[2] for row in users_result} + + if 'gold' not in user_columns: + db.session.execute(text("ALTER TABLE users ADD COLUMN gold INTEGER DEFAULT 500")) + print("Added gold column to users") + + db.session.execute(text("UPDATE users SET gold = 500 WHERE gold IS NULL")) + db.session.commit() + print("Users table migration completed successfully") + except Exception as e: + db.session.rollback() + print(f"Users migration note: {e} (this is normal for new databases)") + + # Handle migrations for existing quests table + try: + # Check if quests table exists and has old columns + result = db.session.execute(text("PRAGMA table_info(quests)")) + columns = {row[1]: row[2] for row in result} + + # Add new columns if they don't exist + if 'quest_type' not in columns: + db.session.execute(text("ALTER TABLE quests ADD COLUMN quest_type VARCHAR(50)")) + print("Added quest_type column") + + if 'priority' not in columns: + db.session.execute(text("ALTER TABLE quests ADD COLUMN priority VARCHAR(20)")) + print("Added priority column") + + if 'is_dark_magic' not in columns: + db.session.execute(text("ALTER TABLE quests ADD COLUMN is_dark_magic BOOLEAN DEFAULT 0")) + print("Added is_dark_magic column") + + if 'character_quote' not in columns: + db.session.execute(text("ALTER TABLE quests ADD COLUMN character_quote TEXT")) + print("Added character_quote column") + + if 'completed_at' not in columns: + db.session.execute(text("ALTER TABLE quests ADD COLUMN completed_at DATETIME")) + print("Added completed_at column") + + # Migrate status values from old to new LOTR terminology + status_mapping = { + 'pending': 'not_yet_begun', + 'in_progress': 'the_road_goes_ever_on', + 'completed': 'it_is_done', + 'blocked': 'the_shadow_falls' + } + + for old_status, new_status in status_mapping.items(): + db.session.execute( + text("UPDATE quests SET status = :new_status WHERE status = :old_status"), + {'new_status': new_status, 'old_status': old_status} + ) + + # Update default status for new quests + db.session.execute(text("UPDATE quests SET status = 'not_yet_begun' WHERE status = 'pending'")) + + db.session.commit() + print("Database migration completed successfully") + except Exception as e: + # If migration fails, rollback and continue (table might be new) + db.session.rollback() + print(f"Migration note: {e} (this is normal for new databases)") + + # Handle migrations for existing locations table + try: + # Check if locations table exists + result = db.session.execute(text("SELECT name FROM sqlite_master WHERE type='table' AND name='locations'")) + table_exists = result.fetchone() is not None + + if table_exists: + # Get existing columns + result = db.session.execute(text("PRAGMA table_info(locations)")) + columns = [row[1] for row in result] # row[1] is the column name + + # Add new columns if they don't exist + if 'map_x' not in columns: + db.session.execute(text("ALTER TABLE locations ADD COLUMN map_x REAL")) + print("Added map_x column to locations") + + if 'map_y' not in columns: + db.session.execute(text("ALTER TABLE locations ADD COLUMN map_y REAL")) + print("Added map_y column to locations") + + db.session.commit() + print("Locations table migration completed successfully") + except Exception as e: + # If migration fails, rollback and continue + db.session.rollback() + print(f"Locations migration error: {e}") + import traceback + traceback.print_exc() + + # Handle migrations for existing items table + try: + result = db.session.execute(text("SELECT name FROM sqlite_master WHERE type='table' AND name='items'")) + table_exists = result.fetchone() is not None + + if table_exists: + result = db.session.execute(text("PRAGMA table_info(items)")) + columns = [row[1] for row in result] + + if 'owner_character' not in columns: + db.session.execute(text("ALTER TABLE items ADD COLUMN owner_character VARCHAR(80) DEFAULT 'gandalf'")) + print("Added owner_character column to items") + + if 'personality_profile' not in columns: + db.session.execute(text("ALTER TABLE items ADD COLUMN personality_profile VARCHAR(40) DEFAULT 'bargainer'")) + print("Added personality_profile column to items") + + if 'asking_price' not in columns: + db.session.execute(text("ALTER TABLE items ADD COLUMN asking_price INTEGER DEFAULT 100")) + print("Added asking_price column to items") + + if 'is_sold' not in columns: + db.session.execute(text("ALTER TABLE items ADD COLUMN is_sold BOOLEAN DEFAULT 0")) + print("Added is_sold column to items") + + if 'created_at' not in columns: + db.session.execute(text("ALTER TABLE items ADD COLUMN created_at DATETIME")) + print("Added created_at column to items") + + if 'updated_at' not in columns: + db.session.execute(text("ALTER TABLE items ADD COLUMN updated_at DATETIME")) + print("Added updated_at column to items") + + db.session.execute(text("UPDATE items SET asking_price = COALESCE(asking_price, base_price, 100)")) + db.session.execute(text("UPDATE items SET personality_profile = COALESCE(personality_profile, 'bargainer')")) + db.session.execute(text("UPDATE items SET owner_character = COALESCE(owner_character, 'gandalf')")) + db.session.execute(text("UPDATE items SET created_at = COALESCE(created_at, CURRENT_TIMESTAMP)")) + db.session.execute(text("UPDATE items SET updated_at = COALESCE(updated_at, CURRENT_TIMESTAMP)")) + db.session.commit() + print("Items table migration completed successfully") + except Exception as e: + db.session.rollback() + print(f"Items migration note: {e} (this is normal for new databases)") \ No newline at end of file diff --git a/sut/backend/utils/seed_data.py b/sut/backend/utils/seed_data.py new file mode 100644 index 0000000..d293581 --- /dev/null +++ b/sut/backend/utils/seed_data.py @@ -0,0 +1,602 @@ +"""Seed data initialization for the Fellowship Quest Tracker.""" +from models.user import User, db +from models.member import Member +from models.location import Location +from models.quest import Quest +from models.item import Item +from flask import Flask +from typing import List, Dict, Any + +def seed_members() -> List[Member]: + """Create Fellowship members.""" + members_data = [ + { + 'name': 'Frodo Baggins', + 'race': 'Hobbit', + 'role': 'Ring-bearer', + 'status': 'active', + 'description': 'The brave hobbit who carries the One Ring to Mount Doom.' + }, + { + 'name': 'Samwise Gamgee', + 'race': 'Hobbit', + 'role': 'Companion', + 'status': 'active', + 'description': 'Frodo\'s loyal friend and companion on the journey.' + }, + { + 'name': 'Aragorn', + 'race': 'Human', + 'role': 'Ranger', + 'status': 'active', + 'description': 'The rightful heir to the throne of Gondor.' + }, + { + 'name': 'Legolas', + 'race': 'Elf', + 'role': 'Archer', + 'status': 'active', + 'description': 'Elven prince and master archer from Mirkwood.' + }, + { + 'name': 'Gimli', + 'race': 'Dwarf', + 'role': 'Warrior', + 'status': 'active', + 'description': 'Dwarf warrior from the Lonely Mountain.' + }, + { + 'name': 'Gandalf', + 'race': 'Wizard', + 'role': 'Guide', + 'status': 'active', + 'description': 'The Grey Wizard who guides the Fellowship.' + } + ] + + members = [] + for data in members_data: + member = Member.query.filter_by(name=data['name']).first() + if not member: + member = Member(**data) + db.session.add(member) + members.append(member) + else: + members.append(member) + + db.session.commit() + return members + +def seed_locations() -> List[Location]: + """Create Middle-earth locations. + + Coordinates are pixel-based, matching the MiddleEarthMap coordinate system. + Map image dimensions: 5000x4344 pixels (width x height). + Coordinates from MiddleEarthMap by Yohann Bethoule (https://github.com/YohannBethoule/MiddleEarthMap). + Includes all 45 locations from the original MiddleEarthMap markers.json. + """ + locations_data = [ + # Eriador + { + 'name': 'Hobbiton', + 'region': 'Eriador', + 'description': 'Hobbiton was a hobbit village in the central regions of the Shire, within the borders of the Westfarthing.', + 'map_x': 1482.0, + 'map_y': 1158.0 + }, + { + 'name': 'The Shire', + 'region': 'Eriador', + 'description': 'The peaceful homeland of the Hobbits.', + 'map_x': 1482.0, + 'map_y': 1158.0 + }, + { + 'name': 'Bree', + 'region': 'Eriador', + 'description': 'Bree was the chief village of Bree-land, a small wooded region near the intersection of the main north-south and east-west routes through Eriador. Bree-land was the only part of Middle-earth where Men and hobbits dwelt side by side and Bree had a large population of Hobbits.', + 'map_x': 1793.0, + 'map_y': 1163.0 + }, + { + 'name': 'Rivendell', + 'region': 'Eriador', + 'description': 'Rivendell was established by Elrond in S.A. 1697 as a refuge from Sauron after the Fall of Eregion. It remained Elrond\'s seat throughout the remainder of the Second Age and until the end of the Third Age, when he took the White Ship for Valinor.', + 'map_x': 2516.0, + 'map_y': 1123.0 + }, + { + 'name': 'Grey Havens', + 'region': 'Eriador', + 'description': 'Founded by the Elves of Lindon in S.A. 1, the Grey Havens were known for their good harbourage and many ships; these were used by any of the Eldar to leave Middle-earth for Eressëa or Valinor.', + 'map_x': 1047.0, + 'map_y': 1186.0 + }, + { + 'name': 'Weathertop', + 'region': 'Eriador', + 'description': 'In T.A.3018, Amun Sûl was the scene of two fights involving the Nazgûl: one with Gandalf on October 3 and one with the Ring-bearer three days later.', + 'map_x': 2000.0, + 'map_y': 1158.0 + }, + # Rhovanion + { + 'name': 'Esgaroth', + 'region': 'Rhovanion', + 'description': 'Lake-Town was the township of the Lake-men in Wilderland. The town was constructed entirely of wood and stood upon wooden pillars sunk into the bed of the Long Lake, as a protection against the dragon Smaug, who dwelt nearby in the Lonely Mountain.', + 'map_x': 3418.0, + 'map_y': 885.0 + }, + { + 'name': 'Erebor', + 'region': 'Rhovanion', + 'description': 'The Longbeards had control of Erebor since at least the early Second Age. With the awakening of Durin\'s Bane in the capital of Khazad-dûm, Thráin I led a group of Dwarves to Erebor. Once there, the dwarves dug caves and halls to form an underground city, thus establishing the Kingdom under the Mountain in T.A. 1999.', + 'map_x': 3405.0, + 'map_y': 825.0 + }, + { + 'name': 'Lothlórien', + 'region': 'Rhovanion', + 'description': 'Lothlórien (or Lórien) was a kingdom of Silvan Elves on the eastern side of the Hithaeglir. It was considered one of the most beautiful and "elvish" places in Middle-earth during the Third Age, and had the only mallorn-trees east of the sea.', + 'map_x': 2666.0, + 'map_y': 1679.0 + }, + { + 'name': 'Elvenking\'s Hall', + 'region': 'Rhovanion', + 'description': 'Elvenking\'s Hall were a cave system in northern Mirkwood, in which King Thranduil and many of the Elves of Mirkwood lived during most of the Third Age and into the Fourth Age.', + 'map_x': 3311.0, + 'map_y': 849.0 + }, + { + 'name': 'Dol Guldur', + 'region': 'Rhovanion', + 'description': 'Dol Guldur ("Hill of Sorcery" in Sindarin), also called "the dungeons of the Necromancer", was a stronghold of Sauron located in the south of Mirkwood.', + 'map_x': 3014.0, + 'map_y': 1629.0 + }, + { + 'name': 'Edoras', + 'region': 'Rhovanion', + 'description': 'Edoras was the capital of Rohan that held the Golden Hall of Meduseld. Rohan\'s first capital was at Aldburg in the Folde, until King Eorl the Young or his son Brego built Edoras in T.A. 2569.', + 'map_x': 2589.0, + 'map_y': 2383.0 + }, + { + 'name': 'Rohan', + 'region': 'Rhovanion', + 'description': 'The land of the Horse-lords.', + 'map_x': 2589.0, + 'map_y': 2383.0 + }, + { + 'name': 'Helm\'s Deep', + 'region': 'Rhovanion', + 'description': 'Helm\'s Deep was a large valley gorge in the north-western Ered Nimrais (White Mountains) below the Thrihyrne. It was actually the name of the whole defensive system including its major defensive structure, the Hornburg.', + 'map_x': 2423.0, + 'map_y': 2321.0 + }, + { + 'name': 'Beorn\'s Hall', + 'region': 'Rhovanion', + 'description': 'Beorn\'s Hall was the home of Beorn, a powerful Skin-changer. Beorn hosted and aided Thorin and Company during their Quest for Erebor.', + 'map_x': 2871.0, + 'map_y': 1016.0 + }, + { + 'name': 'Dale', + 'region': 'Rhovanion', + 'description': 'Dale was a great city of the Northmen which was destroyed by Smaug and rebuilt as the capital of a great kingdom after his demise.', + 'map_x': 3430.0, + 'map_y': 855.0 + }, + # Misty Mountains + { + 'name': 'Moria', + 'region': 'Misty Mountains', + 'description': 'Khazad-dûm was the grandest and most famous of the mansions of the Dwarves. There, for many thousands of years, a thriving Dwarvish community created the greatest city ever known.', + 'map_x': 2492.0, + 'map_y': 1505.0 + }, + { + 'name': 'Goblin-town', + 'region': 'Misty Mountains', + 'description': 'Goblin-town was a Goblin dwelling under the Misty Mountains, which was ruled by the Great Goblin. Goblin-town was a series of tunnels and caverns, which went all the way through the mountains, with a "back door" (the Goblin-gate) near the Eagle\'s Eyrie in Wilderland, which served as a means of escape, and an access to the Wilderland.', + 'map_x': 2647.0, + 'map_y': 980.0 + }, + # Mordor + { + 'name': 'Mount Doom', + 'region': 'Mordor', + 'description': 'Melkor created Mount Doom in the First Age. When Sauron chose the land of Mordor as his dwelling-place in the Second Age, Orodruin was the reason for his choice. The mountain erupted in S.A. 3429, signalling Sauron\'s attack on Gondor and it took the name Amon Amarth, "Mount Doom". This is where the One Ring was forged by Sauron, and where it was destroyed by Gollum.', + 'map_x': 3606.0, + 'map_y': 2603.0 + }, + { + 'name': 'Mordor', + 'region': 'Mordor', + 'description': 'The dark land of Sauron, where the One Ring was forged.', + 'map_x': 3606.0, + 'map_y': 2603.0 + }, + { + 'name': 'Minas Morgul', + 'region': 'Mordor', + 'description': 'Minas Morgul (originally called Minas Ithil) was the twin city of Minas Tirith before its fall to the forces of Sauron in the Third Age. It then became the stronghold of the Witch-king of Angmar until Sauron\'s defeat.', + 'map_x': 3424.0, + 'map_y': 2695.0 + }, + { + 'name': 'Black Gate', + 'region': 'Mordor', + 'description': 'The Black Gate was the main entrance into the land of Mordor. It was built by Sauron after he chose Mordor as a land to make into a stronghold in S.A. 1000.', + 'map_x': 3389.0, + 'map_y': 2377.0 + }, + { + 'name': 'Barad-dûr', + 'region': 'Mordor', + 'description': 'Barad-dûr, also known as the Dark Tower, was the chief fortress of Sauron, on the Plateau of Gorgoroth in Mordor. Sauron began to build Barad-dûr in around S.A. 1000, and completed his fortress after 600 years of the construction with the power of the Ring.', + 'map_x': 3750.0, + 'map_y': 2553.0 + }, + # Gondor + { + 'name': 'Minas Tirith', + 'region': 'Gondor', + 'description': 'Minas Tirith was originally a fortress, Minas Anor, built in S.A. 3320 by the Faithful Númenóreans. From T.A. 1640 onwards it was the capital of the South-kingdom and the seat of its Kings and ruling Stewards.', + 'map_x': 3279.0, + 'map_y': 2707.0 + }, + { + 'name': 'Osgiliath', + 'region': 'Gondor', + 'description': 'Founded by Isildur and Anárion near the end of the Second Age, Osgiliath was designated the capital of the southern Númenórean kingdom in exile, Gondor. It stays so until the King\'s House was moved to the more secure Minas Anor in T.A. 1640.', + 'map_x': 3330.0, + 'map_y': 2700.0 + }, + { + 'name': 'Paths of the Dead', + 'region': 'Gondor', + 'description': 'The Paths of the Dead was a haunted underground passage through the White Mountains that led from Harrowdale in Rohan to Blackroot Vale in Gondor.', + 'map_x': 2605.0, + 'map_y': 2535.0 + }, + # Isengard + { + 'name': 'Isengard', + 'region': 'Isengard', + 'description': 'Isengard was one of the three major fortresses of Gondor, and held within it one of the realm\'s palantíri. In the latter half of the Third Age, the stronghold came into the possession of Saruman, becoming his home and personal domain until his defeat in the War of the Ring.', + 'map_x': 2335.0, + 'map_y': 2117.0 + }, + # Angmar + { + 'name': 'Carn Dûm', + 'region': 'Angmar', + 'description': 'Carn Dûm was the chief fortress of the realm of Angmar and the seat of its king until its defeat against the combined armies of Gondor, Lindon and Arnor in T.A. 1974.', + 'map_x': 2115.0, + 'map_y': 523.0 + }, + { + 'name': 'Mount Gram', + 'region': 'Angmar', + 'description': 'Mount Gram was inhabited by Orcs led by their King Golfimbul. In T.A. 2747 they attacked much of northern Eriador, but were defeated in the Battle of Greenfields.', + 'map_x': 2353.0, + 'map_y': 746.0 + } + ] + + locations = [] + for data in locations_data: + location = Location.query.filter_by(name=data['name']).first() + if not location: + location = Location(**data) + db.session.add(location) + locations.append(location) + else: + # Update existing location with coordinates if missing + if location.map_x is None or location.map_y is None: + location.map_x = data.get('map_x') + location.map_y = data.get('map_y') + locations.append(location) + + db.session.commit() + return locations + +def seed_users(members: List[Member]) -> List[User]: + """Create user accounts for Fellowship members.""" + users = [] + default_password = 'fellowship123' # Simple password for MVP + + for member in members: + user = User.query.filter_by(username=member.name.lower().replace(' ', '_')).first() + if not user: + user = User( + username=member.name.lower().replace(' ', '_'), + email=f"{member.name.lower().replace(' ', '_')}@fellowship.com", + role=member.name, + gold=500, + ) + user.set_password(default_password) + db.session.add(user) + users.append(user) + else: + if user.gold is None: + user.gold = 500 + users.append(user) + + db.session.commit() + return users + +def seed_quests(locations: List[Location], users: List[User]) -> List[Quest]: + """Create initial quests with epic descriptions and LOTR attributes.""" + quests_data = [ + { + 'title': 'Destroy the One Ring', + 'description': 'Journey to the fires of Mount Doom and cast the Ring into the flames where it was forged. The fate of Middle-earth depends on this quest.', + 'status': 'the_road_goes_ever_on', + 'quest_type': 'The Ring', + 'priority': 'Critical', + 'is_dark_magic': False, + 'character_quote': 'I will take the Ring, though I do not know the way.', + 'location_name': 'Mount Doom', # Use specific location name + 'assignee_username': 'frodo_baggins' + }, + { + 'title': 'Reach Rivendell', + 'description': 'Travel to Rivendell to seek counsel from Elrond. The Last Homely House awaits, where the Fellowship will be formed and the path forward decided.', + 'status': 'it_is_done', + 'quest_type': 'The Journey', + 'priority': 'Important', + 'is_dark_magic': False, + 'character_quote': 'The Road goes ever on and on...', + 'location_name': 'Rivendell', + 'assignee_username': 'frodo_baggins' + }, + { + 'title': 'Cross the Misty Mountains', + 'description': 'Navigate through the treacherous Misty Mountains, avoiding the dangers that lurk in the shadows and the watchful eyes of the enemy.', + 'status': 'it_is_done', + 'quest_type': 'The Journey', + 'priority': 'Important', + 'is_dark_magic': False, + 'character_quote': None, + 'location_name': 'Moria', + 'assignee_username': 'aragorn' + }, + { + 'title': 'Escape from Moria', + 'description': 'Flee from the depths of Moria as the Balrog awakens. The Fellowship must escape before the darkness consumes them.', + 'status': 'it_is_done', + 'quest_type': 'The Battle', + 'priority': 'Critical', + 'is_dark_magic': False, + 'character_quote': 'Fly, you fools!', + 'location_name': 'Moria', + 'assignee_username': 'gandalf' + }, + { + 'title': 'Reach Mordor', + 'description': 'Travel to the dark land of Mordor, where Sauron\'s power is strongest. The journey grows more perilous with each step.', + 'status': 'the_road_goes_ever_on', + 'quest_type': 'The Journey', + 'priority': 'Critical', + 'is_dark_magic': False, + 'character_quote': None, + 'location_name': 'Mordor', # Keep generic name, will match either "Mordor" or "Mount Doom" + 'assignee_username': 'frodo_baggins' + }, + { + 'title': 'Fix the Broken Bridge', + 'description': 'Sauron\'s dark magic has corrupted the bridge. The Fellowship must restore it to continue their journey. This quest has been tainted by dark forces.', + 'status': 'the_shadow_falls', + 'quest_type': 'Dark Magic', + 'priority': 'Critical', + 'is_dark_magic': True, + 'character_quote': None, + 'location_name': 'Edoras', # Use specific location name + 'assignee_username': 'samwise_gamgee' + }, + { + 'title': 'Rescue Merry and Pippin', + 'description': 'The Fellowship must rescue the captured Hobbits from the Uruk-hai. Time is running out, and the fate of our friends hangs in the balance.', + 'status': 'not_yet_begun', + 'quest_type': 'The Fellowship', + 'priority': 'Important', + 'is_dark_magic': False, + 'character_quote': None, + 'location_name': 'Edoras', # Use specific location name + 'assignee_username': 'aragorn' + }, + { + 'title': 'Defend Helm\'s Deep', + 'description': 'Stand with the people of Rohan as they face the armies of Saruman. The battle will be fierce, but courage and unity will prevail.', + 'status': 'not_yet_begun', + 'quest_type': 'The Battle', + 'priority': 'Critical', + 'is_dark_magic': False, + 'character_quote': None, + 'location_name': 'Helm\'s Deep', # Use specific location name + 'assignee_username': 'aragorn' + } + ] + + quests = [] + for data in quests_data: + # Find location + location = next((loc for loc in locations if loc.name == data['location_name']), None) + # Find user + user = next((u for u in users if u.username == data['assignee_username']), None) + + quest = Quest.query.filter_by(title=data['title']).first() + if not quest: + quest = Quest( + title=data['title'], + description=data['description'], + status=data['status'], + quest_type=data.get('quest_type'), + priority=data.get('priority'), + is_dark_magic=data.get('is_dark_magic', False), + character_quote=data.get('character_quote'), + location_id=location.id if location else None, + assigned_to=user.id if user else None + ) + # Set completed_at if quest is done + if data['status'] == 'it_is_done': + from datetime import datetime + quest.completed_at = datetime.utcnow() + db.session.add(quest) + quests.append(quest) + else: + # Update existing quest with new fields if they're missing + if quest.quest_type is None and data.get('quest_type'): + quest.quest_type = data.get('quest_type') + if quest.priority is None and data.get('priority'): + quest.priority = data.get('priority') + if quest.is_dark_magic is False and data.get('is_dark_magic'): + quest.is_dark_magic = data.get('is_dark_magic') + if quest.character_quote is None and data.get('character_quote'): + quest.character_quote = data.get('character_quote') + # Update location_id if missing or if location name matches + if quest.location_id is None and location: + quest.location_id = location.id + elif quest.location_id is None: + # Try to find location by name if not found initially + location = next((loc for loc in locations if loc.name == data['location_name']), None) + if location: + quest.location_id = location.id + # Migrate old status values + status_mapping = { + 'pending': 'not_yet_begun', + 'in_progress': 'the_road_goes_ever_on', + 'completed': 'it_is_done', + 'blocked': 'the_shadow_falls' + } + if quest.status in status_mapping: + quest.status = status_mapping[quest.status] + quests.append(quest) + + db.session.commit() + return quests + + +def seed_items() -> List[Item]: + """Create initial unique seller items for bargaining gameplay.""" + items_data = [ + { + 'name': 'Sting-polished Scabbard', + 'description': 'A meticulously maintained hobbit scabbard with Elvish runes.', + 'owner_character': 'frodo', + 'personality_profile': 'sentimental', + 'base_price': 140, + 'asking_price': 195, + }, + { + 'name': 'Shire Herb Satchel', + 'description': 'Sam\'s hand-stitched satchel, still smelling faintly of rosemary.', + 'owner_character': 'sam', + 'personality_profile': 'generous', + 'base_price': 95, + 'asking_price': 120, + }, + { + 'name': 'Grey Pilgrim Pipe', + 'description': 'A weathered pipe with intricate wizard-carved symbols.', + 'owner_character': 'gandalf', + 'personality_profile': 'bargainer', + 'base_price': 260, + 'asking_price': 360, + }, + { + 'name': 'Second Breakfast Pan', + 'description': 'A surprisingly sturdy pan fit for long roads and many meals.', + 'owner_character': 'sam', + 'personality_profile': 'bargainer', + 'base_price': 70, + 'asking_price': 98, + }, + { + 'name': 'Wizard Hat (Scuffed Edition)', + 'description': 'A tall, dramatic hat with glorious wear and a few mysterious burns.', + 'owner_character': 'gandalf', + 'personality_profile': 'stingy', + 'base_price': 210, + 'asking_price': 315, + }, + { + 'name': 'Mithril Shield', + 'description': 'A legendary shield forged from mithril, light yet stronger than steel.', + 'owner_character': 'frodo', + 'personality_profile': 'sentimental', + 'base_price': 350, + 'asking_price': 450, + }, + { + 'name': 'Sword of Elendil', + 'description': 'An ancient sword with a storied history from the days of old.', + 'owner_character': 'frodo', + 'personality_profile': 'bargainer', + 'base_price': 400, + 'asking_price': 500, + }, + { + 'name': 'Sword of Narsil', + 'description': 'A legendary blade shattered and reforged with great power.', + 'owner_character': 'frodo', + 'personality_profile': 'stingy', + 'base_price': 450, + 'asking_price': 550, + }, + { + 'name': 'Lembas Bread', + 'description': 'Elvish lembas bread that sustains travelers on long journeys.', + 'owner_character': 'sam', + 'personality_profile': 'generous', + 'base_price': 150, + 'asking_price': 180, + }, + { + 'name': 'Elven Rope', + 'description': 'A strong and graceful rope crafted by Elven artisans.', + 'owner_character': 'frodo', + 'personality_profile': 'bargainer', + 'base_price': 80, + 'asking_price': 110, + }, + ] + + seeded_items: List[Item] = [] + for payload in items_data: + item = Item.query.filter_by(name=payload['name']).first() + if not item: + item = Item(**payload) + db.session.add(item) + seeded_items.append(item) + + db.session.commit() + return seeded_items + +def seed_database(app: Flask) -> None: + """Seed the database with initial data.""" + with app.app_context(): + print("Seeding database...") + + # Seed in order: members -> locations -> users -> quests + members = seed_members() + print(f"Seeded {len(members)} members") + + locations = seed_locations() + print(f"Seeded {len(locations)} locations") + + users = seed_users(members) + print(f"Seeded {len(users)} users") + + quests = seed_quests(locations, users) + print(f"Seeded {len(quests)} quests") + + items = seed_items() + print(f"Seeded {len(items)} market items") + + print("Database seeding completed!") diff --git a/sut/backend/verify_config.py b/sut/backend/verify_config.py new file mode 100644 index 0000000..c713d3c --- /dev/null +++ b/sut/backend/verify_config.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +"""Verify Azure OpenAI configuration is loaded correctly.""" +import sys +from pathlib import Path + +# Add backend to path +backend_dir = Path(__file__).parent +sys.path.insert(0, str(backend_dir)) + +from config import Config + +def main(): + config = Config() + + print("\n" + "=" * 70) + print("Azure OpenAI Configuration Status") + print("=" * 70) + + has_endpoint = bool(config.AZURE_OPENAI_ENDPOINT) + has_api_key = bool(config.AZURE_OPENAI_API_KEY) + + status = "✅ ACTIVE" if (has_endpoint and has_api_key) else "❌ NOT CONFIGURED" + print(f"\nStatus: {status}\n") + + print(f"Endpoint: {config.AZURE_OPENAI_ENDPOINT if has_endpoint else '(not set)'}") + print(f"API Key: {'(loaded from .env)' if has_api_key else '(not set)'}") + print(f"Deployment: {config.AZURE_OPENAI_DEPLOYMENT}") + print(f"API Version: {config.AZURE_OPENAI_API_VERSION}") + print(f"Max Tokens: {config.AZURE_OPENAI_MAX_TOKENS}") + print(f"Temperature: {config.AZURE_OPENAI_TEMPERATURE}") + + print("\n" + "=" * 70) + + if has_endpoint and has_api_key: + print("🤖 AI-powered NPC responses are ACTIVE") + print("🎯 Context-aware quest generation is ENABLED") + print("\nNPC conversations will now:") + print(" • Use character personalities for authentic responses") + print(" • Reference user's specific situation in replies") + print(" • Generate quests matched to conversation context") + print(" • Fall back to templates only if API fails") + return 0 + else: + print("⚠️ Azure OpenAI not configured") + print("\nTo enable AI:") + print(" 1. Create/update .env file with Azure credentials") + print(" 2. Restart the backend service") + return 1 + +if __name__ == '__main__': + sys.exit(main()) diff --git a/sut/frontend/.env.example b/sut/frontend/.env.example new file mode 100644 index 0000000..2b6408c --- /dev/null +++ b/sut/frontend/.env.example @@ -0,0 +1,16 @@ +# Frontend Environment Variables +# Copy this to .env.local and update values for your environment + +# API Configuration +REACT_APP_API_URL=http://localhost/api + +# Site URL Configuration (used for SEO and analytics) +# Set this to your deployment URL for correct sitemap.xml and meta tags +# Examples: +# - Development: http://localhost:5173 +# - Staging: https://lotr-staging.testingfantasy.com +# - Production: https://lotr-prod.testingfantasy.com +VITE_APP_SITE_URL=http://localhost:5173 + +# Google Analytics +REACT_APP_GA_ID=G-29N4KD7MQ9 diff --git a/sut/frontend/.env.local b/sut/frontend/.env.local new file mode 100644 index 0000000..75ecf7f --- /dev/null +++ b/sut/frontend/.env.local @@ -0,0 +1,6 @@ +# WebSocket configuration for dev server behind HTTPS proxy (Caddy) +# This ensures webpack dev server uses secure WebSockets when frontend is served over HTTPS +WDS_SOCKET_PROTOCOL=wss +WDS_SOCKET_PORT=80 +WDS_SOCKET_HOST=localhost +WDS_SOCKET_PATH=/ws diff --git a/sut/frontend/Dockerfile b/sut/frontend/Dockerfile new file mode 100644 index 0000000..606c33b --- /dev/null +++ b/sut/frontend/Dockerfile @@ -0,0 +1,24 @@ +FROM node:20-alpine + +WORKDIR /app + +# Copy package files +COPY package*.json ./ +COPY tsconfig.json ./ + +# Install dependencies +RUN npm install + +# Copy source files +COPY . . + +# Expose port +EXPOSE 3000 + +# Disable react-refresh for Docker environment +ENV SKIP_PREFLIGHT_CHECK=true +ENV DISABLE_ESLINT_PLUGIN=true +ENV FAST_REFRESH=false + +# Start development server +CMD ["npm", "start"] diff --git a/sut/frontend/ENV_URL_SETUP.md b/sut/frontend/ENV_URL_SETUP.md new file mode 100644 index 0000000..f47aefa --- /dev/null +++ b/sut/frontend/ENV_URL_SETUP.md @@ -0,0 +1,169 @@ +# Environment-Aware URL Configuration + +This document explains how analytics and SEO URLs adapt to different deployment environments. + +## Overview + +The Fellowship Quest List uses environment-aware URLs in critical files: +- **`index.html`**: Meta tags (canonical, og:url, og:image, twitter:image) +- **`sitemap.xml`**: All routes and API endpoints + +This ensures that regardless of whether you're deploying to: +- Development: `http://localhost:5173` +- Staging: `https://lotr-staging.testingfantasy.com` +- Production: `https://lotr-prod.testingfantasy.com` + +The URLs in these files are always correct. + +## Environment Variables + +### Primary Variable +`VITE_APP_SITE_URL` - The full site URL without trailing slash +- Example: `https://lotr-prod.testingfantasy.com` +- Example: `https://lotr-staging.testingfantasy.com` +- Example: `http://localhost:5173` + +## How It Works + +### For `index.html` +URLs are set dynamically at **runtime** using JavaScript: +1. Base URLs in HTML use placeholders: `%VITE_APP_SITE_URL%` +2. At page load, JavaScript reads `window.location.origin` +3. Dynamic updates to `` and `` tags ensure they reflect the actual deployment URL +4. This works for all deployment scenarios without rebuilding + +### For `sitemap.xml` +URLs are substituted **at build time**: +1. Source file uses placeholders: `%VITE_APP_SITE_URL%` +2. Build script replaces placeholders with actual environment URL +3. Final `sitemap.xml` has concrete URLs for search engines + +## Setup Instructions + +### Development + +```bash +cd sut/frontend + +# Run dev server (uses http://localhost:5173 automatically) +npm run dev +``` + +### Build for Deployment + +```bash +cd sut/frontend + +# Set the environment-specific URL +export VITE_APP_SITE_URL="https://lotr-prod.testingfantasy.com" + +# Build the application +npm run build + +# Run setup script to update XML files with correct URLs +node scripts/setup-env-urls.js +``` + +### Docker Deployment + +In your Dockerfile: + +```dockerfile +ARG SITE_URL=https://lotr-prod.testingfantasy.com + +# ... build steps ... + +# Setup environment-aware URLs +ENV VITE_APP_SITE_URL=${SITE_URL} +RUN cd sut/frontend && node scripts/setup-env-urls.js +``` + +### CI/CD Pipeline + +Example GitHub Actions: + +```yaml +- name: Setup environment-aware URLs + env: + VITE_APP_SITE_URL: ${{ secrets.SITE_URL }} + run: | + cd sut/frontend + node scripts/setup-env-urls.js +``` + +## File Examples + +### index.html (Runtime Dynamic) +```html + + + + + + +``` + +### sitemap.xml (Build-time Substitution) +```xml + +%VITE_APP_SITE_URL%/login + + +https://lotr-prod.testingfantasy.com/login +``` + +## Testing URLs + +### Verify index.html Dynamic URLs +```bash +# Open browser DevTools and check the Console when page loads +# Meta tags should update to match your current URL + +# Example: If accessed at https://mysite.com +# - og:url should be "https://mysite.com/" +# - canonical should be "https://mysite.com/" +``` + +### Verify sitemap.xml +```bash +# Download sitemap.xml and check the URLs +curl https://lotr-prod.testingfantasy.com/sitemap.xml | head -20 + +# All entries should use the correct domain +``` + +## Benefits + +✅ **Single codebase** - Deploy to any environment without code changes +✅ **Search engines** - Correct canonical URLs prevent duplicate content penalties +✅ **Social media** - Correct og: tags for rich previews on any domain +✅ **Analytics** - Proper tracking in GA regardless of deployment URL +✅ **No rebuilds** - index.html works without rebuild for different domains + +## Troubleshooting + +### URLs not updating in sitemap.xml +- Ensure `VITE_APP_SITE_URL` is set before building +- Run `node scripts/setup-env-urls.js` after build +- Check that `public/sitemap.xml` contains your domain, not `%VITE_APP_SITE_URL%` + +### Meta tags not updating in index.html +- Open browser DevTools (F12) +- Go to Elements/Inspector and check `` etc. +- Verify JavaScript ran: check Console for any errors +- URL should match `window.location.origin` + +### Staging environment has wrong URLs +- Verify `VITE_APP_SITE_URL` environment variable is set +- Run setup script before deploying +- Check that sitemap.xml contains staging URL, not production + +## References + +- [Google Canonical URLs](https://developers.google.com/search/docs/beginner/seo-starter-guide#declare-the-canonical-version-of-a-page) +- [Open Graph Protocol](https://ogp.me/) +- [Sitemap Protocol](https://www.sitemaps.org/protocol.html) diff --git a/sut/frontend/package-lock.json b/sut/frontend/package-lock.json new file mode 100644 index 0000000..2bd938e --- /dev/null +++ b/sut/frontend/package-lock.json @@ -0,0 +1,21898 @@ +{ + "name": "fellowship-quest-tracker-frontend", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "fellowship-quest-tracker-frontend", + "version": "1.0.0", + "dependencies": { + "axios": "^1.6.2", + "framer-motion": "^10.16.16", + "leaflet": "^1.9.4", + "leaflet.markercluster": "^1.5.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-hook-form": "^7.50.0", + "react-joyride": "^2.9.3", + "react-leaflet": "^4.2.1", + "react-router-dom": "^6.20.0", + "typescript": "^4.9.5", + "zustand": "^4.4.0" + }, + "devDependencies": { + "@testing-library/jest-dom": "^6.1.5", + "@testing-library/react": "^14.1.2", + "@testing-library/user-event": "^14.5.1", + "@types/leaflet": "^1.9.21", + "@types/leaflet.markercluster": "^1.5.6", + "@types/node": "^20.10.4", + "@types/react": "^18.2.42", + "@types/react-dom": "^18.2.17", + "@types/react-joyride": "^2.0.2", + "@vitejs/plugin-react": "^4.2.1", + "autoprefixer": "^10.4.16", + "postcss": "^8.4.32", + "react-scripts": "5.0.1", + "tailwindcss": "^3.4.0", + "typescript": "^4.9.5", + "vitest": "^1.0.4" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/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==", + "dev": true, + "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==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-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==", + "dev": true, + "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-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==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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.", + "dev": true, + "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==", + "dev": true, + "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.", + "dev": true, + "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.", + "dev": true, + "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.", + "dev": true, + "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.", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "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-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emotion/memoize": "0.7.4" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "license": "MIT", + "optional": true + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@gilbarbara/deep-equal": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@gilbarbara/deep-equal/-/deep-equal-0.3.1.tgz", + "integrity": "sha512-I7xWjLs2YSVMc5gGx1Z3ZG1lgFpITPndpi8Ku55GeEIKpACCPQNS/OTqQbxgTCfq0Ncvcc+CrFov96itVh6Qvw==", + "license": "MIT" + }, + "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", + "dev": true, + "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==", + "dev": true, + "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", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/@react-leaflet/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-2.1.0.tgz", + "integrity": "sha512-Qk7Pfu8BSarKGqILj4x7bCSZ1pjuAPZ+qmRwH5S7mDS91VSbVVsJSrW4qA+GPrro8t69gFYVMWb1Zc4yFmPiVg==", + "license": "Hippocratic-2.1", + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@remix-run/router": { + "version": "1.23.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.2.tgz", + "integrity": "sha512-Ic6m2U/rMjTkhERIa/0ZtXJP17QUi2CbWE7cqx4J58M8aA3QTfW+2UlQ4psvTX9IO1RfNVhK3pcpdjej7L+t2w==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", + "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", + "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", + "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", + "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", + "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", + "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", + "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", + "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", + "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", + "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", + "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", + "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", + "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", + "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", + "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", + "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", + "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", + "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", + "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", + "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", + "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", + "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", + "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", + "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", + "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.16.1.tgz", + "integrity": "sha512-TvZbIpeKqGQQ7X0zSCvPH9riMSFQFSggnfBjFZ1mEoILW+UuXCKwOoPcgjMwiUtRqFZ8jWhPJc4um14vC6I4ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.10", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", + "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "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==", + "dev": true, + "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/@surma/rollup-plugin-off-main-thread/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "peer": true, + "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/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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "14.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.3.1.tgz", + "integrity": "sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@testing-library/react/node_modules/@testing-library/dom": { + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz", + "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@testing-library/react/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@testing-library/user-event": { + "version": "14.6.1", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", + "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/leaflet": { + "version": "1.9.21", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.21.tgz", + "integrity": "sha512-TbAd9DaPGSnzp6QvtYngntMZgcRk+igFELwR2N99XZn7RXUdKgsXMR+28bUO0rPsWp8MIu/f47luLIQuSLYv/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/leaflet.markercluster": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/@types/leaflet.markercluster/-/leaflet.markercluster-1.5.6.tgz", + "integrity": "sha512-I7hZjO2+isVXGYWzKxBp8PsCzAYCJBc29qBdFpquOCkS7zFDqUsUvkEOyQHedsk/Cy5tocQzf+Ndorm5W9YKTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/leaflet": "^1.9" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.35.tgz", + "integrity": "sha512-Uarfe6J91b9HAUXxjvSOdiO2UPOKLm07Q1oh0JHxoZ1y8HoqxDAu3gVrsrOHeiio0kSsoVBt4wFrKOm0dKxVPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", + "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/react-joyride": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/react-joyride/-/react-joyride-2.0.2.tgz", + "integrity": "sha512-RbixI8KE4K4B4bVzigT765oiQMCbWqlb9vj5qz1pFvkOvynkiAGurGVVf+nGszGGa89WrQhUnAwd0t1tqxeoDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/eslint-plugin/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/typescript-estree/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@vitest/expect": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.1.tgz", + "integrity": "sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "1.6.1", + "@vitest/utils": "1.6.1", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.1.tgz", + "integrity": "sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "1.6.1", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.1.tgz", + "integrity": "sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@vitest/snapshot/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitest/spy": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.1.tgz", + "integrity": "sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.1.tgz", + "integrity": "sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@vitest/utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@vitest/utils/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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "dev": true, + "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-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "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.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "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==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.27", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.27.tgz", + "integrity": "sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==", + "dev": true, + "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.30001774", + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz", + "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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.", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", + "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "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==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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.30001775", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001775.tgz", + "integrity": "sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==", + "dev": true, + "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/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/chai": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chai/node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/chalk/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "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/cosmiconfig/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "dev": true, + "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-loader/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-diff": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-1.0.2.tgz", + "integrity": "sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/deep-eql": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "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", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "BSD-2-Clause" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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.302", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz", + "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", + "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", + "dev": true, + "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==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/esbuild": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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.", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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-jsx-a11y/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==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", + "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.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/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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "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/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/filelist": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz", + "integrity": "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "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.12" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/framer-motion": { + "version": "10.18.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.18.0.tgz", + "integrity": "sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + }, + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "Unlicense" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "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==", + "dev": true, + "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/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/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==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-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/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==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "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-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-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==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "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==", + "devOptional": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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.", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-lite": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-lite/-/is-lite-1.2.1.tgz", + "integrity": "sha512-pgF+L5bxC+10hLBgf6R2P4ZZUBOQIIacbdo8YvuCP8/JvsWxG7aZ9p10DYuLtifFci4l3VITphhMlMV4Y+urPw==", + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-snapshot/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/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==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "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/@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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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/jsdom/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==", + "dev": true, + "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/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpath": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.2.1.tgz", + "integrity": "sha512-Jl6Jhk0jG+kP3yk59SSeGq7LFPR4JQz1DU0K+kXTysUhMostbhU3qh5mjTuf0PqFcXpAT7kvmMt9WxV10NyIgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esprima": "1.2.5", + "static-eval": "2.1.1", + "underscore": "1.13.6" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz", + "integrity": "sha512-S9VbPDU0adFErpDai3qDkjq8+G05ONtKzcyNrPKg/ZKa+tf879nX2KexNU95b31UoTJjRLInNBHHHjFPoCd7lQ==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/launch-editor": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.1.tgz", + "integrity": "sha512-lPSddlAAluRKJ7/cjRFoXUFzaX7q/YKI7yPHuEvSJVqoXvFnJov1/Ud87Aa4zULIbA9Nja4mSPK8l0z/7eV2wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" + } + }, + "node_modules/leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", + "license": "BSD-2-Clause" + }, + "node_modules/leaflet.markercluster": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/leaflet.markercluster/-/leaflet.markercluster-1.5.3.tgz", + "integrity": "sha512-vPTw/Bndq7eQHjLBVlWpnGeLa3t+3zGiuM7fJwCkiMFq+nmRuG3RI3f7f4N4TDX7T4NpbAXpR2+NTRSEGfCSeA==", + "license": "MIT", + "peerDependencies": { + "leaflet": "^1.3.1" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/local-pkg": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz", + "integrity": "sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mlly": "^1.7.3", + "pkg-types": "^1.2.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "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/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mlly": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.1" + } + }, + "node_modules/mlly/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "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/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/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==", + "dev": true, + "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-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/pkg-types/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-loader/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "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==", + "dev": true, + "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/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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "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)", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-floater": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/react-floater/-/react-floater-0.7.9.tgz", + "integrity": "sha512-NXqyp9o8FAXOATOEo0ZpyaQ2KPb4cmPMXGWkx377QtJkIXHlHRAGer7ai0r0C1kG5gf+KJ6Gy+gdNIiosvSicg==", + "license": "MIT", + "dependencies": { + "deepmerge": "^4.3.1", + "is-lite": "^0.8.2", + "popper.js": "^1.16.0", + "prop-types": "^15.8.1", + "tree-changes": "^0.9.1" + }, + "peerDependencies": { + "react": "15 - 18", + "react-dom": "15 - 18" + } + }, + "node_modules/react-floater/node_modules/@gilbarbara/deep-equal": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@gilbarbara/deep-equal/-/deep-equal-0.1.2.tgz", + "integrity": "sha512-jk+qzItoEb0D0xSSmrKDDzf9sheQj/BAPxlgNxgmOaA3mxpUa6ndJLYGZKsJnIVEQSD8zcTbyILz7I0HcnBCRA==", + "license": "MIT" + }, + "node_modules/react-floater/node_modules/is-lite": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/is-lite/-/is-lite-0.8.2.tgz", + "integrity": "sha512-JZfH47qTsslwaAsqbMI3Q6HNNjUuq6Cmzzww50TdP5Esb6e1y2sK2UAaZZuzfAzpoI2AkxoPQapZdlDuP6Vlsw==", + "license": "MIT" + }, + "node_modules/react-floater/node_modules/tree-changes": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/tree-changes/-/tree-changes-0.9.3.tgz", + "integrity": "sha512-vvvS+O6kEeGRzMglTKbc19ltLWNtmNt1cpBoSYLj/iEcPVvpJasemKOlxBrmZaCtDJoF+4bwv3m01UKYi8mukQ==", + "license": "MIT", + "dependencies": { + "@gilbarbara/deep-equal": "^0.1.1", + "is-lite": "^0.8.2" + } + }, + "node_modules/react-hook-form": { + "version": "7.71.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.71.2.tgz", + "integrity": "sha512-1CHvcDYzuRUNOflt4MOq3ZM46AronNJtQ1S7tnX6YN4y72qhgiUItpacZUAQ0TyWYci3yz1X+rXaSxiuEm86PA==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18 || ^19" + } + }, + "node_modules/react-innertext": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/react-innertext/-/react-innertext-1.1.5.tgz", + "integrity": "sha512-PWAqdqhxhHIv80dT9znP2KvS+hfkbRovFp4zFYHFFlOoQLRiawIic81gKb3U1wEyJZgMwgs3JoLtwryASRWP3Q==", + "license": "MIT", + "peerDependencies": { + "@types/react": ">=0.0.0 <=99", + "react": ">=0.0.0 <=99" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-joyride": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/react-joyride/-/react-joyride-2.9.3.tgz", + "integrity": "sha512-1+Mg34XK5zaqJ63eeBhqdbk7dlGCFp36FXwsEvgpjqrtyywX2C6h9vr3jgxP0bGHCw8Ilsp/nRDzNVq6HJ3rNw==", + "license": "MIT", + "dependencies": { + "@gilbarbara/deep-equal": "^0.3.1", + "deep-diff": "^1.0.2", + "deepmerge": "^4.3.1", + "is-lite": "^1.2.1", + "react-floater": "^0.7.9", + "react-innertext": "^1.1.5", + "react-is": "^16.13.1", + "scroll": "^3.0.1", + "scrollparent": "^2.1.0", + "tree-changes": "^0.11.2", + "type-fest": "^4.27.0" + }, + "peerDependencies": { + "react": "15 - 18", + "react-dom": "15 - 18" + } + }, + "node_modules/react-joyride/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/react-joyride/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-leaflet": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/react-leaflet/-/react-leaflet-4.2.1.tgz", + "integrity": "sha512-p9chkvhcKrWn/H/1FFeVSqLdReGwn2qmiobOQGO3BifX+/vV/39qhY8dGqbdcPh1e6jxh/QHriLXr7a4eLFK4Q==", + "license": "Hippocratic-2.1", + "dependencies": { + "@react-leaflet/core": "^2.1.0" + }, + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.30.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.3.tgz", + "integrity": "sha512-XRnlbKMTmktBkjCLE8/XcZFlnHvr2Ltdr1eJX4idL55/9BbORzyZEaIkBFDhFGCEWBBItsVrDxwx3gnisMitdw==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.30.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.3.tgz", + "integrity": "sha512-pxPcv1AczD4vso7G4Z3TKcvlxK7g7TNt3/FNGMhfqyntocvYKj+GCatfigGDjbLozC4baguJ0ReCigoDJXb0ag==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.2", + "react-router": "6.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "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==", + "dev": true, + "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/react-scripts/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-scripts/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/regex-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.1.tgz", + "integrity": "sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "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==", + "dev": true, + "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/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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "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", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", + "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.59.0", + "@rollup/rollup-android-arm64": "4.59.0", + "@rollup/rollup-darwin-arm64": "4.59.0", + "@rollup/rollup-darwin-x64": "4.59.0", + "@rollup/rollup-freebsd-arm64": "4.59.0", + "@rollup/rollup-freebsd-x64": "4.59.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", + "@rollup/rollup-linux-arm-musleabihf": "4.59.0", + "@rollup/rollup-linux-arm64-gnu": "4.59.0", + "@rollup/rollup-linux-arm64-musl": "4.59.0", + "@rollup/rollup-linux-loong64-gnu": "4.59.0", + "@rollup/rollup-linux-loong64-musl": "4.59.0", + "@rollup/rollup-linux-ppc64-gnu": "4.59.0", + "@rollup/rollup-linux-ppc64-musl": "4.59.0", + "@rollup/rollup-linux-riscv64-gnu": "4.59.0", + "@rollup/rollup-linux-riscv64-musl": "4.59.0", + "@rollup/rollup-linux-s390x-gnu": "4.59.0", + "@rollup/rollup-linux-x64-gnu": "4.59.0", + "@rollup/rollup-linux-x64-musl": "4.59.0", + "@rollup/rollup-openbsd-x64": "4.59.0", + "@rollup/rollup-openharmony-arm64": "4.59.0", + "@rollup/rollup-win32-arm64-msvc": "4.59.0", + "@rollup/rollup-win32-ia32-msvc": "4.59.0", + "@rollup/rollup-win32-x64-gnu": "4.59.0", + "@rollup/rollup-win32-x64-msvc": "4.59.0", + "fsevents": "~2.3.2" + } + }, + "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==", + "dev": true, + "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/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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "ISC" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "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==", + "dev": true, + "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.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/scroll": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scroll/-/scroll-3.0.1.tgz", + "integrity": "sha512-pz7y517OVls1maEzlirKO5nPYle9AXsFzTMNJrRGmT951mzpIBy7sNHOg5o/0MQd/NqliCiWnAi0kZneMPFLcg==", + "license": "MIT" + }, + "node_modules/scrollparent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scrollparent/-/scrollparent-2.1.0.tgz", + "integrity": "sha512-bnnvJL28/Rtz/kz2+4wpBjHzWoEzXhVg/TE8BeVGJHUqE8THNIRnDxDWMktwM+qahvlRdvlLdsQfYe+cuqfZeA==", + "license": "ISC" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true, + "license": "ISC" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "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", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "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", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true, + "license": "MIT" + }, + "node_modules/static-eval": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.1.tgz", + "integrity": "sha512-MgWpQ/ZjGieSVB3eOJVs4OA2LT/q1vx98KPCTTQPzq/aLr0YUXTsgryTXr4SLfR0ZfUUCiedM9n/ABeDIyy4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "escodegen": "^2.1.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.1.tgz", + "integrity": "sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "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.", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.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==", + "dev": true, + "license": "BSD-3-Clause" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tree-changes": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/tree-changes/-/tree-changes-0.11.3.tgz", + "integrity": "sha512-r14mvDZ6tqz8PRQmlFKjhUVngu4VZ9d92ON3tp0EGpFBE6PAHOq8Bx8m8ahbNoGE3uI/npjYcJiqVydyOiYXag==", + "license": "MIT", + "dependencies": { + "@gilbarbara/deep-equal": "^0.3.1", + "is-lite": "^1.2.1" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "0BSD" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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/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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.1.tgz", + "integrity": "sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-node/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/vite-node/node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/vitest": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.1.tgz", + "integrity": "sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "1.6.1", + "@vitest/runner": "1.6.1", + "@vitest/snapshot": "1.6.1", + "@vitest/spy": "1.6.1", + "@vitest/utils": "1.6.1", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.6.1", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.6.1", + "@vitest/ui": "1.6.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/vitest/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/vitest/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/vitest/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/vitest/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/vitest/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": 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.", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.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==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.105.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.3.tgz", + "integrity": "sha512-LLBBA4oLmT7sZdHiYE/PeVuifOxYyE2uL/V+9VQP7YSYdJU7bSf7H8bZRRxW8kEPMkmVjnrXmoR3oejIdX0xbg==", + "dev": true, + "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.16.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.19.0", + "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.5.1", + "webpack-sources": "^3.3.4" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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.4", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz", + "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/@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==", + "dev": true, + "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/workbox-build/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==", + "dev": true, + "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/workbox-build/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/workbox-build/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==", + "dev": true, + "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/workbox-build/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "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/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/workbox-build/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/workbox-build/node_modules/rollup": { + "version": "2.80.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.80.0.tgz", + "integrity": "sha512-cIFJOD1DESzpjOBl763Kp1AH7UE/0fcdHe6rZXUdQ9c50uvgigvW97u3IcSeBwOkgqL/PXPBktBCh0KEu5L8XQ==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/workbox-build/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", + "dev": true, + "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/workbox-build/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==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "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", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "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==", + "dev": true, + "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/wrap-ansi/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "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==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "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==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zustand": { + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.7.tgz", + "integrity": "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==", + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.2.2" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0.6", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + } + } +} diff --git a/sut/frontend/package.json b/sut/frontend/package.json new file mode 100644 index 0000000..12e69ce --- /dev/null +++ b/sut/frontend/package.json @@ -0,0 +1,65 @@ +{ + "name": "fellowship-quest-tracker-frontend", + "version": "1.0.0", + "private": true, + "dependencies": { + "axios": "^1.6.2", + "framer-motion": "^10.16.16", + "leaflet": "^1.9.4", + "leaflet.markercluster": "^1.5.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-hook-form": "^7.50.0", + "react-joyride": "^2.9.3", + "react-leaflet": "^4.2.1", + "react-router-dom": "^6.20.0", + "typescript": "^4.9.5", + "zustand": "^4.4.0" + }, + "devDependencies": { + "@testing-library/jest-dom": "^6.1.5", + "@testing-library/react": "^14.1.2", + "@testing-library/user-event": "^14.5.1", + "@types/leaflet": "^1.9.21", + "@types/leaflet.markercluster": "^1.5.6", + "@types/node": "^20.10.4", + "@types/react": "^18.2.42", + "@types/react-dom": "^18.2.17", + "@types/react-joyride": "^2.0.2", + "@vitejs/plugin-react": "^4.2.1", + "autoprefixer": "^10.4.16", + "postcss": "^8.4.32", + "react-scripts": "5.0.1", + "tailwindcss": "^3.4.0", + "typescript": "^4.9.5", + "vitest": "^1.0.4" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "clean": "rm -rf build node_modules/.cache", + "build:fresh": "npm run clean && react-scripts build", + "start:fresh": "npm run clean && react-scripts start", + "test": "vitest", + "test:watch": "vitest --watch", + "test:coverage": "vitest --coverage", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app" + ] + }, + "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/sut/frontend/postcss.config.js b/sut/frontend/postcss.config.js new file mode 100644 index 0000000..12a703d --- /dev/null +++ b/sut/frontend/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/sut/frontend/public/index.html b/sut/frontend/public/index.html new file mode 100644 index 0000000..349b478 --- /dev/null +++ b/sut/frontend/public/index.html @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Fellowship Quest Tracker - Track Your Middle-earth Adventure + + + + + + +
+ + diff --git a/sut/frontend/public/leaflet/leaflet.css b/sut/frontend/public/leaflet/leaflet.css new file mode 100644 index 0000000..6593ca5 --- /dev/null +++ b/sut/frontend/public/leaflet/leaflet.css @@ -0,0 +1,767 @@ +/* required styles */ + +.leaflet-pane, +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-tile-container, +.leaflet-pane > svg, +.leaflet-pane > canvas, +.leaflet-zoom-box, +.leaflet-image-layer, +.leaflet-layer { + position: absolute; + left: 0; + top: 0; +} + +.leaflet-container { + overflow: hidden; +} + +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-user-drag: none; +} + +/* Prevents IE11 from highlighting tiles in blue */ +.leaflet-tile::selection { + background: transparent; +} + +/* Safari renders non-retina tile on retina better with this, but Chrome is worse */ +.leaflet-safari .leaflet-tile { + image-rendering: -webkit-optimize-contrast; +} + +/* hack that prevents hw layers "stretching" when loading new tiles */ +.leaflet-safari .leaflet-tile-container { + width: 1600px; + height: 1600px; + -webkit-transform-origin: 0 0; +} + +.leaflet-marker-icon, +.leaflet-marker-shadow { + display: block; +} + +/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ +/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */ +.leaflet-container .leaflet-overlay-pane svg { + max-width: none !important; + max-height: none !important; +} + +.leaflet-container .leaflet-marker-pane img, +.leaflet-container .leaflet-shadow-pane img, +.leaflet-container .leaflet-tile-pane img, +.leaflet-container img.leaflet-image-layer, +.leaflet-container .leaflet-tile { + max-width: none !important; + max-height: none !important; + width: auto; + padding: 0; +} + +.leaflet-container.leaflet-touch-zoom { + -ms-touch-action: pan-x pan-y; + touch-action: pan-x pan-y; +} + +.leaflet-container.leaflet-touch-drag { + -ms-touch-action: pinch-zoom; + /* Fallback for FF which doesn't support pinch-zoom */ + touch-action: none; + touch-action: pinch-zoom; +} + +.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { + -ms-touch-action: none; + touch-action: none; +} + +.leaflet-container { + -webkit-tap-highlight-color: transparent; +} + +.leaflet-container a { + -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); +} + +.leaflet-tile { + filter: inherit; + visibility: hidden; +} + +.leaflet-tile-loaded { + visibility: inherit; +} + +.leaflet-zoom-box { + width: 0; + height: 0; + -moz-box-sizing: border-box; + box-sizing: border-box; + z-index: 800; +} + +/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ +.leaflet-overlay-pane svg { + -moz-user-select: none; +} + +.leaflet-pane { + z-index: 400; +} + +.leaflet-tile-pane { + z-index: 200; +} + +.leaflet-overlay-pane { + z-index: 400; +} + +.leaflet-shadow-pane { + z-index: 500; +} + +.leaflet-marker-pane { + z-index: 600; +} + +.leaflet-tooltip-pane { + z-index: 650; +} + +.leaflet-popup-pane { + z-index: 700; +} + +.leaflet-map-pane canvas { + z-index: 100; +} + +.leaflet-map-pane svg { + z-index: 200; +} + +.leaflet-vml-shape { + width: 1px; + height: 1px; +} + +.lvml { + behavior: url(#default#VML); + display: inline-block; + position: absolute; +} + + +/* control positioning */ + +.leaflet-control { + position: relative; + z-index: 800; + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; +} + +.leaflet-top, +.leaflet-bottom { + position: absolute; + z-index: 1000; + pointer-events: none; +} + +.leaflet-top { + top: 0; +} + +.leaflet-right { + right: 0; +} + +.leaflet-bottom { + bottom: 0; +} + +.leaflet-left { + left: 0; +} + +.leaflet-control { + float: left; + clear: both; +} + +.leaflet-right .leaflet-control { + float: right; +} + +.leaflet-top .leaflet-control { + margin-top: 10px; +} + +.leaflet-bottom .leaflet-control { + margin-bottom: 10px; +} + +.leaflet-left .leaflet-control { + margin-left: 10px; +} + +.leaflet-right .leaflet-control { + margin-right: 10px; +} + + +/* zoom and fade animations */ + +.leaflet-fade-anim .leaflet-popup { + opacity: 0; + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; +} + +.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { + opacity: 1; +} + +.leaflet-zoom-animated { + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; +} + +svg.leaflet-zoom-animated { + will-change: transform; +} + +.leaflet-zoom-anim .leaflet-zoom-animated { + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1); + -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1); + transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1); +} + +.leaflet-zoom-anim .leaflet-tile, +.leaflet-pan-anim .leaflet-tile { + -webkit-transition: none; + -moz-transition: none; + transition: none; +} + +.leaflet-zoom-anim .leaflet-zoom-hide { + visibility: hidden; +} + + +/* cursors */ + +.leaflet-interactive { + cursor: pointer; +} + +.leaflet-grab { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: grab; +} + +.leaflet-crosshair, +.leaflet-crosshair .leaflet-interactive { + cursor: crosshair; +} + +.leaflet-popup-pane, +.leaflet-control { + cursor: auto; +} + +.leaflet-dragging .leaflet-grab, +.leaflet-dragging .leaflet-grab .leaflet-interactive, +.leaflet-dragging .leaflet-marker-draggable { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: grabbing; +} + +/* marker & overlays interactivity */ +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-image-layer, +.leaflet-pane > svg path, +.leaflet-tile-container { + pointer-events: none; +} + +.leaflet-marker-icon.leaflet-interactive, +.leaflet-image-layer.leaflet-interactive, +.leaflet-pane > svg path.leaflet-interactive, +svg.leaflet-image-layer.leaflet-interactive path { + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; +} + +/* visual tweaks */ + +.leaflet-container { + background: #ddd; + outline-offset: 1px; +} + +.leaflet-container a { + color: #0078A8; +} + +.leaflet-zoom-box { + border: 2px dotted #38f; + background: rgba(255, 255, 255, 0.5); +} + + +/* general typography */ +.leaflet-container { + font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; + font-size: 12px; + font-size: 0.75rem; + line-height: 1.5; +} + + +/* general toolbar styles */ + +.leaflet-bar { + box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65); + border-radius: 4px; +} + +.leaflet-bar a { + background-color: #fff; + border-bottom: 1px solid #ccc; + width: 26px; + height: 26px; + line-height: 26px; + display: block; + text-align: center; + text-decoration: none; + color: black; +} + +.leaflet-bar a, +.leaflet-control-layers-toggle { + background-position: 50% 50%; + background-repeat: no-repeat; + display: block; +} + +.leaflet-bar a:hover, +.leaflet-bar a:focus { + background-color: #f4f4f4; +} + +.leaflet-bar a:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +.leaflet-bar a:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom: none; +} + +.leaflet-bar a.leaflet-disabled { + cursor: default; + background-color: #f4f4f4; + color: #bbb; +} + +.leaflet-touch .leaflet-bar a { + width: 30px; + height: 30px; + line-height: 30px; +} + +.leaflet-touch .leaflet-bar a:first-child { + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} + +.leaflet-touch .leaflet-bar a:last-child { + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; +} + +/* zoom control */ + +.leaflet-control-zoom-in, +.leaflet-control-zoom-out { + font: bold 18px 'Lucida Console', Monaco, monospace; + text-indent: 1px; +} + +.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { + font-size: 22px; +} + + +/* layers control */ + +.leaflet-control-layers { + box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4); + background: #fff; + border-radius: 5px; +} + +.leaflet-control-layers-toggle { + background-image: url(assets/images/layers.png); + width: 36px; + height: 36px; +} + +.leaflet-retina .leaflet-control-layers-toggle { + background-image: url(assets/images/layers-2x.png); + background-size: 26px 26px; +} + +.leaflet-touch .leaflet-control-layers-toggle { + width: 44px; + height: 44px; +} + +.leaflet-control-layers .leaflet-control-layers-list, +.leaflet-control-layers-expanded .leaflet-control-layers-toggle { + display: none; +} + +.leaflet-control-layers-expanded .leaflet-control-layers-list { + display: block; + position: relative; +} + +.leaflet-control-layers-expanded { + padding: 6px 10px 6px 6px; + color: #333; + background: #fff; +} + +.leaflet-control-layers-scrollbar { + overflow-y: scroll; + overflow-x: hidden; + padding-right: 5px; +} + +.leaflet-control-layers-selector { + margin-top: 2px; + position: relative; + top: 1px; +} + +.leaflet-control-layers label { + display: block; + font-size: 13px; + font-size: 1.08333em; +} + +.leaflet-control-layers-separator { + height: 0; + border-top: 1px solid #ddd; + margin: 5px -10px 5px -6px; +} + +/* Default icon URLs */ +.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */ + background-image: url(assets/images/marker-icon.png); +} + + +/* attribution and scale controls */ + +.leaflet-container .leaflet-control-attribution { + background: #fff; + background: rgba(255, 255, 255, 0.8); + margin: 0; +} + +.leaflet-control-attribution, +.leaflet-control-scale-line { + padding: 0 5px; + color: #333; + line-height: 1.4; +} + +.leaflet-control-attribution a { + text-decoration: none; +} + +.leaflet-control-attribution a:hover, +.leaflet-control-attribution a:focus { + text-decoration: underline; +} + +.leaflet-attribution-flag { + display: inline !important; + vertical-align: baseline !important; + width: 1em; + height: 0.6669em; +} + +.leaflet-left .leaflet-control-scale { + margin-left: 5px; +} + +.leaflet-bottom .leaflet-control-scale { + margin-bottom: 5px; +} + +.leaflet-control-scale-line { + border: 2px solid #777; + border-top: none; + line-height: 1.1; + padding: 2px 5px 1px; + white-space: nowrap; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: rgba(255, 255, 255, 0.8); + text-shadow: 1px 1px #fff; +} + +.leaflet-control-scale-line:not(:first-child) { + border-top: 2px solid #777; + border-bottom: none; + margin-top: -2px; +} + +.leaflet-control-scale-line:not(:first-child):not(:last-child) { + border-bottom: 2px solid #777; +} + +.leaflet-touch .leaflet-control-attribution, +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + box-shadow: none; +} + +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + border: 2px solid rgba(0, 0, 0, 0.2); + background-clip: padding-box; +} + + +/* popup */ + +.leaflet-popup { + position: absolute; + text-align: center; + margin-bottom: 20px; +} + +.leaflet-popup-content-wrapper { + padding: 1px; + text-align: left; + border-radius: 12px; +} + +.leaflet-popup-content { + margin: 13px 24px 13px 20px; + line-height: 1.3; + font-size: 13px; + font-size: 1.08333em; + min-height: 1px; +} + +.leaflet-popup-content p { + margin: 17px 0; + margin: 1.3em 0; +} + +.leaflet-popup-tip-container { + width: 40px; + height: 20px; + position: absolute; + left: 50%; + margin-top: -1px; + margin-left: -20px; + overflow: hidden; + pointer-events: none; +} + +.leaflet-popup-tip { + width: 17px; + height: 17px; + padding: 1px; + + margin: -10px auto 0; + pointer-events: auto; + + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} + +.leaflet-popup-content-wrapper, +.leaflet-popup-tip { + background: white; + color: #333; + box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4); +} + +.leaflet-container a.leaflet-popup-close-button { + position: absolute; + top: 0; + right: 0; + border: none; + text-align: center; + width: 24px; + height: 24px; + font: 16px/24px Tahoma, Verdana, sans-serif; + color: #757575; + text-decoration: none; + background: transparent; +} + +.leaflet-container a.leaflet-popup-close-button:hover, +.leaflet-container a.leaflet-popup-close-button:focus { + color: #585858; +} + +.leaflet-popup-scrolled { + overflow: auto; +} + +.leaflet-oldie .leaflet-popup-content-wrapper { + -ms-zoom: 1; +} + +.leaflet-oldie .leaflet-popup-tip { + width: 24px; + margin: 0 auto; + + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; + filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); +} + +.leaflet-oldie .leaflet-control-zoom, +.leaflet-oldie .leaflet-control-layers, +.leaflet-oldie .leaflet-popup-content-wrapper, +.leaflet-oldie .leaflet-popup-tip { + border: 1px solid #999; +} + + +/* div icon */ + +.leaflet-div-icon { + background: #fff; + border: 1px solid #666; +} + + +/* Tooltip */ +/* Base styles for the element that has a tooltip */ +.leaflet-tooltip { + position: absolute; + padding: 6px; + background-color: #fff; + border: 1px solid #fff; + border-radius: 3px; + color: #222; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); +} + +.leaflet-tooltip.leaflet-interactive { + cursor: pointer; + pointer-events: auto; +} + +.leaflet-tooltip-top:before, +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + position: absolute; + pointer-events: none; + border: 6px solid transparent; + background: transparent; + content: ""; +} + +/* Directions */ + +.leaflet-tooltip-bottom { + margin-top: 6px; +} + +.leaflet-tooltip-top { + margin-top: -6px; +} + +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-top:before { + left: 50%; + margin-left: -6px; +} + +.leaflet-tooltip-top:before { + bottom: 0; + margin-bottom: -12px; + border-top-color: #fff; +} + +.leaflet-tooltip-bottom:before { + top: 0; + margin-top: -12px; + margin-left: -6px; + border-bottom-color: #fff; +} + +.leaflet-tooltip-left { + margin-left: -6px; +} + +.leaflet-tooltip-right { + margin-left: 6px; +} + +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + top: 50%; + margin-top: -6px; +} + +.leaflet-tooltip-left:before { + right: 0; + margin-right: -12px; + border-left-color: #fff; +} + +.leaflet-tooltip-right:before { + left: 0; + margin-left: -12px; + border-right-color: #fff; +} + +/* Printing */ + +@media print { + /* Prevent printers from removing background-images of controls. */ + .leaflet-control { + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + } +} diff --git a/sut/frontend/public/leaflet/leaflet.js b/sut/frontend/public/leaflet/leaflet.js new file mode 100644 index 0000000..047bfe7 --- /dev/null +++ b/sut/frontend/public/leaflet/leaflet.js @@ -0,0 +1,6 @@ +/* @preserve + * Leaflet 1.9.3, a JS library for interactive maps. https://leafletjs.com + * (c) 2010-2022 Vladimir Agafonkin, (c) 2010-2011 CloudMade + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).leaflet={})}(this,function(t){"use strict";function l(t){for(var e,i,n=1,o=arguments.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>=e.x&&n.x<=i.x,t=t.y>=e.y&&n.y<=i.y;return o&&t},overlaps:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>=e.lat&&n.lat<=i.lat,t=t.lng>=e.lng&&n.lng<=i.lng;return o&&t},overlaps:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>e.lat&&n.late.lng&&n.lng","http://www.w3.org/2000/svg"===(Ft.firstChild&&Ft.firstChild.namespaceURI));function y(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var b={ie:pt,ielt9:mt,edge:n,webkit:ft,android:gt,android23:vt,androidStock:yt,opera:xt,chrome:wt,gecko:bt,safari:Pt,phantom:Lt,opera12:o,win:Tt,ie3d:Mt,webkit3d:zt,gecko3d:_t,any3d:Ct,mobile:Zt,mobileWebkit:St,mobileWebkit3d:Et,msPointer:kt,pointer:Ot,touch:Bt,touchNative:At,mobileOpera:It,mobileGecko:Rt,retina:Nt,passiveEvents:Dt,canvas:jt,svg:Ht,vml:!Ht&&function(){try{var t=document.createElement("div"),e=(t.innerHTML='',t.firstChild);return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),inlineSvg:Ft,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},Wt=b.msPointer?"MSPointerDown":"pointerdown",Ut=b.msPointer?"MSPointerMove":"pointermove",Vt=b.msPointer?"MSPointerUp":"pointerup",qt=b.msPointer?"MSPointerCancel":"pointercancel",Gt={touchstart:Wt,touchmove:Ut,touchend:Vt,touchcancel:qt},Kt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&O(e);ee(t,e)},touchmove:ee,touchend:ee,touchcancel:ee},Yt={},Xt=!1;function Jt(t,e,i){return"touchstart"!==e||Xt||(document.addEventListener(Wt,$t,!0),document.addEventListener(Ut,Qt,!0),document.addEventListener(Vt,te,!0),document.addEventListener(qt,te,!0),Xt=!0),Kt[e]?(i=Kt[e].bind(this,i),t.addEventListener(Gt[e],i,!1),i):(console.warn("wrong event specified:",e),u)}function $t(t){Yt[t.pointerId]=t}function Qt(t){Yt[t.pointerId]&&(Yt[t.pointerId]=t)}function te(t){delete Yt[t.pointerId]}function ee(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Yt)e.touches.push(Yt[i]);e.changedTouches=[e],t(e)}}var ie=200;function ne(t,i){t.addEventListener("dblclick",i);var n,o=0;function e(t){var e;1!==t.detail?n=t.detail:"mouse"===t.pointerType||t.sourceCapabilities&&!t.sourceCapabilities.firesTouchEvents||((e=Ne(t)).some(function(t){return t instanceof HTMLLabelElement&&t.attributes.for})&&!e.some(function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement})||((e=Date.now())-o<=ie?2===++n&&i(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return(t=n).type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):n=1,o=e))}return t.addEventListener("click",e),{dblclick:i,simDblclick:e}}var oe,se,re,ae,he,le,ue=we(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ce=we(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===ce||"OTransition"===ce?ce+"End":"transitionend";function _e(t){return"string"==typeof t?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];return"auto"===(i=i&&"auto"!==i||!document.defaultView?i:(t=document.defaultView.getComputedStyle(t,null))?t[e]:null)?null:i}function P(t,e,i){t=document.createElement(t);return t.className=e||"",i&&i.appendChild(t),t}function T(t){var e=t.parentNode;e&&e.removeChild(t)}function me(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function fe(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ge(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ve(t,e){return void 0!==t.classList?t.classList.contains(e):0<(t=xe(t)).length&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(t)}function M(t,e){var i;if(void 0!==t.classList)for(var n=W(e),o=0,s=n.length;othis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),t=this._limitCenter(i,this._zoom,g(t));return i.equals(t)||this.panTo(t,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=m((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),t=this.project(t),s=this.getPixelBounds(),i=_([s.min.add(i),s.max.subtract(n)]),s=i.getSize();return i.contains(t)||(this._enforcingBounds=!0,n=t.subtract(i.getCenter()),i=i.extend(t).getSize().subtract(s),o.x+=n.x<0?-i.x:i.x,o.y+=n.y<0?-i.y:i.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1),this},invalidateSize:function(t){if(!this._loaded)return this;t=l({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize(),i=(this._sizeChanged=!0,this._lastCenter=null,this.getSize()),n=e.divideBy(2).round(),o=i.divideBy(2).round(),n=n.subtract(o);return n.x||n.y?(t.animate&&t.pan?this.panBy(n):(t.pan&&this._rawPanBy(n),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){var e,i;return t=this._locateOptions=l({timeout:1e4,watch:!1},t),"geolocation"in navigator?(e=a(this._handleGeolocationResponse,this),i=a(this._handleGeolocationError,this),t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t)):this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e;this._container._leaflet_id&&(e=t.code,t=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout"),this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+t+"."}))},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e,i,n=new v(t.coords.latitude,t.coords.longitude),o=n.toBounds(2*t.coords.accuracy),s=this._locateOptions,r=(s.setView&&(e=this.getBoundsZoom(o),this.setView(n,s.maxZoom?Math.min(e,s.maxZoom):e)),{latlng:n,bounds:o,timestamp:t.timestamp});for(i in t.coords)"number"==typeof t.coords[i]&&(r[i]=t.coords[i]);this.fire("locationfound",r)}},addHandler:function(t,e){return e&&(e=this[t]=new e(this),this._handlers.push(e),this.options[t]&&e.enable()),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}for(var t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),T(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(r(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)T(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){e=P("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new s(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=g(t),i=m(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),t=t.getSouthEast(),i=this.getSize().subtract(i),t=_(this.project(t,n),this.project(r,n)).getSize(),r=b.any3d?this.options.zoomSnap:1,a=i.x/t.x,i=i.y/t.y,t=e?Math.max(a,i):Math.min(a,i),n=this.getScaleZoom(t,n);return r&&(n=Math.round(n/(r/100))*(r/100),n=e?Math.ceil(n/r)*r:Math.floor(n/r)*r),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new p(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){t=this._getTopLeftPoint(t,e);return new f(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs,t=(e=void 0===e?this._zoom:e,i.zoom(t*i.scale(e)));return isNaN(t)?1/0:t},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(w(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(m(t),e)},layerPointToLatLng:function(t){t=m(t).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(t){return this.project(w(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(w(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(g(t))},distance:function(t,e){return this.options.crs.distance(w(t),w(e))},containerPointToLayerPoint:function(t){return m(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return m(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){t=this.containerPointToLayerPoint(m(t));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(w(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){t=this._container=_e(t);if(!t)throw new Error("Map container not found.");if(t._leaflet_id)throw new Error("Map container is already initialized.");S(t,"scroll",this._onScroll,this),this._containerId=h(t)},_initLayout:function(){var t=this._container,e=(this._fadeAnimated=this.options.fadeAnimation&&b.any3d,M(t,"leaflet-container"+(b.touch?" leaflet-touch":"")+(b.retina?" leaflet-retina":"")+(b.ielt9?" leaflet-oldie":"")+(b.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":"")),pe(t,"position"));"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Z(this._mapPane,new p(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(M(t.markerPane,"leaflet-zoom-hide"),M(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){Z(this._mapPane,new p(0,0));var n=!this._loaded,o=(this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset"),this._zoom!==e);this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return r(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Z(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={};var e=t?k:S;e((this._targets[h(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),b.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){r(this._resizeRequest),this._resizeRequest=x(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[h(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!Fe(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n=n.length||r||o||!this.listens(e,!0)?n:[this]},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e,i=t.target||t.srcElement;!this._loaded||i._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(i)||("mousedown"===(e=t.type)&&Me(i),this._fireDOMEvent(t,e))},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){"click"===t.type&&((a=l({},t)).type="preclick",this._fireDOMEvent(a,a.type,i));var n=this._findEventTargets(t,e);if(i){for(var o=[],s=0;sthis.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/n);if(!0!==i.animate&&!this.getSize().contains(n))return!1;x(function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)},this)}return!0},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,M(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&z(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Ue(t){return new B(t)}var Ve,B=et.extend({options:{position:"topright"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),t=t._controlCorners[i];return M(e,"leaflet-control"),-1!==i.indexOf("bottom")?t.insertBefore(e,t.firstChild):t.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(T(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0",e=document.createElement("div");return e.innerHTML=t,e.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer),n=(t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+h(this),n),this._layerControlInputs.push(e),e.layerId=h(t.layer),S(e,"click",this._onInputClick,this),document.createElement("span")),o=(n.innerHTML=" "+t.name,document.createElement("span"));return i.appendChild(o),o.appendChild(e),o.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;0<=s;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;se.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;S(t,"click",O),this.expand(),setTimeout(function(){k(t,"click",O)})}})),Ge=B.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=P("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){i=P("a",i,n);return i.innerHTML=t,i.href="#",i.title=e,i.setAttribute("role","button"),i.setAttribute("aria-label",e),Ie(i),S(i,"click",Re),S(i,"click",o,this),S(i,"click",this._refocusOnMap,this),i},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";z(this._zoomInButton,e),z(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),!this._disabled&&t._zoom!==t.getMinZoom()||(M(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),!this._disabled&&t._zoom!==t.getMaxZoom()||(M(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}}),Ke=(A.mergeOptions({zoomControl:!0}),A.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ge,this.addControl(this.zoomControl))}),B.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=P("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=P("div",e,i)),t.imperial&&(this._iScale=P("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,t=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(t)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,i,t=3.2808399*t;5280'+(b.inlineSvg?' ':"")+"Leaflet"},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var e in(t.attributionControl=this)._container=P("div","leaflet-control-attribution"),Ie(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t,e=[];for(t in this._attributions)this._attributions[t]&&e.push(t);var i=[];this.options.prefix&&i.push(this.options.prefix),e.length&&i.push(e.join(", ")),this._container.innerHTML=i.join(' ')}}}),n=(A.mergeOptions({attributionControl:!0}),A.addInitHook(function(){this.options.attributionControl&&(new Ye).addTo(this)}),B.Layers=qe,B.Zoom=Ge,B.Scale=Ke,B.Attribution=Ye,Ue.layers=function(t,e,i){return new qe(t,e,i)},Ue.zoom=function(t){return new Ge(t)},Ue.scale=function(t){return new Ke(t)},Ue.attribution=function(t){return new Ye(t)},et.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}})),ft=(n.addTo=function(t,e){return t.addHandler(e,this),this},{Events:e}),Xe=b.touch?"touchstart mousedown":"mousedown",Je=it.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){c(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(S(this._dragStartTarget,Xe,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Je._dragging===this&&this.finishDrag(!0),k(this._dragStartTarget,Xe,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var e,i;this._enabled&&(this._moved=!1,ve(this._element,"leaflet-zoom-anim")||(t.touches&&1!==t.touches.length?Je._dragging===this&&this.finishDrag():Je._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((Je._dragging=this)._preventOutline&&Me(this._element),Le(),re(),this._moving||(this.fire("down"),i=t.touches?t.touches[0]:t,e=Ce(this._element),this._startPoint=new p(i.clientX,i.clientY),this._startPos=Pe(this._element),this._parentScale=Ze(e),i="mousedown"===t.type,S(document,i?"mousemove":"touchmove",this._onMove,this),S(document,i?"mouseup":"touchend touchcancel",this._onUp,this)))))},_onMove:function(t){var e;this._enabled&&(t.touches&&1e&&(i.push(t[n]),o=n);oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function ni(t,e,i,n){var o=e.x,e=e.y,s=i.x-o,r=i.y-e,a=s*s+r*r;return 0this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||vi.prototype._containsPoint.call(this,t,!0)}});var xi=ui.extend({initialize:function(t,e){c(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=d(t)?t:t.features;if(o){for(e=0,i=o.length;es.x&&(r=i.x+a-s.x+o.x),i.x-r-n.x<(a=0)&&(r=i.x-n.x),i.y+e+o.y>s.y&&(a=i.y+e-s.y+o.y),i.y-a-n.y<0&&(a=i.y-n.y),(r||a)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([r,a]))))},_getAnchor:function(){return m(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}})),Bi=(A.mergeOptions({closePopupOnClick:!0}),A.include({openPopup:function(t,e,i){return this._initOverlay(Ai,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),o.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Ai,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof ui||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e;this._popup&&this._map&&(Re(t),e=t.layer||t.target,this._popup._source!==e||e instanceof mi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}}),Oi.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Oi.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Oi.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Oi.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=P("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+h(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i=this._map,n=this._container,o=i.latLngToContainerPoint(i.getCenter()),i=i.layerPointToContainerPoint(t),s=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,h=m(this.options.offset),l=this._getAnchor(),i="top"===s?(e=r/2,a):"bottom"===s?(e=r/2,0):(e="center"===s?r/2:"right"===s?0:"left"===s?r:i.xthis.options.maxZoom||nthis.options.maxZoom||void 0!==this.options.minZoom&&oi.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}return!this.options.bounds||(e=this._tileCoordsToBounds(t),g(this.options.bounds).overlaps(e))},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),i=n.add(i);return[e.unproject(n,t.z),e.unproject(i,t.z)]},_tileCoordsToBounds:function(t){t=this._tileCoordsToNwSe(t),t=new s(t[0],t[1]);return t=this.options.noWrap?t:this._map.wrapLatLngBounds(t)},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var t=t.split(":"),e=new p(+t[0],+t[1]);return e.z=+t[2],e},_removeTile:function(t){var e=this._tiles[t];e&&(T(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){M(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=u,t.onmousemove=u,b.ielt9&&this.options.opacity<1&&C(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&x(a(this._tileReady,this,t,null,o)),Z(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(C(i.el,0),r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(M(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),b.ielt9||!this._map._fadeAnimated?x(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new p(this._wrapX?H(t.x,this._wrapX):t.x,this._wrapY?H(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new f(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Ni=Ri.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=c(this,e)).detectRetina&&b.retina&&0')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),zt={_initContainer:function(){this._container=P("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Hi.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Ui("shape");M(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Ui("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;T(e),t.removeInteractiveTarget(e),delete this._layers[h(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e=e||(t._stroke=Ui("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=d(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i=i||(t._fill=Ui("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){fe(t._container)},_bringToBack:function(t){ge(t._container)}},Vi=b.vml?Ui:ct,qi=Hi.extend({_initContainer:function(){this._container=Vi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Vi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){T(this._container),k(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){var t,e,i;this._map._animatingZoom&&this._bounds||(Hi.prototype._update.call(this),e=(t=this._bounds).getSize(),i=this._container,this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Z(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update"))},_initPath:function(t){var e=t._path=Vi("path");t.options.className&&M(e,t.options.className),t.options.interactive&&M(e,"leaflet-interactive"),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){T(t._path),t.removeInteractiveTarget(t._path),delete this._layers[h(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,t=t.options;e&&(t.stroke?(e.setAttribute("stroke",t.color),e.setAttribute("stroke-opacity",t.opacity),e.setAttribute("stroke-width",t.weight),e.setAttribute("stroke-linecap",t.lineCap),e.setAttribute("stroke-linejoin",t.lineJoin),t.dashArray?e.setAttribute("stroke-dasharray",t.dashArray):e.removeAttribute("stroke-dasharray"),t.dashOffset?e.setAttribute("stroke-dashoffset",t.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),t.fill?(e.setAttribute("fill",t.fillColor||t.color),e.setAttribute("fill-opacity",t.fillOpacity),e.setAttribute("fill-rule",t.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,dt(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",e=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,e)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){fe(t._path)},_bringToBack:function(t){ge(t._path)}});function Gi(t){return b.svg||b.vml?new qi(t):null}b.vml&&qi.include(zt),A.include({getRenderer:function(t){t=(t=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(t){var e;return"overlayPane"!==t&&void 0!==t&&(void 0===(e=this._paneRenderers[t])&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e)},_createRenderer:function(t){return this.options.preferCanvas&&Wi(t)||Gi(t)}});var Ki=yi.extend({initialize:function(t,e){yi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=g(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});qi.create=Vi,qi.pointsToPath=dt,xi.geometryToLayer=wi,xi.coordsToLatLng=Pi,xi.coordsToLatLngs=Li,xi.latLngToCoords=Ti,xi.latLngsToCoords=Mi,xi.getFeature=zi,xi.asFeature=Ci,A.mergeOptions({boxZoom:!0});var _t=n.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){S(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){k(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){T(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),re(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(t),S(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=P("div","leaflet-zoom-box",this._container),M(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var t=new f(this._point,this._startPoint),e=t.getSize();Z(this._box,t.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(T(this._box),z(this._container,"leaflet-crosshair")),ae(),Te(),k(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0),t=new s(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})))},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}}),Ct=(A.addInitHook("addHandler","boxZoom",_t),A.mergeOptions({doubleClickZoom:!0}),n.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,i=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}})),Zt=(A.addInitHook("addHandler","doubleClickZoom",Ct),A.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),n.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new Je(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),M(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,"leaflet-grab"),z(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,e=this._map;e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=g(this._map.options.maxBounds),this._offsetLimit=_(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,e.fire("movestart").fire("dragstart"),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var e,i;this._map.options.inertia&&(e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(i),this._times.push(e),this._prunePositions(e)),this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,n=(n+e+i)%t-e-i,t=Math.abs(o+i)e.getMaxZoom()&&1=i;)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(e,t):this._animationAddLayerNonAnimated(e,t)),this},removeLayer:function(e){return e instanceof L.LayerGroup?this.removeLayers([e]):e.getLatLng?this._map?e.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(e)),this._removeLayer(e,!0),this.fire("layerremove",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),e.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(e)&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow()),this):this:(!this._arraySplice(this._needsClustering,e)&&this.hasLayer(e)&&this._needsRemoving.push({layer:e,latlng:e._latlng}),this.fire("layerremove",{layer:e}),this):(this._nonPointGroup.removeLayer(e),this.fire("layerremove",{layer:e}),this)},addLayers:function(e,t){if(!L.Util.isArray(e))return this.addLayer(e);var i,n=this._featureGroup,r=this._nonPointGroup,s=this.options.chunkedLoading,o=this.options.chunkInterval,a=this.options.chunkProgress,h=e.length,l=0,u=!0;if(this._map){var _=(new Date).getTime(),d=L.bind(function(){for(var c=(new Date).getTime();h>l;l++){if(s&&0===l%200){var p=(new Date).getTime()-c;if(p>o)break}if(i=e[l],i instanceof L.LayerGroup)u&&(e=e.slice(),u=!1),this._extractNonGroupLayers(i,e),h=e.length;else if(i.getLatLng){if(!this.hasLayer(i)&&(this._addLayer(i,this._maxZoom),t||this.fire("layeradd",{layer:i}),i.__parent&&2===i.__parent.getChildCount())){var f=i.__parent.getAllChildMarkers(),m=f[0]===i?f[1]:f[0];n.removeLayer(m)}}else r.addLayer(i),t||this.fire("layeradd",{layer:i})}a&&a(l,h,(new Date).getTime()-_),l===h?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(d,this.options.chunkDelay)},this);d()}else for(var c=this._needsClustering;h>l;l++)i=e[l],i instanceof L.LayerGroup?(u&&(e=e.slice(),u=!1),this._extractNonGroupLayers(i,e),h=e.length):i.getLatLng?this.hasLayer(i)||c.push(i):r.addLayer(i);return this},removeLayers:function(e){var t,i,n=e.length,r=this._featureGroup,s=this._nonPointGroup,o=!0;if(!this._map){for(t=0;n>t;t++)i=e[t],i instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),n=e.length):(this._arraySplice(this._needsClustering,i),s.removeLayer(i),this.hasLayer(i)&&this._needsRemoving.push({layer:i,latlng:i._latlng}),this.fire("layerremove",{layer:i}));return this}if(this._unspiderfy){this._unspiderfy();var a=e.slice(),h=n;for(t=0;h>t;t++)i=a[t],i instanceof L.LayerGroup?(this._extractNonGroupLayers(i,a),h=a.length):this._unspiderfyLayer(i)}for(t=0;n>t;t++)i=e[t],i instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),n=e.length):i.__parent?(this._removeLayer(i,!0,!0),this.fire("layerremove",{layer:i}),r.hasLayer(i)&&(r.removeLayer(i),i.clusterShow&&i.clusterShow())):(s.removeLayer(i),this.fire("layerremove",{layer:i}));return this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},clearLayers:function(){return this._map||(this._needsClustering=[],this._needsRemoving=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy(),this._featureGroup.clearLayers(),this._nonPointGroup.clearLayers(),this.eachLayer(function(e){e.off(this._childMarkerEventHandlers,this),delete e.__parent},this),this._map&&this._generateInitialClusters(),this},getBounds:function(){var e=new L.LatLngBounds;this._topClusterLevel&&e.extend(this._topClusterLevel._bounds);for(var t=this._needsClustering.length-1;t>=0;t--)e.extend(this._needsClustering[t].getLatLng());return e.extend(this._nonPointGroup.getBounds()),e},eachLayer:function(e,t){var i,n,r,s=this._needsClustering.slice(),o=this._needsRemoving;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(s),n=s.length-1;n>=0;n--){for(i=!0,r=o.length-1;r>=0;r--)if(o[r].layer===s[n]){i=!1;break}i&&e.call(t,s[n])}this._nonPointGroup.eachLayer(e,t)},getLayers:function(){var e=[];return this.eachLayer(function(t){e.push(t)}),e},getLayer:function(e){var t=null;return e=parseInt(e,10),this.eachLayer(function(i){L.stamp(i)===e&&(t=i)}),t},hasLayer:function(e){if(!e)return!1;var t,i=this._needsClustering;for(t=i.length-1;t>=0;t--)if(i[t]===e)return!0;for(i=this._needsRemoving,t=i.length-1;t>=0;t--)if(i[t].layer===e)return!1;return!(!e.__parent||e.__parent._group!==this)||this._nonPointGroup.hasLayer(e)},zoomToShowLayer:function(e,t){"function"!=typeof t&&(t=function(){});var i=function(){!e._icon&&!e.__parent._icon||this._inZoomAnimation||(this._map.off("moveend",i,this),this.off("animationend",i,this),e._icon?t():e.__parent._icon&&(this.once("spiderfied",t,this),e.__parent.spiderfy()))};e._icon&&this._map.getBounds().contains(e.getLatLng())?t():e.__parent._zoomt;t++)n=this._needsRemoving[t],n.newlatlng=n.layer._latlng,n.layer._latlng=n.latlng;for(t=0,i=this._needsRemoving.length;i>t;t++)n=this._needsRemoving[t],this._removeLayer(n.layer,!0),n.layer._latlng=n.newlatlng;this._needsRemoving=[],this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds(),this._map.on("zoomend",this._zoomEnd,this),this._map.on("moveend",this._moveEnd,this),this._spiderfierOnAdd&&this._spiderfierOnAdd(),this._bindEvents(),i=this._needsClustering,this._needsClustering=[],this.addLayers(i,!0)},onRemove:function(e){e.off("zoomend",this._zoomEnd,this),e.off("moveend",this._moveEnd,this),this._unbindEvents(),this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim",""),this._spiderfierOnRemove&&this._spiderfierOnRemove(),delete this._maxLat,this._hideCoverage(),this._featureGroup.remove(),this._nonPointGroup.remove(),this._featureGroup.clearLayers(),this._map=null},getVisibleParent:function(e){for(var t=e;t&&!t._icon;)t=t.__parent;return t||null},_arraySplice:function(e,t){for(var i=e.length-1;i>=0;i--)if(e[i]===t)return e.splice(i,1),!0},_removeFromGridUnclustered:function(e,t){for(var i=this._map,n=this._gridUnclustered,r=Math.floor(this._map.getMinZoom());t>=r&&n[t].removeObject(e,i.project(e.getLatLng(),t));t--);},_childMarkerDragStart:function(e){e.target.__dragStart=e.target._latlng},_childMarkerMoved:function(e){if(!this._ignoreMove&&!e.target.__dragStart){var t=e.target._popup&&e.target._popup.isOpen();this._moveChild(e.target,e.oldLatLng,e.latlng),t&&e.target.openPopup()}},_moveChild:function(e,t,i){e._latlng=t,this.removeLayer(e),e._latlng=i,this.addLayer(e)},_childMarkerDragEnd:function(e){var t=e.target.__dragStart;delete e.target.__dragStart,t&&this._moveChild(e.target,t,e.target._latlng)},_removeLayer:function(e,t,i){var n=this._gridClusters,r=this._gridUnclustered,s=this._featureGroup,o=this._map,a=Math.floor(this._map.getMinZoom());t&&this._removeFromGridUnclustered(e,this._maxZoom);var h,l=e.__parent,u=l._markers;for(this._arraySplice(u,e);l&&(l._childCount--,l._boundsNeedUpdate=!0,!(l._zoomt?"small":100>t?"medium":"large",new L.DivIcon({html:"
"+t+"
",className:"marker-cluster"+i,iconSize:new L.Point(40,40)})},_bindEvents:function(){var e=this._map,t=this.options.spiderfyOnMaxZoom,i=this.options.showCoverageOnHover,n=this.options.zoomToBoundsOnClick;(t||n)&&this.on("clusterclick",this._zoomOrSpiderfy,this),i&&(this.on("clustermouseover",this._showCoverage,this),this.on("clustermouseout",this._hideCoverage,this),e.on("zoomend",this._hideCoverage,this))},_zoomOrSpiderfy:function(e){for(var t=e.layer,i=t;1===i._childClusters.length;)i=i._childClusters[0];i._zoom===this._maxZoom&&i._childCount===t._childCount&&this.options.spiderfyOnMaxZoom?t.spiderfy():this.options.zoomToBoundsOnClick&&t.zoomToBounds(),e.originalEvent&&13===e.originalEvent.keyCode&&this._map._container.focus()},_showCoverage:function(e){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),e.layer.getChildCount()>2&&e.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(e.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var e=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,i=this.options.zoomToBoundsOnClick,n=this._map;(e||i)&&this.off("clusterclick",this._zoomOrSpiderfy,this),t&&(this.off("clustermouseover",this._showCoverage,this),this.off("clustermouseout",this._hideCoverage,this),n.off("zoomend",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var e=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),e),this._currentShownBounds=e}},_generateInitialClusters:function(){var e=Math.ceil(this._map.getMaxZoom()),t=Math.floor(this._map.getMinZoom()),i=this.options.maxClusterRadius,n=i;"function"!=typeof i&&(n=function(){return i}),null!==this.options.disableClusteringAtZoom&&(e=this.options.disableClusteringAtZoom-1),this._maxZoom=e,this._gridClusters={},this._gridUnclustered={};for(var r=e;r>=t;r--)this._gridClusters[r]=new L.DistanceGrid(n(r)),this._gridUnclustered[r]=new L.DistanceGrid(n(r));this._topClusterLevel=new this._markerCluster(this,t-1)},_addLayer:function(e,t){var i,n,r=this._gridClusters,s=this._gridUnclustered,o=Math.floor(this._map.getMinZoom());for(this.options.singleMarkerMode&&this._overrideMarkerIcon(e),e.on(this._childMarkerEventHandlers,this);t>=o;t--){i=this._map.project(e.getLatLng(),t);var a=r[t].getNearObject(i);if(a)return a._addChild(e),e.__parent=a,void 0;if(a=s[t].getNearObject(i)){var h=a.__parent;h&&this._removeLayer(a,!1);var l=new this._markerCluster(this,t,a,e);r[t].addObject(l,this._map.project(l._cLatLng,t)),a.__parent=l,e.__parent=l;var u=l;for(n=t-1;n>h._zoom;n--)u=new this._markerCluster(this,n,u),r[n].addObject(u,this._map.project(a.getLatLng(),n));return h._addChild(u),this._removeFromGridUnclustered(a,t),void 0}s[t].addObject(e,i)}this._topClusterLevel._addChild(e),e.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(e){e instanceof L.MarkerCluster&&e._iconNeedsUpdate&&e._updateIcon()})},_enqueue:function(e){this._queue.push(e),this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var e=0;ee?(this._animationStart(),this._animationZoomOut(this._zoom,e)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(e){var t=this._maxLat;return void 0!==t&&(e.getNorth()>=t&&(e._northEast.lat=1/0),e.getSouth()<=-t&&(e._southWest.lat=-1/0)),e},_animationAddLayerNonAnimated:function(e,t){if(t===e)this._featureGroup.addLayer(e);else if(2===t._childCount){t._addToMap();var i=t.getAllChildMarkers();this._featureGroup.removeLayer(i[0]),this._featureGroup.removeLayer(i[1])}else t._updateIcon()},_extractNonGroupLayers:function(e,t){var i,n=e.getLayers(),r=0;for(t=t||[];r=0;i--)o=h[i],n.contains(o._latlng)||r.removeLayer(o)}),this._forceLayout(),this._topClusterLevel._recursivelyBecomeVisible(n,t),r.eachLayer(function(e){e instanceof L.MarkerCluster||!e._icon||e.clusterShow()}),this._topClusterLevel._recursively(n,e,t,function(e){e._recursivelyRestoreChildPositions(t)}),this._ignoreMove=!1,this._enqueue(function(){this._topClusterLevel._recursively(n,e,s,function(e){r.removeLayer(e),e.clusterShow()}),this._animationEnd()})},_animationZoomOut:function(e,t){this._animationZoomOutSingle(this._topClusterLevel,e-1,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e,this._getExpandedVisibleBounds())},_animationAddLayer:function(e,t){var i=this,n=this._featureGroup;n.addLayer(e),t!==e&&(t._childCount>2?(t._updateIcon(),this._forceLayout(),this._animationStart(),e._setPos(this._map.latLngToLayerPoint(t.getLatLng())),e.clusterHide(),this._enqueue(function(){n.removeLayer(e),e.clusterShow(),i._animationEnd()})):(this._forceLayout(),i._animationStart(),i._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(e,t,i){var n=this._getExpandedVisibleBounds(),r=Math.floor(this._map.getMinZoom());e._recursivelyAnimateChildrenInAndAddSelfToMap(n,r,t+1,i);var s=this;this._forceLayout(),e._recursivelyBecomeVisible(n,i),this._enqueue(function(){if(1===e._childCount){var o=e._markers[0];this._ignoreMove=!0,o.setLatLng(o.getLatLng()),this._ignoreMove=!1,o.clusterShow&&o.clusterShow()}else e._recursively(n,i,r,function(e){e._recursivelyRemoveChildrenFromMap(n,r,t+1)});s._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","")),this._inZoomAnimation--,this.fire("animationend")},_forceLayout:function(){L.Util.falseFn(document.body.offsetWidth)}}),L.markerClusterGroup=function(e){return new L.MarkerClusterGroup(e)};var i=L.MarkerCluster=L.Marker.extend({options:L.Icon.prototype.options,initialize:function(e,t,i,n){L.Marker.prototype.initialize.call(this,i?i._cLatLng||i.getLatLng():new L.LatLng(0,0),{icon:this,pane:e.options.clusterPane}),this._group=e,this._zoom=t,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._bounds=new L.LatLngBounds,i&&this._addChild(i),n&&this._addChild(n)},getAllChildMarkers:function(e,t){e=e||[];for(var i=this._childClusters.length-1;i>=0;i--)this._childClusters[i].getAllChildMarkers(e);for(var n=this._markers.length-1;n>=0;n--)t&&this._markers[n].__dragStart||e.push(this._markers[n]);return e},getChildCount:function(){return this._childCount},zoomToBounds:function(e){for(var t,i=this._childClusters.slice(),n=this._group._map,r=n.getBoundsZoom(this._bounds),s=this._zoom+1,o=n.getZoom();i.length>0&&r>s;){s++;var a=[];for(t=0;ts?this._group._map.setView(this._latlng,s):o>=r?this._group._map.setView(this._latlng,o+1):this._group._map.fitBounds(this._bounds,e)},getBounds:function(){var e=new L.LatLngBounds;return e.extend(this._bounds),e},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(e,t){this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._setClusterCenter(e),e instanceof L.MarkerCluster?(t||(this._childClusters.push(e),e.__parent=this),this._childCount+=e._childCount):(t||this._markers.push(e),this._childCount++),this.__parent&&this.__parent._addChild(e,!0)},_setClusterCenter:function(e){this._cLatLng||(this._cLatLng=e._cLatLng||e._latlng)},_resetBounds:function(){var e=this._bounds;e._southWest&&(e._southWest.lat=1/0,e._southWest.lng=1/0),e._northEast&&(e._northEast.lat=-1/0,e._northEast.lng=-1/0)},_recalculateBounds:function(){var e,t,i,n,r=this._markers,s=this._childClusters,o=0,a=0,h=this._childCount;if(0!==h){for(this._resetBounds(),e=0;e=0;i--)n=r[i],n._icon&&(n._setPos(t),n.clusterHide())},function(e){var i,n,r=e._childClusters;for(i=r.length-1;i>=0;i--)n=r[i],n._icon&&(n._setPos(t),n.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(e,t,i,n){this._recursively(e,n,t,function(r){r._recursivelyAnimateChildrenIn(e,r._group._map.latLngToLayerPoint(r.getLatLng()).round(),i),r._isSingleParent()&&i-1===n?(r.clusterShow(),r._recursivelyRemoveChildrenFromMap(e,t,i)):r.clusterHide(),r._addToMap()})},_recursivelyBecomeVisible:function(e,t){this._recursively(e,this._group._map.getMinZoom(),t,null,function(e){e.clusterShow()})},_recursivelyAddChildrenToMap:function(e,t,i){this._recursively(i,this._group._map.getMinZoom()-1,t,function(n){if(t!==n._zoom)for(var r=n._markers.length-1;r>=0;r--){var s=n._markers[r];i.contains(s._latlng)&&(e&&(s._backupLatlng=s.getLatLng(),s.setLatLng(e),s.clusterHide&&s.clusterHide()),n._group._featureGroup.addLayer(s))}},function(t){t._addToMap(e)})},_recursivelyRestoreChildPositions:function(e){for(var t=this._markers.length-1;t>=0;t--){var i=this._markers[t];i._backupLatlng&&(i.setLatLng(i._backupLatlng),delete i._backupLatlng)}if(e-1===this._zoom)for(var n=this._childClusters.length-1;n>=0;n--)this._childClusters[n]._restorePosition();else for(var r=this._childClusters.length-1;r>=0;r--)this._childClusters[r]._recursivelyRestoreChildPositions(e)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(e,t,i,n){var r,s;this._recursively(e,t-1,i-1,function(e){for(s=e._markers.length-1;s>=0;s--)r=e._markers[s],n&&n.contains(r._latlng)||(e._group._featureGroup.removeLayer(r),r.clusterShow&&r.clusterShow())},function(e){for(s=e._childClusters.length-1;s>=0;s--)r=e._childClusters[s],n&&n.contains(r._latlng)||(e._group._featureGroup.removeLayer(r),r.clusterShow&&r.clusterShow())})},_recursively:function(e,t,i,n,r){var s,o,a=this._childClusters,h=this._zoom;if(h>=t&&(n&&n(this),r&&h===i&&r(this)),t>h||i>h)for(s=a.length-1;s>=0;s--)o=a[s],o._boundsNeedUpdate&&o._recalculateBounds(),e.intersects(o._bounds)&&o._recursively(e,t,i,n,r)},_isSingleParent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}});L.Marker.include({clusterHide:function(){var e=this.options.opacity;return this.setOpacity(0),this.options.opacity=e,this},clusterShow:function(){return this.setOpacity(this.options.opacity)}}),L.DistanceGrid=function(e){this._cellSize=e,this._sqCellSize=e*e,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(e,t){var i=this._getCoord(t.x),n=this._getCoord(t.y),r=this._grid,s=r[n]=r[n]||{},o=s[i]=s[i]||[],a=L.Util.stamp(e);this._objectPoint[a]=t,o.push(e)},updateObject:function(e,t){this.removeObject(e),this.addObject(e,t)},removeObject:function(e,t){var i,n,r=this._getCoord(t.x),s=this._getCoord(t.y),o=this._grid,a=o[s]=o[s]||{},h=a[r]=a[r]||[];for(delete this._objectPoint[L.Util.stamp(e)],i=0,n=h.length;n>i;i++)if(h[i]===e)return h.splice(i,1),1===n&&delete a[r],!0},eachObject:function(e,t){var i,n,r,s,o,a,h,l=this._grid;for(i in l){o=l[i];for(n in o)for(a=o[n],r=0,s=a.length;s>r;r++)h=e.call(t,a[r]),h&&(r--,s--)}},getNearObject:function(e){var t,i,n,r,s,o,a,h,l=this._getCoord(e.x),u=this._getCoord(e.y),_=this._objectPoint,d=this._sqCellSize,c=null;for(t=u-1;u+1>=t;t++)if(r=this._grid[t])for(i=l-1;l+1>=i;i++)if(s=r[i])for(n=0,o=s.length;o>n;n++)a=s[n],h=this._sqDist(_[L.Util.stamp(a)],e),(d>h||d>=h&&null===c)&&(d=h,c=a);return c},_getCoord:function(e){var t=Math.floor(e/this._cellSize);return isFinite(t)?t:e},_sqDist:function(e,t){var i=t.x-e.x,n=t.y-e.y;return i*i+n*n}},function(){L.QuickHull={getDistant:function(e,t){var i=t[1].lat-t[0].lat,n=t[0].lng-t[1].lng;return n*(e.lat-t[0].lat)+i*(e.lng-t[0].lng)},findMostDistantPointFromBaseLine:function(e,t){var i,n,r,s=0,o=null,a=[];for(i=t.length-1;i>=0;i--)n=t[i],r=this.getDistant(n,e),r>0&&(a.push(n),r>s&&(s=r,o=n));return{maxPoint:o,newPoints:a}},buildConvexHull:function(e,t){var i=[],n=this.findMostDistantPointFromBaseLine(e,t);return n.maxPoint?(i=i.concat(this.buildConvexHull([e[0],n.maxPoint],n.newPoints)),i=i.concat(this.buildConvexHull([n.maxPoint,e[1]],n.newPoints))):[e[0]]},getConvexHull:function(e){var t,i=!1,n=!1,r=!1,s=!1,o=null,a=null,h=null,l=null,u=null,_=null;for(t=e.length-1;t>=0;t--){var d=e[t];(i===!1||d.lat>i)&&(o=d,i=d.lat),(n===!1||d.latr)&&(h=d,r=d.lng),(s===!1||d.lng=0;t--)e=i[t].getLatLng(),n.push(e);return L.QuickHull.getConvexHull(n)}}),L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:0,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var e,t=this.getAllChildMarkers(null,!0),i=this._group,n=i._map,r=n.latLngToLayerPoint(this._latlng);this._group._unspiderfy(),this._group._spiderfied=this,t.length>=this._circleSpiralSwitchover?e=this._generatePointsSpiral(t.length,r):(r.y+=10,e=this._generatePointsCircle(t.length,r)),this._animationSpiderfy(t,e)}},unspiderfy:function(e){this._group._inZoomAnimation||(this._animationUnspiderfy(e),this._group._spiderfied=null)},_generatePointsCircle:function(e,t){var i,n,r=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+e),s=r/this._2PI,o=this._2PI/e,a=[];for(s=Math.max(s,35),a.length=e,i=0;e>i;i++)n=this._circleStartAngle+i*o,a[i]=new L.Point(t.x+s*Math.cos(n),t.y+s*Math.sin(n))._round();return a},_generatePointsSpiral:function(e,t){var i,n=this._group.options.spiderfyDistanceMultiplier,r=n*this._spiralLengthStart,s=n*this._spiralFootSeparation,o=n*this._spiralLengthFactor*this._2PI,a=0,h=[];for(h.length=e,i=e;i>=0;i--)e>i&&(h[i]=new L.Point(t.x+r*Math.cos(a),t.y+r*Math.sin(a))._round()),a+=s/r+5e-4*i,r+=o/a;return h},_noanimationUnspiderfy:function(){var e,t,i=this._group,n=i._map,r=i._featureGroup,s=this.getAllChildMarkers(null,!0);for(i._ignoreMove=!0,this.setOpacity(1),t=s.length-1;t>=0;t--)e=s[t],r.removeLayer(e),e._preSpiderfyLatlng&&(e.setLatLng(e._preSpiderfyLatlng),delete e._preSpiderfyLatlng),e.setZIndexOffset&&e.setZIndexOffset(0),e._spiderLeg&&(n.removeLayer(e._spiderLeg),delete e._spiderLeg);i.fire("unspiderfied",{cluster:this,markers:s}),i._ignoreMove=!1,i._spiderfied=null}}),L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(e,t){var i,n,r,s,o=this._group,a=o._map,h=o._featureGroup,l=this._group.options.spiderLegPolylineOptions;for(o._ignoreMove=!0,i=0;i=0;i--)a=u.layerPointToLatLng(t[i]),n=e[i],n._preSpiderfyLatlng=n._latlng,n.setLatLng(a),n.clusterShow&&n.clusterShow(),p&&(r=n._spiderLeg,s=r._path,s.style.strokeDashoffset=0,r.setStyle({opacity:m}));this.setOpacity(.3),l._ignoreMove=!1,setTimeout(function(){l._animationEnd(),l.fire("spiderfied",{cluster:h,markers:e})},200)},_animationUnspiderfy:function(e){var t,i,n,r,s,o,a=this,h=this._group,l=h._map,u=h._featureGroup,_=e?l._latLngToNewLayerPoint(this._latlng,e.zoom,e.center):l.latLngToLayerPoint(this._latlng),d=this.getAllChildMarkers(null,!0),c=L.Path.SVG;for(h._ignoreMove=!0,h._animationStart(),this.setOpacity(1),i=d.length-1;i>=0;i--)t=d[i],t._preSpiderfyLatlng&&(t.closePopup(),t.setLatLng(t._preSpiderfyLatlng),delete t._preSpiderfyLatlng,o=!0,t._setPos&&(t._setPos(_),o=!1),t.clusterHide&&(t.clusterHide(),o=!1),o&&u.removeLayer(t),c&&(n=t._spiderLeg,r=n._path,s=r.getTotalLength()+.1,r.style.strokeDashoffset=s,n.setStyle({opacity:0})));h._ignoreMove=!1,setTimeout(function(){var e=0;for(i=d.length-1;i>=0;i--)t=d[i],t._spiderLeg&&e++;for(i=d.length-1;i>=0;i--)t=d[i],t._spiderLeg&&(t.clusterShow&&t.clusterShow(),t.setZIndexOffset&&t.setZIndexOffset(0),e>1&&u.removeLayer(t),l.removeLayer(t._spiderLeg),delete t._spiderLeg);h._animationEnd(),h.fire("unspiderfied",{cluster:a,markers:d})},200)}}),L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this),this._map.options.zoomAnimation&&this._map.on("zoomstart",this._unspiderfyZoomStart,this),this._map.on("zoomend",this._noanimationUnspiderfy,this),L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this),this._map.off("zoomstart",this._unspiderfyZoomStart,this),this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._map.off("zoomend",this._noanimationUnspiderfy,this),this._noanimationUnspiderfy() +},_unspiderfyZoomStart:function(){this._map&&this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(e){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy(e))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(e){this._spiderfied&&this._spiderfied.unspiderfy(e)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(e){e._spiderLeg&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow(),e.setZIndexOffset&&e.setZIndexOffset(0),this._map.removeLayer(e._spiderLeg),delete e._spiderLeg)}}),L.MarkerClusterGroup.include({refreshClusters:function(e){return e?e instanceof L.MarkerClusterGroup?e=e._topClusterLevel.getAllChildMarkers():e instanceof L.LayerGroup?e=e._layers:e instanceof L.MarkerCluster?e=e.getAllChildMarkers():e instanceof L.Marker&&(e=[e]):e=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(e),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(e),this},_flagParentsIconsNeedUpdate:function(e){var t,i;for(t in e)for(i=e[t].__parent;i;)i._iconNeedsUpdate=!0,i=i.__parent},_refreshSingleMarkerModeMarkers:function(e){var t,i;for(t in e)i=e[t],this.hasLayer(i)&&i.setIcon(this._overrideMarkerIcon(i))}}),L.Marker.include({refreshIconOptions:function(e,t){var i=this.options.icon;return L.setOptions(i,e),this.setIcon(i),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}}),e.MarkerClusterGroup=t,e.MarkerCluster=i}); +//# sourceMappingURL=leaflet.markercluster.js.map \ No newline at end of file diff --git a/sut/frontend/public/leaflet/marker_cluster/leaflet.markercluster.js.map b/sut/frontend/public/leaflet/marker_cluster/leaflet.markercluster.js.map new file mode 100644 index 0000000..a4b459c --- /dev/null +++ b/sut/frontend/public/leaflet/marker_cluster/leaflet.markercluster.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/MarkerClusterGroup.js","../src/MarkerCluster.js","../src/MarkerOpacity.js","../src/DistanceGrid.js","../src/MarkerCluster.QuickHull.js","../src/MarkerCluster.Spiderfier.js","../src/MarkerClusterGroup.Refresh.js"],"names":[],"mappings":"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","file":"dist/leaflet.markercluster.js"} \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/BouncingMotion.js b/sut/frontend/public/leaflet/smooth_bounce/BouncingMotion.js new file mode 100644 index 0000000..b57377e --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/BouncingMotion.js @@ -0,0 +1,307 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _leaflet = require("leaflet"); + +var _BouncingOptions = _interopRequireDefault(require("./BouncingOptions.js")); + +var _Cache = _interopRequireDefault(require("./Cache.js")); + +var _Styles = _interopRequireDefault(require("./Styles.js")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : {"default": obj}; +} + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, {value: value, enumerable: true, configurable: true, writable: true}); + } else { + obj[key] = value; + } + return obj; +} + +var bonceEndEvent = 'bounceend'; + +var BouncingMotion = /*#__PURE__*/function () { + // TODO: check if this cache working right (keys don't need prefix) + + /** + * Constructor. + * + * @param marker {Marker} marker + * @param position {Point} marker current position on the map canvas + * @param bouncingOptions {BouncingOptions} options of bouncing animation + */ + function BouncingMotion(marker, position, bouncingOptions) { + _classCallCheck(this, BouncingMotion); + + _defineProperty(this, "marker", void 0); + + _defineProperty(this, "position", void 0); + + _defineProperty(this, "bouncingOptions", void 0); + + _defineProperty(this, "moveSteps", void 0); + + _defineProperty(this, "moveDelays", void 0); + + _defineProperty(this, "resizeSteps", void 0); + + _defineProperty(this, "resizeDelays", void 0); + + _defineProperty(this, "isBouncing", false); + + _defineProperty(this, "iconStyles", void 0); + + _defineProperty(this, "shadowStyles", void 0); + + _defineProperty(this, "bouncingAnimationPlaying", false); + + this.marker = marker; + this.position = position; + this.updateBouncingOptions(bouncingOptions); + } + + _createClass(BouncingMotion, [{ + key: "updateBouncingOptions", + value: function updateBouncingOptions(options) { + this.bouncingOptions = options instanceof _BouncingOptions["default"] ? options : this.bouncingOptions.override(options); + var _this$bouncingOptions = this.bouncingOptions, + bounceHeight = _this$bouncingOptions.bounceHeight, + bounceSpeed = _this$bouncingOptions.bounceSpeed, + elastic = _this$bouncingOptions.elastic; + this.moveSteps = BouncingMotion.cache.get("moveSteps_".concat(bounceHeight), function () { + return BouncingMotion.calculateSteps(bounceHeight); + }); + this.moveDelays = BouncingMotion.cache.get("moveDelays_".concat(bounceHeight, "_").concat(bounceSpeed), function () { + return BouncingMotion.calculateDelays(bounceHeight, bounceSpeed); + }); + + if (elastic) { + var _this$bouncingOptions2 = this.bouncingOptions, + contractHeight = _this$bouncingOptions2.contractHeight, + contractSpeed = _this$bouncingOptions2.contractSpeed; + this.resizeSteps = BouncingMotion.cache.get("resizeSteps_".concat(contractHeight), function () { + return BouncingMotion.calculateSteps(contractHeight); + }); + this.resizeDelays = BouncingMotion.cache.get("resizeDelays_".concat(contractHeight, "_").concat(contractSpeed), function () { + return BouncingMotion.calculateDelays(contractHeight, contractSpeed); + }); + } + + this.recalculateMotion(this.position); + } + }, { + key: "resetStyles", + value: function resetStyles(marker) { + this.iconStyles = _Styles["default"].ofMarker(marker); + + if (marker._shadow) { + this.shadowStyles = _Styles["default"].parse(marker._shadow.style.cssText); + } + } + /** + * Recalculates bouncing motion for new marker position. + * @param position {Point} new marker position + */ + + }, { + key: "recalculateMotion", + value: function recalculateMotion(position) { + this.position = position; + } + /** + * @param times {number|null} + */ + + }, { + key: "bounce", + value: function bounce() { + var times = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + + if (this.bouncingAnimationPlaying) { + this.isBouncing = true; + return; + } + + this.isBouncing = true; + this.bouncingAnimationPlaying = true; + this.move(times); + } + }, { + key: "stopBouncing", + value: function stopBouncing() { + this.isBouncing = false; + } + /** + * @param times {number|null} + */ + + }, { + key: "move", + value: function move() { + var _this = this; + + var times = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + + if (times !== null) { + if (!--times) { + this.isBouncing = false; // this is the last bouncing + + this.bouncingAnimationPlaying = false; + } + } + /* Launch timeouts for every step of the movement animation */ + + + var i = this.moveSteps.length; + + while (i--) { + setTimeout(function (step) { + return _this.makeMoveStep(step); + }, this.moveDelays[i], this.moveSteps[i]); + } + + setTimeout(function () { + return _this.afterMove(times); + }, this.moveDelays[this.moveSteps.length - 1]); + } + }, { + key: "afterMove", + value: function afterMove(times) { + var _this2 = this; + + if (this.isBouncing) { + setTimeout(function () { + return _this2.move(times); + }, this.bouncingOptions.bounceSpeed); + } else { + this.bouncingAnimationPlaying = false; + this.marker.fire(bonceEndEvent); + } + } + /** + * @param step {number} + */ + + }, { + key: "makeMoveStep", + value: function makeMoveStep(step) { + this.marker._icon.style.cssText = this.iconStyles.toString(); + + if (this.marker._shadow) { + this.marker._shadow.style.cssText = this.shadowStyles.toString(); + } + } + /** + * Returns calculated array of animation steps. This function used to calculate both movement + * and resizing animations. + * + * @param height {number} height of movement or resizing (px) + * + * @return {number[]} array of animation steps + */ + + }], [{ + key: "calculateSteps", + value: function calculateSteps(height) { + /* Calculate the sequence of animation steps: + * steps = [1 .. height] concat [height-1 .. 0] + */ + var i = 1; + var steps = []; + + while (i <= height) { + steps.push(i++); + } + + i = height; + + while (i--) { + steps.push(i); + } + + return steps; + } + /** + * Returns calculated array of delays between animation start and the steps of animation. This + * function used to calculate both movement and resizing animations. Element with index i of + * this array contains the delay in milliseconds between animation start and the step number i. + * + * @param height {number} height of movement or resizing (px) + * @param speed {number} speed coefficient + * + * @return {number[]} array of delays before steps of animation + */ + + }, { + key: "calculateDelays", + value: function calculateDelays(height, speed) { + // Calculate delta time for bouncing animation + // Delta time to movement in one direction + var deltas = []; // time between steps of animation + + deltas[height] = speed; + deltas[0] = 0; + var i = height; + + while (--i) { + deltas[i] = Math.round(speed / (height - i)); + } // Delta time for movement in two directions + + + i = height; + + while (i--) { + deltas.push(deltas[i]); + } // Calculate move delays (cumulated deltas) + // TODO: instead of deltas.lenght write bounceHeight * 2 - 1 + + + var delays = []; // delays before steps from beginning of animation + + var totalDelay = 0; + + for (i = 0; i < deltas.length; i++) { + totalDelay += deltas[i]; + delays.push(totalDelay); + } + + return delays; + } + }]); + + return BouncingMotion; +}(); + +exports["default"] = BouncingMotion; + +_defineProperty(BouncingMotion, "cache", new _Cache["default"]()); \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/BouncingMotion3D.js b/sut/frontend/public/leaflet/smooth_bounce/BouncingMotion3D.js new file mode 100644 index 0000000..e3a623c --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/BouncingMotion3D.js @@ -0,0 +1,373 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _leaflet = require("leaflet"); + +var _BouncingMotion2 = _interopRequireDefault(require("./BouncingMotion.js")); + +var _Matrix3D = _interopRequireDefault(require("./Matrix3D.js")); + +var _line = require("./line.js"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : {"default": obj}; +} + +function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof(obj) { + return typeof obj; + }; + } else { + _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + return _typeof(obj); +} + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _get(target, property, receiver) { + if (typeof Reflect !== "undefined" && Reflect.get) { + _get = Reflect.get; + } else { + _get = function _get(target, property, receiver) { + var base = _superPropBase(target, property); + if (!base) return; + var desc = Object.getOwnPropertyDescriptor(base, property); + if (desc.get) { + return desc.get.call(receiver); + } + return desc.value; + }; + } + return _get(target, property, receiver || target); +} + +function _superPropBase(object, property) { + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = _getPrototypeOf(object); + if (object === null) break; + } + return object; +} + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf(subClass, superClass); +} + +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + return _setPrototypeOf(o, p); +} + +function _createSuper(Derived) { + var hasNativeReflectConstruct = _isNativeReflectConstruct(); + return function _createSuperInternal() { + var Super = _getPrototypeOf(Derived), result; + if (hasNativeReflectConstruct) { + var NewTarget = _getPrototypeOf(this).constructor; + result = Reflect.construct(Super, arguments, NewTarget); + } else { + result = Super.apply(this, arguments); + } + return _possibleConstructorReturn(this, result); + }; +} + +function _possibleConstructorReturn(self, call) { + if (call && (_typeof(call) === "object" || typeof call === "function")) { + return call; + } + return _assertThisInitialized(self); +} + +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self; +} + +function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + try { + Date.prototype.toString.call(Reflect.construct(Date, [], function () { + })); + return true; + } catch (e) { + return false; + } +} + +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, {value: value, enumerable: true, configurable: true, writable: true}); + } else { + obj[key] = value; + } + return obj; +} + +var moveMatrixFormat = _Matrix3D["default"].identity().toFormat('d1', 'd2'); + +var resizeMatrixFormat = _Matrix3D["default"].identity().toFormat('b2', 'd1', 'd2'); + +var BouncingMotion3D = /*#__PURE__*/function (_BouncingMotion) { + _inherits(BouncingMotion3D, _BouncingMotion); + + var _super = _createSuper(BouncingMotion3D); + + /** + * Constructor. + * + * @param marker {Marker} marker + * @param position {Point} marker current position on the map canvas + * @param bouncingOptions {BouncingOptions} options of bouncing animation + */ + function BouncingMotion3D(marker, position, bouncingOptions) { + var _this; + + _classCallCheck(this, BouncingMotion3D); + + _this = _super.call(this, marker, position, bouncingOptions); + + _defineProperty(_assertThisInitialized(_this), "iconMoveTransforms", void 0); + + _defineProperty(_assertThisInitialized(_this), "iconResizeTransforms", void 0); + + _defineProperty(_assertThisInitialized(_this), "shadowMoveTransforms", void 0); + + _defineProperty(_assertThisInitialized(_this), "shadowResizeTransforms", void 0); + + _this.recalculateMotion(position); + + return _this; + } + + _createClass(BouncingMotion3D, [{ + key: "recalculateMotion", + value: function recalculateMotion(position) { + var _this$marker$getIcon, _this$marker$getIcon$, _this$marker, _this$marker$_iconObj, + _this$marker$_iconObj2; + + _get(_getPrototypeOf(BouncingMotion3D.prototype), "recalculateMotion", this).call(this, position); + + var iconHeight = ((_this$marker$getIcon = this.marker.getIcon()) === null || _this$marker$getIcon === void 0 ? void 0 : (_this$marker$getIcon$ = _this$marker$getIcon.options) === null || _this$marker$getIcon$ === void 0 ? void 0 : _this$marker$getIcon$.iconSize[1]) || ((_this$marker = this.marker) === null || _this$marker === void 0 ? void 0 : (_this$marker$_iconObj = _this$marker._iconObj) === null || _this$marker$_iconObj === void 0 ? void 0 : (_this$marker$_iconObj2 = _this$marker$_iconObj.options) === null || _this$marker$_iconObj2 === void 0 ? void 0 : _this$marker$_iconObj2.iconSize[1]); + var x = position.x, + y = position.y; + var _this$bouncingOptions = this.bouncingOptions, + bounceHeight = _this$bouncingOptions.bounceHeight, + contractHeight = _this$bouncingOptions.contractHeight, + shadowAngle = _this$bouncingOptions.shadowAngle; + this.iconMoveTransforms = BouncingMotion3D.calculateIconMoveTransforms(x, y, bounceHeight); + this.iconResizeTransforms = BouncingMotion3D.calculateResizeTransforms(x, y, iconHeight, contractHeight); + + if (this.marker._shadow) { + var _this$marker$getIcon2, _this$marker$getIcon3; + + this.shadowMoveTransforms = BouncingMotion3D.calculateShadowMoveTransforms(x, y, bounceHeight, shadowAngle); + var shadowHeight = (_this$marker$getIcon2 = this.marker.getIcon()) === null || _this$marker$getIcon2 === void 0 ? void 0 : (_this$marker$getIcon3 = _this$marker$getIcon2.options) === null || _this$marker$getIcon3 === void 0 ? void 0 : _this$marker$getIcon3.shadowSize[1]; + this.shadowResizeTransforms = BouncingMotion3D.calculateResizeTransforms(x, y, shadowHeight, contractHeight); + } + } + }, { + key: "afterMove", + value: function afterMove(times) { + if (this.bouncingOptions.elastic) { + this.resize(times); + } else { + _get(_getPrototypeOf(BouncingMotion3D.prototype), "afterMove", this).call(this, times); + } + } + }, { + key: "resize", + value: function resize(times) { + var _this2 = this; + + var nbResizeSteps = this.resizeSteps.length; + var i = nbResizeSteps; + + while (i--) { + setTimeout(function (step) { + return _this2.makeResizeStep(step); + }, this.resizeDelays[i], this.resizeSteps[i]); + } + + setTimeout(function () { + if (!_this2.isBouncing) { + _this2.bouncingAnimationPlaying = false; + } + }, this.resizeDelays[this.resizeSteps.length]); + setTimeout(function () { + if (_this2.isBouncing) { + _this2.move(times); + } else { + _this2.marker.fire('bounceend'); + } + }, this.resizeDelays[nbResizeSteps - 1]); + } + }, { + key: "makeMoveStep", + value: function makeMoveStep(step) { + this.marker._icon.style.cssText = this.iconStyles.withTransform(this.iconMoveTransforms[step]).toString(); + + if (this.marker._shadow) { + this.marker._shadow.style.cssText = this.shadowStyles.withTransform(this.shadowMoveTransforms[step]).toString(); + } + } + /** + * @param step {number} + */ + + }, { + key: "makeResizeStep", + value: function makeResizeStep(step) { + this.marker._icon.style.cssText = this.iconStyles.withTransform(this.iconResizeTransforms[step]).toString(); + + if (this.marker._shadow && this.bouncingOptions.shadowAngle) { + this.marker._shadow.style.cssText = this.shadowStyles.withTransform(this.shadowResizeTransforms[step]).toString(); + } + } + /** + * Returns calculated array of transformation definitions for the animation of icon movement. + * Function defines one transform for every pixel of shift of the icon from it's original y + * position. + * + * @param x {number} x coordinate of original position of the marker + * @param y {number} y coordinate of original position of the marker + * @param bounceHeight {number} height of bouncing (px) + * + * @return {string[]} array of transformation definitions + */ + + }], [{ + key: "calculateIconMoveTransforms", + value: function calculateIconMoveTransforms(x, y, bounceHeight) { + var transforms = []; + var deltaY = bounceHeight + 1; // Use fast inverse while loop to fill the array + + while (deltaY--) { + transforms[deltaY] = moveMatrixFormat(x, y - deltaY); + } + + return transforms; + } + /** + * Returns calculated array of transformation definitions for the animation of icon resizing. + * Function defines one transform for every pixel of resizing of marker from it's original + * height. + * + * @param x {number} x coordinate of original position of marker + * @param y {number} y coordinate of original position of marker + * @param height {number} original marker height (px) + * @param contractHeight {number} height of marker contraction (px) + * + * @return {string[]} array of transformation definitions + */ + + }, { + key: "calculateResizeTransforms", + value: function calculateResizeTransforms(x, y, height, contractHeight) { + var transforms = []; + var deltaHeight = contractHeight + 1; // Use fast inverse while loop to fill the array + + while (deltaHeight--) { + transforms[deltaHeight] = resizeMatrixFormat((height - deltaHeight) / height, x, y + deltaHeight); + } + + return transforms; + } + /** + * Returns calculated array of transformation definitions for the animation of shadow movement. + * Function defines one transform for every pixel of shift of the shadow from it's original + * position. + * + * @param x {number} x coordinate of original position of marker + * @param y {number} y coordinate of original position of marker + * @param bounceHeight {number} height of bouncing (px) + * @param angle {number|null} shadow inclination angle, if null shadow don't moves from it's + * initial position (radians) + * + * @return {string[]} array of transformation definitions + */ + + }, { + key: "calculateShadowMoveTransforms", + value: function calculateShadowMoveTransforms(x, y, bounceHeight) { + var angle = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + // TODO: check this method to know if bounceHeight + 1 is normal + var transforms = []; + var deltaY = bounceHeight + 1; + var points = []; + + if (angle != null) { + // important: 0 is not null + points = (0, _line.calculateLine)(x, y, angle, bounceHeight + 1); + } else { + for (var i = 0; i <= bounceHeight; i++) { + points[i] = [x, y]; + } + } // Use fast inverse while loop to fill the array + + + while (deltaY--) { + transforms[deltaY] = moveMatrixFormat(points[deltaY][0], points[deltaY][1]); + } + + return transforms; + } + }]); + + return BouncingMotion3D; +}(_BouncingMotion2["default"]); + +exports["default"] = BouncingMotion3D; \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/BouncingMotionCss3.js b/sut/frontend/public/leaflet/smooth_bounce/BouncingMotionCss3.js new file mode 100644 index 0000000..9d2bb65 --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/BouncingMotionCss3.js @@ -0,0 +1,481 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _leaflet = require("leaflet"); + +var _line = require("./line.js"); + +require("./bouncing.css"); + +var _BouncingOptions = _interopRequireDefault(require("./BouncingOptions.js")); + +var _Styles = _interopRequireDefault(require("./Styles.js")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : {"default": obj}; +} + +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); +} + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); +} + +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + return arr2; +} + +function _iterableToArrayLimit(arr, i) { + var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; + if (_i == null) return; + var _arr = []; + var _n = true; + var _d = false; + var _s, _e; + try { + for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + return _arr; +} + +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", {writable: false}); + return Constructor; +} + +function _classPrivateFieldInitSpec(obj, privateMap, value) { + _checkPrivateRedeclaration(obj, privateMap); + privateMap.set(obj, value); +} + +function _checkPrivateRedeclaration(obj, privateCollection) { + if (privateCollection.has(obj)) { + throw new TypeError("Cannot initialize the same private elements twice on an object"); + } +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, {value: value, enumerable: true, configurable: true, writable: true}); + } else { + obj[key] = value; + } + return obj; +} + +function _classPrivateFieldGet(receiver, privateMap) { + var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); + return _classApplyDescriptorGet(receiver, descriptor); +} + +function _classApplyDescriptorGet(receiver, descriptor) { + if (descriptor.get) { + return descriptor.get.call(receiver); + } + return descriptor.value; +} + +function _classPrivateFieldSet(receiver, privateMap, value) { + var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); + _classApplyDescriptorSet(receiver, descriptor, value); + return value; +} + +function _classExtractFieldDescriptor(receiver, privateMap, action) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to " + action + " private field on non-instance"); + } + return privateMap.get(receiver); +} + +function _classApplyDescriptorSet(receiver, descriptor, value) { + if (descriptor.set) { + descriptor.set.call(receiver, value); + } else { + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + descriptor.value = value; + } +} + +var animationNamePrefix = 'l-smooth-marker-bouncing-'; +var moveAnimationName = animationNamePrefix + 'move'; +var contractAnimationName = animationNamePrefix + 'contract'; +/* + * CSS3 animation runs faster than transform-based animation. We need to reduce speed in order + * to be compatible with old API. + */ + +var speedCoefficient = 0.8; + +/** + * Removes and then resets required classes on the HTML element. + * Used as hack to restart CSS3 animation. + * + * @param element {HTMLElement} HTML element + * @param classes {string[]} names of classes + */ + +function resetClasses(element, classes) { + classes.forEach(function (className) { + return _leaflet.DomUtil.removeClass(element, className); + }); + void element.offsetWidth; + classes.forEach(function (className) { + return _leaflet.DomUtil.addClass(element, className); + }); +} + +var _lastAnimationName = /*#__PURE__*/new WeakMap(); + +var _classes = /*#__PURE__*/new WeakMap(); + +var _eventCounter = /*#__PURE__*/new WeakMap(); + +var _times = /*#__PURE__*/new WeakMap(); + +var _listener = /*#__PURE__*/new WeakMap(); + +var BouncingMotionCss3 = /*#__PURE__*/function () { + /** + * Constructor. + * + * @param marker {Marker} marker + * @param position {Point} marker current position on the map canvas + * @param bouncingOptions {BouncingOptions} options of bouncing animation + */ + function BouncingMotionCss3(marker, position, bouncingOptions) { + var _this = this; + + _classCallCheck(this, BouncingMotionCss3); + + _defineProperty(this, "marker", void 0); + + _defineProperty(this, "position", void 0); + + _defineProperty(this, "bouncingOptions", void 0); + + _defineProperty(this, "isBouncing", false); + + _defineProperty(this, "iconStyles", void 0); + + _defineProperty(this, "shadowStyles", void 0); + + _defineProperty(this, "bouncingAnimationPlaying", false); + + _classPrivateFieldInitSpec(this, _lastAnimationName, { + writable: true, + value: contractAnimationName + }); + + _classPrivateFieldInitSpec(this, _classes, { + writable: true, + value: ['bouncing'] + }); + + _classPrivateFieldInitSpec(this, _eventCounter, { + writable: true, + value: void 0 + }); + + _classPrivateFieldInitSpec(this, _times, { + writable: true, + value: void 0 + }); + + _classPrivateFieldInitSpec(this, _listener, { + writable: true, + value: function value(event) { + return _this.onAnimationEnd(event); + } + }); + + this.marker = marker; + this.position = position; + this.updateBouncingOptions(bouncingOptions); + } + + _createClass(BouncingMotionCss3, [{ + key: "updateBouncingOptions", + value: function updateBouncingOptions(options) { + this.bouncingOptions = options instanceof _BouncingOptions["default"] ? options : this.bouncingOptions.override(options); + + if (this.bouncingOptions.elastic) { + _classPrivateFieldSet(this, _lastAnimationName, contractAnimationName); + + var index = _classPrivateFieldGet(this, _classes).indexOf('simple'); + + if (index > -1) { + _classPrivateFieldGet(this, _classes).splice(index, 1); + } + + if (this.marker._icon) { + _leaflet.DomUtil.removeClass(this.marker._icon, 'simple'); + } + } else { + _classPrivateFieldSet(this, _lastAnimationName, moveAnimationName); + + _classPrivateFieldGet(this, _classes).push('simple'); + } + + if (this.marker._icon) { + this.resetStyles(this.marker); + } + } + }, { + key: "onAnimationEnd", + value: function onAnimationEnd(event) { + var _this2 = this; + + if (event.animationName === _classPrivateFieldGet(this, _lastAnimationName)) { + var _this$eventCounter, _this$eventCounter2; + + _classPrivateFieldSet(this, _eventCounter, (_this$eventCounter = _classPrivateFieldGet(this, _eventCounter), _this$eventCounter2 = _this$eventCounter++, _this$eventCounter)), _this$eventCounter2; + + _classPrivateFieldSet(this, _eventCounter, _classPrivateFieldGet(this, _eventCounter) % 2); + + if (!_classPrivateFieldGet(this, _eventCounter)) { + var _this$times; + + if (this.isBouncing && (_classPrivateFieldGet(this, _times) === null || _classPrivateFieldSet(this, _times, (_this$times = _classPrivateFieldGet(this, _times), --_this$times)))) { + resetClasses(this.marker._icon, _classPrivateFieldGet(this, _classes)); + + if (this.marker._shadow && this.bouncingOptions.shadowAngle) { + resetClasses(this.marker._shadow, _classPrivateFieldGet(this, _classes)); + } + } else { + _classPrivateFieldGet(this, _classes).forEach(function (className) { + _leaflet.DomUtil.removeClass(_this2.marker._icon, className); + + if (_this2.marker._shadow) { + _leaflet.DomUtil.removeClass(_this2.marker._shadow, className); + } + }); + + this.bouncingAnimationPlaying = false; + this.marker.fire('bounceend'); + } + } + } + } + }, { + key: "resetStyles", + value: function resetStyles(marker) { + var _this$marker$getIcon, + _this$marker$getIcon$, + _this$marker, + _this$marker$_iconObj, + _this$marker$_iconObj2, + _this3 = this; + + this.marker = marker; + this.iconStyles = _Styles["default"].ofMarker(marker); + + if (marker._shadow) { + this.shadowStyles = _Styles["default"].parse(marker._shadow.style.cssText); + } + + var iconHeight = ((_this$marker$getIcon = this.marker.getIcon()) === null || _this$marker$getIcon === void 0 ? void 0 : (_this$marker$getIcon$ = _this$marker$getIcon.options) === null || _this$marker$getIcon$ === void 0 ? void 0 : _this$marker$getIcon$.iconSize[1]) || ((_this$marker = this.marker) === null || _this$marker === void 0 ? void 0 : (_this$marker$_iconObj = _this$marker._iconObj) === null || _this$marker$_iconObj === void 0 ? void 0 : (_this$marker$_iconObj2 = _this$marker$_iconObj.options) === null || _this$marker$_iconObj2 === void 0 ? void 0 : _this$marker$_iconObj2.iconSize[1]); + var iconAnimationParams = BouncingMotionCss3.animationParams(this.position, this.bouncingOptions, iconHeight); + this.iconStyles = this.iconStyles.withStyles(iconAnimationParams); + this.marker._icon.style.cssText = this.iconStyles.toString(); + + if (this.bouncingAnimationPlaying) { + resetClasses(this.marker._icon, _classPrivateFieldGet(this, _classes)); + + this.marker._icon.addEventListener('animationend', _classPrivateFieldGet(this, _listener)); + } + + var _this$bouncingOptions = this.bouncingOptions, + bounceHeight = _this$bouncingOptions.bounceHeight, + contractHeight = _this$bouncingOptions.contractHeight, + shadowAngle = _this$bouncingOptions.shadowAngle; + + if (this.marker._shadow) { + if (shadowAngle) { + var _this$marker$getIcon2, _this$marker$getIcon3; + + var _this$position = this.position, + x = _this$position.x, + y = _this$position.y; + var points = (0, _line.calculateLine)(x, y, shadowAngle, bounceHeight + 1); + + var _points$bounceHeight = _slicedToArray(points[bounceHeight], 2), + posXJump = _points$bounceHeight[0], + posYJump = _points$bounceHeight[1]; + + var shadowHeight = (_this$marker$getIcon2 = this.marker.getIcon()) === null || _this$marker$getIcon2 === void 0 ? void 0 : (_this$marker$getIcon3 = _this$marker$getIcon2.options) === null || _this$marker$getIcon3 === void 0 ? void 0 : _this$marker$getIcon3.shadowSize[1]; + var shadowScaleContract = BouncingMotionCss3.contractScale(shadowHeight, contractHeight); + this.shadowStyles = this.shadowStyles.withStyles(iconAnimationParams).withStyles({ + '--pos-x-jump': "".concat(posXJump, "px"), + '--pos-y-jump': "".concat(posYJump, "px"), + '--scale-contract': shadowScaleContract + }); + this.marker._shadow.style.cssText = this.shadowStyles.toString(); + + if (this.bouncingAnimationPlaying) { + resetClasses(this.marker._shadow, _classPrivateFieldGet(this, _classes)); + } + } else { + _classPrivateFieldGet(this, _classes).forEach(function (className) { + _leaflet.DomUtil.removeClass(_this3.marker._shadow, className); + }); + } + } + } + }, { + key: "bounce", + value: function bounce() { + var times = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + + _classPrivateFieldSet(this, _times, times); + + this.isBouncing = true; + + if (this.bouncingAnimationPlaying) { + return; + } + + _classPrivateFieldSet(this, _eventCounter, 0); + + this.bouncingAnimationPlaying = true; + resetClasses(this.marker._icon, _classPrivateFieldGet(this, _classes)); + + if (this.marker._shadow && this.bouncingOptions.shadowAngle) { + resetClasses(this.marker._shadow, _classPrivateFieldGet(this, _classes)); + } + + this.marker._icon.addEventListener('animationend', _classPrivateFieldGet(this, _listener)); + } + }, { + key: "stopBouncing", + value: function stopBouncing() { + this.isBouncing = false; + } + /** + * Calculates parameters of CSS3 animation of bouncing. + * + * @param position {Point} marker current position on the map canvas + * @param bouncingOptions {BouncingOptions} options of bouncing animation + * @param height {number} icons height + * @return {object} CSS3 animation parameters + */ + + }], [{ + key: "animationParams", + value: function animationParams(position, bouncingOptions, height) { + var x = position.x, + y = position.y; + var bounceHeight = bouncingOptions.bounceHeight, + contractHeight = bouncingOptions.contractHeight, + bounceSpeed = bouncingOptions.bounceSpeed, + contractSpeed = bouncingOptions.contractSpeed; + var scaleContract = BouncingMotionCss3.contractScale(height, contractHeight); + var durationJump = BouncingMotionCss3.calculateDuration(bounceHeight, bounceSpeed); + var durationContract = BouncingMotionCss3.calculateDuration(contractHeight, contractSpeed); + var delays = [0, durationJump, durationJump * 2, durationJump * 2 + durationContract]; + return { + '--pos-x': "".concat(x, "px"), + '--pos-y': "".concat(y, "px"), + '--pos-y-jump': "".concat(y - bounceHeight, "px"), + '--pos-y-contract': "".concat(y + contractHeight, "px"), + '--scale-contract': scaleContract, + '--duration-jump': "".concat(durationJump, "ms"), + '--duration-contract': "".concat(durationContract, "ms"), + '--delays': "0ms, ".concat(delays[1], "ms, ").concat(delays[2], "ms, ").concat(delays[3], "ms") + }; + } + /** + * Calculates scale of contracting. + * + * @param {number} height original height + * @param {number} contractHeight how much it must contract + * @return {number} contracting scale between 0 and 1 + */ + + }, { + key: "contractScale", + value: function contractScale(height, contractHeight) { + return (height - contractHeight) / height; + } + /** + * Calculates duration of animation. + * + * @param height {number} height of movement or resizing (px) + * @param speed {number} speed coefficient + * + * @return {number} duration of animation (ms) + */ + + }, { + key: "calculateDuration", + value: function calculateDuration(height, speed) { + var duration = Math.round(speed * speedCoefficient); + var i = height; + + while (--i) { + duration += Math.round(speed / (height - i)); + } + + return duration; + } + }]); + + return BouncingMotionCss3; +}(); + +exports["default"] = BouncingMotionCss3; \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/BouncingMotionSimple.js b/sut/frontend/public/leaflet/smooth_bounce/BouncingMotionSimple.js new file mode 100644 index 0000000..c4ee740 --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/BouncingMotionSimple.js @@ -0,0 +1,267 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _BouncingMotion2 = _interopRequireDefault(require("./BouncingMotion.js")); + +var _line = require("./line.js"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : {"default": obj}; +} + +function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof(obj) { + return typeof obj; + }; + } else { + _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + return _typeof(obj); +} + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _get(target, property, receiver) { + if (typeof Reflect !== "undefined" && Reflect.get) { + _get = Reflect.get; + } else { + _get = function _get(target, property, receiver) { + var base = _superPropBase(target, property); + if (!base) return; + var desc = Object.getOwnPropertyDescriptor(base, property); + if (desc.get) { + return desc.get.call(receiver); + } + return desc.value; + }; + } + return _get(target, property, receiver || target); +} + +function _superPropBase(object, property) { + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = _getPrototypeOf(object); + if (object === null) break; + } + return object; +} + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf(subClass, superClass); +} + +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + return _setPrototypeOf(o, p); +} + +function _createSuper(Derived) { + var hasNativeReflectConstruct = _isNativeReflectConstruct(); + return function _createSuperInternal() { + var Super = _getPrototypeOf(Derived), result; + if (hasNativeReflectConstruct) { + var NewTarget = _getPrototypeOf(this).constructor; + result = Reflect.construct(Super, arguments, NewTarget); + } else { + result = Super.apply(this, arguments); + } + return _possibleConstructorReturn(this, result); + }; +} + +function _possibleConstructorReturn(self, call) { + if (call && (_typeof(call) === "object" || typeof call === "function")) { + return call; + } + return _assertThisInitialized(self); +} + +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self; +} + +function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + try { + Date.prototype.toString.call(Reflect.construct(Date, [], function () { + })); + return true; + } catch (e) { + return false; + } +} + +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, {value: value, enumerable: true, configurable: true, writable: true}); + } else { + obj[key] = value; + } + return obj; +} + +var BouncingMotionSimple = /*#__PURE__*/function (_BouncingMotion) { + _inherits(BouncingMotionSimple, _BouncingMotion); + + var _super = _createSuper(BouncingMotionSimple); + + /** + * Constructor. + * + * @param marker {Marker} marker + * @param position {Point} marker current position on the map canvas + * @param bouncingOptions {BouncingOptions} options of bouncing animation + */ + function BouncingMotionSimple(marker, position, bouncingOptions) { + var _this; + + _classCallCheck(this, BouncingMotionSimple); + + _this = _super.call(this, marker, position, bouncingOptions); + + _defineProperty(_assertThisInitialized(_this), "iconMovePoints", void 0); + + _defineProperty(_assertThisInitialized(_this), "shadowMovePoints", void 0); + + _this.recalculateMotion(position); + + return _this; + } + + _createClass(BouncingMotionSimple, [{ + key: "recalculateMotion", + value: function recalculateMotion(position) { + _get(_getPrototypeOf(BouncingMotionSimple.prototype), "recalculateMotion", this).call(this, position); + + var x = position.x, + y = position.y; + var _this$bouncingOptions = this.bouncingOptions, + bounceHeight = _this$bouncingOptions.bounceHeight, + shadowAngle = _this$bouncingOptions.shadowAngle; + this.iconMovePoints = BouncingMotionSimple.calculateIconMovePoints(x, y, bounceHeight); + this.shadowMovePoints = BouncingMotionSimple.calculateShadowMovePoints(x, y, bounceHeight, shadowAngle); + } + }, { + key: "makeMoveStep", + value: function makeMoveStep(step) { + _get(_getPrototypeOf(BouncingMotionSimple.prototype), "makeMoveStep", this).call(this, step); + + this.marker._icon.style.left = this.iconMovePoints[step][0] + 'px'; + this.marker._icon.style.top = this.iconMovePoints[step][1] + 'px'; + + if (this.marker._shadow) { + this.marker._shadow.style.left = this.shadowMovePoints[step][0] + 'px'; + this.marker._shadow.style.top = this.shadowMovePoints[step][1] + 'px'; + } + } + /** + * Returns calculated array of points for icon movement. Used to animate markers in browsers + * that doesn't support 'transform' attribute. + * + * @param x {number} x coordinate of original position of the marker + * @param y {number} y coordinate of original position of the marker + * @param bounceHeight {number} height of bouncing (px) + * + * @return {[number, number][]} array of points + */ + + }], [{ + key: "calculateIconMovePoints", + value: function calculateIconMovePoints(x, y, bounceHeight) { + var deltaHeight = bounceHeight + 1; + var points = []; // Use fast inverse while loop to fill the array + + while (deltaHeight--) { + points[deltaHeight] = [x, y - deltaHeight]; + } + + return points; + } + /** + * Returns calculated array of points for shadow movement. Used to animate markers in browsers + * that doesn't support 'transform' attribute. + * + * @param x {number} x coordinate of original position of the marker + * @param y {number} y coordinate of original position of the marker + * @param bounceHeight {number} height of bouncing (px) + * @param angle {number} shadow inclination angle, if null shadow don't moves from it's initial + * position (radians) + * + * @return {[number, number][]} array of points + */ + + }, { + key: "calculateShadowMovePoints", + value: function calculateShadowMovePoints(x, y, bounceHeight, angle) { + if (angle != null) { + // important: 0 is not null + return (0, _line.calculateLine)(x, y, angle, bounceHeight + 1); + } else { + var points = []; + + for (var i = 0; i <= bounceHeight; i++) { + points[i] = [x, y]; + } + + return points; + } + } + }]); + + return BouncingMotionSimple; +}(_BouncingMotion2["default"]); + +exports["default"] = BouncingMotionSimple; \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/BouncingOptions.js b/sut/frontend/public/leaflet/smooth_bounce/BouncingOptions.js new file mode 100644 index 0000000..6a377a0 --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/BouncingOptions.js @@ -0,0 +1,105 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", {writable: false}); + return Constructor; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, {value: value, enumerable: true, configurable: true, writable: true}); + } else { + obj[key] = value; + } + return obj; +} + +var BouncingOptions = /*#__PURE__*/function () { + /** + * How high marker can bounce (px) + * @type {number} + */ + + /** + * How much marker can contract (px) + * @type {number} + */ + + /** + * Bouncing speed coefficient + * @type {number} + */ + + /** + * Contracting speed coefficient + * @type {number} + */ + + /** + * Shadow inclination angle(radians); null to cancel shadow movement + * @type {number} + */ + + /** + * Activate contract animation + * @type {boolean} + */ + + /** + * Many markers can bounce in the same time + * @type {boolean} + */ + function BouncingOptions(options) { + _classCallCheck(this, BouncingOptions); + + _defineProperty(this, "bounceHeight", 15); + + _defineProperty(this, "contractHeight", 12); + + _defineProperty(this, "bounceSpeed", 52); + + _defineProperty(this, "contractSpeed", 52); + + _defineProperty(this, "shadowAngle", -Math.PI / 4); + + _defineProperty(this, "elastic", true); + + _defineProperty(this, "exclusive", false); + + options && Object.assign(this, options); + } + + _createClass(BouncingOptions, [{ + key: "override", + value: function override(options) { + return Object.assign(new BouncingOptions(this), options); + } + }]); + + return BouncingOptions; +}(); + +exports["default"] = BouncingOptions; \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/Cache.js b/sut/frontend/public/leaflet/smooth_bounce/Cache.js new file mode 100644 index 0000000..c1361be --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/Cache.js @@ -0,0 +1,65 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, {value: value, enumerable: true, configurable: true, writable: true}); + } else { + obj[key] = value; + } + return obj; +} + +var Cache = /*#__PURE__*/function () { + function Cache() { + _classCallCheck(this, Cache); + + _defineProperty(this, "cache", {}); + } + + _createClass(Cache, [{ + key: "get", + + /** + * If item with supplied {@code key} is present in cache, returns it, otherwise executes + * {@code supplier} function and caches the result. + * + * @param key {String} key of the cache + * @param supplier {function} item supplier + * @return {Object} item + */ + value: function get(key, supplier) { + return this.cache[key] || (this.cache[key] = supplier.apply()); + } + }]); + + return Cache; +}(); + +exports["default"] = Cache; \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/MarkerPrototypeExt.js b/sut/frontend/public/leaflet/smooth_bounce/MarkerPrototypeExt.js new file mode 100644 index 0000000..a0e80ad --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/MarkerPrototypeExt.js @@ -0,0 +1,121 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _leaflet = require("leaflet"); + +var _BouncingOptions = _interopRequireDefault(require("./BouncingOptions.js")); + +var _Orchestration = _interopRequireDefault(require("./Orchestration.js")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : {"default": obj}; +} + +var oldSetPos = _leaflet.Marker.prototype._setPos; +var oldOnAdd = _leaflet.Marker.prototype.onAdd; +var oldSetIcon = _leaflet.Marker.prototype.setIcon; +var _default = { + /** Bouncing options shared by all markers. */ + _bouncingOptions: new _BouncingOptions["default"](), + _orchestration: new _Orchestration["default"](), + + /** + * Registers options of bouncing animation for this marker. After registration of options for + * this marker, it will ignore changes of default options. Function automatically recalculates + * animation steps and delays. + * + * @param options {BouncingOptions|object} options object + * @return {Marker} this marker + */ + setBouncingOptions: function setBouncingOptions(options) { + this._bouncingMotion.updateBouncingOptions(options); + + return this; + }, + + /** + * Returns true if this marker is bouncing. If this marker is not bouncing returns false. + * @return {boolean} true if marker is bouncing, false if not + */ + isBouncing: function isBouncing() { + return this._bouncingMotion.isBouncing; + }, + + /** + * Starts bouncing of this marker. + * @param times {number|null} number of times the marker must to bounce + * @return {Marker} this marker + */ + bounce: function bounce() { + var times = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + + this._bouncingMotion.bounce(times); + + var exclusive = this._bouncingMotion.bouncingOptions.exclusive; + + _leaflet.Marker.prototype._orchestration.addBouncingMarker(this, exclusive); + + return this; + }, + + /** + * Stops bouncing of this marker. + * Note: the bouncing not stops immediately after the call of this method. + * Instead, the animation is executed until marker returns to it's original position and takes + * it's full size. + * + * @return {Marker} this marker + */ + stopBouncing: function stopBouncing() { + this._bouncingMotion.stopBouncing(); + + _leaflet.Marker.prototype._orchestration.removeBouncingMarker(this); + + return this; + }, + + /** + * Starts/stops bouncing of this marker. + * @return {Marker} marker + */ + toggleBouncing: function toggleBouncing() { + if (this._bouncingMotion.isBouncing) { + this.stopBouncing(); + } else { + this.bounce(); + } + + return this; + }, + isRealMarker: function isRealMarker() { + return this.__proto__ === _leaflet.Marker.prototype; + }, + _setPos: function _setPos(position) { + oldSetPos.call(this, position); + + if (this.isRealMarker()) { + this._bouncingMotion.position = position; + + this._bouncingMotion.resetStyles(this); + } + }, + onAdd: function onAdd(map) { + oldOnAdd.call(this, map); + + if (this.isRealMarker()) { + this._bouncingMotion.resetStyles(this); + } + }, + setIcon: function setIcon(icon) { + oldSetIcon.call(this, icon); + + if (this.isRealMarker() && this._icon) { + this._bouncingMotion.resetStyles(this); + } + } +}; +exports["default"] = _default; \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/Matrix3D.js b/sut/frontend/public/leaflet/smooth_bounce/Matrix3D.js new file mode 100644 index 0000000..c06f222 --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/Matrix3D.js @@ -0,0 +1,166 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); +} + +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); +} + +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); +} + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray(arr); +} + +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + return arr2; +} + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _classPrivateFieldGet(receiver, privateMap) { + var descriptor = privateMap.get(receiver); + if (!descriptor) { + throw new TypeError("attempted to get private field on non-instance"); + } + if (descriptor.get) { + return descriptor.get.call(receiver); + } + return descriptor.value; +} + +function _classPrivateFieldSet(receiver, privateMap, value) { + var descriptor = privateMap.get(receiver); + if (!descriptor) { + throw new TypeError("attempted to set private field on non-instance"); + } + if (descriptor.set) { + descriptor.set.call(receiver, value); + } else { + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + descriptor.value = value; + } + return value; +} + +var rowMap = { + 'a': 0, + 'b': 1, + 'c': 2, + 'd': 3 +}; +var zeros = Array(16).fill(0); +var _identity = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; +/** + * @see https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix3d + */ + +var _matrix = new WeakMap(); + +var Matrix3D = /*#__PURE__*/function () { + function Matrix3D() { + var matrix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : zeros; + + _classCallCheck(this, Matrix3D); + + _matrix.set(this, { + writable: true, + value: void 0 + }); + + _classPrivateFieldSet(this, _matrix, _toConsumableArray(matrix)); + } + + _createClass(Matrix3D, [{ + key: "toFormat", + value: function toFormat() { + for (var _len = arguments.length, placeholders = new Array(_len), _key = 0; _key < _len; _key++) { + placeholders[_key] = arguments[_key]; + } + + placeholders = placeholders.map(Matrix3D.valueNameToIndex); + var nextPlaceholderIndex = 0; + + var fnBody = _classPrivateFieldGet(this, _matrix).map(function (value, index) { + return index === placeholders[nextPlaceholderIndex] ? "'+arguments[".concat(nextPlaceholderIndex++, "]+'") : value; + }).join(','); + + fnBody = "return ' matrix3d(".concat(fnBody, ") ';"); + + function formatFn() { + return Function.apply(this, [fnBody]); + } + + formatFn.prototype = Function.prototype; + return new formatFn(); + } + }, { + key: "toString", + value: function toString() { + return " matrix3d(".concat(_classPrivateFieldGet(this, _matrix).join(','), ") "); + } + }], [{ + key: "zeros", + value: function zeros() { + return new Matrix3D(); + } + }, { + key: "identity", + value: function identity() { + return new Matrix3D(_identity); + } + }, { + key: "valueNameToIndex", + value: function valueNameToIndex(valueName) { + return rowMap[valueName[0]] * 4 + parseInt(valueName[1]) - 1; + } + }]); + + return Matrix3D; +}(); + +exports["default"] = Matrix3D; \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/Orchestration.js b/sut/frontend/public/leaflet/smooth_bounce/Orchestration.js new file mode 100644 index 0000000..b9316da --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/Orchestration.js @@ -0,0 +1,147 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _leaflet = require("leaflet"); + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", {writable: false}); + return Constructor; +} + +function _classPrivateFieldInitSpec(obj, privateMap, value) { + _checkPrivateRedeclaration(obj, privateMap); + privateMap.set(obj, value); +} + +function _checkPrivateRedeclaration(obj, privateCollection) { + if (privateCollection.has(obj)) { + throw new TypeError("Cannot initialize the same private elements twice on an object"); + } +} + +function _classPrivateFieldGet(receiver, privateMap) { + var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); + return _classApplyDescriptorGet(receiver, descriptor); +} + +function _classExtractFieldDescriptor(receiver, privateMap, action) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to " + action + " private field on non-instance"); + } + return privateMap.get(receiver); +} + +function _classApplyDescriptorGet(receiver, descriptor) { + if (descriptor.get) { + return descriptor.get.call(receiver); + } + return descriptor.value; +} + +var _bouncingMarkers = /*#__PURE__*/new WeakMap(); + +var Orchestration = /*#__PURE__*/function () { + function Orchestration() { + _classCallCheck(this, Orchestration); + + _classPrivateFieldInitSpec(this, _bouncingMarkers, { + writable: true, + value: [] + }); + } + + _createClass(Orchestration, [{ + key: "getBouncingMarkers", + value: function getBouncingMarkers() { + return _classPrivateFieldGet(this, _bouncingMarkers); + } + /** + * Adds the marker to the list of bouncing markers. + * If flag 'exclusive' is set to true, stops all bouncing markers before. + * + * @param marker {Marker} marker object + * @param exclusive {boolean} flag of exclusive bouncing. If set to true, stops the bouncing + * of all other markers. + */ + + }, { + key: "addBouncingMarker", + value: function addBouncingMarker(marker, exclusive) { + if (exclusive || marker._bouncingMotion.bouncingOptions.exclusive) { + this.stopAllBouncingMarkers(); + } else { + this.stopExclusiveMarkerBouncing(); + } + + _classPrivateFieldGet(this, _bouncingMarkers).push(marker); + } + /** + * Stops the bouncing of exclusive marker. + */ + + }, { + key: "stopExclusiveMarkerBouncing", + value: function stopExclusiveMarkerBouncing() { + var exclusiveMarker = _classPrivateFieldGet(this, _bouncingMarkers).find(function (marker) { + return marker._bouncingMotion.bouncingOptions.exclusive; + }); + + if (exclusiveMarker) { + exclusiveMarker.stopBouncing(); + } + } + /** + * Removes the marker from the list of bouncing markers. + * @param marker {Marker} marker + */ + + }, { + key: "removeBouncingMarker", + value: function removeBouncingMarker(marker) { + var i = _classPrivateFieldGet(this, _bouncingMarkers).indexOf(marker); + + if (~i) { + _classPrivateFieldGet(this, _bouncingMarkers).splice(i, 1); + } + } + /** + * Stops the bouncing of all currently bouncing markers. Purge the array of bouncing markers. + */ + + }, { + key: "stopAllBouncingMarkers", + value: function stopAllBouncingMarkers() { + var marker; + + while (marker = _classPrivateFieldGet(this, _bouncingMarkers).shift()) { + marker.stopBouncing(); + } + } + }]); + + return Orchestration; +}(); + +exports["default"] = Orchestration; \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/SmoothMarkerBouncing.js b/sut/frontend/public/leaflet/smooth_bounce/SmoothMarkerBouncing.js new file mode 100644 index 0000000..5905b86 --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/SmoothMarkerBouncing.js @@ -0,0 +1,96 @@ +"use strict"; + +function _typeof(obj) { + "@babel/helpers - typeof"; + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }, _typeof(obj); +} + +var _leaflet = _interopRequireWildcard(require("leaflet")); + +var _BouncingOptions = _interopRequireDefault(require("./BouncingOptions.js")); + +var _MarkerPrototypeExt = _interopRequireDefault(require("./MarkerPrototypeExt.js")); + +var _BouncingMotionCss = _interopRequireDefault(require("./BouncingMotionCss3.js")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : {"default": obj}; +} + +function _getRequireWildcardCache(nodeInterop) { + if (typeof WeakMap !== "function") return null; + var cacheBabelInterop = new WeakMap(); + var cacheNodeInterop = new WeakMap(); + return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { + return nodeInterop ? cacheNodeInterop : cacheBabelInterop; + })(nodeInterop); +} + +function _interopRequireWildcard(obj, nodeInterop) { + if (!nodeInterop && obj && obj.__esModule) { + return obj; + } + if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { + return {"default": obj}; + } + var cache = _getRequireWildcardCache(nodeInterop); + if (cache && cache.has(obj)) { + return cache.get(obj); + } + var newObj = {}; + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + for (var key in obj) { + if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + newObj["default"] = obj; + if (cache) { + cache.set(obj, newObj); + } + return newObj; +} + +_leaflet["default"].Marker.include(_MarkerPrototypeExt["default"]); +/** + * Registers default options of bouncing animation. + * @param options {BouncingOptions|object} object with options + */ + + +_leaflet["default"].Marker.setBouncingOptions = function (options) { + _leaflet.Marker.prototype._bouncingOptions = options instanceof _BouncingOptions["default"] ? options : new _BouncingOptions["default"](options); +}; +/** + * Returns array of currently bouncing markers. + * @return {Marker[]} array of bouncing markers + */ + + +_leaflet["default"].Marker.getBouncingMarkers = function () { + _leaflet.Marker.prototype._orchestration.getBouncingMarkers(); +}; +/** + * Stops the bouncing of all currently bouncing markers. Purge the array of bouncing markers. + */ + + +_leaflet["default"].Marker.stopAllBouncingMarkers = function () { + _leaflet.Marker.prototype._orchestration.stopAllBouncingMarkers(); +}; + +_leaflet["default"].Marker.addInitHook(function () { + if (this.isRealMarker()) { + var bouncingOptions = new _BouncingOptions["default"](_leaflet.Marker.prototype._bouncingOptions); + this._bouncingMotion = new _BouncingMotionCss["default"](this, new _leaflet.Point(0, 0), bouncingOptions); + } +}); \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/Styles.js b/sut/frontend/public/leaflet/smooth_bounce/Styles.js new file mode 100644 index 0000000..3b9d710 --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/Styles.js @@ -0,0 +1,106 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", {writable: false}); + return Constructor; +} + +/** Regex to parse style definitions. */ +var regStyle = /([\w-]+): ([^;]+);/g; + +var Styles = /*#__PURE__*/function () { + function Styles(styles) { + _classCallCheck(this, Styles); + + styles && Object.assign(this, styles); + } + + _createClass(Styles, [{ + key: "findOpacity", + value: function findOpacity(options) { + this.opacity = (options === null || options === void 0 ? void 0 : options.opacityWhenUnclustered // used by cluster plugin + ) || (options === null || options === void 0 ? void 0 : options.opacity) || 1; + } + /** + * Creates a copy of styles merged with provided 'styles'. + * @param {Object} styles object with styles to merge + * @return {Styles} copy of styles + */ + + }, { + key: "withStyles", + value: function withStyles(styles) { + var copy = new Styles(this); + copy && Object.assign(copy, styles); + return copy; + } + }, { + key: "toString", + value: function toString() { + return Object.entries(this).map(function (entry) { + return "".concat(entry[0], ": ").concat(entry[1], ";"); + }).join(' '); + } + /** + * Parses cssText attribute into Styles object. + * @param cssText {string} cssText string + * @return {Styles} Styles object + */ + + }], [{ + key: "parse", + value: function parse(cssText) { + var styles = {}; + var match = regStyle.exec(cssText); + + while (match) { + styles[match[1]] = match[2]; + match = regStyle.exec(cssText); + } + + delete styles['z-index']; + delete styles['opacity']; + styles['outline'] = 'none'; + return new Styles(styles); + } + /** + * @param marker {Marker} + */ + + }, { + key: "ofMarker", + value: function ofMarker(marker) { + var styles = Styles.parse(marker._icon.style.cssText); + styles.findOpacity(marker.options); + styles['z-index'] = marker._zIndex; + return styles; + } + }]); + + return Styles; +}(); + +exports["default"] = Styles; \ No newline at end of file diff --git a/sut/frontend/public/leaflet/smooth_bounce/bundle.min.js b/sut/frontend/public/leaflet/smooth_bounce/bundle.min.js new file mode 100644 index 0000000..1395c41 --- /dev/null +++ b/sut/frontend/public/leaflet/smooth_bounce/bundle.min.js @@ -0,0 +1 @@ +!function(M){"use strict";function n(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var t=n(M);function o(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function e(n,t){for(var i=0;in.length)&&(t=n.length);for(var i=0,e=new Array(t);i dy ? dx : -dy) / 2, + e2, + p = [], + i = 0; + + while (true) { + p.push([x, y]); + i++; + if (i === length) break; + e2 = err; + + if (e2 > -dx) { + err -= dy; + x += sx; + } + + if (e2 < dy) { + err += dx; + y += sy; + } + } + + return p; +} \ No newline at end of file diff --git a/sut/frontend/public/logo.png b/sut/frontend/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1e407d58c0ac62147de344c7c6acab9bed2b398c GIT binary patch literal 474442 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 rIrBbio<-@% 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

2D2%@;ZBGx81A{hu!0H;ra0QB^afhv5T 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

~#r%2JxPM>?wf)a=hp&I7Q6> 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 z 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 z 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�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À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
    LM{2oEPWhXc_O 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 FV1i$u<8%N3 literal 0 HcmV?d00001 diff --git a/sut/frontend/public/logo_background.png b/sut/frontend/public/logo_background.png new file mode 100644 index 0000000000000000000000000000000000000000..6a99a33b49b383c61a459346f38d49466f4dec7c GIT binary patch literal 1436200 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�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 z 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 z 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 z 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 z

    =g_dLgQ>#j-ij*!kxip5RJlC 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�s+(P3rxb_ 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