From e66ee78edd305867ca6c8c2ef1e63a87edbccfd8 Mon Sep 17 00:00:00 2001 From: Davor Runje Date: Fri, 19 Jul 2024 14:33:56 +0000 Subject: [PATCH] sync with wasp 0.14 version from studio --- .devcontainer/python-3.10/devcontainer.json | 4 +- .devcontainer/python-3.10/docker-compose.yml | 30 +- .devcontainer/python-3.11/devcontainer.json | 4 +- .devcontainer/python-3.11/docker-compose.yml | 30 +- .devcontainer/python-3.12/devcontainer.json | 4 +- .devcontainer/python-3.12/docker-compose.yml | 30 +- .devcontainer/python-3.9/devcontainer.json | 4 +- .devcontainer/python-3.9/docker-compose.yml | 30 +- .devcontainer/setup.sh | 5 +- .github/ISSUE_TEMPLATE/bug_report.md | 37 + .github/ISSUE_TEMPLATE/config.yml | 8 + .github/ISSUE_TEMPLATE/feature_request.md | 29 + .github/PULL_REQUEST_TEMPLATE.md | 26 + .github/dependabot.yml | 22 + .../workflows/check-broken-links-in-docs.yaml | 19 + .github/workflows/check-certs-expiry.yml | 62 + .github/workflows/codeql.yml | 83 + .github/workflows/dependency-review.yaml | 21 + .github/workflows/deploy-docs.yaml | 43 + .github/workflows/deploy-nats.yaml | 82 + .github/workflows/deploy.yaml | 338 + .github/workflows/docker-cleanup.yml | 41 + .github/workflows/enforcer.yaml | 15 + .github/workflows/maintenance-mode-switch.yml | 68 + .github/workflows/pipeline.yaml | 263 + .github/workflows/publish-coverage.yml | 39 + .github/workflows/test.yaml | 140 + .github/workflows/update-cron-script.yml | 69 + .github/workflows/update-release-notes.yaml | 67 + app/.gitattributes | 2 + app/.gitignore | 14 + app/.prettierrc | 9 + app/.waspignore | 3 + app/.wasproot | 1 + app/main.wasp | 385 + .../migration.sql | 172 + .../migration.sql | 32 + .../migration.sql | 4 + .../migration.sql | 2 + .../migration.sql | 2 + .../migration.sql | 50 + .../migration.sql | 2 + .../migration.sql | 2 + .../migration.sql | 16 + .../migration.sql | 2 + app/migrations/migration_lock.toml | 3 + app/package-lock.json | 13434 ++++++++++++++++ app/package.json | 43 + app/postcss.config.cjs | 6 + app/pretend_nats_client.ts | 58 + app/public/.gitkeep | 0 app/public/favicon.ico | Bin 0 -> 243998 bytes app/public/fonts/Panton-SemiBold.woff | Bin 0 -> 45248 bytes app/public/fonts/Roboto-Light.ttf | Bin 0 -> 167000 bytes app/public/fonts/Roboto-Regular.ttf | Bin 0 -> 168260 bytes app/public/fonts/RobotoMono-Regular.ttf | Bin 0 -> 86908 bytes app/public/fonts/Rubik-Medium.ttf | Bin 0 -> 116056 bytes app/public/public-banner.png | Bin 0 -> 22720 bytes app/schema.prisma | 99 + app/src/client/App.tsx | 179 + app/src/client/Main.css | 448 + app/src/client/admin/common/Loader/index.tsx | 9 + app/src/client/admin/common/types.ts | 3 + app/src/client/admin/components/BarChart.tsx | 146 + .../client/admin/components/Breadcrumb.tsx | 24 + .../client/admin/components/CheckboxOne.tsx | 39 + .../client/admin/components/CheckboxTwo.tsx | 48 + .../admin/components/DarkModeSwitcher.tsx | 58 + app/src/client/admin/components/DataStats.tsx | 102 + .../admin/components/DropdownEditDelete.tsx | 117 + app/src/client/admin/components/Header.tsx | 96 + .../client/admin/components/MessageButton.tsx | 45 + app/src/client/admin/components/PieChart.tsx | 150 + .../components/RevenueAndProfitChart.tsx | 242 + app/src/client/admin/components/Sidebar.tsx | 527 + .../admin/components/SidebarLinkGroup.tsx | 21 + .../client/admin/components/SourcesTable.tsx | 47 + .../client/admin/components/SwitcherOne.tsx | 33 + .../client/admin/components/SwitcherTwo.tsx | 66 + .../admin/components/TotalPaidViewsCard.tsx | 55 + .../admin/components/TotalPayingUsersCard.tsx | 53 + .../admin/components/TotalRevenueCard.tsx | 62 + .../admin/components/TotalSignupsCard.tsx | 57 + .../client/admin/components/UsersTable.tsx | 234 + .../admin/images/icon/icon-arrow-down.svg | 6 + .../admin/images/icon/icon-calendar.svg | 6 + .../admin/images/icon/icon-copy-alt.svg | 6 + .../client/admin/images/icon/icon-moon.svg | 10 + app/src/client/admin/images/icon/icon-sun.svg | 10 + .../client/admin/images/icon/icons-arrows.tsx | 35 + app/src/client/admin/layout/DefaultLayout.tsx | 41 + app/src/client/admin/pages/Calendar.tsx | 274 + app/src/client/admin/pages/Chart.tsx | 23 + app/src/client/admin/pages/DashboardPage.tsx | 43 + .../client/admin/pages/Form/FormElements.tsx | 343 + .../client/admin/pages/Form/FormLayout.tsx | 258 + app/src/client/admin/pages/Messages.tsx | 10 + app/src/client/admin/pages/Settings.tsx | 325 + .../client/admin/pages/UiElements/Alerts.tsx | 99 + .../client/admin/pages/UiElements/Buttons.tsx | 471 + app/src/client/admin/pages/Users.tsx | 16 + app/src/client/app/AccountPage.tsx | 108 + app/src/client/app/BuildPage.tsx | 192 + app/src/client/app/CheckoutPage.tsx | 54 + app/src/client/app/ExamplesPage.tsx | 36 + app/src/client/app/PlayGroundPage.tsx | 217 + app/src/client/app/PricingPage.tsx | 167 + app/src/client/app/PrivacyPage.tsx | 378 + app/src/client/app/TocPage.tsx | 197 + app/src/client/app/TutorialPage.tsx | 98 + app/src/client/app/layout/ChatLayout.tsx | 96 + .../app/layout/CustomAuthRequiredLayout.tsx | 25 + app/src/client/app/utils/formHelpers.ts | 19 + app/src/client/auth/Auth.tsx | 110 + app/src/client/auth/LoginPage.tsx | 41 + app/src/client/auth/LoginSignupForm.tsx | 181 + app/src/client/auth/SignupPage.tsx | 11 + app/src/client/auth/authWrapper.tsx | 13 + app/src/client/auth/configs/config.ts | 11 + .../client/auth/configs/stitches.config.js | 30 + .../components/AgentConversationHistory.tsx | 50 + .../components/AnimatedCharacterLoader.tsx | 72 + app/src/client/components/AppNavBar.tsx | 140 + .../client/components/AutoScrollContainer.tsx | 57 + app/src/client/components/Button.tsx | 20 + app/src/client/components/ChatForm.tsx | 141 + app/src/client/components/ChatSidebar.tsx | 216 + .../client/components/ConversationList.tsx | 184 + .../client/components/CustomBreadcrumb.tsx | 24 + app/src/client/components/CustomSidebar.tsx | 337 + app/src/client/components/DropdownUser.tsx | 83 + .../client/components/DynamicFormBuilder.tsx | 99 + .../client/components/EditableChatName.tsx | 90 + app/src/client/components/Footer.tsx | 66 + app/src/client/components/FreeTrialButton.tsx | 49 + .../components/LetterByLetterDisplay.tsx | 36 + .../client/components/LoadingComponent.tsx | 50 + .../MarketingEmailPreferenceSwitcher.tsx | 80 + app/src/client/components/ModelForm.tsx | 70 + .../client/components/ModelFormContainer.tsx | 49 + app/src/client/components/ModelItem.tsx | 67 + app/src/client/components/ModelsList.tsx | 32 + app/src/client/components/NotificationBox.tsx | 37 + .../client/components/RetryConversation.tsx | 49 + .../client/components/SelectTeamToChat.tsx | 137 + .../components/ServerNotRechableComponent.tsx | 19 + .../client/components/SocialMediaIcons.tsx | 24 + app/src/client/components/TerminalDisplay.tsx | 115 + .../components/TosAndMarketingEmails.tsx | 72 + .../components/TosAndMarketingEmailsModal.tsx | 93 + .../client/components/UserActionButton.tsx | 41 + app/src/client/components/UserMenuItems.tsx | 100 + .../buildPage/UserPropertyHandler.tsx | 203 + .../client/components/form/DynamicForm.tsx | 138 + .../client/components/form/SelectInput.tsx | 100 + app/src/client/components/form/TextArea.tsx | 18 + app/src/client/components/form/TextInput.tsx | 20 + app/src/client/hooks/useBuildPage.ts | 31 + app/src/client/hooks/useColorMode.tsx | 17 + .../client/hooks/useDeploymentInstructions.ts | 23 + app/src/client/hooks/useEscapeKeyHandler.ts | 12 + app/src/client/hooks/useForm.ts | 68 + app/src/client/hooks/useFormSubmission.ts | 88 + app/src/client/hooks/useLocalStorage.tsx | 43 + .../hooks/usePropertyReferenceValues.ts | 60 + .../client/interfaces/BuildPageInterfaces.ts | 66 + .../interfaces/DynamicFormBuilderInterface.ts | 13 + .../interfaces/PlaygroundPageInterface.ts | 3 + app/src/client/landing-page/LandingPage.tsx | 240 + .../client/landing-page/contentSections.ts | 85 + app/src/client/services/commonService.ts | 10 + app/src/client/services/modelService.ts | 12 + app/src/client/static/avatar-placeholder.png | Bin 0 -> 9433 bytes app/src/client/static/da-boi.png | Bin 0 -> 182323 bytes app/src/client/static/logo.svg | 11 + app/src/client/static/open-saas-banner.png | Bin 0 -> 198194 bytes app/src/client/static/robot-footer.svg | 76 + .../tests/AgentConversationHistory.test.tsx | 21 + .../tests/AnimatedCharacterLoader.test.tsx | 14 + app/src/client/tests/App.test.tsx | 196 + app/src/client/tests/Button.test.tsx | 21 + app/src/client/tests/ChatForm.test.tsx | 283 + .../client/tests/DynamicFormBuilder.test.tsx | 206 + .../client/tests/EditableChatName.test.tsx | 69 + app/src/client/tests/FreeTrialButton.test.tsx | 40 + .../client/tests/LoadingComponent.test.tsx | 12 + .../MarketingEmailPreferenceSwitcher.test.tsx | 65 + app/src/client/tests/NotificationBox.test.tsx | 33 + .../client/tests/RetryConversation.test.tsx | 38 + app/src/client/tests/SelectInput.test.tsx | 36 + .../tests/ServerNotRechableComponent.test.tsx | 14 + .../tests/TosAndMarketingEmails.test.tsx | 68 + .../tests/TosAndMarketingEmailsModal.test.tsx | 74 + app/src/client/tests/buildPageUtils.test.ts | 2508 +++ app/src/client/tests/commonUtils.test.ts | 37 + app/src/client/tests/formHelper.test.ts | 56 + app/src/client/tests/schemaParser.test.ts | 150 + .../tests/usePropertyReferenceValues.test.ts | 616 + app/src/client/utils/buildPageUtils.ts | 290 + app/src/client/utils/chatUtils.ts | 195 + app/src/client/utils/commonUtils.ts | 7 + app/src/client/utils/constants.ts | 64 + app/src/client/utils/schemaParser.ts | 25 + app/src/server/actions.ts | 585 + app/src/server/auth/authHelper.ts | 56 + app/src/server/auth/setUsername.ts | 22 + app/src/server/common/constants.ts | 2 + app/src/server/payments/stripeUtils.ts | 53 + app/src/server/queries.ts | 294 + app/src/server/scripts/usersSeed.ts | 55 + app/src/server/webhooks/stripe.ts | 209 + app/src/server/websocket/nats.ts | 237 + app/src/server/websocket/webSocket.js | 85 + app/src/server/workers/calculateDailyStats.ts | 153 + app/src/server/workers/checkAndQueueEmails.ts | 54 + .../server/workers/googleAnalyticsUtils.ts | 141 + .../server/workers/plausibleAnalyticsUtils.ts | 103 + app/src/shared/constants.ts | 47 + app/src/shared/types.ts | 15 + app/src/shared/utils.ts | 6 + app/src/vite-env.d.ts | 1 + app/tailwind.config.cjs | 260 + app/tsconfig.json | 37 + app/vite.config.ts | 7 + .../packages/auth-service/src/service.ts | 8 +- fastagency/models/llms/together.py | 18 +- schema.prisma | 33 - scripts/deploy-auth-callout.sh | 4 +- scripts/deploy-node.sh | 4 +- scripts/deploy.sh | 4 +- tests/models/llms/test_together.py | 6 +- 231 files changed, 34323 insertions(+), 125 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/check-broken-links-in-docs.yaml create mode 100644 .github/workflows/check-certs-expiry.yml create mode 100644 .github/workflows/codeql.yml create mode 100644 .github/workflows/dependency-review.yaml create mode 100644 .github/workflows/deploy-docs.yaml create mode 100644 .github/workflows/deploy-nats.yaml create mode 100644 .github/workflows/deploy.yaml create mode 100644 .github/workflows/docker-cleanup.yml create mode 100644 .github/workflows/enforcer.yaml create mode 100644 .github/workflows/maintenance-mode-switch.yml create mode 100644 .github/workflows/pipeline.yaml create mode 100644 .github/workflows/publish-coverage.yml create mode 100644 .github/workflows/test.yaml create mode 100644 .github/workflows/update-cron-script.yml create mode 100644 .github/workflows/update-release-notes.yaml create mode 100644 app/.gitattributes create mode 100644 app/.gitignore create mode 100644 app/.prettierrc create mode 100644 app/.waspignore create mode 100644 app/.wasproot create mode 100644 app/main.wasp create mode 100644 app/migrations/20240409105442_initial_migration/migration.sql create mode 100644 app/migrations/20240409131235_cleanup_entities/migration.sql create mode 100644 app/migrations/20240412085104_add_fields_to_user_entity_to_trach_signup_complete_status/migration.sql create mode 100644 app/migrations/20240506081108_add_uuid_column_to_user_model/migration.sql create mode 100644 app/migrations/20240506081341_set_uuid_for_existing_users/migration.sql create mode 100644 app/migrations/20240508054330_add_chat_and_conversation_models/migration.sql create mode 100644 app/migrations/20240508144539_add_column_to_store_the_selected_team_name/migration.sql create mode 100644 app/migrations/20240517080637_add_column_to_track_chat_completion_status/migration.sql create mode 100644 app/migrations/20240522125442_delete_daily_analysis_and_smart_suggestions_related_columns_from_chat_model/migration.sql create mode 100644 app/migrations/20240619070132_add_new_column_in_user_model_to_store_the_user_setup_status/migration.sql create mode 100644 app/migrations/migration_lock.toml create mode 100644 app/package-lock.json create mode 100644 app/package.json create mode 100644 app/postcss.config.cjs create mode 100644 app/pretend_nats_client.ts create mode 100644 app/public/.gitkeep create mode 100644 app/public/favicon.ico create mode 100644 app/public/fonts/Panton-SemiBold.woff create mode 100644 app/public/fonts/Roboto-Light.ttf create mode 100644 app/public/fonts/Roboto-Regular.ttf create mode 100644 app/public/fonts/RobotoMono-Regular.ttf create mode 100644 app/public/fonts/Rubik-Medium.ttf create mode 100644 app/public/public-banner.png create mode 100644 app/schema.prisma create mode 100644 app/src/client/App.tsx create mode 100644 app/src/client/Main.css create mode 100644 app/src/client/admin/common/Loader/index.tsx create mode 100644 app/src/client/admin/common/types.ts create mode 100644 app/src/client/admin/components/BarChart.tsx create mode 100644 app/src/client/admin/components/Breadcrumb.tsx create mode 100644 app/src/client/admin/components/CheckboxOne.tsx create mode 100644 app/src/client/admin/components/CheckboxTwo.tsx create mode 100644 app/src/client/admin/components/DarkModeSwitcher.tsx create mode 100644 app/src/client/admin/components/DataStats.tsx create mode 100644 app/src/client/admin/components/DropdownEditDelete.tsx create mode 100644 app/src/client/admin/components/Header.tsx create mode 100644 app/src/client/admin/components/MessageButton.tsx create mode 100644 app/src/client/admin/components/PieChart.tsx create mode 100644 app/src/client/admin/components/RevenueAndProfitChart.tsx create mode 100644 app/src/client/admin/components/Sidebar.tsx create mode 100644 app/src/client/admin/components/SidebarLinkGroup.tsx create mode 100644 app/src/client/admin/components/SourcesTable.tsx create mode 100644 app/src/client/admin/components/SwitcherOne.tsx create mode 100644 app/src/client/admin/components/SwitcherTwo.tsx create mode 100644 app/src/client/admin/components/TotalPaidViewsCard.tsx create mode 100644 app/src/client/admin/components/TotalPayingUsersCard.tsx create mode 100644 app/src/client/admin/components/TotalRevenueCard.tsx create mode 100644 app/src/client/admin/components/TotalSignupsCard.tsx create mode 100644 app/src/client/admin/components/UsersTable.tsx create mode 100644 app/src/client/admin/images/icon/icon-arrow-down.svg create mode 100644 app/src/client/admin/images/icon/icon-calendar.svg create mode 100644 app/src/client/admin/images/icon/icon-copy-alt.svg create mode 100644 app/src/client/admin/images/icon/icon-moon.svg create mode 100644 app/src/client/admin/images/icon/icon-sun.svg create mode 100644 app/src/client/admin/images/icon/icons-arrows.tsx create mode 100644 app/src/client/admin/layout/DefaultLayout.tsx create mode 100644 app/src/client/admin/pages/Calendar.tsx create mode 100644 app/src/client/admin/pages/Chart.tsx create mode 100644 app/src/client/admin/pages/DashboardPage.tsx create mode 100644 app/src/client/admin/pages/Form/FormElements.tsx create mode 100644 app/src/client/admin/pages/Form/FormLayout.tsx create mode 100644 app/src/client/admin/pages/Messages.tsx create mode 100644 app/src/client/admin/pages/Settings.tsx create mode 100644 app/src/client/admin/pages/UiElements/Alerts.tsx create mode 100644 app/src/client/admin/pages/UiElements/Buttons.tsx create mode 100644 app/src/client/admin/pages/Users.tsx create mode 100644 app/src/client/app/AccountPage.tsx create mode 100644 app/src/client/app/BuildPage.tsx create mode 100644 app/src/client/app/CheckoutPage.tsx create mode 100644 app/src/client/app/ExamplesPage.tsx create mode 100644 app/src/client/app/PlayGroundPage.tsx create mode 100644 app/src/client/app/PricingPage.tsx create mode 100644 app/src/client/app/PrivacyPage.tsx create mode 100644 app/src/client/app/TocPage.tsx create mode 100644 app/src/client/app/TutorialPage.tsx create mode 100644 app/src/client/app/layout/ChatLayout.tsx create mode 100644 app/src/client/app/layout/CustomAuthRequiredLayout.tsx create mode 100644 app/src/client/app/utils/formHelpers.ts create mode 100644 app/src/client/auth/Auth.tsx create mode 100644 app/src/client/auth/LoginPage.tsx create mode 100644 app/src/client/auth/LoginSignupForm.tsx create mode 100644 app/src/client/auth/SignupPage.tsx create mode 100644 app/src/client/auth/authWrapper.tsx create mode 100644 app/src/client/auth/configs/config.ts create mode 100644 app/src/client/auth/configs/stitches.config.js create mode 100644 app/src/client/components/AgentConversationHistory.tsx create mode 100644 app/src/client/components/AnimatedCharacterLoader.tsx create mode 100644 app/src/client/components/AppNavBar.tsx create mode 100644 app/src/client/components/AutoScrollContainer.tsx create mode 100644 app/src/client/components/Button.tsx create mode 100644 app/src/client/components/ChatForm.tsx create mode 100644 app/src/client/components/ChatSidebar.tsx create mode 100644 app/src/client/components/ConversationList.tsx create mode 100644 app/src/client/components/CustomBreadcrumb.tsx create mode 100644 app/src/client/components/CustomSidebar.tsx create mode 100644 app/src/client/components/DropdownUser.tsx create mode 100644 app/src/client/components/DynamicFormBuilder.tsx create mode 100644 app/src/client/components/EditableChatName.tsx create mode 100644 app/src/client/components/Footer.tsx create mode 100644 app/src/client/components/FreeTrialButton.tsx create mode 100644 app/src/client/components/LetterByLetterDisplay.tsx create mode 100644 app/src/client/components/LoadingComponent.tsx create mode 100644 app/src/client/components/MarketingEmailPreferenceSwitcher.tsx create mode 100644 app/src/client/components/ModelForm.tsx create mode 100644 app/src/client/components/ModelFormContainer.tsx create mode 100644 app/src/client/components/ModelItem.tsx create mode 100644 app/src/client/components/ModelsList.tsx create mode 100644 app/src/client/components/NotificationBox.tsx create mode 100644 app/src/client/components/RetryConversation.tsx create mode 100644 app/src/client/components/SelectTeamToChat.tsx create mode 100644 app/src/client/components/ServerNotRechableComponent.tsx create mode 100644 app/src/client/components/SocialMediaIcons.tsx create mode 100644 app/src/client/components/TerminalDisplay.tsx create mode 100644 app/src/client/components/TosAndMarketingEmails.tsx create mode 100644 app/src/client/components/TosAndMarketingEmailsModal.tsx create mode 100644 app/src/client/components/UserActionButton.tsx create mode 100644 app/src/client/components/UserMenuItems.tsx create mode 100644 app/src/client/components/buildPage/UserPropertyHandler.tsx create mode 100644 app/src/client/components/form/DynamicForm.tsx create mode 100644 app/src/client/components/form/SelectInput.tsx create mode 100644 app/src/client/components/form/TextArea.tsx create mode 100644 app/src/client/components/form/TextInput.tsx create mode 100644 app/src/client/hooks/useBuildPage.ts create mode 100644 app/src/client/hooks/useColorMode.tsx create mode 100644 app/src/client/hooks/useDeploymentInstructions.ts create mode 100644 app/src/client/hooks/useEscapeKeyHandler.ts create mode 100644 app/src/client/hooks/useForm.ts create mode 100644 app/src/client/hooks/useFormSubmission.ts create mode 100644 app/src/client/hooks/useLocalStorage.tsx create mode 100644 app/src/client/hooks/usePropertyReferenceValues.ts create mode 100644 app/src/client/interfaces/BuildPageInterfaces.ts create mode 100644 app/src/client/interfaces/DynamicFormBuilderInterface.ts create mode 100644 app/src/client/interfaces/PlaygroundPageInterface.ts create mode 100644 app/src/client/landing-page/LandingPage.tsx create mode 100644 app/src/client/landing-page/contentSections.ts create mode 100644 app/src/client/services/commonService.ts create mode 100644 app/src/client/services/modelService.ts create mode 100644 app/src/client/static/avatar-placeholder.png create mode 100644 app/src/client/static/da-boi.png create mode 100644 app/src/client/static/logo.svg create mode 100644 app/src/client/static/open-saas-banner.png create mode 100644 app/src/client/static/robot-footer.svg create mode 100644 app/src/client/tests/AgentConversationHistory.test.tsx create mode 100644 app/src/client/tests/AnimatedCharacterLoader.test.tsx create mode 100644 app/src/client/tests/App.test.tsx create mode 100644 app/src/client/tests/Button.test.tsx create mode 100644 app/src/client/tests/ChatForm.test.tsx create mode 100644 app/src/client/tests/DynamicFormBuilder.test.tsx create mode 100644 app/src/client/tests/EditableChatName.test.tsx create mode 100644 app/src/client/tests/FreeTrialButton.test.tsx create mode 100644 app/src/client/tests/LoadingComponent.test.tsx create mode 100644 app/src/client/tests/MarketingEmailPreferenceSwitcher.test.tsx create mode 100644 app/src/client/tests/NotificationBox.test.tsx create mode 100644 app/src/client/tests/RetryConversation.test.tsx create mode 100644 app/src/client/tests/SelectInput.test.tsx create mode 100644 app/src/client/tests/ServerNotRechableComponent.test.tsx create mode 100644 app/src/client/tests/TosAndMarketingEmails.test.tsx create mode 100644 app/src/client/tests/TosAndMarketingEmailsModal.test.tsx create mode 100644 app/src/client/tests/buildPageUtils.test.ts create mode 100644 app/src/client/tests/commonUtils.test.ts create mode 100644 app/src/client/tests/formHelper.test.ts create mode 100644 app/src/client/tests/schemaParser.test.ts create mode 100644 app/src/client/tests/usePropertyReferenceValues.test.ts create mode 100644 app/src/client/utils/buildPageUtils.ts create mode 100644 app/src/client/utils/chatUtils.ts create mode 100644 app/src/client/utils/commonUtils.ts create mode 100644 app/src/client/utils/constants.ts create mode 100644 app/src/client/utils/schemaParser.ts create mode 100644 app/src/server/actions.ts create mode 100644 app/src/server/auth/authHelper.ts create mode 100644 app/src/server/auth/setUsername.ts create mode 100644 app/src/server/common/constants.ts create mode 100644 app/src/server/payments/stripeUtils.ts create mode 100644 app/src/server/queries.ts create mode 100644 app/src/server/scripts/usersSeed.ts create mode 100644 app/src/server/webhooks/stripe.ts create mode 100644 app/src/server/websocket/nats.ts create mode 100644 app/src/server/websocket/webSocket.js create mode 100644 app/src/server/workers/calculateDailyStats.ts create mode 100644 app/src/server/workers/checkAndQueueEmails.ts create mode 100644 app/src/server/workers/googleAnalyticsUtils.ts create mode 100644 app/src/server/workers/plausibleAnalyticsUtils.ts create mode 100644 app/src/shared/constants.ts create mode 100644 app/src/shared/types.ts create mode 100644 app/src/shared/utils.ts create mode 100644 app/src/vite-env.d.ts create mode 100644 app/tailwind.config.cjs create mode 100644 app/tsconfig.json create mode 100644 app/vite.config.ts delete mode 100644 schema.prisma diff --git a/.devcontainer/python-3.10/devcontainer.json b/.devcontainer/python-3.10/devcontainer.json index 4784c9a05..6f4d99b26 100644 --- a/.devcontainer/python-3.10/devcontainer.json +++ b/.devcontainer/python-3.10/devcontainer.json @@ -6,10 +6,10 @@ ], "service": "python-3.10", "forwardPorts": [ - "${containerEnv:CONTAINER_PREFIX}-nats-py310-fastagencyapi:9222" + "${containerEnv:CONTAINER_PREFIX}-nats-py310-fastagency:9222" ], "shutdownAction": "stopCompose", - "workspaceFolder": "/workspaces/fastagencyapi", + "workspaceFolder": "/workspaces/fastagency", // "runArgs": [], "remoteEnv": {}, "features": { diff --git a/.devcontainer/python-3.10/docker-compose.yml b/.devcontainer/python-3.10/docker-compose.yml index bb87c4337..f0344f407 100644 --- a/.devcontainer/python-3.10/docker-compose.yml +++ b/.devcontainer/python-3.10/docker-compose.yml @@ -3,21 +3,21 @@ version: '3' services: python-3.10: # nosemgrep image: mcr.microsoft.com/devcontainers/python:3.10 - container_name: $USER-python-3.10-fastagencyapi + container_name: $USER-python-3.10-fastagency volumes: - - ../../:/workspaces/fastagencyapi:cached + - ../../:/workspaces/fastagency:cached command: sleep infinity environment: - - DATABASE_URL=postgresql://admin:password@${USER}-postgres-py310-fastagencyapi:5432/fastagencyapi - - PY_DATABASE_URL=postgresql://admin:password@${USER}-postgres-py310-fastagencyapi:5432/pyfastagencyapi - - NATS_URL=nats://${USER}-nats-py310-fastagencyapi:4222 + - DATABASE_URL=postgresql://admin:password@${USER}-postgres-py310-fastagency:5432/fastagency + - PY_DATABASE_URL=postgresql://admin:password@${USER}-postgres-py310-fastagency:5432/pyfastagency + - NATS_URL=nats://${USER}-nats-py310-fastagency:4222 env_file: - ../devcontainer.env networks: - - fastagencyapi-network - nats-fastagencyapi: # nosemgrep + - fastagency-network + nats-fastagency: # nosemgrep image: nats:latest - container_name: $USER-nats-py310-fastagencyapi + container_name: $USER-nats-py310-fastagency # ports: # - "${PORT_PREFIX}4222:4222" # - "${PORT_PREFIX}9222:9222" @@ -27,19 +27,19 @@ services: env_file: - ../devcontainer.env networks: - - fastagencyapi-network - postgres-fastagencyapi: # nosemgrep + - fastagency-network + postgres-fastagency: # nosemgrep image: postgres:latest - container_name: $USER-postgres-py310-fastagencyapi + container_name: $USER-postgres-py310-fastagency environment: POSTGRES_USER: admin POSTGRES_PASSWORD: password # pragma: allowlist secret - POSTGRES_DB: fastagencyapi + POSTGRES_DB: fastagency # ports: # - "${PORT_PREFIX}5432:5432" networks: - - fastagencyapi-network + - fastagency-network networks: - fastagencyapi-network: - name: "${USER}-fastagencyapi-network" + fastagency-network: + name: "${USER}-fastagency-network" diff --git a/.devcontainer/python-3.11/devcontainer.json b/.devcontainer/python-3.11/devcontainer.json index ba6013656..a6b4ee910 100644 --- a/.devcontainer/python-3.11/devcontainer.json +++ b/.devcontainer/python-3.11/devcontainer.json @@ -5,10 +5,10 @@ ], "service": "python-3.11", "forwardPorts": [ - "${containerEnv:CONTAINER_PREFIX}-nats-py311-fastagencyapi:9222" + "${containerEnv:CONTAINER_PREFIX}-nats-py311-fastagency:9222" ], "shutdownAction": "stopCompose", - "workspaceFolder": "/workspaces/fastagencyapi", + "workspaceFolder": "/workspaces/fastagency", // "runArgs": [], "remoteEnv": {}, "features": { diff --git a/.devcontainer/python-3.11/docker-compose.yml b/.devcontainer/python-3.11/docker-compose.yml index 9257caa5a..3d33d6724 100644 --- a/.devcontainer/python-3.11/docker-compose.yml +++ b/.devcontainer/python-3.11/docker-compose.yml @@ -3,21 +3,21 @@ version: '3' services: python-3.11: # nosemgrep image: mcr.microsoft.com/devcontainers/python:3.11 - container_name: $USER-python-3.11-fastagencyapi + container_name: $USER-python-3.11-fastagency volumes: - - ../../:/workspaces/fastagencyapi:cached + - ../../:/workspaces/fastagency:cached command: sleep infinity environment: - - DATABASE_URL=postgresql://admin:password@${USER}-postgres-py311-fastagencyapi:5432/fastagencyapi - - PY_DATABASE_URL=postgresql://admin:password@${USER}-postgres-py311-fastagencyapi:5432/pyfastagencyapi - - NATS_URL=nats://${USER}-nats-py311-fastagencyapi:4222 + - DATABASE_URL=postgresql://admin:password@${USER}-postgres-py311-fastagency:5432/fastagency + - PY_DATABASE_URL=postgresql://admin:password@${USER}-postgres-py311-fastagency:5432/pyfastagency + - NATS_URL=nats://${USER}-nats-py311-fastagency:4222 env_file: - ../devcontainer.env networks: - - fastagencyapi-network - nats-fastagencyapi: # nosemgrep + - fastagency-network + nats-fastagency: # nosemgrep image: nats:latest - container_name: $USER-nats-py311-fastagencyapi + container_name: $USER-nats-py311-fastagency # ports: # - "${PORT_PREFIX}4222:4222" # - "${PORT_PREFIX}9222:9222" @@ -27,19 +27,19 @@ services: env_file: - ../devcontainer.env networks: - - fastagencyapi-network - postgres-fastagencyapi: # nosemgrep + - fastagency-network + postgres-fastagency: # nosemgrep image: postgres:latest - container_name: $USER-postgres-py311-fastagencyapi + container_name: $USER-postgres-py311-fastagency environment: POSTGRES_USER: admin POSTGRES_PASSWORD: password # pragma: allowlist secret - POSTGRES_DB: fastagencyapi + POSTGRES_DB: fastagency # ports: # - "${PORT_PREFIX}5432:5432" networks: - - fastagencyapi-network + - fastagency-network networks: - fastagencyapi-network: - name: "${USER}-fastagencyapi-network" + fastagency-network: + name: "${USER}-fastagency-network" diff --git a/.devcontainer/python-3.12/devcontainer.json b/.devcontainer/python-3.12/devcontainer.json index 04fa55afc..0f4866c7e 100644 --- a/.devcontainer/python-3.12/devcontainer.json +++ b/.devcontainer/python-3.12/devcontainer.json @@ -6,10 +6,10 @@ ], "service": "python-3.12", "forwardPorts": [ - "${containerEnv:CONTAINER_PREFIX}-nats-py312-fastagencyapi:9222" + "${containerEnv:CONTAINER_PREFIX}-nats-py312-fastagency:9222" ], "shutdownAction": "stopCompose", - "workspaceFolder": "/workspaces/fastagencyapi", + "workspaceFolder": "/workspaces/fastagency", // "runArgs": [], "remoteEnv": {}, "features": { diff --git a/.devcontainer/python-3.12/docker-compose.yml b/.devcontainer/python-3.12/docker-compose.yml index d3d42be49..e2bc58108 100644 --- a/.devcontainer/python-3.12/docker-compose.yml +++ b/.devcontainer/python-3.12/docker-compose.yml @@ -3,21 +3,21 @@ version: '3' services: python-3.12: # nosemgrep image: mcr.microsoft.com/devcontainers/python:3.12 - container_name: $USER-python-3.12-fastagencyapi + container_name: $USER-python-3.12-fastagency volumes: - - ../../:/workspaces/fastagencyapi:cached + - ../../:/workspaces/fastagency:cached command: sleep infinity environment: - - DATABASE_URL=postgresql://admin:password@${USER}-postgres-py312-fastagencyapi:5432/fastagencyapi - - PY_DATABASE_URL=postgresql://admin:password@${USER}-postgres-py312-fastagencyapi:5432/pyfastagencyapi - - NATS_URL=nats://${USER}-nats-py312-fastagencyapi:4222 + - DATABASE_URL=postgresql://admin:password@${USER}-postgres-py312-fastagency:5432/fastagency + - PY_DATABASE_URL=postgresql://admin:password@${USER}-postgres-py312-fastagency:5432/pyfastagency + - NATS_URL=nats://${USER}-nats-py312-fastagency:4222 env_file: - ../devcontainer.env networks: - - fastagencyapi-network - nats-fastagencyapi: # nosemgrep + - fastagency-network + nats-fastagency: # nosemgrep image: nats:latest - container_name: $USER-nats-py312-fastagencyapi + container_name: $USER-nats-py312-fastagency # ports: # - "${PORT_PREFIX}4222:4222" # - "${PORT_PREFIX}9222:9222" @@ -27,19 +27,19 @@ services: env_file: - ../devcontainer.env networks: - - fastagencyapi-network - postgres-fastagencyapi: # nosemgrep + - fastagency-network + postgres-fastagency: # nosemgrep image: postgres:latest - container_name: $USER-postgres-py312-fastagencyapi + container_name: $USER-postgres-py312-fastagency environment: POSTGRES_USER: admin POSTGRES_PASSWORD: password # pragma: allowlist secret - POSTGRES_DB: fastagencyapi + POSTGRES_DB: fastagency # ports: # - "${PORT_PREFIX}5432:5432" networks: - - fastagencyapi-network + - fastagency-network networks: - fastagencyapi-network: - name: "${USER}-fastagencyapi-network" + fastagency-network: + name: "${USER}-fastagency-network" diff --git a/.devcontainer/python-3.9/devcontainer.json b/.devcontainer/python-3.9/devcontainer.json index 17d26d558..00e49afb6 100644 --- a/.devcontainer/python-3.9/devcontainer.json +++ b/.devcontainer/python-3.9/devcontainer.json @@ -6,10 +6,10 @@ ], "service": "python-3.9", "forwardPorts": [ - "${containerEnv:CONTAINER_PREFIX}-nats-py39-fastagencyapi:9222" + "${containerEnv:CONTAINER_PREFIX}-nats-py39-fastagency:9222" ], "shutdownAction": "stopCompose", - "workspaceFolder": "/workspaces/fastagencyapi", + "workspaceFolder": "/workspaces/fastagency", // "runArgs": [], "remoteEnv": {}, "features": { diff --git a/.devcontainer/python-3.9/docker-compose.yml b/.devcontainer/python-3.9/docker-compose.yml index 6f641dc53..e8b0c627f 100644 --- a/.devcontainer/python-3.9/docker-compose.yml +++ b/.devcontainer/python-3.9/docker-compose.yml @@ -3,21 +3,21 @@ version: '3' services: python-3.9: # nosemgrep image: mcr.microsoft.com/devcontainers/python:3.9 - container_name: $USER-python-3.9-fastagencyapi + container_name: $USER-python-3.9-fastagency volumes: - - ../../:/workspaces/fastagencyapi:cached + - ../../:/workspaces/fastagency:cached command: sleep infinity environment: - - DATABASE_URL=postgresql://admin:password@${USER}-postgres-py39-fastagencyapi:5432/fastagencyapi - - PY_DATABASE_URL=postgresql://admin:password@${USER}-postgres-py39-fastagencyapi:5432/pyfastagencyapi - - NATS_URL=nats://${USER}-nats-py39-fastagencyapi:4222 + - DATABASE_URL=postgresql://admin:password@${USER}-postgres-py39-fastagency:5432/fastagency + - PY_DATABASE_URL=postgresql://admin:password@${USER}-postgres-py39-fastagency:5432/pyfastagency + - NATS_URL=nats://${USER}-nats-py39-fastagency:4222 env_file: - ../devcontainer.env networks: - - fastagencyapi-network - nats-fastagencyapi: # nosemgrep + - fastagency-network + nats-fastagency: # nosemgrep image: nats:latest - container_name: $USER-nats-py39-fastagencyapi + container_name: $USER-nats-py39-fastagency # ports: # - "${PORT_PREFIX}4222:4222" # - "${PORT_PREFIX}9222:9222" @@ -27,19 +27,19 @@ services: env_file: - ../devcontainer.env networks: - - fastagencyapi-network - postgres-fastagencyapi: # nosemgrep + - fastagency-network + postgres-fastagency: # nosemgrep image: postgres:latest - container_name: $USER-postgres-py39-fastagencyapi + container_name: $USER-postgres-py39-fastagency environment: POSTGRES_USER: admin POSTGRES_PASSWORD: password # pragma: allowlist secret - POSTGRES_DB: fastagencyapi + POSTGRES_DB: fastagency # ports: # - "${PORT_PREFIX}5432:5432" networks: - - fastagencyapi-network + - fastagency-network networks: - fastagencyapi-network: - name: "${USER}-fastagencyapi-network" + fastagency-network: + name: "${USER}-fastagency-network" diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh index da8de8b46..5e803c64e 100644 --- a/.devcontainer/setup.sh +++ b/.devcontainer/setup.sh @@ -7,11 +7,8 @@ pip install -e ".[dev]" # install pre-commit hook if not installed already pre-commit install -# create .mypy_cache directory (see https://github.com/python/mypy/issues/10768#issuecomment-2178450153) -mkdir .mypy_cache - # install wasp -curl -sSL https://get.wasp-lang.dev/installer.sh | sh +curl -sSL https://get.wasp-lang.dev/installer.sh | sh -s -- -v 0.14.0 cd app && wasp db migrate-dev && cd .. diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..50472a552 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,37 @@ +--- +name: Bug report +about: Create a report to help us improve +title: 'Bug:' +labels: bug +assignees: '' +--- + +**Describe the bug** +Provide a clear and concise description of the bug. + +**How to reproduce** +Include source code: + +```python +from fastagency import FastAgency +... +``` + +And/Or steps to reproduce the behavior: + +1. ... + +**Expected behavior** +Explain what you expected to happen clearly and concisely. + +**Observed behavior** +Describe what is actually happening clearly and concisely. + +**Screenshots** +If applicable, attach screenshots to help illustrate the problem. + +**Environment** +Include the output of the `fastagency -v` command to display your current project and system environment. + +**Additional context** +Provide any other relevant context or information about the problem here. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..b71fbaf71 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: true + +contact_links: + - name: Security Contact + about: Please report security vulnerabilities to info@airt.ai + - name: Question or Problem + about: Ask a question or ask about a problem in GitHub Discussions. + url: https://github.com/airtai/fastagency/discussions/categories/questions diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..15fa14c7c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,29 @@ +--- +name: Feature Request +about: Suggest an idea for this project +title: 'Feature:' +labels: enhancement +assignees: '' +--- + +To suggest an idea or inquire about a new Message Broker supporting feature or any other enhancement, please follow this template: + +**Is your feature request related to a problem? Please describe.** +Provide a clear and concise description of the problem you've encountered. For example: "I'm always frustrated when..." + +**Describe the solution you'd like** +Clearly and concisely describe the desired outcome or solution. + +**Feature code example** +To help others understand the proposed feature, illustrate it with a **FastAgency** code example: + +```python +from fastagency import FastAgency +... +``` + +**Describe alternatives you've considered** +Provide a clear and concise description of any alternative solutions or features you've thought about. + +**Additional context** +Include any other relevant context or screenshots related to the feature request. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..93f6f4cab --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,26 @@ +# Description + +Please include a summary of the change and specify which issue is being addressed. Additionally, provide relevant motivation and context. + +Fixes # (issue number) + +## Type of change + +Please delete options that are not relevant. + +- [ ] Documentation (typos, code examples, or any documentation updates) +- [ ] Bug fix (a non-breaking change that resolves an issue) +- [ ] New feature (a non-breaking change that adds functionality) +- [ ] Breaking change (a fix or feature that would disrupt existing functionality) +- [ ] This change requires a documentation update + +## Checklist + +- [ ] My code adheres to the style guidelines of this project (`scripts/lint.sh` shows no errors) +- [ ] I have conducted a self-review of my own code +- [ ] I have made the necessary changes to the documentation +- [ ] My changes do not generate any new warnings +- [ ] I have added tests to validate the effectiveness of my fix or the functionality of my new feature +- [ ] Both new and existing unit tests pass successfully on my local environment by running `scripts/test-cov.sh` +- [ ] I have ensured that static analysis tests are passing by running `scripts/static-anaylysis.sh` +- [ ] I have included code examples to illustrate the modifications diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..55007de24 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,22 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + # GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + # Python + - package-ecosystem: "pip" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + # Pnpm + - package-ecosystem: "pnpm" + directory: "/auth_callout" + schedule: + interval: "weekly" diff --git a/.github/workflows/check-broken-links-in-docs.yaml b/.github/workflows/check-broken-links-in-docs.yaml new file mode 100644 index 000000000..1089b0af3 --- /dev/null +++ b/.github/workflows/check-broken-links-in-docs.yaml @@ -0,0 +1,19 @@ +name: Check docs for broken links + +on: + workflow_run: + workflows: ["pages-build-deployment"] + types: [completed] + +jobs: + check-broken-link: + name: Check docs for broken links + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + steps: + - name: Check links using container + uses: ruzickap/action-my-broken-link-checker@v2 + with: + url: https://fastagency.airt.ai + cmd_params: '--buffer-size=8192 --max-connections=1 --color=always --header="User-Agent:Mozilla/5.0(Firefox/97.0)" --exclude="(localhost:8000|linkedin.com|fonts.gstatic.com|reddit.com)" --max-connections-per-host=1 --rate-limit=1' + debug: true diff --git a/.github/workflows/check-certs-expiry.yml b/.github/workflows/check-certs-expiry.yml new file mode 100644 index 000000000..661871712 --- /dev/null +++ b/.github/workflows/check-certs-expiry.yml @@ -0,0 +1,62 @@ +name: Check letsencrypt certs expiry + +on: + # everyday at 00:00 + schedule: + - cron: "0 0 * * *" + # or manually + workflow_dispatch: + +jobs: + check-certs-expiry: + name: Check letsencrypt certs expiry + strategy: + fail-fast: false + matrix: + domain: + [ + "fastagency.ai", + "staging.fastagency.ai", + "studio.fastagency.ai", + "studio.staging.fastagency.ai", + "api.fastagency.ai", + "api.staging.fastagency.ai", + "weather.tools.fastagency.ai", + "weather.tools.staging.fastagency.ai", + "monitoring.fastagency.ai", + ] + runs-on: ubuntu-22.04 + defaults: + run: + shell: bash + container: + image: ubuntu:22.04 + environment: + # Use staging if staging in matrix.domain else use production + name: ${{ contains(matrix.domain, 'staging') && 'staging' || 'production' }} + env: + SSH_KEY: ${{ secrets.SSH_KEY }} + steps: + - uses: actions/checkout@v3 + # This is to fix GIT not liking owner of the checkout dir - https://github.com/actions/runner/issues/2033#issuecomment-1204205989 + - run: chown -R $(id -u):$(id -g) $PWD + + - run: echo "PATH=$PATH:/github/home/.local/bin" >> $GITHUB_ENV + - run: "which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )" + - run: apt-get update -y && apt-get install sshpass -y + - run: eval $(ssh-agent -s) + - run: mkdir -p ~/.ssh + - run: chmod 700 ~/.ssh + + - run: echo "DOMAIN=${{ matrix.domain }}" >> $GITHUB_ENV + + - run: ssh-keyscan "$DOMAIN" >> ~/.ssh/known_hosts + - run: chmod 644 ~/.ssh/known_hosts + + - run: echo "$SSH_KEY" | base64 --decode > key.pem + - run: chmod 600 key.pem + + - run: ssh -o StrictHostKeyChecking=no -i key.pem azureuser@"$DOMAIN" "ls -la" + - run: bash ./scripts/ci-check-certs.sh + + - run: rm key.pem diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 000000000..e0c92f423 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,83 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ "main"] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "main" ] + schedule: + - cron: '39 20 * * 0' + +jobs: + analyze: + if: github.event.pull_request.draft == false + name: Analyze + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners + # Consider using larger runners for possible analysis time improvements. + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'python' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ] + # Use only 'java' to analyze code written in Java, Kotlin or both + # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 # nosemgrep + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v3 # nosemgrep + + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 # nosemgrep + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/dependency-review.yaml b/.github/workflows/dependency-review.yaml new file mode 100644 index 000000000..0bc48198f --- /dev/null +++ b/.github/workflows/dependency-review.yaml @@ -0,0 +1,21 @@ +# Dependency Review Action +# +# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging. +# +# Source repository: https://github.com/actions/dependency-review-action +# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement +name: 'Dependency Review' +on: [pull_request] + +permissions: + contents: read + +jobs: + dependency-review: + if: github.event.pull_request.draft == false + runs-on: ubuntu-latest + steps: + - name: 'Checkout Repository' + uses: actions/checkout@v4 + - name: 'Dependency Review' + uses: actions/dependency-review-action@v4 diff --git a/.github/workflows/deploy-docs.yaml b/.github/workflows/deploy-docs.yaml new file mode 100644 index 000000000..8729aa8ef --- /dev/null +++ b/.github/workflows/deploy-docs.yaml @@ -0,0 +1,43 @@ +name: Deploy Docs +on: + push: + branches: + - main + paths: + - docs/** + - .github/workflows/deploy-docs.yaml + - fastagency/__about__.py + +permissions: + contents: write +jobs: + deploy_docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - uses: actions/cache@v4 + with: + key: ${{ github.ref }} + path: .cache + - run: pip install -e ".[dev]" + - run: ./scripts/build-docs.sh + - run: echo "VERSION=$(python3 -c 'from importlib.metadata import version; print(".".join(version("fastagency").split(".")[:2]))')" >> $GITHUB_ENV + - run: echo "IS_RC=$(python3 -c 'from importlib.metadata import version; print("rc" in version("fastagency"))')" >> $GITHUB_ENV + - name: Configure Git user + run: | + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + - run: echo $VERSION + - run: echo $IS_RC + - run: | + if [ "$IS_RC" == "False" ]; then + cd docs && mike deploy -F mkdocs.yml --update-aliases $VERSION latest + mike set-default --push --allow-empty -F mkdocs.yml latest + else + cd docs && mike deploy --push -F mkdocs.yml --update-aliases $VERSION + fi diff --git a/.github/workflows/deploy-nats.yaml b/.github/workflows/deploy-nats.yaml new file mode 100644 index 000000000..9dc39ac0e --- /dev/null +++ b/.github/workflows/deploy-nats.yaml @@ -0,0 +1,82 @@ +name: Deploy NATS + +on: + push: + branches: + - main + - dev + paths: + - docker-compose/nats/** + workflow_dispatch: + inputs: + clear_jetstream: + description: 'Clear Jetstream' + required: true + default: 'false' + type: boolean + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + detect-deployment-environment: + runs-on: ubuntu-latest + outputs: + environment: ${{ steps.set-env.outputs.environment }} + steps: + - name: Determine deployment environment + id: set-env + run: | + if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then + echo "::set-output name=environment::production" + elif [[ "${{ github.ref }}" == "refs/heads/dev" ]]; then + echo "::set-output name=environment::staging" + else + echo "::set-output name=environment::none" + fi + deploy_nats: + runs-on: ubuntu-22.04 + defaults: + run: + shell: bash + needs: + - detect-deployment-environment + if: github.ref_name == 'main' || github.ref_name == 'dev' + environment: + name: ${{ needs.detect-deployment-environment.outputs.environment }} + env: + CLEAR_JETSTREAM: ${{ github.event.inputs.clear_jetstream }} + + GITHUB_USERNAME: ${{ github.actor }} + GITHUB_PASSWORD: ${{ secrets.GITHUB_TOKEN }} + DEVELOPER_TOKEN: ${{ secrets.DEVELOPER_TOKEN }} + DATABASE_URL: ${{ secrets.DATABASE_URL }} + PY_DATABASE_URL: ${{ secrets.PY_DATABASE_URL }} + FASTSTREAM_NATS_PASSWORD: ${{ secrets.FASTSTREAM_NATS_PASSWORD }} + WASP_NATS_PASSWORD: ${{ secrets.WASP_NATS_PASSWORD }} + AUTH_NATS_PASSWORD: ${{ secrets.AUTH_NATS_PASSWORD }} + NATS_PUB_NKEY: ${{ secrets.NATS_PUB_NKEY }} + DOMAIN: ${{ vars.DOMAIN }} + SSH_KEY: ${{ secrets.SSH_KEY }} + steps: + - uses: actions/checkout@v3 # Don't change it to cheackout@v4. V4 is not working with container image. + # This is to fix GIT not liking owner of the checkout dir - https://github.com/actions/runner/issues/2033#issuecomment-1204205989 + - run: chown -R $(id -u):$(id -g) $PWD + + - run: if [[ $GITHUB_REF_NAME == "main" ]]; then echo "TAG=latest" >> $GITHUB_ENV ; else echo "TAG=dev" >> $GITHUB_ENV ; fi; + + - run: echo "PATH=$PATH:/github/home/.local/bin" >> $GITHUB_ENV + - run: "which ssh-agent || ( apt-get update -y && apt-get install openssh-client git gettext -y )" + - run: eval $(ssh-agent -s) + - run: mkdir -p ~/.ssh + - run: chmod 700 ~/.ssh + - run: ssh-keyscan "$DOMAIN" >> ~/.ssh/known_hosts + - run: chmod 644 ~/.ssh/known_hosts + - run: echo "$SSH_KEY" | base64 --decode > key.pem + - run: chmod 600 key.pem + + - run: ssh -o StrictHostKeyChecking=no -i key.pem azureuser@"$DOMAIN" "docker images" + - run: bash scripts/deploy-nats.sh + + - run: rm key.pem diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 000000000..cc08b296c --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,338 @@ +name: Deploy + +on: + push: + branches: + - main + - dev + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + detect-deployment-environment: + runs-on: ubuntu-latest + outputs: + environment: ${{ steps.set-env.outputs.environment }} + steps: + - name: Determine deployment environment + id: set-env + run: | + if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then + echo "environment=production" >> $GITHUB_OUTPUT + elif [[ "${{ github.ref }}" == "refs/heads/dev" ]]; then + echo "environment=staging" >> $GITHUB_OUTPUT + else + echo "environment=none" >> $GITHUB_OUTPUT + fi + + docker-build-push-node: + runs-on: ubuntu-22.04 + permissions: + contents: read + packages: write + env: + PORT: ${{ vars.PORT }} + steps: + - name: Checkout repository with cached git lfs + uses: nschloe/action-cached-lfs-checkout@v1 + - uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Install wasp + run: curl -sSL https://get.wasp-lang.dev/installer.sh | sh -s -- -v 0.14.0 + + - name: Temporary wasp fix + run: | + PATCH_FILE_PATH=$(cat $(whereis wasp | cut -d " " -f 2) | tail -1 | cut -d " " -f 1 | cut -d "=" -f 2)/Generator/templates/server/package.json + echo $PATCH_FILE_PATH + sed -i 's/"postinstall": "patch-package"/"postinstall": ""/' $PATCH_FILE_PATH + + - name: Log in to the Container registry + uses: docker/login-action@v3.2.0 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - run: docker pull ghcr.io/airtai/fastagency-studio-node:$GITHUB_REF_NAME || docker pull ghcr.io/airtai/fastagency-studio-node:dev || true + - name: Build wasp + run: cd app && wasp build + - run: docker build --build-arg PORT=$PORT -t ghcr.io/airtai/fastagency-studio-node:${GITHUB_REF_NAME////-} ./app/.wasp/build/ + - name: Add tag latest if branch is main + if: github.ref_name == 'main' + run: docker tag ghcr.io/airtai/fastagency-studio-node:$GITHUB_REF_NAME ghcr.io/airtai/fastagency-studio-node:latest + - name: Push only if branch name is main or dev + if: github.ref_name == 'main' || github.ref_name == 'dev' + run: docker push ghcr.io/airtai/fastagency-studio-node --all-tags + - name: Sleep for 10 seconds + run: sleep 10 + + docker-build-push-fastapi: + runs-on: ubuntu-22.04 + permissions: + contents: read + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 18 + + - name: Install wasp + run: curl -sSL https://get.wasp-lang.dev/installer.sh | sh -s -- -v 0.14.0 + + - name: Log in to the Container registry + uses: docker/login-action@v3.2.0 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - run: docker pull ghcr.io/airtai/fastagency-studio:$GITHUB_REF_NAME || docker pull ghcr.io/airtai/fastagency-studio:dev || true + - run: docker build --build-arg PORT=$PORT -t ghcr.io/airtai/fastagency-studio:${GITHUB_REF_NAME////-} . + - name: Add tag latest if branch is main + if: github.ref_name == 'main' + run: docker tag ghcr.io/airtai/fastagency-studio:$GITHUB_REF_NAME ghcr.io/airtai/fastagency-studio:latest + - name: Push only if branch name is main or dev + if: github.ref_name == 'main' || github.ref_name == 'dev' + run: docker push ghcr.io/airtai/fastagency-studio --all-tags + - name: Sleep for 10 seconds + run: sleep 10 + + docker-build-push-auth-callout: + runs-on: ubuntu-22.04 + permissions: + contents: read + packages: write + env: + PORT: ${{ vars.PORT }} + steps: + - name: Checkout repository with cached git lfs + uses: nschloe/action-cached-lfs-checkout@v1 + + - name: Log in to the Container registry + uses: docker/login-action@v3.2.0 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - run: docker pull ghcr.io/airtai/fastagency-studio-auth-callout:$GITHUB_REF_NAME || docker pull ghcr.io/airtai/fastagency-studio-auth-callout:dev || true + - run: docker build -t ghcr.io/airtai/fastagency-studio-auth-callout:${GITHUB_REF_NAME////-} ./auth_callout + - name: Add tag latest if branch is main + if: github.ref_name == 'main' + run: docker tag ghcr.io/airtai/fastagency-studio-auth-callout:$GITHUB_REF_NAME ghcr.io/airtai/fastagency-studio-auth-callout:latest + - name: Push only if branch name is main or dev + if: github.ref_name == 'main' || github.ref_name == 'dev' + run: docker push ghcr.io/airtai/fastagency-studio-auth-callout --all-tags + + # https://github.com/marketplace/actions/alls-green#why + check: # This job does nothing and is only used for the branch protection + if: github.event.pull_request.draft == false + needs: + - docker-build-push-auth-callout + - docker-build-push-fastapi + - docker-build-push-node + runs-on: ubuntu-latest + steps: + - name: Decide whether the needed jobs succeeded or failed + uses: re-actors/alls-green@release/v1 # nosemgrep + with: + jobs: ${{ toJSON(needs) }} + - name: Sleep for 10 seconds + run: sleep 10 + + deploy-fastapi: + runs-on: ubuntu-22.04 + defaults: + run: + shell: bash + needs: + - check + - detect-deployment-environment + environment: + name: ${{ needs.detect-deployment-environment.outputs.environment }} + env: + GITHUB_USERNAME: ${{ github.actor }} + GITHUB_PASSWORD: ${{ secrets.GITHUB_TOKEN }} + DEVELOPER_TOKEN: ${{ secrets.DEVELOPER_TOKEN }} + DATABASE_URL: ${{ secrets.DATABASE_URL }} + PY_DATABASE_URL: ${{ secrets.PY_DATABASE_URL }} + FASTAGENCY_SERVER_URL: ${{ vars.FASTAGENCY_SERVER_URL }} + FASTSTREAM_NATS_PASSWORD: ${{ secrets.FASTSTREAM_NATS_PASSWORD }} + DOMAIN: ${{ vars.DOMAIN }} + SSH_KEY: ${{ secrets.SSH_KEY }} + AZURE_API_VERSION: ${{ vars.AZURE_API_VERSION }} + AZURE_API_ENDPOINT: ${{ vars.AZURE_API_ENDPOINT }} + AZURE_GPT35_MODEL: ${{ vars.AZURE_GPT35_MODEL }} + AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }} + BING_API_KEY: ${{ secrets.BING_API_KEY }} + + steps: + - uses: actions/checkout@v3 # Don't change it to cheackout@v4. V4 is not working with container image. + # This is to fix GIT not liking owner of the checkout dir - https://github.com/actions/runner/issues/2033#issuecomment-1204205989 + - run: chown -R $(id -u):$(id -g) $PWD + + - run: if [[ $GITHUB_REF_NAME == "main" ]]; then echo "TAG=latest" >> $GITHUB_ENV ; else echo "TAG=dev" >> $GITHUB_ENV ; fi; + + - run: echo "PATH=$PATH:/github/home/.local/bin" >> $GITHUB_ENV + - run: "which ssh-agent || ( apt-get update -y && apt-get install openssh-client git gettext -y )" + - run: eval $(ssh-agent -s) + - run: mkdir -p ~/.ssh + - run: chmod 700 ~/.ssh + - run: ssh-keyscan "$DOMAIN" >> ~/.ssh/known_hosts + - run: chmod 644 ~/.ssh/known_hosts + - run: echo "$SSH_KEY" | base64 --decode > key.pem + - run: chmod 600 key.pem + + - run: ssh -o StrictHostKeyChecking=no -i key.pem azureuser@"$DOMAIN" "docker images" + - run: bash scripts/deploy.sh + + - run: rm key.pem + + deploy-node: + runs-on: ubuntu-22.04 + defaults: + run: + shell: bash + needs: + - check + - detect-deployment-environment + environment: + name: ${{ needs.detect-deployment-environment.outputs.environment }} + env: + GITHUB_USERNAME: ${{ github.actor }} + GITHUB_PASSWORD: ${{ secrets.GITHUB_TOKEN }} + PORT: ${{ vars.PORT }} + GOOGLE_CLIENT_ID: ${{ vars.GOOGLE_CLIENT_ID }} + GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }} + ADMIN_EMAILS: ${{ vars.ADMIN_EMAILS }} + WASP_SERVER_URL: ${{ vars.WASP_SERVER_URL }} + FASTAGENCY_SERVER_URL: ${{ vars.FASTAGENCY_SERVER_URL }} + WASP_NATS_PASSWORD: ${{ secrets.WASP_NATS_PASSWORD }} + NODE_DOMAIN: ${{ vars.NODE_DOMAIN }} + WASP_WEB_CLIENT_URL: ${{ vars.WASP_WEB_CLIENT_URL }} + DATABASE_URL: ${{ secrets.DATABASE_URL }} + REACT_APP_API_URL: ${{ vars.REACT_APP_API_URL }} + JWT_SECRET: ${{ secrets.JWT_SECRET }} + SSH_KEY: ${{ secrets.SSH_KEY }} + steps: + - name: Checkout repository with cached git lfs + uses: nschloe/action-cached-lfs-checkout@v1 + # This is to fix GIT not liking owner of the checkout dir - https://github.com/actions/runner/issues/2033#issuecomment-1204205989 + - run: chown -R $(id -u):$(id -g) $PWD + + - run: if [[ $GITHUB_REF_NAME == "main" ]]; then echo "TAG=latest" >> $GITHUB_ENV ; else echo "TAG=dev" >> $GITHUB_ENV ; fi; + + - run: echo "PATH=$PATH:/github/home/.local/bin" >> $GITHUB_ENV + - run: "which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )" + - run: eval $(ssh-agent -s) + - run: mkdir -p ~/.ssh + - run: chmod 700 ~/.ssh + - run: ssh-keyscan "$NODE_DOMAIN" >> ~/.ssh/known_hosts + - run: chmod 644 ~/.ssh/known_hosts + - run: echo "$SSH_KEY" | base64 --decode > key.pem + - run: chmod 600 key.pem + + - run: ssh -o StrictHostKeyChecking=no -i key.pem azureuser@"$NODE_DOMAIN" "docker images" + - run: bash scripts/deploy-node.sh + + - run: rm key.pem + + deploy-auth-callout: + runs-on: ubuntu-22.04 + defaults: + run: + shell: bash + needs: + - check + - detect-deployment-environment + environment: + name: ${{ needs.detect-deployment-environment.outputs.environment }} + env: + GITHUB_USERNAME: ${{ github.actor }} + GITHUB_PASSWORD: ${{ secrets.GITHUB_TOKEN }} + DEVELOPER_TOKEN: ${{ secrets.DEVELOPER_TOKEN }} + DATABASE_URL: ${{ secrets.DATABASE_URL }} + PY_DATABASE_URL: ${{ secrets.PY_DATABASE_URL }} + AUTH_NATS_PASSWORD: ${{ secrets.AUTH_NATS_PASSWORD }} + NATS_PRIV_NKEY: ${{ secrets.NATS_PRIV_NKEY }} + DOMAIN: ${{ vars.DOMAIN }} + SSH_KEY: ${{ secrets.SSH_KEY }} + + steps: + - uses: actions/checkout@v3 # Don't change it to cheackout@v4. V4 is not working with container image. + # This is to fix GIT not liking owner of the checkout dir - https://github.com/actions/runner/issues/2033#issuecomment-1204205989 + - run: chown -R $(id -u):$(id -g) $PWD + + - run: if [[ $GITHUB_REF_NAME == "main" ]]; then echo "TAG=latest" >> $GITHUB_ENV ; else echo "TAG=dev" >> $GITHUB_ENV ; fi; + + - run: echo "PATH=$PATH:/github/home/.local/bin" >> $GITHUB_ENV + - run: "which ssh-agent || ( apt-get update -y && apt-get install openssh-client git gettext -y )" + - run: eval $(ssh-agent -s) + - run: mkdir -p ~/.ssh + - run: chmod 700 ~/.ssh + - run: ssh-keyscan "$DOMAIN" >> ~/.ssh/known_hosts + - run: chmod 644 ~/.ssh/known_hosts + - run: echo "$SSH_KEY" | base64 --decode > key.pem + - run: chmod 600 key.pem + + - run: ssh -o StrictHostKeyChecking=no -i key.pem azureuser@"$DOMAIN" "docker images" + - run: bash scripts/deploy-auth-callout.sh + + - run: rm key.pem + + deploy-frontend: + runs-on: ubuntu-22.04 + permissions: + contents: write + needs: + - check + - detect-deployment-environment + environment: + name: ${{ needs.detect-deployment-environment.outputs.environment }} + env: + NODE_DOMAIN: ${{ vars.NODE_DOMAIN }} + SSH_KEY: ${{ secrets.SSH_KEY }} + REACT_APP_API_URL: ${{ vars.REACT_APP_API_URL }} + steps: + - name: Checkout repository with cached git lfs + uses: nschloe/action-cached-lfs-checkout@v1 + - uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Install wasp + run: curl -sSL https://get.wasp-lang.dev/installer.sh | sh -s -- -v 0.14.0 + + - name: Temporary wasp fix + run: | + PATCH_FILE_PATH=$(cat $(whereis wasp | cut -d " " -f 2) | tail -1 | cut -d " " -f 1 | cut -d "=" -f 2)/Generator/templates/server/package.json + echo $PATCH_FILE_PATH + sed -i 's/"postinstall": "patch-package"/"postinstall": ""/' $PATCH_FILE_PATH + + - name: Build wasp + run: cd app && wasp build + - name: Build frontend + run: cd app && cd .wasp/build/web-app && npm install && REACT_APP_API_URL=$REACT_APP_API_URL npm run build + - name: Copy 404.html + run: cp 404.html app/.wasp/build/web-app/build + + - name: Deploy UI to nginx directory + run: | + apt-get update -y && apt-get install openssh-client git -y + eval $(ssh-agent -s) + mkdir -p ~/.ssh + chmod 700 ~/.ssh + ssh-keyscan "$NODE_DOMAIN" >> ~/.ssh/known_hosts + chmod 644 ~/.ssh/known_hosts + echo "$SSH_KEY" | base64 --decode > key.pem + chmod 600 key.pem + ssh -o StrictHostKeyChecking=no -i key.pem azureuser@"$NODE_DOMAIN" "ls -lah /var/www/html/UI" + scp -i key.pem -r app/.wasp/build/web-app/build azureuser@"$NODE_DOMAIN":/var/www/html/UI + ssh -o StrictHostKeyChecking=no -i key.pem azureuser@"$NODE_DOMAIN" "ls -lah /var/www/html/UI" + rm key.pem diff --git a/.github/workflows/docker-cleanup.yml b/.github/workflows/docker-cleanup.yml new file mode 100644 index 000000000..38f56648c --- /dev/null +++ b/.github/workflows/docker-cleanup.yml @@ -0,0 +1,41 @@ +name: Cleanup Untagged Images + +on: + # every sunday at 00:00 + schedule: + - cron: "0 0 * * SUN" + # or manually + workflow_dispatch: + +jobs: + delete-untagged-images: + name: Delete Untagged Images + runs-on: ubuntu-latest + steps: + - uses: bots-house/ghcr-delete-image-action@v1.1.0 # nosemgrep: yaml.github-actions.security.third-party-action-not-pinned-to-commit-sha.third-party-action-not-pinned-to-commit-sha + with: + # NOTE: at now only orgs is supported + owner: airtai + name: fastagency-studio + + token: ${{ secrets.GITHUB_TOKEN }} + # Keep latest N untagged images + untagged-keep-latest: 1 + - uses: bots-house/ghcr-delete-image-action@v1.1.0 # nosemgrep: yaml.github-actions.security.third-party-action-not-pinned-to-commit-sha.third-party-action-not-pinned-to-commit-sha + with: + # NOTE: at now only orgs is supported + owner: airtai + name: fastagency-studio-node + + token: ${{ secrets.GITHUB_TOKEN }} + # Keep latest N untagged images + untagged-keep-latest: 1 + - uses: bots-house/ghcr-delete-image-action@v1.1.0 # nosemgrep: yaml.github-actions.security.third-party-action-not-pinned-to-commit-sha.third-party-action-not-pinned-to-commit-sha + with: + # NOTE: at now only orgs is supported + owner: airtai + name: fastagency-studio-auth-callout + + token: ${{ secrets.GITHUB_TOKEN }} + # Keep latest N untagged images + untagged-keep-latest: 1 diff --git a/.github/workflows/enforcer.yaml b/.github/workflows/enforcer.yaml new file mode 100644 index 000000000..d6666e92b --- /dev/null +++ b/.github/workflows/enforcer.yaml @@ -0,0 +1,15 @@ +name: "Check Branch" + +on: + pull_request: + merge_group: + +jobs: + check_branch: + runs-on: ubuntu-latest + steps: + - name: Check branch + if: github.base_ref == 'main' && github.head_ref != 'dev' + run: | + echo "ERROR: You can only merge to main from dev." + exit 1 diff --git a/.github/workflows/maintenance-mode-switch.yml b/.github/workflows/maintenance-mode-switch.yml new file mode 100644 index 000000000..612c7aef4 --- /dev/null +++ b/.github/workflows/maintenance-mode-switch.yml @@ -0,0 +1,68 @@ +name: Switch Maintenance Mode + +on: + workflow_dispatch: + inputs: + choice: + type: choice + description: "Switch mode: maintenance or working" + required: true + default: "working" + options: + - "maintenance" + - "working" + +jobs: + switch_maintenance_mode: + runs-on: ubuntu-latest + + permissions: + # Give the default GITHUB_TOKEN write permission to commit and push the + # added or changed files to the repository. + contents: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Fetch main branch + run: git fetch origin main --depth=1 + + - name: Checkout main branch + run: git checkout main + + - name: Copy maintenance.html to tmp directory + run: | + mkdir tmp + cp maintenance.html tmp/ + + - name: Get current UTC timestamp and inject into maintenance.html + run: | + timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ") + echo "Current UTC timestamp: ${timestamp}" + sed -i "s|WRITE_TIMESTAMP_HERE|${timestamp}|" tmp/maintenance.html + + - name: Switch to gh-pages branch + run: | + git fetch origin gh-pages --depth=1 + git checkout gh-pages + + - name: Prepare for mode switch + run: | # nosemgrep + if [ "${{ github.event.inputs.choice }}" == "maintenance" ]; then + timestamp=$(date +"%Y%m%d%H%M%S") + mv index.html index_${timestamp}.html + mv tmp/maintenance.html index.html + elif [ "${{ github.event.inputs.choice }}" == "working" ]; then + latest_index=$(ls -t index_*.html | head -1) + mv $latest_index index.html + else + echo "Invalid choice specified" + exit 1 + fi + + - name: Cleanup temporary directory + run: rm -rf tmp + + - name: Commit mode switch changes + uses: stefanzweifel/git-auto-commit-action@v5 diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml new file mode 100644 index 000000000..7610f1011 --- /dev/null +++ b/.github/workflows/pipeline.yaml @@ -0,0 +1,263 @@ +name: Pipeline + +on: + push: + branches-ignore: + # - main + - dev + workflow_dispatch: + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + static-analysis: + strategy: + matrix: + python-version: ["3.9", "3.10", "3.11", "3.12"] + fail-fast: false + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install Dependencies and library + shell: bash + run: | + set -ux + python -m pip install --upgrade pip + pip install -e ".[docs,lint,test-core]" + - name: Run mypy + shell: bash + run: mypy fastagency tests + + - name: Run bandit + shell: bash + run: bandit -c pyproject.toml -r fastagency + + - name: Run Semgrep + shell: bash + run: semgrep scan --config auto --error + + test-without-llms: + strategy: + matrix: + python-version: ["3.9", "3.10", "3.11", "3.12"] + fail-fast: false + uses: ./.github/workflows/test.yaml + with: + python-version: ${{ matrix.python-version }} + environment: null + use-llms: "" + secrets: inherit # pragma: allowlist secret + + test-with-anthropic: + uses: ./.github/workflows/test.yaml + with: + python-version: "3.9" + environment: testing + use-llms: "anthropic" + secrets: inherit # pragma: allowlist secret + needs: + - test-without-llms + + test-with-azure_oai: + uses: ./.github/workflows/test.yaml + with: + python-version: "3.9" + environment: testing + use-llms: "azure_oai" + secrets: inherit # pragma: allowlist secret + needs: + - test-without-llms + + test-with-openai: + uses: ./.github/workflows/test.yaml + with: + python-version: "3.9" + environment: testing + use-llms: "openai" + secrets: inherit # pragma: allowlist secret + needs: + - test-without-llms + + test-with-togetherai: + uses: ./.github/workflows/test.yaml + with: + python-version: "3.9" + environment: testing + use-llms: "togetherai" + secrets: inherit # pragma: allowlist secret + needs: + - test-without-llms + + test-with-llm: + uses: ./.github/workflows/test.yaml + with: + python-version: "3.9" + environment: testing + use-llms: "llm" + secrets: inherit # pragma: allowlist secret + needs: + - test-without-llms + - test-with-anthropic + - test-with-azure_oai + - test-with-openai + - test-with-togetherai + + test-macos-latest: + if: github.ref != 'refs/heads/dev' && github.ref != 'refs/heads/main' && github.event.pull_request.draft == false + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + cache: "pip" + cache-dependency-path: pyproject.toml + + - name: Install Dependencies + if: steps.cache.outputs.cache-hit != 'true' + run: pip install .[docs,testing] + - name: Prisma + run: prisma generate + - name: Test + run: bash scripts/test.sh -m "not (db or nats or anthropic or azure_oai or openai or togetherai or llm)" + + test-windows-latest: + if: github.ref != 'refs/heads/dev' && github.ref != 'refs/heads/main' && github.event.pull_request.draft == false + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + cache: "pip" + cache-dependency-path: pyproject.toml + + - name: Install Dependencies + if: steps.cache.outputs.cache-hit != 'true' + run: pip install .[docs,testing] + - name: Prisma + run: prisma generate + - name: Test + run: bash scripts/test.sh -m "not (db or nats or anthropic or azure_oai or openai or togetherai or llm)" + + coverage-combine: + needs: + - test-without-llms + - test-with-llm + - test-with-anthropic + - test-with-azure_oai + - test-with-openai + - test-with-togetherai + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: "3.9" + cache: "pip" + cache-dependency-path: pyproject.toml + + - name: Get coverage files + uses: actions/download-artifact@v4 + with: + pattern: .coverage* + path: coverage + merge-multiple: true + + - run: pip install coverage[toml] + + - run: ls -la coverage + - run: coverage combine coverage + - run: coverage report + - run: coverage html --show-contexts --title "FastAgency coverage for ${{ github.sha }}" + + - name: Store coverage html + uses: actions/upload-artifact@v4 + with: + name: coverage-html + path: htmlcov + + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} + slug: airtai/fastagency + + unit-test-wasp: + if: github.ref != 'refs/heads/dev' && github.ref != 'refs/heads/main' && github.event.pull_request.draft == false + runs-on: ubuntu-22.04 + permissions: + contents: read + packages: write + steps: + - name: Checkout repository with cached git lfs + uses: nschloe/action-cached-lfs-checkout@v1 + - uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Install wasp + run: curl -sSL https://get.wasp-lang.dev/installer.sh | sh -s -- -v 0.14.0 + + - name: Temporary wasp fix + run: | + PATCH_FILE_PATH=$(cat $(whereis wasp | cut -d " " -f 2) | tail -1 | cut -d " " -f 1 | cut -d "=" -f 2)/Generator/templates/server/package.json + echo $PATCH_FILE_PATH + sed -i 's/"postinstall": "patch-package"/"postinstall": ""/' $PATCH_FILE_PATH + + - name: Run client tests + run: cd app && wasp test client run --silent + + - name: Build wasp + run: cd app && wasp build + + - name: Build frontend + run: cd app && cd .wasp/build/web-app && npm install && REACT_APP_API_URL=$REACT_APP_API_URL npm run build + + pre-commit-check: + runs-on: ubuntu-latest + env: + SKIP: "static-analysis" + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + - name: Set $PY environment variable + run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV + - uses: actions/cache@v4 + with: + path: ~/.cache/pre-commit + key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} + - name: Install Dependencies + run: pip install .[docs,testing] + - name: Prisma + run: prisma generate + - uses: pre-commit/action@v3.0.1 + + # https://github.com/marketplace/actions/alls-green#why + check: # This job does nothing and is only used for the branch protection + if: github.event.pull_request.draft == false + + needs: + - static-analysis + - pre-commit-check + - coverage-combine + - test-macos-latest + - test-windows-latest + - unit-test-wasp + + runs-on: ubuntu-latest + + steps: + - name: Decide whether the needed jobs succeeded or failed + uses: re-actors/alls-green@release/v1 # nosemgrep + with: + jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/publish-coverage.yml b/.github/workflows/publish-coverage.yml new file mode 100644 index 000000000..51165a35d --- /dev/null +++ b/.github/workflows/publish-coverage.yml @@ -0,0 +1,39 @@ +name: Smokeshow + +on: + workflow_run: + workflows: [Pipeline] + types: [completed] + ignore-branches: + - dev + + +permissions: + statuses: write + + +jobs: + smokeshow: + if: ${{ github.event.workflow_run.conclusion == 'success' }} + runs-on: ubuntu-latest + + steps: + - uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - run: pip install smokeshow + + - uses: dawidd6/action-download-artifact@v6 # nosemgrep + with: + workflow: pipeline.yaml + commit: ${{ github.event.workflow_run.head_sha }} + + - run: smokeshow upload coverage-html + env: + SMOKESHOW_GITHUB_STATUS_DESCRIPTION: Coverage {coverage-percentage} + SMOKESHOW_GITHUB_COVERAGE_THRESHOLD: 70 + SMOKESHOW_GITHUB_CONTEXT: coverage + SMOKESHOW_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SMOKESHOW_GITHUB_PR_HEAD_SHA: ${{ github.event.workflow_run.head_sha }} + SMOKESHOW_AUTH_KEY: ${{ secrets.SMOKESHOW_AUTH_KEY }} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 000000000..2134239e6 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,140 @@ +name: Test + +on: + workflow_call: + inputs: + environment: + description: 'Environment to run the tests in' + required: false + default: null + type: string + python-version: + description: 'Python version to run the tests in' + required: true + type: string + use-llms: + description: 'Use LLM in the tests' + required: true + type: string + +jobs: + test: + runs-on: ubuntu-latest + timeout-minutes: 15 + environment: ${{ inputs.environment }} + services: + nats: + image: diementros/nats:js + ports: + - 4222:4222 + postgres-wasp: + image: postgres:13 + env: + POSTGRES_USER: admin + POSTGRES_PASSWORD: password # pragma: allowlist secret + POSTGRES_DB: fastagency + ports: + - 5432:5432 + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + postgres-py: + image: postgres:13 + env: + POSTGRES_USER: admin + POSTGRES_PASSWORD: password # pragma: allowlist secret + POSTGRES_DB: pyfastagency + ports: + - 5433:5432 + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + env: + DATABASE_URL: postgresql://admin:password@localhost:5432/fastagency # pragma: allowlist secret + PY_DATABASE_URL: postgresql://admin:password@localhost:5433/pyfastagency # pragma: allowlist secret + NATS_URL: nats://localhost:4222 + + steps: + - name: Set up environment variables + run: | + # check if an environment var or secret is defined and set env var to its value + + # vars + + if [ -n "${{ vars.AZURE_API_VERSION }}" ]; then + echo "AZURE_API_VERSION=${{ vars.AZURE_API_VERSION }}" >> $GITHUB_ENV + fi + if [ -n "${{ vars.AZURE_API_ENDPOINT }}" ]; then + echo "AZURE_API_ENDPOINT=${{ vars.AZURE_API_ENDPOINT }}" >> $GITHUB_ENV + fi + if [ -n "${{ vars.AZURE_GPT35_MODEL }}" ]; then + echo "AZURE_GPT35_MODEL=${{ vars.AZURE_GPT35_MODEL }}" >> $GITHUB_ENV + fi + if [ -n "${{ vars.AZURE_GPT4_MODEL }}" ]; then + echo "AZURE_GPT4_MODEL=${{ vars.AZURE_GPT4_MODEL }}" >> $GITHUB_ENV + fi + if [ -n "${{ vars.AZURE_GPT4o_MODEL }}" ]; then + echo "AZURE_GPT4o_MODEL=${{ vars.AZURE_GPT4o_MODEL }}" >> $GITHUB_ENV + fi + + # secrets + + if [ -n "${{ secrets.AZURE_OPENAI_API_KEY }}" ]; then + echo "AZURE_OPENAI_API_KEY=${{ secrets.AZURE_OPENAI_API_KEY }}" >> $GITHUB_ENV + fi + if [ -n "${{ secrets.TOGETHER_API_KEY }}" ]; then + echo "TOGETHER_API_KEY=${{ secrets.TOGETHER_API_KEY }}" >> $GITHUB_ENV + fi + if [ -n "${{ secrets.OPENAI_API_KEY }}" ]; then + echo "OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}" >> $GITHUB_ENV + fi + if [ -n "${{ secrets.ANTHROPIC_API_KEY }}" ]; then + echo "ANTHROPIC_API_KEY=${{ secrets.ANTHROPIC_API_KEY }}" >> $GITHUB_ENV + fi + if [ -n "${{ secrets.BING_API_KEY }}" ]; then + echo "BING_API_KEY=${{ secrets.BING_API_KEY }}" >> $GITHUB_ENV + fi + + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ inputs.python-version }} + cache: "pip" + cache-dependency-path: pyproject.toml + - uses: actions/cache@v4 + id: cache + with: + path: ${{ env.pythonLocation }} + key: ${{ runner.os }}-python-${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }}-test-v03 + - uses: actions/setup-node@v4 + with: + node-version: 20 + - name: Install wasp + run: curl -sSL https://get.wasp-lang.dev/installer.sh | sh -s -- -v 0.14.0 + - name: Run wasp migration + run: cd app && wasp db migrate-dev && cd .. + - name: Install Dependencies + if: steps.cache.outputs.cache-hit != 'true' + run: pip install .[docs,testing] + - name: Install Pydantic v2 + run: pip install --pre "pydantic>=2,<3" + - run: mkdir coverage + - name: Prisma + run: prisma migrate deploy && prisma generate + - name: Test without LLMs + if: ${{ inputs.use-llms == '' }} + run: bash scripts/test.sh -vv -m "not (anthropic or azure_oai or openai or togetherai or llm)" + env: + COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ inputs.python-version }}-${{ inputs.use-llms }} + CONTEXT: ${{ runner.os }}-py${{ inputs.python-version }}-${{ inputs.use-llms }} + - name: Test with LLMs + if: ${{ inputs.use-llms != '' }} + run: bash scripts/test.sh -vv -m "${{ inputs.use-llms }}" + env: + COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ inputs.python-version }}-${{ inputs.use-llms }} + CONTEXT: ${{ runner.os }}-py${{ inputs.python-version }}-${{ inputs.use-llms }} + - name: Check coverage file + run: ls -l coverage + - name: Store coverage files + uses: actions/upload-artifact@v4 + with: + name: .coverage.${{ runner.os }}-py${{ inputs.python-version }}-${{ inputs.use-llms }} + path: coverage + if-no-files-found: error diff --git a/.github/workflows/update-cron-script.yml b/.github/workflows/update-cron-script.yml new file mode 100644 index 000000000..bbf10e52b --- /dev/null +++ b/.github/workflows/update-cron-script.yml @@ -0,0 +1,69 @@ +name: Update cron script when changes are made + +on: + push: + branches: + - main + paths: + - 'scripts/ci-check-certs.sh' + - '.github/workflows/update-cron-script.yml' + workflow_dispatch: + +jobs: + check-certs-expiry: + name: Update cron script when changes are made + strategy: + fail-fast: false + matrix: + domain: + [ + "fastagency.ai", + "staging.fastagency.ai", + "studio.fastagency.ai", + "studio.staging.fastagency.ai", + "api.fastagency.ai", + "api.staging.fastagency.ai", + "weather.tools.fastagency.ai", + "weather.tools.staging.fastagency.ai", + "monitoring.fastagency.ai", + ] + runs-on: ubuntu-22.04 + defaults: + run: + shell: bash + container: + image: ubuntu:22.04 + environment: + # Use staging if staging in matrix.domain else use production + name: ${{ contains(matrix.domain, 'staging') && 'staging' || 'production' }} + env: + SSH_KEY: ${{ secrets.SSH_KEY }} + steps: + - uses: actions/checkout@v3 + # This is to fix GIT not liking owner of the checkout dir - https://github.com/actions/runner/issues/2033#issuecomment-1204205989 + - run: chown -R $(id -u):$(id -g) $PWD + + - run: echo "PATH=$PATH:/github/home/.local/bin" >> $GITHUB_ENV + # Installing gettext to use envsubst command + - run: "which ssh-agent || ( apt-get update -y && apt-get install openssh-client git gettext -y )" + - run: apt-get update -y && apt-get install sshpass -y + - run: eval $(ssh-agent -s) + - run: mkdir -p ~/.ssh + - run: chmod 700 ~/.ssh + + - run: echo "DOMAIN=${{ matrix.domain }}" >> $GITHUB_ENV + + - run: ssh-keyscan "$DOMAIN" >> ~/.ssh/known_hosts + - run: chmod 644 ~/.ssh/known_hosts + + - run: echo "$SSH_KEY" | base64 --decode > key.pem + - run: chmod 600 key.pem + + - run: ssh -o StrictHostKeyChecking=no -i key.pem azureuser@"$DOMAIN" "ls -la" + + - run: envsubst '${DOMAIN}' < scripts/cron-check-certs.sh > tmp.sh + - run: chmod +x tmp.sh + - run: cat tmp.sh + - run: scp -i key.pem tmp.sh azureuser@"$DOMAIN":/home/azureuser/cron_check_certs.sh + + - run: rm key.pem diff --git a/.github/workflows/update-release-notes.yaml b/.github/workflows/update-release-notes.yaml new file mode 100644 index 000000000..b03ea6977 --- /dev/null +++ b/.github/workflows/update-release-notes.yaml @@ -0,0 +1,67 @@ +name: Update Release Notes + +on: + workflow_dispatch: null + push: + tags: + - '*' + +jobs: + update-release-notes: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + env: + TAG_NAME: ${{ github.ref_name }} + BRANCH_NAME: update-release-notes-${{ github.ref_name }} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Configure Git user + run: | + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + + - uses: tibdex/github-app-token@v2 + id: generate-token + with: + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.APP_PRIVATE_KEY }} + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install requests + + - name: Run update_releases.py script + run: python ./docs/update_releases.py + + - name: Check for changes + id: git-check + run: | + git diff --quiet || echo "::set-output name=changes_detected::true" + + - name: Show git diff + run: git diff + + - name: Create Pull Request + if: steps.git-check.outputs.changes_detected + uses: peter-evans/create-pull-request@v6 + with: + token: ${{ steps.generate-token.outputs.token }} + branch: ${{ env.BRANCH_NAME }} + base: "main" # The branch you want to merge into + title: "Update Release Notes for ${{ env.TAG_NAME }}" + commit-message: "Update Release Notes for ${{ env.TAG_NAME }}" + body: "This is an automated pull request to update the release notes for ${{ env.TAG_NAME }}" + labels: documentation + reviewers: davorrunje, Lancetnik, kumaranvpl, sternakt diff --git a/app/.gitattributes b/app/.gitattributes new file mode 100644 index 000000000..3a241177f --- /dev/null +++ b/app/.gitattributes @@ -0,0 +1,2 @@ +*.jpg filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 000000000..a1da9f482 --- /dev/null +++ b/app/.gitignore @@ -0,0 +1,14 @@ +.wasp/ +coverage/ +node_modules/ +**/.DS_Store + +# We ignore env files recognized and used by Wasp. +.env.server +.env.client + +# To be extra safe, we by default ignore any files with `.env` extension in them. +# If this is too agressive for you, consider allowing specific files with `!` operator, +# or modify/delete these two lines. +*.env +*.env.* diff --git a/app/.prettierrc b/app/.prettierrc new file mode 100644 index 000000000..8fa71eb75 --- /dev/null +++ b/app/.prettierrc @@ -0,0 +1,9 @@ +{ + "trailingComma": "es5", + "semi": true, + "singleQuote": true, + "endOfLine": "lf", + "tabWidth": 2, + "jsxSingleQuote": true, + "printWidth": 120 +} diff --git a/app/.waspignore b/app/.waspignore new file mode 100644 index 000000000..1c432f30d --- /dev/null +++ b/app/.waspignore @@ -0,0 +1,3 @@ +# Ignore editor tmp files +**/*~ +**/#*# diff --git a/app/.wasproot b/app/.wasproot new file mode 100644 index 000000000..ca2cfdb48 --- /dev/null +++ b/app/.wasproot @@ -0,0 +1 @@ +File marking the root of Wasp project. diff --git a/app/main.wasp b/app/main.wasp new file mode 100644 index 000000000..5f159ba0f --- /dev/null +++ b/app/main.wasp @@ -0,0 +1,385 @@ +app FastAgency { + wasp: { + version: "^0.14.0" + }, + title: "FastAgency", + head: [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + // you can put your analytics scripts here + // "", + // plausible has script extension `script.local.js` for local development + // "", + // google analytics only needs one script and will automatically detect if you are in dev mode + //"" + "", + "", + "" + ], + // 🔐 Auth out of the box! https://wasp-lang.dev/docs/auth/overview + auth: { + userEntity: User, + methods: { + google: { // Guide for setting up Auth via Google https://wasp-lang.dev/docs/auth/social-auth/overview + userSignupFields: import { getGoogleUserFields } from "@src/server/auth/setUsername.js", + configFn: import { getGoogleAuthConfig } from "@src/server/auth/setUsername.js", + }, + }, + onAuthFailedRedirectTo: "/login", + onAuthSucceededRedirectTo: "/build", + }, + // db: { + // seeds: [ + // import { devSeedUsers } from "@src/server/scripts/usersSeed.js", + // ] + // }, + client: { + rootComponent: import App from "@src/client/App", + }, + + emailSender: { + // Note that the "Dummy" provider is just for local development purposes. + // Make sure to check the server logs for the confirmation email token (it will not be sent to an address)! + // Please use SendGrid in production. See: https://docs.opensaas.sh/guides/email-sending/ + provider: SendGrid, + defaultFrom: { + name: "Open SaaS App", + // When using SendGrid, you must use the same email address that you configured your account to send out emails with! + email: "me@example.com" + }, + }, + webSocket: { + fn: import { socketFn } from "@src/server/websocket/webSocket.js" + }, +} + +/* 📡 These are the Wasp Routes (You can protect them easily w/ 'authRequired: true'); + * https://wasp-lang.dev/docs/tutorial/pages + */ + +route LandingPageRoute { path: "/", to: LandingPage } +page LandingPage { + component: import LandingPage from "@src/client/landing-page/LandingPage" +} + +route PlayGroundPageRoute { path: "/playground/:id?", to: PlayGroundPage } +page PlayGroundPage { + component: import PlayGroundPageWithCustomAuth from "@src/client/app/PlayGroundPage" +} + +route BuildRoute { path: "/build/:id?", to: BuildPage } +page BuildPage { + component: import BuildPageWithCustomAuth from "@src/client/app/BuildPage" +} + +route SecretsRoute { path: "/build/secrets", to: SecretsPage } +page SecretsPage { + component: import BuildPageWithCustomAuth from "@src/client/app/BuildPage" +} + +route ToolBoxRoute { path: "/build/toolboxes", to: ToolBoxPage } +page ToolBoxPage { + component: import BuildPageWithCustomAuth from "@src/client/app/BuildPage" +} + +route LLMsRoute { path: "/build/llms", to: LLMsPage } +page LLMsPage { + component: import BuildPageWithCustomAuth from "@src/client/app/BuildPage" +} + +route TeamsRoute { path: "/build/teams", to: TeamsPage } +page TeamsPage { + component: import BuildPageWithCustomAuth from "@src/client/app/BuildPage" +} + +route AgentsRoute { path: "/build/agents", to: AgentsPage } +page AgentsPage { + component: import BuildPageWithCustomAuth from "@src/client/app/BuildPage" +} + +route LoginRoute { path: "/login", to: LoginPage } +page LoginPage { + component: import Login from "@src/client/auth/LoginPage" +} + +route SignupRoute { path: "/signup", to: SignupPage } +page SignupPage { + component: import { Signup } from "@src/client/auth/SignupPage" +} + +route PricingPageRoute { path: "/pricing", to: PricingPage } +page PricingPage { + component: import PricingPage from "@src/client/app/PricingPage" +} + +route AccountRoute { path: "/account", to: AccountPage } +page AccountPage { + component: import AccountPageWithCustomAuth from "@src/client/app/AccountPage" +} + +route CheckoutRoute { path: "/checkout", to: CheckoutPage } +page CheckoutPage { + authRequired: true, + component: import Checkout from "@src/client/app/CheckoutPage" +} + +route TocPageRoute { path: "/toc", to: TocPage } +page TocPage { + component: import TocPage from "@src/client/app/TocPage", +} +route PrivacyRoute { path: "/privacy", to: PrivacyPage } +page PrivacyPage { + component: import PrivacyPage from "@src/client/app/PrivacyPage", +} +route ExamplesRoute { path: "/examples", to: ExamplesPage } +page ExamplesPage { + component: import ExamplesPage from "@src/client/app/ExamplesPage", +} + +route TutorialRoute { path: "/tutorial", to: TutorialPage } +page TutorialPage { + component: import TutorialPage from "@src/client/app/TutorialPage", +} + +route AdminRoute { path: "/admin", to: DashboardPage } +page DashboardPage { + authRequired: true, + component: import Dashboard from "@src/client/admin/pages/DashboardPage" +} + +route AdminUsersRoute { path: "/admin/users", to: AdminUsersPage } +page AdminUsersPage { + authRequired: true, + component: import AdminUsers from "@src/client/admin/pages/Users" +} + +route AdminSettingsRoute { path: "/admin/settings", to: AdminSettingsPage } +page AdminSettingsPage { + authRequired: true, + component: import AdminSettings from "@src/client/admin/pages/Settings" +} + +route AdminChartsRoute { path: "/admin/chart", to: AdminChartsPage } +page AdminChartsPage { + authRequired: true, + component: import AdminCharts from "@src/client/admin/pages/Chart" +} + +route AdminMessagesRoute { path: "/admin/messages", to: AdminMessagesPage } +page AdminMessagesPage { + authRequired: true, + component: import AdminMessages from "@src/client/admin/pages/Messages" +} + +route AdminFormElementsRoute { path: "/admin/forms/form-elements", to: AdminFormElementsPage } +page AdminFormElementsPage { + authRequired: true, + component: import AdminForms from "@src/client/admin/pages/Form/FormElements" +} + +route AdminFormLayoutsRoute { path: "/admin/forms/form-layouts", to: AdminFormLayoutsPage } +page AdminFormLayoutsPage { + authRequired: true, + component: import AdminForms from "@src/client/admin/pages/Form/FormLayout" +} + +route AdminCalendarRoute { path: "/admin/calendar", to: AdminCalendarPage } +page AdminCalendarPage { + authRequired: true, + component: import AdminCalendar from "@src/client/admin/pages/Calendar" +} + +route AdminUIAlertsRoute { path: "/admin/ui/alerts", to: AdminUIAlertsPage } +page AdminUIAlertsPage { + authRequired: true, + component: import AdminUI from "@src/client/admin/pages/UiElements/Alerts" +} + +route AdminUIButtonsRoute { path: "/admin/ui/buttons", to: AdminUIButtonsPage } +page AdminUIButtonsPage { + authRequired: true, + component: import AdminUI from "@src/client/admin/pages/UiElements/Buttons" +} + +/* ⛑ These are the Wasp Operations, which allow the client and server to interact: + * https://wasp-lang.dev/docs/data-model/operations/overview + */ + +// 📝 Actions + +// action stripePayment { +// fn: import { stripePayment } from "@src/server/actions.js", +// entities: [User] +// } + +action updateCurrentUser { + fn: import { updateCurrentUser } from "@src/server/actions.js", + entities: [User] +} + +action updateUserById { + fn: import { updateUserById } from "@src/server/actions.js", + entities: [User] +} + +action getAvailableModels { + fn: import { getAvailableModels } from "@src/server/actions.js", + entities: [] +} + +action updateUserModels { + fn: import { updateUserModels } from "@src/server/actions.js", + entities: [] +} + +action addUserModels { + fn: import { addUserModels } from "@src/server/actions.js", + entities: [] +} + +action deleteUserModels { + fn: import { deleteUserModels } from "@src/server/actions.js", + entities: [] +} + +action validateForm { + fn: import { validateForm } from "@src/server/actions.js", + entities: [] +} + +action createNewChat { + fn: import { createNewChat } from "@src/server/actions.js", + entities: [Chat, Conversation] +} + +action updateCurrentChat { + fn: import { updateCurrentChat } from "@src/server/actions.js", + entities: [Chat] +} + +action updateCurrentConversation { + fn: import { updateCurrentConversation } from "@src/server/actions.js", + entities: [Conversation] +} + +action deleteLastConversationInChat { + fn: import { deleteLastConversationInChat } from "@src/server/actions.js", + entities: [Conversation] +} + +action retryTeamChat { + fn: import { retryTeamChat } from "@src/server/actions.js", + entities: [Chat, Conversation] +} + +action createNewAndReturnAllConversations { + fn: import { createNewAndReturnAllConversations } from "@src/server/actions.js", + entities: [Conversation] +} + +action createNewAndReturnLastConversation { + fn: import { createNewAndReturnLastConversation } from "@src/server/actions.js", + entities: [Conversation] +} + +action getAgentResponse { + fn: import { getAgentResponse } from "@src/server/actions.js", + entities: [Chat, Conversation] +} + +action userModelSetup { + fn: import { userModelSetup } from "@src/server/actions.js", + entities: [User] +} + +// 📚 Queries + +query getDailyStats { + fn: import { getDailyStats } from "@src/server/queries.js", + entities: [User, DailyStats] +} + +query getPaginatedUsers { + fn: import { getPaginatedUsers } from "@src/server/queries.js", + entities: [User] +} + +query getModels { + fn: import { getModels } from "@src/server/queries.js", + entities: [User] +} + +query propertyDependencies { + fn: import { propertyDependencies } from "@src/server/queries.js", + entities: [User] +} + +query getChat { + fn: import { getChat } from "@src/server/queries.js", + entities: [Chat] +} + +query getChats { + fn: import { getChats } from "@src/server/queries.js", + entities: [Chat] +} + +query getConversations { + fn: import { getConversations } from "@src/server/queries.js", + entities: [Conversation] +} + +query getChatFromUUID { + fn: import { getChatFromUUID } from "@src/server/queries.js", + entities: [Chat] +} + +/* + * 📡 These are custom Wasp API Endpoints. Use them for callbacks, webhooks, etc. + * https://wasp-lang.dev/docs/advanced/apis + */ + +// api stripeWebhook { +// fn: import { stripeWebhook } from "@src/server/webhooks/stripe.js", +// entities: [User], +// middlewareConfigFn: import { stripeMiddlewareFn } from "@src/server/webhooks/stripe.js", +// httpRoute: (POST, "/stripe-webhook") +// } + + +/* đŸ•ĩī¸â€â™‚ī¸ These are the Wasp Jobs. Use them to set up recurring tasks and/or queues: + * https://wasp-lang.dev/docs/advanced/jobs + */ + +// job emailChecker { +// executor: PgBoss, +// perform: { +// fn: import { checkAndQueueEmails } from "@src/server/workers/checkAndQueueEmails.js" +// }, +// schedule: { +// cron: "0 7 * * 1" // at 7:00 am every Monday +// }, +// entities: [User] +// } + +// job dailyStatsJob { +// executor: PgBoss, +// perform: { +// fn: import { calculateDailyStats } from "@src/server/workers/calculateDailyStats.js" +// }, +// schedule: { +// cron: "0 * * * *" // every hour. useful in production +// // cron: "* * * * *" // every minute. useful for debugging +// }, +// entities: [User, DailyStats, Logs, PageViewSource] +// } diff --git a/app/migrations/20240409105442_initial_migration/migration.sql b/app/migrations/20240409105442_initial_migration/migration.sql new file mode 100644 index 000000000..c151f1e9c --- /dev/null +++ b/app/migrations/20240409105442_initial_migration/migration.sql @@ -0,0 +1,172 @@ +-- CreateTable +CREATE TABLE "User" ( + "id" SERIAL NOT NULL, + "email" TEXT, + "username" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "lastActiveTimestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "isAdmin" BOOLEAN NOT NULL DEFAULT false, + "stripeId" TEXT, + "checkoutSessionId" TEXT, + "hasPaid" BOOLEAN NOT NULL DEFAULT false, + "subscriptionTier" TEXT, + "subscriptionStatus" TEXT, + "sendEmail" BOOLEAN NOT NULL DEFAULT false, + "datePaid" TIMESTAMP(3), + "credits" INTEGER NOT NULL DEFAULT 3, + + CONSTRAINT "User_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "GptResponse" ( + "id" TEXT NOT NULL, + "content" TEXT NOT NULL, + "userId" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "GptResponse_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Task" ( + "id" TEXT NOT NULL, + "description" TEXT NOT NULL, + "time" TEXT NOT NULL DEFAULT '1', + "isDone" BOOLEAN NOT NULL DEFAULT false, + "userId" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "Task_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "File" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "type" TEXT NOT NULL, + "key" TEXT NOT NULL, + "uploadUrl" TEXT NOT NULL, + "userId" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "File_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ContactFormMessage" ( + "id" TEXT NOT NULL, + "content" TEXT NOT NULL, + "userId" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "isRead" BOOLEAN NOT NULL DEFAULT false, + "repliedAt" TIMESTAMP(3), + + CONSTRAINT "ContactFormMessage_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "DailyStats" ( + "id" SERIAL NOT NULL, + "date" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "totalViews" INTEGER NOT NULL DEFAULT 0, + "prevDayViewsChangePercent" TEXT NOT NULL DEFAULT '0', + "userCount" INTEGER NOT NULL DEFAULT 0, + "paidUserCount" INTEGER NOT NULL DEFAULT 0, + "userDelta" INTEGER NOT NULL DEFAULT 0, + "paidUserDelta" INTEGER NOT NULL DEFAULT 0, + "totalRevenue" DOUBLE PRECISION NOT NULL DEFAULT 0, + "totalProfit" DOUBLE PRECISION NOT NULL DEFAULT 0, + + CONSTRAINT "DailyStats_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "PageViewSource" ( + "date" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "name" TEXT NOT NULL, + "visitors" INTEGER NOT NULL, + "dailyStatsId" INTEGER, + + CONSTRAINT "PageViewSource_pkey" PRIMARY KEY ("date","name") +); + +-- CreateTable +CREATE TABLE "Logs" ( + "id" SERIAL NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "message" TEXT NOT NULL, + "level" TEXT NOT NULL, + + CONSTRAINT "Logs_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Auth" ( + "id" TEXT NOT NULL, + "userId" INTEGER, + + CONSTRAINT "Auth_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "AuthIdentity" ( + "providerName" TEXT NOT NULL, + "providerUserId" TEXT NOT NULL, + "providerData" TEXT NOT NULL DEFAULT '{}', + "authId" TEXT NOT NULL, + + CONSTRAINT "AuthIdentity_pkey" PRIMARY KEY ("providerName","providerUserId") +); + +-- CreateTable +CREATE TABLE "Session" ( + "id" TEXT NOT NULL, + "expiresAt" TIMESTAMP(3) NOT NULL, + "userId" TEXT NOT NULL, + + CONSTRAINT "Session_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); + +-- CreateIndex +CREATE UNIQUE INDEX "User_username_key" ON "User"("username"); + +-- CreateIndex +CREATE UNIQUE INDEX "DailyStats_date_key" ON "DailyStats"("date"); + +-- CreateIndex +CREATE UNIQUE INDEX "Auth_userId_key" ON "Auth"("userId"); + +-- CreateIndex +CREATE UNIQUE INDEX "Session_id_key" ON "Session"("id"); + +-- CreateIndex +CREATE INDEX "Session_userId_idx" ON "Session"("userId"); + +-- AddForeignKey +ALTER TABLE "GptResponse" ADD CONSTRAINT "GptResponse_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Task" ADD CONSTRAINT "Task_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "File" ADD CONSTRAINT "File_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ContactFormMessage" ADD CONSTRAINT "ContactFormMessage_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "PageViewSource" ADD CONSTRAINT "PageViewSource_dailyStatsId_fkey" FOREIGN KEY ("dailyStatsId") REFERENCES "DailyStats"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Auth" ADD CONSTRAINT "Auth_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "AuthIdentity" ADD CONSTRAINT "AuthIdentity_authId_fkey" FOREIGN KEY ("authId") REFERENCES "Auth"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Session" ADD CONSTRAINT "Session_userId_fkey" FOREIGN KEY ("userId") REFERENCES "Auth"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/app/migrations/20240409131235_cleanup_entities/migration.sql b/app/migrations/20240409131235_cleanup_entities/migration.sql new file mode 100644 index 000000000..464ae7b50 --- /dev/null +++ b/app/migrations/20240409131235_cleanup_entities/migration.sql @@ -0,0 +1,32 @@ +/* + Warnings: + + - You are about to drop the `ContactFormMessage` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `File` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `GptResponse` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `Task` table. If the table is not empty, all the data it contains will be lost. + +*/ +-- DropForeignKey +ALTER TABLE "ContactFormMessage" DROP CONSTRAINT "ContactFormMessage_userId_fkey"; + +-- DropForeignKey +ALTER TABLE "File" DROP CONSTRAINT "File_userId_fkey"; + +-- DropForeignKey +ALTER TABLE "GptResponse" DROP CONSTRAINT "GptResponse_userId_fkey"; + +-- DropForeignKey +ALTER TABLE "Task" DROP CONSTRAINT "Task_userId_fkey"; + +-- DropTable +DROP TABLE "ContactFormMessage"; + +-- DropTable +DROP TABLE "File"; + +-- DropTable +DROP TABLE "GptResponse"; + +-- DropTable +DROP TABLE "Task"; diff --git a/app/migrations/20240412085104_add_fields_to_user_entity_to_trach_signup_complete_status/migration.sql b/app/migrations/20240412085104_add_fields_to_user_entity_to_trach_signup_complete_status/migration.sql new file mode 100644 index 000000000..29da96fd8 --- /dev/null +++ b/app/migrations/20240412085104_add_fields_to_user_entity_to_trach_signup_complete_status/migration.sql @@ -0,0 +1,4 @@ +-- AlterTable +ALTER TABLE "User" ADD COLUMN "hasAcceptedTos" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "hasSubscribedToMarketingEmails" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "isSignUpComplete" BOOLEAN NOT NULL DEFAULT false; diff --git a/app/migrations/20240506081108_add_uuid_column_to_user_model/migration.sql b/app/migrations/20240506081108_add_uuid_column_to_user_model/migration.sql new file mode 100644 index 000000000..ce7e7aa5c --- /dev/null +++ b/app/migrations/20240506081108_add_uuid_column_to_user_model/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "User" ADD COLUMN "uuid" TEXT; diff --git a/app/migrations/20240506081341_set_uuid_for_existing_users/migration.sql b/app/migrations/20240506081341_set_uuid_for_existing_users/migration.sql new file mode 100644 index 000000000..13107a002 --- /dev/null +++ b/app/migrations/20240506081341_set_uuid_for_existing_users/migration.sql @@ -0,0 +1,2 @@ +-- Populate uuid field with unique UUIDs for existing entries +UPDATE "User" SET "uuid" = gen_random_uuid() WHERE "uuid" IS NULL; diff --git a/app/migrations/20240508054330_add_chat_and_conversation_models/migration.sql b/app/migrations/20240508054330_add_chat_and_conversation_models/migration.sql new file mode 100644 index 000000000..75e758871 --- /dev/null +++ b/app/migrations/20240508054330_add_chat_and_conversation_models/migration.sql @@ -0,0 +1,50 @@ +-- CreateTable +CREATE TABLE "Chat" ( + "id" SERIAL NOT NULL, + "uuid" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "team_id" INTEGER, + "team_name" TEXT, + "team_status" TEXT, + "chatType" TEXT, + "shouldShowChat" BOOLEAN NOT NULL DEFAULT false, + "proposedUserAction" TEXT[] DEFAULT ARRAY[]::TEXT[], + "userRespondedWithNextAction" BOOLEAN NOT NULL DEFAULT false, + "emailContent" TEXT, + "agentChatHistory" TEXT, + "isExceptionOccured" BOOLEAN NOT NULL DEFAULT false, + "showLoader" BOOLEAN NOT NULL DEFAULT false, + "smartSuggestions" JSONB NOT NULL DEFAULT '{ "suggestions": [""], "type": ""}', + "streamAgentResponse" BOOLEAN NOT NULL DEFAULT false, + "customerBrief" TEXT, + "userId" INTEGER, + "name" TEXT DEFAULT 'New chat', + "isChatNameUpdated" BOOLEAN NOT NULL DEFAULT false, + + CONSTRAINT "Chat_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Conversation" ( + "id" SERIAL NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "message" TEXT NOT NULL, + "role" TEXT NOT NULL, + "agentConversationHistory" TEXT, + "isLoading" BOOLEAN NOT NULL DEFAULT false, + "chatId" INTEGER, + "userId" INTEGER, + + CONSTRAINT "Conversation_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "Chat" ADD CONSTRAINT "Chat_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Conversation" ADD CONSTRAINT "Conversation_chatId_fkey" FOREIGN KEY ("chatId") REFERENCES "Chat"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Conversation" ADD CONSTRAINT "Conversation_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/app/migrations/20240508144539_add_column_to_store_the_selected_team_name/migration.sql b/app/migrations/20240508144539_add_column_to_store_the_selected_team_name/migration.sql new file mode 100644 index 000000000..63fa4ed46 --- /dev/null +++ b/app/migrations/20240508144539_add_column_to_store_the_selected_team_name/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Chat" ADD COLUMN "selectedTeam" TEXT; diff --git a/app/migrations/20240517080637_add_column_to_track_chat_completion_status/migration.sql b/app/migrations/20240517080637_add_column_to_track_chat_completion_status/migration.sql new file mode 100644 index 000000000..d6f5d7f9d --- /dev/null +++ b/app/migrations/20240517080637_add_column_to_track_chat_completion_status/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Chat" ADD COLUMN "isChatTerminated" BOOLEAN NOT NULL DEFAULT false; diff --git a/app/migrations/20240522125442_delete_daily_analysis_and_smart_suggestions_related_columns_from_chat_model/migration.sql b/app/migrations/20240522125442_delete_daily_analysis_and_smart_suggestions_related_columns_from_chat_model/migration.sql new file mode 100644 index 000000000..6bce11cac --- /dev/null +++ b/app/migrations/20240522125442_delete_daily_analysis_and_smart_suggestions_related_columns_from_chat_model/migration.sql @@ -0,0 +1,16 @@ +/* + Warnings: + + - You are about to drop the column `chatType` on the `Chat` table. All the data in the column will be lost. + - You are about to drop the column `emailContent` on the `Chat` table. All the data in the column will be lost. + - You are about to drop the column `proposedUserAction` on the `Chat` table. All the data in the column will be lost. + - You are about to drop the column `shouldShowChat` on the `Chat` table. All the data in the column will be lost. + - You are about to drop the column `smartSuggestions` on the `Chat` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Chat" DROP COLUMN "chatType", +DROP COLUMN "emailContent", +DROP COLUMN "proposedUserAction", +DROP COLUMN "shouldShowChat", +DROP COLUMN "smartSuggestions"; diff --git a/app/migrations/20240619070132_add_new_column_in_user_model_to_store_the_user_setup_status/migration.sql b/app/migrations/20240619070132_add_new_column_in_user_model_to_store_the_user_setup_status/migration.sql new file mode 100644 index 000000000..ae48d3e62 --- /dev/null +++ b/app/migrations/20240619070132_add_new_column_in_user_model_to_store_the_user_setup_status/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "User" ADD COLUMN "isSetUpComplete" BOOLEAN NOT NULL DEFAULT false; diff --git a/app/migrations/migration_lock.toml b/app/migrations/migration_lock.toml new file mode 100644 index 000000000..99e4f2009 --- /dev/null +++ b/app/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (i.e. Git) +provider = "postgresql" diff --git a/app/package-lock.json b/app/package-lock.json new file mode 100644 index 000000000..289e45dd3 --- /dev/null +++ b/app/package-lock.json @@ -0,0 +1,13434 @@ +{ + "name": "opensaas", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "opensaas", + "dependencies": { + "@aws-sdk/client-s3": "^3.523.0", + "@aws-sdk/s3-request-presigner": "^3.523.0", + "@chakra-ui/react": "2.8.2", + "@faker-js/faker": "8.3.1", + "@google-analytics/data": "4.1.0", + "@headlessui/react": "1.7.13", + "@tailwindcss/forms": "^0.5.3", + "@tailwindcss/typography": "^0.5.7", + "apexcharts": "^3.41.0", + "clsx": "^2.1.0", + "headlessui": "^0.0.0", + "lodash": "^4.17.21", + "markdown-to-jsx": "7.3.2", + "nats": "^2.24.0", + "node-fetch": "3.3.0", + "openai": "^4.24.1", + "prettier": "3.1.1", + "prettier-plugin-tailwindcss": "0.5.11", + "react": "^18.2.0", + "react-apexcharts": "^1.4.1", + "react-hot-toast": "^2.4.1", + "react-icons": "4.11.0", + "react-select": "5.8.0", + "react-textarea-autosize": "^8.5.3", + "stripe": "11.15.0", + "tailwind-merge": "^2.2.1", + "uuid": "^9.0.1", + "wasp": "file:.wasp/out/sdk/wasp", + "zod": "3.22.4" + }, + "devDependencies": { + "@types/express": "^4.17.13", + "@types/react": "^18.0.37", + "@types/react-router-dom": "^5.3.3", + "@vitest/coverage-v8": "^1.6.0", + "prisma": "4.16.2", + "typescript": "^5.1.0", + "vite": "^5.1.7" + } + }, + ".wasp/out/sdk/wasp": { + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@lucia-auth/adapter-prisma": "^4.0.0", + "@prisma/client": "4.16.2", + "@sendgrid/mail": "^7.7.0", + "@socket.io/component-emitter": "^4.0.0", + "@stitches/react": "^1.2.8", + "@tanstack/react-query": "^4.29.0", + "@testing-library/jest-dom": "^6.3.0", + "@testing-library/react": "^14.1.2", + "@types/express-serve-static-core": "^4.17.13", + "@types/react-router-dom": "^5.3.3", + "@vitest/ui": "^1.2.1", + "autoprefixer": "^10.4.13", + "axios": "^1.4.0", + "express": "~4.18.1", + "jsdom": "^21.1.1", + "lodash.merge": "^4.6.2", + "lucia": "^3.0.1", + "mitt": "3.0.0", + "msw": "^1.1.0", + "oslo": "^1.1.2", + "postcss": "^8.4.21", + "prisma": "4.16.2", + "react": "^18.2.0", + "react-hook-form": "^7.45.4", + "react-router-dom": "^5.3.3", + "socket.io": "^4.6.1", + "socket.io-client": "^4.6.1", + "superjson": "^1.12.2", + "tailwindcss": "^3.2.7", + "vitest": "^1.2.1" + }, + "devDependencies": { + "@tsconfig/node18": "latest" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2/-/argon2-1.7.0.tgz", + "integrity": "sha512-zfULc+/tmcWcxn+nHkbyY8vP3+MpEqKORbszt4UkpqZgBgDAAIYvuDN/zukfTgdmo6tmJKKVfzigZOPk4LlIog==", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@node-rs/argon2-android-arm-eabi": "1.7.0", + "@node-rs/argon2-android-arm64": "1.7.0", + "@node-rs/argon2-darwin-arm64": "1.7.0", + "@node-rs/argon2-darwin-x64": "1.7.0", + "@node-rs/argon2-freebsd-x64": "1.7.0", + "@node-rs/argon2-linux-arm-gnueabihf": "1.7.0", + "@node-rs/argon2-linux-arm64-gnu": "1.7.0", + "@node-rs/argon2-linux-arm64-musl": "1.7.0", + "@node-rs/argon2-linux-x64-gnu": "1.7.0", + "@node-rs/argon2-linux-x64-musl": "1.7.0", + "@node-rs/argon2-wasm32-wasi": "1.7.0", + "@node-rs/argon2-win32-arm64-msvc": "1.7.0", + "@node-rs/argon2-win32-ia32-msvc": "1.7.0", + "@node-rs/argon2-win32-x64-msvc": "1.7.0" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-android-arm-eabi": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-android-arm-eabi/-/argon2-android-arm-eabi-1.7.0.tgz", + "integrity": "sha512-udDqkr5P9E+wYX1SZwAVPdyfYvaF4ry9Tm+R9LkfSHbzWH0uhU6zjIwNRp7m+n4gx691rk+lqqDAIP8RLKwbhg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-android-arm64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-android-arm64/-/argon2-android-arm64-1.7.0.tgz", + "integrity": "sha512-s9j/G30xKUx8WU50WIhF0fIl1EdhBGq0RQ06lEhZ0Gi0ap8lhqbE2Bn5h3/G2D1k0Dx+yjeVVNmt/xOQIRG38A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-darwin-arm64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-darwin-arm64/-/argon2-darwin-arm64-1.7.0.tgz", + "integrity": "sha512-ZIz4L6HGOB9U1kW23g+m7anGNuTZ0RuTw0vNp3o+2DWpb8u8rODq6A8tH4JRL79S+Co/Nq608m9uackN2pe0Rw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-darwin-x64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-darwin-x64/-/argon2-darwin-x64-1.7.0.tgz", + "integrity": "sha512-5oi/pxqVhODW/pj1+3zElMTn/YukQeywPHHYDbcAW3KsojFjKySfhcJMd1DjKTc+CHQI+4lOxZzSUzK7mI14Hw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-freebsd-x64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-freebsd-x64/-/argon2-freebsd-x64-1.7.0.tgz", + "integrity": "sha512-Ify08683hA4QVXYoIm5SUWOY5DPIT/CMB0CQT+IdxQAg/F+qp342+lUkeAtD5bvStQuCx/dFO3bnnzoe2clMhA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-linux-arm-gnueabihf": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm-gnueabihf/-/argon2-linux-arm-gnueabihf-1.7.0.tgz", + "integrity": "sha512-7DjDZ1h5AUHAtRNjD19RnQatbhL+uuxBASuuXIBu4/w6Dx8n7YPxwTP4MXfsvuRgKuMWiOb/Ub/HJ3kXVCXRkg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-linux-arm64-gnu": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm64-gnu/-/argon2-linux-arm64-gnu-1.7.0.tgz", + "integrity": "sha512-nJDoMP4Y3YcqGswE4DvP080w6O24RmnFEDnL0emdI8Nou17kNYBzP2546Nasx9GCyLzRcYQwZOUjrtUuQ+od2g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-linux-arm64-musl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm64-musl/-/argon2-linux-arm64-musl-1.7.0.tgz", + "integrity": "sha512-BKWS8iVconhE3jrb9mj6t1J9vwUqQPpzCbUKxfTGJfc+kNL58F1SXHBoe2cDYGnHrFEHTY0YochzXoAfm4Dm/A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-linux-x64-gnu": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-x64-gnu/-/argon2-linux-x64-gnu-1.7.0.tgz", + "integrity": "sha512-EmgqZOlf4Jurk/szW1iTsVISx25bKksVC5uttJDUloTgsAgIGReCpUUO1R24pBhu9ESJa47iv8NSf3yAfGv6jQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-linux-x64-musl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-x64-musl/-/argon2-linux-x64-musl-1.7.0.tgz", + "integrity": "sha512-/o1efYCYIxjfuoRYyBTi2Iy+1iFfhqHCvvVsnjNSgO1xWiWrX0Rrt/xXW5Zsl7vS2Y+yu8PL8KFWRzZhaVxfKA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-wasm32-wasi": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-wasm32-wasi/-/argon2-wasm32-wasi-1.7.0.tgz", + "integrity": "sha512-Evmk9VcxqnuwQftfAfYEr6YZYSPLzmKUsbFIMep5nTt9PT4XYRFAERj7wNYp+rOcBenF3X4xoB+LhwcOMTNE5w==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/core": "^0.45.0", + "@emnapi/runtime": "^0.45.0", + "@tybys/wasm-util": "^0.8.1", + "memfs-browser": "^3.4.13000" + }, + "engines": { + "node": ">=14.0.0" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-win32-arm64-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-arm64-msvc/-/argon2-win32-arm64-msvc-1.7.0.tgz", + "integrity": "sha512-qgsU7T004COWWpSA0tppDqDxbPLgg8FaU09krIJ7FBl71Sz8SFO40h7fDIjfbTT5w7u6mcaINMQ5bSHu75PCaA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-win32-ia32-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-ia32-msvc/-/argon2-win32-ia32-msvc-1.7.0.tgz", + "integrity": "sha512-JGafwWYQ/HpZ3XSwP4adQ6W41pRvhcdXvpzIWtKvX+17+xEXAe2nmGWM6s27pVkg1iV2ZtoYLRDkOUoGqZkCcg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/argon2-win32-x64-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-x64-msvc/-/argon2-win32-x64-msvc-1.7.0.tgz", + "integrity": "sha512-9oq4ShyFakw8AG3mRls0AoCpxBFcimYx7+jvXeAf2OqKNO+mSA6eZ9z7KQeVCi0+SOEUYxMGf5UiGiDb9R6+9Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt/-/bcrypt-1.9.0.tgz", + "integrity": "sha512-u2OlIxW264bFUfvbFqDz9HZKFjwe8FHFtn7T/U8mYjPZ7DWYpbUB+/dkW/QgYfMSfR0ejkyuWaBBe0coW7/7ig==", + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@node-rs/bcrypt-android-arm-eabi": "1.9.0", + "@node-rs/bcrypt-android-arm64": "1.9.0", + "@node-rs/bcrypt-darwin-arm64": "1.9.0", + "@node-rs/bcrypt-darwin-x64": "1.9.0", + "@node-rs/bcrypt-freebsd-x64": "1.9.0", + "@node-rs/bcrypt-linux-arm-gnueabihf": "1.9.0", + "@node-rs/bcrypt-linux-arm64-gnu": "1.9.0", + "@node-rs/bcrypt-linux-arm64-musl": "1.9.0", + "@node-rs/bcrypt-linux-x64-gnu": "1.9.0", + "@node-rs/bcrypt-linux-x64-musl": "1.9.0", + "@node-rs/bcrypt-wasm32-wasi": "1.9.0", + "@node-rs/bcrypt-win32-arm64-msvc": "1.9.0", + "@node-rs/bcrypt-win32-ia32-msvc": "1.9.0", + "@node-rs/bcrypt-win32-x64-msvc": "1.9.0" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-android-arm-eabi": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-android-arm-eabi/-/bcrypt-android-arm-eabi-1.9.0.tgz", + "integrity": "sha512-nOCFISGtnodGHNiLrG0WYLWr81qQzZKYfmwHc7muUeq+KY0sQXyHOwZk9OuNQAWv/lnntmtbwkwT0QNEmOyLvA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-android-arm64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-android-arm64/-/bcrypt-android-arm64-1.9.0.tgz", + "integrity": "sha512-+ZrIAtigVmjYkqZQTThHVlz0+TG6D+GDHWhVKvR2DifjtqJ0i+mb9gjo++hN+fWEQdWNGxKCiBBjwgT4EcXd6A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-darwin-arm64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-darwin-arm64/-/bcrypt-darwin-arm64-1.9.0.tgz", + "integrity": "sha512-CQiS+F9Pa0XozvkXR1g7uXE9QvBOPOplDg0iCCPRYTN9PqA5qYxhwe48G3o+v2UeQceNRrbnEtWuANm7JRqIhw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-darwin-x64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-darwin-x64/-/bcrypt-darwin-x64-1.9.0.tgz", + "integrity": "sha512-4pTKGawYd7sNEjdJ7R/R67uwQH1VvwPZ0SSUMmeNHbxD5QlwAPXdDH11q22uzVXsvNFZ6nGQBg8No5OUGpx6Ug==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-freebsd-x64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-freebsd-x64/-/bcrypt-freebsd-x64-1.9.0.tgz", + "integrity": "sha512-UmWzySX4BJhT/B8xmTru6iFif3h0Rpx3TqxRLCcbgmH43r7k5/9QuhpiyzpvKGpKHJCFNm4F3rC2wghvw5FCIg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-linux-arm-gnueabihf": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm-gnueabihf/-/bcrypt-linux-arm-gnueabihf-1.9.0.tgz", + "integrity": "sha512-8qoX4PgBND2cVwsbajoAWo3NwdfJPEXgpCsZQZURz42oMjbGyhhSYbovBCskGU3EBLoC8RA2B1jFWooeYVn5BA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-linux-arm64-gnu": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm64-gnu/-/bcrypt-linux-arm64-gnu-1.9.0.tgz", + "integrity": "sha512-TuAC6kx0SbcIA4mSEWPi+OCcDjTQUMl213v5gMNlttF+D4ieIZx6pPDGTaMO6M2PDHTeCG0CBzZl0Lu+9b0c7Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-linux-arm64-musl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm64-musl/-/bcrypt-linux-arm64-musl-1.9.0.tgz", + "integrity": "sha512-/sIvKDABOI8QOEnLD7hIj02BVaNOuCIWBKvxcJOt8+TuwJ6zmY1UI5kSv9d99WbiHjTp97wtAUbZQwauU4b9ew==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-linux-x64-gnu": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-x64-gnu/-/bcrypt-linux-x64-gnu-1.9.0.tgz", + "integrity": "sha512-DyyhDHDsLBsCKz1tZ1hLvUZSc1DK0FU0v52jK6IBQxrj24WscSU9zZe7ie/V9kdmA4Ep57BfpWX8Dsa2JxGdgQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-linux-x64-musl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-x64-musl/-/bcrypt-linux-x64-musl-1.9.0.tgz", + "integrity": "sha512-duIiuqQ+Lew8ASSAYm6ZRqcmfBGWwsi81XLUwz86a2HR7Qv6V4yc3ZAUQovAikhjCsIqe8C11JlAZSK6+PlXYg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-wasm32-wasi": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-wasm32-wasi/-/bcrypt-wasm32-wasi-1.9.0.tgz", + "integrity": "sha512-ylaGmn9Wjwv/D5lxtawttx3H6Uu2WTTR7lWlRHGT6Ga/MB1Vj4OjSGUW8G8zIVnKuXpGbZ92pgHlt4HUpSLctw==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/core": "^0.45.0", + "@emnapi/runtime": "^0.45.0", + "@tybys/wasm-util": "^0.8.1", + "memfs-browser": "^3.4.13000" + }, + "engines": { + "node": ">=14.0.0" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-win32-arm64-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-arm64-msvc/-/bcrypt-win32-arm64-msvc-1.9.0.tgz", + "integrity": "sha512-2h86gF7QFyEzODuDFml/Dp1MSJoZjxJ4yyT2Erf4NkwsiA5MqowUhUsorRwZhX6+2CtlGa7orbwi13AKMsYndw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-win32-ia32-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-ia32-msvc/-/bcrypt-win32-ia32-msvc-1.9.0.tgz", + "integrity": "sha512-kqxalCvhs4FkN0+gWWfa4Bdy2NQAkfiqq/CEf6mNXC13RSV673Ev9V8sRlQyNpCHCNkeXfOT9pgoBdJmMs9muA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/@node-rs/bcrypt-win32-x64-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-x64-msvc/-/bcrypt-win32-x64-msvc-1.9.0.tgz", + "integrity": "sha512-2y0Tuo6ZAT2Cz8V7DHulSlv1Bip3zbzeXyeur+uR25IRNYXKvI/P99Zl85Fbuu/zzYAZRLLlGTRe6/9IHofe/w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + ".wasp/out/sdk/wasp/node_modules/oslo": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/oslo/-/oslo-1.1.2.tgz", + "integrity": "sha512-l5tmumAHJy6wTfcxjwbPtcEn23lxnsBqbW1PqM11lqnQ79Q8Gzc7b3+OjRpLTbiqkfvhT4/BZ2Ooe8/QCJxyEg==", + "dependencies": { + "@node-rs/argon2": "1.7.0", + "@node-rs/bcrypt": "1.9.0", + "auri": "1.0.2" + } + }, + "node_modules/@actions/core": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz", + "integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } + }, + "node_modules/@actions/core/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==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@actions/http-client": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.0.tgz", + "integrity": "sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg==", + "dependencies": { + "tunnel": "^0.0.6", + "undici": "^5.25.4" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", + "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==" + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/crc32/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/crc32c": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz", + "integrity": "sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/crc32c/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/ie11-detection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha1-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz", + "integrity": "sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/util": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-s3": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.523.0.tgz", + "integrity": "sha512-d8kFgZpdHOCLtv38nNkItTs3Ew+Ui/YadkCprvbY0boCrFZFTynficFM4orVk+fV3beJ2qVeJm6t8t14V5TaVA==", + "dependencies": { + "@aws-crypto/sha1-browser": "3.0.0", + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.523.0", + "@aws-sdk/core": "3.523.0", + "@aws-sdk/credential-provider-node": "3.523.0", + "@aws-sdk/middleware-bucket-endpoint": "3.523.0", + "@aws-sdk/middleware-expect-continue": "3.523.0", + "@aws-sdk/middleware-flexible-checksums": "3.523.0", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-location-constraint": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-sdk-s3": "3.523.0", + "@aws-sdk/middleware-signing": "3.523.0", + "@aws-sdk/middleware-ssec": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.523.0", + "@aws-sdk/region-config-resolver": "3.523.0", + "@aws-sdk/signature-v4-multi-region": "3.523.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.523.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.523.0", + "@aws-sdk/xml-builder": "3.523.0", + "@smithy/config-resolver": "^2.1.3", + "@smithy/core": "^1.3.4", + "@smithy/eventstream-serde-browser": "^2.1.3", + "@smithy/eventstream-serde-config-resolver": "^2.1.3", + "@smithy/eventstream-serde-node": "^2.1.3", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-blob-browser": "^2.1.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/hash-stream-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/md5-js": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.3", + "@smithy/middleware-retry": "^2.1.3", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.3", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.1", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.3", + "@smithy/util-defaults-mode-node": "^2.2.2", + "@smithy/util-endpoints": "^1.1.3", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-stream": "^2.1.3", + "@smithy/util-utf8": "^2.1.1", + "@smithy/util-waiter": "^2.1.3", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.523.0.tgz", + "integrity": "sha512-vob/Tk9bIr6VIyzScBWsKpP92ACI6/aOXBL2BITgvRWl5Umqi1jXFtfssj/N2UJHM4CBMRwxIJ33InfN0gPxZw==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.523.0", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.523.0", + "@aws-sdk/region-config-resolver": "3.523.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.523.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.523.0", + "@smithy/config-resolver": "^2.1.3", + "@smithy/core": "^1.3.4", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.3", + "@smithy/middleware-retry": "^2.1.3", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.3", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.1", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.3", + "@smithy/util-defaults-mode-node": "^2.2.2", + "@smithy/util-endpoints": "^1.1.3", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.523.0.tgz", + "integrity": "sha512-OktkdiuJ5DtYgNrJlo53Tf7pJ+UWfOt7V7or0ije6MysLP18GwlTkbg2UE4EUtfOxt/baXxHMlExB1vmRtlATw==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.523.0", + "@aws-sdk/core": "3.523.0", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.523.0", + "@aws-sdk/region-config-resolver": "3.523.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.523.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.523.0", + "@smithy/config-resolver": "^2.1.3", + "@smithy/core": "^1.3.4", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.3", + "@smithy/middleware-retry": "^2.1.3", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.3", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.1", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.3", + "@smithy/util-defaults-mode-node": "^2.2.2", + "@smithy/util-endpoints": "^1.1.3", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/credential-provider-node": "^3.523.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.523.0.tgz", + "integrity": "sha512-ggAkL8szaJkqD8oOsS68URJ9XMDbLA/INO/NPZJqv9BhmftecJvfy43uUVWGNs6n4YXNzfF0Y+zQ3DT0fZkv9g==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.523.0", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.523.0", + "@aws-sdk/region-config-resolver": "3.523.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.523.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.523.0", + "@smithy/config-resolver": "^2.1.3", + "@smithy/core": "^1.3.4", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.3", + "@smithy/middleware-retry": "^2.1.3", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.3", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.1", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.3", + "@smithy/util-defaults-mode-node": "^2.2.2", + "@smithy/util-endpoints": "^1.1.3", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-utf8": "^2.1.1", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/credential-provider-node": "^3.523.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.523.0.tgz", + "integrity": "sha512-JHa3ngEWkTzZ2YTn6EavcADC8gv6zZU4U9WBAleClh6ioXH0kGMBawZje3y0F0mKyLTfLhFqFUlCV5sngI/Qcw==", + "dependencies": { + "@smithy/core": "^1.3.4", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/smithy-client": "^2.4.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.523.0.tgz", + "integrity": "sha512-Y6DWdH6/OuMDoNKVzZlNeBc6f1Yjk1lYMjANKpIhMbkRCvLJw/PYZKOZa8WpXbTYdgg9XLjKybnLIb3ww3uuzA==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.523.0.tgz", + "integrity": "sha512-6YUtePbn3UFpY9qfVwHFWIVnFvVS5vsbGxxkTO02swvZBvVG4sdG0Xj0AbotUNQNY9QTCN7WkhwIrd50rfDQ9Q==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/property-provider": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.1", + "@smithy/types": "^2.10.1", + "@smithy/util-stream": "^2.1.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.523.0.tgz", + "integrity": "sha512-dRch5Ts67FFRZY5r9DpiC3PM6BVHv1tRcy1b26hoqfFkxP9xYH3dsTSPBog1azIqaJa2GcXqEvKCqhghFTt4Xg==", + "dependencies": { + "@aws-sdk/client-sts": "3.523.0", + "@aws-sdk/credential-provider-env": "3.523.0", + "@aws-sdk/credential-provider-process": "3.523.0", + "@aws-sdk/credential-provider-sso": "3.523.0", + "@aws-sdk/credential-provider-web-identity": "3.523.0", + "@aws-sdk/types": "3.523.0", + "@smithy/credential-provider-imds": "^2.2.3", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.523.0.tgz", + "integrity": "sha512-0aW5ylA8pZmvv/8qA/+iel4acEyzSlHRiaHYL3L0qu9SSoe2a92+RHjrxKl6+Sb55eA2mRfQjaN8oOa5xiYyKA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.523.0", + "@aws-sdk/credential-provider-http": "3.523.0", + "@aws-sdk/credential-provider-ini": "3.523.0", + "@aws-sdk/credential-provider-process": "3.523.0", + "@aws-sdk/credential-provider-sso": "3.523.0", + "@aws-sdk/credential-provider-web-identity": "3.523.0", + "@aws-sdk/types": "3.523.0", + "@smithy/credential-provider-imds": "^2.2.3", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.523.0.tgz", + "integrity": "sha512-f0LP9KlFmMvPWdKeUKYlZ6FkQAECUeZMmISsv6NKtvPCI9e4O4cLTeR09telwDK8P0HrgcRuZfXM7E30m8re0Q==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.523.0.tgz", + "integrity": "sha512-/VfOJuI8ImV//W4gr+yieF/4shzWAzWYeaaNu7hv161C5YW7/OoCygwRVHSnF4KKeUGQZomZWwml5zHZ57f8xQ==", + "dependencies": { + "@aws-sdk/client-sso": "3.523.0", + "@aws-sdk/token-providers": "3.523.0", + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.523.0.tgz", + "integrity": "sha512-EyBwVoTNZrhLRIHly3JnLzy86deT2hHGoxSCrT3+cVcF1Pq3FPp6n9fUkHd6Yel+wFrjpXCRggLddPvajUoXtQ==", + "dependencies": { + "@aws-sdk/client-sts": "3.523.0", + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.523.0.tgz", + "integrity": "sha512-mrZbixWjk0d9NqxC4xBnKtfwErum0we4Uk2O4fgvDVI+XxAimUlZ9c4o/QJ2+TzeQ/8QclT2k4WidsQdWtPNvg==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-arn-parser": "3.495.0", + "@smithy/node-config-provider": "^2.2.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "@smithy/util-config-provider": "^2.2.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.523.0.tgz", + "integrity": "sha512-E5DyRAHU39VHaAlQLqXYS/IKpgk3vsryuU6kkOcIIK8Dgw0a2tjoh5AOCaNa8pD+KgAGrFp35JIMSX1zui5diA==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.523.0.tgz", + "integrity": "sha512-lIa1TdWY9q4zsDFarfSnYcdrwPR+nypaU4n6hb95i620/1F5M5s6H8P0hYtwTNNvx+slrR8F3VBML9pjBtzAHw==", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@aws-crypto/crc32c": "3.0.0", + "@aws-sdk/types": "3.523.0", + "@smithy/is-array-buffer": "^2.1.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.523.0.tgz", + "integrity": "sha512-4g3q7Ta9sdD9TMUuohBAkbx/e3I/juTqfKi7TPgP+8jxcYX72MOsgemAMHuP6CX27eyj4dpvjH+w4SIVDiDSmg==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.523.0.tgz", + "integrity": "sha512-1QAUXX3U0jkARnU0yyjk81EO4Uw5dCeQOtvUY5s3bUOHatR3ThosQeIr6y9BCsbXHzNnDe1ytCjqAPyo8r/bYw==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.523.0.tgz", + "integrity": "sha512-PeDNJNhfiaZx54LBaLTXzUaJ9LXFwDFFIksipjqjvxMafnoVcQwKbkoPUWLe5ytT4nnL1LogD3s55mERFUsnwg==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.523.0.tgz", + "integrity": "sha512-nZ3Vt7ehfSDYnrcg/aAfjjvpdE+61B3Zk68i6/hSUIegT3IH9H1vSW67NDKVp+50hcEfzWwM2HMPXxlzuyFyrw==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.523.0.tgz", + "integrity": "sha512-cCZ3+XcAJMSC2rsw5F2h+ILVgjijRTxgzD6l7vExhc7UUOOPxXa6R9oGV3+6ANQ/P0w8rvE78j8UAMzlpq+cZA==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-arn-parser": "3.495.0", + "@smithy/node-config-provider": "^2.2.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/smithy-client": "^2.4.1", + "@smithy/types": "^2.10.1", + "@smithy/util-config-provider": "^2.2.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.523.0.tgz", + "integrity": "sha512-pFXV4don6qcmew/OvEjLUr2foVjzoJ8o5k57Oz9yAHz8INx3RHK8MP/K4mVhHo6n0SquRcWrm4kY/Tw+89gkEA==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/types": "^2.10.1", + "@smithy/util-middleware": "^2.1.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.523.0.tgz", + "integrity": "sha512-FaqAZQeF5cQzZLOIboIJRaWVOQ2F2pJZAXGF5D7nJsxYNFChotA0O0iWimBRxU35RNn7yirVxz35zQzs20ddIw==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.523.0.tgz", + "integrity": "sha512-5OoKkmAPNaxLgJuS65gByW1QknGvvXdqzrIMXLsm9LjbsphTOscyvT439qk3Jf08TL4Zlw2x+pZMG7dZYuMAhQ==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.523.0.tgz", + "integrity": "sha512-IypIAecBc8b4jM0uVBEj90NYaIsc0vuLdSFyH4LPO7is4rQUet4CkkD+S036NvDdcdxBsQ4hJZBmWrqiizMHhQ==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/node-config-provider": "^2.2.3", + "@smithy/types": "^2.10.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/s3-request-presigner": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.523.0.tgz", + "integrity": "sha512-BBq4b7Rc0DQzi1q3hZuQ/uOAexwIxDw3CFZ7z6BAIlHt09wriJn6qSBExPGuKSBsu+DkJfeNq6RXImggOSthJg==", + "dependencies": { + "@aws-sdk/signature-v4-multi-region": "3.523.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-format-url": "3.523.0", + "@smithy/middleware-endpoint": "^2.4.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.523.0.tgz", + "integrity": "sha512-TU1AfF6YlihdMy4H5YtkmFYmA/Zrh7sqk2V6tPiR2Vu6idc+9xm1R0UE/2V/DKgMIkxfr4+cAojtp2kqYuuF/A==", + "dependencies": { + "@aws-sdk/middleware-sdk-s3": "3.523.0", + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.523.0.tgz", + "integrity": "sha512-m3sPEnLuGV3JY9A8ytcz90SogVtjxEyIxUDFeswxY4C5wP/36yOq3ivenRu07dH+QIJnBhsQdjnHwJfrIetG6g==", + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.523.0", + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.523.0.tgz", + "integrity": "sha512-AqGIu4u+SxPiUuNBp2acCVcq80KDUFjxe6e3cMTvKWTzCbrVk1AXv0dAaJnCmdkWIha6zJDWxpIk/aL4EGhZ9A==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.495.0.tgz", + "integrity": "sha512-hwdA3XAippSEUxs7jpznwD63YYFR+LtQvlEcebPTgWR9oQgG9TfS+39PUfbnEeje1ICuOrN3lrFqFbmP9uzbMg==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.523.0.tgz", + "integrity": "sha512-f4qe4AdafjAZoVGoVt69Jb2rXCgo306OOobSJ/f4bhQ0zgAjGELKJATNRRe0J7P28+ffmSxeuYwM3r4gDkD/QA==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", + "@smithy/util-endpoints": "^1.1.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-format-url": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.523.0.tgz", + "integrity": "sha512-OWi+8bsEfxG4DvHkWauxyWVZMbYrezC49DbGDEu1lJgk9eqQALlyGkZHt9O8KKfyT/mdqQbR8qbpkxqYcGuHVA==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/querystring-builder": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz", + "integrity": "sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.523.0.tgz", + "integrity": "sha512-6ZRNdGHX6+HQFqTbIA5+i8RWzxFyxsZv8D3soRfpdyWIKkzhSz8IyRKXRciwKBJDaC7OX2jzGE90wxRQft27nA==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.523.0.tgz", + "integrity": "sha512-tW7vliJ77EsE8J1bzFpDYCiUyrw2NTcem+J5ddiWD4HA/xNQUyX0CMOXMBZCBA31xLTIchyz0LkZHlDsmB9LUw==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/node-config-provider": "^2.2.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.523.0.tgz", + "integrity": "sha512-wfvyVymj2TUw7SuDor9IuFcAzJZvWRBZotvY/wQJOlYa3UP3Oezzecy64N4FWfBJEsZdrTN+HOZFl+IzTWWnUA==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "dependencies": { + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/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==" + }, + "node_modules/@babel/highlight/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", + "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "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 + }, + "node_modules/@chakra-ui/accordion": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.3.1.tgz", + "integrity": "sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag==", + "dependencies": { + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/alert": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.2.2.tgz", + "integrity": "sha512-jHg4LYMRNOJH830ViLuicjb3F+v6iriE/2G5T+Sd0Hna04nukNJ1MxUmBPE+vI22me2dIflfelu2v9wdB6Pojw==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/spinner": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/anatomy": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.2.2.tgz", + "integrity": "sha512-MV6D4VLRIHr4PkW4zMyqfrNS1mPlCTiCXwvYGtDFQYr+xHFfonhAuf9WjsSc0nyp2m0OdkSLnzmVKkZFLo25Tg==" + }, + "node_modules/@chakra-ui/avatar": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.3.0.tgz", + "integrity": "sha512-8gKSyLfygnaotbJbDMHDiJoF38OHXUYVme4gGxZ1fLnQEdPVEaIWfH+NndIjOM0z8S+YEFnT9KyGMUtvPrBk3g==", + "dependencies": { + "@chakra-ui/image": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/breadcrumb": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.2.0.tgz", + "integrity": "sha512-4cWCG24flYBxjruRi4RJREWTGF74L/KzI2CognAW/d/zWR0CjiScuJhf37Am3LFbCySP6WSoyBOtTIoTA4yLEA==", + "dependencies": { + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/breakpoint-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.8.tgz", + "integrity": "sha512-Pq32MlEX9fwb5j5xx8s18zJMARNHlQZH2VH1RZgfgRDpp7DcEgtRW5AInfN5CfqdHLO1dGxA7I3MqEuL5JnIsA==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "node_modules/@chakra-ui/button": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.1.0.tgz", + "integrity": "sha512-95CplwlRKmmUXkdEp/21VkEWgnwcx2TOBG6NfYlsuLBDHSLlo5FKIiE2oSi4zXc4TLcopGcWPNcm/NDaSC5pvA==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/spinner": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/card": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/card/-/card-2.2.0.tgz", + "integrity": "sha512-xUB/k5MURj4CtPAhdSoXZidUbm8j3hci9vnc+eZJVDqhDOShNlD6QeniQNRPRys4lWAQLCbFcrwL29C8naDi6g==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/checkbox": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.3.2.tgz", + "integrity": "sha512-85g38JIXMEv6M+AcyIGLh7igNtfpAN6KGQFYxY9tBj0eWvWk4NKQxvqqyVta0bSAyIl1rixNIIezNpNWk2iO4g==", + "dependencies": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/visually-hidden": "2.2.0", + "@zag-js/focus-visible": "0.16.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/clickable": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.1.0.tgz", + "integrity": "sha512-flRA/ClPUGPYabu+/GLREZVZr9j2uyyazCAUHAdrTUEdDYCr31SVGhgh7dgKdtq23bOvAQJpIJjw/0Bs0WvbXw==", + "dependencies": { + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/close-button": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.1.1.tgz", + "integrity": "sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw==", + "dependencies": { + "@chakra-ui/icon": "3.2.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/color-mode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.2.0.tgz", + "integrity": "sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/control-box": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.1.0.tgz", + "integrity": "sha512-gVrRDyXFdMd8E7rulL0SKeoljkLQiPITFnsyMO8EFHNZ+AHt5wK4LIguYVEq88APqAGZGfHFWXr79RYrNiE3Mg==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/counter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.1.0.tgz", + "integrity": "sha512-s6hZAEcWT5zzjNz2JIWUBzRubo9la/oof1W7EKZVVfPYHERnl5e16FmBC79Yfq8p09LQ+aqFKm/etYoJMMgghw==", + "dependencies": { + "@chakra-ui/number-utils": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/css-reset": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.3.0.tgz", + "integrity": "sha512-cQwwBy5O0jzvl0K7PLTLgp8ijqLPKyuEMiDXwYzl95seD3AoeuoCLyzZcJtVqaUZ573PiBdAbY/IlZcwDOItWg==", + "peerDependencies": { + "@emotion/react": ">=10.0.35", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/descendant": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.1.0.tgz", + "integrity": "sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/dom-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.1.0.tgz", + "integrity": "sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ==" + }, + "node_modules/@chakra-ui/editable": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-3.1.0.tgz", + "integrity": "sha512-j2JLrUL9wgg4YA6jLlbU88370eCRyor7DZQD9lzpY95tSOXpTljeg3uF9eOmDnCs6fxp3zDWIfkgMm/ExhcGTg==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/event-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.8.tgz", + "integrity": "sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==" + }, + "node_modules/@chakra-ui/focus-lock": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.1.0.tgz", + "integrity": "sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "react-focus-lock": "^2.9.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/form-control": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.2.0.tgz", + "integrity": "sha512-wehLC1t4fafCVJ2RvJQT2jyqsAwX7KymmiGqBu7nQoQz8ApTkGABWpo/QwDh3F/dBLrouHDoOvGmYTqft3Mirw==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/hooks": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.2.1.tgz", + "integrity": "sha512-RQbTnzl6b1tBjbDPf9zGRo9rf/pQMholsOudTxjy4i9GfTfz6kgp5ValGjQm2z7ng6Z31N1cnjZ1AlSzQ//ZfQ==", + "dependencies": { + "@chakra-ui/react-utils": "2.0.12", + "@chakra-ui/utils": "2.0.15", + "compute-scroll-into-view": "3.0.3", + "copy-to-clipboard": "3.3.3" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/icon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.2.0.tgz", + "integrity": "sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/image": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.1.0.tgz", + "integrity": "sha512-bskumBYKLiLMySIWDGcz0+D9Th0jPvmX6xnRMs4o92tT3Od/bW26lahmV2a2Op2ItXeCmRMY+XxJH5Gy1i46VA==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/input": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.1.2.tgz", + "integrity": "sha512-GiBbb3EqAA8Ph43yGa6Mc+kUPjh4Spmxp1Pkelr8qtudpc3p2PJOOebLpd90mcqw8UePPa+l6YhhPtp6o0irhw==", + "dependencies": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/layout": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.3.1.tgz", + "integrity": "sha512-nXuZ6WRbq0WdgnRgLw+QuxWAHuhDtVX8ElWqcTK+cSMFg/52eVP47czYBE5F35YhnoW2XBwfNoNgZ7+e8Z01Rg==", + "dependencies": { + "@chakra-ui/breakpoint-utils": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/lazy-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/lazy-utils/-/lazy-utils-2.0.5.tgz", + "integrity": "sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg==" + }, + "node_modules/@chakra-ui/live-region": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.1.0.tgz", + "integrity": "sha512-ZOxFXwtaLIsXjqnszYYrVuswBhnIHHP+XIgK1vC6DePKtyK590Wg+0J0slDwThUAd4MSSIUa/nNX84x1GMphWw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/media-query": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.3.0.tgz", + "integrity": "sha512-IsTGgFLoICVoPRp9ykOgqmdMotJG0CnPsKvGQeSFOB/dZfIujdVb14TYxDU4+MURXry1MhJ7LzZhv+Ml7cr8/g==", + "dependencies": { + "@chakra-ui/breakpoint-utils": "2.0.8", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/menu": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.2.1.tgz", + "integrity": "sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g==", + "dependencies": { + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-outside-click": "2.2.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/modal": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.3.1.tgz", + "integrity": "sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ==", + "dependencies": { + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0", + "aria-hidden": "^1.2.3", + "react-remove-scroll": "^2.5.6" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/number-input": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.1.2.tgz", + "integrity": "sha512-pfOdX02sqUN0qC2ysuvgVDiws7xZ20XDIlcNhva55Jgm095xjm8eVdIBfNm3SFbSUNxyXvLTW/YQanX74tKmuA==", + "dependencies": { + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-interval": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/number-utils": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-utils/-/number-utils-2.0.7.tgz", + "integrity": "sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg==" + }, + "node_modules/@chakra-ui/object-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.1.0.tgz", + "integrity": "sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==" + }, + "node_modules/@chakra-ui/pin-input": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.1.0.tgz", + "integrity": "sha512-x4vBqLStDxJFMt+jdAHHS8jbh294O53CPQJoL4g228P513rHylV/uPscYUHrVJXRxsHfRztQO9k45jjTYaPRMw==", + "dependencies": { + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/popover": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.2.1.tgz", + "integrity": "sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg==", + "dependencies": { + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/popper": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.1.0.tgz", + "integrity": "sha512-ciDdpdYbeFG7og6/6J8lkTFxsSvwTdMLFkpVylAF6VNC22jssiWfquj2eyD4rJnzkRFPvIWJq8hvbfhsm+AjSg==", + "dependencies": { + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@popperjs/core": "^2.9.3" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/portal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.1.0.tgz", + "integrity": "sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/progress": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.2.0.tgz", + "integrity": "sha512-qUXuKbuhN60EzDD9mHR7B67D7p/ZqNS2Aze4Pbl1qGGZfulPW0PY8Rof32qDtttDQBkzQIzFGE8d9QpAemToIQ==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/provider": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.4.2.tgz", + "integrity": "sha512-w0Tef5ZCJK1mlJorcSjItCSbyvVuqpvyWdxZiVQmE6fvSJR83wZof42ux0+sfWD+I7rHSfj+f9nzhNaEWClysw==", + "dependencies": { + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/system": "2.6.2", + "@chakra-ui/utils": "2.0.15" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/radio": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.1.2.tgz", + "integrity": "sha512-n10M46wJrMGbonaghvSRnZ9ToTv/q76Szz284gv4QUWvyljQACcGrXIONUnQ3BIwbOfkRqSk7Xl/JgZtVfll+w==", + "dependencies": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@zag-js/focus-visible": "0.16.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.8.2.tgz", + "integrity": "sha512-Hn0moyxxyCDKuR9ywYpqgX8dvjqwu9ArwpIb9wHNYjnODETjLwazgNIliCVBRcJvysGRiV51U2/JtJVrpeCjUQ==", + "dependencies": { + "@chakra-ui/accordion": "2.3.1", + "@chakra-ui/alert": "2.2.2", + "@chakra-ui/avatar": "2.3.0", + "@chakra-ui/breadcrumb": "2.2.0", + "@chakra-ui/button": "2.1.0", + "@chakra-ui/card": "2.2.0", + "@chakra-ui/checkbox": "2.3.2", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/control-box": "2.1.0", + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/editable": "3.1.0", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/hooks": "2.2.1", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/image": "2.1.0", + "@chakra-ui/input": "2.1.2", + "@chakra-ui/layout": "2.3.1", + "@chakra-ui/live-region": "2.1.0", + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/menu": "2.2.1", + "@chakra-ui/modal": "2.3.1", + "@chakra-ui/number-input": "2.1.2", + "@chakra-ui/pin-input": "2.1.0", + "@chakra-ui/popover": "2.2.1", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/progress": "2.2.0", + "@chakra-ui/provider": "2.4.2", + "@chakra-ui/radio": "2.1.2", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/select": "2.1.2", + "@chakra-ui/skeleton": "2.1.0", + "@chakra-ui/skip-nav": "2.1.0", + "@chakra-ui/slider": "2.1.0", + "@chakra-ui/spinner": "2.1.0", + "@chakra-ui/stat": "2.1.1", + "@chakra-ui/stepper": "2.3.1", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/switch": "2.1.2", + "@chakra-ui/system": "2.6.2", + "@chakra-ui/table": "2.1.0", + "@chakra-ui/tabs": "3.0.0", + "@chakra-ui/tag": "3.1.1", + "@chakra-ui/textarea": "2.1.2", + "@chakra-ui/theme": "3.3.1", + "@chakra-ui/theme-utils": "2.0.21", + "@chakra-ui/toast": "7.0.2", + "@chakra-ui/tooltip": "2.3.1", + "@chakra-ui/transition": "2.1.0", + "@chakra-ui/utils": "2.0.15", + "@chakra-ui/visually-hidden": "2.2.0" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/react-children-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-children-utils/-/react-children-utils-2.0.6.tgz", + "integrity": "sha512-QVR2RC7QsOsbWwEnq9YduhpqSFnZGvjjGREV8ygKi8ADhXh93C8azLECCUVgRJF2Wc+So1fgxmjLcbZfY2VmBA==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-context": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.1.0.tgz", + "integrity": "sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-env": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-3.1.0.tgz", + "integrity": "sha512-Vr96GV2LNBth3+IKzr/rq1IcnkXv+MLmwjQH6C8BRtn3sNskgDFD5vLkVXcEhagzZMCh8FR3V/bzZPojBOyNhw==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.7.tgz", + "integrity": "sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-animation-state": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.1.0.tgz", + "integrity": "sha512-CFZkQU3gmDBwhqy0vC1ryf90BVHxVN8cTLpSyCpdmExUEtSEInSCGMydj2fvn7QXsz/za8JNdO2xxgJwxpLMtg==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-callback-ref": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.1.0.tgz", + "integrity": "sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-controllable-state": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.1.0.tgz", + "integrity": "sha512-QR/8fKNokxZUs4PfxjXuwl0fj/d71WPrmLJvEpCTkHjnzu7LnYvzoe2wB867IdooQJL0G1zBxl0Dq+6W1P3jpg==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-disclosure": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.1.0.tgz", + "integrity": "sha512-Ax4pmxA9LBGMyEZJhhUZobg9C0t3qFE4jVF1tGBsrLDcdBeLR9fwOogIPY9Hf0/wqSlAryAimICbr5hkpa5GSw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-event-listener": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.1.0.tgz", + "integrity": "sha512-U5greryDLS8ISP69DKDsYcsXRtAdnTQT+jjIlRYZ49K/XhUR/AqVZCK5BkR1spTDmO9H8SPhgeNKI70ODuDU/Q==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-focus-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.1.0.tgz", + "integrity": "sha512-xzVboNy7J64xveLcxTIJ3jv+lUJKDwRM7Szwn9tNzUIPD94O3qwjV7DDCUzN2490nSYDF4OBMt/wuDBtaR3kUQ==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-focus-on-pointer-down": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.1.0.tgz", + "integrity": "sha512-2jzrUZ+aiCG/cfanrolsnSMDykCAbv9EK/4iUyZno6BYb3vziucmvgKuoXbMPAzWNtwUwtuMhkby8rc61Ue+Lg==", + "dependencies": { + "@chakra-ui/react-use-event-listener": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-interval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.1.0.tgz", + "integrity": "sha512-8iWj+I/+A0J08pgEXP1J1flcvhLBHkk0ln7ZvGIyXiEyM6XagOTJpwNhiu+Bmk59t3HoV/VyvyJTa+44sEApuw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-latest-ref": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.1.0.tgz", + "integrity": "sha512-m0kxuIYqoYB0va9Z2aW4xP/5b7BzlDeWwyXCH6QpT2PpW3/281L3hLCm1G0eOUcdVlayqrQqOeD6Mglq+5/xoQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-merge-refs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.1.0.tgz", + "integrity": "sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-outside-click": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.2.0.tgz", + "integrity": "sha512-PNX+s/JEaMneijbgAM4iFL+f3m1ga9+6QK0E5Yh4s8KZJQ/bLwZzdhMz8J/+mL+XEXQ5J0N8ivZN28B82N1kNw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-pan-event": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.1.0.tgz", + "integrity": "sha512-xmL2qOHiXqfcj0q7ZK5s9UjTh4Gz0/gL9jcWPA6GVf+A0Od5imEDa/Vz+533yQKWiNSm1QGrIj0eJAokc7O4fg==", + "dependencies": { + "@chakra-ui/event-utils": "2.0.8", + "@chakra-ui/react-use-latest-ref": "2.1.0", + "framesync": "6.1.2" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-previous": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.1.0.tgz", + "integrity": "sha512-pjxGwue1hX8AFcmjZ2XfrQtIJgqbTF3Qs1Dy3d1krC77dEsiCUbQ9GzOBfDc8pfd60DrB5N2tg5JyHbypqh0Sg==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-safe-layout-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.1.0.tgz", + "integrity": "sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-size": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.1.0.tgz", + "integrity": "sha512-tbLqrQhbnqOjzTaMlYytp7wY8BW1JpL78iG7Ru1DlV4EWGiAmXFGvtnEt9HftU0NJ0aJyjgymkxfVGI55/1Z4A==", + "dependencies": { + "@zag-js/element-size": "0.10.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-timeout": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.1.0.tgz", + "integrity": "sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-update-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.1.0.tgz", + "integrity": "sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-utils": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.12.tgz", + "integrity": "sha512-GbSfVb283+YA3kA8w8xWmzbjNWk14uhNpntnipHCftBibl0lxtQ9YqMFQLwuFOO0U2gYVocszqqDWX+XNKq9hw==", + "dependencies": { + "@chakra-ui/utils": "2.0.15" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/select": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.1.2.tgz", + "integrity": "sha512-ZwCb7LqKCVLJhru3DXvKXpZ7Pbu1TDZ7N0PdQ0Zj1oyVLJyrpef1u9HR5u0amOpqcH++Ugt0f5JSmirjNlctjA==", + "dependencies": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/shared-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.5.tgz", + "integrity": "sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==" + }, + "node_modules/@chakra-ui/skeleton": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.1.0.tgz", + "integrity": "sha512-JNRuMPpdZGd6zFVKjVQ0iusu3tXAdI29n4ZENYwAJEMf/fN0l12sVeirOxkJ7oEL0yOx2AgEYFSKdbcAgfUsAQ==", + "dependencies": { + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/react-use-previous": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/skip-nav": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skip-nav/-/skip-nav-2.1.0.tgz", + "integrity": "sha512-Hk+FG+vadBSH0/7hwp9LJnLjkO0RPGnx7gBJWI4/SpoJf3e4tZlWYtwGj0toYY4aGKl93jVghuwGbDBEMoHDug==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/slider": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.1.0.tgz", + "integrity": "sha512-lUOBcLMCnFZiA/s2NONXhELJh6sY5WtbRykPtclGfynqqOo47lwWJx+VP7xaeuhDOPcWSSecWc9Y1BfPOCz9cQ==", + "dependencies": { + "@chakra-ui/number-utils": "2.0.7", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-latest-ref": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-pan-event": "2.1.0", + "@chakra-ui/react-use-size": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/spinner": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.1.0.tgz", + "integrity": "sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/stat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.1.1.tgz", + "integrity": "sha512-LDn0d/LXQNbAn2KaR3F1zivsZCewY4Jsy1qShmfBMKwn6rI8yVlbvu6SiA3OpHS0FhxbsZxQI6HefEoIgtqY6Q==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/stepper": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stepper/-/stepper-2.3.1.tgz", + "integrity": "sha512-ky77lZbW60zYkSXhYz7kbItUpAQfEdycT0Q4bkHLxfqbuiGMf8OmgZOQkOB9uM4v0zPwy2HXhe0vq4Dd0xa55Q==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/styled-system": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.9.2.tgz", + "integrity": "sha512-To/Z92oHpIE+4nk11uVMWqo2GGRS86coeMmjxtpnErmWRdLcp1WVCVRAvn+ZwpLiNR+reWFr2FFqJRsREuZdAg==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5", + "csstype": "^3.1.2", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/switch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.1.2.tgz", + "integrity": "sha512-pgmi/CC+E1v31FcnQhsSGjJnOE2OcND4cKPyTE+0F+bmGm48Q/b5UmKD9Y+CmZsrt/7V3h8KNczowupfuBfIHA==", + "dependencies": { + "@chakra-ui/checkbox": "2.3.2", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/system": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.6.2.tgz", + "integrity": "sha512-EGtpoEjLrUu4W1fHD+a62XR+hzC5YfsWm+6lO0Kybcga3yYEij9beegO0jZgug27V+Rf7vns95VPVP6mFd/DEQ==", + "dependencies": { + "@chakra-ui/color-mode": "2.2.0", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-utils": "2.0.12", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme-utils": "2.0.21", + "@chakra-ui/utils": "2.0.15", + "react-fast-compare": "3.2.2" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.1.0.tgz", + "integrity": "sha512-o5OrjoHCh5uCLdiUb0Oc0vq9rIAeHSIRScc2ExTC9Qg/uVZl2ygLrjToCaKfaaKl1oQexIeAcZDKvPG8tVkHyQ==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/tabs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-3.0.0.tgz", + "integrity": "sha512-6Mlclp8L9lqXmsGWF5q5gmemZXOiOYuh0SGT/7PgJVNPz3LXREXlXg2an4MBUD8W5oTkduCX+3KTMCwRrVrDYw==", + "dependencies": { + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/tag": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-3.1.1.tgz", + "integrity": "sha512-Bdel79Dv86Hnge2PKOU+t8H28nm/7Y3cKd4Kfk9k3lOpUh4+nkSGe58dhRzht59lEqa4N9waCgQiBdkydjvBXQ==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/textarea": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.1.2.tgz", + "integrity": "sha512-ip7tvklVCZUb2fOHDb23qPy/Fr2mzDOGdkrpbNi50hDCiV4hFX02jdQJdi3ydHZUyVgZVBKPOJ+lT9i7sKA2wA==", + "dependencies": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/theme": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-3.3.1.tgz", + "integrity": "sha512-Hft/VaT8GYnItGCBbgWd75ICrIrIFrR7lVOhV/dQnqtfGqsVDlrztbSErvMkoPKt0UgAkd9/o44jmZ6X4U2nZQ==", + "dependencies": { + "@chakra-ui/anatomy": "2.2.2", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/theme-tools": "2.1.2" + }, + "peerDependencies": { + "@chakra-ui/styled-system": ">=2.8.0" + } + }, + "node_modules/@chakra-ui/theme-tools": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.1.2.tgz", + "integrity": "sha512-Qdj8ajF9kxY4gLrq7gA+Azp8CtFHGO9tWMN2wfF9aQNgG9AuMhPrUzMq9AMQ0MXiYcgNq/FD3eegB43nHVmXVA==", + "dependencies": { + "@chakra-ui/anatomy": "2.2.2", + "@chakra-ui/shared-utils": "2.0.5", + "color2k": "^2.0.2" + }, + "peerDependencies": { + "@chakra-ui/styled-system": ">=2.0.0" + } + }, + "node_modules/@chakra-ui/theme-utils": { + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.21.tgz", + "integrity": "sha512-FjH5LJbT794r0+VSCXB3lT4aubI24bLLRWB+CuRKHijRvsOg717bRdUN/N1fEmEpFnRVrbewttWh/OQs0EWpWw==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme": "3.3.1", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/toast": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-7.0.2.tgz", + "integrity": "sha512-yvRP8jFKRs/YnkuE41BVTq9nB2v/KDRmje9u6dgDmE5+1bFt3bwjdf9gVbif4u5Ve7F7BGk5E093ARRVtvLvXA==", + "dependencies": { + "@chakra-ui/alert": "2.2.2", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-timeout": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme": "3.3.1" + }, + "peerDependencies": { + "@chakra-ui/system": "2.6.2", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/tooltip": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.3.1.tgz", + "integrity": "sha512-Rh39GBn/bL4kZpuEMPPRwYNnccRCL+w9OqamWHIB3Qboxs6h8cOyXfIdGxjo72lvhu1QI/a4KFqkM3St+WfC0A==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/transition": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.1.0.tgz", + "integrity": "sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/utils": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.15.tgz", + "integrity": "sha512-El4+jL0WSaYYs+rJbuYFDbjmfCcfGDmRY95GO4xwzit6YAPZBLcR65rOEwLps+XWluZTy1xdMrusg/hW0c1aAA==", + "dependencies": { + "@types/lodash.mergewith": "4.6.7", + "css-box-model": "1.2.1", + "framesync": "6.1.2", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/visually-hidden": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz", + "integrity": "sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@emnapi/core": { + "version": "0.45.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-0.45.0.tgz", + "integrity": "sha512-DPWjcUDQkCeEM4VnljEOEcXdAD7pp8zSZsgOujk/LGIwCXWbXJngin+MO4zbH429lzeC3WbYLGjE2MaUOwzpyw==", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "0.45.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.45.0.tgz", + "integrity": "sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w==", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "dependencies": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", + "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "peer": true, + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/react": { + "version": "11.11.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", + "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.4.tgz", + "integrity": "sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==", + "dependencies": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "node_modules/@emotion/styled": { + "version": "11.11.5", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.5.tgz", + "integrity": "sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/is-prop-valid": "^1.2.2", + "@emotion/serialize": "^1.1.4", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@faker-js/faker": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.3.1.tgz", + "integrity": "sha512-FdgpFxY6V6rLZE9mmIBb9hM0xpfvQOSNOLnzolzKwsE1DH+gC7lEKV1p1IbR0lAYyvYd5a4u3qWJzowUkw1bIw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/fakerjs" + } + ], + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0", + "npm": ">=6.14.13" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", + "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.4.tgz", + "integrity": "sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==", + "dependencies": { + "@floating-ui/utils": "^0.2.4" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.7.tgz", + "integrity": "sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.4" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.4.tgz", + "integrity": "sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==" + }, + "node_modules/@google-analytics/data": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@google-analytics/data/-/data-4.1.0.tgz", + "integrity": "sha512-OMHSfqKi1a7OSjpc1n3MSynuPnfLrzYa8euEp2mrRH2XRzjFnHoQ0smiLOy3GSwGVbzT0ps8juNcT72I2nZjjQ==", + "dependencies": { + "google-gax": "^4.0.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@grpc/grpc-js": { + "version": "1.9.14", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.14.tgz", + "integrity": "sha512-nOpuzZ2G3IuMFN+UPPpKrC6NsLmWsTqSsm66IRfnBt1D4pwTqE27lmbpcPM+l2Ua4gE7PfjRHI6uedAy7hoXUw==", + "dependencies": { + "@grpc/proto-loader": "^0.7.8", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz", + "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==", + "dependencies": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.4", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@headlessui/react": { + "version": "1.7.13", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.13.tgz", + "integrity": "sha512-9n+EQKRtD9266xIHXdY5MfiXPDfYwl7zBM7KOx2Ae3Gdgxy8QML1FkCMjq6AsOf0l6N9uvI4HcFtuFlenaldKg==", + "dependencies": { + "client-only": "^0.0.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16 || ^17 || ^18", + "react-dom": "^16 || ^17 || ^18" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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==" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lucia-auth/adapter-prisma": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lucia-auth/adapter-prisma/-/adapter-prisma-4.0.0.tgz", + "integrity": "sha512-TJg4/U1K1slS4A/OzDYCgmHTrIArntIynue14zGIEaMDu+OD+tGyq9WwQWqOabpx2Gm9xtDsoK+tTokAY3Up7A==", + "peerDependencies": { + "@prisma/client": "^4.2.0 || ^5.0.0", + "lucia": "3.x" + } + }, + "node_modules/@mswjs/cookies": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@mswjs/cookies/-/cookies-0.2.2.tgz", + "integrity": "sha512-mlN83YSrcFgk7Dm1Mys40DLssI1KdJji2CMKN8eOlBqsTADYzj2+jWzsANsUTFbxDMWPD5e9bfA1RGqBpS3O1g==", + "dependencies": { + "@types/set-cookie-parser": "^2.4.0", + "set-cookie-parser": "^2.4.6" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@mswjs/interceptors": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.17.10.tgz", + "integrity": "sha512-N8x7eSLGcmUFNWZRxT1vsHvypzIRgQYdG0rJey/rZCy6zT/30qDt8Joj7FxzGNLSwXbeZqJOMqDurp7ra4hgbw==", + "dependencies": { + "@open-draft/until": "^1.0.3", + "@types/debug": "^4.1.7", + "@xmldom/xmldom": "^0.8.3", + "debug": "^4.3.3", + "headers-polyfill": "3.2.5", + "outvariant": "^1.2.1", + "strict-event-emitter": "^0.2.4", + "web-encoding": "^1.1.5" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@mswjs/interceptors/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@mswjs/interceptors/node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/@mswjs/interceptors/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@mswjs/interceptors/node_modules/strict-event-emitter": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.2.8.tgz", + "integrity": "sha512-KDf/ujU8Zud3YaLtMCcTI4xkZlZVIYxTLr+XIULexP+77EEVWixeXroLUXQXiVtH4XH2W7jr/3PT1v3zBuvc3A==", + "dependencies": { + "events": "^3.3.0" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.1.1.tgz", + "integrity": "sha512-ATj9ua659JgrkICjJscaeZdmPr44cb/KFjNWuD0N6pux0SpzaM7+iOuuK11mAnQM2N9q0DT4REu6NkL8ZEhopw==", + "optional": true, + "dependencies": { + "@emnapi/core": "^0.45.0", + "@emnapi/runtime": "^0.45.0", + "@tybys/wasm-util": "^0.8.1" + } + }, + "node_modules/@node-rs/argon2": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2/-/argon2-1.7.2.tgz", + "integrity": "sha512-+H6pc3M1vIX9YnG59YW7prHhhpv19P8YyxlXHnnFzTimf2q+kKDF7mGWbhvN9STqIY+P70Patn0Q6qb6Ib5/4g==", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@node-rs/argon2-android-arm-eabi": "1.7.2", + "@node-rs/argon2-android-arm64": "1.7.2", + "@node-rs/argon2-darwin-arm64": "1.7.2", + "@node-rs/argon2-darwin-x64": "1.7.2", + "@node-rs/argon2-freebsd-x64": "1.7.2", + "@node-rs/argon2-linux-arm-gnueabihf": "1.7.2", + "@node-rs/argon2-linux-arm64-gnu": "1.7.2", + "@node-rs/argon2-linux-arm64-musl": "1.7.2", + "@node-rs/argon2-linux-x64-gnu": "1.7.2", + "@node-rs/argon2-linux-x64-musl": "1.7.2", + "@node-rs/argon2-wasm32-wasi": "1.7.2", + "@node-rs/argon2-win32-arm64-msvc": "1.7.2", + "@node-rs/argon2-win32-ia32-msvc": "1.7.2", + "@node-rs/argon2-win32-x64-msvc": "1.7.2" + } + }, + "node_modules/@node-rs/argon2-android-arm-eabi": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-android-arm-eabi/-/argon2-android-arm-eabi-1.7.2.tgz", + "integrity": "sha512-WhW84XOzdR4AOGc4BJvIg5lCRVBL0pXp/PPCe8QCyWw493p7VdNCdYpr2xdtjS/0zImmY85HNB/6zpzjLRTT/A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-android-arm64": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-android-arm64/-/argon2-android-arm64-1.7.2.tgz", + "integrity": "sha512-CdtayHSMIyDuVhSYFirwA757c4foQuyTjpysgFJLHweP9C7uDiBf9WBYij+UyabpaCadJ0wPyK6Vakinvlk4/g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-darwin-arm64": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-darwin-arm64/-/argon2-darwin-arm64-1.7.2.tgz", + "integrity": "sha512-hUOhtgYHTEyzX5sgMZVdXunONOus2HWpWydF5D/RYJ1mZ76FXRnFpQE40DqbzisdPIraKdn40m7JqkPP7wqdyg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-darwin-x64": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-darwin-x64/-/argon2-darwin-x64-1.7.2.tgz", + "integrity": "sha512-lfs5HX+t542yUfcv6Aa/NeGD1nUCwyQNgnPEGcik71Ow6V13hkR1bHgmT1u3CHN4fBts0gW+DQEDsq1xlVgkvw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-freebsd-x64": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-freebsd-x64/-/argon2-freebsd-x64-1.7.2.tgz", + "integrity": "sha512-ROoF+4VaCBJUjddrTN1hjuqSl89ppRcjVXJscSPJjWzTlbzFmGGovJvIzUBmCr/Oq3yM1zKHj6MP9oRD5cB+/g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-linux-arm-gnueabihf": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm-gnueabihf/-/argon2-linux-arm-gnueabihf-1.7.2.tgz", + "integrity": "sha512-CBSB8KPI8LS74Bcz3dYaa2/khULutz4vSDvFWUERlSLX+mPdDhoZi6UPuUPPF9e01w8AbiK1YCqlLUTm3tIMfw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-linux-arm64-gnu": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm64-gnu/-/argon2-linux-arm64-gnu-1.7.2.tgz", + "integrity": "sha512-6LBTug6ZiWFakP3X3Nqs7ZTM03gmcSWX4YvEn20HhhQE5NDrsrw3zNqGj0cJiNzKKIMSDDuj7uGy+ITEfNo4CA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-linux-arm64-musl": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm64-musl/-/argon2-linux-arm64-musl-1.7.2.tgz", + "integrity": "sha512-KjhQ+ZPne29t9VRVeIif7JdKwQba+tM6CBNYBoJB1iON0CUKeqSQtZcHuTj9gkf2SNRG5bsU4ABcfxd0OKsKHg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-linux-x64-gnu": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-x64-gnu/-/argon2-linux-x64-gnu-1.7.2.tgz", + "integrity": "sha512-BQvp+iLtKqomHz4q5t1aKoni9osgvUDU5sZtHAlFm5dRTlGHnympcQVATRE5GHyH9C6MIM9W7P1kqEeCLGPolQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-linux-x64-musl": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-x64-musl/-/argon2-linux-x64-musl-1.7.2.tgz", + "integrity": "sha512-yXJudpBZQ98g+lWaHn9EzZ5KsAyqRdlpub/K+5NP7gHehb8wzBRIFAejIHAG0fvzQEEc86VOnV2koWIVZxWAvw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-wasm32-wasi": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-wasm32-wasi/-/argon2-wasm32-wasi-1.7.2.tgz", + "integrity": "sha512-diXlVjJZY2GIV8ZDwUqXPhacXsFR0klGSv5D9f+XidwWXK4udtzDhkM/7N/Mb7h1HAWaxZ6IN9spYFjvWH1wqg==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.1.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@node-rs/argon2-win32-arm64-msvc": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-arm64-msvc/-/argon2-win32-arm64-msvc-1.7.2.tgz", + "integrity": "sha512-dhIBrY04P9nbmwzBpgERQDmmSu4YBZyeEE32t4TikMz5rQ07iaVC+JpGmtCBZoDIsLDHGC8cikENd3YEqpqIcA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-win32-ia32-msvc": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-ia32-msvc/-/argon2-win32-ia32-msvc-1.7.2.tgz", + "integrity": "sha512-o1tfqr8gyALCzuxBoQfvhxkeYMaw/0H8Gmt7klTYyEIBvEFu7SD5qytXO9Px7t5420nZL/Wy5cflg3IB1s57Pg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-win32-x64-msvc": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-x64-msvc/-/argon2-win32-x64-msvc-1.7.2.tgz", + "integrity": "sha512-v0h53XUc7hNgWiWi0qcMcHvj9/kwuItI9NwLK4C+gtzT3UB0cedhfIL8HFMKThMXasy41ZdbpCF2Bi0kJoLNEg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt/-/bcrypt-1.9.2.tgz", + "integrity": "sha512-FKUo9iCSIti+ldwoOlY1ztyIFhZxEgT7jZ/UCt/9bg1rLmNdbQQD2JKIMImDCqmTWuLPY4ZF4Q5MyOMIfDCd8Q==", + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@node-rs/bcrypt-android-arm-eabi": "1.9.2", + "@node-rs/bcrypt-android-arm64": "1.9.2", + "@node-rs/bcrypt-darwin-arm64": "1.9.2", + "@node-rs/bcrypt-darwin-x64": "1.9.2", + "@node-rs/bcrypt-freebsd-x64": "1.9.2", + "@node-rs/bcrypt-linux-arm-gnueabihf": "1.9.2", + "@node-rs/bcrypt-linux-arm64-gnu": "1.9.2", + "@node-rs/bcrypt-linux-arm64-musl": "1.9.2", + "@node-rs/bcrypt-linux-x64-gnu": "1.9.2", + "@node-rs/bcrypt-linux-x64-musl": "1.9.2", + "@node-rs/bcrypt-wasm32-wasi": "1.9.2", + "@node-rs/bcrypt-win32-arm64-msvc": "1.9.2", + "@node-rs/bcrypt-win32-ia32-msvc": "1.9.2", + "@node-rs/bcrypt-win32-x64-msvc": "1.9.2" + } + }, + "node_modules/@node-rs/bcrypt-android-arm-eabi": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-android-arm-eabi/-/bcrypt-android-arm-eabi-1.9.2.tgz", + "integrity": "sha512-er/Q2khwpan9pczvTTqY/DJE4UU65u31xd0NkZlHUTKyB7djRhWfzoGexGx2GN+k831/RR3U8kKE/8QUHeO3hQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-android-arm64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-android-arm64/-/bcrypt-android-arm64-1.9.2.tgz", + "integrity": "sha512-OUYatOEG5vbLbF73q2TC8UqrDO81zUQxnaFD/OAB1hcm6J+ur0zJ8E53c35/DIqkTp7JarPMraC4rouJ2ugN4w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-darwin-arm64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-darwin-arm64/-/bcrypt-darwin-arm64-1.9.2.tgz", + "integrity": "sha512-svJKsGbzMAxOB5oluOYneN4YkKUy26WSMgm3KOIhgoX30IeMilj+2jFN/5qrI0oDZ0Iczb3XyL5DuZFtEkdP8A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-darwin-x64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-darwin-x64/-/bcrypt-darwin-x64-1.9.2.tgz", + "integrity": "sha512-9OrySjBi/rWix8NZWD/TrNbNcwMY0pAiMHdL09aJnJ07uPih83GGh1pq4UHCYFCMy7iTX8swOmDlGBUImkOZbg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-freebsd-x64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-freebsd-x64/-/bcrypt-freebsd-x64-1.9.2.tgz", + "integrity": "sha512-/djXV71RO6g5L1mI2pVvmp3x3pH7G4uKI3ODG1JBIXoz334oOcCMh40sB0uq0ljP8WEadker01p4T1rJE98fpg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-arm-gnueabihf": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm-gnueabihf/-/bcrypt-linux-arm-gnueabihf-1.9.2.tgz", + "integrity": "sha512-F7wP950OTAooxEleUN4I2hqryGZK7hi1cSgRF13Wvbc597RFux35KiSxIXUA3mNt2DE7lV2PeceEtCOScaThWQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-arm64-gnu": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm64-gnu/-/bcrypt-linux-arm64-gnu-1.9.2.tgz", + "integrity": "sha512-MehG+yQ0TgKMgKR1rO4hdvHkVsTM91Cof8qI9EJlS5+7+QSwfFA5O0zGwCkISD7bsyauJ5uJgcByGjpEobAHOg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-arm64-musl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm64-musl/-/bcrypt-linux-arm64-musl-1.9.2.tgz", + "integrity": "sha512-PRZTAJjOwKEGsIhmBvfNh81So+wGl4QyCFAt23j+KwBujLStjC0N3YaqtTlWVKG9tcriPtmMYiAQtXWIyIgg/w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-x64-gnu": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-x64-gnu/-/bcrypt-linux-x64-gnu-1.9.2.tgz", + "integrity": "sha512-5WfGO+O1m7nJ55WZ8XDq+ItA98Z4O7sNWsR+1nIj9YGT+Tx5zkQ2RBhpK6oCWZMluuZ0eKQ0FDmyP6K+2NDRIA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-x64-musl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-x64-musl/-/bcrypt-linux-x64-musl-1.9.2.tgz", + "integrity": "sha512-VjCn0388p6PMCVUYHgYmHZrKNc7WwNJRr2WLJsHbQRGDOKbpNL6YolCjQxUchcSPDhzwrq1cIdy4j0fpoXEsdw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-wasm32-wasi": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-wasm32-wasi/-/bcrypt-wasm32-wasi-1.9.2.tgz", + "integrity": "sha512-P06aHfMzm9makwU+nM7WA65yQnS1xuqJ8l/6I/LvXjnl+lfB3DtJ2B0CSLtjnUGpUgcHbWl5gEbNnTPxSAirjQ==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.1.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@node-rs/bcrypt-win32-arm64-msvc": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-arm64-msvc/-/bcrypt-win32-arm64-msvc-1.9.2.tgz", + "integrity": "sha512-Iyo/Q5/eNw27VRd3mLBgh1b9b5fnT3QHTVwxv3Siv/MRAIfJXH/cTOe18qSwYQzNh0ZioW4yemFPYCWSZi7szA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-win32-ia32-msvc": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-ia32-msvc/-/bcrypt-win32-ia32-msvc-1.9.2.tgz", + "integrity": "sha512-6LHWMaPylyyHoS5863YpxAACVB8DWCxro5W6pQ4h8WKSgHpJp8Um9jphTdN0A2w45HZjUnfcFuiFFC+TbftjCw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-win32-x64-msvc": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-x64-msvc/-/bcrypt-win32-x64-msvc-1.9.2.tgz", + "integrity": "sha512-vZ9T1MOaYkLO9FTyl28YX0SYJneiYTKNFgM8PUv8nas8xrD+7OzokA0fEtlNp6413T7IKSD/iG9qi8nTWsiyGg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "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==", + "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==", + "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==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@open-draft/until": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-1.0.3.tgz", + "integrity": "sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==" + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.24", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", + "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==" + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@prisma/client": { + "version": "4.16.2", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.16.2.tgz", + "integrity": "sha512-qCoEyxv1ZrQ4bKy39GnylE8Zq31IRmm8bNhNbZx7bF2cU5aiCCnSa93J2imF88MBjn7J9eUQneNxUQVJdl/rPQ==", + "hasInstallScript": true, + "dependencies": { + "@prisma/engines-version": "4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81" + }, + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "prisma": "*" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + } + } + }, + "node_modules/@prisma/engines": { + "version": "4.16.2", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.16.2.tgz", + "integrity": "sha512-vx1nxVvN4QeT/cepQce68deh/Turxy5Mr+4L4zClFuK1GlxN3+ivxfuv+ej/gvidWn1cE1uAhW7ALLNlYbRUAw==", + "hasInstallScript": true + }, + "node_modules/@prisma/engines-version": { + "version": "4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81.tgz", + "integrity": "sha512-q617EUWfRIDTriWADZ4YiWRZXCa/WuhNgLTVd+HqWLffjMSPzyM5uOWoauX91wvQClSKZU4pzI4JJLQ9Kl62Qg==" + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.3.tgz", + "integrity": "sha512-1ACInKIT0pXmTYuPoJAL8sOT0lV3PEACFSVxnD03hGIojJ1CmbzZmLJyk2xew+yxqTlmx7xydkiJcBzdp0V+AQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.3.tgz", + "integrity": "sha512-vGl+Bny8cawCM7ExugzqEB8ke3t7Pm9/mo+ciA9kJh6pMuNyM+31qhewMwHwseDZ/LtdW0SCocW1CsMxcq1Lsg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.3.tgz", + "integrity": "sha512-Lj8J9WzQRvfWO4GfI+bBkIThUFV1PtI+es/YH/3cwUQ+edXu8Mre0JRJfRrAeRjPiHDPFFZaX51zfgHHEhgRAg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.3.tgz", + "integrity": "sha512-NPPOXMTIWJk50lgZmRReEYJFvLG5rgMDzaVauWNB2MgFQYm9HuNXQdVVg3iEZ3A5StIzxhMlPjVyS5fsv4PJmg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.3.tgz", + "integrity": "sha512-ij4tv1XtWcDScaTgoMnvDEYZ2Wjl2ZhDFEyftjBKu6sNNLHIkKuXBol/bVSh+md5zSJ6em9hUXyPO3cVPCsl4Q==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.3.tgz", + "integrity": "sha512-MTMAl30dzcfYB+smHe1sJuS2P1/hB8pqylkCe0/8/Lo8CADjy/eM8x43nBoR5eqcYgpOtCh7IgHpvqSMAE38xw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.3.tgz", + "integrity": "sha512-vY3fAg6JLDoNh781HHHMPvt8K6RWG3OmEj3xI9BOFSQTD5PNaGKvCB815MyGlDnFYUw7lH+WvvQqoBwLtRDR1A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.3.tgz", + "integrity": "sha512-61SpQGBSb8QkfV/hUYWezlEig4ro55t8NcE5wWmy1bqRsRVHCEDkF534d+Lln/YeLUoSWtJHvvG3bx9lH/S6uA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.3.tgz", + "integrity": "sha512-4XGexJthsNhEEgv/zK4/NnAOjYKoeCsIoT+GkqTY2u3rse0lbJ8ft1bpDCdlkvifsLDL2uwe4fn8PLR4IMTKQQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.3.tgz", + "integrity": "sha512-/pArXjqnEdhbQ1qe4CTTlJ6/GjWGdWNRucKAp4fqKnKf7QC0BES3QEV34ACumHHQ4uEGt4GctF2ISCMRhkli0A==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.3.tgz", + "integrity": "sha512-vu4f3Y8iwjtRfSZdmtP8nC1jmRx1IrRVo2cLQlQfpFZ0e2AE9YbPgfIzpuK+i3C4zFETaLLNGezbBns2NuS/uA==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.3.tgz", + "integrity": "sha512-n4HEgIJulNSmAKT3SYF/1wuzf9od14woSBseNkzur7a+KJIbh2Jb+J9KIsdGt3jJnsLW0BT1Sj6MiwL4Zzku6Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.3.tgz", + "integrity": "sha512-guO/4N1884ig2AzTKPc6qA7OTnFMUEg/X2wiesywRO1eRD7FzHiaiTQQOLFmnUXWj2pgQXIT1g5g3e2RpezXcQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.3.tgz", + "integrity": "sha512-+rxD3memdkhGz0NhNqbYHXBoA33MoHBK4uubZjF1IeQv1Psi6tqgsCcC6vwQjxBM1qoCqOQQBy0cgNbbZKnGUg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.3.tgz", + "integrity": "sha512-0NxVbLhBXmwANWWbgZY/RdSkeuHEgF+u8Dc0qBowUVBYsR2y2vwVGjKgUcj1wtu3jpjs057io5g9HAPr3Icqjg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.3.tgz", + "integrity": "sha512-hutnZavtOx/G4uVdgoZz5279By9NVbgmxOmGGgnzUjZYuwp2+NzGq6KXQmHXBWz7W/vottXn38QmKYAdQLa/vQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sendgrid/client": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-7.7.0.tgz", + "integrity": "sha512-SxH+y8jeAQSnDavrTD0uGDXYIIkFylCo+eDofVmZLQ0f862nnqbC3Vd1ej6b7Le7lboyzQF6F7Fodv02rYspuA==", + "dependencies": { + "@sendgrid/helpers": "^7.7.0", + "axios": "^0.26.0" + }, + "engines": { + "node": "6.* || 8.* || >=10.*" + } + }, + "node_modules/@sendgrid/client/node_modules/axios": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "dependencies": { + "follow-redirects": "^1.14.8" + } + }, + "node_modules/@sendgrid/helpers": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@sendgrid/helpers/-/helpers-7.7.0.tgz", + "integrity": "sha512-3AsAxfN3GDBcXoZ/y1mzAAbKzTtUZ5+ZrHOmWQ279AuaFXUNCh9bPnRpN504bgveTqoW+11IzPg3I0WVgDINpw==", + "dependencies": { + "deepmerge": "^4.2.2" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@sendgrid/mail": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@sendgrid/mail/-/mail-7.7.0.tgz", + "integrity": "sha512-5+nApPE9wINBvHSUxwOxkkQqM/IAAaBYoP9hw7WwgDNQPxraruVqHizeTitVtKGiqWCKm2mnjh4XGN3fvFLqaw==", + "dependencies": { + "@sendgrid/client": "^7.7.0", + "@sendgrid/helpers": "^7.7.0" + }, + "engines": { + "node": "6.* || 8.* || >=10.*" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@smithy/abort-controller": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.3.tgz", + "integrity": "sha512-c2aYH2Wu1RVE3rLlVgg2kQOBJGM0WbjReQi5DnPTm2Zb7F0gk7J2aeQeaX2u/lQZoHl6gv8Oac7mt9alU3+f4A==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/chunked-blob-reader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.1.1.tgz", + "integrity": "sha512-NjNFCKxC4jVvn+lUr3Yo4/PmUJj3tbyqH6GNHueyTGS5Q27vlEJ1MkNhUDV8QGxJI7Bodnc2pD18lU2zRfhHlQ==", + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.1.1.tgz", + "integrity": "sha512-zNW+43dltfNMUrBEYLMWgI8lQr0uhtTcUyxkgC9EP4j17WREzgSFMPUFVrVV6Rc2+QtWERYjb4tzZnQGa7R9fQ==", + "dependencies": { + "@smithy/util-base64": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.4.tgz", + "integrity": "sha512-AW2WUZmBAzgO3V3ovKtsUbI3aBNMeQKFDumoqkNxaVDWF/xfnxAWqBKDr/NuG7c06N2Rm4xeZLPiJH/d+na0HA==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.4", + "@smithy/types": "^2.10.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.5.tgz", + "integrity": "sha512-Rrc+e2Jj6Gu7Xbn0jvrzZlSiP2CZocIOfZ9aNUA82+1sa6GBnxqL9+iZ9EKHeD9aqD1nU8EK4+oN2EiFpSv7Yw==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/util-middleware": "^2.1.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.4.tgz", + "integrity": "sha512-DdatjmBZQnhGe1FhI8gO98f7NmvQFSDiZTwC3WMvLTCKQUY+Y1SVkhJqIuLu50Eb7pTheoXQmK+hKYUgpUWsNA==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.4", + "@smithy/property-provider": "^2.1.3", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-codec": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.3.tgz", + "integrity": "sha512-rGlCVuwSDv6qfKH4/lRxFjcZQnIE0LZ3D4lkMHg7ZSltK9rA74r0VuGSvWVQ4N/d70VZPaniFhp4Z14QYZsa+A==", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.10.1", + "@smithy/util-hex-encoding": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.3.tgz", + "integrity": "sha512-qAgKbZ9m2oBfSyJWWurX/MvQFRPrYypj79cDSleEgDwBoez6Tfd+FTpu2L/j3ZeC3mDlDHIKWksoeaXZpLLAHw==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.3.tgz", + "integrity": "sha512-48rvsNv/MgAFCxOE0qwR7ZwKhaEdDoTxqH5HM+T6SDxICmPGb7gEuQzjTxQhcieCPgqyXeZFW8cU0QJxdowuIg==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-node": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.3.tgz", + "integrity": "sha512-RPJWWDhj8isk3NtGfm3Xt1WdHyX9ZE42V+m1nLU1I0zZ1hEol/oawHsTnhva/VR5bn+bJ2zscx+BYr0cEPRtmg==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.3.tgz", + "integrity": "sha512-ssvSMk1LX2jRhiOVgVLGfNJXdB8SvyjieKcJDHq698Gi3LOog6g/+l7ggrN+hZxyjUiDF4cUxgKaZTBUghzhLw==", + "dependencies": { + "@smithy/eventstream-codec": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.3.tgz", + "integrity": "sha512-Fn/KYJFo6L5I4YPG8WQb2hOmExgRmNpVH5IK2zU3JKrY5FKW7y9ar5e0BexiIC9DhSKqKX+HeWq/Y18fq7Dkpw==", + "dependencies": { + "@smithy/protocol-http": "^3.2.1", + "@smithy/querystring-builder": "^2.1.3", + "@smithy/types": "^2.10.1", + "@smithy/util-base64": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/hash-blob-browser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.1.3.tgz", + "integrity": "sha512-sHLTM5xQYw5Wxz07DFo+eh1PVC6P5+kazQRF1k5nsvOhZG5VnkIy4LZ7N0ZNWqJx16g9otGd5MvqUOpb3WWtgA==", + "dependencies": { + "@smithy/chunked-blob-reader": "^2.1.1", + "@smithy/chunked-blob-reader-native": "^2.1.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/hash-node": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.3.tgz", + "integrity": "sha512-FsAPCUj7VNJIdHbSxMd5uiZiF20G2zdSDgrgrDrHqIs/VMxK85Vqk5kMVNNDMCZmMezp6UKnac0B4nAyx7HJ9g==", + "dependencies": { + "@smithy/types": "^2.10.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/hash-stream-node": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.1.3.tgz", + "integrity": "sha512-fWpUx2ca/u5lcD5RhNJogEG5FD7H0RDDpYmfQgxFqIUv3Ow7bZsapMukh8uzQPVO8R+NDAvSdxmgXoy4Hz8sFw==", + "dependencies": { + "@smithy/types": "^2.10.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.3.tgz", + "integrity": "sha512-wkra7d/G4CbngV4xsjYyAYOvdAhahQje/WymuQdVEnXFExJopEu7fbL5AEAlBPgWHXwu94VnCSG00gVzRfExyg==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz", + "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/md5-js": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.1.3.tgz", + "integrity": "sha512-zmn3M6+mP4IJlSmXBN9964AztgkIO8b5lRzAgdJn9AdCFwA6xLkcW2B6uEnpBjvotxtQMmXTUP19tIO7NmFPpw==", + "dependencies": { + "@smithy/types": "^2.10.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.3.tgz", + "integrity": "sha512-aJduhkC+dcXxdnv5ZpM3uMmtGmVFKx412R1gbeykS5HXDmRU6oSsyy2SoHENCkfOGKAQOjVE2WVqDJibC0d21g==", + "dependencies": { + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.4.tgz", + "integrity": "sha512-4yjHyHK2Jul4JUDBo2sTsWY9UshYUnXeb/TAK/MTaPEb8XQvDmpwSFnfIRDU45RY1a6iC9LCnmJNg/yHyfxqkw==", + "dependencies": { + "@smithy/middleware-serde": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/shared-ini-file-loader": "^2.3.4", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-middleware": "^2.1.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.4.tgz", + "integrity": "sha512-Cyolv9YckZTPli1EkkaS39UklonxMd08VskiuMhURDjC0HHa/AD6aK/YoD21CHv9s0QLg0WMLvk9YeLTKkXaFQ==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.4", + "@smithy/protocol-http": "^3.2.1", + "@smithy/service-error-classification": "^2.1.3", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-retry/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==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.3.tgz", + "integrity": "sha512-s76LId+TwASrHhUa9QS4k/zeXDUAuNuddKklQzRgumbzge5BftVXHXIqL4wQxKGLocPwfgAOXWx+HdWhQk9hTg==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.3.tgz", + "integrity": "sha512-opMFufVQgvBSld/b7mD7OOEBxF6STyraVr1xel1j0abVILM8ALJvRoFbqSWHGmaDlRGIiV9Q5cGbWi0sdiEaLQ==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.4.tgz", + "integrity": "sha512-nqazHCp8r4KHSFhRQ+T0VEkeqvA0U+RhehBSr1gunUuNW3X7j0uDrWBxB2gE9eutzy6kE3Y7L+Dov/UXT871vg==", + "dependencies": { + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.4", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.1.tgz", + "integrity": "sha512-HCkb94soYhJMxPCa61wGKgmeKpJ3Gftx1XD6bcWEB2wMV1L9/SkQu/6/ysKBnbOzWRE01FGzwrTxucHypZ8rdg==", + "dependencies": { + "@smithy/abort-controller": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/querystring-builder": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.3.tgz", + "integrity": "sha512-bMz3se+ySKWNrgm7eIiQMa2HO/0fl2D0HvLAdg9pTMcpgp4SqOAh6bz7Ik6y7uQqSrk4rLjIKgbQ6yzYgGehCQ==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.1.tgz", + "integrity": "sha512-KLrQkEw4yJCeAmAH7hctE8g9KwA7+H2nSJwxgwIxchbp/L0B5exTdOQi9D5HinPLlothoervGmhpYKelZ6AxIA==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.3.tgz", + "integrity": "sha512-kFD3PnNqKELe6m9GRHQw/ftFFSZpnSeQD4qvgDB6BQN6hREHELSosVFUMPN4M3MDKN2jAwk35vXHLoDrNfKu0A==", + "dependencies": { + "@smithy/types": "^2.10.1", + "@smithy/util-uri-escape": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.3.tgz", + "integrity": "sha512-3+CWJoAqcBMR+yvz6D+Fc5VdoGFtfenW6wqSWATWajrRMGVwJGPT3Vy2eb2bnMktJc4HU4bpjeovFa566P3knQ==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.3.tgz", + "integrity": "sha512-iUrpSsem97bbXHHT/v3s7vaq8IIeMo6P6cXdeYHrx0wOJpMeBGQF7CB0mbJSiTm3//iq3L55JiEm8rA7CTVI8A==", + "dependencies": { + "@smithy/types": "^2.10.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.4.tgz", + "integrity": "sha512-CiZmPg9GeDKbKmJGEFvJBsJcFnh0AQRzOtQAzj1XEa8N/0/uSN/v1LYzgO7ry8hhO8+9KB7+DhSW0weqBra4Aw==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.3.tgz", + "integrity": "sha512-Jq4iPPdCmJojZTsPePn4r1ULShh6ONkokLuxp1Lnk4Sq7r7rJp4HlA1LbPBq4bD64TIzQezIpr1X+eh5NYkNxw==", + "dependencies": { + "@smithy/eventstream-codec": "^2.1.3", + "@smithy/is-array-buffer": "^2.1.1", + "@smithy/types": "^2.10.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-uri-escape": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.2.tgz", + "integrity": "sha512-ntAFYN51zu3N3mCd95YFcFi/8rmvm//uX+HnK24CRbI6k5Rjackn0JhgKz5zOx/tbNvOpgQIwhSX+1EvEsBLbA==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "@smithy/util-stream": "^2.1.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.1.tgz", + "integrity": "sha512-hjQO+4ru4cQ58FluQvKKiyMsFg0A6iRpGm2kqdH8fniyNd2WyanoOsYJfMX/IFLuLxEoW6gnRkNZy1y6fUUhtA==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.3.tgz", + "integrity": "sha512-X1NRA4WzK/ihgyzTpeGvI9Wn45y8HmqF4AZ/FazwAv8V203Ex+4lXqcYI70naX9ETqbqKVzFk88W6WJJzCggTQ==", + "dependencies": { + "@smithy/querystring-parser": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-base64": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz", + "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==", + "dependencies": { + "@smithy/util-buffer-from": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz", + "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==", + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz", + "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz", + "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==", + "dependencies": { + "@smithy/is-array-buffer": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz", + "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.4.tgz", + "integrity": "sha512-J6XAVY+/g7jf03QMnvqPyU+8jqGrrtXoKWFVOS+n1sz0Lg8HjHJ1ANqaDN+KTTKZRZlvG8nU5ZrJOUL6VdwgcQ==", + "dependencies": { + "@smithy/property-provider": "^2.1.3", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.3.tgz", + "integrity": "sha512-ttUISrv1uVOjTlDa3nznX33f0pthoUlP+4grhTvOzcLhzArx8qHB94/untGACOG3nlf8vU20nI2iWImfzoLkYA==", + "dependencies": { + "@smithy/config-resolver": "^2.1.4", + "@smithy/credential-provider-imds": "^2.2.4", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/property-provider": "^2.1.3", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.4.tgz", + "integrity": "sha512-/qAeHmK5l4yQ4/bCIJ9p49wDe9rwWtOzhPHblu386fwPNT3pxmodgcs9jDCV52yK9b4rB8o9Sj31P/7Vzka1cg==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.4", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz", + "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.3.tgz", + "integrity": "sha512-/+2fm7AZ2ozl5h8wM++ZP0ovE9/tiUUAHIbCfGfb3Zd3+Dyk17WODPKXBeJ/TnK5U+x743QmA0xHzlSm8I/qhw==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.3.tgz", + "integrity": "sha512-Kbvd+GEMuozbNUU3B89mb99tbufwREcyx2BOX0X2+qHjq6Gvsah8xSDDgxISDwcOHoDqUWO425F0Uc/QIRhYkg==", + "dependencies": { + "@smithy/service-error-classification": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.3.tgz", + "integrity": "sha512-HvpEQbP8raTy9n86ZfXiAkf3ezp1c3qeeO//zGqwZdrfaoOpGKQgF2Sv1IqZp7wjhna7pvczWaGUHjcOPuQwKw==", + "dependencies": { + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/types": "^2.10.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz", + "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz", + "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-waiter": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.3.tgz", + "integrity": "sha512-3R0wNFAQQoH9e4m+bVLDYNOst2qNxtxFgq03WoNHWTBOqQT3jFnOBRj1W51Rf563xDA5kwqjziksxn6RKkHB+Q==", + "dependencies": { + "@smithy/abort-controller": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-4.0.0.tgz", + "integrity": "sha512-2WNKxlj1JdjMDc3REbalzBNL/3fPu1gqA87/aU3BmDJGDAy66zjCNHAwa5WuWU3IXJwwqN8s4c5j4XfneMEsqg==" + }, + "node_modules/@stitches/react": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@stitches/react/-/react-1.2.8.tgz", + "integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==", + "peerDependencies": { + "react": ">= 16.3.0" + } + }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", + "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", + "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@tanstack/query-core": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz", + "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.36.1.tgz", + "integrity": "sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==", + "dependencies": { + "@tanstack/query-core": "4.36.1", + "use-sync-external-store": "^1.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "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==", + "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/dom/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==", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/@testing-library/dom/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==" + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.2.tgz", + "integrity": "sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==", + "dependencies": { + "@adobe/css-tools": "^4.3.2", + "@babel/runtime": "^7.9.2", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + }, + "peerDependencies": { + "@jest/globals": ">= 28", + "@types/bun": "latest", + "@types/jest": ">= 28", + "jest": ">= 28", + "vitest": ">= 0.32" + }, + "peerDependenciesMeta": { + "@jest/globals": { + "optional": true + }, + "@types/bun": { + "optional": true + }, + "@types/jest": { + "optional": true + }, + "jest": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@testing-library/react": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.2.1.tgz", + "integrity": "sha512-sGdjws32ai5TLerhvzThYFbpnF9XtL65Cjf+gB0Dhr29BGqK+mAeN7SURSdu+eqgET4ANcWoC7FQpkaiGvBr+A==", + "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/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tsconfig/node18": { + "version": "18.2.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node18/-/node18-18.2.2.tgz", + "integrity": "sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw==", + "dev": true + }, + "node_modules/@tybys/wasm-util": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.8.1.tgz", + "integrity": "sha512-GSsTwyBl4pIzsxAY5wroZdyQKyhXk0d8PCRZtrSZ2WEB1cBdrp2EgGBwHOGCZtIIPun/DL3+AykCv+J6fyRH4Q==", + "optional": true, + "dependencies": { + "tslib": "^2.4.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==" + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/caseless": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.5.tgz", + "integrity": "sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg==" + }, + "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, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, + "node_modules/@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "node_modules/@types/js-levenshtein": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@types/js-levenshtein/-/js-levenshtein-1.1.3.tgz", + "integrity": "sha512-jd+Q+sD20Qfu9e2aEXogiO3vpOC1PYJOUdyN9gvs4Qrvkg4wF43L5OhqrPeokdv8TL0/mXoYfpkcoGZMNN2pkQ==" + }, + "node_modules/@types/lodash": { + "version": "4.17.7", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz", + "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==" + }, + "node_modules/@types/lodash.mergewith": { + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.7.tgz", + "integrity": "sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "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==" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/node": { + "version": "20.11.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.17.tgz", + "integrity": "sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "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==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" + }, + "node_modules/@types/qs": { + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==" + }, + "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==" + }, + "node_modules/@types/react": { + "version": "18.2.55", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.55.tgz", + "integrity": "sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.19", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.19.tgz", + "integrity": "sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", + "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/request": { + "version": "2.48.12", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.12.tgz", + "integrity": "sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==", + "dependencies": { + "@types/caseless": "*", + "@types/node": "*", + "@types/tough-cookie": "*", + "form-data": "^2.5.0" + } + }, + "node_modules/@types/request/node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/set-cookie-parser": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/@types/set-cookie-parser/-/set-cookie-parser-2.4.7.tgz", + "integrity": "sha512-+ge/loa0oTozxip6zmhRIk8Z/boU51wl9Q6QdLZcokIGMzY5lFXYy/x7Htj2HTC6/KZP1hUbZ1ekx8DYXICvWg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" + }, + "node_modules/@vitest/coverage-v8": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.6.0.tgz", + "integrity": "sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.4", + "istanbul-reports": "^3.1.6", + "magic-string": "^0.30.5", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "test-exclude": "^6.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.6.0" + } + }, + "node_modules/@vitest/coverage-v8/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@vitest/coverage-v8/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@vitest/expect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", + "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", + "dependencies": { + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", + "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", + "dependencies": { + "@vitest/utils": "1.6.0", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", + "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", + "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/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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==", + "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==" + }, + "node_modules/@vitest/spy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", + "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/ui": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-1.6.0.tgz", + "integrity": "sha512-k3Lyo+ONLOgylctiGovRKy7V4+dIN2yxstX3eY5cWFXH6WP+ooVX79YSyi0GagdTQzLmT43BF27T0s6dOIPBXA==", + "dependencies": { + "@vitest/utils": "1.6.0", + "fast-glob": "^3.3.2", + "fflate": "^0.8.1", + "flatted": "^3.2.9", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "sirv": "^2.0.4" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.6.0" + } + }, + "node_modules/@vitest/utils": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", + "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", + "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/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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==", + "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==" + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@yr/monotone-cubic-spline": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz", + "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==" + }, + "node_modules/@zag-js/dom-query": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-0.16.0.tgz", + "integrity": "sha512-Oqhd6+biWyKnhKwFFuZrrf6lxBz2tX2pRQe6grUnYwO6HJ8BcbqZomy2lpOdr+3itlaUqx+Ywj5E5ZZDr/LBfQ==" + }, + "node_modules/@zag-js/element-size": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.10.5.tgz", + "integrity": "sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w==" + }, + "node_modules/@zag-js/focus-visible": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.16.0.tgz", + "integrity": "sha512-a7U/HSopvQbrDU4GLerpqiMcHKEkQkNPeDZJWz38cw/6Upunh41GjHetq5TB84hxyCaDzJ6q2nEdNoBQfC0FKA==", + "dependencies": { + "@zag-js/dom-query": "0.16.0" + } + }, + "node_modules/@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "optional": true + }, + "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" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "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==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "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==", + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "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==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/apexcharts": { + "version": "3.45.2", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.45.2.tgz", + "integrity": "sha512-PpuM4sJWy70sUh5U1IFn1m1p45MdHSChLUNnqEoUUUHSU2IHZugFrsVNhov1S8Q0cvfdrCRCvdBtHGSs6PSAWQ==", + "dependencies": { + "@yr/monotone-cubic-spline": "^1.0.3", + "svg.draggable.js": "^2.2.2", + "svg.easing.js": "^2.0.0", + "svg.filter.js": "^2.0.2", + "svg.pathmorphing.js": "^0.1.3", + "svg.resize.js": "^1.4.3", + "svg.select.js": "^3.0.1" + } + }, + "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==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "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==" + }, + "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==", + "engines": { + "node": "*" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/auri": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/auri/-/auri-1.0.2.tgz", + "integrity": "sha512-OC54Bv+hAPvYlo98ZwK3cTo2ijg0CBylaAO5dZ/xZQ7e897k0o4qtxkUPQHruJrFUnL5BebCXz+bUAeXQHp9dg==", + "dependencies": { + "@actions/core": "^1.10.0", + "dotenv": "^16.0.3", + "front-matter": "^4.0.2", + "nanoid": "^4.0.1", + "oslo": "^1.0.3" + }, + "bin": { + "auri": "dist/index.js" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2/-/argon2-1.7.0.tgz", + "integrity": "sha512-zfULc+/tmcWcxn+nHkbyY8vP3+MpEqKORbszt4UkpqZgBgDAAIYvuDN/zukfTgdmo6tmJKKVfzigZOPk4LlIog==", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@node-rs/argon2-android-arm-eabi": "1.7.0", + "@node-rs/argon2-android-arm64": "1.7.0", + "@node-rs/argon2-darwin-arm64": "1.7.0", + "@node-rs/argon2-darwin-x64": "1.7.0", + "@node-rs/argon2-freebsd-x64": "1.7.0", + "@node-rs/argon2-linux-arm-gnueabihf": "1.7.0", + "@node-rs/argon2-linux-arm64-gnu": "1.7.0", + "@node-rs/argon2-linux-arm64-musl": "1.7.0", + "@node-rs/argon2-linux-x64-gnu": "1.7.0", + "@node-rs/argon2-linux-x64-musl": "1.7.0", + "@node-rs/argon2-wasm32-wasi": "1.7.0", + "@node-rs/argon2-win32-arm64-msvc": "1.7.0", + "@node-rs/argon2-win32-ia32-msvc": "1.7.0", + "@node-rs/argon2-win32-x64-msvc": "1.7.0" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-android-arm-eabi": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-android-arm-eabi/-/argon2-android-arm-eabi-1.7.0.tgz", + "integrity": "sha512-udDqkr5P9E+wYX1SZwAVPdyfYvaF4ry9Tm+R9LkfSHbzWH0uhU6zjIwNRp7m+n4gx691rk+lqqDAIP8RLKwbhg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-android-arm64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-android-arm64/-/argon2-android-arm64-1.7.0.tgz", + "integrity": "sha512-s9j/G30xKUx8WU50WIhF0fIl1EdhBGq0RQ06lEhZ0Gi0ap8lhqbE2Bn5h3/G2D1k0Dx+yjeVVNmt/xOQIRG38A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-darwin-arm64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-darwin-arm64/-/argon2-darwin-arm64-1.7.0.tgz", + "integrity": "sha512-ZIz4L6HGOB9U1kW23g+m7anGNuTZ0RuTw0vNp3o+2DWpb8u8rODq6A8tH4JRL79S+Co/Nq608m9uackN2pe0Rw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-darwin-x64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-darwin-x64/-/argon2-darwin-x64-1.7.0.tgz", + "integrity": "sha512-5oi/pxqVhODW/pj1+3zElMTn/YukQeywPHHYDbcAW3KsojFjKySfhcJMd1DjKTc+CHQI+4lOxZzSUzK7mI14Hw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-freebsd-x64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-freebsd-x64/-/argon2-freebsd-x64-1.7.0.tgz", + "integrity": "sha512-Ify08683hA4QVXYoIm5SUWOY5DPIT/CMB0CQT+IdxQAg/F+qp342+lUkeAtD5bvStQuCx/dFO3bnnzoe2clMhA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-linux-arm-gnueabihf": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm-gnueabihf/-/argon2-linux-arm-gnueabihf-1.7.0.tgz", + "integrity": "sha512-7DjDZ1h5AUHAtRNjD19RnQatbhL+uuxBASuuXIBu4/w6Dx8n7YPxwTP4MXfsvuRgKuMWiOb/Ub/HJ3kXVCXRkg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-linux-arm64-gnu": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm64-gnu/-/argon2-linux-arm64-gnu-1.7.0.tgz", + "integrity": "sha512-nJDoMP4Y3YcqGswE4DvP080w6O24RmnFEDnL0emdI8Nou17kNYBzP2546Nasx9GCyLzRcYQwZOUjrtUuQ+od2g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-linux-arm64-musl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm64-musl/-/argon2-linux-arm64-musl-1.7.0.tgz", + "integrity": "sha512-BKWS8iVconhE3jrb9mj6t1J9vwUqQPpzCbUKxfTGJfc+kNL58F1SXHBoe2cDYGnHrFEHTY0YochzXoAfm4Dm/A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-linux-x64-gnu": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-x64-gnu/-/argon2-linux-x64-gnu-1.7.0.tgz", + "integrity": "sha512-EmgqZOlf4Jurk/szW1iTsVISx25bKksVC5uttJDUloTgsAgIGReCpUUO1R24pBhu9ESJa47iv8NSf3yAfGv6jQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-linux-x64-musl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-x64-musl/-/argon2-linux-x64-musl-1.7.0.tgz", + "integrity": "sha512-/o1efYCYIxjfuoRYyBTi2Iy+1iFfhqHCvvVsnjNSgO1xWiWrX0Rrt/xXW5Zsl7vS2Y+yu8PL8KFWRzZhaVxfKA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-wasm32-wasi": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-wasm32-wasi/-/argon2-wasm32-wasi-1.7.0.tgz", + "integrity": "sha512-Evmk9VcxqnuwQftfAfYEr6YZYSPLzmKUsbFIMep5nTt9PT4XYRFAERj7wNYp+rOcBenF3X4xoB+LhwcOMTNE5w==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/core": "^0.45.0", + "@emnapi/runtime": "^0.45.0", + "@tybys/wasm-util": "^0.8.1", + "memfs-browser": "^3.4.13000" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-win32-arm64-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-arm64-msvc/-/argon2-win32-arm64-msvc-1.7.0.tgz", + "integrity": "sha512-qgsU7T004COWWpSA0tppDqDxbPLgg8FaU09krIJ7FBl71Sz8SFO40h7fDIjfbTT5w7u6mcaINMQ5bSHu75PCaA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-win32-ia32-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-ia32-msvc/-/argon2-win32-ia32-msvc-1.7.0.tgz", + "integrity": "sha512-JGafwWYQ/HpZ3XSwP4adQ6W41pRvhcdXvpzIWtKvX+17+xEXAe2nmGWM6s27pVkg1iV2ZtoYLRDkOUoGqZkCcg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/argon2-win32-x64-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-x64-msvc/-/argon2-win32-x64-msvc-1.7.0.tgz", + "integrity": "sha512-9oq4ShyFakw8AG3mRls0AoCpxBFcimYx7+jvXeAf2OqKNO+mSA6eZ9z7KQeVCi0+SOEUYxMGf5UiGiDb9R6+9Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt/-/bcrypt-1.9.0.tgz", + "integrity": "sha512-u2OlIxW264bFUfvbFqDz9HZKFjwe8FHFtn7T/U8mYjPZ7DWYpbUB+/dkW/QgYfMSfR0ejkyuWaBBe0coW7/7ig==", + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@node-rs/bcrypt-android-arm-eabi": "1.9.0", + "@node-rs/bcrypt-android-arm64": "1.9.0", + "@node-rs/bcrypt-darwin-arm64": "1.9.0", + "@node-rs/bcrypt-darwin-x64": "1.9.0", + "@node-rs/bcrypt-freebsd-x64": "1.9.0", + "@node-rs/bcrypt-linux-arm-gnueabihf": "1.9.0", + "@node-rs/bcrypt-linux-arm64-gnu": "1.9.0", + "@node-rs/bcrypt-linux-arm64-musl": "1.9.0", + "@node-rs/bcrypt-linux-x64-gnu": "1.9.0", + "@node-rs/bcrypt-linux-x64-musl": "1.9.0", + "@node-rs/bcrypt-wasm32-wasi": "1.9.0", + "@node-rs/bcrypt-win32-arm64-msvc": "1.9.0", + "@node-rs/bcrypt-win32-ia32-msvc": "1.9.0", + "@node-rs/bcrypt-win32-x64-msvc": "1.9.0" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-android-arm-eabi": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-android-arm-eabi/-/bcrypt-android-arm-eabi-1.9.0.tgz", + "integrity": "sha512-nOCFISGtnodGHNiLrG0WYLWr81qQzZKYfmwHc7muUeq+KY0sQXyHOwZk9OuNQAWv/lnntmtbwkwT0QNEmOyLvA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-android-arm64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-android-arm64/-/bcrypt-android-arm64-1.9.0.tgz", + "integrity": "sha512-+ZrIAtigVmjYkqZQTThHVlz0+TG6D+GDHWhVKvR2DifjtqJ0i+mb9gjo++hN+fWEQdWNGxKCiBBjwgT4EcXd6A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-darwin-arm64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-darwin-arm64/-/bcrypt-darwin-arm64-1.9.0.tgz", + "integrity": "sha512-CQiS+F9Pa0XozvkXR1g7uXE9QvBOPOplDg0iCCPRYTN9PqA5qYxhwe48G3o+v2UeQceNRrbnEtWuANm7JRqIhw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-darwin-x64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-darwin-x64/-/bcrypt-darwin-x64-1.9.0.tgz", + "integrity": "sha512-4pTKGawYd7sNEjdJ7R/R67uwQH1VvwPZ0SSUMmeNHbxD5QlwAPXdDH11q22uzVXsvNFZ6nGQBg8No5OUGpx6Ug==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-freebsd-x64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-freebsd-x64/-/bcrypt-freebsd-x64-1.9.0.tgz", + "integrity": "sha512-UmWzySX4BJhT/B8xmTru6iFif3h0Rpx3TqxRLCcbgmH43r7k5/9QuhpiyzpvKGpKHJCFNm4F3rC2wghvw5FCIg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-linux-arm-gnueabihf": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm-gnueabihf/-/bcrypt-linux-arm-gnueabihf-1.9.0.tgz", + "integrity": "sha512-8qoX4PgBND2cVwsbajoAWo3NwdfJPEXgpCsZQZURz42oMjbGyhhSYbovBCskGU3EBLoC8RA2B1jFWooeYVn5BA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-linux-arm64-gnu": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm64-gnu/-/bcrypt-linux-arm64-gnu-1.9.0.tgz", + "integrity": "sha512-TuAC6kx0SbcIA4mSEWPi+OCcDjTQUMl213v5gMNlttF+D4ieIZx6pPDGTaMO6M2PDHTeCG0CBzZl0Lu+9b0c7Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-linux-arm64-musl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm64-musl/-/bcrypt-linux-arm64-musl-1.9.0.tgz", + "integrity": "sha512-/sIvKDABOI8QOEnLD7hIj02BVaNOuCIWBKvxcJOt8+TuwJ6zmY1UI5kSv9d99WbiHjTp97wtAUbZQwauU4b9ew==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-linux-x64-gnu": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-x64-gnu/-/bcrypt-linux-x64-gnu-1.9.0.tgz", + "integrity": "sha512-DyyhDHDsLBsCKz1tZ1hLvUZSc1DK0FU0v52jK6IBQxrj24WscSU9zZe7ie/V9kdmA4Ep57BfpWX8Dsa2JxGdgQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-linux-x64-musl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-x64-musl/-/bcrypt-linux-x64-musl-1.9.0.tgz", + "integrity": "sha512-duIiuqQ+Lew8ASSAYm6ZRqcmfBGWwsi81XLUwz86a2HR7Qv6V4yc3ZAUQovAikhjCsIqe8C11JlAZSK6+PlXYg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-wasm32-wasi": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-wasm32-wasi/-/bcrypt-wasm32-wasi-1.9.0.tgz", + "integrity": "sha512-ylaGmn9Wjwv/D5lxtawttx3H6Uu2WTTR7lWlRHGT6Ga/MB1Vj4OjSGUW8G8zIVnKuXpGbZ92pgHlt4HUpSLctw==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/core": "^0.45.0", + "@emnapi/runtime": "^0.45.0", + "@tybys/wasm-util": "^0.8.1", + "memfs-browser": "^3.4.13000" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-win32-arm64-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-arm64-msvc/-/bcrypt-win32-arm64-msvc-1.9.0.tgz", + "integrity": "sha512-2h86gF7QFyEzODuDFml/Dp1MSJoZjxJ4yyT2Erf4NkwsiA5MqowUhUsorRwZhX6+2CtlGa7orbwi13AKMsYndw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-win32-ia32-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-ia32-msvc/-/bcrypt-win32-ia32-msvc-1.9.0.tgz", + "integrity": "sha512-kqxalCvhs4FkN0+gWWfa4Bdy2NQAkfiqq/CEf6mNXC13RSV673Ev9V8sRlQyNpCHCNkeXfOT9pgoBdJmMs9muA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/@node-rs/bcrypt-win32-x64-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-x64-msvc/-/bcrypt-win32-x64-msvc-1.9.0.tgz", + "integrity": "sha512-2y0Tuo6ZAT2Cz8V7DHulSlv1Bip3zbzeXyeur+uR25IRNYXKvI/P99Zl85Fbuu/zzYAZRLLlGTRe6/9IHofe/w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/auri/node_modules/nanoid": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", + "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^14 || ^16 || >=18" + } + }, + "node_modules/auri/node_modules/oslo": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/oslo/-/oslo-1.1.2.tgz", + "integrity": "sha512-l5tmumAHJy6wTfcxjwbPtcEn23lxnsBqbW1PqM11lqnQ79Q8Gzc7b3+OjRpLTbiqkfvhT4/BZ2Ooe8/QCJxyEg==", + "dependencies": { + "@node-rs/argon2": "1.7.0", + "@node-rs/bcrypt": "1.9.0", + "auri": "1.0.2" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "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" + } + ], + "dependencies": { + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "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.6", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz", + "integrity": "sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.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==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "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==" + }, + "node_modules/base-64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "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" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.6.tgz", + "integrity": "sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "set-function-length": "^1.2.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==", + "engines": { + "node": ">=6" + } + }, + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001588", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz", + "integrity": "sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==", + "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" + } + ] + }, + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "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.0.8" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "engines": { + "node": "*" + } + }, + "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==", + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "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/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/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==", + "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/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clsx": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "engines": { + "node": ">=6" + } + }, + "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==", + "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==" + }, + "node_modules/color2k": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/color2k/-/color2k-2.0.3.tgz", + "integrity": "sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog==" + }, + "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==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/compute-scroll-into-view": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz", + "integrity": "sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==" + }, + "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 + }, + "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==", + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "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==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "engines": { + "node": "*" + } + }, + "node_modules/css-box-model": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz", + "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==", + "dependencies": { + "tiny-invariant": "^1.0.6" + } + }, + "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==" + }, + "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==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssstyle": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", + "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/data-urls": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", + "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "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==", + "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-equal/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.2.tgz", + "integrity": "sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "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==", + "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==", + "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==", + "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==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/digest-fetch": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz", + "integrity": "sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==", + "dependencies": { + "base-64": "^0.1.0", + "md5": "^2.3.0" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "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==" + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "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==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.676", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.676.tgz", + "integrity": "sha512-uHt4FB8SeYdhcOsj2ix/C39S7sPSNFJpzShjxGOm1KdF4MHyGqGi389+T5cErsodsijojXilYaHIKKqJfqh7uQ==" + }, + "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==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz", + "integrity": "sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==", + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-client": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz", + "integrity": "sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0", + "xmlhttprequest-ssl": "~2.0.0" + } + }, + "node_modules/engine.io-client/node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==" + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/engine.io-client/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "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/engine.io-parser": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", + "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/engine.io/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "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/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "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==", + "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==", + "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-get-iterator/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "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==" + }, + "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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "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/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "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==", + "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==", + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "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==", + "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/execa/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==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/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==", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/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==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "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" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "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.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-xml-parser": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", + "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" + }, + "node_modules/focus-lock": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-1.3.5.tgz", + "integrity": "sha512-QFaHbhv9WPUeLYBDe/PAuLKJ4Dd9OPvKs9xZBr3yLXnUrDNaVXKu2baDBXe3naPY30hgHYSsf2JW4jzas2mDEQ==", + "dependencies": { + "tslib": "^2.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/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==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" + }, + "node_modules/formdata-node": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", + "dependencies": { + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" + }, + "engines": { + "node": ">= 12.20" + } + }, + "node_modules/formdata-node/node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/framer-motion": { + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.3.2.tgz", + "integrity": "sha512-RgjSzrNFZmedWcvmW4MMc84A7UcoY37jocadE3Mbg3o+UMofodfyeNnYD/HR15UhP22/bb5KOebNhYOj4mYkpQ==", + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", + "dependencies": { + "tslib": "2.4.0" + } + }, + "node_modules/framesync/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/front-matter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz", + "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==", + "dependencies": { + "js-yaml": "^3.13.1" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "optional": true + }, + "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 + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "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==", + "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==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gaxios": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.2.0.tgz", + "integrity": "sha512-H6+bHeoEAU5D6XNc6mPKeN5dLZqEDs9Gpk6I+SZBEzK5So58JVrHPmevNi35fRl1J9Y5TaeLW0kYx3pCJ1U2mQ==", + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^7.0.1", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.9" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/gaxios/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/gaxios/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/gaxios/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/gaxios/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/gcp-metadata": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-6.1.0.tgz", + "integrity": "sha512-Jh/AIwwgaxan+7ZUUmRLCjtchyDiqh4KjBJ5tW3plBZb5iL/BPcso8A5DlzeD9qlw0duCamnNdpFjxwaT0KyKg==", + "dependencies": { + "gaxios": "^6.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "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==", + "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==", + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "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==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/goober": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.14.tgz", + "integrity": "sha512-4UpC0NdGyAFqLNPnhCT2iHpza2q+RAY3GV85a/mRPdzyPQMsj0KmMMuetdIkzWRbJ+Hgau1EZztq8ImmiMGhsg==", + "peerDependencies": { + "csstype": "^3.0.10" + } + }, + "node_modules/google-auth-library": { + "version": "9.6.3", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.6.3.tgz", + "integrity": "sha512-4CacM29MLC2eT9Cey5GDVK4Q8t+MMp8+OEdOaqD9MG6b0dOyLORaaeJMPQ7EESVgm/+z5EKYyFLxgzBJlJgyHQ==", + "dependencies": { + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "gaxios": "^6.1.1", + "gcp-metadata": "^6.1.0", + "gtoken": "^7.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/google-gax": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-4.3.0.tgz", + "integrity": "sha512-SWHX72gbccNfpPoeTkNmZJxmLyKWeLr0+5Ch6qtrf4oAN8KFXnyXe5EixatILnJWufM3L59MRZ4hSJWVJ3IQqw==", + "dependencies": { + "@grpc/grpc-js": "~1.9.6", + "@grpc/proto-loader": "^0.7.0", + "@types/long": "^4.0.0", + "abort-controller": "^3.0.0", + "duplexify": "^4.0.0", + "google-auth-library": "^9.0.0", + "node-fetch": "^2.6.1", + "object-hash": "^3.0.0", + "proto3-json-serializer": "^2.0.0", + "protobufjs": "7.2.6", + "retry-request": "^7.0.0", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/google-gax/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/google-gax/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/google-gax/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/google-gax/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/gtoken": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-7.1.0.tgz", + "integrity": "sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw==", + "dependencies": { + "gaxios": "^6.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "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==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/headers-polyfill": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-3.2.5.tgz", + "integrity": "sha512-tUCGvt191vNSQgttSyJoibR+VO+I6+iCHIUdhzEMJKE+EAL8BwCN7fUOZlY4ofOelNHsK+gEjxB/B+9N3EWtdA==" + }, + "node_modules/headlessui": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/headlessui/-/headlessui-0.0.0.tgz", + "integrity": "sha512-CHvacVPbl8AqIg2sBNKySUmumu7o15jSrCaTrIh9GW2Eq4y/krCN/vZFOsKCwlrhWQbO4267a8xvvP8bs+qREQ==" + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/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==" + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "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 + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-agent/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==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/http-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/http-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "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==", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dependencies": { + "ms": "^2.0.0" + } + }, + "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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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==", + "dev": true, + "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==" + }, + "node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "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==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "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==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "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==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.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==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-node-process": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", + "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==" + }, + "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==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "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==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "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, + "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, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", + "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "21.1.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-21.1.2.tgz", + "integrity": "sha512-sCpFmK2jv+1sjff4u7fzft+pUh2KSUbUrEHYHyfSIbGTIcmnjyp83qg6qLwdJ/I3LpTXx33ACxeRL7Lsyc6lGQ==", + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.2", + "acorn-globals": "^7.0.0", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/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==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/jsdom/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/jsdom/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==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "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==" + }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" + }, + "node_modules/jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "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==" + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "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==" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "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==", + "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==", + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/lucia": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lucia/-/lucia-3.0.1.tgz", + "integrity": "sha512-srwUkTCGgr6N4mFpaKZVZy5kwiRZdsrbIDv9Wrjar+xyw1MjojYQQ7oRbegjRWOZ3yI8xOOclK3sz/rga2J7/w==", + "dependencies": { + "oslo": "1.0.1" + } + }, + "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==", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" + } + }, + "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, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-to-jsx": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.3.2.tgz", + "integrity": "sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==", + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "react": ">= 0.14.0" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "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==", + "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==", + "optional": true, + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memfs-browser": { + "version": "3.5.10302", + "resolved": "https://registry.npmjs.org/memfs-browser/-/memfs-browser-3.5.10302.tgz", + "integrity": "sha512-JJTc/nh3ig05O0gBBGZjTCPOyydaTxNF0uHYBrcc1gHNnO+KIHIvo0Y1FKCJsaei6FCl8C6xfQomXqu+cuzkIw==", + "optional": true, + "dependencies": { + "memfs": "3.5.3" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "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==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "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==", + "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==", + "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==", + "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==", + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mitt": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", + "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" + }, + "node_modules/mlly": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", + "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/msw": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/msw/-/msw-1.3.2.tgz", + "integrity": "sha512-wKLhFPR+NitYTkQl5047pia0reNGgf0P6a1eTnA5aNlripmiz0sabMvvHcicE8kQ3/gZcI0YiPFWmYfowfm3lA==", + "hasInstallScript": true, + "dependencies": { + "@mswjs/cookies": "^0.2.2", + "@mswjs/interceptors": "^0.17.10", + "@open-draft/until": "^1.0.3", + "@types/cookie": "^0.4.1", + "@types/js-levenshtein": "^1.1.1", + "chalk": "^4.1.1", + "chokidar": "^3.4.2", + "cookie": "^0.4.2", + "graphql": "^16.8.1", + "headers-polyfill": "3.2.5", + "inquirer": "^8.2.0", + "is-node-process": "^1.2.0", + "js-levenshtein": "^1.1.6", + "node-fetch": "^2.6.7", + "outvariant": "^1.4.0", + "path-to-regexp": "^6.2.0", + "strict-event-emitter": "^0.4.3", + "type-fest": "^2.19.0", + "yargs": "^17.3.1" + }, + "bin": { + "msw": "cli/index.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mswjs" + }, + "peerDependencies": { + "typescript": ">= 4.4.x <= 5.2.x" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/msw/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/msw/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/msw/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/msw/node_modules/path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" + }, + "node_modules/msw/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/msw/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/msw/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nats": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/nats/-/nats-2.24.0.tgz", + "integrity": "sha512-SX88qL6GdmbRG1dP/q2+YTDlY7i/u6Zz57J2JRLNb21QgQ+Vw46JzARmtNw83vlcW5XC53NXe5gRWo2D2gAFyg==", + "dependencies": { + "nkeys.js": "1.1.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nkeys.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nkeys.js/-/nkeys.js-1.1.0.tgz", + "integrity": "sha512-tB/a0shZL5UZWSwsoeyqfTszONTt4k2YS0tuQioMOD180+MbombYVgzDUYHlx+gejYK6rgf08n/2Df99WY0Sxg==", + "dependencies": { + "tweetnacl": "1.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.0.tgz", + "integrity": "sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "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/npm-run-path/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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + }, + "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==", + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "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==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "ee-first": "1.1.1" + }, + "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==", + "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==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openai": { + "version": "4.27.0", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.27.0.tgz", + "integrity": "sha512-j1ZEx9NiBpm31rxWqQTjQt1QvH/8001xHsc/pRoPjkRDYWONCb+qkR6L9C7Wl6ar72Mz1ybtn1bv6fqAoTPlKw==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "digest-fetch": "^1.3.0", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7", + "web-streams-polyfill": "^3.2.1" + }, + "bin": { + "openai": "bin/cli" + } + }, + "node_modules/openai/node_modules/@types/node": { + "version": "18.19.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.15.tgz", + "integrity": "sha512-AMZ2UWx+woHNfM11PyAEQmfSxi05jm9OlkxczuHeEqmvwPkYj6MWv44gbzDPefYOLysTOFyI3ziiy2ONmUZfpA==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/openai/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/openai/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/openai/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/openai/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oslo": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/oslo/-/oslo-1.0.1.tgz", + "integrity": "sha512-esfzZry+HfGgK/GCYkg7BRlLd3RH5aHa08wgLJPYjENXybi0BvXxGk0LbUj+lXfz2TkjPDHe4rB/o6JxRLHxBg==", + "dependencies": { + "@node-rs/argon2": "1.7.2", + "@node-rs/bcrypt": "1.9.2" + } + }, + "node_modules/outvariant": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.2.tgz", + "integrity": "sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==" + }, + "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==", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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==", + "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": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.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, + "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==", + "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==" + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "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==", + "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==" + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "engines": { + "node": "*" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "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==", + "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-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "engines": { + "node": ">=14" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nested/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "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==" + }, + "node_modules/prettier": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-tailwindcss": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.11.tgz", + "integrity": "sha512-AvI/DNyMctyyxGOjyePgi/gqj5hJYClZ1avtQvLlqMT3uDZkRbi4HhGUpok3DRzv9z7Lti85Kdj3s3/1CeNI0w==", + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "@ianvs/prettier-plugin-sort-imports": "*", + "@prettier/plugin-pug": "*", + "@shopify/prettier-plugin-liquid": "*", + "@trivago/prettier-plugin-sort-imports": "*", + "prettier": "^3.0", + "prettier-plugin-astro": "*", + "prettier-plugin-css-order": "*", + "prettier-plugin-import-sort": "*", + "prettier-plugin-jsdoc": "*", + "prettier-plugin-marko": "*", + "prettier-plugin-organize-attributes": "*", + "prettier-plugin-organize-imports": "*", + "prettier-plugin-style-order": "*", + "prettier-plugin-svelte": "*" + }, + "peerDependenciesMeta": { + "@ianvs/prettier-plugin-sort-imports": { + "optional": true + }, + "@prettier/plugin-pug": { + "optional": true + }, + "@shopify/prettier-plugin-liquid": { + "optional": true + }, + "@trivago/prettier-plugin-sort-imports": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + }, + "prettier-plugin-css-order": { + "optional": true + }, + "prettier-plugin-import-sort": { + "optional": true + }, + "prettier-plugin-jsdoc": { + "optional": true + }, + "prettier-plugin-marko": { + "optional": true + }, + "prettier-plugin-organize-attributes": { + "optional": true + }, + "prettier-plugin-organize-imports": { + "optional": true + }, + "prettier-plugin-style-order": { + "optional": true + }, + "prettier-plugin-svelte": { + "optional": true + }, + "prettier-plugin-twig-melody": { + "optional": true + } + } + }, + "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==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prisma": { + "version": "4.16.2", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.16.2.tgz", + "integrity": "sha512-SYCsBvDf0/7XSJyf2cHTLjLeTLVXYfqp7pG5eEVafFLeT0u/hLFz/9W196nDRGUOo1JfPatAEb+uEnTQImQC1g==", + "hasInstallScript": true, + "dependencies": { + "@prisma/engines": "4.16.2" + }, + "bin": { + "prisma": "build/index.js", + "prisma2": "build/index.js" + }, + "engines": { + "node": ">=14.17" + } + }, + "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==", + "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==" + }, + "node_modules/proto3-json-serializer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-2.0.1.tgz", + "integrity": "sha512-8awBvjO+FwkMd6gNoGFZyqkHZXCFd54CIYTb6De7dPaufGJ2XNW+QUNqbMr8MaAocMdb+KpsD4rxEOaTBDCffA==", + "dependencies": { + "protobufjs": "^7.2.5" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/protobufjs": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", + "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "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==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "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==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "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==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-apexcharts": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/react-apexcharts/-/react-apexcharts-1.4.1.tgz", + "integrity": "sha512-G14nVaD64Bnbgy8tYxkjuXEUp/7h30Q0U33xc3AwtGFijJB9nHqOt1a6eG0WBn055RgRg+NwqbKGtqPxy15d0Q==", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "apexcharts": "^3.41.0", + "react": ">=0.13" + } + }, + "node_modules/react-clientside-effect": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", + "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "dependencies": { + "@babel/runtime": "^7.12.13" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-focus-lock": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.12.1.tgz", + "integrity": "sha512-lfp8Dve4yJagkHiFrC1bGtib3mF2ktqwPJw4/WGcgPW+pJ/AVQA5X2vI7xgp13FcxFEpYBBHpXai/N2DBNC0Jw==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "focus-lock": "^1.3.5", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.6", + "use-callback-ref": "^1.3.2", + "use-sidecar": "^1.1.2" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-hook-form": { + "version": "7.50.1", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.50.1.tgz", + "integrity": "sha512-3PCY82oE0WgeOgUtIr3nYNNtNvqtJ7BZjsbxh6TnYNbXButaD5WpjOmTjdxZfheuHKR68qfeFnEDVYoSSFPMTQ==", + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18" + } + }, + "node_modules/react-hot-toast": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.1.tgz", + "integrity": "sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ==", + "dependencies": { + "goober": "^2.1.10" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/react-icons": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.11.0.tgz", + "integrity": "sha512-V+4khzYcE5EBk/BvcuYRq6V/osf11ODUM2J8hg2FDSswRrGvqiYUYPRy4OdrWaQOBj4NcpJfmHZLNaD+VH0TyA==", + "peerDependencies": { + "react": "*" + } + }, + "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==" + }, + "node_modules/react-remove-scroll": { + "version": "2.5.10", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.10.tgz", + "integrity": "sha512-m3zvBRANPBw3qxVVjEIPEQinkcwlFZ4qyomuWVpNJdv4c6MvHfXV0C3L9Jx5rr3HeBHKNRX+1jreB5QloDIJjA==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.6", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", + "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/react-router/node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/react-router/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==" + }, + "node_modules/react-select": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.8.0.tgz", + "integrity": "sha512-TfjLDo58XrhP6VG5M/Mi56Us0Yt8X7xD6cDybC7yoRMUNm7BGO7qk8J0TLQOua/prb8vUOtsfnXZwfm30HGsAA==", + "dependencies": { + "@babel/runtime": "^7.12.0", + "@emotion/cache": "^11.4.0", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", + "memoize-one": "^6.0.0", + "prop-types": "^15.6.0", + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.1.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-textarea-autosize": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz", + "integrity": "sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "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==", + "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==", + "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==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "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==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-7.0.2.tgz", + "integrity": "sha512-dUOvLMJ0/JJYEn8NrpOaGNE7X3vpI5XlZS/u0ANjqtcZVKnIxP7IgCFwrKTxENw29emmwug53awKtaMm4i9g5w==", + "dependencies": { + "@types/request": "^2.48.8", + "extend": "^3.0.2", + "teeny-request": "^9.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.16.3.tgz", + "integrity": "sha512-Ygm4fFO4usWcAG3Ud36Lmif5nudoi0X6QPLC+kRgrRjulAbmFkaTawP7fTIkRDnCNSf/4IAQzXM1T8e691kRtw==", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.16.3", + "@rollup/rollup-android-arm64": "4.16.3", + "@rollup/rollup-darwin-arm64": "4.16.3", + "@rollup/rollup-darwin-x64": "4.16.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.16.3", + "@rollup/rollup-linux-arm-musleabihf": "4.16.3", + "@rollup/rollup-linux-arm64-gnu": "4.16.3", + "@rollup/rollup-linux-arm64-musl": "4.16.3", + "@rollup/rollup-linux-powerpc64le-gnu": "4.16.3", + "@rollup/rollup-linux-riscv64-gnu": "4.16.3", + "@rollup/rollup-linux-s390x-gnu": "4.16.3", + "@rollup/rollup-linux-x64-gnu": "4.16.3", + "@rollup/rollup-linux-x64-musl": "4.16.3", + "@rollup/rollup-win32-arm64-msvc": "4.16.3", + "@rollup/rollup-win32-ia32-msvc": "4.16.3", + "@rollup/rollup-win32-x64-msvc": "4.16.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==" + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/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==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", + "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==" + }, + "node_modules/set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^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==" + }, + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", + "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.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==" + }, + "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==" + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/socket.io": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz", + "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz", + "integrity": "sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==", + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-adapter/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-adapter/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "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/socket.io-client": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", + "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-client/node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==" + }, + "node_modules/socket.io-client/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-client/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==" + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "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==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "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==" + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stream-events": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", + "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", + "dependencies": { + "stubs": "^3.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==" + }, + "node_modules/strict-event-emitter": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.4.6.tgz", + "integrity": "sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg==" + }, + "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==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "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==", + "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-cjs": { + "name": "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", + "dependencies": { + "js-tokens": "^9.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==" + }, + "node_modules/stripe": { + "version": "11.15.0", + "resolved": "https://registry.npmjs.org/stripe/-/stripe-11.15.0.tgz", + "integrity": "sha512-HkXz/o4hVvBLSSgTLo3iZQW19PV+DiOdwsj26jnrRcOgpZ+dpGgzpudL/yTWEho7lWcz3cRNov3d4REZ1Qtfbg==", + "dependencies": { + "@types/node": ">=8.1.0", + "qs": "^6.11.0" + }, + "engines": { + "node": ">=12.*" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/stubs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", + "integrity": "sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==" + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/superjson": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-1.13.3.tgz", + "integrity": "sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dependencies": { + "has-flag": "^4.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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg.draggable.js": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz", + "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==", + "dependencies": { + "svg.js": "^2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.easing.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz", + "integrity": "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==", + "dependencies": { + "svg.js": ">=2.3.x" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.filter.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz", + "integrity": "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==", + "dependencies": { + "svg.js": "^2.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.js": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz", + "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" + }, + "node_modules/svg.pathmorphing.js": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz", + "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==", + "dependencies": { + "svg.js": "^2.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.resize.js": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz", + "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==", + "dependencies": { + "svg.js": "^2.6.5", + "svg.select.js": "^2.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.resize.js/node_modules/svg.select.js": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz", + "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==", + "dependencies": { + "svg.js": "^2.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.select.js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz", + "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==", + "dependencies": { + "svg.js": "^2.6.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tailwind-merge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.2.1.tgz", + "integrity": "sha512-o+2GTLkthfa5YUt4JxPfzMIpQzZ3adD1vLVkvKE1Twl9UAhGsEbIZhHHZVRttyW177S8PDJI3bTQNaebyofK3Q==", + "dependencies": { + "@babel/runtime": "^7.23.7" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/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==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/teeny-request": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-9.0.0.tgz", + "integrity": "sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g==", + "dependencies": { + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.9", + "stream-events": "^1.0.5", + "uuid": "^9.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/teeny-request/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==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/teeny-request/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/teeny-request/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==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/teeny-request/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/teeny-request/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/teeny-request/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/teeny-request/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/teeny-request/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "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, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "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==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/tinybench": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", + "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==" + }, + "node_modules/tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", + "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==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "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==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "dependencies": { + "punycode": "^2.3.0" + }, + "engines": { + "node": ">=14" + } + }, + "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==" + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "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==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" + }, + "node_modules/undici": { + "version": "5.28.3", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz", + "integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "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==", + "engines": { + "node": ">= 4.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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "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" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.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==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", + "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "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==" + }, + "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==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz", + "integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==", + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.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": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", + "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", + "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/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/vite-node/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/vitest": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", + "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", + "dependencies": { + "@vitest/expect": "1.6.0", + "@vitest/runner": "1.6.0", + "@vitest/snapshot": "1.6.0", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "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.0", + "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.0", + "@vitest/ui": "1.6.0", + "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/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/wasp": { + "resolved": ".wasp/out/sdk/wasp", + "link": true + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-encoding": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", + "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", + "dependencies": { + "util": "^0.12.3" + }, + "optionalDependencies": { + "@zxing/text-encoding": "0.9.0" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz", + "integrity": "sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", + "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", + "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "dependencies": { + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "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==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "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/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/app/package.json b/app/package.json new file mode 100644 index 000000000..36a3b89e9 --- /dev/null +++ b/app/package.json @@ -0,0 +1,43 @@ +{ + "name": "opensaas", + "dependencies": { + "@aws-sdk/client-s3": "^3.523.0", + "@aws-sdk/s3-request-presigner": "^3.523.0", + "@faker-js/faker": "8.3.1", + "@google-analytics/data": "4.1.0", + "@headlessui/react": "1.7.13", + "@tailwindcss/forms": "^0.5.3", + "@tailwindcss/typography": "^0.5.7", + "apexcharts": "^3.41.0", + "clsx": "^2.1.0", + "headlessui": "^0.0.0", + "lodash": "^4.17.21", + "markdown-to-jsx": "7.3.2", + "nats": "^2.24.0", + "node-fetch": "3.3.0", + "openai": "^4.24.1", + "prettier": "3.1.1", + "prettier-plugin-tailwindcss": "0.5.11", + "react": "^18.2.0", + "react-apexcharts": "^1.4.1", + "react-hot-toast": "^2.4.1", + "react-icons": "4.11.0", + "stripe": "11.15.0", + "tailwind-merge": "^2.2.1", + "uuid": "^9.0.1", + "wasp": "file:.wasp/out/sdk/wasp", + "react-textarea-autosize": "^8.5.3", + "zod": "3.22.4", + "react-select": "5.8.0", + "@chakra-ui/react": "2.8.2" + }, + "devDependencies": { + "@types/express": "^4.17.13", + "@types/react": "^18.0.37", + "@types/react-router-dom": "^5.3.3", + "@vitest/coverage-v8": "^1.6.0", + "prisma": "4.16.2", + "typescript": "^5.1.0", + "vite": "^5.1.7" + } +} diff --git a/app/postcss.config.cjs b/app/postcss.config.cjs new file mode 100644 index 000000000..12a703d90 --- /dev/null +++ b/app/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/app/pretend_nats_client.ts b/app/pretend_nats_client.ts new file mode 100644 index 000000000..cce46159d --- /dev/null +++ b/app/pretend_nats_client.ts @@ -0,0 +1,58 @@ +// import { connect, consumerOpts, JSONCodec } from 'nats'; +// import { v4 as uuidv4 } from 'uuid'; + +// const NATS_URL = process.env['NATS_URL']; +// console.log(`NATS_URL=${NATS_URL}`); + +// async function generateClientId(): Promise { +// return uuidv4(); +// } + +// async function main() { +// try { +// if (!NATS_URL) { +// throw new Error('NATS_URL is not defined'); +// } +// const nc = await connect({ servers: NATS_URL }); +// console.log(`connected to ${nc.getServer()}`); + +// const js = nc.jetstream(); +// const jc = JSONCodec(); +// const clientId = await generateClientId(); + +// const registerSubject = `register.${clientId}`; +// const pingSubject = `ping.${clientId}`; +// const pongSubject = `pong.${clientId}`; + +// // Subscribe to messages +// const opts = consumerOpts(); +// opts.orderedConsumer(); +// const sub = await js.subscribe(pongSubject, opts); +// (async () => { +// for await (const m of sub) { +// const jm = jc.decode(m.data); +// console.log(`Received message: ${JSON.stringify(jm)}`); +// } +// })() +// .then(() => { +// nc.close(); +// }) +// .catch((err) => { +// console.error(`Error: ${err}`); +// }); + +// await js.publish(registerSubject, jc.encode({ client_id: clientId })); +// await new Promise((resolve) => setTimeout(resolve, 3000)); +// await js.publish(pingSubject, jc.encode({ msg: 'ping' })); +// } catch (err: any) { +// console.error(`Error: ${err}`); +// if (err.code) { +// console.error(`Error code: ${err.code}`); +// } +// if (err.chainedError) { +// console.error(`Chained error: ${err.chainedError}`); +// } +// } +// } + +// main(); diff --git a/app/public/.gitkeep b/app/public/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/app/public/favicon.ico b/app/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2abdcb0774ea267227a256303e87ab1bb0a45c03 GIT binary patch literal 243998 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 literal 0 HcmV?d00001 diff --git a/app/public/fonts/Roboto-Light.ttf b/app/public/fonts/Roboto-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e7307e72c5e7bced5d36c776d0986bf71b605f15 GIT binary patch literal 167000 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 T&&O!b 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

1!1exG)EK6u~BkmExnKuQI2?mS0J2 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 Og7zwfTI$9`zx;34o!sdF literal 0 HcmV?d00001 diff --git a/app/public/fonts/Roboto-Regular.ttf b/app/public/fonts/Roboto-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ddf4bfacb396e97546364ccfeeb9c31dfaea4c25 GIT binary patch literal 168260 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

S&jh1n&JeeMOkU4{=4@cYr6k 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≤FHXCuU9Qce=@vmZ{%9^5??OaVQJ8!4u8-w;yt zGSf}w{_*50pIMtH))x&$Q}axgpy4z3*ZNBi`SbQCA6bGSU<$bp;prp9IP*#G5;tDF z!#;m)YCm)K?3H1p9|vVdnN*ofj-$y*meTV~S;HwjPnNth*M{+|_sp6PC(Trj<o-- z)0y^aD}vzUH`&)RDUAL@>zjYZ7)trPKdc188#9mmW|KTF;z^`d=eQ4^87+tnf_oLX z<|Fnq*c5&#`g8WP*%a|5n}RN~oc&6Al_EB=Dg5gAHlDtNO@V6KmJIQvlwAHGw@pm{3FdkUYpWt5%3{x`IDO*x<(6{-@Y*oe8O++&}qWU|jz zve`dUa)g5K2xZ3dM444D)r-B4T9AEFwJ7_NYAN<*_=OQgtxh{2=T%Cs)>3P+udCK) zKS&+Mei~Y=q9$weg`$0hE~RKcqAMxrNr%`UVa-y}Zfej_OVI4>?`kRR)3glsSy&$x z{WI3P6{)GP|3arV(H_W6|3<&aK1xq#pQ%4!|A@DM6pS~8p}FJ}f&3AoCdWl+>7T@A zwk>R1*?ty3OPVuptHyN;e6tB&*d}K;oD06T`4ar82L^ZUDQXYJl?&T)Ka%M?X-b3(XHe;A)T=VtjsV@my z)bBo{u28Z{M754+9r1#AVQ8QlxU==e;ERFNUl!E;mZ43s+y|Abzq-vP&Nej&e7(TyYhKT3nAB!knQ?CV-d|IoHlsKZz>ejd0v*qZnEWM zyaz3~cR?P4LdUyH32NW^V$j0Y zw*v=LU-&9`TANnTX*HBtDK}YWPb-l_3zJSzMz(QlN)S9PuU*Y6l9F7Nn`~`K1(|1? zU~ID#Z&926wjl4UKqF_m+F%8(}EUCt_*4c-$w)_(JU|vpkgE*lb=qV=OX5Jof+kC-2Mq zli!8*{23oUEit(~iO;+K--pJ^|D4uC4U&eovo00jvRPvW`{?ni5PR|qbKld;9`93{2zA>&oJ$v5K zv%HqS)t{I8?{WOHZlZA)t~UADup4~!;lKSe!f5O7^HLi}pyoC9*Nu(FUgNCcG}gn% z#f+`SN#i!{j$g3+<4N>3NeiPEa0$uh=W?&De?E0RSD&{x?ipAVUy5~^x4l(`QOAEDYB=rPnEQV-g%NMm(u@D9-cICf!)l>lyh)F;(xf8 z7BpoPvj-yzT>5wE`JL4N;mVUf8ROLL|fvTu?iXDH`|WbFU>@Bbi2^K_s5&v+`kjNS5gSD*JMf8m(A-8EKA zt;YC4_Cxcpm^m&YTmSw?{~ni@pYbJknPWHU6fA_^%(hF27nno8$oDNvi!yxSxtu7E zW?WTN6V>^8&MVlIYhp2~jTK4S;p$c$FXt+G-10ZYfntV-ouOJjX%wmL_h ztA44@Q|GG-)UVWq`PbH-uB)lPs{7R6)Pw3_HB3FGo={J!r_~7coO)ips7CRnju=*s zW7RnIrkbGMW-Tq5b+o&zprx{Umd>hKHfv=MSSQP2b(!~yc%{Re6|q9Bi21QvRzfSO zmD0*+<+KW#zg9_mNvon&(_Uuntd=(0vr@(i{CsmYdXZh4!|X?Ol-eejQDr5!(y2a!Yt5NCd+j9YjYgE}hx@ zMOU@}(VefKRKjlA3$E$SRteibvQ*b1?Rd!NzA1 z0RM~S5w4Y_%&7BgJ)eL1-^YOoT{N3;!jMY$N~8-m3Rox z77>r&TR-s_-Yq6_;8}lRz_(Qt0pC_rba?k=#iG^G8nN=(R%@sDXN^9e^@k#~lL+wK)04|@eRN`HWwMuo?ch@V8v`yM3r7^b1AC)HB7Hx~tRD-vb zW^yf8X#sEVS6ac*hm>~MC{HLIwUgQ@r5o?2oKt%6c1pC;3+}$6^oGN)Dt+McIHj+4 zOG{D)vO;T9hRan~Wdxk>Rz|Xd`cN6AL-kPQI`5S1 zRATkr`fth&{h)qOxvd}3k0^KaWBN%YNk6ThR_^K%`dQ^3Z=PIGoLE|;lvLh9xu&G) z@p`=C(jB@(aqIW=drG>_rex^ZdN!8if}#;m?+V@5cl%2}}XA z!7bGDG zSPRyH@4$Mn!AMazg73j5@B`Qieg@mXFJL^2;{TkTMPCI7wTvyX5; z;ctWo2oG`35pWb72jSopfDYl404*nqGh&u9$zoqK#0QuLOfHE0WhKqnx7 zpR_CJ4&Zqmp4Z<7eLz1j01N^{z%b*UJ_3vcqrtmi92gHKQm4saD)@jtw~8{rkNO(! zTMssoW-}o?$NTdo^y8!p2WO2iJqp~z_D~<0aYZ!2=Ghb-v^jHuD9&SyD@tkJKx<4G z1X4s1#<(JkXGPRiMm#d*3NqyiGUbZq&sUx+5%&_PCyHpK(Ov@$!0VtPXau@|H$Yb~ zpR}vNT5yy+qRHb5xC*Wlch5-DGK_eA0+UL}!ed5~egd523z%m`5j_gr zW3E@8+JsV@RBCdOnuJo5P->D&O+u+jD5bwh>G>oeCT7$MA2=oE{zyL4=tO1+BR_fgfDmkH& z6Dm2Ok`pR9p^y^_IiZjf3OS*W6AC$@kP`|yp^y^_IiZjf3OS*W6KXi2h7)Qyp@tJ` zIH86UYB-^W6KXi2h7)Qyp@tJ`IH86UYB-^W6KXi2h7)Qyp@tJ`IH86UYB-^Q6ACz? zfD;Nhp@0(#IH7penziS8uoKV0C1)Na8 z$vFNdH7LcCIb&>bGPXDwTbzt7PW4al5Ip9|)CxK5MBX})kxt~J6M5uB9yyUmPUI24 zMhBoE^2mt{aw12Zk}r)}jNr2vC1){8&SI3D#V9$;5vR?>o?FV>O);1IZPWHWMSDzl6X8H|vbjF6d(PMM4_nT#Bnj2fAY8kyP+BSVV=w?GQ#nMNj~KqjL=CZj+mQZo~& znTgcQL?UJ)5i^Pj? z=m2Je#b60o3dmFa8XN?NK^Qm&E&^(xVlPr-z#rfNctj0qfq7sBfHE5QXsN(W=?j9w zz!!7`oxvNR8|VRgf?l9EfVz5rFc1s|-+_J9trfMmQF|M;w^4f=wYO1w8@0Dldz;v2 z9D@RWP{0NSY*4@k1#D2j1_f+Tzy<|uP{0NSY*4@k1#D2j1_f+Tzy<|uP{0NSY*4@k z1#D2j1_f+Tzy<|uP{0NSY*4@k1#D2j1_f+Tzy<|uP{0NSY*4@k1#D2j1_f+Tzy<|u zP{0NSY*4@k1#D2j1_f+Tzy<|uP{0NSY*4@k1#D2j1_f+rq*WLJn_-`BZbYMFCZS^{ zi4(?c5o<)DMYNkTtKLN`f5FG)ftNkShbm)G(47Mv7DPr@}@g{kj7Ex&r;W0{yxIHH@T&k<>7f8b(sXNNN~K4I`;tB(;mA zc9GO7k{U%)i%3czNvR_#btEN@q{NYwIFb@aQsPKT97%~IDRCqvj-Ss)wyPI~&Lpl^zYAcuZ0fM&!g7Q#|S3{oqRQ6`R2CQd=7D6fNNpap0{ z+?#}Nfwuwukx?j)Q7Dd4D2`Dmj!`I%Q7Dd4D2`DmPThhW*lNTe+hdUJG0659WP6Mn zYQ!^dh-cmq&%7ZXshEgVOk~uGW7LXc)QV%&ieuD@W7LXc)QV%&ic=%O1#k&OgDc=F z$ly8DQ@sy<2Y>R6hv2ah!~7tg`9VDMgLvi#@yrk6nIFU>ffE_+;P1&JKnh_@4_aPH(d9b|HB7;%i8 zak>hS!+HTw$cSMSjnn-IOBjhr`9!@GD95$(#5V+uK~vBiv;?g|TMz^~abFkE6?6yi z7UN$G<6jJ;ZXBa-9HVX=V_^&ho4CH2y1@q58>(uKpLpD_N#GXBNF@oqTY4ad9TcsCsGhQnQOcpMxa2Zy`i za5o(8g2UZ#cpO~qr04j;(f8nJHyrJTqffxmE;!l_$GYK8H(VJ9SGwU!H(cn3>)ddi z8?JLR#>O(n#xlmnGRDR-#>T>lZaC2mC%WN8H=O8(<6Ll@3yyQaaV|J64vve1G$BxG4^9a=}S1ILQt7xZ$2SxW^6G#KARj+6^O?F+Y|uKNjwB!#Qzq4sX(fOpXma z#}%N0BA^7VP!f~^xGyVe1HiW& zA0j-4+>#?Mx*DzNPiv;rg5k8(dRl5dEw!GOT2D)@r&ZEvm2_GqomNSwRl;eNaHyLO zbvy6I3i9qNWd*>ory4rSA!Y&sMThnnF~GaPEJhnnl5=6Wa@4h6%ZSU405 zhhpK>KAqa9Q~PvkpHA)5seL-NPp9_b)IOZrhg0)(Y8+0D!1?_X)*d;d_9HBTM?y(Z3j8-S>`vU%1#|`70er?Nc#l!=9{l`t_C1JmIRl?a zzLUXJAZO$2iO-#p>&J-;2WR;r#RV)R7x_v}6vsCS6Tv->(}~Xl+1PFVBz(Z^O7;Ty zOh8Y5hc8v6nR?(BT6_~cMc$AW`y+3GIJ=lKB$=$6S`8!sXv93E z33_NVN+RbY-C4En0eS*vFqGECSYe~2Qm?%vqDUVDc(S+&B@)poY~1hUS{iBHgy|p? zWPxmOpEdbE2p@olAji0b9(xHL_LAabBx5tX%y?r{{Ea*4u$P$sNNTvyWiMe%i$Zpt zP?~Yv0<`5?AlHJ3Z-?&N0lZ24Ti|WbA3$B&!leu)-(g6S;Yjkaq#tLTVN8o)Op9Pl zi(pKPU`&fpL2W~k^+GDgzIB}=I8R8?*D$a3y2{8NAIY-MR%r;xt#T+dQesZCcUP33mq!))HOE9y1fv_aui-e^JOQY|VLM518wHWa^HW%z4{N((VC!!4a+<z|>8Z_$#ew4#evWaWdeXEh-%h_JJ9*KCDxd>w8#dfXnUP{cS4MGr&K z!&+s|e*{N4K0_DK!EkIDX=PU&s%m;)Yjz*Dk+ zr^8cr_$d{BvcXRm;T=1*u~8cvwXwk;c6h@MZ`k1tJ9F<0c*71)q)|f~JR#*mI&E*K zjqS9rowk*7BAvFCvLc-}O`|>2Xv;L((Lo#9X+Jw{XQ$RS+RZ_m*{QvacCyn(c069H zputt6b~QkK&;T?t5}-%|)VL)+=X@Dh33ifp7vXNgD6V5&W$oJ!N+s~7L0 zZB}PZoyHv;HU&s5=xv> z0blxnFMYrl3fkaxUwGXYUibZrWRjzn4c_&IqBi)}7pmIuj4uLJ8MV;yxYr}4h`UbQ zZO-ozW&rdjc-9x5_0=_Wsp9BeFMt<8X}-e8$~S!L3*Y*}x4!VLFMR6@-}=J0zVNLt zeCrF}`og!q@U1VcBS$7VD#;N^O15Nu8u?(yg%5pmC7c|EY`hWH2-{gRsNNhKV-&}i zIgTN`ZrVVe3uMmli<5#Wdhnec1x&r z2j05_@7;m-lAxBfqe>fU61GcTDE=7q_ zplK#FO`$Y$^yZxf*6ml(&sf_g*A#M1fhL*IBomrsLX%ABA^TwpbjXAbvae-Q=S=FH zNu5)ub0$wn;eD&_jL$tlPtYHm(NRJtkh9Y?&fOfR1IBxi1+u|?uKhvy06YXa=oY+} zkJjiy*T_Q8NJm?AF><@n6kUwmF0@1!TB3{5+l^M}LMwEk6}r$0U5wstMr;?Fo(m1n zg@)%s!*ikGxzOBPXlgDrH5a3^8!gR+mgYhmbD@p77@ggW%x<(UmtFvr1D}AE0DT6n z$t5a_rz=a@Xi3>=dmp;GGDqKj6IxX4xssvQwC4r!bRtGm}nX7M;Q@+RZFlzDMFVErZeu zm}ddZZ~gPU8{%e`obq2;{{H>@8c(f)p7%A}%!b{}hEw!Biy!adFxyRGwwuCCH--0G zt;|#l0_=*kaws;jP;6qMyjNKm8xJ4LV0Ggy!lyQ#P_c^h1HfbB31!`8E3F@ftt=E9 z?-ly&7G%?Q@jGuhXh1i%E9OcB_MUR^Sq0+!vFB7GYy-M;eK6q=FpM-Kz`GnzAbuA1 zo-e>0Fc*9Y{=c>Zp*g7E0;r{;J*c!KZ%w(?^UX>0`FgH7NE@VwQJJR8wo?%5CM z5$Yk*@@57$z)HqlMNg!zkkjbcS(8XEU#C@{(FaHhE=}S2lTNlb6&KvdJr(yt1*_ zc;1`$7u|U44G&R&0o%c!;30TyglHCHvE~JQ zKtWI#Y$AROI0+(+#q{J5dT|K7ECj1=2v*$?thymsbwl*Gz}sLDSP!-de|Jc9-1J$t{`OlF2QZ+>*&HncVJ@TQXnJ z@RTb}K9>(=#PEIo8}N=IDTx09Z-I!`@YE1A%Pwe9FY?~XW!6O8tfr;1zEo61FlUx) zqLJiwp7LF1j(CsR$$jH0Eqj%gjb`2#!`y(izE3WA<}o%C1?#34_LXv2uWB3dN?rOmwjZSxVAYRj#43Y~ zL&|8QbDikD@+Bgkcn?PF~ch2)&^wA zw<45s4E5_k{R&aimP(hLbm$nS49aoQV_v1l45GdTsIP^R*M+86@Fpq1j7PrnSj4zs zzW3OXRjyvF1@tDA?>mlz!k_Sl$PCs?XY)P8FVTGV@qXt)u6y3^IEnX2VOsgFI1cqs zVmUiy{6-D$(%NTf?O0m-l=2m=d&4+O3!bF~BjJzAP`5V{s2{et)zEt%e6b&jdU)kD z{85}12!{p{)a^T3pgVQ@n7T#Ke(}^TgVvZzYedi*U8&OoC5HEDlHpG;?s7w^bf}cc z-RV#u6AIiVRWx6}>B#f?G4qXqKYb{xTo>HOJ@>fBZO){c&}XEroHarZUnu;Ni?lt! zZT+CbK1vpWC*eIjzwaCSxo;<}62-lzdERxHl5f^WZrfBep304RR`|xNFSEgkfDr1!{K7)=q9&@nWgf^=cfp5^BrxG zEl%)W|0$?=-S~<6M8M&9o>}z_rDUE}Pbh$OrZ+xi{owxkLZ`)h8G9(tDKRc*A1z*; zT)WWX3u*BU)b~I2&n0B}a zC2qmJ3A9%N(u&!i&}r#Y9A$7<26yqbA7c2Dk6h)YO;kg*!5HV+DvSPn9qJ|12dtXu16CdH zuifNyh^>~8Uwf);e&?wU7QHKYh4C|>@Ix$HeG!L6?=}3sZ1@^F*;??8#xzzGerIci z@7E(}lp_q$Mt+HrUm%y>U%{sLS3A@DtGy!qzB-wHUvHRxU)@c=uO6n~*PEu_7hYfZ zec|G#zKzpr_GA#I_uNDMRmzDAfHU+cCYv5#Q%#Sr5AgWd3}eM*9q~1>CN@4^f44+rZ?Ad)0^vr z>CF{xdUKt`=P+5EGJU#En?7AC<)2^y!K;eY#>zpROCGPgk7j(-m*} zblo(4x^Cf*a0wdKEN%y$YGWUd2pbuS%w`S7p=J>m}3ItBUFCRaJg% z7=JM7c%)4waw^zRBX{kwuq|E`Xve^)otzpFd`T@RHvP0y}D zrf1g>)3a-Y>De{X^z0gCdUlOBJ-b$#o?WX<&#r&zL-nD`Px^3uxU$*w^4em0d4-x@ zUOP-LuU)2>*KX6x>sQmuYp?0$wa@hOI%Ilz9X7qZ!b~r(qo$YF3De6f-1PD~ZF+f~ zF}=JZOfN51@bL1A(vRZh6^)nISvyGK) zh0Il^nEkV~**{C0{WHMqp8@pGD)iN=Y~}F4tj4%iolT*yy^Q>=%~k+Cp$>P}Wh+Jh z;#*<#uh;PGlwO`iun0CLO%t~Ac!f2^7q}Ul^bSMQr}wo$N(Zr7@dFJ;+O%VP(d_@; zX8+ge|2>cqZ?b9lYW5_J^a_2!lm$M>g8q#01K50!3Ii#<^bPeg<${7-*um^zC!31b z@Gi=>n@u$(g^wvIbW>7znUccalo7>{5I3oJ5}QAA!p2@oiZZ68zz>Yg%ajxqkrX+i zBGSSTUZ%XLXv&Ld`U}~azsIn^yjVttQ{0n2I5Ov!t^CAt;|+tivZK3 zw6ro0DHC8ynE+GDR5qndVWdogcu7fA5=8}MO$wuoQ*ok;^0p1f($lnpDR(NEa;LB< zcYIB`Q{0q0^80Te^ZhsJX<7ui^Mz3HiJmQr;}<RBz3?s-o10swpN)$y9 zkSHoB5*=2DRX~HXh=_oK#)rN<#034gA`*j3UU-`5%rN8oJf8}P3b=qED(<3wqM}h; z;ub<=f8SGm@7$RLOybLb?{$Cr^y%8Vx~lqAb^ZF(L0kF}(pl!05pp?rhW9J{3iwCC zHN0QxSHeGr_G(lAIA5j3L5H=eU&YsHanNLK>eujb@n_tiRem9`mX_ES8+;5Rvu%fa6o17`uYrd5` zE@Hjr2I!yvl8}pKF}j|2$Q?ZCopL9!?gE=?!ivqmf?py_A~h+`(&}jR@!P$^iajbuKX^TN-yj>%DtwOFjEroQjZrIl zl$UXT1?|;CtY3kmHw@j34r`IT#XnXB@;0+&E$L(4g}yKE^F&*~*t~oo%+<2q^oQgP z-D1-GR6dOkWmV_Th=qnRIsBU0l4A6Xzacd=O>qAcm|PRtF5Ah;w_tN#cE}FW*$GDH zWtZ%N-z$4bb04!T8G0|)*ksLSiJGu(v!bQfKpA^!krrW#1x;mW6K#SOz^0&k9km&A za|PNQl&_<w*l?*+7@duv6h1Rc|A-IgKr1==e0dnZer~K3g}to zza#wNpn+bG&?DeGfeL#4f&KvgNYFvAN9j@Uok0n`9<4{i9|KzGu@BG%{#Z~$uU)k( zd^ha|f1Dl%-(9=I_s|~jJ+)_)(&L#o%4jd`1^+|lk1~3Ko&bL$^GF%(t-aw-(v#p> zyb%5r=9MzqNBh9{)xPkj>Z$OjG0&9Ie%cTIbmp5f^y_7m)c_qpDGk(t@Pl*^{9qjn zKSYPX55*3W)3fv}_;M|WAExwBI$VdtkI)hDBXuPFC>;fl{x_6SLR4s@1n5k(oQw1l zW+4moQna0mbQXWV73gfVo{RJ{{(>v8F$DPQm3n2=jy1Qhidu#BGgYtFtC?Aur}J<} zYn*viw8n|GSQkgCcYvsRy;B)?>s@*m&-H8lH91+LOUMIyI3=!X`)#UMYB9A(TDY6+?VMx=yF|7$Q8N*&Fn|@QBpwToHQAWklQu7 zhNpWHo$W*QDdtcM^l5ar4^{ryg{v44y{dem6g>w4xsH|PdZdk&3D>}l$Y_Fo^G zmyK-f!YZ5Sreix3-E??#({V>PoiOO8^CjST!avdf=e9i8ihj9O&iOmf_GRL;A(C_Z z+VFO5hiOn2GJU{YH^_!*9L_Bnk=a%n z=wA{`wK<2C-XVdS3rj_?CWyJ&W;Eek2xD&flBl0!^D|$i_7Yq7RuUFEUp65~AW5qE z>&Dr)&8I6NPSRp>F|3Si%jYPGowy!|wxxyJDu>Nz z=SJLO<)Q!Ms8R=aAus1Sy6!HxFJ6aH?h-Wit-l+Dll=G!|5cQwm_t$zdw5epb z`7GOuvoUh+mSS$(pIgo^e@;Rr*O&$hd(!@M_poyZ?u2ceu;nBkxLTd-y1i8LOhw2Z zduppOD_fJ+wq{cz(NpmC<#$pu?Wp^@TauQigd5W?Ofo0ETmiDsu5xlgNY_d^cUWng zl(NmJgf?YY7Rxr1(1~nLWTC~dRUWNB$hAKUmuqi{{7qbvwvx0EOT(TkqNgdSJrWsh z{c$d>zxSNG-+|9b9&+t-|L6QWlgnkUT_!bQWuHHiwrTCt${^pzBqf#HFGuUHEmv1c zosl0glX>NK>Gz+hV!Lv z=nV56In(I4Sr<>3>CT@u>)5Vt3bdP>4n5AzhIV&zpgr7NXiqmEdc3=Fw#8b=d`;{c zVkMvxb3VOXA9n_pc1An1EjH6#;pV#Q+yb}QEpZiCR$J~?yJy`d=54B|j!jXz@0im| z{ruC)heP|9_bqk12Mrlm>PHXmJF?UtSw3VC{P6Mt_)<2x+D+=$QC8+=eW36j7KhQ8 z3oS~KTLs~;)?mDav^UN1RvWdpXzz+q8=*L)j!}~}w#oq8g*DYYfFEshf(&ek?vd~o)9PWF67_B=1^KliWB;STZ7 zYQrVhbF%+oia#B%E)TF9jQl91`Y5!U3S$qh>tgE!RDccuK7p&R@|p>2fl_vJeE z9l7@L@Mx#|*k9saq7}dBUU1L5jqW+O!L4`CGNahdcV%|5ll#d1-hJpka9fy ze#ac;JML}P!P`vRf5W}*UURRySFmfb)qUb;`OExlf4RTZ|HPML<>E7DF8|=Za9?7R zkCn=>c(Dz87u(&R-M4Os+v#>;_hOIR%K*sfUW_?nbJb%t6WbRVEMFA*2L42U5ObZ4 z{K5JyRxq0SX1+OgFp9D7*AmNyt$iDRsLhWtJJwB(lkU<(ddl(AOMWOP$cfThPLh-5 z6zL;<l43)E_T!t~1HbO?qC>bqh%NQ9eF}%RIS8ekMO>z-C|48})hYD!!?eM{fg zclfIQoxZE@VR>Y|*o#dVs z>)uFeT;HM2zp^LD*8EP(Z?49%OBscH+v;`ut@*kwWxuVUm=L)K$D88U;}7Gl@#pb3eDEmN zV~f(w(yi0&(#NEGr~9PK(&g#V>B;G7>DlSI>G|pF(>JFVrf*N*lYSumXnJk>Wu*E< zq^?g-j$+m~&0yoWFtl-Vr|&CbPT#m9knS|kU-VTZ>GA1_=_y=~ci6vy&Ipu0iqhl3 zF*;*Q$EQca9pk&e4F?@L9aN>iKf|BtFYr_Rg?_5P$WQYZ<690wFx}7aGvJ4^hT<51 zt{?43_)&hOAB)x1bNo0z#FzO2exM)Z2lKt(+7I)S2z@ehy^H)zy-9D@TXccm>L=?$ zy^U~#2|0jRlcH9B7~#tZT}s+xNiCoH*`z#%xr@5%_uA^c%?RCwv~Sgg`P51KwlJzF zVRUf_VOkNgH8X*Wc=i%^HEn=1$1$NFv#%JRZXFf6b#ASD#<%sQ{xILpxAz@9IAhv_ zwVWKy!P3=ie~Rzp`}$M;X}%vN{{O2A-|>HNRbjKcRR}iRA58cRFyS)(h#km3vV)@` z{OM@8@G$V;5um}N_~Ykn5aF?)!RLSi|2)E$DOSR+k8X%=iWWo*`GA$x!OiD2NJ}==(a}n_tf@r3}HJ4CQ)u5BhK{in`@8DxJmUqAex3Z%4 zHc&hV+J}ua{I(1Em)+{Kjlo$59BH~ z3O+Sb$ALCE9Rp$mr&Dw~v8IAMT@E@lTjvmRj?UHjdLuo=V%!$!?S!~p?*<`Cffn7z zzb6lZ_4q(tKz$x1#m6|FAjE3WoQ;gr-h_uTru-0uCS{b7<96K*4^4UMykUf8_Ef`E zvs9}T{eOz5;#o6dGd_m(uLOyIo)PnCt9^GR_uQKTf54JC-(TV2doV>gun!1yWuREq zqn&g?BG`B65&WHU6#t;~$jXcXSqWh?OlL*|{8Yk%hSEz#ezKoTe>2n11mn7i9*Yqy zd*V03pNr(NuU6|>Yx`MxPkLEm*6ClZcO|wVCCR*dYkELOoFTNuVf3^a`t5W1&tVch zZ_|+Hri2!^$StC6KjYRBx-I>m&2QQrEpKz-D-CsxYS04ZJw-(qz+Vfk03jtV*r>(53tFwefL8j~L#%4}8h@j?=ox{(0a~HF z58UxBXqEm7%4*ZlO8;?)W&ab`_)mh%XTin(v8j>w%tapxzF!C5KL+1N%te0*t?;)% zt7uIURgvDU7K(Oj=`ApS5LdhNZO|%kOS|(5Xrq__<{SWgME4fN34DOGc zJ8KYIm{lRnn(TdUw@|zhb{~6w{?>vn<a@nViJI7q$NdF-r7VZ__w7)-pIos=u&Sjph}lOtHFKkj{A%X?;!cN zwpfGgz*kbiy+LqC7IODSfnROBw;WdLguq)%s!+zR)J1b>mHq}=4O(oeJ!LLJOC|g| zbCFk}75<^%a!GKpHd+C8Zl!b?v`P+#R)Q{D_@j&$M&HoRf%3NjIk)n!^!652=#QXF z{oBwg{dZ`!j)qq1cxVk0)WVE|F4c3PReCnG5?vJY9Sf~MH^qE^46V}1&`PAO`A&gW z=v3%Zod&Ja3!s%c16rdOLM!wl=u&0ekMD1xmF@}JY*{qOS&0sEtHRY#XKiJuTL~?5 zYoMc@m8Rviab$neM##RS=_$ML|6K-43nwxMWmYs;7ai%>0=YSeQTh>4OE!y6D(e~9gNh|HDcT2Km%d%{B*~Y!d6=Q>KngQDw7r-_) z)iws(fB~5n>Pz4e5=cTwBk+=t7f47*LI7(=|8r+n>lGzmzW4pU?+=nZd*;rad(S=n zo_m%+1VI!MI|zyxXqeqyUH^&seFAmdLJ;JsS+hO$E*GWZ;U_PUjWD@F&RH~$xbN>l_von5_Z-TK25=duXo{ystIpIyCnboG*~TXw_! zVrb7JNTQPcb;o~HeG(~gO8|I6P)o9P?4=fCPen@^IP zk~acw&cbs8@SKux5K)3yrw@g~p^&xIVzpSTLFPj^#C*_;^b(0wBH%o~xkznc3vBYYZy|#domRih^yqcoy&z@Z%v%127qj#b{tg4sFHE$l*@F zk6UpTPUJYv=4DMaBWAO=sHmWzsK{qFjaD};Gn<_`6ZtKbm1kEhxIJ1nTd7ha1b=3i zMGy2YeYmQ!9X(mS#_n*JSj^T#kl9?~D=Ar9z2t0VtR~=cZEb8k-uXu7 z@y5n2E?1x?R&g5E>~6sQYQVjiC`n@;MiUG&qlE!m^->nccn)G_ju`dEyHV%Ti;cA_ zO-3`an(a5uk00))&pmsvZoQ{^fl@3+sJK`J_(~Kh0){zK7)FJKJ`nzl{`T{JGqCtCRt9NJcfR9 z{Hu;*B!_?}UVtZJ@I=m)CjtWM=gE7?mnW}#hTM4!eFlxmow)7D)W@7YSgjg@7^U=L zJ;lrh&yoH4k5^18VOFePC@Y_%!t18hYI-Xw4)@N#x8C0R0x3C4Pw4IW`Pm4$ES8Z-WIX(EXniCyYO%OV zES6B^1xA4$egp8AQ*|!+ z@S~5C-Q4rZ+sL(mfs@I8jDts^y@qW+TMQT$vp9Yfb<+=1tLgjDLhkvKm-nAI!C7?@ zw;uuumq2?Z;8(!lD@EZ(hJ0Dt4GXCGq}60zQXO9mR7X9V(_9&QXl(T1s;VZEdww#n za+Sm3b671)Vx#v(%PQ+CV`oOGf8zcz@81vo=R^M}fIwvMm?@BX=;;rVAE4w1boZ^# zJxAW3?4ttYw&eewC;tm%$0zvN*WlR(c$N$6iRT_f+b5`Nk8wpn9r*qoaK9Dq7ee0{ zEfk0(3jPJ5u=)2-6#eTeR8aK9AEpQ_jmSE(CCR1u$rH(E0B0aV5wRDZuY~7;wg9&j zf<8ouQ~3;)eB;??C^E=BfB7X&Ludv8tGz}*bLnafJ zAPDAH=rx&!;w+>vpWO9e`-$e}YrWoZ*z3Etx%r;<2iuQN1H3x`@cF6IwP7GXtJ`h0 zj77q01E&IOBH>Z1#qF|KN5hddFjLHRn*lR?LJKox<#mvi*Lpy(fR)lIsf;!u?a;aE z>bAD(>T^T1Z31cID{NMm%Vt|1CmT^&IDB&H(tE?i{7!& zRHH?@?UzB~Dilv)^m@(a#dWnnMx&)Mw+iF`9E!zk)z6khT3-~Q2 zj4)#q2qR`n87L0U)O_SVqoHP-I#p`7FAdeMb2=kA&rxmF%|BQ&@6o!td7afY_jdYLdAyaNmaU_~>ZKNo zJNtREtG4!h|J*Y*HM3_|C+=wruJd|hXm!Orm0D>wo0irtx-(i`@AG+Y9~!(P5N?nc z*)*DYRb@RIjm8d3R5fyMG+Gr51nyY0Xivc3AQw2ax;~g)E8uk(;FX8z2xK47DreW_ z@1vKV;0li)|LQMXA?Eu%fP-pirG{2UR!O9=KpCkFu@~gTAE!u*$-KOwVTH+TMV#{_ zs;{hk^r|I~R#i2E;Ikw)xjo^C+r244{bJHG_IPzoYgF>P;;^pP022K^Uh1K93hqf@hbzo9SMFEkK;#pxh_|I3*KbDt! z;kgUvmS*K$IC(xVYw3ATUS;g^KVSrsigM~>_*+JSl}OBke)d8?Siiz6vB1SLms~@? z{vLXWZvQ2!LDfH}XQ79FL5-8;Nq5pf)+aBKzaig-r(^Im=6V=0ei{Y=k1n7uzJp$+ z&Qj>rx5=N9znol^{D9O_`=R|>Xdj05AU{Wu70`{OAfxNZcge|7^83jWl6v_V=lWZZ zU%qA^$ZL`~3V083+KC{Z?_dA~Xi&fim6QYxWYC&e%mP_5OQ|7=#LSpqtRfEtSP4Ll zzbGuOj+Pzo8@(qSDMy#|KrG?%e!brG`kJQ_iH4xhyJv22k;7i6q6+9&LLdZ`T8(4x zz*&C8VqL^{Z4RM-Ex6I`az$M3wdIB?sZ^y=s@i?sPN(bo`L*MY62C+w@~aG0n^baH zt<6y_Gw6S*D~EP?Uguz5HCY7kGFTpoH20)th1Fd+gQ^&*`}mow0e!V(~lA=>W$~Rtc*@YtSTpgA^LTGi4UYPoBjGxWUO&&*wJ%s2>uGLzWtn67 z%grr4<$mAJMpv6kt;4v+ysH9SOR+sW`^wv;p!NmR=C}09c)_M&d3#S~By!Kt$e~d7 znTg>3!Qm5;Xl%k@GOlW0u*GEBvaoHX(PSVk;`KjhZk|(Hy*7(TzEzp%YHE7pHu0>z z;ZVH0n$B&QQxyu`hR1OOjH3>4WFWx%ssjt(I{hMRP|uP;ih$WMiWuC9#jGwRZ#n*M zXiea*;g+kNB|aX-jh2<28((;#u6|ByZS4!a4T}v1OY%})*k&6k-rm(y-4XG*H_hVB zUh`68LuYG4<6Ao&Yra=s-%h<=>Ts;{=d`S|S?yT19RZ$PmQ_LkvIfCW#ACs>EEeEl zMxalR3bX4=m(WSN-)PVcR#mRBOB8;&rQJ4gG#rW1KSK`c;k~W3V>+!?TzDrhkITye zui@B|*1a(MTj;qQHN(lXW~>5`F>4g0JnsL=|Oa4=&>vH^^*7YE8x}ON+%31I;&Vm}z6*3xigYjfHd3wb?rKLX5(c&3!7A^gTZgN5T<4zrdzY*bDeYoU)Ti-iZ^`T}b7ssBp<0h2Ulu6gi;pcjy+X2l`eM zKqv{&jhX6y=0c_42gHI(&{C_x&{taMQz%OX1#-7kRi+&|77j(<2}PLyLh#nffwrYO zof46VOC90xNRo_(LnoGS5=iZe#ayncDomZ{VSZNuCco|tpwG~)AJaVaC5%u8tEKz~Lr`NcO_(kU_A)oKnYd!oT{&|x@+ZzFOBC!ADJanx`EQ`Z)dSzYiJIhO1hvJ-~`GGzJ;&IAFU1@QoupSRS; ztDai7_Q`lvZEaN?Usc6xCt!GM+uGJy@i49HTHDsc1!E^Z=PHF&D`c zFwh^Y7jJ%}si{jY{U8O%a+_1iIhzk%`nuGCauOND)#F%jU{cXOeW*BJS!Fz z+T=-^`-^2DyJWJI?AjLzSBpiWfHwIjeOM$Y1{CiD%0ggiaeOdVG4KL}rmWT(3;`;E zTDM`M8fBlqBn+GFD{F&;A-QT5r+x8!<^IdBkx%+NRXTlM{>6N7vJqqHU<(dF|AgCvR5)u`eC6XY_>^9&HJ2%ew zV-RY<;t`K6Wq4W{?qiuCh_xy?a*6&OQU%@aZH*=Ktk!C&LJ-tw;~IODN~J?b=@D+6 z{%UXXiIH2KE_-%1Ph7Z@lgH)qisiDdDiV|^yz>cor2L17>Ru4LlV2Fi#R|2`XjtDv?oMvo{757coZkU`55c;RLf^ANNJ?_=3LqmvYLI?Pt!Ak0smhzMFgu&uAqhdCR`xf2^QC{24kx5B(gpNy*RXA#~t9 z@-*6?{NLoSF|J4>DTSwN=@!mz7zd6;F)`CHV%;XhOXD9D72-Cnb~wsKr1>rSe*<3n z-M7%&&ACRIyvkDOlWT~Z?g)iqjj`B$eYGpC7Khzv><>9-yFDu#l7E5y1&IHALVXFN0Pj5^ zPHE)~)CG+hteBE6j7rbc3m{!WDLWTL4f`~@eplT(yUk@anZ~NBaJXrrsj~9)z|iT+ z%6h3v-QQ5&4e_9OS=qfqqYspqCoTa72g_sqI=unB{$=%)?~qQfAFiz%H5l|Jy?#-2 z;81C42rQf9WBxI>yICr4DRJ~VM(={9uL^|^%#QZy^+v5$H<$>+l?7|I7QpdhSchCD zP6@$DCM*#EbVFG6=&Q-~nCnZ?q>y)bX?Hu}Vq^R9YlR%35_ zZOs#7^Uv1S&X$UbgW7>7tE*aQNyOvX9B_k-bk-bXK1XdJUujUs;aWdsM9ZqKs>-3I&3$Y$6|3z(+qXTAVz67 zfNj|u49(Z+!M)J+ghIV~otabGe=raL4=`}BKQv@_)W~FwF87Mq$X#Fthl8be4ab(d z-3>CnP3qmAytiuDU@(~shT*E%nAv2r!E4CHkv`m|Ubi3`T?q7T)*JdT6&#$J0-cHD zwh54=MqpiFLE#KrG7~dlHe4gh4B@1_Vg`$7TqJtpa>Itk>gvb?t5=_nFm!Nid8FTJ zt(0-SbONhw@zajl*`2j@Pc80&;A6M6 zxHzaG`_8t+YS6FBz22?y#%*p_X{0oGWU#^m0R=7CN7s>elAm)QWvBp4$*_R@Tu2{( zm%Nh_kMD>kAA&X&Jw(vZyR&O_&2106|Kv>K#0=HG{QGugN|7|&p zqK4c{-NU`~|6EFvg>zhW#Sl>93!^4uRKyn^4>;`0qVd%ZyQf$z44afrzD!UP@2I#(wU(_ zW;wzVi8Yh1rbC1I4;1D*%$8+|y0tdD3!N15MdfC#8}N^AZQJT7af1`JsKVQ>kr)f8 zydM|?{QP{OP+aG{CEF@jl#?&Idc3Htb_oa`gH}5?kS{d@q6Fa1=}TcYJ<-zHYS`|S zi3*KEg>RH!l&33}Sc-&_6+%;CkpRz(Pd-LH3o~Q9u0$q7%;1#o_PP+?>vC@In01ZQ z>G3#S+h@U*%X^pjg9U0T+*JJ2S4b{q!ST)OG6s-F&Gi`FHm9pQc_1AKTAwY3+9^pRC=ybu9byUJt&v;##Zs%$I9L{1Xf)bxEzIY8)ml$cL7_+}@Ms@lW{C-Qa)FfCFM%a46E`o zLW$x`>F^yJ2f!mU_YR7|N-SnI5=sS0L9C~&PijZ`LZiW5;O1MTvT_S-Oo+opYKA={Z--tV5D7};j;rW^ zDJ&F;KqSry#!!KVU+f^)(of}N=c=UwpW0kj4F8D=3e>qb=E-vN3Xxt}>{Y1Zrn!Hb zbCb^-lt}V*BC#>QSX5%Qt*Xn02Ox$ilvF$J@VQ;rcGj)2+MF`bcWR|ms8S!2iHpP9 zk~WRnn5eEQu?h;9PU$*LnL^_d7xA@nMZyRgd=_B-L6A*q;D77^OlM?F2hubAn-um0 zX+aF`D(69ZDe9q5p{+m4`!j57zCfq`!>f?K+Jbgd{jCa^GRH;0XHF zk?j21>gtzw(6JpaS69~*@OGL@O7<>AuP(i{q{K{;mlq)t92de3BRdZ?Q9}$9<6nzb zfv|_={1(?7M;yMJOhlQ{2WiPLpSC=!-C95GQ&A(z9= z$>OSIg-%6Dg-9eIZ!iZ0{380(EDldAE;5kYUt4;nqM}+MFS1C*rb3m9Ur=BWUQ;N` z&CQ3%Q>9(oV2xi~a5Nf?%V9fICNUQ()zz`s8T!Ys)vUAIJ#KrkPpL{6UvqXC)Kv<; z$ZfZ;BNJwgw%yUqF;ppC?UJG*So0>ptb_YE*gt_C%0$?TISGe;7GRKSd#C9SReL+4?s@i4n^10LuQYmR&(g;e)lH4niHpk{c7&^j z407c-y{mbh)#h;6tgGv`oiHFFUmUaQXK}MOkL(IGN$%m>l{XC^sXDbXQrlEh^X$5@ z$EvGajC$*)*4X~8${(Vp%b%5dJ)0|=u7hp(xuF7CLA-Lcr);iLCWpD50=cvZ8G| zXyoX^g-4^2sw0pgF&qjGnJq4C|1vSlED0O4Ok`SwY>rC?nOeUyX341n zr4tjNMM2arIh9Gqi5vL)qsuku5`G12DZq4-2Vd+_m2J=&fx5H4>G>@{F!OY1Bk4!{~ z1!xd$9M)CIWt!q5zNv^`>^2xW3k4kNp>KS*29BkR<^S3CQnH(xahXxsRNO=gMiDdk^fIJZBDIoi=At!dWYuAML19g) zJ>Xt0Nd!i$HvdF*IJ~$0;Jm$le>hxPdT3GG3WHInR%!a<<$XG>{%KSZb#7`p*ty&7 z36zC`hZZ(3HyE^NV|boMt5fOqtLCh^HyDa!zwo`B3cv5>dGoIi1X{IUcgP0hLs6|QLRuYQ$V=?~mEXa0?)!B({_s@J!{Ob<-uLB@dvXOVvQ&h(Xuq-HXW zfN*Mmdiyu_r-NSau8xU;{a!C5op|>TOf>EE`O3a)hq~#yK%g%FHy;Xz8ye5`JNnNz zGz<$r{$qZ%*E1eZ?NlRT4RGAmpj%8n1vpd8=$VDxu zzn5*+>E;K#^9*|HCG5Bk4BTH{UXyd;f$Z$OJhQR|GJ2Dm0ue7Sk6e2Mach>DO;)8! zJ-=$+ZGiy9ccS->(U*^WsOvPDBfP_hMNXM{Hn_0}%SXn70}DE}PmIks2)7y`O$C9V z#Q&376KFTR6@Fhr5B!9F-c7pc=YN78pkF~()4R~ssD9Jw&E$`g7rN(??Md(E)0?2@ z6A;C1h8<`R%sXhbGSd!&*oD1@>Ah!|@ReXU=$_QZfq>fn6Qt2;hZ431h14_OGjLZZ zTz26C(&H^GNx!<#+F|d$!Q=MB*7R^$uSTmy{DK1lNvR(qJHvY?^@$;kNX+NoQOpnc zy!#eX?@vvEpTK00W?67n5Wyp_qJKqihjA_i_y$-X9McWztuTFdtkX=98S9baCHmH7 zvQh^6Ar4wd-;* zTQRCvbL83oQ{geD}z%~Uw z4zuf@xhGCOc1Z|P%JOpfgWjdyo3zq5yDKZ*-gq45j6S1pA%70~BlT=RAS%VA57G!$ ziOii4mq#GqBN{0uhbQgSyJ)L7k?^|l4mo6APW_Xk1giAmY^($u)CLWMl}rXf^1d1E z#!3q8u<1+zcpsXY;ACg(HJ(AM)elLS_lzz$7A>nq6Aq(cz6bIXRBDS_(_rvd@cFrt z^nC8J#+1rZwPPq6+1}WDi_aJExjomfvo{;vH74^ydi(UWN#eih zO&o&LmKwQ{6==+$QmT^O(qV6;w$fPPz)UZ5P)(VBvuPzymM0cb{?s4Oh%j8n6M%5Jz z^xEw$Mpuo=)Q7GEgu4Op5Lp|d&qD(FFPZ%yP=YXWDdbP?{DIB8u47Tj`NzAD*H<;b zb_zm&o%%CXjCgo|Ycvzne{E`PXl-e1YTQ)T*->6Gd(PApX@Iu%oOK)vF#w#vBL)aR zwR~y{{eeDD#Q<&vh@Dyvclrr9@d0;orvA*eARfLm1#%gp>jT75EVGCK687fc{a=vF z$lp*+%>G*D`@g`{gsF;r&r?<9VdxN{yGSYJqkhFiNix>}jCpLXu+kXarB*6hJf0S% zLZwnDTj5HfP*ak!l17D64fh&L%1WBpkP&SABI53;r5xCe0O}^{Aa2g_PA)rq7WPxYJDT;oLwOrtffWxcoA?2OdJiEVy$^#+_TH@1VbM z^yIA&oQLdhkal9o4!`v{x|zFw)pq&>=CUD%40gxX^NnjiF$wiN6)DeeR8t3Hg2j||=&}i!O2bSPx z-h^zH--7jvE$1|K06&tyWuJin9Czn|L+mpFKl9A9^pDARh!5~Hqcfg)XTsxI>WITL ztp^X!y`#R#w9xNg3~S%SDWXnhsbTGxPeJ|)tod@{UWO`M93FK`mIUssm>OX2tiW0I zfB_Hv7PW+UAKn7gGUGkw8859*zZ4nLmo0as-@n9@aSdZhVLmI1xQZD;3e)g;8N3&v zQQAR`XDtKzg#9|kPXyhPN-x8ponx_4<-7b+KM9mDHK7a~)Rys&I%I zLtXBj|6ID_(T2Jq)f#16AaQPG+plgY-1y_(!TS>NA?+H~V13<%<;$2coT0x@g|c?Q zT48#J*ojdo7^tXZS?Ky$hhCPwes}Fi*C=wO=n_P`+ae89n~4HIo)|?|F!$kb^A_t z+*e&UCu0mD;A<(XaZ(EzO!+m8)JS=DsUd*!hSg1B8`X%1Zu7XEuzk9$v1?o}mAV41 zJ%h!Kb0p#dw^v?cvnCWik60$}y1b5@TT^pi$Labp1Nhe!j~-G114;5!t)>t~&=-0JhkVU)KJcT#Z*$A5_g7^-3vAS)4hEBzj_-bz}~UV5vD zzM5%wB;AflgbtF5+Ym|9w;>C4kzPZuMY}~He>M`ga~5)*WF#tBRABVtph1v)ZGyfE z9hyLgsRDGGp7%5zLodTh5vR#L)F)Tu74^yFbBrW|>}CRSyqv#7PbrIGx-SZ3A^GYl zdON!I6k6t(e2$ujlOB#h8pQD)=7M}VORcwl~|VUC4v-GNGf=WA$F)5>Wli$JBM>UTWTV+YU-|u zRB!R(56+QD?dGbQEoJyaw5hZ6s&MK~a7Ci2KU%YeTKaJ9ESbsdo>lX3ZM#}$b+pq$ zxRTmz*7jPsXEi(IvtX8Ih*zkuI4wB0W;AHFhRs3P?fWWuG#DgDCeOd}$|pj>UtgiG zza6-rc#L?JW9GEtwi^+&<4Sql$EbCaw~{whR3taQiniX4w!H9Hk>DSA-p>#@oC40B z(3;UUslFLx7fkn0B_^Lk%P;(d&;R*(`s~hR0}v2NyhQLgLCz!Wle4Gagr9ur%G;<~ zcytHq-i79z{kfp%SIJ*6I`}!Xk-ALj7){G?0CjotC2}{~h)$oRzreGYoZ87jj5SQu z0oS2>$^HkDC$?p|zI+Gnel)d{`U`t^Hk>#3h#Yt*d4hZX%XhL|z=%Ir=2G_{w&C7cjlI?m+R1c)|bG1f8vm)u0i3Y36MOu3So7S4C?tl?cEr_o>- zO(aGjZ^fuLKpM`7-eA1BkYD68ntZSc3;!`!{6h2=Zdwg_IuMvM7)GEeTro{eMnAu( z5E4J3sUMO>>Fs2ARq_X%Gi}i^*fDj%NvmjEbg>m*S{Gm6rY)CBluC)TT-&CNN~B7q zR1!@Vw_j-tmu%y)8``yHY~wO5T(XVJ?3{wi%YO$c7y|5_0POi7&t#O?PTWZxOKatn zPsk|5Z@~+X^&Xk{)^}qMu}UE2KxW4H{x5f!{ld9gt+p>_s+1Qg@^YmG%4%!H0xdZ6 zTJ3_Eu|m#Qqdxdz`;;Pr-5BEt<^Z)^s)(hHQF~poxBrmpl`l&vY$E$?Kea2?ObRN zQhSiGW2T>BH5g|u?D8C@mrl^@V50|qCk|7&sSZ9rOb?(Fz}vk*hdW`vCIECe45ORj z=FK3X8EK%IOl$rQ&)=HK*cqM+wP+>mW*7o?$?*H$lqQ zKxO5CPOVAKuC1uJuYb{f6&1DkYEeJFn%C9X@bVgbrlPB>q4A|P%U)`1nv0$>1_VL@ z?2y;ndms=c*TAQMAv8y$H#n`RE@vc(%RG0 z+5!W9v$b{JyjB=GOsA@;sVaVUXb7g*+zeAJNg}PJJu=vz+>I7J>kNx^`FZ&WYpuo9 zVdflIKAdNSSP2j&Md2~Raa_&JgMuYyVwXLQCyN!@|GN*6*_ z<<(-Lz^hccg#y@m6S|d3uRti~d@ls|Y&N4|Q83tVGTI^cra!3i35CVQLZMHk^ay~c zU^g8&c`~tfe>|op12Ca z3I|uB+C`5YLJ!jm4xhuAf|w5HPT({pbC!e(hyp<)^J}E^aN-a64SoXv4~z5^`EtkJ zj>!+}{`h9s-Y)tJ{O5lVSx5itQ-CY#P<9=481;@taaG?D0}e z1%uO|A3{Vk=F3c~3rhpo!@xmt6lM+n3=F3nJFxEICv)pB97YUmMnId5_OKdd8P3rj zj;#yoVyfA{zF6P%5V9HRHy1fuRZ6YXW?$dXwaeoP2#Q2yW|OZ|YqFv9u|7ze%oFe{ z{VG%=3n%YEiHp>Qk!h$pL>3}qvuE*9q7>4 zS}gN|m8(k}ez()Lv)k5cb}jTP%&iXpTKaX1Uf&ZCMU94byNvEE*5?a^)E{gON~KOI zmP9pDuT18LMR?yi!PKQ-A|)g*OPDq=QVtm##$u7jYDgAe zDY$4l$imCILdM|?eavOhj-RA5ALQHsnZk+Zw`_Z>wWB|aTV7NB&H-Jc(HNKOBq5Ea zQnUJjV9?9uG}lz!GYBcE0Y3*ppf+met8#L4DW{^RreTBA70JmGNF|LvL#0w;KWs~%s~ex1itS}f!{ zV#iQGDW#&Rjv09~sZA6loM+-RXfy=KV_5hYy&yul6tjyo< z))bp zvGcp8rD>hjYM-d9ia)t_#S`&(gGSA_N;Sb^i@iFgpY18XrJ`z)&S7y_ZL8}mHhH}j z6TMAM&kU`2JP~h@%it8IIv}WZ4rk?vrMpg{5C!$-PIPY3 zZm-NP6zYl!Wch`vB2{Clt6im|e_d8rVi-{ntajlt^YR z7TYB1datJ)&L5}^`ep6prU(21m(Sz5v8Qa2S>-7%Foh%G*0y$Wj!ROxWntb{}u z083&Tlz#0_Xc8h)jpL1=#k zZcMlDow^hCPPfncDh*#mh)^?(p_87)RNpb;?6icDNws2V_=*i>&B}r-$P_6DkVr(n z#8l-$e^{m|Ew*|Ynzan6g~S0g2yh)>_hAOR zjVbKD%V3wOxWfxVdno_HVEqh&s5x7ShqovVA0dKh4TjTgxI#|~o`uFj5J^w9UYKs( zN1R2g0e&~Ubv3UE;1E@Y-bbc>f%*t?>Q#W_v-%<&(@fPT3a1KufH5o%;MiWOOb)wA z&NB+mpw1(o&hDCr(7dkMpB|yl{r>mp$gd7=I17g&A%YW$p51T|4bSiS*P&&H{x!d6 zm`q-K_%L|K9d-53ty;0_`TF`!L{cy+rYa7D3y5klbKc6}f`wyBW8wV-m!UKkj%UHb zM~E!cm+l8sAPes!wlS3U_5KH;A54KPT%K+}FawS$lkKN>YA-{XOnZhhS@qmZ5Vg;1PR<@QZijLCC{zAczfiP6e(l zw01327dp3N@@lf1vlr><_wn!ENdgxd;t+f3b1%JwIgP1L#KSZPr>S6MeZ(4uwjPBy zX?R%bflJEJbOS@vEF9A`3-6zLo1tkIj{9NZeMHl@_A?0WG3~PLG3~PL2WG%A?XvLR zsRaz}GVK}KW#Nmae#X%5qd-@QwQ+lc{=!^q68w=&;-&&>LqGl~xUj3dnS& z%#zS5wszZRP?fn(BXtOw`b+6~VEM?7Ya!9i$VXh4>3v=~z(G-ByrLITJG4JbSK@j~ z0EY-6z?T4L{1M=<0lph}1i%Yed{2c?cpA>MXW+yN;#}V?43#7ZS@EJTWzy z7<~b@3e*2hjJ{yum}6LYKWI_RF)SQ&3=8ig_Angt^?nASJ=Pd3Jd$qTJ9P}L0!|u+ z^?8l^6`ZB7!4e5f7RJ1^vMENaS;@K$shtuw07tRfBengVY2|WyNl0#}mTC3qAyimc zV3Dh9tj;ABYtB@5bXAsDym-UzXX2G*7fHR^$=ojDT&<>A{-wZ>QeXSAC)FL2bW6%GMim?y}}%^`0l%@vjvZPg=Y^s%T25VGob{fK``X6H-fYkC%a zx#hvwwu*|?KKirs-tbl31IepTbv)A+Umy||+2xZL6;YLY(L1O5-e*%4;!J zm{~Gb$1hXVwH3jsrxaBzPGe;uaTsj?_(h=hwNSj!f@5h6HEu#JX?QFRA0a5zf#E>y zPzNdvUqT#ZsGX_O#85RvRG5CQW2l;iV=IV-j}Qfn6|{k_#Z{eBaIk_p{{_9Xtud{$ zt^0^wXf^P1D~u9XNditvfL#N8EM|-x9H@EZWAqX(nDm?9JVAvIquS%g>1Pj5{(!== zgn5pKXCY=rh2M^6!PHY?W-UpL_C99TEW8rhv+#bxg>Ff=uSmoDhzHQDG#q1(Z9fR@ zufU~gc<}BCac5#P?1nr;re$K zp2)knz7o%#g^_Nx#*md7{Y|_pvmGWLzcTu)zobXMi149GJbL;XrV3TXcaC1__Xqx+ zHezS>ZPTfZl|Q%`QK(RsQ^cRCq6!OyA!BR=4vlfW-l8=Em-uq(SgJ*OeU$!KvFUY~|9Brc$CXbF=rYB!n>@U_r?n4xfGs{dmQg|l$X5iER!urVCL!VA*y0m91A0#gBt`x}6(QvF;@ zh@pQ5o|T<~XQBQ)JbD(Im2TZf>?GvV@N_R(XfW>z^n-LCy$5CKwoj*_i;A*AdmRO< z2iI}vggql-^xx6g|GO$(tMp;9Mn97ni$#*!63c&Hy(^dgFQ$5zM(x-)$X4$vl=zh9 zF53)p)kNglkn}&V>!l7|#n$yoNR5V6U9V}}WnmiyuT~Zs${k8We>M#zmwhpkhVoNT z9{9O?2`#`&K(C(Wz7KGqX@>HT5E6hhHMW>Fgu}=T`~X7<3>?Iig~0GEG@?=9*5Ktr zMXoe-tc9_ypl=WmDJZtR4>I&I0&?*M$QZH^+V`MuVg>m=^hFX^L;JVEbu%;dY=cHf z62i7WqlQzlmMh*A2p6cSHDix&MwKSc+pkVcO%=NojM`hV(k~XHa zmc2o32o(#xT5T&FUVs8yoVOuY>@b~_T8rdzT)Jd4TX0KUEO2Yqa^6l>vBkDT{Nf4| zookF1izT=W6X1ZUxW!;n$6#i`)fkTqG%E*iz(V`8aEyk9Vt!(wBRpjqigC+A`>w&b z{d&KHSy!MxPq!V&fPR>U_U^-+$M!IhhAzs@0r~zkc*RoSG5l~|v%`vI(?xw7^%;z&RU z@Oj!|)o1Rki_=G@7*%vbQ%&N@m7sP4;hAi%Q%R!wy441z;@P$mpFgwU8Txa>m{Ds_ zRXaofTJ>CAT?fazG&qB$E#NiTh4TIY)Iy7Tf_o}ZMlCdSu+(8$ALg-D&|pQF`ecke zH88Z&|2dYYEEMw#3+-EhSC54rn1+(=ydGFR@VYqVz$*|BO2CmamQ$unGlg&v^6Q18 z1munMUnU-VY@*n&u`KYHFN6(iwmws2)M>3zvZR06JzWA!uh$J%Unv2mR7m4C6a~JX z`Uu|bXM@-Q!v|eiG z8_hEbMJ1P1nDN?FR+uV{F1Yu05fcn#w&LEpNJ>JXdIWHvO3@^aX zL+!JFa{mbMH7rJncc(5h@HnnV2AH-m@Fm0${io@Ecw+#E^=G8>z33Rg?}QaNm&F0e zYW*Q2S6{QJ%VPlCEk!8QE!rgleGM(IIvi zWfoen0^1S{l+hq8bmU7c&mIL&11gNcj4%|(4Gu7#2HP6zEw=T-typU@mBN^w9c<4V zaL){s;VKr|PhhTMp_r>!Xx}ExRbTI6kkL#m6x%3l+uoaHKu;S%FFndR18We+^pv@C zgQX24Tf!;heR@ajyOVl0UMW)Mu-hu7awR%dP*`A9#EuXArv=OU?ynV;n(WIHC3Om! zAv;+9-NnmNbL~sxg@=ZT>oaDHZ7+7Vi#XZfId7TT3{}`BKn8hn-3(^FyemF(DmmL4 z#?CaWl{4lFKC}5sWR=~_+H%$K=+@?v{t#1`O|6tQI7hcOxkjTIv$Z7D^ck<090O&) zuGJ7zp*ccT9-j|&+V1#E)0>9{BDPXn>z?x90^^%^6pJ%vEP%5h(PL}af^AS=^n#>R z1%*PHnZsPTzXraFuyoQYhwWVGg@umQ zevxjADVFV{53d(+<#Y|O66}#-cEsjUCOOX7^$kL)0VAk}=~`g#z4sl}!2a~7bUm<3 zhcAC?L9ok*FYU$n#Akf2&3YW`%-KNVFJcWNSOf;0Zel#Sc#z!x9U^@ zztE+-l&>wetZJTFr!4Q(fm=8Sf?X=PA^Xw%j`1Q7fSy!NVW!bj9`>>X0Dy%X6mZrGpCIa`& z!g0?m9HOEO)@QZ{TS0{TW}&!m+&T;O9>aZ~fHB9IzJsa0?_&C9;b5KM3L}^^%{W@Z zLSIfp2TWYZ6}^Y^0_EbeCrBuxh;p5K{|n9wD3|^mc8k$naMwS5H-N~lr*A>|+#k@N zqg(!Ug3YwPne#tX8TW7C1*P|# znf&(Y-R9|JGM+DcIF6FJPy7g(sKSvoq{}}JjlDkSy#X%pnCx)+>C3a zg)kbEGmajezTz%m62@aO&y{>}SgA#nkNeU8F^B6ey-L~Qa5SluP*GOZ923$*o)!7eFHa+1@>kCu`X~2O`tPU!|6=TUflBU9Q_L^3 zCYNT^D6ocT z?QQfd3V{@aIK?2yHs189{IAP8@|W|VF1YS%yH+~bwTdX~A%9}#PL-ujE3rfG?y0$? zjrjCy=i_YW&E};I&8O>|TDDg_O(rrC?j`@avr*rr<3T165dX=M#m}p%7T7sGRvd_ zmvTJ_;ty1A5tNiNn|F-B+y6!!p=jzNynXA`C}5gLY$cwDe^d50ygeuFuYjeUt{t2% znhaF3W9rY$cZyI9E@5aWT_<^F9YO($PEaBoCU)0$T=K(V+NOEemN@J%iS za%J!Eyd6+m!0mKy@8qli0ZDYw?NHC}1=uUMLarx`ugcE1Eljlx|x zF@#SRWzbh9Pm+)RhAqzw364;nS?UyPD)dZw=1KmaJ|%B_|8-m;8oN?tb!NThp|-^u ztsLQc&Br-eBt=Hxgy<4Z)pY%6S*mQabGm#p!s(fuJUH16(SOjk>1^Hbw4EwO-@jxs z8W-0>VHByk!90R%taHZdR)d(z;@*~%UlA=k4OoCW(BO|bU_Efg0PH<{_xuqDEr;nX zfa=pqWdQ2fI3?Qu&J_N%C zJt7l}BRXwJjK!%qq}4^lV%c0|RVgeMh06NBP)|c7h9bKmoh}TKONppBtW#U9YL(eS zpvl)c&n7R!IYBJnL3brDZ-4A@&aH4KV7%}QkIl{0Md%4 zrY3LX{LfT``!^0)0GDY@vB~+I_vpP@>zR{00g$!ulNvWK<0v;TxoQ_uMI;iX&uv+n z;OQ%*QuuBrVX2<;UIPcxSVIyt88923AmZ$a(+kup8J<+SqKOI@rZx> z)d$Fr9)0eu&pE%tIya?vNjv9Xlq+k?^w`O(61``#w$R(qPDm3&B9N@qyhax;%ZA^#c6`%BJ_b<8ge5+MD_pPSJYFWt4?ou;@8YFj^Md0Z5-ihNXxsO@76>p4QRL zs7|9qkZgi^^sA4km*@9R;tEvEE-z#wQq#3u^kQx>BQBcyGB1`Zzk3gtYNNg6@5pFX z)$_YIKapsvCdqhp)x@>CzE>VEe~Q$XST^>|+h}sx%x=s0yzY%guZg_l@L~Rg8~!>l zuzs+2^vi1>-17P0{FUPi`aeV3Q*&Qxs_p2iXnVE$)SMS*#k$(dI$i-BgkX+vz6NLK zB;dRaq=J!Gq0P_H%9FI}InL3`BY1u=m;KNVe?JG-c%Y#+f*e7q-~H5sljq3KCZC}W zK|Gdx=*SVMAAwKm-V4t-;2F@7gG^2ceAkp?a?=C}UlN5;{M8@vDy)W9tDqI+AS8lN zJ`0YT;hy!BoQ{znO$N~KX(cr^`3Le%Iq5&LFFBEXYTpqUM;$zO13ae&&oGRiomp~Z zx=;s8>1-u{FdLsXvwL@JU2yW{iJ=E#vD(^L?17<)!3Sa$b#)c72a-Q$Dnr7t9HWVR z$7C=L$K%6L6PNSh4}Zv;U03()s@2cd)phY+d4)HpzV4aTt1iK(>YM$TBB(iLl}&|7#*NU#l}r zKs@|t|HPu>kx12qQLCGe-lu*%>CKP0TvvCHW68TVz*m#B=F!ih+Pv08;;9W7*0Bw~ zg9P3=2=81D^jHqNGZ?SzD>4Pw^!ZEhQdvSxow}WIPKP{&UZFp)9D?Gt%{8?zjE_HG zQ`-bM8m^?jLa(&1(@Ui8633Rd_Nz-AE~sg<>ctlidv56HxG;a#o{zid^!Lx{{&>%< z`R6-2Z}1#`QMhq9@!)Xh_{B4f7)nBT#yVQ?@Z%=@O_kJ#Fnj-6mfBLS6kV zl~PcmP&xTZMS=Kck^=@~!1BJh`|gVJdJyrYT3RO(704U{jiDmozaHlJD7}NT0M^99 zd`lIZ5(}%Jp3t;_X5&@tT2T-{$Pm};l&n`&=X6O9a#`QWide%XZKK87X&ZVFXgd;w z8uhxc#B76f`s1T>_Qv1~Z46LKbXkqR$D|L5;ow4lxD1X+!SNQ&BJL|tN&i6CSF_L? za&umO9+akdU|IKVrD_)+SD;&3HV?j5C7L{R#BZ~Y1*?`>tR*5oWIj;k!9Ih*YSZiI zx&w1G8Us*Y1K4VZKs$rXNTdqFz(f)CbNX>PlF?_MM{it0uY>vZ*P$Vbe|eI2ptm^C zm?Snq{9-Ii1vw$J;aNuKN`WWfX9g7jt&&!jkZLc}U*d&T^)my~rMf3=%@hNJ0W3n;i-%BrQpqQJ5{8 zLQ8)w<#yASmX6zX>9`Q<@c$ki*^xuIZ5~&@&DNxJ_uM}?j=moYxLb zxz6cwaQ_}0vRLD?O39Q|>cp^o{Wm%~hK4#izOi2Z9a7z;45?H>g)xFs5J7o`qWnfj z(B*Kf8GBjYyC2PINL5cXc72n)Z(k(Z&=8I6!SM~0wrl(rh5Z0=X5%GomJat{rF=? zvqtR^n++&pT-Af_W6off^fsr@j;=b_(3r89)U9q$yT;`vq5kXK9Sn&)D^o9W%$ zAUHXMavD5{EeTMZQqiq|sOjz{2Opf9h)muBhATSkp#OK68S8W%!}q-dpO1w)y-?v9(Mk6c{Dy zkXq(ZO;fbFoHLw_JxZmfs-_%3hut;(H>OgXGvqA8%^yPa%L`6r`g~MwQX>~W?C6Is z%AzLgjA+xS(QLjLucXF?`?+UxzZfEH3WxJU*xqz|O$b6vo zt?#sVT9qNSTi@@8wyDw*#(H{U$t`ZTrL3wfd;z7f%uX{1{;#O&?6$edDqAI0C6Ry^1CW$HhOViO zm7VI8ln7h`OG2Tr2ov;X>ai`?(mfdz?^?=Bk8>y>V8*SSr(L6NSGXt&6C{-4tE7o2C#KQ*D-I(EL%-qGW*S(m06)ZQSltuJn< z_co#QPEZBRNZts}jOIfnUgbt^5 z!Qr4=64vDXF(@a^my+f-PupOz8f2y$%f)3vVZ=urg-m!D(xe?HPMb#Xz?6V(;njP)QSsnr$Av}8zP)vxP6NG8(YrUw2*>E&-l9f7q~vSR6l?OMWXAY~+(yQ&8QV_KG}E!R z(~#8blLoi8&u2y(7cJr3bKiZr$H8$tw$d`bRI^y zAma(;%&L&GSbGJLOop?K$>iBJJ0GvDjiOJJTlsRdjRON>O~KW14}_T zRiG!9!tBNBAUifnklp-HG#aX_skynoc?6{kO*4@NLdmLSjs7KoQ$%;wnwoowr=pUt z5C&QSCq!wX1PbX8`HpB=Z|`$U*1g)*In8ac&I;vvrBf5}8=9l5V$p@}o16=4yB?dr z^!c9NWw%k!E3H*!<*o6=zV@cwiCQQxusvuO_Xf-bk!-Bs7nwUy;3k%mPd%57%`h0v zS-^?hy(oMASL3lz(Dbq+OhG;_?SiH_P1I7GxMvypEv>oj{odZ0LOMp?6s{N;cBfxOdY(6!+QY;mN<0~h;ho9e9tm|dnYTPKBcrzB4 zlJ(zY;H)bRR_g|)Ux&nSd;R4Eo%0JBWp`nF-ud2~*Z&Z2x0e5)sP;6uUz`@4W>mobp zOSi<9`r~s`EaxQ$30nYYPANu-kk&8+t3N4y}9X$H9%Y#Nx?R>*e<4% z^{1CEydO=KoSnI^!u&~CoOLLE?pOyUliGN+Ou!)vX6_4xB1}2XkZAE^Ev>V~r@PkK z9ZmwZY;7AEr0B<&J(5hN(OB=y>Ib-D^0B0*10odt52hsOGvZ7jumO9^_%0seJ4q%Hvj6R_LU;ExDJdR_Z39vRo|Y@{UUQfZv#j z)n^c=8LP)zf+NlFCZyI)$bkQf^f;_=D5g93H9r3)ri8x9++&wctT4Md-13;uI5k=~ z+rki_MQ)yz=)cA+R`L1#3N%a*uj6nyWxOhhr3a9IlMol< zxDA*7NakEHq)bhtCa0Y!RO+F6YR>K9L@h|-(N!29ymTi%{VjEl;#y3OYkN`)EEfBr zP#|*O@|9v7HI{_N!C*FIpAKCt?=3%t9u5v zK+i>=+gIIg*Oq~v)ponDB3sef*mQow=4aEH_V!Hr+07fyH#K&WXZkk6K5R)QPmRtz z(KB)?S>NJuxvuS5^R-l}X}G`tM|y^ZbWRPgzdN`a+XVXB>F(YS;H36IMquafF%yS-kY z&+FYiZO$BT13(M_P0-+*gGT1l+IGYnmb)FvYPIHgz-L*Qif(PIy}pI2{`9x4spNwr zBM+vMZ6|8n?&a~s3b%);aEDt974GMeLyi4Kzd`&hia-HgBLA06@?2Q=T=?{Na{wzA zz}Mb6;R~N$pjL(>ZSaRn<%+gQn5hd(*VWxUd-jRiL?g8#x0l*7_L*Miz7vZM@0X@&*K-!JA(h2hB z$`j#mfMAtgVd(Zj`efdF31`IAg7=cCaeI)g%92Id-0vA5CVi5i9n+^D@eppM^8QYy zhdhfI4v+F=z;LuWFZSPK>TC z;GWtiNNew>pAc*G((pIeGn3u8QW?wOu1)n(QPX0A8T6j?^! z&3&7E{nD=Bwe5gE4J>9>2kXv#49|wzp9VGu04MSr4c9-4i5W7WE`9sg^nd*J-@exP zOxt7c|AzkfH}5n)L+#IPrhZ7hpW8?s$bUO??)-cEnS0KHKDQ3G)D?b@f~Lt%qgV~P zI&kUufq-CV8E4_h&zjxY`ON6XSJ3n}6fjMVAdRvnPTom-rluKrDmn9s2{9 z!{I3;fIfFc>P8&Cv|J?Rfz^|Tap$rB49{})T<5K=J8sb1*7hd$ber33)H>ED@5N3$ zh36o?yk$Z^LU4fTJ6_a4Z<%IA>(njipQogh@6#W2cF=FXOa8+numSHT;GC@yR;oNU z+h~;gQZD(#i&XZ~H>c+VOj17Pa+*GskFJcLFDw9azD{#yoR%KW=Kh&KU#G|=UNw8Z zNXc2u-icA=a~qIDRM=QXF&kIoFmY$L^Ny)?)3iEmHW7`USTMS`1@q0dsq}iQW&L#W z23@=LOgtXes&WrAYkEEIiU>~LL&*$aoMpwcobO$D@4|ceSVjJffBI4W^BDITe4eRz zVm^=d>c!Vw`>=HO_+|7d@=t_0z#ecZ#bnRqd!pz0Lq6AaGOL`7tZc0zVbZnstI7I? zhWg}J*WPhQ*K&&)eVr`JyY7JF>eJsg*Vo-YIv>2Dff~+9K~;+qwcrgP5>Ck-cvcTa zDF$~aL>ne?BZ4ts!IeoD8W@ZostMQN>(D558j+T{i9WSTp+Gmx#9YoSYWUN^{6k0Y z#Y4xw!YmE-O`qMqFaZcFR}gc21kWAHKi7!$!9ylJl{c9KqGtkm`HLAK`@qW_@OTmX zL&tc?_Nn8ty-1Ir+0?wnRk5l$bD$75%PJrGhCXl8X8wG~M>#_|V3x%u38y%Mjkz$QpB+ATWgq}? zIpapJ&$}U;-2fqebBlYyzS3$e++&4XL_twErKI^~E zSnK4uHPk3M*MNwcJ@J_r7|@WLvL*W8WExGTc|4tRtM z0qx>VF1S^wn`@W){rx6UCKTG%zG$^SQg^~(w#GuxLO(?*qM% z#OU2&U(5O@7@q}aOwG8l=kD?QVTMZxGvrP@W`U|FLiVb4t8|B zv|hR5iA=iZL?RH})~f8?%X;_s_9|Pq1p`n=IVBHajYF^zw1{8UF-Q?b%)nV3__3O0 zlaGyLGNX8i{Au(gy5+zm?5Qa;MyqZ1ruyVVi|OHuBw9NIt;IBI^t`3t{&T|uIJp$n zrd2&ytBrlWL9;0+pkT3@ric61*=)AlDag!}6B?jWMSetLu-j5@V_2$#JC~F^gAp^C z7MJ7Yp0NWLVKbmv^(pLMoc<>FF8p4Smm91G!f?leT0#=z%E&!SrKhQnzarhA>k#t+ zft4h+<)oi(SD7m-MaO9`X+)EN_c&jsS8jT)wRM2v{~=fATi22~!HfcV?%c29DFw}g zOlTftT=V$*`yZg^eAy3PNM@7I{{UF?@BjS$WS0DZ_D~UuPdAg7nD5*tzzxNFQuMA4PH$1Od{_U9HZ{wfgOtY%$L5Y8u;FOy20UOalX zIo(IHL6>uRJ%Y_Xo&ozy8%&uU7k{HisKN>gM!1w>vUh%q&0N)HAAHGt(^lz`m( z2fB*9`wM#Y13=?=hmKHTs+^9Kx6tzC9b5@w2aYS-iML2+;qxcVni#ay2-h+883lz! zT&d`(b93S=4|+6~G9C{JX&1Tmbhu`g6Zl?8^muscK=_8C(UI)DBT$O7@C^;d;)5EkhFYrCYKP+SA^eB@{N>Mdbc~AWYseANXlKVWD-_Ew zbau=alZ$k_WVEC6!cIkIdnD2$9s9ksI}+JGOVPR`66uz5RLqY%m^q%IU*z6_IbNZ) zo#6ydOLt$Sg-qvq`bF|@oG*{f<9wO9;s92Kp)@9+aC}l%)7-H5h6bZ&W+1)Tq%~w4 z>+2p|JpB+dvU9)VS8+>AEjHuaM)Waxb=k?9NDcZAYt) zufHuQ=GU-up<2i$Te)Nj***Ul;r|J?tH{x*`OxC>68jWIOs;|qW+ z-BUjm#HZG3r`6L>u@8&}{MUDOVVdFNW=zp)%c#``X6GR7>k%c1;k4xKVzgXjVR#DE zQJk?1ACWpgQN>3+W<2fD9Yp2yNu-QE4;dgm({;n6B@u#WzrCl=~ zXlU#{A8^>`bDoa-{hOLjq<5gNyTfdnSu^$aXe>3{)BVaS&#G6tyJseAYQEGJ=+o;E z(xpn)V}!dgLL;;Dj4lgRtys}49uvQ)u;$7<15Y-)yEN?g?-`!A7eP0l-@k9(^c(#C z8vX@wb#-er)`pT*3$IuIBW)r6Y>| zJ8Bb|OrrLVentPG1oJY1Ix zKfi&5^1*D*jDGMl>VO}AI@YV!sJQj$-n_MQ<^2x232l1jP=B(fHEJV$(x6r~BOCvB zs7bYhk1=ZlXWCV(8YjX*$V4spg*fa+vPztUT1tPCeg65Zve9N8^fsW*(STw|_$4zk zks)sCMS_8kphx}w>B$v7dy|HnJ%0ZD@k<>XsXZl^DF~WIEl7`zMfx?>a(?NN3ckEVZ%So|q;*MYe(R3!!AkJ3VdhUu&~DcnnS^&tbQ% z0eq>|>L%wh^~qE7w_j*z#Gi%>+h^R@(9kvB?Wr~x*xG!eX=^Z0=P;Xx!&8tr(}2+2 zE7y2dz1-acdJFIAEOdFIn7TpqDXeFs{AnhYwSZ?*EGrozEYcLM)%<8A}jKl?hn-oz!q;TXQz&oBo6&BK{LN~`7RU?vkx%d4e~Yy~7k|BgVif!sZ9 zF#Yv4s;HKct>91FJ36<5Q_xRaTG1wjtT(FF%?z#Gh>_ljk>VNOzOdFC^4S`km~dLs?bEY3_9=8GKN-nl`m60FY?z3&+o%J$@;} zkvbdYQW-IsO^b`FX%R(7A*r2t_QUi&d07VO$J+jR)xk_gvSeA7EQI!umw)$=#f;2h zuDAv~gh7L2a$BsdUw14cBy(!oHNN}-gBRsB)!hD!&d11hmZE>rb{nV+WY zgcDea)_x|PU#io=9lR5DB_*Tq`)uPT+0jliM4?$t9A+dM0had*N4qVHdI^sfE=3p- zFDhh`fL84iN+ekV$m2CFsN>i8L7}1Map~QSwOVWt zlaSBw8o^#T0`J2#>?$-xXKYBXM1Q908j~hvnSW0rp0wK>JBDgDH7{ajem5w3FF0ve{``&G=Y^wQ%tbK| zARDp{jyyR}POUvQ`HtuN4Z z_tUB8ue~Kp=k}^q`-z)=pJ5%$|HOR)D3DX=NAo%e?!=<(sS0DlNzAV)gZK<#;LMNh z)aY~cWB0%N-E8)e&Cf4yJM#23W&8!?`?L?9-d8zE3=yx{?^EOhn~gSMluYLJ^BAQJ zXNaBeRquUv`t$VH?tkx{Z1(t~=jRRFn_XH~HjmipA44_2joO4k<2Czzilnt#`bFG( zI_`ZF*3wzx%g2RS^@AC3fl}})uL(F&FhB}=9buxlGqO1PErF@ozCepYp~!~NF>D5b zKr)jd&Wu|E!7%mFTNL#HIomKrtybiAQa37q|Iq+7@a)2UexI9A$8sy(KL7rOoYl0O zgZ6kB&kBrZ7Ut?^eCQkV?V51@B8=IUD2zyncNry<9Z_CEkz+(wCuc>ry1Kf-)4;n} z7V)4^sv3RIT&@ir9HJW=Bw9|_7UV%vk3YucanJoYpFLVmw~=Sd5e=Tz^5Y*bxGfk6 z@yG|XnG*~IZeK*bPJe^XCr!-$4q{wP7Q3JE4v$yDB#PDvo6KrVRhmLF*YZM z>^WIkiP%E)q(_I==t6Q53f=-g`9n_m2YT1pvv>3Ou&OEEE{fVk{)V3PGAYU3K;0k^ ziECZ3+y92fn+^+gBDb7E*#mWhP%oCc6&xGA3L`wijBp4eWO9LmOoisgiKjE;iZeWH z(i)DB)>#-WkJ-_ov-fbzC@zPbtf~@v4UV$A_r5OZl_;HJfi`le2Z@9 z+W4DF=9Vl0Esw{53f3}MO@YE#K7>2~h8GvcpVy`^lfv%jIa=X0EDjhYMNvEOG>+3+ zDB;r`I54oo>-D2P(5bSICIUU%yuJ_#I_&d;-O7YoZ5D~8Nq21cM9N&Nu-HO=^Xz!t zT-3~&jfUy5*!8XSw@FPW+{&m#l%##80TEji2(&b_*}SyP+N{&~q#8Z?S#)T)4H%fx@Ej){fq7eoKu+(d=@K#2T;hdD;|8)d`!)G+bj%Y0Nd^$|}x7 zY?UEZ@-wVcd8wgfA=4XWVx7R5|9@Pn;=5g5E#H9y?krx3t-W*h>_fG+LmI7`5IAtA)YcvpNhKbwfCOr1TCKGznzoQ@Q4TuDy~UA0 z#`sxcu_0w|?ET%iFT?$qTzuSr!T3!v(}_$XJ{TOH_lEP13jsazA)nHsdt zjQYGx9SKA6JN-1sD6>VMXL2KD6fzW3*c?E*1 zDuKXjGWmsqs;`S{tLp}JT1)v~A6m%gc0F{ziib*dx4tS+MLr_G*!Wyarn57HF6y*# z7AdxME290Ig)QzO2f=Ub z?c0PGoOY%G^_Z6FKSaHDRSvUXF#wkuv!jOwic*a+-ac5yd-y|;n>Uvn#{S7C*m*IS z37(cO=VJ~azQ!&6{Bea0NW@rX1Ou=5a3_jnMj?8Q8_6c5LqT@|3Ppa;CnQNE!c*qo ziRE(yITm9?E@ZlE5TcZ$A`Q8wRZ<>@bCJU>m5an~l|CSmR`W{v8fkUhIB;V?ZmtrG z10L8}!6_ywdhi&erm5lf&8RYmXt64SH?DU1`z)45gR#j{H`}1m?Si~17kCZTE_t$jPfk9*xK(A!9Tb`IS1KNF-6KG=mZ9 zJzb5$6oDU#9LIFxM(4bE&O3Y)TvU3U#KY7d=?!pJ-84+S7nxhj>jz*q28 zhvr1<=NL5FH^=vc+jqQLreD%Q-y9u44HmpeE{)h$&0teV%_3t!BoN4}HA8W-tz)si zy81XWKkl4Q-#q*!IH?tKfGsK%&rwQy_-cR3R^`6z&pMl~q?L zod%<}KSKY$cpF&%`AvK-cwRfR2grg&Uvx;R&+P*H&gBF1U--g^mQ+1L^yK6PB7sYc zA?Zp95}jTo94@a~h;}hLuL%Bvf@3T&Xp~z7OoV%CP2Mra=dQZ``c?E-FC7eatKEM~I0$kX0%K*6Lt$6*3TCL zMeom%_<&L*O2)r^D zp_EX$rG2ZcRufa9*c+W~HaX5U)z;oMr+r&Ze5%f5j)cR9Mwx-M)h70Lc-r>YCfeYC zpBbKddo0#qHJV53nvV2)7CzD0xj;-KRSI!Ih^ISwjqruQ6T(Z_L8f*-FaI6E&(!R9 ziK&zR@kb9oNB^{)Sl*$3+)B*9c;snfZ6z;|)n~SyB`4^o&R&0(K74ljS#*R=pF#Ey zDfuqV>~72FQxK)t`=jx#*2Bq z94Ci$0*uQK;_&zymiuij21}z+>lX=xH=rTbyriqsYU^~mX7i5il#2y=flwwA0j^GJ zi}Y)a#ykTRVv2;k%u`U0mk#H1Ig|+?#F3Xz^{2>_yq~<5-gFy2L8W*Kj;HVm0M^L) z)U6LbS-)vmqTdsn;mYR@1i)_W3h|2i~{?hl3fwK_dDu)!OP`_~(E>^oY+v+I3$W8x!P z!>d=mk$Y+KJ34*tg$Eq#x;LnIAoEYL!l>QnzvcGU>Ou4_pmJch0>#=|}9}lk_6q-%ugKMGlBC z?*r5$+slcXBP(2s__A`)Vm4;Smz+nGXi`UR z(lGfL5>!J#1ui%-xMBLp9&%0YTg15VTqe`km&u%4NV~Gc*t{C$PJWkbRWtb>`S*6Z z`dPx%!>(BIAnIW$IKV!jY6%MCS7tKHY&IvsQ@@6MjV5p@4x7QZ1kXoJIrPawG@769 zQB$PCT~T{jq_c73^s)8inyn~pdSH2Kxkn#Sls}rS4r+WW8kgP=IIOJRVBa*&*J)r1 zf@_S1E^q%jyUj|GYe(q))GGPbZ*_IS=_&DPul>|Pl_~8al^RC!n|tM*H%FWLWD;4e z1p)n9=)MV_l#>gr!iQ&ulMxR$+q+ zN>#xzDnYXIfr~#vz|bGj84UAVL(7f?gT8?_^hWwoK0S?m=ytlU?X8{fbS0&C%9dp^ z2kX~=y&;t*TFmP)P}nP=uxiYU&1)JDTSQ_JxDvQ0{*8V=esoDTyX0t`w0}gyv7Ljf zlKzak2_$pm?|;v&0%R8MgoGFFPK>&6CnhM)dThbK^LLu{b2{fcGW+7i*+(Ko@p~Gj zX>|O(_t<2qZ+;WWQwS6iMj~=gV?;uX2m^qFA)jD^C8v&(;4kUJr0sk3FBc*?zx@Jr zIJcVmGxd$!HtJ@kB<3)#$4$6j$2caghdKgBCUgCBr1JOl5z_U+C%bTY8=J9JOHoY5 z7AkL%vW4q6;QG7pd;y-Hp8#_yB3BY*%x1~P3#66ia*Wg=%>I_#R_tbOEv{OFtM0*5 zKYx`ISMA7>W|~he8PBW2#?W3|wVM8U{#o$Lrwh4Npsf6P!ii>!7#Y=&r7wuZ!m)>8 zNBtsq+XceOavbeils6;M9-Y@5hU%D!ijO!OrYXcCl}g=R6W-CrNmFZC%o*xFqEcw4 zC%jAQ>Q;E;11hQXuu^5;IxW7tYueGq^l}@rd@-&~^sl))FdJk~GhT1zZxOjqs^7I@ zbvI={%9h24jYbPW@?>9KX!>@K-%T;dE%VB9Utw~@$gcn(vAHV_Dojc5l#Zm@jyJ46 z-`JQTPeH2$Dk<{NU(NTeE@_KFCChV;#8rGkfS{Z(4ht#5SeHn_)iq&VV)+!JiIJkqpek-cNbOwU4ZS3sa=yG|r8da+oof`rJW=B#cmhj6e%}SBAn$*m& z1zM{`B9+pxFdf^~nOYrcx|2R4f)Qyl2GQUeFeg^Iu|_Ia815BRA=ci0Y9?8}{K=L~ zZ+}b6lS}BY4IODtF7tA^2Az39DtcX-s1r+k_4D+S>iZlP&zA;kceT>L>%TKS?Lg4s z)oYDr>RvLl<+^}B9`XCPwb4i0Zb;bDT4S#-hQxiUWG*bd{oDbp+G35RvKre>br z9)?ltuqhkt3cspz1JKF+Ls{)HImsj0eS)omuk~ep)s9zn5&je(hQDbiLhBh@V??2e!>NJ*?wj}HC zo0G~Q8XCSY=rIoZBb%D)r`?rqT5flFttKcoZL3^eMsrMDSt%CDTAYR!>#F!7uc=O@ zYje97fXeGo&G0l%x~Opa3RM`e)a0a{%04VTl%)^UA`M3GCk zA1CB$*XpQePD^jd(tAG4ZD;c5CUOF+m}{wtS`N;5bpkltB%eu9Q3uX}Bto4&N-46Y zwAnc=P*mL!8nRh4<}8U(&*fUV+jDJ|Qhr(aloai0^a^*&zZA$CQONH@V?!RX6P<{O%OlEQfje8fjWf~gJ4K~cu>vgoc z+-EXPtDau7BhXZjlKC#`x)qP7o4cCplV4sSzosv<#v5*~BAZ|9>>A>{g`Vw;U;T5Czd+EHoy>SYdCdH_3(f=_LoV*$?LJM=>OUYd&l>4n?Sq z=aR{WR9)R8D>*T^*%4=lti7u?7Q1Uv{W5R3Tcc3j+11|m)}Ae|c6H4Y;ptD(G&cp> zM#aXJPrr)RM4clCKA>;ilFh!}vBl@Df&DSu6kf0&nOSv_$nDf(=zWD8ZWb70j?G>x zzEiresqxm@`NtCRR)zySjT}HVW~|3EnaDJgvsT!p%Nc(-VrH@y8o*y$(xn=q2#sO& zQ9aYC(UYY``5K~|a+cxMh~)A(<82yC%X6!kCp>{CC@`!4{t2s?Cv;@^c!Ca3h#8PP z==R|W`Mip6=YBYQ<>e>%c2DIVhWY_YW4g@`BL)*K>BKBp16x_7w1cETOqXSYf{_~d zx-4QiY_uz%-IG6pd_cD~c5d+cl9Hgh!ET=wi_fw7o2wPoW6w#XnuRTi{Zrd_C)!tA zRT_iAys)|cU{h+u=BgKzmr?tPR4UK-EmL@}D8yoG)vZFKph~P!>1Ic2Z|azLx@%9} ztlPZsya4&{(46MO13#MmU|Y|%ZkzMd7xY^5{CeAXt) zr=pX`9ZuVto+RoU-Cl=%QQg`HqS2bVMB=`si%-SdYRSJ}dxF`|z4T^oC-(DyKN=r> z+kqK3x@~r5G@TG}4)?_=nam@@E1zUWQ{VD(Gin7e8qO(<#^tfC>P#+Tt1TDRt{ETA zl7)BIrJKl~uRY0N%w|Ac+j-}?4zj%m8HLo!&jdhi;ZtirLxdN<--O>o2gL86n!^6R z>9fW8--G-?I}5<$Ls(lea)jaE$rDe3ADbDnXZ>odo?+%}p}z~jyF4JuQ=7?ev-EfS zH?ZZt8~RC*vzn=NTQL92$z%qH;v-*o#JxU=QMWmIL_?ncJ}|6s)5tm-Y$0i6S8D26s5SVdRc5Q}P$S@$gV0)e^OG(8%f<8lS1A_*ZPVVSJ*@k$vVHUjd@%2g7f z6|s^EfebEqlC4w=)hSEuJgbp$rIGgums2hmNPRjaF>1|aKuh5BwGvs_h-}GnG1a`M zW}c_xS}Q8Ybt1c5?Lh+~;`aI$G$;1-H1BF~^xBDYz?ItGP`A_<>eI-Tq_RTbR-=O_ z_ru&DtK?-ONx)-YTp!>5o7~$@^D&Yf6RRXEj?Pycw54EZO=sJCzK@7@#EdW4loAn<6O z5Ua5G; z2=&vtc;ddrzb^fGW<;-6$zOb>R<`|P{ZbRvv&UlQdRMMEaB{|Co$Bo&9w49nZ zYTG+GQ^{&2;vc6LVDbP3P%CFtR909N8$Hdy_j#D0Kx0Out5q8eXBwNH-bDX9sqWv1 zq;`|pxqHr+sjYU4bz$mDvL=f)Ehm;vo2}E_WSbkQSr$Cc7w~UwSmpC&s--?n;JWUm zcSoVOV*3`PQgclVdU46S^qu+2MkYga(iSPNoQcI^#nsGLo+A_!tC?S%cZJ!g{~8_C zsLF=R7z7}Hj!RznzAeEYDT|PIP>mXOn*p-K0S)EN3C8zx9R&R=T#|zgf=P& zsx=`Y<(%fWwVB2zB$r9JRs6t^*<2&SW*7%TeOuga?=hVQ#RHB8xm?NYPBqTpLpX!b zyVIOJ+2PDxNpj$51$3|RW5{qS&gH5%oTn>`^*PicLLuuUpx34yFy(aaN@U&v1F=+A z`2^ylTn<-IE(u$zWbke9kVKbz9YEV$iKx<0EdeUMrGCV&4M_DCJ~AD7s!RWj4Vz5} z-wH@)yMJ?sYd91d4aBdBk;QKK|vy5Q0{rNXR(nDtGN))0>QdIXH0nL<%L0vK=%iXUrQU$G)AV`8si{vBuVG3wLY zn;b5utQ5ISN{*vu$Y>5pDn(q1^Qu%R^6PbNt`KnPQZk{0Fw#n>Ta%1OAa%&6XwUnk}shUYr-0 z7Yr>72WQxWeE=q6R>7h|)Qs8RwV3G<>@PfL&}13m&1kd#%Z;we((geF^%Ai_>eT5v zJuMr(Do0g$1=vV=xkmW7&O~t$*((=^Efr#Zl?eL@SK=z_2$cJq=yUN=gBOlp8Me-~ zv>~vxE;K(FyC%wPoukWy#QAuNl<}(^>S`aeJDV|P#@onLP)($sO`=JL2eQ1Qc=;L4 zBtJnaNuh;jgGbwFYg+AASgOh^31z5$yjlSi6mBJ7=+mR?XQh}|%FEIpV`lGsH8^Mr zr6rJ}>1ON9m~U|{mUZN%QG1)woKy#+q@uh6?bdx7pf{tk7P-OiFspkII_S0VZKYUS zjydN=44Ng3B1aZXrppOd#qKQX$o#LNttdq~s-Hj}9dX#~YdZ&ac)WhpPqp~0)50@u zPbXU*Ti3ch+OyWG(V6tdk!0OIIUwsFSvTvMS+k#-ow>&0@{;c6<};(DtbR>6wb-Q5 zTg_kc`OHS|-l@%p2kB3z-_z2u+3A9PKuR9K*au;W#^Etw^|^vd#f}mud^|s+xFP}! z4U5kTW$MW}dpsVO-R0UgW9YWH4}{^ERkQttbh@>pwdJ)NhL0u^&6K$EabYO|(ErRE z*|25%K7=g|x;rEqK&{W}?gpM8Q=~S_?eW|&9A6WUuZ{UyQA&t0_JR_Qf_lTCgsT%R z!rI8VrJA)i{lYc9$mDBV})b60#wqz+f{}5oh zFRjF^0jSKUeu-`ZRapBNM6g21&+FIZJ5L3JOFVGBD0zDhADeNcqmvQx%VGJTPv9T9 z^@NXm&HoIBI3h#y3H%x*6cJIiK%;#bJ?4eXURnw2HWA&3nMp#z+5IS;;E=b!d_4D6 z!c}nAQqyv`jbyVs$y^_O9W$05YCq>q-o?DV#PHa>$SomqSwbam?>l}A8#bTT_^iC!R4n?Co`%`P9(uU1Vn_g;f8-4V)&*%oU1zHPi4e$v{}DHh!& zk)S5=!FfDHT)Qwjrg|un_x4|dFTz+-rcX!~7BY4F)7;iT2sd=FwEcd^55tEan9bNnnIqGx?Y7n`X=W2E4LZ_X|ZL zzmd6I$hW0fN_xD>+XKFC0HEBz~wHftR293Je$hnvqLmClP^3%`$!1)-R zn|w_6P2S_rSc3)Cn5CcbED1S$yH+{OPIjd@lfodZQq7sxI$Nhx&OaQfiNZ0tIMuYw zp>YZY!r=1y+T~&7UEH_3T8?ryxdmFgMxz;!-wTw&)vd$PLsNzx?Q?f-^0@s@o4VNn zo=%$u!t;VE;gZwIREGKqxutQgPF9VubiLhMyFM15kG%Mht;>H%zk}+a^_<&39poGyTg|=nZC8f|St43ZhwIy}PBfx2YPFqzd`{sK zp?Xg!aw(ouI?*Uef^rA?kwlOqn*15jj2 zYF2in|F#6Dq(9U0)UwR(dd64dp3>3&;+jPl>0kBT8qa-LciYJFrW8p=NM~^4YlwWi z?e=Ajjkou1e7m=ARs-kt#t8jOBCpLLi)HY$e{i$B$H4RA(9xHctjzN!o;)Gp6%B@6 zU)Gf{X|400VFPZ(>1mgFhC=a0?-Lv;a=)1V#y2^~81@WbAMn5A)m2s*x_H4kfOP%Z z#6p|Zt=9-`)iRSnuGj`;+pk4LNFYM>Yfz^RNC2pePE$@51L}bmlgQIUg{N4Is4jD? zsNYhrt=JgJ{p#o8ZWJn_Sg|{7j4OodigK-3nX9vML6EElQ}%izfW!EXG%$C8jq(Bn%QHd&$)q3~e9VOtQX zU+l1Zm$xelOOI;1xS;ran$e9*|*{x8_alPr6@WjQv%sg>IV zkX_+sOdE7=V64y5W$WjzldgTgL?23X^+pg&D)Y661x|6+?1>nasO zp-q|Y1bGKcu@>HK9KX#zF9Otdvk5xWoH|#Fw3^h@Q@FMNg55mE?q-LsOi;?>x7O)` zK#=nJL%kZU)@e4+3dM&F2BWm>3wQ^T9fC$1VNc zH`df-DpRMsy01a7qO__C6@#XMQ13b*jsbpb9S5BVGEc5huKz}R$B^G0J~F5AKzH&< z5?r%phfjT6YwBofI=`Z=_k`bM?$TxIRs_?_0S}EC_{Lxi01p%>k(BBo`qk{;4^W2Z=?!W!M4rDZ zhv?{~Qz*sdz-RFR_b$#)p~EdLxeeD9Jb>fIG_#PCV*umn8CsiaUd9- zVYR?CLDK(>XsFlfj)=<3ckp<89gGlzA*NK?P}j-fKmz6aBmhWFq9`rrj~!-eFl5r8 z(GXXn>w$pzi~xNol`(@MAeCv62|{&yLL+XpG|95SaF08)6U=yl}q0dk05)hQuW^ruoW z{WnqyM;e1B`#$x%-6_CT?epYUb3( zBKe;Qdwp3R~UqW9Sx7%iQQNo&fe<&3(YLtetLuXbsa(16-SUt9@an%{l z?$r%v=*QdJ^;+#MCr|$5NP8kc2g*o536snQQTsDDIrHp8z&7nm560^zRwAq(6 zyPI|Tgi)*)iJhCyoEiHnms_!y%VoSG5_AmybLl6L!amRr_#avZ%bZ0hnFUTy9ZR#q9r`jAptW3<%E73w}wRi$2R@G0aqD1uVR)o7+zN`HDD z<{k_wq}C_|0tIaCv{@!WX_Q1M5GnxAlt&gA<9^7!So$4|$TBgaM4@7d<+j#I?H@Tm zrT_RG{iidpy>@T|QHNn8hI}YHD%C}+Wh$9ez(3C)W0_~{QwY9EwIeolWUVE)t?Gp zWU})OI&B|(R-bSWQhzB;=CKk%T-ZS;VxymAwbpAwb9tiO*EOt6PW7C{?BOHk9^@W? zoMmKaUJgcNi9ABb($&w>o`-4cb8Av(48})@lKvg{z@?2ud7M1fH$YFr4Bo}n?YLS4 zlnSum$%vriM*#B43LuDlWTK#P0Oh6-W@C@TyX5uZM;l@dHiL0m*wvxcn1<4+`+Dd_ z&k}iX2C8MeR_jb3{kLCvXWQ)ouh~4sSzS>; zvnynTDkIYgQaoFt!Dd;tgvpUz^VwgxaqhiLPC}Ypcg6uQA$kiM(j;&jHc-KmJ~y7N za2jkYJEm>6*-V639ggd!H!rZ7Jr&ui{#3)MkuBNgbSoj5rpBi?k9@hQX$skzm~ODy zNn360!LFq}x7Q|G0E#@je&k3b5+CmAd42towXgN`%#763AlZ+~W0p?Enu-{Y<3=_o zEKw-BH7nU=8&?6W&ydmW@Amc1BxHJb&pTV`qZhwE=eAHVOaMVvbNk$fNq=X@TRWS! zztz<_NS!40(b%Dx>3se=VI<}o*gq?t1*dBoxzbRe^52|S(Iw)<*jdh;+(Jrtg7lxf zwDCCE!d&qYu4up&<(IDj3g?Hpm#Jf8XI>&7pCrriVe&Ea*&SHxG}am(%_U4SH&`CN z3Q7yB>ioCsou;EiPSlNNOS^e^r`zKq#O$zd9d2A`Gq@|C5e_vp+&gRAv*lN70`xwSoJ&mXY?Mbt7|m_n;|r3e;^PX?&ggQ@b-*bH zj3B6ZpRg+d?-sO8Hk`)!89uAm-kdN0mgHI%bz& zyB{(+m7E0qJZa(Hc53XY2Oi+`oMJwI?6bdceuMjKv2L=Wb%+&Pr3o3wMJTJmFc=Ka zv{+m(ly%kDofsZGQdiqbQQQM#zptBxMl;BKo7K4FP$1}w)P(OGd{v?yN`4Jfn6`G4Kj+@dm}9$2qzI4{6C`wO|E^QCmcNsM_c} z!w6Y)#V;5kFTpzH{)=%gA?=yWi`%xnkjbFa-IW6Q>O@RHAeW9^q6OB);Z-`>`L1WHzWef{CS zw%)__b?wl*4m0a|2ll~-ePB`5q1}-p#_VKFD}=*~nKQM3a9^i?Rx@le*?JnAPEDg{ zWdB+-VzYVuR@V+ARwe~94Gf66sR7kjrE|#N}jvy!;aQr zy?U{qMI>Kv#3;vAa8|T4JQ!~AB4uL|#8|-(nja@;7l}Dt^IY+jUPLjT;~3RIm1#RW zqxa$VdyAizOcbr<8aJ&)y#J|g4DC6LrqQhPis4#>YOt*-F&hwyvJqM6HiUE zR3?;b)KeRxv+RbNYQM+sv~8I_eXG}#kXE`4(mGc-T`dy>uBksU`)0q-YcV@_&YFQd zO|;{7n6zMR1YV~S?h33hY*lbka0656F=Q7Zpkc8S@)Y_1iu>~TsEXy^)7>+ZKmtkF10jTv1ri7| z$z)+CJApvhLS$!10tsY+>?_$>1O*iY1r<>Q1Q8SvaRE`eDu|-E;Q|QaiVK2QFUjP6 zdzs0EtH1Z&AMf*+PdKOR)TyejuI{et?$b@MAbIq{b7+U-Kn*}Vk# z_=*L4Tik;)Kr{=w{+_7Za$63uHwWqY*z=t`J^R@A`_{R1+V$|>PA>QCWo*QV<`%Sw z3@$gC#gX`*b6x;Si$IC@Cg94OA^s&0op1f-b8O0x^98{Y&@ZgnWcBCt0(rjW)t1BL zC2KsLKx6PWUoTjPx8a3hS1B$v-=>5bULq&XTVK`dtta@hm`(K0mJ=O1(6KGu@Xm{P zCkF4JjmhK-K>HK4!{jlnNNs+I*0&V1HJe#=`9saCt2S$tOx0at4?8imFns-i4dwpv zEnPi(0rQ}Gv0pmIW)OA4hZT($cVkg+=(CfL?zUd5lF~z6MOCCCw9k8XSbfHd(>ckh#uD-7Uh7RmmYr+0MgQm+JsL|C$KKsX0C-y zb)XiP&pvVy&bqt^TQvK2j_JaODpKnP_8+kMS1hpT)!WJNNJr4m6zzpv8@hF1R_mgh%ENOS>=JJi^4!!6Bqe zV45j(S#(i5SeX(%0PoGJl5z`NE>D@EbXk0fd0bkt? zbt2;fVm*8H#R-#7=C!!d->}(~|KQFYv44d1vo*cFxf6>Ag70?ka80dGCvVfs%1$0nVcfh_3j31|jJcIOCe zwBiEWQ(&*N&d~K0*ocrh_8-7*JqC>rGV}nAK^$AlZMiOZmRS9C+4?sC?OMAllDd6`4K1e?naP$=%PV@qvY@O(U zZy<}t@SM-Jrtsd-5I`-!2GmFejfw4OEYcq5GPd$~0?`hzr*hhKiS@bGvVVr#`dS-x zy5#pupe~|VeJh|?1rMIH)<)Q&&35SQ(l8s;;Ae-9bvdnT7#K!w~AI%hVQ@1!e0TmjN&^b$Z&Lz|zxslL}n^Aziz-y|3LwQX#kc^i&RN5cchqTIh-*J6N zTjlzY(D_%3Y*76zJ9NQSKGX9Sw8Y0C1`1z9jzRp7T0)?08=#>5dJXjO^>44EzP)>l z@LSb3a^VrsbzoXhd;P@p^&H$4LmD=zM82e~8Q<`HiLncznN*S6IYnGE63X)>q4QgK zzN)Ojyx&q#-fli({RnU|rXXm*Cx;!*(H<4{CTgdl3-EdEJX?5q zodmv{pfB61+1gn_|D-jPk4=ESglB2LSii903tQlD*!WCt3$hL4HZEJXd4b%&msk;jq#HTpJRbYePck_v6}-P~J~U8Vlj&@P3lRD}|OM zJRPTa@V4Nvb)ATjhoLPP@DDL^sM<`}9+k9fLow;{kMT3ULU8Ho?B?Fy_Ob5Q=(DKi zAHwR+eLDAv@@iKRdJXR0$J9OewQ{ae5j_j-XFwagj^8cHTl5|RE_;tT8N5{P>{Be) zIrK&7KSq=*d_~ZhjrM?-tc3ISlEdNc1=+DhX-Q~CFfT2%)Vd9Z3ixPL&?vK>5dPJd zfG;vs=mInYq9G?z)^bR|PXoT(Pz87g1>d2;PZPf6WJ4w39TogOoSeb`;apll#~lGW zr}MF(QwutK1-!SyN1F!h+klsFIB8V)A8@#K6m*7jImtaDPvuu%vPlom)4-)idLQ0i zAkv6Xk>>4$S)>gjU4V3?NMk$|&q0gNz2be01R%X1X>XARb43pUF`gqTL3$&eCyO)& zbCF(;^k|WG6X_+8(gM%ffS8FtKaS_v(FbV{kxoXMd&&mxDdYJl`}5u+4ISv#i|3vq zE#z_XLFqsqXwTC60hw)k4acu&Ba;RUwhq?sRecNGF zUR-+43pQTX!H#R-(o5X3AG!46WOM=DB5}KOsIU#8Ti6EIp{5tQJq)Rg98M|)e706g z($L0~Aa{t0#O}2Yvz>plJSgX)%yeL8cuaOcK#23JbZT7Of%!9@j*Xo*EhhT0iQ$DtuaM3i zUC6SLX-Y}v3vwC_ zx=%^Et$&eqz`L{V-dXqWth<7a;8QF3+*y}JWG?DDB6HBcvu?*j4(xXiIqSvqJL~o~ z=#59y27bN=-d}}uyh!_q^iI4VsQ(@LKzj}gpMNtNSa;SjwPzQo1Ouz>^dHoy|N4dp zBOd>_#NK}PPg?N+zkdDv{EBD%ADsH*@c9nb#HIaDr~W|pIDBJ{Z|oqeS>*7}`Y$w~ zzX(f#29RTmfk&S&@bVP(A0-dy>_V=sXYJYx5wuPND^>qGX!|*&d0UbzX_d;PwUZ@*}nU>}fszSc>!Odf#m6EzYx$?Zba$UEN_?H7Mrc~tW? zH}STp?|ig`*LVK5%M8dSv3U1=6H zFOkOEmVvxpN-gnzQfkQpEpf>`gqC>ClUlOe7@Y%Yn!mXe5eo=YO@ z3i|!7LK4xk3XMyT!lH4Fr$ZMw3jsEMN$5hI5`gq&krvOL`hW+X!&WR>H^R$R;OYMZ zIPkd6-VX;v^H(lH1fNg90oJcyx-8lYUlxm=${2+ zJHdJ-K22`DMP@4eZw&hszJVtH))Q@av!IR|ps**j{zS$B{wH!7Vc2TNp75PP(SFHU zXU87TXXO;_qlVY**yF9dW^hS1I1jaBC$;`g_(-ReoJ%NL7n<}7w;-Vxr*R595Haa0 z^ip@|2WtrBTl{$gO6*QO@t#cRiDttg;qATTw$08hySa;9wziy1#4KWk9s8smd!lBK zQ=OCTw6j`ok|Z0pQ%5^?)~`->+Wqa=xvl5P6dSgIdl)j`x$nDiY;F(s7CR8_JzDJl z%D1iM4&W`fL#~flpA#`=fNFCybsuPa{B0Gea(_;?xm-)=?Esf;G`A*$vYJ?JKn&{%m-2$=!7d=uUz)$g!M`6@vVOf>*KVaH@soT9{(4& zCy`TOeG)sV^?PA`GN-@Tv6FuIgJW|&3hU$8+`6ij^*QL%;H2IPAahpq7NsDyDtcj2 zN707^UZT5OXjS-yhGl32xF5*j*IVJ8Y5T#ANBXwNI#c(kD7Djob3ZbG`;nZ!9_u@S zzr?y-ME15`18oLsDEx8jV@u3lm)90Wg`_>ZO8M2t;13uNj+YH{z zaCu%7Z3f4`?#yiXD7C*xp2EK%+6>Vv(d27rGhj!YI(ly9?@eg^mCQwHUKiAPn<23$ ze97AkPW!ks{4Iq&9$o?ON4PA{h&DrFkN=&w8A5XBI6HPy>%Ykag*}z`$%=N;RbIwI zFHUn6HZQfcWEt0+qkcr2!Fiz6%4CZnwZwbRQ%>Cb`BZ3Qw$>oSNNH_4@Lbhg+=VwJ#EL&)SVU z=<7k}5a9hpFK1NnM+KbsaxqTF?D!?RYb1f=1K!WD9B_$WqC48kX9a<;ZxFitN$Ijk z=o0vP+2_JXr!Hu=w1-I6xgD6acp7D zqIOAqu1kqOSF0Dgl+U;*HQPi%r*6sQR{dabJUW<6`f^PI=^nHl z7rC^2L5fd>!# zy?`I!_~hw!e7T%b9`5^b`K3G@KhP0h`%2K^_&6UObQHe!rGOs>9DBZ<4o&k*g732xf?ayBg$9b%LQHfeh(x0xk zzW3q-5ByK3hO+^iYil<*f7y0!c!Twt!^z>a^*lIF(I2p#{EBaFy5q~5J5GN6FV0hb zeewKx@_LbN2fiZfAEe`?<#GeQ<&&&`=q7J|`|ZuQ5AbdH7Ff1LMUMQpwIJBfKRs&L zV!6xR|2NL0wFP;GHE5mM=5=|Vu_U>|dW*i++;sHlF}iOv`Djba1Dji>(|wp{K)vCX z@;C34S^uIhHsAB|%g4yY%_R6C>&VU4{^TN`o4`9Kz^5Ddi1mipnE>;hO2uH;(_!5a zaku{Z;-NzhtB=SSaX$BEz5=Ng^;1^_w*|DYgLb4O=j4G8o+P&aoK`Usb`G`O?|0YcSx`*+lqLFOt6Qu3~ z>tSj=@*$~x>}$&QF-p5^W=<{s^z-JwHnW!Bs5=4)qN(v3PA6W_!AYf@maqzT@MZG& ztJddx<2#dmuaYNU`0AL;X12fi*M$q2d-K%I)}@#WAmW@_%&fG@A_?%43L|X)Bc$kp z^_2CU&q&eE=d4AalUNe-skN9sx*1#2zDY;4G;PMhfP|J~6rHo&{~a?Q|3GcWy=2;F z){EA!KPJ<59ky=#6#HZae~hi@FK;F%t@-$zZ}etsKeEl5fx!WkDtb$P@*c(%))KXX>ek(UU97Ss_}1WC?I8SzRaoVSl*2z}PkUkCjSHkd8BQjXW8?$!1MN+t z=s221Yw0aEnC)a=>!#>3benb0=+5bW)jR8b^y@I%8Dm&!_yFHFRXH7Wy6D{Bd5rUP z=VzQRbqMLu*x^D)(lM{&?v5XK{K>_`#psgZQt9%E%lEE>UAMX(>!k0rxKnv&=gvzy zS9Lz_7UH(m?R)na_hM{0J=o*>E)iX>be+<5b=R-DHg_xPcBXrD_s!j}_2}ATc8|q9 zj`!@{v!v(7p3n7i>y^{1uGi*XPxLy_>$P5=dNNOU&%T~Po{^r3o)*ta&rP2DJzw&C z%k!pZb8lVmgx;%rZ|(g|?_c`F^qJ9TNuT;Y>-+5Q^Io48FAuM9uSTzjy$*Vv_4>)H zrLSw>K7E7xzT^Fz_X+Rw-aqy0-0x8zSD!GSYM;k_F7z+NiLkc@bR95gK>CfT;oV0+s|k9dIPzWWd>g3jx;xZUk5Zdj|#th6auf z93MC%aA9CxU`61{z@G#EGte-wd|=bS`vyKTaL>TQ1792X?!Zq6ULB+javjubkRNuE z898X&p!I{c4%!u@5Aq1=8#E{=JSaM7V$jT>%%J5#)j?~5HU&K%^i0svpf`fv3%U^W zO>kLoL-4)94+lRL{9N!W!EXhh556>b%;52ZQwJ{?ymWBM;JU%<25%mGWk~9f1w)n& zDH(ET$cZ6mhI}&Q%8;Lj{1u`LnG!NLBs-)yq%P#1kcUEchP)N>VaQh@KZM*Gstt7+ z+GA+{p@WC68@gra6UGk4Zblzturb0IW1M81Y0NM#GafX)VtmW^q46u@_r{y1P}68r zlIc;?9@Amd3DarQ$EM4s>!!a#b)jydeL@3p%+}b@l+g6h$3pjoeiHgKz8;+)RuZ-* z?6I(S!bE3<_MRF;Sn(rQzLRC-iY`# z;zp!CvVUY{1N|7nEhh>Q_Gj_flsZ{&NUd`C?kbfmf8xf8Cnx?oDQZ&Vq>oYtro23P z=H&BJ22PnirD2M7YU$M5)9#u+bo!0dd8sF6&>7=q6wO#YozZb-r;%8^JC{vo1Z>^%lz*aJZSN-tg-yO@UDd)rjJYCk^b+D)Qnvje`b!zeEJ`M zM>5~f{4%q7k#SMY;=YTk7hlO5m~|%m-6cDhCM|to={rlWw_sgG=zcl~u{42}M%a$x_SoYAeUzR&9@3%ZDl9rw^hI${aa8f#;*G@zOWaC&mh>wLE{Q0KDVbO@vm~=* zc}aE2nv#trkCp5#d7lCveBm0T_PrQ~+0p|ne>cj=(g@Y1oR6G~^4T1sG9HcNMJzlo2?5DDSm(%i2 z<(}pK<)-qH<%#91%I`0KwEXGvBjqQ{&z4^(zgB*uyrsgqqH9IJilB;!is*{uinNM_ z6}c5<6^#|^D;}Ta&zSqmHR7?RK8ky zs`6~*$CY1IUaS1M@{dYum7%J0RgWs~s-UWfs_3fZsBgRn=8ZRrgeFs@h() zx9UjMYgK2eKCQZ1J*PUOdRcW@b#3*!>MhmVt9Mr)s6JZ#M)jHM^VMHeU#JHYuQulVYuGYR)4DgT>a(xU+bG2oEy3|_%sY|h-!#yNNJeeu&AM+p}JvB z!^Vau8=h}C-f+6%lZGn|zck!#bZYF{*sn3DF`_ZLabn|LjTw#kjWvz;Ha^_Av+-c# z%Z+a}o^QO=_*3JbO}ZxcCa9QXudhXLsVIFcl_KZ5N&C?F!EVyKxWR{41K+@o?6=>VEXYq6`{EID!A@^&iwGXi` z(rL_5?#KC(&uHr~D)20JEI0&OMx25Zr)|fsIqz$!pf*8!30#)JKiNd;$w+umUc?=v zXhxh8;Dg!e6s#Ig(sqN&F|2Jnh&i4IwB^`OYdgHCY^_FHOsCj8m*Q~_&{zf${M z1RTPY02%i1iP{!j@o7^?k6dWm-Jur!86?WKPt| zpuJ-4Nvw=JialJO)n;NQu?+L_&tPS399NZ)rbX!9oRdgFEDpttzNM9 z6lTDx@e9S=)^6yz6#LoLf#M5z&jT9ViTg-x4X!)2Ea>EE*g+l2a2W7+;%+%sA$^Z> z2+-;=_plSzG#}S$Sa%>SZ#m>mMJ<>N+j|G2CF!Vfy>TB8noB@!BEAM$jyE==ew1L< zYBPDAj>Nfyhmd|oSR>Ebeyp?{g74`Ikf&U&2y)B;e={V%U%LX%0a#ys2-wfV_BTS- z7~ohyI}=zA#kTaRJnz7}H`M^WPYK(9cwA^Yqtbuwyr8cKH*>}W0Q z>?o}E7_8!Dw8D8JRRKr}-sJ5DucHg0pM9`ePVX?_J3#9mSkeyI%Tj149`v>etL3fw zdep-_q+WmqdHw$oJmO$I2e75_Mrd&gX7JVsD%{R_t?G^Tawgv3+8>4bwI4Ob1OEe4 z{PFhw2%gVEJAY6-V3pu&&(jd`Vlz*h1CYPeQ^-st2 z-`;b+4u7pTT7P#;LrUI`ofcAXN%)`Edc9qmpYVC--&&OQKmCnD4s3r_(EXFh#ZKrs zOXP#+iT@pjhPj@2P28__X+4i$OY3cv{`W#J{2g8|d9Jxur4CZKAK<*O3duk4(*NVx@kObGujX|&Z{^O=oXAD&K3Nl8R$ zc4}>rJe(KOU>}VM$(z|W%@7rHvN+R&In_y19QU%%y+YO?0)t*JAkw8-ezan z2kc{=ziudIPE&LXb@{qd-AdhA-6y)sx?6gpch`6ICf;Mbo4kMX{@wepeiMCMe7gI1 z`}q0<_!tq@5BC}A6X#RpQ{(fb&n};R{q=nRkp8~?1Nw*bpXW<`4Zd!^U3|Oy_V)Gm z4fY-9yTCWo|D8Wxx3-E=e+_x?LBBK{ZP;vBc_n(K`^k3lEb{Ol+Dql(6!P#X@}SxC z(1<+T%N}4)u!A^({2g`-bXsO-3tCDIAP z(oTTT7x=q|zn`_6Fuem5boihAM-L%|zqWt!89hcn#*?2VoIww468=i?w*`NgEzrS} z(2d65RF1>{*UggHx*57zx-1>?c;`PI*Xe)#(~bWxkPSd!JxkG7PlZ>t1?@@^dejHe zbIeCCz5w;xg7&!)?OqewzlYFb-;LI0o3@C|f=_ZUdeTQ|A^OZ|+H};VRJ5=UV^z`p zS}a+jt)@lV17sfNaaO=aW5{f*tlp|+kVU9>aU=&GOFY_*d1y@@MGw9U-%9S(#-Z&w zjF$a5^zd(>{eKNL_C@rbpP-%p2tD`5=)phNenemVz4n9l2l}STglH{VD=}c>8|>gr zI>N8(Ogu;zj4JkpXXc|N!~ZrDBMHSQV;I&)N0D(PjwFyoGEJLAQne=t#reoq?McG4 zJ;YhtM_gzzEzzDP9kgeNtG1tX(vFbs=waNnL!_&Al=RdN5_jz-;;9`Yy=W;d(_SXM zwO5Ik_6kle{TK1m-Xy--3F57tA_KJ7NiNAF`Py5=UwfMbpznK!1R`=6q@5-MwRcI7 zb{5|Ldt|V74!-02WC$(SULZX%E*hzwCnoJP5`mavg7y^|p5UyH3VyzmR0@cQRS~H<=DU=RYJ3 zUfE3THn|J)-=AV``6t9mPZ7Pgn>cA-kYVtaGRS@lM4C~{g{42 zDoGXnie99bNHx7oza}f_6?&D_&~HdBy+-QjxAZ$wProM(q>=tWf22Rr>-1+FhWac0 zjoeFrr#H!ZdV_2r_o2mlfNVre^dP-OHj^zZh~6gKXft_)woof=MdSS_eC_RwvS7x@ z<4i|(Fg-JnCzum?lI$c;F=y=0ybJAfN9Mv@Str(+xslz>oq4b>fSqR{Y$&-zE|agx6=q~6@;kZ7K4TZyhwKA*dw-CBlRw!<>|^p5`44*+{X-}V zW5?MEa+@@>PuQoVg;?2Z>?HaajS@;JqdI10;p}zx28+N6&X?KO>`iux>ZyVKi@imi zs59-r&e4w4g}uk#XHjez8%|wmCw7rtqMfN5`<#7&p6DI+CHsoHvv?NA5?CS|$CB81 z>Os4()9ehJ&lb?Gv>UUqh3pEuO1rak_6^Hmnc6KfRl7k_w3}p#_7|Cf);616qb7LL zxmq3#g?GISp8N*HD48@&OJ}dr2pX+bA0@3#2Xt6Wr@=q?fcLOE-e2=JPTmuY`X5sF z6#LP?qwX1ct54Ov4(ltrsC&KEn?$L5tciwHl8%!$o|LHj4w@@Dq3&Ib{dUhZ@vfQzSC)IuDHre3wyVA3WrFfpp;pt_g{mVjY=z}QA zsF@HS_@Ir;f=B6twlW{BVm_YcBQ+8K=ZU+?crPDqXeRtI{$@1VQXbjl173*qKtZtx z915Wc3{Zndw!kO`y%4;W56yFEK7NZ)4w=}8lT$Ck8$$(k8{b?3&&SvBe=p5cyt^3u zbI^hpAi@bjF8FT*+T0ZU5^?AFrY#pk0CjxR5yvsF?XhOy9iGQ*A(f8b~YX8n)Jik*Xp`r}9O>qm5AOoKc&drbm$i+XdCpu{znV;gU4U4neT z#ll~^e+(WHYK5QX4}U)pmO2RI3w#V}2&5Y-YCtGT)r@)&0gpcl-t%x+&`1$U#G@}y zMBkkx`l)2ph)J+8K0Yv2cm}D^MVfXOqOe);Hs-*S=nBugJ6egJSS{d*2(1ss7k<-j zXuoTZz#F)!-9q2K0baoYL}Wi`*U_I*tR!Tb6MT^-_$N=HC)1(7dIdX8JfZo*hj2q% z)EDC+d$rdQQ^jcR!iVUHDB}nsnK#fL9Y(K=v(q%R0N8zFEIf||+N)o#2nSVe1}uv@vg?@9%{_q_Z!9NH@{JvQGkPIY);5*z0-{Dy@ z7^93KWTc=@O$AQUW9K{iBYLbqzX2_2cGTI+9#x%@EEU_)M2z2UI}R;E6FOdnyevr!{=Fx z@z{GXa<`uQB-&$bUJ3U}$V22|vXyMpwvtDrH-boU2YEvJA7mHVP4-}1cQ4sTp221W z&mxLENS?F#9@6u$`5oj{a-5tXuaT4Fb@B#zlbj;|B5#qm$vfmUIU{`z>1~h?$$9b- z`51>Deo8(g7s%)23-TrTid?jLAml3f2IJ1(lJCg(r7M)G!(7ALT#aa_;p$lm`&7hfd5nYUx1KD&5T}pFkF4k1#(`9ryEue+8i2L-k zRNF_(XgRH*m9&ah!*8y^N`pFDPa9|>ZNjdBtLSRFhTcur(slG6dM{m1H_-d&{qzC4 zk#3?7(#>=WeTY6xx6*C&5&9^7jBclo(;f5)`Xt>+pQ5|yZn}p)P507$^clLJK8twp zAbpNLPY=<<^ay={9;G-+n!bb)hF9pT^f*01U!y1K>+}u!COw5whqn;3ze7*cGxS}0 zmcB>dr|0Mg^h0`Hdf$lWKcg4u=kyDVP6#iY`{3LIr{BtO`B~#Hbyuo#s_fd88a{^c+~B@Y3WO|uB;pD&V6Rq3;uF%*2m^4GasC! z=Zn!1KjzN@SRfn72C*Rc>x1Dt!(-;2vhaktr^~%u;l;8MY$O}SMzb+&EQ@9_EEc|N ze4F>mCa`2SkxgPLY%-g|rm|^lI!k3USQ@*F&1AFKY&M6@W%IaqD?HnD?$NSEY%$AX z*=z}0%5qpP%VYU$8C%W@SRpH7#jJ#tvNBfADp)0}V%2N~t6{aQj@7dU*2tRJO16rv zW@|9gvlind_h6)CJ=?(U!>G>#Y$Mym9%P%@7WNQ(m~Ca-*dy#w_88la5uqIzPk9on zRi0wI*lxCmJ{T8g@R&fv z0Py{}-!D9R?z!_Ag8TjFFw*oP;t#|YJdO}C2lxEp_47zT#0~K5;niPb-?H!6_v{DP zrHczPGxKsRc^TR1`oi?AQj0DpyTD>tmRXotWHIDs=M@)a8VWPh^Ybzc(F+SQOER6J zb1mrw`FT#!`HS=OGM9FYF38SXY)J>AQ*^wzy2Peu7o->GF3QO)GsLA^fQ?H*zNN?z zFK8Iz1+Zg$Mt+ecJv}q8$SGb@W$}57o#G{Bm&7(Qu8HaSxw#gJtQ)t`Qs6SK?WrM2 zik75AOOgZ(Nk!Q?8JRBQ+b~@xIM6X93vms}LK@d(hex_(h-R21pHGs{CpkPfqzI1s zl&t)MyiO@u#ZW;(ac+*KxX39*O5u`Hm}4o-k|d_8i=;Hwk+0 zM#X|raXUuED!aw1yo*J77t8W4m1IlX$aW~Tmv^Zw@A9^XhH_cn72>sy750*G#@)iq zocvN32cc=wc$&RLpOc@rxX`IMFWVRz7Ada@VI2e^ATR77Xo))^6Tj1C<>xOIsA0wg zeNld1eqkq@SR&QIl9ykUnUk4q(I;9^#r4y(c+-Kd=EN{%okN0^d7 zOz{a*a)l{=s(j61ieH%G6Q=ltDL!F}Pne=_R&>pZo>|c|EBVceo>|FnR&>pZu36DF zE4pSSzgf`_SM);SoDoXS2t_|a z(T`B{Bb1yGO3nx+XN2M#spO1Q{2~>KT72* zO64m`@rzRYq7=U<#V<8 z_|XbKTJeomdW}~6qZR)cg&(8vW7P8)+jFIt7{xb6@r_maj8*T)D*CbN{Wx`vSMtRx z`4SYp1gYn6qkJB&>T|eJ(hXPjI@~Db3OCApgc~KFaHFIjZj^F{8ztRvqm8bVH{2-Y z4L3?Xha07y!%c!OcG$FCg?vbha>P~0fvdUS1O9B~f0+$xD*FjF*=Q@{%ks6Xj)+yrjs>6nU8{FVo~@y1b;y%M5u* zlb5^XWv0B$5|>UQKQ=AM+}Shh441mF5UxW9yDQcq!%~=S$uG;cNL;&4UDC@7vU75> z(~GjxU2XTAu3@rZq@NIC$tiM6%q+-7Ft9MEP(Ve~XpEL7Y*Hp}QYLN+l~o4|qFwSV z%km403i6j_Wr}w~Rd*I@lGP*BB&$cLNmdV2M5rrwBXDhFWQquLkzs;>ImZ`eiJK1G z9Ts;k(V}S8y-caLr}8TC-)T-(&;!h;*me^vn!s$s$rN@ea&n zU?bq}@pmxm9N&(COOnHTNe)6L-T7Wp`}Zcb$?THiKqJM0M#>#DTvFOz>YUP^UaA9) zR0kTVchKmZ+Wx(nZMd!~*pmv80id{dRneb(5Zm^KyF=`!9tyu!-pgQ6Qcw|}d?4dO zaqrd^6)HsO?kdDKYVHp4p?sJqs*AYya10m)#N8oal;|=%6!)$wbW{)8=(ws_Qao@= zvb)J5?d}j+3V?@WcqwVg7*jrVj4;*Hw(NA^A*Y1OxKqC47*Gk7W!h?mZkMQ1!Hps*4Os1>Akw9oEumTDwXz&EYi}u}X3>3KjRRDo#}o+H~7d z1grwwrCnsJUUMjScZWDuJau=7T?L@?%=T6+16lFNtu2}rX_r}TLU)Yj(S(RZT;pXJ zAQEVOB(y^k?>Kne0%d3Okq?r>^iVcg+%7!Vnk#T%n3ysB$W$gJd*^$)3&}rs#($=QK>wGppxjMaQh1Q?tSkSMYEJ z54XXUa~!Um*Kp;uhAX+l<2z)Qr6YJnk1RB3N|2mFr8{hjmlEJAa%75^?j){)qbb1_ zMkzPftlUv^xRN+rX(m#oBbB6)O0q~L*)S#9FqQLYX5eBvtdiK~zUSCLO#MLtdOF`_(iRs3TV{}{zzhIx3d_{S*zF^azo`|w=x zk5T+%6n~q&%kU3)ihqpaFYV0~FYOIi#b1VrNUQwED*myGzYH7kT;)Gj@sCyfV-^2c zmH$|k|5(Le+OsKM+B2>y|I(h3R{59qjI`n}?HOs6e;KYKt@um(Mq2Tgc8#>+FYOv> zm46xLn&M@ci>u1Nv~#3Y{-vEGt@1DJ9BGw*Y3E3*{7XAWTIFBbInpZs(#}os(#~;J z`ImN$w90RS;+LTEEA1T5MSeq#wsvHg;A=Dw6Ztlpr5)p{>Wj2Pq-A|DOFJ`~rJdm_ z_~0t|7|pW$a8>nG%7OZ%o)1&_!&F+@72a3%SK6P^9Hsb0DLN5CzmU^*Rq_oJdI4O$ zAEojWrSc=~3-Tzqv?rw1d(u9Uw&g>$ld@hxZiOc!X=At?RtzJt8Y!l{5S7L6p5i_Qbiy78cm^FP8^Q=!`-n0&Lt-CO5 z%I8~mW9IcK%%Rp}26eBPL%k0(sC)+YdCbLPbuH#p+D-O41aZh05$Z{EY| z*>tf+A_waue#AsV`3jkPwvV@=B+SP$BO6`=-gC2_`@ln1aLr8m}QcwueHPOK|2 zW6dj8k6>l%a57FiPR3*9$62iVn2Z%D)3AE>JXU+m)IPyX`U;!}Q;T(|pToikR?Sez w*G>HIr_oXjC~?EfF0$lcbqu}%z%wQ+u`|8}&?w)%0ju?3nb^{jRg4g$b|GS^xnX|LA)938Wnb}#Tl~Ro% zex(NI<_((De%e<`nZ8QtUj~mFId;yaJ2xrS_lQyteKvUP_?%mgJsGc5gQ-e|{XTMR z_w?&KPPhiQTk&Q3*m2q8cC}ewpX)VT=gwL(Sj%)=slwEqUKiH~YGZ(+%@{*PU}P^lIN zm8!qCuxQqd4e#7FN2x#w@!7p_#}~efX<7c-3?M8@W_E7*tW1${bQxs&I9Y3bR+9!)IM7 z<$Ej`!2d^rS-(~Ji|e?tPur(V%LmSQW^apgqWb=40c_Zj<~eb}cDWB5%H zW*8B;&QJxT^F6OKl9YPI-Z%Bk z8yHDW$m${Z37{#kq1*T;g9dOu^N#s|Cq6RkRhTI?+pyIt$~y%)iXb<`wg* z`L}t)ylwttJ~Q8%?^GjVoU3}Mj)W11FItC5`ZTH4dN4j%GlM&kwzK(kbTXto*z9iq;Lo}*?$XRC$KB6SV)Z)z3v zR&_gcHK$f<)Qix6sdu68t52Yxs_oF7YBzMR`Vsn*wz0J-FuDQtOzTFPnCPauDKu8M zhPKh2pj~uVXgVp=x`*xo?WIqLo}v3eb2M?&XOdE_hw0(ak$NO_w4Mt+S1*7r)Qh0! z>E+N%^p()7H8IyW>KmcA=v$z-X=1L|=)0hQ*AGG;)(=A;)sI1+&`&_0(nq1k^f6`3 zjfQ8=(IwBTB!Q%QvQ!Q(V3Y^(WckspbtRMTvv%= zKa$!r-1B_5TK-NTjAD7Fh?pd)be>F8sVdXMov!lnC12&K(@*Ko82p(_91BTFvByZg&94-mvbo%yxD|2EC4L2J4%{Nit?u|9%GXYmNn16E9AAuFy;|L({;sOjF&)s8 z^&I_>-lu;t+MI7Lqwc-yi}c0%ru%O7-RJwK?czIDE@eLH*y{HOcp`d{(C@BiGt z#lI)4W!S8+qOiY(y%+YMuuWm*VO3#A17U&2fx&?>folV|2ksA)1$Kppg*OgQ2=5r4 z8D1Rze0W9p!SECH>eY*`H@@ELdJolmrry8neOT{{dRy!5t@l%eiD(otIpW%g*CHE4 z=0%Q@Q()1Hh8_E zzhUEs2@QueytUzd4WDTEa>Mr;1se5kl-FofqbZH%G`g$NBaNPG^hQ+usOC}0QQe|? zMGcI~k9s@m)2Oc-k83==@e7TQHwkajw8_;?ZfWxOCOaMuoe_Iu?3&nr#BPn<)4X-_-p%uxk7_=p`P}9YH2)>8Yh16mYvXQWfxeTJ3K2W2+O1;fa$I=Omt&cz@!a#Gev_t?RdL z-g;{5TU!6U_2aEyZ2ea2gRM^_g(o#jDoWbWrcaxT+q|D#FF7Z9X!45WtCJr~eldAV z+o-m=ZEtS-W!tj06>Sf;8`18`cHg$!*Y4-`Y3v~1k(r)d$&F%I~x4kKCQP}uzLB~%bz@rRv>s_WY58fB)8?ctN;^MoMcUWt4b!`&_fDUlep~u| z>6ICsGSV{oW(>}FFypt(jLd$SXJ%fJd2{C5nZIYHWcA28JF6gTVb*O~rCHzh$mnr; zkD?wA_1M_6Sa)7fkA04w zo^txVef@pM^nIvr`5C93G3|`I&iJ8UQopYKmh^kQ-~0VO?e|Up#QvT7XZG*ge{lcX z`rqIGiT?lU|4#o;2ecW`bwJMnIRi!vIBUR+0rLmEF<|Y0jRUr4M`g!n&&n>!{(JU6 zvv*{FpA(+bG$%1ZtPe%Scs{g3vqwXEGXLR!DE~7I?pD}vS=#ir*jh-?3+|f%$ zUo7W6qc@D+J-TZ2FQbEF>WyhLX26(5V;&r{eQcw#XN+Av_Tab%<2sJJb=t;P=+ zKY4t~_?yPB9{=3k~0G@Q_5!rTdWPN z>8nYH&l+{slV@$6+;DRC%^{lDioSk#_^=H3w_J(O@TKcpLroDYm z+Br9z^Yiqn)7Q?(n{oS$pJxu5`R2?cvxd)lY}T{0zMFM)cKYm++5eb*sGx1ZxPsLM zWpi51xoXZEbGFS5pF3ynopV2!yMJD{dDG@SGw;Xw7oU5^x#ypI|GA%@``rSypuvK; z1??8}T5#5aYZu(R;ME1|7i=$#Dr{TWvv5k`tilC_OA0S4yrS@-!Y2w}D15E(y~1^c z8ww9CY`idTVba1r3#Tt!vGA#dA1&Oq$hWA+qUnpSTlC_hvZDG$9g1>`mKQx%^i|Oh ziyJQPvUu9!YZt$;c*}YEyo~ckoOi`}&z<-0;wHr_i$6xnYY?f{(I4^U4jMjAJvy&o zX0dv-a7M`@`e7F<|G?~VNow|pk;9YJ@ciMqNh)*9$Pr13-aGwo+qa+(NpG(nd?fF6 zMi#Z~!%tx!IE8&!EqmL8cKi?d&KO8Ss8=0w=uX2~vlcE^4+~vAdr{FswQ5fBj9KdH z!ufM&sFjRF3e|FUbpL_i=qf|E7P}K|>eX7~?a3Gt6oU_qs3i88$m*xG>KFWlJh8Q> z1NL@=L|>aeicOtTG1zMpWt{xf)HZwHxo5{(+O#ls1VfBXTY17sb%4}zS06VvpF?rf zDiB;RZYNgT8OARS2%)iQVw##}CfdZ9Skv6ZnL%c-#}%m~td=I;B$!qv(X=*6rj1E9 zLyR5I7$+o2Yfb75@inTadR0>B#4HkP@+}ltH=BP=1kHJT*=2fQEdeX3>XF zkP(J?od;3^N@NHdb*h`HQDi{2Ygqah;ve*_fhILEWh4c&3#kNeO}FdroYyE zbY*pX3_6EKj6pY=ugurx8?(ujnayU4*=n}gQ70ptP^yjE#~3gj*jP7)MoYSFs%Csz>ObGD5fUu8%vL z$^rNi&4|IK*ZQa#oo|45?j~bz+mv-_+o5NiFE&pSb9>kvv`<7!=+^Xyui*L(;uTPR z887r!EA$L~slJu=9dCM~3HaD-^Z9-Cd<}d}eI0#SzFz*8{rZjJ^jib?{CL=CD%XGf3CmSzsmoB{|Wyy{+Ipl_&;U*vem!SU&RQf zUD$KP{#|1KMcARlmBju~QnRGEq=cj-iG6R0eM!X+3&ZPL@t zPAXTd&+7U(div3SX7)pzjw-#P1JKtCIXFl#0aD zKZMuk5dX#gm6+FB_;2v9Ql~up%l~-Gf3DZgKi#?VPxTk#U$MW$e?AQ&+l*vvJHhPB@F8ml$P)_@b(;NKJBt+U#RtHnZ8n=n>$sh`a$hi-=jI&^-fGt%b*|tYcP+Zyn~_(y z(sQ~E3A~E8&uaQ#cT(dYKnHaJi?F53AGEW60}ARcG~t>ZJaO z=Hy@K3SXoj@eEp`PCopL$1~q25NH_%1T^JvC5$h(2d6 zJ%W$bM{2NIhlXc^8mj(-p65$7R(*{oWQ&@twyCqwolRBWp?TaX@65B+c620r(X8x2 zQ*s#X%8zJU4xm%{3GK>3G%JVDtsGIy)$iz0R%oMEYQMTv`_wMp%QvXeYNML2%F)AA zn!RSHsWji4eP)+=&%BS6T4z2rYt6ez?oZ4I=40Jl$LapMvF?fPvA6D{PuH0`OZU~S zbt~OTr}7SIh~_d%$Dp%ppemucuM(O2rZdY+z-R&p`g z$P&Gj-sT1RLVXqb$ZPdA`fvI=eG^*A8_-6giPXht*^%eZ3x_@6p-xS#!`>4%GMQCc02J(~ESpF4DRBex0Wu(1Y}YdNA6fA^IO^Ngt+f z`-mQ{AJZfB<2qme6K&}edX#<=ed$wrj2^3>(c|>9`e{90Kc^??=k-MWf}W&b)Mx3J z&_n%8Pth;ysrnUtwtiJl)Bo1z=-2dg{W|ZeH|ROPsb}f8(BUpb_P?zQ^gC#--bF9_ zD4No@^n3avy;iT&>-A^)OI@lr(ihpJH|wqXTm7Bhp?A^;-)(y*dcQuPtMoyANFUM1 z%s`W?&R56K68?&|?5Mh!m+NA4o+&hoOp#e=t}s`carEVHG>@4(%-_wu`hER@{!o9c zKhdA+|LD)@*?*AJtzVe_m0e%)jUf{RQ}5S78?B z8I^CIQduX(+uZvPI(=)d$6SQ@S8x{Y-cUXMfHLgMRC|!GyTCu{nD7z0OYi{r-r8e+ z3x3sEiaHoPVs22atFesdEOP5$7}vv91E2Nx{Zrr-;`A5cds_8m_8}kHmCrL-=0Qv^ zE?4c$$#AvGHD{~lW{ye_)AFCFA%7VUsRUoD>QEQNqp4YgUv+VwI?Z@-x=J#C0lsTg zl7%Ty199K&q$t3CsOn<=fob_{`2U6+)m7i8nwWXGuZyLGwKVvU>-8Qots)lV}E`+|xV6W%OTXZ&UK zQ!RX%s&!qMOciVTsg{30Gu6>}aX>Zky#%&WCI#R|)kM!%U339yvU1{D>a~>tt?Qr* zJ^w4Qt0W9hoA(E3i&xWzk8m%9``|6URV}6c*>-N*nKf-2vhu~Yg9WO-h3{hS+4}sj z$}m5xd>`*iW=^ea$Tt_jmtdBw=Ke_4(qA9mwzD-V-Q2CZx$@zJ$b(;0bKg$x|C2Vi z8~^{!^=-5}8}>hWwzV7Aw{U|D^Yy}w4et@I4+9&o>nV>l;7#K4Ja|}*v0+F$ZTwtW zDzeh%!wag%AMzk1Q{41PI(b&of$XqtS=!`y{2NT&d9yBpCrkqMvV=1Av@hQz6=Ryy zzKggQ!s+l9Q&bDmBY>9bVqUv;OR5BBo4;eDJ0 z=JQVLg1H2_+yQeD=3Eu;8-Tz6zr)?d$jsswm8R*(>#OLwSJD5kqW|xj%+&X#Zg z!EVM7A^+#I24g;Xcq8e%k>_So&u20gaqpAg{|1kvNA09P1h0da7&ZN-IuY+wGZ%R` zm-0PZwFABM-x*WwCJt{SI|r#u^BHBEi<}!qKY@8>3+icCeKX^lql`v=SA+Ejsu%0ceasd3eS&&&9d+_m+Tv(6O5T;PlTIt6EpFsl(o1{lV6LIQ<{?j$ zY4^S0+p6CB2yNmBbt|5F6;GYcRK3Zw9NJV4@1uVD9o5S>TV;}_CgvXEd6|UYi9S#a z{fW-Bxq-gMsXXUQ_(g&v5TJ zc~C@sD#ARB`6;HwDwVCfVm=EV25IDF7U8a;PvewH7n}FW5CTV#a(1}dl$A%Um{Ol0 zmp(>6@H8ue{EQ@@QLA*AYEORt#t3;fbME2Phf2}Hc2osAQrBm!x{jLusU7c8*E*{s zjQSeuCiDlI>SolSXtiF)sQ)nTKBhirG|0#i*}#|($reuyOkl*As9Q6NWxat;(rt9I znxoqi&o6X4#=LV?scx@3s9W@DGLFw+%$}*TbVtUSomCIstQG1wW6EyGl%9+$Q^|u~ zYNJkPoIg)}%{bGJOnc~_lt>@On=)EOC(>8#*L~IN`V3`P%06*ZnMJ1UUpf$`XC1I*$?LFtigx)ltTgBXmCP ze54-53XgA8i5|^3?E10PSleamzJ?K_f>dW-y=q27o zdvc$?f-$uniC@E5+>XSrXB>Vb<8eFYzJ)RPZSENSP8plu&Di^1#@+WZ&VGO~_Ct)X zA7*ULdLc&E|72ACBqQpl8BagUNcwq3(JwNB{uiU?R~R|}n^E)YjF{hKwEQ-sw3nnpD}v$4w=izrCL`zVGIlO!^t?;P z&wCj`?~^g~_l%-{U>yA;Bk7;?Vg0lIg%R%&#=OT)I)8MsnWvM@*PLv2rY-ud_ND`R zu8yXY>1?`~uBMwwG2NM6OEc*v!(^H)(*tdAFVT;kZu*)tn0xDQ2B7`Rv7>yGXJ>-! zJP$g*VWRWPHzU!vjW%P@q>V!(IKfOrk9U@tj9zf6IonJ#=a}hchOzp>*`~nELB}`G z%s0$^p&wXitcCzx0UEAoG;6U)yEyc1EqS9Qm}0ZUl$fRFeDsaW%!TM3FG8Pp30k~M z(c)c(cF$@St}<7n@4FVwq@C}(0WHH#=4SPVI*i8Q7KMHgJ>YF&7Ei{??Oj; zkGU5;#C_&|^o0+ibNq*S*gRq$ML+R4y=xzu!6(gA=4tbcc^1vc^JoF1R4cS?Pbxq9 z$YivV@1v!&Ga9^S?W#a}*)O3}dy%&Us{>ViG+EQoV)dh!<*XEZ4bA0;Xy5*YCi4}v za!;Uhdm9~NB$~RmXd16YZ+Jag!yC~2orCu5a`m2h9WBF^Xg$Nto8~Q68op!RRaaR( zm|D%cwnpd;4>F&YgpRNclJySsrMIE`n}H568=c|3=0h}uckzx`V?IKg_z`dBkI|id zB09A7vTpHn^M(1+Z1}Tz9rUL=O*z`qU1qo0gGR0rZQOperr(JOYXzj)Ttg>woEmPHPnT~sn-)~td>C4t;oGjNSjTr{I3kSBfw z^29PSui9C7p6hF#<7@rFHNJ%}T{J&6Ej>MQaJ6&)keM@z>kp}MW6m5JIMa#WnXXS~ zIz9!?ESX<8yP&@HBsDWTH6t~x{?M8S9nUj*1cpm00>dR{u5FHgI6(&Tom=^yTbWtD zyhU>ZBPGa&Bj+t$GyvFNqIKbOM@K6Hvs& z+4BpE3zp1Z5|}u*c*gk!_0Oug88}O<0+Z#j$jR0D9+=_e@eDVx8EzezQQ!nHtHzJW zSv611miPx)kU<3s6v$O%LG}Ic0@u3&xA5oIc;gm+M&#UT=l*%N@aNUI3CtId&HQu2 z=es`5cME^Mq+dKq&*vf98_dK zn5nMW+jTdnhhyK{b=N!7bssXb+~-{PsUd&e=hAw*?xhK(W~TLa-RHXY+3xi~_d3Tl zL)Rg9d9M8+$4qy_OLxOdcjK2HN{8z{-Hm6u8_#q%KIv}!(%pEahvF6T-wi+AjZbrnbb;kfZlb^T9u!%KC;Ne%fIik}-^svG|vA=CB0r+eMg^}lzhJY4^JyY70s z@y&MgCEI;2+j%Z4ln>e25#wnhGv=4fx-iP+Y?E0~FzZ4mXLH;Ta@-Jd+zT-QF=4Kde^X|C%}uIo>(8^c^T<$13AJlB1m>pstQpXa(8$qdCajKsSeS-4Ju#5Odv_=DPmmy8h(4G0b)S$#dQ3x$g5^_j#`SJlEYI*Z)DT z`$4YzL5{nuG$(#pX^#I{PKz6qlP)=oDgF$~ach2-6JM?!f3uvH$+eTNEGHdYJK<$H zEtYGigtMIVaV_x}l;hTrET=_d@05I&oBk}Pg=6owNGCtIcH^HbHHmAdMrGwndboDe z^*(R}eBLj1F9 zQ|nnDg|U8GCercMvJv91!&#rjo%LJXIlc?)_%9A61mPqMyQ)>f5XOdK88-~eI$=1R z4MW`7FvOh`hOkZ;;!wh{oP7hOr#TWDGc$tJh&#TsuzBO~OX||Q_3$rwWm|hQeAnGn&Y&i)Ew78=iQ7u z*T0^we?49Qdb8$#bKB;Y z_qM%`U0hH+zi74{<}s9*onqG^v&uUD;q*2AB-w7AGAiX1nqb6lUCEKE<$mL`#&>U1)=c0#1g z<+*gX`;?lKRbM*Lvx*kZoONMi4__1gEVoCJmE+2T99Isw<&@==Q)-qI8B7TT({1lL zZaa5-JXvlzXSqF}EcgA8mE+1M_x+GH(0MMy?b~If_Kc9exQ%RtbjK|xS)7rYBZHlc z)PX583QJr&rygPFUOVy0NX?Frp@8RUM`C59xlg#g*9^Beo8k6iGu*yPhTA8}$mrF; zj^(ZhR@EfA6VvK9%l7%86mR z6J5!b^qhe$Y<)_}8IwJ5Sl+l4`z7o-Y3W(#q^GAQSb33}lX=pcaTg*iPxh2T{fo{h zpLJi(w+Wf@Z9+Tu+XTPWrn5@Yhhe`!sJUi6e64G{*4D4W78J0$KUZikp{WaJ6faO6 z7cN-10L>B$Z_pe$Uo_a&`u18$9IVfFb#@r0!&@IC?;Ur~OQ$DfUfk|b+jMgRjphVd zeQm#CwQIq(PGa?$R_~!7i$yziJG!Eq(0yIbc`>@_#jK*6jpl3;`sU$iy9Y5N(FZMi z3eRlyje&0QErhQ2T?bv~y9Bz=w-S0nXqnI*LNE0dVZYlq8@j=~2i;`s`sUTlk88Eo z?1JtVdQ9l6LRau5uU6lft)$dh9c{k@wyTWocfj@SY)l(gi?(5&qRj!oD%3XH!Dbg5 zF+T%qfwg}RtO2)z8^G0IC14$_LSIu9tB&xQvQ+53@z5>0wS%>Vw~ zv#kNnn)iK_lV9RyYley5sN!N0RMVK9F)8N#wGCoK9K^$Z4@J;h9BX zp7JG41rq>saY;i#E?~YZsTW8GU0rm*Oad)IG|%!)0ngi-@jMz>TQfdW(dbaWLp$tO zZayR>wn|lj#AVDlKh!EwsaA2^QLUP`YT)4m9^T${-6S0I@P|D-GlA7^_Imi89)7D* z3CteaBjF1VzYd<*ioKVA%VYoQDfkyW_D{h-3LXG=dw6Cq6K+ai^>M=G3DmM`p4wE+ zQ|nI3pX;%o?ct|+_(>j~utG<|80?2TR|$jQ2e^D651;Abt(z3rO-GM?GJHb9wF$A9 zUcPaSeQW$qh?F$?fycimcPMu(kI(h+{c8Axsv7=O{wM6LaTDK*_|TH=5#JSbaQP(o zmJVOjHnFq$8ST1h(f6&A4I|XmuS2*r1ZTYSH>?ZgPU_JQA z!(01zT>IBrzU1V8%V%0X?%^Nu@b`N7)gFG8hriClU+Ljjc=%-=zL@X}-FVJ{pYHOL zJ^VNipYP#^)bR1t=axCnv++sfVN2VNuvW35fkNf=;{1K1+p&H)$7VEr=Hb_R`1j!7aNSt`WtV@>WB)|l!*Tam9C%5;Y(b8k%#x%&#PlU({(@9V?QBoRNPRmbL0B4r$P;%ehR*;$G(Gy zPxA0BJ^ZQskM_7}MELdGxEb=FdTx)nQ}E4CaF0B+M+@qCh;ROjhqrFXLwhto2==*r zg@^z46ufo6$#L(EL-P&TuXpTQuWSBM^LMy@O{qWdFFE$jpK1Ph!cEqF^M{(>>)}_Q zf?wsazs|#7>ETy+_+=ixxQ1_moM~R@#IyMv_~|Y`*~5?X@cABoh=K&Z@bIY~zB7C~kO<;Dd{YnKpoXt`FSlx%u#SGw2X6cWj%g{wuINm{P;@RxHPD));$_UC)}+iUuhwbH)Wg?R~Zd?yKM3 zM?yUB?(H@H#2kq^6mtMycE@b@J{vco#!W2w7CK^2l|P=e*GiWs&bHrT58H=fKcedQ zdo4db?!9Flv$>|+TYP~Zu3WHj3zcaLPaTfg=!9iy%x5*_7_-)6|6UExPDwTIbWhr2 z-l%aC^RkD3&ci?9;UBIkms;;c>TvVvj=PxqkSD`q*2LUO-2MuG1MaSlSsAk&)617| zy(ng0%uGx#Z{19dnGiF|bsyq~lJ6z>lZ(BV@5gnonDm&gm>ob;Ov{*POs{=Qt{cVF zi=qC;c=+fOeDwcI%*yD4nER}3gs-T>f6MhI>^ESp2OmYh6a5L4$D<#r&D(Yz zeQ)&Y=vCyUhmXDv`zxbYL@&ei^2OARcKBb2J^38pA$ofB7CcC($$wl@2keDLtizG$|t*$2(uYW6Dk|1UiG(CjI~eH7EnKfv|f zPF+=+mE=}mSI!zsyX&CUORlgsdXZuG5WaQAhTS79PdUK7EBqCfs%>(&r`X&tPo;?u zw>Z4Gxtdjvnw9F-=YZG`VKpjyCkh`c&-PWnV$(|asp4{~@b-HRt@~J)>Q2k^O|<2& z685fyn0_;`h}-lu=z#!@5H`~xVLi&?DwecPBXpa?uV@A z*1Ci6sp2w6c)P2IR?iA=#9s1BU1n`qjc#K*Nceuj_p|PGKXKnn+-C{@rufrJY`ztn zC&cDS%Lk8&{cB=>wb)-{dA{bh{`VF8C&f)Cu^%CBZV{X2a`zW&qZ4kIu5QJWyMLQ>{yNLfmJG z4_U%5v6QdUY#E&;J~*}Xn9QL3N8%PPelGFZU1J`wym~<5`I~j4>xn;ug+_|YdUAKC zwNX38&kUhua<@$QjuOL;61P#}@}T(8QR3E7__>yv7+bse!o=p1?XhXrZZgDuhD|&BcG)<5AT}S$-FV6Qc&TIY z5{Ghe6EC613qM)t3BHa&!ppPq@@#iIFR6>9UG(N#8?AfG-KJtQ+&3GW;lke_beP3&fuSmuD7LKO+1K%(`m6 zV6g4FKxiAO3EkyxcZqFx38lN-%@jUM+~kOx%Y_aU`y6pIMDF$#`-_E6kh{YjDsF}f zKUDZ{g#SkPo5g(_OZi5`wuLD+4t%d+V>m<7I8pqcAub;jS|C2m5I1)Se~0j=S(oYy zag!`*$&$NQn+LI9C2o2-u@!!pxV&B{{S-nRX6=!d&K$IzkDg-hVq@o;SKC~LIyQE0 z`fK4gSy{@?E!KyH;@d(AeW7C`Va=3Uah8NWQ{2q7v)g=SWuKZUZn_HJRrsDV8~&TP z>?zOolrrt<+Sq58S)Q*rZRpX?Q{n^rJ#qJJaXDRLGF|LN+Utqp+eEp0r_hOVccOjD zB#O;8vDqg6Op#KUA~kJ_)U+gVGezPf`J<;uTJEv-e4R;r`1aPOYYINtz2EF!*NSxp zjWO+B*HO%E$HLjYuA4DSoS{zR8`S>HFWbGYdn>!wb$`B-naPejcCYKRl-=uk7CY{& zVjY3q>-tLado^};uj_01>gHX(im`iLKQDV-zbboOe38{L+#?%MN}pX_x_kB+^r`SOsxuKDhey{>hA**hl6?scu3*uAcKayVym zyVo`Q(~MzXnHF}hYrYC(uWNRjVXtfaSiyOQwqLpRldszb$k%N-eARX%eJb|7W``K| zy~bC&+sshDW_wWfhIx$LVA$~*f7$U`k42K*$X*Sp`_$BWJ-`LMQB8a2>qf`EBhMs*1QkY~)=$3q zbtLdplD~r^;1DHB#qPAA#D_Jz+BYJ$IEZx6c%zfA=rN~m3lqva0!x8u^V_k`V*+^!wi z&KGZvD;twVvX&;DuMr>Te1LNe=PEg`b@`RlmSvpwjx|?_+f~Bbd-m>P&Utz|r+s#f z*gE%CvQy9`y-eLpsNsCk_#RRFh%fCm-!E=a_4!tD4{@y22UQZ^BOc=`>J4UtO5=;^ zb-|s%o%&OuUkcqIbYrk8Sf#%b`gL#{`<#3ubd%gI6S_ILk9|(I2;Cao&z=k0gjUE? zyM*ozRt76|rSSWN?icq5g2#i$_4h)nE-{Y;8ENrcMX*9l(jeyE;9hdFo-*OT z^KLSMt}2Y*G4u^ALp|Mua{nJ4K^r^I5wxM#If6%nM?+S@->7jM!C%-l)IEa7g2zI< zHG?)q?qQz|J@2&--M6MU4#EF$dY`ws=DG>K9(-MRaw@o$lM)Vo#z~F_e+vF&?|F}) z&A~cHt*}CAITW-KLk?T!A>NwaxYV+@rDyNE`4F_F;yFTj5_H{pZdE^H?Sk8b+iTq; zy}`qrZrnomY~2d+UbAj|z4yF)U3bCXIYa5kw0T*}y^Y5SPH#C|ceXa3sn#d@!z%@n;&((3gv6?$Ka3R2ld$29pS$YejP05B=3WpIc@!@6TiCt z$#b51TsQtwCZ2W>dcJPCgzCEZ_g&DAVXF^GOP%&+Z-&xR?a;&2@{ckT_pa%2rfeGJ zUZ`IF5d5Lm{T;y_a(`2BlbCM1^12D})p=Sc-$P{|+!EX(ez*_Xs zinb|k>Xe6-Kf#ZKAIrUOg5LzGBQ~zV4V*R}b@EHxdE}V5amy~0m)4E<2(@LKZ}x3e z?ar_^@FPtRh&S&pc8Fs?0QRCepns4z?@{(K8EW#`-Dskj$bL3c*byn+eoN1OE`_F; zot;Wd3H!P5T|9d>8lGWS0^aECOMqYOOhAu}y$R&KzJa~PN;U5@cJup+o*w%Xs77{& z0^G1i0dIYFDWC`Tt=^8Cow^*#J_WekLvKJ!%zVV`d)3hHRe;Nb^ba)sgJ0p&>`ky3-p05I`wM}Uv&tN z3y%zs4E(}5CeV+w2WJYWwQ0%8b=dGQ<8SOsWbfDNlOERX>}9}7?ruh>0*9|1=$(aj znfP3Gmmn9a_m;5xN`&^3*e|;<*6bZ|%w*e?lEU$_6NAn74E^fTKB(Vq+bQtoaLS}J!p2EPh^Mc>cTudU>y?`P>I zaZ@IAvu#cE{Vd&T-{AE9Ed5q|_)h3{p*tj$ox+z3tq`Ag3EeGE?GgJ*vDqhdzl3tY z%3OMhmR5<&AA}wh_lJc4N$6prKMVau=&wSLh|8lwkI7rWr=32j(+_p}l5ymq&5@6V zuC>ya9JF-3m9pfTrKLhQ2Iup@r)*2gbP*9O-G*Ws6? z>+Ktu{IaxE=te7#$uCPcTiHu~S^BNq{Z8n1p*w|^3#}0MyM*o$n@ZvL2|Xw_M}!`= z)MVQ_LQ0+vK21t29d2{Rj1ZbHHsclFO_+)HJw!U*3ch8g(910~XA7Msv`}0w6uLzG zTxzMZDYhl?vCy?r?>`Z`-o9H%v8AO#Hwyhq=w`|1EkeH)8+jM$?ZWRAS}wFg=q{mq zgjNdOC-k7uBSMc_N{VUuqp}1Tq zbcyZ5vD>BX$?+buCMmXbt$m|Y#!y10h7$6(!EXuK(tM$zT0_5sT4U`OTB?$%pY&^y zLzaFibc4{1QWw7xx=C!xgl@L|4eE)dTWvoY>0)VxxZEXlx7bt)zfb6XdA3UIe-L^| z=ubiq3;kK>FG7E{l=^_&B42DvI9up6p+&ZDZq5_B#I|tq#rDR0q~E$7&%4c#tBj7M zT{vUXNw&U;8(Sa8qb2a+#`Z?yk<~U0A6XyCRZG{3_oJhc?7$6d%k*`^DK0( zo7gLSGdrZsL+84eouYq6Ls!C1VT%34!gLt>g0WkhTB+NjZN1#?siv+#PnyO&Rff(| zSEFa`#g1ZU=rh!H^4GxY(V;F;H(DJkd&8mMQn#Q(y-MB6u3$H)JJ=U&m0FGV^fq;u z)t0HdMVEDtoo`2XVSo?#K^O>ta8M6KfJjh3__AsM8j=T%knK^RF=zssf@UC^dodsu zu$w9R>eEyU&=SOh1keg3g4Q4jv;j6>+wy!n&>nOEr-6>xcLJS37tj@S11X?8NLB68 z$DO9qK?WgYVrCIq59)tU&texN@X0J1?27zlDf9vB1$gCWG>OfVD- z1H-`xkPk+JQD8I}1IB`JJTo3lfS-st37iEcgDH%Ar-HM=G;j`>4lWC>Q9oe_b+z$dKp>v3i_m1!N0*9 z!OiM@@B#P`(7#diZq!=v30Ma{#jo|?Kj1U)Irsv62{wRIun~L(z6Rg$Od0W~kEFJM ztzaAYHu#154r~WIz)nyOcJtQV1NH*6DQX{D&i&v3_#RY&AHYHIBRB+p0*ArRjQM{7 zzk(y+C^!a=gA?e#egnUQU~s!eBc?UGl^fs#eh^0gJ^;c&JrDtsa7SI%)M4gnx9gsm z^Xc!M3l@O$g6nlLSOU)H`U0>FTnLtfi-Pa#i!m<&D{ylu=1OoG{1w3+`buyu*M9@o zf$PBy;6`vW&#uCxPUtn{nbp#MDD*|4&k0>G^c$h}KQ|lbIg1`xs2#y>pnh1&oHEqW z?*1bDQ$n{2eO0KP1w*GSlrb~>TA}-d?iK3jlfMw2e^KG)5VKooiWB{}EOu z_I&%MYH?lj0kl#(ulg4bTKGwiQ`w)?@hL35+G8(&3g>@f?dYbx4(K0x)*J@k46?%R z&kx?}wlDFQk5lEqsq9bgv8z@8&CzCBH?B=BEndyD)_0`ZDGo;$ZPV&aNln^4`h4r= zsG~cl*XQc_Y2USukbN!7KU{=T?8Gg2pW}f3i~>JJZ9TQFkSA7sX^W?rHC zmM}FsdfXhLcUY|xX2e#fyu5Df_)<&DUHjhu^r|K`wkKFO4vuf3JaMncU&g3UyH`i( z`#xN^l>QitP|p1Ej_Z$`ddcGh!6%&3l6-&I<`U(4iq>nNr?@1HpHKFQH{%9un=KhO3HkdX)JlRa=+QMb2I zH(fTawk_H=K|hPy#k=91;474!Ew@dI)|Q#EyscoT*_q@EmdYxCi1iCX5|4N+$7fhvQUk-(&>9- zqSG$y+MdVcO^xpJ;_(Sj=_wFIyY46E%Kij(L z=Ep8{iquSMzq}nBw_I0C!jR3WOmB)$>E>8Etc*|LdTQhjKvr@4Q`|vbJv_ zr{<&2hWE%E`Ww8Huya?;*xB$4=?_Byy7l%dhPJ@^4{WjE!)51rnvZO`ue`>5oM(=)K|`^r#{ zN8ajRJ3TwS&EfKsfYWTWRq~?z0Y<&LA_qz9LKh3kQ^sQ^}TuUlF zQcJF-joG<2PFh6G;k?0XuJQfV(3Ks1)IFrPEV2|$lO3hhXMSvRs8(Y0gYBvO_rqK7 zYOmY*@6W2vHE%1a)u+odSwbV7H>b=^_Cya;-`bL9G2v=jV?DX^E4p8W-rJ8(x4K=} zJAZc6t=A`WOAB&KfnKehVczdZ|Bx-ASy|WwQ+iR=euR;q_6~<#Wg6n)>WsZypN#AF zYsWk}4M`<@IYs#}JLfrgC%SQPEYZ0Ag~MC7YRc#@Ja`HxBHxLJl^cw~+&Iwp{goce zPWzC^0f{NS$vsXQys^NA$i-6xV14+n^552U@8PLK)z;3Kjxs+UN_X&WdsD{xZi}l~ zr-?ly3ArzAnUO>2x=#PYbw$~bYG$jQwgUf#JZ3I1nCO&K|(u|K-4(+l{nc0D=OQ?>o^rm=3{uC~jQT%Bge zH@t$5C7oh4@Z0t zVZVfEY3J|w=hFGi-LG;?Os<|yVph5?sb*5d#A~o!;Z3o?=)F? z*iqK;btb3n_gl6{U~5vC)FJ!-^5&Fx95pLUYEm<)Lw@`JE@o&?R|6txA(xWvEk6P?MgdCTZ%?8`SeR`J+%nnQ!k-Ykdd)JWUfAqZ=eFKvk2GWth%hH?V5`S z>RCgP0iC3tB~#B@Q9tY-)w)pILiMZ-^{gHCwuae1aCe38rn~WfwiKNL-(7cyPt~dL zcK*L5Ut8H)XjcKWlvMz2JoT>)@}wVkktqC^(AL5Z)WT(|p8cyB|7N?0T3AnNVS8%f zrSL1Mi>Xoz`yg|!g1<&zgZ;I9E7hC-iv11#I(;4d_4;~vyP6=;evt)l*AyhmngXYG zwns+Y#hO>vTk>~PyZ$vrYGsh&C%gd$rD#!jz%aXIzRsBU2)~m2?}^_2I5?U5<2_)@69-m%ALX_MIQ@ zyuzON_(G?LEtMyn=Y)1T*K?+Zc!|+~l%bs>J63dj3wmY8p+L^l9_WzMp<{=RZC7;Y zSRE7M)OIT9V{O{3YBMKvw$5!G8#)sYCvE_TNkb$t0g3B5-}0PK!9T?LR^sh0mSZlL z)82b4(b9RG`EvG3v}XrShij17tJR@aTR9KGedgjN%$Mw$*nqQFt7)xrTlH(D5_Ts% zp0FZec7ln|j8BedSIm~b#3#308@D0uso3SQ1Dd_p>~VWWUML zPA}jOb(irU#9qkY2;LlV?>>1pT!LRs}`yhKNw9APuAwLI(0Z6F!T4?2Xw6oDTYe zGeAGk9}EE5AO{QtxgZY=0)xRgFdj?U=FgT>L40{?^#pzy_yMT(TAUnSpd#s{CWXchW_J1upC?jE(Vt{ zj#~jP1uMb-CbR>D_7kBUAhZMjqtMzSec8(zIQysD9nbybv7a}+ADQeYPyD=D{p5v@ zx4DnBeL-m75!x4o_64DRtBM(qF99WBDL5ZofKSVqg}D$c2N!{h!Oz6hu4X)e=JGf2 zI|#Ch+-frEQ7|T*1!jW+a2~h--&j$DPn+>+Gd^v`r_JQtF>>x0Id_blJ4RUgK-=GpIfcB8Cv`k67#aYjxW+ry;dJlx*FdYI$b+h@L^@2I(NfDiaV7zluHP!B`^ zt7ECp_^$zINI$9(T9_!%7&HM*K{F7|y%-P+nu9pd0<;A2AOW-jiJ&z|0&PGtXv_2M zKzq;uoCZ2#-wAXET|igR4WxkXtY=Kcmo)fvkU_|qj1saidvo0foDTYeGeAGk9}EE5 zAO{QtxgZY=0)xR2!aWlV1;fB_FaqR*kzf=U4aR`6U>whk2NU2YVom~Qfyv-htL5e} zvYiX&f%)KEumBW-g89rJ2mzWMv$v9?*wbGy9?Y6?g96Lzk~b0{on!cAb5zn$lo*Rnfh2w*AiI~i>&B~ ztcXHZ#8UsdGTQO6imr-PbXBaPt6~*h6|3l~SVdRGD!M9G(N(dEu8LK3+gL@nja78p zSVgyuRdm}}MYoMrblX@(w~bYF+gL@nja78pSVgyuRdiMKYJIGv`<9h-Rjj0|VkKP_ zE9t6ONms#2x(Zg(Rj`t-f|Ya?tfaG}Cm*Zn_OY67AFJv1v6^lltLb*Knr2|W3 zZYQhhcCwmoC#&gpvYKuutLb*Knr2}gm83EIVeg#(haugf`$B}d=@SkrqX}uM+ z-U?c81*_=}vYPH7tLYB1n(iR0=_*-GSIKI+N>=53Jg&V%1(1tM<0BYOjh_dsVF3+s3NB6Rg@h!K%F~ zR_#@>YOjh_dsVF3t76q&6|44sVAWm~tM;}r((|)&uZmHg|9>Q54k2LIMkTCY2u2D#sC}cwv5+(`> z6NQ9{Lc;7p!t6o9>_NipLBi~z9!DWzqL46ANSG+whk2NU2YVom~QfyrPBEnzA+8%zV|fa&0WCSfX&FcnCc3M5Pg z5~czPQ-Or3K*CfYVJeU?6-by0BuoVorVI&FhJ-0Y!jvIl%8)Q+NSMt?n5{^d%}AKd zNSHDtOc@fU3<*<)gegP9lp$ftkT7LPm@*_x84_kM62^~&@t;D%bVI`Ukua4=m`Wr} zB@(6*2~&xLsYJq5B4H|#FqKG{G9*kH5~d6ZQ-*{oL&B6HVakv&Wk{GZBup6+rVI&F zhJ>j^!uXLen~^Y;NSI0_OeGSg5(%>d39|zUvjYjU0|~PO39|zU<43|&B4H|#FpR9h zJ|x6`Z~%M{s=yE6Aovj+0zZMn;Ag@*xrF)g6cXk~B+QRUm>-caKO$lFB4PF-VfG?n z_99{S{x2lVuO11r$0K3({E3A5)s--N>PVPMBupg|rVaiNSI0_ zOeGSg5()Do5~dOfQ;CErL&8)dVJeX@WgZDriG-;{!c-z*Dv>aiNSI0_%#TQzN+e7f z5+)1@Q;CEL(=F)39H0+#fIiFt`Y;FR!yKRwbAUd~0s1fp=))YK55t@g{g?*8>BE#G zVbHjNCZH*32L5k-m~tdcITEHE2~&=QDgQ5hm<~voWKSQ)N|+cVOx*vm4^xhWDM!MT zBVo#sFy%;?awJSS5{Cc4gVA6N7z=9pFy$xd!|X@G>_@`vN5bq!!t6)F?EfE1n5{^d ztw@-yNSLiin5{^dtw@-yNSLiin5{^dtw@-yNSLiim{KH6DH5g>2~&!MDMiARB4NHl z!fZmqe1(Mh3JFt+gegVBlp2~&!MDMiBUs+KTMG6sE?cSX%t z0ik|ONXnEWWy+B<P6e&}Rlqp5Z zlpx;Wy+B<aOmpyShaeyXY1dL_tAOAb=o&5D---curm9w zGFw7cW}jFYHM)9_anwhl(bY*bd>Czh7WWIhmF{;Eb+;R+k}+Eq7y`cP&K%j1GoSA* z01Lq)a4EP9EM|sq30Ml2f#vY!3UDR33S14Y0oQ^R;5u+UxB;wW{%;lS?nZDESPgCl zx3X68Hn0ZV4(f%ayxCgownRgTW+Ttmp6Ya5y_Si&wY@$6j(H@&$RKJ4~B9Oq)AQn>$RK zJ4~B9Oq)AQn>!36-l5HHqs?uj&26L2ZKKU?qrGiq+_05#!&b%(TNyWOrG4$8eeI!r z?V)|`p?&S4jaWNwWVg*qcHyi7H-fvsT7ZX!4=&tn(tgNp@Sm`v#iR$xQ~Snb&zS7F zlKoS%H|kk-_WhA-e~PPOwAPE!T5>2VVC@Zhn0|8u{pJSx%?h3`m`$_6g@bV6AY3>I7Y@ROgGg`?E*yjl2jRj& zxNs0I9E1x8;X)%^XoL%maG?<{G{S{OxNs1ucfo~&aN!_aXoL%maG?<{G{S{OxX=g} z8Yx*LTxf&~jd72m^WT8S!4u%O;7Q^(Pk}!Y!+M_h&0l!^8}XbMz>9!=fOwLv*!Wg# zd@DA-6&v4*jc>)qw_@X4vGKyGMmW_7ryAi@Bb;i4Q;l${5l%J2sYW=}2&Wq1R3kRN z6&r8Bt%KP3R&0DLHog@b-wM~7;aW3XYldshaIG1xHDluq_|*o#+Td3k{Az<=ZSboN zezn1`Hu%*BzuMqe8}@V$_HhrkuoYX_iY;t~Cynr=5uP++3tO>;t=Pg=Y+)<5uoYXl z7hBkhEo_BHjo89gY+);WYGf?eiVbYV2DV}YTd{$y*uYk7;9hKCD?Dq&2Kw=|TCsr= z@%$!i{vG%`cp1C`UInj#*TEa$PV8X=zEuOhRRg|N1HM%QzEuMwum=322K=K2{G$f^ zqXu?4p28lU!XBQ&9yZ{&G~l;1;I}m3w>03lG~l;1;I}m3w>03lG~l;1;I}j|B5J@M zp28lU!XBQ&9-hJ;p28lU!XB>29&8SLRR*u!VwbTgc8hSSY( zx*1M4!|7%?eGE0?I z4F8(pUo-q`hJVfQuNnR|!@p+u*9`xf;a@ZSYle5nuw6T_T|2N{JFs0l;MP&NbrfzL zg9zMl{!m<{HslBbsYObNkWUel)iq&Fx2X`_bGHGz|Aa@?b{%B}e2R6|(Z~!N80XOgf0|e0Fc67KM9d1X5+j*wM zz)z#Y)9COtIy{XIPm|AP^4Uy2o5^Q0`D|7av~%S&S59-~G*?b@<+OTk*Sgtrj^~~| zk06olcJ=gQJpBkyKf=?G@bn`*{Rm?zjq5tF0XuL2CvX8b@BjlWMwTUDDOd(pqQ_fc zVRu?{>eJ4ApwHq=jk#xD)tB&o*_j>s74%>>uAJb?A+BuX_eH0vGa&Yc?)ij!s9Ekg z!aaw%=RaK8%C|q}%1(9VFjpEwSGI8FBd&ZJCnqxO=H4Tud_l@Fo;{0`Am;MTC7jE_ ztO2PSdz&Tz93~ADLW&%?cpg~xblzCl~1|Spi1#2SB`V#7$;pU0n2E! z@{EI_{0?yE=iG_Tcw#G`IGt0MQ%BtBZWk^1G%cfpZ+yl*hq>n%_Z-#l#`o%a$Bwh^ z@bZi!%F}*SojS6=J5B0qknnEm=MGIPLT}?esY9aXBCtiM6|bn3UMoni6{Ob+(rX3jwSx3oL3*tqy;hK3D@d;uq}K|BMfXBfT;J4tbkEmourduzU8IpD)3+);fn8-pq+LyD7HtCZ#x*U}NDDR6LXEUgBQ2~Ao6Oi|GGm*`tPrc^7q_Ry zJcnA>9jgwkE0+^kSV;w@=G4KUA z4o-lR%nh|rXJ3L-;529jZOpT`GXm}aL2xE6S>xw#G)^hkq=f%apn;#-C%f|zM9vYdB!c^?zolu zTIx{waG~Dx1T6m&mVXJ$za(P2ma*A7a4)zI+|Nku0mcwt#ez>fj*b{0oj`|vY#`g1=20$=Kvy#5M2MqT{|JPw`!zXiW%9VO># zz{%cl@>V!`4V-)sPW}c?R>H}f;A9b;yb?~9z{M0emjdTf;9LrvOM!DKa4rSTrNFrq z);HSY{sT4wJW+ln!XCGox_poP-sk-muoZBYBx@k;a4rR|rNFfmxHc57rNA8<+_AwO z8{DzM9UI&+;f@XN*x-&0?%3dt4SsmwhX;Om;D;T4$oiaL)7Nlr6@GsZzdwlIAH?qu z;@up@?>~;;e;mL6IDY?e{C?JXzQJ?1^| zIZt5)ewW}bh9=eME7 zv+jy>(JC}rMI5an?p$|u@>qANyTYa1PbphNr94V0n z)OIXtJL`EJSWO33(}C4=U^N|BO$Qd!!0P$2aBeJB4=hz*{bD@!DXd(b#`{@uHkXDR&&{FRoHN55&( zZ<_R*CjBP0g56$)t+)}~1XhEa!7bR3TWPbmfi>WEa0mD%Px>7QKlSgte;K?2UInj# z*TEaKLxa`8UdA?4;=GiGQAk`GrAehUsgx#_(xg)wFL!sAGnrqfS&U|ufTds=Sc$Bw zkm*Kn6Icyy2IrR3jhyZnIo-(VMou?!x{=e3oNnY4?YoiFkDMMfZ$nluviguUfUE&z z4Ipc8WaW&#F0#6mtcl2)h^&donux3^$QqBV@yHsFtntVikF2uhJQba$qSI7#nu<3hiReCK(i#?F6 z2a@$bvK~m5)U6h8MZ33wHQ;t|2ar7#BGvCH^B=&|;29uN{*jUhr=A0{`tZ--FW|56 z`aIGjb+SGeCM=2Tg|xlUY%eq`(gvuD7#47s!CfBi@^F`jyPR>|u{XKf^4x;9yJxS( zird8gtBR2ueXV4y@R=G#i+wv9vTsea zQn9k{&`M?8Fa1Ijt#lVpUP;U^>g`HoptH9t?6--fj{7}h%V*+pkaHk14ulDIWxYAI z5^Z@qX-h2bzp(L#k)|zValb&KBS_R3ie-pITgfjHZ%}sArJg$tTQp16f`jKes0BN< z;Dy`WSw%T-<^RW`^+3YY^nAzZgHO>1pP~;wMIU^MKKK-UaFDS`P_qF$@G>5mh~=9E z>Xij-r{9&*v{0Hx^xLF*F;?c$@1CYqSXr1XbI3kw+J^>xs+Or?eFo8$waiVSXZA?n zg3UZhzs$bSP%qpR>V@S*)(=D4l9-V6Yz-Imt<7hBOKRsoD z%fS#|Bu=FwP2~3pE%U+`6-QF_D&^Zq?WKnDJVAcP$WO}G9P%=@@U2*WTIKt1 z-;%z!^S7Mv^(6UxDa_NTN1e69`dy5O(itf~#@OuF-0=kU5l4NvRm-#1G25Acd5x&T zQ*rwkHGf9iIEmD4Xa1$N5wmVbOC50d%$fB%XSV3tnb&k1HE+k~7=;YeV8Cr~dJWOC zJI{PVj-M#o@vAtKIo|+?2MHh%B!L`|3-UldC;+h$+wpv!049P-U^2KE)PpHtDwqbQ zgBf5pIQI(D4q{6k#FjdUEp-rE>L9k%L2Rjm*ir|vr4C|C9mJM87}0*!8QcB%I{Wc; z_T%g9$Jg19ud|=g?B{6ub4IkEGot+*-)BF*&whNL{rEon@qPB=`|QW}*^lqDAKzy` zzR!OA=R=HW_cEg0%ZPR_Big-;X!ojC^at#~)8HBKEche+%AfEgp5wjD-u)T;1)Kgi z+Vl(HMeq*K{14a&Hi37+X7C<(A8Y|z!3W?&@DZ}gIU%y+b2n%Jd%#{GC(`Wa`T@WR zwD|R(f5jQ!4;TaNWDKyAF~Cm706Q52?8NqL!S-yy_H4oSY{B+y(Hxw*?F2611|Gov zVVKwq3s1wmHdxor$Wfh3&B$?!ejQ`H8^9`638z1RQQ*Or>EbbYKH^-~dkG0&d^|2Jo_z*#}H?69Dlb0VIMXkOOi- z9>@m;pb{^!3Jd|``8)wk1e3sIa51O{Q@~U(4NM0!z-%y|xrhZ|Ay@=11($)f#M0J* zd%=C+e((VJ8u&VR5PSnX1Re(8Vg&SU@E!17@ICMd_&()&lzp>5;Pr>#N2L82`~>_I z{2%xk_&N9m_$Bxi_%-WMAH!<=20RX)0KWxK(i=Vneh(l2fMt1_SIehKg2O4)NLt); zq&<(7{WGs>7Mf_$3*betp6|ZI_ud2>z+2#L@DIQl^vpu14@Tz?0yzXR9bf$Q(U z^>^U7lsJ%e;7aoC;2VRsUT-ANpFCvn)F#9?<5huujWb|-Pzoy1{xVp)&S4w`8P z&9sAN+Cekzpcy8zlbGjsfFL--$|6o@pda2xKfF(~0XuN87s3f#zzsa0jXtIQ%n7XY z7qEF7R{9u>{s=35l(upLW=kCLHTv$?bWVJi^WN#hUsG*p&Y2fzM;{S^`G|HTXOh20 z|NR>6Xt&OsA8lzjXL_H&!tbMXd`7!EM7ugfRAepZC9DJYg8RVz-~sS8@OAJY_y%|g zJPf{xr|~W3m%k0Z1HKEs2Oa_6r}aO2=2=*`1=ekWb?af>dRVs})~$zi>tWq`ShpV5 zt%r5%VcmLIw+q(20_$FZb+5p>S76;M%)B3mc^xqCIIKGf<77>K4;Uw2bO5&bVVbP+ zIK>S8aaeX7mTh9D{x~!B$C;@=&P@GrX6lbKQ-2)xZGwH9VBaR#w+Z%bf_tWw|*tZ_`t%rTdjTPPu`!>VA&9HAX?Ar|cHp9Nnux~T$+YI|Q z!@kY1Z!_%M3j4OgzOArtE9~0}``&?l@4~)!Vc)y3?_JpUE^ONc+jhaWU9fEzY}*Cf zPQ$hqnD#GNwi$MP4yz8rDs`4SYItrX!PS#oJ)!*BT6%^<^bADFfF00N(K8&PXCUed z=&9%#4l&EIg;|a*%yMjDmSYP~m09$Y%vzmf*6Jj)RwtRYI*B~*F!QmAnU77(d~9Oo zV-qtUo0$1H%*@AOW0BAL6~O-tWJOW#G$*-Vt|2)$=Bk+LI1%Dx~{_5~$o zj};}}N{P2pV&aFu0i3`E+`t12;KhUVfl63i1%`l?NWKc6>PB!ASPgClx8T#<%C+0T z8gM(f1F-U@(~hmRXlNa{7u*N#2M>U+fvABIP`7s9q?W7J@5$lKF@uW zn*RZ>KLkG_?Z@CJ;HTjKz|X+X!7sos!LPt$$od=bICuj57RZR^9j^TcYy_LYyI?bT z54;byfUV#I@FDn!=wgsoa|Rx1MEzt|ZQ_}isiBvtp_i$he^NWAX*nlpIVWj3C#k9M znCdV!^)fZ}GA&5rmmO-3?hso13{JG`I!~NM%%{tYGj|?mP4!|f=>()~YPd$umzeZg~u5{g(FDO6&hSW%+`fWfZW3@*JQq`8T7w z1+eXRNb(BuAA@NpVA>b3>j{|k1k8E?X1x&ZLy+)AMn)?cn{>|Uo8<2lOIM)MC*|MAg$+Jp4N`shmrdfGRxfBY2^4E+weJYj$6>`qttF2k!5S1{xp)G z#vVM%mA?}CnHyKcct448c_QO-lhJERr>hxU4M$jdaMjuAY9Uwi_--!W&Ecx2(^YwL zAy*5yny;>w)9${Y-4SyKjI?NXU(oKppxrTt1L*f@cV8&U*COLOa4)zI+z%cAUjttU z4}x!ihrq*NC)fpcg9fk%>;;X0-v^;5>7Xa+peN~|C+VOk>7Xa+peN~|C+VOk>43k- z;qP(ydmR2AguCkZDBx~etOnukakzW@tn!+aSK@q@CM6;xJ2?-8Eb|ebaRB~=W71y| zmD5-er2`wV0|#&d7jOd)Fo2g81wLRBfe3(jkN^@v6379$AP?k&0#HfaSAij5Jf9~3 zW*G3w+wjWU@XFip%G>bD+wjWU@XFip%G>bD+wjWU@XFip%G>bD+wjWU@XFip%G)Sa z8>I^3D;=PQ4p2h}sG$SY&;e@b05x=g8ahA?9iWB|P(uf(p#xa57A#o{maGL!)`BH# z!IHIL$y#8ftd(oQlC@yTTCij-Sh5x@Sqqk|1xwa~C2PTwwP49wuw*UxNhh#oXU~;B ziF{81v1)%{H2E}m20RP?h>!Fq@Eq@-htGfJ^)Gz>D-8G>HTnX05v=F?FY)|0!3OXa zcpLl!{1f~O{2TBKTUgB&tY!;VvjwZ!g4JxnYPMiCTdk#Iv2*L=7$Izy|EV0i3`E+`t12;KkiQidQOSsxdP3@##`UkzmhLC;#fIjIk z_FZOaSP8{gXx5nxo#3}({H7mQ^GF=dyqk*WnVH5lW5u7jKf;! z@Bhs>>>x6o(%(N*z)arz^sMrivupTEw1K}btG}nz-!}D^ednYfL_U5gL0d&{rmI=y zI4zqQUpGAn|L}$7@6S2S`j_%9{0|R4j`i&^|In#A5iXhpm)MmnpZWf~oS(^O^@-Ej zY8l$UIV{~ZuMipuC z`VaIU>OVqvaxQ@b?tKRL4&ZAZC*?iioVteRz_ndm+sU;r;AJb<|HXA|0ap%krI9ON zk}AK`rDFjhE}osnxCM^G-IahftN3rHRmxsc_L8!TlwB(2G%2Se_c;0f`+R>VBe9dA zvEON0oqXFGn>Eo6kC1XC&Iq-fy~uHr@9jZC@sxMba+;9xguWO%xs(xttfG_=o2=nv zry}1wi2U-sFZtfi(Dy#(dtwFTd#!x$p!!}b-;>psZR&gbLmD~3_atKS1^I0awbWyw z@8KD8*KVG^3+)`^uG8q|9i=xjB=Z|wY2_I$Ty5nU;uY`bIbU+u4lGXr+It<%ypCpG zMOVy({x>_JYT%@*8Hv10%^c&YcshJj?BOfqcapqLk-CSxBqI6&zd9CF+LJ4%vAb{6 z%e+nR@-}{XD?QA=kmh)oF-FuTUdw$ez@wDphtd~xvD{zsZCTMO+V5n!;}Vf(7kTdG z8*h^5o8c{b{^RlYBiX9GQ313g;<_Wn)sc~k!y*S}9piIWz{Z=e1n^7K%)gOq7E z(#o$7ZX>@>$Qg8_#E@F5f=Nol@d9=6@yPJcE0r=VF$Dk~CA2W}a~p*-r6{FDc1M zN^*#j;FWjDQRb8yxqCl%3vVMiVnS_rlMm@v*h-1soA_68Y1tJCE@zEIYrV zyeg@(vaGB$H7zMMCE1yilbv5skmYhZbCSwzIc~px%$5*X5s0@R(|qnZre7Zz+%{16 zo7eAM<@4Ab`u#>AV07H>uzP%d=bAN6zZR!e5OT0`vfZQSW6L<%QvZ-S@@V>jo$mgh-m8c$df;fyNjGD^O;;#<}y~D#5uC_DRgC3 zez=$vxEm!nQ<76fD=DHAt<0vc8dR5^o8ffoIac}SbWu%4MpkyF-|P2#gUk1>`lMh? zNnwRY_t+PrlCFv>OiwTHdvgp^`y^IZ--t*~^g2c-DU91!9mYH=v1B!p^l zxTA`C%nC`ImD0^S3R;n4+N`=w$m!|!>F&fn{f5u0btL$7zt=Rq!8f%6_4<)ER=rL( z%;Id2ZyKxf2lVjTTs}xJ77i#m z6$iW)2eh%g+W5V@IQpiS@ZI|2ajFs|lq>0lgHBhfddVp$E3K?3&(F!J2)|iwn5Lm+ zPg_2?cR^A?ZROSVfBS9akf9a7{aFS7er6i_Ltb<6?4kKXbB)BA)wPQ%uCD1t&@GdRnT*{QUf!Y^TeamYPbAqEIN{GHu#|g=@#y zIVp1N+67~-o!n2;{GLm_rY*j{dh}Eq|E7+vo)WN`-b+1xP3t%LT4U60vx*iK&s;Mq zcf`!W9-r4=H)zuA>9c1~8a&E0e4fEGN93X(C6Ce%?NYUoS5&=sPIu}btq|X{;!KW` zemc?*(5tE{m6W2OY^SrJAiuJzYJh&hWy*0;Jm`|_)aLXqPVyvp%;e%k`x}x%{lzB{wGsTrtJopnWv4=b0cKMS6W}?gHPILu41C22&C;vBv6x-~B^76~i z(hIg=g|u%=E7#K+ENyLNcc8QeVbj-PQxYeOM7TuJQqxkCU8b&RB$b(8K=tM*3Y}PX z?`Uz%N3LD^z}g|>vN*L-)AagTcUTM>zGiO8nBs-E)!f+kqUwzP{nMw{lTUzr9#yuJ zbF#&DCW!68n3RerA%ga@cDWYa&TW|83#iH*;teo7&F?M6JS2KeMCo@?zmO<>1`g;mz5WH$DE0b9BdX+zKgo(eAF-}U zG;#rwcGk`LCB1jFu4%SWYn7mlls3d$I?Lq>ey9v&w`z;e=$qZwFW04aO3vYpSj)5Ys1<~}r%AJV1}J#Fcbh z;ihJ_C8xG%!P<*#(DI^t=S{e7LY}7ij4KSo?#`|rFlL(APqPxzWK z^0t}9OG;+kJhEWexD1ca?M^A`Gk(ULOJ+^%JEkJj^j3(-SIt~gCv~OdQ;dPHSZ2=N zQ8jC&OU+v8+gZzI-Jc=liKOpjm38zv!Vv5Jt*poow+89KV_Jh)iG-|>CBdyzJyHcJ zVdc*E`n3Ynm?v`1GtA&exEo%p3WKb{lH`uns{Vb!6KGkF%cIS`NG@{HQe09NZO(R$C$TiH4_VY;;YM~FQ7FwwEx}6pFA$`Psq9l#A z;7SXMSc@bBM0r?*=(tIht{x68apV)*YR_fL?xp${Z6|PCDOaI`^8sQY< zpEx{Hu_M;qpJH^hxPE7H;trqH$!5HQ$;i#bqeB^@27hKYF08!! zv|y~buMW*{>MJBcG%j8%HI3?#;S^bx+Qc)pWcY+**R{AzYGe#D7z zk1f*V=6cON_N4eFZofU)q~$yO?kf_KY+pppTH`SXPO-}od_VXXr_19D*fdYDL+OZl zfDFkK9Sv0y?o_c(OBS)I^x3hpB!nBLBK$(S|6$UkBOJt-q5z96`e0S^8lDRazYK9m z=c(i-sV@C3X30O3yOAO`eJ6WSV(y18*8TJJF?>&*c&`sdx)Mve3YRlvdaJ6!4GXP> zTpE`v(qUg`nEhN1x6kmEn+DQ<*KL;%Kh=f{flT9Ayv^`b`TX`Itz1&thp5k9$FP5y z#zkl>R7;T+>ZVyQpJsaf4?E)hMP|V9 zuw*V)GGGt>NW0P=h*-%#1y6eXevjr2P9b}%URINPXD>2M3l}?Nk_)s5JuYTEto8Mi z9R;d4eYRjjm>PataHRG(k)`8i{_5IagVQ6mw_4R+ovNn~Sw|MGkJxlh#j(<#x1{MM_RThfdr_cN zQB3g$FPYe&8em#s&jRf^DT}4mm~xIAF>f%K}FAGVPSGHn>eoQm;+gVD%a|Va)7$DnZX0S99CK;xQ$2*9oRP?@j%l9EAQoi)GMn z(&d91v570IDoY7^M4#QOs}Ci^t(Xj|I%ROF*Z;_r)gwo)p7Ka+7Rs$yR=Rl7#LEZK z;hj*K=!`gD<#g(|u?XlDCKnWlF$`-rG{SVc;BN{6guJt9tq05mN8Z5NOV(Z_L+J_Y zgxpZtF?yV)YkqgId8ANWD;y;hrvmKLMuUT9V$Hv>c3NQbWW&sJ*F7lIi0A*bY-WoU&se%t-E)!Z&qx5uJYdAmflC% zh)%vjIZ7U&<1En85S_7nVHr#-4<;3lf`U1nURjqlp?21_r5D{}R9zzB7>fV-QLWS!hU`7`ot%dUR+bRu$0m&IaO)rhf4dTDsAUmNN7p{xDW)ZM)=M4uRfbtvHn6luiP!7B+vRon(#)|_gZ0Wg zNJG+bw6mVd!bW31VH=wxLh$1#=8MubYC$oYFDP%INR2E^??lE&+tjoA@T`eEtACeg zl|_cRk*7w3N9y?wum2i({xvTuM>!~eU%XoKx?09ZT9)6N=QW>;=J=dRfA9$z@wCvjNSSH1(6HZt7nUkD5#ts)wPkbe8K*{v z^<&0d%<$CfAA2{Q^<~-*Rp)Wl^eI!Ohu>dzdkwj&rz=^Ot6V<}jhL-;>7%XmkJ&dZ zQg*$6JGC#JE_iqXHubuCwm!25CTY7ry?rrSGj;2d5ZKZ$8K5I({xk?A+Aswih zgP5Y9r3qK(xQzDn;JR$5WBKaN$|=9BEU*P^b!wQO3*7TKiK4*G3 zA`{Vr%oSLY?qCmhv;^WCSm~VqsY)PRdw^Qx70;l+CbJ(BtBiWp$u4oHwO;Xw_7Ab9 zbIpMMw?-Ou!bm%r$K&CS~?()Tpe)91=JUo4XYQF`x^3dZW zPnS26T}rZ*jq=(hzt;l^wp-`|=k~PCm}d(FD&tLk{tR2sxo)3!i=G%5&Gj2@u*b(I z`1Q3myXNsF2WzxEcS3?Y_=&b5+2_&hwvM~~3Gp7SKKPs`9^EKu6sJ~&ICVzprfd3k z)-H+8taRayb^jJ--lOTl5-a@!PGFPLCZfyxt#&ITH^`6_)n{6CENM$p9*7#E6u^j_ z0*_DEcE4})d6xT3$0Ogj2Yi=%eD?Qt>$=~4wa>Kw@@ICFfuzl8)5d6(PN&D`b8X-5 z^7%YYXYk*_m$*QZbI%^94>_bAOUvwQ*^dgFn$zl1t4^0qdVej$Fgb_R=e~r&=~GXV z^IVTl(+`Vj+N1qiR}XdtKh<(1Hx@4h7wy4Fp&gZr(k3x3<%K@4w9`2qZ+UU_ZqcRO z%}m|$XsT$^O8tNlf+n5{D;XjqEm5QfIU~^lG5=cF1dcEmSZND_e^VB3r`L2lg1^^f z$mL~397wclZ0v8qrAiFOx_c|@+7L6Y zFDuwP^hDwuL!yzDDr?roWyR=*+r&$Wj7}>|oe>TrF3T3AepEhl@Tvt5_AATn?{x>J zc)eQBvgy?$=9Kp^jcF9BWP~SYXx7r2>fZf~qOrx}W|+w-{RX7>@cWGT0mT`a<>Ly1 zZ;R0{NX$;TG-Je|lz2~JdTM5XGFsAohSY0S8TWCLgp|E=x>NsrMt7#8(Y7n^B| zRi5^7zhPN{9$vd0Jr##FnV#R%u(=!;Gu;-}rQvaB^y%H(C5mbc>+_Smx{}nq-fqq1 zNJn{5?I!g!T#i`%V(T;`w|9DuH8DFlM$OT3pNQz0lR0Db{BA@ajiY6L6Ybj;!5Ps9 z{!Ta^*Hs1OGWnRAW;wZ`NWY4eS(YRvS!u6;$-P*O;Hd!?m$ohjyklFY$HgZjlX@e_OX_&!7X zhcrdmg*OjbjMOHpb~GAqVhEmIPAKMIAjS!DL^{)ykh3pSXf`QvRb@Wh2& zy~JuvW0u$7b5dnReMKK8&h$Rz_4A4crOMzmbx?6(X)j4kD>Di+^WE{P&oTOl zj$Z%ktar?iBfC#=lA(qifz*_EGuaw)q|9D^!G-QKWZua0j5h}PS6_NQeWcb@>7=EjBvESW~l=Pbu#s z^y*zPrMz+yESx2jngR+dsJ>-`cApG<7)Yv zmsxmCeoZEf%c#l?Q&40qM#kRsh_!LkqZU*o%*TIFl8FhG%8U4KMAKs8uraYUhDGHS zq2O9_vP5^X>#wh_yl@MI@c|4vO{%rRE-0_ulW3y_MBR=Ds^-fbyUT9RkXcM zbrdRo8FtUAt;XuIwe@v?Q5b|Vv2sPTWo**sK%5M)RS9SM{ zy@R5uZ$zGPXo|Fq66VK6lQo>!74j`qI|zrAWBbjhHubJPMT~OiFz;nfnypONwG*bV z7-Aa1=XIsvG!*QctrqdrS2JI3O^5wCq-hzc74=EEZIO}TnS5PH-|ncolPU)pj*LE` z#a+5TqE zp?R3e9zAo0$$F{&a3N3e7cUo$``lB71AFAp&(0->K0w(l z%UZo3c7wW?3f(FV*w&&MiOjk94b?eBUUYtgDK75cjGg4ypE~JAbRyD5tTLZbf@#bU zvF6CT`D&16XxrsOu+T8|MW!)cKJW*v*YWJPbhoTmiq*P2Ir=2D7x_MN@*S;KaX@O$ zsqgb)JJ@Lyr}<)1KYvM5KP9y!CUyTWB=r!f>AKh|>j@1{OX~Yd7V)&K)V+_88aMn* zowl3O=c~C}SKMDY!BFl#$}@WCVympX4?QRCE#u6~x#V$U1P8r6oGTF^slRw4yzW)86RiHd?4?6IrUvZ!s=5{Ygs-bkJ~kx$mbfSdw( zMll(wSmzFAmS@+I1Lcw&n9&`kGRYjaKvoONbFC4_-z-MRID~(7TD_`!D|P?tB7?9z z9Y2H7ekaC7VmHK{V`fdnD659fIQ@5q-&`nmZ_@#T<(~n+=hbLq4?gt^x5sDL4g2e- z3>Par-T!*SilU4rx=N1Jz~7a08(GAmn6LLi7hU9tu17dq4%H%%% z<7ENU{j%x{R3mx*?;$Zh-sN!{KEw6mbE>6L?zp!pcQ-9fl~0i^Y$L>1wJd@*Oj(4N z`L>JR%g4S!Wht~rcve0qp-BsTYnDN3@tF+CfpS`@8xKkQAz$sT$h|K863xSRG+6!vj&?671OJvcWMco z=WU;oo@w$nY`e1i6lnVV!ohPD`{`TRfIeLE`@r1^rBLF4H^67AVrE;gV?x3%$QC* zF*P^{Ete>qx?-rzDA%m0uU}Ck?}o0JT2U=NZFNQH)flpTOk#QB*kwb8EE~(4G0TT6 z89gd6C@^Yt=tVSR-WcfO&$~wi$Ej4Y)(l}Kjas!CS zJ&2CW8AXI*l#wA>xb=&%&pK;Z1_26GRG>>0s4!e;xK=cEg;IU(iuw@?(=+B)hXxf| zuff^9@}h%^jOtlc)$=m?EEpN7sv7Z-YqUW-do!3D+$&mVC3*S9)`%`Z>d2RoFx8L!^!2 zv)}v8Xqc_2EDg~Kd(bgk5jFMPDW$ce0rB#OG zmC?ZxBhOBwC9!kejh6m`e3L87rYQMrgpSIpr=*z%5eH^o3W=`}ap+N66p1(>)Z4>XUh*e+WT~!QHLlmo5V7w}=^kdcf_gy8eRDz6;#-tu-msEOw zks@+0JwLLs4nS*0f5W;Nc}k!oc6~=^_l=5KvGFRhzQa{JtCC=Dz%#|}bokQ?GYTrw zh7TPwF?Zm?v6WLL_-lG5I^1?|ue^->!lde&(NnT2t}y!a>t}lXy2INeAu~OtSBlSH zSX)?d(SY8CMFFqhZZp#2vw9}6H#!B~qXR_VpFw={=)rZs7Ngvl;b)K;60M~$u z1W}dI^8!>=H`gAG!FJWm{v6=~>pVm=Aw4?vjW>wC#Oto5y+?g7%V8kQ;F6_0%yURT z8yXRytLR6y$RkW*OjGGqvu0g6FeNv+U|@3Z>II{!{if+J7&da`@IoK%cy?8FZE0z( zS_|>-;a7~Po--)7D&J?8*5&6;7@lVuEb$mIVBiST7{qG&!6ikN!$t-xEf0~|UG1lM zxm2<85F;WXSEmMLxi*h@{W5#!omM<&6dk>3jLgWy;iFAiQJMT<)2ygWN_JYuVdaI# zlfw_tLy4NVrNFUSSWPz4ZaZy2>|Z;*P)&SHAwR>sQ?k1=Jy&JhZ^m#IY!U`~LQaJ{Ti9*=7^Q>{l)CEzZlIE$J``U4_zNlG+0|3}2}ji^t9e@suK+ zTS9V|B`FqzSR-Z|cF7>TGp~O|`LK|eMz!^xYE&&7tMwF>1)J`utJad#TV-&IatejZ zR$gKg7)2`&<0WMiI;Z0qU3>Q3ct%sAsp1*QGl+{WjHZU4jAx|0sIJfbOhvb>)Hfne zIHWw+VMM}2549mZgy&l&pm#pCbe(I}-Tj7V#mn?+@2Rz2HRUzj>Agc!s^OVb-R2AOF5-UXlhPIi7Dt^B+_$%#FCu_Uyj^H38z_aNgZ7Do^z`33s zS+K%ZfXM1{d9&Fx9p7f1%0!>3ExwWk=B2FWzH+hV_f7Qp^>5n(<|u!H?MfDwv$8yr z|6jE6u0X&Qd_kKOmP0yPtv0y9D`RU*9$`R>#VsvMX{KxXeooR6jali!BkTSKe(52a z9(~SUe$hm9nTjscDepkbmdWH%%+wJRN0vd8Wp-(d-0)!FO#yRF&YTjD-)4X6=Qf+) zGsow%tz2pM`eu-3`{nQLq|NvG?6J+@d~6&Q>1etZ5fQIcnS|IF>GcXTt?o$mOdDf5z}RVt*!Phs z3h64}e)FpqWta#vq%d=nwVp^kgiRM*m<{sfj>+dL4>RZcWIe?BJ)#t~4XCr+v8?%z zrR)q1zg$W7_&IoDO%p^^8e;TBWMHo3zsYb81;z?eEBOy8%z&qs^JbXmqU>3Up=rex zYfozf^w;q}u&hb65V5SGXO6taZf~&^Dsm872=-8M#jx^Pdmtep-fs+Wc{Qz1 zWq$Q=!!y9`^^`a>dKYFSC23C&=vy$*<#7hQ9*@iI?c1Ze?Avay*KGunM&$HzIg-3s zJ0ux^BvnX~ApR)A8SmG15-I}*dEhv-h~MP#70axT(K{1P(5dR05j z(1-0{mYT^F-(Jpfunuxqu4wjesf6H@Pp-TtvvywXlRwQZ?KNb`PYENa?a1Q{^OrYV zR&;S~&ea*E=_S?VEBUa$g?#9Q;%<4eij`>jL>I=J29K7ja8V4{;b!ZlfPahe@y8rQV3=}Zo1PnJ~B++MKq<# zLq2*$Bi+@6JlH05jL9ulN83#AuT^ff^0&+5H6rZn`n0xwN{OE3Oe@iSxJAZ1ROw1~ z>sdt%Evn%L#Q+)DWt)0RY}P0-q1T+DH?FL?d7e{v;Vi349XdRXF;r?x8q~e*e;^pcq3y-xAw+e zcl<2ODR%P1Qf4lX|2FD-TboM@GfTm(PPt?uVb+Km?OblVtDN@Z`S?B za?@{rW{#Sto%4*1LA1wh)5dFqnPKr6?qG{%7p(-_HG^p+kHZywH~50h?J+qDCMkH_ zp!AwA*yNDa$a##(<}kt>(>cwT$Sfb7 z>+yQLeG7Z^&m3GHFsi*~$)G-kskwQE$LGl#U7k@jr@VL7pv1(Aky#@aRUo_6##3lL z-{Wyzs^_-_O&?YO}2 zc0s3O0%TUOYjvK8+QfU5G|bS#%nv!`Q{?G|Jl{c{Y-_c-v>B82HDXSPghm?}Mn-3Z z|548&myIXTm{FV#gS5YkUTDe%cisBbRb@JhM<%7%90O+FIm2p9t0TK&+4)P`f&U?m zaXtc{@qhWO_FNJTaK?>SGKr4l`~>WDY!48rE@g<6QgpS+0yf2-mtfV8UeJL#4duo@ zMV>xW#WVv3_ zUDBZP();BmzG^o;3t4ci|Ep(7`9-DI22a{d_hOIV{+8Oe)3d5rdmhFznz9EgsxBU! z_N>@sO#Ij((vs#by~T*tv2J z70}9EwZO0*rOqOSi|UcWDW++VT~R%>@@nlv$)(dNB{5kB{}`4-k&tqUMR^SgdWuz5`G+~L+-Knm zono|bA9?)@V=$*g5^kq}*H6EFwG@zjWjfRSbr{)BWyB-GDC{SP0-4>eI?Gx|%Bkv2 zne;rXf6mD%i(2m|4bv(odxHLfVb^U}Nw!xp3DL=phcZVR%g$e`G_C5-_Bm1%M#hlJ zQqr46DAHLHWw;}fgzHr6t=iuWH{VOinO6*chX3)()fF|>mF#=8yy4IpI1x$kPfj4c z5(KNme1+P9>Qp;WwYX9~Uyau?)QX@Ml;@W#OQ{T`6%JDq?lB88l_`o@W2()ZanD4V zd!KaojLEl7aN@NrU=5IGRPDI>9nyez)Q_tj1xh8ne-l2GcE@^UE9k63X3A<2){sFQ-G3P7I>YBPw9j!rjU9m@qtb6& zsg6P#IwEOczg}wOGQ@8T_xgO^;fDV&iK*V}uT^D!x4hJunAJ-*w#f*l#r8Cs9T>-H zgx0Fq{EDap9VTd*@B#lcJY{ZeNr^qSB16|7xagXT@}a=jLt{Z)um?3q{zX?`H1XQ; zxi*fm$h+v;iNzdW!9NbNC>kvXS@6y%7D?5)2dpt zMlXqs15+wW-AR3WHd4Db#jqcsnE){fY^XWboQZ0^uapHU?AD>8f?UxclCjH!oTeW;*Ykf2g*3$|TWPF0mz8%0G7@eRvp zrPiU79Nd_1b&-ni(wJR%I8|8{tY(|mYvzdTX1mX$Z)S4Ec7h#Dy`~aqUzFw;nGsdn2PsRxSNxSqf7j$BaRylii@U<@IS#)=7 zOL(O5r2dAC#^5e9K$gvmoc|-NK|$ybMr*wSN%jxzhJUVU+JAR#=Ddli9#%a15__ll z9%S2cz^||KCIyUOoVIA$0%nN}Gr503aEw1d9c7-m$(}$RnQ>D?-cvL#lV>%X=+54+ zJp8u(oRzAj>!o?M*M8-pxVS{&NYDQ|D(CDs{9GB8d&GxQ{$Z7mdq$8WIZUwynTw)-aikE-6Px~;c}2YS9ZiB9+^n;;w2)3Hg~1XjEI zfpbh%#JCyf8bga$j9vaE@`Wv9q%(;Oz|JL@#chn0>WRXRPnF;6GECRw61wpkDsSk@Y*U#mMTwho#5VgQrBm4}aKYs7r;OF8~t3KG)3mIwgdEG{kVoYYIpo1+< z#S~22vkO$W`=aPhEB2bAJpWR>jF+<`F(Rv93!i;~a~9DWDvFH4Oz{L1J3F_(NIgc} z#Lh!|8J30Oq#eHxRbkh|5xcLvv(HIXwPyPn8j-oSu=CM5Ke5f7WwPBT{ljUc2nj8y zP%uOiDfE}rCUh$rZ26&)YEmaPhBUB6F_~P?p#kYFI?JJ77NxE#cc<`1HzkgZbdYNW z?MF^P_JqzGt*8iDg{am4ulqtZhKYnk2Ykgdkt6N?0?tN;rK}6lZ%044JL1Qj|BM56 z&^B?#foHBS-uC2E9Hk&2!=lZ=~hJ}Yh{zWLcB9xGn2qHx3@8Sy-;5upgxp+vJx_Oiw~lusv} zfJ>qv7g&ed7sT95@9$G{%s%I>!#{fcGf@q-d7hXTvSar3Cq!2CretN#K_YQhy39pb z=?$F5Dx)?B&Y=~3CDv$_ojD8nzBOm@EWh_BWtFI`?CwyzTs7-ggW{p&lFWqDZ)$Ic7$vl$JAXX%1(T!_Doj;u(slvyIl zF8xs4^{Q-Ex|G>UZ-~1(CjG~e^v^=~s|c>rDJvU0>(rK~(&^<@`d;;%(7Ad<1!gOL zvCl2IoTuR*sU_ zYNKY=^z`BBb5~znmY<><{MGf-dZ@Qq~z9{ z3I_}s1tzI}Vra>-45R^=ASDLmR$zNC7thR#O^lH!O@tNk$a+!^W>-)Eg^ zJa0YQ%4)F{$*nu{fRge;X2O-&zckFOTr8a5`(xD@!Ub4k8jG(sjXxVE@4A#l#i7te zs4Px>^S`&ipE}l{8A?Og}^kUvhHIvQa&&=GU<^yP7>?g%z3c)pb47kt+4f_lV)h9>4*y zbJi@C2nQ^>nX~2;Ug=2&NUrW)S@C4Z@!b7IP1DgjMGLoIB!RvL!7z(5E>OCu_*Gyeh)H}C-wpM+mkujhw1sOdV zJp!3&SvfwVpU2-jJs~qWBZC2wr+3wW-X)`R^C}Y(#`P;5%Q9zcuV@*%?mCxLaMmPs zn#@vP;-Sdw!Oqc=IN@k==u=+sklk;X9*r4K7_qviw#LPbVlZDmYPUIp_c>*6l~^vd z8&JDhap0MH;Xv2ay;H(+$YBGh6+>-$DucK@_U9ju|O#9G7lqpUP?wq0b5mKIq$TqS99 z4WHjNGr{wdpLh~xaDE#Hk9do|?=byYoC5dVd>?^zZMWN-5d2*0k>GU)`*M#*yT%o4 z_5{!bN5B2bBP%RK|FVX*3j@>=PSv`?0#t}?i0qx;qxQ+FKYOBv|9RC^tQCwe(LSi( z&<;c_!8=Nul3xb-q1A9{I}Jr+x|KhO<-zuU7|kGdaip*(v?GnDZ&P+ga^sXGK7UK) zCSIr`CbzK9+{r*Uc>Rw_R@&R*8vj}`#oA{PSx(Ah;(B7~b9t7UnUAgm>Sks>W)bog z!h_7@Ua9`gtTUd>YI55v2?Ya(_nY;OEJdE`^V)v;il6xqe|%nF?WC+awo^CN#ZyM) zyrXRktw&xbWwr7be%?#jocc4Eb{l7y)aje>lV#Q5(9mdK#aU&!U?ei6W^UvMYorcs zGBdA^#>PDexicJk=byK_hN*b_u$x)CGu`W-yLy=X)V&tCVBado`v zW5=+e?1`$Sqx17eFRgk)${71e%hKxV>dZ|4=uvfb{!DZ9D3L!EC9-aux@l8&BjoQu zpS-HEAND0QNVaBatl6lLZzC+!9x}|H69&v*qE6W<9yC~D)RMPpJe8U<=kj04`=1o% z^vZfl-U(NfEjjamzJz>WxQc~HW?_SpaP|zgc8WQ`HSz$O?}zHI+V(BJLD+-@*Jux@ zEJ(yz2wSXuRxV*)OEF?Ih-4aWN9=_Bf#1stB>t)`IA=dUl#djJwtD6PTM>B>T{~|{ zA{m9JyYyF>l}Au@u2gK6=PB9QB}9+Xa>II5W-nYlQ9V*P#WIZ;;-j6^==XB=cDHJz zc;d?8O`*!u>8kOvAil`SR#mqJWAK3fr89VF*dj&q5}QN;`||WW z@$(e1RX-G7K^5(%&MxUM2$QD{o?b0oRzVUOU}+~VqnM*dmJaA&Hd3-2ec63e*ai?V zMkL#u1FxR1T)r3qtQxZwB7s^9&{?+;>k}%ZD!AfCWD;K0BJJ$os+~>zf8Bj~fFo6% ze_rLRs-%+cq?1l3=}tPGr0*-8q&uCy?{m(co*8Ba#u)}=E?{6#4naY8QCL*K#S>R> z1w=rU1#cWL)&q4}QCU|+P&`M$bHz!1pYN-xbkfr^1MKgg-%p3?s+X$wzVG|q`@Zk} zFqY@tD=A;64RoZdy)}sw%~UpA-C20kV7joi@ZkkjQDX&(;!|`bGjw4Gs01eln=sZ0 zOz&w52;uaP@6==x1Nr0l;4Gu=pu~AeGHth9b`>SadgCRFujwKhy&#GvcTb{gP`I0z zu)BqU?xyZalVn>@AthaVq@xGL`l#)|Wu3EeQMT9;wf&>uj=+3bM*HhxHmfYgXW%Ho zK&$^OH~|~iz^z1asvc4$cK4HY8>-_q^B}WljUXu2^+=TK>`5eZI!w7_JmrLcLm zyJ&&E3)zoGx3`m4&q3Lbh|CLM>_SM!O}|g@Aiy_864`wtJk!Oq{Uam&aNyu;9(MRD zVA>51vLChxKI^DWoitV@-KVxjYWOE(Bzw*KwRAa{rSE@aB^V#65lFHxO^u+&+y5t* z3$$6A|J0ciB^YTwaH{7iwYbB>PDdeaezdqLAYhfn9Zp<(&OP^nz2791Nu<63f z55wp0$lhJ;tuT?i+q`pr^OCw7+7UfvdcgINMP#mbN1CGK3t|EPFpTk=)b-@+c?{jPM%v*0jTuAwC*_aC$+* zM7;hz6cZ;HNN9OaZPQfbpemJ`&Qa=oP-jCh4fw*!Igm|R=%QyOo7M8K>H4pltR|2o z(PR@Ii=^&S<d2csMEO;BO?IIV>KFwDx$utA#MLq9BX*?vcjYO{rbkIo> zI{u2F$WLiOk=N~T)%P?7WH^=tBCg9!E*#NXj7U2#y54s=%}C zMoWqTTJ<$-QU6=~b2b-ZjT+g?OG$^}=B02sGS7BciGR zPA!s`AiucLm+M(n>7009Or|-$?pASdI*~lRZh(_7z6)@c10c0>^SAkGlO2j6M~SZB zdNa3ww{kfUs!>Jy%p6_kzEq|GvRS{0RS9jUz&6{SAqjdTT-EEn_F8m?6mzcy0G0SEN^Od}**s9zZZju1_9P!$cr zlhok7Xj4+4Pry}gUVt}(rcYKGzv4te%UZAZ@?N98Q}mi}uJ=_9J7xb<)Bxu(&Zx6Q z*|0`8%k&OtwGFtYY|bKa7o{uz<=eVVC-^dNd!^}}i|hO4q1$kvlkKV9=@Lt^>Oy&vN(9!U9=XUnYatPi&glJ zVKDzVuoMH9a(rxhP8u7&FP~ZDM<9nbC*OSv;lFIOPOS$}PpotT8lFLs*eOI%>Z?-S z@lMh>81+et&5&MYACMiv4Lw`W=NgEP_TEX(uPV}CKul=a;-W|oR#h!+=gNo=G$w-4 z`v`3`f!G4w{fyottc_vOB5OG~X<$u#=2`A6l;sZ3svey5J+P<(tM~CNe;lh^Z=&%0 zzr`M`Sb@*jEp{u^I}Z8&XheZcb4`^BunOzT0;F=>of4~na`kBd_i@d>T1uLIva%rp zet~+V<*rAM-^P2m+A44#q$I)6sOs=E%dZ-A%KZW`V#HysWS~Yz(R~C8xk1@AT|28g zd@Y=2jf4AV*B|NwbFv`#JEOt4*P^H2t?l3PkstH?#x+9aHAlrdX$}c@U$+2MF!QPm z$N8@q6WRLuEM+)W#{+%R#^V{o_joT<-9MFIs`j;)`bzs%QaFZERongRLo229u3GvG z&wZqFXM`=%kpf#tBWBcjHh7!Hh{|MW#%dfUF=y6O$S*zVqIKM3@gM}(yPFfZ8)?YD z`Z996f#!SY3tWD4vh;G+*oe&^tg%v}H)~DMZyOmyZ&lqS^;XqQ{+jFd)l%xMTKWu+ z(OIp>{26~&)dteL|DfW4=Upc(K0^6a8QBfV5`G`Yxt2i-GwFx?S4E8$X1wUTlYK*>#fh#Mu0#$f5?DAxF23;Vi5G39Ty*hL%xX<~;= zI8h}JVaA>69)wK=yGBKSQ@zz8Ps&PFPB9545$AL&<`X9@R-CD#$Zt(?o8SHd3#u0JI#E zY}KM-DR0pKMt_}4%KsZj(?bNIm(351t;^;=C)wF|HQuXFqBByoy3yv>wKi|&ZBC%g zKD6nhyo)r^D7$mXaBy}+Emv)rT)+JUj<%Y6oZ5Zj&DVi@&e1Jb41*zT9-re)UvX9b zdmOZWy5`||1UR(z0LM2~I9LPVU{r2+3~)dcE7i?WYdh(4&S*jAmFeNcpQx_FAMwp^ z_^f=qfvC~v%+IMUpr-Glg~xddpN2orYcUJj!D5`JV>eljUE?b3zDq|gwo&v*lpS{a zsc{RAnrcRi-$jdnqfYA)c#8g2Ff1VnTw@sFHtoN`EO57k4;F?s5CVpQLIc_s<23o?(^13?d{V1LB4xv z@SyMi$+7)8*2>3o2w9DespCoe!3vy~=rSKqLhP@wY9f4cJdMs_MDzIS_Z*W?Vz_`w z7h$ria2+zw^poEeE1#V!*kl(^%z^Pzqz`O8+KM35l6b2r9Y}6G-d=p51MReKaXnk*_CYK5jB9hzpcQ#FI?eKEoV7uv-1v+HdWm1%u znQUe_s7OPSBXiN#iSy^Wo$MRTA^kgjc!XfoU;&Ij(qL3+DXrfw;K@ZXCM7FX9SQYV z9(Bcjd+U)bNW%y76LW{O`MiHA4>tLNAB@kb>k;Sw^@G;Y%H#r($~34|5zXPFK)na` zqo`sis=QVsNCMkVAw!rwq2YafXymUnn?6+AlmCXOz)@3?#*oi%i%VjUGmieufeq9$ z-zc7J9j?!JLp}9`j3dAp2xt$_Mg=Gc9`yKWZ6+rRKOo9fxX$opzzNDk@>A(d=9Gz( zy(`f}ZgV*Cddy_>4*MXx8tc?fbXA{GJmCTca@7U|XJgucMmep4_Hi7$j!S?CYdeA5 zIk2J2XLKQJ3#KBTtLu!9xWx+Xo~B9mxyR)S zN&0?o4*6EGmisQ4z2HW{Xt!-~o387H1AbO=8V6menKq0(_LiRx?whHsWG~q$9kw%X z1o932h3f<(+Jx_!8@-~rQw6t`1m)b+n)UjM!gf4v{a1%OViTE9ZjW>$kotk;3p0X4 zhDL==%(2I3>zXZ+P+@P9Wu$*=oloB;JFu$rd=9V=jV~~ay56Qt98jzt?Lb8dmMw}r zvo8Yz*68&nyxzN2K)m*ja2FQo1Irhsi-7!wUPyR<%E2+Z0FJ}}&O)jToPU`BI4V_x zjj5mfm)+p6%W*);V0CjKg0@0mbgK6;rc@9@{LV%ogxTdUZrqd=f!1=UWIFM*980ehM%Lr? z0%`YapjKBj0%ag%k8aXI-SkNU_5J}B)PY~A_2NtWb|NH`2#N5T|S(&B4r{<@o^Wj!C8wu-%o7UgxSi=oC>wRw)Bx+K2bZ+Up z!0fPHDcgjrtrkpFhg^{7hxy6v2PgN9I`c2sadtdmD1gDE-6%kjr8@OUGJSb?eIyx> zB#=myL%$v}Ux>{*|g zCVqd%Jg5Fz`&h@n(J0BG!lwY&L}5hO0JxkqzgJVk%$as9zEtLk%Dqi;;fT5V-mrh5 z=NB|Sg|qf|G)^ved;zrWZ&Z-CNXjQqw_kzUXwU%4;~KT`bKZkYm_G%S;1|~5Xw~h7 z;Q*P5IT)oJ@;kR)3XY+KaZMiJ`xNbhYE5Y2_Zl9)qEXbp3U{G}D4lT;^I{BEwgu2r ztfiHW!j0SwiIW7jBmGOrfrnYqviRD;rI|xmBw+A_v&J7}xzQTVrR83?hjnaDGaDyy zFN|C;n_vU`#~IiOY_Li19x4!AUj)1_a(EvQK5BUFN#z#d z^HV36CWOziucLQXVePN<-^;(I{Zeg9{Tk91Ch#GSec;Be@8Trb6^SjFIQS8en{pLS z*+Dp-y4BN3WFS82!!!Z@y!Fx?_X3%iyRP0_A&9cs?2x&NYMoJ*O_iE}lRCJOwsv*+ z`YY`XL&FJT4zTgVPR2eH8y-#AE7Y+hxB%~8wb^oRf#d~ns*Lvc1bdPR_{GAW#8oi# zV%OXXZY)4jqZT2Z=2@?KFf=w!I-n0;Nqpmk1&U6QhaGl$YVU9ubP<%Xeq`^&U`Tg8Ffu$q8|t9cJi9v+7#R&_c274qPw&nIM@Isg-LuU{mS#fzxxm!& z@>C$#ADUSrTJFZ>9}!cb&uR#(FxP=WROvX!E~}Cqw~3Y3W*lhx6N}x-qv61sST03D zTJ%^xX2zOQ^DiK}9^LF09-|S{XpF{f^6*ksXSHJUfvu361TbJQYm2TAAPsX@D%u$^ z3zgzF9H&}8va5g7!A!$==RYxShXfBQ`W^4@nHi{U>kV~=9FpDEvSBFRdrq!n-Aw%L z4q26HC>nuIg6`Gutm-n=^O;Jt1DTA@6KZfEZKrkydS-IpSiP1nNo-2j=B7sbL03id zC-VG!AoejjG4*5ifwNOnS4#Dnk+6s)1A(xkFO|YFY?hqn`_%*za!ypt4>EJxmXYz@ zPzK{X8(b*QO@#8haR@XpGE9?*HR`W<6D1K?49Bc5$vBUlB^=cUC1sl(Ov-i;wXc0k zk*)!QXQ{BVcUPbQi5nn~U4w}VNr*-{UigzRhSpRMIYc4zHdI__iKDd5npENXfJAuC zYz-ORTaIFWImDf^(SASaeICMkE=y>a^<+I#xFf=aw$8>t@#GATI$|Do*2DixnUq4A86oL zY2@%kUACvm{*oDI%$TggF{8j@!&{Q07mXjO&9*dWYiqO3Em;f>BMDnD0iGIl9`|J2 zt0xK>hu;C0gBS8&CyA2Vtwtgrv8gIY`8Gn*wE2Ca@E$vP%Ji- zP_L0pq%ISUX6ouPQaHQVnO*YvraQCC-CfJs&gp9Ja&~BU=KMf+eY7hO=!({Z8yjKO z&B0Jhb#+T9)C`g!a19UnNAOXh^-N9}mPEUeMu(rxOBu$<(cG|~qk`Vx(Ob#;A>iM~2O(+T{oKPC0_T6F4}#uO(&0GHPXWDQU49jQ~PXJlmW>Hxye>fu?2P&~8PmbYY7on!zCRXf zsP@>;!fBNC%!M=CSLkZj@_2mginZt}(6)I^x=L$i8(=&QUG4Urg04=krmNT6s%**a z6OCt}tDnb;Y8cwOCS6^?2&Dke>FMe*(AD3oXLGZM?GCf~xJeCp2X>IRslLJUJ}H%ILzMx@5)Q6@l}q$ zgFTyE$JWnU~a}WSo~!L?(UZ!B@!jfVPOCqmnS*8R2aKW?tgOI|IA~FvIrF3ZRb8$rA=i|ob;fn$W%v6I))DJW_kXvMQ;9bH-- zpt8mt{0)vnUdIkzN0;Cz!m&1_DZLKBL9{a=tga)a)q$B~oZ@frQQ)mC@m5l>bkZF4 z;EgbUgO34!gJ!E$NI~Cv4>*QsVFO!l_!RI>Izs4KPRiv>!j{f0c)${WYHX1bkIha^ z&5?)ex-oAxG`a!{)Ya8sF$uE&{+V1&BAA<<%>@%RxtWE^pwl1q`QmY(FY0#&D>1|d zdtr;=NklDUbbQd*t#AXRx~uR+-|5X*D=i+2(R!ZbX!UyU@jl&*NS%PK!m?oX<{$T> zj$mO68wTu+Y8{{uoCjQyqsUp2J6u}ea7hZmZm*>D&(!-N0E>b}vbDOI5F2P1oUR+} zxQ-eL+MH5rPouZeXLp%pt2@*Y8t$l1CL`WDYOxyF$^mMu1KvR*ytjCb;+t(w z>wq`v#lIUD?(sHx8w8jAA=&EvG)kJhHyor<37~(ys28)vSCXx#7HH(jdceAp%95mx zjMj#FZV)l%mU|k~^%Xc6$<$<(%~pF=RduMQ+U>U4QrM}XT9-cU^}fv_25TBJ;mF|q z6@faZB$|wHh7WqG0;1@WZk3%3o$WV^IFqclH;P4!lTA0UaljNHojzfm>nlp-9#t+N ziGap{ry6^(alFyx6StUMwl*7Z+#4QfOpG=K!{J~c9KJu4X{>1q%NJOX>eM8g#{=o6 zcyHZI$ma_NeZCMd;Q@wg&?=}Z@Cz^0@(~3d&heP`-B{&)%4;(2N5JJhRaV=t3BPqX zg#1sU6J7>kKt6)`NsxmoYOtS5nkmAbDe1=p9mA1ouge|mZ|}&4DqUV*WVo{`*5E~E z;VN%!t+%Q+bboDkZ4IQU24A2f6zT~0qO!f&j|Ar9RhR|%f7Pw-%1Sr=NBH!jX9F5k z1QVB7xSXX+SgO2I3dTX;(9~Bq*aRFlk2QLHwoSmSqM`F19}M{jL|+J$=>NgJ$k4?uH#{Y5qrHeUYQ-tX#knz24B&Lh9X820jMF9A8Sn~4?QOBY4jLo(YQZa;4-JcL$nAxvV%ttc%xCUc_1N>Mpy z7w-Wk$%kF_5r@6P@C3BY{2XW+iP9F0tDcvsalL8njv@5xY=Y)&h%z5qxyL9a0ohMb zcLhoEC&RY7_6Zy+T2mZ$#pxl%#vTb??qyK3yGt4YB>={R{WvFudH}AXC$#>`@;qP1E0yzFMz}Je}T+1|6GJ@P(05@ap9POQi zwqwxqew~`ir)9@6MdF2c5q0MZvxo|^Xk%0ANQ*i%TK{OS)0lmf>fpu_t|HwUI`by;84y$C24|U3V?3g`12TNwJ|CD+ zeTl--7KB)g8JWq=ZfY^REzFV=!M;|A6E>S*YTt&sY>Gmk zZ0|7P+X=A(?5&u?i*9p^Nw6}bacRkj76puZ2YBo2gqv{s(E`UJF$@}^D!Eg~AK^b5 z<>!Gw+@u(#kRa_&|{kyIz-fgBI_IS^x zKZjjLPnJHq3OAW6eOD#y;z5VhE8B15*Ml|(3e>9|Cqg-H)7Eg2QZ2$F;5KWbEz&4@Fy8oR8>+G?`?{o58yCgPXxWzVX$ zkPWxg$CB)*>?TDq=I;^gwh_fCu+2t?ZL`yYN=)#ML?!eWGT~oXli{d3KUY(K7&q)V z)ES*-P1?;yiM~m(-ohu@!!$Qn)9_DHlHLvcn_lf^gN$!LC;z}c#Lm^`GpAU(N(w6l zG!RZ0iu4DVEa)#T*iZFuEW%l!vT7ZFKV2O+uBt=*M)>q;z7gOJQPwWLNfjOw9zawj z`bRt*Ef*bD?nW-m5yZU?WDX)&dEPQ@?*~7MZ;0a~@rchku95cf3HX`XOsn7Dnn9Kj zdp-VVcRo{{K5J}jd)nu%hXrt9ZhjH$Zat|RATMz4L9LMk0i!IIC5K4Wek($_Q9e9P7r7~o)oSLftzmQh>KF^8ih zdJu1`;Sp(<$+TiV4#apT3Wv$}WMIXQNiU%)BqX!=J;0Wrc zC|=T5k-ZS8A=<_v}!@`WrD3=+H7!jJY^;L{u^U#D#I^wj#+QIXa!8DFPu^FYW0k$bu3e3)K*07955rn%cWo zAj95*qxk^YbbDWg$ypr&WUjuBsr@rC5MzL5Y}_(2xUs^~Hk_CQXdGNXHU`M10U6>B zX-stfghoAD%tXW)9C&8JSMCU1F%U+s`W-;_f-E_3@$s!eU3DvU@r`69JQZjrgLwB! zHAtW6kWm*t7rx5R_fe$3!;yx3yIu}A{Hem**bj}}#6O;X#(r^Z&uBP2x(Aj$#n!CO z*k)`om!4_H-h~#vrnYd}8T;rdW-K!GW9|zrr<$?Eo&U$FxbuEdB#zg078i6B=Nv-Z z%eZrV&EC$xhMWWVR&n>3J*!IoN9Cc5HNLRwxr~!m<(w5+pou-t-T{tKKYL7FSR{XN zS%OTEe5n;n(3)}BtSCuQ5^9*sng6+7fDB1gz@FDc4Rp-zDZM9tt`qIurnd(vZdG4S z?j2Z!a&hK`RnP4CQrWHao~RT02lT;eR@-A{*#yJCbj>xA zP0s(;Bw6$yEXZGDw@Gh&qhzzso6N^-PO(9B+K!o#c6>~6NmpGZxs)-{ewv?XjCuk0 zXbIf35vf_hXz}w%YYsEb5Sk!s{Oqezt+Z^J03t|1*?12){P`D)aB9U`$G~yFOhC)} zKqC!ovlxf^Ot@yQSAjFM0KBk1wS~;-yS?x#x<{DrU{A0^m~ULN#Off|nBvOA+9-Qw zZoAAp@MzoyH(?Kx9M3u=!3`hFt+48P7%opZrAO_GVtxlqUMQqOSIX(x1<@Ep^3HA;fCqQ4;R;Y#ig>=f95Xn*k3*E_i2x^m>Ue)wqf zj`?ShZbDM3TWi@}JO<l{0Zkt9Q67-)i6NE@8NA7ZXl*AP`P>;>O+aG+r*(bCYl zePm#{6B^C8+iPWG<%}pZr$1bI0dnD;BiYTF#&buaqrneGlaX{N&>m=yhP&i|)OFTC z>qN%aHXCnW=xkqTZyxFK-Q*eRtdPa3?%s6u0jtd>Sxo6@;=G!g54d|`;Wj_p?5vIX z>KhYLXDulMVYzr8dkGpDIMUFptkAUDoP{s?>+vv^c3Wdp#4dI0nw;I;#lZ0` zO0vc5iP5j=6n`f# znyTA3CObxJk*rR%`<%_SzK~BT`;kq`wUA3fPRV7H!rrR-TBi%M2R4190XT3&^R8iG z#UBT*qI9YkIQ}Rd2??13)KN_Z#DxvgFK~2lEtBeD$Sok+B7@7Jh21vyraisAd)_ps z|IO`NY;9fKm+L=op|y44y#C~D0uD9C#B4G<+W_C_E=e}pBH>WjL5?*J+(c|f8O09P zFe{bTL^V#euX}BO|7+K^>wkAQPqx{DL0j8ob1YRu$^AT4HStPYO^vNGUIQN9VVC^r zn88%m_X+g`23^)u1)J5qPf%1Atsz=IWoL4e0SR^-OzdCvLn4J0Nh`Iu3fh_j-d~{JR&jFS2{Eo7nk$PXd70mCE#HrM9TY zT4!46-!%QJZ*H!~f9$5Fsn*uXrbb++n%46&loM?jFLW9nGG3!g_PQ)YWPz)DM>siE zBvY7fUiyiucbtOu;bG%|x)YO@r1U%Es^_z5OT%H|r5E;JASzre%0CV*d93saP?5s# z!@xhtSCVQg-9FXbN!_A=e}eRw>^MU8AK^{tx2W?iJS^ch0{u3AtDV9PizE9C>W9=! z^_OJ3I!#L}J2esh?@J1o3svdxh$0Qk%EhFby;!}H1KEuZ9M7cOftF^I=g@ z7_%tSW}r-3hlrB=O9>D-X~N8 z=g{(VE{zzY9w0bVe!8t# z;m<4U|a``r8u7g(joW$(W~Q8tKcip-wxG>~eOwc3z?kQD+Clret@8?2x3!$k2E^ zJTVw)lq84j>h5V0$>9()C2PnEbwVBHEXF895NAmGa+FH zzWVyUC~k=MG+-Qd8N<-*)67q$pcK<48s7jp8=x`|D+41SylZ8+w8D|L~?D@ld<(9v-^@4B2OnYH{&}xaniz0(PcJcPK<Vl36#J1&}BBAmygljn_3?n!qp=f>8BhqE06 zAR=}LLJ>x;&cC0!w-PO`-%DNF2a}WC9&fCvuDPitB4g0%M*5=3<#cMS-Q$fnhg-X< zV{W9k6}z@&m{pMiL^cAFa%kliD-POj;oYExN&S?gwe|@ji5NNJW-u|!_XxMn&EW9V zc>;D`y+XM!ue)S;_>y(E+(9khp~${>WQVdt?@%OwP$wyAhYaHFcIiHFT`7Z7STzF*98qG1qnwm;hpag`d+3_tY}6X9&3hi;iYs)z-LC; z*^1NheGxG@9Yf=O|8SNQC&ux7yO3$_K6f^X<8q;`$lpl;OY{rQ7;#vCCsn$Tw;|FS zi}ptO5itBPnCgn@&@qrMl z|H?5b98);2jYW5wHN+JxL)|0VJnwyjM%~S*^b=;x^^AI$(0>% zHGT3GITge;*WzdpeJig*?unV3p>fA{^?pnYcxzm$AMhOB;?3!!vsq zf;{Yf$-Z7DaGUm>Mk}jrjWzn?QISd3acJ5)=dG1BHI>m?9o%)J11iXJkj9CuH#jDjRFTk=n8wkjYRzs}-j|Lobd;j&Z$z#Ti8V zed(;>MAslGpW?{Q69IVygy)HsN1*&(KAHI?59b15AI$>183W-|&oR_nh3EFE+cjGF z{LaMEs(#J9>Y1{XmBaCCT3qZ}y5_H1xyNwp$92s@nGa5m4GJ!tDuP5H*uEPOGyXMX z04aS2oa7yF2-qRdZEy|*=V{Ms(hWR1?oJ}>e%bLfo#nI*XF0v+y*SGWR1H%?k$G?= zdoSTIe=f%)zgMK+vs(m&BVdU0$62M-ZWoOfA%EcalCp*JlA)W37Qc}QIc{-*O+mA) z!UJcSTMXldh%hW!O_7@^ z@-g6HF3DJ}H{1Y2J=lyJZUo!XYqQ;OgUyB$u&p=VV0BN>4gG);6lg!Z4R7NaA7U&s zhCcQyAbJmYAN;6)BaG|0 zn!qd;N4n%r(?xELv)NozIcEqyL_r% za4In9o2=lZ0L44`b)#yYpDHQZpjzsO4KDV5;cU`KX|tqEgKow?h1q8{TP&Mx$XxV? zKgbHKl6Di@;8YZ6{(h6)B};Qor{&H&tWISf2VfYVm)y>39Ekor+=I~n2wHeVZ2|K< z5mWa@&<^5~dF8rof!%4coAUQj#cU&Piw(Lg!t;_x@hiMiS)5l~mOJjG_Cy)uhd3kl z6X9xj#kQWR7i8^3AN1*@4=&gmr~JYTG8}Hrl9_D`h4S|yvYrp?`E)%di&>}3eBc01 zL(IZC$M`{KO{m6oyU_%9sN%u_4A?i>f9No%{lt=6tCy=M6#KkcvgGd%h1dp*1RJj+ zzxX1Moac$T*m*Rz$4tiCU1-<&K_hZPW|ay8$mPt6@+v4mwV_|U3hNhsr+hq%bFIj@ z7v~pImDLD2At|>|i?=}KNYPigy;+g|oBpyl&=rY!|C#svWH;w+kIj;Z=SZ@( ztFER>AIEzXxNo5jk*+zXzhS$;Qrc*s~QOw_UL#uZhv_=&Puuhblb0RQ$@xC|*H+2tA>}O-q_shU%p}`tyXqp{fRvuC&lX!N1H_A_skK4F&Fm#) zf`gAdW>PA}H@Fg##E?Wa|7AW&`6Rj7Aw!S_E8&nop?Y@p3R8$){vpK@!7H?AOeC{E zDa^p368ALaly*x_5l(p0YeZ+v=CUp=St@M8l*1NX1ibeDl_YkrNt+oPz zud+m&2)V71dVAygTo1o*X-KRefW0RrJF1&%grW3?4j%H}(R$*`=}jG=0Ehw-t`=@V zrXDSV3v-@_w_(8{;|wQt(OATokzFR?DYM5jp+s?f`Ipe0@sM8Jpxq~)!qETo)Q9GAu>OE=qU3h?erg%5+i*^&<|7>C1l&E?N?MfZECbktw1B zC;Geyg8-f%Q=}P(OGG{^mKH1QGgJoSS^iJ93VXf1!j}INe@2fG4JCZqxPv%3X#J4m zL!(Y~yp3-3Lgy%u_`5g?<%3Wo4BH*-=$CL9_G47-n}28m8*ODz>Pbh1`)oLvDk(co zgt4h3BM@X|I&n72{c%?GU_MeY6`O;0iTpGvCl3U*9zC0v#|PyYt6x0apSy70-&|3> zqhGY*s845=wPiY0XA=4kF2=k3Lb|sv1w&bNm(+h?cIH6VE|2eNwUTig%+bO**DQ%1 zar!|2o@jr}X1DcBP4(apCMz&7hEYhvs~S8HjlznErP}pM3e-VPfks;5NNi(?;>1^^ z7nL26o?xgatU#XygdlTqWvaQc*XNKi48jMgEdSd?rnWYdU~c{dE1x1Y)kKX*fb>I5 z1)RCqT=<*tbHqH6S49RsjEHwauC`UtSJ<#rtsG5cXtB7B4aX;xMF&9?IrB@0v^cJm z7RSZzRbz_gCW|peemg9dHDNuZDF2pIzd`mC*d@ zr+$MByt1ENz~3;=6{EVU{Hvn6$`Qb#WVa)9C;iUH#A)#@~*=6r)2>u zBd6d>i9RGU3Ap)s{N}riX0!1wv)|L~skVHC9zJ5J_EcSa?R7qhHCh~2tHZ(?iM-~2 zpg!e)Ao(u&-S2)!GQNu(%eg;Y9+I-eh$3G=Gtx?pXstkya$ zJg3#F)KpZ|D8+gUZx+mj9|&71;=@=H@o_FsW+j-_j7tWg@V)$tI9cQqcn`VbtR-)j z-ovEPqW}9B%I(zXJ*d`z{DA9G!^crWLio7h&5&6w!o#11cU)l@Sy#R*?KLc)#rnW}00W14tuXbW?s7aF)N5yj>k8)^uHo>N^<$qGHbn1j zFe*~8Ao_bG;vaqYq)=sO6V6{f zve=6Np-`obEGyh3R26=H@_T2Mzh^AGJ^#Gn4h^5cMrnLdDF#Zh^cr5r^ZeSyv5|jX zZTEF59tMg~9A{OAQO2Pyt=Ys=gs~#D2A^OyT%gX^()Zd{&sQC5GI@iRjuyYyxq_&Q z?MuCO$tT%$tncw|t1z1@wo#7_?+-Go`0%6Z(^NT=@#MH z0{MCl3i>m$=;3(?&kyn6f5!DR9~SITO7X~KPzLT3M z!w(CO)Az)OXm&NNcN;~~ji9H^TIYVcs&9RTsNoNwm=@tT9JXws!SENuCOrR^!-kaK z>`Jz2Ee#a3ec&RwVz}Udeh*I#+*iG_@DwWue&P@b9%&-^NANtAdal?%fh3G$;nguRTw#~B3_F_vO?`4Nwu&spo z2zS6a>Nb4Ac$nbAj4G>XGrh`VI_PVDgCcyh7x3&dUZagOEDW50aYt^rH;4|W?MkzI zzr!hRG`oc37VADURB!Sgvkftc%&-GrFR5Q+4eIisHp&NFW^n0_{ciJ>Hm6-U?y{Np zAOzZK-e{Uu``8))Kx1g2NORVdh;%gwWW>twbQIuGZuOYG04qQ?vS!Hybsk2<` z{+a*;bZr6wgtQT8Tf>+CkF$P*dYUWpT~#YUt@{p#K~d6%PC- zJlE0C&_VyD_%q4~i-W>1*=5Fq>PT^exhg&Ih!0h=;7%I|b71b8Xb^b;CAr-y$^N)M zpg-C~yFVuUvZ4~sm{w;z>aD1BIc40{gOT8~mtAh$SUP)k8IjLk;DH@NVx zKxh8zRCH#&N@up(B%uTOa?9upTGZ(b$?gcB%cOZvU|1tR2676`WRhw)I8)}(s$8~8i^&unY_wF_qAlG&VwKf4r_JhcJC#Zt+2kJ_oKvkYuf}8Kt?5{F%(Mh z8*n!m8+BjOeP+wn{YeysBT=O&FBQp$uPZl}%!72Y4=!vr?94OM0>X<*EKiWjOIwmY?^dwearO^}Isq{qUXihbEU!rYQ z*n?xPX&vD5{|7~Y992MU_-)1jva)=u@ThSCG@{gVG(wenr z#7=8R>=hD`C;dLpAMyO~`N8XQlbdUv*Kr=lamKyW*S^MZlK}t#TzmdZ^A!MaiSjLV zB>iPd(|L$0q%>E&pIP_;0F12vzNi4%xtx?AQu)2o)&Nuw^I$0tw9e{!>Ht7pGUK^D z<$ZIL=bGxqK~&odkS_&+Vf?4NgD(DAV>apUr3AP(EW*z@%B+ypsKB7C_DI7_8!t4@>XW@w3yAe(pe`-oM0r3yA z|22^gR{&I$_NyKBV@dvXIkS@D0%2SxP$;aKVDo(C4@`C$Bi%!M_8Hq1ZdK?)Xbny0?D+C;2 z+boBzM+pv2Nbwo~06*O+|Nj1M*MZIbqY3=?A-;>D6SG~L0tAHMK!87S{!H(^!-sU& z3-QNQUNX7(;x={Q1fB$Pg>O8mBiO9Z?ha z#I;CpQ^n*i!#Atnw{+30b04zylk~*KrPM;*L%a{;zvIzC$fbN<{9OQGc0@Nv>vjkk zj!$$S-xlkgkQV3W){B5E$lRb>9PD9pg!ijeONibs^k-c@i@C#XHvNZXX_26SvGjV( zVUkl9NdtJ?b_HNT>qOm*Hv5HX!_>N!bNga`ga?PXOvLXJRZrE0aSHM+uP5DU2j`Xp zt9W0SfNQ{=%>f($07w|{`ud0Gef|V7FWa2-#A}du_w(|by~1wtVk7tg(mZohQaYUn z8|kPkfXI^@fL9GzF*1bM6L-{!LhmIW!R$!U%4TI*43AAB0h3Z4NPANz_hkTJ)RX#g zJiA=rK=0G>5e!l?@quZi!npgF@VTzfB@8T)_CYHrX|9dP{*rZDJc%kUv5z{&+j7~w$(3KhR)0!S|Z&LS^W3J#LR0k%s z&=hWAiO{?x063n7g$KKJoG1(PUZw_&zM}Mj&FE7>i?hv5er}NZIvjgs1ysu)wwDUMr!L&mfX75i zSM_z37wcTLLOM6URk#}N;(Z5K@a2bV-iqGma;8K`NIP}Psa@q z!630BSOsIogjaje1Ii2to+otHWS=~v5n-VLcso)CcKC0m7GxCjvla3#kTv`|HTm$& zqYIj^p2-a>fF$}`b1&oQ|L)n?4J$G^3 zq+jAy(E15r$H}+wL#fg5{bv{z4WJ}HC_d;Ps0@e@nD0p>O zHv~|QiOM-VCeJ|xcd1RSI-dg~yPpD{#p>Y^d~JT<);Gb*0re4UxZd&o!;H!egHyW4 zq@sS$<@nH%pAUbEIuqY(Tl(LZ0sM3j29!+fSi>K{@x$ekE~?%{c$D*aM98YY7=i=9 z9-A8*!K36?!Ev#z>MOr`=kU$^#)@lmAm;qGFBfMD z`XyiLE~LW0rHDnmhs9qZt$eO)c!LV6xpB|BhGV8smIG4QG1)zUDkz&kq^`5p#GygU z@pWn;r0Qd(;r4(G@&Q3)=@D{jx#;Wa6z)3M*)x6kF+UBY05 z_hBk~PP2ihwdx`z*PtwLK`BdKoL{Hn?%iERKl2X z7|y@XQ=H!hhIY#>Y#HF`dispm&F7L^>CSTdE z%|6vW9vCK-O;pnub?b&KgWDq(;%#eSL}=XT*I(En&7fK+gJph|ZLhHCUA~1@QI*y= zCR3@dIqc}wB)A9!?PS%yTP=s(-xSMW-Z|gFn*d@&c5KiPHNUf#2=ca|NREtR^7D{( zQ*bDPh{kAi{A_;8P6%t?*NCn|o^RdF9_84Z&_C&yl4XeKCmB7& zsKwNRkiX?;*J!Q-#&1m+o}=doM2_VZOo|h3SyCUUPwtEe7vjy_G{`&%QMCM_jsG!e^i=pBGVHTK(3g&RMN7DKbzl;f$vRp|5<-3NS}af>D$-fJdw*= zRtz94tsd23R9;F1***i|3;AcKt;BDBQDlm$y_7lpp>PK$+&f+{Hye7&5sv%DinU|A z7`poFFkh>^DCCq}XJvYH83y9^H>#%3cf3EB-d|N-8BBppsFFZEsjt(9dLeDKo0ynC zHByTMLDxEUwY1@BtTI&M7NM%MEP$tfQV#uY-Xb=3(cac5vqqZfhQ6Q&IR3ckg5&CS zSJv=ENvuhD4_v8Zl3Q=Qsru%KDg4Y_ZpUrFyhIO=KIQ2#o9FO63BRgiokJPqX-j~q z{b*vx8vU<=P&?9S?=@0)oc$y8=4ARMG{W9?!f-WnxiyZjo}U6Zr2ccSZ}wUbaq_6? zaG(-k6atjUK83#D_G({EZ+P8swzoT1CTS|RS61yWFi0kS1fFq`XDLV#6A=(m!!I!T zt%B;@x*N~Nn$7u8!ryAVwhPZivtBAvioOvwa$4!$@nGT)e9K--_km!fORJ#V`d@w@ z-g%eL99DgPAi166H&EdWoBZa6zp{(WC(BBwD~C0Vy*5MYUvnqUfl@aMJ74{ zC%~89a*G@+7SCRI^qtM;d;H~0-SIviz2Y<7qYPA-`K-R-Pbib(*IN&%uvW2OIS|{v zh8EA`63_*n@vr=+{?tSJlyaz*uFoGqfljcG4=^kXs+jp<>LiJ+UDi#qf5qoh5r(!i%x6pvMgt^>*z(Geh?A8;uek*$FU7<5d>41#KP3dLw?snYJ4gwy=yq zr$u)_QP(|t{e<-I3=8dC2Zg~_m_$J2H!PGJ)=mjdye2kL#kySa-0*GS--Fd7EJspl zf*i-P1TN9WiO->q`*fYbvvOpwd(+RX^1^e42DM&VQX-*tYs5(dTQicL68cnq1dw>Vx<#%p; z(0X4DWZu764-E?p#~b%!Dd^8=uFE~GepYtYSJTVZ{4SM1RZ|6;48?L2{H2nJ$(XDc zQvAqIn~RCcsss}MP@qTlGkl;+hbE-^ePxM}rK9w$F+C@8SL#u%D%eIhGyLqY6(mi* z!RiF0Nw>znrA02Q_$UTUZuI^fAYpTbOmO&Y@q&Ijx)$q1us24}Nobm&q}0w^htGLH zj8w~y^UED1zG-_Rj~^$Y74Y?|W9eI0vn25E&`In(nopaq09;$JM;C4AlC(tp53c9h zBeweFt<}E|IP+%~<#2Bw-d}JJRk?pZ@3U>B_)A(-n}U}%I;^+sjP28oET5W~8qaPp zPJ1ds$kDuhTe}={k%9cGIliukrd5dQ=!md=t{sA)!TSiIg@o3N!_YsA$8eg^))Ibd z`LKexz1?E9A1(E5wACVJzi*DDJ0nwT7`#h6+HFkI6?@Ctl5=&4`fJ;Hzn5+UO1euY zRB-8Kv0k9wuh@dH)X?Tf~%7~RhIQCK3))mr^u}Gcdm{?gVtZz zFOI>->u!h78x>d!F!WM6L{e}3RWiXhIG2UzebX zp8h3R(YM&6j+A<=TBvi7!os&=Gx8t`V^-5?fT@?S;zL6d&fpY*z0yx=du#YsH4PCYKE z$V{eZ%<>NN^g@XK%q(e?vHk#Ab1;{7%_%n*CxLgHEH`HFP1|scY}+H(WEoxGB(o8g z*3U;H(Z`fjUPrO9u;Wp_kRr!tU*uD9+l1v|%`(kFSP0gfFaUpRM{6_0^d)}=a(`P5 zTu6|N!H0cJv?Yr~oWlBSF{K&F1v+|2`39gzbUB1&7WdqDDb$Ni0rp>y=o?^!Nf2)H zo9jU3H+bcjDku&b`2ls|j4$YK&7L<4l=iL-+0Iw?UMsCxhJgnl5!LlCq!!CgE!2qP z-h}*sK5Rn9D^}kV@|=l{GozxG_ejbHP3Erb-k;JqOI2u8(9+@#|JHfPRkW_#OI!g{G_X#<=>KuE-$B^)7PTk(a)4rzp&*8@du{S!e|H3VMS?1)2 z?7Q5IX-;o5f2;iAG?*?pk;t|tt1?Q*!N{PO4D|KV@|>&xyhB+bB_AAlU)i)Yu5OLd zIGF<5Rfz|C`~v%_z}@SdO{3K?E zCLf? zUrFr3XZis!Pxmc#Z8*a(1+=3TfoNxBTWvbK52@R%x*xtBs9RbFRGs?m9wM=?6c~o{ z;y|^S+-ENrq|Y26fziKCm-iQCMXUF-E;XDpO86vpH##X}_PP$m37Nyk!LXMJE$<%M zF5A$RvGW*rXWmC^JbsVZEmw7}E1&(6%eFIOijR*LpZ(QH4{%MyibYr>L&Ztm3RSLJ zK67dnray*ldBWM225$+V@&D)+D=&+D#KGo_SlT;Lsxx))CDZGVRctOTD==Jm-nlGO z5OU$|_3DHIu`=O;wa7;4bvIXDd$;#*{-HO8+|0#ix_rxG;Zy$zFrud1<* zLHOTiH5`r=OY80$!`nz1D!$jR{$p*oX3c5tDe^6mNV}%jp!1<06DA^gR5`Yke={Np zAZnWvw?F2;zWGfncJunpNyBe^=ra-M`k=;6&HhJ9I_wa#^C#;lUjpjZB3Z<57n(kM zBYb_T2dC7d>7zG!uVc&p!~T=pLB#sTjI9=K5vm`<>turS*gq%laoAdnf=RlKEQIMP z)J%0kZ{@y@5tZFX4!=e8R*!%Pm4L+k1tOtBp+;}OYBWOiaw7Q*VpMU(Q9<$aPW){Q z@Y-uc$dR2A1RLRW#&Fjb4X%aI8{_@_KT?5 z6u@iBi8idU0-g$RrNZ&XQKx5@Ka2JD{05|{868(`joCTFCd=-idH{llI@Wum_Av(EHG1p98wrkXG1Fx`~dZi5UR z962_vg8UII|7eaHq<6#HdU+?Nn=Lc?ndPT#knJBwjwrk3CM5Vi_R?>ZFP*83D`|R{ z@AR$78jqk|{I0_KSAWDW)X<7*(LYA*M0eWu*$VdQxi<5= zn00tn+zP5~i{}e1t#_}#Vh)+bq6l-Z+H5a9q>PbFs;$N;JwYppeQ>;b;tmXMG)rq` zAyrP9|EzGV^MSE-Ljx$CsD>j6J(mP&!iS*;g?!}8**9A#wE5u#cSk^_93-RcV%2mEa#P% zWD(F`i>8YIj)M9to4@+Bcael|Pv8Q=8R2YpX5C;?%1DIN9GEw4i^SIi?&FdiGIc)2 zET(dd$EuP0-*qCP-OhLL5AFYrExcgHdWpn$a%D8xa|oZ6gnw4^(w7x5&LERZs7Kvd z-)TI~V^T8f9j0W24S{>wvW6?u8~&E}m6|Y+&Vw;AXwZb28=d{r_ogkAT;|8Cd`HpN zw_H4K_1!aV#{I{N;+)@ANpYSVSd3wRl39^7pjdG}k6^tQJN+t6mcB*Julpbr#no}t zL|mU&U1TgqgqE9aPnooER4jq3iC@so9BVr?vzm`no_OedwDoE!VBY7O3bt9d=E<$9 zW>}&p_%$+SRRK}ihpMV`0_yI=mr8?>O&Hboyf-Zz^1f0qbxQ7M+Wd{-NB9zjB;HG& zYkqNj?R>y%GUCPbao5!1SV~q+3t=B!vy~Q$^q;>I2Ah5{-kr}y2bp`Ie=YP{KA*Q- zIL!X|ZU~If;>R@T2m19JUa9s`)z@d6JYG$M4fC>;{qy)ds7`OQO#okV-|WeeQi$BD zYO}NIrqY>$bIpi57L&uj`=_F~MXW9crG1~hbIC93P$0MZnEK;h%`iJ77>I6x(4tM$ z=aql2F*7q;+XRzsH&XSZtc?SYwa5vF0+ z0V<0xT7YNEMZVi3m=>ifo2hg8`mi#|k_ci|YT~7oeanx@Nu@0uURvgv;}o9VfWJzZ zn1SQE?LR(f=kc&Cf0doJc%w<-+47Qk+K5a=BEZF5-K~0CBFyT3o@A~vfXDPJ`z<|V zqru!+C9*nJ*JN#v8U9C3kw{+kyps<%Gg^CoX03%RRf6pt6H2EzFOId$e^d}I{JhGl zCZcjoUxy79zX;1@4EOoGB?7~w`^GU$kCb}SMqYoRb?myZ)SC1}W0QV;89itrVX1w| zhkRjZMgf$h5J$=uwkj?@@GQh1jclu=NC5cOsEvk4l`7SEFVuNyBOmMxyM5*}@z85~ zq_QwK>vM5%l(tv%mfri0KA>7P^YFY1)9z^zg2oAtM-V(^%h*%RzUQi*OVtT?3&WXxcU6yUsk)AdHGXi!{L=HKpO#H&!Ym>07wtc3W=T zU1RX|<)4=|o0FfcC!Na5@f`W7fO$%c%jW6kuC|3pE~1?wX_3Ji=u$Debw|!ZV@%n_ zo;O7f*|yk?y0v4W$jnz+Opv0kwO>%9K#%=P$!uPC-c1>(6tJ&Q$jJ#uD>G+eeoWoZ zFA)3U64nk^4l03b**lkP)gU9SwkWHK3mvw6t;T_8sX3p@mRUY+DsyJ-;-&NWkPtn> z0n~XS?l2>p#PwUy6hU{b#^Kd;*ZUBbu`Q)_tgGRrX&B(;-9GD;#S1I#-9CDCUz0~y zf4uQvX@QJImw&!_vh%Ihc#ebB^X``G4GN?!0L5@Qd1+ zrQ_kT8@Dv@xsK^9_+RWWZAS73S&y`pYNH{&h`-UZ zVLr(f%U|P(=+%nz1=CKdr)}IWa6>fi(KE4h-Yljn1~C8S&%~^}L+4m1B^Mj)I&~pb zKpbk-#?8BDkJ8jG2E6jyeK$1f|IR!+hKuuCZLsI39PNk#LKnI|i#b!f&l})1Czf*^ zMit8Ep|#AYmp+;nz6PQ=hUb)CI&Vxe#>NB*x*d@R;M)>CH^2qi;VL!{W$p)dzez1z zuckR8O!YXJaC3Yo#4I@1)d2I-t*X(jNvwl8(}Wqd>3dD;J$5Y|a+^GmRqOV6=ih#G z2Pa)IGnCD~Hqst0{N3%-HH&8Ja`I%DA)U+#pOO8t{d?A<8O$c`G~ebqMdksFIsKPe;3Zt zMqb7I_MdHV_>P`$#Ab?WAc4ewD0b@`_R`S;v^TzvN;MrdvR7P_qw8hMZI!JV`KdF% z_)JW9(d^PAjmOnO!Z#G7Dq3kO$^!-zU3r|MJ$UEv*|VQ#&9vDJBvY4*Et;(Pv)y3Y zQwY(>!FwTOnBn_ZdZw0B*FAbAOL%;nSX_LmZoTU*L*`3`_Sc;r&Hs|Mzz~%}5It{g zTJmT1v*k!v3qz?N$513na*Hy$1f|1`IIrB>Z9@7fg)MiTnQFZmpqo$nk9<5b--hU? z22sWEIJoQbiXB|14tF4e;JiTRZ+;(dw&Z1tgxt*i87ptV z=Vzv~trDy%cdwe1`&ZLOxG+~F}#_Qm;Awm+0qjenyx zi7d}l_kp#TjuL5tcrJf#8`2!^o~Mt*Ju0VtXB5d*l*K)ZgVL=Pgohof)asiur(w=# z$I|mMl|QE^UArL7*9Tbq6Rvd&B32t%-@3v%KY}P~z}#meZM8g}BJ@PDmD#s>!N`A_ zFP!T2)z;gOGO^nI4r#LI@$Rk|7LCvIB1KQrdZa~@ihLmYbwZ8UJ}cvI-L#Jay*hag z3esoK?`6@I9pqU9wZDFOGNJBHh6G6;Qdy?z^i+=EI%*1)*jbqL z{Ca2I^)T7fB5!+rz@`pUiq7-B0^lm*{HR~XJm0382ov~17^>mNRf#vcLOpoq>paAt zyjeN&CuBjUN-@eo!g+9i3;JivPO+hIkR3GrL_aoR0xFW;faFv$UB%G@hy-=J4}WeG z7U^j?3UaODI%-3%95-#OGUOG#SgxRu&8?v9-}6ZK%CpC!J#vP1sGe|N?u_-kfQDOu zj}ZTwVm;ygGq27OIV*1JpGvl=>b-p2?i-Hb8y<_GRiO=j`7~TUySi`nR|)6ta3i|y z+EaP}S7o3_{xdJvpoAy6$Je8>$a{H4Ci7DW7Z0r%hMyaknhS5bASwJ@cHeztncz5( zZBFG|pZB3MKa)mlhRV2ywa5=z?R6`iz21I=pz=G{L#SS#H&)$xGXN(AW`?ynd1kXrDxxmOw$G5(y0CQ`~ksSIwmU2{&Ur`ngD_r`XJc0-nw8{6x z$Z+kGJ|?dbs}~{bmA0e7r{6^d58~VqRnYVyT8POg&tKasw=hF1JdwjDSB;mUz_4j% z+CX3h(>(g~&$qw2Ukf_Bu&QLnaNQX^LJXi8u@tq|3405y0ygGr5^8qUVF_-Wx2o2e z>{)l=79E>o(Xf@kL%uChm>j8&9{E2i+DzZnS024A!Tx{!{59w{<%psUIMh5O>0RvY z%^X4KN-f(Y0%pt+yYAR&7ca3rweu*mRHL^R2kI* zY$IK{!pfsJim#MO!D{YH;vwMHZv}I(4|yz#O;pT;(7qY=9#4sw=YZcYzuU;CQ=sFS zC=L7OIAya^RK*f`j%lfp7NH7)dc@IG-;oyrd>nLWyTK0S`_iOh`2n5U@ zQo3gJ(NAgN^ERZV>DwBMRkdG2_os33sY@`)%H`}eLcosN0`%&L+{Mim=});7nDmid zjr(eXGDl;=+|kH-`$&ah#os=_j zaRGk9CH*Kpt9<0Q|L)JkriCAZaNHE(^1fdqlHnp?E8)ev06O~tw{r1T$JHQ$A1Z1G z7*@5w0!WmoA9oV; zU|puDqQz;c#lU?F*akj&n$0QIL}$k^wOUtR8Ri`EUSXr_)Lw!sbS z0&P;0z1@K9*Z&`Qr8X_|iZ=p%V8B)^J!=rc!>i^zcP$P~&G9O73LE%F9*H;Acy`XzH{ej~Lcxyi)b;P~VKs-3RbI7fc_c z>*kU_LRAk%9nEkBpdo(0n>v6AZmMwj@amnOQD)EKCTLZKTNt|nl|Z8f(&Kr^Zr+er ziZXcr6(yeY?t-*EiBsrPzKleaS={k6xv_H!G|9463YSdO&9K>L`wL7pkp}%|pX`Qg z58!>2s(OBA7GiJ7@dQPmUu0nC0gY2{6!1Rf8=POS#@33%sMLsgMl<@)tT*H(X1k|M zn`P4M{8&fcaY9!rf98(Z3mB&4yZb<~lpaYLIJ!wMh>1gXxy{PJ1KG?smuP>P=?AV9 zS_(xDxGx&+y(LbSA&JTu99)O#vIURBr=!9qFY$w}F8L4Y5aTf|Av2F_*d^H4)5Y7b z&(frLH%+`{cw|wuVy`5}p128rkc4(9sG99_(M0~^JEs`ERZZ3uA!_TM8B~50nT@?} zoSR~Asct6jU=Lk;oAgVoIk|bC>-211)zco&K}+i3zgwjvLK>{*94#^*R%}rMP$hx; zU3pPLP4(rsKA4Ns&ZbfWWKctsw+6`<-<06iQvOt8C>^zYI9sYkEcblJZ6u@|II^Xj z#W&Zgq$9Uz4INy@^d0kQ9Rojd6kc(9|5{%5AvsQ=>bZ_~&NVW{n?XSeabl!NUxS;a z6Tg2`a`o({6x#+e_tV#V6dGwlclcr0H`~-3-7i)tng=57FYt(d4zi?CL*;wqevXoY zXR9_Jwqa8#E;SpDs8;5kc?{8F$$2ZAa*J2Xitq&Hp@Tgg-oZ#GX%*XoCA42{Nv5nV zgR6GQ+V@qX0(diDjQ*!{?ezoJJMcH12S*~7-mNR^z^qN)iMW$l`r>C`u2~C zDYK;(FmTX-KRr8|G)pc`$S5;P!iX>dDsU{HW)>SlT>s_ey5v$z_4;egy4S_qYcBom z_$A9Rfe@ul*i3%n46Uiqaiwta3gwsYIpZ9Vg3>Tsq%*G4pG;WIt6=!(zD}`Qh*G&X zfKkoy$-zM`6Pi=Fx}^993Z;xHay(4)1htQBNGU0Z3bozVC{H|7dMIts#-#rSC#P(* zpb)S?G(IQ8oO9=Prky>s{60SFb1Uip9KM4%cK!ZW7pp7hLyCafc}mxS`>ZH@D*O;E zHr`f=Do}PlHcZ%V@NvT-32S{1SR2!vqX3(Ds9zltk%heyy%SL9R+>W2P(sXU;X^L-n7j*i&9d1ma;#v|$hSNnK zfc%nQRIzhvzGv2N-$~-ckLGgbbeUDtOgnf4z(+9FqO|Lx0SJ16>u12H?-xfnvv0~2 z#YVV$`C)%Ya$Z6XE|hNBjBo9>EX^7J%%hY=Fz&US1yJ6I>Xe2G<4@2r`2=gq{`82v znf0KYUO(gGRUs-}_w=N1Nb6`#GM=CB`Ip-o-|XK<$n24p-d4EnflvD5JTA-njq%sU zlwZWZbAyd@QL19Dl8Vn8Wc@U0m;wWXX}=8N(ICe+ z*vanm1a&&bke#k~9>$k~(? zeSOu|W|iWodrU;{01Ga9F~LH-DhheFxGN9I0$z`psJI+eNwMW^As7yu>f}E}xTM4_{-YYJ@eu^bX%7AP|40uh_~I`l4^^ zm!6pJ3A>$YnVkGB)lSf8k2}u)8tRXsMU_TYsU`qkRm+NQ6ILb5$PWc_{ywnfRI~CR z4S@|7RNSv~W;-19{d9WQkdd3~`^paF@bsx`Vx}8^u+uqwOOO zj>RTk=O)P<(2xnt=O~YyO1e&paqt!?3KJohhYTe}>^jASdH4UQOIZvUBOmL~O?2Ol z8D*-SSb~3dT;hm=QrML-sDACYCe{7frv^Evn+ej=mrM3h#sWdbCO+(?jC7U_W7Y=l zxd}?5Rj^^V>*FOv*#gNto%XeNUd=E)UhMUGc^TCq@K*|+d$*3FvK#JHGbWE+&hNM? z{th-Ll2M{YjCqu3&LR5lcMX5rD72KTWf-|{*&&zbS#i10#|RTX_j>k$%&GR@SOvWj zJiYUY zN_6&;%Qg0RQS0DL724bWhLH_;%)zs__AR5K?jzpuySGnV=cp0Hk#2{S& zlBgQqjHl4`Ccj3WrMt@rzqX+H>GmTN2jSj;n2!&4w{K+R%H|%me|_FUwCsVGV~N@v z-5nYYWqn{l@1r+6bdie8ID)lY%sctLmDd2-zq8C+Y=liH9`y5qrT++vM|0-smH%|dk65oD7r5VOY1T_ zatLcLHTvpY6JIZFn74Y9fBp%oF>{$uj`i6pD366LUoTw0sOq^DZ+1U-vm2Ls>Pg=3 zh^0W|lit5}dhs%v#uL}>2gdLJE(1Qg-{960-u8uO4opnYRfO28S;6^WA1ByF0bD=* z*=|<7;1;pG4}ji>7PNVV5!#qN^&`l=o;n7qwYT7hQ+N0kPA| zHEPb{pN-J~c*UYyCyg#>T9W;cd+X zi`|l~&2X7=xSZ~voJWzx+f;rYRKu>g&0jTC=H*YE56u=7Y*07<0>$qzDFw#&xBN>e zuT3Pu&tTI%f=0vL#wuT2St)*^2YH@3JO&Xb*S50cAGn+EM-wggmx=Fm!@YydsseTe3w1V&_Xk^tvH5ZIFVPW zu(m2qeQv6$(B>&uQDg7dlQ&Ey8pya%)>%Gj?Mu43q6Iog=bI01!2s*kn{K{^68ZbP z1Dqk<)Bc(G4ja0W*KNoye4aZ`9r3p!Dxx7C@aa+!++MoT1ct-74r_R^|8@R5Sz?wrmSp`Pi_sVKON?hMY6h;&!vZZXjgf~H5> zN47y2b#A>R=wHhcg+bu4bx7w*(Cz~p&)0XVc=+`q)??*|TR43jJQ~J2x=*XTfGu}a znuE36THk$c8E65)hNJFy-Vv^;EIx>{yN%aWo}77g3m+E`YRji(3)T|ITUJ>#dE$6N zzZ4TjLdgWzJlTnQ>;UC^AcQ~W;aeEj74qW6f44V7s7$%PzF%~;R;(z(5e2pd3 z>?RSq{xTmOUa;?$;$yQJ-z>GNR8=n}TAJp8tg5rJFEW7(G!3fyO(0e(M9Ea8vn?0+CH_+NGn z@)%|{9!nm;kH3{2^FN=h!Nk{%^>iW;YKMe0ID%~v+byJ#8urAt4&-+Xy!x?#;>lce zO+CD(?Wp6<)3fidUWP=qXg#7Vy-b{&C}*>!IQ8m@7*J`trB5rDAxri&4*#$cK$mq_ zTY#;M3SCE%5Di{ZeTh~Ppe|3o`0Z^lJ9vvJr~f9vw8l@D5X&Wh1SG0+3<*ArAL;Hz z1U)t%H5}Pd%Tsxr0F>(a)7e~F?Ci>mifD7MtVU#=@~qmvHviBp$#bF3JwrX%-t|x$ znHFtf8x7&V_?u`3bJqv1V_Xg91MstNTo1c~9DKM=*4u`x(1PbUI(EjamF@^ukxf+H z4^4mL@>TOH`7mbBR00V>k%g*?*q(uL9|QR7v21`UpCp*Pl#?ei?@_A zk<30E;kyWVan%lru^}r%nNl8u(#grw1<&wO>OrK8S>NLHXwqSK0av{iK1IykJlj_B zxwU%39$jmy=lEyF_@O*U9Y|LD1A7#XnKar{h_7f>JA_S4a7dwT6F(hVGRefnvo!Uw z)Fv^Yos~l>?cS%i7?dRuQC|xtln^yD4k^payX|rV4%+kDf-ldb>81kjpEHs`KNY*v zk@n)k-8eNrgTA((_h-iNpV6Yjz6lVkJjasoPd2gUB_Y+nY(vM~8-^i-p)TxbCD}#H zfO~Cq*hC-8GpQ_J^(J)$kQtUH#ht zPE!_>-im$*6B_6PTX(s55g){_R!2Hn1TSc^m}`GsTs69+)`ZvWm(bob>cz`hS;zWZ zyEy2qX&d*B2uC}JKhvy10-@EbH$qCM48dGWZm zT`ugi(~;kT8QTc7nVeWepP{Nbu`jQP5B{laX=HU|;D6-qeaKeo&X zu9b4P;CzMt8QJbz@MCKCImLvjWUNCWK3Y$@!rZNZ@XyNT+sJCFHN z2*hdSwseGOWqR;o^bTU_(AQ;iyj@LUYygCQTM-;4%=eu=)EA@OW@}Mf9}{j-hk}f5 zo7PDj|HE+nmwg)_^4xj%Q<`YmPEbhc=_M)6NcfY5*l)T^csl0iFm z7jaK?eF=$ue$kQFbt$DU$9WaDacDU__N&aFe;mNc{{zYkPY@)lt}T9(Lm8~(nrNo(@ewd!hh{RrG^ z-6Ds_^`ipP?~uK)?>i<~|B84aTQtSJ^&)wa#k>cWPp{!uwGrzg^^bx<`DbJHDu*{8 z8p@PSJ8_~uDd1u`?LBsC+rIR_3nKYqYL-}{)t_vZb7m=CpKw^0?jo|8AX{ig7YhZL zJvNTjc~@rG(CWru6x?OCHu8QK(Hu{5EHyanvDG5%P*`=4?9zXS6R5+x7Z$*ejZ4Jo z2X!S)qbvn=_8*Z;^;4y|mL#nh?l{{%{ln62+Q`8Htj=*BpoNnHcZDbZ)^kksiMpIt zD4^@NK`hRaHv0Zgco<%yMV%=F_4;9|H}6;*Tuh};8*XJLfdg4VyeGOw&47L(PP=`U z)IUEtYN^@cGQB5BN)Z7c#AfwCb6HS&j-_LS1xphs?BdCn>>cPA9p1TBhj+xugxfT{ z#;k>8k%9?6Nh^aq#gx##fw6+JHCSYg8})r1TGB`9J-3$JIhm}%K{WJHeHl++|aiL%XR?~X0 z$F&=1Hd$wL>}FQL@~GbCu+jZaM|t03rJrJQ`o>UWF#}a`NS!2!vTveL^udC!6H(_g zPy*$7S)u^$^gznnVM=_mSb zHJtwAi-#`7j7y3KN9g2ZQFq)pGxf6VP5Z|+4x3AODR0lpe5?Jfn@-4Xn2C-|b92O` zijxbpe9_A>nlQYZU#W`jy!V4L7RG-|G|+pi!>LM}^)`EI;(WlC zO3I5LWikEZ^Z`XTf?twGLf=2Qs{NkMFt5q{eAdjCjr~8-9scV(lIcY4_Yv>{yoU1J z!muwdShZaXXpA@}21EhMBBEuwmWK&dKMOp*-l%?F zcihysEpDjgQ(g?B-z=9Fm6=bb1b}}vTdOPuX9h^`J7B$ea$8W%W^^@Bb#i9pJT&y+ z>^9@(*^5BUW?~&iLXGxgffT#WET7Z5lE-$)653}PL~d8_5(rdM$&js2{C(#6`m zDGvsi(b2F78yEH8*lZkU)I$V)-C&XKK;{t*g!<7at@kaP7_XCnuX0+U$>1c30=^}6 zS80lS`|tz^1?+w8ycHin==gTDOVKdmA#-yDpKv(0mni@48S5@Qev)x}%P&@ z!xmYEVsOPet()+NmKP|=^`~Ss{8Ny&8766CVsg|J$!VoeD~by z_0ommQotX{MXyZ;>{4TSaW?O!AmH^PrJk6SYFmuPmfWblW41W5Ne(B@y)n%Z7rt%` zzDN6!hRK0w#-Ul${R(Ql6y~CHif+RF$r?7c*P6i3({X)4G?phlpNYy5ex>hoE&TMb zrr|^uL!J*%Imd}fQ0Dq}bpfRcPnf-+Iil(8LI!99$8-^2YO}Pp5v&btr1?vgDW$l- zcX={jU{twSyRKiilW|%cxVCF`$*P$|~4Ym?rciz_4#KJ+gJ zQ7q2JhM_Bm7VS3?q}ZD*b7OP-yJY>zR5wA6~*C`K8f?Lv2JG zvG<~knTBDX6miP93RfF6AYats9ydYMV8OZ49AKWy<0pAy-g1=uPkNk4AOcmtB;_F= zv9dm=N?@UTMD8(5{+4R`BmO$d4aB7HAbqC8%SbWD1I~ZtQTTQa>5dHG*?8gNyY1u zC^zxquN`g|devZF&7tgx_+S7?$J=_uhErsIkYbAPL`gKNNxd1E`npVMxC7(t; z!FrMEtj4pyr3gVeajj%`e9F<8nZpk(T>QD(!(fb!du62H?nzg4{IA`buvL_xzQ#us zhTe7dh%jtITWf#}ZI`7XgacTuu#}2tkk7mFCX^^Y^2>^TxDXvUu%<@QpNAEcFV*s~EZGJ4l3#j2H2%>SC0XX~FTSZQD)BAtpN*262C(KryH- z%O38T@W%Ign(g(ym8&l)Fg)Ui5>e@6d?%ek%`@VE&LrkmHArB#lZ}1}wS5^jLmmsD zmlijVPc@DeNr4#EwEwg4H$l}#Q;(bD6p+@Q{uIZv>uy@X2RfLC+ujSK^q$v~PXqtH1m%;&> zxrTfvN*2v3mvU<mU)Up#3h3droX&PsfQVEJY$tCxB#xonq$?jqGQ@D(+=t7)E^2vqIPHAF`@VvlF*US_92l*^Jn~l4#3-1EDOyRM>kTYW|-D~S!qwo-fD&)(hQ*CzY z&xG#J3P?hV8MN2Fh?<#1NS^<YM5>UA=p+q~`%raEi{-ywihx8wT zB>Z4aPLHA{bk)|4|Jj90tcF3);hQdFW4kUvn_XrohR!-9T9Ok#oBI|Vy_6~IxBP65 zYg7_D(hyOy)@Zy_4KrG8#KF~y$RT?_nGT)aQL~_>E}b{#P^{*zvugV+qCk>Z9&$8_KV*R4UGKzDtpsz z;*+$uE9=9tuQA0H$jUJBxRjOxY>PkOaxU%;hD6-_!_I0?2?shAoIZUruGlHQy;22( zMg0DHA~yloCAq2o7>eilumPYlm)crMbwq2NN@{Nc1<+n1URKaradynw@J@i&a4|a@ zZ=F0#xGe*bWCfqGFJpWoC*?)OU<+;=e9q^{y$yRyZdx0~i0oO7=2sgr+&JqDy9EFq z&^cs?`c*gm#{>|1pY3Df4adG!P+RC~T#`}A&7sLunIaC*f|;1ZUO40Yrr^*vZ(e1P z1%d3%S-&#U$a>em661V1o|YVmRKm_K9IHm!lt_^v$RGyf>R%Lq9s21UJAZ6qR9|qw z9is0=Sp^63l7!#gIrV}8uEd}A@=k>^@Pzq0FXgTXMlJ|eYKc0aLDx1vHD;K&M5<5` zn9VvxDIVu}x3T-IQA$}O>$7DhRQC}sVKj7?W_sr#3}hv&A*f~qB(wEI>R)NE%I8!W&XI*M$?&!xHvA>j>0mhQ zjL_+1`8_rj9NVW?mMAmZ*(UCyjJc1IIuEK;kZ?QtMheTV%Kmx`4Z9_o@OM2P*s5(S z@1?>~k_a%CW44WoU&foXuRo!>%{}+1(OZ_R3ktLdxTmmaw`hw>xcrwH1Z~vSxBa%& zEDNqJA7oU~$aSVUm^qFSMI@1vv9DbCX6}ZP!5V$|ZQ6mmzQ|mfo;h!Vr%%kx(UD@3 zMzdu!TNq-H0&h%8#oosMBke#?hvR%s3|O#nG#}%N7^%bbfM-ZIvMKUppJ4QCLy@8X zwAwPU;p;|c zcp!k!sI+<;m|@i{tL^~YVD&3Or~@;sMu*j?2)n`mZ&WN7ukoqcfPUawJPQxh(caaL IW`n=_A8aaXb^rhX literal 0 HcmV?d00001 diff --git a/app/schema.prisma b/app/schema.prisma new file mode 100644 index 000000000..28fee8ee9 --- /dev/null +++ b/app/schema.prisma @@ -0,0 +1,99 @@ +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") +} + +generator client { + provider = "prisma-client-js" +} + +model User { + id Int @id @default(autoincrement()) + uuid String? @default(uuid()) + email String? @unique + username String? @unique + createdAt DateTime @default(now()) + lastActiveTimestamp DateTime @default(now()) + isAdmin Boolean @default(false) + hasAcceptedTos Boolean @default(false) + hasSubscribedToMarketingEmails Boolean @default(false) + isSignUpComplete Boolean @default(false) + isSetUpComplete Boolean @default(false) + stripeId String? + checkoutSessionId String? + hasPaid Boolean @default(false) + subscriptionTier String? + subscriptionStatus String? + sendEmail Boolean @default(false) + datePaid DateTime? + credits Int @default(3) + chats Chat[] + conversations Conversation[] +} + +model DailyStats { + id Int @id @default(autoincrement()) + date DateTime @default(now()) @unique + totalViews Int @default(0) + prevDayViewsChangePercent String @default("0") + userCount Int @default(0) + paidUserCount Int @default(0) + userDelta Int @default(0) + paidUserDelta Int @default(0) + totalRevenue Float @default(0) + totalProfit Float @default(0) + sources PageViewSource[] +} + +model PageViewSource { + date DateTime @default(now()) + name String + visitors Int + dailyStats DailyStats? @relation(fields: [dailyStatsId], references: [id]) + dailyStatsId Int? + @@id([date, name]) +} + +model Logs { + id Int @id @default(autoincrement()) + createdAt DateTime @default(now()) + message String + level String +} + +model Chat { + id Int @id @default(autoincrement()) + uuid String? @default(uuid()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + team_id Int? + team_name String? + team_status String? + userRespondedWithNextAction Boolean @default(false) + agentChatHistory String? + isExceptionOccured Boolean @default(false) + showLoader Boolean @default(false) + streamAgentResponse Boolean @default(false) + customerBrief String? + user User? @relation(fields: [userId], references: [id]) + userId Int? + name String? @default("New chat") + isChatNameUpdated Boolean @default(false) + isChatTerminated Boolean @default(false) + selectedTeam String? + conversations Conversation[] +} + +model Conversation { + id Int @id @default(autoincrement()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + message String + role String + agentConversationHistory String? + isLoading Boolean @default(false) + chat Chat? @relation(fields: [chatId], references: [id]) + chatId Int? + user User? @relation(fields: [userId], references: [id]) + userId Int? +} diff --git a/app/src/client/App.tsx b/app/src/client/App.tsx new file mode 100644 index 000000000..1671beb46 --- /dev/null +++ b/app/src/client/App.tsx @@ -0,0 +1,179 @@ +import { useMemo, useEffect, ReactNode, useState } from 'react'; +import { useLocation } from 'react-router-dom'; + +import './Main.css'; + +import { useAuth } from 'wasp/client/auth'; +import { updateCurrentUser, userModelSetup } from 'wasp/client/operations'; + +import AppNavBar from './components/AppNavBar'; +import Footer from './components/Footer'; +import ServerNotRechableComponent from './components/ServerNotRechableComponent'; +import LoadingComponent from './components/LoadingComponent'; +import TosAndMarketingEmailsModal from './components/TosAndMarketingEmailsModal'; + +const addServerErrorClass = () => { + if (!document.body.classList.contains('server-error')) { + document.body.classList.add('server-error'); + } +}; + +const removeServerErrorClass = () => { + if (document.body.classList.contains('server-error')) { + document.body.classList.remove('server-error'); + } +}; + +/** + * use this component to wrap all child components + * this is useful for templates, themes, and context + */ +export default function App({ children }: { children: ReactNode }) { + const location = useLocation(); + const [showTosAndMarketingEmailsModal, setShowTosAndMarketingEmailsModal] = useState(false); + const [isUserModelSetupCalled, setIsUserModelSetupCalled] = useState(false); + const { data: user, isError, isLoading } = useAuth(); + + const shouldDisplayAppNavBar = useMemo(() => { + return location.pathname !== '/'; //&& location.pathname !== '/login' && location.pathname !== '/signup'; + }, [location]); + + const isAdminDashboard = useMemo(() => { + return location.pathname.startsWith('/admin'); + }, [location]); + + const isCheckoutPage = useMemo(() => { + return location.pathname.startsWith('/checkout'); + }, [location]); + + const isAccountPage = useMemo(() => { + return location.pathname.startsWith('/account'); + }, [location]); + + const isPlayGroundPage = useMemo(() => { + return location.pathname.startsWith('/playground'); + }, [location]); + + const isBuildPage = useMemo(() => { + return location.pathname.startsWith('/build'); + }, [location]); + + useEffect(() => { + const handleUserSetup = async () => { + if (user) { + if (!user.isSignUpComplete) { + if (user.hasAcceptedTos) { + updateCurrentUser({ + isSignUpComplete: true, + }); + setShowTosAndMarketingEmailsModal(false); + } else { + const hasAcceptedTos = localStorage.getItem('hasAcceptedTos') === 'true'; + const hasSubscribedToMarketingEmails = localStorage.getItem('hasSubscribedToMarketingEmails') === 'true'; + if (!hasAcceptedTos) { + setShowTosAndMarketingEmailsModal(true); + } else { + updateCurrentUser({ + isSignUpComplete: true, + hasAcceptedTos: hasAcceptedTos, + hasSubscribedToMarketingEmails: hasSubscribedToMarketingEmails, + }); + setShowTosAndMarketingEmailsModal(false); + } + } + } else { + if (!user.isSetUpComplete && !isUserModelSetupCalled) { + setIsUserModelSetupCalled(true); + try { + await userModelSetup(); + console.log('userModelSetup done!'); + } catch (error) { + console.log('Error in userModelSetup!'); + } + } + setShowTosAndMarketingEmailsModal(false); + const lastSeenAt = new Date(user.lastActiveTimestamp); + const today = new Date(); + if (today.getTime() - lastSeenAt.getTime() > 5 * 60 * 1000) { + updateCurrentUser({ lastActiveTimestamp: today }); + } + } + } + }; + handleUserSetup(); + }, [user, isUserModelSetupCalled]); + + useEffect(() => { + if (location.hash) { + const id = location.hash.replace('#', ''); + const element = document.getElementById(id); + if (element) { + element.scrollIntoView(); + } + } + }, [location]); + + return ( + <> +

+ + ); +} + +const FooterWrapper: React.FC = () => { + return ( +
+
+ ); +}; diff --git a/app/src/client/Main.css b/app/src/client/Main.css new file mode 100644 index 000000000..03c26e555 --- /dev/null +++ b/app/src/client/Main.css @@ -0,0 +1,448 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@font-face { + font-family: "Panton-SemiBold"; + src: url("/fonts/Panton-SemiBold.woff") format("woff"); +} + +@font-face { + font-family: "Rubik-Medium"; + src: url("/fonts/Rubik-Medium.ttf") format("truetype"); +} + +@font-face { + font-family: "RobotoMono-Regular"; + src: url("/fonts/RobotoMono-Regular.ttf") format("truetype"); +} + +@font-face { + font-family: "Roboto-Light"; + src: url("/fonts/Roboto-Light.ttf") format("truetype"); +} + +@font-face { + font-family: "Roboto-Regular"; + src: url("/fonts/Roboto-Regular.ttf") format("truetype"); +} + +body { + margin: 0; + /* font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", + "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; */ + font-family:"Roboto-Regular"; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", + monospace; +} + + +.toc-marketing-checkbox-wrapper .checkbox-container { + padding-left: 22px; + display: block; + position: relative; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* Hide the browser's default checkbox */ +.toc-marketing-checkbox-wrapper input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} +/* Create a custom checkbox */ +.toc-marketing-checkbox-wrapper .checkmark { + position: absolute; + top: 2px; + left: 0; + height: 13px; + width: 13px; + background-color: #eae4d9; +} + +.toc-marketing-checkbox-wrapper.light .checkmark { + background-color: #fff; +} + +/* On mouse-over, add a grey background color */ +.toc-marketing-checkbox-wrapper .checkbox-container:hover input ~ .checkmark { + background-color: #eae4d9; +} +.toc-marketing-checkbox-wrapper.light .checkbox-container:hover input ~ .checkmark { + background-color: #fff; +} + + +/* When the checkbox is checked, add a blue background */ +.toc-marketing-checkbox-wrapper .checkbox-container input:checked ~ .checkmark { + background-color: #6faabc; +} +.toc-marketing-checkbox-wrapper.light .checkbox-container input:checked ~ .checkmark { + background-color: #fff; +} + +/* Create the checkmark/indicator (hidden when not checked) */ +.toc-marketing-checkbox-wrapper .checkmark:after { + content: ""; + position: absolute; + display: none; +} + +/* Show the checkmark when checked */ +.toc-marketing-checkbox-wrapper .checkbox-container input:checked ~ .checkmark:after { + display: block; +} + +/* Style the checkmark/indicator */ +.toc-marketing-checkbox-wrapper .checkbox-container .checkmark:after { + left: 4px; + top: 0px; + width: 6px; + height: 11px; + border: solid #eae4d9; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +.toc-marketing-checkbox-wrapper.light .checkbox-container .checkmark:after { + border: solid #6faabc; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} + +.toc-marketing-container{ + -webkit-transition: max-height 0.5s; + -moz-transition: max-height 0.5s; + -ms-transition: max-height 0.5s; + -o-transition: max-height 0.5s; + transition: max-height 0.5s; + overflow: hidden; +} + +.accordion-wrapper { + border-radius: 5px; + margin-bottom: 0px; + margin-top: -7px; +} + +.accordion-title { + padding: 10px 15px; + cursor: pointer; +} + +/* .accordion-title.open { + background: #ddd; +} */ + +.accordion-item { + max-height: 0; + overflow: hidden; + transition: max-height 0.3s ease-in-out; +} + +.accordion-item.collapsed { + max-height: 100vh; +} + +.accordion-content { + padding: 10px 15px; + /* background: #fff; + border-bottom: 1px solid #ddd; */ +} + +/* Google login button */ +.gsi-material-button { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + -webkit-appearance: none; + background-color: WHITE; + background-image: none; + border: 1px solid #747775; + -webkit-border-radius: 4px; + border-radius: 4px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #1f1f1f; + cursor: pointer; + font-family: 'Roboto', arial, sans-serif; + font-size: 14px; + height: 40px; + letter-spacing: 0.25px; + outline: none; + overflow: hidden; + padding: 0 12px; + position: relative; + text-align: center; + -webkit-transition: background-color .218s, border-color .218s, box-shadow .218s; + transition: background-color .218s, border-color .218s, box-shadow .218s; + vertical-align: middle; + white-space: nowrap; + width: auto; + max-width: 400px; + min-width: min-content; +} + +.gsi-material-button .gsi-material-button-icon { + height: 20px; + margin-right: 12px; + min-width: 20px; + width: 20px; +} + +.gsi-material-button .gsi-material-button-content-wrapper { + -webkit-align-items: center; + align-items: center; + display: flex; + -webkit-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: nowrap; + flex-wrap: nowrap; + height: 100%; + justify-content: center; + position: relative; + width: 100%; +} + +.gsi-material-button .gsi-material-button-contents { + -webkit-flex-grow: 0; + flex-grow: 0; + font-family: 'Roboto', arial, sans-serif; + font-weight: 500; + overflow: hidden; + text-overflow: ellipsis; + vertical-align: top; +} + +.gsi-material-button .gsi-material-button-state { + -webkit-transition: opacity .218s; + transition: opacity .218s; + bottom: 0; + left: 0; + opacity: 0; + position: absolute; + right: 0; + top: 0; +} + +.gsi-material-button:disabled { + cursor: default; + background-color: #ffffff61; + border-color: #1f1f1f1f; +} + +.gsi-material-button:disabled .gsi-material-button-contents { + opacity: 38%; +} + +.gsi-material-button:disabled .gsi-material-button-icon { + opacity: 38%; +} + +.gsi-material-button:not(:disabled):active .gsi-material-button-state, +.gsi-material-button:not(:disabled):focus .gsi-material-button-state { + background-color: #303030; + opacity: 12%; +} + +.gsi-material-button:not(:disabled):hover { + -webkit-box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15); + box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15); +} + +.gsi-material-button:not(:disabled):hover .gsi-material-button-state { + background-color: #303030; + opacity: 8%; +} +/* Google login button */ + +.social-icons-wrapper .discord-link:before { + background-color: #8c9fae; + content: ""; + display: flex; + height: 24px; + -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJHcmFwaGljX0VsZW1lbnRzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAxMzUgMTM1IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMzUgMTM1IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGU+LnN0MHtmaWxsOiNmZmZ9PC9zdHlsZT48cGF0aCBjbGFzcz0ic3QwIiBkPSJNNjcuNSAwQzMwLjIgMCAwIDMwLjIgMCA2Ny41UzMwLjIgMTM1IDY3LjUgMTM1IDEzNSAxMDQuOCAxMzUgNjcuNSAxMDQuOCAwIDY3LjUgMHptNDMuNCA4OS43Yy02LjYgNS0xNC4xIDguNy0yMiAxMS4xLTEuOC0yLjQtMy40LTUtNC43LTcuNiAyLjYtMSA1LjEtMi4yIDcuNC0zLjYtLjYtLjUtMS4yLS45LTEuOC0xLjQtMTQgNi42LTMwLjEgNi42LTQ0LjEgMC0uNi41LTEuMi45LTEuOCAxLjQgMi40IDEuNCA0LjkgMi42IDcuNCAzLjUtMS40IDIuNy0yLjkgNS4yLTQuNyA3LjctNy45LTIuNC0xNS40LTYuMi0yMi0xMS4xQzIzIDczLjUgMjYuMSA1NyAzNy40IDQwLjFjNS43LTIuNiAxMS44LTQuNSAxOC01LjYuOSAxLjUgMS43IDMuMSAyLjQgNC43IDYuNi0xIDEzLjMtMSAxOS45IDAgLjYtMS41IDEuNS0zLjMgMi4zLTQuNyA2LjIgMS4xIDEyLjIgMi45IDE4IDUuNSA5LjggMTQuNiAxNC43IDMwLjkgMTIuOSA0OS43eiIvPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01My4yIDYyLjJjLTQuNCAwLTcuOCA0LTcuOCA4LjhzMy41IDguOCA3LjggOC44YzQuNCAwIDcuOC00IDcuOC04LjguMS00LjktMy40LTguOC03LjgtOC44ek04Mi4xIDYyLjJjLTQuNCAwLTcuOCA0LTcuOCA4LjhzMy41IDguOCA3LjggOC44YzQuNCAwIDcuOC00IDcuOC04LjguMS00LjktMy40LTguOC03LjgtOC44eiIvPjwvc3ZnPg==); + mask-image: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJHcmFwaGljX0VsZW1lbnRzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAxMzUgMTM1IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMzUgMTM1IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGU+LnN0MHtmaWxsOiNmZmZ9PC9zdHlsZT48cGF0aCBjbGFzcz0ic3QwIiBkPSJNNjcuNSAwQzMwLjIgMCAwIDMwLjIgMCA2Ny41UzMwLjIgMTM1IDY3LjUgMTM1IDEzNSAxMDQuOCAxMzUgNjcuNSAxMDQuOCAwIDY3LjUgMHptNDMuNCA4OS43Yy02LjYgNS0xNC4xIDguNy0yMiAxMS4xLTEuOC0yLjQtMy40LTUtNC43LTcuNiAyLjYtMSA1LjEtMi4yIDcuNC0zLjYtLjYtLjUtMS4yLS45LTEuOC0xLjQtMTQgNi42LTMwLjEgNi42LTQ0LjEgMC0uNi41LTEuMi45LTEuOCAxLjQgMi40IDEuNCA0LjkgMi42IDcuNCAzLjUtMS40IDIuNy0yLjkgNS4yLTQuNyA3LjctNy45LTIuNC0xNS40LTYuMi0yMi0xMS4xQzIzIDczLjUgMjYuMSA1NyAzNy40IDQwLjFjNS43LTIuNiAxMS44LTQuNSAxOC01LjYuOSAxLjUgMS43IDMuMSAyLjQgNC43IDYuNi0xIDEzLjMtMSAxOS45IDAgLjYtMS41IDEuNS0zLjMgMi4zLTQuNyA2LjIgMS4xIDEyLjIgMi45IDE4IDUuNSA5LjggMTQuNiAxNC43IDMwLjkgMTIuOSA0OS43eiIvPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01My4yIDYyLjJjLTQuNCAwLTcuOCA0LTcuOCA4LjhzMy41IDguOCA3LjggOC44YzQuNCAwIDcuOC00IDcuOC04LjguMS00LjktMy40LTguOC03LjgtOC44ek04Mi4xIDYyLjJjLTQuNCAwLTcuOCA0LTcuOCA4LjhzMy41IDguOCA3LjggOC44YzQuNCAwIDcuOC00IDcuOC04LjguMS00LjktMy40LTguOC03LjgtOC44eiIvPjwvc3ZnPg==); + width: 24px; +} + +.social-icons-wrapper .github-link:before { + background-color: #8c9fae; + content: ""; + display: flex; + height: 24px; + -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMzUgMTMzIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMzUgMTMzIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNMTM1IDY3LjVDMTM1IDMwLjIgMTA0LjggMCA2Ny41IDBTMCAzMC4yIDAgNjcuNWMwIDMxLjYgMjEuNyA1OC4xIDUxIDY1LjUgMC0uMi4xLS40LjEtLjYgMC0xLjUtLjEtNi44LS4xLTEyLjMtMTguNCA0LTIyLjItNy45LTIyLjItNy45LTMtNy43LTcuMy05LjctNy4zLTkuNy02LTQuMS40LTQuMS40LTQuMSA2LjcuNCAxMC4yIDYuOCAxMC4yIDYuOCA1LjkgMTAuMSAxNS40IDcuMyAxOS4yIDUuNS41LTQuMyAyLjMtNy4zIDQuMi04LjktMTQuNi0xLjUtMzAtNy4zLTMwLTMyLjggMC03LjMgMi42LTEzLjIgNi44LTE3LjgtLjctMS43LTMtOC41LjctMTcuNiAwIDAgNS42LTEuOCAxOC4xIDYuOCA1LjQtMS41IDEwLjktMi4yIDE2LjUtMi4yczExLjMuOCAxNi41IDIuMmMxMi42LTguNiAxOC4xLTYuOCAxOC4xLTYuOCAzLjYgOS4xIDEuMyAxNiAuNyAxNy42IDQuMyA0LjYgNi44IDEwLjYgNi44IDE3LjggMCAyNS41LTE1LjQgMzEuMS0zMC4yIDMyLjggMi40IDIuMSA0LjUgNi4xIDQuNSAxMi4zIDAgOC45LS4xIDE2LjEtLjEgMTguMyAwIC4yIDAgLjQuMS43IDI5LjItNy40IDUxLTMzLjkgNTEtNjUuNnoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNmZmYiLz48L3N2Zz4=); + mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMzUgMTMzIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMzUgMTMzIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNMTM1IDY3LjVDMTM1IDMwLjIgMTA0LjggMCA2Ny41IDBTMCAzMC4yIDAgNjcuNWMwIDMxLjYgMjEuNyA1OC4xIDUxIDY1LjUgMC0uMi4xLS40LjEtLjYgMC0xLjUtLjEtNi44LS4xLTEyLjMtMTguNCA0LTIyLjItNy45LTIyLjItNy45LTMtNy43LTcuMy05LjctNy4zLTkuNy02LTQuMS40LTQuMS40LTQuMSA2LjcuNCAxMC4yIDYuOCAxMC4yIDYuOCA1LjkgMTAuMSAxNS40IDcuMyAxOS4yIDUuNS41LTQuMyAyLjMtNy4zIDQuMi04LjktMTQuNi0xLjUtMzAtNy4zLTMwLTMyLjggMC03LjMgMi42LTEzLjIgNi44LTE3LjgtLjctMS43LTMtOC41LjctMTcuNiAwIDAgNS42LTEuOCAxOC4xIDYuOCA1LjQtMS41IDEwLjktMi4yIDE2LjUtMi4yczExLjMuOCAxNi41IDIuMmMxMi42LTguNiAxOC4xLTYuOCAxOC4xLTYuOCAzLjYgOS4xIDEuMyAxNiAuNyAxNy42IDQuMyA0LjYgNi44IDEwLjYgNi44IDE3LjggMCAyNS41LTE1LjQgMzEuMS0zMC4yIDMyLjggMi40IDIuMSA0LjUgNi4xIDQuNSAxMi4zIDAgOC45LS4xIDE2LjEtLjEgMTguMyAwIC4yIDAgLjQuMS43IDI5LjItNy40IDUxLTMzLjkgNTEtNjUuNnoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNmZmYiLz48L3N2Zz4=); + width: 24px; +} + +.social-icons-wrapper .discord-link:hover, .social-icons-wrapper .github-link:hover { + opacity: 0.6; +} + +@layer utilities { + /* Chrome, Safari and Opera */ + .no-scrollbar::-webkit-scrollbar { + display: none; + } + + .no-scrollbar { + -ms-overflow-style: none; /* IE and Edge */ + scrollbar-width: none; /* Firefox */ + } + + .chat-height { + @apply h-[calc(100vh_-_8.125rem)] lg:h-[calc(100vh_-_5.625rem)]; + } + .inbox-height { + @apply h-[calc(100vh_-_8.125rem)] lg:h-[calc(100vh_-_5.625rem)]; + } +} + + + +/* third-party libraries CSS */ + +.tableCheckbox:checked ~ div span { + @apply opacity-100; +} +.tableCheckbox:checked ~ div { + @apply bg-primary border-primary; +} + +.apexcharts-legend-text { + @apply !text-body dark:!text-bodydark; +} +.apexcharts-text { + @apply !fill-body dark:!fill-bodydark; +} +.apexcharts-xcrosshairs { + @apply !fill-stroke dark:!fill-strokedark; +} +.apexcharts-gridline { + @apply !stroke-stroke dark:!stroke-strokedark; +} +.apexcharts-series.apexcharts-pie-series path { + @apply dark:!stroke-transparent; +} +.apexcharts-legend-series { + @apply !inline-flex gap-1.5; +} +.apexcharts-tooltip.apexcharts-theme-light { + @apply dark:!bg-boxdark dark:!border-strokedark; +} +.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title { + @apply dark:!bg-meta-4 dark:!border-strokedark; +} +.apexcharts-xaxistooltip, .apexcharts-yaxistooltip { + @apply dark:!bg-meta-4 dark:!border-meta-4 dark:!text-bodydark1; +} +.apexcharts-xaxistooltip-bottom:after { + @apply dark:!border-b-meta-4; +} +.apexcharts-xaxistooltip-bottom:before { + @apply dark:!border-b-meta-4; + +} + +.flatpickr-day.selected { + @apply bg-primary border-primary hover:bg-primary hover:border-primary; +} +.flatpickr-months .flatpickr-prev-month:hover svg, +.flatpickr-months .flatpickr-next-month:hover svg { + @apply fill-primary; +} +.flatpickr-calendar.arrowTop:before { + @apply dark:!border-b-boxdark; +} +.flatpickr-calendar.arrowTop:after { + @apply dark:!border-b-boxdark; +} +.flatpickr-calendar { + @apply dark:!bg-boxdark dark:!text-bodydark dark:!shadow-8 !p-6 2xsm:!w-auto; +} +.flatpickr-day { + @apply dark:!text-bodydark; +} +.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month { + @apply !top-7 dark:!text-white dark:!fill-white; +} +.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month { + @apply !left-7 +} +.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, .flatpickr-months .flatpickr-next-month.flatpickr-next-month { + @apply !right-7 +} +span.flatpickr-weekday, +.flatpickr-months .flatpickr-month { + @apply dark:!text-white dark:!fill-white; +} +.flatpickr-day.inRange { + @apply dark:!bg-meta-4 dark:!border-meta-4 dark:!shadow-7; +} +.flatpickr-day.selected, .flatpickr-day.startRange, +.flatpickr-day.selected, .flatpickr-day.endRange { + @apply dark:!text-white; +} + +.map-btn .jvm-zoom-btn { + @apply flex items-center justify-center w-7.5 h-7.5 rounded border border-stroke dark:border-strokedark hover:border-primary dark:hover:border-primary bg-white hover:bg-primary text-body hover:text-white dark:text-bodydark dark:hover:text-white text-2xl leading-none px-0 pt-0 pb-0.5; +} +.mapOne .jvm-zoom-btn { + @apply left-auto top-auto bottom-0; +} +.mapOne .jvm-zoom-btn.jvm-zoomin { + @apply right-10; +} +.mapOne .jvm-zoom-btn.jvm-zoomout { + @apply right-0; +} +.mapTwo .jvm-zoom-btn { + @apply top-auto bottom-0; +} +.mapTwo .jvm-zoom-btn.jvm-zoomin { + @apply left-0; +} +.mapTwo .jvm-zoom-btn.jvm-zoomout { + @apply left-10; +} + +.taskCheckbox:checked ~ .box span { + @apply opacity-100; +} +.taskCheckbox:checked ~ p { + @apply line-through; +} +.taskCheckbox:checked ~ .box { + @apply bg-primary border-primary dark:border-primary; +} + +.custom-input-date::-webkit-calendar-picker-indicator { + background-position: center; + background-repeat: no-repeat; + background-size: 20px; +} +.custom-input-date-1::-webkit-calendar-picker-indicator { + background-image: url(./images/icon/icon-calendar.svg); +} +.custom-input-date-2::-webkit-calendar-picker-indicator { + background-image: url(./images/icon/icon-arrow-down.svg); +} + +[x-cloak] { + display: none !important; +} diff --git a/app/src/client/admin/common/Loader/index.tsx b/app/src/client/admin/common/Loader/index.tsx new file mode 100644 index 000000000..4221fda7f --- /dev/null +++ b/app/src/client/admin/common/Loader/index.tsx @@ -0,0 +1,9 @@ +const Loader = () => { + return ( +
+
+
+ ); +}; + +export default Loader; diff --git a/app/src/client/admin/common/types.ts b/app/src/client/admin/common/types.ts new file mode 100644 index 000000000..0df997314 --- /dev/null +++ b/app/src/client/admin/common/types.ts @@ -0,0 +1,3 @@ +import { type DailyStats } from 'wasp/entities'; + +export type DailyStatsProps = { dailyStats?: DailyStats; weeklyStats?: DailyStats[]; isLoading?: boolean }; diff --git a/app/src/client/admin/components/BarChart.tsx b/app/src/client/admin/components/BarChart.tsx new file mode 100644 index 000000000..2ab5f7624 --- /dev/null +++ b/app/src/client/admin/components/BarChart.tsx @@ -0,0 +1,146 @@ +import { ApexOptions } from 'apexcharts'; +import React, { useState } from 'react'; +import ReactApexChart from 'react-apexcharts'; + +interface BarChartState { + series: { data: number[] }[]; +} + +const BarChart: React.FC = () => { + const [state, setState] = useState({ + series: [ + { + data: [ + 168, 385, 201, 298, 187, 195, 291, 110, 215, 390, 280, 112, 123, 212, + 270, 190, 310, 115, 90, 380, 112, 223, 292, 170, 290, 110, 115, 290, + 380, 312, + ], + }, + ], + }); + + const options: ApexOptions = { + colors: ['#3C50E0'], + chart: { + fontFamily: 'Rubik-Medium, sans-serif', + type: 'bar', + height: 350, + toolbar: { + show: false, + }, + }, + plotOptions: { + bar: { + horizontal: false, + columnWidth: '55%', + // endingShape: "rounded", + borderRadius: 2, + }, + }, + dataLabels: { + enabled: false, + }, + stroke: { + show: true, + width: 4, + colors: ['transparent'], + }, + xaxis: { + categories: [ + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '10', + '11', + '12', + '13', + '14', + '15', + '16', + '17', + '18', + '19', + '20', + '21', + '22', + '23', + '24', + '25', + '26', + '27', + '28', + '29', + '30', + ], + axisBorder: { + show: false, + }, + axisTicks: { + show: false, + }, + }, + legend: { + show: true, + position: 'top', + horizontalAlign: 'left', + fontFamily: 'inter', + + markers: { + radius: 99, + }, + }, + // yaxis: { + // title: false, + // }, + grid: { + yaxis: { + lines: { + show: false, + }, + }, + }, + fill: { + opacity: 1, + }, + + tooltip: { + x: { + show: false, + }, + // y: { + // formatter: function (val) { + // return val; + // }, + // }, + }, + }; + + return ( +
+
+

+ Visitors Analytics +

+
+ +
+
+ +
+
+
+ ); +}; + +export default BarChart; diff --git a/app/src/client/admin/components/Breadcrumb.tsx b/app/src/client/admin/components/Breadcrumb.tsx new file mode 100644 index 000000000..3e3a6131a --- /dev/null +++ b/app/src/client/admin/components/Breadcrumb.tsx @@ -0,0 +1,24 @@ +import { Link } from 'react-router-dom'; +interface BreadcrumbProps { + pageName: string; +} +const Breadcrumb = ({ pageName }: BreadcrumbProps) => { + return ( +
+

+ {pageName} +

+ + +
+ ); +}; + +export default Breadcrumb; diff --git a/app/src/client/admin/components/CheckboxOne.tsx b/app/src/client/admin/components/CheckboxOne.tsx new file mode 100644 index 000000000..7adcd6976 --- /dev/null +++ b/app/src/client/admin/components/CheckboxOne.tsx @@ -0,0 +1,39 @@ +import { useState } from 'react'; +import { cn } from '../../../shared/utils'; + +const CheckboxOne = () => { + const [isChecked, setIsChecked] = useState(false); + + return ( +
+ +
+ ); +}; + +export default CheckboxOne; diff --git a/app/src/client/admin/components/CheckboxTwo.tsx b/app/src/client/admin/components/CheckboxTwo.tsx new file mode 100644 index 000000000..11b9160c3 --- /dev/null +++ b/app/src/client/admin/components/CheckboxTwo.tsx @@ -0,0 +1,48 @@ +import { useState } from 'react'; +import { cn } from '../../../shared/utils'; + +const CheckboxTwo = () => { + const [enabled, setEnabled] = useState(false); + return ( +
+ +
+ ); +}; + +export default CheckboxTwo; diff --git a/app/src/client/admin/components/DarkModeSwitcher.tsx b/app/src/client/admin/components/DarkModeSwitcher.tsx new file mode 100644 index 000000000..62cc6bdb6 --- /dev/null +++ b/app/src/client/admin/components/DarkModeSwitcher.tsx @@ -0,0 +1,58 @@ +import { cn } from '../../../shared/utils'; +import useColorMode from '../../hooks/useColorMode'; + +const DarkModeSwitcher = () => { + const [colorMode, setColorMode] = useColorMode(); + + return ( +
+ +
+ ); +}; + +export default DarkModeSwitcher; diff --git a/app/src/client/admin/components/DataStats.tsx b/app/src/client/admin/components/DataStats.tsx new file mode 100644 index 000000000..73910ad68 --- /dev/null +++ b/app/src/client/admin/components/DataStats.tsx @@ -0,0 +1,102 @@ +const DataStats = () => { + return ( +
+
+
+
+

+ $4,350 +

+

Unique Visitors

+
+
+ + + + 18% +
+
+
+
+

+ 55.9K +

+

Total Pageviews

+
+
+ + + + 25% +
+
+
+
+

+ 54% +

+

Bounce Rate

+
+
+ + + + 7% +
+
+
+
+

+ 2m 56s +

+

Visit Duration

+
+
+ + + + 12% +
+
+
+
+ ); +}; + +export default DataStats; diff --git a/app/src/client/admin/components/DropdownEditDelete.tsx b/app/src/client/admin/components/DropdownEditDelete.tsx new file mode 100644 index 000000000..cd2f9e416 --- /dev/null +++ b/app/src/client/admin/components/DropdownEditDelete.tsx @@ -0,0 +1,117 @@ +import { useEffect, useRef, useState } from 'react'; +import { cn } from '../../../shared/utils'; + +const DropdownDefault = () => { + const [dropdownOpen, setDropdownOpen] = useState(false); + + const trigger = useRef(null); + const dropdown = useRef(null); + + // close on click outside + useEffect(() => { + const clickHandler = ({ target }: MouseEvent) => { + if (!dropdown.current) return; + if (!dropdownOpen || dropdown.current.contains(target) || trigger.current.contains(target)) return; + setDropdownOpen(false); + }; + document.addEventListener('click', clickHandler); + return () => document.removeEventListener('click', clickHandler); + }); + + // close if the esc key is pressed + useEffect(() => { + const keyHandler = ({ keyCode }: KeyboardEvent) => { + if (!dropdownOpen || keyCode !== 27) return; + setDropdownOpen(false); + }; + document.addEventListener('keydown', keyHandler); + return () => document.removeEventListener('keydown', keyHandler); + }); + + return ( +
+ +
setDropdownOpen(true)} + onBlur={() => setDropdownOpen(false)} + className={cn( + 'absolute right-0 top-full z-40 w-40 space-y-1 rounded-sm border border-stroke bg-white p-1.5 shadow-default dark:border-strokedark dark:bg-boxdark', + { + block: dropdownOpen, + hidden: !dropdownOpen, + } + )} + > + + +
+
+ ); +}; + +export default DropdownDefault; diff --git a/app/src/client/admin/components/Header.tsx b/app/src/client/admin/components/Header.tsx new file mode 100644 index 000000000..088fa44b9 --- /dev/null +++ b/app/src/client/admin/components/Header.tsx @@ -0,0 +1,96 @@ +import DarkModeSwitcher from './DarkModeSwitcher'; +import MessageButton from './MessageButton'; +import DropdownUser from '../../components/DropdownUser'; +import { cn } from '../../../shared/utils'; + +const Header = (props: { + sidebarOpen: string | boolean | undefined; + setSidebarOpen: (arg0: boolean) => void; + user?: any; +}) => { + return ( +
+
+
+ {/* */} + + + + {/* */} +
+ +
    + {/* */} + {/* */} + {/* */} + + {/* */} + + {/* */} +
+ +
+ {/* */} + {!!props.user && } + {/* */} +
+
+
+ ); +}; + +export default Header; diff --git a/app/src/client/admin/components/MessageButton.tsx b/app/src/client/admin/components/MessageButton.tsx new file mode 100644 index 000000000..774ba924a --- /dev/null +++ b/app/src/client/admin/components/MessageButton.tsx @@ -0,0 +1,45 @@ +import { Link } from 'wasp/client/router'; + +const MessageButton = () => { + return ( +
  • + + + {/* TODO: only animate if there are new messages */} + + + + + + + + + + +
  • + ); +}; + +export default MessageButton; diff --git a/app/src/client/admin/components/PieChart.tsx b/app/src/client/admin/components/PieChart.tsx new file mode 100644 index 000000000..4a7042e5e --- /dev/null +++ b/app/src/client/admin/components/PieChart.tsx @@ -0,0 +1,150 @@ +import { ApexOptions } from 'apexcharts'; +import React, { useState } from 'react'; +import ReactApexChart from 'react-apexcharts'; + +interface PieChartState { + series: number[]; +} + +const options: ApexOptions = { + chart: { + type: 'donut', + }, + colors: ['#10B981', '#375E83', '#259AE6', '#FFA70B'], + labels: ['Remote', 'Hybrid', 'Onsite', 'Leave'], + legend: { + show: true, + position: 'bottom', + }, + + plotOptions: { + pie: { + donut: { + size: '65%', + background: 'transparent', + }, + }, + }, + dataLabels: { + enabled: false, + }, + responsive: [ + { + breakpoint: 2600, + options: { + chart: { + width: 380, + }, + }, + }, + { + breakpoint: 640, + options: { + chart: { + width: 200, + }, + }, + }, + ], +}; + +const PieChart: React.FC = () => { + const [state, setState] = useState({ + series: [65, 34, 12, 56], + }); + + return ( +
    +
    +
    +
    + Visitors Analytics +
    +
    +
    +
    + + + + + + + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +

    + Desktop + 65% +

    +
    +
    +
    +
    + +

    + Tablet + 34% +

    +
    +
    +
    +
    + +

    + Mobile + 45% +

    +
    +
    +
    +
    + +

    + Unknown + 12% +

    +
    +
    +
    +
    + ); +}; + +export default PieChart; diff --git a/app/src/client/admin/components/RevenueAndProfitChart.tsx b/app/src/client/admin/components/RevenueAndProfitChart.tsx new file mode 100644 index 000000000..98bd8f908 --- /dev/null +++ b/app/src/client/admin/components/RevenueAndProfitChart.tsx @@ -0,0 +1,242 @@ +import { ApexOptions } from 'apexcharts'; +import { useEffect, useMemo, useState } from 'react'; +import ReactApexChart from 'react-apexcharts'; +import { DailyStatsProps } from '../common/types'; + +const options: ApexOptions = { + legend: { + show: false, + position: 'top', + horizontalAlign: 'left', + }, + colors: ['#3C50E0', '#80CAEE'], + chart: { + fontFamily: 'Rubik-Medium, sans-serif', + height: 335, + type: 'area', + dropShadow: { + enabled: true, + color: '#623CEA14', + top: 10, + blur: 4, + left: 0, + opacity: 0.1, + }, + + toolbar: { + show: false, + }, + }, + responsive: [ + { + breakpoint: 1024, + options: { + chart: { + height: 300, + }, + }, + }, + { + breakpoint: 1366, + options: { + chart: { + height: 350, + }, + }, + }, + ], + stroke: { + width: [2, 2], + curve: 'straight', + }, + // labels: { + // show: false, + // position: "top", + // }, + grid: { + xaxis: { + lines: { + show: true, + }, + }, + yaxis: { + lines: { + show: true, + }, + }, + }, + dataLabels: { + enabled: false, + }, + markers: { + size: 4, + colors: '#fff', + strokeColors: ['#3056D3', '#80CAEE'], + strokeWidth: 3, + strokeOpacity: 0.9, + strokeDashArray: 0, + fillOpacity: 1, + discrete: [], + hover: { + size: undefined, + sizeOffset: 5, + }, + }, + xaxis: { + type: 'category', + axisBorder: { + show: false, + }, + axisTicks: { + show: false, + }, + }, + yaxis: { + title: { + style: { + fontSize: '0px', + }, + }, + min: 0, + max: 100, + }, +}; + +interface ChartOneState { + series: { + name: string; + data: number[]; + }[]; +} + +const RevenueAndProfitChart = ({ weeklyStats, isLoading }: DailyStatsProps) => { + const dailyRevenueArray = useMemo(() => { + if (!!weeklyStats && weeklyStats?.length > 0) { + const sortedWeeks = weeklyStats?.sort((a, b) => { + return new Date(a.date).getTime() - new Date(b.date).getTime(); + }); + return sortedWeeks.map((stat) => stat.totalRevenue); + } + }, [weeklyStats]); + + const daysOfWeekArr = useMemo(() => { + if (!!weeklyStats && weeklyStats?.length > 0) { + const datesArr = weeklyStats?.map((stat) => { + // get day of week, month, and day of month + const dateArr = stat.date.toString().split(' '); + return dateArr.slice(0, 3).join(' '); + }); + return datesArr; + } + }, [weeklyStats]); + + const [state, setState] = useState({ + series: [ + { + name: 'Profit', + data: [4, 7, 10, 11, 13, 14, 17], + }, + ], + }); + const [chartOptions, setChartOptions] = useState(options); + + useEffect(() => { + if (dailyRevenueArray && dailyRevenueArray.length > 0) { + setState((prevState) => { + // Check if a "Revenue" series already exists + const existingSeriesIndex = prevState.series.findIndex((series) => series.name === 'Revenue'); + + if (existingSeriesIndex >= 0) { + // Update existing "Revenue" series data + return { + ...prevState, + series: prevState.series.map((serie, index) => { + if (index === existingSeriesIndex) { + return { ...serie, data: dailyRevenueArray }; + } + return serie; + }), + }; + } else { + // Add "Revenue" series as it does not exist yet + return { + ...prevState, + series: [ + ...prevState.series, + { + name: 'Revenue', + data: dailyRevenueArray, + }, + ], + }; + } + }); + } + }, [dailyRevenueArray]); + + useEffect(() => { + if (!!daysOfWeekArr && daysOfWeekArr?.length > 0 && !!dailyRevenueArray && dailyRevenueArray?.length > 0) { + setChartOptions({ + ...options, + xaxis: { + ...options.xaxis, + categories: daysOfWeekArr, + }, + yaxis: { + ...options.yaxis, + // get the min & max values to the neareast hundred + max: Math.ceil(Math.max(...dailyRevenueArray) / 100) * 100, + min: Math.floor(Math.min(...dailyRevenueArray) / 100) * 100, + }, + }); + } + }, [daysOfWeekArr, dailyRevenueArray]); + + return ( +
    +
    +
    +
    + + + +
    +

    Total Profit

    +

    Last 7 Days

    +
    +
    +
    + + + +
    +

    Total Revenue

    +

    Last 7 Days

    +
    +
    +
    +
    +
    + + + +
    +
    +
    + +
    +
    + +
    +
    +
    + ); +}; + +export default RevenueAndProfitChart; diff --git a/app/src/client/admin/components/Sidebar.tsx b/app/src/client/admin/components/Sidebar.tsx new file mode 100644 index 000000000..5bd58b5df --- /dev/null +++ b/app/src/client/admin/components/Sidebar.tsx @@ -0,0 +1,527 @@ +import React, { useEffect, useRef, useState } from 'react'; +import { NavLink, useLocation } from 'react-router-dom'; +import Logo from '../../static/logo.svg'; +import SidebarLinkGroup from './SidebarLinkGroup'; +import { cn } from '../../../shared/utils'; + +interface SidebarProps { + sidebarOpen: boolean; + setSidebarOpen: (arg: boolean) => void; +} + +const Sidebar = ({ sidebarOpen, setSidebarOpen }: SidebarProps) => { + const location = useLocation(); + const { pathname } = location; + + const trigger = useRef(null); + const sidebar = useRef(null); + + const storedSidebarExpanded = localStorage.getItem('sidebar-expanded'); + const [sidebarExpanded, setSidebarExpanded] = useState( + storedSidebarExpanded === null ? false : storedSidebarExpanded === 'true' + ); + + // close on click outside + useEffect(() => { + const clickHandler = ({ target }: MouseEvent) => { + if (!sidebar.current || !trigger.current) return; + if (!sidebarOpen || sidebar.current.contains(target) || trigger.current.contains(target)) return; + setSidebarOpen(false); + }; + document.addEventListener('click', clickHandler); + return () => document.removeEventListener('click', clickHandler); + }); + + // close if the esc key is pressed + useEffect(() => { + const keyHandler = ({ keyCode }: KeyboardEvent) => { + if (!sidebarOpen || keyCode !== 27) return; + setSidebarOpen(false); + }; + document.addEventListener('keydown', keyHandler); + return () => document.removeEventListener('keydown', keyHandler); + }); + + useEffect(() => { + localStorage.setItem('sidebar-expanded', sidebarExpanded.toString()); + if (sidebarExpanded) { + document.querySelector('body')?.classList.add('sidebar-expanded'); + } else { + document.querySelector('body')?.classList.remove('sidebar-expanded'); + } + }, [sidebarExpanded]); + + return ( + + ); +}; + +export default Sidebar; diff --git a/app/src/client/admin/components/SidebarLinkGroup.tsx b/app/src/client/admin/components/SidebarLinkGroup.tsx new file mode 100644 index 000000000..5330b12e8 --- /dev/null +++ b/app/src/client/admin/components/SidebarLinkGroup.tsx @@ -0,0 +1,21 @@ +import { ReactNode, useState } from 'react'; + +interface SidebarLinkGroupProps { + children: (handleClick: () => void, open: boolean) => ReactNode; + activeCondition: boolean; +} + +const SidebarLinkGroup = ({ + children, + activeCondition, +}: SidebarLinkGroupProps) => { + const [open, setOpen] = useState(activeCondition); + + const handleClick = () => { + setOpen(!open); + }; + + return
  • {children(handleClick, open)}
  • ; +}; + +export default SidebarLinkGroup; diff --git a/app/src/client/admin/components/SourcesTable.tsx b/app/src/client/admin/components/SourcesTable.tsx new file mode 100644 index 000000000..c05f5ba3f --- /dev/null +++ b/app/src/client/admin/components/SourcesTable.tsx @@ -0,0 +1,47 @@ +import { type PageViewSource } from 'wasp/entities'; + +const SourcesTable = ({ sources }: { sources: PageViewSource[] | undefined }) => { + return ( +
    +

    Top Sources

    + +
    +
    +
    +
    Source
    +
    +
    +
    Visitors
    +
    +
    +
    Sales
    +
    +
    + + {sources && sources.length > 0 ? ( + sources.map((source) => ( +
    +
    +

    {source.name}

    +
    + +
    +

    {source.visitors}

    +
    + +
    +

    --

    +
    +
    + )) + ) : ( +
    +

    No data to display

    +
    + )} +
    +
    + ); +}; + +export default SourcesTable; diff --git a/app/src/client/admin/components/SwitcherOne.tsx b/app/src/client/admin/components/SwitcherOne.tsx new file mode 100644 index 000000000..33a2e9471 --- /dev/null +++ b/app/src/client/admin/components/SwitcherOne.tsx @@ -0,0 +1,33 @@ +import { type User } from 'wasp/entities'; +import { useState } from 'react'; +import { cn } from '../../../shared/utils'; + +const SwitcherOne = ({ user, updateUserById }: { user?: Partial; updateUserById?: any }) => { + const [enabled, setEnabled] = useState(user?.hasPaid || false); + + return ( +
    + +
    + ); +}; + +export default SwitcherOne; diff --git a/app/src/client/admin/components/SwitcherTwo.tsx b/app/src/client/admin/components/SwitcherTwo.tsx new file mode 100644 index 000000000..780a726ca --- /dev/null +++ b/app/src/client/admin/components/SwitcherTwo.tsx @@ -0,0 +1,66 @@ +import { useState } from 'react'; +import { cn } from '../../../shared/utils'; + +const SwitcherTwo = () => { + const [enabled, setEnabled] = useState(false); + + return ( +
    + +
    + ); +}; + +export default SwitcherTwo; diff --git a/app/src/client/admin/components/TotalPaidViewsCard.tsx b/app/src/client/admin/components/TotalPaidViewsCard.tsx new file mode 100644 index 000000000..f729c5535 --- /dev/null +++ b/app/src/client/admin/components/TotalPaidViewsCard.tsx @@ -0,0 +1,55 @@ +import { cn } from '../../../shared/utils'; +import { UpArrow, DownArrow } from '../images/icon/icons-arrows'; + +type PageViewsStats = { + totalPageViews: number | undefined; + prevDayViewsChangePercent: string | undefined; +}; + +const TotalPageViewsCard = ({ totalPageViews, prevDayViewsChangePercent }: PageViewsStats) => { + const isDeltaPositive = parseInt(prevDayViewsChangePercent || '') > 0; + + return ( +
    +
    + + + + +
    + +
    +
    +

    {totalPageViews}

    + Total page views +
    + + {prevDayViewsChangePercent && parseInt(prevDayViewsChangePercent) !== 0 && ( + + {prevDayViewsChangePercent}%{parseInt(prevDayViewsChangePercent) > 0 ? : } + + )} +
    +
    + ); +}; + +export default TotalPageViewsCard; diff --git a/app/src/client/admin/components/TotalPayingUsersCard.tsx b/app/src/client/admin/components/TotalPayingUsersCard.tsx new file mode 100644 index 000000000..03ffb9d78 --- /dev/null +++ b/app/src/client/admin/components/TotalPayingUsersCard.tsx @@ -0,0 +1,53 @@ +import { useMemo } from 'react'; +import { UpArrow, DownArrow } from '../images/icon/icons-arrows'; +import type { DailyStatsProps } from '../common/types'; +import { cn } from '../../../shared/utils'; + +const TotalPayingUsersCard = ({ dailyStats, isLoading }: DailyStatsProps) => { + const isDeltaPositive = useMemo(() => { + return !!dailyStats?.paidUserDelta && dailyStats?.paidUserDelta > 0; + }, [dailyStats]); + + return ( +
    +
    + + + + +
    + +
    +
    +

    {dailyStats?.paidUserCount}

    + Total Paying Users +
    + + + {isLoading ? '...' : dailyStats?.paidUserDelta !== 0 ? dailyStats?.paidUserDelta : '-'} + {dailyStats?.paidUserDelta !== 0 ? isDeltaPositive ? : : null} + +
    +
    + ); +}; + +export default TotalPayingUsersCard; diff --git a/app/src/client/admin/components/TotalRevenueCard.tsx b/app/src/client/admin/components/TotalRevenueCard.tsx new file mode 100644 index 000000000..af31b9aca --- /dev/null +++ b/app/src/client/admin/components/TotalRevenueCard.tsx @@ -0,0 +1,62 @@ +import { useMemo, useEffect } from 'react'; +import { UpArrow, DownArrow } from '../images/icon/icons-arrows'; +import type { DailyStatsProps } from '../common/types'; + +const TotalRevenueCard = ({dailyStats, weeklyStats, isLoading}: DailyStatsProps) => { + const isDeltaPositive = useMemo(() => { + if (!weeklyStats) return false; + return (weeklyStats[0].totalRevenue - weeklyStats[1]?.totalRevenue) > 0; + }, [weeklyStats]); + + const deltaPercentage = useMemo(() => { + if ( !weeklyStats || weeklyStats.length < 2 || isLoading) return; + if ( weeklyStats[1]?.totalRevenue === 0 || weeklyStats[0]?.totalRevenue === 0 ) return 0; + + weeklyStats.sort((a, b) => b.id - a.id); + + const percentage = ((weeklyStats[0].totalRevenue - weeklyStats[1]?.totalRevenue) / weeklyStats[1]?.totalRevenue) * 100; + return Math.floor(percentage); + }, [weeklyStats]); + + return ( +
    +
    + + + + + +
    + +
    +
    +

    ${dailyStats?.totalRevenue}

    + Total Revenue +
    + + + {isLoading ? '...' : !!deltaPercentage ? deltaPercentage + '%' : '-'} + {!!deltaPercentage ? isDeltaPositive ? : : null} + +
    +
    + ); +}; + +export default TotalRevenueCard; diff --git a/app/src/client/admin/components/TotalSignupsCard.tsx b/app/src/client/admin/components/TotalSignupsCard.tsx new file mode 100644 index 000000000..cd7c25391 --- /dev/null +++ b/app/src/client/admin/components/TotalSignupsCard.tsx @@ -0,0 +1,57 @@ +import { useMemo } from 'react'; +import { UpArrow } from '../images/icon/icons-arrows'; +import type { DailyStatsProps } from '../common/types'; +import { cn } from '../../../shared/utils'; + +const TotalSignupsCard = ({ dailyStats, isLoading }: DailyStatsProps) => { + const isDeltaPositive = useMemo(() => { + return !!dailyStats?.userDelta && dailyStats.userDelta > 0; + }, [dailyStats]); + + return ( +
    +
    + + + + + +
    + +
    +
    +

    {dailyStats?.userCount}

    + Total Signups +
    + + + {isLoading ? '...' : isDeltaPositive ? dailyStats?.userDelta : '-'} + {!!dailyStats && isDeltaPositive && } + +
    +
    + ); +}; + +export default TotalSignupsCard; diff --git a/app/src/client/admin/components/UsersTable.tsx b/app/src/client/admin/components/UsersTable.tsx new file mode 100644 index 000000000..54b3ff0f1 --- /dev/null +++ b/app/src/client/admin/components/UsersTable.tsx @@ -0,0 +1,234 @@ +import { updateUserById, useQuery, getPaginatedUsers } from 'wasp/client/operations'; +import { useState, useEffect } from 'react'; +import SwitcherOne from './SwitcherOne'; +import Loader from '../common/Loader'; +import DropdownEditDelete from './DropdownEditDelete'; + +type StatusOptions = 'past_due' | 'canceled' | 'active' | 'deleted'; + +const UsersTable = () => { + const [skip, setskip] = useState(0); + const [page, setPage] = useState(1); + const [email, setEmail] = useState(undefined); + const [statusOptions, setStatusOptions] = useState([]); + const [hasPaidFilter, setHasPaidFilter] = useState(undefined); + const { data, isLoading, error } = useQuery(getPaginatedUsers, { + skip, + hasPaidFilter: hasPaidFilter, + emailContains: email, + subscriptionStatus: statusOptions?.length > 0 ? statusOptions : undefined, + }); + + useEffect(() => { + setPage(1); + }, [email, statusOptions]); + + useEffect(() => { + setskip((page - 1) * 10); + }, [page]); + + return ( +
    +
    +
    + Filters: +
    +
    + + { + setEmail(e.currentTarget.value); + }} + className='rounded border border-stroke py-2 px-5 bg-white outline-none transition focus:border-primary active:border-primary disabled:cursor-default disabled:bg-whiter dark:border-form-strokedark dark:bg-form-input dark:focus:border-primary' + /> + +
    +
    + {!!statusOptions && statusOptions.length > 0 ? ( + statusOptions.map((opt, idx) => ( + + {opt} + { + e.stopPropagation(); + setStatusOptions((prevValue) => { + return prevValue?.filter((val) => val !== opt); + }); + }} + className='z-30 cursor-pointer pl-2 hover:text-danger' + > + + + + + + )) + ) : ( + + Select Status Filters + + )} +
    + + + + + + + + +
    +
    + + +
    +
    + {!isLoading && ( +
    + page + { + setPage(parseInt(e.currentTarget.value)); + }} + className='rounded-md border-1 border-stroke bg-transparent px-4 font-medium outline-none transition focus:border-primary active:border-primary dark:border-form-strokedark dark:bg-form-input dark:focus:border-primary' + /> + / {data?.totalPages} +
    + )} +
    +
    + +
    +
    +

    Email / Username

    +
    +
    +

    Last Active

    +
    +
    +

    Subscription Status

    +
    +
    +

    Stripe ID

    +
    +
    +

    Has Paid

    +
    +
    +

    +
    +
    + {isLoading && ( +
    + +
    + )} + {!!data?.users && + data?.users?.length > 0 && + data.users.map((user) => ( +
    +
    +
    +

    {user.email}

    +

    {user.username}

    +
    +
    + +
    +

    + {user.lastActiveTimestamp.toLocaleDateString() + ' ' + user.lastActiveTimestamp.toLocaleTimeString()} +

    +
    +
    +

    {user.subscriptionStatus}

    +
    +
    +

    {user.stripeId}

    +
    +
    +
    + +
    +
    +
    + +
    +
    + ))} +
    +
    + ); +}; + +export default UsersTable; diff --git a/app/src/client/admin/images/icon/icon-arrow-down.svg b/app/src/client/admin/images/icon/icon-arrow-down.svg new file mode 100644 index 000000000..b25ef986f --- /dev/null +++ b/app/src/client/admin/images/icon/icon-arrow-down.svg @@ -0,0 +1,6 @@ + + + diff --git a/app/src/client/admin/images/icon/icon-calendar.svg b/app/src/client/admin/images/icon/icon-calendar.svg new file mode 100644 index 000000000..3360ff12f --- /dev/null +++ b/app/src/client/admin/images/icon/icon-calendar.svg @@ -0,0 +1,6 @@ + + + diff --git a/app/src/client/admin/images/icon/icon-copy-alt.svg b/app/src/client/admin/images/icon/icon-copy-alt.svg new file mode 100644 index 000000000..1f0c77026 --- /dev/null +++ b/app/src/client/admin/images/icon/icon-copy-alt.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/src/client/admin/images/icon/icon-moon.svg b/app/src/client/admin/images/icon/icon-moon.svg new file mode 100644 index 000000000..1ca395d0a --- /dev/null +++ b/app/src/client/admin/images/icon/icon-moon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/app/src/client/admin/images/icon/icon-sun.svg b/app/src/client/admin/images/icon/icon-sun.svg new file mode 100644 index 000000000..4524cde9f --- /dev/null +++ b/app/src/client/admin/images/icon/icon-sun.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/app/src/client/admin/images/icon/icons-arrows.tsx b/app/src/client/admin/images/icon/icons-arrows.tsx new file mode 100644 index 000000000..f2629fa52 --- /dev/null +++ b/app/src/client/admin/images/icon/icons-arrows.tsx @@ -0,0 +1,35 @@ +export function UpArrow() { + return ( + + + + ); +} + +export function DownArrow() { + return ( + + + + ); +} diff --git a/app/src/client/admin/layout/DefaultLayout.tsx b/app/src/client/admin/layout/DefaultLayout.tsx new file mode 100644 index 000000000..3495da057 --- /dev/null +++ b/app/src/client/admin/layout/DefaultLayout.tsx @@ -0,0 +1,41 @@ +import { useAuth } from 'wasp/client/auth'; +import { useState, ReactNode, FC } from 'react'; +import Header from '../components/Header'; +import Sidebar from '../components/Sidebar'; + +interface Props { + children?: ReactNode; +} + +const DefaultLayout: FC = ({ children }) => { + const [sidebarOpen, setSidebarOpen] = useState(false); + const { data: user } = useAuth(); + + return ( +
    + {/* */} +
    + {/* */} + + {/* */} + + {/* */} +
    + {/* */} +
    + {/* */} + + {/* */} +
    +
    {children}
    +
    + {/* */} +
    + {/* */} +
    + {/* */} +
    + ); +}; + +export default DefaultLayout; diff --git a/app/src/client/admin/pages/Calendar.tsx b/app/src/client/admin/pages/Calendar.tsx new file mode 100644 index 000000000..41e056a43 --- /dev/null +++ b/app/src/client/admin/pages/Calendar.tsx @@ -0,0 +1,274 @@ +import Breadcrumb from '../components/Breadcrumb'; +import DefaultLayout from '../layout/DefaultLayout'; + +const Calendar = () => { + return ( + + + + {/* */} +
    + + + + + + + + + + + + + + {/* */} + + + + + + + + + + {/* */} + {/* */} + + + + + + + + + + {/* */} + {/* */} + + + + + + + + + + {/* */} + {/* */} + + + + + + + + + + {/* */} + {/* */} + + + + + + + + + + {/* */} + +
    + Sunday + Sun + + Monday + Mon + + Tuesday + Tue + + Wednesday + Wed + + Thursday + Thur + + Friday + Fri + + Saturday + Sat +
    + + 1 + +
    + + More + +
    + + Redesign Website + + + 1 Dec - 2 Dec + +
    +
    +
    + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + +
    + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + +
    + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + +
    + + 22 + + + + 23 + + + + 24 + + + + 25 + +
    + + More + +
    + + App Design + + + 25 Dec - 27 Dec + +
    +
    +
    + + 26 + + + + 27 + + + + 28 + +
    + + 29 + + + + 30 + + + + 31 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + +
    +
    + {/* */} +
    + ); +}; + +export default Calendar; diff --git a/app/src/client/admin/pages/Chart.tsx b/app/src/client/admin/pages/Chart.tsx new file mode 100644 index 000000000..e56ebca79 --- /dev/null +++ b/app/src/client/admin/pages/Chart.tsx @@ -0,0 +1,23 @@ +import Breadcrumb from '../components/Breadcrumb'; +import BarChart from '../components/BarChart'; +import PieChart from '../components/PieChart'; +import DataStats from '../components/DataStats'; +import DefaultLayout from '../layout/DefaultLayout'; + +const Chart = () => { + return ( + + + +
    + +
    + +
    + +
    +
    + ); +}; + +export default Chart; diff --git a/app/src/client/admin/pages/DashboardPage.tsx b/app/src/client/admin/pages/DashboardPage.tsx new file mode 100644 index 000000000..25882c8c4 --- /dev/null +++ b/app/src/client/admin/pages/DashboardPage.tsx @@ -0,0 +1,43 @@ +import { type User } from 'wasp/entities'; +import { useQuery, getDailyStats } from 'wasp/client/operations'; +import TotalSignupsCard from '../components/TotalSignupsCard'; +import TotalPageViewsCard from '../components/TotalPaidViewsCard'; +import TotalPayingUsersCard from '../components/TotalPayingUsersCard'; +import TotalRevenueCard from '../components/TotalRevenueCard'; +import RevenueAndProfitChart from '../components/RevenueAndProfitChart'; +import SourcesTable from '../components/SourcesTable'; +import DefaultLayout from '../layout/DefaultLayout'; +import { useHistory } from 'react-router-dom'; + +const Dashboard = ({ user }: { user: User }) => { + const history = useHistory(); + if (!user.isAdmin) { + history.push('/'); + } + + const { data: stats, isLoading, error } = useQuery(getDailyStats); + + return ( + +
    + + + + +
    + +
    + + +
    + +
    +
    +
    + ); +}; + +export default Dashboard; diff --git a/app/src/client/admin/pages/Form/FormElements.tsx b/app/src/client/admin/pages/Form/FormElements.tsx new file mode 100644 index 000000000..0716981bb --- /dev/null +++ b/app/src/client/admin/pages/Form/FormElements.tsx @@ -0,0 +1,343 @@ +import Breadcrumb from '../../components/Breadcrumb'; +import CheckboxOne from '../../components/CheckboxOne'; +import SwitcherOne from '../../components/SwitcherOne'; +import SwitcherTwo from '../../components/SwitcherTwo'; +import DefaultLayout from '../../layout/DefaultLayout'; + +const FormElements = () => { + return ( + + + +
    +
    + {/* */} +
    +
    +

    + Input Fields +

    +
    +
    +
    + + +
    + +
    + + +
    + +
    + + +
    +
    +
    + + {/* */} +
    +
    +

    + Toggle switch input +

    +
    +
    + + +
    +
    + + {/* */} +
    +
    +

    + Time and date +

    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
    +
    +
    + + {/* */} +
    +
    +

    + File upload +

    +
    +
    +
    + + +
    + +
    + + +
    +
    +
    +
    + +
    + {/* */} +
    +
    +

    + Textarea Fields +

    +
    +
    +
    + + +
    + +
    + + +
    + +
    + + +
    +
    +
    + + {/* */} +
    +
    +

    + Checkbox and radio +

    +
    +
    + +
    +
    + + {/* */} +
    +
    +

    + Select input +

    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + + Design + + + + + + + + Development + + + + + + +
    + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + ); +}; + +export default FormElements; diff --git a/app/src/client/admin/pages/Form/FormLayout.tsx b/app/src/client/admin/pages/Form/FormLayout.tsx new file mode 100644 index 000000000..4f7a54968 --- /dev/null +++ b/app/src/client/admin/pages/Form/FormLayout.tsx @@ -0,0 +1,258 @@ +import Breadcrumb from '../../components/Breadcrumb'; +import DefaultLayout from '../../layout/DefaultLayout'; + +const FormLayout = () => { + return ( + + + +
    +
    + {/* */} +
    +
    +

    + Contact Form +

    +
    +
    +
    +
    +
    + + +
    + +
    + + +
    +
    + +
    + + +
    + +
    + + +
    + +
    + +
    + + + + + + + + +
    +
    + +
    + + +
    + + +
    +
    +
    +
    + +
    + {/* */} +
    +
    +

    + Sign In Form +

    +
    +
    +
    +
    + + +
    + +
    + + +
    + +
    + + + + Forget password? + +
    + + +
    +
    +
    + + {/* */} +
    +
    +

    + Sign Up Form +

    +
    +
    +
    +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + + +
    +
    +
    +
    +
    +
    + ); +}; + +export default FormLayout; diff --git a/app/src/client/admin/pages/Messages.tsx b/app/src/client/admin/pages/Messages.tsx new file mode 100644 index 000000000..751591ecf --- /dev/null +++ b/app/src/client/admin/pages/Messages.tsx @@ -0,0 +1,10 @@ +// TODO: Add messages page + +function AdminMessages() { + + return ( +
    Hello world!
    + ) +} + +export default AdminMessages diff --git a/app/src/client/admin/pages/Settings.tsx b/app/src/client/admin/pages/Settings.tsx new file mode 100644 index 000000000..6cc19efaa --- /dev/null +++ b/app/src/client/admin/pages/Settings.tsx @@ -0,0 +1,325 @@ +import { FormEvent } from 'react'; +import Breadcrumb from '../components/Breadcrumb'; +import toast from 'react-hot-toast'; +import DefaultLayout from '../layout/DefaultLayout'; + +const Settings = () => { + const handleSubmit = (event: FormEvent) => { + // TODO add toast provider / wrapper + event.preventDefault(); + const confirmed = confirm("Are you sure you want to save the changes?"); + if (confirmed) { + toast.success("Your changes have been saved successfully!"); + } else { + toast.error("Your changes have not been saved!"); + } + }; + + return ( + +
    + + + +
    +
    +
    +
    +

    + Personal Information +

    +
    +
    +
    +
    +
    + +
    + + + + + + + + + +
    +
    + +
    + + +
    +
    + +
    + +
    + + + + + + + + + +
    +
    + +
    + + +
    + +
    + +
    + + + + + + + + + + + + + + + +
    +
    + +
    + + +
    +
    +
    +
    +
    +
    +
    +
    +

    + Your Photo +

    +
    +
    +
    +
    +
    + {/* User */} +
    +
    + + Edit your photo + + + + + +
    +
    + +
    + +
    + + + + + + + +

    + Click to upload or + drag and drop +

    +

    SVG, PNG, JPG or GIF

    +

    (max, 800 X 800px)

    +
    +
    + +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + ); +}; + +export default Settings; diff --git a/app/src/client/admin/pages/UiElements/Alerts.tsx b/app/src/client/admin/pages/UiElements/Alerts.tsx new file mode 100644 index 000000000..e3e7eed72 --- /dev/null +++ b/app/src/client/admin/pages/UiElements/Alerts.tsx @@ -0,0 +1,99 @@ +import Breadcrumb from '../../components/Breadcrumb'; +import DefaultLayout from '../../layout/DefaultLayout'; + +const Alerts = () => { + return ( + + + +
    +
    + {/* */} +
    +
    + + + +
    +
    +
    + Attention needed +
    +

    + Lorem Ipsum is simply dummy text of the printing and typesetting + industry. Lorem Ipsum has been the industry's standard dummy + text ever since the 1500s, when +

    +
    +
    + {/* */} +
    +
    + + + +
    +
    +
    + Message Sent Successfully +
    +

    + Lorem Ipsum is simply dummy text of the printing and typesetting + industry. +

    +
    +
    + {/* */} +
    +
    + + + +
    +
    +
    + There were 1 errors with your submission +
    +
      +
    • + Lorem Ipsum is simply dummy text of the printing +
    • +
    +
    +
    +
    +
    +
    + ); +}; + +export default Alerts; diff --git a/app/src/client/admin/pages/UiElements/Buttons.tsx b/app/src/client/admin/pages/UiElements/Buttons.tsx new file mode 100644 index 000000000..c1402f9f1 --- /dev/null +++ b/app/src/client/admin/pages/UiElements/Buttons.tsx @@ -0,0 +1,471 @@ +import { Link } from 'react-router-dom'; +import Breadcrumb from '../../components/Breadcrumb'; +import DefaultLayout from '../../layout/DefaultLayout'; + +const Buttons = () => { + return ( + + + + {/* */} +
    +
    +

    + Normal Button +

    +
    + +
    +
    + + Button + + + + Button + + + + Button + + + + Button + +
    + +
    + + Button + + + + Button + + + + Button + + + + Button + +
    + +
    + + Button + + + + Button + + + + Button + + + + Button + +
    +
    +
    + + {/* */} +
    +
    +

    + Button With Icon +

    +
    + +
    +
    + + + + + + + + Button With Icon + + + + + + + + + + Button With Icon + + + + + + + + + + Button With Icon + + + + + + + + + + Button With Icon + +
    + +
    + + + + + + + + + Button With Icon + + + + + + + + + + + Button With Icon + + + + + + + + + + + Button With Icon + + + + + + + + + + + Button With Icon + +
    + +
    + + + + + + + + + + + + + + Button With Icon + + + + + + + + + + + + + + + + Button With Icon + + + + + + + + + + + + + + + + Button With Icon + + + + + + + + + + + + + + + + Button With Icon + +
    +
    +
    +
    + ); +}; + +export default Buttons; diff --git a/app/src/client/admin/pages/Users.tsx b/app/src/client/admin/pages/Users.tsx new file mode 100644 index 000000000..ed23bc427 --- /dev/null +++ b/app/src/client/admin/pages/Users.tsx @@ -0,0 +1,16 @@ +import Breadcrumb from '../components/Breadcrumb'; +import UsersTable from '../components/UsersTable'; +import DefaultLayout from '../layout/DefaultLayout'; + +const Users = () => { + return ( + + +
    + +
    +
    + ); +}; + +export default Users; diff --git a/app/src/client/app/AccountPage.tsx b/app/src/client/app/AccountPage.tsx new file mode 100644 index 000000000..1c4d08efe --- /dev/null +++ b/app/src/client/app/AccountPage.tsx @@ -0,0 +1,108 @@ +import { Link } from 'wasp/client/router'; +import { type User } from 'wasp/entities'; +import { logout } from 'wasp/client/auth'; +// import { STRIPE_CUSTOMER_PORTAL_LINK } from '../../shared/constants'; +import CustomAuthRequiredLayout from '../app/layout/CustomAuthRequiredLayout'; +import Button from '../components/Button'; +// import FreeTrialButton from '../components/FreeTrialButton'; +import { MarketingEmailPreferenceSwitcher } from '../components/MarketingEmailPreferenceSwitcher'; + +const AccountPage = ({ user }: { user: User }) => { + return ( +
    +
    +
    +

    Account Information

    +
    +
    +
    + {!!user.email && ( +
    +
    Email address
    +
    + {user.email} +
    +
    + )} + {!!user.username && ( +
    +
    Username
    +
    + {user.username} +
    +
    + )} + {/*
    +
    Subscription status
    + {user.hasPaid ? ( + <> + {user.subscriptionStatus !== 'past_due' ? ( +
    + + Active +
    + ) : ( +
    + Your Account is Past Due! Please Update your Payment Information +
    + )} + + + ) : ( + <> +
    + N/A +
    +
    + +
    + + )} +
    */} +
    +
    I agree to receiving marketing emails
    + <> + + +
    +
    +
    +
    +
    +
    +
    + ); +}; + +function BuyMoreButton() { + return ( +
    + + Buy More/Upgrade + +
    + ); +} + +// function CustomerPortalButton() { +// const handleClick = () => { +// window.open(STRIPE_CUSTOMER_PORTAL_LINK, '_blank'); +// }; + +// return ( +//
    +// +//
    +// ); +// } + +const AccountPageWithCustomAuth = CustomAuthRequiredLayout(AccountPage); +export default AccountPageWithCustomAuth; diff --git a/app/src/client/app/BuildPage.tsx b/app/src/client/app/BuildPage.tsx new file mode 100644 index 000000000..d7abf7bbd --- /dev/null +++ b/app/src/client/app/BuildPage.tsx @@ -0,0 +1,192 @@ +import React, { useEffect, useState } from 'react'; +import { useHistory, useLocation } from 'react-router-dom'; + +import { type User } from 'wasp/entities'; + +import CustomAuthRequiredLayout from './layout/CustomAuthRequiredLayout'; +import CustomSidebar from '../components/CustomSidebar'; +import { cn } from '../../shared/utils'; + +import LoadingComponent from '../components/LoadingComponent'; +import { useBuildPage } from '../hooks/useBuildPage'; +import { filerOutComponentData } from '../utils/buildPageUtils'; +import UserPropertyHandler from '../components/buildPage/UserPropertyHandler'; + +interface BuildPageProps { + user: User; +} + +interface HeaderProps { + sidebarOpen: boolean; + setSidebarOpen: (open: boolean) => void; +} + +export const Header: React.FC = ({ sidebarOpen, setSidebarOpen }) => { + return ( +
    +
    +
    + {/* */} + + + + {/* */} +
    +
    +
    + ); +}; + +const BuildPage = ({ user }: BuildPageProps) => { + const { data, loading, error } = useBuildPage(); + const [sidebarOpen, setSidebarOpen] = useState(false); + const [sideNavSelectedItem, setSideNavSelectedItem] = useState('secret'); + const [togglePropertyList, setTogglePropertyList] = useState(false); + const { pathname } = location; + const activeBuildPageTab = pathname.split('/').pop(); + + const wrapperClass = document.body.classList.contains('server-error') + ? 'h-[calc(100vh-173px)]' + : 'h-[calc(100vh-80px)]'; + + const history = useHistory(); + useEffect(() => { + if (!user) { + history.push('/login'); + } else { + if (!user.hasPaid && user.isSignUpComplete) { + history.push('/pricing'); + } + } + }, [user, history]); + + useEffect(() => { + if (!activeBuildPageTab) return; + if (activeBuildPageTab === 'build') { + history.push(`/build/secret`); + } else { + setSideNavSelectedItem(activeBuildPageTab); + } + }, [activeBuildPageTab]); + + if (loading) { + return ; + } + + const handleSideNavItemClick = (selectedComponentName: string) => { + setSideNavSelectedItem(selectedComponentName); + setTogglePropertyList(!togglePropertyList); + history.push(`/build/${selectedComponentName}`); + }; + + return ( +
    + {/* */} +
    + {/* */} + + {/* */} + + {/* */} +
    + {/* */} +
    + {/* */} + + {/* */} +
    +
    + {error ? ( +

    + Oops! Something went wrong. Our server is currently unavailable. Please try again later. +

    + ) : data ? ( + + ) : ( +

    + Build Page - No valid component found for this section. +

    + )} +
    +
    + {/* */} + <> +
    + + {/* */} +
    + {/* */} +
    + ); +}; + +const BuildPageWithCustomAuth = CustomAuthRequiredLayout(BuildPage); +export default BuildPageWithCustomAuth; diff --git a/app/src/client/app/CheckoutPage.tsx b/app/src/client/app/CheckoutPage.tsx new file mode 100644 index 000000000..8cf6cd167 --- /dev/null +++ b/app/src/client/app/CheckoutPage.tsx @@ -0,0 +1,54 @@ +import { useEffect, useState } from 'react'; +import { useHistory, useLocation } from 'react-router-dom'; + +export default function CheckoutPage() { + const [paymentStatus, setPaymentStatus] = useState('loading'); + + const history = useHistory(); + const location = useLocation(); + + useEffect(() => { + function delayedRedirect() { + return setTimeout(() => { + history.push('/build'); + }, 2000); + } + + const queryParams = new URLSearchParams(location.search); + const isSuccess = queryParams.get('success'); + const isCanceled = queryParams.get('canceled'); + + if (isCanceled) { + setPaymentStatus('canceled'); + } else if (isSuccess) { + setPaymentStatus('paid'); + } else { + history.push('/build'); + } + delayedRedirect(); + return () => { + clearTimeout(delayedRedirect()); + }; + }, [location]); + + return ( +
    +
    +
    +

    + {paymentStatus === 'paid' + ? 'đŸĨŗ Payment Successful!' + : paymentStatus === 'canceled' + ? 'đŸ˜ĸ Payment Canceled' + : paymentStatus === 'error' && '🙄 Payment Error'} +

    + {paymentStatus !== 'loading' && ( + + You are being redirected to your build page...
    +
    + )} +
    +
    +
    + ); +} diff --git a/app/src/client/app/ExamplesPage.tsx b/app/src/client/app/ExamplesPage.tsx new file mode 100644 index 000000000..1505fa677 --- /dev/null +++ b/app/src/client/app/ExamplesPage.tsx @@ -0,0 +1,36 @@ +export default function ExamplesPage() { + return ( +
    +
    + +
    +
    + ); +} diff --git a/app/src/client/app/PlayGroundPage.tsx b/app/src/client/app/PlayGroundPage.tsx new file mode 100644 index 000000000..e324e9063 --- /dev/null +++ b/app/src/client/app/PlayGroundPage.tsx @@ -0,0 +1,217 @@ +import { useState, useEffect } from 'react'; +import _ from 'lodash'; +import { useSocket, useSocketListener } from 'wasp/client/webSocket'; +import { type User } from 'wasp/entities'; + +import { + updateCurrentChat, + useQuery, + getChat, + getChatFromUUID, + getConversations, + getModels, +} from 'wasp/client/operations'; + +import { useHistory, useLocation } from 'react-router-dom'; + +import CustomAuthRequiredLayout from './layout/CustomAuthRequiredLayout'; +import ChatLayout from './layout/ChatLayout'; +import ConversationsList from '../components/ConversationList'; +import NotificationBox from '../components/NotificationBox'; + +import { + updateCurrentChatStatus, + getInProgressConversation, + getFormattedChatMessages, + continueChat, + initiateChat, + handleChatError, +} from '../utils/chatUtils'; +import SelectTeamToChat from '../components/SelectTeamToChat'; +import Loader from '../admin/common/Loader'; +import { SelectedModelSchema } from '../interfaces/BuildPageInterfaces'; + +const PlayGroundPage = ({ user }: { user: User }) => { + const { data: userTeams, isLoading: isLoading } = useQuery(getModels, { type_name: 'team' }); + const [refetchAllChatDetails, setRefetchAllChatDetails] = useState(false); + const { socket } = useSocket(); + const location = useLocation(); + const { pathname } = location; + const history = useHistory(); + const queryParams = new URLSearchParams(location.search); + const [notificationErrorMessage, setNotificationErrorMessage] = useState(null); + + const uuidFromURL = pathname.split('/').pop(); + const activeChatUUId = uuidFromURL === 'chat' ? null : uuidFromURL; + const { data: activeChat } = useQuery(getChatFromUUID, { + chatUUID: activeChatUUId, + }); + const [triggerChatFormSubmitMsg, setTriggerChatFormSubmitMsg] = useState(null); + const activeChatId = Number(activeChat?.id); + const { data: currentChatDetails, refetch: refetchChat }: { data: any; refetch: any } = useQuery( + getChat, + { chatId: activeChatId }, + { enabled: !!activeChatId } + ); + const { data: conversations, refetch: refetchConversation } = useQuery( + getConversations, + { chatId: activeChatId }, + { enabled: !!activeChatId } + ); + const [triggerScrollBarMove, settriggerScrollBarMove] = useState(false); + + useSocketListener('streamFromTeamFinished', updateState); + + function updateState() { + refetchConversation(); + refetchChat(); + } + + // Function to remove query parameters + const removeQueryParameters = () => { + history.push({ + search: '', // This removes all query parameters + }); + }; + + const refetchChatDetails = () => { + setRefetchAllChatDetails(!refetchAllChatDetails); + }; + + const formSubmitMsg = queryParams.get('initiateChatMsg'); + useEffect(() => { + if (formSubmitMsg && currentChatDetails) { + if (!currentChatDetails.userRespondedWithNextAction) { + setTriggerChatFormSubmitMsg(formSubmitMsg); + } + removeQueryParameters(); + } + }, [formSubmitMsg, currentChatDetails]); + + const handleFormSubmit = async ( + userQuery: string, + isUserRespondedWithNextAction: boolean = false, + retrySameChat: boolean = false + ) => { + if (currentChatDetails.userId !== user.id) { + window.alert('Error: This chat does not belong to you.'); + } else if (currentChatDetails.isChatTerminated) { + setNotificationErrorMessage('This chat has been completed. Please start a new chat.'); + } else { + let inProgressConversation; + try { + if (isUserRespondedWithNextAction) { + await updateCurrentChatStatus(activeChatId, isUserRespondedWithNextAction, removeQueryParameters); + setTriggerChatFormSubmitMsg(null); + } + const messages: any = await getFormattedChatMessages(activeChatId, userQuery, retrySameChat); + inProgressConversation = await getInProgressConversation(activeChatId, userQuery, retrySameChat); + const selectedTeam: SelectedModelSchema | undefined = userTeams?.find( + (team: any) => team.json_str.name === currentChatDetails.selectedTeam + ) as SelectedModelSchema; + + if (selectedTeam) { + if (currentChatDetails.team_id) { + await continueChat( + socket, + currentChatDetails, + inProgressConversation, + userQuery, + messages, + activeChatId, + selectedTeam + ); + } else { + await initiateChat( + activeChatId, + currentChatDetails, + inProgressConversation, + socket, + messages, + refetchChatDetails, + selectedTeam + ); + } + } + settriggerScrollBarMove(true); + } catch (err: any) { + await handleChatError(err, activeChatId, inProgressConversation, history); + } + } + }; + + const onStreamAnimationComplete = () => { + updateCurrentChat({ + id: activeChatId, + data: { + streamAgentResponse: false, + }, + }); + }; + + // const userSelectedAction: any = queryParams.get('selected_user_action'); + let userSelectedActionMessage: string | null = null; + + const handleTeamClick = (e: React.MouseEvent): void => { + e.preventDefault(); + sessionStorage.setItem('selectedBuildPageTab', 'team'); + history.push(`/build`); + }; + + if (isLoading) { + return ( +
    + +
    + ); + } + + const notificationOnClick = () => { + setNotificationErrorMessage(null); + }; + return ( + +
    + {currentChatDetails ? ( +
    + {conversations && conversations.length > 0 ? ( + <> +

    + Chatting with{' '} + + {currentChatDetails.selectedTeam} + +

    + + + ) : ( +
    + +
    + )} +
    + ) : ( + + )} + {notificationErrorMessage && ( + + )} +
    +
    + ); +}; + +const PlayGroundPageWithCustomAuth = CustomAuthRequiredLayout(PlayGroundPage); +export default PlayGroundPageWithCustomAuth; diff --git a/app/src/client/app/PricingPage.tsx b/app/src/client/app/PricingPage.tsx new file mode 100644 index 000000000..26e1c8fc0 --- /dev/null +++ b/app/src/client/app/PricingPage.tsx @@ -0,0 +1,167 @@ +import { useAuth } from 'wasp/client/auth'; +// import { stripePayment } from 'wasp/client/operations'; +// import { TierIds, STRIPE_CUSTOMER_PORTAL_LINK } from '../../shared/constants'; +import { AiFillCheckCircle } from 'react-icons/ai'; +import { useState } from 'react'; +import { useHistory } from 'react-router-dom'; +import { cn } from '../../shared/utils'; + +// export const tiers = [ +// { +// name: 'Hobby', +// id: TierIds.HOBBY, +// priceMonthly: '$9.99', +// description: 'All you need to get started', +// features: ['Limited monthly usage', 'Basic support'], +// }, +// { +// name: 'Monthly Subscription', +// id: TierIds.PRO, +// priceMonthly: '$29', +// description: 'Purchase a monthly subscription and enjoy 30 days on us, followed by a low monthly fee of just', +// features: ['30-day free trial', 'No credit card required for trial subscription', 'Cancel any time'], +// bestDeal: true, +// }, +// { +// name: 'Enterprise', +// id: TierIds.ENTERPRISE, +// priceMonthly: '$500', +// description: 'Big business means big money', +// features: ['Unlimited monthly usage', '24/7 customer support', 'Advanced analytics'], +// }, +// ]; + +const PricingPage = () => { + // const [isStripePaymentLoading, setIsStripePaymentLoading] = useState(false); + + // const { data: user, isLoading: isUserLoading } = useAuth(); + + // const history = useHistory(); + + // async function handleBuyNowClick(tierId: string) { + // if (!user) { + // history.push('/login'); + // return; + // } + // try { + // setIsStripePaymentLoading(tierId); + // let stripeResults = await stripePayment(tierId); + + // if (stripeResults?.sessionUrl) { + // window.open(stripeResults.sessionUrl, '_self'); + // } + // } catch (error: any) { + // console.error(error?.message ?? 'Something went wrong.'); + // } finally { + // setIsStripePaymentLoading(false); + // } + // } + + return ( +
    +
    +
    +

    + Coming soon,{' '} + + everything is free for now! + +

    +
    + {/*

    + Unlock FastAgency's full capabilities with an active subscription. Explore all features with a hassle-free + 30-day free trial—no credit card required.{' '} + 4242 4242 4242 4242 4242 +

    */} + {/*
    */} + {/*
    + {tiers.map((tier) => ( +
    + {tier.bestDeal && ( + + ))} +
    */} +
    +
    + ); +}; + +export default PricingPage; diff --git a/app/src/client/app/PrivacyPage.tsx b/app/src/client/app/PrivacyPage.tsx new file mode 100644 index 000000000..476d8405b --- /dev/null +++ b/app/src/client/app/PrivacyPage.tsx @@ -0,0 +1,378 @@ +export default function PrivacyPage() { + return ( +
    +
    +
    +

    Privacy Policy

    +

    Last updated January 29, 2024

    + +
    +

    + Airt technologies, Inc. ("we", "us", or "our") is committed to protecting the privacy of our users. This + Privacy Policy explains how we collect, use, and disclose information through our SaaS tool,{' '} + FastAgency (the "Service"). +

    +
    + +
    +

    Information We Collect

    +

    + At FastAgency, we value your privacy and are committed to ensuring the highest level of confidentiality + and security for your information. Here's what you need to know about the information we collect when you + use our Service: +

    +
    +
      +
    • + Account Information: When you create a FastAgency account, we collect your name and email + address. This information is essential to personalize your experience and enable various features of the + Service. +
    • +
    • + Integrations: As you integrate your various marketing platforms with our Service, we collect + information that you input, including the details about the platforms you're connecting and any + associated data. This data is necessary to provide you with accurate analytics, reports, and insights. + For data collected from Google APIs, we adhere to Google's API Services User Data Policy, including the + Limited Use requirements. Continue reading for further information. +
    • +
    • + Chat Interactions and AI Data Sharing: Your chat interactions and data from connected third-party + services may be shared with our privately deployed OpenAI models hosted on Microsoft Azure. This sharing + is essential for the service and is detailed in the section below: "Third-Party and Proprietary AI + Tools." +
    • +
    • + Usage Information: To help us understand how you interact with our Service and enable us to + improve your user experience, we collect information about your usage. This may include log data, device + information, and other data related to your activities within our Service. +
    • +
    • + Data Processing: At FastAgency, your data's privacy is a top priority. We process data on-the-fly + and do not store any data in databases, except for chat history as detailed in the "Third-Party and + Proprietary AI Tools" section. This ensures your data stays where it belongs—with you. +
    • +
    +
    + +
    +

    We use the information we collect to:

    +
    +
      +
    • + Provide, Maintain, and Improve the Service: We use your information to deliver the services you + request, maintain your account, and enhance your experience with FastAgency. +
    • +
    • + Respond to Your Requests and Inquiries: Your information helps us respond to your customer + service requests, support needs, and other inquiries. +
    • +
    • + Communicate with You: We use your information to communicate with you about the Service, updates, + and other informational or promotional content. +
    • +
    • + Analyze and Monitor Usage: We use analytics tools to track how users interact with the Service, + which helps us make data-driven decisions for improvements. +
    • +
    • + Detect, Investigate, and Prevent Fraud and Other Illegal Activities: We use your information to + protect the security and integrity of the Service by detecting and preventing fraudulent or illegal + activities. +
    • +
    +
    + +
    +

    Authentication And Authorized Data Access

    +

    + User authenticates with the 3rd party provider such as Google account. Upon authentication, user allows + the application: +

    +
    +
      +
    • Associate user with personal info on Google
    • +
    • See user's personal info, including any personal info user made publicly available
    • +
    • View user's email address
    • +
    +
    +

    + Email address is stored in the database of the application while the other credentials of authenticated + users are encrypted and stored within the infrastructure of Google. This can be used to restrict or fully + block the service for a particular user in case of the breach of the terms of use. User's email + address can be deleted upon the request. +

    +
    +

    Revoke Access to Your Google Account

    + +

    + To remove access of the application to your account, you can do it directly in your Google account by + following this link:{' '} + + https://myaccount.google.com/permissions‍ + +

    +
    + +
    +

    Google API Services User Data Policy

    +

    Google API Services Disclosure

    +

    + FastAgency's use and transfer of information received from Google APIs adhere to{' '} + + Google API Services User Data Policy + + , including the Limited Use requirements. We recommend reviewing Google API Services User Data Policy to + better understand their practices. +

    +
    +

    Use of Google API Services Data

    +

    + When you choose to connect various Google services to FastAgency, we require specific permissions to fetch + and display data for your interactive queries. Below are the permissions required for each Google service: +

    +
    + +
    +

    You may choose to connect one, multiple, or none of these services as per your preference.

    +
    + +
    +

    Third-Party and Proprietary AI Tools

    +

    + Our chatbot service utilizes advanced AI technology by employing privately deployed OpenAI models on + Microsoft Azure. This approach allows us to generate contextually relevant and accurate responses based on + your interactions and queries, ensuring a high-quality user experience. +

    +
    +

    Data Sharing in Different Use Cases

    +

    + Your chat interactions are processed using our privately deployed OpenAI models on Microsoft Azure. This + ensures that your data, including chat history, user metrics, and dimensions from integrated services like + Google Analytics, Google Ads, and Facebook Ads, is not shared with OpenAI directly. +

    +
    +

    Here's a breakdown of the specific data shared from each source:

    +
    +

    + Google Analytics: Your Google Analytics data includes website traffic information, user behavior, + and engagement metrics from your connected websites. Metrics like page views, session duration, bounce + rate, and user demographics. By incorporating these insights, the chatbot can tailor its responses to + align with the user's website-related inquiries. +

    + {/*
    */} + {/*

    + Google Ads: Data from your Google Ads campaigns offers insights into your advertising efforts, ad + performance, and user interactions with your advertisements. Key metrics such as ad clicks, impressions, + click-through rates (CTR), and conversion rates are integrated into the chatbot's learning process. This + integration enables the chatbot to provide more informed and relevant responses regarding your advertising + strategies. +

    */} +
    +

    + Google Search Console: Information gathered from Google Search Console sheds light on your + website's visibility in Google search results. Details about search queries, click-through rates (CTR), + and average position help the chatbot understand user intent and prevalent search trends. By leveraging + this data, the chatbot can offer insights and answers that align with current search behaviors. +

    +
    +

    + Chat Interactions: This refers to the text-based interactions you have with the chatbot within the + FastAgency platform. The content of these conversations, including your questions and responses. This data + aids in refining the AI's ability to comprehend inputs and generate contextually accurate responses. +

    +
    +

    + All of the data sources mentioned above are crucial for enhancing the chatbot's ability to provide + accurate and contextually relevant responses. When chatting directly on our website, certain data points + from your interactions and connected platforms are processed using our privately deployed OpenAI models on + Microsoft Azure. We ensure that only relevant and necessary data are shared to maintain the effectiveness + of the chatbot's functionality. +

    +
    + +
    +

    Data Storage on Azure Database

    +

    + While we do not directly store raw data from third-party sources such as Google Ads, Google Analytics, or + Facebook Ads, it's crucial to understand that your chat history may contain references to or summaries of + data from these services. Retaining this chat history is not just for record-keeping; it's a fundamental + component for the seamless functionality of our chatbot service. This chat data is securely stored in + Azure Database service, a cloud-based database, in compliance with Azure privacy policy ( + + https://learn.microsoft.com/en-us/azure/compliance/ + + ). Your chat history is retained indefinitely, but you have the option to delete it at any time through + the settings in our application. +

    +
    + +
    +

    User Consent Process

    +

    + During your registration with FastAgency, we require your explicit consent regarding our privacy + practices. As part of the sign-up process, you will encounter a checkbox indicating that you have read and + agree to our Terms and Conditions and Privacy Policy. By checking this box, you acknowledge your + understanding and agreement to how we handle your data as detailed in these documents. Only upon agreeing + to these terms will the chatbot service proceed with using your data. You have the option to withdraw your + consent at any point, read more below. +

    +
    + +
    +

    Opt-Out Options

    +

    + If you choose to withdraw your consent and opt-out of data sharing with third-party tools, you will no + longer be able to use the FastAgency service. The nature of our tool requires data sharing for its basic + functionality. Therefore, opting out effectively means discontinuing use of the service. +

    +
    + +
    +

    Agreement

    +

    + By using our chatbot service, you explicitly consent to your chat data being processed as described above. + We ensure that your data is handled securely and in accordance with this privacy policy, as well as Azure + privacy policy. +

    +
    +

    + If you do not agree with this policy, please refrain from signing up and using FastAgency. +

    +
    + +
    +

    Google Analytics

    +

    + Google Analytics is used across fastagency.ai domain in order to collect information about the users' + interactions with the site as well as to identify returning visits, location, device data and engagement + signals. Collected data helps to understand the relevancy and general usage of the tool hence, to provide + better experience and solutions towards the needs of the users, fix errors and bugs. No data is shared + with the 3rd party organizations or individuals. +

    +
    + +
    +

    Information Sharing and Disclosure

    +

    We may share your information with third parties in the following circumstances:

    +
    +
      +
    • + Service Providers: We may share your information with third-party service providers who perform services + on our behalf, such as hosting, analytics, and customer support. +
    • +
    • + AI Data Sharing: Your chat interactions and data from connected third-party services may be shared with + our in-house AI algorithms. This sharing is essential for the service and is detailed in the section + above "Third-Party and Proprietary AI Tools". +
    • +
    • + Compliance with Laws: We may disclose your information as required by law or in response to legal + process, including subpoenas, court orders, and requests from law enforcement. +
    • +
    • + Business Transfers: If we are involved in a merger, acquisition, or sale of all or a portion of our + assets, your information may be transferred as part of that transaction. +
    • +
    • Your Consent: We may disclose your information with your consent.
    • +
    +
    + +
    +

    Your Choices

    +

    + You can access and update your account information through the Service. You can also unsubscribe from our + promotional emails by following the instructions in the email. +

    +
    + +
    +

    Data Retention

    +

    + We retain the information we collect for as long as necessary to provide the Service and fulfill the + purposes described in this Privacy Policy. When we no longer need the information, we will securely delete + it or de-identify it. Your chat history is retained indefinitely, but you have the option to delete it at + any time through the settings in our application. +

    +
    + +
    +

    Security

    +

    + We take reasonable measures to protect your information from unauthorized access, use, disclosure, and + destruction. However, no method of transmission over the internet or method of electronic storage is + completely secure. +

    +
    + +
    +

    Changes to this Privacy Policy

    +

    + We may update this Privacy Policy from time to time. If we make any material changes, we will notify you + by email or by posting a notice on our website prior to the change becoming effective. +

    +
    + +
    +

    Contact Us

    +

    + In order to receive further information regarding use of the Site, please contact us at:{' '} + + support@fastagency.ai + + . +

    +
    +
    +
    +
    + ); +} diff --git a/app/src/client/app/TocPage.tsx b/app/src/client/app/TocPage.tsx new file mode 100644 index 000000000..dea33e7ef --- /dev/null +++ b/app/src/client/app/TocPage.tsx @@ -0,0 +1,197 @@ +export default function TocPage() { + return ( +
    +
    +
    +

    Terms & Conditions

    +

    Last updated January 29, 2024

    + +
    +

    + These terms and conditions ("Terms") govern your access to and use of FastAgency, a Software-as-a-Service + tool ("Service") provided by airt technologies, Inc. ("we" or "us"). By accessing or using the Service, + you agree to be bound by these Terms. If you do not agree to these Terms, you may not access or use the + Service. +

    +
    + +
    +

    Use Terms for FastAgency

    +

    + Subject to these Terms, we grant you a limited, non-exclusive, non-transferable, revocable license to use + the Service for your internal business purposes during the term of these Terms. +

    +
    +

    + You may not use the Service in any way that could damage, disable, overburden, or impair the Service or + interfere with any other party's use and enjoyment of the Service. You may not attempt to gain + unauthorized access to the Service or any part of it, other accounts, computer systems, or networks + connected to the Service, through hacking, password mining, or any other means. +

    +
    +

    + You are solely responsible for all data, information, and content uploaded, stored, or processed using the + Service. You represent and warrant that you have the necessary rights to upload, store, and process such + data, information, and content using the Service and that your use of the Service complies with all + applicable laws, regulations, and industry standards. +

    +
    + +
    +

    Payment and Subscription

    +

    By subscribing to FastAgency, you agree to the following terms and conditions:

    +
    +
      +
    • + Subscription: FastAgency is offered on a subscription basis. You will be billed in advance on a + recurring and periodic basis (each period is referred to as a "billing cycle"). Billing cycles are set + either on a monthly or annual basis, depending on the type of subscription plan you select when + purchasing. +
    • +
    • + Payments: All payments are processed by our payment partner, Stripe. By providing a payment + method, you expressly authorize us and Stripe to charge the subscription fees at the start of every + billing cycle. +
    • +
    • + No Refunds: Payments are non-refundable and there are no refunds or credits for partially used + periods. Following any cancellation, however, you will continue to have access to your subscription + through the end of your current billing cycle. +
    • +
    • + Cancellation: You can cancel your subscription at any time. Please note that you must cancel your + subscription before it renews for a subsequent billing cycle in order to avoid being charged for the + next billing cycle. +
    • +
    • + Changes: We reserve the right to change our subscription plans or adjust pricing for our service + in any manner and at any time as we may determine in our sole and absolute discretion. +
    • +
    +
    +

    + If you have any questions about your FastAgency subscription or these terms, please reach out to us at{' '} + + support@fastagency.ai + + . +

    +
    + +
    +

    Marketing Emails

    +

    + By signing up or creating an account on this website, you agree to receive marketing emails from us, + unless you choose to unsubscribe. These emails may include promotional offers, product updates, + newsletters, or other information related to our services. We value your privacy and assure you that your + email address and personal information will be handled in accordance with our Privacy Policy. +

    +
    +

    + If you wish to unsubscribe from our marketing emails, you can do so by clicking the "unsubscribe" link + provided at the bottom of each email. Please note that even if you unsubscribe from marketing emails, you + may still receive transactional or account-related communications regarding your use of our services. +

    +
    + +
    +

    Confidentiality

    +

    + "Confidential Information" means any information disclosed by either party to the other party that is + marked as confidential or should reasonably be considered confidential given the nature of the information + and the circumstances of its disclosure. +

    +
    +

    + The recipient of Confidential Information will maintain the confidentiality of the Confidential + Information and will not disclose it to any third party, except as necessary to provide the Service or as + required by law. +

    +
    + +
    +

    Termination

    +

    + Either party may terminate these Terms upon written notice to the other party if the other party breaches + any material term of these Terms and fails to cure such breach within thirty (30) days of receiving + written notice of the breach. +

    +
    +

    + Upon termination of these Terms, you must immediately cease all use of the Service and destroy all copies + of the Service in your possession. +

    +
    + +
    +

    User Data

    +

    + We will maintain certain data that you transmit to the Site for the purpose of managing the performance of + the Site, as well as data relating to your use of the Site. Although we perform regular routine backups of + data, you are solely responsible for all data that you transmit or that relates to any activity you have + undertaken using the Site. You agree that we shall have no liability to you for any loss or corruption of + any such data, and you hereby waive any right of action against us arising from any such loss or + corruption of such data. +

    +
    + +
    +

    Disclaimer of Warranties

    +

    + The Service is provided "as is" and "as available" without any warranties of any kind, whether express or + implied. +

    +
    +

    + We do not warrant that the Service will be uninterrupted or error-free, or that the Service will meet your + requirements or expectations. +

    +
    +

    + We expressly disclaim any and all warranties of merchantability, fitness for a particular purpose, + non-infringement, and any warranties arising out of course of dealing or usage of trade. +

    +
    + +
    +

    Third-Party Website and Content

    +

    + The Site may contain (or you may be sent via the Site) links to other websites ("Third-Party Websites") as + well as articles, photographs, text, graphics, pictures, designs, music, sound, video, information, + applications, software, and other content or items belonging to or originating from third parties + ("Third-Party Content"). Such Third-Party Websites and Third-Party Content are not investigated, + monitored, or checked for accuracy, appropriateness, or completeness by us, and we are not responsible for + any Third-Party Websites accessed through the Site or any Third-Party Content posted on, available + through, or installed from the Site, including the content, accuracy, offensiveness, opinions, + reliability, privacy practices, or other policies of or contained in the Third-Party Websites or the + Third-Party Content. Inclusion of, linking to, or permitting the use or installation of any Third-Party + Websites or any Third-Party Content does not imply approval or endorsement thereof by us. If you decide to + leave the Site and access the Third-Party Websites or to use or install any Third-Party Content, you do so + at your own risk, and you should be aware these Terms of Use no longer govern. You should review the + applicable terms and policies, including privacy and data gathering practices, of any website to which you + navigate from the Site or relating to any applications you use or install from the Site. Any purchases you + make through Third-Party Websites will be through other websites and from other companies, and we take no + responsibility whatsoever in relation to such purchases which are exclusively between you and the + applicable third party. You agree and acknowledge that we do not endorse the products or services offered + on Third-Party Websites and you shall hold us harmless from any harm caused by your purchase of such + products or services. Additionally, you shall hold us harmless from any losses sustained by you or harm + caused to you relating to or resulting in any way from any Third-Party Content or any contact with + Third-Party Websites. +

    +
    + +
    +

    Contact Us

    +

    + In order to receive further information regarding use of the Site, please contact us at:{' '} + + support@fastagency.ai + + . +

    +
    +
    +
    +
    + ); +} diff --git a/app/src/client/app/TutorialPage.tsx b/app/src/client/app/TutorialPage.tsx new file mode 100644 index 000000000..e3d4515da --- /dev/null +++ b/app/src/client/app/TutorialPage.tsx @@ -0,0 +1,98 @@ +import React, { useState } from 'react'; +import { + Card, + CardBody, + Stack, + Heading, + Text, + Modal, + ModalOverlay, + ModalContent, + ModalBody, + ModalCloseButton, + useDisclosure, + Image, + Box, + ChakraProvider, +} from '@chakra-ui/react'; + +export default function TutorialPage() { + const { isOpen, onOpen, onClose } = useDisclosure(); + const [selectedVideo, setSelectedVideo] = useState(''); + + const data = [ + { + link: 'https://www.youtube.com/embed/9y4cDOkWIBw', + heading: 'Building and Deploying SaaS with AI Agents and Multi-Agent Teams', + description: + 'Build a powerful SaaS solution with FastAgency. This tutorial demonstrates how to incorporate AI agents and multi-agent teams into your app effortlessly.', + thumbnail: `https://img.youtube.com/vi/9y4cDOkWIBw/0.jpg`, + }, + { + link: 'https://www.youtube.com/embed/mD105mzcbP8', + heading: 'Creating and Integrating a Web Surfer Agent', + description: + 'Enhance your SaaS with web surfing capabilities using FastAgency. See how to build and deploy an app that utilizes this powerful agent.', + thumbnail: `https://img.youtube.com/vi/mD105mzcbP8/0.jpg`, + }, + ]; + + const handleCardClick = (videoLink: string) => { + setSelectedVideo(videoLink); + onOpen(); + }; + + return ( + +
    +

    Tutorials

    +
    +
    +
    + {data.map((item, index) => ( +
    handleCardClick(item.link)} + > + + + {item.heading} + + {item.heading} + {item.description} + + + +
    + ))} +
    +
    + + + + + + + + +
    +
    +
    +
    + + + + {/* Feature section */} +
    +
    +

    + Features +

    + {/*

    + Don't work harder. +
    Work smarter. +

    */} +
    +
    +
    + {features.map((feature) => ( +
    +
    +
    +
    {feature.icon}
    +
    + {feature.name} +
    +
    + {feature.description} +
    +
    + ))} +
    +
    +
    + + {/* Testimonial section */} + {/*
    +
    +
    +

    + What Our Users Say +

    +
    + {testimonials.map((testimonial) => ( +
    +
    +

    {testimonial.quote}

    +
    +
    + + +
    +
    {testimonial.name}
    +
    {testimonial.role}
    +
    +
    +
    +
    + ))} +
    +
    +
    +
    */} + + + ); +} diff --git a/app/src/client/landing-page/contentSections.ts b/app/src/client/landing-page/contentSections.ts new file mode 100644 index 000000000..414e4fc6a --- /dev/null +++ b/app/src/client/landing-page/contentSections.ts @@ -0,0 +1,85 @@ +import { GITHUB_URL, DISCORD_URL } from '../../shared/constants'; +import daBoiAvatar from '../static/da-boi.png'; +import avatarPlaceholder from '../static/avatar-placeholder.png'; + +export const navigation = [ + { name: 'Home', href: '/' }, + { name: 'Build', href: '/build' }, + { name: 'Playground', href: '/playground' }, + { name: 'Tutorial', href: '/tutorial' }, + { name: 'Pricing', href: '/pricing' }, + { name: 'Examples', href: '/examples' }, +]; +export const features = [ + { + name: 'Build with Your Own APIs: Integrate Seamlessly with Custom Agent Design', + description: + 'Integrate your existing systems seamlessly by defining agents with your own REST APIs. FastAgency allows you to craft bespoke agents tailored to your specific business processes, enabling a personalized approach to AI-driven solutions. This flexibility ensures that you can create highly specialized services that address unique challenges effectively.', + icon: '⚙ī¸', //'🤝', + href: '', + }, + { + name: 'Set It and Forget It: Achieve Autonomous Operations with Minimal Oversight', + description: + 'Our platform empowers your agents to operate autonomously, handling complex tasks and decision-making without constant human oversight. This feature not only enhances operational efficiency but also allows your team to focus on strategic activities, boosting productivity and innovation across the board.', + icon: '🤖', //'🔐', + href: '', + }, + { + name: 'Launch Faster Than Ever: Accelerate Time-to-Market with Rapid Deployment', + description: + "Accelerate your time-to-market with FastAgency's streamlined deployment process. Our framework is designed for speed, allowing you to move from concept to launch in record time. This rapid deployment capability ensures that you can quickly adapt to market changes and gain a competitive edge.", + icon: '⚡', + href: '', + }, + { + name: 'Start Collecting Revenue in Just a Week with Rapid Monetization', + description: + 'Dive into the market swiftly with FastAgency. Our platform enables you to go from setup to sales within a week, allowing you to start generating revenue almost immediately. This rapid monetization feature is designed to give businesses a significant head start, accelerating the return on investment and enabling you to capitalize on AI-driven opportunities faster than ever.', + icon: '💸', + href: '', + }, +]; +export const testimonials = [ + { + name: 'Da Boi', + role: 'Wasp Mascot', + avatarSrc: daBoiAvatar, + socialUrl: 'https://twitter.com/wasplang', + quote: "I don't even know how to code. I'm just a plushie.", + }, + { + name: 'Mr. Foobar', + role: 'Founder @ Cool Startup', + avatarSrc: avatarPlaceholder, + socialUrl: '', + quote: 'This product makes me cooler than I already am.', + }, + { + name: 'Jamie', + role: 'Happy Customer', + avatarSrc: avatarPlaceholder, + socialUrl: '#', + quote: 'My cats love it!', + }, +]; + +export const faqs = [ + { + id: 1, + question: 'Whats the meaning of life?', + answer: '42.', + href: 'https://en.wikipedia.org/wiki/42_(number)', + }, +]; +export const footerNavigation = { + app: [ + { name: 'Discord', href: DISCORD_URL }, + { name: 'GitHub', href: GITHUB_URL }, + // { name: 'Blog', href: BLOG_URL }, + ], + company: [ + { name: 'Privacy', href: '/privacy' }, + { name: 'Terms & Conditions', href: '/toc' }, + ], +}; diff --git a/app/src/client/services/commonService.ts b/app/src/client/services/commonService.ts new file mode 100644 index 000000000..a970b43c5 --- /dev/null +++ b/app/src/client/services/commonService.ts @@ -0,0 +1,10 @@ +import { validateForm as apiValidateForm } from 'wasp/client/operations'; + +export const validateForm = async (data: any, validationURL: string, isSecretUpdate: boolean) => { + try { + const response = await apiValidateForm({ data, validationURL, isSecretUpdate }); + return response; + } catch (error) { + throw error; + } +}; diff --git a/app/src/client/services/modelService.ts b/app/src/client/services/modelService.ts new file mode 100644 index 000000000..0ff2e7355 --- /dev/null +++ b/app/src/client/services/modelService.ts @@ -0,0 +1,12 @@ +// services/modelService.ts +import { getAvailableModels as apigetAvailableModels } from 'wasp/client/operations'; + +export const getAvailableModels = async () => { + try { + const response = await apigetAvailableModels(); + return response; + } catch (error) { + console.error('Failed to fetch models:', error); + throw error; + } +}; diff --git a/app/src/client/static/avatar-placeholder.png b/app/src/client/static/avatar-placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..7acc88649b15a36947cf940b8a448a24c5f327fb GIT binary patch literal 9433 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

    |Yd<>nwV{-h-J{%83Mvx5@?$eV&PV;O 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 p(U8AgIY|EBt5{+_|G&NQT!>gFx7=*FXASP{kQV + + + + + + diff --git a/app/src/client/static/open-saas-banner.png b/app/src/client/static/open-saas-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..0d6f6eeb9042be1eda3368f1a3d7809eb5bc1e9b GIT binary patch literal 198194 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

    vtL%{qmsoRRl4oiyEQ_^5HTG zIPFi0N%n_ebw&>FSLIoEU)tEvd2Ti%b{A(8u@!r1pN2?X*)4T(No1weHNwrtW#W*HBOf|(=1`(Q* zfF4-fes=m`;$$N)q9r!%RdPoRt_PtI5`&eoqc53aU7G+*4-N<|dnd9nH!7trv$tUx8#;miX=fWoFBUwa)< zCxOORb5$`xkNI?z!gez>w8S1&rX>KDO58)tz?pI`zKJHtgLxOEpgSJ}efhVf-VeHSQ^O@SU)O)0m%ezhRi>nh zBfRl!>vH_^{z(VEQd4$t-S2`PI9}VM%gJz6i*Rl9FgYa!{lTp%h0_l`5eTMq_Jl`s zLVY~``ia$^&g-SQiLfF7F6cDx4DMUV6&Q4SfCfIp$%s~e^`23@_t zI%lyFrqysWIp6{fS`o;2Na8FIw=g-X9Z<10X7oz76h>9jt|?75BSIO_5oFru%*)co zRCFk6Lc9j+>1tR{2C1}>G*=(Z2bL-qJI=kHyfJ%rXB1e3v+97jHAFzB z!ez4#*GQF43sZz_zG!P36J>sqTGpS+dFQ3a&})^ZIoPH zGRbbcfZ7%-F7;ePFAIafvad!UiCol8F6Y!zJltuufaO4HM?jV{kufSc;Wom<8&S-ijJIBJa%lM`_8?N8) zL=fz?f>N2NSU;O#9&A-?{}O>oW^{S~rA&O-KAY9}k#8$g zaUSM*LIvI39T%v-sJ{;dTq*_EqVKu1jmVoEapxv&0)dI)qm10(hj0Hj-+AYTe8w;d zAdB57`|Z*SmeGL?+Zi0l+n8LimOT1DED*qhP6Qx0Z5NSHIN$5%z%QZjm&gd%riG9E z*Rm_k{2;h_eo|0Ma6k}$+qeFQzyFS`X#V+2jJm;l zds~wOsrTh%;+-=ITW8j*{mKe)uBhZ9qO^t!2yuDWd+|0*PXb?=7G7Ad&H^Eg%hY^_ z+LWj<3Um5|Qj-Hx@L_*KE{lz=nhnZ;^T~tcaBs2oVn2|k6jGAK54d>H`Efq&1RHf* znQHYnaIbZCPCB21l3Edj!K!YKvngECMop_TN%)O1PY<{sm`R)_ibi#MR0%-fW5wOe z14MrMh}XFd;sg;ko8~t=_aQD6`g7BXcieOt)y-cdBa3%xV&L5GGlqr2w{I?vh{X5X zs-fc=0&eegdoLdJ9OPW)M1*8Dyw+gh7VTZ@{Bly+7R7D%^Kcr8ne~=SUDKh>OxB!2 zpnKK-`TQ0*s)Yu7eVcES>G`$kgyrb(P?Gb z=DFzjAm`tO{+E&V-Jk=Ui3VrN3M~Q7$LC2`%L?{jY0{Cx zSdkkyumZ;uCQ`Zl@ivWycx=|1h^4IWUhD~Uev!v$_h|!IU|w5)YcYU2rGmFk4V~^MY{Od@oI?GOP-Z`~%GkG0MCMZ4a8OJKUd>(s%l%o0G7j zeoxfl3q%*F`tCdIDSQvoH#^^ky0Evw>60lZRlLAwUV$cyGLuqR@u@ zn1f_fS)wv9GM(5Md05W8XltA9R3$ZTxIdvwH|I&aB2Oln+IE`nNEfIaW}oX5^9BcnO1GBh9$HXEc1 zfadZ(WtpL2HRX&GWZ|WYh}hz?&*oPK9yQrNuMn08wsL5R!WFr^LUb2ecBdf3#=T>2 z{ni|U5p4wSt}+U|6n|3k(%Thc3+G)})wwGBBn9J;`)MlH-u?1|k$dBakG(`I3{>@O zTZLxMK^`7}yh$^Ovp1WVjOg}aab1V^+>J4$GL?Yr*6W&y+|bse&Zccw&#XjEQI#}0 zYH!u>$_{SN$l@AOmpz2>;f5Jk*gmA5k7-^Pyg^ECC|x%hB6iL)GJ5$y5{b)ZFDK+m zdtK`zCM9q^2l0SBIP3*=1~p(X#0)RzX!%*b|Fz z;MvJL+vk5n`Vi-uW)!P7@$4d&yv~91A<)#WiSut_nnGS9hh?o$JF^2fSlS(I z!>NX~vBp^EAy+fKMdp6Z#Qf-xbo|=IyzRFQ>|E!lI57UMT{PNz+70&mF8+of6t=n} zc~{`0L`)dXuRrwOTU`|Jx9;lGuFY7Rax8(M4|I;>VONUmY?P|*oqw1fqrKv zWNh+bGd^34XDP%{>sqLB(CvB)S-M~5V${EQsJxm_b;>_jxHPD3Nz7#Znh7G{U}2$f znZ2f9Hc-qB_1vE-Z1C5D*@Pan?($Y@5_wsLtqpoQOBB|9MaBb3HBjZ&QQiM8kLWO< z7qUKTlj%tRJ6LXt2{>lSA_Nry8{~lCx}82R1|Zv-uuoaemSIVL&c_Jp0a|9-c*T>4 zo}}sK998r_p5<$>zhCRH-Vm)@GFEIt?It#`ynHX5Z= z&}j$9CsDBERpTx(`(eMSK$KWl8Vvgc;Q|Xe+n}_ z)SyLHd1(Pi&i!HNL#eJsKF03MtY|ZNO(!> zy!>`cnKcuJjEV=v0#_jq4w)FTk*GL@0ESBLZq`bDbxKkUonXMVzfZYKiaqBjglVNa ze^aIGq)Lo*Y|-n6E4$F@i=euQQ)va)IAr<7)EaY{oUAX+0hS+JQ)D6>dQ@O7$R+moJjl3) z#4s~CqQo`PjM2grbd+4%a8~&#h{R0LVsH|3nGg^8^HOUKkkl|aI zNS*POCQ13ph>zT|dpAeZYN_(Qlj2fRUG9%8=tWe8+EgWG+_VX-uS1E7cYYkk;@-&Z z&n>Sln6Q}fEHo3}X<6c13(*c|@4P#tmbEH!BeE7%37@YXDvj@&r1ZH5(snmrM%%yJ zUFe8<%qCt~uG-UXotu(aEu{>fPtuP5k|a>#a+#QQ3CJwRJNKR+rBNY8JS@pi5S& z?R*h6hvS*B+VciPKBp6VpfG=+pZQtyiRVQPbr_qI($E}tF)m~bnCFc?^{J`SC#^S& zTK5hp&rDa@^ODP}Vp;NYPVaXTbi;MZX;!`VUvrcGZMx&A01c4qM7$HL{g^qMBT|0y zPj>k$n)8=G_gbDF_`62GLjv0r4)}%P6HHG2cU1A8ai70EzsI#J!3?ZXmGMDvVLR}D zed#~nnvng45p<`p=I; zqXB=@{Y&RN?1C!b7cZ_p+&}Vy|FsG@_&>%I{`Z|pxxibDXH*#^nSivxfYF>h``?@U zcbw}VgFt7%2HQD-K&p>!t|YZQ%AX$-0G3-u{qY&1FE2Xqi;eur|IF+k^NnPD+=U4& z9@om;0smAAgwdNs7Q}^Kqph|HlUXO}p1s2pFUwHmA$4 zt)GcrD)%zLqkRS4p&1&{rU{g{4?XNMYhr_@Y$)Cl{+UA2=S6$nCv>KfFX$~j=r2nSyzj3^L1i*GX&v8ZG{}y^=!1sT626(*M7I+KeEyB-ZBKZtw z_|tSOVWJ;Y&oKV@PB>q&7oX;5!n*V)423z9WhlJATG$s{zTAbsQ`h3I|Chl2ZBPD_ zfd$oo0?p0fWmikiqr>*wNpcTh zgi$$l0Z?E6hi_*n0FuW=$3Y?a=BHb~n#M zp-|1YGbns+$nSH`0b5wGpDvR1w^D~)_=IU*QS{re<_z1aa$6a#I2N->Vo-v5n>ZT>DI&7dnq5_ z1P1k5{qwYy_fMp)qYwuMBnP%{o4{|5(*`YCnCLcV&N@Y)N2E_kn7a1CsV6?ztnE(f zIuaXK^{Feh>Sm4MjyjR;67I8=Cc zOuemIa);fZOoxW`yTx^fRY4sqChP4*&7fxgDo z2KO^bw7jfK#{R;{oz%V=tN}FlF&>v>K>9PkIU_KV`wa6vZ_)Xh$yPHFoDx-y_`UdA zLoS0<*fe`vaNce4{!nG6tM7%bT1a`ynI|WI`a#)TX8M9(7^HPn-dM&~)18fFWXW>m zn&4!wh98AzaQf2o{nK;`e6r2PociXiwI-PrmzV66X+LgP1F>Zt?+Sk~TsRKmAANUB z`U2`bFyiS}?eUr`CIgJ;E?Byc{U?5Dl@a8`rWW;SDL(x0=eMNuVI z-+o(iOL1-pfV@pvX>I-?{Q`t5tU=^_V8j8$o4f^7a9zCG0Qu%N^}upUq0~!Ni)vUs z!{HDOYgh!QM_dKw>YHY-dQ-XY5Fc=eXWctPk2qE9X335;*Q==NndoVT1c{oo^$Q{p zw$|isu4?iUKMK=vatIJzj=Wsd6^=^+$svUU>fgDA?*j(_&kyY`HxHR zVL-3WfJ*`zEys((Bxf@dvAjZ?tXwO8>dfs(^~{K8PvXUH1}7^I(r1x!a*v+nvs*W} z7D))}K|88Xl;*)Kj%~x(F)InY9BWufi3k zDR6~DaG&8tI%|khb*vLt^QX@_#sZ^WeKRh6*~h{K?HI~K1IR|mMnG)_xGHml(D{kE zv3S;`@e68aj)(q8GwU)v7jAniLathS7GS1T%BL>PI>IexImRST2liLEGERmoC20Y+F1ij5`Omn3 zy%aQnmhqH4Rr-lDJDL2TfsJbg=zAV_hXY4l^Op7TwzPFtY@C$OP`!&==H{w1j_@Fq zM6AJ6Q=@(1a)n6vn}5JK>L#+$Z4?HC;NyJq{A9fxR|qrN+jK0*(=mDDvkF2+Y_xOH zTjM-E-79jxSi~*6GAY2W$+peKDMb|(Wh@SuS2x57;DL6EUdo+(dLBn|%6}s3Y-jHu zIaM8xYFu6e7=4ZL1Y#8(vgUXZW%#0imgo>_aZ=#dcf|=EY3jP1((*MPny>*YPv=}2M%rv7XqMs?ziyKs5SG62jace;6F$baI$hMFcmA~xft3RpK_Wfxxd zCjfb5(>K1$vhL0d6YeSeROM^a$tmu{*dqTm(#MD4F~s1{lo7B&`xp~D$1DB0w1__560^Y24JlEHWCb2CQK!R)MfFqo@uvBp}ghS=l?SC zNjiX3j$gpxv8w@yZm6c}69JM&rB59>+t0X(3rLgV3>o-5ES&RaMR5*wPrF^PAJnb8x+Vl8XHGzdb?FDzG$bVw1r!8~~@) zb(R?nVVh1OU^HHd8Sz+lj+T^DF#IRBHdTM5qiS2lY&QTE7ZPR@faU*#Ee-PO6ht6z zNWpUAcEEBO^{}V9XZVtd82o{DMW0JS3q>VCnf4Cex>8|gNf!8Q#?h)bd~m_HTL znc2THF<6a?XH3c~Dw4jd{x+oDYHrfwoc8sJV`+A0=HYH<))*nC;wSlfn*%)}lw|n3 zYh}UpnQ?*$QX~vQ)}LejSpgy{E}tY7`wOEt#llF+%F79k*VOIJXGh3&p>~7)`GKuy zO&%A^%~xzYcG5@k;t}bSqhqk~CJ&KkvZ%{PbhXyAqlFG0He}_Eatfd19WU-X{HBrK zyucxp5!Z!`4mXzSCO1ah9-$J|?V2x5_H42Z;B)Mp-`(q;*3?wRdACa^@T*EmRgu&6 zB>X#{MG^o!c|1l7r3C|jSVvBl2dzJc(A^Im(f5DX0!)@REoVOe8i@Jh$898s19yr*6V|Il zLa(#+z+-d4*&gxk9?CQ!kE7!6B4J@+U%m)eR#u{5?yAMZQx3=O0LDKmAu^}DJilAH zI9oy#8GO+G6NhQ4eQ~mVvGz+(NKgov;H=CABu8x$$cuS@v|WRqaY2g8z{JGK2_<87 z1vybFEPVoW&_$fyzwdGbAi9h$j3Vv!6o9s~*6i*k@Nfn>U4;wSz zb^QFNTa{R0VWBdQy|hkW1s6{`-5ywonUVI+pHkf4KX$}h9vO5 zFKn$_Ef9rEO^tO}8)0#gyZAA3NUPMtHj$`OMgs2$+_v!&<^PZ@Xz|hU^gvN)+Xb*q z+`?i8D=O$W8?v$ct14x@Vm`B>#=Ab?s9|gJ$iyIEjd!3wY?XxP36G^(-7U_o)$&QXU zHVgIRxgI81SQpjRr?|fPEuQ>*F8i-vpmpeo^J8I{5a1V?nbz~o+*F&DX1tyqE?o}B@IhwxI8jL`jHA5lO+K#gmZ3u$Gl1%S=!3|uY*u+);l-N1;iZChj+ zz4C+ogW=!YaY>Rv`Qt+}p}f@>6C>D8hw}|mr7iq}41Gp7g2rgCN;4?!(C`GlC$ z8|zw1s(0;dKRQ|ptJ_uN)jAU$sFszH1vB?D*8_LZ+G_-WUcX}>*_m!F4GO9_bpz@L zX(fP8bi$Pm_OUUsrHs;iPNr(>7z-Es0->(B0`8shH_l|c^SNK+>++`=->k^=R>kjr z5e_H{j>{8s)_CHC;^<_W?&P-m`QP3clW7%((++FLh zUAALVV(hQicr5rVq@)};lTTJu5?V@~oGv)jFf-iN@r2(fE9&!OxZPil;?}7$@y^aZ zmFVj`l0c*Dcdk`+XP9iN_bY*(M$|oRbvuzY?3|kvOq1rQ`Bpc|v#ri%EUT)j02HJM zXWFh_TWPp6Xwstt->0_-sh{?v+kp%X@e#ZB_kxy2+c~+og!o~l`At%r!z8HW;t{FC z!~L~YRh%50Of)p8VXmv6O~&(GE`WjPn@lpPf(pc?`vTaeM%H6B7MuN06igB}HWt|A zP`W!CC)NGR)xfy1bk?XT-vu#rbky0Yy8QQvu6T3i_;$AVGZjUBORc&ZO-R}PKGU1% z!1nO6aCZj$R~Cyw zzzz)dF;R^eWMZ;O%;Px!v$J=i&v$6qFF?GIEzv*>BYQuOpbg;WNfHl@241KA`Q_;& zHcBHS-0tuU@1&F%&+9ce83AnqaX#Ku()h@P?&xpOD;;{6k2;0s3aqXMo`yZcE0-Gqv4VN-c_;tFV zL0N;}vF*7J?RDOdPO*u3s=_h8UAyS%U3oQ}dQ-0J4@u-(HS4X)XBIJmBnbP50_a1ckCue5w%C3QC@H)2$;gOQ z)BCf8Hv7r>z~A*ig7NgD$L$gpmmbaqun#WSs&@jekjuWaq7eR_FF4`lT$elD~d@$qmvs`4Z*2=5k zc_$Wmi2+<{a@i_jYnETkeD z`Y>X_H5uj88hWmPh}*H==}2tFLB_=zi?;G|m!@;8+(CNG44cJfTs#ssi)%x)XgZIr zAMcg(JDFjuFL^fT5fSfx{OFzI+LwpqzV(~0x1)y1oR%ai0T=6{lCLmwPmAu-jTU%J z907p)UtkhcMPND&=f23r<2VZTT}AfAr+)oA8Uq}1e_%SKTWA9Kr1zfK8YfD&Z-GI+ z-On!#;Ye`fZ^v!sx^B$a_26Vs8{BrRKbZP`PwYD^|L{H^^m@KpPcyzORck@elIA94yP?bLk#2)*;{>18M!~yh1_%b2zu_?t2*C*;mIykblK$* z_4~CQ-FCa*StiUD52tb_pE$*~B)Sv3$gQ%?l{cKv(aeI;gmt<)`wV6*&-+$Q zdP2!4y|4AXkVlHli{#Qvv6@h6#pkcKn?DP|4WU@RKAl&^UcF^ zJ@t8oQ*y1&0R*`in23Sw5__J{X&|;YF-Qo_yT;(6Fn39=qNe7fq^xGeb^5Z1$NB!~ z{dAv2#StwV6}T`r_lT2sxsIc0=YrfXM#9;7|NB?pyC+D~Gjrd7i_GCosUI+%owI}# znV)>kEIMDdF=Gl$25xyxOM6aurAqT+IDxfHat@FPE}Oa1?Cgoj9!)8!Xf+-0t8Nkp zTnaOI$Fs9GOpG>%9i1E5y}?20Ep~TB`~Fpw_hX2r=6KP0;n``#AFcEhP6RS&tB)&> zQ&Q$bLkH_v?9>alaj7DJyA=!eF-?Qu8ZBHNR7tI&P?aYmDuRCRsHpbGuIM|&z52=v z3bf(07amFd@i(mu#@TQz=jY5(GkwaU-#@0F*V!zpC@bAv4BNcx)TU3^>@&e$Ha?tBQp)cETonP`AN0DpsBpQoMc-S_rap6Y%0U`YgtghNI_sNv$2=u- zzWpfuk=Nt;7a#?0czA*5WP77cO~u8yHAqJ!BU$2mB>a=bE-ss3u(A=H*9w$}v|Jzh zEfc!E5{Mn#YWXe5!Dd~ug?ZM*t!Hr&UVtQZSLhXpuZi1wt^qRGX$pD}gl+>H@%*`s zwNBFnaNdyF2CL$saC}oKdfXV27?++7z65<Lb32tgPaiK$80Z zAA4`XlvkIu3lm&|2iM^4?(XhRu;A|Q5ZocSy9IYhg1ZEFcX#L8%*;FA^UOQv51cyG zUDU3Ed+)V-b@%FZ^|iX`s9@pYk0xq(Z&)}FRp~#lWYf>Ln}_Dtc^4y`OnLyspZ^QQfXj-kWfID%falz z;$m$@1rO8VX!&05A5%Fx!#c2-tjkNAnX)9DOfjPTyg&lp2a6sBVxw-r2REH9Bf>@5 zIXg13Gmp|!M0(&TYpIc4ApHg$gx%~ro;#+?<>u}?-<^ii=5g}%I{o_rGnuGp zXN&8ezx>iH-B>i}=P-8+)MpOk-`h1NCMK$R2L}gyZkXGrr)AaE+7U;%#eap*1@yqN zdHjk9yIGC^p3hJ@Au%Opw&&qKf3kluVK?b?K{J!R>p6UkdPSIx0nn9^3I8BY_IAk2S)oG;NjN;}OJyNim71|b!trMVedPU3$8 z{oMAA7U{g9zWxAqMy|$k{IfXs(O4$`vAj|XEM4gE4tjYBMR~cUMC8vMyI>KC;QIz2 zUbl0OOWg{Q33~h}bv;E5m6Ec&-zuh3GJ+qHlatL$%F9d2R9-2w>Azs0T|j`+%F2p{ z80VJ~7mi39NJ;q2f=WwEE#O9TC1|!_OhXgotDaMpQD4@P_5OV`X98^IYM1e*XKUX{ zi4{IZ4M?%<{`kp@*0TIOjaA4NzVSnysTvc|sH&X3K+CUZZr6z!6IRs^@a**2Kuf2~ zk%fi0Ma{e)Ic95Ffx4~Ex93i_&62&u{p}H`(Dw+@1gFQVZEq!9%GUEKU^pI!MQKgB zbHNvXrTGwIyl*7)WGQMz-;r`;>pr5-giW9{Xniua`C`=n#=7Sm$TpMI!LxX}H|(^# zca!ZzUlBKOXBj!+|S83R0*Dxx7`R`@Qgli1a<8d zJRJAtQetBE_NBRe<(b*lS$bQ%;AhTeZouQz^g0_uT0_&z6Y7Mw>hnu?tutl}{ua6q z)V`-GP7y3D{|DdKf*#2A;}SLqNvWwdjAEmyx_KP>pHzZYj34S>r33)-0s=1YG&ebV z1xab(fX&KOHAn>k=q2I0^}xp;*7KQh)jhi%1KUGjkQPCI*~`6O`pW~^px1ijXup4_ zBY+&zv|^4R`{vJG9Oq*Mx&L5~5L&*QNhNVf@y6N9lne|l?LAS|f)*Vl z(Ea`-4gJXXGloq9yr;eXne2ycoS2AzjrfrM%18ZIs$w7$NaNI{7e?0-Rn8`*s6yM4 z?{1X_HbC}-{Uug>zcdEsx;~N}dZ&R9P<`5x1q~|jv^ZcAeys@&|B2O%VC@*%UX`ZW zKEH3^!1&t=^iCP`(|ONRMX==#pnnFEL8A3o5kUZ_>Psm@JA7)@ql`1@BYDaIC5DKx zqrS1jm6Urn4<^)Km$84|1bE}*qubp3ukRTp%?8v6e*tNn-AsDu8VW^Gi#ufX}cGz22vb77lW(GbHGfP$r3!@~yt$L#+zYgUp8WLFkjHfW%y zyMU`l_TF#*A)J40|7G9LlSn==a)ML6=l^!zRqucEv4Zbp#4pO9cFz8kaxUzfp$24f9YEutHuzLrm!D_p_#%FpPiu^S{63X9Wx@ zxzZ;mEg5)jE2%4i<$tK|KgavuS-}7Mo;eme_d?9MdzYo9u?X7dNfY+Tv zB?<8d%2xnasYqb|MJT|d2a#G1=3t>RPA|G_{A71;eF>y|WV)MWd<)Ge@V zvNw~3Zejwb`_TbKv-A%EO4$83OEm_}sh-9as-c1A-Q|_9Y0&;nl>hpY*@t&^6-cNN z;RL)kEqRns>VJ0+tN?{nSD6wQ%0C1h@H`X0F$w;=TX3^2g0*1vlH|8_%v55V2%%Ew|tf;t1k(=`?P zclnLK+diQ-FesC9f|4Rq;JH9S?f%98W`F{9@2eTjQn=_KKuR}jvBC)lV1@r8=@Nim zz*2<(J@8jXf~bH5G|*GUmsC%+QQW#jtDg@K54n*RiV&KK!SyNq=KuuK{AeI2q{^tO`ub?#Z$NGA zMYOcc?O_@~9l-*xe+PuuI$Q*N)Zh{=EZhWx{)~Ny?Zj32qvRWskP*cq=Du`A7CjP) zu`zP4f}-Z&D9|BRn76Hjf`~O!|Fz4&eo!Ds^4;6RaFYcCJPS=fxw(l+CZ>s*$w^?l zq^_!}Xvnbd)T%(Su6jN!CC!OzW1y(0=3*n~QWdMNI9_MO@n7CM6)va4$||JZwtVD^ zf&ysnxq--bZ}Ir($LrnOBOGiD-}_atL-CJjJ4wW$f=5U(mq9Is)8pYtD1-@e#T2fL7BBstZr;L)w$$a+E-dq zN=Lv)!%OeG(gHWly~4Bn=;nzkgfAwNiRf-&Yhh?=CID^Ez{)&hBuYkRioT61B$S|J zdUG(SpyHMupQfu)P+qlRY#>Iy{WH^ZBTTZHif}>&(BX6`{40RZ?u?-@IeTfdV_{;F zTUa>wg#soxTIt_h0Aqm<`U4vdQ-7xPLqxw87Im$qfB`)5ZM%>Eq08*?tL+pZB>O4_}oBw(}Y1CdStX~LWZ0s=xbrfpw5=zq$LU<_fA(!t&%+yy#r{xi4xq6R^$XAIKfce+fYsVP^zHboN< zSu^8}9REik111mGvi!aNx)|s#VUAV1N;f@M@$Qt5ZVl~`%v?ZOu!SWRvr7-HfX<-{ zzgEWj7KTPi|?DQy*-m=e1)uUjAq9H0_Uu z4)5MqW{j+k!j4`-^RT0(Wt!`Hv+;r~r0mo-;AjqvNg?|gzgkM-o7~De_Wv$_tw%P| z25N?npGB)oX2dY?XP{*05fTl?o>^8_&gFUQ{M%-lmRLH{>ce%f(Ps1I;$k3Twt~C* zl6)cxdh0b8NkdL7kgGyRyZO$6AQ-#d9x%VGWBxh!^U%;UkIoqiik?XCbuB``;YUJ1 zlb{q#g_Q+!YTvTb4)>Ta*K`C{ zRSp-=<6mg>_?zZGwO16m>^*QNS>aCA)?yu``v0;Wth7!v;qd4e!X3+( ze~kt#!M7jp6c&{5JOcDN?>BKJjq#2#BW6K+MLQq0cT+-Udoy%aW?*Il)UPj;=}3mL zKYAj|$Avpj#J|1Vc732GwlGPYbot@brSvTXc>hb>Ch^@Uy7DcB;Nmt1O zU4m>J`WQY0lMV`w1U0|Fi2U`(Q({+rprGhWInxWrzPD_+FlF!P5azx

      `zmq`s{y@X0Gb22r%e7e;W+` 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≷t5P>MUn3>g_m;(#35S+=hDyCx%t+^aBCdvt}e# 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�$W% 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/client/tests/AgentConversationHistory.test.tsx b/app/src/client/tests/AgentConversationHistory.test.tsx new file mode 100644 index 000000000..bfd2ddbb0 --- /dev/null +++ b/app/src/client/tests/AgentConversationHistory.test.tsx @@ -0,0 +1,21 @@ +import { test, expect, vi, describe } from 'vitest'; +import { renderInContext } from 'wasp/client/test'; +import { screen, render, fireEvent, act } from '@testing-library/react'; + +import AgentConversationHistory from '../components/AgentConversationHistory'; + +const agentConversationHistory = 'Test History'; + +describe('AgentConversationHistory', () => { + test('renders AgentConversationHistory component with isAgentWindow prop', async () => { + renderInContext( + + ); + const historyItems = await screen.findAllByText('Test History'); + expect(historyItems).toHaveLength(1); + screen.debug(); + }); +}); diff --git a/app/src/client/tests/AnimatedCharacterLoader.test.tsx b/app/src/client/tests/AnimatedCharacterLoader.test.tsx new file mode 100644 index 000000000..78a4e0e54 --- /dev/null +++ b/app/src/client/tests/AnimatedCharacterLoader.test.tsx @@ -0,0 +1,14 @@ +import { test, expect, describe } from 'vitest'; +import { screen } from '@testing-library/react'; +import { renderInContext } from 'wasp/client/test'; + +import AnimatedCharacterLoader from '../components/AnimatedCharacterLoader'; + +describe('AnimatedCharacterLoader', () => { + test('renders AnimatedCharacterLoader component with default props', async () => { + renderInContext(); + + const logo = screen.getByAltText('FastAgency logo'); + expect(logo).toBeInTheDocument(); + }); +}); diff --git a/app/src/client/tests/App.test.tsx b/app/src/client/tests/App.test.tsx new file mode 100644 index 000000000..64b50a8ce --- /dev/null +++ b/app/src/client/tests/App.test.tsx @@ -0,0 +1,196 @@ +import { renderInContext } from 'wasp/client/test'; +import { screen } from '@testing-library/react'; +import { describe, it, vi, expect, beforeEach, afterEach } from 'vitest'; +import { MemoryRouter } from 'react-router-dom'; + +interface LocalStorageMock extends Storage { + store: Record; +} + +const localStorageMock: LocalStorageMock = (function () { + let store: Record = {}; + + return { + get length(): number { + return Object.keys(store).length; + }, + getItem(key: string): string | null { + return store[key] || null; + }, + setItem(key: string, value: string): void { + store[key] = value; + }, + removeItem(key: string): void { + delete store[key]; + }, + clear(): void { + store = {}; + }, + key(index: number): string | null { + const keys = Object.keys(store); + return keys[index] || null; + }, + store, + }; +})(); + +global.localStorage = localStorageMock; + +// Shared mock setup function +function setupMocks(mockUser: any, pathName = '/') { + // Always mock useAuth with provided user data + vi.doMock('wasp/client/auth', () => ({ useAuth: () => mockUser })); + + // Correctly mock useLocation to consistently return a pathname + vi.doMock('react-router-dom', () => ({ + ...vi.importActual('react-router-dom'), // Maintain other hooks and routing components + useLocation: () => ({ + pathname: pathName, // Ensure this is correctly set according to the test scenario + }), + useHistory: () => ({ + // Mock useHistory with minimal implementation if not used + push: vi.fn(), + replace: vi.fn(), + goBack: vi.fn(), + }), + Link: ({ children, to }) => {children}, + })); + + // Optionally mock updateCurrentUser if the user's sign-up is not complete + if (!mockUser.data.isSignUpComplete) { + const mockUpdateCurrentUser = vi.fn(); + vi.doMock('wasp/client/operations', () => ({ + updateCurrentUser: mockUpdateCurrentUser, + })); + return mockUpdateCurrentUser; // Return the mock function for assertions in tests + } +} + +beforeEach(() => { + vi.resetModules(); +}); + +afterEach(() => { + vi.restoreAllMocks(); +}); + +describe('App Component', () => { + it('dynamically imports and test isSignUpComplete', async () => { + const mockUser = { + data: { + id: 1, + lastActiveTimestamp: new Date(), + isSignUpComplete: true, + }, + isError: false, + isLoading: false, + }; + setupMocks(mockUser); + const { default: App } = await import('../App'); + renderInContext( + + Test} /> + + ); + + await screen.findByText('Test'); + }); + + it('dynamically imports and test isSignUpComplete', async () => { + const mockUser = { + data: { + id: 1, + lastActiveTimestamp: new Date(), + isSignUpComplete: false, + hasAcceptedTos: true, + }, + isError: false, + isLoading: false, + }; + const mockUpdateCurrentUser = setupMocks(mockUser); + const { default: App } = await import('../App'); + renderInContext( + + Test} /> + + ); + + await screen.findByText('Test'); + expect(mockUpdateCurrentUser).toHaveBeenCalledWith({ isSignUpComplete: true }); + }); + + it('dynamically imports and test isSignUpComplete', async () => { + const mockUser = { + data: { + id: 1, + lastActiveTimestamp: new Date(), + isSignUpComplete: false, + hasAcceptedTos: false, + }, + isError: false, + isLoading: false, + }; + setupMocks(mockUser, '/playground'); + const { default: App } = await import('../App'); + renderInContext( + + Test on Playground} /> + + ); + await screen.findByText('Almost there...'); + }); + + it('dynamically imports and test isSignUpComplete', async () => { + // Set a specific item for this test + localStorage.setItem('hasAcceptedTos', 'true'); + + const mockUser = { + data: { + id: 1, + lastActiveTimestamp: new Date(), + isSignUpComplete: false, + hasAcceptedTos: false, + }, + isError: false, + isLoading: false, + }; + const mockUpdateCurrentUser = setupMocks(mockUser); + const { default: App } = await import('../App'); + renderInContext( + + Test} /> + + ); + + await screen.findByText('Test'); + expect(mockUpdateCurrentUser).toHaveBeenCalledWith({ + isSignUpComplete: true, + hasAcceptedTos: true, + hasSubscribedToMarketingEmails: false, + }); + + // Cleanup localStorage mock to avoid affecting other tests + delete global.localStorage; + }); + + it('dynamically imports and test isSignUpComplete - server error', async () => { + const mockUser = { + data: { + id: 1, + lastActiveTimestamp: new Date(), + isSignUpComplete: true, + }, + isError: true, + isLoading: false, + }; + setupMocks(mockUser, '/playground'); + const { default: App } = await import('../App'); + renderInContext( + + Test} /> + + ); + await screen.debug(); + await screen.findByTestId('server-error-component'); + }); +}); diff --git a/app/src/client/tests/Button.test.tsx b/app/src/client/tests/Button.test.tsx new file mode 100644 index 000000000..e5af87288 --- /dev/null +++ b/app/src/client/tests/Button.test.tsx @@ -0,0 +1,21 @@ +import { test, expect, describe } from 'vitest'; +import { screen } from '@testing-library/react'; +import { renderInContext } from 'wasp/client/test'; + +import Button from '../components/Button'; + +describe('Button', () => { + test('renders Button component with default props', async () => { + renderInContext(